@konce-pt/angular 0.7.8 → 0.7.10
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/CHANGELOG.md +59 -0
- package/fesm2022/konce-pt-angular-charts.mjs +8 -8
- package/fesm2022/konce-pt-angular-charts.mjs.map +1 -1
- package/fesm2022/konce-pt-angular.mjs +583 -363
- package/fesm2022/konce-pt-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/context-menu/llms.txt +2 -2
- package/src/lib/data-table/llms.txt +51 -1
- package/src/lib/megamenu/llms.txt +1 -1
- package/src/lib/menu/llms.txt +2 -2
- package/src/lib/menubar/llms.txt +2 -2
- package/src/lib/speed-dial/llms.txt +2 -2
- package/src/lib/split-button/llms.txt +2 -2
- package/types/konce-pt-angular.d.ts +88 -21
- package/types/konce-pt-angular.d.ts.map +1 -1
|
@@ -735,6 +735,7 @@ const KPT_MESSAGES_EN = {
|
|
|
735
735
|
min: 'min',
|
|
736
736
|
max: 'max',
|
|
737
737
|
editCell: 'Edit: {column}',
|
|
738
|
+
total: 'Total',
|
|
738
739
|
},
|
|
739
740
|
confirm: {
|
|
740
741
|
header: 'Confirmation',
|
|
@@ -1002,6 +1003,7 @@ const KPT_MESSAGES_PL = {
|
|
|
1002
1003
|
min: 'min',
|
|
1003
1004
|
max: 'max',
|
|
1004
1005
|
editCell: 'Edytuj: {column}',
|
|
1006
|
+
total: 'Razem',
|
|
1005
1007
|
},
|
|
1006
1008
|
confirm: {
|
|
1007
1009
|
header: 'Potwierdzenie',
|
|
@@ -1349,7 +1351,7 @@ function KptSplitButton_ng_template_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
1349
1351
|
* Wymaga `import '@angular/cdk/overlay-prebuilt.css';`
|
|
1350
1352
|
*
|
|
1351
1353
|
* @example
|
|
1352
|
-
* <kpt-split-button [items]="items" (primaryClick)="save()" (
|
|
1354
|
+
* <kpt-split-button [items]="items" (primaryClick)="save()" (selected)="onItem($event)">Zapisz</kpt-split-button>
|
|
1353
1355
|
*/
|
|
1354
1356
|
class KptSplitButton {
|
|
1355
1357
|
constructor() {
|
|
@@ -1359,7 +1361,7 @@ class KptSplitButton {
|
|
|
1359
1361
|
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
1360
1362
|
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
1361
1363
|
this.primaryClick = output();
|
|
1362
|
-
this.
|
|
1364
|
+
this.selected = output();
|
|
1363
1365
|
this.i18n = inject(KptI18n);
|
|
1364
1366
|
this.open = signal(false, /* @ts-ignore */
|
|
1365
1367
|
...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
@@ -1371,11 +1373,11 @@ class KptSplitButton {
|
|
|
1371
1373
|
pick(item) {
|
|
1372
1374
|
if (item.disabled)
|
|
1373
1375
|
return;
|
|
1374
|
-
this.
|
|
1376
|
+
this.selected.emit(item);
|
|
1375
1377
|
this.open.set(false);
|
|
1376
1378
|
}
|
|
1377
1379
|
static { this.ɵfac = function KptSplitButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KptSplitButton)(); }; }
|
|
1378
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptSplitButton, selectors: [["kpt-split-button"]], hostAttrs: [1, "kpt-split-button-host"], inputs: { variant: [1, "variant"], items: [1, "items"], disabled: [1, "disabled"] }, outputs: { primaryClick: "primaryClick",
|
|
1380
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptSplitButton, selectors: [["kpt-split-button"]], hostAttrs: [1, "kpt-split-button-host"], inputs: { variant: [1, "variant"], items: [1, "items"], disabled: [1, "disabled"] }, outputs: { primaryClick: "primaryClick", selected: "selected" }, ngContentSelectors: _c0$z, decls: 7, vars: 8, consts: [["origin", "cdkOverlayOrigin"], [1, "kpt-split-button"], ["type", "button", 1, "kpt-split-button__main", 3, "click", "disabled"], ["type", "button", "cdkOverlayOrigin", "", 1, "kpt-split-button__toggle", 3, "click", "disabled"], ["name", "chevron-down"], ["cdkConnectedOverlay", "", "cdkConnectedOverlayBackdropClass", "cdk-overlay-transparent-backdrop", 3, "backdropClick", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayHasBackdrop"], ["role", "menu", 1, "kpt-split-button__panel"], ["role", "separator", 1, "kpt-split-button__separator"], ["role", "presentation", 1, "kpt-split-button__header"], ["type", "button", 1, "kpt-split-button__item", 3, "kpt-split-button__item--danger", "disabled"], ["size", "sm", 3, "src", "name", "icon"], [3, "name"], [1, "kpt-split-button__text"], [1, "kpt-split-button__label"], [1, "kpt-split-button__description"], ["type", "button", 1, "kpt-split-button__item", 3, "click", "disabled"], [1, "kpt-split-button__badge", 3, "value", "variant"]], template: function KptSplitButton_Template(rf, ctx) { if (rf & 1) {
|
|
1379
1381
|
i0.ɵɵprojectionDef();
|
|
1380
1382
|
i0.ɵɵelementStart(0, "div", 1)(1, "button", 2);
|
|
1381
1383
|
i0.ɵɵlistener("click", function KptSplitButton_Template_button_click_1_listener() { return ctx.primaryClick.emit(); });
|
|
@@ -1477,7 +1479,7 @@ class KptSplitButton {
|
|
|
1477
1479
|
</div>
|
|
1478
1480
|
</ng-template>
|
|
1479
1481
|
`, host: { class: 'kpt-split-button-host' }, styles: ["@charset \"UTF-8\";@layer kpt.components{.kpt-split-button-host{display:inline-flex}.kpt-split-button{--_bg: var(--kpt-color-primary);--_fg: var(--kpt-color-on-primary);--_bg-hover: var(--kpt-color-primary-hover);display:inline-flex;border-radius:var(--kpt-button-radius, .5rem);overflow:hidden}.kpt-split-button[data-variant=tonal]{--_bg: var(--kpt-color-muted);--_fg: var(--kpt-color-on-muted);--_bg-hover: var(--kpt-color-muted-hover)}.kpt-split-button__main,.kpt-split-button__toggle{border:0;background:var(--_bg);color:var(--_fg);cursor:pointer;font:inherit;font-size:var(--kpt-font-size-sm, .875rem);font-weight:var(--kpt-font-weight-medium, 500);height:2.5rem;position:relative;isolation:isolate}.kpt-split-button__main:after,.kpt-split-button__toggle:after{content:\"\";position:absolute;inset:0;z-index:-1;background-color:var(--_bg-hover);opacity:0;pointer-events:none;transition:opacity var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-split-button__main:hover:not(:disabled):after,.kpt-split-button__toggle:hover:not(:disabled):after{opacity:1}.kpt-split-button__main:disabled,.kpt-split-button__toggle:disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.kpt-split-button__main:after,.kpt-split-button__toggle:after{transition:none}}.kpt-split-button__main{padding-inline:var(--kpt-space-4, 1rem)}.kpt-split-button__toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;border-inline-start:1px solid color-mix(in oklch,var(--_fg) 25%,transparent)}.kpt-split-button__panel{min-width:11rem;padding:.25rem;background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem);box-shadow:var(--kpt-elevation-3)}.kpt-split-button__item{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);width:100%;padding:.5rem .6rem;border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font:inherit;font-size:var(--kpt-font-size-sm, .875rem);text-align:start;cursor:pointer}.kpt-split-button__item:hover:not(:disabled){background:var(--kpt-color-surface-variant)}.kpt-split-button__item:disabled{opacity:.45;cursor:not-allowed}.kpt-split-button__item--danger{color:var(--kpt-color-danger)}.kpt-split-button__item kpt-icon{color:var(--kpt-color-on-surface-muted)}.kpt-split-button__header{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);padding:.5rem .6rem;font-size:var(--kpt-font-size-sm, .875rem);cursor:default}.kpt-split-button__header .kpt-split-button__label{font-weight:var(--kpt-font-weight-semibold, 600)}.kpt-split-button__header kpt-icon{color:var(--kpt-color-on-surface-muted)}.kpt-split-button__text{display:flex;flex-direction:column;min-width:0}.kpt-split-button__label,.kpt-split-button__description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpt-split-button__description{color:var(--kpt-color-on-surface-muted);font-size:var(--kpt-font-size-xs, .75rem)}.kpt-split-button__badge{margin-inline-start:auto}.kpt-split-button__separator{height:1px;margin:.25rem 0;background:var(--kpt-color-border)}}\n"] }]
|
|
1480
|
-
}], null, { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], primaryClick: [{ type: i0.Output, args: ["primaryClick"] }],
|
|
1482
|
+
}], null, { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], primaryClick: [{ type: i0.Output, args: ["primaryClick"] }], selected: [{ type: i0.Output, args: ["selected"] }] }); })();
|
|
1481
1483
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptSplitButton, { className: "KptSplitButton", filePath: "lib/split-button/split-button.component.ts", lineNumber: 101 }); })();
|
|
1482
1484
|
|
|
1483
1485
|
// Do not edit directly — generated by scripts/gen-tokens.mjs
|
|
@@ -2793,6 +2795,11 @@ function KptClock_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
|
2793
2795
|
const R_OUTER = 40;
|
|
2794
2796
|
const R_INNER = 26;
|
|
2795
2797
|
const pad$2 = (n) => String(n).padStart(2, '0');
|
|
2798
|
+
/** Pozycja znacznika (% tarczy) na pierścieniu o promieniu `radius`: 12 na górze, zegarowo. */
|
|
2799
|
+
function markPos(index, radius) {
|
|
2800
|
+
const theta = (index / 12) * 2 * Math.PI;
|
|
2801
|
+
return { x: 50 + radius * Math.sin(theta), y: 50 - radius * Math.cos(theta) };
|
|
2802
|
+
}
|
|
2796
2803
|
/**
|
|
2797
2804
|
* Tarcza zegara (wybór godziny) — dwa etapy: godziny → minuty, klik lub przeciąganie.
|
|
2798
2805
|
* Format 12/24h (`hourFormat`); w 24h dodatkowy wewnętrzny pierścień 13–00, w 12h AM/PM.
|
|
@@ -2824,66 +2831,14 @@ class KptClock {
|
|
|
2824
2831
|
...(ngDevMode ? [{ debugName: "hourLabel" }] : /* istanbul ignore next */ []));
|
|
2825
2832
|
this.minuteLabel = computed(() => pad$2(this.minute()), /* @ts-ignore */
|
|
2826
2833
|
...(ngDevMode ? [{ debugName: "minuteLabel" }] : /* istanbul ignore next */ []));
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
if (this.hourFormat() === 12) {
|
|
2830
|
-
const ap = this.ampm();
|
|
2831
|
-
const curH12 = this.hour12();
|
|
2832
|
-
for (let i = 0; i < 12; i++) {
|
|
2833
|
-
const theta = (i / 12) * 2 * Math.PI;
|
|
2834
|
-
const h12 = i === 0 ? 12 : i;
|
|
2835
|
-
marks.push({
|
|
2836
|
-
label: String(h12),
|
|
2837
|
-
hour24: this.from12h(h12, ap),
|
|
2838
|
-
x: 50 + R_OUTER * Math.sin(theta),
|
|
2839
|
-
y: 50 - R_OUTER * Math.cos(theta),
|
|
2840
|
-
inner: false,
|
|
2841
|
-
selected: curH12 === h12,
|
|
2842
|
-
});
|
|
2843
|
-
}
|
|
2844
|
-
return marks;
|
|
2845
|
-
}
|
|
2846
|
-
const cur = this.hour();
|
|
2847
|
-
for (let i = 0; i < 12; i++) {
|
|
2848
|
-
const theta = (i / 12) * 2 * Math.PI;
|
|
2849
|
-
const hour24 = i === 0 ? 12 : i;
|
|
2850
|
-
marks.push({
|
|
2851
|
-
label: i === 0 ? '12' : String(i),
|
|
2852
|
-
hour24,
|
|
2853
|
-
x: 50 + R_OUTER * Math.sin(theta),
|
|
2854
|
-
y: 50 - R_OUTER * Math.cos(theta),
|
|
2855
|
-
inner: false,
|
|
2856
|
-
selected: cur === hour24,
|
|
2857
|
-
});
|
|
2858
|
-
}
|
|
2859
|
-
for (let i = 0; i < 12; i++) {
|
|
2860
|
-
const theta = (i / 12) * 2 * Math.PI;
|
|
2861
|
-
const hour24 = i === 0 ? 0 : i + 12;
|
|
2862
|
-
marks.push({
|
|
2863
|
-
label: i === 0 ? '00' : String(i + 12),
|
|
2864
|
-
hour24,
|
|
2865
|
-
x: 50 + R_INNER * Math.sin(theta),
|
|
2866
|
-
y: 50 - R_INNER * Math.cos(theta),
|
|
2867
|
-
inner: true,
|
|
2868
|
-
selected: cur === hour24,
|
|
2869
|
-
});
|
|
2870
|
-
}
|
|
2871
|
-
return marks;
|
|
2872
|
-
}, /* @ts-ignore */
|
|
2834
|
+
/** W 12h jeden pierścień; w 24h zewnętrzny (12, 1–11) i wewnętrzny (00, 13–23). */
|
|
2835
|
+
this.hourMarks = computed(() => this.hourFormat() === 12 ? this.marks12h() : [...this.marks24hOuter(), ...this.marks24hInner()], /* @ts-ignore */
|
|
2873
2836
|
...(ngDevMode ? [{ debugName: "hourMarks" }] : /* istanbul ignore next */ []));
|
|
2874
2837
|
this.minuteMarks = computed(() => {
|
|
2875
2838
|
const cur = this.minute();
|
|
2876
2839
|
return Array.from({ length: 12 }, (_, i) => {
|
|
2877
2840
|
const val = i * 5;
|
|
2878
|
-
|
|
2879
|
-
return {
|
|
2880
|
-
label: pad$2(val),
|
|
2881
|
-
hour24: val,
|
|
2882
|
-
x: 50 + R_OUTER * Math.sin(theta),
|
|
2883
|
-
y: 50 - R_OUTER * Math.cos(theta),
|
|
2884
|
-
inner: false,
|
|
2885
|
-
selected: cur === val,
|
|
2886
|
-
};
|
|
2841
|
+
return { label: pad$2(val), hour24: val, ...markPos(i, R_OUTER), inner: false, selected: cur === val };
|
|
2887
2842
|
});
|
|
2888
2843
|
}, /* @ts-ignore */
|
|
2889
2844
|
...(ngDevMode ? [{ debugName: "minuteMarks" }] : /* istanbul ignore next */ []));
|
|
@@ -2909,6 +2864,31 @@ class KptClock {
|
|
|
2909
2864
|
const base = h12 % 12; // 12 → 0
|
|
2910
2865
|
return ap === 'PM' ? base + 12 : base;
|
|
2911
2866
|
}
|
|
2867
|
+
marks12h() {
|
|
2868
|
+
const ap = this.ampm();
|
|
2869
|
+
const cur = this.hour();
|
|
2870
|
+
return Array.from({ length: 12 }, (_, i) => {
|
|
2871
|
+
const h12 = i === 0 ? 12 : i;
|
|
2872
|
+
// Wartość docelowa bierze bieżące AM/PM — tarcza pokazuje tylko jedną połowę doby.
|
|
2873
|
+
const hour24 = this.from12h(h12, ap);
|
|
2874
|
+
return { label: String(h12), hour24, ...markPos(i, R_OUTER), inner: false, selected: cur === hour24 };
|
|
2875
|
+
});
|
|
2876
|
+
}
|
|
2877
|
+
marks24hOuter() {
|
|
2878
|
+
const cur = this.hour();
|
|
2879
|
+
return Array.from({ length: 12 }, (_, i) => {
|
|
2880
|
+
const hour24 = i === 0 ? 12 : i;
|
|
2881
|
+
return { label: String(hour24), hour24, ...markPos(i, R_OUTER), inner: false, selected: cur === hour24 };
|
|
2882
|
+
});
|
|
2883
|
+
}
|
|
2884
|
+
marks24hInner() {
|
|
2885
|
+
const cur = this.hour();
|
|
2886
|
+
return Array.from({ length: 12 }, (_, i) => {
|
|
2887
|
+
const hour24 = i === 0 ? 0 : i + 12;
|
|
2888
|
+
// `pad` daje '00' dla północy; 13–23 są już dwucyfrowe.
|
|
2889
|
+
return { label: pad$2(hour24), hour24, ...markPos(i, R_INNER), inner: true, selected: cur === hour24 };
|
|
2890
|
+
});
|
|
2891
|
+
}
|
|
2912
2892
|
setPhase(phase) {
|
|
2913
2893
|
this.clockPhase.set(phase);
|
|
2914
2894
|
}
|
|
@@ -2937,24 +2917,32 @@ class KptClock {
|
|
|
2937
2917
|
if (deg < 0)
|
|
2938
2918
|
deg += 360;
|
|
2939
2919
|
if (this.clockPhase() === 'hours') {
|
|
2940
|
-
|
|
2941
|
-
if (this.hourFormat() === 12) {
|
|
2942
|
-
const h12 = idx === 0 ? 12 : idx;
|
|
2943
|
-
this.hour.set(this.from12h(h12, this.ampm()));
|
|
2944
|
-
}
|
|
2945
|
-
else {
|
|
2946
|
-
const radius = Math.hypot(dx, dy) / (rect.width / 2);
|
|
2947
|
-
const inner = radius < (R_OUTER + R_INNER) / 2 / 50;
|
|
2948
|
-
this.hour.set(inner ? (idx === 0 ? 0 : idx + 12) : idx === 0 ? 12 : idx);
|
|
2949
|
-
}
|
|
2920
|
+
this.setHourFromAngle(deg, Math.hypot(dx, dy) / (rect.width / 2));
|
|
2950
2921
|
}
|
|
2951
2922
|
else {
|
|
2952
|
-
|
|
2953
|
-
const raw = Math.round(deg / 6) % 60;
|
|
2954
|
-
this.minute.set((Math.round(raw / step) * step) % 60);
|
|
2923
|
+
this.setMinuteFromAngle(deg);
|
|
2955
2924
|
}
|
|
2956
2925
|
this.emit();
|
|
2957
2926
|
}
|
|
2927
|
+
/** Godzina z kąta; w 24h o pierścieniu (a więc o 12–23 vs 0–11) decyduje promień kliknięcia. */
|
|
2928
|
+
setHourFromAngle(deg, radius) {
|
|
2929
|
+
const idx = Math.round(deg / 30) % 12;
|
|
2930
|
+
if (this.hourFormat() === 12) {
|
|
2931
|
+
this.hour.set(this.from12h(idx === 0 ? 12 : idx, this.ampm()));
|
|
2932
|
+
return;
|
|
2933
|
+
}
|
|
2934
|
+
const inner = radius < (R_OUTER + R_INNER) / 2 / 50;
|
|
2935
|
+
if (inner)
|
|
2936
|
+
this.hour.set(idx === 0 ? 0 : idx + 12);
|
|
2937
|
+
else
|
|
2938
|
+
this.hour.set(idx === 0 ? 12 : idx);
|
|
2939
|
+
}
|
|
2940
|
+
/** Minuta z kąta, dociągnięta do `minuteStep`. */
|
|
2941
|
+
setMinuteFromAngle(deg) {
|
|
2942
|
+
const step = Math.max(1, this.minuteStep());
|
|
2943
|
+
const raw = Math.round(deg / 6) % 60;
|
|
2944
|
+
this.minute.set((Math.round(raw / step) * step) % 60);
|
|
2945
|
+
}
|
|
2958
2946
|
onDialUp() {
|
|
2959
2947
|
if (this.clockPhase() === 'hours')
|
|
2960
2948
|
this.clockPhase.set('minutes');
|
|
@@ -3054,7 +3042,7 @@ class KptClock {
|
|
|
3054
3042
|
</div>
|
|
3055
3043
|
`, host: { class: 'kpt-clock-host' }, styles: ["@layer kpt.components{.kpt-clock-host{display:block}.kpt-clock__time{display:flex;align-items:center;justify-content:center;gap:var(--kpt-space-1, .25rem);margin-bottom:var(--kpt-space-3, .75rem);font-variant-numeric:tabular-nums}.kpt-clock__seg{border:0;background:none;padding:.1rem .4rem;border-radius:var(--kpt-radius-sm, .25rem);font-size:var(--kpt-font-size-2xl, 1.5rem);font-weight:var(--kpt-font-weight-semibold, 600);color:var(--kpt-color-on-surface-muted);cursor:pointer}.kpt-clock__seg.is-active{color:var(--kpt-color-primary);background:var(--kpt-color-muted)}.kpt-clock__colon{font-size:var(--kpt-font-size-2xl, 1.5rem);font-weight:var(--kpt-font-weight-semibold, 600);color:var(--kpt-color-on-surface-muted)}.kpt-clock__ampm{display:flex;flex-direction:column;gap:2px;margin-inline-start:var(--kpt-space-2, .5rem)}.kpt-clock__ampm button{border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);background:none;padding:.1rem .4rem;border-radius:var(--kpt-radius-sm, .25rem);font-size:var(--kpt-font-size-xs, .75rem);font-weight:var(--kpt-font-weight-semibold, 600);color:var(--kpt-color-on-surface-muted);cursor:pointer}.kpt-clock__ampm button.is-active{background:var(--kpt-color-primary);border-color:var(--kpt-color-primary);color:var(--kpt-color-on-primary)}.kpt-clock__face{position:relative;width:13rem;max-width:100%;aspect-ratio:1;margin:0 auto;border-radius:50%;background:var(--kpt-color-surface-variant);touch-action:none;-webkit-user-select:none;user-select:none}.kpt-clock__center{position:absolute;left:50%;top:50%;width:8px;height:8px;transform:translate(-50%,-50%);border-radius:50%;background:var(--kpt-color-primary);z-index:2}.kpt-clock__hand{position:absolute;left:50%;bottom:50%;width:2px;height:40%;margin-left:-1px;transform-origin:bottom center;background:var(--kpt-color-primary);z-index:1}.kpt-clock__hand--inner{height:26%}.kpt-clock__hand:before{content:\"\";position:absolute;top:-3px;left:50%;width:8px;height:8px;transform:translate(-50%);border-radius:50%;background:var(--kpt-color-primary)}.kpt-clock__num{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:0;border-radius:50%;background:none;color:var(--kpt-color-on-surface);font:inherit;font-size:var(--kpt-font-size-sm, .875rem);cursor:pointer;z-index:2}.kpt-clock__num:hover{background:var(--kpt-color-muted)}.kpt-clock__num--inner{width:1.6rem;height:1.6rem;font-size:var(--kpt-font-size-xs, .75rem);color:var(--kpt-color-on-surface-muted)}.kpt-clock__num--selected{background:var(--kpt-color-primary)!important;color:var(--kpt-color-on-primary)}}\n"] }]
|
|
3056
3044
|
}], () => [], { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], hourFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "hourFormat", required: false }] }], minuteStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "minuteStep", required: false }] }] }); })();
|
|
3057
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptClock, { className: "KptClock", filePath: "lib/datepicker/clock.component.ts", lineNumber:
|
|
3045
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptClock, { className: "KptClock", filePath: "lib/datepicker/clock.component.ts", lineNumber: 100 }); })();
|
|
3058
3046
|
|
|
3059
3047
|
const _forTrack0$8 = ($index, $item) => $item.iso;
|
|
3060
3048
|
const _forTrack1$2 = ($index, $item) => $item.label;
|
|
@@ -3534,42 +3522,29 @@ class KptDatepicker {
|
|
|
3534
3522
|
return this.formatTime(t?.h ?? 0, t?.m ?? 0);
|
|
3535
3523
|
}, /* @ts-ignore */
|
|
3536
3524
|
...(ngDevMode ? [{ debugName: "timeBarLabel" }] : /* istanbul ignore next */ []));
|
|
3525
|
+
/**
|
|
3526
|
+
* Tekst w triggerze. Każdy tryb ma własny format wartości, więc `display` tylko rozdziela
|
|
3527
|
+
* robotę — formatowanie siedzi w metodach `display*` niżej. Wartość niepasująca do formatu
|
|
3528
|
+
* trybu daje pusty string (trigger nie pokazuje śmieci, np. po ręcznej podmianie modelu).
|
|
3529
|
+
*/
|
|
3537
3530
|
this.display = computed(() => {
|
|
3538
3531
|
const v = this.value();
|
|
3539
3532
|
if (!v)
|
|
3540
3533
|
return '';
|
|
3541
3534
|
const iso = this.displayFormat() === 'iso';
|
|
3542
3535
|
switch (this.selectionMode()) {
|
|
3543
|
-
case 'monthYear':
|
|
3544
|
-
|
|
3545
|
-
return m ? (iso ? v : `${m[2]}.${m[1]}`) : '';
|
|
3546
|
-
}
|
|
3536
|
+
case 'monthYear':
|
|
3537
|
+
return this.displayMonthYear(v, iso);
|
|
3547
3538
|
case 'year':
|
|
3548
3539
|
return /^\d{4}$/.test(v) ? v : '';
|
|
3549
|
-
case 'month':
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
return t ? this.formatTime(t.h, t.m) : '';
|
|
3558
|
-
}
|
|
3559
|
-
case 'datetime': {
|
|
3560
|
-
const dt = this.parseDateTime(v);
|
|
3561
|
-
if (!dt)
|
|
3562
|
-
return '';
|
|
3563
|
-
const datePart = iso ? dt.date : `${dt.date.slice(8, 10)}.${dt.date.slice(5, 7)}.${dt.date.slice(0, 4)}`;
|
|
3564
|
-
const sep = iso ? 'T' : ' ';
|
|
3565
|
-
return `${datePart}${sep}${this.formatTime(dt.h, dt.m)}`;
|
|
3566
|
-
}
|
|
3567
|
-
default: {
|
|
3568
|
-
const d = this.parseDate(v);
|
|
3569
|
-
if (!d)
|
|
3570
|
-
return '';
|
|
3571
|
-
return iso ? toIso$1(d) : `${pad$1(d.getDate())}.${pad$1(d.getMonth() + 1)}.${d.getFullYear()}`;
|
|
3572
|
-
}
|
|
3540
|
+
case 'month':
|
|
3541
|
+
return this.displayMonth(v);
|
|
3542
|
+
case 'time':
|
|
3543
|
+
return this.displayTime(v);
|
|
3544
|
+
case 'datetime':
|
|
3545
|
+
return this.displayDateTime(v, iso);
|
|
3546
|
+
default:
|
|
3547
|
+
return this.displayDate(v, iso);
|
|
3573
3548
|
}
|
|
3574
3549
|
}, /* @ts-ignore */
|
|
3575
3550
|
...(ngDevMode ? [{ debugName: "display" }] : /* istanbul ignore next */ []));
|
|
@@ -3718,6 +3693,36 @@ class KptDatepicker {
|
|
|
3718
3693
|
}
|
|
3719
3694
|
return `${pad$1(h)}:${pad$1(m)}`;
|
|
3720
3695
|
}
|
|
3696
|
+
displayMonthYear(v, iso) {
|
|
3697
|
+
const m = /^(\d{4})-(\d{2})$/.exec(v);
|
|
3698
|
+
if (!m)
|
|
3699
|
+
return '';
|
|
3700
|
+
return iso ? v : `${m[2]}.${m[1]}`;
|
|
3701
|
+
}
|
|
3702
|
+
displayMonth(v) {
|
|
3703
|
+
const m = /^(\d{2})$/.exec(v);
|
|
3704
|
+
if (!m)
|
|
3705
|
+
return '';
|
|
3706
|
+
return this.monthDisplay() === 'number' ? m[1] : (this.months()[+m[1] - 1] ?? '');
|
|
3707
|
+
}
|
|
3708
|
+
displayTime(v) {
|
|
3709
|
+
const t = this.parseTime(v);
|
|
3710
|
+
return t ? this.formatTime(t.h, t.m) : '';
|
|
3711
|
+
}
|
|
3712
|
+
displayDateTime(v, iso) {
|
|
3713
|
+
const dt = this.parseDateTime(v);
|
|
3714
|
+
if (!dt)
|
|
3715
|
+
return '';
|
|
3716
|
+
const datePart = iso ? dt.date : `${dt.date.slice(8, 10)}.${dt.date.slice(5, 7)}.${dt.date.slice(0, 4)}`;
|
|
3717
|
+
const sep = iso ? 'T' : ' ';
|
|
3718
|
+
return `${datePart}${sep}${this.formatTime(dt.h, dt.m)}`;
|
|
3719
|
+
}
|
|
3720
|
+
displayDate(v, iso) {
|
|
3721
|
+
const d = this.parseDate(v);
|
|
3722
|
+
if (!d)
|
|
3723
|
+
return '';
|
|
3724
|
+
return iso ? toIso$1(d) : `${pad$1(d.getDate())}.${pad$1(d.getMonth() + 1)}.${d.getFullYear()}`;
|
|
3725
|
+
}
|
|
3721
3726
|
// ── Parsowanie ──
|
|
3722
3727
|
parseDate(iso) {
|
|
3723
3728
|
const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(iso ?? '');
|
|
@@ -9221,6 +9226,157 @@ class KptCellEditDef {
|
|
|
9221
9226
|
}]
|
|
9222
9227
|
}], null, { kptCellEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "kptCellEdit", required: true }] }] }); })();
|
|
9223
9228
|
|
|
9229
|
+
/*
|
|
9230
|
+
* Zamiana wartości komórki na tekst dla filtrowania, sortowania i podsumowań — pure TS,
|
|
9231
|
+
* wydzielone żeby dało się testować `node --test` bez ciągnięcia Angulara (jak `csv-export.ts`).
|
|
9232
|
+
*/
|
|
9233
|
+
/**
|
|
9234
|
+
* Tekst z dowolnej wartości komórki. Prymitywy, `Date` i tablice zachowują się jak `String()`,
|
|
9235
|
+
* natomiast zwykły obiekt daje **pusty string**, nie `'[object Object]'`: ten drugi udawałby
|
|
9236
|
+
* sensowną zawartość — filtr tekstowy „obj" dopasowywałby każdy wiersz z obiektem w komórce,
|
|
9237
|
+
* a sortowanie uznawało je wszystkie za równe.
|
|
9238
|
+
*/
|
|
9239
|
+
function toText(value) {
|
|
9240
|
+
switch (typeof value) {
|
|
9241
|
+
case 'string':
|
|
9242
|
+
return value;
|
|
9243
|
+
case 'number':
|
|
9244
|
+
case 'boolean':
|
|
9245
|
+
case 'bigint':
|
|
9246
|
+
return String(value);
|
|
9247
|
+
case 'object':
|
|
9248
|
+
if (value === null)
|
|
9249
|
+
return '';
|
|
9250
|
+
if (value instanceof Date)
|
|
9251
|
+
return value.toString();
|
|
9252
|
+
if (Array.isArray(value))
|
|
9253
|
+
return value.map(toText).join(',');
|
|
9254
|
+
return '';
|
|
9255
|
+
default:
|
|
9256
|
+
return '';
|
|
9257
|
+
}
|
|
9258
|
+
}
|
|
9259
|
+
|
|
9260
|
+
/*
|
|
9261
|
+
* Agregacje wiersza podsumowania (`<tfoot>`) — pure TS, wydzielone żeby dało się
|
|
9262
|
+
* testować `node --test` bez ciągnięcia Angulara (jak `csv-export.ts`).
|
|
9263
|
+
*/
|
|
9264
|
+
/**
|
|
9265
|
+
* Sumowanie liczb zmiennoprzecinkowych daje ogony (`0.1 + 0.2` → `0.30000000000000004`),
|
|
9266
|
+
* które bez tego przycięcia wyciekłyby wprost do komórki podsumowania.
|
|
9267
|
+
*/
|
|
9268
|
+
function trimFloat(value) {
|
|
9269
|
+
return Math.round(value * 1e10) / 1e10;
|
|
9270
|
+
}
|
|
9271
|
+
/** Liczba z komórki: `number` bez zmian, string przez `parseFloat`, reszta → `NaN` (pomijana). */
|
|
9272
|
+
function toNumber(value) {
|
|
9273
|
+
if (typeof value === 'number')
|
|
9274
|
+
return value;
|
|
9275
|
+
if (typeof value === 'string' && value.trim() !== '')
|
|
9276
|
+
return Number.parseFloat(value);
|
|
9277
|
+
return Number.NaN;
|
|
9278
|
+
}
|
|
9279
|
+
/**
|
|
9280
|
+
* Agreguje jedno pole po wierszach. `count` liczy wiersze; pozostałe funkcje pomijają
|
|
9281
|
+
* wartości nieliczbowe. Pusty zbiór liczb: `sum` → 0, `avg`/`min`/`max` → `null`
|
|
9282
|
+
* (komórka renderuje się wtedy pusta).
|
|
9283
|
+
*/
|
|
9284
|
+
function aggregate(rows, field, fn) {
|
|
9285
|
+
if (fn === 'count')
|
|
9286
|
+
return rows.length;
|
|
9287
|
+
const nums = [];
|
|
9288
|
+
for (const row of rows) {
|
|
9289
|
+
const num = toNumber(row[field]);
|
|
9290
|
+
if (!Number.isNaN(num))
|
|
9291
|
+
nums.push(num);
|
|
9292
|
+
}
|
|
9293
|
+
switch (fn) {
|
|
9294
|
+
case 'sum':
|
|
9295
|
+
return trimFloat(nums.reduce((acc, n) => acc + n, 0));
|
|
9296
|
+
case 'avg':
|
|
9297
|
+
return nums.length === 0 ? null : trimFloat(nums.reduce((acc, n) => acc + n, 0) / nums.length);
|
|
9298
|
+
case 'min':
|
|
9299
|
+
return nums.length === 0 ? null : Math.min(...nums);
|
|
9300
|
+
case 'max':
|
|
9301
|
+
return nums.length === 0 ? null : Math.max(...nums);
|
|
9302
|
+
default:
|
|
9303
|
+
return null;
|
|
9304
|
+
}
|
|
9305
|
+
}
|
|
9306
|
+
|
|
9307
|
+
/*
|
|
9308
|
+
* Dopasowanie wiersza do filtrów kolumn tabeli — pure TS, wydzielone żeby dało się
|
|
9309
|
+
* testować `node --test` bez ciągnięcia Angulara (jak `csv-export.ts` i `summary.ts`).
|
|
9310
|
+
* Komponent trzyma tylko stan filtrów; cała semantyka „czy komórka pasuje" jest tutaj.
|
|
9311
|
+
*/
|
|
9312
|
+
/** Data komórki w formacie `YYYY-MM-DD` — do porównań leksykograficznych z granicami zakresu. */
|
|
9313
|
+
function toIsoDate(value) {
|
|
9314
|
+
if (value instanceof Date) {
|
|
9315
|
+
const p = (n) => String(n).padStart(2, '0');
|
|
9316
|
+
return `${value.getFullYear()}-${p(value.getMonth() + 1)}-${p(value.getDate())}`;
|
|
9317
|
+
}
|
|
9318
|
+
return toText(value);
|
|
9319
|
+
}
|
|
9320
|
+
/** Filtr „pusty" (nie wybrano nic) przepuszcza każdy wiersz. */
|
|
9321
|
+
function isEmptyFilterValue(value) {
|
|
9322
|
+
return value == null || value === '' || (Array.isArray(value) && value.length === 0);
|
|
9323
|
+
}
|
|
9324
|
+
const matchesText = (cell, value) => toText(cell).toLowerCase().includes(toText(value).toLowerCase());
|
|
9325
|
+
const matchesNumber = (cell, value) => toText(cell).includes(toText(value));
|
|
9326
|
+
const matchesSelect = (cell, value) => {
|
|
9327
|
+
const picked = Array.isArray(value) ? value : [value];
|
|
9328
|
+
// Komórka-tablica (np. lista tagów/członków) → dopasuj, gdy zawiera dowolną z wybranych wartości.
|
|
9329
|
+
if (Array.isArray(cell))
|
|
9330
|
+
return cell.some((c) => picked.includes(c));
|
|
9331
|
+
return picked.includes(cell);
|
|
9332
|
+
};
|
|
9333
|
+
const matchesNumberRange = (cell, value) => {
|
|
9334
|
+
const { min, max } = value ?? {};
|
|
9335
|
+
const lo = min == null || min === '' ? null : Number.parseFloat(min);
|
|
9336
|
+
const hi = max == null || max === '' ? null : Number.parseFloat(max);
|
|
9337
|
+
if (lo === null && hi === null)
|
|
9338
|
+
return true;
|
|
9339
|
+
const num = toNumber(cell);
|
|
9340
|
+
if (Number.isNaN(num))
|
|
9341
|
+
return false;
|
|
9342
|
+
if (lo !== null && num < lo)
|
|
9343
|
+
return false;
|
|
9344
|
+
if (hi !== null && num > hi)
|
|
9345
|
+
return false;
|
|
9346
|
+
return true;
|
|
9347
|
+
};
|
|
9348
|
+
const matchesSlider = (cell, value) => {
|
|
9349
|
+
const [lo, hi] = value;
|
|
9350
|
+
const num = toNumber(cell);
|
|
9351
|
+
if (Number.isNaN(num))
|
|
9352
|
+
return false;
|
|
9353
|
+
return num >= lo && num <= hi;
|
|
9354
|
+
};
|
|
9355
|
+
const matchesDateRange = (cell, value) => {
|
|
9356
|
+
const { start, end } = value ?? {};
|
|
9357
|
+
if (!start && !end)
|
|
9358
|
+
return true;
|
|
9359
|
+
const iso = toIsoDate(cell);
|
|
9360
|
+
if (start && iso < start)
|
|
9361
|
+
return false;
|
|
9362
|
+
if (end && iso > end)
|
|
9363
|
+
return false;
|
|
9364
|
+
return true;
|
|
9365
|
+
};
|
|
9366
|
+
/** Mapa zamiast `switch` — `Record` po unii typów wymusza komplet, więc nie ma martwego `default`. */
|
|
9367
|
+
const MATCHERS = {
|
|
9368
|
+
text: matchesText,
|
|
9369
|
+
number: matchesNumber,
|
|
9370
|
+
select: matchesSelect,
|
|
9371
|
+
numberRange: matchesNumberRange,
|
|
9372
|
+
slider: matchesSlider,
|
|
9373
|
+
dateRange: matchesDateRange,
|
|
9374
|
+
};
|
|
9375
|
+
/** Czy komórka przechodzi filtr kolumny. Wartości pustych filtrów odsiewa `isEmptyFilterValue`. */
|
|
9376
|
+
function matchesColumnFilter(filter, cell, value) {
|
|
9377
|
+
return MATCHERS[filter.type](cell, value);
|
|
9378
|
+
}
|
|
9379
|
+
|
|
9224
9380
|
/*
|
|
9225
9381
|
* Escapowanie komórek CSV dla `exportCsv()` — pure TS, wydzielone żeby dało się
|
|
9226
9382
|
* testować `node --test` bez ciągnięcia Angulara.
|
|
@@ -9330,7 +9486,7 @@ function KptDataTable_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
|
9330
9486
|
i0.ɵɵelementContainer(0, 8);
|
|
9331
9487
|
} if (rf & 2) {
|
|
9332
9488
|
i0.ɵɵnextContext();
|
|
9333
|
-
const filterRowTpl_r4 = i0.ɵɵreference(
|
|
9489
|
+
const filterRowTpl_r4 = i0.ɵɵreference(23);
|
|
9334
9490
|
i0.ɵɵproperty("ngTemplateOutlet", filterRowTpl_r4);
|
|
9335
9491
|
} }
|
|
9336
9492
|
function KptDataTable_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -9398,7 +9554,7 @@ function KptDataTable_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
|
9398
9554
|
i0.ɵɵelementContainer(0, 8);
|
|
9399
9555
|
} if (rf & 2) {
|
|
9400
9556
|
i0.ɵɵnextContext();
|
|
9401
|
-
const filterRowTpl_r4 = i0.ɵɵreference(
|
|
9557
|
+
const filterRowTpl_r4 = i0.ɵɵreference(23);
|
|
9402
9558
|
i0.ɵɵproperty("ngTemplateOutlet", filterRowTpl_r4);
|
|
9403
9559
|
} }
|
|
9404
9560
|
function KptDataTable_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -9438,7 +9594,7 @@ function KptDataTable_Conditional_17_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
9438
9594
|
} if (rf & 2) {
|
|
9439
9595
|
const row_r8 = ctx.$implicit;
|
|
9440
9596
|
i0.ɵɵnextContext(2);
|
|
9441
|
-
const rowTpl_r9 = i0.ɵɵreference(
|
|
9597
|
+
const rowTpl_r9 = i0.ɵɵreference(21);
|
|
9442
9598
|
i0.ɵɵproperty("ngTemplateOutlet", rowTpl_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c5, row_r8));
|
|
9443
9599
|
} }
|
|
9444
9600
|
function KptDataTable_Conditional_17_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -9468,7 +9624,7 @@ function KptDataTable_Conditional_18_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
9468
9624
|
} if (rf & 2) {
|
|
9469
9625
|
const row_r10 = ctx.$implicit;
|
|
9470
9626
|
i0.ɵɵnextContext(2);
|
|
9471
|
-
const rowTpl_r9 = i0.ɵɵreference(
|
|
9627
|
+
const rowTpl_r9 = i0.ɵɵreference(21);
|
|
9472
9628
|
i0.ɵɵproperty("ngTemplateOutlet", rowTpl_r9)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c5, row_r10));
|
|
9473
9629
|
} }
|
|
9474
9630
|
function KptDataTable_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -9477,170 +9633,214 @@ function KptDataTable_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
|
9477
9633
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9478
9634
|
i0.ɵɵrepeater(ctx_r1.paged());
|
|
9479
9635
|
} }
|
|
9480
|
-
function
|
|
9481
|
-
|
|
9482
|
-
i0.ɵɵ
|
|
9483
|
-
i0.ɵɵ
|
|
9484
|
-
|
|
9636
|
+
function KptDataTable_Conditional_19_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
9637
|
+
i0.ɵɵelementStart(0, "th", 29);
|
|
9638
|
+
i0.ɵɵtext(1);
|
|
9639
|
+
i0.ɵɵelementEnd();
|
|
9640
|
+
} if (rf & 2) {
|
|
9641
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9642
|
+
i0.ɵɵstyleProp("left", ctx_r1.hasFrozen() ? 0 : null, "px");
|
|
9643
|
+
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.hasFrozen());
|
|
9644
|
+
i0.ɵɵattribute("colspan", ctx_r1.summaryLabelSpan());
|
|
9645
|
+
i0.ɵɵadvance();
|
|
9646
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.summaryLabelText(), " ");
|
|
9647
|
+
} }
|
|
9648
|
+
function KptDataTable_Conditional_19_For_4_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
9649
|
+
i0.ɵɵelementStart(0, "td");
|
|
9650
|
+
i0.ɵɵtext(1);
|
|
9651
|
+
i0.ɵɵelementEnd();
|
|
9652
|
+
} if (rf & 2) {
|
|
9653
|
+
const col_r11 = i0.ɵɵnextContext().$implicit;
|
|
9654
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9655
|
+
i0.ɵɵstyleProp("width", col_r11.width)("left", ctx_r1.frozenLeft(col_r11.field), "px");
|
|
9656
|
+
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.isFrozen(col_r11.field));
|
|
9657
|
+
i0.ɵɵattribute("data-align", col_r11.align ?? "end");
|
|
9658
|
+
i0.ɵɵadvance();
|
|
9659
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.summaryText(col_r11.field), " ");
|
|
9660
|
+
} }
|
|
9661
|
+
function KptDataTable_Conditional_19_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
9662
|
+
i0.ɵɵconditionalCreate(0, KptDataTable_Conditional_19_For_4_Conditional_0_Template, 2, 8, "td", 30);
|
|
9663
|
+
} if (rf & 2) {
|
|
9664
|
+
const ɵ$index_89_r12 = ctx.$index;
|
|
9665
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9666
|
+
i0.ɵɵconditional(ɵ$index_89_r12 >= ctx_r1.summaryStartIndex() ? 0 : -1);
|
|
9667
|
+
} }
|
|
9668
|
+
function KptDataTable_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
9669
|
+
i0.ɵɵelementStart(0, "tfoot")(1, "tr", 27);
|
|
9670
|
+
i0.ɵɵconditionalCreate(2, KptDataTable_Conditional_19_Conditional_2_Template, 2, 6, "th", 28);
|
|
9671
|
+
i0.ɵɵrepeaterCreate(3, KptDataTable_Conditional_19_For_4_Template, 1, 1, null, null, _forTrack0$1);
|
|
9672
|
+
i0.ɵɵelementEnd()();
|
|
9673
|
+
} if (rf & 2) {
|
|
9674
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
9675
|
+
i0.ɵɵadvance(2);
|
|
9676
|
+
i0.ɵɵconditional(ctx_r1.summaryLabelSpan() > 0 ? 2 : -1);
|
|
9677
|
+
i0.ɵɵadvance();
|
|
9678
|
+
i0.ɵɵrepeater(ctx_r1.visibleOrderedColumns());
|
|
9679
|
+
} }
|
|
9680
|
+
function KptDataTable_ng_template_20_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
9681
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
9682
|
+
i0.ɵɵelementStart(0, "td", 17)(1, "button", 34);
|
|
9683
|
+
i0.ɵɵlistener("click", function KptDataTable_ng_template_20_Conditional_1_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r15); const row_r14 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); $event.stopPropagation(); return i0.ɵɵresetView(ctx_r1.toggleExpand(row_r14)); });
|
|
9684
|
+
i0.ɵɵelement(2, "kpt-icon", 35);
|
|
9485
9685
|
i0.ɵɵelementEnd()();
|
|
9486
9686
|
} if (rf & 2) {
|
|
9487
|
-
const
|
|
9687
|
+
const row_r14 = i0.ɵɵnextContext().$implicit;
|
|
9488
9688
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9489
9689
|
i0.ɵɵstyleProp("left", ctx_r1.expanderStickyLeft(), "px");
|
|
9490
9690
|
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.hasFrozen());
|
|
9491
9691
|
i0.ɵɵadvance();
|
|
9492
|
-
i0.ɵɵclassProp("kpt-data-table__expander-btn--open", ctx_r1.isExpanded(
|
|
9493
|
-
i0.ɵɵattribute("aria-expanded", ctx_r1.isExpanded(
|
|
9692
|
+
i0.ɵɵclassProp("kpt-data-table__expander-btn--open", ctx_r1.isExpanded(row_r14));
|
|
9693
|
+
i0.ɵɵattribute("aria-expanded", ctx_r1.isExpanded(row_r14))("aria-label", ctx_r1.i18n.t("dataTable.expandRow"));
|
|
9494
9694
|
} }
|
|
9495
|
-
function
|
|
9496
|
-
const
|
|
9497
|
-
i0.ɵɵelementStart(0, "td", 18)(1, "input",
|
|
9498
|
-
i0.ɵɵlistener("click", function
|
|
9695
|
+
function KptDataTable_ng_template_20_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
9696
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
9697
|
+
i0.ɵɵelementStart(0, "td", 18)(1, "input", 36);
|
|
9698
|
+
i0.ɵɵlistener("click", function KptDataTable_ng_template_20_Conditional_2_Template_input_click_1_listener($event) { return $event.stopPropagation(); })("change", function KptDataTable_ng_template_20_Conditional_2_Template_input_change_1_listener() { i0.ɵɵrestoreView(_r16); const row_r14 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleRow(row_r14)); });
|
|
9499
9699
|
i0.ɵɵelementEnd()();
|
|
9500
9700
|
} if (rf & 2) {
|
|
9501
|
-
const
|
|
9701
|
+
const row_r14 = i0.ɵɵnextContext().$implicit;
|
|
9502
9702
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9503
9703
|
i0.ɵɵstyleProp("left", ctx_r1.checkboxStickyLeft(), "px");
|
|
9504
9704
|
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.hasFrozen());
|
|
9505
9705
|
i0.ɵɵadvance();
|
|
9506
|
-
i0.ɵɵproperty("checked", ctx_r1.isSelected(
|
|
9706
|
+
i0.ɵɵproperty("checked", ctx_r1.isSelected(row_r14));
|
|
9507
9707
|
i0.ɵɵattribute("aria-label", ctx_r1.i18n.t("dataTable.selectRow"));
|
|
9508
9708
|
} }
|
|
9509
|
-
function
|
|
9709
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
9510
9710
|
i0.ɵɵelementContainer(0, 26);
|
|
9511
9711
|
} if (rf & 2) {
|
|
9512
|
-
const
|
|
9712
|
+
const row_r14 = i0.ɵɵnextContext(3).$implicit;
|
|
9513
9713
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9514
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction4(2, _c7, ctx_r1.editingValue(),
|
|
9714
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction4(2, _c7, ctx_r1.editingValue(), row_r14, ctx_r1.commitEditValue, ctx_r1.cancelEdit));
|
|
9515
9715
|
} }
|
|
9516
|
-
function
|
|
9517
|
-
const
|
|
9518
|
-
i0.ɵɵelementStart(0, "kpt-input",
|
|
9519
|
-
i0.ɵɵlistener("valueChange", function
|
|
9716
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_0_Template(rf, ctx) { if (rf & 1) {
|
|
9717
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
9718
|
+
i0.ɵɵelementStart(0, "kpt-input", 45);
|
|
9719
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_0_Template_kpt_input_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.editingValue.set($event)); })("keydown.enter", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_0_Template_kpt_input_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.commitEdit()); })("keydown.escape", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_0_Template_kpt_input_keydown_escape_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.cancelEdit()); });
|
|
9520
9720
|
i0.ɵɵelementEnd();
|
|
9521
9721
|
} if (rf & 2) {
|
|
9522
|
-
const
|
|
9722
|
+
const col_r18 = i0.ɵɵnextContext(3).$implicit;
|
|
9523
9723
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9524
|
-
i0.ɵɵproperty("value", ctx_r1.editingValue() ?? "")("placeholder",
|
|
9724
|
+
i0.ɵɵproperty("value", ctx_r1.editingValue() ?? "")("placeholder", col_r18.edit.placeholder ?? "");
|
|
9525
9725
|
} }
|
|
9526
|
-
function
|
|
9527
|
-
const
|
|
9528
|
-
i0.ɵɵelementStart(0, "kpt-input-number",
|
|
9529
|
-
i0.ɵɵlistener("valueChange", function
|
|
9726
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_1_Template(rf, ctx) { if (rf & 1) {
|
|
9727
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
9728
|
+
i0.ɵɵelementStart(0, "kpt-input-number", 46);
|
|
9729
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_1_Template_kpt_input_number_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.editingValue.set($event)); })("keydown.enter", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_1_Template_kpt_input_number_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.commitEdit()); })("keydown.escape", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_1_Template_kpt_input_number_keydown_escape_0_listener() { i0.ɵɵrestoreView(_r21); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.cancelEdit()); });
|
|
9530
9730
|
i0.ɵɵelementEnd();
|
|
9531
9731
|
} if (rf & 2) {
|
|
9532
|
-
const
|
|
9732
|
+
const col_r18 = i0.ɵɵnextContext(3).$implicit;
|
|
9533
9733
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9534
|
-
i0.ɵɵproperty("value", ctx_r1.editingValue())("min",
|
|
9734
|
+
i0.ɵɵproperty("value", ctx_r1.editingValue())("min", col_r18.edit.min)("max", col_r18.edit.max)("step", col_r18.edit.step ?? 1);
|
|
9535
9735
|
} }
|
|
9536
|
-
function
|
|
9537
|
-
const
|
|
9538
|
-
i0.ɵɵelementStart(0, "kpt-datepicker",
|
|
9539
|
-
i0.ɵɵlistener("valueChange", function
|
|
9736
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
9737
|
+
const _r22 = i0.ɵɵgetCurrentView();
|
|
9738
|
+
i0.ɵɵelementStart(0, "kpt-datepicker", 47);
|
|
9739
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_2_Template_kpt_datepicker_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.editingValue.set($event)); })("openChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_2_Template_kpt_datepicker_openChange_0_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.onEditorPanelToggle($event)); });
|
|
9540
9740
|
i0.ɵɵelementEnd();
|
|
9541
9741
|
} if (rf & 2) {
|
|
9542
9742
|
const ctx_r1 = i0.ɵɵnextContext(5);
|
|
9543
9743
|
i0.ɵɵproperty("value", ctx_r1.editingValue() ?? "")("open", ctx_r1.editorPanelOpen());
|
|
9544
9744
|
} }
|
|
9545
|
-
function
|
|
9546
|
-
const
|
|
9547
|
-
i0.ɵɵelementStart(0, "kpt-select",
|
|
9548
|
-
i0.ɵɵlistener("valueChange", function
|
|
9745
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
9746
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
9747
|
+
i0.ɵɵelementStart(0, "kpt-select", 48);
|
|
9748
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_3_Template_kpt_select_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.editingValue.set($event)); })("openChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_3_Template_kpt_select_openChange_0_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.onEditorPanelToggle($event)); });
|
|
9549
9749
|
i0.ɵɵelementEnd();
|
|
9550
9750
|
} if (rf & 2) {
|
|
9551
|
-
const
|
|
9751
|
+
const col_r18 = i0.ɵɵnextContext(3).$implicit;
|
|
9552
9752
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9553
|
-
i0.ɵɵproperty("options",
|
|
9753
|
+
i0.ɵɵproperty("options", col_r18.edit.options ?? i0.ɵɵpureFunction0(4, _c8))("placeholder", col_r18.edit.placeholder ?? "")("value", ctx_r1.editingValue())("open", ctx_r1.editorPanelOpen());
|
|
9554
9754
|
} }
|
|
9555
|
-
function
|
|
9556
|
-
const
|
|
9557
|
-
i0.ɵɵelementStart(0, "kpt-select",
|
|
9558
|
-
i0.ɵɵlistener("valueChange", function
|
|
9755
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
9756
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
9757
|
+
i0.ɵɵelementStart(0, "kpt-select", 49);
|
|
9758
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_4_Template_kpt_select_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.editingValue.set($event)); })("openChange", function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_4_Template_kpt_select_openChange_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.onEditorPanelToggle($event)); });
|
|
9559
9759
|
i0.ɵɵelementEnd();
|
|
9560
9760
|
} if (rf & 2) {
|
|
9561
|
-
const
|
|
9761
|
+
const col_r18 = i0.ɵɵnextContext(3).$implicit;
|
|
9562
9762
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9563
|
-
i0.ɵɵproperty("options",
|
|
9763
|
+
i0.ɵɵproperty("options", col_r18.edit.options ?? i0.ɵɵpureFunction0(4, _c8))("placeholder", col_r18.edit.placeholder ?? "")("value", ctx_r1.editingValue())("open", ctx_r1.editorPanelOpen());
|
|
9564
9764
|
} }
|
|
9565
|
-
function
|
|
9566
|
-
i0.ɵɵconditionalCreate(0,
|
|
9765
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
9766
|
+
i0.ɵɵconditionalCreate(0, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_0_Template, 1, 2, "kpt-input", 40)(1, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_1_Template, 1, 4, "kpt-input-number", 41)(2, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_2_Template, 1, 2, "kpt-datepicker", 42)(3, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_3_Template, 1, 5, "kpt-select", 43)(4, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Case_4_Template, 1, 5, "kpt-select", 44);
|
|
9567
9767
|
} if (rf & 2) {
|
|
9568
9768
|
let tmp_19_0;
|
|
9569
|
-
const
|
|
9570
|
-
i0.ɵɵconditional((tmp_19_0 =
|
|
9769
|
+
const col_r18 = i0.ɵɵnextContext(2).$implicit;
|
|
9770
|
+
i0.ɵɵconditional((tmp_19_0 = col_r18.edit?.type) === "text" ? 0 : tmp_19_0 === "number" ? 1 : tmp_19_0 === "date" ? 2 : tmp_19_0 === "select" ? 3 : tmp_19_0 === "multiselect" ? 4 : -1);
|
|
9571
9771
|
} }
|
|
9572
|
-
function
|
|
9573
|
-
const
|
|
9574
|
-
i0.ɵɵelementStart(0, "div",
|
|
9575
|
-
i0.ɵɵlistener("click", function
|
|
9576
|
-
i0.ɵɵconditionalCreate(2,
|
|
9772
|
+
function KptDataTable_ng_template_20_For_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
9773
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
9774
|
+
i0.ɵɵelementStart(0, "div", 39, 4);
|
|
9775
|
+
i0.ɵɵlistener("click", function KptDataTable_ng_template_20_For_4_Conditional_1_Template_div_click_0_listener($event) { return $event.stopPropagation(); })("focusout", function KptDataTable_ng_template_20_For_4_Conditional_1_Template_div_focusout_0_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onEditorFocusOut($event)); });
|
|
9776
|
+
i0.ɵɵconditionalCreate(2, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_2_Template, 1, 7, "ng-container", 26)(3, KptDataTable_ng_template_20_For_4_Conditional_1_Conditional_3_Template, 5, 1);
|
|
9577
9777
|
i0.ɵɵelementEnd();
|
|
9578
9778
|
} if (rf & 2) {
|
|
9579
9779
|
let tmp_18_0;
|
|
9580
|
-
const
|
|
9780
|
+
const col_r18 = i0.ɵɵnextContext().$implicit;
|
|
9581
9781
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9582
9782
|
i0.ɵɵadvance(2);
|
|
9583
|
-
i0.ɵɵconditional((tmp_18_0 = ctx_r1.cellEditTemplate(
|
|
9783
|
+
i0.ɵɵconditional((tmp_18_0 = ctx_r1.cellEditTemplate(col_r18.field)) ? 2 : 3, tmp_18_0);
|
|
9584
9784
|
} }
|
|
9585
|
-
function
|
|
9785
|
+
function KptDataTable_ng_template_20_For_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
9586
9786
|
i0.ɵɵelementContainer(0, 26);
|
|
9587
9787
|
} if (rf & 2) {
|
|
9588
|
-
const
|
|
9589
|
-
const
|
|
9788
|
+
const col_r18 = i0.ɵɵnextContext().$implicit;
|
|
9789
|
+
const row_r14 = i0.ɵɵnextContext().$implicit;
|
|
9590
9790
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9591
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c9,
|
|
9791
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c9, row_r14, ctx_r1.getValue(row_r14, col_r18.field)));
|
|
9592
9792
|
} }
|
|
9593
|
-
function
|
|
9793
|
+
function KptDataTable_ng_template_20_For_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
9594
9794
|
i0.ɵɵtext(0);
|
|
9595
9795
|
} if (rf & 2) {
|
|
9596
|
-
const
|
|
9597
|
-
const
|
|
9796
|
+
const col_r18 = i0.ɵɵnextContext().$implicit;
|
|
9797
|
+
const row_r14 = i0.ɵɵnextContext().$implicit;
|
|
9598
9798
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9599
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.getValue(
|
|
9799
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getValue(row_r14, col_r18.field), " ");
|
|
9600
9800
|
} }
|
|
9601
|
-
function
|
|
9602
|
-
const
|
|
9603
|
-
i0.ɵɵelementStart(0, "td",
|
|
9604
|
-
i0.ɵɵlistener("click", function
|
|
9605
|
-
i0.ɵɵconditionalCreate(1,
|
|
9801
|
+
function KptDataTable_ng_template_20_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
9802
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
9803
|
+
i0.ɵɵelementStart(0, "td", 37);
|
|
9804
|
+
i0.ɵɵlistener("click", function KptDataTable_ng_template_20_For_4_Template_td_click_0_listener($event) { const col_r18 = i0.ɵɵrestoreView(_r17).$implicit; const row_r14 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.isEditable(col_r18) ? ctx_r1.startEdit(row_r14, col_r18, $event) : null); })("keydown.enter", function KptDataTable_ng_template_20_For_4_Template_td_keydown_enter_0_listener($event) { const col_r18 = i0.ɵɵrestoreView(_r17).$implicit; const row_r14 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.isEditable(col_r18) && !ctx_r1.isEditingCell(row_r14, col_r18.field) ? ctx_r1.startEdit(row_r14, col_r18, $event) : null); });
|
|
9805
|
+
i0.ɵɵconditionalCreate(1, KptDataTable_ng_template_20_For_4_Conditional_1_Template, 4, 1, "div", 38)(2, KptDataTable_ng_template_20_For_4_Conditional_2_Template, 1, 5, "ng-container", 26)(3, KptDataTable_ng_template_20_For_4_Conditional_3_Template, 1, 1);
|
|
9606
9806
|
i0.ɵɵelementEnd();
|
|
9607
9807
|
} if (rf & 2) {
|
|
9608
9808
|
let tmp_22_0;
|
|
9609
|
-
const
|
|
9610
|
-
const
|
|
9809
|
+
const col_r18 = ctx.$implicit;
|
|
9810
|
+
const row_r14 = i0.ɵɵnextContext().$implicit;
|
|
9611
9811
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9612
|
-
i0.ɵɵstyleProp("left", ctx_r1.frozenLeft(
|
|
9613
|
-
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.isFrozen(
|
|
9614
|
-
i0.ɵɵattribute("data-align",
|
|
9812
|
+
i0.ɵɵstyleProp("left", ctx_r1.frozenLeft(col_r18.field), "px");
|
|
9813
|
+
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.isFrozen(col_r18.field))("kpt-data-table__cell--editable", ctx_r1.isEditable(col_r18) && !ctx_r1.isEditingCell(row_r14, col_r18.field));
|
|
9814
|
+
i0.ɵɵattribute("data-align", col_r18.align ?? "start")("tabindex", ctx_r1.isEditable(col_r18) && !ctx_r1.isEditingCell(row_r14, col_r18.field) ? 0 : null)("aria-label", ctx_r1.isEditable(col_r18) && !ctx_r1.isEditingCell(row_r14, col_r18.field) ? ctx_r1.i18n.t("dataTable.editCell", i0.ɵɵpureFunction1(10, _c6, col_r18.header)) : null);
|
|
9615
9815
|
i0.ɵɵadvance();
|
|
9616
|
-
i0.ɵɵconditional(ctx_r1.isEditingCell(
|
|
9816
|
+
i0.ɵɵconditional(ctx_r1.isEditingCell(row_r14, col_r18.field) ? 1 : (tmp_22_0 = ctx_r1.cellTemplate(col_r18.field)) ? 2 : 3, tmp_22_0);
|
|
9617
9817
|
} }
|
|
9618
|
-
function
|
|
9619
|
-
i0.ɵɵelementStart(0, "tr",
|
|
9818
|
+
function KptDataTable_ng_template_20_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
9819
|
+
i0.ɵɵelementStart(0, "tr", 33)(1, "td", 50);
|
|
9620
9820
|
i0.ɵɵelementContainer(2, 26);
|
|
9621
9821
|
i0.ɵɵelementEnd()();
|
|
9622
9822
|
} if (rf & 2) {
|
|
9623
|
-
const
|
|
9823
|
+
const row_r14 = i0.ɵɵnextContext().$implicit;
|
|
9624
9824
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9625
9825
|
i0.ɵɵadvance();
|
|
9626
9826
|
i0.ɵɵattribute("colspan", ctx_r1.colspan());
|
|
9627
9827
|
i0.ɵɵadvance();
|
|
9628
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rowDetailTpl())("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c5,
|
|
9828
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rowDetailTpl())("ngTemplateOutletContext", i0.ɵɵpureFunction1(3, _c5, row_r14));
|
|
9629
9829
|
} }
|
|
9630
|
-
function
|
|
9631
|
-
const
|
|
9632
|
-
i0.ɵɵelementStart(0, "tr",
|
|
9633
|
-
i0.ɵɵlistener("click", function
|
|
9634
|
-
i0.ɵɵconditionalCreate(1,
|
|
9635
|
-
i0.ɵɵconditionalCreate(2,
|
|
9636
|
-
i0.ɵɵrepeaterCreate(3,
|
|
9830
|
+
function KptDataTable_ng_template_20_Template(rf, ctx) { if (rf & 1) {
|
|
9831
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
9832
|
+
i0.ɵɵelementStart(0, "tr", 31);
|
|
9833
|
+
i0.ɵɵlistener("click", function KptDataTable_ng_template_20_Template_tr_click_0_listener() { const row_r14 = i0.ɵɵrestoreView(_r13).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRowClick(row_r14)); });
|
|
9834
|
+
i0.ɵɵconditionalCreate(1, KptDataTable_ng_template_20_Conditional_1_Template, 3, 8, "td", 9);
|
|
9835
|
+
i0.ɵɵconditionalCreate(2, KptDataTable_ng_template_20_Conditional_2_Template, 2, 6, "td", 10);
|
|
9836
|
+
i0.ɵɵrepeaterCreate(3, KptDataTable_ng_template_20_For_4_Template, 4, 12, "td", 32, _forTrack0$1);
|
|
9637
9837
|
i0.ɵɵelementEnd();
|
|
9638
|
-
i0.ɵɵconditionalCreate(5,
|
|
9838
|
+
i0.ɵɵconditionalCreate(5, KptDataTable_ng_template_20_Conditional_5_Template, 3, 5, "tr", 33);
|
|
9639
9839
|
} if (rf & 2) {
|
|
9640
|
-
const
|
|
9840
|
+
const row_r14 = ctx.$implicit;
|
|
9641
9841
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
9642
9842
|
i0.ɵɵstyleProp("height", ctx_r1.virtualScroll() ? ctx_r1.rowHeight() : null, "px");
|
|
9643
|
-
i0.ɵɵclassProp("kpt-data-table__row--selected", ctx_r1.isSelected(
|
|
9843
|
+
i0.ɵɵclassProp("kpt-data-table__row--selected", ctx_r1.isSelected(row_r14))("kpt-data-table__row--expanded", ctx_r1.hasRowDetail() && ctx_r1.isExpanded(row_r14));
|
|
9644
9844
|
i0.ɵɵadvance();
|
|
9645
9845
|
i0.ɵɵconditional(ctx_r1.hasRowDetail() ? 1 : -1);
|
|
9646
9846
|
i0.ɵɵadvance();
|
|
@@ -9648,114 +9848,114 @@ function KptDataTable_ng_template_19_Template(rf, ctx) { if (rf & 1) {
|
|
|
9648
9848
|
i0.ɵɵadvance();
|
|
9649
9849
|
i0.ɵɵrepeater(ctx_r1.visibleOrderedColumns());
|
|
9650
9850
|
i0.ɵɵadvance(2);
|
|
9651
|
-
i0.ɵɵconditional(ctx_r1.hasRowDetail() && ctx_r1.isExpanded(
|
|
9851
|
+
i0.ɵɵconditional(ctx_r1.hasRowDetail() && ctx_r1.isExpanded(row_r14) && !ctx_r1.virtualScroll() ? 5 : -1);
|
|
9652
9852
|
} }
|
|
9653
|
-
function
|
|
9853
|
+
function KptDataTable_ng_template_22_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
9654
9854
|
i0.ɵɵelement(0, "th", 17);
|
|
9655
9855
|
} if (rf & 2) {
|
|
9656
9856
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9657
9857
|
i0.ɵɵstyleProp("left", ctx_r1.expanderStickyLeft(), "px");
|
|
9658
9858
|
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.hasFrozen());
|
|
9659
9859
|
} }
|
|
9660
|
-
function
|
|
9860
|
+
function KptDataTable_ng_template_22_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
9661
9861
|
i0.ɵɵelement(0, "th", 18);
|
|
9662
9862
|
} if (rf & 2) {
|
|
9663
9863
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9664
9864
|
i0.ɵɵstyleProp("left", ctx_r1.checkboxStickyLeft(), "px");
|
|
9665
9865
|
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.hasFrozen());
|
|
9666
9866
|
} }
|
|
9667
|
-
function
|
|
9668
|
-
const
|
|
9669
|
-
i0.ɵɵelementStart(0, "input",
|
|
9670
|
-
i0.ɵɵlistener("input", function
|
|
9867
|
+
function KptDataTable_ng_template_22_For_4_Case_1_Template(rf, ctx) { if (rf & 1) {
|
|
9868
|
+
const _r25 = i0.ɵɵgetCurrentView();
|
|
9869
|
+
i0.ɵɵelementStart(0, "input", 58);
|
|
9870
|
+
i0.ɵɵlistener("input", function KptDataTable_ng_template_22_For_4_Case_1_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r25); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setColumnFilter(col_r26.field, $event.target.value)); })("click", function KptDataTable_ng_template_22_For_4_Case_1_Template_input_click_0_listener($event) { return $event.stopPropagation(); });
|
|
9671
9871
|
i0.ɵɵelementEnd();
|
|
9672
9872
|
} if (rf & 2) {
|
|
9673
|
-
const
|
|
9873
|
+
const col_r26 = i0.ɵɵnextContext().$implicit;
|
|
9674
9874
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9675
|
-
i0.ɵɵproperty("value", ctx_r1.columnFilters()[
|
|
9676
|
-
i0.ɵɵattribute("placeholder",
|
|
9875
|
+
i0.ɵɵproperty("value", ctx_r1.columnFilters()[col_r26.field] || "");
|
|
9876
|
+
i0.ɵɵattribute("placeholder", col_r26.filter.placeholder || "")("aria-label", ctx_r1.i18n.t("dataTable.filter", i0.ɵɵpureFunction1(3, _c6, col_r26.header)));
|
|
9677
9877
|
} }
|
|
9678
|
-
function
|
|
9679
|
-
const
|
|
9680
|
-
i0.ɵɵelementStart(0, "input",
|
|
9681
|
-
i0.ɵɵlistener("input", function
|
|
9878
|
+
function KptDataTable_ng_template_22_For_4_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
9879
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
9880
|
+
i0.ɵɵelementStart(0, "input", 59);
|
|
9881
|
+
i0.ɵɵlistener("input", function KptDataTable_ng_template_22_For_4_Case_2_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r27); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onNumberFilter(col_r26.field, $event)); })("click", function KptDataTable_ng_template_22_For_4_Case_2_Template_input_click_0_listener($event) { return $event.stopPropagation(); });
|
|
9682
9882
|
i0.ɵɵelementEnd();
|
|
9683
9883
|
} if (rf & 2) {
|
|
9684
|
-
const
|
|
9884
|
+
const col_r26 = i0.ɵɵnextContext().$implicit;
|
|
9685
9885
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9686
|
-
i0.ɵɵproperty("value", ctx_r1.columnFilters()[
|
|
9687
|
-
i0.ɵɵattribute("placeholder",
|
|
9886
|
+
i0.ɵɵproperty("value", ctx_r1.columnFilters()[col_r26.field] || "");
|
|
9887
|
+
i0.ɵɵattribute("placeholder", col_r26.filter.placeholder || "")("aria-label", ctx_r1.i18n.t("dataTable.filter", i0.ɵɵpureFunction1(3, _c6, col_r26.header)));
|
|
9688
9888
|
} }
|
|
9689
|
-
function
|
|
9690
|
-
const
|
|
9691
|
-
i0.ɵɵelementStart(0, "kpt-select",
|
|
9692
|
-
i0.ɵɵlistener("valueChange", function
|
|
9889
|
+
function KptDataTable_ng_template_22_For_4_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
9890
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
9891
|
+
i0.ɵɵelementStart(0, "kpt-select", 60);
|
|
9892
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_22_For_4_Case_3_Template_kpt_select_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r28); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setColumnFilter(col_r26.field, $event)); });
|
|
9693
9893
|
i0.ɵɵelementEnd();
|
|
9694
9894
|
} if (rf & 2) {
|
|
9695
|
-
const
|
|
9895
|
+
const col_r26 = i0.ɵɵnextContext().$implicit;
|
|
9696
9896
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9697
|
-
i0.ɵɵproperty("options",
|
|
9897
|
+
i0.ɵɵproperty("options", col_r26.filter.options || i0.ɵɵpureFunction0(4, _c8))("multiple", !!col_r26.filter.multiple)("placeholder", col_r26.filter.placeholder || ctx_r1.i18n.t("dataTable.all"))("value", ctx_r1.columnFilters()[col_r26.field] ?? null);
|
|
9698
9898
|
} }
|
|
9699
|
-
function
|
|
9700
|
-
const
|
|
9701
|
-
i0.ɵɵelementStart(0, "div",
|
|
9702
|
-
i0.ɵɵlistener("input", function
|
|
9899
|
+
function KptDataTable_ng_template_22_For_4_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
9900
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
9901
|
+
i0.ɵɵelementStart(0, "div", 55)(1, "input", 59);
|
|
9902
|
+
i0.ɵɵlistener("input", function KptDataTable_ng_template_22_For_4_Case_4_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r29); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setRangeFilter(col_r26.field, "min", $event)); })("click", function KptDataTable_ng_template_22_For_4_Case_4_Template_input_click_1_listener($event) { return $event.stopPropagation(); });
|
|
9703
9903
|
i0.ɵɵelementEnd();
|
|
9704
|
-
i0.ɵɵelementStart(2, "input",
|
|
9705
|
-
i0.ɵɵlistener("input", function
|
|
9904
|
+
i0.ɵɵelementStart(2, "input", 59);
|
|
9905
|
+
i0.ɵɵlistener("input", function KptDataTable_ng_template_22_For_4_Case_4_Template_input_input_2_listener($event) { i0.ɵɵrestoreView(_r29); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setRangeFilter(col_r26.field, "max", $event)); })("click", function KptDataTable_ng_template_22_For_4_Case_4_Template_input_click_2_listener($event) { return $event.stopPropagation(); });
|
|
9706
9906
|
i0.ɵɵelementEnd()();
|
|
9707
9907
|
} if (rf & 2) {
|
|
9708
|
-
const
|
|
9908
|
+
const col_r26 = i0.ɵɵnextContext().$implicit;
|
|
9709
9909
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9710
9910
|
i0.ɵɵadvance();
|
|
9711
|
-
i0.ɵɵproperty("value", ctx_r1.rangeVal(
|
|
9712
|
-
i0.ɵɵattribute("placeholder", ctx_r1.i18n.t("dataTable.min"))("aria-label", ctx_r1.i18n.t("dataTable.filterMin", i0.ɵɵpureFunction1(6, _c6,
|
|
9911
|
+
i0.ɵɵproperty("value", ctx_r1.rangeVal(col_r26.field).min);
|
|
9912
|
+
i0.ɵɵattribute("placeholder", ctx_r1.i18n.t("dataTable.min"))("aria-label", ctx_r1.i18n.t("dataTable.filterMin", i0.ɵɵpureFunction1(6, _c6, col_r26.header)));
|
|
9713
9913
|
i0.ɵɵadvance();
|
|
9714
|
-
i0.ɵɵproperty("value", ctx_r1.rangeVal(
|
|
9715
|
-
i0.ɵɵattribute("placeholder", ctx_r1.i18n.t("dataTable.max"))("aria-label", ctx_r1.i18n.t("dataTable.filterMax", i0.ɵɵpureFunction1(8, _c6,
|
|
9914
|
+
i0.ɵɵproperty("value", ctx_r1.rangeVal(col_r26.field).max);
|
|
9915
|
+
i0.ɵɵattribute("placeholder", ctx_r1.i18n.t("dataTable.max"))("aria-label", ctx_r1.i18n.t("dataTable.filterMax", i0.ɵɵpureFunction1(8, _c6, col_r26.header)));
|
|
9716
9916
|
} }
|
|
9717
|
-
function
|
|
9718
|
-
const
|
|
9719
|
-
i0.ɵɵelementStart(0, "div",
|
|
9720
|
-
i0.ɵɵlistener("click", function
|
|
9721
|
-
i0.ɵɵelementStart(1, "kpt-slider",
|
|
9722
|
-
i0.ɵɵlistener("valueChange", function
|
|
9917
|
+
function KptDataTable_ng_template_22_For_4_Case_5_Template(rf, ctx) { if (rf & 1) {
|
|
9918
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
9919
|
+
i0.ɵɵelementStart(0, "div", 61);
|
|
9920
|
+
i0.ɵɵlistener("click", function KptDataTable_ng_template_22_For_4_Case_5_Template_div_click_0_listener($event) { return $event.stopPropagation(); });
|
|
9921
|
+
i0.ɵɵelementStart(1, "kpt-slider", 62);
|
|
9922
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_22_For_4_Case_5_Template_kpt_slider_valueChange_1_listener($event) { i0.ɵɵrestoreView(_r30); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setColumnFilter(col_r26.field, $event)); });
|
|
9723
9923
|
i0.ɵɵelementEnd()();
|
|
9724
9924
|
} if (rf & 2) {
|
|
9725
|
-
const
|
|
9925
|
+
const col_r26 = i0.ɵɵnextContext().$implicit;
|
|
9726
9926
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9727
9927
|
i0.ɵɵadvance();
|
|
9728
|
-
i0.ɵɵproperty("min",
|
|
9928
|
+
i0.ɵɵproperty("min", col_r26.filter.min ?? 0)("max", col_r26.filter.max ?? 100)("step", col_r26.filter.step ?? 1)("value", ctx_r1.sliderVal(col_r26));
|
|
9729
9929
|
} }
|
|
9730
|
-
function
|
|
9731
|
-
const
|
|
9732
|
-
i0.ɵɵelementStart(0, "kpt-date-range",
|
|
9733
|
-
i0.ɵɵlistener("valueChange", function
|
|
9930
|
+
function KptDataTable_ng_template_22_For_4_Case_6_Template(rf, ctx) { if (rf & 1) {
|
|
9931
|
+
const _r31 = i0.ɵɵgetCurrentView();
|
|
9932
|
+
i0.ɵɵelementStart(0, "kpt-date-range", 63);
|
|
9933
|
+
i0.ɵɵlistener("valueChange", function KptDataTable_ng_template_22_For_4_Case_6_Template_kpt_date_range_valueChange_0_listener($event) { i0.ɵɵrestoreView(_r31); const col_r26 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setColumnFilter(col_r26.field, $event)); });
|
|
9734
9934
|
i0.ɵɵelementEnd();
|
|
9735
9935
|
} if (rf & 2) {
|
|
9736
|
-
const
|
|
9936
|
+
const col_r26 = i0.ɵɵnextContext().$implicit;
|
|
9737
9937
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9738
|
-
i0.ɵɵproperty("placeholder",
|
|
9938
|
+
i0.ɵɵproperty("placeholder", col_r26.filter.placeholder || ctx_r1.i18n.t("dataTable.dateRange"))("value", ctx_r1.columnFilters()[col_r26.field] || i0.ɵɵpureFunction0(2, _c10));
|
|
9739
9939
|
} }
|
|
9740
|
-
function
|
|
9940
|
+
function KptDataTable_ng_template_22_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
9741
9941
|
i0.ɵɵelementStart(0, "th");
|
|
9742
|
-
i0.ɵɵconditionalCreate(1,
|
|
9942
|
+
i0.ɵɵconditionalCreate(1, KptDataTable_ng_template_22_For_4_Case_1_Template, 1, 5, "input", 52)(2, KptDataTable_ng_template_22_For_4_Case_2_Template, 1, 5, "input", 53)(3, KptDataTable_ng_template_22_For_4_Case_3_Template, 1, 5, "kpt-select", 54)(4, KptDataTable_ng_template_22_For_4_Case_4_Template, 3, 10, "div", 55)(5, KptDataTable_ng_template_22_For_4_Case_5_Template, 2, 4, "div", 56)(6, KptDataTable_ng_template_22_For_4_Case_6_Template, 1, 3, "kpt-date-range", 57);
|
|
9743
9943
|
i0.ɵɵelementEnd();
|
|
9744
9944
|
} if (rf & 2) {
|
|
9745
9945
|
let tmp_19_0;
|
|
9746
|
-
const
|
|
9946
|
+
const col_r26 = ctx.$implicit;
|
|
9747
9947
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
9748
|
-
i0.ɵɵstyleProp("width",
|
|
9749
|
-
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.isFrozen(
|
|
9750
|
-
i0.ɵɵattribute("data-align",
|
|
9948
|
+
i0.ɵɵstyleProp("width", col_r26.width)("left", ctx_r1.frozenLeft(col_r26.field), "px");
|
|
9949
|
+
i0.ɵɵclassProp("kpt-data-table__cell--frozen", ctx_r1.isFrozen(col_r26.field));
|
|
9950
|
+
i0.ɵɵattribute("data-align", col_r26.align ?? "start");
|
|
9751
9951
|
i0.ɵɵadvance();
|
|
9752
|
-
i0.ɵɵconditional((tmp_19_0 =
|
|
9952
|
+
i0.ɵɵconditional((tmp_19_0 = col_r26.filter?.type) === "text" ? 1 : tmp_19_0 === "number" ? 2 : tmp_19_0 === "select" ? 3 : tmp_19_0 === "numberRange" ? 4 : tmp_19_0 === "slider" ? 5 : tmp_19_0 === "dateRange" ? 6 : -1);
|
|
9753
9953
|
} }
|
|
9754
|
-
function
|
|
9755
|
-
i0.ɵɵelementStart(0, "tr",
|
|
9756
|
-
i0.ɵɵconditionalCreate(1,
|
|
9757
|
-
i0.ɵɵconditionalCreate(2,
|
|
9758
|
-
i0.ɵɵrepeaterCreate(3,
|
|
9954
|
+
function KptDataTable_ng_template_22_Template(rf, ctx) { if (rf & 1) {
|
|
9955
|
+
i0.ɵɵelementStart(0, "tr", 51);
|
|
9956
|
+
i0.ɵɵconditionalCreate(1, KptDataTable_ng_template_22_Conditional_1_Template, 1, 4, "th", 9);
|
|
9957
|
+
i0.ɵɵconditionalCreate(2, KptDataTable_ng_template_22_Conditional_2_Template, 1, 4, "th", 10);
|
|
9958
|
+
i0.ɵɵrepeaterCreate(3, KptDataTable_ng_template_22_For_4_Template, 7, 8, "th", 30, _forTrack0$1);
|
|
9759
9959
|
i0.ɵɵelementEnd();
|
|
9760
9960
|
} if (rf & 2) {
|
|
9761
9961
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -9766,12 +9966,12 @@ function KptDataTable_ng_template_21_Template(rf, ctx) { if (rf & 1) {
|
|
|
9766
9966
|
i0.ɵɵadvance();
|
|
9767
9967
|
i0.ɵɵrepeater(ctx_r1.visibleOrderedColumns());
|
|
9768
9968
|
} }
|
|
9769
|
-
function
|
|
9770
|
-
const
|
|
9969
|
+
function KptDataTable_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
9970
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
9771
9971
|
i0.ɵɵelementStart(0, "div", 12);
|
|
9772
9972
|
i0.ɵɵprojection(1);
|
|
9773
|
-
i0.ɵɵelementStart(2, "kpt-paginator",
|
|
9774
|
-
i0.ɵɵlistener("pageIndexChange", function
|
|
9973
|
+
i0.ɵɵelementStart(2, "kpt-paginator", 64);
|
|
9974
|
+
i0.ɵɵlistener("pageIndexChange", function KptDataTable_Conditional_24_Template_kpt_paginator_pageIndexChange_2_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pageIndex.set($event)); })("pageSizeChange", function KptDataTable_Conditional_24_Template_kpt_paginator_pageSizeChange_2_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pageSizeState.set($event)); });
|
|
9775
9975
|
i0.ɵɵelementEnd()();
|
|
9776
9976
|
} if (rf & 2) {
|
|
9777
9977
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -9782,7 +9982,7 @@ const REM_PX = 16;
|
|
|
9782
9982
|
const CHECKBOX_FROZEN_W = 3; // rem
|
|
9783
9983
|
const EXPANDER_FROZEN_W = 2.5; // rem
|
|
9784
9984
|
/** Edytory renderujące panel w CDK Overlay — otwierane od razu i zatwierdzane na zamknięciu panelu. */
|
|
9785
|
-
const OVERLAY_EDITORS = ['date', 'select', 'multiselect'];
|
|
9985
|
+
const OVERLAY_EDITORS = new Set(['date', 'select', 'multiselect']);
|
|
9786
9986
|
/** Tablice (multiselect) porównujemy po zawartości, resztę po referencji. */
|
|
9787
9987
|
function sameEditValue(a, b) {
|
|
9788
9988
|
if (a === b)
|
|
@@ -9854,6 +10054,15 @@ class KptDataTable {
|
|
|
9854
10054
|
this.expandable = input(false, { ...(ngDevMode ? { debugName: "expandable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
9855
10055
|
/** Zezwala na rozwinięcie wielu wierszy naraz (domyślnie tak). */
|
|
9856
10056
|
this.multiExpand = input(true, { ...(ngDevMode ? { debugName: "multiExpand" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
10057
|
+
/** Etykieta wiersza podsumowania; bez wartości używa i18n (`dataTable.total`). */
|
|
10058
|
+
this.summaryLabel = input(/* @ts-ignore */
|
|
10059
|
+
...(ngDevMode ? [undefined, { debugName: "summaryLabel" }] : /* istanbul ignore next */ []));
|
|
10060
|
+
/**
|
|
10061
|
+
* Gotowe wartości podsumowania (pole → wartość). Nadpisują wyliczenia po stronie klienta,
|
|
10062
|
+
* a w trybie `lazy` są ich jedynym źródłem (tabela ma wtedy tylko bieżącą stronę).
|
|
10063
|
+
*/
|
|
10064
|
+
this.summaryValues = input(null, /* @ts-ignore */
|
|
10065
|
+
...(ngDevMode ? [{ debugName: "summaryValues" }] : /* istanbul ignore next */ []));
|
|
9857
10066
|
// ── Model / zdarzenia ──
|
|
9858
10067
|
this.selection = model([], /* @ts-ignore */
|
|
9859
10068
|
...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
|
|
@@ -9980,7 +10189,7 @@ class KptDataTable {
|
|
|
9980
10189
|
const cols = this.columns();
|
|
9981
10190
|
let rows = this.data();
|
|
9982
10191
|
if (query) {
|
|
9983
|
-
rows = rows.filter((row) => cols.some((col) =>
|
|
10192
|
+
rows = rows.filter((row) => cols.some((col) => toText(row[col.field]).toLowerCase().includes(query)));
|
|
9984
10193
|
}
|
|
9985
10194
|
if (this.hasColumnFilters()) {
|
|
9986
10195
|
rows = rows.filter((row) => this.matchesColumnFilters(row));
|
|
@@ -10004,7 +10213,7 @@ class KptDataTable {
|
|
|
10004
10213
|
return -1;
|
|
10005
10214
|
if (typeof av === 'number' && typeof bv === 'number')
|
|
10006
10215
|
return (av - bv) * sign;
|
|
10007
|
-
return
|
|
10216
|
+
return toText(av).localeCompare(toText(bv)) * sign;
|
|
10008
10217
|
});
|
|
10009
10218
|
}, /* @ts-ignore */
|
|
10010
10219
|
...(ngDevMode ? [{ debugName: "sorted" }] : /* istanbul ignore next */ []));
|
|
@@ -10021,12 +10230,66 @@ class KptDataTable {
|
|
|
10021
10230
|
return rows.slice(start, start + size);
|
|
10022
10231
|
}, /* @ts-ignore */
|
|
10023
10232
|
...(ngDevMode ? [{ debugName: "paged" }] : /* istanbul ignore next */ []));
|
|
10024
|
-
|
|
10025
|
-
|
|
10026
|
-
|
|
10233
|
+
/** Wiodące kolumny systemowe (rozwijanie + zaznaczanie) — poza `visibleOrderedColumns()`. */
|
|
10234
|
+
this.leadingCells = computed(() => (this.selectable() !== 'none' ? 1 : 0) + (this.hasRowDetail() ? 1 : 0), /* @ts-ignore */
|
|
10235
|
+
...(ngDevMode ? [{ debugName: "leadingCells" }] : /* istanbul ignore next */ []));
|
|
10236
|
+
this.colspan = computed(() => this.visibleOrderedColumns().length + this.leadingCells(), /* @ts-ignore */
|
|
10027
10237
|
...(ngDevMode ? [{ debugName: "colspan" }] : /* istanbul ignore next */ []));
|
|
10028
10238
|
this.displayCount = computed(() => this.virtualScroll() ? this.sorted().length : this.paged().length, /* @ts-ignore */
|
|
10029
10239
|
...(ngDevMode ? [{ debugName: "displayCount" }] : /* istanbul ignore next */ []));
|
|
10240
|
+
// ── Wiersz podsumowania (tfoot) ──
|
|
10241
|
+
/** Etykieta wiersza podsumowania (input albo domyślna z i18n). */
|
|
10242
|
+
this.summaryLabelText = computed(() => this.summaryLabel() ?? this.i18n.t('dataTable.total'), /* @ts-ignore */
|
|
10243
|
+
...(ngDevMode ? [{ debugName: "summaryLabelText" }] : /* istanbul ignore next */ []));
|
|
10244
|
+
/**
|
|
10245
|
+
* Zbiór do agregacji: wszystkie wiersze po filtrach (a więc ze wszystkich stron — `paged()`
|
|
10246
|
+
* tnie dopiero po tym kroku). Przy `lazy` tabela ma tylko bieżącą stronę, więc nie liczy nic
|
|
10247
|
+
* sama — jedynym źródłem jest wtedy `summaryValues`.
|
|
10248
|
+
*/
|
|
10249
|
+
this.summarySource = computed(() => this.lazy() ? [] : this.filtered(), /* @ts-ignore */
|
|
10250
|
+
...(ngDevMode ? [{ debugName: "summarySource" }] : /* istanbul ignore next */ []));
|
|
10251
|
+
/** Pola z podsumowaniem: kolumny z `summary` (tylko widoczne) + klucze podane w `summaryValues`. */
|
|
10252
|
+
this.summaryFields = computed(() => {
|
|
10253
|
+
const cols = this.visibleOrderedColumns();
|
|
10254
|
+
const overrides = this.summaryValues() ?? {};
|
|
10255
|
+
return cols.filter((c) => c.summary || c.field in overrides).map((c) => c.field);
|
|
10256
|
+
}, /* @ts-ignore */
|
|
10257
|
+
...(ngDevMode ? [{ debugName: "summaryFields" }] : /* istanbul ignore next */ []));
|
|
10258
|
+
this.hasSummary = computed(() => this.summaryFields().length > 0, /* @ts-ignore */
|
|
10259
|
+
...(ngDevMode ? [{ debugName: "hasSummary" }] : /* istanbul ignore next */ []));
|
|
10260
|
+
/** Indeks pierwszej podsumowywanej kolumny — do niej scala się etykieta. */
|
|
10261
|
+
this.summaryStartIndex = computed(() => {
|
|
10262
|
+
const first = this.summaryFields()[0];
|
|
10263
|
+
return first === undefined ? -1 : this.visibleOrderedColumns().findIndex((c) => c.field === first);
|
|
10264
|
+
}, /* @ts-ignore */
|
|
10265
|
+
...(ngDevMode ? [{ debugName: "summaryStartIndex" }] : /* istanbul ignore next */ []));
|
|
10266
|
+
/**
|
|
10267
|
+
* Colspan komórki z etykietą: kolumny systemowe + kolumny przed pierwszą podsumowywaną.
|
|
10268
|
+
* Zero (pierwsza widoczna kolumna jest liczona) = etykieta nie ma się gdzie zmieścić i nie
|
|
10269
|
+
* renderuje się wcale.
|
|
10270
|
+
*/
|
|
10271
|
+
this.summaryLabelSpan = computed(() => this.leadingCells() + this.summaryStartIndex(), /* @ts-ignore */
|
|
10272
|
+
...(ngDevMode ? [{ debugName: "summaryLabelSpan" }] : /* istanbul ignore next */ []));
|
|
10273
|
+
/** Gotowe teksty komórek podsumowania (pole → tekst); pusty string dla braku wartości. */
|
|
10274
|
+
this.summaryTexts = computed(() => {
|
|
10275
|
+
const rows = this.summarySource();
|
|
10276
|
+
const overrides = this.summaryValues() ?? {};
|
|
10277
|
+
const map = new Map();
|
|
10278
|
+
for (const col of this.visibleOrderedColumns()) {
|
|
10279
|
+
const summary = col.summary;
|
|
10280
|
+
// Gotowa wartość z `summaryValues` wygrywa z wyliczeniem — i wystarcza sama w sobie.
|
|
10281
|
+
if (col.field in overrides) {
|
|
10282
|
+
map.set(col.field, this.formatSummary(overrides[col.field], summary?.format));
|
|
10283
|
+
continue;
|
|
10284
|
+
}
|
|
10285
|
+
if (!summary)
|
|
10286
|
+
continue;
|
|
10287
|
+
const raw = typeof summary.fn === 'function' ? summary.fn(rows) : aggregate(rows, col.field, summary.fn);
|
|
10288
|
+
map.set(col.field, this.formatSummary(raw, summary.format));
|
|
10289
|
+
}
|
|
10290
|
+
return map;
|
|
10291
|
+
}, /* @ts-ignore */
|
|
10292
|
+
...(ngDevMode ? [{ debugName: "summaryTexts" }] : /* istanbul ignore next */ []));
|
|
10030
10293
|
/** Mapa pole → przesunięcie left (px) dla wiodących zamrożonych kolumn. */
|
|
10031
10294
|
/** Suma szerokości wiodących kolumn systemowych (rozwijanie + zaznaczanie) w px. */
|
|
10032
10295
|
this.leadingStickyWidth = computed(() => {
|
|
@@ -10212,7 +10475,7 @@ class KptDataTable {
|
|
|
10212
10475
|
// poza edytorem zamyka panel, a więc zatwierdza i zamyka edycję — bez tego edytor z zamkniętym
|
|
10213
10476
|
// panelem potrafiłby zostać otwarty w nieskończoność.
|
|
10214
10477
|
const type = col.edit?.type;
|
|
10215
|
-
this.editorPanelOpen.set(!!type && OVERLAY_EDITORS.
|
|
10478
|
+
this.editorPanelOpen.set(!!type && OVERLAY_EDITORS.has(type));
|
|
10216
10479
|
}
|
|
10217
10480
|
/**
|
|
10218
10481
|
* Panel edytora zamknięty (wybór, klik poza, Esc) → zatwierdź. Celowo NIE wieszamy tego na
|
|
@@ -10299,78 +10562,31 @@ class KptDataTable {
|
|
|
10299
10562
|
const v = this.columnFilters()[col.field];
|
|
10300
10563
|
return v ?? [mn, mx];
|
|
10301
10564
|
}
|
|
10302
|
-
|
|
10303
|
-
if (value instanceof Date) {
|
|
10304
|
-
const p = (n) => String(n).padStart(2, '0');
|
|
10305
|
-
return `${value.getFullYear()}-${p(value.getMonth() + 1)}-${p(value.getDate())}`;
|
|
10306
|
-
}
|
|
10307
|
-
return String(value ?? '');
|
|
10308
|
-
}
|
|
10565
|
+
/** Semantyka dopasowania siedzi w `./column-filter` — tu zostaje tylko spięcie ze stanem. */
|
|
10309
10566
|
matchesColumnFilters(row) {
|
|
10310
10567
|
const filters = this.columnFilters();
|
|
10568
|
+
const cells = row;
|
|
10311
10569
|
return this.columns().every((col) => {
|
|
10312
|
-
const
|
|
10313
|
-
if (!
|
|
10570
|
+
const filter = col.filter;
|
|
10571
|
+
if (!filter)
|
|
10314
10572
|
return true;
|
|
10315
|
-
const
|
|
10316
|
-
if (
|
|
10573
|
+
const value = filters[col.field];
|
|
10574
|
+
if (isEmptyFilterValue(value))
|
|
10317
10575
|
return true;
|
|
10318
|
-
|
|
10319
|
-
switch (f.type) {
|
|
10320
|
-
case 'text':
|
|
10321
|
-
return String(cell ?? '').toLowerCase().includes(String(fv).toLowerCase());
|
|
10322
|
-
case 'number':
|
|
10323
|
-
return String(cell ?? '').includes(String(fv));
|
|
10324
|
-
case 'select': {
|
|
10325
|
-
const vals = Array.isArray(fv) ? fv : [fv];
|
|
10326
|
-
// Komórka-tablica (np. lista tagów/członków) → dopasuj, gdy zawiera dowolną z wybranych wartości.
|
|
10327
|
-
if (Array.isArray(cell))
|
|
10328
|
-
return cell.some((c) => vals.includes(c));
|
|
10329
|
-
return vals.includes(cell);
|
|
10330
|
-
}
|
|
10331
|
-
case 'numberRange': {
|
|
10332
|
-
const { min, max } = fv ?? {};
|
|
10333
|
-
const hasMin = min != null && min !== '';
|
|
10334
|
-
const hasMax = max != null && max !== '';
|
|
10335
|
-
if (!hasMin && !hasMax)
|
|
10336
|
-
return true;
|
|
10337
|
-
const num = typeof cell === 'number' ? cell : parseFloat(String(cell ?? ''));
|
|
10338
|
-
if (Number.isNaN(num))
|
|
10339
|
-
return false;
|
|
10340
|
-
if (hasMin && num < parseFloat(min))
|
|
10341
|
-
return false;
|
|
10342
|
-
if (hasMax && num > parseFloat(max))
|
|
10343
|
-
return false;
|
|
10344
|
-
return true;
|
|
10345
|
-
}
|
|
10346
|
-
case 'slider': {
|
|
10347
|
-
const [lo, hi] = fv;
|
|
10348
|
-
const num = typeof cell === 'number' ? cell : parseFloat(String(cell ?? ''));
|
|
10349
|
-
if (Number.isNaN(num))
|
|
10350
|
-
return false;
|
|
10351
|
-
return num >= lo && num <= hi;
|
|
10352
|
-
}
|
|
10353
|
-
case 'dateRange': {
|
|
10354
|
-
const { start, end } = fv ?? { start: '', end: '' };
|
|
10355
|
-
if (!start && !end)
|
|
10356
|
-
return true;
|
|
10357
|
-
const iso = KptDataTable.toIso(cell);
|
|
10358
|
-
if (start && iso < start)
|
|
10359
|
-
return false;
|
|
10360
|
-
if (end && iso > end)
|
|
10361
|
-
return false;
|
|
10362
|
-
return true;
|
|
10363
|
-
}
|
|
10364
|
-
default:
|
|
10365
|
-
return true;
|
|
10366
|
-
}
|
|
10576
|
+
return matchesColumnFilter(filter, cells[col.field], value);
|
|
10367
10577
|
});
|
|
10368
10578
|
}
|
|
10579
|
+
formatSummary(raw, format) {
|
|
10580
|
+
return format ? format(raw) : toText(raw);
|
|
10581
|
+
}
|
|
10582
|
+
summaryText(field) {
|
|
10583
|
+
return this.summaryTexts().get(field) ?? '';
|
|
10584
|
+
}
|
|
10369
10585
|
// ── Kolumny zamrożone (sticky, wiodące) ──
|
|
10370
10586
|
parseWidthPx(width) {
|
|
10371
10587
|
if (!width)
|
|
10372
10588
|
return 8 * REM_PX;
|
|
10373
|
-
const n = parseFloat(width);
|
|
10589
|
+
const n = Number.parseFloat(width);
|
|
10374
10590
|
if (Number.isNaN(n))
|
|
10375
10591
|
return 8 * REM_PX;
|
|
10376
10592
|
return width.trim().endsWith('px') ? n : n * REM_PX;
|
|
@@ -10462,7 +10678,7 @@ class KptDataTable {
|
|
|
10462
10678
|
i0.ɵɵqueryAdvance(3);
|
|
10463
10679
|
} }, hostAttrs: [1, "kpt-data-table"], hostVars: 2, hostBindings: function KptDataTable_HostBindings(rf, ctx) { if (rf & 2) {
|
|
10464
10680
|
i0.ɵɵstyleProp("--%NS%kpt-thead-offset", ctx.theadOffset() + "px");
|
|
10465
|
-
} }, inputs: { columns: [1, "columns"], data: [1, "data"], filterable: [1, "filterable"], filterRowPosition: [1, "filterRowPosition"], pageSize: [1, "pageSize"], pageSizeOptions: [1, "pageSizeOptions"], selectable: [1, "selectable"], loading: [1, "loading"], emptyMessage: [1, "emptyMessage"], rowKey: [1, "rowKey"], scrollHeight: [1, "scrollHeight"], virtualScroll: [1, "virtualScroll"], rowHeight: [1, "rowHeight"], reorderable: [1, "reorderable"], exportable: [1, "exportable"], exportFilename: [1, "exportFilename"], lazy: [1, "lazy"], totalRecords: [1, "totalRecords"], expandable: [1, "expandable"], multiExpand: [1, "multiExpand"], selection: [1, "selection"], expandedRows: [1, "expandedRows"], hiddenFields: [1, "hiddenFields"] }, outputs: { selection: "selectionChange", expandedRows: "expandedRowsChange", hiddenFields: "hiddenFieldsChange", rowClick: "rowClick", lazyLoad: "lazyLoad", cellEdit: "cellEdit" }, ngContentSelectors: _c4, decls:
|
|
10681
|
+
} }, inputs: { columns: [1, "columns"], data: [1, "data"], filterable: [1, "filterable"], filterRowPosition: [1, "filterRowPosition"], pageSize: [1, "pageSize"], pageSizeOptions: [1, "pageSizeOptions"], selectable: [1, "selectable"], loading: [1, "loading"], emptyMessage: [1, "emptyMessage"], rowKey: [1, "rowKey"], scrollHeight: [1, "scrollHeight"], virtualScroll: [1, "virtualScroll"], rowHeight: [1, "rowHeight"], reorderable: [1, "reorderable"], exportable: [1, "exportable"], exportFilename: [1, "exportFilename"], lazy: [1, "lazy"], totalRecords: [1, "totalRecords"], expandable: [1, "expandable"], multiExpand: [1, "multiExpand"], summaryLabel: [1, "summaryLabel"], summaryValues: [1, "summaryValues"], selection: [1, "selection"], expandedRows: [1, "expandedRows"], hiddenFields: [1, "hiddenFields"] }, outputs: { selection: "selectionChange", expandedRows: "expandedRowsChange", hiddenFields: "hiddenFieldsChange", rowClick: "rowClick", lazyLoad: "lazyLoad", cellEdit: "cellEdit" }, ngContentSelectors: _c4, decls: 25, vars: 14, consts: [["scrollEl", ""], ["theadEl", ""], ["rowTpl", ""], ["filterRowTpl", ""], ["editorHost", ""], [1, "kpt-data-table__toolbar"], [1, "kpt-data-table__scroll", 3, "scroll"], [1, "kpt-data-table__table"], [3, "ngTemplateOutlet"], [1, "kpt-data-table__expander", 3, "kpt-data-table__cell--frozen", "left"], [1, "kpt-data-table__checkbox", 3, "kpt-data-table__cell--frozen", "left"], [3, "width", "left", "kpt-data-table__cell--frozen", "kpt-data-table__th--sortable", "kpt-data-table__th--draggable", "kpt-data-table__th--dragover"], [1, "kpt-data-table__pager"], ["type", "search", 1, "kpt-data-table__filter", 3, "value"], ["variant", "outline", "size", "sm"], ["type", "search", 1, "kpt-data-table__filter", 3, "input", "value"], ["variant", "outline", "size", "sm", 3, "click"], [1, "kpt-data-table__expander"], [1, "kpt-data-table__checkbox"], ["type", "checkbox", 3, "change", "checked", "indeterminate"], [3, "click", "dragstart", "dragover", "drop", "dragend"], ["name", "grip-vertical", 1, "kpt-data-table__grip"], [1, "kpt-data-table__sort", 3, "kpt-data-table__sort--active", "name"], [1, "kpt-data-table__sort", 3, "name"], [1, "kpt-data-table__state"], ["aria-hidden", "true", 1, "kpt-data-table__spacer"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "kpt-data-table__summary"], [1, "kpt-data-table__summary-label", 3, "kpt-data-table__cell--frozen", "left"], [1, "kpt-data-table__summary-label"], [3, "width", "left", "kpt-data-table__cell--frozen"], [3, "click"], [3, "left", "kpt-data-table__cell--frozen", "kpt-data-table__cell--editable"], [1, "kpt-data-table__detail-row"], ["type", "button", 1, "kpt-data-table__expander-btn", 3, "click"], ["name", "chevron-right"], ["type", "checkbox", 3, "click", "change", "checked"], [3, "click", "keydown.enter"], [1, "kpt-data-table__editor"], [1, "kpt-data-table__editor", 3, "click", "focusout"], [3, "value", "placeholder"], [3, "value", "min", "max", "step"], [3, "value", "open"], [3, "options", "placeholder", "value", "open"], ["multiple", "", "filter", "", 3, "options", "placeholder", "value", "open"], [3, "valueChange", "keydown.enter", "keydown.escape", "value", "placeholder"], [3, "valueChange", "keydown.enter", "keydown.escape", "value", "min", "max", "step"], [3, "valueChange", "openChange", "value", "open"], [3, "valueChange", "openChange", "options", "placeholder", "value", "open"], ["multiple", "", "filter", "", 3, "valueChange", "openChange", "options", "placeholder", "value", "open"], [1, "kpt-data-table__detail"], [1, "kpt-data-table__filter-row"], ["type", "search", 1, "kpt-data-table__fcell", 3, "value"], ["type", "text", "inputmode", "numeric", 1, "kpt-data-table__fcell", 3, "value"], ["filter", "", 3, "options", "multiple", "placeholder", "value"], [1, "kpt-data-table__frange"], [1, "kpt-data-table__fslider"], [3, "placeholder", "value"], ["type", "search", 1, "kpt-data-table__fcell", 3, "input", "click", "value"], ["type", "text", "inputmode", "numeric", 1, "kpt-data-table__fcell", 3, "input", "click", "value"], ["filter", "", 3, "valueChange", "options", "multiple", "placeholder", "value"], [1, "kpt-data-table__fslider", 3, "click"], ["range", "", "showValue", "", 3, "valueChange", "min", "max", "step", "value"], [3, "valueChange", "placeholder", "value"], [3, "pageIndexChange", "pageSizeChange", "length", "pageIndex", "pageSize", "pageSizeOptions"]], template: function KptDataTable_Template(rf, ctx) { if (rf & 1) {
|
|
10466
10682
|
i0.ɵɵprojectionDef(_c3);
|
|
10467
10683
|
i0.ɵɵconditionalCreate(0, KptDataTable_Conditional_0_Template, 3, 2, "div", 5);
|
|
10468
10684
|
i0.ɵɵelementStart(1, "div", 6, 0);
|
|
@@ -10478,9 +10694,11 @@ class KptDataTable {
|
|
|
10478
10694
|
i0.ɵɵelementEnd();
|
|
10479
10695
|
i0.ɵɵelementStart(14, "tbody");
|
|
10480
10696
|
i0.ɵɵconditionalCreate(15, KptDataTable_Conditional_15_Template, 3, 2, "tr")(16, KptDataTable_Conditional_16_Template, 3, 2, "tr")(17, KptDataTable_Conditional_17_Template, 4, 2)(18, KptDataTable_Conditional_18_Template, 2, 0);
|
|
10481
|
-
i0.ɵɵelementEnd()
|
|
10482
|
-
i0.ɵɵ
|
|
10483
|
-
i0.ɵɵ
|
|
10697
|
+
i0.ɵɵelementEnd();
|
|
10698
|
+
i0.ɵɵconditionalCreate(19, KptDataTable_Conditional_19_Template, 5, 1, "tfoot");
|
|
10699
|
+
i0.ɵɵelementEnd()();
|
|
10700
|
+
i0.ɵɵtemplate(20, KptDataTable_ng_template_20_Template, 6, 9, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(22, KptDataTable_ng_template_22_Template, 5, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
|
|
10701
|
+
i0.ɵɵconditionalCreate(24, KptDataTable_Conditional_24_Template, 3, 4, "div", 12);
|
|
10484
10702
|
} if (rf & 2) {
|
|
10485
10703
|
i0.ɵɵconditional(ctx.filterable() || ctx.exportable() ? 0 : -1);
|
|
10486
10704
|
i0.ɵɵadvance();
|
|
@@ -10499,8 +10717,10 @@ class KptDataTable {
|
|
|
10499
10717
|
i0.ɵɵconditional(ctx.hasColumnFilters() && ctx.filterRowPosition() === "bottom" ? 13 : -1);
|
|
10500
10718
|
i0.ɵɵadvance(2);
|
|
10501
10719
|
i0.ɵɵconditional(ctx.loading() ? 15 : ctx.displayCount() === 0 ? 16 : ctx.virtualScroll() ? 17 : 18);
|
|
10502
|
-
i0.ɵɵadvance(
|
|
10503
|
-
i0.ɵɵconditional(ctx.
|
|
10720
|
+
i0.ɵɵadvance(4);
|
|
10721
|
+
i0.ɵɵconditional(ctx.hasSummary() && !ctx.loading() && ctx.displayCount() > 0 ? 19 : -1);
|
|
10722
|
+
i0.ɵɵadvance(5);
|
|
10723
|
+
i0.ɵɵconditional(ctx.pageSize() > 0 && !ctx.virtualScroll() ? 24 : -1);
|
|
10504
10724
|
} }, dependencies: [NgTemplateOutlet,
|
|
10505
10725
|
KptButton,
|
|
10506
10726
|
KptIcon,
|
|
@@ -10510,7 +10730,7 @@ class KptDataTable {
|
|
|
10510
10730
|
KptSlider,
|
|
10511
10731
|
KptInput,
|
|
10512
10732
|
KptInputNumber,
|
|
10513
|
-
KptDatepicker], styles: ["@layer kpt.components{.kpt-data-table{display:flex;flex-direction:column;background:var(--%NS%kpt-table-bg);color:var(--%NS%kpt-table-fg);border:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border);border-radius:var(--%NS%kpt-table-radius, .75rem);overflow:hidden;flex-grow:1}.kpt-data-table__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--%NS%kpt-space-3, .75rem);padding:var(--%NS%kpt-space-3, .75rem);border-bottom:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table__filter{width:100%;max-width:20rem;height:2.25rem;padding-inline:var(--%NS%kpt-space-3, .75rem);border:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-form-field-border);border-radius:var(--%NS%kpt-form-field-radius, .5rem);background:var(--%NS%kpt-form-field-bg);color:var(--%NS%kpt-form-field-text)}.kpt-data-table__filter:focus-visible{outline:none;border-color:var(--%NS%kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--%NS%kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__scroll{overflow:auto}.kpt-data-table__pager{display:flex;align-items:center;gap:var(--%NS%kpt-space-2, .5rem)}.kpt-data-table__pager [kptPaginatorActions]{margin-inline-start:.5rem}.kpt-data-table__pager kpt-paginator{flex:1 1 auto;min-width:0}.kpt-data-table__table{width:100%;border-collapse:collapse;font-size:var(--%NS%kpt-font-size-sm, .875rem)}.kpt-data-table__table--frozen{width:max-content;min-width:100%}.kpt-data-table__table th,.kpt-data-table__table td{padding:var(--%NS%kpt-table-cell-padding, .75rem);text-align:start;border-bottom:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table__table th[data-align=center],.kpt-data-table__table td[data-align=center]{text-align:center}.kpt-data-table__table th[data-align=end],.kpt-data-table__table td[data-align=end]{text-align:end}.kpt-data-table__table thead th{position:sticky;top:0;z-index:1;background:var(--%NS%kpt-table-header-bg);color:var(--%NS%kpt-table-header-fg);font-weight:var(--%NS%kpt-font-weight-semibold, 600);white-space:nowrap;-webkit-user-select:none;user-select:none}.kpt-data-table__table thead tr:nth-child(2) th{top:var(--%NS%kpt-thead-offset, 0px)}.kpt-data-table__filter-row th{padding:var(--%NS%kpt-space-2, .5rem);font-weight:var(--%NS%kpt-font-weight-normal, 400);cursor:auto}.kpt-data-table__fcell{width:100%;height:2rem;padding-inline:var(--%NS%kpt-space-2, .5rem);border:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-form-field-border);border-radius:var(--%NS%kpt-form-field-radius, .5rem);background:var(--%NS%kpt-form-field-bg);color:var(--%NS%kpt-form-field-text);font:inherit}.kpt-data-table__fcell:focus-visible{outline:none;border-color:var(--%NS%kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--%NS%kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__filter-row kpt-select,.kpt-data-table__filter-row kpt-date-range{display:block;width:100%;font-weight:var(--%NS%kpt-font-weight-normal, 400)}.kpt-data-table__frange{display:flex;gap:var(--%NS%kpt-space-2, .5rem)}.kpt-data-table__frange .kpt-data-table__fcell{min-width:0}.kpt-data-table__fslider .kpt-slider-host{width:100%}.kpt-data-table__fslider .kpt-slider__value{min-width:auto;font-size:var(--%NS%kpt-font-size-xs, .75rem);color:var(--%NS%kpt-color-on-surface-muted)}.kpt-data-table__th--sortable{cursor:pointer}.kpt-data-table__th--%NS%sortable:hover{color:var(--%NS%kpt-color-on-surface)}.kpt-data-table__cell--editable{cursor:pointer}.kpt-data-table__cell--%NS%editable:hover{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table__cell--%NS%editable:focus-visible{outline:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-color-focus-ring);outline-offset:-2px}.kpt-data-table__editor{display:block;min-width:8rem}.kpt-data-table__editor .kpt-input-number-host{max-width:6.5rem}.kpt-data-table__editor .kpt-input-number__btn{width:1.75rem}.kpt-data-table__sort{margin-inline-start:.35em;opacity:.35}.kpt-data-table__sort--active{opacity:1}.kpt-data-table__th--draggable{cursor:grab}.kpt-data-table__th--%NS%draggable:active{cursor:grabbing}.kpt-data-table__th--dragover{box-shadow:inset 2px 0 0 0 var(--%NS%kpt-color-primary)}.kpt-data-table__grip{margin-inline-end:.4em;opacity:.45}.kpt-data-table__checkbox{width:1px;white-space:nowrap;text-align:center}.kpt-data-table__checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:1.15rem;height:1.15rem;margin:0;vertical-align:middle;cursor:pointer;border:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-form-field-border);border-radius:var(--%NS%kpt-radius-sm, .25rem);background:var(--%NS%kpt-form-field-bg);transition:background-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard),border-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table__checkbox input[type=checkbox]:after{content:\"\";position:absolute;inset:0;opacity:0;background-color:var(--%NS%kpt-color-on-primary);transition:opacity var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard);-webkit-mask:no-repeat center/.85rem;mask:no-repeat center/.85rem}.kpt-data-table__checkbox input[type=checkbox]:checked,.kpt-data-table__checkbox input[type=checkbox]:indeterminate{background:var(--%NS%kpt-color-primary);border-color:var(--%NS%kpt-color-primary)}.kpt-data-table__checkbox input[type=checkbox]:checked:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:indeterminate:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:focus-visible{outline:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander{width:2.5rem;min-width:2.5rem;text-align:center;white-space:nowrap}.kpt-data-table__expander-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--%NS%kpt-radius-sm, .25rem);background:transparent;color:var(--%NS%kpt-color-on-surface-muted);cursor:pointer;transition:background-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard),color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table__expander-btn kpt-icon{display:inline-flex;transition:transform var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table__expander-btn:hover{background:var(--%NS%kpt-table-row-hover);color:var(--%NS%kpt-color-on-surface)}.kpt-data-table__expander-btn:focus-visible{outline:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander-btn--open{color:var(--%NS%kpt-color-primary)}.kpt-data-table__expander-btn--open kpt-icon{transform:rotate(90deg)}.kpt-data-table__detail-row>.kpt-data-table__detail{padding:var(--%NS%kpt-space-4, 1rem);background:var(--%NS%kpt-table-detail-bg, var(--%NS%kpt-color-surface-variant, var(--%NS%kpt-table-row-hover)));border-bottom:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border);box-shadow:inset 3px 0 0 0 var(--%NS%kpt-color-primary)}.kpt-data-table tbody tr{transition:background-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table tbody tr:hover{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table tbody tr.kpt-data-table__detail-row:hover{background:transparent}.kpt-data-table__row--selected{background:var(--%NS%kpt-table-row-selected)!important}.kpt-data-table__row--expanded{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table__table--frozen .kpt-data-table__checkbox{width:3rem;min-width:3rem}.kpt-data-table__table--frozen .kpt-data-table__expander{width:2.5rem;min-width:2.5rem}.kpt-data-table__cell--frozen{position:sticky;z-index:1;background:var(--%NS%kpt-table-bg);border-inline-end:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table thead th.kpt-data-table__cell--frozen{z-index:3;background:var(--%NS%kpt-table-header-bg)}.kpt-data-table tbody tr:hover .kpt-data-table__cell--frozen{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table__row--selected.kpt-data-table__row--selected .kpt-data-table__cell--frozen,.kpt-data-table tbody tr.kpt-data-table__row--selected .kpt-data-table__cell--frozen{background:var(--%NS%kpt-table-row-selected)}.kpt-data-table__state{padding:var(--%NS%kpt-space-8, 2rem)!important;text-align:center!important;color:var(--%NS%kpt-color-on-surface-muted)}.kpt-data-table__table--virtual td{padding-block:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kpt-data-table__spacer td{padding:0!important;border:0!important}.kpt-data-table tbody tr:last-child td{border-bottom:0}}\n"], encapsulation: 2 }); }
|
|
10733
|
+
KptDatepicker], styles: ["@layer kpt.components{.kpt-data-table{display:flex;flex-direction:column;background:var(--%NS%kpt-table-bg);color:var(--%NS%kpt-table-fg);border:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border);border-radius:var(--%NS%kpt-table-radius, .75rem);overflow:hidden;flex-grow:1}.kpt-data-table__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--%NS%kpt-space-3, .75rem);padding:var(--%NS%kpt-space-3, .75rem);border-bottom:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table__filter{width:100%;max-width:20rem;height:2.25rem;padding-inline:var(--%NS%kpt-space-3, .75rem);border:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-form-field-border);border-radius:var(--%NS%kpt-form-field-radius, .5rem);background:var(--%NS%kpt-form-field-bg);color:var(--%NS%kpt-form-field-text)}.kpt-data-table__filter:focus-visible{outline:none;border-color:var(--%NS%kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--%NS%kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__scroll{overflow:auto}.kpt-data-table__pager{display:flex;align-items:center;gap:var(--%NS%kpt-space-2, .5rem)}.kpt-data-table__pager [kptPaginatorActions]{margin-inline-start:.5rem}.kpt-data-table__pager kpt-paginator{flex:1 1 auto;min-width:0}.kpt-data-table__table{width:100%;border-collapse:collapse;font-size:var(--%NS%kpt-font-size-sm, .875rem)}.kpt-data-table__table--frozen{width:max-content;min-width:100%}.kpt-data-table__table th,.kpt-data-table__table td{padding:var(--%NS%kpt-table-cell-padding, .75rem);text-align:start;border-bottom:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table__table th[data-align=center],.kpt-data-table__table td[data-align=center]{text-align:center}.kpt-data-table__table th[data-align=end],.kpt-data-table__table td[data-align=end]{text-align:end}.kpt-data-table__table thead th{position:sticky;top:0;z-index:1;background:var(--%NS%kpt-table-header-bg);color:var(--%NS%kpt-table-header-fg);font-weight:var(--%NS%kpt-font-weight-semibold, 600);white-space:nowrap;-webkit-user-select:none;user-select:none}.kpt-data-table__table thead tr:nth-child(2) th{top:var(--%NS%kpt-thead-offset, 0px)}.kpt-data-table__table tfoot th,.kpt-data-table__table tfoot td{position:sticky;bottom:0;z-index:1;background:var(--%NS%kpt-table-summary-bg, var(--%NS%kpt-table-header-bg));color:var(--%NS%kpt-table-header-fg);font-weight:var(--%NS%kpt-font-weight-semibold, 600);white-space:nowrap;border-bottom:0;border-top:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table__table .kpt-data-table__summary-label{text-align:end}.kpt-data-table__filter-row th{padding:var(--%NS%kpt-space-2, .5rem);font-weight:var(--%NS%kpt-font-weight-normal, 400);cursor:auto}.kpt-data-table__fcell{width:100%;height:2rem;padding-inline:var(--%NS%kpt-space-2, .5rem);border:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-form-field-border);border-radius:var(--%NS%kpt-form-field-radius, .5rem);background:var(--%NS%kpt-form-field-bg);color:var(--%NS%kpt-form-field-text);font:inherit}.kpt-data-table__fcell:focus-visible{outline:none;border-color:var(--%NS%kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--%NS%kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__filter-row kpt-select,.kpt-data-table__filter-row kpt-date-range{display:block;width:100%;font-weight:var(--%NS%kpt-font-weight-normal, 400)}.kpt-data-table__frange{display:flex;gap:var(--%NS%kpt-space-2, .5rem)}.kpt-data-table__frange .kpt-data-table__fcell{min-width:0}.kpt-data-table__fslider .kpt-slider-host{width:100%}.kpt-data-table__fslider .kpt-slider__value{min-width:auto;font-size:var(--%NS%kpt-font-size-xs, .75rem);color:var(--%NS%kpt-color-on-surface-muted)}.kpt-data-table__th--sortable{cursor:pointer}.kpt-data-table__th--%NS%sortable:hover{color:var(--%NS%kpt-color-on-surface)}.kpt-data-table__cell--editable{cursor:pointer}.kpt-data-table__cell--%NS%editable:hover{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table__cell--%NS%editable:focus-visible{outline:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-color-focus-ring);outline-offset:-2px}.kpt-data-table__editor{display:block;min-width:8rem}.kpt-data-table__editor .kpt-input-number-host{max-width:6.5rem}.kpt-data-table__editor .kpt-input-number__btn{width:1.75rem}.kpt-data-table__sort{margin-inline-start:.35em;opacity:.35}.kpt-data-table__sort--active{opacity:1}.kpt-data-table__th--draggable{cursor:grab}.kpt-data-table__th--%NS%draggable:active{cursor:grabbing}.kpt-data-table__th--dragover{box-shadow:inset 2px 0 0 0 var(--%NS%kpt-color-primary)}.kpt-data-table__grip{margin-inline-end:.4em;opacity:.45}.kpt-data-table__checkbox{width:1px;white-space:nowrap;text-align:center}.kpt-data-table__checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:1.15rem;height:1.15rem;margin:0;vertical-align:middle;cursor:pointer;border:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-form-field-border);border-radius:var(--%NS%kpt-radius-sm, .25rem);background:var(--%NS%kpt-form-field-bg);transition:background-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard),border-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table__checkbox input[type=checkbox]:after{content:\"\";position:absolute;inset:0;opacity:0;background-color:var(--%NS%kpt-color-on-primary);transition:opacity var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard);-webkit-mask:no-repeat center/.85rem;mask:no-repeat center/.85rem}.kpt-data-table__checkbox input[type=checkbox]:checked,.kpt-data-table__checkbox input[type=checkbox]:indeterminate{background:var(--%NS%kpt-color-primary);border-color:var(--%NS%kpt-color-primary)}.kpt-data-table__checkbox input[type=checkbox]:checked:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:indeterminate:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:focus-visible{outline:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander{width:2.5rem;min-width:2.5rem;text-align:center;white-space:nowrap}.kpt-data-table__expander-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--%NS%kpt-radius-sm, .25rem);background:transparent;color:var(--%NS%kpt-color-on-surface-muted);cursor:pointer;transition:background-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard),color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table__expander-btn kpt-icon{display:inline-flex;transition:transform var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table__expander-btn:hover{background:var(--%NS%kpt-table-row-hover);color:var(--%NS%kpt-color-on-surface)}.kpt-data-table__expander-btn:focus-visible{outline:var(--%NS%kpt-border-width-medium, 2px) solid var(--%NS%kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander-btn--open{color:var(--%NS%kpt-color-primary)}.kpt-data-table__expander-btn--open kpt-icon{transform:rotate(90deg)}.kpt-data-table__detail-row>.kpt-data-table__detail{padding:var(--%NS%kpt-space-4, 1rem);background:var(--%NS%kpt-table-detail-bg, var(--%NS%kpt-color-surface-variant, var(--%NS%kpt-table-row-hover)));border-bottom:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border);box-shadow:inset 3px 0 0 0 var(--%NS%kpt-color-primary)}.kpt-data-table tbody tr{transition:background-color var(--%NS%kpt-motion-duration-fast, .12s) var(--%NS%kpt-motion-easing-standard)}.kpt-data-table tbody tr:hover{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table tbody tr.kpt-data-table__detail-row:hover{background:transparent}.kpt-data-table__row--selected{background:var(--%NS%kpt-table-row-selected)!important}.kpt-data-table__row--expanded{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table__table--frozen .kpt-data-table__checkbox{width:3rem;min-width:3rem}.kpt-data-table__table--frozen .kpt-data-table__expander{width:2.5rem;min-width:2.5rem}.kpt-data-table__cell--frozen{position:sticky;z-index:1;background:var(--%NS%kpt-table-bg);border-inline-end:var(--%NS%kpt-border-width-thin, 1px) solid var(--%NS%kpt-table-border)}.kpt-data-table thead th.kpt-data-table__cell--frozen{z-index:3;background:var(--%NS%kpt-table-header-bg)}.kpt-data-table tfoot th.kpt-data-table__cell--frozen,.kpt-data-table tfoot td.kpt-data-table__cell--frozen{z-index:3;background:var(--%NS%kpt-table-summary-bg, var(--%NS%kpt-table-header-bg))}.kpt-data-table tbody tr:hover .kpt-data-table__cell--frozen{background:var(--%NS%kpt-table-row-hover)}.kpt-data-table__row--selected.kpt-data-table__row--selected .kpt-data-table__cell--frozen,.kpt-data-table tbody tr.kpt-data-table__row--selected .kpt-data-table__cell--frozen{background:var(--%NS%kpt-table-row-selected)}.kpt-data-table__state{padding:var(--%NS%kpt-space-8, 2rem)!important;text-align:center!important;color:var(--%NS%kpt-color-on-surface-muted)}.kpt-data-table__table--virtual td{padding-block:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kpt-data-table__spacer td{padding:0!important;border:0!important}.kpt-data-table tbody tr:last-child td{border-bottom:0}}\n"], encapsulation: 2 }); }
|
|
10514
10734
|
}
|
|
10515
10735
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KptDataTable, [{
|
|
10516
10736
|
type: Component,
|
|
@@ -10528,9 +10748,9 @@ class KptDataTable {
|
|
|
10528
10748
|
], host: {
|
|
10529
10749
|
'class': 'kpt-data-table',
|
|
10530
10750
|
'[style.--kpt-thead-offset]': "theadOffset() + 'px'",
|
|
10531
|
-
}, template: "@if (filterable() || exportable()) {\n <div class=\"kpt-data-table__toolbar\">\n @if (filterable()) {\n <input\n class=\"kpt-data-table__filter\"\n type=\"search\"\n [attr.placeholder]=\"i18n.t('dataTable.search')\"\n [value]=\"filterText()\"\n (input)=\"onFilter($event)\"\n />\n }\n @if (exportable()) {\n <kpt-button variant=\"outline\" size=\"sm\" (click)=\"exportCsv()\">{{ i18n.t('dataTable.exportCsv') }}</kpt-button>\n }\n </div>\n}\n\n<div class=\"kpt-data-table__scroll\" #scrollEl [style.max-height]=\"scrollHeight()\" (scroll)=\"onScroll($event)\">\n <table\n class=\"kpt-data-table__table\"\n [class.kpt-data-table__table--frozen]=\"hasFrozen()\"\n [class.kpt-data-table__table--virtual]=\"virtualScroll()\"\n >\n <thead #theadEl>\n @if (hasColumnFilters() && filterRowPosition() === 'top') {\n <ng-container [ngTemplateOutlet]=\"filterRowTpl\" />\n }\n <tr>\n @if (hasRowDetail()) {\n <th class=\"kpt-data-table__expander\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"expanderStickyLeft()\"></th>\n }\n @if (selectable() === 'multiple') {\n <th class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\">\n <input\n type=\"checkbox\"\n [checked]=\"pageAllSelected()\"\n [indeterminate]=\"pageSomeSelected()\"\n (change)=\"toggleAllOnPage()\"\n [attr.aria-label]=\"i18n.t('dataTable.selectAll')\"\n />\n </th>\n } @else if (selectable() === 'single') {\n <th class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\"></th>\n }\n @for (col of visibleOrderedColumns(); track col.field) {\n <th\n [attr.draggable]=\"isColDraggable(col) ? true : null\"\n [style.width]=\"col.width\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [attr.data-align]=\"col.align ?? 'start'\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n [class.kpt-data-table__th--sortable]=\"col.sortable\"\n [class.kpt-data-table__th--draggable]=\"isColDraggable(col)\"\n [class.kpt-data-table__th--dragover]=\"dragField() !== null && dragField() !== col.field && !col.frozen\"\n [attr.aria-sort]=\"ariaSort(col)\"\n (click)=\"toggleSort(col)\"\n (dragstart)=\"onColDragStart(col.field, $event)\"\n (dragover)=\"reorderable() ? onColDragOver(col.field, $event) : null\"\n (drop)=\"reorderable() ? onColDrop(col.field, $event) : null\"\n (dragend)=\"onColDragEnd()\"\n >\n @if (isColDraggable(col)) {\n <kpt-icon class=\"kpt-data-table__grip\" name=\"grip-vertical\" />\n }\n <span>{{ col.header }}</span>\n @if (col.sortable) {\n <kpt-icon\n class=\"kpt-data-table__sort\"\n [class.kpt-data-table__sort--active]=\"ariaSort(col) !== 'none'\"\n [name]=\"sortIconName(col)\"\n />\n }\n </th>\n }\n </tr>\n @if (hasColumnFilters() && filterRowPosition() === 'bottom') {\n <ng-container [ngTemplateOutlet]=\"filterRowTpl\" />\n }\n </thead>\n <tbody>\n @if (loading()) {\n <tr><td class=\"kpt-data-table__state\" [attr.colspan]=\"colspan()\">{{ i18n.t('dataTable.loading') }}</td></tr>\n } @else if (displayCount() === 0) {\n <tr><td class=\"kpt-data-table__state\" [attr.colspan]=\"colspan()\">{{ emptyText() }}</td></tr>\n } @else if (virtualScroll()) {\n @if (topPad() > 0) {\n <tr class=\"kpt-data-table__spacer\" aria-hidden=\"true\"><td [attr.colspan]=\"colspan()\" [style.height.px]=\"topPad()\"></td></tr>\n }\n @for (row of virtualRows(); track trackRow(row)) {\n <ng-container [ngTemplateOutlet]=\"rowTpl\" [ngTemplateOutletContext]=\"{ $implicit: row }\" />\n }\n @if (bottomPad() > 0) {\n <tr class=\"kpt-data-table__spacer\" aria-hidden=\"true\"><td [attr.colspan]=\"colspan()\" [style.height.px]=\"bottomPad()\"></td></tr>\n }\n } @else {\n @for (row of paged(); track trackRow(row)) {\n <ng-container [ngTemplateOutlet]=\"rowTpl\" [ngTemplateOutletContext]=\"{ $implicit: row }\" />\n }\n }\n </tbody>\n </table>\n</div>\n\n<ng-template #rowTpl let-row>\n <tr\n [class.kpt-data-table__row--selected]=\"isSelected(row)\"\n [class.kpt-data-table__row--expanded]=\"hasRowDetail() && isExpanded(row)\"\n [style.height.px]=\"virtualScroll() ? rowHeight() : null\"\n (click)=\"onRowClick(row)\"\n >\n @if (hasRowDetail()) {\n <td class=\"kpt-data-table__expander\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"expanderStickyLeft()\">\n <button\n type=\"button\"\n class=\"kpt-data-table__expander-btn\"\n [class.kpt-data-table__expander-btn--open]=\"isExpanded(row)\"\n [attr.aria-expanded]=\"isExpanded(row)\"\n [attr.aria-label]=\"i18n.t('dataTable.expandRow')\"\n (click)=\"$event.stopPropagation(); toggleExpand(row)\"\n >\n <kpt-icon name=\"chevron-right\" />\n </button>\n </td>\n }\n @if (selectable() !== 'none') {\n <td class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\">\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(row)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleRow(row)\"\n [attr.aria-label]=\"i18n.t('dataTable.selectRow')\"\n />\n </td>\n }\n @for (col of visibleOrderedColumns(); track col.field) {\n <td\n [attr.data-align]=\"col.align ?? 'start'\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n [class.kpt-data-table__cell--editable]=\"isEditable(col) && !isEditingCell(row, col.field)\"\n [attr.tabindex]=\"isEditable(col) && !isEditingCell(row, col.field) ? 0 : null\"\n [attr.aria-label]=\"isEditable(col) && !isEditingCell(row, col.field) ? i18n.t('dataTable.editCell', { column: col.header }) : null\"\n (click)=\"isEditable(col) ? startEdit(row, col, $event) : null\"\n (keydown.enter)=\"isEditable(col) && !isEditingCell(row, col.field) ? startEdit(row, col, $event) : null\"\n >\n @if (isEditingCell(row, col.field)) {\n <div\n class=\"kpt-data-table__editor\"\n #editorHost\n (click)=\"$event.stopPropagation()\"\n (focusout)=\"onEditorFocusOut($event)\"\n >\n @if (cellEditTemplate(col.field); as etpl) {\n <ng-container\n [ngTemplateOutlet]=\"etpl\"\n [ngTemplateOutletContext]=\"{ $implicit: editingValue(), row, commit: commitEditValue, cancel: cancelEdit }\"\n />\n } @else {\n @switch (col.edit?.type) {\n @case ('text') {\n <kpt-input\n [value]=\"$any(editingValue()) ?? ''\"\n [placeholder]=\"col.edit.placeholder ?? ''\"\n (valueChange)=\"editingValue.set($event)\"\n (keydown.enter)=\"commitEdit()\"\n (keydown.escape)=\"cancelEdit()\"\n />\n }\n @case ('number') {\n <kpt-input-number\n [value]=\"$any(editingValue())\"\n [min]=\"col.edit.min\"\n [max]=\"col.edit.max\"\n [step]=\"col.edit.step ?? 1\"\n (valueChange)=\"editingValue.set($event)\"\n (keydown.enter)=\"commitEdit()\"\n (keydown.escape)=\"cancelEdit()\"\n />\n }\n @case ('date') {\n <kpt-datepicker\n [value]=\"$any(editingValue()) ?? ''\"\n (valueChange)=\"editingValue.set($event)\"\n [open]=\"editorPanelOpen()\"\n (openChange)=\"onEditorPanelToggle($event)\"\n />\n }\n @case ('select') {\n <kpt-select\n [options]=\"col.edit.options ?? []\"\n [placeholder]=\"col.edit.placeholder ?? ''\"\n [value]=\"editingValue()\"\n (valueChange)=\"editingValue.set($event)\"\n [open]=\"editorPanelOpen()\"\n (openChange)=\"onEditorPanelToggle($event)\"\n />\n }\n @case ('multiselect') {\n <kpt-select\n multiple\n filter\n [options]=\"col.edit.options ?? []\"\n [placeholder]=\"col.edit.placeholder ?? ''\"\n [value]=\"editingValue()\"\n (valueChange)=\"editingValue.set($event)\"\n [open]=\"editorPanelOpen()\"\n (openChange)=\"onEditorPanelToggle($event)\"\n />\n }\n }\n }\n </div>\n } @else if (cellTemplate(col.field); as tpl) {\n <ng-container\n [ngTemplateOutlet]=\"tpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getValue(row, col.field) }\"\n />\n } @else {\n {{ getValue(row, col.field) }}\n }\n </td>\n }\n </tr>\n @if (hasRowDetail() && isExpanded(row) && !virtualScroll()) {\n <tr class=\"kpt-data-table__detail-row\">\n <td class=\"kpt-data-table__detail\" [attr.colspan]=\"colspan()\">\n <ng-container [ngTemplateOutlet]=\"rowDetailTpl()\" [ngTemplateOutletContext]=\"{ $implicit: row }\" />\n </td>\n </tr>\n }\n</ng-template>\n\n<ng-template #filterRowTpl>\n <tr class=\"kpt-data-table__filter-row\">\n @if (hasRowDetail()) {\n <th class=\"kpt-data-table__expander\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"expanderStickyLeft()\"></th>\n }\n @if (selectable() !== 'none') {\n <th class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\"></th>\n }\n @for (col of visibleOrderedColumns(); track col.field) {\n <th\n [style.width]=\"col.width\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [attr.data-align]=\"col.align ?? 'start'\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n >\n @switch (col.filter?.type) {\n @case ('text') {\n <input\n class=\"kpt-data-table__fcell\"\n type=\"search\"\n [attr.placeholder]=\"col.filter.placeholder || ''\"\n [attr.aria-label]=\"i18n.t('dataTable.filter', { column: col.header })\"\n [value]=\"$any(columnFilters()[col.field]) || ''\"\n (input)=\"setColumnFilter(col.field, $any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n @case ('number') {\n <input\n class=\"kpt-data-table__fcell\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.placeholder]=\"col.filter.placeholder || ''\"\n [attr.aria-label]=\"i18n.t('dataTable.filter', { column: col.header })\"\n [value]=\"$any(columnFilters()[col.field]) || ''\"\n (input)=\"onNumberFilter(col.field, $event)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n @case ('select') {\n <kpt-select\n [options]=\"col.filter.options || []\"\n [multiple]=\"!!col.filter.multiple\"\n filter\n [placeholder]=\"col.filter.placeholder || i18n.t('dataTable.all')\"\n [value]=\"columnFilters()[col.field] ?? null\"\n (valueChange)=\"setColumnFilter(col.field, $event)\"\n />\n }\n @case ('numberRange') {\n <div class=\"kpt-data-table__frange\">\n <input\n class=\"kpt-data-table__fcell\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.placeholder]=\"i18n.t('dataTable.min')\"\n [attr.aria-label]=\"i18n.t('dataTable.filterMin', { column: col.header })\"\n [value]=\"rangeVal(col.field).min\"\n (input)=\"setRangeFilter(col.field, 'min', $event)\"\n (click)=\"$event.stopPropagation()\"\n />\n <input\n class=\"kpt-data-table__fcell\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.placeholder]=\"i18n.t('dataTable.max')\"\n [attr.aria-label]=\"i18n.t('dataTable.filterMax', { column: col.header })\"\n [value]=\"rangeVal(col.field).max\"\n (input)=\"setRangeFilter(col.field, 'max', $event)\"\n (click)=\"$event.stopPropagation()\"\n />\n </div>\n }\n @case ('slider') {\n <div class=\"kpt-data-table__fslider\" (click)=\"$event.stopPropagation()\">\n <kpt-slider\n range\n [min]=\"col.filter.min ?? 0\"\n [max]=\"col.filter.max ?? 100\"\n [step]=\"col.filter.step ?? 1\"\n [value]=\"sliderVal(col)\"\n (valueChange)=\"setColumnFilter(col.field, $event)\"\n showValue\n />\n </div>\n }\n @case ('dateRange') {\n <kpt-date-range\n [placeholder]=\"col.filter.placeholder || i18n.t('dataTable.dateRange')\"\n [value]=\"$any(columnFilters()[col.field]) || { start: '', end: '' }\"\n (valueChange)=\"setColumnFilter(col.field, $event)\"\n />\n }\n }\n </th>\n }\n </tr>\n</ng-template>\n\n@if (pageSize() > 0 && !virtualScroll()) {\n <div class=\"kpt-data-table__pager\">\n <ng-content select=\"[kptPaginatorActions]\" />\n <kpt-paginator\n [length]=\"filteredCount()\"\n [pageIndex]=\"pageIndex()\"\n (pageIndexChange)=\"pageIndex.set($event)\"\n [pageSize]=\"pageSizeState()\"\n (pageSizeChange)=\"pageSizeState.set($event)\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n />\n </div>\n}\n", styles: ["@layer kpt.components{.kpt-data-table{display:flex;flex-direction:column;background:var(--kpt-table-bg);color:var(--kpt-table-fg);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border);border-radius:var(--kpt-table-radius, .75rem);overflow:hidden;flex-grow:1}.kpt-data-table__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--kpt-space-3, .75rem);padding:var(--kpt-space-3, .75rem);border-bottom:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table__filter{width:100%;max-width:20rem;height:2.25rem;padding-inline:var(--kpt-space-3, .75rem);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-form-field-border);border-radius:var(--kpt-form-field-radius, .5rem);background:var(--kpt-form-field-bg);color:var(--kpt-form-field-text)}.kpt-data-table__filter:focus-visible{outline:none;border-color:var(--kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__scroll{overflow:auto}.kpt-data-table__pager{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem)}.kpt-data-table__pager [kptPaginatorActions]{margin-inline-start:.5rem}.kpt-data-table__pager kpt-paginator{flex:1 1 auto;min-width:0}.kpt-data-table__table{width:100%;border-collapse:collapse;font-size:var(--kpt-font-size-sm, .875rem)}.kpt-data-table__table--frozen{width:max-content;min-width:100%}.kpt-data-table__table th,.kpt-data-table__table td{padding:var(--kpt-table-cell-padding, .75rem);text-align:start;border-bottom:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table__table th[data-align=center],.kpt-data-table__table td[data-align=center]{text-align:center}.kpt-data-table__table th[data-align=end],.kpt-data-table__table td[data-align=end]{text-align:end}.kpt-data-table__table thead th{position:sticky;top:0;z-index:1;background:var(--kpt-table-header-bg);color:var(--kpt-table-header-fg);font-weight:var(--kpt-font-weight-semibold, 600);white-space:nowrap;-webkit-user-select:none;user-select:none}.kpt-data-table__table thead tr:nth-child(2) th{top:var(--kpt-thead-offset, 0px)}.kpt-data-table__filter-row th{padding:var(--kpt-space-2, .5rem);font-weight:var(--kpt-font-weight-normal, 400);cursor:auto}.kpt-data-table__fcell{width:100%;height:2rem;padding-inline:var(--kpt-space-2, .5rem);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-form-field-border);border-radius:var(--kpt-form-field-radius, .5rem);background:var(--kpt-form-field-bg);color:var(--kpt-form-field-text);font:inherit}.kpt-data-table__fcell:focus-visible{outline:none;border-color:var(--kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__filter-row kpt-select,.kpt-data-table__filter-row kpt-date-range{display:block;width:100%;font-weight:var(--kpt-font-weight-normal, 400)}.kpt-data-table__frange{display:flex;gap:var(--kpt-space-2, .5rem)}.kpt-data-table__frange .kpt-data-table__fcell{min-width:0}.kpt-data-table__fslider .kpt-slider-host{width:100%}.kpt-data-table__fslider .kpt-slider__value{min-width:auto;font-size:var(--kpt-font-size-xs, .75rem);color:var(--kpt-color-on-surface-muted)}.kpt-data-table__th--sortable{cursor:pointer}.kpt-data-table__th--sortable:hover{color:var(--kpt-color-on-surface)}.kpt-data-table__cell--editable{cursor:pointer}.kpt-data-table__cell--editable:hover{background:var(--kpt-table-row-hover)}.kpt-data-table__cell--editable:focus-visible{outline:var(--kpt-border-width-medium, 2px) solid var(--kpt-color-focus-ring);outline-offset:-2px}.kpt-data-table__editor{display:block;min-width:8rem}.kpt-data-table__editor .kpt-input-number-host{max-width:6.5rem}.kpt-data-table__editor .kpt-input-number__btn{width:1.75rem}.kpt-data-table__sort{margin-inline-start:.35em;opacity:.35}.kpt-data-table__sort--active{opacity:1}.kpt-data-table__th--draggable{cursor:grab}.kpt-data-table__th--draggable:active{cursor:grabbing}.kpt-data-table__th--dragover{box-shadow:inset 2px 0 0 0 var(--kpt-color-primary)}.kpt-data-table__grip{margin-inline-end:.4em;opacity:.45}.kpt-data-table__checkbox{width:1px;white-space:nowrap;text-align:center}.kpt-data-table__checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:1.15rem;height:1.15rem;margin:0;vertical-align:middle;cursor:pointer;border:var(--kpt-border-width-medium, 2px) solid var(--kpt-form-field-border);border-radius:var(--kpt-radius-sm, .25rem);background:var(--kpt-form-field-bg);transition:background-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard),border-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table__checkbox input[type=checkbox]:after{content:\"\";position:absolute;inset:0;opacity:0;background-color:var(--kpt-color-on-primary);transition:opacity var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard);-webkit-mask:no-repeat center/.85rem;mask:no-repeat center/.85rem}.kpt-data-table__checkbox input[type=checkbox]:checked,.kpt-data-table__checkbox input[type=checkbox]:indeterminate{background:var(--kpt-color-primary);border-color:var(--kpt-color-primary)}.kpt-data-table__checkbox input[type=checkbox]:checked:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:indeterminate:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:focus-visible{outline:var(--kpt-border-width-medium, 2px) solid var(--kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander{width:2.5rem;min-width:2.5rem;text-align:center;white-space:nowrap}.kpt-data-table__expander-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--kpt-radius-sm, .25rem);background:transparent;color:var(--kpt-color-on-surface-muted);cursor:pointer;transition:background-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard),color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table__expander-btn kpt-icon{display:inline-flex;transition:transform var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table__expander-btn:hover{background:var(--kpt-table-row-hover);color:var(--kpt-color-on-surface)}.kpt-data-table__expander-btn:focus-visible{outline:var(--kpt-border-width-medium, 2px) solid var(--kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander-btn--open{color:var(--kpt-color-primary)}.kpt-data-table__expander-btn--open kpt-icon{transform:rotate(90deg)}.kpt-data-table__detail-row>.kpt-data-table__detail{padding:var(--kpt-space-4, 1rem);background:var(--kpt-table-detail-bg, var(--kpt-color-surface-variant, var(--kpt-table-row-hover)));border-bottom:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border);box-shadow:inset 3px 0 0 0 var(--kpt-color-primary)}.kpt-data-table tbody tr{transition:background-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table tbody tr:hover{background:var(--kpt-table-row-hover)}.kpt-data-table tbody tr.kpt-data-table__detail-row:hover{background:transparent}.kpt-data-table__row--selected{background:var(--kpt-table-row-selected)!important}.kpt-data-table__row--expanded{background:var(--kpt-table-row-hover)}.kpt-data-table__table--frozen .kpt-data-table__checkbox{width:3rem;min-width:3rem}.kpt-data-table__table--frozen .kpt-data-table__expander{width:2.5rem;min-width:2.5rem}.kpt-data-table__cell--frozen{position:sticky;z-index:1;background:var(--kpt-table-bg);border-inline-end:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table thead th.kpt-data-table__cell--frozen{z-index:3;background:var(--kpt-table-header-bg)}.kpt-data-table tbody tr:hover .kpt-data-table__cell--frozen{background:var(--kpt-table-row-hover)}.kpt-data-table__row--selected.kpt-data-table__row--selected .kpt-data-table__cell--frozen,.kpt-data-table tbody tr.kpt-data-table__row--selected .kpt-data-table__cell--frozen{background:var(--kpt-table-row-selected)}.kpt-data-table__state{padding:var(--kpt-space-8, 2rem)!important;text-align:center!important;color:var(--kpt-color-on-surface-muted)}.kpt-data-table__table--virtual td{padding-block:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kpt-data-table__spacer td{padding:0!important;border:0!important}.kpt-data-table tbody tr:last-child td{border-bottom:0}}\n"] }]
|
|
10532
|
-
}], () => [], { columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], filterRowPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterRowPosition", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], rowKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowKey", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], rowHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowHeight", required: false }] }], reorderable: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderable", required: false }] }], exportable: [{ type: i0.Input, args: [{ isSignal: true, alias: "exportable", required: false }] }], exportFilename: [{ type: i0.Input, args: [{ isSignal: true, alias: "exportFilename", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], totalRecords: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecords", required: false }] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], multiExpand: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiExpand", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], expandedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedRows", required: false }] }, { type: i0.Output, args: ["expandedRowsChange"] }], hiddenFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenFields", required: false }] }, { type: i0.Output, args: ["hiddenFieldsChange"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], lazyLoad: [{ type: i0.Output, args: ["lazyLoad"] }], cellEdit: [{ type: i0.Output, args: ["cellEdit"] }], scrollEl: [{ type: i0.ViewChild, args: ['scrollEl', { isSignal: true }] }], theadEl: [{ type: i0.ViewChild, args: ['theadEl', { isSignal: true }] }], editorHost: [{ type: i0.ViewChild, args: ['editorHost', { isSignal: true }] }], cellDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KptCellDef), { isSignal: true }] }], cellEditDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KptCellEditDef), { isSignal: true }] }], rowDetailDef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KptRowDetailDef), { isSignal: true }] }] }); })();
|
|
10533
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptDataTable, { className: "KptDataTable", filePath: "lib/data-table/data-table.component.ts", lineNumber:
|
|
10751
|
+
}, template: "@if (filterable() || exportable()) {\n <div class=\"kpt-data-table__toolbar\">\n @if (filterable()) {\n <input\n class=\"kpt-data-table__filter\"\n type=\"search\"\n [attr.placeholder]=\"i18n.t('dataTable.search')\"\n [value]=\"filterText()\"\n (input)=\"onFilter($event)\"\n />\n }\n @if (exportable()) {\n <kpt-button variant=\"outline\" size=\"sm\" (click)=\"exportCsv()\">{{ i18n.t('dataTable.exportCsv') }}</kpt-button>\n }\n </div>\n}\n\n<div class=\"kpt-data-table__scroll\" #scrollEl [style.max-height]=\"scrollHeight()\" (scroll)=\"onScroll($event)\">\n <table\n class=\"kpt-data-table__table\"\n [class.kpt-data-table__table--frozen]=\"hasFrozen()\"\n [class.kpt-data-table__table--virtual]=\"virtualScroll()\"\n >\n <thead #theadEl>\n @if (hasColumnFilters() && filterRowPosition() === 'top') {\n <ng-container [ngTemplateOutlet]=\"filterRowTpl\" />\n }\n <tr>\n @if (hasRowDetail()) {\n <th class=\"kpt-data-table__expander\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"expanderStickyLeft()\"></th>\n }\n @if (selectable() === 'multiple') {\n <th class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\">\n <input\n type=\"checkbox\"\n [checked]=\"pageAllSelected()\"\n [indeterminate]=\"pageSomeSelected()\"\n (change)=\"toggleAllOnPage()\"\n [attr.aria-label]=\"i18n.t('dataTable.selectAll')\"\n />\n </th>\n } @else if (selectable() === 'single') {\n <th class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\"></th>\n }\n @for (col of visibleOrderedColumns(); track col.field) {\n <th\n [attr.draggable]=\"isColDraggable(col) ? true : null\"\n [style.width]=\"col.width\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [attr.data-align]=\"col.align ?? 'start'\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n [class.kpt-data-table__th--sortable]=\"col.sortable\"\n [class.kpt-data-table__th--draggable]=\"isColDraggable(col)\"\n [class.kpt-data-table__th--dragover]=\"dragField() !== null && dragField() !== col.field && !col.frozen\"\n [attr.aria-sort]=\"ariaSort(col)\"\n (click)=\"toggleSort(col)\"\n (dragstart)=\"onColDragStart(col.field, $event)\"\n (dragover)=\"reorderable() ? onColDragOver(col.field, $event) : null\"\n (drop)=\"reorderable() ? onColDrop(col.field, $event) : null\"\n (dragend)=\"onColDragEnd()\"\n >\n @if (isColDraggable(col)) {\n <kpt-icon class=\"kpt-data-table__grip\" name=\"grip-vertical\" />\n }\n <span>{{ col.header }}</span>\n @if (col.sortable) {\n <kpt-icon\n class=\"kpt-data-table__sort\"\n [class.kpt-data-table__sort--active]=\"ariaSort(col) !== 'none'\"\n [name]=\"sortIconName(col)\"\n />\n }\n </th>\n }\n </tr>\n @if (hasColumnFilters() && filterRowPosition() === 'bottom') {\n <ng-container [ngTemplateOutlet]=\"filterRowTpl\" />\n }\n </thead>\n <tbody>\n @if (loading()) {\n <tr><td class=\"kpt-data-table__state\" [attr.colspan]=\"colspan()\">{{ i18n.t('dataTable.loading') }}</td></tr>\n } @else if (displayCount() === 0) {\n <tr><td class=\"kpt-data-table__state\" [attr.colspan]=\"colspan()\">{{ emptyText() }}</td></tr>\n } @else if (virtualScroll()) {\n @if (topPad() > 0) {\n <tr class=\"kpt-data-table__spacer\" aria-hidden=\"true\"><td [attr.colspan]=\"colspan()\" [style.height.px]=\"topPad()\"></td></tr>\n }\n @for (row of virtualRows(); track trackRow(row)) {\n <ng-container [ngTemplateOutlet]=\"rowTpl\" [ngTemplateOutletContext]=\"{ $implicit: row }\" />\n }\n @if (bottomPad() > 0) {\n <tr class=\"kpt-data-table__spacer\" aria-hidden=\"true\"><td [attr.colspan]=\"colspan()\" [style.height.px]=\"bottomPad()\"></td></tr>\n }\n } @else {\n @for (row of paged(); track trackRow(row)) {\n <ng-container [ngTemplateOutlet]=\"rowTpl\" [ngTemplateOutletContext]=\"{ $implicit: row }\" />\n }\n }\n </tbody>\n @if (hasSummary() && !loading() && displayCount() > 0) {\n <tfoot>\n <tr class=\"kpt-data-table__summary\">\n @if (summaryLabelSpan() > 0) {\n <th\n class=\"kpt-data-table__summary-label\"\n [attr.colspan]=\"summaryLabelSpan()\"\n [class.kpt-data-table__cell--frozen]=\"hasFrozen()\"\n [style.left.px]=\"hasFrozen() ? 0 : null\"\n >\n {{ summaryLabelText() }}\n </th>\n }\n @for (col of visibleOrderedColumns(); track col.field; let i = $index) {\n @if (i >= summaryStartIndex()) {\n <td\n [attr.data-align]=\"col.align ?? 'end'\"\n [style.width]=\"col.width\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n >\n {{ summaryText(col.field) }}\n </td>\n }\n }\n </tr>\n </tfoot>\n }\n </table>\n</div>\n\n<ng-template #rowTpl let-row>\n <tr\n [class.kpt-data-table__row--selected]=\"isSelected(row)\"\n [class.kpt-data-table__row--expanded]=\"hasRowDetail() && isExpanded(row)\"\n [style.height.px]=\"virtualScroll() ? rowHeight() : null\"\n (click)=\"onRowClick(row)\"\n >\n @if (hasRowDetail()) {\n <td class=\"kpt-data-table__expander\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"expanderStickyLeft()\">\n <button\n type=\"button\"\n class=\"kpt-data-table__expander-btn\"\n [class.kpt-data-table__expander-btn--open]=\"isExpanded(row)\"\n [attr.aria-expanded]=\"isExpanded(row)\"\n [attr.aria-label]=\"i18n.t('dataTable.expandRow')\"\n (click)=\"$event.stopPropagation(); toggleExpand(row)\"\n >\n <kpt-icon name=\"chevron-right\" />\n </button>\n </td>\n }\n @if (selectable() !== 'none') {\n <td class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\">\n <input\n type=\"checkbox\"\n [checked]=\"isSelected(row)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleRow(row)\"\n [attr.aria-label]=\"i18n.t('dataTable.selectRow')\"\n />\n </td>\n }\n @for (col of visibleOrderedColumns(); track col.field) {\n <td\n [attr.data-align]=\"col.align ?? 'start'\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n [class.kpt-data-table__cell--editable]=\"isEditable(col) && !isEditingCell(row, col.field)\"\n [attr.tabindex]=\"isEditable(col) && !isEditingCell(row, col.field) ? 0 : null\"\n [attr.aria-label]=\"isEditable(col) && !isEditingCell(row, col.field) ? i18n.t('dataTable.editCell', { column: col.header }) : null\"\n (click)=\"isEditable(col) ? startEdit(row, col, $event) : null\"\n (keydown.enter)=\"isEditable(col) && !isEditingCell(row, col.field) ? startEdit(row, col, $event) : null\"\n >\n @if (isEditingCell(row, col.field)) {\n <div\n class=\"kpt-data-table__editor\"\n #editorHost\n (click)=\"$event.stopPropagation()\"\n (focusout)=\"onEditorFocusOut($event)\"\n >\n @if (cellEditTemplate(col.field); as etpl) {\n <ng-container\n [ngTemplateOutlet]=\"etpl\"\n [ngTemplateOutletContext]=\"{ $implicit: editingValue(), row, commit: commitEditValue, cancel: cancelEdit }\"\n />\n } @else {\n @switch (col.edit?.type) {\n @case ('text') {\n <kpt-input\n [value]=\"$any(editingValue()) ?? ''\"\n [placeholder]=\"col.edit.placeholder ?? ''\"\n (valueChange)=\"editingValue.set($event)\"\n (keydown.enter)=\"commitEdit()\"\n (keydown.escape)=\"cancelEdit()\"\n />\n }\n @case ('number') {\n <kpt-input-number\n [value]=\"$any(editingValue())\"\n [min]=\"col.edit.min\"\n [max]=\"col.edit.max\"\n [step]=\"col.edit.step ?? 1\"\n (valueChange)=\"editingValue.set($event)\"\n (keydown.enter)=\"commitEdit()\"\n (keydown.escape)=\"cancelEdit()\"\n />\n }\n @case ('date') {\n <kpt-datepicker\n [value]=\"$any(editingValue()) ?? ''\"\n (valueChange)=\"editingValue.set($event)\"\n [open]=\"editorPanelOpen()\"\n (openChange)=\"onEditorPanelToggle($event)\"\n />\n }\n @case ('select') {\n <kpt-select\n [options]=\"col.edit.options ?? []\"\n [placeholder]=\"col.edit.placeholder ?? ''\"\n [value]=\"editingValue()\"\n (valueChange)=\"editingValue.set($event)\"\n [open]=\"editorPanelOpen()\"\n (openChange)=\"onEditorPanelToggle($event)\"\n />\n }\n @case ('multiselect') {\n <kpt-select\n multiple\n filter\n [options]=\"col.edit.options ?? []\"\n [placeholder]=\"col.edit.placeholder ?? ''\"\n [value]=\"editingValue()\"\n (valueChange)=\"editingValue.set($event)\"\n [open]=\"editorPanelOpen()\"\n (openChange)=\"onEditorPanelToggle($event)\"\n />\n }\n }\n }\n </div>\n } @else if (cellTemplate(col.field); as tpl) {\n <ng-container\n [ngTemplateOutlet]=\"tpl\"\n [ngTemplateOutletContext]=\"{ $implicit: row, value: getValue(row, col.field) }\"\n />\n } @else {\n {{ getValue(row, col.field) }}\n }\n </td>\n }\n </tr>\n @if (hasRowDetail() && isExpanded(row) && !virtualScroll()) {\n <tr class=\"kpt-data-table__detail-row\">\n <td class=\"kpt-data-table__detail\" [attr.colspan]=\"colspan()\">\n <ng-container [ngTemplateOutlet]=\"rowDetailTpl()\" [ngTemplateOutletContext]=\"{ $implicit: row }\" />\n </td>\n </tr>\n }\n</ng-template>\n\n<ng-template #filterRowTpl>\n <tr class=\"kpt-data-table__filter-row\">\n @if (hasRowDetail()) {\n <th class=\"kpt-data-table__expander\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"expanderStickyLeft()\"></th>\n }\n @if (selectable() !== 'none') {\n <th class=\"kpt-data-table__checkbox\" [class.kpt-data-table__cell--frozen]=\"hasFrozen()\" [style.left.px]=\"checkboxStickyLeft()\"></th>\n }\n @for (col of visibleOrderedColumns(); track col.field) {\n <th\n [style.width]=\"col.width\"\n [style.left.px]=\"frozenLeft(col.field)\"\n [attr.data-align]=\"col.align ?? 'start'\"\n [class.kpt-data-table__cell--frozen]=\"isFrozen(col.field)\"\n >\n @switch (col.filter?.type) {\n @case ('text') {\n <input\n class=\"kpt-data-table__fcell\"\n type=\"search\"\n [attr.placeholder]=\"col.filter.placeholder || ''\"\n [attr.aria-label]=\"i18n.t('dataTable.filter', { column: col.header })\"\n [value]=\"$any(columnFilters()[col.field]) || ''\"\n (input)=\"setColumnFilter(col.field, $any($event.target).value)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n @case ('number') {\n <input\n class=\"kpt-data-table__fcell\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.placeholder]=\"col.filter.placeholder || ''\"\n [attr.aria-label]=\"i18n.t('dataTable.filter', { column: col.header })\"\n [value]=\"$any(columnFilters()[col.field]) || ''\"\n (input)=\"onNumberFilter(col.field, $event)\"\n (click)=\"$event.stopPropagation()\"\n />\n }\n @case ('select') {\n <kpt-select\n [options]=\"col.filter.options || []\"\n [multiple]=\"!!col.filter.multiple\"\n filter\n [placeholder]=\"col.filter.placeholder || i18n.t('dataTable.all')\"\n [value]=\"columnFilters()[col.field] ?? null\"\n (valueChange)=\"setColumnFilter(col.field, $event)\"\n />\n }\n @case ('numberRange') {\n <div class=\"kpt-data-table__frange\">\n <input\n class=\"kpt-data-table__fcell\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.placeholder]=\"i18n.t('dataTable.min')\"\n [attr.aria-label]=\"i18n.t('dataTable.filterMin', { column: col.header })\"\n [value]=\"rangeVal(col.field).min\"\n (input)=\"setRangeFilter(col.field, 'min', $event)\"\n (click)=\"$event.stopPropagation()\"\n />\n <input\n class=\"kpt-data-table__fcell\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.placeholder]=\"i18n.t('dataTable.max')\"\n [attr.aria-label]=\"i18n.t('dataTable.filterMax', { column: col.header })\"\n [value]=\"rangeVal(col.field).max\"\n (input)=\"setRangeFilter(col.field, 'max', $event)\"\n (click)=\"$event.stopPropagation()\"\n />\n </div>\n }\n @case ('slider') {\n <div class=\"kpt-data-table__fslider\" (click)=\"$event.stopPropagation()\">\n <kpt-slider\n range\n [min]=\"col.filter.min ?? 0\"\n [max]=\"col.filter.max ?? 100\"\n [step]=\"col.filter.step ?? 1\"\n [value]=\"sliderVal(col)\"\n (valueChange)=\"setColumnFilter(col.field, $event)\"\n showValue\n />\n </div>\n }\n @case ('dateRange') {\n <kpt-date-range\n [placeholder]=\"col.filter.placeholder || i18n.t('dataTable.dateRange')\"\n [value]=\"$any(columnFilters()[col.field]) || { start: '', end: '' }\"\n (valueChange)=\"setColumnFilter(col.field, $event)\"\n />\n }\n }\n </th>\n }\n </tr>\n</ng-template>\n\n@if (pageSize() > 0 && !virtualScroll()) {\n <div class=\"kpt-data-table__pager\">\n <ng-content select=\"[kptPaginatorActions]\" />\n <kpt-paginator\n [length]=\"filteredCount()\"\n [pageIndex]=\"pageIndex()\"\n (pageIndexChange)=\"pageIndex.set($event)\"\n [pageSize]=\"pageSizeState()\"\n (pageSizeChange)=\"pageSizeState.set($event)\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n />\n </div>\n}\n", styles: ["@layer kpt.components{.kpt-data-table{display:flex;flex-direction:column;background:var(--kpt-table-bg);color:var(--kpt-table-fg);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border);border-radius:var(--kpt-table-radius, .75rem);overflow:hidden;flex-grow:1}.kpt-data-table__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--kpt-space-3, .75rem);padding:var(--kpt-space-3, .75rem);border-bottom:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table__filter{width:100%;max-width:20rem;height:2.25rem;padding-inline:var(--kpt-space-3, .75rem);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-form-field-border);border-radius:var(--kpt-form-field-radius, .5rem);background:var(--kpt-form-field-bg);color:var(--kpt-form-field-text)}.kpt-data-table__filter:focus-visible{outline:none;border-color:var(--kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__scroll{overflow:auto}.kpt-data-table__pager{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem)}.kpt-data-table__pager [kptPaginatorActions]{margin-inline-start:.5rem}.kpt-data-table__pager kpt-paginator{flex:1 1 auto;min-width:0}.kpt-data-table__table{width:100%;border-collapse:collapse;font-size:var(--kpt-font-size-sm, .875rem)}.kpt-data-table__table--frozen{width:max-content;min-width:100%}.kpt-data-table__table th,.kpt-data-table__table td{padding:var(--kpt-table-cell-padding, .75rem);text-align:start;border-bottom:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table__table th[data-align=center],.kpt-data-table__table td[data-align=center]{text-align:center}.kpt-data-table__table th[data-align=end],.kpt-data-table__table td[data-align=end]{text-align:end}.kpt-data-table__table thead th{position:sticky;top:0;z-index:1;background:var(--kpt-table-header-bg);color:var(--kpt-table-header-fg);font-weight:var(--kpt-font-weight-semibold, 600);white-space:nowrap;-webkit-user-select:none;user-select:none}.kpt-data-table__table thead tr:nth-child(2) th{top:var(--kpt-thead-offset, 0px)}.kpt-data-table__table tfoot th,.kpt-data-table__table tfoot td{position:sticky;bottom:0;z-index:1;background:var(--kpt-table-summary-bg, var(--kpt-table-header-bg));color:var(--kpt-table-header-fg);font-weight:var(--kpt-font-weight-semibold, 600);white-space:nowrap;border-bottom:0;border-top:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table__table .kpt-data-table__summary-label{text-align:end}.kpt-data-table__filter-row th{padding:var(--kpt-space-2, .5rem);font-weight:var(--kpt-font-weight-normal, 400);cursor:auto}.kpt-data-table__fcell{width:100%;height:2rem;padding-inline:var(--kpt-space-2, .5rem);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-form-field-border);border-radius:var(--kpt-form-field-radius, .5rem);background:var(--kpt-form-field-bg);color:var(--kpt-form-field-text);font:inherit}.kpt-data-table__fcell:focus-visible{outline:none;border-color:var(--kpt-form-field-border-focus);box-shadow:0 0 0 2px color-mix(in oklch,var(--kpt-form-field-border-focus) 30%,transparent)}.kpt-data-table__filter-row kpt-select,.kpt-data-table__filter-row kpt-date-range{display:block;width:100%;font-weight:var(--kpt-font-weight-normal, 400)}.kpt-data-table__frange{display:flex;gap:var(--kpt-space-2, .5rem)}.kpt-data-table__frange .kpt-data-table__fcell{min-width:0}.kpt-data-table__fslider .kpt-slider-host{width:100%}.kpt-data-table__fslider .kpt-slider__value{min-width:auto;font-size:var(--kpt-font-size-xs, .75rem);color:var(--kpt-color-on-surface-muted)}.kpt-data-table__th--sortable{cursor:pointer}.kpt-data-table__th--sortable:hover{color:var(--kpt-color-on-surface)}.kpt-data-table__cell--editable{cursor:pointer}.kpt-data-table__cell--editable:hover{background:var(--kpt-table-row-hover)}.kpt-data-table__cell--editable:focus-visible{outline:var(--kpt-border-width-medium, 2px) solid var(--kpt-color-focus-ring);outline-offset:-2px}.kpt-data-table__editor{display:block;min-width:8rem}.kpt-data-table__editor .kpt-input-number-host{max-width:6.5rem}.kpt-data-table__editor .kpt-input-number__btn{width:1.75rem}.kpt-data-table__sort{margin-inline-start:.35em;opacity:.35}.kpt-data-table__sort--active{opacity:1}.kpt-data-table__th--draggable{cursor:grab}.kpt-data-table__th--draggable:active{cursor:grabbing}.kpt-data-table__th--dragover{box-shadow:inset 2px 0 0 0 var(--kpt-color-primary)}.kpt-data-table__grip{margin-inline-end:.4em;opacity:.45}.kpt-data-table__checkbox{width:1px;white-space:nowrap;text-align:center}.kpt-data-table__checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:1.15rem;height:1.15rem;margin:0;vertical-align:middle;cursor:pointer;border:var(--kpt-border-width-medium, 2px) solid var(--kpt-form-field-border);border-radius:var(--kpt-radius-sm, .25rem);background:var(--kpt-form-field-bg);transition:background-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard),border-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table__checkbox input[type=checkbox]:after{content:\"\";position:absolute;inset:0;opacity:0;background-color:var(--kpt-color-on-primary);transition:opacity var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard);-webkit-mask:no-repeat center/.85rem;mask:no-repeat center/.85rem}.kpt-data-table__checkbox input[type=checkbox]:checked,.kpt-data-table__checkbox input[type=checkbox]:indeterminate{background:var(--kpt-color-primary);border-color:var(--kpt-color-primary)}.kpt-data-table__checkbox input[type=checkbox]:checked:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:indeterminate:after{opacity:1;-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8h9' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'/%3E%3C/svg%3E\")}.kpt-data-table__checkbox input[type=checkbox]:focus-visible{outline:var(--kpt-border-width-medium, 2px) solid var(--kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander{width:2.5rem;min-width:2.5rem;text-align:center;white-space:nowrap}.kpt-data-table__expander-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--kpt-radius-sm, .25rem);background:transparent;color:var(--kpt-color-on-surface-muted);cursor:pointer;transition:background-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard),color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table__expander-btn kpt-icon{display:inline-flex;transition:transform var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table__expander-btn:hover{background:var(--kpt-table-row-hover);color:var(--kpt-color-on-surface)}.kpt-data-table__expander-btn:focus-visible{outline:var(--kpt-border-width-medium, 2px) solid var(--kpt-color-focus-ring);outline-offset:2px}.kpt-data-table__expander-btn--open{color:var(--kpt-color-primary)}.kpt-data-table__expander-btn--open kpt-icon{transform:rotate(90deg)}.kpt-data-table__detail-row>.kpt-data-table__detail{padding:var(--kpt-space-4, 1rem);background:var(--kpt-table-detail-bg, var(--kpt-color-surface-variant, var(--kpt-table-row-hover)));border-bottom:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border);box-shadow:inset 3px 0 0 0 var(--kpt-color-primary)}.kpt-data-table tbody tr{transition:background-color var(--kpt-motion-duration-fast, .12s) var(--kpt-motion-easing-standard)}.kpt-data-table tbody tr:hover{background:var(--kpt-table-row-hover)}.kpt-data-table tbody tr.kpt-data-table__detail-row:hover{background:transparent}.kpt-data-table__row--selected{background:var(--kpt-table-row-selected)!important}.kpt-data-table__row--expanded{background:var(--kpt-table-row-hover)}.kpt-data-table__table--frozen .kpt-data-table__checkbox{width:3rem;min-width:3rem}.kpt-data-table__table--frozen .kpt-data-table__expander{width:2.5rem;min-width:2.5rem}.kpt-data-table__cell--frozen{position:sticky;z-index:1;background:var(--kpt-table-bg);border-inline-end:var(--kpt-border-width-thin, 1px) solid var(--kpt-table-border)}.kpt-data-table thead th.kpt-data-table__cell--frozen{z-index:3;background:var(--kpt-table-header-bg)}.kpt-data-table tfoot th.kpt-data-table__cell--frozen,.kpt-data-table tfoot td.kpt-data-table__cell--frozen{z-index:3;background:var(--kpt-table-summary-bg, var(--kpt-table-header-bg))}.kpt-data-table tbody tr:hover .kpt-data-table__cell--frozen{background:var(--kpt-table-row-hover)}.kpt-data-table__row--selected.kpt-data-table__row--selected .kpt-data-table__cell--frozen,.kpt-data-table tbody tr.kpt-data-table__row--selected .kpt-data-table__cell--frozen{background:var(--kpt-table-row-selected)}.kpt-data-table__state{padding:var(--kpt-space-8, 2rem)!important;text-align:center!important;color:var(--kpt-color-on-surface-muted)}.kpt-data-table__table--virtual td{padding-block:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.kpt-data-table__spacer td{padding:0!important;border:0!important}.kpt-data-table tbody tr:last-child td{border-bottom:0}}\n"] }]
|
|
10752
|
+
}], () => [], { columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], filterRowPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterRowPosition", required: false }] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], rowKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowKey", required: false }] }], scrollHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollHeight", required: false }] }], virtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualScroll", required: false }] }], rowHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowHeight", required: false }] }], reorderable: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderable", required: false }] }], exportable: [{ type: i0.Input, args: [{ isSignal: true, alias: "exportable", required: false }] }], exportFilename: [{ type: i0.Input, args: [{ isSignal: true, alias: "exportFilename", required: false }] }], lazy: [{ type: i0.Input, args: [{ isSignal: true, alias: "lazy", required: false }] }], totalRecords: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecords", required: false }] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], multiExpand: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiExpand", required: false }] }], summaryLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "summaryLabel", required: false }] }], summaryValues: [{ type: i0.Input, args: [{ isSignal: true, alias: "summaryValues", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], expandedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedRows", required: false }] }, { type: i0.Output, args: ["expandedRowsChange"] }], hiddenFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenFields", required: false }] }, { type: i0.Output, args: ["hiddenFieldsChange"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], lazyLoad: [{ type: i0.Output, args: ["lazyLoad"] }], cellEdit: [{ type: i0.Output, args: ["cellEdit"] }], scrollEl: [{ type: i0.ViewChild, args: ['scrollEl', { isSignal: true }] }], theadEl: [{ type: i0.ViewChild, args: ['theadEl', { isSignal: true }] }], editorHost: [{ type: i0.ViewChild, args: ['editorHost', { isSignal: true }] }], cellDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KptCellDef), { isSignal: true }] }], cellEditDefs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KptCellEditDef), { isSignal: true }] }], rowDetailDef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KptRowDetailDef), { isSignal: true }] }] }); })();
|
|
10753
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptDataTable, { className: "KptDataTable", filePath: "lib/data-table/data-table.component.ts", lineNumber: 157 }); })();
|
|
10534
10754
|
|
|
10535
10755
|
const _c0$d = a0 => ({ $implicit: a0, level: 0 });
|
|
10536
10756
|
const _c1$4 = (a0, a1) => ({ $implicit: a0, level: a1 });
|
|
@@ -11909,7 +12129,7 @@ function KptMenu_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
11909
12129
|
* Wymaga stylów overlay CDK: `import '@angular/cdk/overlay-prebuilt.css';`
|
|
11910
12130
|
*
|
|
11911
12131
|
* @example
|
|
11912
|
-
* <kpt-menu [items]="items" (
|
|
12132
|
+
* <kpt-menu [items]="items" (selected)="onSelect($event)">
|
|
11913
12133
|
* <kpt-button variant="outline">Opcje</kpt-button>
|
|
11914
12134
|
* </kpt-menu>
|
|
11915
12135
|
*/
|
|
@@ -11917,7 +12137,7 @@ class KptMenu {
|
|
|
11917
12137
|
constructor() {
|
|
11918
12138
|
this.items = input([], /* @ts-ignore */
|
|
11919
12139
|
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
11920
|
-
this.
|
|
12140
|
+
this.selected = output();
|
|
11921
12141
|
this.open = signal(false, /* @ts-ignore */
|
|
11922
12142
|
...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
11923
12143
|
this.positions = [
|
|
@@ -11935,11 +12155,11 @@ class KptMenu {
|
|
|
11935
12155
|
pick(item) {
|
|
11936
12156
|
if (item.disabled)
|
|
11937
12157
|
return;
|
|
11938
|
-
this.
|
|
12158
|
+
this.selected.emit(item);
|
|
11939
12159
|
this.close();
|
|
11940
12160
|
}
|
|
11941
12161
|
static { this.ɵfac = function KptMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KptMenu)(); }; }
|
|
11942
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptMenu, selectors: [["kpt-menu"]], hostAttrs: [1, "kpt-menu-host"], inputs: { items: [1, "items"] }, outputs: {
|
|
12162
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptMenu, selectors: [["kpt-menu"]], hostAttrs: [1, "kpt-menu-host"], inputs: { items: [1, "items"] }, outputs: { selected: "selected" }, ngContentSelectors: _c0$5, decls: 4, vars: 4, consts: [["origin", "cdkOverlayOrigin"], ["cdkOverlayOrigin", "", 1, "kpt-menu__trigger", 3, "click"], ["cdkConnectedOverlay", "", "cdkConnectedOverlayBackdropClass", "cdk-overlay-transparent-backdrop", 3, "backdropClick", "detach", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayHasBackdrop"], ["role", "menu", 1, "kpt-menu__panel"], ["role", "separator", 1, "kpt-menu__separator"], ["role", "presentation", 1, "kpt-menu__header"], ["type", "button", "role", "menuitem", 1, "kpt-menu__item", 3, "kpt-menu__item--danger", "disabled"], ["size", "sm", 3, "src", "name", "icon"], [3, "name"], [1, "kpt-menu__text"], [1, "kpt-menu__label"], [1, "kpt-menu__description"], ["type", "button", "role", "menuitem", 1, "kpt-menu__item", 3, "click", "disabled"], [1, "kpt-menu__badge", 3, "value", "variant"]], template: function KptMenu_Template(rf, ctx) { if (rf & 1) {
|
|
11943
12163
|
i0.ɵɵprojectionDef();
|
|
11944
12164
|
i0.ɵɵelementStart(0, "span", 1, 0);
|
|
11945
12165
|
i0.ɵɵlistener("click", function KptMenu_Template_span_click_0_listener() { return ctx.toggle(); });
|
|
@@ -12014,7 +12234,7 @@ class KptMenu {
|
|
|
12014
12234
|
</div>
|
|
12015
12235
|
</ng-template>
|
|
12016
12236
|
`, host: { class: 'kpt-menu-host' }, styles: ["@charset \"UTF-8\";@layer kpt.components{.kpt-menu-host{display:inline-flex}.kpt-menu__trigger{display:inline-flex;cursor:pointer}.kpt-menu__panel{min-width:11rem;padding:.25rem;background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem);box-shadow:var(--kpt-elevation-3)}.kpt-menu__item{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);width:100%;padding:.5rem .6rem;border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font:inherit;font-size:var(--kpt-font-size-sm, .875rem);text-align:start;cursor:pointer}.kpt-menu__item:hover:not(:disabled){background:var(--kpt-color-surface-variant)}.kpt-menu__item:disabled{opacity:.45;cursor:not-allowed}.kpt-menu__item--danger{color:var(--kpt-color-danger)}.kpt-menu__item kpt-icon{color:var(--kpt-color-on-surface-muted)}.kpt-menu__item--danger kpt-icon{color:var(--kpt-color-danger)}.kpt-menu__header{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);padding:.5rem .6rem;font-size:var(--kpt-font-size-sm, .875rem);cursor:default}.kpt-menu__header .kpt-menu__label{font-weight:var(--kpt-font-weight-semibold, 600)}.kpt-menu__header kpt-icon{color:var(--kpt-color-on-surface-muted)}.kpt-menu__text{display:flex;flex-direction:column;min-width:0}.kpt-menu__label,.kpt-menu__description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpt-menu__description{color:var(--kpt-color-on-surface-muted);font-size:var(--kpt-font-size-xs, .75rem)}.kpt-menu__badge{margin-inline-start:auto}.kpt-menu__separator{height:1px;margin:.25rem 0;background:var(--kpt-color-border)}}\n"] }]
|
|
12017
|
-
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }],
|
|
12237
|
+
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] }); })();
|
|
12018
12238
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptMenu, { className: "KptMenu", filePath: "lib/menu/menu.component.ts", lineNumber: 116 }); })();
|
|
12019
12239
|
|
|
12020
12240
|
const _c0$4 = [[["", "kptPopoverTrigger", ""]], "*"];
|
|
@@ -12467,7 +12687,7 @@ function KptContextMenu_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
12467
12687
|
* Menu kontekstowe (PPM) na obszarze projekcji. Panel pozycjonowany do kursora.
|
|
12468
12688
|
*
|
|
12469
12689
|
* @example
|
|
12470
|
-
* <kpt-context-menu [items]="items" (
|
|
12690
|
+
* <kpt-context-menu [items]="items" (selected)="onSelect($event)">
|
|
12471
12691
|
* <div class="obszar">Kliknij prawym przyciskiem</div>
|
|
12472
12692
|
* </kpt-context-menu>
|
|
12473
12693
|
*/
|
|
@@ -12475,7 +12695,7 @@ class KptContextMenu {
|
|
|
12475
12695
|
constructor() {
|
|
12476
12696
|
this.items = input([], /* @ts-ignore */
|
|
12477
12697
|
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
12478
|
-
this.
|
|
12698
|
+
this.selected = output();
|
|
12479
12699
|
this.open = signal(false, /* @ts-ignore */
|
|
12480
12700
|
...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
|
|
12481
12701
|
this.x = signal(0, /* @ts-ignore */
|
|
@@ -12495,11 +12715,11 @@ class KptContextMenu {
|
|
|
12495
12715
|
pick(item) {
|
|
12496
12716
|
if (item.disabled)
|
|
12497
12717
|
return;
|
|
12498
|
-
this.
|
|
12718
|
+
this.selected.emit(item);
|
|
12499
12719
|
this.close();
|
|
12500
12720
|
}
|
|
12501
12721
|
static { this.ɵfac = function KptContextMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KptContextMenu)(); }; }
|
|
12502
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptContextMenu, selectors: [["kpt-context-menu"]], hostAttrs: [1, "kpt-context-menu-host"], inputs: { items: [1, "items"] }, outputs: {
|
|
12722
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptContextMenu, selectors: [["kpt-context-menu"]], hostAttrs: [1, "kpt-context-menu-host"], inputs: { items: [1, "items"] }, outputs: { selected: "selected" }, ngContentSelectors: _c0$2, decls: 3, vars: 1, consts: [[1, "kpt-context-menu__area", 3, "contextmenu"], [1, "kpt-context-menu__backdrop", 3, "click", "contextmenu"], ["role", "menu", 1, "kpt-context-menu__panel"], ["role", "separator", 1, "kpt-context-menu__separator"], ["role", "presentation", 1, "kpt-context-menu__header"], ["type", "button", "role", "menuitem", 1, "kpt-context-menu__item", 3, "kpt-context-menu__item--danger", "disabled"], ["size", "sm", 3, "src", "name", "icon"], [3, "name"], [1, "kpt-context-menu__text"], [1, "kpt-context-menu__label"], [1, "kpt-context-menu__description"], ["type", "button", "role", "menuitem", 1, "kpt-context-menu__item", 3, "click", "disabled"], [1, "kpt-context-menu__badge", 3, "value", "variant"]], template: function KptContextMenu_Template(rf, ctx) { if (rf & 1) {
|
|
12503
12723
|
i0.ɵɵprojectionDef();
|
|
12504
12724
|
i0.ɵɵelementStart(0, "div", 0);
|
|
12505
12725
|
i0.ɵɵlistener("contextmenu", function KptContextMenu_Template_div_contextmenu_0_listener($event) { return ctx.onContext($event); });
|
|
@@ -12572,7 +12792,7 @@ class KptContextMenu {
|
|
|
12572
12792
|
</div>
|
|
12573
12793
|
}
|
|
12574
12794
|
`, host: { class: 'kpt-context-menu-host' }, styles: ["@charset \"UTF-8\";@layer kpt.components{.kpt-context-menu-host{display:block}.kpt-context-menu__area{display:contents}.kpt-context-menu__backdrop{position:fixed;inset:0;z-index:var(--kpt-z-overlay, 1000)}.kpt-context-menu__panel{position:fixed;z-index:calc(var(--kpt-z-overlay, 1000) + 1);min-width:11rem;padding:var(--kpt-space-1, .25rem);background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem);box-shadow:var(--kpt-elevation-3)}.kpt-context-menu__item{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);width:100%;padding:var(--kpt-space-2, .5rem) var(--kpt-space-3, .75rem);border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font-size:var(--kpt-font-size-sm, .875rem);text-align:left;cursor:pointer}.kpt-context-menu__item:hover:not(:disabled){background:var(--kpt-color-muted)}.kpt-context-menu__item:disabled{opacity:.5;cursor:not-allowed}.kpt-context-menu__item--danger{color:var(--kpt-color-danger)}.kpt-context-menu__header{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);padding:var(--kpt-space-2, .5rem) var(--kpt-space-3, .75rem);font-size:var(--kpt-font-size-sm, .875rem);cursor:default}.kpt-context-menu__header .kpt-context-menu__label{font-weight:var(--kpt-font-weight-semibold, 600)}.kpt-context-menu__header kpt-icon{color:var(--kpt-color-on-surface-muted)}.kpt-context-menu__text{display:flex;flex-direction:column;min-width:0}.kpt-context-menu__label,.kpt-context-menu__description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpt-context-menu__description{color:var(--kpt-color-on-surface-muted);font-size:var(--kpt-font-size-xs, .75rem)}.kpt-context-menu__badge{margin-inline-start:auto}.kpt-context-menu__separator{height:1px;margin:var(--kpt-space-1, .25rem) 0;background:var(--kpt-color-border)}}\n"] }]
|
|
12575
|
-
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }],
|
|
12795
|
+
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] }); })();
|
|
12576
12796
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptContextMenu, { className: "KptContextMenu", filePath: "lib/context-menu/context-menu.component.ts", lineNumber: 82 }); })();
|
|
12577
12797
|
|
|
12578
12798
|
function KptMenubar_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -12662,13 +12882,13 @@ function KptMenubar_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
12662
12882
|
* `import '@angular/cdk/overlay-prebuilt.css';`
|
|
12663
12883
|
*
|
|
12664
12884
|
* @example
|
|
12665
|
-
* <kpt-menubar [items]="items" (
|
|
12885
|
+
* <kpt-menubar [items]="items" (selected)="onSelect($event)" />
|
|
12666
12886
|
*/
|
|
12667
12887
|
class KptMenubar {
|
|
12668
12888
|
constructor() {
|
|
12669
12889
|
this.items = input([], /* @ts-ignore */
|
|
12670
12890
|
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
12671
|
-
this.
|
|
12891
|
+
this.selected = output();
|
|
12672
12892
|
this.openIndex = signal(null, /* @ts-ignore */
|
|
12673
12893
|
...(ngDevMode ? [{ debugName: "openIndex" }] : /* istanbul ignore next */ []));
|
|
12674
12894
|
this.positions = [
|
|
@@ -12683,21 +12903,21 @@ class KptMenubar {
|
|
|
12683
12903
|
this.openIndex.update((cur) => (cur === i ? null : i));
|
|
12684
12904
|
}
|
|
12685
12905
|
else {
|
|
12686
|
-
this.
|
|
12906
|
+
this.selected.emit(item);
|
|
12687
12907
|
this.closeAll();
|
|
12688
12908
|
}
|
|
12689
12909
|
}
|
|
12690
12910
|
pick(item) {
|
|
12691
12911
|
if (item.disabled)
|
|
12692
12912
|
return;
|
|
12693
|
-
this.
|
|
12913
|
+
this.selected.emit(item);
|
|
12694
12914
|
this.closeAll();
|
|
12695
12915
|
}
|
|
12696
12916
|
closeAll() {
|
|
12697
12917
|
this.openIndex.set(null);
|
|
12698
12918
|
}
|
|
12699
12919
|
static { this.ɵfac = function KptMenubar_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KptMenubar)(); }; }
|
|
12700
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptMenubar, selectors: [["kpt-menubar"]], hostAttrs: [1, "kpt-menubar-host"], inputs: { items: [1, "items"] }, outputs: {
|
|
12920
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptMenubar, selectors: [["kpt-menubar"]], hostAttrs: [1, "kpt-menubar-host"], inputs: { items: [1, "items"] }, outputs: { selected: "selected" }, decls: 3, vars: 0, consts: [["origin", "cdkOverlayOrigin"], ["role", "menubar", 1, "kpt-menubar"], [1, "kpt-menubar__group"], ["type", "button", "role", "menuitem", "cdkOverlayOrigin", "", 1, "kpt-menubar__top", 3, "click", "disabled"], [3, "name"], ["name", "chevron-down", 1, "kpt-menubar__caret"], ["cdkConnectedOverlay", "", "cdkConnectedOverlayBackdropClass", "cdk-overlay-transparent-backdrop", 3, "backdropClick", "detach", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayHasBackdrop"], ["role", "menu", 1, "kpt-menubar__dropdown"], ["role", "separator", 1, "kpt-menubar__separator"], ["type", "button", "role", "menuitem", 1, "kpt-menubar__item", 3, "kpt-menubar__item--danger", "disabled"], ["type", "button", "role", "menuitem", 1, "kpt-menubar__item", 3, "click", "disabled"]], template: function KptMenubar_Template(rf, ctx) { if (rf & 1) {
|
|
12701
12921
|
i0.ɵɵelementStart(0, "nav", 1);
|
|
12702
12922
|
i0.ɵɵrepeaterCreate(1, KptMenubar_For_2_Template, 8, 10, "div", 2, i0.ɵɵrepeaterTrackByIndex);
|
|
12703
12923
|
i0.ɵɵelementEnd();
|
|
@@ -12761,7 +12981,7 @@ class KptMenubar {
|
|
|
12761
12981
|
}
|
|
12762
12982
|
</nav>
|
|
12763
12983
|
`, host: { class: 'kpt-menubar-host' }, styles: ["@layer kpt.components{.kpt-menubar-host{display:block}.kpt-menubar{display:flex;align-items:center;gap:var(--kpt-space-1, .25rem);padding:var(--kpt-space-1, .25rem);background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem)}.kpt-menubar__group{display:inline-flex}.kpt-menubar__top{display:inline-flex;align-items:center;gap:var(--kpt-space-2, .5rem);padding:var(--kpt-space-2, .5rem) var(--kpt-space-3, .75rem);border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font-size:var(--kpt-font-size-sm, .875rem);cursor:pointer}.kpt-menubar__top:hover:not(:disabled),.kpt-menubar__top.is-open{background:var(--kpt-color-muted)}.kpt-menubar__top:disabled{opacity:.5;cursor:not-allowed}.kpt-menubar__caret{opacity:.6}.kpt-menubar__dropdown{min-width:12rem;padding:var(--kpt-space-1, .25rem);background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem);box-shadow:var(--kpt-elevation-3)}.kpt-menubar__item{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);width:100%;padding:var(--kpt-space-2, .5rem) var(--kpt-space-3, .75rem);border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font-size:var(--kpt-font-size-sm, .875rem);text-align:left;cursor:pointer}.kpt-menubar__item:hover:not(:disabled){background:var(--kpt-color-muted)}.kpt-menubar__item:disabled{opacity:.5;cursor:not-allowed}.kpt-menubar__item--danger{color:var(--kpt-color-danger)}.kpt-menubar__separator{height:1px;margin:var(--kpt-space-1, .25rem) 0;background:var(--kpt-color-border)}}\n"] }]
|
|
12764
|
-
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }],
|
|
12984
|
+
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] }); })();
|
|
12765
12985
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptMenubar, { className: "KptMenubar", filePath: "lib/menubar/menubar.component.ts", lineNumber: 76 }); })();
|
|
12766
12986
|
|
|
12767
12987
|
const _c0$1 = () => [];
|
|
@@ -12851,13 +13071,13 @@ function KptMegamenu_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
12851
13071
|
* `import '@angular/cdk/overlay-prebuilt.css';`
|
|
12852
13072
|
*
|
|
12853
13073
|
* @example
|
|
12854
|
-
* <kpt-megamenu [items]="items" (
|
|
13074
|
+
* <kpt-megamenu [items]="items" (selected)="onSelect($event)" />
|
|
12855
13075
|
*/
|
|
12856
13076
|
class KptMegamenu {
|
|
12857
13077
|
constructor() {
|
|
12858
13078
|
this.items = input([], /* @ts-ignore */
|
|
12859
13079
|
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
12860
|
-
this.
|
|
13080
|
+
this.selected = output();
|
|
12861
13081
|
this.openIndex = signal(null, /* @ts-ignore */
|
|
12862
13082
|
...(ngDevMode ? [{ debugName: "openIndex" }] : /* istanbul ignore next */ []));
|
|
12863
13083
|
this.positions = [
|
|
@@ -12875,14 +13095,14 @@ class KptMegamenu {
|
|
|
12875
13095
|
pick(link) {
|
|
12876
13096
|
if (link.disabled)
|
|
12877
13097
|
return;
|
|
12878
|
-
this.
|
|
13098
|
+
this.selected.emit(link);
|
|
12879
13099
|
this.closeAll();
|
|
12880
13100
|
}
|
|
12881
13101
|
closeAll() {
|
|
12882
13102
|
this.openIndex.set(null);
|
|
12883
13103
|
}
|
|
12884
13104
|
static { this.ɵfac = function KptMegamenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KptMegamenu)(); }; }
|
|
12885
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptMegamenu, selectors: [["kpt-megamenu"]], hostAttrs: [1, "kpt-megamenu-host"], inputs: { items: [1, "items"] }, outputs: {
|
|
13105
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptMegamenu, selectors: [["kpt-megamenu"]], hostAttrs: [1, "kpt-megamenu-host"], inputs: { items: [1, "items"] }, outputs: { selected: "selected" }, decls: 5, vars: 4, consts: [["origin", "cdkOverlayOrigin"], ["role", "menubar", "cdkOverlayOrigin", "", 1, "kpt-megamenu"], ["type", "button", "role", "menuitem", 1, "kpt-megamenu__top", 3, "is-open"], ["cdkConnectedOverlay", "", "cdkConnectedOverlayBackdropClass", "cdk-overlay-transparent-backdrop", 3, "backdropClick", "detach", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayHasBackdrop"], ["type", "button", "role", "menuitem", 1, "kpt-megamenu__top", 3, "click"], [3, "name"], ["name", "chevron-down", 1, "kpt-megamenu__caret"], ["role", "menu", 1, "kpt-megamenu__panel"], [1, "kpt-megamenu__column"], [1, "kpt-megamenu__col-title"], ["type", "button", 1, "kpt-megamenu__link", 3, "disabled"], ["type", "button", 1, "kpt-megamenu__link", 3, "click", "disabled"]], template: function KptMegamenu_Template(rf, ctx) { if (rf & 1) {
|
|
12886
13106
|
i0.ɵɵelementStart(0, "nav", 1, 0);
|
|
12887
13107
|
i0.ɵɵrepeaterCreate(2, KptMegamenu_For_3_Template, 5, 4, "button", 2, i0.ɵɵrepeaterTrackByIndex);
|
|
12888
13108
|
i0.ɵɵelementEnd();
|
|
@@ -12940,7 +13160,7 @@ class KptMegamenu {
|
|
|
12940
13160
|
</div>
|
|
12941
13161
|
</ng-template>
|
|
12942
13162
|
`, host: { class: 'kpt-megamenu-host' }, styles: ["@layer kpt.components{.kpt-megamenu-host{display:block}.kpt-megamenu{position:relative;display:flex;align-items:center;gap:var(--kpt-space-1, .25rem);padding:var(--kpt-space-1, .25rem);background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem)}.kpt-megamenu__top{display:inline-flex;align-items:center;gap:var(--kpt-space-2, .5rem);padding:var(--kpt-space-2, .5rem) var(--kpt-space-3, .75rem);border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font-size:var(--kpt-font-size-sm, .875rem);cursor:pointer}.kpt-megamenu__top:hover,.kpt-megamenu__top.is-open{background:var(--kpt-color-muted)}.kpt-megamenu__caret{opacity:.6}.kpt-megamenu__panel{display:flex;gap:var(--kpt-space-6, 1.5rem);min-width:min(40rem,90vw);padding:var(--kpt-space-4, 1rem);background:var(--kpt-color-surface-raised);border:var(--kpt-border-width-thin, 1px) solid var(--kpt-color-border);border-radius:var(--kpt-radius-md, .5rem);box-shadow:var(--kpt-elevation-3)}.kpt-megamenu__column{min-width:9rem}.kpt-megamenu__col-title{margin-bottom:var(--kpt-space-2, .5rem);font-size:var(--kpt-font-size-xs, .75rem);font-weight:var(--kpt-font-weight-semibold, 600);text-transform:uppercase;letter-spacing:.04em;color:var(--kpt-color-on-surface-muted)}.kpt-megamenu__link{display:flex;align-items:center;gap:var(--kpt-space-2, .5rem);width:100%;padding:var(--kpt-space-2, .5rem);border:0;border-radius:var(--kpt-radius-sm, .25rem);background:none;color:var(--kpt-color-on-surface);font-size:var(--kpt-font-size-sm, .875rem);text-align:left;cursor:pointer}.kpt-megamenu__link:hover:not(:disabled){background:var(--kpt-color-muted)}.kpt-megamenu__link:disabled{opacity:.5;cursor:not-allowed}}\n"] }]
|
|
12943
|
-
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }],
|
|
13163
|
+
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] }); })();
|
|
12944
13164
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptMegamenu, { className: "KptMegamenu", filePath: "lib/megamenu/megamenu.component.ts", lineNumber: 66 }); })();
|
|
12945
13165
|
|
|
12946
13166
|
/**
|
|
@@ -13162,7 +13382,7 @@ function KptSpeedDial_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
13162
13382
|
* Speed dial — FAB rozwijający zestaw akcji. Buduje na `kpt-fab`.
|
|
13163
13383
|
*
|
|
13164
13384
|
* @example
|
|
13165
|
-
* <kpt-speed-dial [items]="actions" direction="up" (
|
|
13385
|
+
* <kpt-speed-dial [items]="actions" direction="up" (selected)="onAction($event)" />
|
|
13166
13386
|
*/
|
|
13167
13387
|
class KptSpeedDial {
|
|
13168
13388
|
constructor() {
|
|
@@ -13175,7 +13395,7 @@ class KptSpeedDial {
|
|
|
13175
13395
|
/** Etykieta a11y FAB (stan zamknięty); bez wartości używa i18n (`speedDial.actions`). */
|
|
13176
13396
|
this.ariaLabel = input(/* @ts-ignore */
|
|
13177
13397
|
...(ngDevMode ? [undefined, { debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
13178
|
-
this.
|
|
13398
|
+
this.selected = output();
|
|
13179
13399
|
this.i18n = inject(KptI18n);
|
|
13180
13400
|
this.effectiveAriaLabel = computed(() => this.ariaLabel() ?? this.i18n.t('speedDial.actions'), /* @ts-ignore */
|
|
13181
13401
|
...(ngDevMode ? [{ debugName: "effectiveAriaLabel" }] : /* istanbul ignore next */ []));
|
|
@@ -13191,11 +13411,11 @@ class KptSpeedDial {
|
|
|
13191
13411
|
pick(item) {
|
|
13192
13412
|
if (item.disabled)
|
|
13193
13413
|
return;
|
|
13194
|
-
this.
|
|
13414
|
+
this.selected.emit(item);
|
|
13195
13415
|
this.close();
|
|
13196
13416
|
}
|
|
13197
13417
|
static { this.ɵfac = function KptSpeedDial_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KptSpeedDial)(); }; }
|
|
13198
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptSpeedDial, selectors: [["kpt-speed-dial"]], hostAttrs: [1, "kpt-speed-dial-host"], inputs: { items: [1, "items"], direction: [1, "direction"], icon: [1, "icon"], ariaLabel: [1, "ariaLabel"] }, outputs: {
|
|
13418
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: KptSpeedDial, selectors: [["kpt-speed-dial"]], hostAttrs: [1, "kpt-speed-dial-host"], inputs: { items: [1, "items"], direction: [1, "direction"], icon: [1, "icon"], ariaLabel: [1, "ariaLabel"] }, outputs: { selected: "selected" }, decls: 8, vars: 6, consts: [[1, "kpt-speed-dial"], [1, "kpt-speed-dial__actions"], ["type", "button", 1, "kpt-speed-dial__action", 3, "disabled"], [3, "click", "ariaLabel"], [1, "kpt-speed-dial__trigger-icon"], [3, "name"], [1, "kpt-speed-dial__backdrop"], ["type", "button", 1, "kpt-speed-dial__action", 3, "click", "disabled"], [1, "kpt-speed-dial__label"], [1, "kpt-speed-dial__backdrop", 3, "click"]], template: function KptSpeedDial_Template(rf, ctx) { if (rf & 1) {
|
|
13199
13419
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
13200
13420
|
i0.ɵɵrepeaterCreate(2, KptSpeedDial_For_3_Template, 3, 4, "button", 2, i0.ɵɵrepeaterTrackByIndex);
|
|
13201
13421
|
i0.ɵɵelementEnd();
|
|
@@ -13236,7 +13456,7 @@ class KptSpeedDial {
|
|
|
13236
13456
|
</div>
|
|
13237
13457
|
@if (open()) { <div class="kpt-speed-dial__backdrop" (click)="close()"></div> }
|
|
13238
13458
|
`, host: { class: 'kpt-speed-dial-host' }, styles: ["@layer kpt.components{.kpt-speed-dial-host{display:inline-block}.kpt-speed-dial{position:relative;display:inline-flex;z-index:calc(var(--kpt-z-overlay, 1000) + 1)}.kpt-speed-dial__trigger-icon{display:inline-flex;transition:transform .2s ease}.kpt-speed-dial.is-open .kpt-speed-dial__trigger-icon{transform:rotate(45deg)}.kpt-speed-dial__actions{position:absolute;display:flex;gap:var(--kpt-space-2, .5rem);opacity:0;pointer-events:none;transition:opacity .15s ease}.kpt-speed-dial.is-open .kpt-speed-dial__actions{opacity:1;pointer-events:auto}.kpt-speed-dial[data-direction=up] .kpt-speed-dial__actions{flex-direction:column-reverse;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.kpt-speed-dial[data-direction=down] .kpt-speed-dial__actions{flex-direction:column;top:calc(100% + .5rem);left:50%;transform:translate(-50%)}.kpt-speed-dial[data-direction=left] .kpt-speed-dial__actions{flex-direction:row-reverse;right:calc(100% + .5rem);top:50%;transform:translateY(-50%)}.kpt-speed-dial[data-direction=right] .kpt-speed-dial__actions{flex-direction:row;left:calc(100% + .5rem);top:50%;transform:translateY(-50%)}.kpt-speed-dial__action{display:inline-flex;align-items:center;gap:var(--kpt-space-2, .5rem);height:2.5rem;padding-inline:var(--kpt-space-3, .75rem);border:0;border-radius:999px;background:var(--kpt-color-surface-raised);color:var(--kpt-color-on-surface);box-shadow:var(--kpt-elevation-2);cursor:pointer;white-space:nowrap}.kpt-speed-dial__action:hover:not(:disabled){background:var(--kpt-color-muted)}.kpt-speed-dial__action:disabled{opacity:.5;cursor:not-allowed}.kpt-speed-dial__label{font-size:var(--kpt-font-size-sm, .875rem)}.kpt-speed-dial__backdrop{position:fixed;inset:0;z-index:var(--kpt-z-overlay, 1000)}}\n"] }]
|
|
13239
|
-
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }],
|
|
13459
|
+
}], null, { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }] }); })();
|
|
13240
13460
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KptSpeedDial, { className: "KptSpeedDial", filePath: "lib/speed-dial/speed-dial.component.ts", lineNumber: 39 }); })();
|
|
13241
13461
|
|
|
13242
13462
|
/*
|