@design.estate/dees-catalog 3.61.2 → 3.62.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 +404 -59
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/data.d.ts +8 -2
- package/dist_ts_web/elements/00group-dataview/dees-table/data.js +40 -22
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.d.ts +64 -5
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.demo.js +39 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +332 -42
- package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +27 -1
- package/dist_ts_web/elements/00group-dataview/dees-table/types.d.ts +8 -0
- package/dist_watch/bundle.js +402 -57
- 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/data.ts +33 -17
- package/ts_web/elements/00group-dataview/dees-table/dees-table.demo.ts +38 -0
- package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +353 -27
- package/ts_web/elements/00group-dataview/dees-table/styles.ts +26 -0
- package/ts_web/elements/00group-dataview/dees-table/types.ts +9 -0
|
@@ -36,6 +36,7 @@ import * as plugins from '../../00plugins.js';
|
|
|
36
36
|
import { demoFunc } from './dees-table.demo.js';
|
|
37
37
|
import { customElement, html, DeesElement, property, directives } from '@design.estate/dees-element';
|
|
38
38
|
import { DeesContextmenu } from '../../00group-overlay/dees-contextmenu/dees-contextmenu.js';
|
|
39
|
+
import { DeesModal } from '../../00group-overlay/dees-modal/dees-modal.js';
|
|
39
40
|
import * as domtools from '@design.estate/dees-domtools';
|
|
40
41
|
import {} from '../../00group-utility/dees-icon/dees-icon.js';
|
|
41
42
|
import { tableStyles } from './styles.js';
|
|
@@ -43,6 +44,12 @@ import { computeColumnsFromDisplayFunction as computeColumnsFromDisplayFunctionF
|
|
|
43
44
|
import { compileLucenePredicate } from './lucene.js';
|
|
44
45
|
import { themeDefaultStyles } from '../../00theme.js';
|
|
45
46
|
import '../../00group-layout/dees-tile/dees-tile.js';
|
|
47
|
+
/** Returns the English ordinal label for a 1-based position (e.g. 1 → "1st"). */
|
|
48
|
+
function ordinalLabel(n) {
|
|
49
|
+
const s = ['th', 'st', 'nd', 'rd'];
|
|
50
|
+
const v = n % 100;
|
|
51
|
+
return n + (s[(v - 20) % 10] || s[v] || s[0]);
|
|
52
|
+
}
|
|
46
53
|
// interfaces moved to ./types.ts and re-exported above
|
|
47
54
|
// the table implementation
|
|
48
55
|
let DeesTable = (() => {
|
|
@@ -111,12 +118,9 @@ let DeesTable = (() => {
|
|
|
111
118
|
let _showGrid_decorators;
|
|
112
119
|
let _showGrid_initializers = [];
|
|
113
120
|
let _showGrid_extraInitializers = [];
|
|
114
|
-
let
|
|
115
|
-
let
|
|
116
|
-
let
|
|
117
|
-
let _sortDir_decorators;
|
|
118
|
-
let _sortDir_initializers = [];
|
|
119
|
-
let _sortDir_extraInitializers = [];
|
|
121
|
+
let _sortBy_decorators;
|
|
122
|
+
let _sortBy_initializers = [];
|
|
123
|
+
let _sortBy_extraInitializers = [];
|
|
120
124
|
let _filterText_decorators;
|
|
121
125
|
let _filterText_initializers = [];
|
|
122
126
|
let _filterText_extraInitializers = [];
|
|
@@ -203,8 +207,7 @@ let DeesTable = (() => {
|
|
|
203
207
|
reflect: true,
|
|
204
208
|
attribute: 'show-grid'
|
|
205
209
|
})];
|
|
206
|
-
|
|
207
|
-
_sortDir_decorators = [property({ attribute: false })];
|
|
210
|
+
_sortBy_decorators = [property({ attribute: false })];
|
|
208
211
|
_filterText_decorators = [property({ type: String })];
|
|
209
212
|
_columnFilters_decorators = [property({ attribute: false })];
|
|
210
213
|
_showColumnFilters_decorators = [property({ type: Boolean, attribute: 'show-column-filters' })];
|
|
@@ -232,8 +235,7 @@ let DeesTable = (() => {
|
|
|
232
235
|
__esDecorate(this, null, _showVerticalLines_decorators, { kind: "accessor", name: "showVerticalLines", static: false, private: false, access: { has: obj => "showVerticalLines" in obj, get: obj => obj.showVerticalLines, set: (obj, value) => { obj.showVerticalLines = value; } }, metadata: _metadata }, _showVerticalLines_initializers, _showVerticalLines_extraInitializers);
|
|
233
236
|
__esDecorate(this, null, _showHorizontalLines_decorators, { kind: "accessor", name: "showHorizontalLines", static: false, private: false, access: { has: obj => "showHorizontalLines" in obj, get: obj => obj.showHorizontalLines, set: (obj, value) => { obj.showHorizontalLines = value; } }, metadata: _metadata }, _showHorizontalLines_initializers, _showHorizontalLines_extraInitializers);
|
|
234
237
|
__esDecorate(this, null, _showGrid_decorators, { kind: "accessor", name: "showGrid", static: false, private: false, access: { has: obj => "showGrid" in obj, get: obj => obj.showGrid, set: (obj, value) => { obj.showGrid = value; } }, metadata: _metadata }, _showGrid_initializers, _showGrid_extraInitializers);
|
|
235
|
-
__esDecorate(this, null,
|
|
236
|
-
__esDecorate(this, null, _sortDir_decorators, { kind: "accessor", name: "sortDir", static: false, private: false, access: { has: obj => "sortDir" in obj, get: obj => obj.sortDir, set: (obj, value) => { obj.sortDir = value; } }, metadata: _metadata }, _sortDir_initializers, _sortDir_extraInitializers);
|
|
238
|
+
__esDecorate(this, null, _sortBy_decorators, { kind: "accessor", name: "sortBy", static: false, private: false, access: { has: obj => "sortBy" in obj, get: obj => obj.sortBy, set: (obj, value) => { obj.sortBy = value; } }, metadata: _metadata }, _sortBy_initializers, _sortBy_extraInitializers);
|
|
237
239
|
__esDecorate(this, null, _filterText_decorators, { kind: "accessor", name: "filterText", static: false, private: false, access: { has: obj => "filterText" in obj, get: obj => obj.filterText, set: (obj, value) => { obj.filterText = value; } }, metadata: _metadata }, _filterText_initializers, _filterText_extraInitializers);
|
|
238
240
|
__esDecorate(this, null, _columnFilters_decorators, { kind: "accessor", name: "columnFilters", static: false, private: false, access: { has: obj => "columnFilters" in obj, get: obj => obj.columnFilters, set: (obj, value) => { obj.columnFilters = value; } }, metadata: _metadata }, _columnFilters_initializers, _columnFilters_extraInitializers);
|
|
239
241
|
__esDecorate(this, null, _showColumnFilters_decorators, { kind: "accessor", name: "showColumnFilters", static: false, private: false, access: { has: obj => "showColumnFilters" in obj, get: obj => obj.showColumnFilters, set: (obj, value) => { obj.showColumnFilters = value; } }, metadata: _metadata }, _showColumnFilters_initializers, _showColumnFilters_extraInitializers);
|
|
@@ -330,14 +332,14 @@ let DeesTable = (() => {
|
|
|
330
332
|
files = (__runInitializers(this, _showGrid_extraInitializers), []);
|
|
331
333
|
fileWeakMap = new WeakMap();
|
|
332
334
|
dataChangeSubject = new domtools.plugins.smartrx.rxjs.Subject();
|
|
333
|
-
#
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
get
|
|
339
|
-
set
|
|
340
|
-
#filterText_accessor_storage = (__runInitializers(this,
|
|
335
|
+
#sortBy_accessor_storage = __runInitializers(this, _sortBy_initializers, []);
|
|
336
|
+
/**
|
|
337
|
+
* Multi-column sort cascade. The first entry is the primary sort key,
|
|
338
|
+
* subsequent entries are tiebreakers in priority order.
|
|
339
|
+
*/
|
|
340
|
+
get sortBy() { return this.#sortBy_accessor_storage; }
|
|
341
|
+
set sortBy(value) { this.#sortBy_accessor_storage = value; }
|
|
342
|
+
#filterText_accessor_storage = (__runInitializers(this, _sortBy_extraInitializers), __runInitializers(this, _filterText_initializers, ''));
|
|
341
343
|
// simple client-side filtering (Phase 1)
|
|
342
344
|
get filterText() { return this.#filterText_accessor_storage; }
|
|
343
345
|
set filterText(value) { this.#filterText_accessor_storage = value; }
|
|
@@ -376,7 +378,7 @@ let DeesTable = (() => {
|
|
|
376
378
|
? computeEffectiveColumnsFn(this.columns, this.augmentFromDisplayFunction, this.displayFunction, this.data)
|
|
377
379
|
: computeColumnsFromDisplayFunctionFn(this.displayFunction, this.data);
|
|
378
380
|
const lucenePred = compileLucenePredicate(this.filterText, this.searchMode === 'data' ? 'data' : 'table', effectiveColumns);
|
|
379
|
-
const viewData = getViewDataFn(this.data, effectiveColumns, this.
|
|
381
|
+
const viewData = getViewDataFn(this.data, effectiveColumns, this.sortBy, this.filterText, this.columnFilters, this.searchMode === 'data' ? 'data' : 'table', lucenePred || undefined);
|
|
380
382
|
this._lastViewData = viewData;
|
|
381
383
|
return html `
|
|
382
384
|
<dees-tile>
|
|
@@ -474,7 +476,10 @@ let DeesTable = (() => {
|
|
|
474
476
|
role="columnheader"
|
|
475
477
|
aria-sort=${ariaSort}
|
|
476
478
|
style="${isSortable ? 'cursor: pointer;' : ''}"
|
|
477
|
-
@click=${() =>
|
|
479
|
+
@click=${(eventArg) => isSortable ? this.handleHeaderClick(eventArg, col, effectiveColumns) : null}
|
|
480
|
+
@contextmenu=${(eventArg) => isSortable
|
|
481
|
+
? this.openHeaderContextMenu(eventArg, col, effectiveColumns)
|
|
482
|
+
: null}
|
|
478
483
|
>
|
|
479
484
|
${col.header ?? col.key}
|
|
480
485
|
${this.renderSortIndicator(col)}
|
|
@@ -792,37 +797,322 @@ let DeesTable = (() => {
|
|
|
792
797
|
table.style.tableLayout = 'fixed';
|
|
793
798
|
}
|
|
794
799
|
// compute helpers moved to ./data.ts
|
|
795
|
-
|
|
800
|
+
// ─── sort: public API ────────────────────────────────────────────────
|
|
801
|
+
/** Returns the descriptor for `key` if the column is currently in the cascade. */
|
|
802
|
+
getSortDescriptor(key) {
|
|
803
|
+
return this.sortBy.find((d) => d.key === key);
|
|
804
|
+
}
|
|
805
|
+
/** Returns the 0-based priority of `key` in the cascade, or -1 if not present. */
|
|
806
|
+
getSortPriority(key) {
|
|
807
|
+
return this.sortBy.findIndex((d) => d.key === key);
|
|
808
|
+
}
|
|
809
|
+
/** Replaces the cascade with a single sort entry. */
|
|
810
|
+
setSort(key, dir) {
|
|
811
|
+
this.sortBy = [{ key, dir }];
|
|
812
|
+
this.emitSortChange();
|
|
813
|
+
this.requestUpdate();
|
|
814
|
+
}
|
|
815
|
+
/**
|
|
816
|
+
* Inserts (or moves) `key` to a 0-based position in the cascade. If the key is
|
|
817
|
+
* already present elsewhere, its previous entry is removed before insertion so
|
|
818
|
+
* a column appears at most once.
|
|
819
|
+
*/
|
|
820
|
+
addSortAt(key, position, dir) {
|
|
821
|
+
const next = this.sortBy.filter((d) => d.key !== key);
|
|
822
|
+
const clamped = Math.max(0, Math.min(position, next.length));
|
|
823
|
+
next.splice(clamped, 0, { key, dir });
|
|
824
|
+
this.sortBy = next;
|
|
825
|
+
this.emitSortChange();
|
|
826
|
+
this.requestUpdate();
|
|
827
|
+
}
|
|
828
|
+
/** Appends `key` to the end of the cascade (or moves it there if already present). */
|
|
829
|
+
appendSort(key, dir) {
|
|
830
|
+
const next = this.sortBy.filter((d) => d.key !== key);
|
|
831
|
+
next.push({ key, dir });
|
|
832
|
+
this.sortBy = next;
|
|
833
|
+
this.emitSortChange();
|
|
834
|
+
this.requestUpdate();
|
|
835
|
+
}
|
|
836
|
+
/** Removes `key` from the cascade. No-op if not present. */
|
|
837
|
+
removeSort(key) {
|
|
838
|
+
if (!this.sortBy.some((d) => d.key === key))
|
|
839
|
+
return;
|
|
840
|
+
this.sortBy = this.sortBy.filter((d) => d.key !== key);
|
|
841
|
+
this.emitSortChange();
|
|
842
|
+
this.requestUpdate();
|
|
843
|
+
}
|
|
844
|
+
/** Empties the cascade. */
|
|
845
|
+
clearSorts() {
|
|
846
|
+
if (this.sortBy.length === 0)
|
|
847
|
+
return;
|
|
848
|
+
this.sortBy = [];
|
|
849
|
+
this.emitSortChange();
|
|
850
|
+
this.requestUpdate();
|
|
851
|
+
}
|
|
852
|
+
emitSortChange() {
|
|
853
|
+
this.dispatchEvent(new CustomEvent('sortChange', {
|
|
854
|
+
detail: { sortBy: this.sortBy.map((d) => ({ ...d })) },
|
|
855
|
+
bubbles: true,
|
|
856
|
+
}));
|
|
857
|
+
}
|
|
858
|
+
// ─── sort: header interaction handlers ───────────────────────────────
|
|
859
|
+
/**
|
|
860
|
+
* Plain left-click on a sortable header. Cycles `none → asc → desc → none`
|
|
861
|
+
* collapsing the cascade to a single column. If a multi-column cascade is
|
|
862
|
+
* active, asks the user to confirm the destructive replacement first. A
|
|
863
|
+
* Shift+click bypasses the modal and routes through the multi-sort cycle.
|
|
864
|
+
*/
|
|
865
|
+
async handleHeaderClick(eventArg, col, _effectiveColumns) {
|
|
866
|
+
if (eventArg.shiftKey) {
|
|
867
|
+
this.handleHeaderShiftClick(col);
|
|
868
|
+
return;
|
|
869
|
+
}
|
|
870
|
+
const proceed = await this.confirmReplaceCascade(col);
|
|
871
|
+
if (!proceed)
|
|
872
|
+
return;
|
|
873
|
+
this.cycleSingleSort(col);
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* Cycles a single column through `none → asc → desc → none`, collapsing the
|
|
877
|
+
* cascade. Used by both plain click and the menu's "Sort Ascending/Descending"
|
|
878
|
+
* shortcuts (after confirmation).
|
|
879
|
+
*/
|
|
880
|
+
cycleSingleSort(col) {
|
|
796
881
|
const key = String(col.key);
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
this.
|
|
882
|
+
const current = this.sortBy.length === 1 && this.sortBy[0].key === key ? this.sortBy[0].dir : null;
|
|
883
|
+
if (current === 'asc')
|
|
884
|
+
this.setSort(key, 'desc');
|
|
885
|
+
else if (current === 'desc')
|
|
886
|
+
this.clearSorts();
|
|
887
|
+
else
|
|
888
|
+
this.setSort(key, 'asc');
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Shift+click cycle on a sortable header. Edits the cascade in place without
|
|
892
|
+
* destroying other sort keys: append → flip dir → remove.
|
|
893
|
+
*/
|
|
894
|
+
handleHeaderShiftClick(col) {
|
|
895
|
+
const key = String(col.key);
|
|
896
|
+
const existing = this.getSortDescriptor(key);
|
|
897
|
+
if (!existing) {
|
|
898
|
+
this.appendSort(key, 'asc');
|
|
899
|
+
}
|
|
900
|
+
else if (existing.dir === 'asc') {
|
|
901
|
+
this.sortBy = this.sortBy.map((d) => (d.key === key ? { key, dir: 'desc' } : d));
|
|
902
|
+
this.emitSortChange();
|
|
903
|
+
this.requestUpdate();
|
|
800
904
|
}
|
|
801
905
|
else {
|
|
802
|
-
|
|
803
|
-
this.sortDir = 'desc';
|
|
804
|
-
else if (this.sortDir === 'desc') {
|
|
805
|
-
this.sortDir = null;
|
|
806
|
-
this.sortKey = undefined;
|
|
807
|
-
}
|
|
808
|
-
else
|
|
809
|
-
this.sortDir = 'asc';
|
|
906
|
+
this.removeSort(key);
|
|
810
907
|
}
|
|
811
|
-
this.dispatchEvent(new CustomEvent('sortChange', {
|
|
812
|
-
detail: { key: this.sortKey, dir: this.sortDir },
|
|
813
|
-
bubbles: true,
|
|
814
|
-
}));
|
|
815
|
-
this.requestUpdate();
|
|
816
908
|
}
|
|
909
|
+
/**
|
|
910
|
+
* Opens a confirmation modal when the cascade has more than one entry and the
|
|
911
|
+
* user attempts a destructive single-sort replacement. Resolves to `true` if
|
|
912
|
+
* the user accepts, `false` if they cancel. If the cascade has 0 or 1 entries
|
|
913
|
+
* the modal is skipped and we resolve to `true` immediately.
|
|
914
|
+
*/
|
|
915
|
+
confirmReplaceCascade(targetCol) {
|
|
916
|
+
if (this.sortBy.length <= 1)
|
|
917
|
+
return Promise.resolve(true);
|
|
918
|
+
return new Promise((resolve) => {
|
|
919
|
+
let settled = false;
|
|
920
|
+
const settle = (result) => {
|
|
921
|
+
if (settled)
|
|
922
|
+
return;
|
|
923
|
+
settled = true;
|
|
924
|
+
resolve(result);
|
|
925
|
+
};
|
|
926
|
+
const summary = this.sortBy
|
|
927
|
+
.map((d, i) => {
|
|
928
|
+
const c = this._lookupColumnByKey?.(d.key);
|
|
929
|
+
const label = c?.header ?? d.key;
|
|
930
|
+
return html `<li>${i + 1}. ${label} ${d.dir === 'asc' ? '▲' : '▼'}</li>`;
|
|
931
|
+
});
|
|
932
|
+
DeesModal.createAndShow({
|
|
933
|
+
heading: 'Replace multi-column sort?',
|
|
934
|
+
width: 'small',
|
|
935
|
+
showCloseButton: true,
|
|
936
|
+
content: html `
|
|
937
|
+
<div style="font-size:13px; line-height:1.55;">
|
|
938
|
+
<p style="margin:0 0 8px;">
|
|
939
|
+
You currently have a ${this.sortBy.length}-column sort active:
|
|
940
|
+
</p>
|
|
941
|
+
<ul style="margin:0 0 12px; padding-left:18px;">${summary}</ul>
|
|
942
|
+
<p style="margin:0;">
|
|
943
|
+
Continuing will discard the cascade and replace it with a single sort on
|
|
944
|
+
<strong>${targetCol.header ?? String(targetCol.key)}</strong>.
|
|
945
|
+
</p>
|
|
946
|
+
</div>
|
|
947
|
+
`,
|
|
948
|
+
menuOptions: [
|
|
949
|
+
{
|
|
950
|
+
name: 'Cancel',
|
|
951
|
+
iconName: 'lucide:x',
|
|
952
|
+
action: async (modal) => {
|
|
953
|
+
settle(false);
|
|
954
|
+
await modal.destroy();
|
|
955
|
+
return null;
|
|
956
|
+
},
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
name: 'Replace',
|
|
960
|
+
iconName: 'lucide:check',
|
|
961
|
+
action: async (modal) => {
|
|
962
|
+
settle(true);
|
|
963
|
+
await modal.destroy();
|
|
964
|
+
return null;
|
|
965
|
+
},
|
|
966
|
+
},
|
|
967
|
+
],
|
|
968
|
+
});
|
|
969
|
+
});
|
|
970
|
+
}
|
|
971
|
+
/**
|
|
972
|
+
* Looks up a column by its string key in the currently effective column set.
|
|
973
|
+
* Used by the modal helper to render human-friendly labels.
|
|
974
|
+
*/
|
|
975
|
+
_lookupColumnByKey(key) {
|
|
976
|
+
const usingColumns = Array.isArray(this.columns) && this.columns.length > 0;
|
|
977
|
+
const effective = usingColumns
|
|
978
|
+
? computeEffectiveColumnsFn(this.columns, this.augmentFromDisplayFunction, this.displayFunction, this.data)
|
|
979
|
+
: computeColumnsFromDisplayFunctionFn(this.displayFunction, this.data);
|
|
980
|
+
return effective.find((c) => String(c.key) === key);
|
|
981
|
+
}
|
|
982
|
+
/**
|
|
983
|
+
* Opens the header context menu for explicit multi-sort priority control.
|
|
984
|
+
*/
|
|
985
|
+
openHeaderContextMenu(eventArg, col, effectiveColumns) {
|
|
986
|
+
const items = this.buildHeaderMenuItems(col, effectiveColumns);
|
|
987
|
+
DeesContextmenu.openContextMenuWithOptions(eventArg, items);
|
|
988
|
+
}
|
|
989
|
+
/**
|
|
990
|
+
* Builds the dynamic context-menu structure for a single column header.
|
|
991
|
+
*/
|
|
992
|
+
buildHeaderMenuItems(col, effectiveColumns) {
|
|
993
|
+
const key = String(col.key);
|
|
994
|
+
const existing = this.getSortDescriptor(key);
|
|
995
|
+
const cascadeLen = this.sortBy.length;
|
|
996
|
+
// Maximum exposed slot: one beyond the current cascade, capped at the
|
|
997
|
+
// number of sortable columns. If the column is already in the cascade we
|
|
998
|
+
// never need to grow the slot count.
|
|
999
|
+
const sortableColumnCount = effectiveColumns.filter((c) => !!c.sortable).length;
|
|
1000
|
+
const maxSlot = Math.min(Math.max(cascadeLen + (existing ? 0 : 1), 1), Math.max(sortableColumnCount, 1));
|
|
1001
|
+
const items = [];
|
|
1002
|
+
// Single-sort shortcuts. These are destructive when a cascade is active, so
|
|
1003
|
+
// they go through confirmReplaceCascade just like a plain click.
|
|
1004
|
+
items.push({
|
|
1005
|
+
name: 'Sort Ascending',
|
|
1006
|
+
iconName: cascadeLen === 1 && existing?.dir === 'asc' ? 'lucide:check' : 'lucide:arrowUp',
|
|
1007
|
+
action: async () => {
|
|
1008
|
+
if (await this.confirmReplaceCascade(col))
|
|
1009
|
+
this.setSort(key, 'asc');
|
|
1010
|
+
return null;
|
|
1011
|
+
},
|
|
1012
|
+
});
|
|
1013
|
+
items.push({
|
|
1014
|
+
name: 'Sort Descending',
|
|
1015
|
+
iconName: cascadeLen === 1 && existing?.dir === 'desc' ? 'lucide:check' : 'lucide:arrowDown',
|
|
1016
|
+
action: async () => {
|
|
1017
|
+
if (await this.confirmReplaceCascade(col))
|
|
1018
|
+
this.setSort(key, 'desc');
|
|
1019
|
+
return null;
|
|
1020
|
+
},
|
|
1021
|
+
});
|
|
1022
|
+
items.push({ divider: true });
|
|
1023
|
+
// Priority slot entries (1..maxSlot). Each slot has an asc/desc submenu.
|
|
1024
|
+
for (let slot = 1; slot <= maxSlot; slot++) {
|
|
1025
|
+
const ordinal = ordinalLabel(slot);
|
|
1026
|
+
const isCurrentSlot = existing && this.getSortPriority(key) === slot - 1;
|
|
1027
|
+
items.push({
|
|
1028
|
+
name: `Set as ${ordinal} sort`,
|
|
1029
|
+
iconName: isCurrentSlot ? 'lucide:check' : 'lucide:listOrdered',
|
|
1030
|
+
submenu: [
|
|
1031
|
+
{
|
|
1032
|
+
name: 'Ascending',
|
|
1033
|
+
iconName: 'lucide:arrowUp',
|
|
1034
|
+
action: async () => {
|
|
1035
|
+
this.addSortAt(key, slot - 1, 'asc');
|
|
1036
|
+
return null;
|
|
1037
|
+
},
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
name: 'Descending',
|
|
1041
|
+
iconName: 'lucide:arrowDown',
|
|
1042
|
+
action: async () => {
|
|
1043
|
+
this.addSortAt(key, slot - 1, 'desc');
|
|
1044
|
+
return null;
|
|
1045
|
+
},
|
|
1046
|
+
},
|
|
1047
|
+
],
|
|
1048
|
+
});
|
|
1049
|
+
}
|
|
1050
|
+
items.push({ divider: true });
|
|
1051
|
+
items.push({
|
|
1052
|
+
name: 'Append to sort',
|
|
1053
|
+
iconName: 'lucide:plus',
|
|
1054
|
+
submenu: [
|
|
1055
|
+
{
|
|
1056
|
+
name: 'Ascending',
|
|
1057
|
+
iconName: 'lucide:arrowUp',
|
|
1058
|
+
action: async () => {
|
|
1059
|
+
this.appendSort(key, 'asc');
|
|
1060
|
+
return null;
|
|
1061
|
+
},
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
name: 'Descending',
|
|
1065
|
+
iconName: 'lucide:arrowDown',
|
|
1066
|
+
action: async () => {
|
|
1067
|
+
this.appendSort(key, 'desc');
|
|
1068
|
+
return null;
|
|
1069
|
+
},
|
|
1070
|
+
},
|
|
1071
|
+
],
|
|
1072
|
+
});
|
|
1073
|
+
if (existing) {
|
|
1074
|
+
items.push({ divider: true });
|
|
1075
|
+
items.push({
|
|
1076
|
+
name: 'Remove from sort',
|
|
1077
|
+
iconName: 'lucide:minus',
|
|
1078
|
+
action: async () => {
|
|
1079
|
+
this.removeSort(key);
|
|
1080
|
+
return null;
|
|
1081
|
+
},
|
|
1082
|
+
});
|
|
1083
|
+
}
|
|
1084
|
+
if (cascadeLen > 0) {
|
|
1085
|
+
if (!existing)
|
|
1086
|
+
items.push({ divider: true });
|
|
1087
|
+
items.push({
|
|
1088
|
+
name: 'Clear all sorts',
|
|
1089
|
+
iconName: 'lucide:trash',
|
|
1090
|
+
action: async () => {
|
|
1091
|
+
this.clearSorts();
|
|
1092
|
+
return null;
|
|
1093
|
+
},
|
|
1094
|
+
});
|
|
1095
|
+
}
|
|
1096
|
+
return items;
|
|
1097
|
+
}
|
|
1098
|
+
// ─── sort: indicator + ARIA ──────────────────────────────────────────
|
|
817
1099
|
getAriaSort(col) {
|
|
818
|
-
|
|
1100
|
+
// ARIA sort reflects only the primary sort key (standard grid pattern).
|
|
1101
|
+
const primary = this.sortBy[0];
|
|
1102
|
+
if (!primary || primary.key !== String(col.key))
|
|
819
1103
|
return 'none';
|
|
820
|
-
return
|
|
1104
|
+
return primary.dir === 'asc' ? 'ascending' : 'descending';
|
|
821
1105
|
}
|
|
822
1106
|
renderSortIndicator(col) {
|
|
823
|
-
|
|
1107
|
+
const idx = this.getSortPriority(String(col.key));
|
|
1108
|
+
if (idx < 0)
|
|
824
1109
|
return html ``;
|
|
825
|
-
|
|
1110
|
+
const desc = this.sortBy[idx];
|
|
1111
|
+
const arrow = desc.dir === 'asc' ? '▲' : '▼';
|
|
1112
|
+
if (this.sortBy.length === 1) {
|
|
1113
|
+
return html `<span class="sortArrow">${arrow}</span>`;
|
|
1114
|
+
}
|
|
1115
|
+
return html `<span class="sortArrow">${arrow}</span><span class="sortBadge">${idx + 1}</span>`;
|
|
826
1116
|
}
|
|
827
1117
|
// filtering helpers
|
|
828
1118
|
setFilterText(value) {
|
|
@@ -985,4 +1275,4 @@ let DeesTable = (() => {
|
|
|
985
1275
|
return DeesTable = _classThis;
|
|
986
1276
|
})();
|
|
987
1277
|
export { DeesTable };
|
|
988
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWRhdGF2aWV3L2RlZXMtdGFibGUvZGVlcy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBdUIsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzdGLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFpQixNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxFQUNMLGlDQUFpQyxJQUFJLG1DQUFtQyxFQUN4RSx1QkFBdUIsSUFBSSx5QkFBeUIsRUFDcEQsWUFBWSxJQUFJLGNBQWMsRUFDOUIsV0FBVyxJQUFJLGFBQWEsR0FDN0IsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sNkNBQTZDLENBQUM7QUFVckQsdURBQXVEO0FBRXZELDJCQUEyQjtJQUVkLFNBQVM7NEJBRHJCLGFBQWEsQ0FBQyxZQUFZLENBQUM7Ozs7c0JBQ00sV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
1278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy10YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWRhdGF2aWV3L2RlZXMtdGFibGUvZGVlcy10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBdUIsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMzRSxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBaUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFDTCxpQ0FBaUMsSUFBSSxtQ0FBbUMsRUFDeEUsdUJBQXVCLElBQUkseUJBQXlCLEVBQ3BELFlBQVksSUFBSSxjQUFjLEVBQzlCLFdBQVcsSUFBSSxhQUFhLEdBQzdCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLDZDQUE2QyxDQUFDO0FBSXJELGlGQUFpRjtBQUNqRixTQUFTLFlBQVksQ0FBQyxDQUFTO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7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
|