@wcardinal/wcardinal-ui 0.411.0 → 0.413.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.
Files changed (98) hide show
  1. package/dist/types/wcardinal/ui/d-indicator-processing.d.ts +8 -7
  2. package/dist/types/wcardinal/ui/d-pagination.d.ts +5 -5
  3. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  4. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +9 -9
  5. package/dist/types/wcardinal/ui/d-table-body.d.ts +5 -7
  6. package/dist/types/wcardinal/ui/d-table-category-cell.d.ts +37 -0
  7. package/dist/types/wcardinal/ui/d-table-category-column-impl.d.ts +24 -0
  8. package/dist/types/wcardinal/ui/d-table-category-column.d.ts +10 -0
  9. package/dist/types/wcardinal/ui/d-table-category-container-impl.d.ts +12 -0
  10. package/dist/types/wcardinal/ui/d-table-category-container.d.ts +4 -0
  11. package/dist/types/wcardinal/ui/d-table-category.d.ts +13 -12
  12. package/dist/types/wcardinal/ui/d-table-column-container-impl.d.ts +25 -0
  13. package/dist/types/wcardinal/ui/d-table-column-container.d.ts +12 -0
  14. package/dist/types/wcardinal/ui/d-table-column-impl.d.ts +44 -0
  15. package/dist/types/wcardinal/ui/d-table-column.d.ts +22 -19
  16. package/dist/types/wcardinal/ui/d-table-header-cell-check.d.ts +1 -1
  17. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +34 -12
  18. package/dist/types/wcardinal/ui/d-table-header.d.ts +8 -9
  19. package/dist/types/wcardinal/ui/d-table-row.d.ts +8 -9
  20. package/dist/types/wcardinal/ui/d-table-state.d.ts +8 -0
  21. package/dist/types/wcardinal/ui/d-table.d.ts +15 -18
  22. package/dist/types/wcardinal/ui/index.d.ts +7 -0
  23. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.d.ts +1 -0
  24. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header.d.ts +1 -0
  25. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header-cell.d.ts +1 -0
  26. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header.d.ts +1 -0
  27. package/dist/wcardinal/ui/d-base.js +2 -2
  28. package/dist/wcardinal/ui/d-base.js.map +1 -1
  29. package/dist/wcardinal/ui/d-indicator-processing.js +20 -15
  30. package/dist/wcardinal/ui/d-indicator-processing.js.map +1 -1
  31. package/dist/wcardinal/ui/d-pagination.js +5 -5
  32. package/dist/wcardinal/ui/d-pagination.js.map +1 -1
  33. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  34. package/dist/wcardinal/ui/d-table-body-row.js +4 -4
  35. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  36. package/dist/wcardinal/ui/d-table-body.js +6 -15
  37. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  38. package/dist/wcardinal/ui/d-table-category-cell.js +244 -2
  39. package/dist/wcardinal/ui/d-table-category-cell.js.map +1 -1
  40. package/dist/wcardinal/ui/d-table-category-column-impl.js +222 -0
  41. package/dist/wcardinal/ui/d-table-category-column-impl.js.map +1 -0
  42. package/dist/wcardinal/ui/d-table-category-column.js +6 -0
  43. package/dist/wcardinal/ui/d-table-category-column.js.map +1 -0
  44. package/dist/wcardinal/ui/d-table-category-container-impl.js +149 -0
  45. package/dist/wcardinal/ui/d-table-category-container-impl.js.map +1 -0
  46. package/dist/wcardinal/ui/d-table-category-container.js +2 -0
  47. package/dist/wcardinal/ui/d-table-category-container.js.map +1 -0
  48. package/dist/wcardinal/ui/d-table-category.js +49 -7
  49. package/dist/wcardinal/ui/d-table-category.js.map +1 -1
  50. package/dist/wcardinal/ui/d-table-column-container-impl.js +126 -0
  51. package/dist/wcardinal/ui/d-table-column-container-impl.js.map +1 -0
  52. package/dist/wcardinal/ui/d-table-column-container.js +2 -0
  53. package/dist/wcardinal/ui/d-table-column-container.js.map +1 -0
  54. package/dist/wcardinal/ui/d-table-column-impl.js +375 -0
  55. package/dist/wcardinal/ui/d-table-column-impl.js.map +1 -0
  56. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  57. package/dist/wcardinal/ui/d-table-header-cell-check.js.map +1 -1
  58. package/dist/wcardinal/ui/d-table-header-cell.js +245 -48
  59. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  60. package/dist/wcardinal/ui/d-table-header.js +8 -22
  61. package/dist/wcardinal/ui/d-table-header.js.map +1 -1
  62. package/dist/wcardinal/ui/d-table-row.js +7 -5
  63. package/dist/wcardinal/ui/d-table-row.js.map +1 -1
  64. package/dist/wcardinal/ui/d-table-state.js +9 -1
  65. package/dist/wcardinal/ui/d-table-state.js.map +1 -1
  66. package/dist/wcardinal/ui/d-table.js +69 -631
  67. package/dist/wcardinal/ui/d-table.js.map +1 -1
  68. package/dist/wcardinal/ui/index.js +7 -0
  69. package/dist/wcardinal/ui/index.js.map +1 -1
  70. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js +7 -1
  71. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js.map +1 -1
  72. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js +7 -0
  73. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js.map +1 -1
  74. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js +7 -1
  75. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js.map +1 -1
  76. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js +7 -0
  77. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js.map +1 -1
  78. package/dist/wcardinal-ui-theme-dark-en-us.js +14 -2
  79. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  80. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  81. package/dist/wcardinal-ui-theme-dark-ja-jp.js +14 -2
  82. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  83. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  84. package/dist/wcardinal-ui-theme-dark.js +14 -2
  85. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  86. package/dist/wcardinal-ui-theme-white-en-us.js +14 -2
  87. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  88. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  89. package/dist/wcardinal-ui-theme-white-ja-jp.js +14 -2
  90. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  91. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  92. package/dist/wcardinal-ui-theme-white.js +14 -2
  93. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  94. package/dist/wcardinal-ui.cjs.js +1545 -753
  95. package/dist/wcardinal-ui.js +1882 -1114
  96. package/dist/wcardinal-ui.min.js +2 -2
  97. package/dist/wcardinal-ui.min.js.map +1 -1
  98. package/package.json +1 -1
