UNPKG

@digifi-los/reactapp

Version:
292 lines (281 loc) 8.34 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _assign = require('babel-runtime/core-js/object/assign'); var _assign2 = _interopRequireDefault(_assign); var _constants = require('../constants'); var _constants2 = _interopRequireDefault(_constants); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var appDefaultSettings = { name: 'Admin Panel', basename: 'http://localhost:8786', adminPath: '/r-admin', routerHistory: 'browserHistory', hot_reload: false, disableLogger: false, includeCoreData: { manifest: true, navigation: true }, allHistoryOptions: 'browserHistory|hashHistory|createMemoryHistory', application: { environment: 'development', use_offline_cache: false }, ui: { initialization: { show_header: false, show_footer: false, show_sidebar_overlay: true, refresh_manifests: true, refresh_navigation: true, refresh_components: true }, notifications: { error_timeout: 10000, timed_timeout: 10000, hide_login_notification: false, supressResourceErrors: false }, fixedSidebar: true, sidebarBG: '#ffffff', header: { isBold: true, color: 'isBlack', buttonColor: 'isWhite', useGlobalSearch: false, useHeaderLogout: false, productHeader: { layout: false, productLinks: [] }, customButton: {}, profileImageStyle: {}, navLabelStyle: {}, containerStyle: {}, userNameStyle: {} }, footer: { navStyle: {} }, sidebar: { containerStyle: {}, use_floating_nav: false } }, auth: { logged_in_homepage: '/r-admin/dashboard', logged_out_path: '/' }, login: { url: '/api/jwt/token', devurl: '/api/jwt/token', options: { method: 'POST', headers: { Accept: 'application/json', clientid: 'e2852fd35ef3c16ef206d4e34252e0e5', entitytype: 'account' } } }, userprofile: { url: '/api/jwt/profile', devurl: '/api/jwt/profile', options: { method: 'POST', headers: { Accept: 'application/json', 'Content-Type': 'application/json', clientid: 'e2852fd35ef3c16ef206d4e34252e0e5', clientid_default: 'clientIDNEEDED', entitytype: 'account' } } } }; var defaultUserNavigation = { wrapper: { style: {} }, container: { style: {} }, layout: { component: 'Menu', props: { style: { paddingBottom: 70, width: '10rem' } }, children: [{ component: 'MenuLabel', children: 'System' }, { component: 'MenuList', children: [{ component: 'MenuAppLink', props: { href: '/dashboard', label: 'Dashboard', id: 'dashboard' } }, { component: 'MenuAppLink', props: { href: '/#logout', label: 'Logout', onClick: 'func:this.props.logoutUser' } }] }] } }; var packageJSON = { name: 'adminclient', version: '10.1.1', 'private': true, devDependencies: { '@fortawesome/fontawesome-pro': '^5.9.0', 'animate.css': '^3.5.2', 'babel-core': '^6.26.3', 'babel-preset-env': '^1.7.0', capitalize: '^1.0.0', eslint: '^3.14.1', 'font-awesome': '^4.7.0', 'google-map-react': '^0.24.0', moment: '^2.17.1', numeral: '^2.0.6', pluralize: '^3.1.0', 'react-addons-css-transition-group': '^15.4.1', 'react-animate.css': '0.0.4', 'react-native': '^0.39.2', 'react-native-web': '0.0.60', 'react-redux': '^4.4.6', 'react-router': '^3.0.0', 'react-router-redux': '^4.0.7', 'react-scripts': '0.8.4', recharts: '^1.0.0-beta.1', redux: '^3.6.0', 'redux-logger': '^2.7.4', 'redux-thunk': '^2.1.0', 'string-to-json': '^0.1.0', 'ua-parser-js': '^0.7.12', useragent: '^2.1.13' }, dependencies: { '@digifi/react-sortable-hoc': '0.0.2', 'babel-core': '^6.24.1', 'babel-polyfill': '^6.23.0', 'babel-preset-env': '^1.4.0', debounce: '^1.0.0', 'draft-js': '^0.10.0', eslint: '^3.14.1', 'eslint-plugin-react': '^6.9.0', 'file-saver': '^1.3.3', flat: '^2.0.1', 'json-2-csv': '^2.1.0', mime: '^1.3.6', 'rc-slider': '^6.2.0', 'rc-steps': '^2.5.1', 'rc-switch': '^1.5.3', 'rc-table': '^5.6.7', 'rc-tree': '^1.7.4', 're-bulma': '^0.4.3', react: '15.3.2', 'react-beautiful-dnd': '^10.1.1', 'react-codemirror': '^0.3.0', 'react-color': '^2.17.3', 'react-countup': '^3.0.3', 'react-cropper': '^1.0.1', 'react-dates': '^16.4.0', 'react-dom': '15.3.2', 'react-draft-wysiwyg': '^1.7.6', 'react-file-reader-input': '^1.1.0', 'react-load-script': '0.0.6', 'react-moment-proptypes': '^1.5.0', 'react-responsive-carousel': '^3.1.3', 'react-slick': '^0.15.4', 'react-sortable-hoc': '^0.6.8', 'react-text-mask': '^5.0.2', 'react-virtualized': '^9.18.5', reactcss: '^1.2.3', 'semantic-ui-css': '^2.4.1', 'semantic-ui-react': '^0.77.2', 'text-mask-addons': '^3.6.0', 'validate.js': '^0.11.1', victory: '^0.24.0', 'whatwg-fetch': '^2.0.3' }, scripts: { start: 'react-scripts start', build: 'react-scripts build', test: 'react-scripts test --env=jsdom', eject: 'react-scripts eject' }, proxy: 'https://localhost:8787', homepage: '/extensions/periodicjs.ext.reactapp' }; var windowState = typeof window !== 'undefined' && window.__padmin ? window.__padmin : {}; var initialState = (0, _assign2.default)({ version: packageJSON.version }, appDefaultSettings, windowState); initialState.user = (0, _assign2.default)({ navigation: defaultUserNavigation }, initialState.user); // console.log({ initialState }); var settingsReducer = function settingsReducer(state, action) { var user = void 0; switch (action.type) { case _constants2.default.settings.UPDATE_APP_SETTINGS: var updatedSettings = action.payload; return (0, _assign2.default)({}, state, updatedSettings); case _constants2.default.user.PREFERENCE_REQUEST: user = (0, _assign2.default)({}, state.user); user.preferences = (0, _assign2.default)({}, user.preferences, { isFetching: true }); return (0, _assign2.default)({}, state, { user: user }); case _constants2.default.user.PREFERENCE_LOAD_ERROR: user = (0, _assign2.default)({}, state.user); user.preferences = (0, _assign2.default)({}, user.preferences, { isFetching: false }, action.payload); return (0, _assign2.default)({}, state, { user: user }); case _constants2.default.user.PREFERENCE_LOAD_SUCCESS: user = (0, _assign2.default)({}, state.user); user.preferences = (0, _assign2.default)({}, user.preferences, { isFetching: false, updatedAt: action.payload.updatedAt, timestamp: action.payload.timestamp, hasLoaded: true, error: undefined }, action.payload.preferences); return (0, _assign2.default)({}, state, { user: user }); case _constants2.default.user.NAVIGATION_REQUEST: user = (0, _assign2.default)({}, state.user); user.navigation = (0, _assign2.default)({}, user.navigation, { isFetching: true }); return (0, _assign2.default)({}, state, { user: user }); case _constants2.default.user.NAVIGATION_LOAD_ERROR: user = (0, _assign2.default)({}, state.user); user.navigation = (0, _assign2.default)({}, user.navigation, { isFetching: false }, action.payload); return (0, _assign2.default)({}, state, { user: user }); case _constants2.default.user.NAVIGATION_LOAD_SUCCESS: user = (0, _assign2.default)({}, state.user); user.navigation = (0, _assign2.default)({}, user.navigation, { isFetching: false, updatedAt: action.payload.updatedAt, timestamp: action.payload.timestamp, hasLoaded: true, error: undefined }, action.payload.navigation); return (0, _assign2.default)({}, state, { user: user }); default: return (0, _assign2.default)(initialState, state); } }; exports.default = settingsReducer;