@wcardinal/wcardinal-ui 0.368.0 → 0.370.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-list.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataOptions, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter } from \"./d-table-data-filter\";\nimport { DTableDataListFilter } from \"./d-table-data-list-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataListSelection } from \"./d-table-data-list-selection\";\nimport { DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataListSorter } from \"./d-table-data-list-sorter\";\nimport { isFunction } from \"./util/is-function\";\n\nexport interface DTableDataListOptions<ROW> extends DTableDataOptions<ROW> {\n\trows?: ROW[];\n}\n\nexport class DTableDataList<ROW> extends utils.EventEmitter implements DTableData<ROW> {\n\tprotected _parent: DTableDataParent | null;\n\tprotected _rows: ROW[];\n\tprotected _filter: DTableDataListFilter<ROW>;\n\tprotected _sorter: DTableDataListSorter<ROW>;\n\tprotected _selection: DTableDataSelection<ROW>;\n\tprotected _mapped: DTableDataMapped<ROW>;\n\n\tconstructor(options?: DTableDataListOptions<ROW>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._rows = this.toRows(options?.rows);\n\t\tthis._mapped = new DTableDataListMapped<ROW>(this);\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataListFilter<ROW>(this);\n\t\tthis._sorter = new DTableDataListSorter<ROW>(this);\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Comparator\n\t\t\tconst comparator = options.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tthis._sorter.set(comparator);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataSelection<ROW>\n\t\t\t| DTableDataSelectionCreator<ROW>\n\t\t\t| DTableDataSelectionOptions\n\t): DTableDataSelection<ROW> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(options?: DTableDataSelectionOptions): DTableDataSelection<ROW> {\n\t\treturn new DTableDataListSelection(this, options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tprotected toRows(row?: ROW[]): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tif (row != null) {\n\t\t\tfor (let i = 0, imax = row.length; i < imax; ++i) {\n\t\t\t\tresult.push(row[i]);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget rows(): ROW[] {\n\t\treturn this._rows;\n\t}\n\n\tupdate(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update();\n\t\t}\n\t}\n\n\tlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.lock();\n\t\t}\n\t}\n\n\tunlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.unlock(false);\n\t\t\tparent.update();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.length;\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.length) {\n\t\t\trows.length = 0;\n\t\t\tthis.lock();\n\t\t\tthis._selection.clear();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\tclearAndAdd(row: ROW): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\trows.push(row);\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.unlock();\n\t}\n\n\tclearAndAddAll(newRows: ROW[]): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\tfor (let i = 0, imax = newRows.length; i < imax; ++i) {\n\t\t\trows.push(newRows[i]);\n\t\t}\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.unlock();\n\t}\n\n\tadd(row: ROW, index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\trows.push(row);\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t} else if (0 <= index && index < rows.length) {\n\t\t\trows.splice(index, 0, row);\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, 1);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\taddAll(newRows: ROW[], index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst rowsLength = rows.length;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0, imax = newRowsLength; i < imax; ++i) {\n\t\t\t\trows.push(newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t} else if (0 <= index && index < rowsLength) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0; i < newRowsLength; ++i) {\n\t\t\t\trows.splice(index + i, 0, newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, newRowsLength);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tset(index: number, row: ROW): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows[index];\n\t\t\trows[index] = row;\n\t\t\tthis.lock();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.unlock();\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tremove(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows.splice(index, 1)[0];\n\t\t\tthis.lock();\n\t\t\tthis._selection.remove(index);\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.unlock();\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\teach(\n\t\titeratee: (row: ROW, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this._rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<ROW> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<ROW> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-list.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataOptions, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter } from \"./d-table-data-filter\";\nimport { DTableDataListFilter } from \"./d-table-data-list-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataListSelection } from \"./d-table-data-list-selection\";\nimport { DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataListSorter } from \"./d-table-data-list-sorter\";\nimport { isFunction } from \"./util/is-function\";\n\nexport interface DTableDataListOptions<ROW> extends DTableDataOptions<ROW> {\n\trows?: ROW[];\n}\n\nexport class DTableDataList<ROW> extends utils.EventEmitter implements DTableData<ROW> {\n\tprotected _parent: DTableDataParent | null;\n\tprotected _rows: ROW[];\n\tprotected _filter: DTableDataListFilter<ROW>;\n\tprotected _sorter: DTableDataListSorter<ROW>;\n\tprotected _selection: DTableDataSelection<ROW>;\n\tprotected _mapped: DTableDataMapped<ROW>;\n\n\tconstructor(options?: DTableDataListOptions<ROW>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._rows = this.toRows(options?.rows);\n\t\tthis._mapped = new DTableDataListMapped<ROW>(this);\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataListFilter<ROW>(this);\n\t\tthis._sorter = new DTableDataListSorter<ROW>(this);\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Comparator\n\t\t\tconst comparator = options.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tthis._sorter.set(comparator);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataSelection<ROW>\n\t\t\t| DTableDataSelectionCreator<ROW>\n\t\t\t| DTableDataSelectionOptions\n\t): DTableDataSelection<ROW> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(options?: DTableDataSelectionOptions): DTableDataSelection<ROW> {\n\t\treturn new DTableDataListSelection(this, options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tprotected toRows(row?: ROW[]): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tif (row != null) {\n\t\t\tfor (let i = 0, imax = row.length; i < imax; ++i) {\n\t\t\t\tresult.push(row[i]);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget rows(): ROW[] {\n\t\treturn this._rows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.lock();\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.unlock(callIfNeeded);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.length;\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.length) {\n\t\t\trows.length = 0;\n\t\t\tthis.lock();\n\t\t\tthis._selection.clear();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t}\n\t}\n\n\tclearAndAdd(row: ROW): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\trows.push(row);\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.update();\n\t\tthis.unlock(true);\n\t}\n\n\tclearAndAddAll(newRows: ROW[]): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\tfor (let i = 0, imax = newRows.length; i < imax; ++i) {\n\t\t\trows.push(newRows[i]);\n\t\t}\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.update();\n\t\tthis.unlock(true);\n\t}\n\n\tadd(row: ROW, index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\trows.push(row);\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t} else if (0 <= index && index < rows.length) {\n\t\t\trows.splice(index, 0, row);\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, 1);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t}\n\t}\n\n\taddAll(newRows: ROW[], index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst rowsLength = rows.length;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0, imax = newRowsLength; i < imax; ++i) {\n\t\t\t\trows.push(newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t} else if (0 <= index && index < rowsLength) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0; i < newRowsLength; ++i) {\n\t\t\t\trows.splice(index + i, 0, newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, newRowsLength);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t}\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tset(index: number, row: ROW): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows[index];\n\t\t\trows[index] = row;\n\t\t\tthis.lock();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tremove(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows.splice(index, 1)[0];\n\t\t\tthis.lock();\n\t\t\tthis._selection.remove(index);\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\teach(\n\t\titeratee: (row: ROW, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this._rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<ROW> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<ROW> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
@@ -156,6 +156,18 @@ var DTableDataTree = /** @class */ (function (_super) {
156
156
  parent.update(forcibly);
157
157
  }
158
158
  };
