@mmlogic/components 0.3.0 → 0.3.2
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/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mosterdcomponents.cjs.js +1 -1
- package/dist/cjs/mrd-boolean-field_19.cjs.entry.js +103 -33
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.js +12 -7
- package/dist/collection/components/mrd-table/mrd-table.js +111 -36
- package/dist/collection/dev/app.js +2 -9
- package/dist/components/mrd-layout-section.js +1 -1
- package/dist/components/mrd-table2.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mosterdcomponents.js +1 -1
- package/dist/esm/mrd-boolean-field_19.entry.js +103 -33
- package/dist/mosterdcomponents/mosterdcomponents.esm.js +1 -1
- package/dist/mosterdcomponents/p-2a099635.entry.js +1 -0
- package/dist/types/components/mrd-layout-section/mrd-layout-section.d.ts +3 -4
- package/dist/types/components/mrd-table/mrd-table.d.ts +18 -5
- package/dist/types/components.d.ts +9 -9
- package/dist/types/types/client-layout.d.ts +4 -2
- package/package.json +1 -1
- package/dist/mosterdcomponents/p-f6d0f02b.entry.js +0 -1
|
@@ -1454,15 +1454,16 @@ const MrdLayoutSection = class {
|
|
|
1454
1454
|
/**
|
|
1455
1455
|
* Inject data into an embedded mrd-table for a RELATED_VIEW or VIEW item.
|
|
1456
1456
|
* Pass totalElements to update the pagination total (safe to pass on every page).
|
|
1457
|
+
* Pass hasNext (from _links.next presence) so the table can decide whether to emit aggregations.
|
|
1457
1458
|
*/
|
|
1458
|
-
async setViewPage(name, page, rows, totalElements) {
|
|
1459
|
+
async setViewPage(name, page, rows, totalElements, hasNext) {
|
|
1459
1460
|
const table = this.el.querySelector(`mrd-table[data-view="${name}"]`);
|
|
1460
1461
|
if (!table)
|
|
1461
1462
|
return;
|
|
1462
1463
|
if (totalElements !== undefined) {
|
|
1463
1464
|
table.totalElements = totalElements;
|
|
1464
1465
|
}
|
|
1465
|
-
await table.setPage(page, rows);
|
|
1466
|
+
await table.setPage(page, rows, hasNext);
|
|
1466
1467
|
}
|
|
1467
1468
|
/** Inject aggregation totals into an embedded mrd-table for a VIEW or RELATED_VIEW item. */
|
|
1468
1469
|
async setViewAggregations(name, data) {
|
|
@@ -1659,7 +1660,7 @@ const MrdLayoutSection = class {
|
|
|
1659
1660
|
return (h("div", { class: "mrd-layout-section__modal-backdrop", onClick: () => { this.imagePreviewUrl = null; } }, h("div", { class: "mrd-layout-section__modal", onClick: (e) => e.stopPropagation() }, h("button", { class: "mrd-layout-section__modal-close", onClick: () => { this.imagePreviewUrl = null; } }, "\u2715"), h("img", { class: "mrd-layout-section__modal-image", src: this.imagePreviewUrl, alt: "" }))));
|
|
1660
1661
|
}
|
|
1661
1662
|
render() {
|
|
1662
|
-
return (h(Host, { key: '
|
|
1663
|
+
return (h(Host, { key: '0a3a58f5c80716bc0a7ba1b9468b721706d2ce4a' }, h("div", { key: '7cf63580c584811c1bb84b419e8d13026e432fba', class: "mrd-layout-section" }, this.items.map(item => this.renderItem(item))), this.renderImageModal()));
|
|
1663
1664
|
}
|
|
1664
1665
|
get el() { return getElement(this); }
|
|
1665
1666
|
static get watchers() { return {
|
|
@@ -2179,10 +2180,16 @@ const MrdTable = class {
|
|
|
2179
2180
|
this.jsonModal = null;
|
|
2180
2181
|
/** Aggregation totals received from the host via setAggregations(). Null = not yet loaded. */
|
|
2181
2182
|
this.aggregations = null;
|
|
2183
|
+
/** Record count received via setAggregations().total; overrides totalElements for display. */
|
|
2184
|
+
this.aggregationsTotal = null;
|
|
2185
|
+
/** True when a fresh aggregations request is needed (set on init / filter change). */
|
|
2186
|
+
this.aggregationsPending = false;
|
|
2187
|
+
/** Lower bound on total derived from setPage() hasNext info; grows as pages load. */
|
|
2188
|
+
this.minKnownTotal = 0;
|
|
2182
2189
|
this.handleScroll = (e) => {
|
|
2183
2190
|
const scroller = e.currentTarget;
|
|
2184
2191
|
const scrollTop = scroller.scrollTop;
|
|
2185
|
-
const total = this.
|
|
2192
|
+
const total = this.baseTotal;
|
|
2186
2193
|
const visStart = Math.floor(scrollTop / this.rowHeight);
|
|
2187
2194
|
const visEnd = Math.min(visStart + this.visibleCount(), total - 1);
|
|
2188
2195
|
this.scrollTop = scrollTop;
|
|
@@ -2244,7 +2251,9 @@ const MrdTable = class {
|
|
|
2244
2251
|
if (scroller)
|
|
2245
2252
|
scroller.scrollTop = 0;
|
|
2246
2253
|
this.aggregations = null;
|
|
2247
|
-
this.
|
|
2254
|
+
this.aggregationsTotal = null;
|
|
2255
|
+
this.aggregationsPending = true;
|
|
2256
|
+
this.minKnownTotal = 0;
|
|
2248
2257
|
// Always request page 0 — totalElements may be unknown (0) on first load.
|
|
2249
2258
|
this.mrdLoadPage.emit({ page: 0, sort: this.sortParam(), path: this.buildDataPath(), qs: this.buildQueryParams(0) });
|
|
2250
2259
|
this.requestedPages = new Set([0]);
|
|
@@ -2256,20 +2265,41 @@ const MrdTable = class {
|
|
|
2256
2265
|
* When the page contains fewer rows than pageSize it is the last page.
|
|
2257
2266
|
* renderEnd is clamped immediately so no loading-placeholder rows appear
|
|
2258
2267
|
* beyond the actual data — without requiring the host to update totalElements.
|
|
2268
|
+
*
|
|
2269
|
+
* Pass hasNext (from _links.next in the API response) for accurate last-page
|
|
2270
|
+
* detection even when rows.length === pageSize (exact multiple of page size).
|
|
2259
2271
|
*/
|
|
2260
|
-
async setPage(pageNumber, rows) {
|
|
2261
|
-
|
|
2272
|
+
async setPage(pageNumber, rows, hasNext) {
|
|
2273
|
+
const isLastPage = hasNext !== undefined ? !hasNext : rows.length < this.pageSize;
|
|
2274
|
+
if (isLastPage) {
|
|
2262
2275
|
// lastRowIdx is -1 when the page is empty; clamp renderEnd to -1 so the
|
|
2263
2276
|
// render loop does not execute and no shimmer rows appear.
|
|
2264
2277
|
const lastRowIdx = pageNumber * this.pageSize + rows.length - 1;
|
|
2265
2278
|
this.renderEnd = Math.min(this.renderEnd, lastRowIdx);
|
|
2279
|
+
// Exact total is known: update minKnownTotal so the scroll container has the right height.
|
|
2280
|
+
this.minKnownTotal = pageNumber * this.pageSize + rows.length;
|
|
2281
|
+
}
|
|
2282
|
+
else {
|
|
2283
|
+
// There is at least one more page — ensure the scrollbar covers at least that next page.
|
|
2284
|
+
this.minKnownTotal = Math.max(this.minKnownTotal, (pageNumber + 1) * this.pageSize + 1);
|
|
2266
2285
|
}
|
|
2267
2286
|
const next = new Map(this.loadedPages);
|
|
2268
2287
|
next.set(pageNumber, rows);
|
|
2269
2288
|
this.loadedPages = next;
|
|
2289
|
+
if (pageNumber === 0 && this.aggregationsPending) {
|
|
2290
|
+
this.aggregationsPending = false;
|
|
2291
|
+
const hasAggColumns = this.columns.some(c => c.type === 'FIELD' && c.aggregate);
|
|
2292
|
+
if (!isLastPage || hasAggColumns) {
|
|
2293
|
+
this.emitLoadAggregations();
|
|
2294
|
+
}
|
|
2295
|
+
}
|
|
2270
2296
|
}
|
|
2271
2297
|
/** Inject aggregation totals returned by the /aggregations endpoint. */
|
|
2272
2298
|
async setAggregations(data) {
|
|
2299
|
+
var _a;
|
|
2300
|
+
const total = (_a = data.total) !== null && _a !== void 0 ? _a : (typeof data.count === 'number' ? data.count : undefined);
|
|
2301
|
+
if (total != null)
|
|
2302
|
+
this.aggregationsTotal = total;
|
|
2273
2303
|
this.aggregations = data;
|
|
2274
2304
|
}
|
|
2275
2305
|
// ── Lifecycle ──────────────────────────────────────────────────────────────
|
|
@@ -2451,6 +2481,25 @@ const MrdTable = class {
|
|
|
2451
2481
|
return 'RELATION';
|
|
2452
2482
|
return (_a = col.dataType) !== null && _a !== void 0 ? _a : 'TEXT';
|
|
2453
2483
|
}
|
|
2484
|
+
/** True when we have a reliable total: either from the aggregations response or because
|
|
2485
|
+
* a short page told us it was the last page (exact count from row length). */
|
|
2486
|
+
isTotalKnown() {
|
|
2487
|
+
if (this.aggregationsTotal != null)
|
|
2488
|
+
return true;
|
|
2489
|
+
for (const rows of this.loadedPages.values()) {
|
|
2490
|
+
if (rows.length < this.pageSize)
|
|
2491
|
+
return true;
|
|
2492
|
+
}
|
|
2493
|
+
return false;
|
|
2494
|
+
}
|
|
2495
|
+
/** Effective total: aggregations-response > totalElements prop > minKnownTotal from setPage(). */
|
|
2496
|
+
get baseTotal() {
|
|
2497
|
+
if (this.aggregationsTotal != null)
|
|
2498
|
+
return this.aggregationsTotal;
|
|
2499
|
+
if (this.totalElements > 0)
|
|
2500
|
+
return this.totalElements;
|
|
2501
|
+
return this.minKnownTotal;
|
|
2502
|
+
}
|
|
2454
2503
|
// ── Aggregation helpers ────────────────────────────────────────────────────
|
|
2455
2504
|
buildAggregationParams() {
|
|
2456
2505
|
var _a;
|
|
@@ -2471,17 +2520,32 @@ const MrdTable = class {
|
|
|
2471
2520
|
params.count = groups.count;
|
|
2472
2521
|
return Object.keys(params).length > 0 ? params : null;
|
|
2473
2522
|
}
|
|
2523
|
+
buildAggregationQs() {
|
|
2524
|
+
var _a, _b, _c;
|
|
2525
|
+
const p = new URLSearchParams(this.buildQueryParams(0));
|
|
2526
|
+
p.delete('page');
|
|
2527
|
+
p.delete('sort');
|
|
2528
|
+
const groups = this.buildAggregationParams();
|
|
2529
|
+
if ((_a = groups === null || groups === void 0 ? void 0 : groups.sum) === null || _a === void 0 ? void 0 : _a.length)
|
|
2530
|
+
p.set('sum', groups.sum.join(','));
|
|
2531
|
+
if ((_b = groups === null || groups === void 0 ? void 0 : groups.avg) === null || _b === void 0 ? void 0 : _b.length)
|
|
2532
|
+
p.set('avg', groups.avg.join(','));
|
|
2533
|
+
if ((_c = groups === null || groups === void 0 ? void 0 : groups.count) === null || _c === void 0 ? void 0 : _c.length)
|
|
2534
|
+
p.set('count', groups.count.join(','));
|
|
2535
|
+
return p.toString();
|
|
2536
|
+
}
|
|
2474
2537
|
emitLoadAggregations() {
|
|
2475
|
-
|
|
2476
|
-
if (aggParams)
|
|
2477
|
-
this.mrdLoadAggregations.emit(Object.assign(Object.assign({}, aggParams), { path: this.buildDataPath(), qs: this.buildQueryParams(0) }));
|
|
2538
|
+
this.mrdLoadAggregations.emit({ path: this.buildDataPath(), qs: this.buildQueryParams(0), aggQs: this.buildAggregationQs() });
|
|
2478
2539
|
}
|
|
2479
2540
|
renderAggregationValue(col) {
|
|
2480
|
-
var _a
|
|
2541
|
+
var _a;
|
|
2481
2542
|
if (col.type !== 'FIELD' || !col.aggregate || !this.aggregations)
|
|
2482
2543
|
return '';
|
|
2483
2544
|
const fn = col.aggregate.toLowerCase();
|
|
2484
|
-
const
|
|
2545
|
+
const aggData = this.aggregations[fn];
|
|
2546
|
+
const val = typeof aggData === 'object' && aggData !== null
|
|
2547
|
+
? aggData[(_a = col.name) !== null && _a !== void 0 ? _a : '']
|
|
2548
|
+
: undefined;
|
|
2485
2549
|
if (val == null)
|
|
2486
2550
|
return '';
|
|
2487
2551
|
const dt = col.dataType;
|
|
@@ -2506,9 +2570,10 @@ const MrdTable = class {
|
|
|
2506
2570
|
this.colWidths = [];
|
|
2507
2571
|
this.scrollTop = 0;
|
|
2508
2572
|
this.renderStart = 0;
|
|
2509
|
-
|
|
2510
|
-
//
|
|
2511
|
-
|
|
2573
|
+
this.minKnownTotal = 0;
|
|
2574
|
+
// Mirror init(): use visibleCount so the first page is always requested.
|
|
2575
|
+
// setPage() will clamp renderEnd down when the last page is shorter.
|
|
2576
|
+
this.renderEnd = this.visibleCount() - 1;
|
|
2512
2577
|
const scroller = this.el.querySelector('.mrd-table__scroll');
|
|
2513
2578
|
if (scroller)
|
|
2514
2579
|
scroller.scrollTop = 0;
|
|
@@ -2774,8 +2839,9 @@ const MrdTable = class {
|
|
|
2774
2839
|
this.activeFilters = next;
|
|
2775
2840
|
this.closeFilterPopup();
|
|
2776
2841
|
this.aggregations = null;
|
|
2777
|
-
this.
|
|
2778
|
-
|
|
2842
|
+
this.aggregationsTotal = null;
|
|
2843
|
+
this.aggregationsPending = true;
|
|
2844
|
+
if (this.totalElements > 0 || this.minKnownTotal > 0) {
|
|
2779
2845
|
this.resetPages();
|
|
2780
2846
|
this.emitPagesForWindow(this.renderStart, this.renderEnd);
|
|
2781
2847
|
}
|
|
@@ -2788,8 +2854,9 @@ const MrdTable = class {
|
|
|
2788
2854
|
this.activeFilters = next;
|
|
2789
2855
|
this.closeFilterPopup();
|
|
2790
2856
|
this.aggregations = null;
|
|
2791
|
-
this.
|
|
2792
|
-
|
|
2857
|
+
this.aggregationsTotal = null;
|
|
2858
|
+
this.aggregationsPending = true;
|
|
2859
|
+
if (this.totalElements > 0 || this.minKnownTotal > 0) {
|
|
2793
2860
|
this.resetPages();
|
|
2794
2861
|
this.emitPagesForWindow(this.renderStart, this.renderEnd);
|
|
2795
2862
|
}
|
|
@@ -2797,8 +2864,9 @@ const MrdTable = class {
|
|
|
2797
2864
|
clearAllFilters() {
|
|
2798
2865
|
this.activeFilters = new Map();
|
|
2799
2866
|
this.aggregations = null;
|
|
2800
|
-
this.
|
|
2801
|
-
|
|
2867
|
+
this.aggregationsTotal = null;
|
|
2868
|
+
this.aggregationsPending = true;
|
|
2869
|
+
if (this.totalElements > 0 || this.minKnownTotal > 0) {
|
|
2802
2870
|
this.resetPages();
|
|
2803
2871
|
this.emitPagesForWindow(this.renderStart, this.renderEnd);
|
|
2804
2872
|
}
|
|
@@ -2921,10 +2989,9 @@ const MrdTable = class {
|
|
|
2921
2989
|
return (h("div", { class: "mrd-table__filter-popup", style: { top: `${this.popupPos.top}px`, left: `${this.popupPos.left}px` }, onClick: (e) => e.stopPropagation() }, h("div", { class: "mrd-table__filter-popup-header" }, h("span", { class: "mrd-table__filter-popup-title" }, label), h("button", { class: "mrd-table__filter-close", onClick: () => this.closeFilterPopup() }, "\u2715")), h("div", { class: "mrd-table__filter-section" }, h("div", { class: "mrd-table__filter-section-label" }, t('filter_sorting', this.locale)), h("div", { class: "mrd-table__filter-sort-buttons" }, h("button", { class: `mrd-table__filter-sort-btn${sortActive && this.sortDir === 'asc' ? ' mrd-table__filter-sort-btn--active' : ''}`, onClick: () => this.applySort(col, 'asc') }, "\u25B2 ", t('filter_ascending', this.locale)), h("button", { class: `mrd-table__filter-sort-btn${sortActive && this.sortDir === 'desc' ? ' mrd-table__filter-sort-btn--active' : ''}`, onClick: () => this.applySort(col, 'desc') }, "\u25BC ", t('filter_descending', this.locale)))), h("div", { class: "mrd-table__filter-divider" }), h("div", { class: "mrd-table__filter-section" }, h("div", { class: "mrd-table__filter-section-label" }, t('filter_section', this.locale)), this.renderFilterEditor(col)), h("div", { class: "mrd-table__filter-popup-footer" }, h("button", { class: "mrd-table__filter-btn mrd-table__filter-btn--clear", onClick: () => this.clearFilter() }, t('filter_clear', this.locale)), h("button", { class: "mrd-table__filter-btn mrd-table__filter-btn--apply", onClick: () => this.applyFilter() }, t('filter_apply', this.locale)))));
|
|
2922
2990
|
}
|
|
2923
2991
|
// ── Render: footer ────────────────────────────────────────────────────────
|
|
2924
|
-
renderFooter(rowCount, effectiveTotal) {
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
if (total === 0) {
|
|
2992
|
+
renderFooter(rowCount, effectiveTotal, isTotalKnown = true) {
|
|
2993
|
+
// Non-paginated mode: totalElements=0 and no paginated data loaded yet
|
|
2994
|
+
if (this.totalElements === 0 && this.loadedPages.size === 0) {
|
|
2928
2995
|
const count = rowCount !== null && rowCount !== void 0 ? rowCount : 0;
|
|
2929
2996
|
if (count === 0)
|
|
2930
2997
|
return null;
|
|
@@ -2933,13 +3000,14 @@ const MrdTable = class {
|
|
|
2933
3000
|
// Paginated mode: only show once page 0 has loaded (avoids stale total during filter reset)
|
|
2934
3001
|
if (!this.loadedPages.has(0))
|
|
2935
3002
|
return null;
|
|
2936
|
-
//
|
|
2937
|
-
|
|
2938
|
-
const displayTotal = effectiveTotal !== null && effectiveTotal !== void 0 ? effectiveTotal : total;
|
|
3003
|
+
// effectiveTotal from render(); fall back to baseTotal when not provided.
|
|
3004
|
+
const displayTotal = effectiveTotal !== null && effectiveTotal !== void 0 ? effectiveTotal : this.baseTotal;
|
|
2939
3005
|
// Compute from/to independently so partial rows at top/bottom are included.
|
|
2940
3006
|
const from = Math.min(Math.floor(this.scrollTop / this.rowHeight) + 1, displayTotal);
|
|
2941
3007
|
const to = Math.min(Math.ceil((this.scrollTop + this.tableHeight) / this.rowHeight), displayTotal);
|
|
2942
|
-
|
|
3008
|
+
// Show '…' for the total until we have a reliable count (aggregations or last page loaded).
|
|
3009
|
+
const totalLabel = isTotalKnown ? String(displayTotal) : '…';
|
|
3010
|
+
return (h("div", { class: "mrd-table__footer" }, from, "\u2013", to, " ", t('table_of', this.locale), " ", totalLabel));
|
|
2943
3011
|
}
|
|
2944
3012
|
// ── Render: cell ──────────────────────────────────────────────────────────
|
|
2945
3013
|
renderCell(col, row) {
|
|
@@ -2998,7 +3066,9 @@ const MrdTable = class {
|
|
|
2998
3066
|
if (!((_a = this.columns) === null || _a === void 0 ? void 0 : _a.length))
|
|
2999
3067
|
return null;
|
|
3000
3068
|
// ── Non-paginated mode ──────────────────────────────────────────────────
|
|
3001
|
-
|
|
3069
|
+
// Only enter non-paginated mode when totalElements is 0 AND no paginated data
|
|
3070
|
+
// has been loaded yet — prevents the wrong branch when the host omits totalElements.
|
|
3071
|
+
if (this.totalElements === 0 && this.loadedPages.size === 0) {
|
|
3002
3072
|
return (h(Host, null, this.renderToolbar(), h("div", { class: "mrd-table" }, h("table", { class: "mrd-table__table" }, h("thead", null, h("tr", null, this.columns.map(col => {
|
|
3003
3073
|
var _a;
|
|
3004
3074
|
const name = this.colName(col);
|
|
@@ -3015,8 +3085,8 @@ const MrdTable = class {
|
|
|
3015
3085
|
// Derive the authoritative row count from loaded pages:
|
|
3016
3086
|
// if any loaded page is shorter than pageSize it is the last page,
|
|
3017
3087
|
// so the true total cannot exceed (pageNum * pageSize + pageRows.length).
|
|
3018
|
-
//
|
|
3019
|
-
let effectiveTotal = this.
|
|
3088
|
+
// aggregationsTotal (from setAggregations) takes priority over the totalElements prop.
|
|
3089
|
+
let effectiveTotal = this.baseTotal;
|
|
3020
3090
|
for (const [pageNum, pageRows] of this.loadedPages) {
|
|
3021
3091
|
if (pageRows.length < this.pageSize) {
|
|
3022
3092
|
effectiveTotal = Math.min(effectiveTotal, pageNum * this.pageSize + pageRows.length);
|
|
@@ -3053,7 +3123,7 @@ const MrdTable = class {
|
|
|
3053
3123
|
isFiltered ? 'mrd-table__header--filtered' : '',
|
|
3054
3124
|
].filter(Boolean).join(' ');
|
|
3055
3125
|
return (h("th", { class: cls, style: this.colWidths[idx] ? { width: `${this.colWidths[idx]}px` } : undefined, onClick: isInteractive ? ((e) => this.filterMode ? this.handleFilterOpen(col, e) : this.handleSortClick(col)) : undefined }, h("span", { class: "mrd-table__header-label" }, (_a = col.label) !== null && _a !== void 0 ? _a : ''), isInteractive && isActive && (h("span", { class: "mrd-table__sort-icon", "aria-hidden": "true" }, this.sortDir === 'asc' ? '▲' : '▼')), isInteractive && !isActive && !this.filterMode && (h("span", { class: "mrd-table__sort-icon", "aria-hidden": "true" }, "\u21C5")), isInteractive && isFiltered && this.renderFilterIcon()));
|
|
3056
|
-
}))), h("tbody", null, topSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${topSpacerHeight}px` } }, h("td", { colSpan: colCount }))), renderedRows, bottomSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${bottomSpacerHeight}px` } }, h("td", { colSpan: colCount })))), this.renderTotalsRow())), effectiveTotal === 0 && this.loadedPages.has(0) && (h("p", { class: "mrd-table__empty" }, t('no_results', this.locale))), effectiveTotal > 0 && this.renderFooter(undefined, effectiveTotal), this.renderFilterPopup(), this.renderTextblockModal()));
|
|
3126
|
+
}))), h("tbody", null, topSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${topSpacerHeight}px` } }, h("td", { colSpan: colCount }))), renderedRows, bottomSpacerHeight > 0 && (h("tr", { class: "mrd-table__spacer", style: { height: `${bottomSpacerHeight}px` } }, h("td", { colSpan: colCount })))), this.renderTotalsRow())), effectiveTotal === 0 && this.loadedPages.has(0) && (h("p", { class: "mrd-table__empty" }, t('no_results', this.locale))), effectiveTotal > 0 && this.renderFooter(undefined, effectiveTotal, this.isTotalKnown()), this.renderFilterPopup(), this.renderTextblockModal()));
|
|
3057
3127
|
}
|
|
3058
3128
|
renderFilterIcon() {
|
|
3059
3129
|
return (h("span", { class: "mrd-table__filter-icon", "aria-hidden": "true" }, h("svg", { viewBox: "0 0 24 24", width: "14", height: "14", fill: "currentColor" }, h("path", { d: "M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z" }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,b as l}from"./p-_tsCCkAi.js";export{s as setNonce}from"./p-_tsCCkAi.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((async e=>(await a(),l([["p-
|
|
1
|
+
import{p as e,b as l}from"./p-_tsCCkAi.js";export{s as setNonce}from"./p-_tsCCkAi.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const l=import.meta.url,a={};return""!==l&&(a.resourcesUrl=new URL(".",l).href),e(a)})().then((async e=>(await a(),l([["p-2a099635",[[2,"mrd-form",{layout:[16],locale:[1],values:[16],referenceHref:[1,"reference-href"],referenceClass:[1,"reference-class"],showCancel:[4,"show-cancel"],formValues:[32],errors:[32],submitted:[32],setFieldValue:[64]},null,{values:[{valuesChanged:0}]}],[2,"mrd-layout-section",{items:[16],data:[16],views:[16],links:[16],locale:[1],searchQueryMap:[32],searchResultsMap:[32],imagePreviewUrl:[32],imagePreviews:[32],setSearchResults:[64],setViewPage:[64],setViewAggregations:[64],setImagePreview:[64],openImagePreview:[64]},null,{data:[{dataChanged:0}]}],[2,"mrd-field",{item:[16],locale:[1],value:[16]}],[2,"mrd-table",{item:[16],parentId:[1,"parent-id"],rows:[16],locale:[1],totalElements:[2,"total-elements"],pageSize:[2,"page-size"],rowHeight:[2,"row-height"],tableHeight:[2,"table-height"],activeViewIdx:[32],loadedPages:[32],requestedPages:[32],renderStart:[32],renderEnd:[32],colWidths:[32],sortField:[32],sortDir:[32],filterMode:[32],activeFilters:[32],openFilterCol:[32],pendingFilter:[32],popupPos:[32],scrollTop:[32],textblockModal:[32],jsonModal:[32],aggregations:[32],aggregationsTotal:[32],minKnownTotal:[32],init:[64],setPage:[64],setAggregations:[64]},null,{totalElements:[{totalElementsChanged:0}],item:[{itemChanged:0}]}],[2,"mrd-boolean-field",{name:[1],label:[1],value:[4],required:[4],disabled:[4],locale:[1],checked:[32]}],[2,"mrd-currency-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],amountDisplay:[32],currency:[32],error:[32]}],[2,"mrd-date-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-datetime-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32],localValue:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-email-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-file-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-hyperlink-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-image-field",{name:[1],label:[1],value:[16],required:[4],disabled:[4],locale:[1],accept:[1],maxSize:[2,"max-size"],previewUrl:[32],fileName:[32],isDragging:[32],uploading:[32],error:[32]},null,{value:[{valueChanged:0}]}],[2,"mrd-list-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],multiple:[4],locale:[1],listItems:[16],error:[32],selected:[32]}],[2,"mrd-longtext-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-number-field",{name:[1],label:[1],value:[2],placeholder:[1],required:[4],disabled:[4],locale:[1],dataType:[1,"data-type"],decimalPrecision:[2,"decimal-precision"],displayValue:[32],error:[32]}],[2,"mrd-relation-field",{name:[1],label:[1],required:[4],disabled:[4],locale:[1],relatedClass:[1,"related-class"],mostSignificantClass:[1,"most-significant-class"],displayType:[1,"display-type"],editBehavior:[1,"edit-behavior"],commonRelation:[1,"common-relation"],multiple:[4],dropdownValues:[16],value:[1],searchQuery:[32],searchResults:[32],allRecords:[32],isLoading:[32],selectedItems:[32],showResults:[32],error:[32],highlightedIndex:[32],setAllRecords:[64],setSearchResults:[64],setLoading:[64]},null,{allRecords:[{allRecordsChanged:0}]}],[2,"mrd-text-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32]}],[2,"mrd-textarea-field",{name:[1],label:[1],value:[1],placeholder:[1],required:[4],disabled:[4],locale:[1],error:[32],editorReady:[32]}],[2,"mrd-time-field",{name:[1],label:[1],value:[1],required:[4],disabled:[4],locale:[1],error:[32]}]]]],e))));
|