@nlabs/gothamjs
Version:
Platform
70 lines (69 loc) • 7.62 kB
JavaScript
/**
* Copyright (c) 2018-Present, Nitrogen Labs, Inc.
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
*/ import { set } from '@nlabs/utils';
import { GothamConstants } from '../constants/GothamConstants.js';
export const gothamApp = {
initialState: {
isLoading: false,
loadingContent: '',
notify: {
actions: [],
autoHideDuration: 5000,
isOpen: false,
message: '',
severity: 'info'
},
title: ''
},
name: 'app',
action: (type, data, state = {})=>{
switch(type){
case GothamConstants.INITIALIZE:
return {
...state
};
case GothamConstants.LOADING:
return {
...state,
isLoading: data.isLoading,
loadingContent: data.content || ''
};
case GothamConstants.NOTIFY_OPEN:
return {
...state,
notify: {
...state.notify || {},
actions: data.actions || [],
anchorOrigin: data.anchorOrigin || {
horizontal: 'center',
vertical: 'bottom'
},
autoHideDuration: data.autoHideDuration || state.notify?.autoHideDuration || 5000,
isOpen: true,
key: data.key || new Date().getTime(),
message: data.message || '',
severity: data.severity || 'info'
}
};
case GothamConstants.NOTIFY_CLOSE:
return {
...state,
notify: {
...state.notify || {},
isOpen: false
}
};
case GothamConstants.SET_CONFIG:
return set(state, 'config', data.config);
case GothamConstants.UPDATE_TITLE:
return {
...state,
title: data.title
};
default:
return state;
}
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9zdG9yZXMvR290aGFtQXBwU3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7c2V0fSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge0dvdGhhbUNvbnN0YW50c30gZnJvbSAnLi4vY29uc3RhbnRzL0dvdGhhbUNvbnN0YW50cy5qcyc7XG5cbi8vIERlZmluZSB0aGUgc3RhdGUgdHlwZSB0byBhdm9pZCB0eXBlIGVycm9yc1xuaW50ZXJmYWNlIEFwcFN0YXRlIHtcbiAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgbG9hZGluZ0NvbnRlbnQ/OiBzdHJpbmc7XG4gIG5vdGlmeT86IHtcbiAgICBhY3Rpb25zPzogYW55W107XG4gICAgYW5jaG9yT3JpZ2luPzogeyBob3Jpem9udGFsOiBzdHJpbmc7IHZlcnRpY2FsOiBzdHJpbmcgfTtcbiAgICBhdXRvSGlkZUR1cmF0aW9uPzogbnVtYmVyO1xuICAgIGlzT3Blbj86IGJvb2xlYW47XG4gICAga2V5Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc2V2ZXJpdHk/OiBzdHJpbmc7XG4gIH07XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb25maWc/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBnb3RoYW1BcHAgPSB7XG4gIGluaXRpYWxTdGF0ZToge1xuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgbG9hZGluZ0NvbnRlbnQ6ICcnLFxuICAgIG5vdGlmeToge1xuICAgICAgYWN0aW9uczogW10sXG4gICAgICBhdXRvSGlkZUR1cmF0aW9uOiA1MDAwLFxuICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgc2V2ZXJpdHk6ICdpbmZvJ1xuICAgIH0sXG4gICAgdGl0bGU6ICcnXG4gIH0sXG4gIG5hbWU6ICdhcHAnLFxuICBhY3Rpb246ICh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSwgc3RhdGU6IEFwcFN0YXRlID0ge30pOiBBcHBTdGF0ZSA9PiB7XG4gICAgc3dpdGNoKHR5cGUpIHtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLklOSVRJQUxJWkU6XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGV9O1xuICAgICAgY2FzZSBHb3RoYW1Db25zdGFudHMuTE9BRElORzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBpc0xvYWRpbmc6IGRhdGEuaXNMb2FkaW5nLFxuICAgICAgICAgIGxvYWRpbmdDb250ZW50OiBkYXRhLmNvbnRlbnQgfHwgJydcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLk5PVElGWV9PUEVOOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIG5vdGlmeToge1xuICAgICAgICAgICAgLi4uKHN0YXRlLm5vdGlmeSB8fCB7fSksXG4gICAgICAgICAgICBhY3Rpb25zOiBkYXRhLmFjdGlvbnMgfHwgW10sXG4gICAgICAgICAgICBhbmNob3JPcmlnaW46IGRhdGEuYW5jaG9yT3JpZ2luIHx8IHtob3Jpem9udGFsOiAnY2VudGVyJywgdmVydGljYWw6ICdib3R0b20nfSxcbiAgICAgICAgICAgIGF1dG9IaWRlRHVyYXRpb246IGRhdGEuYXV0b0hpZGVEdXJhdGlvbiB8fCAoc3RhdGUubm90aWZ5Py5hdXRvSGlkZUR1cmF0aW9uIHx8IDUwMDApLFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAga2V5OiBkYXRhLmtleSB8fCBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGRhdGEubWVzc2FnZSB8fCAnJyxcbiAgICAgICAgICAgIHNldmVyaXR5OiBkYXRhLnNldmVyaXR5IHx8ICdpbmZvJ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLk5PVElGWV9DTE9TRTpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBub3RpZnk6IHtcbiAgICAgICAgICAgIC4uLihzdGF0ZS5ub3RpZnkgfHwge30pLFxuICAgICAgICAgICAgaXNPcGVuOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLlNFVF9DT05GSUc6XG4gICAgICAgIHJldHVybiBzZXQoc3RhdGUsICdjb25maWcnLCBkYXRhLmNvbmZpZyk7XG4gICAgICBjYXNlIEdvdGhhbUNvbnN0YW50cy5VUERBVEVfVElUTEU6XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHRpdGxlOiBkYXRhLnRpdGxlfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG4iXSwibmFtZXMiOlsic2V0IiwiR290aGFtQ29uc3RhbnRzIiwiZ290aGFtQXBwIiwiaW5pdGlhbFN0YXRlIiwiaXNMb2FkaW5nIiwibG9hZGluZ0NvbnRlbnQiLCJub3RpZnkiLCJhY3Rpb25zIiwiYXV0b0hpZGVEdXJhdGlvbiIsImlzT3BlbiIsIm1lc3NhZ2UiLCJzZXZlcml0eSIsInRpdGxlIiwibmFtZSIsImFjdGlvbiIsInR5cGUiLCJkYXRhIiwic3RhdGUiLCJJTklUSUFMSVpFIiwiTE9BRElORyIsImNvbnRlbnQiLCJOT1RJRllfT1BFTiIsImFuY2hvck9yaWdpbiIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsImtleSIsIkRhdGUiLCJnZXRUaW1lIiwiTk9USUZZX0NMT1NFIiwiU0VUX0NPTkZJRyIsImNvbmZpZyIsIlVQREFURV9USVRMRSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsR0FBRyxRQUFPLGVBQWU7QUFFakMsU0FBUUMsZUFBZSxRQUFPLGtDQUFrQztBQW1CaEUsT0FBTyxNQUFNQyxZQUFZO0lBQ3ZCQyxjQUFjO1FBQ1pDLFdBQVc7UUFDWEMsZ0JBQWdCO1FBQ2hCQyxRQUFRO1lBQ05DLFNBQVMsRUFBRTtZQUNYQyxrQkFBa0I7WUFDbEJDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxVQUFVO1FBQ1o7UUFDQUMsT0FBTztJQUNUO0lBQ0FDLE1BQU07SUFDTkMsUUFBUSxDQUFDQyxNQUFjQyxNQUFXQyxRQUFrQixDQUFDLENBQUM7UUFDcEQsT0FBT0Y7WUFDTCxLQUFLZCxnQkFBZ0JpQixVQUFVO2dCQUM3QixPQUFPO29CQUFDLEdBQUdELEtBQUs7Z0JBQUE7WUFDbEIsS0FBS2hCLGdCQUFnQmtCLE9BQU87Z0JBQzFCLE9BQU87b0JBQ0wsR0FBR0YsS0FBSztvQkFDUmIsV0FBV1ksS0FBS1osU0FBUztvQkFDekJDLGdCQUFnQlcsS0FBS0ksT0FBTyxJQUFJO2dCQUNsQztZQUNGLEtBQUtuQixnQkFBZ0JvQixXQUFXO2dCQUM5QixPQUFPO29CQUNMLEdBQUdKLEtBQUs7b0JBQ1JYLFFBQVE7d0JBQ04sR0FBSVcsTUFBTVgsTUFBTSxJQUFJLENBQUMsQ0FBQzt3QkFDdEJDLFNBQVNTLEtBQUtULE9BQU8sSUFBSSxFQUFFO3dCQUMzQmUsY0FBY04sS0FBS00sWUFBWSxJQUFJOzRCQUFDQyxZQUFZOzRCQUFVQyxVQUFVO3dCQUFRO3dCQUM1RWhCLGtCQUFrQlEsS0FBS1IsZ0JBQWdCLElBQUtTLE1BQU1YLE1BQU0sRUFBRUUsb0JBQW9CO3dCQUM5RUMsUUFBUTt3QkFDUmdCLEtBQUtULEtBQUtTLEdBQUcsSUFBSSxJQUFJQyxPQUFPQyxPQUFPO3dCQUNuQ2pCLFNBQVNNLEtBQUtOLE9BQU8sSUFBSTt3QkFDekJDLFVBQVVLLEtBQUtMLFFBQVEsSUFBSTtvQkFDN0I7Z0JBQ0Y7WUFDRixLQUFLVixnQkFBZ0IyQixZQUFZO2dCQUMvQixPQUFPO29CQUNMLEdBQUdYLEtBQUs7b0JBQ1JYLFFBQVE7d0JBQ04sR0FBSVcsTUFBTVgsTUFBTSxJQUFJLENBQUMsQ0FBQzt3QkFDdEJHLFFBQVE7b0JBQ1Y7Z0JBQ0Y7WUFDRixLQUFLUixnQkFBZ0I0QixVQUFVO2dCQUM3QixPQUFPN0IsSUFBSWlCLE9BQU8sVUFBVUQsS0FBS2MsTUFBTTtZQUN6QyxLQUFLN0IsZ0JBQWdCOEIsWUFBWTtnQkFDL0IsT0FBTztvQkFBQyxHQUFHZCxLQUFLO29CQUFFTCxPQUFPSSxLQUFLSixLQUFLO2dCQUFBO1lBQ3JDO2dCQUNFLE9BQU9LO1FBQ1g7SUFDRjtBQUNGLEVBQUUifQ==