base-page
Version:
base for page level applications
71 lines (57 loc) • 1.97 kB
JavaScript
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;
;