periodicjs.ext.reactapp
Version:
276 lines (265 loc) • 7.84 kB
JavaScript
;
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,
use_sockets: true,
socket_server: 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,
customButton: false,
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: '11.6.0',
'private': true,
devDependencies: {
'animate.css': '3.5.2',
capitalize: '1.0.0',
'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': '2.1.5',
recharts: '1.5.0',
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: {
'babel-polyfill': '6.23.0',
debounce: '1.0.0',
'draft-js': '0.10.0',
'file-saver': '1.3.3',
flat: '2.0.1',
'json-2-csv': '2.1.0',
luxon: '1.3.3',
'memory-cache': '0.2.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-codemirror': '0.3.0',
'react-dom': '15.3.2',
'react-draft-wysiwyg': '1.7.6',
'react-file-reader-input': '1.1.0',
'react-responsive-carousel': '3.1.3',
'react-slick': '0.15.4',
'react-text-mask': '5.0.2',
rewire: '4.0.1',
routes: '2.1.0',
'simple-socket-router': '0.9.3',
'socket.io-client': '2.2.0',
'text-mask-addons': '3.6.0',
'validate.js': '0.11.1',
victory: '31.2.0',
'whatwg-fetch': '2.0.3'
},
scripts: {
start: 'react-scripts start',
build: 'node ./scripts/build-non-split.js',
buildcra: 'react-scripts build',
test: 'react-scripts test --env=jsdom',
eject: 'react-scripts eject'
},
proxy: 'https://local-trainer.jewelml.io:8600',
homepage: '/extensions/periodicjs.ext.reactapp',
browserslist: ['>0.2%', 'not dead', 'not ie <= 11', 'not op_mini all']
};
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;