UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

49 lines (48 loc) 4.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { defaultLoadingOverlayState: function() { return defaultLoadingOverlayState; }, reducer: function() { return reducer; } }); const defaultLoadingOverlayState = { isLoading: false, loaders: [], loadingText: '', overlayType: null }; const reducer = (state, action)=>{ const loadersCopy = [ ...state.loaders ]; const { key = 'user', loadingText, type = 'fullscreen' } = action.payload; if (action.type === 'add') { loadersCopy.push({ key, loadingText, type }); } else if (action.type === 'remove') { const index = loadersCopy.findIndex((item)=>item.key === key && item.type === type); loadersCopy.splice(index, 1); } const nextLoader = loadersCopy?.length > 0 ? loadersCopy[loadersCopy.length - 1] : null; return { isLoading: Boolean(nextLoader), loaders: loadersCopy, loadingText: nextLoader?.loadingText || state?.loadingText, overlayType: nextLoader?.type || state?.overlayType }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9Mb2FkaW5nT3ZlcmxheS9yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWN0aW9uLCBTdGF0ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0TG9hZGluZ092ZXJsYXlTdGF0ZSA9IHtcbiAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgbG9hZGVyczogW10sXG4gIGxvYWRpbmdUZXh0OiAnJyxcbiAgb3ZlcmxheVR5cGU6IG51bGwsXG59XG5cbmV4cG9ydCBjb25zdCByZWR1Y2VyID0gKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSA9PiB7XG4gIGNvbnN0IGxvYWRlcnNDb3B5ID0gWy4uLnN0YXRlLmxvYWRlcnNdXG4gIGNvbnN0IHsga2V5ID0gJ3VzZXInLCBsb2FkaW5nVGV4dCwgdHlwZSA9ICdmdWxsc2NyZWVuJyB9ID0gYWN0aW9uLnBheWxvYWRcblxuICBpZiAoYWN0aW9uLnR5cGUgPT09ICdhZGQnKSB7XG4gICAgbG9hZGVyc0NvcHkucHVzaCh7IGtleSwgbG9hZGluZ1RleHQsIHR5cGUgfSlcbiAgfSBlbHNlIGlmIChhY3Rpb24udHlwZSA9PT0gJ3JlbW92ZScpIHtcbiAgICBjb25zdCBpbmRleCA9IGxvYWRlcnNDb3B5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5rZXkgPT09IGtleSAmJiBpdGVtLnR5cGUgPT09IHR5cGUpXG4gICAgbG9hZGVyc0NvcHkuc3BsaWNlKGluZGV4LCAxKVxuICB9XG5cbiAgY29uc3QgbmV4dExvYWRlciA9IGxvYWRlcnNDb3B5Py5sZW5ndGggPiAwID8gbG9hZGVyc0NvcHlbbG9hZGVyc0NvcHkubGVuZ3RoIC0gMV0gOiBudWxsXG5cbiAgcmV0dXJuIHtcbiAgICBpc0xvYWRpbmc6IEJvb2xlYW4obmV4dExvYWRlciksXG4gICAgbG9hZGVyczogbG9hZGVyc0NvcHksXG4gICAgbG9hZGluZ1RleHQ6IG5leHRMb2FkZXI/LmxvYWRpbmdUZXh0IHx8IHN0YXRlPy5sb2FkaW5nVGV4dCxcbiAgICBvdmVybGF5VHlwZTogbmV4dExvYWRlcj8udHlwZSB8fCBzdGF0ZT8ub3ZlcmxheVR5cGUsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJkZWZhdWx0TG9hZGluZ092ZXJsYXlTdGF0ZSIsInJlZHVjZXIiLCJpc0xvYWRpbmciLCJsb2FkZXJzIiwibG9hZGluZ1RleHQiLCJvdmVybGF5VHlwZSIsInN0YXRlIiwiYWN0aW9uIiwibG9hZGVyc0NvcHkiLCJrZXkiLCJ0eXBlIiwicGF5bG9hZCIsInB1c2giLCJpbmRleCIsImZpbmRJbmRleCIsIml0ZW0iLCJzcGxpY2UiLCJuZXh0TG9hZGVyIiwibGVuZ3RoIiwiQm9vbGVhbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFFYUEsMEJBQTBCO2VBQTFCQTs7SUFPQUMsT0FBTztlQUFQQTs7O0FBUE4sTUFBTUQsNkJBQTZCO0lBQ3hDRSxXQUFXO0lBQ1hDLFNBQVMsRUFBRTtJQUNYQyxhQUFhO0lBQ2JDLGFBQWE7QUFDZjtBQUVPLE1BQU1KLFVBQVUsQ0FBQ0ssT0FBY0M7SUFDcEMsTUFBTUMsY0FBYztXQUFJRixNQUFNSCxPQUFPO0tBQUM7SUFDdEMsTUFBTSxFQUFFTSxNQUFNLE1BQU0sRUFBRUwsV0FBVyxFQUFFTSxPQUFPLFlBQVksRUFBRSxHQUFHSCxPQUFPSSxPQUFPO0lBRXpFLElBQUlKLE9BQU9HLElBQUksS0FBSyxPQUFPO1FBQ3pCRixZQUFZSSxJQUFJLENBQUM7WUFBRUg7WUFBS0w7WUFBYU07UUFBSztJQUM1QyxPQUFPLElBQUlILE9BQU9HLElBQUksS0FBSyxVQUFVO1FBQ25DLE1BQU1HLFFBQVFMLFlBQVlNLFNBQVMsQ0FBQyxDQUFDQyxPQUFTQSxLQUFLTixHQUFHLEtBQUtBLE9BQU9NLEtBQUtMLElBQUksS0FBS0E7UUFDaEZGLFlBQVlRLE1BQU0sQ0FBQ0gsT0FBTztJQUM1QjtJQUVBLE1BQU1JLGFBQWFULGFBQWFVLFNBQVMsSUFBSVYsV0FBVyxDQUFDQSxZQUFZVSxNQUFNLEdBQUcsRUFBRSxHQUFHO0lBRW5GLE9BQU87UUFDTGhCLFdBQVdpQixRQUFRRjtRQUNuQmQsU0FBU0s7UUFDVEosYUFBYWEsWUFBWWIsZUFBZUUsT0FBT0Y7UUFDL0NDLGFBQWFZLFlBQVlQLFFBQVFKLE9BQU9EO0lBQzFDO0FBQ0YifQ==