You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					63 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					63 lines
				
				2.1 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.initializeStore = exports.default = void 0; | ||
|  | 
 | ||
|  | var _store = _interopRequireDefault(require("./store")); | ||
|  | 
 | ||
|  | var _actions = require("./actions"); | ||
|  | 
 | ||
|  | var _pagesToStore = _interopRequireDefault(require("./pages-to-store")); | ||
|  | 
 | ||
|  | var _optionsParser = require("../../backend/utils/options-parser/options-parser"); | ||
|  | 
 | ||
|  | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|  | 
 | ||
|  | const initializeStore = async (admin, currentAdmin) => { | ||
|  |   const store = (0, _store.default)(); | ||
|  |   const AdminClass = admin.constructor; | ||
|  |   const adminVersion = AdminClass.VERSION; | ||
|  |   store.dispatch((0, _actions.initializeLocale)(admin.locale)); | ||
|  |   store.dispatch((0, _actions.initializeResources)(admin.resources.map(resource => { | ||
|  |     try { | ||
|  |       return resource.decorate().toJSON(currentAdmin); | ||
|  |     } catch (e) { | ||
|  |       // eslint-disable-next-line no-console
 | ||
|  |       console.log('error', resource._decorated); | ||
|  |       throw e; | ||
|  |     } | ||
|  |   }))); | ||
|  |   const branding = await (0, _optionsParser.getBranding)(admin, currentAdmin); | ||
|  |   const assets = await (0, _optionsParser.getAssets)(admin, currentAdmin); | ||
|  |   store.dispatch((0, _actions.initializeBranding)(branding || {})); | ||
|  |   store.dispatch((0, _actions.initializeAssets)(assets || {})); | ||
|  |   const { | ||
|  |     loginPath, | ||
|  |     logoutPath, | ||
|  |     rootPath, | ||
|  |     dashboard, | ||
|  |     pages, | ||
|  |     assetsCDN | ||
|  |   } = admin.options; | ||
|  |   const pagesArray = (0, _pagesToStore.default)(pages); | ||
|  |   store.dispatch((0, _actions.initializePages)(pagesArray)); | ||
|  |   store.dispatch((0, _actions.initializePaths)({ | ||
|  |     loginPath, | ||
|  |     logoutPath, | ||
|  |     rootPath, | ||
|  |     assetsCDN | ||
|  |   })); | ||
|  |   store.dispatch((0, _actions.setCurrentAdmin)(currentAdmin)); | ||
|  |   store.dispatch((0, _actions.initializeDashboard)(dashboard)); | ||
|  |   store.dispatch((0, _actions.initializeVersions)({ | ||
|  |     app: admin.options.version && admin.options.version.app, | ||
|  |     admin: admin.options.version && admin.options.version.admin ? adminVersion : undefined | ||
|  |   })); | ||
|  |   return store; | ||
|  | }; | ||
|  | 
 | ||
|  | exports.initializeStore = initializeStore; | ||
|  | var _default = initializeStore; | ||
|  | exports.default = _default; |