159
+ DTableDataTree.prototype.lock = function () {
160
+ var parent = this._parent;
161
+ if (parent) {
162
+ parent.lock();
163
+ }
164
+ };
165
+ DTableDataTree.prototype.unlock = function (callIfNeeded) {
166
+ var parent = this._parent;
167
+ if (parent) {
168
+ parent.unlock(callIfNeeded);
169
+ }
170
+ };
159
171
  DTableDataTree.prototype.size = function () {
160
172
  return this.rows.length;
161
173
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport {\n\tDTableData,\n\tDTableDataMapped,\n\tDTableDataParent,\n\tDTableDataSupplimental\n} from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorHasChildren,\n\tDTableDataTreeItemAccessorOptions,\n\tDTableDataTreeItemAccessorToChildren\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: DTableDataSupplimental[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): DTableDataSupplimental[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\taccessor.toChildren,\n\t\t\t\taccessor.hasChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(\n\t\tilevel: number,\n\t\thasChildren: boolean,\n\t\tisOpened: boolean\n\t): DTableDataSupplimental {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: DTableDataSupplimental[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: DTableDataTreeItemAccessorToChildren<NODE>,\n\t\thasChildren: DTableDataTreeItemAccessorHasChildren<NODE>\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(ilevel, hasChildren(node, children), isOpened);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren,\n\t\t\t\t\thasChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport {\n\tDTableData,\n\tDTableDataMapped,\n\tDTableDataParent,\n\tDTableDataSupplimental\n} from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorHasChildren,\n\tDTableDataTreeItemAccessorOptions,\n\tDTableDataTreeItemAccessorToChildren\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: DTableDataSupplimental[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): DTableDataSupplimental[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\taccessor.toChildren,\n\t\t\t\taccessor.hasChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(\n\t\tilevel: number,\n\t\thasChildren: boolean,\n\t\tisOpened: boolean\n\t): DTableDataSupplimental {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: DTableDataSupplimental[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: DTableDataTreeItemAccessorToChildren<NODE>,\n\t\thasChildren: DTableDataTreeItemAccessorHasChildren<NODE>\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(ilevel, hasChildren(node, children), isOpened);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren,\n\t\t\t\t\thasChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.lock();\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.unlock(callIfNeeded);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataSupplimental = number;\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: DTableDataSupplimental | null,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\tbind(parent: DTableDataParent): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
1
+ {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataSupplimental = number;\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: DTableDataSupplimental | null,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\t/** A list of rows. */\n\treadonly rows: ROW[];\n\n\tbind(parent: DTableDataParent): void;\n\n\tupdate(forcibly?: boolean): void;\n\n\tlock(): void;\n\n\tunlock(callIfNeeded: boolean): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
@@ -19,12 +19,16 @@ export var UtilAttachAlign = {
19
19
  BOTTOM_LEFT: 13,
20
20
  BOTTOM_CENTER: 14,
21
21
  BOTTOM_RIGHT: 15,
22
- OVER: 16
22
+ OVER: 16,
23
+ NONE: 17
23
24
  };
24
25
  var UtilAttach = /** @class */ (function () {
25
26
  function UtilAttach() {
26
27
  }
27
28
  UtilAttach.attach = function (target, bounds, offsetX, offsetY, clippingWidth, clippingHeight, align) {
29
+ if (align === UtilAttachAlign.NONE) {
30
+ return;
31
+ }
28
32
  var width = target.width;
29
33
  var height = target.height;
30
34
  var x = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"util-attach.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-attach.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, Rectangle } from \"pixi.js\";\n\nexport interface UtilAttachTarget {\n\treadonly width: number;\n\treadonly height: number;\n\treadonly position: IPoint;\n}\n\nexport const UtilAttachAlign = {\n\tTOP: 0,\n\tTOP_LEFT: 1,\n\tTOP_CENTER: 2,\n\tTOP_RIGHT: 3,\n\n\tLEFT: 4,\n\tLEFT_TOP: 5,\n\tLEFT_MIDDLE: 6,\n\tLEFT_BOTTOM: 7,\n\n\tRIGHT: 8,\n\tRIGHT_TOP: 9,\n\tRIGHT_MIDDLE: 10,\n\tRIGHT_BOTTOM: 11,\n\n\tBOTTOM: 12,\n\tBOTTOM_LEFT: 13,\n\tBOTTOM_CENTER: 14,\n\tBOTTOM_RIGHT: 15,\n\n\tOVER: 16\n} as const;\n\nexport type UtilAttachAlign = typeof UtilAttachAlign[keyof typeof UtilAttachAlign];\n\nexport class UtilAttach {\n\tstatic attach(\n\t\ttarget: UtilAttachTarget,\n\t\tbounds: Rectangle,\n\t\toffsetX: number,\n\t\toffsetY: number,\n\t\tclippingWidth: number,\n\t\tclippingHeight: number,\n\t\talign: UtilAttachAlign\n\t): void {\n\t\tconst width = target.width;\n\t\tconst height = target.height;\n\n\t\tlet x = 0;\n\t\tswitch (align) {\n\t\t\tcase UtilAttachAlign.LEFT:\n\t\t\tcase UtilAttachAlign.LEFT_TOP:\n\t\t\tcase UtilAttachAlign.LEFT_MIDDLE:\n\t\t\tcase UtilAttachAlign.LEFT_BOTTOM:\n\t\t\t\tx = bounds.left - width - offsetX;\n\t\t\t\tif (x < offsetX) {\n\t\t\t\t\tx = bounds.right + offsetX;\n\t\t\t\t\tif (clippingWidth - offsetX < x + width) {\n\t\t\t\t\t\tx = offsetX;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.RIGHT:\n\t\t\tcase UtilAttachAlign.RIGHT_TOP:\n\t\t\tcase UtilAttachAlign.RIGHT_MIDDLE:\n\t\t\tcase UtilAttachAlign.RIGHT_BOTTOM:\n\t\t\t\tx = bounds.right + offsetX;\n\t\t\t\tif (clippingWidth - offsetX < x + width) {\n\t\t\t\t\tx = bounds.left - width - offsetX;\n\t\t\t\t\tif (x < offsetX) {\n\t\t\t\t\t\tx = clippingWidth - width - offsetX;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP:\n\t\t\tcase UtilAttachAlign.TOP_LEFT:\n\t\t\tcase UtilAttachAlign.BOTTOM:\n\t\t\tcase UtilAttachAlign.BOTTOM_LEFT:\n\t\t\t\tx = this.adjust(bounds.left, width, offsetX, clippingWidth);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP_RIGHT:\n\t\t\tcase UtilAttachAlign.BOTTOM_RIGHT:\n\t\t\t\tx = this.adjust(bounds.right - width, width, offsetX, clippingWidth);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP_CENTER:\n\t\t\tcase UtilAttachAlign.BOTTOM_CENTER:\n\t\t\tcase UtilAttachAlign.OVER:\n\t\t\t\tx = this.adjust(\n\t\t\t\t\t(bounds.left + bounds.right - width) * 0.5,\n\t\t\t\t\twidth,\n\t\t\t\t\toffsetX,\n\t\t\t\t\tclippingWidth\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tlet y = 0;\n\t\tswitch (align) {\n\t\t\tcase UtilAttachAlign.LEFT:\n\t\t\tcase UtilAttachAlign.LEFT_TOP:\n\t\t\tcase UtilAttachAlign.RIGHT:\n\t\t\tcase UtilAttachAlign.RIGHT_TOP:\n\t\t\t\ty = this.adjust(bounds.top, height, offsetY, clippingHeight);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.LEFT_MIDDLE:\n\t\t\tcase UtilAttachAlign.RIGHT_MIDDLE:\n\t\t\tcase UtilAttachAlign.OVER:\n\t\t\t\ty = this.adjust(\n\t\t\t\t\t(bounds.top + bounds.bottom - height) * 0.5,\n\t\t\t\t\theight,\n\t\t\t\t\toffsetY,\n\t\t\t\t\tclippingHeight\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.LEFT_BOTTOM:\n\t\t\tcase UtilAttachAlign.RIGHT_BOTTOM:\n\t\t\t\ty = this.adjust(bounds.bottom, height, offsetY, clippingHeight);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP:\n\t\t\tcase UtilAttachAlign.TOP_LEFT:\n\t\t\tcase UtilAttachAlign.TOP_RIGHT:\n\t\t\tcase UtilAttachAlign.TOP_CENTER:\n\t\t\t\ty = bounds.top - height - offsetY;\n\t\t\t\tif (y < offsetY) {\n\t\t\t\t\ty = bounds.bottom + offsetY;\n\t\t\t\t\tif (clippingHeight < y + height) {\n\t\t\t\t\t\ty = offsetY;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.BOTTOM:\n\t\t\tcase UtilAttachAlign.BOTTOM_LEFT:\n\t\t\tcase UtilAttachAlign.BOTTOM_RIGHT:\n\t\t\tcase UtilAttachAlign.BOTTOM_CENTER:\n\t\t\t\ty = bounds.bottom + offsetY;\n\t\t\t\tif (clippingHeight - offsetY < y + height) {\n\t\t\t\t\ty = bounds.top - height - offsetY;\n\t\t\t\t\tif (y < offsetY) {\n\t\t\t\t\t\ty = clippingHeight - height - offsetY;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\ttarget.position.set(x, y);\n\t}\n\n\tstatic adjust(position: number, size: number, offset: number, clippingSize: number): number {\n\t\tif (position < offset) {\n\t\t\tif (clippingSize - offset < position + size) {\n\t\t\t\treturn (clippingSize - size) * 0.5;\n\t\t\t} else {\n\t\t\t\treturn offset;\n\t\t\t}\n\t\t} else if (clippingSize - offset < position + size) {\n\t\t\tif (clippingSize < size) {\n\t\t\t\treturn (clippingSize - size) * 0.5;\n\t\t\t} else {\n\t\t\t\treturn clippingSize - size - offset;\n\t\t\t}\n\t\t}\n\t\treturn position;\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-attach.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-attach.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, Rectangle } from \"pixi.js\";\n\nexport interface UtilAttachTarget {\n\treadonly width: number;\n\treadonly height: number;\n\treadonly position: IPoint;\n}\n\nexport const UtilAttachAlign = {\n\tTOP: 0,\n\tTOP_LEFT: 1,\n\tTOP_CENTER: 2,\n\tTOP_RIGHT: 3,\n\n\tLEFT: 4,\n\tLEFT_TOP: 5,\n\tLEFT_MIDDLE: 6,\n\tLEFT_BOTTOM: 7,\n\n\tRIGHT: 8,\n\tRIGHT_TOP: 9,\n\tRIGHT_MIDDLE: 10,\n\tRIGHT_BOTTOM: 11,\n\n\tBOTTOM: 12,\n\tBOTTOM_LEFT: 13,\n\tBOTTOM_CENTER: 14,\n\tBOTTOM_RIGHT: 15,\n\n\tOVER: 16,\n\n\tNONE: 17\n} as const;\n\nexport type UtilAttachAlign = typeof UtilAttachAlign[keyof typeof UtilAttachAlign];\n\nexport class UtilAttach {\n\tstatic attach(\n\t\ttarget: UtilAttachTarget,\n\t\tbounds: Rectangle,\n\t\toffsetX: number,\n\t\toffsetY: number,\n\t\tclippingWidth: number,\n\t\tclippingHeight: number,\n\t\talign: UtilAttachAlign\n\t): void {\n\t\tif (align === UtilAttachAlign.NONE) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst width = target.width;\n\t\tconst height = target.height;\n\n\t\tlet x = 0;\n\t\tswitch (align) {\n\t\t\tcase UtilAttachAlign.LEFT:\n\t\t\tcase UtilAttachAlign.LEFT_TOP:\n\t\t\tcase UtilAttachAlign.LEFT_MIDDLE:\n\t\t\tcase UtilAttachAlign.LEFT_BOTTOM:\n\t\t\t\tx = bounds.left - width - offsetX;\n\t\t\t\tif (x < offsetX) {\n\t\t\t\t\tx = bounds.right + offsetX;\n\t\t\t\t\tif (clippingWidth - offsetX < x + width) {\n\t\t\t\t\t\tx = offsetX;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.RIGHT:\n\t\t\tcase UtilAttachAlign.RIGHT_TOP:\n\t\t\tcase UtilAttachAlign.RIGHT_MIDDLE:\n\t\t\tcase UtilAttachAlign.RIGHT_BOTTOM:\n\t\t\t\tx = bounds.right + offsetX;\n\t\t\t\tif (clippingWidth - offsetX < x + width) {\n\t\t\t\t\tx = bounds.left - width - offsetX;\n\t\t\t\t\tif (x < offsetX) {\n\t\t\t\t\t\tx = clippingWidth - width - offsetX;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP:\n\t\t\tcase UtilAttachAlign.TOP_LEFT:\n\t\t\tcase UtilAttachAlign.BOTTOM:\n\t\t\tcase UtilAttachAlign.BOTTOM_LEFT:\n\t\t\t\tx = this.adjust(bounds.left, width, offsetX, clippingWidth);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP_RIGHT:\n\t\t\tcase UtilAttachAlign.BOTTOM_RIGHT:\n\t\t\t\tx = this.adjust(bounds.right - width, width, offsetX, clippingWidth);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP_CENTER:\n\t\t\tcase UtilAttachAlign.BOTTOM_CENTER:\n\t\t\tcase UtilAttachAlign.OVER:\n\t\t\t\tx = this.adjust(\n\t\t\t\t\t(bounds.left + bounds.right - width) * 0.5,\n\t\t\t\t\twidth,\n\t\t\t\t\toffsetX,\n\t\t\t\t\tclippingWidth\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tlet y = 0;\n\t\tswitch (align) {\n\t\t\tcase UtilAttachAlign.LEFT:\n\t\t\tcase UtilAttachAlign.LEFT_TOP:\n\t\t\tcase UtilAttachAlign.RIGHT:\n\t\t\tcase UtilAttachAlign.RIGHT_TOP:\n\t\t\t\ty = this.adjust(bounds.top, height, offsetY, clippingHeight);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.LEFT_MIDDLE:\n\t\t\tcase UtilAttachAlign.RIGHT_MIDDLE:\n\t\t\tcase UtilAttachAlign.OVER:\n\t\t\t\ty = this.adjust(\n\t\t\t\t\t(bounds.top + bounds.bottom - height) * 0.5,\n\t\t\t\t\theight,\n\t\t\t\t\toffsetY,\n\t\t\t\t\tclippingHeight\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.LEFT_BOTTOM:\n\t\t\tcase UtilAttachAlign.RIGHT_BOTTOM:\n\t\t\t\ty = this.adjust(bounds.bottom, height, offsetY, clippingHeight);\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.TOP:\n\t\t\tcase UtilAttachAlign.TOP_LEFT:\n\t\t\tcase UtilAttachAlign.TOP_RIGHT:\n\t\t\tcase UtilAttachAlign.TOP_CENTER:\n\t\t\t\ty = bounds.top - height - offsetY;\n\t\t\t\tif (y < offsetY) {\n\t\t\t\t\ty = bounds.bottom + offsetY;\n\t\t\t\t\tif (clippingHeight < y + height) {\n\t\t\t\t\t\ty = offsetY;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase UtilAttachAlign.BOTTOM:\n\t\t\tcase UtilAttachAlign.BOTTOM_LEFT:\n\t\t\tcase UtilAttachAlign.BOTTOM_RIGHT:\n\t\t\tcase UtilAttachAlign.BOTTOM_CENTER:\n\t\t\t\ty = bounds.bottom + offsetY;\n\t\t\t\tif (clippingHeight - offsetY < y + height) {\n\t\t\t\t\ty = bounds.top - height - offsetY;\n\t\t\t\t\tif (y < offsetY) {\n\t\t\t\t\t\ty = clippingHeight - height - offsetY;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\n\t\ttarget.position.set(x, y);\n\t}\n\n\tstatic adjust(position: number, size: number, offset: number, clippingSize: number): number {\n\t\tif (position < offset) {\n\t\t\tif (clippingSize - offset < position + size) {\n\t\t\t\treturn (clippingSize - size) * 0.5;\n\t\t\t} else {\n\t\t\t\treturn offset;\n\t\t\t}\n\t\t} else if (clippingSize - offset < position + size) {\n\t\t\tif (clippingSize < size) {\n\t\t\t\treturn (clippingSize - size) * 0.5;\n\t\t\t} else {\n\t\t\t\treturn clippingSize - size - offset;\n\t\t\t}\n\t\t}\n\t\treturn position;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.368.0
2
+ Winter Cardinal UI v0.370.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.368.0
2
+ Winter Cardinal UI v0.370.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.368.0
2
+ Winter Cardinal UI v0.370.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.368.0
2
+ Winter Cardinal UI v0.370.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.368.0
2
+ Winter Cardinal UI v0.370.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -25935,12 +25935,16 @@ var UtilAttachAlign = {
25935
25935
  BOTTOM_LEFT: 13,
25936
25936
  BOTTOM_CENTER: 14,
25937
25937
  BOTTOM_RIGHT: 15,
25938
- OVER: 16
25938
+ OVER: 16,
25939
+ NONE: 17
25939
25940
  };
25940
25941
  var UtilAttach = /** @class */ (function () {
25941
25942
  function UtilAttach() {
25942
25943
  }
25943
25944
  UtilAttach.attach = function (target, bounds, offsetX, offsetY, clippingWidth, clippingHeight, align) {
25945
+ if (align === UtilAttachAlign.NONE) {
25946
+ return;
25947
+ }
25944
25948
  var width = target.width;
25945
25949
  var height = target.height;
25946
25950
  var x = 0;
@@ -26556,6 +26560,9 @@ var DDialog = /** @class */ (function (_super) {
26556
26560
  return;
26557
26561
  }
26558
26562
  var align = this._align;
26563
+ if (align === UtilAttachAlign.NONE) {
26564
+ return;
26565
+ }
26559
26566
  var opener = this._opener;
26560
26567
  if (align != null && opener != null) {
26561
26568
  var mode = this._mode;
@@ -67617,6 +67624,8 @@ var DApplicationLayerOptions = /** @class */ (function () {
67617
67624
  width = bbox.width;
67618
67625
  height = bbox.height;
67619
67626
  }
67627
+ this._isWidthFixed = options.width != null;
67628
+ this._isHeightFixed = options.height != null;
67620
67629
  // Background color
67621
67630
  var background = options === null || options === void 0 ? void 0 : options.background;
67622
67631
  var backgroundColor = 0;
@@ -67685,6 +67694,23 @@ var DApplicationLayerOptions = /** @class */ (function () {
67685
67694
  this._pixi.width = width;
67686
67695
  return this;
67687
67696
  };
67697
+ /**
67698
+ * Returns true if the width is fixed.
67699
+ *
67700
+ * @returns true if the width is fixed.
67701
+ */
67702
+ DApplicationLayerOptions.prototype.isWidthFixed = function () {
67703
+ return this._isWidthFixed;
67704
+ };
67705
+ /**
67706
+ * Makes the canvas width fixed.
67707
+ *
67708
+ * @param fixed true to make the canvas width fixed
67709
+ */
67710
+ DApplicationLayerOptions.prototype.setWidthFixed = function (fixed) {
67711
+ this._isWidthFixed = fixed;
67712
+ return this;
67713
+ };
67688
67714
  /**
67689
67715
  * Returns a canvas height.
67690
67716
  */
@@ -67700,6 +67726,23 @@ var DApplicationLayerOptions = /** @class */ (function () {
67700
67726
  this._pixi.height = height;
67701
67727
  return this;
67702
67728
  };
67729
+ /**
67730
+ * Returns true if the height is fixed.
67731
+ *
67732
+ * @returns true if the height is fixed.
67733
+ */
67734
+ DApplicationLayerOptions.prototype.isHeightFixed = function () {
67735
+ return this._isHeightFixed;
67736
+ };
67737
+ /**
67738
+ * Makes the canvas height fixed.
67739
+ *
67740
+ * @param fixed true to make the canvas height fixed
67741
+ */
67742
+ DApplicationLayerOptions.prototype.setHeightFixed = function (fixed) {
67743
+ this._isHeightFixed = fixed;
67744
+ return this;
67745
+ };
67703
67746
  /**
67704
67747
  * Returns padding sizes.
67705
67748
  * The default padding size is 6.
@@ -68221,23 +68264,34 @@ var DApplicationLayer = /** @class */ (function (_super) {
68221
68264
  };
68222
68265
  DApplicationLayer.prototype.initResizeHandling = function () {
68223
68266
  var _this = this;
68224
- var onResizeBound = function () {
68225
- _this.onResize();
68226
- };
68227
- window.addEventListener("resize", onResizeBound);
68228
- window.addEventListener("orientationchange", onResizeBound);
68267
+ var options = this._options;
68268
+ var isWidthFixed = options.isWidthFixed();
68269
+ var isHeightFixed = options.isHeightFixed();
68270
+ if (!isWidthFixed || !isHeightFixed) {
68271
+ var onResizeBound = function () {
68272
+ _this.onResize();
68273
+ };
68274
+ if (window.ResizeObserver != null) {
68275
+ new ResizeObserver(onResizeBound).observe(this._rootElement);
68276
+ }
68277
+ else {
68278
+ window.addEventListener("resize", onResizeBound);
68279
+ window.addEventListener("orientationchange", onResizeBound);
68280
+ }
68281
+ }
68229
68282
  };
68230
68283
  DApplicationLayer.prototype.onResize = function () {
68284
+ var options = this._options;
68231
68285
  var bbox = this._rootElement.getBoundingClientRect();
68232
- var bboxWidth = bbox.width;
68233
- var bboxHeight = bbox.height;
68234
- this.renderer.resize(bboxWidth, bboxHeight);
68286
+ var newWidth = options.isWidthFixed() ? options.getWidth() : bbox.width;
68287
+ var newHeight = options.isHeightFixed() ? options.getHeight() : bbox.height;
68288
+ this.renderer.resize(newWidth, newHeight);
68235
68289
  var padding = this._padding;
68236
68290
  var children = this.stage.children;
68237
68291
  for (var i = 0, imax = children.length; i < imax; ++i) {
68238
68292
  var child = children[i];
68239
68293
  if (child instanceof DBase) {
68240
- child.onParentResize(bboxWidth, bboxHeight, padding);
68294
+ child.onParentResize(newWidth, newHeight, padding);
68241
68295
  }
68242
68296
  }
68243
68297
  this.update();
@@ -90161,10 +90215,10 @@ var DTableDataList = /** @class */ (function (_super) {
90161
90215
  enumerable: false,
90162
90216
  configurable: true
90163
90217
  });
90164
- DTableDataList.prototype.update = function () {
90218
+ DTableDataList.prototype.update = function (forcibly) {
90165
90219
  var parent = this._parent;
90166
90220
  if (parent) {
90167
- parent.update();
90221
+ parent.update(forcibly);
90168
90222
  }
90169
90223
  };
90170
90224
  DTableDataList.prototype.lock = function () {
@@ -90173,11 +90227,10 @@ var DTableDataList = /** @class */ (function (_super) {
90173
90227
  parent.lock();
90174
90228
  }
90175
90229
  };
90176
- DTableDataList.prototype.unlock = function () {
90230
+ DTableDataList.prototype.unlock = function (callIfNeeded) {
90177
90231
  var parent = this._parent;
90178
90232
  if (parent) {
90179
- parent.unlock(false);
90180
- parent.update();
90233
+ parent.unlock(callIfNeeded);
90181
90234
  }
90182
90235
  };
90183
90236
  DTableDataList.prototype.size = function () {
@@ -90191,7 +90244,8 @@ var DTableDataList = /** @class */ (function (_super) {
90191
90244
  this._selection.clear();
90192
90245
  this._sorter.toDirty();
90193
90246
  this._filter.toDirty();
90194
- this.unlock();
90247
+ this.update();
90248
+ this.unlock(true);
90195
90249
  }
90196
90250
  };
90197
90251
  DTableDataList.prototype.clearAndAdd = function (row) {
@@ -90202,7 +90256,8 @@ var DTableDataList = /** @class */ (function (_super) {
90202
90256
  this._selection.clear();
90203
90257
  this._sorter.toDirty();
90204
90258
  this._filter.toDirty();
90205
- this.unlock();
90259
+ this.update();
90260
+ this.unlock(true);
90206
90261
  };
90207
90262
  DTableDataList.prototype.clearAndAddAll = function (newRows) {
90208
90263
  var rows = this._rows;
@@ -90214,7 +90269,8 @@ var DTableDataList = /** @class */ (function (_super) {
90214
90269
  this._selection.clear();
90215
90270
  this._sorter.toDirty();
90216
90271
  this._filter.toDirty();
90217
- this.unlock();
90272
+ this.update();
90273
+ this.unlock(true);
90218
90274
  };
90219
90275
  DTableDataList.prototype.add = function (row, index) {
90220
90276
  var rows = this._rows;
@@ -90226,7 +90282,8 @@ var DTableDataList = /** @class */ (function (_super) {
90226
90282
  this.lock();
90227
90283
  sorter.toDirty();
90228
90284
  filter.toDirty();
90229
- this.unlock();
90285
+ this.update();
90286
+ this.unlock(true);
90230
90287
  }
90231
90288
  else if (0 <= index && index < rows.length) {
90232
90289
  rows.splice(index, 0, row);
@@ -90234,7 +90291,8 @@ var DTableDataList = /** @class */ (function (_super) {
90234
90291
  selection.shift(index, 1);
90235
90292
  sorter.toDirty();
90236
90293
  filter.toDirty();
90237
- this.unlock();
90294
+ this.update();
90295
+ this.unlock(true);
90238
90296
  }
90239
90297
  };
90240
90298
  DTableDataList.prototype.addAll = function (newRows, index) {
@@ -90251,7 +90309,8 @@ var DTableDataList = /** @class */ (function (_super) {
90251
90309
  this.lock();
90252
90310
  sorter.toDirty();
90253
90311
  filter.toDirty();
90254
- this.unlock();
90312
+ this.update();
90313
+ this.unlock(true);
90255
90314
  }
90256
90315
  else if (0 <= index && index < rowsLength) {
90257
90316
  var newRowsLength = newRows.length;
@@ -90262,7 +90321,8 @@ var DTableDataList = /** @class */ (function (_super) {
90262
90321
  selection.shift(index, newRowsLength);
90263
90322
  sorter.toDirty();
90264
90323
  filter.toDirty();
90265
- this.unlock();
90324
+ this.update();
90325
+ this.unlock(true);
90266
90326
  }
90267
90327
  };
90268
90328
  DTableDataList.prototype.get = function (index) {
@@ -90280,7 +90340,8 @@ var DTableDataList = /** @class */ (function (_super) {
90280
90340
  this.lock();
90281
90341
  this._sorter.toDirty();
90282
90342
  this._filter.toDirty();
90283
- this.unlock();
90343
+ this.update();
90344
+ this.unlock(true);
90284
90345
  return result;
90285
90346
  }
90286
90347
  return null;
@@ -90293,7 +90354,8 @@ var DTableDataList = /** @class */ (function (_super) {
90293
90354
  this._selection.remove(index);
90294
90355
  this._sorter.toDirty();
90295
90356
  this._filter.toDirty();
90296
- this.unlock();
90357
+ this.update();
90358
+ this.unlock(true);
90297
90359
  return result;
90298
90360
  }
90299
90361
  return null;
@@ -91631,6 +91693,18 @@ var DTableDataTree = /** @class */ (function (_super) {
91631
91693
  parent.update(forcibly);
91632
91694
  }
91633
91695
  };
91696
+ DTableDataTree.prototype.lock = function () {
91697
+ var parent = this._parent;
91698
+ if (parent) {
91699
+ parent.lock();
91700
+ }
91701
+ };
91702
+ DTableDataTree.prototype.unlock = function (callIfNeeded) {
91703
+ var parent = this._parent;
91704
+ if (parent) {
91705
+ parent.unlock(callIfNeeded);
91706
+ }
91707
+ };
91634
91708
  DTableDataTree.prototype.size = function () {
91635
91709
  return this.rows.length;
91636
91710
  };