@@ -30,14 +30,16 @@ export interface DThemeIndicatorProcessing<VALUE = unknown> {
30
30
  newProcessImageSource(): DStateAwareOrValueMightBe<Texture | DisplayObject | null>;
31
31
  newProcessImageRotation(): DStateAwareOrValueMightBe<number>;
32
32
  }
33
- declare const STATE_INITIAL = 0;
34
- declare const STATE_STARTED = 1;
35
- declare const STATE_RESOLVED = 2;
36
- declare const STATE_REJECTED = 3;
37
- type STATE = typeof STATE_INITIAL | typeof STATE_STARTED | typeof STATE_RESOLVED | typeof STATE_REJECTED;
33
+ export declare const DIndicatorProcessingState: {
34
+ readonly INITIAL: 0;
35
+ readonly STARTED: 1;
36
+ readonly RESOLVED: 2;
37
+ readonly REJECTED: 3;
38
+ };
39
+ export type DIndicatorProcessingState = (typeof DIndicatorProcessingState)[keyof typeof DIndicatorProcessingState];
38
40
  export declare class DIndicatorProcessing<VALUE> {
39
41
  protected _parent: DImageBase<VALUE>;
40
- protected _state: STATE;
42
+ protected _state: DIndicatorProcessingState;
41
43
  protected _startTime: number;
42
44
  protected _delayDone: number;
43
45
  protected _delayClose: number | null;
@@ -66,4 +68,3 @@ export declare class DIndicatorProcessing<VALUE> {
66
68
  protected getType(): string;
67
69
  get theme(): DThemeIndicatorProcessing<VALUE>;
68
70
  }
69
- export {};
@@ -143,7 +143,7 @@ export declare class DPagination<THEME extends DThemePagination = DThemePaginati
143
143
  protected onButtonLastActive(): void;
144
144
  /**
145
145
  * Goes to the last page.
146
- * Unlike {@link #value}, this method emits the change event if silently is not true.
146
+ * Unlike {@link value}, this method emits the change event if silently is not true.
147
147
  *
148
148
  * @param silently true to suppress the change event
149
149
  * @returns true if succeeded.
@@ -151,7 +151,7 @@ export declare class DPagination<THEME extends DThemePagination = DThemePaginati
151
151
  goToLast(silently?: boolean): boolean;
152
152
  /**
153
153
  * Goes to the given page.
154
- * Unlike {@link #value}, this method emits the change event if silently is not true.
154
+ * Unlike {@link value}, this method emits the change event if silently is not true.
155
155
  *
156
156
  * @param index a page index
157
157
  * @param silently true to suppress the change event
@@ -163,7 +163,7 @@ export declare class DPagination<THEME extends DThemePagination = DThemePaginati
163
163
  protected onButtonNextActive(): void;
164
164
  /**
165
165
  * Goes to the next page.
166
- * Unlike {@link #value}, this method emits the change event if silently is not true.
166
+ * Unlike {@link value}, this method emits the change event if silently is not true.
167
167
  *
168
168
  * @param silently true to suppress the change event
169
169
  * @returns true if succeeded.
@@ -174,7 +174,7 @@ export declare class DPagination<THEME extends DThemePagination = DThemePaginati
174
174
  protected onButtonPreviousActive(): void;
175
175
  /**
176
176
  * Goes to the previous page.
177
- * Unlike {@link #value}, this method emits the change event if silently is not true.
177
+ * Unlike {@link value}, this method emits the change event if silently is not true.
178
178
  *
179
179
  * @param silently true to suppress the change event
180
180
  * @returns true if succeeded.
@@ -185,7 +185,7 @@ export declare class DPagination<THEME extends DThemePagination = DThemePaginati
185
185
  protected onButtonTopActive(): void;
186
186
  /**
187
187
  * Goes to the top page.
188
- * Unlike {@link #value}, this method emits the change event if silently is not true.
188
+ * Unlike {@link value}, this method emits the change event if silently is not true.
189
189
  *
190
190
  * @param silently true to suppress the change event
191
191
  * @returns true if succeeded.
@@ -2,8 +2,8 @@ import { InteractionEvent, Point } from "pixi.js";
2
2
  import { DBase } from "./d-base";
3
3
  import { DTableColumn } from "./d-table-column";
4
4
  import { DTableDataSupplimental } from "./d-table-data";
5
- export type DTableBodyCellOnChange<ROW, VALUE, EMITTER = any> = (newValue: VALUE, oldValue: VALUE, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW, VALUE>, emitter: EMITTER) => void;
6
- export interface DTableBodyCell<ROW, VALUE> extends DBase {
5
+ export type DTableBodyCellOnChange<ROW, VALUE = unknown, EMITTER = any> = (newValue: VALUE, oldValue: VALUE, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW, VALUE>, emitter: EMITTER) => void;
6
+ export interface DTableBodyCell<ROW, VALUE = unknown> extends DBase {
7
7
  /**
8
8
  * A row data if exists.
9
9
  * Otherwise, Undefined.
@@ -8,29 +8,29 @@ import { DTableRow, DTableRowOptions, DThemeTableRow } from "./d-table-row";
8
8
  export interface DTableBodyRowSelectionOptions {
9
9
  type?: DTableDataSelectionType;
10
10
  }
11
- export interface DTableBodyRowOptions<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow> extends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {
11
+ export interface DTableBodyRowOptions<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow> extends DTableRowOptions<THEME> {
12
12
  height?: number;
13
13
  cell?: DTableBodyCellOptions<ROW>;
14
14
  selection?: DTableBodyRowSelectionOptions;
15
15
  }
16
16
  export interface DThemeTableBodyRow extends DThemeTableRow {
17
17
  }
18
- export type DTableBodyRowOnChange<ROW, VALUE, EMITTER = any> = (newValue: VALUE, oldValue: VALUE, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW, VALUE>, emitter: EMITTER) => void;
19
- export declare class DTableBodyRow<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow, OPTIONS extends DTableBodyRowOptions<ROW, THEME> = DTableBodyRowOptions<ROW, THEME>> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {
18
+ export type DTableBodyRowOnChange<ROW, VALUE = unknown, EMITTER = any> = (newValue: VALUE, oldValue: VALUE, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW, VALUE>, emitter: EMITTER) => void;
19
+ export declare class DTableBodyRow<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow, OPTIONS extends DTableBodyRowOptions<ROW, THEME> = DTableBodyRowOptions<ROW, THEME>> extends DTableRow<ROW, DTableColumn<ROW>, THEME, OPTIONS> {
20
20
  protected _value?: ROW;
21
21
  protected _supplimental?: DTableDataSupplimental | null;
22
22
  protected _index: number;
23
- protected _onChange: DTableBodyRowOnChange<ROW, unknown>;
23
+ protected _onChange: DTableBodyRowOnChange<ROW>;
24
24
  protected _onCellChangeBound: DTableBodyCellOnChange<ROW, any>;
25
25
  protected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;
26
- constructor(onChange: DTableBodyRowOnChange<ROW, unknown>, isEven: boolean, columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>, options: OPTIONS);
27
- protected onCellChange(newValue: unknown, oldValue: unknown, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW, unknown>): void;
28
- protected newCell(columnIndex: number, column: DTableColumn<ROW, unknown>, columns: Array<DTableColumn<ROW, unknown>>, options: OPTIONS): DBase;
26
+ constructor(onChange: DTableBodyRowOnChange<ROW>, isEven: boolean, columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>, columns: DTableColumn<ROW>[], frozen: number, options: OPTIONS);
27
+ protected onCellChange(newValue: unknown, oldValue: unknown, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW>): void;
28
+ protected newCell(columnIndex: number, column: DTableColumn<ROW>, columns: DTableColumn<ROW>[], options?: OPTIONS): DBase;
29
29
  protected newCellEditable(columnIndex: number, column: DTableColumn<ROW, any>, onChange: DTableBodyCellOnChange<ROW, any>, options: any): DBase;
30
30
  protected newCellUnediable(columnIndex: number, column: DTableColumn<ROW, any>, onChange: DTableBodyCellOnChange<ROW, any>, options: any): DBase;
31
31
  protected newCellSelect(columnIndex: number, column: DTableColumn<ROW, any>, onChange: DTableBodyCellOnChange<ROW, any>, options: any): DBase;
32
- protected newCellAction(columnIndex: number, column: DTableColumn<ROW, any>, onChange: DTableBodyCellOnChange<ROW, any>, options: any): DBase;
33
- protected toCellOptions(columnIndex: number, column: DTableColumn<ROW, unknown>, options: OPTIONS): DTableBodyCellOptions<ROW>;
32
+ protected newCellAction(columnIndex: number, column: DTableColumn<ROW>, onChange: DTableBodyCellOnChange<ROW>, options: any): DBase;
33
+ protected toCellOptions(columnIndex: number, column: DTableColumn<ROW>, options?: OPTIONS): DTableBodyCellOptions<ROW>;
34
34
  protected getType(): string;
35
35
  /**
36
36
  * Returns a row data if exists.
@@ -34,11 +34,8 @@ export interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {
34
34
  export interface DTableBodyOnOptions<EMITTER> extends Partial<DTableBodyEvents<EMITTER>>, DOnOptions {
35
35
  }
36
36
  export interface DTableBodyOptions<ROW, DATA extends DTableData<ROW> = DTableDataList<ROW>, THEME extends DThemeTableBody = DThemeTableBody, EMITTER = any> extends DBaseOptions<THEME, EMITTER> {
37
- columns?: Array<DTableColumn<ROW, unknown>>;
38
37
  row?: DTableBodyRowOptions<ROW>;
39
38
  data?: DTableDataListOptions<ROW> | DATA;
40
- offset?: number;
41
- frozen?: number;
42
39
  on?: DTableBodyOnOptions<EMITTER>;
43
40
  }
44
41
  export interface DThemeTableBody extends DThemeBase {
@@ -46,7 +43,8 @@ export interface DThemeTableBody extends DThemeBase {
46
43
  }
47
44
  export declare class DTableBody<ROW, DATA extends DTableData<ROW> = DTableDataList<ROW>, THEME extends DThemeTableBody = DThemeTableBody, OPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>> extends DBase<THEME, OPTIONS> {
48
45
  protected static WORK_ON_CLICK: Point;
49
- protected _columns: Array<DTableColumn<ROW, unknown>>;
46
+ protected _columns: DTableColumn<ROW>[];
47
+ protected _frozen: number;
50
48
  protected _rowHeight: number;
51
49
  protected _rowIndexMappedStart: number;
52
50
  protected _rowIndexMappedEnd: number;
@@ -55,11 +53,11 @@ export declare class DTableBody<ROW, DATA extends DTableData<ROW> = DTableDataLi
55
53
  protected _isUpdateRowsCalled: boolean;
56
54
  protected _isUpdateRowsCalledForcibly: boolean;
57
55
  protected _workRows: Array<DTableBodyRow<ROW>>;
58
- protected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;
56
+ protected _onRowChangeBound: DTableBodyRowOnChange<ROW>;
59
57
  protected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;
60
58
  protected _data: DATA;
61
- constructor(options: OPTIONS);
62
- protected onRowChange(newValue: unknown, oldValue: unknown, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW, unknown>): void;
59
+ constructor(columns: DTableColumn<ROW>[], frozen: number, offset: number, options: OPTIONS);
60
+ protected onRowChange(newValue: unknown, oldValue: unknown, row: ROW, rowIndex: number, columnIndex: number, column: DTableColumn<ROW>): void;
63
61
  protected toData(options?: DATA | DTableDataListOptions<ROW>): DATA;
64
62
  protected isData(target?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>): target is DTableData<ROW>;
65
63
  onResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void;
@@ -1,8 +1,45 @@
1
+ import { InteractionEvent, InteractionManager, Point } from "pixi.js";
1
2
  import { DImage, DImageOptions, DThemeImage } from "./d-image";
3
+ import { DTableCategoryColumn } from "./d-table-category-column";
4
+ import { DBaseStateSet } from "./d-base-state-set";
5
+ export interface DTableCategoryCellCategory {
6
+ readonly children: DTableCategoryCell[];
7
+ readonly state: DBaseStateSet;
8
+ }
2
9
  export interface DTableCategoryCellOptions<THEME extends DThemeTableCategoryCell = DThemeTableCategoryCell> extends DImageOptions<string | null, THEME> {
3
10
  }
4
11
  export interface DThemeTableCategoryCell extends DThemeImage<string | null> {
12
+ getEdgeWidth(): number;
5
13
  }
14
+ export declare const DTableCategoryCellEdge: {
15
+ readonly NONE: 0;
16
+ readonly LEFT: 1;
17
+ readonly RIGHT: 2;
18
+ readonly BOTH: 3;
19
+ };
20
+ export type DTableCategoryCellEdge = (typeof DTableCategoryCellEdge)[keyof typeof DTableCategoryCellEdge];
6
21
  export declare class DTableCategoryCell<THEME extends DThemeTableCategoryCell = DThemeTableCategoryCell, OPTIONS extends DTableCategoryCellOptions<THEME> = DTableCategoryCellOptions<THEME>> extends DImage<string | null, THEME, OPTIONS> {
22
+ protected _category: DTableCategoryCellCategory;
23
+ protected _column: DTableCategoryColumn;
24
+ protected _columnIndex: number;
25
+ protected _checkWork?: Point;
26
+ protected _onHoveredBound?: (e: InteractionEvent) => void;
27
+ protected _resizableEdges?: DTableCategoryCellEdge;
28
+ protected _edgeSize: number;
29
+ protected _wasResizing: boolean;
30
+ constructor(category: DTableCategoryCellCategory, columnIndex: number, column: DTableCategoryColumn, options?: OPTIONS);
31
+ get column(): DTableCategoryColumn;
32
+ get columnIndex(): number;
33
+ get category(): DTableCategoryCellCategory;
34
+ protected onDown(e: InteractionEvent): void;
35
+ protected findLeftResizableCell(columnIndex: number): DTableCategoryCell | null;
36
+ protected findRightResizableCellOfWeight(columnIndex: number): DTableCategoryCell | null;
37
+ protected checkIfEdgeResizable(columnIndex: number): boolean;
38
+ protected getResizableEdges(): DTableCategoryCellEdge;
39
+ protected onOver(e: InteractionEvent): void;
40
+ protected onOut(e: InteractionEvent): void;
41
+ protected onHovered(e: InteractionEvent): void;
42
+ protected toClickPosition(e: InteractionEvent): number;
43
+ protected onDownEdge(onDownPoint: number, columnIndex: number, interactionManager: InteractionManager): void;
7
44
  protected getType(): string;
8
45
  }
@@ -0,0 +1,24 @@
1
+ import { utils } from "pixi.js";
2
+ import { DTableCategoryColumn } from "./d-table-category-column";
3
+ import { DTableColumn } from "./d-table-column";
4
+ import { DTableColumnSelectingDialog } from "./d-table-column-selecting";
5
+ export declare class DTableCategoryColumnImpl<ROW_VALUE, CELL_VALUE, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> extends utils.EventEmitter implements DTableCategoryColumn {
6
+ label: string | undefined;
7
+ protected _weight: number | undefined;
8
+ protected _width: number | undefined;
9
+ protected _isLocked: boolean;
10
+ offset: number;
11
+ protected _columns: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[];
12
+ protected _nresizable: number;
13
+ protected _onResizeBound: (column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>) => void;
14
+ constructor(index: number, column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>);
15
+ protected onResize(): void;
16
+ get resizable(): boolean;
17
+ get weight(): number | undefined;
18
+ set weight(weight: number);
19
+ get minWeight(): number;
20
+ get width(): number | undefined;
21
+ set width(width: number);
22
+ get minWidth(): number;
23
+ add(column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): void;
24
+ }
@@ -0,0 +1,10 @@
1
+ import { utils } from "pixi.js";
2
+ export interface DTableCategoryColumn extends utils.EventEmitter {
3
+ readonly label?: string;
4
+ weight?: number;
5
+ readonly minWeight: number;
6
+ width?: number;
7
+ readonly minWidth: number;
8
+ offset: number;
9
+ readonly resizable: boolean;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { DTableCategory, DTableCategoryOptions } from "./d-table-category";
2
+ import { DTableCategoryColumn } from "./d-table-category-column";
3
+ import { DTableCategoryContainer } from "./d-table-category-container";
4
+ import { DTableColumn } from "./d-table-column";
5
+ import { DTableColumnSelectingDialog } from "./d-table-column-selecting";
6
+ export declare class DTableCategoryContainerImpl<ROW_VALUE, CELL_VALUE, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> implements DTableCategoryContainer {
7
+ readonly items: DTableCategory[];
8
+ constructor(columns: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[], frozen: number, options?: DTableCategoryOptions);
9
+ protected toCount(columns: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[]): number;
10
+ protected isCategory(index: number, a: string | string[] | undefined, b: string | string[] | undefined): boolean;
11
+ protected toColumns(index: number, columns: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[], frozen: number): DTableCategoryColumn[];
12
+ }
@@ -0,0 +1,4 @@
1
+ import { DTableCategory } from "./d-table-category";
2
+ export interface DTableCategoryContainer {
3
+ readonly items: DTableCategory[];
4
+ }
@@ -1,24 +1,25 @@
1
1
  import { DBase } from "./d-base";
2
- import { DTableCategoryCellOptions } from "./d-table-category-cell";
2
+ import { DTableCategoryCell, DTableCategoryCellOptions } from "./d-table-category-cell";
3
+ import { DTableCategoryColumn } from "./d-table-category-column";
3
4
  import { DTableRow, DTableRowOptions, DThemeTableRow } from "./d-table-row";
4
- export interface DTableCategoryColumn {
5
- label?: string;
6
- weight?: number;
7
- width?: number;
8
- offset: number;
9
- }
10
- export interface DTableCategoryOptions<THEME extends DThemeTableCategory = DThemeTableCategory> extends DTableRowOptions<unknown, DTableCategoryColumn, THEME> {
11
- offset?: number;
5
+ export interface DTableCategoryOptions<THEME extends DThemeTableCategory = DThemeTableCategory> extends DTableRowOptions<THEME> {
12
6
  cell?: DTableCategoryCellOptions;
13
7
  }
14
8
  export interface DThemeTableCategory extends DThemeTableRow {
15
9
  }
16
10
  export declare class DTableCategory<THEME extends DThemeTableCategory = DThemeTableCategory, OPTIONS extends DTableCategoryOptions<THEME> = DTableCategoryOptions<THEME>> extends DTableRow<unknown, DTableCategoryColumn, THEME, OPTIONS> {
11
+ protected _columns: DTableCategoryColumn[];
12
+ protected _frozen: number;
17
13
  protected _offset: number;
18
- constructor(options: OPTIONS);
14
+ children: DTableCategoryCell[];
15
+ constructor(columns: DTableCategoryColumn[], frozen: number, offset: number, options?: OPTIONS);
16
+ protected newOnColumnResize(index: number, column: DTableCategoryColumn): () => void;
17
+ protected onColumnResize(index: number, column: DTableCategoryColumn): void;
18
+ protected onColumnResizeWeight(row: DBase, index: number, columnWeight: number): void;
19
+ protected onColumnResizeWidth(row: DBase, index: number, columnWidth: number): void;
19
20
  protected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void;
20
21
  protected getContentPositionX(): number;
21
- protected newCell(columnIndex: number, column: DTableCategoryColumn, columns: DTableCategoryColumn[], options: OPTIONS): DBase;
22
- protected toCellOptions(columnIndex: number, column: DTableCategoryColumn, options: OPTIONS): DTableCategoryCellOptions;
22
+ protected newCell(columnIndex: number, column: DTableCategoryColumn, columns: DTableCategoryColumn[], options?: OPTIONS): DBase;
23
+ protected toCellOptions(columnIndex: number, column: DTableCategoryColumn, options?: OPTIONS): DTableCategoryCellOptions;
23
24
  protected getType(): string;
24
25
  }
@@ -0,0 +1,25 @@
1
+ import { utils } from "pixi.js";
2
+ import { DBase } from "./d-base";
3
+ import { DTableColumn, DTableColumnOptions } from "./d-table-column";
4
+ import { DTableColumnContainer, DTableColumnIteratee } from "./d-table-column-container";
5
+ import { DTableColumnSelectingDialog } from "./d-table-column-selecting";
6
+ export interface DTableColumnContainerImplParent {
7
+ readonly header: DBase | null;
8
+ readonly body: DBase;
9
+ }
10
+ export declare class DTableColumnContainerImpl<ROW_VALUE, CELL_VALUE = unknown, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> extends utils.EventEmitter implements DTableColumnContainer<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG> {
11
+ readonly parent: DTableColumnContainerImplParent;
12
+ readonly frozen: number;
13
+ readonly items: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[];
14
+ constructor(parent: DTableColumnContainerImplParent, options?: DTableColumnOptions<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[]);
15
+ protected newOnColumnResize(index: number, column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): () => void;
16
+ protected onColumnResize(index: number, column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): void;
17
+ protected onColumnResizeHeader(index: number, column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): void;
18
+ protected onColumnResizeBody(index: number, column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): void;
19
+ protected onColumnResizeWeight(row: DBase, index: number, columnWeight: number): void;
20
+ protected onColumnResizeWidth(row: DBase, index: number, columnWidth: number): void;
21
+ get width(): number;
22
+ get(index: number): DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG> | null;
23
+ each(iteratee: DTableColumnIteratee<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): this;
24
+ size(): number;
25
+ }
@@ -0,0 +1,12 @@
1
+ import { utils } from "pixi.js";
2
+ import { DTableColumn } from "./d-table-column";
3
+ import { DTableColumnSelectingDialog } from "./d-table-column-selecting";
4
+ export type DTableColumnIteratee<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE>> = (column: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>, index: number) => boolean | void;
5
+ export interface DTableColumnContainer<ROW_VALUE, CELL_VALUE = unknown, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> extends utils.EventEmitter {
6
+ readonly frozen: number;
7
+ readonly items: DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>[];
8
+ readonly width: number;
9
+ get(index: number): DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG> | null;
10
+ each(iteratee: DTableColumnIteratee<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>): this;
11
+ size(): number;
12
+ }
@@ -0,0 +1,44 @@
1
+ import { utils } from "pixi.js";
2
+ import { DAlignHorizontal } from "./d-align-horizontal";
3
+ import { DTableBodyCellLinkLinkOptions } from "./d-table-body-cell-link";
4
+ import { DTableBodyCellOptions } from "./d-table-body-cell-options";
5
+ import { DTableColumn, DTableColumnOptions } from "./d-table-column";
6
+ import { DTableColumnEditing } from "./d-table-column-editing";
7
+ import { DTableColumnFormatter } from "./d-table-column-formatter";
8
+ import { DTableColumnGetter } from "./d-table-column-getter";
9
+ import { DTableColumnRenderable } from "./d-table-column-renderable";
10
+ import { DTableColumnSelecting, DTableColumnSelectingDialog } from "./d-table-column-selecting";
11
+ import { DTableColumnSetter } from "./d-table-column-setter";
12
+ import { DTableColumnSorting } from "./d-table-column-sorting";
13
+ import { DTableColumnState } from "./d-table-column-state";
14
+ import { DTableColumnType } from "./d-table-column-type";
15
+ import { DTableColumnUpdate } from "./d-table-column-update";
16
+ import { DTableHeaderCellOptions, DThemeTableHeaderCell } from "./d-table-header-cell";
17
+ export declare class DTableColumnImpl<ROW_VALUE, CELL_VALUE, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> extends utils.EventEmitter implements DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG> {
18
+ protected _weight?: number;
19
+ protected _width?: number;
20
+ readonly resizable: boolean;
21
+ readonly type: DTableColumnType;
22
+ readonly label: string;
23
+ readonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;
24
+ readonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;
25
+ readonly formatter?: DTableColumnFormatter<CELL_VALUE>;
26
+ readonly align: DAlignHorizontal;
27
+ readonly state: DTableColumnState<ROW_VALUE>;
28
+ readonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;
29
+ readonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;
30
+ readonly sorting: DTableColumnSorting<ROW_VALUE>;
31
+ readonly header?: DTableHeaderCellOptions<ROW_VALUE, DThemeTableHeaderCell>;
32
+ readonly body?: DTableBodyCellOptions<ROW_VALUE>;
33
+ readonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;
34
+ readonly category?: string | string[];
35
+ readonly frozen?: boolean | undefined;
36
+ offset: number;
37
+ readonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;
38
+ readonly update: DTableColumnUpdate;
39
+ constructor(index: number, options: DTableColumnOptions<ROW_VALUE, CELL_VALUE>);
40
+ get weight(): number | undefined;
41
+ set weight(weight: number);
42
+ get width(): number | undefined;
43
+ set width(width: number);
44
+ }
@@ -1,3 +1,4 @@
1
+ import { utils } from "pixi.js";
1
2
  import { DAlignHorizontal } from "./d-align-horizontal";
2
3
  import { DTableBodyCellLinkLinkOptions } from "./d-table-body-cell-link";
3
4
  import { DTableBodyCellOptions } from "./d-table-body-cell-options";
@@ -15,6 +16,7 @@ import { DTableHeaderCellOptions } from "./d-table-header-cell";
15
16
  export interface DTableColumnOptions<ROW_VALUE, CELL_VALUE = any, DIALOG_VALUE = any, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any> {
16
17
  weight?: number;
17
18
  width?: number;
19
+ resizable?: boolean;
18
20
  type?: keyof typeof DTableColumnType | DTableColumnType;
19
21
  label?: string;
20
22
  getter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;
@@ -69,25 +71,26 @@ export interface DTableColumnOptions<ROW_VALUE, CELL_VALUE = any, DIALOG_VALUE =
69
71
  */
70
72
  update?: keyof typeof DTableColumnUpdate | DTableColumnUpdate;
71
73
  }
