Support storybook 4

Make addon respond to active property and only render if
active is true.
This commit is contained in:
Nils Norman Haukås 2018-11-14 11:44:21 +01:00
parent fa0d8eb314
commit 6e08644a39
No known key found for this signature in database
GPG key ID: BB8DD87F83E1359E
3 changed files with 19 additions and 10 deletions

View file

@ -1,6 +1,6 @@
{
"name": "react-storybook-addon-static-markup",
"version": "0.1.0",
"version": "0.1.1",
"description": "",
"main": "index.js",
"scripts": {

View file

@ -89,13 +89,18 @@ var StaticMarkup = function (_React$Component) {
key: 'render',
value: function render() {
var markup = this.state.markup;
// setting it to true to support past
// versions of storybook, which might not
// have active property.
var _props$active = this.props.active,
active = _props$active === undefined ? true : _props$active;
return _react2.default.createElement(
return active ? _react2.default.createElement(
'div',
{ style: styles.markupPanel },
markup
);
) : null;
}
// This is some cleanup tasks when the StaticMarkup panel is unmounting.
@ -125,8 +130,9 @@ _addons2.default.register('evgenykochetkov/static-markup', function (api) {
// Also need to set a unique name to the panel.
_addons2.default.addPanel('evgenykochetkov/static-markup/panel', {
title: 'Static Markup',
render: function render() {
return _react2.default.createElement(StaticMarkup, { channel: _addons2.default.getChannel(), api: api });
render: function render(_ref2) {
var active = _ref2.active;
return _react2.default.createElement(StaticMarkup, { channel: _addons2.default.getChannel(), api: api, active: active });
}
});
});

View file

@ -40,12 +40,15 @@ class StaticMarkup extends React.Component {
render() {
const { markup } = this.state;
return (
// setting it to true to support past
// versions of storybook, which might not
// have active property.
const { active = true } = this.props
return active ? (
<div style={styles.markupPanel}>
{ markup }
</div>
);
) : null;
}
// This is some cleanup tasks when the StaticMarkup panel is unmounting.
@ -65,8 +68,8 @@ addons.register('evgenykochetkov/static-markup', (api) => {
// Also need to set a unique name to the panel.
addons.addPanel('evgenykochetkov/static-markup/panel', {
title: 'Static Markup',
render: () => (
<StaticMarkup channel={addons.getChannel()} api={api}/>
render: ({active}) => (
<StaticMarkup channel={addons.getChannel()} api={api} active={active}/>
),
})
})