UNPKG

core-cde

Version:

113 lines 3.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PageItems = exports.Page = exports.Cover = void 0; const Uidv4_1 = require("./Uidv4"); const Errors_1 = require("./Errors"); const LinqList_1 = require("./LinqList"); const TypeComponent_1 = require("./TypeComponent"); /** * Класс обложки страницы */ class Cover { constructor(image) { this.image = image; } } exports.Cover = Cover; /** * Страница */ class Page { constructor(name = '', id = Uidv4_1.UUID.get(), widgets = new LinqList_1.LinkedListModified()) { this.name = name; this.id = id; this.widgets = widgets; this._active = false; if (!name || !id) { throw new Errors_1.EmptyParametersError('constructor Page()'); } } get cover() { return this._cover; } set cover(value) { this._cover = value; } get active() { return this._active; } set active(value) { this._active = value; } static fromJSON(json) { try { const pageJson = JSON.parse(json); const page = new Page(pageJson.name, pageJson.id); page.cover = pageJson.cover ? new Cover(pageJson.cover.image) : null; return page; } catch (error) { throw new Errors_1.JsonParseError('Heading widget'); } } toJSON() { return Object.assign({}, null, { id: this.id, name: this.name, cover: this.cover, }); } /** * Получить виджеты таблиц * @returns Виджет таблица */ getWidgetTables() { return this.widgets.toArray().filter(val => val.type === TypeComponent_1.TypeComponent.table); } /** * Получить DataTable на странице * @returns DataTable которые есть на странице */ getDataTables() { return this.widgets.toArray() .filter(val => { var _a; return val.type === TypeComponent_1.TypeComponent.table && ((_a = val) === null || _a === void 0 ? void 0 : _a.originalPerformance) === true; }) .map(val => val.viewTable.table); } /** * Получить все представления таблиц * @returns представления таблиц */ getDataViews() { return []; // return this.widgets.toArray() // .filter(val => (val as TableWidget).type === TypeComponent.table && !(val as TableWidget).originalPerformance) // .map(val => (val as TableWidget).viewTable); } /** * Удалить все DataTable которые на странице из DataSet */ removeDataTableFromDataSet(ds) { try { if (ds) { const dataTables = this.getDataTables(); if (dataTables) { for (const table of dataTables) { ds.removeTableByName(table.uniqueName); } } } } catch (error) { throw error; } } } exports.Page = Page; class PageItems extends Page { constructor() { super(...arguments); this.icon = null; } } exports.PageItems = PageItems; //# sourceMappingURL=Page.js.map