UNPKG

base-page

Version:

base for page level applications

71 lines (57 loc) 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _ajax = require("@nui/ajax/ajax"); var _ajax2 = _interopRequireDefault(_ajax); var _assign = require("@nui/util/object/assign"); var _assign2 = _interopRequireDefault(_assign); var _flux = require("@nui/flux"); var _flux2 = _interopRequireDefault(_flux); var _logger = require("@nui/logger"); var _logger2 = _interopRequireDefault(_logger); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // modalStore - handles modal state data var modalStore = _flux2.default.createStore({ getDefaultData: function getDefaultData() { return { modalData: {}, isModalOpen: false }; }, setData: function setData(data) { (0, _assign2.default)(this.data, data); return this.emitChange(); }, onCloseModal: function onCloseModal() { this.setData({ isModalOpen: false }); }, onOpenModal: function onOpenModal() { this.setData({ isModalOpen: true }); }, onOpenContentModal: function onOpenContentModal(payload) { var _this = this; var rawUrl = payload.url; var url = "/modal" + (rawUrl.charAt(0) === "/" ? rawUrl : "/" + rawUrl); // Fetch modal content api data via /modal/ route (MCP returns JSON for /modal/ routes). (0, _ajax2.default)(url).success(function (response) { _this.setData({ modalData: response, isModalOpen: true }); }).error(function (error) { if (_logger2.default) { _logger2.default.error({ component: "modalStore", message: "Error fetching modal content", methodName: "onOpenContentModal" }, error); } }); } }); exports.default = modalStore;