@wcardinal/wcardinal-ui 0.396.0 → 0.397.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.
- package/dist/types/wcardinal/ui/d-base.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-button-base.d.ts +8 -8
- package/dist/types/wcardinal/ui/d-button-color-gradient.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-color.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-date.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-datetime.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-file.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-link.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-button-redo.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-select.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-time.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-button-undo.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-canvas-container.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-chart-plot-area-impl.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +5 -5
- package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +0 -1
- package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +13 -13
- package/dist/types/wcardinal/ui/d-diagram.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-dropdown-base.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-expandable-header.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-html-element.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-link.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-list-item.d.ts +4 -4
- package/dist/types/wcardinal/ui/d-menu-bar-item.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-menu-item-base.d.ts +4 -4
- package/dist/types/wcardinal/ui/d-menu-item-check.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-menu-item-link.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-menu-item-menu.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-pane.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-picker-color-gradient-view.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-picker-color-gradient.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-picker-color.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-scroll-bar-horizontal.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-scroll-bar-vertical.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-shadow.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-slider.d.ts +1 -3
- package/dist/types/wcardinal/ui/d-table-body-cell-button.d.ts +5 -5
- package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-table-body-cell-link.d.ts +3 -3
- package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +4 -4
- package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -3
- package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-table.d.ts +1 -2
- package/dist/types/wcardinal/ui/d-tree-item-button.d.ts +5 -5
- package/dist/types/wcardinal/ui/d-tree-item-non-editable.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-tree-item-text.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-view-impl.d.ts +5 -5
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-base.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.d.ts +1 -2
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/e-shape-runtime-impl.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/e-shape-runtime.d.ts +1 -3
- package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime.d.ts +2 -2
- package/dist/types/wcardinal/ui/util/util-click-outside.d.ts +1 -2
- package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -3
- package/dist/types/wcardinal/ui/util/util-gesture-modifiers.d.ts +2 -2
- package/dist/types/wcardinal/ui/util/util-gesture.d.ts +1 -2
- package/dist/types/wcardinal/ui/util/util-html-element.d.ts +4 -4
- package/dist/types/wcardinal/ui/util/util-pointer-event.d.ts +2 -3
- package/dist/wcardinal/ui/d-application-layer.js.map +1 -1
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/d-button-base.js +5 -3
- package/dist/wcardinal/ui/d-button-base.js.map +1 -1
- package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
- package/dist/wcardinal/ui/d-button-color.js.map +1 -1
- package/dist/wcardinal/ui/d-button-date.js.map +1 -1
- package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
- package/dist/wcardinal/ui/d-button-file.js.map +1 -1
- package/dist/wcardinal/ui/d-button-link.js.map +1 -1
- package/dist/wcardinal/ui/d-button-redo.js.map +1 -1
- package/dist/wcardinal/ui/d-button-select.js.map +1 -1
- package/dist/wcardinal/ui/d-button-time.js.map +1 -1
- package/dist/wcardinal/ui/d-button-undo.js.map +1 -1
- package/dist/wcardinal/ui/d-canvas-container.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas-base.js +2 -1
- package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
- package/dist/wcardinal/ui/d-diagram.js.map +1 -1
- package/dist/wcardinal/ui/d-dropdown-base.js.map +1 -1
- package/dist/wcardinal/ui/d-expandable-header.js.map +1 -1
- package/dist/wcardinal/ui/d-html-element.js.map +1 -1
- package/dist/wcardinal/ui/d-link.js +1 -2
- package/dist/wcardinal/ui/d-link.js.map +1 -1
- package/dist/wcardinal/ui/d-list-item.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-bar-item.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-item-check.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-item-link.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-item-menu.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
- package/dist/wcardinal/ui/d-pane.js.map +1 -1
- package/dist/wcardinal/ui/d-picker-color-gradient-view.js +7 -4
- package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
- package/dist/wcardinal/ui/d-picker-color-gradient.js.map +1 -1
- package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
- package/dist/wcardinal/ui/d-scroll-bar-horizontal.js.map +1 -1
- package/dist/wcardinal/ui/d-scroll-bar-vertical.js.map +1 -1
- package/dist/wcardinal/ui/d-shadow.js.map +1 -1
- package/dist/wcardinal/ui/d-slider.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-link.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body.js.map +1 -1
- package/dist/wcardinal/ui/d-table-header-cell.js +1 -2
- package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/d-table.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-item-non-editable.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-item-text.js.map +1 -1
- package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-view-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js +1 -2
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js +1 -2
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/action/e-shape-action-runtime.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-runtime.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime.js.map +1 -1
- package/dist/wcardinal/ui/util/util-click-outside.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture-modifiers.js.map +1 -1
- package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
- package/dist/wcardinal/ui/util/util-html-element.js.map +1 -1
- package/dist/wcardinal/ui/util/util-pointer-event.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
- package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +18 -16
- package/dist/wcardinal-ui.js +18 -16
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport InteractionManager = interaction.InteractionManager;\nimport { DDialogSelectOptions } from \"../ui/d-dialog-select\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions } from \"./d-base\";\nimport { DContentOptions } from \"./d-content\";\nimport { DFocusable, DFocusableContainer } from \"./d-controller-focus\";\nimport { DCoordinateSize } from \"./d-coordinate\";\nimport { DDialogSelect } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DPane, DPaneOptions, DThemePane } from \"./d-pane\";\nimport { DTableBody, DTableBodyOptions } from \"./d-table-body\";\nimport { DTableCategory, DTableCategoryColumn, DTableCategoryOptions } from \"./d-table-category\";\nimport { DTableColumn, DTableColumnOptions } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableDataComparatorFunction } from \"./d-table-data-sorter\";\nimport { DTableHeader, DTableHeaderOptions } from \"./d-table-header\";\nimport { DTableRow } from \"./d-table-row\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { DTableScrollBar } from \"./d-table-scrollbar\";\nimport { DPaneScrollBarOptions } from \"./d-pane-scrollbar\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnEditing, DTableColumnEditable } from \"./d-table-column-editing\";\nimport { DTableColumnSorting } from \"./d-table-column-sorting\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport { DTableColumnState } from \"./d-table-column-state\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\nexport interface DTableOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTable = DThemeTable,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions\n> extends DPaneOptions<THEME, CONTENT_OPTIONS> {\n\tcolumns: Array<DTableColumnOptions<ROW>>;\n\tcategory?: DTableCategoryOptions;\n\theader?: DTableHeaderOptions<ROW>;\n\tbody?: DTableBodyOptions<ROW, DATA>;\n\tdata?: ROW[] | DTableDataListOptions<ROW> | DATA;\n}\n\nexport interface DThemeTable extends DThemePane {}\n\nconst defaultGetter = <ROW, CELL>(row: ROW, columnIndex: number): CELL => {\n\treturn (row as any)[columnIndex];\n};\n\nconst defaultSetter = <ROW, CELL>(row: ROW, columnIndex: number, cell: CELL): void => {\n\t(row as any)[columnIndex] = cell;\n};\n\nconst defaultGetterEmpty = <CELL>(): CELL => \"\" as any;\n\nconst defaultSetterEmpty = (): void => {\n\t// DO NOTHING\n};\n\nconst toPathGetter = <ROW, CELL>(path: string[], def?: CELL): DTableColumnGetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn (row as any)[key];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\treturn (row as any)[path[path.length - 1]];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\tconst key = path[path.length - 1];\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t}\n};\n\nconst toPathSetter = <ROW, CELL>(path: string[]): DTableColumnSetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\t(row as any)[key] = cell;\n\t\t};\n\t} else {\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\trow = (row as any)[path[i]] || {};\n\t\t\t}\n\t\t\t(row as any)[path[path.length - 1]] = cell;\n\t\t};\n\t}\n};\n\nconst toColumnAlign = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType\n): DAlignHorizontal => {\n\tconst align = options.align;\n\tif (align != null) {\n\t\tif (isString(align)) {\n\t\t\treturn DAlignHorizontal[align];\n\t\t} else {\n\t\t\treturn align;\n\t\t}\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.TEXT:\n\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t\tcase DTableColumnType.REAL:\n\t\tcase DTableColumnType.INTEGER:\n\t\t\treturn DAlignHorizontal.RIGHT;\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.INDEX:\n\t\tcase DTableColumnType.SELECT:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\tcase DTableColumnType.CHECK:\n\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\tcase DTableColumnType.COLOR:\n\t\t\treturn DAlignHorizontal.CENTER;\n\t\tdefault:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t}\n};\n\nconst toColumnDataChecker = <ROW>(path: string[] | null): DTableColumnEditable<ROW> => {\n\tif (path != null) {\n\t\tconst pathLength = path.length;\n\t\tif (pathLength <= 1) {\n\t\t\tconst key = path[0];\n\t\t\treturn (row: ROW): boolean => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key);\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: any): boolean => {\n\t\t\t\tfor (let i = 0; i < pathLength; ++i) {\n\t\t\t\t\tconst part: string = path[i];\n\t\t\t\t\tif (part in row) {\n\t\t\t\t\t\trow = row[part];\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\t}\n\treturn (row: any, columnIndex: number): boolean => {\n\t\treturn columnIndex < row.length;\n\t};\n};\n\nconst toColumnEditingEnable = <ROW>(\n\tenable: boolean | DTableColumnEditable<ROW> | \"auto\" | \"AUTO\" | undefined,\n\tpath: string[] | null\n): boolean | DTableColumnEditable<ROW> => {\n\tif (isString(enable)) {\n\t\treturn toColumnDataChecker(path);\n\t} else if (enable != null) {\n\t\treturn enable;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nconst toColumnEditing = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): DTableColumnEditing<ROW, CELL> => {\n\tconst editing = options.editing;\n\tconst editable = options.editable;\n\tif (editing) {\n\t\treturn {\n\t\t\tenable: toColumnEditingEnable(editing.enable ?? editable, path),\n\t\t\tformatter: editing.formatter,\n\t\t\tunformatter: editing.unformatter,\n\t\t\tvalidator: editing.validator\n\t\t};\n\t}\n\treturn {\n\t\tenable: toColumnEditingEnable(editable, path)\n\t};\n};\n\nconst toComparator = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number\n): DTableDataComparatorFunction<ROW> => {\n\treturn (rowA: ROW, rowB: ROW): number => {\n\t\tconst valueA = getter(rowA, index) as any;\n\t\tconst valueB = getter(rowB, index) as any;\n\t\treturn valueA < valueB ? -1 : valueB < valueA ? +1 : 0;\n\t};\n};\n\nconst toColumnSorting = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnSorting<ROW> => {\n\tconst sorting = options.sorting;\n\tconst sortable = options.sortable;\n\tif (sorting) {\n\t\tif (sorting.enable || sortable) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tcomparator: sorting.comparator || toComparator(getter, index)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tenable: false\n\t\t};\n\t}\n\tif (sortable) {\n\t\treturn {\n\t\t\tenable: true,\n\t\t\tcomparator: toComparator(getter, index)\n\t\t};\n\t}\n\treturn {\n\t\tenable: false\n\t};\n};\n\nconst toColumnMenu = (\n\toptions?: DMenuOptions<unknown> | DMenu<unknown>\n): DMenu<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (options instanceof DMenu) {\n\t\treturn options;\n\t} else {\n\t\treturn new DMenu(options);\n\t}\n};\n\nconst toColumnDialog = (\n\toptions?: DDialogSelectOptions<unknown> | DTableColumnSelectingDialog<unknown>\n): DTableColumnSelectingDialog<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (\"open\" in options) {\n\t\treturn options;\n\t} else {\n\t\treturn new DDialogSelect(options);\n\t}\n};\n\nconst defaultSelectingGetter = (dialog: DTableColumnSelectingDialog<unknown>): unknown => {\n\treturn dialog.value;\n};\n\nconst defaultSelectingSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toColumnSelecting = (\n\toptions: DTableColumnSelectingOptions<any, any, any> | undefined\n): DTableColumnSelecting<any, any, any> => {\n\tif (options) {\n\t\treturn {\n\t\t\tgetter: options.getter || defaultSelectingGetter,\n\t\t\tsetter: options.setter || defaultSelectingSetter,\n\t\t\tmenu: toColumnMenu(options.menu),\n\t\t\tmultiple: toColumnMenu(options.multiple),\n\t\t\tdialog: toColumnDialog(options.dialog),\n\t\t\tpromise: options.promise\n\t\t};\n\t}\n\treturn {\n\t\tgetter: defaultSelectingGetter,\n\t\tsetter: defaultSelectingSetter\n\t};\n};\n\nconst toColumnGetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tparts: string[] | null\n): DTableColumnGetter<ROW, CELL> => {\n\tconst getter = options.getter;\n\tif (getter) {\n\t\treturn getter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultGetterEmpty;\n\t\tdefault:\n\t\t\tif (parts == null) {\n\t\t\t\treturn defaultGetter;\n\t\t\t} else {\n\t\t\t\treturn toPathGetter(parts, options.default);\n\t\t\t}\n\t}\n};\n\nconst toColumnSetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tpath: string[] | null\n): DTableColumnSetter<ROW, CELL> => {\n\tconst setter = options.setter;\n\tif (setter) {\n\t\treturn setter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultSetterEmpty;\n\t\tdefault:\n\t\t\tif (path == null) {\n\t\t\t\treturn defaultSetter;\n\t\t\t} else {\n\t\t\t\treturn toPathSetter(path);\n\t\t\t}\n\t}\n};\n\nconst toColumnState = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnState<ROW> => {\n\tconst state = options.state;\n\tif (state != null) {\n\t\tif (isString(state) || isArray(state)) {\n\t\t\treturn {\n\t\t\t\tinitial: state,\n\t\t\t\tmodifier: undefined\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tinitial: undefined,\n\t\t\t\tmodifier: state\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tinitial: undefined,\n\t\tmodifier: undefined\n\t};\n};\n\nconst toColumnPath = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): string[] | null => {\n\treturn options.path != null ? options.path.split(\".\") : null;\n};\n\nconst toColumnRenderable = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): boolean | DTableColumnRenderable<ROW> => {\n\tconst renderable = options.renderable;\n\tif (isString(renderable)) {\n\t\treturn toColumnDataChecker(path);\n\t} else if (renderable != null) {\n\t\treturn renderable;\n\t}\n\treturn true;\n};\n\nconst toColumn = <ROW, CELL>(\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumn<ROW, CELL> => {\n\tlet weight = options.weight;\n\tlet width = options.width;\n\tif (weight != null) {\n\t\tif (width != null) {\n\t\t\twidth = undefined;\n\t\t}\n\t} else if (width == null) {\n\t\tweight = 1;\n\t}\n\tconst type = toEnum(options.type ?? DTableColumnType.TEXT, DTableColumnType);\n\tconst align = toColumnAlign(options, type);\n\tconst label = options.label || \"\";\n\tconst path = toColumnPath(options);\n\tconst getter = toColumnGetter(options, type, path);\n\tconst setter = toColumnSetter(options, type, path);\n\treturn {\n\t\tweight,\n\t\twidth,\n\t\ttype,\n\t\tlabel,\n\t\tgetter,\n\t\tsetter,\n\t\tformatter: options.formatter,\n\t\trenderable: toColumnRenderable(options, path),\n\t\talign,\n\t\tstate: toColumnState(options),\n\n\t\tediting: toColumnEditing(options, path),\n\t\tsorting: toColumnSorting(getter, index, options),\n\n\t\theader: options.header,\n\t\tbody: options.body,\n\n\t\tselecting: toColumnSelecting(options.selecting),\n\n\t\tcategory: options.category,\n\t\tfrozen: options.frozen,\n\t\toffset: 0.0,\n\n\t\tlink: options.link,\n\n\t\tupdate: toEnum(options.update ?? DTableColumnUpdate.CELL, DTableColumnUpdate)\n\t};\n};\n\nconst toColumns = <ROW, CELL>(\n\toptions: Array<DTableColumnOptions<ROW, CELL>>\n): Array<DTableColumn<ROW, CELL>> => {\n\tconst result = [];\n\tfor (let i = 0, imax = options.length; i < imax; ++i) {\n\t\tresult.push(toColumn(i, options[i]));\n\t}\n\treturn result;\n};\n\nconst toFrozen = <ROW, CELL>(columns: Array<DTableColumn<ROW, CELL>>): number => {\n\tfor (let i = columns.length - 1; 0 <= i; --i) {\n\t\tif (columns[i].frozen === true) {\n\t\t\treturn i + 1;\n\t\t}\n\t}\n\treturn 0;\n};\n\nexport class DTable<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTable = DThemeTable,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions,\n\tOPTIONS extends DTableOptions<ROW, DATA, THEME, CONTENT_OPTIONS> = DTableOptions<\n\t\tROW,\n\t\tDATA,\n\t\tTHEME,\n\t\tCONTENT_OPTIONS\n\t>\n> extends DPane<THEME, CONTENT_OPTIONS, OPTIONS> {\n\tprotected _columns?: Array<DTableColumn<ROW, unknown>>;\n\tprotected _frozen?: number;\n\tprotected _categories?: DTableCategory[];\n\tprotected _headerOffset?: number;\n\tprotected _header?: DTableHeader<ROW> | null;\n\tprotected _bodyOffset?: number;\n\tprotected _body?: DTableBody<ROW, DATA>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tconst content = this.content;\n\t\tcontent.setWidth(this.toContentWidth(options));\n\n\t\tconst body = this.body;\n\t\tcontent.addChild(body);\n\t\tif (body.data.selection.type !== DTableDataSelectionType.NONE) {\n\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\tbody.onRowClick(e);\n\t\t\t});\n\t\t}\n\n\t\tconst header = this.header;\n\t\tif (header) {\n\t\t\tcontent.addChild(header);\n\t\t}\n\n\t\tconst categories = this.categories;\n\t\tfor (let i = categories.length - 1; 0 <= i; --i) {\n\t\t\tcontent.addChild(categories[i]);\n\t\t}\n\n\t\tbody.update();\n\t}\n\n\tget columns(): Array<DTableColumn<ROW, unknown>> {\n\t\tlet result = this._columns;\n\t\tif (result == null) {\n\t\t\tconst options = this._options;\n\t\t\tresult = options ? toColumns(options.columns) : [];\n\t\t\tthis._columns = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget frozen(): number {\n\t\tlet result = this._frozen;\n\t\tif (result == null) {\n\t\t\tresult = toFrozen(this.columns);\n\t\t\tthis._frozen = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget categories(): DTableCategory[] {\n\t\tlet result = this._categories;\n\t\tif (result == null) {\n\t\t\tresult = this.newCategories(this._options, this.columns, this.frozen);\n\t\t\tthis._categories = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected initContent(content: DBase): void {\n\t\tsuper.initContent(content);\n\t\tcontent.state.isFocusReverse = true;\n\t}\n\n\tprotected onContentChange(): void {\n\t\tsuper.onContentChange();\n\t\tthis.body.update();\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tconst scrollbar = this.scrollbar;\n\t\tscrollbar.lock();\n\n\t\tconst body = this.body;\n\t\tbody.lock();\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tbody.update();\n\t\tbody.unlock(true);\n\n\t\tscrollbar.unlock(true);\n\t}\n\n\tprotected getCategoryCount(columns: Array<DTableColumn<ROW, unknown>>): number {\n\t\tlet result = 0;\n\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\tconst category = columns[i].category;\n\t\t\tif (category != null) {\n\t\t\t\tconst count = isString(category) ? 1 : category.length;\n\t\t\t\tresult = Math.max(result, count);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toCategoryLabel(\n\t\tindex: number,\n\t\tcategory: string | string[] | undefined\n\t): string | undefined {\n\t\tif (category) {\n\t\t\tif (isString(category)) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\treturn category;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (index < category.length) {\n\t\t\t\t\treturn category[index];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected isSameCategory(\n\t\tindex: number,\n\t\ta: string | string[] | undefined,\n\t\tb: string | string[] | undefined\n\t): boolean {\n\t\tif (a != null) {\n\t\t\tif (b != null) {\n\t\t\t\tif (isString(a)) {\n\t\t\t\t\tif (isString(b)) {\n\t\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\t\treturn b.length <= index;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn b.length === 1 && a === b[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (isString(b)) {\n\t\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\t\treturn a.length <= index;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn a.length === 1 && a[0] === b;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (a.length <= index && b.length <= index) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else if (b.length === a.length) {\n\t\t\t\t\t\t\tfor (let i = index, imax = a.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\tif (a[i] !== b[i]) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (isString(a)) {\n\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (a.length <= index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (b != null) {\n\t\t\t\tif (isString(b)) {\n\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (b.length <= index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toCategoryColumns(\n\t\tindex: number,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number\n\t): DTableCategoryColumn[] {\n\t\tconst result: DTableCategoryColumn[] = [];\n\t\tlet tcolumn: DTableColumn<ROW, unknown> | null = null;\n\t\tlet ccolumn: DTableCategoryColumn | null = null;\n\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tif (\n\t\t\t\ti !== frozen &&\n\t\t\t\tccolumn &&\n\t\t\t\ttcolumn &&\n\t\t\t\tthis.isSameCategory(index, tcolumn.category, column.category)\n\t\t\t) {\n\t\t\t\tif (ccolumn.weight != null && column.weight != null) {\n\t\t\t\t\tccolumn.weight += column.weight;\n\t\t\t\t} else if (ccolumn.width != null && column.width != null) {\n\t\t\t\t\tccolumn.width += column.width;\n\t\t\t\t} else {\n\t\t\t\t\ttcolumn = column;\n\t\t\t\t\tccolumn = {\n\t\t\t\t\t\tlabel: this.toCategoryLabel(index, column.category),\n\t\t\t\t\t\tweight: column.weight,\n\t\t\t\t\t\twidth: column.width,\n\t\t\t\t\t\toffset: 0.0\n\t\t\t\t\t};\n\t\t\t\t\tresult.push(ccolumn);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttcolumn = column;\n\t\t\t\tccolumn = {\n\t\t\t\t\tlabel: this.toCategoryLabel(index, column.category),\n\t\t\t\t\tweight: column.weight,\n\t\t\t\t\twidth: column.width,\n\t\t\t\t\toffset: 0.0\n\t\t\t\t};\n\t\t\t\tresult.push(ccolumn);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toCategoryOptions(\n\t\tindex: number,\n\t\toptions: DTableCategoryOptions | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableCategoryOptions {\n\t\tif (options) {\n\t\t\tif (options.columns === undefined) {\n\t\t\t\toptions.columns = this.toCategoryColumns(index, columns, frozen);\n\t\t\t}\n\t\t\tif (options.frozen == null) {\n\t\t\t\toptions.frozen = frozen;\n\t\t\t}\n\t\t\tif (options.offset == null) {\n\t\t\t\toptions.offset = offset;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tcolumns: this.toCategoryColumns(index, columns, frozen),\n\t\t\tfrozen,\n\t\t\toffset\n\t\t};\n\t}\n\n\tprotected newCategories(\n\t\toptions: OPTIONS | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number\n\t): DTableCategory[] {\n\t\tconst count = this.getCategoryCount(columns);\n\t\tconst result: DTableCategory[] = [];\n\t\tlet offset: number = 0;\n\t\tfor (let i = count - 1; 0 <= i; --i) {\n\t\t\tconst category = new DTableCategory(\n\t\t\t\tthis.toCategoryOptions(i, options?.category, columns, frozen, offset)\n\t\t\t);\n\t\t\tresult.push(category);\n\t\t\toffset += category.height;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\tconst result = this.body.onDblClick(e, interactionManager);\n\t\treturn super.onDblClick(e, interactionManager) || result;\n\t}\n\n\tprotected newScrollBar(options?: DPaneScrollBarOptions): DTableScrollBar {\n\t\treturn new DTableScrollBar(this, options, (isRegionVisible: boolean): void => {\n\t\t\tthis.onScrollBarUpdate(isRegionVisible);\n\t\t});\n\t}\n\n\tprotected toContentWidth(options?: OPTIONS): DCoordinateSize {\n\t\tlet columnWidthTotal = 0;\n\t\tconst columns = options?.columns;\n\t\tif (columns) {\n\t\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\t\tconst column = columns[i];\n\t\t\t\tconst columnWidth = column.width;\n\t\t\t\tif (columnWidth != null) {\n\t\t\t\t\tcolumnWidthTotal += columnWidth;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (0 < columnWidthTotal) {\n\t\t\treturn (p: number): number => {\n\t\t\t\treturn Math.max(p, columnWidthTotal);\n\t\t\t};\n\t\t}\n\t\treturn \"100%\";\n\t}\n\n\tprotected getHeaderOffset(): number {\n\t\tlet result = this._headerOffset;\n\t\tif (result == null) {\n\t\t\tresult = this.newHeaderOffset();\n\t\t\tthis._headerOffset = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newHeaderOffset(): number {\n\t\tlet result = 0;\n\t\tconst categories = this.categories;\n\t\tfor (let i = 0, imax = categories.length; i < imax; ++i) {\n\t\t\tresult += categories[i].height;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget header(): DTableHeader<ROW> | null {\n\t\tlet result = this._header;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newHeader(\n\t\t\t\tthis._options,\n\t\t\t\tthis.columns,\n\t\t\t\tthis.frozen,\n\t\t\t\tthis.getHeaderOffset()\n\t\t\t);\n\t\t\tthis._header = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected hasHeader(options?: OPTIONS): boolean {\n\t\tif (options) {\n\t\t\tconst columns = options.columns;\n\t\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\t\tif (columns[i].label != null) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected newHeader(\n\t\toptions: OPTIONS | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableHeader<ROW> | null {\n\t\tif (this.hasHeader(options)) {\n\t\t\treturn new DTableHeader<ROW>(\n\t\t\t\tthis.toHeaderOptions(options?.header, columns, frozen, offset)\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toHeaderOptions(\n\t\toptions: DTableHeaderOptions<ROW> | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableHeaderOptions<ROW> {\n\t\tif (options) {\n\t\t\tif (options.columns === undefined) {\n\t\t\t\toptions.columns = columns;\n\t\t\t}\n\t\t\tif (options.frozen == null) {\n\t\t\t\toptions.frozen = frozen;\n\t\t\t}\n\t\t\tif (options.offset === undefined) {\n\t\t\t\toptions.offset = offset;\n\t\t\t}\n\t\t\tif (options.table === undefined) {\n\t\t\t\toptions.table = this;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tcolumns,\n\t\t\tfrozen,\n\t\t\toffset,\n\t\t\ttable: this\n\t\t};\n\t}\n\n\tprotected getBodyOffset(): number {\n\t\tlet result = this._bodyOffset;\n\t\tif (result == null) {\n\t\t\tresult = this.newBodyOffset();\n\t\t\tthis._bodyOffset = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newBodyOffset(): number {\n\t\treturn this.getHeaderOffset() + (this.header?.height ?? 0);\n\t}\n\n\tget body(): DTableBody<ROW, DATA> {\n\t\tlet result = this._body;\n\t\tif (result == null) {\n\t\t\tresult = this.newBody(this._options, this.columns, this.frozen, this.getBodyOffset());\n\t\t\tthis._body = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newBody(\n\t\toptions: OPTIONS | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableBody<ROW, DATA> {\n\t\treturn new DTableBody<ROW, DATA>(\n\t\t\tthis.toBodyOptions(options?.body, columns, frozen, offset, options?.data)\n\t\t);\n\t}\n\n\tprotected toBodyOptions(\n\t\toptions: DTableBodyOptions<ROW, DATA> | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number,\n\t\tdata: ROW[] | DTableDataOptions<ROW> | DATA | undefined\n\t): DTableBodyOptions<ROW, DATA> {\n\t\tif (options != null) {\n\t\t\tif (options.columns === undefined) {\n\t\t\t\toptions.columns = columns;\n\t\t\t}\n\t\t\tif (options.frozen == null) {\n\t\t\t\toptions.frozen = frozen;\n\t\t\t}\n\t\t\tif (options.offset === undefined) {\n\t\t\t\toptions.offset = offset;\n\t\t\t}\n\t\t\tif (options.data === undefined && data !== undefined) {\n\t\t\t\tif (isArray(data)) {\n\t\t\t\t\toptions.data = {\n\t\t\t\t\t\trows: data\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\toptions.data = data;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.height === undefined && options.weight === undefined) {\n\t\t\t\toptions.weight = 1;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\tif (isArray(data)) {\n\t\t\treturn {\n\t\t\t\tcolumns,\n\t\t\t\tfrozen,\n\t\t\t\toffset,\n\t\t\t\tdata: {\n\t\t\t\t\trows: data\n\t\t\t\t},\n\t\t\t\tweight: 1\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tcolumns,\n\t\t\t\tfrozen,\n\t\t\t\toffset,\n\t\t\t\tdata,\n\t\t\t\tweight: 1\n\t\t\t};\n\t\t}\n\t}\n\n\tget data(): DATA {\n\t\treturn this.body.data;\n\t}\n\n\tprotected getFocusedChildClippingRect(\n\t\tfocused: DBase,\n\t\tcontentX: number,\n\t\tcontentY: number,\n\t\tcontentWidth: number,\n\t\tcontentHeight: number,\n\t\twidth: number,\n\t\theight: number,\n\t\tresult: Rectangle\n\t): Rectangle {\n\t\tsuper.getFocusedChildClippingRect(\n\t\t\tfocused,\n\t\t\tcontentX,\n\t\t\tcontentY,\n\t\t\tcontentWidth,\n\t\t\tcontentHeight,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tresult\n\t\t);\n\n\t\tconst cell = this.toCell(focused);\n\t\tif (cell) {\n\t\t\t// X\n\t\t\tconst dx = contentX + this.toFrozenCellX(cell) - result.x;\n\t\t\tif (0 < dx) {\n\t\t\t\tresult.x += dx;\n\t\t\t\tresult.width -= dx;\n\t\t\t}\n\n\t\t\t// Y\n\t\t\tif (cell.parent.parent === this.body) {\n\t\t\t\tconst dy = this.getBodyOffset();\n\t\t\t\tresult.y += dy;\n\t\t\t\tresult.height -= dy;\n\t\t\t}\n\t\t}\n\n\t\t// Done\n\t\treturn result;\n\t}\n\n\tprotected toFrozenCellX(cell: DBase): number {\n\t\tconst frozen = this.frozen;\n\t\tif (0 < frozen) {\n\t\t\tconst cells = cell.parent.children as DBase[];\n\t\t\tconst cellIndex = cells.indexOf(cell);\n\t\t\tif (0 <= cellIndex) {\n\t\t\t\tconst cellsLength = cells.length;\n\t\t\t\tconst columnIndex = cellsLength - 1 - cellIndex;\n\t\t\t\tif (frozen <= columnIndex) {\n\t\t\t\t\tconst cellFrozen = cells[cellsLength - frozen];\n\t\t\t\t\treturn cellFrozen.position.x + cellFrozen.width;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tUtilKeyboardEvent.moveFocusHorizontally(e, this);\n\t\tconst isArrowUpKey = UtilKeyboardEvent.isArrowUpKey(e);\n\t\tconst isArrowDownKey = UtilKeyboardEvent.isArrowDownKey(e);\n\t\tif (isArrowUpKey || isArrowDownKey) {\n\t\t\tthis.onKeyDownArrowUpOrDown(e, isArrowDownKey);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownArrowUpOrDown(e: KeyboardEvent, isDown: boolean): boolean {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst focusController = layer.getFocusController();\n\t\tconst oldFocusable = focusController.get();\n\t\tif (oldFocusable == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldCell = this.toCell(oldFocusable);\n\t\tif (oldCell == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldRow = oldCell.parent;\n\t\tif (oldRow == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newRowChild = focusController.find(oldRow, false, false, isDown, this);\n\t\tif (newRowChild == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newCellSibling = this.toCell(newRowChild);\n\t\tif (newCellSibling == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newRow = newCellSibling.parent;\n\t\tif (newRow == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldCellIndex = oldRow.children.indexOf(oldCell);\n\t\tif (oldCellIndex < 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newCell = newRow.children[oldCellIndex];\n\t\tif (newCell == null || newCell === oldCell || !(\"state\" in newCell)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newFocusable = focusController.find(newCell, true, true, isDown, this);\n\t\tif (newFocusable == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfocusController.focus(newFocusable);\n\t\treturn true;\n\t}\n\n\tprotected toCell(focused: DFocusable): DBase | null {\n\t\tlet current: DFocusable | DFocusableContainer | null = focused;\n\t\twhile (current != null) {\n\t\t\tconst parent: DFocusableContainer | null = current.parent;\n\t\t\tif (parent instanceof DTableRow) {\n\t\t\t\tif (current instanceof DBase) {\n\t\t\t\t\treturn current;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tcurrent = parent;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTable\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Rectangle } from \"pixi.js\";\nimport { DDialogSelectOptions } from \"../ui/d-dialog-select\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseOptions } from \"./d-base\";\nimport { DContentOptions } from \"./d-content\";\nimport { DFocusable, DFocusableContainer } from \"./d-controller-focus\";\nimport { DCoordinateSize } from \"./d-coordinate\";\nimport { DDialogSelect } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DPane, DPaneOptions, DThemePane } from \"./d-pane\";\nimport { DTableBody, DTableBodyOptions } from \"./d-table-body\";\nimport { DTableCategory, DTableCategoryColumn, DTableCategoryOptions } from \"./d-table-category\";\nimport { DTableColumn, DTableColumnOptions } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableDataComparatorFunction } from \"./d-table-data-sorter\";\nimport { DTableHeader, DTableHeaderOptions } from \"./d-table-header\";\nimport { DTableRow } from \"./d-table-row\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { DTableScrollBar } from \"./d-table-scrollbar\";\nimport { DPaneScrollBarOptions } from \"./d-pane-scrollbar\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnEditing, DTableColumnEditable } from \"./d-table-column-editing\";\nimport { DTableColumnSorting } from \"./d-table-column-sorting\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport { DTableColumnState } from \"./d-table-column-state\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\nexport interface DTableOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTable = DThemeTable,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions\n> extends DPaneOptions<THEME, CONTENT_OPTIONS> {\n\tcolumns: Array<DTableColumnOptions<ROW>>;\n\tcategory?: DTableCategoryOptions;\n\theader?: DTableHeaderOptions<ROW>;\n\tbody?: DTableBodyOptions<ROW, DATA>;\n\tdata?: ROW[] | DTableDataListOptions<ROW> | DATA;\n}\n\nexport interface DThemeTable extends DThemePane {}\n\nconst defaultGetter = <ROW, CELL>(row: ROW, columnIndex: number): CELL => {\n\treturn (row as any)[columnIndex];\n};\n\nconst defaultSetter = <ROW, CELL>(row: ROW, columnIndex: number, cell: CELL): void => {\n\t(row as any)[columnIndex] = cell;\n};\n\nconst defaultGetterEmpty = <CELL>(): CELL => \"\" as any;\n\nconst defaultSetterEmpty = (): void => {\n\t// DO NOTHING\n};\n\nconst toPathGetter = <ROW, CELL>(path: string[], def?: CELL): DTableColumnGetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn (row as any)[key];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\treturn (row as any)[path[path.length - 1]];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\tconst key = path[path.length - 1];\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t}\n};\n\nconst toPathSetter = <ROW, CELL>(path: string[]): DTableColumnSetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\t(row as any)[key] = cell;\n\t\t};\n\t} else {\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\trow = (row as any)[path[i]] || {};\n\t\t\t}\n\t\t\t(row as any)[path[path.length - 1]] = cell;\n\t\t};\n\t}\n};\n\nconst toColumnAlign = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType\n): DAlignHorizontal => {\n\tconst align = options.align;\n\tif (align != null) {\n\t\tif (isString(align)) {\n\t\t\treturn DAlignHorizontal[align];\n\t\t} else {\n\t\t\treturn align;\n\t\t}\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.TEXT:\n\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t\tcase DTableColumnType.REAL:\n\t\tcase DTableColumnType.INTEGER:\n\t\t\treturn DAlignHorizontal.RIGHT;\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.INDEX:\n\t\tcase DTableColumnType.SELECT:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\tcase DTableColumnType.CHECK:\n\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\tcase DTableColumnType.COLOR:\n\t\t\treturn DAlignHorizontal.CENTER;\n\t\tdefault:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t}\n};\n\nconst toColumnDataChecker = <ROW>(path: string[] | null): DTableColumnEditable<ROW> => {\n\tif (path != null) {\n\t\tconst pathLength = path.length;\n\t\tif (pathLength <= 1) {\n\t\t\tconst key = path[0];\n\t\t\treturn (row: ROW): boolean => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key);\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: any): boolean => {\n\t\t\t\tfor (let i = 0; i < pathLength; ++i) {\n\t\t\t\t\tconst part: string = path[i];\n\t\t\t\t\tif (part in row) {\n\t\t\t\t\t\trow = row[part];\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\t}\n\treturn (row: any, columnIndex: number): boolean => {\n\t\treturn columnIndex < row.length;\n\t};\n};\n\nconst toColumnEditingEnable = <ROW>(\n\tenable: boolean | DTableColumnEditable<ROW> | \"auto\" | \"AUTO\" | undefined,\n\tpath: string[] | null\n): boolean | DTableColumnEditable<ROW> => {\n\tif (isString(enable)) {\n\t\treturn toColumnDataChecker(path);\n\t} else if (enable != null) {\n\t\treturn enable;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nconst toColumnEditing = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): DTableColumnEditing<ROW, CELL> => {\n\tconst editing = options.editing;\n\tconst editable = options.editable;\n\tif (editing) {\n\t\treturn {\n\t\t\tenable: toColumnEditingEnable(editing.enable ?? editable, path),\n\t\t\tformatter: editing.formatter,\n\t\t\tunformatter: editing.unformatter,\n\t\t\tvalidator: editing.validator\n\t\t};\n\t}\n\treturn {\n\t\tenable: toColumnEditingEnable(editable, path)\n\t};\n};\n\nconst toComparator = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number\n): DTableDataComparatorFunction<ROW> => {\n\treturn (rowA: ROW, rowB: ROW): number => {\n\t\tconst valueA = getter(rowA, index) as any;\n\t\tconst valueB = getter(rowB, index) as any;\n\t\treturn valueA < valueB ? -1 : valueB < valueA ? +1 : 0;\n\t};\n};\n\nconst toColumnSorting = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnSorting<ROW> => {\n\tconst sorting = options.sorting;\n\tconst sortable = options.sortable;\n\tif (sorting) {\n\t\tif (sorting.enable || sortable) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tcomparator: sorting.comparator || toComparator(getter, index)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tenable: false\n\t\t};\n\t}\n\tif (sortable) {\n\t\treturn {\n\t\t\tenable: true,\n\t\t\tcomparator: toComparator(getter, index)\n\t\t};\n\t}\n\treturn {\n\t\tenable: false\n\t};\n};\n\nconst toColumnMenu = (\n\toptions?: DMenuOptions<unknown> | DMenu<unknown>\n): DMenu<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (options instanceof DMenu) {\n\t\treturn options;\n\t} else {\n\t\treturn new DMenu(options);\n\t}\n};\n\nconst toColumnDialog = (\n\toptions?: DDialogSelectOptions<unknown> | DTableColumnSelectingDialog<unknown>\n): DTableColumnSelectingDialog<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (\"open\" in options) {\n\t\treturn options;\n\t} else {\n\t\treturn new DDialogSelect(options);\n\t}\n};\n\nconst defaultSelectingGetter = (dialog: DTableColumnSelectingDialog<unknown>): unknown => {\n\treturn dialog.value;\n};\n\nconst defaultSelectingSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toColumnSelecting = (\n\toptions: DTableColumnSelectingOptions<any, any, any> | undefined\n): DTableColumnSelecting<any, any, any> => {\n\tif (options) {\n\t\treturn {\n\t\t\tgetter: options.getter || defaultSelectingGetter,\n\t\t\tsetter: options.setter || defaultSelectingSetter,\n\t\t\tmenu: toColumnMenu(options.menu),\n\t\t\tmultiple: toColumnMenu(options.multiple),\n\t\t\tdialog: toColumnDialog(options.dialog),\n\t\t\tpromise: options.promise\n\t\t};\n\t}\n\treturn {\n\t\tgetter: defaultSelectingGetter,\n\t\tsetter: defaultSelectingSetter\n\t};\n};\n\nconst toColumnGetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tparts: string[] | null\n): DTableColumnGetter<ROW, CELL> => {\n\tconst getter = options.getter;\n\tif (getter) {\n\t\treturn getter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultGetterEmpty;\n\t\tdefault:\n\t\t\tif (parts == null) {\n\t\t\t\treturn defaultGetter;\n\t\t\t} else {\n\t\t\t\treturn toPathGetter(parts, options.default);\n\t\t\t}\n\t}\n};\n\nconst toColumnSetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tpath: string[] | null\n): DTableColumnSetter<ROW, CELL> => {\n\tconst setter = options.setter;\n\tif (setter) {\n\t\treturn setter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultSetterEmpty;\n\t\tdefault:\n\t\t\tif (path == null) {\n\t\t\t\treturn defaultSetter;\n\t\t\t} else {\n\t\t\t\treturn toPathSetter(path);\n\t\t\t}\n\t}\n};\n\nconst toColumnState = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnState<ROW> => {\n\tconst state = options.state;\n\tif (state != null) {\n\t\tif (isString(state) || isArray(state)) {\n\t\t\treturn {\n\t\t\t\tinitial: state,\n\t\t\t\tmodifier: undefined\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tinitial: undefined,\n\t\t\t\tmodifier: state\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tinitial: undefined,\n\t\tmodifier: undefined\n\t};\n};\n\nconst toColumnPath = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): string[] | null => {\n\treturn options.path != null ? options.path.split(\".\") : null;\n};\n\nconst toColumnRenderable = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): boolean | DTableColumnRenderable<ROW> => {\n\tconst renderable = options.renderable;\n\tif (isString(renderable)) {\n\t\treturn toColumnDataChecker(path);\n\t} else if (renderable != null) {\n\t\treturn renderable;\n\t}\n\treturn true;\n};\n\nconst toColumn = <ROW, CELL>(\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumn<ROW, CELL> => {\n\tlet weight = options.weight;\n\tlet width = options.width;\n\tif (weight != null) {\n\t\tif (width != null) {\n\t\t\twidth = undefined;\n\t\t}\n\t} else if (width == null) {\n\t\tweight = 1;\n\t}\n\tconst type = toEnum(options.type ?? DTableColumnType.TEXT, DTableColumnType);\n\tconst align = toColumnAlign(options, type);\n\tconst label = options.label || \"\";\n\tconst path = toColumnPath(options);\n\tconst getter = toColumnGetter(options, type, path);\n\tconst setter = toColumnSetter(options, type, path);\n\treturn {\n\t\tweight,\n\t\twidth,\n\t\ttype,\n\t\tlabel,\n\t\tgetter,\n\t\tsetter,\n\t\tformatter: options.formatter,\n\t\trenderable: toColumnRenderable(options, path),\n\t\talign,\n\t\tstate: toColumnState(options),\n\n\t\tediting: toColumnEditing(options, path),\n\t\tsorting: toColumnSorting(getter, index, options),\n\n\t\theader: options.header,\n\t\tbody: options.body,\n\n\t\tselecting: toColumnSelecting(options.selecting),\n\n\t\tcategory: options.category,\n\t\tfrozen: options.frozen,\n\t\toffset: 0.0,\n\n\t\tlink: options.link,\n\n\t\tupdate: toEnum(options.update ?? DTableColumnUpdate.CELL, DTableColumnUpdate)\n\t};\n};\n\nconst toColumns = <ROW, CELL>(\n\toptions: Array<DTableColumnOptions<ROW, CELL>>\n): Array<DTableColumn<ROW, CELL>> => {\n\tconst result = [];\n\tfor (let i = 0, imax = options.length; i < imax; ++i) {\n\t\tresult.push(toColumn(i, options[i]));\n\t}\n\treturn result;\n};\n\nconst toFrozen = <ROW, CELL>(columns: Array<DTableColumn<ROW, CELL>>): number => {\n\tfor (let i = columns.length - 1; 0 <= i; --i) {\n\t\tif (columns[i].frozen === true) {\n\t\t\treturn i + 1;\n\t\t}\n\t}\n\treturn 0;\n};\n\nexport class DTable<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTable = DThemeTable,\n\tCONTENT_OPTIONS extends DBaseOptions = DContentOptions,\n\tOPTIONS extends DTableOptions<ROW, DATA, THEME, CONTENT_OPTIONS> = DTableOptions<\n\t\tROW,\n\t\tDATA,\n\t\tTHEME,\n\t\tCONTENT_OPTIONS\n\t>\n> extends DPane<THEME, CONTENT_OPTIONS, OPTIONS> {\n\tprotected _columns?: Array<DTableColumn<ROW, unknown>>;\n\tprotected _frozen?: number;\n\tprotected _categories?: DTableCategory[];\n\tprotected _headerOffset?: number;\n\tprotected _header?: DTableHeader<ROW> | null;\n\tprotected _bodyOffset?: number;\n\tprotected _body?: DTableBody<ROW, DATA>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tconst content = this.content;\n\t\tcontent.setWidth(this.toContentWidth(options));\n\n\t\tconst body = this.body;\n\t\tcontent.addChild(body);\n\t\tif (body.data.selection.type !== DTableDataSelectionType.NONE) {\n\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\tbody.onRowClick(e);\n\t\t\t});\n\t\t}\n\n\t\tconst header = this.header;\n\t\tif (header) {\n\t\t\tcontent.addChild(header);\n\t\t}\n\n\t\tconst categories = this.categories;\n\t\tfor (let i = categories.length - 1; 0 <= i; --i) {\n\t\t\tcontent.addChild(categories[i]);\n\t\t}\n\n\t\tbody.update();\n\t}\n\n\tget columns(): Array<DTableColumn<ROW, unknown>> {\n\t\tlet result = this._columns;\n\t\tif (result == null) {\n\t\t\tconst options = this._options;\n\t\t\tresult = options ? toColumns(options.columns) : [];\n\t\t\tthis._columns = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget frozen(): number {\n\t\tlet result = this._frozen;\n\t\tif (result == null) {\n\t\t\tresult = toFrozen(this.columns);\n\t\t\tthis._frozen = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget categories(): DTableCategory[] {\n\t\tlet result = this._categories;\n\t\tif (result == null) {\n\t\t\tresult = this.newCategories(this._options, this.columns, this.frozen);\n\t\t\tthis._categories = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected initContent(content: DBase): void {\n\t\tsuper.initContent(content);\n\t\tcontent.state.isFocusReverse = true;\n\t}\n\n\tprotected onContentChange(): void {\n\t\tsuper.onContentChange();\n\t\tthis.body.update();\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tconst scrollbar = this.scrollbar;\n\t\tscrollbar.lock();\n\n\t\tconst body = this.body;\n\t\tbody.lock();\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tbody.update();\n\t\tbody.unlock(true);\n\n\t\tscrollbar.unlock(true);\n\t}\n\n\tprotected getCategoryCount(columns: Array<DTableColumn<ROW, unknown>>): number {\n\t\tlet result = 0;\n\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\tconst category = columns[i].category;\n\t\t\tif (category != null) {\n\t\t\t\tconst count = isString(category) ? 1 : category.length;\n\t\t\t\tresult = Math.max(result, count);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toCategoryLabel(\n\t\tindex: number,\n\t\tcategory: string | string[] | undefined\n\t): string | undefined {\n\t\tif (category) {\n\t\t\tif (isString(category)) {\n\t\t\t\tif (index === 0) {\n\t\t\t\t\treturn category;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (index < category.length) {\n\t\t\t\t\treturn category[index];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprotected isSameCategory(\n\t\tindex: number,\n\t\ta: string | string[] | undefined,\n\t\tb: string | string[] | undefined\n\t): boolean {\n\t\tif (a != null) {\n\t\t\tif (b != null) {\n\t\t\t\tif (isString(a)) {\n\t\t\t\t\tif (isString(b)) {\n\t\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\t\treturn b.length <= index;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn b.length === 1 && a === b[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (isString(b)) {\n\t\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\t\treturn a.length <= index;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn a.length === 1 && a[0] === b;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (a.length <= index && b.length <= index) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else if (b.length === a.length) {\n\t\t\t\t\t\t\tfor (let i = index, imax = a.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\tif (a[i] !== b[i]) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (isString(a)) {\n\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (a.length <= index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif (b != null) {\n\t\t\t\tif (isString(b)) {\n\t\t\t\t\tif (0 < index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (b.length <= index) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toCategoryColumns(\n\t\tindex: number,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number\n\t): DTableCategoryColumn[] {\n\t\tconst result: DTableCategoryColumn[] = [];\n\t\tlet tcolumn: DTableColumn<ROW, unknown> | null = null;\n\t\tlet ccolumn: DTableCategoryColumn | null = null;\n\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tif (\n\t\t\t\ti !== frozen &&\n\t\t\t\tccolumn &&\n\t\t\t\ttcolumn &&\n\t\t\t\tthis.isSameCategory(index, tcolumn.category, column.category)\n\t\t\t) {\n\t\t\t\tif (ccolumn.weight != null && column.weight != null) {\n\t\t\t\t\tccolumn.weight += column.weight;\n\t\t\t\t} else if (ccolumn.width != null && column.width != null) {\n\t\t\t\t\tccolumn.width += column.width;\n\t\t\t\t} else {\n\t\t\t\t\ttcolumn = column;\n\t\t\t\t\tccolumn = {\n\t\t\t\t\t\tlabel: this.toCategoryLabel(index, column.category),\n\t\t\t\t\t\tweight: column.weight,\n\t\t\t\t\t\twidth: column.width,\n\t\t\t\t\t\toffset: 0.0\n\t\t\t\t\t};\n\t\t\t\t\tresult.push(ccolumn);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttcolumn = column;\n\t\t\t\tccolumn = {\n\t\t\t\t\tlabel: this.toCategoryLabel(index, column.category),\n\t\t\t\t\tweight: column.weight,\n\t\t\t\t\twidth: column.width,\n\t\t\t\t\toffset: 0.0\n\t\t\t\t};\n\t\t\t\tresult.push(ccolumn);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected toCategoryOptions(\n\t\tindex: number,\n\t\toptions: DTableCategoryOptions | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableCategoryOptions {\n\t\tif (options) {\n\t\t\tif (options.columns === undefined) {\n\t\t\t\toptions.columns = this.toCategoryColumns(index, columns, frozen);\n\t\t\t}\n\t\t\tif (options.frozen == null) {\n\t\t\t\toptions.frozen = frozen;\n\t\t\t}\n\t\t\tif (options.offset == null) {\n\t\t\t\toptions.offset = offset;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tcolumns: this.toCategoryColumns(index, columns, frozen),\n\t\t\tfrozen,\n\t\t\toffset\n\t\t};\n\t}\n\n\tprotected newCategories(\n\t\toptions: OPTIONS | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number\n\t): DTableCategory[] {\n\t\tconst count = this.getCategoryCount(columns);\n\t\tconst result: DTableCategory[] = [];\n\t\tlet offset: number = 0;\n\t\tfor (let i = count - 1; 0 <= i; --i) {\n\t\t\tconst category = new DTableCategory(\n\t\t\t\tthis.toCategoryOptions(i, options?.category, columns, frozen, offset)\n\t\t\t);\n\t\t\tresult.push(category);\n\t\t\toffset += category.height;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected onDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\tconst result = this.body.onDblClick(e, interactionManager);\n\t\treturn super.onDblClick(e, interactionManager) || result;\n\t}\n\n\tprotected newScrollBar(options?: DPaneScrollBarOptions): DTableScrollBar {\n\t\treturn new DTableScrollBar(this, options, (isRegionVisible: boolean): void => {\n\t\t\tthis.onScrollBarUpdate(isRegionVisible);\n\t\t});\n\t}\n\n\tprotected toContentWidth(options?: OPTIONS): DCoordinateSize {\n\t\tlet columnWidthTotal = 0;\n\t\tconst columns = options?.columns;\n\t\tif (columns) {\n\t\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\t\tconst column = columns[i];\n\t\t\t\tconst columnWidth = column.width;\n\t\t\t\tif (columnWidth != null) {\n\t\t\t\t\tcolumnWidthTotal += columnWidth;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (0 < columnWidthTotal) {\n\t\t\treturn (p: number): number => {\n\t\t\t\treturn Math.max(p, columnWidthTotal);\n\t\t\t};\n\t\t}\n\t\treturn \"100%\";\n\t}\n\n\tprotected getHeaderOffset(): number {\n\t\tlet result = this._headerOffset;\n\t\tif (result == null) {\n\t\t\tresult = this.newHeaderOffset();\n\t\t\tthis._headerOffset = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newHeaderOffset(): number {\n\t\tlet result = 0;\n\t\tconst categories = this.categories;\n\t\tfor (let i = 0, imax = categories.length; i < imax; ++i) {\n\t\t\tresult += categories[i].height;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget header(): DTableHeader<ROW> | null {\n\t\tlet result = this._header;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newHeader(\n\t\t\t\tthis._options,\n\t\t\t\tthis.columns,\n\t\t\t\tthis.frozen,\n\t\t\t\tthis.getHeaderOffset()\n\t\t\t);\n\t\t\tthis._header = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected hasHeader(options?: OPTIONS): boolean {\n\t\tif (options) {\n\t\t\tconst columns = options.columns;\n\t\t\tfor (let i = 0, imax = columns.length; i < imax; ++i) {\n\t\t\t\tif (columns[i].label != null) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected newHeader(\n\t\toptions: OPTIONS | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableHeader<ROW> | null {\n\t\tif (this.hasHeader(options)) {\n\t\t\treturn new DTableHeader<ROW>(\n\t\t\t\tthis.toHeaderOptions(options?.header, columns, frozen, offset)\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toHeaderOptions(\n\t\toptions: DTableHeaderOptions<ROW> | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableHeaderOptions<ROW> {\n\t\tif (options) {\n\t\t\tif (options.columns === undefined) {\n\t\t\t\toptions.columns = columns;\n\t\t\t}\n\t\t\tif (options.frozen == null) {\n\t\t\t\toptions.frozen = frozen;\n\t\t\t}\n\t\t\tif (options.offset === undefined) {\n\t\t\t\toptions.offset = offset;\n\t\t\t}\n\t\t\tif (options.table === undefined) {\n\t\t\t\toptions.table = this;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\treturn {\n\t\t\tcolumns,\n\t\t\tfrozen,\n\t\t\toffset,\n\t\t\ttable: this\n\t\t};\n\t}\n\n\tprotected getBodyOffset(): number {\n\t\tlet result = this._bodyOffset;\n\t\tif (result == null) {\n\t\t\tresult = this.newBodyOffset();\n\t\t\tthis._bodyOffset = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newBodyOffset(): number {\n\t\treturn this.getHeaderOffset() + (this.header?.height ?? 0);\n\t}\n\n\tget body(): DTableBody<ROW, DATA> {\n\t\tlet result = this._body;\n\t\tif (result == null) {\n\t\t\tresult = this.newBody(this._options, this.columns, this.frozen, this.getBodyOffset());\n\t\t\tthis._body = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newBody(\n\t\toptions: OPTIONS | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number\n\t): DTableBody<ROW, DATA> {\n\t\treturn new DTableBody<ROW, DATA>(\n\t\t\tthis.toBodyOptions(options?.body, columns, frozen, offset, options?.data)\n\t\t);\n\t}\n\n\tprotected toBodyOptions(\n\t\toptions: DTableBodyOptions<ROW, DATA> | undefined,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\tfrozen: number,\n\t\toffset: number,\n\t\tdata: ROW[] | DTableDataOptions<ROW> | DATA | undefined\n\t): DTableBodyOptions<ROW, DATA> {\n\t\tif (options != null) {\n\t\t\tif (options.columns === undefined) {\n\t\t\t\toptions.columns = columns;\n\t\t\t}\n\t\t\tif (options.frozen == null) {\n\t\t\t\toptions.frozen = frozen;\n\t\t\t}\n\t\t\tif (options.offset === undefined) {\n\t\t\t\toptions.offset = offset;\n\t\t\t}\n\t\t\tif (options.data === undefined && data !== undefined) {\n\t\t\t\tif (isArray(data)) {\n\t\t\t\t\toptions.data = {\n\t\t\t\t\t\trows: data\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\toptions.data = data;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.height === undefined && options.weight === undefined) {\n\t\t\t\toptions.weight = 1;\n\t\t\t}\n\t\t\treturn options;\n\t\t}\n\t\tif (isArray(data)) {\n\t\t\treturn {\n\t\t\t\tcolumns,\n\t\t\t\tfrozen,\n\t\t\t\toffset,\n\t\t\t\tdata: {\n\t\t\t\t\trows: data\n\t\t\t\t},\n\t\t\t\tweight: 1\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tcolumns,\n\t\t\t\tfrozen,\n\t\t\t\toffset,\n\t\t\t\tdata,\n\t\t\t\tweight: 1\n\t\t\t};\n\t\t}\n\t}\n\n\tget data(): DATA {\n\t\treturn this.body.data;\n\t}\n\n\tprotected getFocusedChildClippingRect(\n\t\tfocused: DBase,\n\t\tcontentX: number,\n\t\tcontentY: number,\n\t\tcontentWidth: number,\n\t\tcontentHeight: number,\n\t\twidth: number,\n\t\theight: number,\n\t\tresult: Rectangle\n\t): Rectangle {\n\t\tsuper.getFocusedChildClippingRect(\n\t\t\tfocused,\n\t\t\tcontentX,\n\t\t\tcontentY,\n\t\t\tcontentWidth,\n\t\t\tcontentHeight,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tresult\n\t\t);\n\n\t\tconst cell = this.toCell(focused);\n\t\tif (cell) {\n\t\t\t// X\n\t\t\tconst dx = contentX + this.toFrozenCellX(cell) - result.x;\n\t\t\tif (0 < dx) {\n\t\t\t\tresult.x += dx;\n\t\t\t\tresult.width -= dx;\n\t\t\t}\n\n\t\t\t// Y\n\t\t\tif (cell.parent.parent === this.body) {\n\t\t\t\tconst dy = this.getBodyOffset();\n\t\t\t\tresult.y += dy;\n\t\t\t\tresult.height -= dy;\n\t\t\t}\n\t\t}\n\n\t\t// Done\n\t\treturn result;\n\t}\n\n\tprotected toFrozenCellX(cell: DBase): number {\n\t\tconst frozen = this.frozen;\n\t\tif (0 < frozen) {\n\t\t\tconst cells = cell.parent.children as DBase[];\n\t\t\tconst cellIndex = cells.indexOf(cell);\n\t\t\tif (0 <= cellIndex) {\n\t\t\t\tconst cellsLength = cells.length;\n\t\t\t\tconst columnIndex = cellsLength - 1 - cellIndex;\n\t\t\t\tif (frozen <= columnIndex) {\n\t\t\t\t\tconst cellFrozen = cells[cellsLength - frozen];\n\t\t\t\t\treturn cellFrozen.position.x + cellFrozen.width;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tUtilKeyboardEvent.moveFocusHorizontally(e, this);\n\t\tconst isArrowUpKey = UtilKeyboardEvent.isArrowUpKey(e);\n\t\tconst isArrowDownKey = UtilKeyboardEvent.isArrowDownKey(e);\n\t\tif (isArrowUpKey || isArrowDownKey) {\n\t\t\tthis.onKeyDownArrowUpOrDown(e, isArrowDownKey);\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownArrowUpOrDown(e: KeyboardEvent, isDown: boolean): boolean {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst focusController = layer.getFocusController();\n\t\tconst oldFocusable = focusController.get();\n\t\tif (oldFocusable == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldCell = this.toCell(oldFocusable);\n\t\tif (oldCell == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldRow = oldCell.parent;\n\t\tif (oldRow == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newRowChild = focusController.find(oldRow, false, false, isDown, this);\n\t\tif (newRowChild == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newCellSibling = this.toCell(newRowChild);\n\t\tif (newCellSibling == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newRow = newCellSibling.parent;\n\t\tif (newRow == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst oldCellIndex = oldRow.children.indexOf(oldCell);\n\t\tif (oldCellIndex < 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newCell = newRow.children[oldCellIndex];\n\t\tif (newCell == null || newCell === oldCell || !(\"state\" in newCell)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst newFocusable = focusController.find(newCell, true, true, isDown, this);\n\t\tif (newFocusable == null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfocusController.focus(newFocusable);\n\t\treturn true;\n\t}\n\n\tprotected toCell(focused: DFocusable): DBase | null {\n\t\tlet current: DFocusable | DFocusableContainer | null = focused;\n\t\twhile (current != null) {\n\t\t\tconst parent: DFocusableContainer | null = current.parent;\n\t\t\tif (parent instanceof DTableRow) {\n\t\t\t\tif (current instanceof DBase) {\n\t\t\t\t\treturn current;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tcurrent = parent;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTable\";\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-item-button.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-button.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAsB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAY7D;IAIU,mCAAmC;IAG5C,yBAAY,IAAqB,EAAE,OAAiB;;QAApD,YACC,kBAAM,IAAI,EAAE,OAAO,CAAC,SAMpB;QAJA,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/E,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,
|
|
1
|
+
{"version":3,"file":"d-tree-item-button.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-button.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAsB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAY7D;IAIU,mCAAmC;IAG5C,yBAAY,IAAqB,EAAE,OAAiB;;QAApD,YACC,kBAAM,IAAI,EAAE,OAAO,CAAC,SAMpB;QAJA,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC/E,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAAmB;YACjD,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;;IACJ,CAAC;IAES,iCAAO,GAAjB,UAAkB,CAAmB;QACpC,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACtE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAES,oCAAU,GAApB,UACC,CAA0B,EAC1B,kBAAsC;QAEtC,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC,cAAc,EAAE;YAClD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED,kCAAQ,GAAR,UAAS,CAA8D;QACtE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAES,oCAAU,GAApB,UAAqB,CAA8D;QAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,2CAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;SAC5B;IACF,CAAC;IAES,yCAAe,GAAzB,UAA0B,CAAgB;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACjB;YACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;SAC7B;IACF,CAAC;IAES,mCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,iCAAO,GAAjB,UAAkB,CAAgB;QACjC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,OAAO,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAES,iCAAO,GAAjB;QACC,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IACF,sBAAC;AAAD,CAAC,AA1ED,CAIU,aAAa,GAsEtB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager } from \"pixi.js\";\nimport { DButtonBaseWhen } from \"./d-button-base-when\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DThemeTreeItemText, DTreeItemText, DTreeItemTextOptions } from \"./d-tree-item-text\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DTreeItemButtonOptions<\n\tNODE extends DTreeNode,\n\tTHEME extends DThemeTreeItemButton = DThemeTreeItemButton,\n\tEMITTER = any\n> extends DTreeItemTextOptions<NODE, THEME, EMITTER> {\n\twhen?: DButtonBaseWhen | keyof typeof DButtonBaseWhen;\n}\n\nexport interface DThemeTreeItemButton extends DThemeTreeItemText {}\n\nexport class DTreeItemButton<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemButton = DThemeTreeItemButton,\n\tOPTIONS extends DTreeItemButtonOptions<NODE, THEME> = DTreeItemButtonOptions<NODE, THEME>\n> extends DTreeItemText<NODE, THEME, OPTIONS> {\n\tprotected _when: DButtonBaseWhen;\n\n\tconstructor(data: DTreeData<NODE>, options?: OPTIONS) {\n\t\tsuper(data, options);\n\n\t\tthis._when = toEnum(options?.when ?? DButtonBaseWhen.CLICKED, DButtonBaseWhen);\n\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t});\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this._when === DButtonBaseWhen.CLICKED && this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tprotected onDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\tif (this._when === DButtonBaseWhen.DOUBLE_CLICKED) {\n\t\t\tthis.activate(e);\n\t\t}\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.emit(\"active\", this);\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.state.isPressed = true;\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.state.isPressed) {\n\t\t\t\tthis.activate(e);\n\t\t\t}\n\t\t\tthis.state.isPressed = false;\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTreeItemButton\";\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-item-non-editable.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-non-editable.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAEN,eAAe,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD;IAOU,wCAAqC;IAP/C;;
|
|
1
|
+
{"version":3,"file":"d-tree-item-non-editable.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-non-editable.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EAEN,eAAe,EAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAUrD;IAOU,wCAAqC;IAP/C;;IAmCA,CAAC;IA3BU,yCAAU,GAApB,UAAqB,CAA8D;QAClF,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QAEpB,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,KAAK,SAAS,EAAE;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBAC/C,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;oBACrB,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CACzB,CAAC,CAAC,IAAI,CAAC,MAAM,EACb,SAAS,EACT,oBAAoB,CAAC,mBAAmB,CACxC,CAAC;oBACF,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;wBACtC,IAAI,CAAC,MAAM,EAAE,CAAC;qBACd;yBAAM;wBACN,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBACvB;iBACD;aACD;iBAAM;gBACN,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACvB;SACD;IACF,CAAC;IAES,sCAAO,GAAjB;QACC,OAAO,sBAAsB,CAAC;IAC/B,CAAC;IACF,2BAAC;AAAD,CAAC,AAnCD,CAOU,eAAe,GA4BxB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport {\n\tDThemeTreeItemButton,\n\tDTreeItemButton,\n\tDTreeItemButtonOptions\n} from \"./d-tree-item-button\";\nimport { DTreeItemState } from \"./d-tree-item-state\";\n\nexport interface DTreeItemNonEditableOptions<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemNonEditable = DThemeTreeItemNonEditable,\n\tEMITTER = any\n> extends DTreeItemButtonOptions<NODE, THEME, EMITTER> {}\n\nexport interface DThemeTreeItemNonEditable extends DThemeTreeItemButton {}\n\nexport class DTreeItemNonEditable<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemNonEditable = DThemeTreeItemNonEditable,\n\tOPTIONS extends DTreeItemNonEditableOptions<NODE, THEME> = DTreeItemNonEditableOptions<\n\t\tNODE,\n\t\tTHEME\n\t>\n> extends DTreeItemButton<NODE, THEME, OPTIONS> {\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\n\t\tconst node = this._node;\n\t\tif (node !== undefined) {\n\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\tif (e && \"data\" in e) {\n\t\t\t\t\tconst local = this.toLocal(\n\t\t\t\t\t\te.data.global,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\tDTreeItemNonEditable.WORK_CONTAINS_POINT\n\t\t\t\t\t);\n\t\t\t\t\tif (local.x <= this.padding.getLeft()) {\n\t\t\t\t\t\tthis.toggle();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.onSelect(e, node);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.onSelect(e, node);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTreeItemNonEditable\";\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-item-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DImageBase, DImageBaseEvents, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemState } from \"./d-tree-item-state\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\n/**\n * {@link DTreeItemText} events.\n */\nexport interface DTreeItemTextEvents<NODE, EMITTER> extends DImageBaseEvents<NODE, EMITTER> {\n\t/**\n\t * Triggered when a node is set.\n\t *\n\t * @param node a node\n\t * @param index an index number of a node\n\t * @param emitter an emitter\n\t */\n\tset(node: NODE, index: number, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when set to undefined.\n\t *\n\t * @param emitter an emitter\n\t */\n\tunset(emitter: EMITTER): void;\n}\n\n/**\n * {@link DTreeItemText} \"on\" options.\n */\nexport interface DTreeItemTextOnOptions<NODE, EMITTER>\n\textends Partial<DTreeItemTextEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTreeItemText} options.\n */\nexport interface DTreeItemTextOptions<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\tEMITTER = any\n> extends DImageBaseOptions<string, THEME> {\n\ton?: DTreeItemTextOnOptions<NODE, EMITTER>;\n}\n\nexport interface DThemeTreeItemText extends DThemeImageBase<string> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTreeItemText<\n\t\tNODE extends DTreeNode = DTreeNode,\n\t\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\t\tOPTIONS extends DTreeItemTextOptions<NODE, THEME> = DTreeItemTextOptions<NODE, THEME>\n\t>\n\textends DImageBase<string, THEME, OPTIONS>\n\timplements DTreeItem<NODE>\n{\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _data: DTreeData<NODE>;\n\tprotected _node?: NODE;\n\tprotected _index?: number;\n\n\tconstructor(data: DTreeData<NODE>, options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = data;\n\t}\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tget node(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget value(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget index(): number | undefined {\n\t\treturn this._index;\n\t}\n\n\tget data(): DTreeData<NODE> {\n\t\treturn this._data;\n\t}\n\n\ttoggle(): void {\n\t\tconst node = this._node;\n\t\tif (node !== undefined) {\n\t\t\tthis._data.toggle(node);\n\t\t}\n\t}\n\n\tset(node: NODE, index: number, forcibly?: boolean): void {\n\t\tconst data = this._data;\n\t\tconst isNodeChanged = forcibly || this._node !== node;\n\t\tif (isNodeChanged) {\n\t\t\tthis._node = node;\n\t\t\tthis._index = index;\n\n\t\t\tconst accessor = data.accessor;\n\t\t\tthis.text = accessor.toLabel(node);\n\t\t\tthis.title = accessor.toTitle(node) ?? \"\";\n\t\t\tthis.image = accessor.toImage(node);\n\t\t}\n\n\t\tconst level = data.mapped.levels[index];\n\t\tthis._padding.adjLeft(this.theme.getLevelPadding(level));\n\n\t\tconst children = data.accessor.toChildren(node);\n\t\tconst hasChildren = !!(children && 0 < children.length);\n\t\tconst state = this.state;\n\t\tstate.lock();\n\t\tstate.set(DBaseState.ACTIVE, data.selection.contains(node));\n\t\tstate.remove(DBaseState.DISABLED);\n\t\tstate.set(DTreeItemState.HAS_CHILDREN, hasChildren);\n\t\tstate.set(DTreeItemState.OPENED, data.isExpanded(node));\n\t\tstate.unlock();\n\n\t\tif (isNodeChanged) {\n\t\t\tthis.emit(\"set\", node, index, this);\n\t\t}\n\t}\n\n\tunset(): void {\n\t\tif (this._node !== undefined) {\n\t\t\tthis._node = undefined;\n\t\t\tthis._index = undefined;\n\n\t\t\tthis.text = undefined;\n\t\t\tthis.title = \"\";\n\t\t\tthis.image = undefined;\n\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.add(DBaseState.DISABLED);\n\t\t\tstate.remove(DBaseState.ACTIVE);\n\t\t\tstate.unlock();\n\n\t\t\tthis.emit(\"unset\", this);\n\t\t}\n\t}\n\n\tprotected onSelect(\n\t\te: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent | undefined,\n\t\tvalue: NODE\n\t): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tif (selection.type !== DTreeDataSelectionType.MULTIPLE) {\n\t\t\tselection.clearAndAdd(value);\n\t\t} else {\n\t\t\tconst originalEvent = e && \"data\" in e ? e.data.originalEvent : e;\n\t\t\tif (originalEvent?.ctrlKey) {\n\t\t\t\tselection.toggle(value);\n\t\t\t} else if (originalEvent?.shiftKey) {\n\t\t\t\tconst mapped = data.mapped;\n\t\t\t\tconst last = selection.last;\n\t\t\t\tif (value === last) {\n\t\t\t\t\tselection.clearAndAdd(value);\n\t\t\t\t} else {\n\t\t\t\t\tlet isFound = false;\n\t\t\t\t\tlet isReverse = false;\n\t\t\t\t\tconst newSelection: NODE[] = [];\n\t\t\t\t\tmapped.each((node): boolean | void => {\n\t\t\t\t\t\tif (isFound) {\n\t\t\t\t\t\t\tif (isReverse) {\n\t\t\t\t\t\t\t\tnewSelection.unshift(node);\n\t\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t\tif (node === last) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = false;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t} else if (node === last) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = true;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tselection.clearAndAddAll(newSelection);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselection.clearAndAdd(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowRightKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.expand(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowLeftKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.collapse(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tthis.onSelect(e, node);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTreeItemText\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-tree-item-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DImageBase, DImageBaseEvents, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemState } from \"./d-tree-item-state\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\n\n/**\n * {@link DTreeItemText} events.\n */\nexport interface DTreeItemTextEvents<NODE, EMITTER> extends DImageBaseEvents<NODE, EMITTER> {\n\t/**\n\t * Triggered when a node is set.\n\t *\n\t * @param node a node\n\t * @param index an index number of a node\n\t * @param emitter an emitter\n\t */\n\tset(node: NODE, index: number, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when set to undefined.\n\t *\n\t * @param emitter an emitter\n\t */\n\tunset(emitter: EMITTER): void;\n}\n\n/**\n * {@link DTreeItemText} \"on\" options.\n */\nexport interface DTreeItemTextOnOptions<NODE, EMITTER>\n\textends Partial<DTreeItemTextEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTreeItemText} options.\n */\nexport interface DTreeItemTextOptions<\n\tNODE extends DTreeNode = DTreeNode,\n\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\tEMITTER = any\n> extends DImageBaseOptions<string, THEME> {\n\ton?: DTreeItemTextOnOptions<NODE, EMITTER>;\n}\n\nexport interface DThemeTreeItemText extends DThemeImageBase<string> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTreeItemText<\n\t\tNODE extends DTreeNode = DTreeNode,\n\t\tTHEME extends DThemeTreeItemText = DThemeTreeItemText,\n\t\tOPTIONS extends DTreeItemTextOptions<NODE, THEME> = DTreeItemTextOptions<NODE, THEME>\n\t>\n\textends DImageBase<string, THEME, OPTIONS>\n\timplements DTreeItem<NODE>\n{\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _data: DTreeData<NODE>;\n\tprotected _node?: NODE;\n\tprotected _index?: number;\n\n\tconstructor(data: DTreeData<NODE>, options?: OPTIONS) {\n\t\tsuper(options);\n\t\tthis._data = data;\n\t}\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tget node(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget value(): NODE | undefined {\n\t\treturn this._node;\n\t}\n\n\tget index(): number | undefined {\n\t\treturn this._index;\n\t}\n\n\tget data(): DTreeData<NODE> {\n\t\treturn this._data;\n\t}\n\n\ttoggle(): void {\n\t\tconst node = this._node;\n\t\tif (node !== undefined) {\n\t\t\tthis._data.toggle(node);\n\t\t}\n\t}\n\n\tset(node: NODE, index: number, forcibly?: boolean): void {\n\t\tconst data = this._data;\n\t\tconst isNodeChanged = forcibly || this._node !== node;\n\t\tif (isNodeChanged) {\n\t\t\tthis._node = node;\n\t\t\tthis._index = index;\n\n\t\t\tconst accessor = data.accessor;\n\t\t\tthis.text = accessor.toLabel(node);\n\t\t\tthis.title = accessor.toTitle(node) ?? \"\";\n\t\t\tthis.image = accessor.toImage(node);\n\t\t}\n\n\t\tconst level = data.mapped.levels[index];\n\t\tthis._padding.adjLeft(this.theme.getLevelPadding(level));\n\n\t\tconst children = data.accessor.toChildren(node);\n\t\tconst hasChildren = !!(children && 0 < children.length);\n\t\tconst state = this.state;\n\t\tstate.lock();\n\t\tstate.set(DBaseState.ACTIVE, data.selection.contains(node));\n\t\tstate.remove(DBaseState.DISABLED);\n\t\tstate.set(DTreeItemState.HAS_CHILDREN, hasChildren);\n\t\tstate.set(DTreeItemState.OPENED, data.isExpanded(node));\n\t\tstate.unlock();\n\n\t\tif (isNodeChanged) {\n\t\t\tthis.emit(\"set\", node, index, this);\n\t\t}\n\t}\n\n\tunset(): void {\n\t\tif (this._node !== undefined) {\n\t\t\tthis._node = undefined;\n\t\t\tthis._index = undefined;\n\n\t\t\tthis.text = undefined;\n\t\t\tthis.title = \"\";\n\t\t\tthis.image = undefined;\n\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.add(DBaseState.DISABLED);\n\t\t\tstate.remove(DBaseState.ACTIVE);\n\t\t\tstate.unlock();\n\n\t\t\tthis.emit(\"unset\", this);\n\t\t}\n\t}\n\n\tprotected onSelect(\n\t\te: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent | undefined,\n\t\tvalue: NODE\n\t): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tif (selection.type !== DTreeDataSelectionType.MULTIPLE) {\n\t\t\tselection.clearAndAdd(value);\n\t\t} else {\n\t\t\tconst originalEvent = e && \"data\" in e ? e.data.originalEvent : e;\n\t\t\tif (originalEvent?.ctrlKey) {\n\t\t\t\tselection.toggle(value);\n\t\t\t} else if (originalEvent?.shiftKey) {\n\t\t\t\tconst mapped = data.mapped;\n\t\t\t\tconst last = selection.last;\n\t\t\t\tif (value === last) {\n\t\t\t\t\tselection.clearAndAdd(value);\n\t\t\t\t} else {\n\t\t\t\t\tlet isFound = false;\n\t\t\t\t\tlet isReverse = false;\n\t\t\t\t\tconst newSelection: NODE[] = [];\n\t\t\t\t\tmapped.each((node): boolean | void => {\n\t\t\t\t\t\tif (isFound) {\n\t\t\t\t\t\t\tif (isReverse) {\n\t\t\t\t\t\t\t\tnewSelection.unshift(node);\n\t\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t\tif (node === last) {\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (node === value) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = false;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t} else if (node === last) {\n\t\t\t\t\t\t\t\tisFound = true;\n\t\t\t\t\t\t\t\tisReverse = true;\n\t\t\t\t\t\t\t\tnewSelection.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tselection.clearAndAddAll(newSelection);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tselection.clearAndAdd(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onKeyDownActivate(e);\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowRightKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.expand(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (UtilKeyboardEvent.isArrowLeftKey(e)) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tif (this.state.is(DTreeItemState.HAS_CHILDREN)) {\n\t\t\t\t\tthis._data.collapse(node);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyDownActivate(e: KeyboardEvent): boolean {\n\t\tif (this.state.isActionable && this.state.isFocused) {\n\t\t\tconst node = this._node;\n\t\t\tif (node !== undefined) {\n\t\t\t\tthis.onSelect(e, node);\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTreeItemText\";\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-view-gesture-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-gesture-impl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"d-view-gesture-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-gesture-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { UtilGestureMode } from \"./util/util-gesture-mode\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { DThemeViewGesture, DViewGesture, DViewGestureOptions } from \"./d-view-gesture\";\nimport { DViewParent } from \"./d-view-parent\";\nimport { DViewTarget, DViewToTarget } from \"./d-view-to-target\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilGesture } from \"./util/util-gesture\";\nimport { DViewConstraint } from \"./d-view-constraint\";\n\nexport class DViewGestureImpl implements DViewGesture {\n\tprotected _owner: DBase;\n\tprotected _parent: DViewParent;\n\tprotected _constraint: DViewConstraint;\n\tprotected _gestureUtil?: UtilGesture<DBase>;\n\n\tconstructor(\n\t\towner: DBase,\n\t\ttoTarget: DViewToTarget,\n\t\tparent: DViewParent,\n\t\tconstraint: DViewConstraint,\n\t\ttheme: DThemeViewGesture,\n\t\toptions?: DViewGestureOptions\n\t) {\n\t\tthis._owner = owner;\n\t\tthis._parent = parent;\n\t\tthis._constraint = constraint;\n\n\t\tconst mode = toEnum(options?.mode ?? theme.getGestureMode(), UtilGestureMode);\n\t\tconst modifier = toEnum(\n\t\t\toptions?.modifier ?? theme.getGestureModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tif (mode === UtilGestureMode.ON || mode === UtilGestureMode.TOUCH) {\n\t\t\tthis._gestureUtil = new UtilGesture<DBase>({\n\t\t\t\ttouch: mode === UtilGestureMode.TOUCH,\n\t\t\t\tmodifier,\n\t\t\t\tchecker: options && options.checker,\n\t\t\t\teasing: {\n\t\t\t\t\tduration: options?.duration\n\t\t\t\t},\n\t\t\t\ton: {\n\t\t\t\t\tstart: (target): void => {\n\t\t\t\t\t\tthis.onStart(target);\n\t\t\t\t\t},\n\t\t\t\t\tmove: (\n\t\t\t\t\t\ttarget: DBase,\n\t\t\t\t\t\tdx: number,\n\t\t\t\t\t\tdy: number,\n\t\t\t\t\t\tx: number,\n\t\t\t\t\t\ty: number,\n\t\t\t\t\t\tds: number\n\t\t\t\t\t): void => {\n\t\t\t\t\t\tthis.onGestureMove(toTarget(owner), dx, dy, x, y, ds);\n\t\t\t\t\t},\n\t\t\t\t\teasing: {\n\t\t\t\t\t\tend: (target): void => {\n\t\t\t\t\t\t\tthis.onEnd(target);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tstop: (target): void => {\n\t\t\t\t\t\tthis.onStop(target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected onStart(target: DBase): void {\n\t\tconst parent = this._parent;\n\t\tparent.stop();\n\t\tparent.emit(\"gesturestart\", target, parent);\n\t}\n\n\tprotected onEnd(target: DBase): void {\n\t\tconst parent = this._parent;\n\t\tparent.emit(\"gestureend\", target, parent);\n\t}\n\n\tprotected onStop(target: DBase): void {\n\t\tconst parent = this._parent;\n\t\tparent.emit(\"gesturestop\", target, parent);\n\t}\n\n\tprotected onGestureMove(\n\t\ttarget: DViewTarget | null,\n\t\tdx: number,\n\t\tdy: number,\n\t\tx: number,\n\t\ty: number,\n\t\tds: number\n\t): void {\n\t\tif (target) {\n\t\t\t// Scale\n\t\t\tconst parent = this._parent;\n\t\t\tconst oldScale = target.scale;\n\t\t\tconst oldScaleX = oldScale.x;\n\t\t\tconst oldScaleY = oldScale.y;\n\t\t\tlet newScaleX = parent.toNormalizedScale(oldScaleX * ds);\n\t\t\tlet newScaleY = parent.toNormalizedScale(oldScaleY * ds);\n\n\t\t\tconst scaleRatioX = newScaleX / oldScaleX;\n\t\t\tconst scaleRatioY = newScaleY / oldScaleY;\n\t\t\tconst scaleRatio =\n\t\t\t\tds < 1 ? Math.max(scaleRatioX, scaleRatioY) : Math.min(scaleRatioX, scaleRatioY);\n\t\t\tnewScaleX = scaleRatio * oldScaleX;\n\t\t\tnewScaleY = scaleRatio * oldScaleY;\n\n\t\t\t// Position\n\t\t\tconst cx = x - dx;\n\t\t\tconst cy = y - dy;\n\t\t\tconst position = target.position;\n\t\t\tconst newX = (position.x - cx) * scaleRatio + x;\n\t\t\tconst newY = (position.y - cy) * scaleRatio + y;\n\n\t\t\t// Update\n\t\t\tthis._constraint(target, newX, newY, newScaleX, newScaleY);\n\t\t}\n\t}\n\n\tstop(): void {\n\t\tthis._gestureUtil?.stop(this._owner);\n\t}\n\n\tonDown(e: InteractionEvent): void {\n\t\tthis._gestureUtil?.onDown(this._owner, e);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-view-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, IPoint, Point, Rectangle, utils } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { UtilGestureModifiers } from \"./util/util-gesture-modifiers\";\nimport { DThemeView, DView, DViewChecker, DViewOptions } from \"./d-view\";\nimport { DViewGesture } from \"./d-view-gesture\";\nimport { DViewGestureImpl } from \"./d-view-gesture-impl\";\nimport { DViewTargetPoint, DViewToTarget } from \"./d-view-to-target\";\nimport { DViewTransformImpl } from \"./d-view-transform-impl\";\nimport { DThemes } from \"./theme/d-themes\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { UtilWheelEventDeltas } from \"./util/util-wheel-event\";\nimport { DViewConstraint } from \"./d-view-constraint\";\n\nexport class DViewImpl extends utils.EventEmitter implements DView {\n\tprotected static CONSTRAINT: DViewConstraint = (target, x, y, scaleX, scaleY): void => {\n\t\ttarget.scale.set(scaleX, scaleY);\n\t\ttarget.position.set(x, y);\n\t};\n\n\tprotected _parent: DBase;\n\tprotected _toTarget: DViewToTarget;\n\tprotected _constraint: DViewConstraint;\n\n\tprotected _zoomPoint: Point;\n\tprotected _zoomMin: number;\n\tprotected _zoomMax: number;\n\tprotected _zoomKeepRatio: boolean;\n\n\tprotected _isWheelZoomEnabled: boolean;\n\tprotected _wheelZoomSpeed: number;\n\tprotected _wheelZoomModifier: UtilGestureModifier;\n\tprotected _wheelZoomChecker: DViewChecker;\n\n\tprotected _isDblClickZoomEnabled: boolean;\n\tprotected _dblClickZoomSpeed: number;\n\tprotected _dblClickZoomModifier: UtilGestureModifier;\n\tprotected _dblClickZoomChecker: DViewChecker;\n\tprotected _dblclickZoomDuration: number;\n\n\tprotected _isWheelTranslationEnabled: boolean;\n\tprotected _wheelTranslationSpeed: number;\n\tprotected _wheelTranslationModifier: UtilGestureModifier;\n\tprotected _wheelTranslationChecker: DViewChecker;\n\n\tprotected _transform: DViewTransformImpl;\n\tprotected _gesture: DViewGestureImpl;\n\n\tprotected _workRect: Rectangle;\n\n\tconstructor(parent: DBase, toTarget: DViewToTarget, options: DViewOptions | undefined) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._toTarget = toTarget;\n\t\tthis._constraint = (options && options.constraint) || DViewImpl.CONSTRAINT;\n\n\t\tthis._workRect = new Rectangle();\n\n\t\t// Theme\n\t\tconst theme = this.toTheme(options) || this.getThemeDefault();\n\n\t\t// Zoom\n\t\tconst zoom = options?.zoom;\n\t\tthis._zoomPoint = new Point();\n\t\tthis._zoomMin = zoom?.min ?? theme.getZoomMin();\n\t\tthis._zoomMax = zoom?.max ?? theme.getZoomMax();\n\t\tthis._zoomKeepRatio = zoom?.keepRatio ?? theme.getZoomKeepRatio();\n\n\t\t// Zoom: Wheel\n\t\tconst wheelZoom = zoom?.wheel;\n\t\tthis._isWheelZoomEnabled = wheelZoom?.enable ?? theme.isWheelZoomEnabled();\n\t\tthis._wheelZoomSpeed = wheelZoom?.speed ?? theme.getWheelZoomSpeed();\n\t\tthis._wheelZoomModifier = toEnum(\n\t\t\twheelZoom?.modifier ?? theme.getWheelZoomModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tthis._wheelZoomChecker = wheelZoom?.checker ?? UtilGestureModifiers.match;\n\n\t\t// Zoom: Dbl click\n\t\tconst dblClickZoom = zoom?.dblclick;\n\t\tthis._isDblClickZoomEnabled = dblClickZoom?.enable ?? theme.isDblClickZoomEnabled();\n\t\tthis._dblClickZoomSpeed = dblClickZoom?.amount ?? theme.getDblClickZoomSpeed();\n\t\tthis._dblClickZoomModifier = toEnum(\n\t\t\tdblClickZoom?.modifier ?? theme.getDblClickZoomModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tthis._dblClickZoomChecker = dblClickZoom?.checker ?? UtilGestureModifiers.match;\n\t\tthis._dblclickZoomDuration = dblClickZoom?.duration ?? theme.getDblClickZoomDuration();\n\n\t\t// Translation: Wheel\n\t\tconst wheelTranslation = options?.translation?.wheel;\n\t\tthis._isWheelTranslationEnabled =\n\t\t\twheelTranslation?.enable ?? theme.isWheelTranslationEnabled();\n\t\tthis._wheelTranslationSpeed = wheelTranslation?.speed ?? theme.getWheelTranslationSpeed();\n\t\tthis._wheelTranslationModifier = toEnum(\n\t\t\twheelTranslation?.modifier ?? theme.getWheelTranslationModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tthis._wheelTranslationChecker = wheelTranslation?.checker ?? UtilGestureModifiers.match;\n\n\t\t// Gesture\n\t\tthis._gesture = new DViewGestureImpl(\n\t\t\tparent,\n\t\t\ttoTarget,\n\t\t\tthis,\n\t\t\tthis._constraint,\n\t\t\ttheme,\n\t\t\toptions?.gesture\n\t\t);\n\n\t\t// Transform\n\t\tthis._transform = new DViewTransformImpl(\n\t\t\tparent,\n\t\t\ttoTarget,\n\t\t\tthis,\n\t\t\tthis._constraint,\n\t\t\tthis._dblclickZoomDuration\n\t\t);\n\n\t\t// Events\n\t\tif (options != null) {\n\t\t\tconst on = options.on;\n\t\t\tif (on != null) {\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\tget gesture(): DViewGesture {\n\t\treturn this._gesture;\n\t}\n\n\tstop(): void {\n\t\tthis._gesture.stop();\n\t\tthis._transform.stop();\n\t}\n\n\treset(duration?: number, stop?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tconst target = this._toTarget(parent);\n\t\tif (target) {\n\t\t\tconst padding = parent.padding;\n\t\t\tconst pl = padding.getLeft();\n\t\t\tconst pt = padding.getTop();\n\t\t\tconst pr = padding.getRight();\n\t\t\tconst pb = padding.getBottom();\n\t\t\tconst w = parent.width;\n\t\t\tconst h = parent.height;\n\t\t\tconst sw = w - pl - pr;\n\t\t\tconst sh = h - pt - pb;\n\t\t\tconst trect = target.getLocalBounds(this._workRect);\n\t\t\tconst tx = trect.x;\n\t\t\tconst ty = trect.y;\n\t\t\tconst tw = trect.width;\n\t\t\tconst th = trect.height;\n\t\t\tconst ntx = pl + (sw - tw) * 0.5 - tx;\n\t\t\tconst nty = pt + (sh - th) * 0.5 - ty;\n\t\t\tthis._transform.start(target, ntx, nty, 1, 1, duration, stop);\n\t\t}\n\t}\n\n\tfit(duration?: number, stop?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tconst target = this._toTarget(parent);\n\t\tif (target) {\n\t\t\tconst padding = parent.padding;\n\t\t\tconst pl = padding.getLeft();\n\t\t\tconst pt = padding.getTop();\n\t\t\tconst pr = padding.getRight();\n\t\t\tconst pb = padding.getBottom();\n\t\t\tconst w = parent.width;\n\t\t\tconst h = parent.height;\n\t\t\tconst sw = w - pl - pr;\n\t\t\tconst sh = h - pt - pb;\n\t\t\tconst trect = target.getLocalBounds(this._workRect);\n\t\t\tconst tx = trect.x;\n\t\t\tconst ty = trect.y;\n\t\t\tconst tw = trect.width;\n\t\t\tconst th = trect.height;\n\t\t\tlet ntsx = sw / tw;\n\t\t\tlet ntsy = sh / th;\n\t\t\tif (this._zoomKeepRatio) {\n\t\t\t\tconst nts = this.toNormalizedScale(Math.min(ntsx, ntsy));\n\t\t\t\tntsx = nts;\n\t\t\t\tntsy = nts;\n\t\t\t} else {\n\t\t\t\tntsx = this.toNormalizedScale(ntsx);\n\t\t\t\tntsy = this.toNormalizedScale(ntsy);\n\t\t\t}\n\t\t\tconst ntx = pl + (sw - tw * ntsx) * 0.5 - tx * ntsx;\n\t\t\tconst nty = pt + (sh - th * ntsy) * 0.5 - ty * ntsy;\n\t\t\tthis._transform.start(target, ntx, nty, ntsx, ntsy, duration, stop);\n\t\t}\n\t}\n\n\tzoomIn(duration?: number, stop?: boolean): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst factor = this._dblClickZoomSpeed;\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis.zoom(targetScale.x * factor, targetScale.y * factor, duration, stop);\n\t\t}\n\t}\n\n\tzoomOut(duration?: number, stop?: boolean): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst factor = 1 / this._dblClickZoomSpeed;\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis.zoom(targetScale.x * factor, targetScale.y * factor, duration, stop);\n\t\t}\n\t}\n\n\tzoomAt(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\t// Scale\n\t\t\tconst oldScaleX = target.scale.x;\n\t\t\tconst oldScaleY = target.scale.y;\n\t\t\tconst newScaleX = this.toNormalizedScale(scaleX);\n\t\t\tconst newScaleY = this.toNormalizedScale(scaleY);\n\t\t\tconst scaleRatioX = newScaleX / oldScaleX;\n\t\t\tconst scaleRatioY = newScaleY / oldScaleY;\n\n\t\t\t// Position\n\t\t\tconst newX = (target.position.x - x) * scaleRatioX + x;\n\t\t\tconst newY = (target.position.y - y) * scaleRatioY + y;\n\n\t\t\t// Start\n\t\t\tthis._transform.start(target, newX, newY, newScaleX, newScaleY, duration, stop);\n\t\t}\n\t}\n\n\tzoomAtGlobal(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void {\n\t\tconst local = this._zoomPoint;\n\t\tlocal.set(x, y);\n\t\tthis.toLocal(local, local);\n\t\tthis.zoomAt(local.x, local.y, scaleX, scaleY, duration, stop);\n\t}\n\n\tzoom(scaleX: number, scaleY: number, duration?: number, stop?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tthis.zoomAt(parent.width * 0.5, parent.height * 0.5, scaleX, scaleY, duration, stop);\n\t}\n\n\tget scale(): DViewTargetPoint {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\treturn target.scale;\n\t\t}\n\t\treturn new Point(1, 1);\n\t}\n\n\tset scale(scale: DViewTargetPoint) {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst newScaleX = this.toNormalizedScale(scale.x);\n\t\t\tconst newScaleY = this.toNormalizedScale(scale.y);\n\t\t\tconst targetPosition = target.position;\n\t\t\tthis._constraint(target, targetPosition.x, targetPosition.y, newScaleX, newScaleY);\n\t\t}\n\t}\n\n\tmoveTo(x: number, y: number, duration?: number, stop?: boolean): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis._transform.start(target, x, y, targetScale.x, targetScale.y, duration, stop);\n\t\t}\n\t}\n\n\tget position(): DViewTargetPoint {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\treturn target.position;\n\t\t}\n\t\treturn new Point(0, 0);\n\t}\n\n\tset position(position: DViewTargetPoint) {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis._constraint(target, position.x, position.y, targetScale.x, targetScale.y);\n\t\t}\n\t}\n\n\ttransform(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tthis._transform.start(target, x, y, scaleX, scaleY, duration, stop);\n\t\t}\n\t}\n\n\ttoLocal(global: IPoint, local: IPoint, skipUpdate?: boolean): IPoint {\n\t\treturn this._parent.toLocal(global, undefined, local, skipUpdate);\n\t}\n\n\ttoGlobal(local: IPoint, global: IPoint, skipUpdate?: boolean): IPoint {\n\t\treturn this._parent.toGlobal(local, global, skipUpdate);\n\t}\n\n\ttoNormalizedScale(scale: number): number {\n\t\treturn Math.min(this._zoomMax, Math.max(this._zoomMin, scale));\n\t}\n\n\tonWheel(e: WheelEvent, deltas: UtilWheelEventDeltas, global: Point): boolean {\n\t\tif (\n\t\t\tthis._isWheelZoomEnabled &&\n\t\t\tthis._wheelZoomChecker(e, this._wheelZoomModifier, this._parent)\n\t\t) {\n\t\t\tif (deltas.deltaY !== 0) {\n\t\t\t\tconst target = this._toTarget(this._parent);\n\t\t\t\tif (target) {\n\t\t\t\t\tconst speed = deltas.lowest * this._wheelZoomSpeed;\n\t\t\t\t\tconst factor = 1 + deltas.deltaY * speed;\n\t\t\t\t\tconst targetScale = target.scale;\n\t\t\t\t\tthis.zoomAtGlobal(\n\t\t\t\t\t\tglobal.x,\n\t\t\t\t\t\tglobal.y,\n\t\t\t\t\t\ttargetScale.x * factor,\n\t\t\t\t\t\ttargetScale.y * factor,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tthis._isWheelTranslationEnabled &&\n\t\t\tthis._wheelTranslationChecker(e, this._wheelTranslationModifier, this._parent)\n\t\t) {\n\t\t\tconst target = this._toTarget(this._parent);\n\t\t\tif (target) {\n\t\t\t\tthis.stop();\n\t\t\t\tthis.emit(\"wheeltranslationstart\", this._parent, this);\n\t\t\t\tconst speed = deltas.lowest * this._wheelTranslationSpeed;\n\t\t\t\tconst targetPosition = target.position;\n\t\t\t\tconst newX = targetPosition.x - deltas.deltaX * speed;\n\t\t\t\tconst newY = targetPosition.y + deltas.deltaY * speed;\n\t\t\t\tconst targetScale = target.scale;\n\t\t\t\tthis._constraint(target, newX, newY, targetScale.x, targetScale.y);\n\t\t\t\tthis.emit(\"wheeltranslationend\", this._parent, this);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tonDown(e: interaction.InteractionEvent): void {\n\t\tthis._gesture.onDown(e);\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\tif (\n\t\t\tthis._isDblClickZoomEnabled &&\n\t\t\tthis._dblClickZoomChecker(e, this._dblClickZoomModifier, this._parent)\n\t\t) {\n\t\t\tconst target = this._toTarget(this._parent);\n\t\t\tif (target) {\n\t\t\t\tconst global = this._zoomPoint;\n\t\t\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\t\t\tconst factor = this._dblClickZoomSpeed;\n\t\t\t\tconst targetScale = target.scale;\n\t\t\t\tthis.zoomAtGlobal(\n\t\t\t\t\tglobal.x,\n\t\t\t\t\tglobal.y,\n\t\t\t\t\ttargetScale.x * factor,\n\t\t\t\t\ttargetScale.y * factor,\n\t\t\t\t\tthis._dblclickZoomDuration\n\t\t\t\t);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprotected toTheme(options?: DViewOptions): DThemeView | null {\n\t\tif (options && options.theme) {\n\t\t\tconst theme = options.theme;\n\t\t\tif (isString(theme)) {\n\t\t\t\treturn DThemes.getInstance().get(theme);\n\t\t\t} else {\n\t\t\t\treturn theme;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getThemeDefault(): DThemeView {\n\t\treturn DThemes.getInstance().get(this.getType());\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DView\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-view-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-view-impl.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, InteractionEvent, InteractionManager, Point, Rectangle, utils } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { UtilGestureModifier } from \"./util/util-gesture-modifier\";\nimport { UtilGestureModifiers } from \"./util/util-gesture-modifiers\";\nimport { DThemeView, DView, DViewChecker, DViewOptions } from \"./d-view\";\nimport { DViewGesture } from \"./d-view-gesture\";\nimport { DViewGestureImpl } from \"./d-view-gesture-impl\";\nimport { DViewTargetPoint, DViewToTarget } from \"./d-view-to-target\";\nimport { DViewTransformImpl } from \"./d-view-transform-impl\";\nimport { DThemes } from \"./theme/d-themes\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { UtilWheelEventDeltas } from \"./util/util-wheel-event\";\nimport { DViewConstraint } from \"./d-view-constraint\";\n\nexport class DViewImpl extends utils.EventEmitter implements DView {\n\tprotected static CONSTRAINT: DViewConstraint = (target, x, y, scaleX, scaleY): void => {\n\t\ttarget.scale.set(scaleX, scaleY);\n\t\ttarget.position.set(x, y);\n\t};\n\n\tprotected _parent: DBase;\n\tprotected _toTarget: DViewToTarget;\n\tprotected _constraint: DViewConstraint;\n\n\tprotected _zoomPoint: Point;\n\tprotected _zoomMin: number;\n\tprotected _zoomMax: number;\n\tprotected _zoomKeepRatio: boolean;\n\n\tprotected _isWheelZoomEnabled: boolean;\n\tprotected _wheelZoomSpeed: number;\n\tprotected _wheelZoomModifier: UtilGestureModifier;\n\tprotected _wheelZoomChecker: DViewChecker;\n\n\tprotected _isDblClickZoomEnabled: boolean;\n\tprotected _dblClickZoomSpeed: number;\n\tprotected _dblClickZoomModifier: UtilGestureModifier;\n\tprotected _dblClickZoomChecker: DViewChecker;\n\tprotected _dblclickZoomDuration: number;\n\n\tprotected _isWheelTranslationEnabled: boolean;\n\tprotected _wheelTranslationSpeed: number;\n\tprotected _wheelTranslationModifier: UtilGestureModifier;\n\tprotected _wheelTranslationChecker: DViewChecker;\n\n\tprotected _transform: DViewTransformImpl;\n\tprotected _gesture: DViewGestureImpl;\n\n\tprotected _workRect: Rectangle;\n\n\tconstructor(parent: DBase, toTarget: DViewToTarget, options: DViewOptions | undefined) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._toTarget = toTarget;\n\t\tthis._constraint = (options && options.constraint) || DViewImpl.CONSTRAINT;\n\n\t\tthis._workRect = new Rectangle();\n\n\t\t// Theme\n\t\tconst theme = this.toTheme(options) || this.getThemeDefault();\n\n\t\t// Zoom\n\t\tconst zoom = options?.zoom;\n\t\tthis._zoomPoint = new Point();\n\t\tthis._zoomMin = zoom?.min ?? theme.getZoomMin();\n\t\tthis._zoomMax = zoom?.max ?? theme.getZoomMax();\n\t\tthis._zoomKeepRatio = zoom?.keepRatio ?? theme.getZoomKeepRatio();\n\n\t\t// Zoom: Wheel\n\t\tconst wheelZoom = zoom?.wheel;\n\t\tthis._isWheelZoomEnabled = wheelZoom?.enable ?? theme.isWheelZoomEnabled();\n\t\tthis._wheelZoomSpeed = wheelZoom?.speed ?? theme.getWheelZoomSpeed();\n\t\tthis._wheelZoomModifier = toEnum(\n\t\t\twheelZoom?.modifier ?? theme.getWheelZoomModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tthis._wheelZoomChecker = wheelZoom?.checker ?? UtilGestureModifiers.match;\n\n\t\t// Zoom: Dbl click\n\t\tconst dblClickZoom = zoom?.dblclick;\n\t\tthis._isDblClickZoomEnabled = dblClickZoom?.enable ?? theme.isDblClickZoomEnabled();\n\t\tthis._dblClickZoomSpeed = dblClickZoom?.amount ?? theme.getDblClickZoomSpeed();\n\t\tthis._dblClickZoomModifier = toEnum(\n\t\t\tdblClickZoom?.modifier ?? theme.getDblClickZoomModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tthis._dblClickZoomChecker = dblClickZoom?.checker ?? UtilGestureModifiers.match;\n\t\tthis._dblclickZoomDuration = dblClickZoom?.duration ?? theme.getDblClickZoomDuration();\n\n\t\t// Translation: Wheel\n\t\tconst wheelTranslation = options?.translation?.wheel;\n\t\tthis._isWheelTranslationEnabled =\n\t\t\twheelTranslation?.enable ?? theme.isWheelTranslationEnabled();\n\t\tthis._wheelTranslationSpeed = wheelTranslation?.speed ?? theme.getWheelTranslationSpeed();\n\t\tthis._wheelTranslationModifier = toEnum(\n\t\t\twheelTranslation?.modifier ?? theme.getWheelTranslationModifier(),\n\t\t\tUtilGestureModifier\n\t\t);\n\t\tthis._wheelTranslationChecker = wheelTranslation?.checker ?? UtilGestureModifiers.match;\n\n\t\t// Gesture\n\t\tthis._gesture = new DViewGestureImpl(\n\t\t\tparent,\n\t\t\ttoTarget,\n\t\t\tthis,\n\t\t\tthis._constraint,\n\t\t\ttheme,\n\t\t\toptions?.gesture\n\t\t);\n\n\t\t// Transform\n\t\tthis._transform = new DViewTransformImpl(\n\t\t\tparent,\n\t\t\ttoTarget,\n\t\t\tthis,\n\t\t\tthis._constraint,\n\t\t\tthis._dblclickZoomDuration\n\t\t);\n\n\t\t// Events\n\t\tif (options != null) {\n\t\t\tconst on = options.on;\n\t\t\tif (on != null) {\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\tget gesture(): DViewGesture {\n\t\treturn this._gesture;\n\t}\n\n\tstop(): void {\n\t\tthis._gesture.stop();\n\t\tthis._transform.stop();\n\t}\n\n\treset(duration?: number, stop?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tconst target = this._toTarget(parent);\n\t\tif (target) {\n\t\t\tconst padding = parent.padding;\n\t\t\tconst pl = padding.getLeft();\n\t\t\tconst pt = padding.getTop();\n\t\t\tconst pr = padding.getRight();\n\t\t\tconst pb = padding.getBottom();\n\t\t\tconst w = parent.width;\n\t\t\tconst h = parent.height;\n\t\t\tconst sw = w - pl - pr;\n\t\t\tconst sh = h - pt - pb;\n\t\t\tconst trect = target.getLocalBounds(this._workRect);\n\t\t\tconst tx = trect.x;\n\t\t\tconst ty = trect.y;\n\t\t\tconst tw = trect.width;\n\t\t\tconst th = trect.height;\n\t\t\tconst ntx = pl + (sw - tw) * 0.5 - tx;\n\t\t\tconst nty = pt + (sh - th) * 0.5 - ty;\n\t\t\tthis._transform.start(target, ntx, nty, 1, 1, duration, stop);\n\t\t}\n\t}\n\n\tfit(duration?: number, stop?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tconst target = this._toTarget(parent);\n\t\tif (target) {\n\t\t\tconst padding = parent.padding;\n\t\t\tconst pl = padding.getLeft();\n\t\t\tconst pt = padding.getTop();\n\t\t\tconst pr = padding.getRight();\n\t\t\tconst pb = padding.getBottom();\n\t\t\tconst w = parent.width;\n\t\t\tconst h = parent.height;\n\t\t\tconst sw = w - pl - pr;\n\t\t\tconst sh = h - pt - pb;\n\t\t\tconst trect = target.getLocalBounds(this._workRect);\n\t\t\tconst tx = trect.x;\n\t\t\tconst ty = trect.y;\n\t\t\tconst tw = trect.width;\n\t\t\tconst th = trect.height;\n\t\t\tlet ntsx = sw / tw;\n\t\t\tlet ntsy = sh / th;\n\t\t\tif (this._zoomKeepRatio) {\n\t\t\t\tconst nts = this.toNormalizedScale(Math.min(ntsx, ntsy));\n\t\t\t\tntsx = nts;\n\t\t\t\tntsy = nts;\n\t\t\t} else {\n\t\t\t\tntsx = this.toNormalizedScale(ntsx);\n\t\t\t\tntsy = this.toNormalizedScale(ntsy);\n\t\t\t}\n\t\t\tconst ntx = pl + (sw - tw * ntsx) * 0.5 - tx * ntsx;\n\t\t\tconst nty = pt + (sh - th * ntsy) * 0.5 - ty * ntsy;\n\t\t\tthis._transform.start(target, ntx, nty, ntsx, ntsy, duration, stop);\n\t\t}\n\t}\n\n\tzoomIn(duration?: number, stop?: boolean): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst factor = this._dblClickZoomSpeed;\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis.zoom(targetScale.x * factor, targetScale.y * factor, duration, stop);\n\t\t}\n\t}\n\n\tzoomOut(duration?: number, stop?: boolean): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst factor = 1 / this._dblClickZoomSpeed;\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis.zoom(targetScale.x * factor, targetScale.y * factor, duration, stop);\n\t\t}\n\t}\n\n\tzoomAt(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\t// Scale\n\t\t\tconst oldScaleX = target.scale.x;\n\t\t\tconst oldScaleY = target.scale.y;\n\t\t\tconst newScaleX = this.toNormalizedScale(scaleX);\n\t\t\tconst newScaleY = this.toNormalizedScale(scaleY);\n\t\t\tconst scaleRatioX = newScaleX / oldScaleX;\n\t\t\tconst scaleRatioY = newScaleY / oldScaleY;\n\n\t\t\t// Position\n\t\t\tconst newX = (target.position.x - x) * scaleRatioX + x;\n\t\t\tconst newY = (target.position.y - y) * scaleRatioY + y;\n\n\t\t\t// Start\n\t\t\tthis._transform.start(target, newX, newY, newScaleX, newScaleY, duration, stop);\n\t\t}\n\t}\n\n\tzoomAtGlobal(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void {\n\t\tconst local = this._zoomPoint;\n\t\tlocal.set(x, y);\n\t\tthis.toLocal(local, local);\n\t\tthis.zoomAt(local.x, local.y, scaleX, scaleY, duration, stop);\n\t}\n\n\tzoom(scaleX: number, scaleY: number, duration?: number, stop?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tthis.zoomAt(parent.width * 0.5, parent.height * 0.5, scaleX, scaleY, duration, stop);\n\t}\n\n\tget scale(): DViewTargetPoint {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\treturn target.scale;\n\t\t}\n\t\treturn new Point(1, 1);\n\t}\n\n\tset scale(scale: DViewTargetPoint) {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst newScaleX = this.toNormalizedScale(scale.x);\n\t\t\tconst newScaleY = this.toNormalizedScale(scale.y);\n\t\t\tconst targetPosition = target.position;\n\t\t\tthis._constraint(target, targetPosition.x, targetPosition.y, newScaleX, newScaleY);\n\t\t}\n\t}\n\n\tmoveTo(x: number, y: number, duration?: number, stop?: boolean): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis._transform.start(target, x, y, targetScale.x, targetScale.y, duration, stop);\n\t\t}\n\t}\n\n\tget position(): DViewTargetPoint {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\treturn target.position;\n\t\t}\n\t\treturn new Point(0, 0);\n\t}\n\n\tset position(position: DViewTargetPoint) {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tconst targetScale = target.scale;\n\t\t\tthis._constraint(target, position.x, position.y, targetScale.x, targetScale.y);\n\t\t}\n\t}\n\n\ttransform(\n\t\tx: number,\n\t\ty: number,\n\t\tscaleX: number,\n\t\tscaleY: number,\n\t\tduration?: number,\n\t\tstop?: boolean\n\t): void {\n\t\tconst target = this._toTarget(this._parent);\n\t\tif (target) {\n\t\t\tthis._transform.start(target, x, y, scaleX, scaleY, duration, stop);\n\t\t}\n\t}\n\n\ttoLocal(global: IPoint, local: Point, skipUpdate?: boolean): IPoint {\n\t\treturn this._parent.toLocal(global, undefined, local, skipUpdate);\n\t}\n\n\ttoGlobal(local: IPoint, global: Point, skipUpdate?: boolean): IPoint {\n\t\treturn this._parent.toGlobal(local, global, skipUpdate);\n\t}\n\n\ttoNormalizedScale(scale: number): number {\n\t\treturn Math.min(this._zoomMax, Math.max(this._zoomMin, scale));\n\t}\n\n\tonWheel(e: WheelEvent, deltas: UtilWheelEventDeltas, global: Point): boolean {\n\t\tif (\n\t\t\tthis._isWheelZoomEnabled &&\n\t\t\tthis._wheelZoomChecker(e, this._wheelZoomModifier, this._parent)\n\t\t) {\n\t\t\tif (deltas.deltaY !== 0) {\n\t\t\t\tconst target = this._toTarget(this._parent);\n\t\t\t\tif (target) {\n\t\t\t\t\tconst speed = deltas.lowest * this._wheelZoomSpeed;\n\t\t\t\t\tconst factor = 1 + deltas.deltaY * speed;\n\t\t\t\t\tconst targetScale = target.scale;\n\t\t\t\t\tthis.zoomAtGlobal(\n\t\t\t\t\t\tglobal.x,\n\t\t\t\t\t\tglobal.y,\n\t\t\t\t\t\ttargetScale.x * factor,\n\t\t\t\t\t\ttargetScale.y * factor,\n\t\t\t\t\t\t0\n\t\t\t\t\t);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tthis._isWheelTranslationEnabled &&\n\t\t\tthis._wheelTranslationChecker(e, this._wheelTranslationModifier, this._parent)\n\t\t) {\n\t\t\tconst target = this._toTarget(this._parent);\n\t\t\tif (target) {\n\t\t\t\tthis.stop();\n\t\t\t\tthis.emit(\"wheeltranslationstart\", this._parent, this);\n\t\t\t\tconst speed = deltas.lowest * this._wheelTranslationSpeed;\n\t\t\t\tconst targetPosition = target.position;\n\t\t\t\tconst newX = targetPosition.x - deltas.deltaX * speed;\n\t\t\t\tconst newY = targetPosition.y + deltas.deltaY * speed;\n\t\t\t\tconst targetScale = target.scale;\n\t\t\t\tthis._constraint(target, newX, newY, targetScale.x, targetScale.y);\n\t\t\t\tthis.emit(\"wheeltranslationend\", this._parent, this);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tonDown(e: InteractionEvent): void {\n\t\tthis._gesture.onDown(e);\n\t}\n\n\tonDblClick(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): boolean {\n\t\tif (\n\t\t\tthis._isDblClickZoomEnabled &&\n\t\t\tthis._dblClickZoomChecker(e, this._dblClickZoomModifier, this._parent)\n\t\t) {\n\t\t\tconst target = this._toTarget(this._parent);\n\t\t\tif (target) {\n\t\t\t\tconst global = this._zoomPoint;\n\t\t\t\tUtilPointerEvent.toGlobal(e, interactionManager, global);\n\t\t\t\tconst factor = this._dblClickZoomSpeed;\n\t\t\t\tconst targetScale = target.scale;\n\t\t\t\tthis.zoomAtGlobal(\n\t\t\t\t\tglobal.x,\n\t\t\t\t\tglobal.y,\n\t\t\t\t\ttargetScale.x * factor,\n\t\t\t\t\ttargetScale.y * factor,\n\t\t\t\t\tthis._dblclickZoomDuration\n\t\t\t\t);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprotected toTheme(options?: DViewOptions): DThemeView | null {\n\t\tif (options && options.theme) {\n\t\t\tconst theme = options.theme;\n\t\t\tif (isString(theme)) {\n\t\t\t\treturn DThemes.getInstance().get(theme);\n\t\t\t} else {\n\t\t\t\treturn theme;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getThemeDefault(): DThemeView {\n\t\treturn DThemes.getInstance().get(this.getType());\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DView\";\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e-shape-action-runtime-base.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-runtime-base.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"e-shape-action-runtime-base.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/action/e-shape-action-runtime-base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;GAEG;AACH;IAGC,iCAAY,KAA0B;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC;IAC/C,CAAC;IAED,4CAAU,GAAV,UAAW,KAAa,EAAE,OAAsB;QAC/C,aAAa;IACd,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,IAAY;QAC1D,aAAa;IACd,CAAC;IAED,0CAAQ,GAAR,UAAS,KAAa,EAAE,OAAsB;QAC7C,aAAa;IACd,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB;QAC5C,aAAa;IACd,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,OAAsB;QAC3C,aAAa;IACd,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,CAAmC;QACjF,aAAa;IACd,CAAC;IAED,4CAAU,GAAV,UACC,KAAa,EACb,OAAsB,EACtB,CAA0B,EAC1B,OAA2B;QAE3B,aAAa;IACd,CAAC;IAED,2CAAS,GAAT,UAAU,KAAa,EAAE,OAAsB,EAAE,CAAmC;QACnF,aAAa;IACd,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,OAAsB,EAAE,CAAmC;QAChF,aAAa;IACd,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,OAAsB,EAAE,CAAmB;QAChE,aAAa;IACd,CAAC;IAED,wCAAM,GAAN,UAAO,KAAa,EAAE,OAAsB,EAAE,CAAmB;QAChE,aAAa;IACd,CAAC;IAED,uCAAK,GAAL,UAAM,KAAa,EAAE,OAAsB,EAAE,CAAmB;QAC/D,aAAa;IACd,CAAC;IAED,sCAAI,GAAJ,UAAK,KAAa,EAAE,OAAsB,EAAE,CAAmC;QAC9E,aAAa;IACd,CAAC;IAED,6CAAW,GAAX,UAAY,KAAa,EAAE,OAAsB,EAAE,CAAmC;QACrF,aAAa;IACd,CAAC;IAED,2CAAS,GAAT,UAAU,KAAa,EAAE,OAAsB,EAAE,CAAmC;QACnF,aAAa;IACd,CAAC;IAED,6CAAW,GAAX,UAAY,KAAa,EAAE,OAAsB,EAAE,CAAmC;QACrF,aAAa;IACd,CAAC;IAED,2CAAS,GAAT,UAAU,KAAa,EAAE,OAAsB,EAAE,CAAgB;QAChE,aAAa;IACd,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAa,EAAE,OAAsB,EAAE,CAAgB;QAC9D,aAAa;IACd,CAAC;IAED,8CAAY,GAAZ,UAAa,KAAa,EAAE,OAAsB,EAAE,CAAmB;QACtE,aAAa;IACd,CAAC;IAED,gDAAc,GAAd,UAAe,KAAa,EAAE,OAAsB,EAAE,CAAmB;QACxE,aAAa;IACd,CAAC;IAED,6CAAW,GAAX,UAAY,KAAa,EAAE,OAAsB,EAAE,CAAmB;QACrE,aAAa;IACd,CAAC;IAED,2CAAS,GAAT,UAAU,KAAa,EAAE,OAAsB,EAAE,CAAmB;QACnE,aAAa;IACd,CAAC;IAED,kDAAgB,GAAhB,UAAiB,KAAa,EAAE,OAAsB,EAAE,CAAmB;QAC1E,aAAa;IACd,CAAC;IAED,gDAAc,GAAd,UAAe,KAAa,EAAE,OAAsB,EAAE,CAAmB;QACxE,aAAa;IACd,CAAC;IAED,kDAAgB,GAAhB,UAAiB,KAAa,EAAE,OAAsB,EAAE,CAAmB;QAC1E,aAAa;IACd,CAAC;IAED,0CAAQ,GAAR,UAAS,KAAa,EAAE,OAAsB,EAAE,IAAY,EAAE,QAAkB;QAC/E,aAAa;IACd,CAAC;IACF,8BAAC;AAAD,CAAC,AAnHD,IAmHC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Renderer } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeRuntime } from \"../e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"../e-shape-runtime-reset\";\nimport { EShapeActionRuntime } from \"./e-shape-action-runtime\";\n\n/**\n * A base class of action runtimes.\n */\nexport class EShapeActionRuntimeBase implements EShapeActionRuntime {\n\treadonly reset: EShapeRuntimeReset;\n\n\tconstructor(reset?: EShapeRuntimeReset) {\n\t\tthis.reset = reset || EShapeRuntimeReset.NONE;\n\t}\n\n\tinitialize(shape: EShape, runtime: EShapeRuntime): void {\n\t\t// DO NOTHING\n\t}\n\n\texecute(shape: EShape, runtime: EShapeRuntime, time: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tonResize(shape: EShape, runtime: EShapeRuntime): void {\n\t\t// DO NOTHING\n\t}\n\n\tonFocus(shape: EShape, runtime: EShapeRuntime): void {\n\t\t// DO NOTHING\n\t}\n\n\tonBlur(shape: EShape, runtime: EShapeRuntime): void {\n\t\t// DO NOTHING\n\t}\n\n\tonClick(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\truntime: EShapeRuntime,\n\t\te: MouseEvent | TouchEvent,\n\t\tmanager: InteractionManager\n\t): void {\n\t\t// DO NOTHING\n\t}\n\n\tonDowning(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonDown(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonMove(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonOver(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonOut(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonUp(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonUpOutside(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonPressed(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonUnpressed(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent | KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonKeyDown(shape: EShape, runtime: EShapeRuntime, e: KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonKeyUp(shape: EShape, runtime: EShapeRuntime, e: KeyboardEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightClick(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightDowning(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightDown(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightUp(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightUpOutside(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightPressed(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRightUnpressed(shape: EShape, runtime: EShapeRuntime, e: InteractionEvent): void {\n\t\t// DO NOTHING\n\t}\n\n\tonRender(shape: EShape, runtime: EShapeRuntime, time: number, renderer: Renderer): void {\n\t\t// DO NOTHING\n\t}\n}\n"]}
|