UNPKG

ukelli-ui

Version:

[![Build Status](https://travis-ci.org/ukelli/ukelli-ui.svg?branch=master)](https://travis-ci.org/ukelli/ukelli-ui) [![install size](https://packagephobia.now.sh/badge?p=ukelli-ui)](https://packagephobia.now.sh/result?p=ukelli-ui)

108 lines (90 loc) 4.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultWindowManagerState = exports.windowManagerStore = exports.windowManagerActions = void 0; var _unistore = _interopRequireDefault(require("unistore")); var _basicHelper = require("basic-helper"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } var DefaultWindowManagerState = { minSecQueue: [], sectionsQueue: [], sectionsList: {} }; exports.DefaultWindowManagerState = DefaultWindowManagerState; var windowManagerStore = (0, _unistore.default)(DefaultWindowManagerState); exports.windowManagerStore = windowManagerStore; var windowManagerActions = function windowManagerActions(store) { return { closeWindow: function closeWindow(_ref, sectionId) { var sectionsList = _ref.sectionsList, sectionsQueue = _ref.sectionsQueue; var nextSectionList = sectionsList; var nextSectionQueue = (0, _basicHelper.RemoveArrayItem)(sectionsQueue, sectionId); delete nextSectionList[sectionId]; store.setState({ sectionsList: nextSectionList, sectionsQueue: nextSectionQueue }); }, openWindow: function openWindow(_ref2, modalConfig) { var sectionsList = _ref2.sectionsList, sectionsQueue = _ref2.sectionsQueue; var sectionId = modalConfig.id; var nextState = Object.assign({}, sectionsList); nextState[sectionId] = Object.assign({}, nextState[sectionId], modalConfig, { isMinimize: false }); store.setState({ sectionsList: nextState, sectionsQueue: [sectionId].concat(_toConsumableArray(sectionsQueue)) }); }, selectWindow: function selectWindow(_ref3, sectionId) { var sectionsQueue = _ref3.sectionsQueue, sectionsList = _ref3.sectionsList; var nextSectionQueue = sectionsQueue; var nextSectionList = sectionsList; var selectedCodeIdx = nextSectionQueue.indexOf(sectionId); nextSectionList[sectionId] = Object.assign({}, nextSectionList[sectionId], { isMinimize: false }); var selectedCode = nextSectionQueue.splice(selectedCodeIdx, 1); nextSectionQueue = selectedCode.concat(nextSectionQueue); store.setState({ sectionsList: nextSectionList, sectionsQueue: nextSectionQueue }); }, minimizeWindow: function minimizeWindow(_ref4, sectionId) { var minSecQueue = _ref4.minSecQueue, sectionsQueue = _ref4.sectionsQueue, sectionsList = _ref4.sectionsList; var nextSectionQueue = _toConsumableArray(sectionsQueue); var nextMinSecQueue = _toConsumableArray(minSecQueue); var nextSectionList = sectionsList; var displayingWindows = _toConsumableArray(nextSectionQueue); var miniArr = [sectionId].concat(nextMinSecQueue); nextSectionList[sectionId] = Object.assign({}, nextSectionList[sectionId], { isMinimize: true }); miniArr.forEach(function (minItem) { var currIdx = displayingWindows.indexOf(minItem); if (currIdx !== -1) displayingWindows.splice(currIdx, 1); }); if (displayingWindows.length !== 0) { this.selectWindow(displayingWindows[0]); } store.setState({ sectionsList: nextSectionList, sectionsQueue: nextSectionQueue, minSecQueue: nextMinSecQueue }); } }; }; exports.windowManagerActions = windowManagerActions;