Skip to content

Commit 5f7e5a0

Browse files
committed
connect TopPanel, toggle hidden
1 parent 4b45227 commit 5f7e5a0

File tree

10 files changed

+64
-15
lines changed

10 files changed

+64
-15
lines changed

lib/components/Routes/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ var __assign = (this && this.__assign) || Object.assign || function(t) {
1414
};
1515
var React = require('react');
1616
var index_1 = require('../index');
17+
var Top_1 = require('../TopPanel/Top');
1718
var Routes = (function (_super) {
1819
__extends(Routes, _super);
1920
function Routes() {
@@ -22,6 +23,7 @@ var Routes = (function (_super) {
2223
Routes.prototype.render = function () {
2324
switch (this.props.route) {
2425
case 'page':
26+
Top_1.default.toggle(false);
2527
return React.createElement(index_1.Page, __assign({}, this.props));
2628
case 'start':
2729
return React.createElement(index_1.Start, __assign({}, this.props));

lib/components/TopPanel/Top.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ var Top = {
77
_this.top = document.createElement('div');
88
_this.top.setAttribute('id', 'crb-top');
99
_this.top.style.height = '33px';
10+
_this.top.hidden = true;
1011
return _this.top;
1112
},
13+
toggle: function (open) {
14+
_this.top.hidden = open || !_this.top.hidden;
15+
},
1216
unmount: function () {
1317
ReactDOM.unmountComponentAtNode(_this.root);
1418
}

lib/components/TopPanel/TopPanel.js

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
"use strict";
2+
var __extends = (this && this.__extends) || function (d, b) {
3+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4+
function __() { this.constructor = d; }
5+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6+
};
7+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11+
return c > 3 && r && Object.defineProperty(target, key, r), r;
12+
};
13+
var __metadata = (this && this.__metadata) || function (k, v) {
14+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15+
};
216
var React = require('react');
17+
var react_redux_1 = require('react-redux');
318
var Tabs_1 = require('material-ui/Tabs');
419
var add_1 = require('material-ui/svg-icons/content/add');
520
var pageTabs_1 = require('./pageTabs');
@@ -8,9 +23,22 @@ var styles = {
823
marginRight: '400px',
924
},
1025
};
11-
var TopPanel = function (_a) {
12-
var tutorial = _a.tutorial;
13-
return (React.createElement(Tabs_1.Tabs, {style: styles.tabs}, pageTabs_1.default(tutorial), React.createElement(Tabs_1.Tab, {icon: React.createElement(add_1.default, null)})));
14-
};
26+
var TopPanel = (function (_super) {
27+
__extends(TopPanel, _super);
28+
function TopPanel() {
29+
_super.apply(this, arguments);
30+
}
31+
TopPanel.prototype.render = function () {
32+
return (React.createElement(Tabs_1.Tabs, {style: styles.tabs}, pageTabs_1.default(this.props.tutorial), React.createElement(Tabs_1.Tab, {icon: React.createElement(add_1.default, null)})));
33+
};
34+
TopPanel = __decorate([
35+
react_redux_1.connect(function (_a) {
36+
var tutorial = _a.tutorial;
37+
return { tutorial: tutorial };
38+
}),
39+
__metadata('design:paramtypes', [])
40+
], TopPanel);
41+
return TopPanel;
42+
}(React.Component));
1543
Object.defineProperty(exports, "__esModule", { value: true });
1644
exports.default = TopPanel;

lib/components/TopPanel/pageTabs.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ var React = require('react');
33
var Tabs_1 = require('material-ui/Tabs');
44
var styles = {};
55
function pageTabs(tutorial) {
6+
console.log('tut', tutorial);
67
if (!tutorial || !tutorial.pages) {
78
return null;
89
}

lib/components/TopPanel/render.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var TopPanel_1 = require('./TopPanel');
77
var theme_1 = require('../styles/theme');
88
var MuiThemeProvider_1 = require('material-ui/styles/MuiThemeProvider');
99
function render(target) {
10-
ReactDOM.render(React.createElement(react_redux_1.Provider, {store: store_1.default}, React.createElement(MuiThemeProvider_1.default, {muiTheme: theme_1.default}, React.createElement(TopPanel_1.default, {tutorial: store_1.default.tutorial}))), target);
10+
ReactDOM.render(React.createElement(react_redux_1.Provider, {store: store_1.default}, React.createElement(MuiThemeProvider_1.default, {muiTheme: theme_1.default}, React.createElement(TopPanel_1.default, null))), target);
1111
}
1212
Object.defineProperty(exports, "__esModule", { value: true });
1313
exports.default = render;

src/components/Routes/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import {Page, Start, TutorialConfig, TutorialInfo} from '../index';
3+
import Top from '../TopPanel/Top';
34

45
export default class Routes extends React.Component<{
56
route: string, checks: CR.Checks, pagePosition: CR.PagePosition,
@@ -8,6 +9,7 @@ export default class Routes extends React.Component<{
89
render() {
910
switch (this.props.route) {
1011
case 'page':
12+
Top.toggle(false);
1113
return <Page {...this.props} />;
1214
case 'start':
1315
return <Start {...this.props} />;

src/components/TopPanel/Top.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@ const Top = {
66
this.top = document.createElement('div');
77
this.top.setAttribute('id', 'crb-top');
88
this.top.style.height = '33px';
9+
this.top.hidden = true;
910
return this.top;
1011
},
12+
toggle: (open?: boolean) => {
13+
this.top.hidden = open || !this.top.hidden;
14+
},
1115
unmount: () => {
1216
ReactDOM.unmountComponentAtNode(this.root);
1317
}

src/components/TopPanel/TopPanel.tsx

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import * as React from 'react';
2+
import {connect} from 'react-redux';
23
import {Tabs, Tab} from 'material-ui/Tabs';
34
import Add from 'material-ui/svg-icons/content/add';
45
import pageTabs from './pageTabs';
@@ -9,12 +10,18 @@ const styles = {
910
},
1011
};
1112

12-
const TopPanel: React.StatelessComponent<{
13-
tutorial: CR.Tutorial
14-
}> = ({tutorial}) => (
15-
<Tabs style={styles.tabs}>
16-
{pageTabs(tutorial)}
17-
<Tab icon={<Add />} />
18-
</Tabs>
19-
);
20-
export default TopPanel;
13+
@connect(({tutorial}) => {
14+
return { tutorial };
15+
})
16+
export default class TopPanel extends React.Component<{
17+
tutorial?: CR.Tutorial
18+
}, {}> {
19+
render() {
20+
return (
21+
<Tabs style={styles.tabs}>
22+
{pageTabs(this.props.tutorial)}
23+
<Tab icon={<Add />} />
24+
</Tabs>
25+
);
26+
}
27+
}

src/components/TopPanel/pageTabs.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {Tab} from 'material-ui/Tabs';
44
const styles = {};
55

66
export default function pageTabs(tutorial: CR.Tutorial) {
7+
console.log('tut', tutorial);
78
if (!tutorial || !tutorial.pages) { return null; }
89
return tutorial.pages.map((page: CR.Page) => {
910
return (

src/components/TopPanel/render.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default function render(target: HTMLElement) {
1010
ReactDOM.render(
1111
<Provider store={store}>
1212
<MuiThemeProvider muiTheme={muiTheme}>
13-
<TopPanel tutorial={store.tutorial} />
13+
<TopPanel />
1414
</MuiThemeProvider>
1515
</Provider>,
1616
target

0 commit comments

Comments
 (0)