UNPKG

armisa-models

Version:
112 lines (111 loc) 5.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Dataing = exports.Data = void 0; const FinancialPeriods_1 = require("./FinancialPeriods"); const TabData_1 = require("./Page/Tab/TabData"); class Data { constructor(mainStateManager, id, isActive, name, caption, owner) { this.mainStateManager = mainStateManager; this.id = id; this.isActive = isActive; this.name = name; this.caption = caption; this.owner = owner; this.financialPeriods = []; } } exports.Data = Data; class Dataing { constructor(mainStateManager) { this.mainStateManager = mainStateManager; this.waitForChangeData = false; this.changeToSelectedDataAndFinancialPeriod = () => { if (this.waitForBeingActiveData && this.waitForBeingActiveFinancialPeriod) { this.waitForChangeData = true; this.pageData.Eventing.trigger('form.waitLoading'); // this.mainStateManager.Usering.LoginFactory.startToChangeDataBase(this.waitForBeingActiveData.id, this.waitForBeingActiveFinancialPeriod.id, true); } }; this.closeSelectModel = () => { }; // selectActiveData = () => { // if (this.mainStateManager.Tabing.tabs.length === 0 && this.mainStateManager.Modaling.modals.length === 0) { // this.mainStateManager.Modaling.addModalPage('select-active-data', 40, 80); // } // } this.goToNextRow = () => { const lengths = this.datas.length - 1; const focusIndex = this.datas.findIndex(i => i === this.waitForBeingActiveData); if (focusIndex > -1 && focusIndex + 1 <= lengths) { this.waitForBeingActiveData = this.datas[focusIndex + 1]; } else { this.waitForBeingActiveData = this.datas[0]; } this.pageData.Eventing.trigger('form.change'); }; this.goToPreviousRow = () => { const lengths = this.datas.length - 1; const focusIndex = this.datas.findIndex(i => i === this.waitForBeingActiveData); if (focusIndex && focusIndex > 0) { this.waitForBeingActiveData = this.datas[focusIndex - 1]; } else { this.waitForBeingActiveData = this.datas[lengths]; } this.pageData.Eventing.trigger('form.change'); }; this.goToNextFinancePeriod = () => { if (this.waitForBeingActiveData && this.waitForBeingActiveData.financialPeriods && this.waitForBeingActiveData.financialPeriods.length) { const lengths = this.waitForBeingActiveData.financialPeriods.length - 1; const focusIndex = this.waitForBeingActiveData.financialPeriods.findIndex(i => i === this.waitForBeingActiveFinancialPeriod); if (focusIndex > -1 && focusIndex + 1 <= lengths) { this.waitForBeingActiveFinancialPeriod = this.waitForBeingActiveData.financialPeriods[focusIndex + 1]; } else { this.waitForBeingActiveFinancialPeriod = this.waitForBeingActiveData.financialPeriods[0]; } this.pageData.Eventing.trigger('form.change'); } }; this.goToPreviousPeriod = () => { if (this.waitForBeingActiveData && this.waitForBeingActiveData.financialPeriods && this.waitForBeingActiveData.financialPeriods.length) { const lengths = this.waitForBeingActiveData.financialPeriods.length - 1; const focusIndex = this.waitForBeingActiveData.financialPeriods.findIndex(i => i === this.waitForBeingActiveFinancialPeriod); if (focusIndex && focusIndex > 0) { this.waitForBeingActiveFinancialPeriod = this.waitForBeingActiveData.financialPeriods[focusIndex - 1]; } else { this.waitForBeingActiveFinancialPeriod = this.waitForBeingActiveData.financialPeriods[lengths]; } this.pageData.Eventing.trigger('form.change'); } }; this.initializeListenersInSelectMode = undefined; this.datas = []; this.pageData = new TabData_1.TabPageData(this.mainStateManager); this.initializeStatusBar = false; this.deserialize = (json) => { if (json && json.length) { let isAnyActive = false; this.datas = json.map((data, index) => { const newData = new Data(this.mainStateManager, data.id, data.isActive, data.name, data.caption, data.owner); newData.financialPeriods = FinancialPeriods_1.FinancialPeriod.deserialize(data.financialPeriods); if (newData.isActive) { isAnyActive = true; this.activeData = newData; } if (!isAnyActive && index === json.length - 1) { newData.isActive = true; this.activeData = newData; } if (this.activeData) { this.activeFinancialPeriod = this.activeData.financialPeriods.find(financialPeriod => financialPeriod.isActive); } return newData; }); } }; } } exports.Dataing = Dataing;