UNPKG

core-cde

Version:

162 lines 5.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataColumnSelect = exports.DataSelect = exports.Select = exports.ColorsSelect = void 0; const StateChanger_module_1 = require("../../stateChanger/StateChanger.module"); const Data_module_1 = require("../Data.module"); var ColorsSelect; (function (ColorsSelect) { ColorsSelect["Default"] = "rgba(206, 205, 202, 0.5)"; ColorsSelect["Gray"] = "rgba(155, 154, 151, 0.4)"; ColorsSelect["Brown"] = "rgba(140, 46, 0, 0.2)"; ColorsSelect["Orange"] = "rgba(245, 93, 0, 0.2)"; ColorsSelect["Yellow"] = "rgba(233, 168, 0, 0.2)"; ColorsSelect["Green"] = "rgba(0, 135, 107, 0.2)"; ColorsSelect["Blue"] = "rgba(0, 120, 223, 0.2)"; ColorsSelect["Purple"] = "rgba(103, 36, 222, 0.2)"; ColorsSelect["Pink"] = "rgba(103, 36, 222, 0.2)"; ColorsSelect["Red"] = "rgba(255, 0, 26, 0.2)"; })(ColorsSelect = exports.ColorsSelect || (exports.ColorsSelect = {})); /** * Описание Select */ class Select { constructor(name, color) { this.name = name; this.color = color; } } exports.Select = Select; /** * Данные Select */ class DataSelect { constructor(list) { this._selectList = []; if (list) { this._selectList = list; } } addSelect(val) { if (!val) return; if (val instanceof Select) { if (!this.findSelect(val.name)) { return this._selectList.push(val); } return -1; } return this._selectList.push(...val); } /** * Поиск селекта по названию * @param name Название селекта * @returns Селект */ findSelect(name) { return this._selectList.find(val => val.name === name); } removeSelect(name) { if (name instanceof Select) { name = name.name; } const index = this._selectList.findIndex(val => val.name === name); if (index < 0) { new StateChanger_module_1.ElementNotFoundError('removeSelect'); } if (!this._selectList.splice(index, 1)) { new StateChanger_module_1.ElementNotFoundError('removeSelect'); } } /** * Получить цвет по названию * @param name Название * @returns Цвет */ getColorLableByName(name) { var _a; if (!name) { return; } return ColorsSelect[(_a = this._selectList.find(val => val.name === name)) === null || _a === void 0 ? void 0 : _a.color]; } /** * Отфильтровать список по значению * @param val Значение * @returns list новый список */ filterList(val) { if (val === '' || val === null) { return this._selectList; } return this._selectList.filter(item => item.name.toLowerCase().indexOf(val.toLowerCase()) >= 0); } getList(val) { if (val) { return this.filterList(val); } return this._selectList; } /** * Получить select по названию * @param name Название * @returns Select */ getSelectByName(name) { return this._selectList.find(val => val.name === name); } static fromJSON(json) { return new DataSelect(JSON.parse(json)); } toJSON() { return JSON.stringify(this._selectList); } } exports.DataSelect = DataSelect; /** * Класс колонки данных Select */ // @dynamic class DataColumnSelect extends Data_module_1.DataColumn { /** Конструктор * Не предназначен для использования внешним кодом. * Следует использовать DataColumnSelect.createNew() */ constructor() { super(); this.dataSelect = new DataSelect(); } static createNew(name, dataType, listSelect) { const res = new DataColumnSelect(); res.dataSelect.addSelect(listSelect); res._dataType = dataType; res._name = name; return res; } static fromJSON(json) { if (typeof json === 'string') { return DataColumnSelect.fromJSON(JSON.parse(json)); } else { const dataColumn = new DataColumnSelect(); return Object.assign(dataColumn, null, { _name: json.name, _index: json.index, _dataType: json.dataType, _width: json.width, dataSelect: new DataSelect(JSON.parse(json.dataSelect || null)), id: json.id }); } } toJSON() { return Object.assign({}, null, { dataType: this._dataType, name: this._name, dataSelect: this.dataSelect, with: this._width, id: this.id }); } } exports.DataColumnSelect = DataColumnSelect; //# sourceMappingURL=DataColumnSelect.js.map