@design.estate/dees-catalog 3.62.0 → 3.64.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_bundle/bundle.js +440 -107
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.d.ts +83 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +501 -99
- package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +47 -18
- package/dist_watch/bundle.js +438 -105
- package/dist_watch/bundle.js.map +3 -3
- package/package.json +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +496 -99
- package/ts_web/elements/00group-dataview/dees-table/styles.ts +46 -17
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.64.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
|
|
@@ -56,7 +56,22 @@ export declare class DeesTable<T> extends DeesElement {
|
|
|
56
56
|
accessor filterText: string;
|
|
57
57
|
accessor columnFilters: Record<string, string>;
|
|
58
58
|
accessor showColumnFilters: boolean;
|
|
59
|
-
|
|
59
|
+
/**
|
|
60
|
+
* When true, the table renders a leftmost checkbox column for click-driven
|
|
61
|
+
* (de)selection. Row selection by mouse (plain/shift/ctrl click) is always
|
|
62
|
+
* available regardless of this flag.
|
|
63
|
+
*/
|
|
64
|
+
accessor showSelectionCheckbox: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* When set, the table renders inside a fixed-height scroll container
|
|
67
|
+
* (`max-height: var(--table-max-height, 360px)`) and the header sticks
|
|
68
|
+
* within that box via plain CSS sticky.
|
|
69
|
+
*
|
|
70
|
+
* When unset (the default), the table flows naturally and a JS-managed
|
|
71
|
+
* floating header keeps the column headers visible while the table is
|
|
72
|
+
* scrolled past in any ancestor scroll container (page or otherwise).
|
|
73
|
+
*/
|
|
74
|
+
accessor fixedHeight: boolean;
|
|
60
75
|
accessor searchMode: 'table' | 'data' | 'server';
|
|
61
76
|
private __searchTextSub?;
|
|
62
77
|
private __searchModeSub?;
|
|
@@ -64,9 +79,65 @@ export declare class DeesTable<T> extends DeesElement {
|
|
|
64
79
|
accessor selectedIds: Set<string>;
|
|
65
80
|
private _rowIdMap;
|
|
66
81
|
private _rowIdCounter;
|
|
82
|
+
/**
|
|
83
|
+
* Anchor row id for shift+click range selection. Set whenever the user
|
|
84
|
+
* makes a non-range click (plain or cmd/ctrl) so the next shift+click
|
|
85
|
+
* can compute a contiguous range from this anchor.
|
|
86
|
+
*/
|
|
87
|
+
private __selectionAnchorId?;
|
|
67
88
|
constructor();
|
|
89
|
+
/**
|
|
90
|
+
* Ctrl/Cmd+C copies the currently selected rows as a JSON array. Falls
|
|
91
|
+
* back to copying the focused-row (`selectedDataRow`) if no multi
|
|
92
|
+
* selection exists. No-op if a focused input/textarea would normally
|
|
93
|
+
* receive the copy.
|
|
94
|
+
*/
|
|
95
|
+
private __handleHostKeydown;
|
|
96
|
+
/**
|
|
97
|
+
* Copies the current selection as a JSON array. If `fallbackRow` is given
|
|
98
|
+
* and there is no multi-selection, that row is copied instead. Used both
|
|
99
|
+
* by the Ctrl/Cmd+C handler and by the default context-menu action.
|
|
100
|
+
*/
|
|
101
|
+
copySelectionAsJson(fallbackRow?: T): void;
|
|
102
|
+
private __writeRowsAsJson;
|
|
68
103
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
69
104
|
render(): TemplateResult;
|
|
105
|
+
/**
|
|
106
|
+
* Renders the header rows. Used twice per render: once inside the real
|
|
107
|
+
* `<thead>` and once inside the floating-header clone, so sort indicators
|
|
108
|
+
* and filter inputs stay in sync automatically.
|
|
109
|
+
*/
|
|
110
|
+
private renderHeaderRows;
|
|
111
|
+
private __floatingResizeObserver?;
|
|
112
|
+
private __floatingScrollHandler?;
|
|
113
|
+
private __floatingActive;
|
|
114
|
+
private __scrollAncestors;
|
|
115
|
+
private get __floatingHeaderEl();
|
|
116
|
+
private get __realTableEl();
|
|
117
|
+
private get __floatingTableEl();
|
|
118
|
+
/**
|
|
119
|
+
* Walks up the DOM (and through shadow roots) collecting every ancestor
|
|
120
|
+
* element whose computed `overflow-y` makes it a scroll container, plus
|
|
121
|
+
* `window` at the end. We listen for scroll on all of them so the floating
|
|
122
|
+
* header reacts whether the user scrolls the page or any nested container.
|
|
123
|
+
*/
|
|
124
|
+
private __collectScrollAncestors;
|
|
125
|
+
/**
|
|
126
|
+
* Returns the "stick line" — the y-coordinate (in viewport space) at which
|
|
127
|
+
* the floating header should appear. Defaults to 0 (page top), but if the
|
|
128
|
+
* table is inside a scroll container we use that container's content-box
|
|
129
|
+
* top so the header sits inside the container's border/padding instead of
|
|
130
|
+
* floating over it.
|
|
131
|
+
*/
|
|
132
|
+
private __getStickContext;
|
|
133
|
+
private setupFloatingHeader;
|
|
134
|
+
private teardownFloatingHeader;
|
|
135
|
+
/**
|
|
136
|
+
* Single function that drives both activation and geometry of the floating
|
|
137
|
+
* header. Called on scroll, resize, table-resize, and after each render.
|
|
138
|
+
*/
|
|
139
|
+
private __syncFloatingHeader;
|
|
140
|
+
disconnectedCallback(): Promise<void>;
|
|
70
141
|
firstUpdated(): Promise<void>;
|
|
71
142
|
updated(changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
|
|
72
143
|
private __debounceTimer?;
|
|
@@ -137,6 +208,17 @@ export declare class DeesTable<T> extends DeesElement {
|
|
|
137
208
|
private getRowId;
|
|
138
209
|
private isRowSelected;
|
|
139
210
|
private toggleRowSelected;
|
|
211
|
+
/**
|
|
212
|
+
* Handles row clicks with file-manager style selection semantics:
|
|
213
|
+
* - plain click: select only this row, set anchor
|
|
214
|
+
* - cmd/ctrl+click: toggle this row in/out, set anchor
|
|
215
|
+
* - shift+click: select the contiguous range from the anchor to this row
|
|
216
|
+
*
|
|
217
|
+
* Multi-row click selection is always available (`selectionMode === 'none'`
|
|
218
|
+
* and `'multi'` both behave this way) so consumers can always copy a set
|
|
219
|
+
* of rows. Only `selectionMode === 'single'` restricts to one row.
|
|
220
|
+
*/
|
|
221
|
+
private handleRowClick;
|
|
140
222
|
private setRowSelected;
|
|
141
223
|
private areAllVisibleSelected;
|
|
142
224
|
private isVisibleSelectionIndeterminate;
|