From 75554f94178595c3458f73d4f2718e486d91a8cc Mon Sep 17 00:00:00 2001 From: Arunoda Susiripala Date: Wed, 30 Nov 2016 07:23:48 +0530 Subject: [PATCH] Add dist. --- dist/context.js | 4 +- dist/index.js | 17 +- dist/modules/api/actions/api.js | 138 ++++++++++++--- dist/modules/api/actions/index.js | 10 -- dist/modules/api/configs/init_api.js | 26 ++- dist/modules/api/configs/reducers/api.js | 165 ------------------ dist/modules/api/configs/reducers/index.js | 15 -- dist/modules/api/index.js | 15 +- dist/modules/shortcuts/actions/index.js | 6 - dist/modules/shortcuts/actions/shortcuts.js | 58 +++--- .../shortcuts/configs/reducers/index.js | 15 -- .../shortcuts/configs/reducers/shortcuts.js | 63 ------- dist/modules/shortcuts/index.js | 16 +- dist/modules/ui/actions/index.js | 7 - dist/modules/ui/actions/ui.js | 23 +-- dist/modules/ui/configs/handle_routing.js | 39 ++--- dist/modules/ui/configs/reducers/index.js | 15 -- dist/modules/ui/configs/reducers/ui.js | 48 ----- dist/modules/ui/containers/down_panel.js | 15 +- dist/modules/ui/containers/layout.js | 10 +- dist/modules/ui/containers/left_panel.js | 26 ++- dist/modules/ui/containers/search_box.js | 16 +- dist/modules/ui/containers/shortcuts_help.js | 13 +- dist/modules/ui/index.js | 8 +- ...en_redux_loader.js => gen_podda_loader.js} | 10 +- dist/modules/ui/routes.js | 8 +- 26 files changed, 260 insertions(+), 526 deletions(-) delete mode 100755 dist/modules/api/configs/reducers/api.js delete mode 100755 dist/modules/api/configs/reducers/index.js delete mode 100755 dist/modules/shortcuts/configs/reducers/index.js delete mode 100755 dist/modules/shortcuts/configs/reducers/shortcuts.js delete mode 100755 dist/modules/ui/configs/reducers/index.js delete mode 100755 dist/modules/ui/configs/reducers/ui.js rename dist/modules/ui/libs/{gen_redux_loader.js => gen_podda_loader.js} (64%) diff --git a/dist/context.js b/dist/context.js index d99d1a81f18b..c80dc7ecd42f 100644 --- a/dist/context.js +++ b/dist/context.js @@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = function (reduxStore, domNode, provider) { +exports.default = function (clientStore, domNode, provider) { return { - reduxStore: reduxStore, + clientStore: clientStore, domNode: domNode, provider: provider }; diff --git a/dist/index.js b/dist/index.js index cbbb192907fc..3548d32cd42d 100644 --- a/dist/index.js +++ b/dist/index.js @@ -22,12 +22,13 @@ exports.default = function (domNode, provider) { throw new Error('provider is not extended from the base Provider'); } - var reducer = (0, _redux.combineReducers)((0, _extends3.default)({}, _shortcuts2.default.reducers, _api2.default.reducers, _ui2.default.reducers)); + var defaultState = (0, _extends3.default)({}, _shortcuts2.default.defaultState, _api2.default.defaultState, _ui2.default.defaultState); + var clientStore = new _podda2.default(defaultState); + clientStore.registerAPI('toggle', function (store, key) { + return store.set(key, !store.get(key)); + }); - var devTools = window.devToolsExtension && window.devToolsExtension(); - var reduxStore = (0, _redux.createStore)(reducer, devTools); - - var context = (0, _context2.default)(reduxStore, domNode, provider); + var context = (0, _context2.default)(clientStore, domNode, provider); var app = (0, _mantraCore.createApp)(context); app.loadModule(_shortcuts2.default); @@ -40,10 +41,12 @@ exports.default = function (domNode, provider) { app.init(); }; -var _redux = require('redux'); - var _mantraCore = require('mantra-core'); +var _podda = require('podda'); + +var _podda2 = _interopRequireDefault(_podda); + var _context = require('./context.js'); var _context2 = _interopRequireDefault(_context); diff --git a/dist/modules/api/actions/api.js b/dist/modules/api/actions/api.js index fa76fae8b05b..a303d66f0067 100755 --- a/dist/modules/api/actions/api.js +++ b/dist/modules/api/actions/api.js @@ -3,61 +3,141 @@ Object.defineProperty(exports, "__esModule", { value: true }); +exports.jumpToStory = undefined; + +var _extends2 = require('babel-runtime/helpers/extends'); + +var _extends3 = _interopRequireDefault(_extends2); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); +exports.ensureKind = ensureKind; +exports.ensureStory = ensureStory; + var _lodash = require('lodash.pick'); var _lodash2 = _interopRequireDefault(_lodash); -var _ = require('./'); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _api = require('../configs/reducers/api'); +function _jumpToStory(storyKinds, selectedKind, selectedStory, direction) { + var flatteredStories = []; + var currentIndex = -1; -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + storyKinds.forEach(function (_ref) { + var kind = _ref.kind, + stories = _ref.stories; + + stories.forEach(function (story) { + flatteredStories.push({ kind: kind, story: story }); + if (kind === selectedKind && story === selectedStory) { + currentIndex = flatteredStories.length - 1; + } + }); + }); + + var jumpedStory = flatteredStories[currentIndex + direction]; + if (!jumpedStory) { + return { selectedKind: selectedKind, selectedStory: selectedStory }; + } + + return { + selectedKind: jumpedStory.kind, + selectedStory: jumpedStory.story + }; +} + +exports.jumpToStory = _jumpToStory; +function ensureKind(storyKinds, selectedKind) { + if (!storyKinds) return selectedKind; + + var found = storyKinds.find(function (item) { + return item.kind === selectedKind; + }); + if (found) return found.kind; + // if the selected kind is non-existant, select the first kind + var kinds = storyKinds.map(function (item) { + return item.kind; + }); + return kinds[0]; +} + +function ensureStory(storyKinds, selectedKind, selectedStory) { + if (!storyKinds) return selectedStory; + + var kindInfo = storyKinds.find(function (item) { + return item.kind === selectedKind; + }); + if (!kindInfo) return null; + + var found = kindInfo.stories.find(function (item) { + return item === selectedStory; + }); + if (found) return found; + + return kindInfo.stories[0]; +} exports.default = { - setStories: function setStories(_ref, stories) { - var reduxStore = _ref.reduxStore; + setStories: function setStories(_ref2, stories) { + var clientStore = _ref2.clientStore; - reduxStore.dispatch({ - type: _.types.SET_STORIES, - stories: stories + clientStore.update(function (state) { + var selectedKind = ensureKind(stories, state.selectedKind); + var currentSelectedStory = selectedKind === state.selectedKind ? state.selectedStory : null; + var selectedStory = ensureStory(stories, selectedKind, currentSelectedStory); + + return { + stories: stories, + selectedStory: selectedStory, + selectedKind: selectedKind + }; }); }, - selectStory: function selectStory(_ref2, kind, story) { - var reduxStore = _ref2.reduxStore; + selectStory: function selectStory(_ref3, kind, story) { + var clientStore = _ref3.clientStore; + + clientStore.update(function (state) { + var selectedKind = ensureKind(state.stories, kind); + var selectedStory = ensureStory(state.stories, selectedKind, story); - reduxStore.dispatch({ - type: _.types.SELECT_STORY, - kind: kind, - story: story + return { selectedKind: selectedKind, selectedStory: selectedStory }; }); }, - jumpToStory: function jumpToStory(_ref3, direction) { - var reduxStore = _ref3.reduxStore; + jumpToStory: function jumpToStory(_ref4, direction) { + var clientStore = _ref4.clientStore; - reduxStore.dispatch({ - type: _.types.JUMP_TO_STORY, - direction: direction + clientStore.update(function (state) { + return _jumpToStory(state.stories, state.selectedKind, state.selectedStory, direction); }); }, - setOptions: function setOptions(_ref4, options) { - var reduxStore = _ref4.reduxStore; + setOptions: function setOptions(_ref5, options) { + var clientStore = _ref5.clientStore; + + clientStore.update(function (state) { + var newOptions = (0, _lodash2.default)(options, (0, _keys2.default)(state.uiOptions)); + var updatedOptions = (0, _extends3.default)({}, state.uiOptions, newOptions); - reduxStore.dispatch({ - type: _.types.SET_OPTIONS, - options: (0, _lodash2.default)(options, (0, _keys2.default)(_api.defaultState.options)) + return { uiOptions: updatedOptions }; }); }, - setQueryParams: function setQueryParams(_ref5, customQueryParams) { - var reduxStore = _ref5.reduxStore; + setQueryParams: function setQueryParams(_ref6, customQueryParams) { + var clientStore = _ref6.clientStore; + + clientStore.update(function (state) { + var updatedQueryParams = (0, _extends3.default)({}, state.customQueryParams, customQueryParams); + + (0, _keys2.default)(customQueryParams).forEach(function (key) { + if (updatedQueryParams[key] === null) { + delete updatedQueryParams[key]; + } + }); - reduxStore.dispatch({ - type: _.types.SET_QUERY_PARAMS, - customQueryParams: customQueryParams + return { + customQueryParams: updatedQueryParams + }; }); } }; \ No newline at end of file diff --git a/dist/modules/api/actions/index.js b/dist/modules/api/actions/index.js index e77092512be8..4c1ae615d2d6 100755 --- a/dist/modules/api/actions/index.js +++ b/dist/modules/api/actions/index.js @@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.types = undefined; var _api = require('./api'); @@ -11,15 +10,6 @@ var _api2 = _interopRequireDefault(_api); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -// define redux actions -var types = exports.types = { - SET_STORIES: 'API_SET_STORIES', - SELECT_STORY: 'API_SELECT_STORY', - JUMP_TO_STORY: 'API_JUMP_TO_STORY', - SET_OPTIONS: 'API_SET_OPTIONS', - SET_QUERY_PARAMS: 'API_SET_QUERY_PARAMS' -}; - exports.default = { api: _api2.default }; \ No newline at end of file diff --git a/dist/modules/api/configs/init_api.js b/dist/modules/api/configs/init_api.js index b1358f89832c..a83d76e8e773 100644 --- a/dist/modules/api/configs/init_api.js +++ b/dist/modules/api/configs/init_api.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = function (provider, reduxStore, actions) { +exports.default = function (provider, clientStore, actions) { var callbacks = new _events.EventEmitter(); var currentKind = void 0; var currentStory = void 0; @@ -38,11 +38,9 @@ exports.default = function (provider, reduxStore, actions) { (_actions$shortcuts = actions.shortcuts).setOptions.apply(_actions$shortcuts, arguments); }, getQueryParam: function getQueryParam(key) { - var _reduxStore$getState = reduxStore.getState(), - api = _reduxStore$getState.api; - - if (api.customQueryParams) { - return api.customQueryParams[key]; + var state = clientStore.getAll(); + if (state.customQueryParams) { + return state.customQueryParams[key]; } return undefined; } @@ -51,20 +49,18 @@ exports.default = function (provider, reduxStore, actions) { provider.handleAPI(providerApi); // subscribe to redux store and trigger onStory's callback - reduxStore.subscribe(function () { - var _reduxStore$getState2 = reduxStore.getState(), - api = _reduxStore$getState2.api; - - if (!api) return; + clientStore.subscribe(function () { + var state = clientStore.getAll(); + if (!state.selectedKind) return; - if (api.selectedKind === currentKind && api.selectedStory === currentStory) { + if (state.selectedKind === currentKind && state.selectedStory === currentStory) { // No change in the selected story so avoid emitting 'story' return; } - currentKind = api.selectedKind; - currentStory = api.selectedStory; - callbacks.emit('story', api.selectedKind, api.selectedStory); + currentKind = state.selectedKind; + currentStory = state.selectedStory; + callbacks.emit('story', state.selectedKind, state.selectedStory); // providerApi._onStoryCallback(api.selectedKind, api.selectedStory); }); }; diff --git a/dist/modules/api/configs/reducers/api.js b/dist/modules/api/configs/reducers/api.js deleted file mode 100755 index 3cb0501f5f43..000000000000 --- a/dist/modules/api/configs/reducers/api.js +++ /dev/null @@ -1,165 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.defaultState = undefined; - -var _typeof2 = require('babel-runtime/helpers/typeof'); - -var _typeof3 = _interopRequireDefault(_typeof2); - -var _keys = require('babel-runtime/core-js/object/keys'); - -var _keys2 = _interopRequireDefault(_keys); - -var _extends2 = require('babel-runtime/helpers/extends'); - -var _extends3 = _interopRequireDefault(_extends2); - -exports.ensureKind = ensureKind; -exports.ensureStory = ensureStory; -exports.jumpToStory = jumpToStory; - -exports.default = function () { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState; - var action = arguments[1]; - - switch (action.type) { - case _actions.types.SELECT_STORY: - { - var selectedKind = ensureKind(state.stories, action.kind); - var selectedStory = ensureStory(state.stories, selectedKind, action.story); - return (0, _extends3.default)({}, state, { - selectedKind: selectedKind, - selectedStory: selectedStory - }); - } - - case _actions.types.JUMP_TO_STORY: - { - var _jumpToStory = jumpToStory(state.stories, state.selectedKind, state.selectedStory, action.direction), - _selectedKind = _jumpToStory.selectedKind, - _selectedStory = _jumpToStory.selectedStory; - - return (0, _extends3.default)({}, state, { - selectedKind: _selectedKind, - selectedStory: _selectedStory - }); - } - - case _actions.types.SET_STORIES: - { - var newState = (0, _extends3.default)({}, state, { - stories: action.stories - }); - - newState.selectedKind = ensureKind(newState.stories, state.selectedKind); - newState.selectedStory = ensureStory(newState.stories, newState.selectedKind, state.selectedStory); - - return newState; - } - - case _actions.types.SET_OPTIONS: - { - var newOptions = (0, _extends3.default)({}, state.options, action.options); - - return (0, _extends3.default)({}, state, { - options: newOptions - }); - } - - case _actions.types.SET_QUERY_PARAMS: - { - var _ret = function () { - var newQueryParams = (0, _extends3.default)({}, state.customQueryParams, action.customQueryParams); - - (0, _keys2.default)(action.customQueryParams).forEach(function (key) { - if (newQueryParams[key] === null) { - delete newQueryParams[key]; - } - }); - - return { - v: (0, _extends3.default)({}, state, { - customQueryParams: newQueryParams - }) - }; - }(); - - if ((typeof _ret === 'undefined' ? 'undefined' : (0, _typeof3.default)(_ret)) === "object") return _ret.v; - } - - default: - return state; - } -}; - -var _actions = require('../../actions'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function ensureKind(storyKinds, selectedKind) { - if (!storyKinds) return selectedKind; - - var found = storyKinds.find(function (item) { - return item.kind === selectedKind; - }); - if (found) return found.kind; - // if the selected kind is non-existant, select the first kind - var kinds = storyKinds.map(function (item) { - return item.kind; - }); - return kinds[0]; -} - -function ensureStory(storyKinds, selectedKind, selectedStory) { - if (!storyKinds) return selectedStory; - - var kindInfo = storyKinds.find(function (item) { - return item.kind === selectedKind; - }); - if (!kindInfo) return null; - - var found = kindInfo.stories.find(function (item) { - return item === selectedStory; - }); - if (found) return found; - - return kindInfo.stories[0]; -} - -function jumpToStory(storyKinds, selectedKind, selectedStory, direction) { - var flatteredStories = []; - var currentIndex = -1; - - storyKinds.forEach(function (_ref) { - var kind = _ref.kind, - stories = _ref.stories; - - stories.forEach(function (story) { - flatteredStories.push({ kind: kind, story: story }); - if (kind === selectedKind && story === selectedStory) { - currentIndex = flatteredStories.length - 1; - } - }); - }); - - var jumpedStory = flatteredStories[currentIndex + direction]; - if (!jumpedStory) { - return { selectedKind: selectedKind, selectedStory: selectedStory }; - } - - return { - selectedKind: jumpedStory.kind, - selectedStory: jumpedStory.story - }; -} - -var defaultState = exports.defaultState = { - actions: [], - options: { - name: 'REACT STORYBOOK', - url: 'https://github.com/kadirahq/react-storybook' - } -}; \ No newline at end of file diff --git a/dist/modules/api/configs/reducers/index.js b/dist/modules/api/configs/reducers/index.js deleted file mode 100755 index 4c1ae615d2d6..000000000000 --- a/dist/modules/api/configs/reducers/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'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 -}; \ No newline at end of file diff --git a/dist/modules/api/index.js b/dist/modules/api/index.js index cfb74b3f8287..c54a3b29dfaf 100755 --- a/dist/modules/api/index.js +++ b/dist/modules/api/index.js @@ -8,10 +8,6 @@ var _actions2 = require('./actions'); var _actions3 = _interopRequireDefault(_actions2); -var _reducers = require('./configs/reducers'); - -var _reducers2 = _interopRequireDefault(_reducers); - var _init_api = require('./configs/init_api'); var _init_api2 = _interopRequireDefault(_init_api); @@ -19,12 +15,17 @@ var _init_api2 = _interopRequireDefault(_init_api); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { - reducers: _reducers2.default, actions: _actions3.default, + defaultState: { + uiOptions: { + name: 'REACT STORYBOOK', + url: 'https://github.com/kadirahq/react-storybook' + } + }, load: function load(_ref, _actions) { - var reduxStore = _ref.reduxStore, + var clientStore = _ref.clientStore, provider = _ref.provider; - (0, _init_api2.default)(provider, reduxStore, _actions); + (0, _init_api2.default)(provider, clientStore, _actions); } }; \ No newline at end of file diff --git a/dist/modules/shortcuts/actions/index.js b/dist/modules/shortcuts/actions/index.js index 2238ffb412df..c1e6a0cdee60 100755 --- a/dist/modules/shortcuts/actions/index.js +++ b/dist/modules/shortcuts/actions/index.js @@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.types = undefined; var _shortcuts = require('./shortcuts'); @@ -11,11 +10,6 @@ var _shortcuts2 = _interopRequireDefault(_shortcuts); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var types = exports.types = { - HANDLE_EVENT: 'SHORTCUTS_HANDLE_EVENT', - SET_LAYOUT: 'SHORTCUTS_SET_LAYOUT' -}; - exports.default = { shortcuts: _shortcuts2.default }; \ No newline at end of file diff --git a/dist/modules/shortcuts/actions/shortcuts.js b/dist/modules/shortcuts/actions/shortcuts.js index 687e5e50ce81..063151d6046d 100755 --- a/dist/modules/shortcuts/actions/shortcuts.js +++ b/dist/modules/shortcuts/actions/shortcuts.js @@ -8,25 +8,44 @@ var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); +var _extends2 = require('babel-runtime/helpers/extends'); + +var _extends3 = _interopRequireDefault(_extends2); + +exports.keyEventToOptions = keyEventToOptions; + var _lodash = require('lodash.pick'); var _lodash2 = _interopRequireDefault(_lodash); -var _ = require('./'); - var _key_events = require('../../../libs/key_events'); var _actions = require('../../api/actions'); var _actions2 = _interopRequireDefault(_actions); -var _shortcuts = require('../configs/reducers/shortcuts'); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function keyEventToOptions(currentOptions, event) { + switch (event) { + case _key_events.features.FULLSCREEN: + return { goFullScreen: !currentOptions.goFullScreen }; + case _key_events.features.DOWN_PANEL: + return { showDownPanel: !currentOptions.showDownPanel }; + case _key_events.features.LEFT_PANEL: + return { showLeftPanel: !currentOptions.showLeftPanel }; + case _key_events.features.SEARCH: + return { showSearchBox: !currentOptions.showSearchBox }; + case _key_events.features.DOWN_PANEL_IN_RIGHT: + return { downPanelInRight: !currentOptions.downPanelInRight }; + default: + return {}; + } +} + exports.default = { handleEvent: function handleEvent(context, event) { - var reduxStore = context.reduxStore; + var clientStore = context.clientStore; switch (event) { case _key_events.features.NEXT_STORY: @@ -36,26 +55,25 @@ exports.default = { _actions2.default.api.jumpToStory(context, -1); break; default: - reduxStore.dispatch({ - type: _.types.HANDLE_EVENT, - event: event + clientStore.update(function (state) { + var newOptions = keyEventToOptions(state.shortcutOptions, event); + var updatedOptions = (0, _extends3.default)({}, state.shortcutOptions, newOptions); + + return { + shortcutOptions: updatedOptions + }; }); } }, - setLayout: function setLayout(context, layout) { - var reduxStore = context.reduxStore; + setOptions: function setOptions(_ref, options) { + var clientStore = _ref.clientStore; - reduxStore.dispatch({ - type: _.types.SET_LAYOUT, - layout: layout - }); - }, - setOptions: function setOptions(context, options) { - var reduxStore = context.reduxStore; + clientStore.update(function (state) { + var updatedOptions = (0, _extends3.default)({}, state.shortcutOptions, (0, _lodash2.default)(options, (0, _keys2.default)(state.shortcutOptions))); - reduxStore.dispatch({ - type: _.types.SET_LAYOUT, - layout: (0, _lodash2.default)(options, (0, _keys2.default)(_shortcuts.defaultState)) + return { + shortcutOptions: updatedOptions + }; }); } }; \ No newline at end of file diff --git a/dist/modules/shortcuts/configs/reducers/index.js b/dist/modules/shortcuts/configs/reducers/index.js deleted file mode 100755 index c1e6a0cdee60..000000000000 --- a/dist/modules/shortcuts/configs/reducers/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _shortcuts = require('./shortcuts'); - -var _shortcuts2 = _interopRequireDefault(_shortcuts); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = { - shortcuts: _shortcuts2.default -}; \ No newline at end of file diff --git a/dist/modules/shortcuts/configs/reducers/shortcuts.js b/dist/modules/shortcuts/configs/reducers/shortcuts.js deleted file mode 100755 index 416c54da7a8d..000000000000 --- a/dist/modules/shortcuts/configs/reducers/shortcuts.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.defaultState = undefined; - -var _extends2 = require('babel-runtime/helpers/extends'); - -var _extends3 = _interopRequireDefault(_extends2); - -exports.keyEventToState = keyEventToState; - -exports.default = function () { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState; - var action = arguments[1]; - - switch (action.type) { - case _actions.types.HANDLE_EVENT: - { - return (0, _extends3.default)({}, state, keyEventToState(state, action.event)); - } - - case _actions.types.SET_LAYOUT: - { - return (0, _extends3.default)({}, state, action.layout); - } - - default: - return state; - } -}; - -var _actions = require('../../actions'); - -var _key_events = require('../../../../libs/key_events'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var defaultState = exports.defaultState = { - goFullScreen: false, - showLeftPanel: true, - showDownPanel: true, - showSearchBox: false, - downPanelInRight: false -}; - -function keyEventToState(state, event) { - switch (event) { - case _key_events.features.FULLSCREEN: - return { goFullScreen: !state.goFullScreen }; - case _key_events.features.DOWN_PANEL: - return { showDownPanel: !state.showDownPanel }; - case _key_events.features.LEFT_PANEL: - return { showLeftPanel: !state.showLeftPanel }; - case _key_events.features.SEARCH: - return { showSearchBox: !state.showSearchBox }; - case _key_events.features.DOWN_PANEL_IN_RIGHT: - return { downPanelInRight: !state.downPanelInRight }; - default: - return {}; - } -} \ No newline at end of file diff --git a/dist/modules/shortcuts/index.js b/dist/modules/shortcuts/index.js index b3cf8dc8a900..eb12e04e79c9 100755 --- a/dist/modules/shortcuts/index.js +++ b/dist/modules/shortcuts/index.js @@ -8,13 +8,17 @@ var _actions = require('./actions'); var _actions2 = _interopRequireDefault(_actions); -var _reducers = require('./configs/reducers'); - -var _reducers2 = _interopRequireDefault(_reducers); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { - reducers: _reducers2.default, - actions: _actions2.default + actions: _actions2.default, + defaultState: { + shortcutOptions: { + goFullScreen: false, + showLeftPanel: true, + showDownPanel: true, + showSearchBox: false, + downPanelInRight: false + } + } }; \ No newline at end of file diff --git a/dist/modules/ui/actions/index.js b/dist/modules/ui/actions/index.js index b716f54d53de..d494db9b04c6 100755 --- a/dist/modules/ui/actions/index.js +++ b/dist/modules/ui/actions/index.js @@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.types = undefined; var _ui = require('./ui'); @@ -11,12 +10,6 @@ var _ui2 = _interopRequireDefault(_ui); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var types = exports.types = { - SET_STORY_FILTER: 'UI_SET_STORY_FILTER', - TOGGLE_SHORTCUTS_HELP: 'UI_TOGGLE_SHORTCUTS_HELP', - SELECT_BOTTOM_PANEL: 'UI_SELECT_BOTTOM_PANEL' -}; - exports.default = { ui: _ui2.default }; \ No newline at end of file diff --git a/dist/modules/ui/actions/ui.js b/dist/modules/ui/actions/ui.js index 7c1a42fa7844..e6ec6eda1fa6 100755 --- a/dist/modules/ui/actions/ui.js +++ b/dist/modules/ui/actions/ui.js @@ -3,31 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true }); - -var _ = require('./'); - exports.default = { setStoryFilter: function setStoryFilter(_ref, filter) { - var reduxStore = _ref.reduxStore; + var clientStore = _ref.clientStore; - reduxStore.dispatch({ - type: _.types.SET_STORY_FILTER, - filter: filter - }); + clientStore.set('storyFilter', filter); }, toggleShortcutsHelp: function toggleShortcutsHelp(_ref2) { - var reduxStore = _ref2.reduxStore; + var clientStore = _ref2.clientStore; - reduxStore.dispatch({ - type: _.types.TOGGLE_SHORTCUTS_HELP - }); + clientStore.toggle('showShortcutsHelp'); }, selectDownPanel: function selectDownPanel(_ref3, panelName) { - var reduxStore = _ref3.reduxStore; + var clientStore = _ref3.clientStore; - reduxStore.dispatch({ - type: _.types.SELECT_BOTTOM_PANEL, - panelName: panelName - }); + clientStore.set('selectedDownPanel', panelName); } }; \ No newline at end of file diff --git a/dist/modules/ui/configs/handle_routing.js b/dist/modules/ui/configs/handle_routing.js index abbad97d228d..2b3350307b1f 100755 --- a/dist/modules/ui/configs/handle_routing.js +++ b/dist/modules/ui/configs/handle_routing.js @@ -18,16 +18,16 @@ exports.updateStore = updateStore; exports.handleInitialUrl = handleInitialUrl; exports.default = function (_ref, actions) { - var reduxStore = _ref.reduxStore; + var clientStore = _ref.clientStore; // handle initial URL handleInitialUrl(actions, window.location); - // subscribe to reduxStore and change the URL - reduxStore.subscribe(function () { - return changeUrl(reduxStore); + // subscribe to clientStore and change the URL + clientStore.subscribe(function () { + return changeUrl(clientStore); }); - changeUrl(reduxStore); + changeUrl(clientStore); // handle back button window.onpopstate = function () { @@ -47,25 +47,22 @@ var config = exports.config = { insidePopState: false }; -function changeUrl(reduxStore) { +function changeUrl(clientStore) { // Do not change the URL if we are inside a popState event. if (config.insidePopState) return; - var _reduxStore$getState = reduxStore.getState(), - api = _reduxStore$getState.api, - shortcuts = _reduxStore$getState.shortcuts, - ui = _reduxStore$getState.ui; + var data = clientStore.getAll(); + if (!data.selectedKind) return; - if (!api) return; - - var selectedKind = api.selectedKind, - selectedStory = api.selectedStory, - customQueryParams = api.customQueryParams; - var full = shortcuts.goFullScreen, - down = shortcuts.showDownPanel, - left = shortcuts.showLeftPanel, - panelRight = shortcuts.downPanelInRight; - var downPanel = ui.selectedDownPanel; + var selectedKind = data.selectedKind, + selectedStory = data.selectedStory, + customQueryParams = data.customQueryParams; + var _data$shortcutOptions = data.shortcutOptions, + full = _data$shortcutOptions.goFullScreen, + down = _data$shortcutOptions.showDownPanel, + left = _data$shortcutOptions.showLeftPanel, + panelRight = _data$shortcutOptions.downPanelInRight; + var downPanel = data.selectedDownPanel; var urlObj = (0, _extends3.default)({}, customQueryParams, { @@ -110,7 +107,7 @@ function updateStore(queryParams, actions) { actions.api.selectStory(selectedKind, selectedStory); } - actions.shortcuts.setLayout({ + actions.shortcuts.setOptions({ goFullScreen: Boolean(Number(full)), showDownPanel: Boolean(Number(down)), showLeftPanel: Boolean(Number(left)), diff --git a/dist/modules/ui/configs/reducers/index.js b/dist/modules/ui/configs/reducers/index.js deleted file mode 100755 index d494db9b04c6..000000000000 --- a/dist/modules/ui/configs/reducers/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _ui = require('./ui'); - -var _ui2 = _interopRequireDefault(_ui); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = { - ui: _ui2.default -}; \ No newline at end of file diff --git a/dist/modules/ui/configs/reducers/ui.js b/dist/modules/ui/configs/reducers/ui.js deleted file mode 100755 index 87684788bfc8..000000000000 --- a/dist/modules/ui/configs/reducers/ui.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = require('babel-runtime/helpers/extends'); - -var _extends3 = _interopRequireDefault(_extends2); - -exports.default = function () { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultState; - var action = arguments[1]; - - switch (action.type) { - case _actions.types.SET_STORY_FILTER: - { - return (0, _extends3.default)({}, state, { - storyFilter: action.filter - }); - } - - case _actions.types.SELECT_BOTTOM_PANEL: - { - return (0, _extends3.default)({}, state, { - selectedDownPanel: action.panelName - }); - } - - case _actions.types.TOGGLE_SHORTCUTS_HELP: - { - return (0, _extends3.default)({}, state, { - showShortcutsHelp: !state.showShortcutsHelp - }); - } - - default: - return state; - } -}; - -var _actions = require('../../actions'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var defaultState = { - showShortcutsHelp: false -}; \ No newline at end of file diff --git a/dist/modules/ui/containers/down_panel.js b/dist/modules/ui/containers/down_panel.js index 8d935df119d6..0f289fbb23ae 100644 --- a/dist/modules/ui/containers/down_panel.js +++ b/dist/modules/ui/containers/down_panel.js @@ -9,9 +9,9 @@ var _down_panel = require('../components/down_panel'); var _down_panel2 = _interopRequireDefault(_down_panel); -var _gen_redux_loader = require('../libs/gen_redux_loader'); +var _gen_podda_loader = require('../libs/gen_podda_loader'); -var _gen_redux_loader2 = _interopRequireDefault(_gen_redux_loader); +var _gen_podda_loader2 = _interopRequireDefault(_gen_podda_loader); var _compose = require('../../../compose'); @@ -19,14 +19,13 @@ var _compose2 = _interopRequireDefault(_compose); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function mapper(_ref, props, _ref2) { - var ui = _ref.ui; - var context = _ref2.context, - actions = _ref2.actions; +function mapper(state, props, _ref) { + var context = _ref.context, + actions = _ref.actions; var panels = context().provider.getPanels(); var actionMap = actions(); - var selectedPanel = ui.selectedDownPanel; + var selectedPanel = state.selectedDownPanel; return { panels: panels, @@ -35,4 +34,4 @@ function mapper(_ref, props, _ref2) { }; } -exports.default = (0, _compose2.default)((0, _gen_redux_loader2.default)(mapper))(_down_panel2.default); \ No newline at end of file +exports.default = (0, _compose2.default)((0, _gen_podda_loader2.default)(mapper))(_down_panel2.default); \ No newline at end of file diff --git a/dist/modules/ui/containers/layout.js b/dist/modules/ui/containers/layout.js index b059eee0dec8..be88dad7a035 100755 --- a/dist/modules/ui/containers/layout.js +++ b/dist/modules/ui/containers/layout.js @@ -13,9 +13,9 @@ var _layout = require('../components/layout'); var _layout2 = _interopRequireDefault(_layout); -var _gen_redux_loader = require('../libs/gen_redux_loader'); +var _gen_podda_loader = require('../libs/gen_podda_loader'); -var _gen_redux_loader2 = _interopRequireDefault(_gen_redux_loader); +var _gen_podda_loader2 = _interopRequireDefault(_gen_podda_loader); var _compose = require('../../../compose'); @@ -24,9 +24,9 @@ var _compose2 = _interopRequireDefault(_compose); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var mapper = exports.mapper = function mapper(_ref) { - var shortcuts = _ref.shortcuts; + var shortcutOptions = _ref.shortcutOptions; - return (0, _lodash2.default)(shortcuts, 'showLeftPanel', 'showDownPanel', 'goFullScreen', 'downPanelInRight'); + return (0, _lodash2.default)(shortcutOptions, 'showLeftPanel', 'showDownPanel', 'goFullScreen', 'downPanelInRight'); }; -exports.default = (0, _compose2.default)((0, _gen_redux_loader2.default)(mapper))(_layout2.default); \ No newline at end of file +exports.default = (0, _compose2.default)((0, _gen_podda_loader2.default)(mapper))(_layout2.default); \ No newline at end of file diff --git a/dist/modules/ui/containers/left_panel.js b/dist/modules/ui/containers/left_panel.js index ff01ec96ec09..6b4c9dc00025 100755 --- a/dist/modules/ui/containers/left_panel.js +++ b/dist/modules/ui/containers/left_panel.js @@ -13,9 +13,9 @@ var _filters = require('../libs/filters'); var filters = _interopRequireWildcard(_filters); -var _gen_redux_loader = require('../libs/gen_redux_loader'); +var _gen_podda_loader = require('../libs/gen_podda_loader'); -var _gen_redux_loader2 = _interopRequireDefault(_gen_redux_loader); +var _gen_podda_loader2 = _interopRequireDefault(_gen_podda_loader); var _compose = require('../../../compose'); @@ -25,17 +25,15 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var mapper = exports.mapper = function mapper(_ref, props, _ref2) { - var api = _ref.api, - ui = _ref.ui; - var actions = _ref2.actions; +var mapper = exports.mapper = function mapper(state, props, _ref) { + var actions = _ref.actions; var actionMap = actions(); - var stories = api.stories, - selectedKind = api.selectedKind, - selectedStory = api.selectedStory, - options = api.options; - var storyFilter = ui.storyFilter; + var stories = state.stories, + selectedKind = state.selectedKind, + selectedStory = state.selectedStory, + uiOptions = state.uiOptions, + storyFilter = state.storyFilter; var data = { @@ -48,11 +46,11 @@ var mapper = exports.mapper = function mapper(_ref, props, _ref2) { onStoryFilter: actionMap.ui.setStoryFilter, openShortcutsHelp: actionMap.ui.toggleShortcutsHelp, - name: options.name, - url: options.url + name: uiOptions.name, + url: uiOptions.url }; return data; }; -exports.default = (0, _compose2.default)((0, _gen_redux_loader2.default)(mapper))(_left_panel2.default); \ No newline at end of file +exports.default = (0, _compose2.default)((0, _gen_podda_loader2.default)(mapper))(_left_panel2.default); \ No newline at end of file diff --git a/dist/modules/ui/containers/search_box.js b/dist/modules/ui/containers/search_box.js index 0b2bef62399d..7affde4b448b 100644 --- a/dist/modules/ui/containers/search_box.js +++ b/dist/modules/ui/containers/search_box.js @@ -9,9 +9,9 @@ var _search_box = require('../components/search_box'); var _search_box2 = _interopRequireDefault(_search_box); -var _gen_redux_loader = require('../libs/gen_redux_loader'); +var _gen_podda_loader = require('../libs/gen_podda_loader'); -var _gen_redux_loader2 = _interopRequireDefault(_gen_redux_loader); +var _gen_podda_loader2 = _interopRequireDefault(_gen_podda_loader); var _compose = require('../../../compose'); @@ -19,18 +19,16 @@ var _compose2 = _interopRequireDefault(_compose); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var mapper = exports.mapper = function mapper(_ref, props, _ref2) { - var api = _ref.api, - shortcuts = _ref.shortcuts; - var actions = _ref2.actions; +var mapper = exports.mapper = function mapper(state, props, _ref) { + var actions = _ref.actions; var actionMap = actions(); return { - showSearchBox: shortcuts.showSearchBox, - stories: api.stories, + showSearchBox: state.shortcutOptions.showSearchBox, + stories: state.stories, onSelectStory: actionMap.api.selectStory, handleEvent: actionMap.shortcuts.handleEvent }; }; -exports.default = (0, _compose2.default)((0, _gen_redux_loader2.default)(mapper))(_search_box2.default); \ No newline at end of file +exports.default = (0, _compose2.default)((0, _gen_podda_loader2.default)(mapper))(_search_box2.default); \ No newline at end of file diff --git a/dist/modules/ui/containers/shortcuts_help.js b/dist/modules/ui/containers/shortcuts_help.js index 45af2f6cdb7c..24415e5120dd 100755 --- a/dist/modules/ui/containers/shortcuts_help.js +++ b/dist/modules/ui/containers/shortcuts_help.js @@ -9,9 +9,9 @@ var _shortcuts_help = require('../components/shortcuts_help'); var _shortcuts_help2 = _interopRequireDefault(_shortcuts_help); -var _gen_redux_loader = require('../libs/gen_redux_loader'); +var _gen_podda_loader = require('../libs/gen_podda_loader'); -var _gen_redux_loader2 = _interopRequireDefault(_gen_redux_loader); +var _gen_podda_loader2 = _interopRequireDefault(_gen_podda_loader); var _compose = require('../../../compose'); @@ -19,13 +19,12 @@ var _compose2 = _interopRequireDefault(_compose); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var mapper = exports.mapper = function mapper(_ref, props, _ref2) { - var ui = _ref.ui; - var actions = _ref2.actions; +var mapper = exports.mapper = function mapper(state, props, _ref) { + var actions = _ref.actions; var actionMap = actions(); var data = { - isOpen: ui.showShortcutsHelp, + isOpen: state.showShortcutsHelp, onClose: actionMap.ui.toggleShortcutsHelp, platform: window.navigator.platform.toLowerCase() }; @@ -33,4 +32,4 @@ var mapper = exports.mapper = function mapper(_ref, props, _ref2) { return data; }; -exports.default = (0, _compose2.default)((0, _gen_redux_loader2.default)(mapper))(_shortcuts_help2.default); \ No newline at end of file +exports.default = (0, _compose2.default)((0, _gen_podda_loader2.default)(mapper))(_shortcuts_help2.default); \ No newline at end of file diff --git a/dist/modules/ui/index.js b/dist/modules/ui/index.js index f01153b5d940..70ed7a42ab11 100755 --- a/dist/modules/ui/index.js +++ b/dist/modules/ui/index.js @@ -12,10 +12,6 @@ var _actions = require('./actions'); var _actions2 = _interopRequireDefault(_actions); -var _reducers = require('./configs/reducers'); - -var _reducers2 = _interopRequireDefault(_reducers); - var _init_panels = require('./configs/init_panels'); var _init_panels2 = _interopRequireDefault(_init_panels); @@ -33,7 +29,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de exports.default = { routes: _routes2.default, actions: _actions2.default, - reducers: _reducers2.default, + defaultState: { + showShortcutsHelp: false + }, load: function load(c, a) { (0, _init_panels2.default)(c, a); (0, _handle_routing2.default)(c, a); diff --git a/dist/modules/ui/libs/gen_redux_loader.js b/dist/modules/ui/libs/gen_podda_loader.js similarity index 64% rename from dist/modules/ui/libs/gen_redux_loader.js rename to dist/modules/ui/libs/gen_podda_loader.js index 9d7809127d66..e6505ab88446 100644 --- a/dist/modules/ui/libs/gen_redux_loader.js +++ b/dist/modules/ui/libs/gen_podda_loader.js @@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = getReduxLoader; -function getReduxLoader(fn) { +exports.default = genPoddaLoader; +function genPoddaLoader(fn) { return function (props, onData, env) { var _env$context = env.context(), - reduxStore = _env$context.reduxStore; + clientStore = _env$context.clientStore; var processState = function processState() { try { - var state = reduxStore.getState(); + var state = clientStore.getAll(); var data = fn(state, props, env); onData(null, data); } catch (ex) { @@ -20,6 +20,6 @@ function getReduxLoader(fn) { }; processState(); - reduxStore.subscribe(processState); + return clientStore.subscribe(processState); }; } \ No newline at end of file diff --git a/dist/modules/ui/routes.js b/dist/modules/ui/routes.js index 8bc236c9a39f..67f3294c7579 100755 --- a/dist/modules/ui/routes.js +++ b/dist/modules/ui/routes.js @@ -5,16 +5,14 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = function (injectDeps, _ref) { - var reduxStore = _ref.reduxStore, + var clientStore = _ref.clientStore, provider = _ref.provider, domNode = _ref.domNode; // generate preview var Preview = function Preview() { - var _reduxStore$getState = reduxStore.getState(), - api = _reduxStore$getState.api; - - var preview = provider.renderPreview(api.selectedKind, api.selectedStory); + var state = clientStore.getAll(); + var preview = provider.renderPreview(state.selectedKind, state.selectedStory); return preview; };