@nlabs/gothamjs
Version:
Platform
62 lines (61 loc) • 6.38 kB
JavaScript
import { set } from "@nlabs/utils";
import { GothamConstants } from "../constants/GothamConstants.js";
const gothamApp = {
initialState: {
isLoading: false,
loadingContent: "",
notify: {
actions: [],
autoHideDuration: 5e3,
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 || 5e3),
isOpen: true,
key: data.key || (/* @__PURE__ */ 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;
}
}
};
export {
gothamApp
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3N0b3Jlcy9Hb3RoYW1BcHBTdG9yZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7c2V0fSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge0dvdGhhbUNvbnN0YW50c30gZnJvbSAnLi4vY29uc3RhbnRzL0dvdGhhbUNvbnN0YW50cy5qcyc7XG5cbi8vIERlZmluZSB0aGUgc3RhdGUgdHlwZSB0byBhdm9pZCB0eXBlIGVycm9yc1xuaW50ZXJmYWNlIEFwcFN0YXRlIHtcbiAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgbG9hZGluZ0NvbnRlbnQ/OiBzdHJpbmc7XG4gIG5vdGlmeT86IHtcbiAgICBhY3Rpb25zPzogYW55W107XG4gICAgYW5jaG9yT3JpZ2luPzogeyBob3Jpem9udGFsOiBzdHJpbmc7IHZlcnRpY2FsOiBzdHJpbmcgfTtcbiAgICBhdXRvSGlkZUR1cmF0aW9uPzogbnVtYmVyO1xuICAgIGlzT3Blbj86IGJvb2xlYW47XG4gICAga2V5Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc2V2ZXJpdHk/OiBzdHJpbmc7XG4gIH07XG4gIHRpdGxlPzogc3RyaW5nO1xuICBjb25maWc/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBnb3RoYW1BcHAgPSB7XG4gIGluaXRpYWxTdGF0ZToge1xuICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgbG9hZGluZ0NvbnRlbnQ6ICcnLFxuICAgIG5vdGlmeToge1xuICAgICAgYWN0aW9uczogW10sXG4gICAgICBhdXRvSGlkZUR1cmF0aW9uOiA1MDAwLFxuICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgc2V2ZXJpdHk6ICdpbmZvJ1xuICAgIH0sXG4gICAgdGl0bGU6ICcnXG4gIH0sXG4gIG5hbWU6ICdhcHAnLFxuICBhY3Rpb246ICh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSwgc3RhdGU6IEFwcFN0YXRlID0ge30pOiBBcHBTdGF0ZSA9PiB7XG4gICAgc3dpdGNoKHR5cGUpIHtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLklOSVRJQUxJWkU6XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGV9O1xuICAgICAgY2FzZSBHb3RoYW1Db25zdGFudHMuTE9BRElORzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBpc0xvYWRpbmc6IGRhdGEuaXNMb2FkaW5nLFxuICAgICAgICAgIGxvYWRpbmdDb250ZW50OiBkYXRhLmNvbnRlbnQgfHwgJydcbiAgICAgICAgfTtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLk5PVElGWV9PUEVOOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIG5vdGlmeToge1xuICAgICAgICAgICAgLi4uKHN0YXRlLm5vdGlmeSB8fCB7fSksXG4gICAgICAgICAgICBhY3Rpb25zOiBkYXRhLmFjdGlvbnMgfHwgW10sXG4gICAgICAgICAgICBhbmNob3JPcmlnaW46IGRhdGEuYW5jaG9yT3JpZ2luIHx8IHtob3Jpem9udGFsOiAnY2VudGVyJywgdmVydGljYWw6ICdib3R0b20nfSxcbiAgICAgICAgICAgIGF1dG9IaWRlRHVyYXRpb246IGRhdGEuYXV0b0hpZGVEdXJhdGlvbiB8fCAoc3RhdGUubm90aWZ5Py5hdXRvSGlkZUR1cmF0aW9uIHx8IDUwMDApLFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAga2V5OiBkYXRhLmtleSB8fCBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGRhdGEubWVzc2FnZSB8fCAnJyxcbiAgICAgICAgICAgIHNldmVyaXR5OiBkYXRhLnNldmVyaXR5IHx8ICdpbmZvJ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLk5PVElGWV9DTE9TRTpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBub3RpZnk6IHtcbiAgICAgICAgICAgIC4uLihzdGF0ZS5ub3RpZnkgfHwge30pLFxuICAgICAgICAgICAgaXNPcGVuOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIGNhc2UgR290aGFtQ29uc3RhbnRzLlNFVF9DT05GSUc6XG4gICAgICAgIHJldHVybiBzZXQoc3RhdGUsICdjb25maWcnLCBkYXRhLmNvbmZpZyk7XG4gICAgICBjYXNlIEdvdGhhbUNvbnN0YW50cy5VUERBVEVfVElUTEU6XG4gICAgICAgIHJldHVybiB7Li4uc3RhdGUsIHRpdGxlOiBkYXRhLnRpdGxlfTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLFdBQVU7QUFFbEIsU0FBUSx1QkFBc0I7QUFtQnZCLE1BQU0sWUFBWTtBQUFBLEVBQ3ZCLGNBQWM7QUFBQSxJQUNaLFdBQVc7QUFBQSxJQUNYLGdCQUFnQjtBQUFBLElBQ2hCLFFBQVE7QUFBQSxNQUNOLFNBQVMsQ0FBQztBQUFBLE1BQ1Ysa0JBQWtCO0FBQUEsTUFDbEIsUUFBUTtBQUFBLE1BQ1IsU0FBUztBQUFBLE1BQ1QsVUFBVTtBQUFBLElBQ1o7QUFBQSxJQUNBLE9BQU87QUFBQSxFQUNUO0FBQUEsRUFDQSxNQUFNO0FBQUEsRUFDTixRQUFRLENBQUMsTUFBYyxNQUFXLFFBQWtCLENBQUMsTUFBZ0I7QUFDbkUsWUFBTyxNQUFNO0FBQUEsTUFDWCxLQUFLLGdCQUFnQjtBQUNuQixlQUFPLEVBQUMsR0FBRyxNQUFLO0FBQUEsTUFDbEIsS0FBSyxnQkFBZ0I7QUFDbkIsZUFBTztBQUFBLFVBQ0wsR0FBRztBQUFBLFVBQ0gsV0FBVyxLQUFLO0FBQUEsVUFDaEIsZ0JBQWdCLEtBQUssV0FBVztBQUFBLFFBQ2xDO0FBQUEsTUFDRixLQUFLLGdCQUFnQjtBQUNuQixlQUFPO0FBQUEsVUFDTCxHQUFHO0FBQUEsVUFDSCxRQUFRO0FBQUEsWUFDTixHQUFJLE1BQU0sVUFBVSxDQUFDO0FBQUEsWUFDckIsU0FBUyxLQUFLLFdBQVcsQ0FBQztBQUFBLFlBQzFCLGNBQWMsS0FBSyxnQkFBZ0IsRUFBQyxZQUFZLFVBQVUsVUFBVSxTQUFRO0FBQUEsWUFDNUUsa0JBQWtCLEtBQUsscUJBQXFCLE1BQU0sUUFBUSxvQkFBb0I7QUFBQSxZQUM5RSxRQUFRO0FBQUEsWUFDUixLQUFLLEtBQUssUUFBTyxvQkFBSSxLQUFLLEdBQUUsUUFBUTtBQUFBLFlBQ3BDLFNBQVMsS0FBSyxXQUFXO0FBQUEsWUFDekIsVUFBVSxLQUFLLFlBQVk7QUFBQSxVQUM3QjtBQUFBLFFBQ0Y7QUFBQSxNQUNGLEtBQUssZ0JBQWdCO0FBQ25CLGVBQU87QUFBQSxVQUNMLEdBQUc7QUFBQSxVQUNILFFBQVE7QUFBQSxZQUNOLEdBQUksTUFBTSxVQUFVLENBQUM7QUFBQSxZQUNyQixRQUFRO0FBQUEsVUFDVjtBQUFBLFFBQ0Y7QUFBQSxNQUNGLEtBQUssZ0JBQWdCO0FBQ25CLGVBQU8sSUFBSSxPQUFPLFVBQVUsS0FBSyxNQUFNO0FBQUEsTUFDekMsS0FBSyxnQkFBZ0I7QUFDbkIsZUFBTyxFQUFDLEdBQUcsT0FBTyxPQUFPLEtBQUssTUFBSztBQUFBLE1BQ3JDO0FBQ0UsZUFBTztBQUFBLElBQ1g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==