forked from storybookjs/storybook
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'storybooks/master' into feature/mobile-…
…navigation # Conflicts: # package.json # packages/storybook-ui/package.json # packages/storybook-ui/src/modules/ui/components/layout/index.js
- Loading branch information
Andrew Fuller
committed
May 2, 2017
1 parent
4dfbc88
commit 2a97b17
Showing
358 changed files
with
10,996 additions
and
12,817 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"presets": ["env", "stage-0", "react"], | ||
"plugins": [ | ||
["transform-runtime", { | ||
"polyfill": false, | ||
"regenerator": true | ||
}] | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,7 +5,7 @@ npm-shrinkwrap.json | |
dist | ||
.tern-port | ||
*.DS_Store | ||
.jest | ||
.cache | ||
junit.xml | ||
coverage/ | ||
*.lerna_backup | ||
|
1 change: 1 addition & 0 deletions
1
.jest/haste-map-192ae64d92593a00be26ca8832da799e-ac26bc4a0cb51496bdf3b47dcf027270
Large diffs are not rendered by default.
Oops, something went wrong.
39 changes: 39 additions & 0 deletions
39
...a799e-a58fc962e005744918a4d4bc674df078/00/shortcuts.test_00a3da8fd856527c53de8b85eedc2c05
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
'use strict';var _createClass = function () {function defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}return function (Constructor, protoProps, staticProps) {if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;};}();var _shortcuts = require('./shortcuts');var _shortcuts2 = _interopRequireDefault(_shortcuts);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}var | ||
|
||
MockClientStore = function () {function MockClientStore() {_classCallCheck(this, MockClientStore);}_createClass(MockClientStore, [{ key: 'update', value: function update( | ||
cb) { | ||
this.updateCallback = cb; | ||
} }]);return MockClientStore;}(); | ||
|
||
|
||
describe('manager.shortcuts.actions.shortcuts', function () { | ||
describe('setOptions', function () { | ||
test('should update options', function () { | ||
var clientStore = new MockClientStore(); | ||
_shortcuts2.default.setOptions({ clientStore: clientStore }, { abc: 10 }); | ||
|
||
var state = { | ||
shortcutOptions: { bbc: 50, abc: 40 } }; | ||
|
||
|
||
var stateUpdates = clientStore.updateCallback(state); | ||
expect(stateUpdates).toEqual({ | ||
shortcutOptions: { bbc: 50, abc: 10 } }); | ||
|
||
}); | ||
|
||
test('should only update options for the key already defined', function () { | ||
var clientStore = new MockClientStore(); | ||
_shortcuts2.default.setOptions({ clientStore: clientStore }, { abc: 10, kki: 50 }); | ||
|
||
var state = { | ||
shortcutOptions: { bbc: 50, abc: 40 } }; | ||
|
||
|
||
var stateUpdates = clientStore.updateCallback(state); | ||
expect(stateUpdates).toEqual({ | ||
shortcutOptions: { bbc: 50, abc: 10 } }); | ||
|
||
}); | ||
}); | ||
}); |
20 changes: 20 additions & 0 deletions
20
...32da799e-a58fc962e005744918a4d4bc674df078/01/layout.test_0156066b576bd134764899027dbbac25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
'use strict'; | ||
|
||
var _layout = require('./layout'); | ||
|
||
describe('manager.ui.containers.layout', function () { | ||
describe('mapper', function () { | ||
test('should give correct data', function () { | ||
var state = { | ||
shortcutOptions: { | ||
showLeftPanel: 'aa', | ||
showDownPanel: 'bb', | ||
goFullScreen: 'cc' } }; | ||
|
||
|
||
var data = (0, _layout.mapper)(state); | ||
|
||
expect(data).toEqual(state.shortcutOptions); | ||
}); | ||
}); | ||
}); |
134 changes: 134 additions & 0 deletions
134
...26ca8832da799e-a58fc962e005744918a4d4bc674df078/03/Panel_0309f5dc756a961fdbfff7d885dcc102
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
'use strict';var _react = require('react');var _react2 = _interopRequireDefault(_react); | ||
var _enzyme = require('enzyme'); | ||
var _Panel = require('../Panel');var _Panel2 = _interopRequireDefault(_Panel);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} | ||
|
||
describe('Panel', function () { | ||
it('should subscribe to setKnobs event of channel', function () { | ||
var testChannel = { on: jest.fn() }; | ||
(0, _enzyme.shallow)(_react2.default.createElement(_Panel2.default, { channel: testChannel })); | ||
expect(testChannel.on).toHaveBeenCalledWith('addon:knobs:setKnobs', jasmine.any(Function)); | ||
}); | ||
|
||
describe('setKnobs handler', function () { | ||
it('should read url params and set values for existing knobs', function () { | ||
var handlers = {}; | ||
|
||
var testChannel = { | ||
on: function on(e, handler) { | ||
handlers[e] = handler; | ||
}, | ||
emit: jest.fn() }; | ||
|
||
|
||
var testQueryParams = { | ||
'knob-foo': 'test string', | ||
bar: 'some other string' }; | ||
|
||
|
||
var testApi = { | ||
getQueryParam: function getQueryParam(key) {return testQueryParams[key];}, | ||
setQueryParams: jest.fn() }; | ||
|
||
|
||
(0, _enzyme.shallow)(_react2.default.createElement(_Panel2.default, { channel: testChannel, api: testApi })); | ||
var setKnobsHandler = handlers['addon:knobs:setKnobs']; | ||
|
||
var knobs = { | ||
foo: { | ||
name: 'foo', | ||
value: 'default string', | ||
type: 'text' }, | ||
|
||
baz: { | ||
name: 'baz', | ||
value: 'another knob value', | ||
type: 'text' } }; | ||
|
||
|
||
|
||
setKnobsHandler(knobs); | ||
var knobFromUrl = { | ||
name: 'foo', | ||
value: testQueryParams['knob-foo'], | ||
type: 'text' }; | ||
|
||
var e = 'addon:knobs:knobChange'; | ||
expect(testChannel.emit).toHaveBeenCalledWith(e, knobFromUrl); | ||
}); | ||
|
||
it('should set query params when url params are already read', function () { | ||
var handlers = {}; | ||
|
||
var testChannel = { | ||
on: function on(e, handler) { | ||
handlers[e] = handler; | ||
}, | ||
emit: jest.fn() }; | ||
|
||
|
||
var testQueryParams = { | ||
'knob-foo': 'test string', | ||
bar: 'some other string' }; | ||
|
||
|
||
var testApi = { | ||
getQueryParam: function getQueryParam(key) {return testQueryParams[key];}, | ||
setQueryParams: jest.fn() }; | ||
|
||
|
||
var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Panel2.default, { channel: testChannel, api: testApi })); | ||
var setKnobsHandler = handlers['addon:knobs:setKnobs']; | ||
|
||
var knobs = { | ||
foo: { | ||
name: 'foo', | ||
value: 'default string', | ||
type: 'text' }, | ||
|
||
baz: { | ||
name: 'baz', | ||
value: 'another knob value', | ||
type: 'text' } }; | ||
|
||
|
||
|
||
// Make it act like that url params are already checked | ||
wrapper.instance().loadedFromUrl = true; | ||
|
||
setKnobsHandler(knobs); | ||
var knobFromStory = { | ||
'knob-foo': knobs.foo.value, | ||
'knob-baz': knobs.baz.value }; | ||
|
||
|
||
expect(testApi.setQueryParams).toHaveBeenCalledWith(knobFromStory); | ||
}); | ||
}); | ||
|
||
describe('handleChange()', function () { | ||
it('should set queryParams and emit knobChange event', function () { | ||
var testChannel = { | ||
on: jest.fn(), | ||
emit: jest.fn() }; | ||
|
||
|
||
var testApi = { | ||
getQueryParam: jest.fn(), | ||
setQueryParams: jest.fn() }; | ||
|
||
|
||
var wrapper = (0, _enzyme.shallow)(_react2.default.createElement(_Panel2.default, { channel: testChannel, api: testApi })); | ||
|
||
var testChangedKnob = { | ||
name: 'foo', | ||
value: 'changed text', | ||
type: 'text' }; | ||
|
||
wrapper.instance().handleChange(testChangedKnob); | ||
expect(testChannel.emit).toHaveBeenCalledWith('addon:knobs:knobChange', testChangedKnob); | ||
|
||
var paramsChange = { 'knob-foo': 'changed text' }; | ||
expect(testApi.setQueryParams).toHaveBeenCalledWith(paramsChange); | ||
}); | ||
}); | ||
}); |
4 changes: 4 additions & 0 deletions
4
...26ca8832da799e-a58fc962e005744918a4d4bc674df078/08/index_0839ce8f3a13af2982382b634223bbd3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _api = require('./api');var _api2 = _interopRequireDefault(_api);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}exports.default = | ||
|
||
{ | ||
api: _api2.default }; |
94 changes: 94 additions & 0 deletions
94
...26ca8832da799e-a58fc962e005744918a4d4bc674df078/0c/index_0cc8cb945986c66b84a52ae4950b8506
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _react = require('react');var _react2 = _interopRequireDefault(_react); | ||
var _header = require('./header');var _header2 = _interopRequireDefault(_header); | ||
var _stories = require('./stories');var _stories2 = _interopRequireDefault(_stories); | ||
var _text_filter = require('./text_filter');var _text_filter2 = _interopRequireDefault(_text_filter); | ||
var _lodash = require('lodash.pick');var _lodash2 = _interopRequireDefault(_lodash); | ||
var _lodash3 = require('lodash.isstring');var _lodash4 = _interopRequireDefault(_lodash3); | ||
var _reactMedia = require('react-media');var _reactMedia2 = _interopRequireDefault(_reactMedia); | ||
|
||
var _collapsible = require('../collapsible');var _collapsible2 = _interopRequireDefault(_collapsible);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} | ||
|
||
var containerStyle = { | ||
margin: '10px 0px 10px 10px' }; | ||
|
||
|
||
var scrollStyle = { | ||
height: 'calc(100vh - 105px)', | ||
overflow: 'auto' }; | ||
|
||
|
||
var mobileContainerStyle = { | ||
marginLeft: '10px', | ||
marginRight: '10px', | ||
paddingTop: '10px' }; | ||
|
||
|
||
var mobileScrollStyle = { | ||
maxHeight: 'calc(100vw + 100px)', | ||
overflow: 'auto' }; | ||
|
||
|
||
var storyProps = ['stories', 'selectedKind', 'selectedStory', 'onSelectStory']; | ||
|
||
var LeftPanel = function LeftPanel(props) {return ( | ||
_react2.default.createElement(_reactMedia2.default, { query: '(max-width: 650px)' }, | ||
function (matches) {return ( | ||
matches ? | ||
_react2.default.createElement('div', { style: mobileContainerStyle }, | ||
_react2.default.createElement(_header2.default, { | ||
name: props.name, | ||
url: props.url, | ||
openShortcutsHelp: props.openShortcutsHelp }), | ||
|
||
_react2.default.createElement(_collapsible2.default, { | ||
isActive: (0, _lodash4.default)(props.storyFilter), | ||
title: 'component list' }, | ||
|
||
_react2.default.createElement(_text_filter2.default, { | ||
text: props.storyFilter, | ||
onClear: function onClear() {return props.onStoryFilter('');}, | ||
onChange: function onChange(text) {return props.onStoryFilter(text);} }), | ||
|
||
props.stories && | ||
_react2.default.createElement('div', { style: mobileScrollStyle }, | ||
_react2.default.createElement(_stories2.default, (0, _lodash2.default)(props, storyProps))))) : | ||
|
||
|
||
|
||
|
||
|
||
_react2.default.createElement('div', { style: containerStyle }, | ||
_react2.default.createElement(_header2.default, { | ||
name: props.name, | ||
url: props.url, | ||
openShortcutsHelp: props.openShortcutsHelp }), | ||
|
||
_react2.default.createElement(_text_filter2.default, { | ||
text: props.storyFilter, | ||
onClear: function onClear() {return props.onStoryFilter('');}, | ||
onChange: function onChange(text) {return props.onStoryFilter(text);} }), | ||
|
||
_react2.default.createElement('div', { style: scrollStyle }, | ||
props.stories ? _react2.default.createElement(_stories2.default, (0, _lodash2.default)(props, storyProps)) : null)));}));}; | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
LeftPanel.propTypes = { | ||
stories: _react.PropTypes.array, | ||
selectedKind: _react.PropTypes.string, | ||
selectedStory: _react.PropTypes.string, | ||
onSelectStory: _react.PropTypes.func, | ||
|
||
storyFilter: _react.PropTypes.string, | ||
onStoryFilter: _react.PropTypes.func, | ||
|
||
openShortcutsHelp: _react.PropTypes.func, | ||
name: _react.PropTypes.string, | ||
url: _react.PropTypes.string };exports.default = | ||
|
||
|
||
LeftPanel; |
Oops, something went wrong.