72
- export interface DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> {
73
- weight: number | undefined;
74
- width: number | undefined;
75
- type: DTableColumnType;
74
+ export interface DTableColumn<ROW_VALUE, CELL_VALUE = unknown, DIALOG_VALUE = CELL_VALUE, DIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>> extends utils.EventEmitter {
75
+ weight?: number;
76
+ width?: number;
77
+ readonly resizable: boolean;
78
+ readonly type: DTableColumnType;
76
79
  label: string;
77
- getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;
78
- setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;
79
- formatter?: DTableColumnFormatter<CELL_VALUE>;
80
- align: DAlignHorizontal;
81
- state: DTableColumnState<ROW_VALUE>;
82
- renderable: boolean | DTableColumnRenderable<ROW_VALUE>;
83
- editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;
84
- sorting: DTableColumnSorting<ROW_VALUE>;
85
- header?: DTableHeaderCellOptions<ROW_VALUE>;
86
- body?: DTableBodyCellOptions<ROW_VALUE>;
87
- selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;
88
- category?: string | string[];
89
- frozen?: boolean;
80
+ readonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;
81
+ readonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;
82
+ readonly formatter?: DTableColumnFormatter<CELL_VALUE>;
83
+ readonly align: DAlignHorizontal;
84
+ readonly state: DTableColumnState<ROW_VALUE>;
85
+ readonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;
86
+ readonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;
87
+ readonly sorting: DTableColumnSorting<ROW_VALUE>;
88
+ readonly header?: DTableHeaderCellOptions<ROW_VALUE>;
89
+ readonly body?: DTableBodyCellOptions<ROW_VALUE>;
90
+ readonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;
91
+ readonly category?: string | string[];
92
+ readonly frozen?: boolean;
90
93
  offset: number;
91
- link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;
92
- update: DTableColumnUpdate;
94
+ readonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;
95
+ readonly update: DTableColumnUpdate;
93
96
  }
@@ -7,7 +7,7 @@ export interface DTableHeaderCellCheckOptions {
7
7
  emittable?: boolean;
8
8
  }
9
9
  export interface DTableHeaderCellCheckParent<ROW> {
10
- readonly column?: DTableColumn<ROW, unknown>;
10
+ readonly column?: DTableColumn<ROW>;
11
11
  readonly columnIndex?: number;
12
12
  readonly header?: DTableHeaderCellHeader<ROW>;
13
13
  }
@@ -1,44 +1,66 @@
1
- import { InteractionEvent, Point } from "pixi.js";
1
+ import { InteractionEvent, InteractionManager, Point } from "pixi.js";
2
2
  import { DImage, DImageOptions, DThemeImage } from "./d-image";
3
3
  import { DTableColumn } from "./d-table-column";
4
4
  import { DTableDataComparator, DTableDataSorter } from "./d-table-data-sorter";
5
5
  import { DTableHeaderTable } from "./d-table-header";
6
6
  import { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from "./d-table-header-cell-check";
7
+ import { DBaseStateSet } from "./d-base-state-set";
7
8
  export interface DTableHeaderCellHeader<ROW> {
8
9
  readonly table: DTableHeaderTable<ROW> | null;
10
+ readonly children: DTableHeaderCell<ROW>[];
11
+ readonly state: DBaseStateSet;
9
12
  }
10
13
  export interface DTableHeaderCellOptions<ROW, THEME extends DThemeTableHeaderCell = DThemeTableHeaderCell> extends DImageOptions<string | null, THEME> {
11
- header?: DTableHeaderCellHeader<ROW>;
12
- column?: DTableColumn<ROW, unknown>;
13
- columnIndex?: number;
14
14
  check?: DTableHeaderCellCheckOptions;
15
15
  }
16
16
  export interface DThemeTableHeaderCell extends DThemeImage<string | null> {
17
+ getEdgeWidth(): number;
17
18
  }
19
+ export declare const DTableHeaderCellEdge: {
20
+ readonly NONE: 0;
21
+ readonly LEFT: 1;
22
+ readonly RIGHT: 2;
23
+ readonly BOTH: 3;
24
+ };
25
+ export type DTableHeaderCellEdge = (typeof DTableHeaderCellEdge)[keyof typeof DTableHeaderCellEdge];
18
26
  export declare class DTableHeaderCell<ROW, THEME extends DThemeTableHeaderCell = DThemeTableHeaderCell, OPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>> extends DImage<string | null, THEME, OPTIONS> {
19
27
  protected _sorter?: DTableDataSorter<ROW>;
20
28
  protected _onSorterChangeBound?: () => void;
21
- protected _header?: DTableHeaderCellHeader<ROW>;
22
- protected _column?: DTableColumn<ROW, unknown>;
23
- protected _columnIndex?: number;
29
+ protected _header: DTableHeaderCellHeader<ROW>;
30
+ protected _column: DTableColumn<ROW>;
31
+ protected _columnIndex: number;
24
32
  protected _check: DTableHeaderCellCheck<ROW>;
25
33
  protected _checkWork?: Point;
26
- protected init(options?: OPTIONS): void;
27
- get column(): DTableColumn<ROW, unknown> | undefined;
28
- get columnIndex(): number | undefined;
29
- get header(): DTableHeaderCellHeader<ROW> | undefined;
34
+ protected _onHoveredBound?: (e: InteractionEvent) => void;
35
+ protected _resizableEdges?: DTableHeaderCellEdge;
36
+ protected _edgeSize: number;
37
+ protected _wasResizing: boolean;
38
+ constructor(header: DTableHeaderCellHeader<ROW>, columnIndex: number, column: DTableColumn<ROW>, options?: OPTIONS);
39
+ get column(): DTableColumn<ROW>;
40
+ get columnIndex(): number;
41
+ get header(): DTableHeaderCellHeader<ROW>;
30
42
  get check(): DTableHeaderCellCheck<ROW>;
31
- protected initOnClick(options?: OPTIONS): void;
43
+ protected onDown(e: InteractionEvent): void;
44
+ protected findLeftResizableCell(columnIndex: number): DTableHeaderCell<ROW> | null;
45
+ protected findRightResizableCellOfWeight(columnIndex: number): DTableHeaderCell<ROW> | null;
46
+ protected checkIfEdgeResizable(columnIndex: number): boolean;
47
+ protected getResizableEdges(): DTableHeaderCellEdge;
48
+ protected onOver(e: InteractionEvent): void;
49
+ protected onOut(e: InteractionEvent): void;
50
+ protected onHovered(e: InteractionEvent): void;
51
+ protected onDownEdge(onDownPoint: number, columnIndex: number, interactionManager: InteractionManager): void;
32
52
  get sorter(): DTableDataSorter<ROW> | null;
33
53
  get comparator(): DTableDataComparator<ROW> | null;
34
54
  protected onSorterChange(): void;
35
55
  protected toClickPosition(e: InteractionEvent): number;
36
56
  protected isCheckClicked(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): boolean;
57
+ protected isEdgeClicked(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): boolean;
37
58
  protected onClick(e: InteractionEvent): void;
38
59
  activate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void;
39
60
  protected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void;
40
61
  protected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void;
41
62
  get isSortable(): boolean;
63
+ get isResizable(): boolean;
42
64
  get isToggle(): boolean;
43
65
  toggle(): void;
44
66
  protected onToggleStart(): void;
@@ -1,7 +1,7 @@
1
1
  import { DBase } from "./d-base";
2
2
  import { DTableColumn } from "./d-table-column";
3
3
  import { DTableData } from "./d-table-data";
4
- import { DTableHeaderCellOptions } from "./d-table-header-cell";
4
+ import { DTableHeaderCell, DTableHeaderCellOptions } from "./d-table-header-cell";
5
5
  import { DTableRow, DTableRowOptions, DThemeTableRow } from "./d-table-row";
6
6
  export interface DTableHeaderTableBody {
7
7
  update(forcibly?: boolean): void;
@@ -10,21 +10,20 @@ export interface DTableHeaderTable<ROW> {
10
10
  readonly data: DTableData<ROW>;
11
11
  readonly body: DTableHeaderTableBody;
12
12
  }
13
- export interface DTableHeaderOptions<ROW, THEME extends DThemeTableHeader = DThemeTableHeader> extends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {
14
- table?: DTableHeaderTable<ROW>;
15
- offset?: number;
13
+ export interface DTableHeaderOptions<ROW, THEME extends DThemeTableHeader = DThemeTableHeader> extends DTableRowOptions<THEME> {
16
14
  cell?: DTableHeaderCellOptions<ROW>;
17
15
  }
18
16
  export interface DThemeTableHeader extends DThemeTableRow {
19
17
  }
20
- export declare class DTableHeader<ROW, THEME extends DThemeTableHeader = DThemeTableHeader, OPTIONS extends DTableHeaderOptions<ROW, THEME> = DTableHeaderOptions<ROW, THEME>> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {
21
- protected _table: DTableHeaderTable<ROW> | null;
18
+ export declare class DTableHeader<ROW, THEME extends DThemeTableHeader = DThemeTableHeader, OPTIONS extends DTableHeaderOptions<ROW, THEME> = DTableHeaderOptions<ROW, THEME>> extends DTableRow<ROW, DTableColumn<ROW>, THEME, OPTIONS> {
19
+ protected _table: DTableHeaderTable<ROW>;
22
20
  protected _offset: number;
23
- constructor(options: OPTIONS);
21
+ children: DTableHeaderCell<ROW>[];
22
+ constructor(table: DTableHeaderTable<ROW>, columns: DTableColumn<ROW>[], frozen: number, offset: number, options?: OPTIONS);
24
23
  get table(): DTableHeaderTable<ROW> | null;
25
24
  protected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void;
26
25
  protected getContentPositionX(): number;
27
- protected newCell(columnIndex: number, column: DTableColumn<ROW, unknown>, columns: Array<DTableColumn<ROW, unknown>>, options: OPTIONS): DBase;
28
- protected toCellOptions(columnIndex: number, column: DTableColumn<ROW, unknown>, options: OPTIONS): DTableHeaderCellOptions<ROW>;
26
+ protected newCell(columnIndex: number, column: DTableColumn<ROW>, columns: Array<DTableColumn<ROW>>, options?: OPTIONS): DBase;
27
+ protected toCellOptions(column: DTableColumn<ROW>, options?: OPTIONS): DTableHeaderCellOptions<ROW>;
29
28
  protected getType(): string;
30
29
  }
@@ -1,28 +1,27 @@
1
- import { Rectangle } from "pixi.js";
1
+ import { Rectangle, utils } from "pixi.js";
2
2
  import { DBase } from "./d-base";
3
3
  import { DLayoutHorizontal, DLayoutHorizontalOptions, DThemeLayoutHorizontal } from "./d-layout-horizontal";
4
- export interface DTableRowOptions<ROW, COLUMN, THEME extends DThemeTableRow = DThemeTableRow> extends DLayoutHorizontalOptions<THEME> {
5
- columns?: COLUMN[];
6
- frozen?: number;
4
+ export interface DTableRowOptions<THEME extends DThemeTableRow = DThemeTableRow> extends DLayoutHorizontalOptions<THEME> {
7
5
  }
8
6
  export interface DThemeTableRow extends DThemeLayoutHorizontal {
9
7
  }
10
- export interface DTableRowColumn {
8
+ export interface DTableRowColumn extends utils.EventEmitter {
11
9
  weight?: number;
10
+ width?: number;
12
11
  frozen?: boolean;
13
12
  offset: number;
14
13
  }
15
- export declare abstract class DTableRow<ROW, COLUMN extends DTableRowColumn, THEME extends DThemeTableRow = DThemeTableRow, OPTIONS extends DTableRowOptions<ROW, COLUMN, THEME> = DTableRowOptions<ROW, COLUMN, THEME>> extends DLayoutHorizontal<THEME, OPTIONS> {
14
+ export declare abstract class DTableRow<ROW, COLUMN extends DTableRowColumn, THEME extends DThemeTableRow = DThemeTableRow, OPTIONS extends DTableRowOptions<THEME> = DTableRowOptions<THEME>> extends DLayoutHorizontal<THEME, OPTIONS> {
16
15
  protected _columns: COLUMN[];
17
16
  protected _frozen: number;
18
- constructor(options: OPTIONS);
19
- protected initCells(options: OPTIONS, columns: COLUMN[], frozen: number): void;
17
+ constructor(columns: COLUMN[], frozen: number, options?: OPTIONS);
18
+ protected initCells(): void;
20
19
  protected toIndexEnd(columns: COLUMN[]): number;
21
20
  protected onRefit(): void;
22
21
  updateFrozenCellPosition(x: number): void;
23
22
  protected resetFrozenCellPosition(): void;
24
23
  protected abstract getContentPositionX(): number;
25
24
  getClippingRect(target: unknown, result: Rectangle): void;
26
- protected abstract newCell(columnIndex: number, column: COLUMN, columns: COLUMN[], options: OPTIONS): DBase;
25
+ protected abstract newCell(columnIndex: number, column: COLUMN, columns: COLUMN[], options?: OPTIONS): DBase;
27
26
  protected getType(): string;
28
27
  }