@progress/kendo-angular-pivotgrid 21.1.1-develop.2 → 21.2.0-develop.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/configurator/chip-menu/chip-menu-item.component.mjs +26 -20
- package/esm2022/configurator/chip-menu/chip-menu-reorder.component.mjs +40 -37
- package/esm2022/configurator/chip-menu/chip-menu.component.mjs +56 -57
- package/esm2022/configurator/configurator.component.mjs +211 -165
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pivotgrid.component.mjs +296 -287
- package/esm2022/rendering/pivotgrid-cell.directive.mjs +53 -31
- package/esm2022/rendering/pivotgrid-table.component.mjs +144 -83
- package/fesm2022/progress-kendo-angular-pivotgrid.mjs +807 -658
- package/package.json +13 -13
- package/rendering/pivotgrid-table.component.d.ts +7 -0
- package/schematics/ngAdd/index.js +2 -2
|
@@ -15,7 +15,7 @@ export { AggregateType, averageAggregate, countAggregate, createAggregate, maxAg
|
|
|
15
15
|
import { filterIcon, columnsIcon, rowsIcon, arrowLeftIcon, arrowRightIcon, sortAscSmallIcon, sortDescSmallIcon, moreVerticalIcon, chevronUpIcon, chevronDownIcon, gearIcon } from '@progress/kendo-svg-icons';
|
|
16
16
|
import * as i1$1 from '@progress/kendo-angular-l10n';
|
|
17
17
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
18
|
-
import { NgClass,
|
|
18
|
+
import { NgClass, NgTemplateOutlet, NgStyle } from '@angular/common';
|
|
19
19
|
import * as i3 from '@angular/forms';
|
|
20
20
|
import { NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
21
21
|
import * as i1$2 from '@progress/kendo-angular-dropdowns';
|
|
@@ -1104,7 +1104,7 @@ class ChipMenuItemComponent {
|
|
|
1104
1104
|
this.contentState = this.expanded ? 'expanded' : 'collapsed';
|
|
1105
1105
|
}
|
|
1106
1106
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1107
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1107
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChipMenuItemComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", expanded: "expanded", disabled: "disabled" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ChipMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
1108
1108
|
<div
|
|
1109
1109
|
class="k-columnmenu-item"
|
|
1110
1110
|
(click)="onClick($event)"
|
|
@@ -1115,17 +1115,20 @@ class ChipMenuItemComponent {
|
|
|
1115
1115
|
[attr.aria-expanded]="expanded"
|
|
1116
1116
|
[attr.aria-disabled]="disabled"
|
|
1117
1117
|
>
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1118
|
+
@if (icon) {
|
|
1119
|
+
<kendo-icon-wrapper
|
|
1120
|
+
[name]="icon"
|
|
1121
|
+
[svgIcon]="svgIcon"
|
|
1122
|
+
></kendo-icon-wrapper>
|
|
1123
|
+
}
|
|
1123
1124
|
{{ text }}
|
|
1124
1125
|
</div>
|
|
1125
|
-
|
|
1126
|
-
<
|
|
1127
|
-
|
|
1128
|
-
|
|
1126
|
+
@if (contentTemplate) {
|
|
1127
|
+
<div [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
1128
|
+
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef"></ng-container>
|
|
1129
|
+
</div>
|
|
1130
|
+
}
|
|
1131
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
1129
1132
|
trigger('state', [
|
|
1130
1133
|
state('collapsed', style({ display: 'none' })),
|
|
1131
1134
|
state('expanded', style({ display: 'block' })),
|
|
@@ -1187,19 +1190,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1187
1190
|
[attr.aria-expanded]="expanded"
|
|
1188
1191
|
[attr.aria-disabled]="disabled"
|
|
1189
1192
|
>
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1193
|
+
@if (icon) {
|
|
1194
|
+
<kendo-icon-wrapper
|
|
1195
|
+
[name]="icon"
|
|
1196
|
+
[svgIcon]="svgIcon"
|
|
1197
|
+
></kendo-icon-wrapper>
|
|
1198
|
+
}
|
|
1195
1199
|
{{ text }}
|
|
1196
1200
|
</div>
|
|
1197
|
-
|
|
1198
|
-
<
|
|
1199
|
-
|
|
1201
|
+
@if (contentTemplate) {
|
|
1202
|
+
<div [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
1203
|
+
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef"></ng-container>
|
|
1204
|
+
</div>
|
|
1205
|
+
}
|
|
1200
1206
|
`,
|
|
1201
1207
|
standalone: true,
|
|
1202
|
-
imports: [
|
|
1208
|
+
imports: [IconWrapperComponent, NgTemplateOutlet]
|
|
1203
1209
|
}]
|
|
1204
1210
|
}], propDecorators: { itemClick: [{
|
|
1205
1211
|
type: Output
|
|
@@ -1450,77 +1456,81 @@ class ChipMenuReorderComponent extends ChipMenuItemBase {
|
|
|
1450
1456
|
this.close();
|
|
1451
1457
|
}
|
|
1452
1458
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipMenuReorderComponent, deps: [{ token: PivotLocalizationService }, { token: i0.Renderer2 }, { token: ConfiguratorService }, { token: PivotGridDataService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1453
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1454
|
-
|
|
1455
|
-
|
|
1459
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChipMenuReorderComponent, isStandalone: true, selector: "kendo-pivot-chipmenu-reorder", inputs: { chip: "chip" }, usesInheritance: true, ngImport: i0, template: `
|
|
1460
|
+
@if (!isMeasureField) {
|
|
1461
|
+
<kendo-pivot-chipmenu-item
|
|
1456
1462
|
[disabled]="isColumnsField"
|
|
1457
1463
|
[text]="messageFor('fieldMenuMoveToColumnsItem')"
|
|
1458
1464
|
icon="columns"
|
|
1459
1465
|
[svgIcon]="columnsIcon"
|
|
1460
1466
|
(itemClick)="move($event, 'columns')">
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1467
|
+
</kendo-pivot-chipmenu-item>
|
|
1468
|
+
}
|
|
1469
|
+
@if (!isMeasureField) {
|
|
1470
|
+
<kendo-pivot-chipmenu-item
|
|
1464
1471
|
[disabled]="isRowsField"
|
|
1465
1472
|
[text]="messageFor('fieldMenuMoveToRowsItem')"
|
|
1466
1473
|
icon="rows"
|
|
1467
1474
|
[svgIcon]="rowsIcon"
|
|
1468
1475
|
(itemClick)="move($event, 'rows')">
|
|
1469
|
-
|
|
1476
|
+
</kendo-pivot-chipmenu-item>
|
|
1477
|
+
}
|
|
1470
1478
|
<kendo-pivot-chipmenu-item
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1479
|
+
[disabled]="isFirst"
|
|
1480
|
+
[text]="messageFor('fieldMenuMovePreviousItem')"
|
|
1481
|
+
[icon]="rtl ? 'arrow-right' : 'arrow-left'"
|
|
1482
|
+
[svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"
|
|
1483
|
+
(itemClick)="move($event, 'prev')">
|
|
1476
1484
|
</kendo-pivot-chipmenu-item>
|
|
1477
1485
|
<kendo-pivot-chipmenu-item
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1486
|
+
[disabled]="isLast"
|
|
1487
|
+
[text]="messageFor('fieldMenuMoveNextItem')"
|
|
1488
|
+
[icon]="rtl ? 'arrow-left' : 'arrow-right'"
|
|
1489
|
+
[svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"
|
|
1490
|
+
(itemClick)="move($event, 'next')">
|
|
1483
1491
|
</kendo-pivot-chipmenu-item>
|
|
1484
|
-
|
|
1492
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }] });
|
|
1485
1493
|
}
|
|
1486
1494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipMenuReorderComponent, decorators: [{
|
|
1487
1495
|
type: Component,
|
|
1488
1496
|
args: [{
|
|
1489
1497
|
selector: 'kendo-pivot-chipmenu-reorder',
|
|
1490
1498
|
template: `
|
|
1491
|
-
|
|
1492
|
-
|
|
1499
|
+
@if (!isMeasureField) {
|
|
1500
|
+
<kendo-pivot-chipmenu-item
|
|
1493
1501
|
[disabled]="isColumnsField"
|
|
1494
1502
|
[text]="messageFor('fieldMenuMoveToColumnsItem')"
|
|
1495
1503
|
icon="columns"
|
|
1496
1504
|
[svgIcon]="columnsIcon"
|
|
1497
1505
|
(itemClick)="move($event, 'columns')">
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1506
|
+
</kendo-pivot-chipmenu-item>
|
|
1507
|
+
}
|
|
1508
|
+
@if (!isMeasureField) {
|
|
1509
|
+
<kendo-pivot-chipmenu-item
|
|
1501
1510
|
[disabled]="isRowsField"
|
|
1502
1511
|
[text]="messageFor('fieldMenuMoveToRowsItem')"
|
|
1503
1512
|
icon="rows"
|
|
1504
1513
|
[svgIcon]="rowsIcon"
|
|
1505
1514
|
(itemClick)="move($event, 'rows')">
|
|
1506
|
-
|
|
1515
|
+
</kendo-pivot-chipmenu-item>
|
|
1516
|
+
}
|
|
1507
1517
|
<kendo-pivot-chipmenu-item
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1518
|
+
[disabled]="isFirst"
|
|
1519
|
+
[text]="messageFor('fieldMenuMovePreviousItem')"
|
|
1520
|
+
[icon]="rtl ? 'arrow-right' : 'arrow-left'"
|
|
1521
|
+
[svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"
|
|
1522
|
+
(itemClick)="move($event, 'prev')">
|
|
1513
1523
|
</kendo-pivot-chipmenu-item>
|
|
1514
1524
|
<kendo-pivot-chipmenu-item
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1525
|
+
[disabled]="isLast"
|
|
1526
|
+
[text]="messageFor('fieldMenuMoveNextItem')"
|
|
1527
|
+
[icon]="rtl ? 'arrow-left' : 'arrow-right'"
|
|
1528
|
+
[svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"
|
|
1529
|
+
(itemClick)="move($event, 'next')">
|
|
1520
1530
|
</kendo-pivot-chipmenu-item>
|
|
1521
|
-
|
|
1531
|
+
`,
|
|
1522
1532
|
standalone: true,
|
|
1523
|
-
imports: [
|
|
1533
|
+
imports: [ChipMenuItemComponent]
|
|
1524
1534
|
}]
|
|
1525
1535
|
}], ctorParameters: () => [{ type: PivotLocalizationService }, { type: i0.Renderer2 }, { type: ConfiguratorService }, { type: PivotGridDataService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { chip: [{
|
|
1526
1536
|
type: Input
|
|
@@ -1798,39 +1808,39 @@ class ChipMenuComponent {
|
|
|
1798
1808
|
return replaceMessagePlaceholder(localizationMsg, 'fieldName', chipName);
|
|
1799
1809
|
}
|
|
1800
1810
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipMenuComponent, deps: [{ token: SinglePopupService }, { token: PivotLocalizationService }, { token: ChipMenuService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
1801
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1811
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChipMenuComponent, isStandalone: true, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex", isMeasureField: "isMeasureField", anchor: "anchor" }, providers: [
|
|
1802
1812
|
ChipMenuService,
|
|
1803
1813
|
MenuTabbingService
|
|
1804
1814
|
], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
|
|
1805
1815
|
<ng-template #template>
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1816
|
+
<kendo-pivot-chipmenu-container
|
|
1817
|
+
(keydown.escape)="close()"
|
|
1818
|
+
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
1819
|
+
@if (!isMeasureField) {
|
|
1820
|
+
<kendo-pivot-chipmenu-sort
|
|
1821
|
+
#sortItem
|
|
1822
|
+
[chip]="chip"
|
|
1823
|
+
[kendoPivotChipMenuItem]="sortItem"
|
|
1824
|
+
[service]="service">
|
|
1825
|
+
</kendo-pivot-chipmenu-sort>
|
|
1826
|
+
<span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
|
|
1827
|
+
<kendo-pivot-chipmenu-filter
|
|
1828
|
+
#filterItem
|
|
1829
|
+
[chip]="chip"
|
|
1830
|
+
[isLast]="true"
|
|
1831
|
+
[kendoPivotChipMenuItem]="filterItem"
|
|
1832
|
+
[service]="service">
|
|
1833
|
+
</kendo-pivot-chipmenu-filter>
|
|
1834
|
+
<span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
|
|
1835
|
+
}
|
|
1836
|
+
<kendo-pivot-chipmenu-reorder
|
|
1837
|
+
#reorderItem
|
|
1838
|
+
[chip]="chip"
|
|
1839
|
+
[kendoPivotChipMenuItem]="reorderItem"
|
|
1840
|
+
[service]="service"></kendo-pivot-chipmenu-reorder>
|
|
1841
|
+
</kendo-pivot-chipmenu-container>
|
|
1832
1842
|
</ng-template>
|
|
1833
|
-
|
|
1843
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChipMenuContainerComponent, selector: "kendo-pivot-chipmenu-container" }, { kind: "component", type: ChipMenuSortComponent, selector: "kendo-pivot-chipmenu-sort", inputs: ["chip"] }, { kind: "directive", type: ChipMenuItemDirective, selector: "[kendoPivotChipMenuItem]", inputs: ["kendoPivotChipMenuItem"] }, { kind: "component", type: ChipMenuFilterComponent, selector: "kendo-pivot-chipmenu-filter", inputs: ["chip", "expanded", "isLast"], outputs: ["expand", "collapse"] }, { kind: "component", type: ChipMenuReorderComponent, selector: "kendo-pivot-chipmenu-reorder", inputs: ["chip"] }] });
|
|
1834
1844
|
}
|
|
1835
1845
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipMenuComponent, decorators: [{
|
|
1836
1846
|
type: Component,
|
|
@@ -1842,36 +1852,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1842
1852
|
selector: 'kendo-pivot-chip-menu',
|
|
1843
1853
|
template: `
|
|
1844
1854
|
<ng-template #template>
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1855
|
+
<kendo-pivot-chipmenu-container
|
|
1856
|
+
(keydown.escape)="close()"
|
|
1857
|
+
(keydown.enter)="$event.stopImmediatePropagation()">
|
|
1858
|
+
@if (!isMeasureField) {
|
|
1859
|
+
<kendo-pivot-chipmenu-sort
|
|
1860
|
+
#sortItem
|
|
1861
|
+
[chip]="chip"
|
|
1862
|
+
[kendoPivotChipMenuItem]="sortItem"
|
|
1863
|
+
[service]="service">
|
|
1864
|
+
</kendo-pivot-chipmenu-sort>
|
|
1865
|
+
<span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
|
|
1866
|
+
<kendo-pivot-chipmenu-filter
|
|
1867
|
+
#filterItem
|
|
1868
|
+
[chip]="chip"
|
|
1869
|
+
[isLast]="true"
|
|
1870
|
+
[kendoPivotChipMenuItem]="filterItem"
|
|
1871
|
+
[service]="service">
|
|
1872
|
+
</kendo-pivot-chipmenu-filter>
|
|
1873
|
+
<span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
|
|
1874
|
+
}
|
|
1875
|
+
<kendo-pivot-chipmenu-reorder
|
|
1876
|
+
#reorderItem
|
|
1877
|
+
[chip]="chip"
|
|
1878
|
+
[kendoPivotChipMenuItem]="reorderItem"
|
|
1879
|
+
[service]="service"></kendo-pivot-chipmenu-reorder>
|
|
1880
|
+
</kendo-pivot-chipmenu-container>
|
|
1871
1881
|
</ng-template>
|
|
1872
|
-
|
|
1882
|
+
`,
|
|
1873
1883
|
standalone: true,
|
|
1874
|
-
imports: [IconWrapperComponent, ChipMenuContainerComponent,
|
|
1884
|
+
imports: [IconWrapperComponent, ChipMenuContainerComponent, ChipMenuSortComponent, ChipMenuItemDirective, ChipMenuFilterComponent, ChipMenuReorderComponent]
|
|
1875
1885
|
}]
|
|
1876
1886
|
}], ctorParameters: () => [{ type: SinglePopupService }, { type: PivotLocalizationService }, { type: ChipMenuService }, { type: i0.Renderer2 }], propDecorators: { chip: [{
|
|
1877
1887
|
type: Input
|
|
@@ -2537,12 +2547,12 @@ class PivotGridConfiguratorComponent {
|
|
|
2537
2547
|
this[`${targetCollectionName}sList`]?.chips.last.focus();
|
|
2538
2548
|
}
|
|
2539
2549
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridConfiguratorComponent, deps: [{ token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: ConfiguratorService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
2540
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2550
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PivotGridConfiguratorComponent, isStandalone: true, selector: "kendo-pivotgrid-configurator", inputs: { orientation: "orientation", sort: "sort", filter: "filter", navigation: "navigation" }, outputs: { close: "close" }, host: { properties: { "class.k-pivotgrid-configurator": "this.hostClass", "attr.role": "this.hostAriaRole", "attr.aria-labelledby": "this.headerTextId" } }, providers: [
|
|
2541
2551
|
ConfiguratorService,
|
|
2542
2552
|
DropCueService,
|
|
2543
2553
|
SinglePopupService
|
|
2544
2554
|
], viewQueries: [{ propertyName: "treeView", first: true, predicate: TreeViewComponent, descendants: true }, { propertyName: "columnsList", first: true, predicate: ["columnsChiplist"], descendants: true }, { propertyName: "rowsList", first: true, predicate: ["rowsChiplist"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
2545
|
-
<div
|
|
2555
|
+
<div
|
|
2546
2556
|
class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"
|
|
2547
2557
|
[ngClass]="{
|
|
2548
2558
|
'k-pivotgrid-configurator-horizontal': isHorizontal,
|
|
@@ -2551,7 +2561,7 @@ class PivotGridConfiguratorComponent {
|
|
|
2551
2561
|
>
|
|
2552
2562
|
<div class="k-pivotgrid-configurator-header">
|
|
2553
2563
|
<div
|
|
2554
|
-
[id]="headerTextId"
|
|
2564
|
+
[id]="headerTextId"
|
|
2555
2565
|
class="k-pivotgrid-configurator-header-text">{{messageFor('configuratorHeaderText')}}</div>
|
|
2556
2566
|
</div>
|
|
2557
2567
|
|
|
@@ -2585,17 +2595,21 @@ class PivotGridConfiguratorComponent {
|
|
|
2585
2595
|
</div>
|
|
2586
2596
|
</div>
|
|
2587
2597
|
|
|
2588
|
-
|
|
2598
|
+
@if (isHorizontal) {
|
|
2599
|
+
<div class="k-form-field-wrapper" [ngStyle]="isHorizontal ? {'padding-left': 0 } : null">
|
|
2600
|
+
<ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>
|
|
2601
|
+
</div>
|
|
2602
|
+
} @else {
|
|
2589
2603
|
<ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>
|
|
2590
|
-
|
|
2604
|
+
}
|
|
2591
2605
|
|
|
2592
2606
|
<ng-template #verticalTemplate>
|
|
2593
2607
|
<div class="k-form-field" kendoDropTarget axes="columnAxes" [style]="'padding-top: 1em; margin-top: 0;'" [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null">
|
|
2594
2608
|
<span [id]="contentLabelId('columns')" class="k-label">{{messageFor('configuratorColumnsText')}}</span>
|
|
2595
2609
|
</div>
|
|
2596
2610
|
|
|
2597
|
-
|
|
2598
|
-
|
|
2611
|
+
@if (state.columnAxes && state.columnAxes.length) {
|
|
2612
|
+
<kendo-chiplist
|
|
2599
2613
|
[navigable]="false"
|
|
2600
2614
|
#columnsChiplist
|
|
2601
2615
|
kendoDropTarget
|
|
@@ -2605,30 +2619,35 @@ class PivotGridConfiguratorComponent {
|
|
|
2605
2619
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
|
|
2606
2620
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
2607
2621
|
>
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2622
|
+
@for (item of state.columnAxes; track item.name) {
|
|
2623
|
+
@if (item.name.length === 1) {
|
|
2624
|
+
<kendo-chip
|
|
2625
|
+
#chip
|
|
2626
|
+
kendoChipDraggable
|
|
2627
|
+
kendoDraggable
|
|
2628
|
+
kendoDropTarget
|
|
2629
|
+
kendoChipKeyboardNavigation
|
|
2630
|
+
[item]="item"
|
|
2631
|
+
[label]="getName(item.name)"
|
|
2632
|
+
axes="columnAxes"
|
|
2633
|
+
[removable]="true"
|
|
2634
|
+
[hasMenu]="true"
|
|
2635
|
+
(menuToggle)="chipMenuColumns.toggle($event)"
|
|
2636
|
+
(remove)="onChipRemove($event, item, 'column')"
|
|
2637
|
+
(reorder)="onReorder($event, 'column', item)"
|
|
2638
|
+
>
|
|
2639
|
+
<kendo-pivot-chip-menu
|
|
2640
|
+
#chipMenuColumns
|
|
2641
|
+
[chip]="item"
|
|
2642
|
+
[anchor]="chip"
|
|
2643
|
+
></kendo-pivot-chip-menu>
|
|
2644
|
+
</kendo-chip>
|
|
2645
|
+
}
|
|
2646
|
+
}
|
|
2631
2647
|
</kendo-chiplist>
|
|
2648
|
+
} @else {
|
|
2649
|
+
<div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor('configuratorEmptyColumnsText')}}</div>
|
|
2650
|
+
}
|
|
2632
2651
|
|
|
2633
2652
|
<ng-template #noColumnAxes>
|
|
2634
2653
|
<div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor('configuratorEmptyColumnsText')}}</div>
|
|
@@ -2638,8 +2657,8 @@ class PivotGridConfiguratorComponent {
|
|
|
2638
2657
|
<span [id]="contentLabelId('rows')" class="k-label">{{messageFor('configuratorRowsText')}}</span>
|
|
2639
2658
|
</div>
|
|
2640
2659
|
|
|
2641
|
-
|
|
2642
|
-
|
|
2660
|
+
@if (state.rowAxes && state.rowAxes.length) {
|
|
2661
|
+
<kendo-chiplist
|
|
2643
2662
|
[navigable]="false"
|
|
2644
2663
|
#rowsChiplist
|
|
2645
2664
|
kendoDropTarget
|
|
@@ -2649,47 +2668,56 @@ class PivotGridConfiguratorComponent {
|
|
|
2649
2668
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
2650
2669
|
[style.width.%]="100"
|
|
2651
2670
|
>
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2671
|
+
@for (item of state.rowAxes; track item.name) {
|
|
2672
|
+
@if (item.name.length === 1) {
|
|
2673
|
+
<kendo-chip
|
|
2674
|
+
#chip
|
|
2675
|
+
kendoChipDraggable
|
|
2676
|
+
kendoDraggable
|
|
2677
|
+
kendoDropTarget
|
|
2678
|
+
kendoChipKeyboardNavigation
|
|
2679
|
+
[item]="item"
|
|
2680
|
+
[label]="getName(item.name)"
|
|
2681
|
+
axes="rowAxes"
|
|
2682
|
+
[removable]="true"
|
|
2683
|
+
[hasMenu]="true"
|
|
2684
|
+
(menuToggle)="chipMenuRows.toggle($event)"
|
|
2685
|
+
(remove)="onChipRemove($event, item, 'row')"
|
|
2686
|
+
(reorder)="onReorder($event, 'row', item)"
|
|
2687
|
+
>
|
|
2688
|
+
<kendo-pivot-chip-menu
|
|
2689
|
+
#chipMenuRows
|
|
2690
|
+
[chip]="item"
|
|
2691
|
+
[anchor]="chip"
|
|
2692
|
+
></kendo-pivot-chip-menu>
|
|
2693
|
+
</kendo-chip>
|
|
2694
|
+
}
|
|
2695
|
+
}
|
|
2675
2696
|
</kendo-chiplist>
|
|
2697
|
+
} @else {
|
|
2698
|
+
<div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor('configuratorEmptyRowsText')}}</div>
|
|
2699
|
+
}
|
|
2676
2700
|
|
|
2677
2701
|
<ng-template #noRowAxes>
|
|
2678
2702
|
<div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor('configuratorEmptyRowsText')}}</div>
|
|
2679
2703
|
</ng-template>
|
|
2680
2704
|
</ng-template>
|
|
2681
2705
|
|
|
2682
|
-
|
|
2706
|
+
@if (isHorizontal) {
|
|
2707
|
+
<div class="k-form-field-wrapper" [ngStyle]="isHorizontal ? {'padding-left': 0 } : null" >
|
|
2708
|
+
<ng-container *ngTemplateOutlet="verticalMeasuresTemplate"></ng-container>
|
|
2709
|
+
</div>
|
|
2710
|
+
} @else {
|
|
2683
2711
|
<ng-container *ngTemplateOutlet="verticalMeasuresTemplate"></ng-container>
|
|
2684
|
-
|
|
2712
|
+
}
|
|
2685
2713
|
|
|
2686
2714
|
<ng-template #verticalMeasuresTemplate>
|
|
2687
2715
|
<div class="k-form-field" kendoDropTarget axes="measureAxes" [style]="'padding-top: 1em; margin-top: 0;'" [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null">
|
|
2688
2716
|
<span [id]="contentLabelId('values')" class="k-label">{{messageFor('configuratorValuesText')}}</span>
|
|
2689
2717
|
</div>
|
|
2690
2718
|
|
|
2691
|
-
|
|
2692
|
-
|
|
2719
|
+
@if (state.measureAxes && state.measureAxes.length) {
|
|
2720
|
+
<kendo-chiplist
|
|
2693
2721
|
[navigable]="false"
|
|
2694
2722
|
kendoDropTarget
|
|
2695
2723
|
class="k-filter-fields"
|
|
@@ -2698,34 +2726,39 @@ class PivotGridConfiguratorComponent {
|
|
|
2698
2726
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
2699
2727
|
[style.width.%]="100"
|
|
2700
2728
|
>
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2729
|
+
@for (item of state.measureAxes; track item.name) {
|
|
2730
|
+
<kendo-chip
|
|
2731
|
+
#chip
|
|
2732
|
+
kendoChipDraggable
|
|
2733
|
+
kendoDraggable
|
|
2734
|
+
kendoDropTarget
|
|
2735
|
+
kendoChipKeyboardNavigation
|
|
2736
|
+
[item]="item"
|
|
2737
|
+
[label]="getName(item.name)"
|
|
2738
|
+
axes="measureAxes"
|
|
2739
|
+
[removable]="true"
|
|
2740
|
+
[hasMenu]="true"
|
|
2741
|
+
(menuToggle)="chipMenuValues.toggle($event)"
|
|
2742
|
+
(remove)="onChipRemove($event, item, 'measure')"
|
|
2743
|
+
(reorder)="onReorder($event, 'measure', item)"
|
|
2744
|
+
>
|
|
2745
|
+
<kendo-pivot-chip-menu
|
|
2746
|
+
#chipMenuValues
|
|
2747
|
+
[chip]="item"
|
|
2748
|
+
[anchor]="chip"
|
|
2749
|
+
></kendo-pivot-chip-menu>
|
|
2750
|
+
</kendo-chip>
|
|
2751
|
+
}
|
|
2722
2752
|
</kendo-chiplist>
|
|
2753
|
+
} @else {
|
|
2754
|
+
<div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor('configuratorEmptyMeasuresText')}}</div>
|
|
2755
|
+
}
|
|
2723
2756
|
|
|
2724
2757
|
<ng-template #noMeasureAxes>
|
|
2725
2758
|
<div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor('configuratorEmptyMeasuresText')}}</div>
|
|
2726
2759
|
</ng-template>
|
|
2727
2760
|
</ng-template>
|
|
2728
|
-
|
|
2761
|
+
|
|
2729
2762
|
</div>
|
|
2730
2763
|
</div>
|
|
2731
2764
|
<div class="k-pivotgrid-configurator-actions k-actions k-actions-end k-actions-horizontal">
|
|
@@ -2733,7 +2766,7 @@ class PivotGridConfiguratorComponent {
|
|
|
2733
2766
|
<button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor('configuratorApplyButtonText')}}</button>
|
|
2734
2767
|
</div>
|
|
2735
2768
|
</div>
|
|
2736
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type:
|
|
2769
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["item", "axes"] }, { kind: "component", type: ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["orientation", "selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { kind: "component", type: ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarSettings", "selected", "removable", "removeIcon", "removeSvgIcon", "hasMenu", "menuIcon", "menuSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "menuToggle", "contentClick"] }, { kind: "directive", type: DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: ["item"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: ChipKeyboardNavigationDirective, selector: "[kendoChipKeyboardNavigation]", outputs: ["reorder"] }, { kind: "component", type: ChipMenuComponent, selector: "kendo-pivot-chip-menu", inputs: ["chip", "tabIndex", "isMeasureField", "anchor"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
2737
2770
|
}
|
|
2738
2771
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
|
|
2739
2772
|
type: Component,
|
|
@@ -2745,7 +2778,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2745
2778
|
SinglePopupService
|
|
2746
2779
|
],
|
|
2747
2780
|
template: `
|
|
2748
|
-
<div
|
|
2781
|
+
<div
|
|
2749
2782
|
class="k-pivotgrid-configurator-panel k-pivotgrid-configurator-push"
|
|
2750
2783
|
[ngClass]="{
|
|
2751
2784
|
'k-pivotgrid-configurator-horizontal': isHorizontal,
|
|
@@ -2754,7 +2787,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2754
2787
|
>
|
|
2755
2788
|
<div class="k-pivotgrid-configurator-header">
|
|
2756
2789
|
<div
|
|
2757
|
-
[id]="headerTextId"
|
|
2790
|
+
[id]="headerTextId"
|
|
2758
2791
|
class="k-pivotgrid-configurator-header-text">{{messageFor('configuratorHeaderText')}}</div>
|
|
2759
2792
|
</div>
|
|
2760
2793
|
|
|
@@ -2788,17 +2821,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2788
2821
|
</div>
|
|
2789
2822
|
</div>
|
|
2790
2823
|
|
|
2791
|
-
|
|
2824
|
+
@if (isHorizontal) {
|
|
2825
|
+
<div class="k-form-field-wrapper" [ngStyle]="isHorizontal ? {'padding-left': 0 } : null">
|
|
2826
|
+
<ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>
|
|
2827
|
+
</div>
|
|
2828
|
+
} @else {
|
|
2792
2829
|
<ng-container *ngTemplateOutlet="verticalTemplate"></ng-container>
|
|
2793
|
-
|
|
2830
|
+
}
|
|
2794
2831
|
|
|
2795
2832
|
<ng-template #verticalTemplate>
|
|
2796
2833
|
<div class="k-form-field" kendoDropTarget axes="columnAxes" [style]="'padding-top: 1em; margin-top: 0;'" [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null">
|
|
2797
2834
|
<span [id]="contentLabelId('columns')" class="k-label">{{messageFor('configuratorColumnsText')}}</span>
|
|
2798
2835
|
</div>
|
|
2799
2836
|
|
|
2800
|
-
|
|
2801
|
-
|
|
2837
|
+
@if (state.columnAxes && state.columnAxes.length) {
|
|
2838
|
+
<kendo-chiplist
|
|
2802
2839
|
[navigable]="false"
|
|
2803
2840
|
#columnsChiplist
|
|
2804
2841
|
kendoDropTarget
|
|
@@ -2808,30 +2845,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2808
2845
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
|
|
2809
2846
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
2810
2847
|
>
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2848
|
+
@for (item of state.columnAxes; track item.name) {
|
|
2849
|
+
@if (item.name.length === 1) {
|
|
2850
|
+
<kendo-chip
|
|
2851
|
+
#chip
|
|
2852
|
+
kendoChipDraggable
|
|
2853
|
+
kendoDraggable
|
|
2854
|
+
kendoDropTarget
|
|
2855
|
+
kendoChipKeyboardNavigation
|
|
2856
|
+
[item]="item"
|
|
2857
|
+
[label]="getName(item.name)"
|
|
2858
|
+
axes="columnAxes"
|
|
2859
|
+
[removable]="true"
|
|
2860
|
+
[hasMenu]="true"
|
|
2861
|
+
(menuToggle)="chipMenuColumns.toggle($event)"
|
|
2862
|
+
(remove)="onChipRemove($event, item, 'column')"
|
|
2863
|
+
(reorder)="onReorder($event, 'column', item)"
|
|
2864
|
+
>
|
|
2865
|
+
<kendo-pivot-chip-menu
|
|
2866
|
+
#chipMenuColumns
|
|
2867
|
+
[chip]="item"
|
|
2868
|
+
[anchor]="chip"
|
|
2869
|
+
></kendo-pivot-chip-menu>
|
|
2870
|
+
</kendo-chip>
|
|
2871
|
+
}
|
|
2872
|
+
}
|
|
2834
2873
|
</kendo-chiplist>
|
|
2874
|
+
} @else {
|
|
2875
|
+
<div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor('configuratorEmptyColumnsText')}}</div>
|
|
2876
|
+
}
|
|
2835
2877
|
|
|
2836
2878
|
<ng-template #noColumnAxes>
|
|
2837
2879
|
<div class="k-settings-description" kendoDropTarget axes="columnAxes">{{messageFor('configuratorEmptyColumnsText')}}</div>
|
|
@@ -2841,8 +2883,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2841
2883
|
<span [id]="contentLabelId('rows')" class="k-label">{{messageFor('configuratorRowsText')}}</span>
|
|
2842
2884
|
</div>
|
|
2843
2885
|
|
|
2844
|
-
|
|
2845
|
-
|
|
2886
|
+
@if (state.rowAxes && state.rowAxes.length) {
|
|
2887
|
+
<kendo-chiplist
|
|
2846
2888
|
[navigable]="false"
|
|
2847
2889
|
#rowsChiplist
|
|
2848
2890
|
kendoDropTarget
|
|
@@ -2852,47 +2894,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2852
2894
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
2853
2895
|
[style.width.%]="100"
|
|
2854
2896
|
>
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2897
|
+
@for (item of state.rowAxes; track item.name) {
|
|
2898
|
+
@if (item.name.length === 1) {
|
|
2899
|
+
<kendo-chip
|
|
2900
|
+
#chip
|
|
2901
|
+
kendoChipDraggable
|
|
2902
|
+
kendoDraggable
|
|
2903
|
+
kendoDropTarget
|
|
2904
|
+
kendoChipKeyboardNavigation
|
|
2905
|
+
[item]="item"
|
|
2906
|
+
[label]="getName(item.name)"
|
|
2907
|
+
axes="rowAxes"
|
|
2908
|
+
[removable]="true"
|
|
2909
|
+
[hasMenu]="true"
|
|
2910
|
+
(menuToggle)="chipMenuRows.toggle($event)"
|
|
2911
|
+
(remove)="onChipRemove($event, item, 'row')"
|
|
2912
|
+
(reorder)="onReorder($event, 'row', item)"
|
|
2913
|
+
>
|
|
2914
|
+
<kendo-pivot-chip-menu
|
|
2915
|
+
#chipMenuRows
|
|
2916
|
+
[chip]="item"
|
|
2917
|
+
[anchor]="chip"
|
|
2918
|
+
></kendo-pivot-chip-menu>
|
|
2919
|
+
</kendo-chip>
|
|
2920
|
+
}
|
|
2921
|
+
}
|
|
2878
2922
|
</kendo-chiplist>
|
|
2923
|
+
} @else {
|
|
2924
|
+
<div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor('configuratorEmptyRowsText')}}</div>
|
|
2925
|
+
}
|
|
2879
2926
|
|
|
2880
2927
|
<ng-template #noRowAxes>
|
|
2881
2928
|
<div class="k-settings-description" kendoDropTarget axes="rowAxes">{{messageFor('configuratorEmptyRowsText')}}</div>
|
|
2882
2929
|
</ng-template>
|
|
2883
2930
|
</ng-template>
|
|
2884
2931
|
|
|
2885
|
-
|
|
2932
|
+
@if (isHorizontal) {
|
|
2933
|
+
<div class="k-form-field-wrapper" [ngStyle]="isHorizontal ? {'padding-left': 0 } : null" >
|
|
2934
|
+
<ng-container *ngTemplateOutlet="verticalMeasuresTemplate"></ng-container>
|
|
2935
|
+
</div>
|
|
2936
|
+
} @else {
|
|
2886
2937
|
<ng-container *ngTemplateOutlet="verticalMeasuresTemplate"></ng-container>
|
|
2887
|
-
|
|
2938
|
+
}
|
|
2888
2939
|
|
|
2889
2940
|
<ng-template #verticalMeasuresTemplate>
|
|
2890
2941
|
<div class="k-form-field" kendoDropTarget axes="measureAxes" [style]="'padding-top: 1em; margin-top: 0;'" [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null">
|
|
2891
2942
|
<span [id]="contentLabelId('values')" class="k-label">{{messageFor('configuratorValuesText')}}</span>
|
|
2892
2943
|
</div>
|
|
2893
2944
|
|
|
2894
|
-
|
|
2895
|
-
|
|
2945
|
+
@if (state.measureAxes && state.measureAxes.length) {
|
|
2946
|
+
<kendo-chiplist
|
|
2896
2947
|
[navigable]="false"
|
|
2897
2948
|
kendoDropTarget
|
|
2898
2949
|
class="k-filter-fields"
|
|
@@ -2901,34 +2952,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2901
2952
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
2902
2953
|
[style.width.%]="100"
|
|
2903
2954
|
>
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2955
|
+
@for (item of state.measureAxes; track item.name) {
|
|
2956
|
+
<kendo-chip
|
|
2957
|
+
#chip
|
|
2958
|
+
kendoChipDraggable
|
|
2959
|
+
kendoDraggable
|
|
2960
|
+
kendoDropTarget
|
|
2961
|
+
kendoChipKeyboardNavigation
|
|
2962
|
+
[item]="item"
|
|
2963
|
+
[label]="getName(item.name)"
|
|
2964
|
+
axes="measureAxes"
|
|
2965
|
+
[removable]="true"
|
|
2966
|
+
[hasMenu]="true"
|
|
2967
|
+
(menuToggle)="chipMenuValues.toggle($event)"
|
|
2968
|
+
(remove)="onChipRemove($event, item, 'measure')"
|
|
2969
|
+
(reorder)="onReorder($event, 'measure', item)"
|
|
2970
|
+
>
|
|
2971
|
+
<kendo-pivot-chip-menu
|
|
2972
|
+
#chipMenuValues
|
|
2973
|
+
[chip]="item"
|
|
2974
|
+
[anchor]="chip"
|
|
2975
|
+
></kendo-pivot-chip-menu>
|
|
2976
|
+
</kendo-chip>
|
|
2977
|
+
}
|
|
2925
2978
|
</kendo-chiplist>
|
|
2979
|
+
} @else {
|
|
2980
|
+
<div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor('configuratorEmptyMeasuresText')}}</div>
|
|
2981
|
+
}
|
|
2926
2982
|
|
|
2927
2983
|
<ng-template #noMeasureAxes>
|
|
2928
2984
|
<div class="k-settings-description" kendoDropTarget axes="measureAxes">{{messageFor('configuratorEmptyMeasuresText')}}</div>
|
|
2929
2985
|
</ng-template>
|
|
2930
2986
|
</ng-template>
|
|
2931
|
-
|
|
2987
|
+
|
|
2932
2988
|
</div>
|
|
2933
2989
|
</div>
|
|
2934
2990
|
<div class="k-pivotgrid-configurator-actions k-actions k-actions-end k-actions-horizontal">
|
|
@@ -2939,8 +2995,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2939
2995
|
`,
|
|
2940
2996
|
standalone: true,
|
|
2941
2997
|
imports: [
|
|
2942
|
-
NgClass, NgStyle, TreeViewComponent, ExpandDirective, CheckDirective,
|
|
2943
|
-
NgTemplateOutlet, DropTargetDirective, ChipListComponent,
|
|
2998
|
+
NgClass, NgStyle, TreeViewComponent, ExpandDirective, CheckDirective,
|
|
2999
|
+
NgTemplateOutlet, DropTargetDirective, ChipListComponent, ChipComponent, DraggableChipDirective,
|
|
2944
3000
|
DraggableDirective, ChipKeyboardNavigationDirective, ChipMenuComponent, ButtonComponent
|
|
2945
3001
|
]
|
|
2946
3002
|
}]
|
|
@@ -3803,8 +3859,8 @@ const packageMetadata = {
|
|
|
3803
3859
|
productName: 'Kendo UI for Angular',
|
|
3804
3860
|
productCode: 'KENDOUIANGULAR',
|
|
3805
3861
|
productCodes: ['KENDOUIANGULAR'],
|
|
3806
|
-
publishDate:
|
|
3807
|
-
version: '21.
|
|
3862
|
+
publishDate: 1764002457,
|
|
3863
|
+
version: '21.2.0-develop.2',
|
|
3808
3864
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
3809
3865
|
};
|
|
3810
3866
|
|
|
@@ -4146,17 +4202,19 @@ class PivotGridCellDirective {
|
|
|
4146
4202
|
});
|
|
4147
4203
|
};
|
|
4148
4204
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridCellDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PivotGridDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4149
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
4150
|
-
|
|
4151
|
-
|
|
4205
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PivotGridCellDirective, isStandalone: true, selector: "[kendoPivotGridCell]", inputs: { kendoPivotGridCell: "kendoPivotGridCell", tableType: "tableType", rowIndex: "rowIndex", colIndex: "colIndex", customCellTemplate: "customCellTemplate", valueCellTemplate: "valueCellTemplate", rowHeaderCellTemplate: "rowHeaderCellTemplate", columnHeaderCellTemplate: "columnHeaderCellTemplate" }, host: { properties: { "class.k-pivotgrid-cell": "this.cellClass" } }, ngImport: i0, template: `
|
|
4206
|
+
@if (kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total) {
|
|
4207
|
+
<kendo-icon-wrapper
|
|
4152
4208
|
aria-hidden="true"
|
|
4153
4209
|
[kendoEventsOutsideAngular]="{ click: handleClick }"
|
|
4154
4210
|
[name]="expanded ? 'chevron-up' : 'chevron-down'"
|
|
4155
4211
|
[svgIcon]="expanded ? chevronUpSVGIcon : chevronDownSVGIcon"
|
|
4156
4212
|
innerCssClass="k-pivotgrid-toggle">
|
|
4157
|
-
|
|
4213
|
+
</kendo-icon-wrapper>
|
|
4214
|
+
}
|
|
4158
4215
|
<!--value cell template-->
|
|
4159
|
-
|
|
4216
|
+
@if (tableType === 'values' && valueCellTemplate) {
|
|
4217
|
+
<ng-template
|
|
4160
4218
|
[templateContext]="{
|
|
4161
4219
|
templateRef: valueCellTemplate.templateRef,
|
|
4162
4220
|
$implicit: kendoPivotGridCell,
|
|
@@ -4165,9 +4223,11 @@ class PivotGridCellDirective {
|
|
|
4165
4223
|
columnIndex: colIndex,
|
|
4166
4224
|
tableType: tableType
|
|
4167
4225
|
}">
|
|
4168
|
-
|
|
4226
|
+
</ng-template>
|
|
4227
|
+
}
|
|
4169
4228
|
<!--row header cell template-->
|
|
4170
|
-
|
|
4229
|
+
@if (tableType === 'rowHeader' && rowHeaderCellTemplate) {
|
|
4230
|
+
<ng-template
|
|
4171
4231
|
[templateContext]="{
|
|
4172
4232
|
templateRef: rowHeaderCellTemplate.templateRef,
|
|
4173
4233
|
$implicit: kendoPivotGridCell,
|
|
@@ -4177,9 +4237,11 @@ class PivotGridCellDirective {
|
|
|
4177
4237
|
tableType: tableType,
|
|
4178
4238
|
expanded: expanded
|
|
4179
4239
|
}">
|
|
4180
|
-
|
|
4240
|
+
</ng-template>
|
|
4241
|
+
}
|
|
4181
4242
|
<!--column header cell template-->
|
|
4182
|
-
|
|
4243
|
+
@if (tableType === 'columnHeader' && columnHeaderCellTemplate) {
|
|
4244
|
+
<ng-template
|
|
4183
4245
|
[templateContext]="{
|
|
4184
4246
|
templateRef: columnHeaderCellTemplate.templateRef,
|
|
4185
4247
|
$implicit: kendoPivotGridCell,
|
|
@@ -4189,9 +4251,11 @@ class PivotGridCellDirective {
|
|
|
4189
4251
|
tableType: tableType,
|
|
4190
4252
|
expanded: expanded
|
|
4191
4253
|
}">
|
|
4192
|
-
|
|
4254
|
+
</ng-template>
|
|
4255
|
+
}
|
|
4193
4256
|
<!--cell template-->
|
|
4194
|
-
|
|
4257
|
+
@if (customCellTemplate && isNotProvidedCellTemplatePerType) {
|
|
4258
|
+
<ng-template
|
|
4195
4259
|
[templateContext]="{
|
|
4196
4260
|
templateRef: customCellTemplate.templateRef,
|
|
4197
4261
|
$implicit: kendoPivotGridCell,
|
|
@@ -4201,12 +4265,15 @@ class PivotGridCellDirective {
|
|
|
4201
4265
|
tableType: tableType,
|
|
4202
4266
|
expanded: expanded
|
|
4203
4267
|
}">
|
|
4204
|
-
|
|
4268
|
+
</ng-template>
|
|
4269
|
+
}
|
|
4205
4270
|
<!--default cell content-->
|
|
4206
|
-
|
|
4271
|
+
@if (!customCellTemplate && isNotProvidedCellTemplatePerType) {
|
|
4272
|
+
<span [ngClass]="{'k-pivotgrid-header-title': !kendoPivotGridCell.data, 'k-pivotgrid-content': kendoPivotGridCell.data}">
|
|
4207
4273
|
{{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}
|
|
4208
|
-
|
|
4209
|
-
|
|
4274
|
+
</span>
|
|
4275
|
+
}
|
|
4276
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
4210
4277
|
}
|
|
4211
4278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridCellDirective, decorators: [{
|
|
4212
4279
|
type: Component,
|
|
@@ -4214,16 +4281,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4214
4281
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
4215
4282
|
selector: '[kendoPivotGridCell]',
|
|
4216
4283
|
template: `
|
|
4217
|
-
|
|
4218
|
-
|
|
4284
|
+
@if (kendoPivotGridCell.hasChildren && !kendoPivotGridCell.total) {
|
|
4285
|
+
<kendo-icon-wrapper
|
|
4219
4286
|
aria-hidden="true"
|
|
4220
4287
|
[kendoEventsOutsideAngular]="{ click: handleClick }"
|
|
4221
4288
|
[name]="expanded ? 'chevron-up' : 'chevron-down'"
|
|
4222
4289
|
[svgIcon]="expanded ? chevronUpSVGIcon : chevronDownSVGIcon"
|
|
4223
4290
|
innerCssClass="k-pivotgrid-toggle">
|
|
4224
|
-
|
|
4291
|
+
</kendo-icon-wrapper>
|
|
4292
|
+
}
|
|
4225
4293
|
<!--value cell template-->
|
|
4226
|
-
|
|
4294
|
+
@if (tableType === 'values' && valueCellTemplate) {
|
|
4295
|
+
<ng-template
|
|
4227
4296
|
[templateContext]="{
|
|
4228
4297
|
templateRef: valueCellTemplate.templateRef,
|
|
4229
4298
|
$implicit: kendoPivotGridCell,
|
|
@@ -4232,9 +4301,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4232
4301
|
columnIndex: colIndex,
|
|
4233
4302
|
tableType: tableType
|
|
4234
4303
|
}">
|
|
4235
|
-
|
|
4304
|
+
</ng-template>
|
|
4305
|
+
}
|
|
4236
4306
|
<!--row header cell template-->
|
|
4237
|
-
|
|
4307
|
+
@if (tableType === 'rowHeader' && rowHeaderCellTemplate) {
|
|
4308
|
+
<ng-template
|
|
4238
4309
|
[templateContext]="{
|
|
4239
4310
|
templateRef: rowHeaderCellTemplate.templateRef,
|
|
4240
4311
|
$implicit: kendoPivotGridCell,
|
|
@@ -4244,9 +4315,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4244
4315
|
tableType: tableType,
|
|
4245
4316
|
expanded: expanded
|
|
4246
4317
|
}">
|
|
4247
|
-
|
|
4318
|
+
</ng-template>
|
|
4319
|
+
}
|
|
4248
4320
|
<!--column header cell template-->
|
|
4249
|
-
|
|
4321
|
+
@if (tableType === 'columnHeader' && columnHeaderCellTemplate) {
|
|
4322
|
+
<ng-template
|
|
4250
4323
|
[templateContext]="{
|
|
4251
4324
|
templateRef: columnHeaderCellTemplate.templateRef,
|
|
4252
4325
|
$implicit: kendoPivotGridCell,
|
|
@@ -4256,9 +4329,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4256
4329
|
tableType: tableType,
|
|
4257
4330
|
expanded: expanded
|
|
4258
4331
|
}">
|
|
4259
|
-
|
|
4332
|
+
</ng-template>
|
|
4333
|
+
}
|
|
4260
4334
|
<!--cell template-->
|
|
4261
|
-
|
|
4335
|
+
@if (customCellTemplate && isNotProvidedCellTemplatePerType) {
|
|
4336
|
+
<ng-template
|
|
4262
4337
|
[templateContext]="{
|
|
4263
4338
|
templateRef: customCellTemplate.templateRef,
|
|
4264
4339
|
$implicit: kendoPivotGridCell,
|
|
@@ -4268,14 +4343,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4268
4343
|
tableType: tableType,
|
|
4269
4344
|
expanded: expanded
|
|
4270
4345
|
}">
|
|
4271
|
-
|
|
4346
|
+
</ng-template>
|
|
4347
|
+
}
|
|
4272
4348
|
<!--default cell content-->
|
|
4273
|
-
|
|
4349
|
+
@if (!customCellTemplate && isNotProvidedCellTemplatePerType) {
|
|
4350
|
+
<span [ngClass]="{'k-pivotgrid-header-title': !kendoPivotGridCell.data, 'k-pivotgrid-content': kendoPivotGridCell.data}">
|
|
4274
4351
|
{{ kendoPivotGridCell.data ? kendoPivotGridCell.data.fmtValue : kendoPivotGridCell.caption }}
|
|
4275
|
-
|
|
4276
|
-
|
|
4352
|
+
</span>
|
|
4353
|
+
}
|
|
4354
|
+
`,
|
|
4277
4355
|
standalone: true,
|
|
4278
|
-
imports: [
|
|
4356
|
+
imports: [IconWrapperComponent, EventsOutsideAngularDirective, TemplateContextDirective, NgClass]
|
|
4279
4357
|
}]
|
|
4280
4358
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: PivotGridDataService }], propDecorators: { cellClass: [{
|
|
4281
4359
|
type: HostBinding,
|
|
@@ -4328,6 +4406,10 @@ class PivotGridTableComponent {
|
|
|
4328
4406
|
startRowIndex = 0;
|
|
4329
4407
|
startColIndex = 0;
|
|
4330
4408
|
rtl = false;
|
|
4409
|
+
itemIdCounter = 0;
|
|
4410
|
+
itemIdMap = new WeakMap();
|
|
4411
|
+
rowIdMap = new WeakMap();
|
|
4412
|
+
cellIdMap = new WeakMap();
|
|
4331
4413
|
tableType;
|
|
4332
4414
|
colWidth;
|
|
4333
4415
|
customCellTemplate;
|
|
@@ -4378,6 +4460,45 @@ class PivotGridTableComponent {
|
|
|
4378
4460
|
this.subs.unsubscribe();
|
|
4379
4461
|
this.scrollable?.destroy();
|
|
4380
4462
|
}
|
|
4463
|
+
trackByColIndex(index, item) {
|
|
4464
|
+
// Always include index to ensure uniqueness even if same object appears multiple times
|
|
4465
|
+
if (!item || typeof item !== 'object') {
|
|
4466
|
+
return `col-${index + this.startColIndex}-${item}`;
|
|
4467
|
+
}
|
|
4468
|
+
// Get or assign stable ID for this object
|
|
4469
|
+
if (!this.itemIdMap.has(item)) {
|
|
4470
|
+
this.itemIdMap.set(item, ++this.itemIdCounter);
|
|
4471
|
+
}
|
|
4472
|
+
const objectId = this.itemIdMap.get(item);
|
|
4473
|
+
// Combine object ID with position to handle same object at different indices
|
|
4474
|
+
return `col-${index + this.startColIndex}-obj${objectId}`;
|
|
4475
|
+
}
|
|
4476
|
+
trackByRowIndex(index, row) {
|
|
4477
|
+
// Always include index to ensure uniqueness even if same object appears multiple times
|
|
4478
|
+
if (!row || typeof row !== 'object') {
|
|
4479
|
+
return `row-${index + this.startRowIndex}-${row}`;
|
|
4480
|
+
}
|
|
4481
|
+
// Get or assign stable ID for this object
|
|
4482
|
+
if (!this.rowIdMap.has(row)) {
|
|
4483
|
+
this.rowIdMap.set(row, ++this.itemIdCounter);
|
|
4484
|
+
}
|
|
4485
|
+
const objectId = this.rowIdMap.get(row);
|
|
4486
|
+
// Combine object ID with position to handle same object at different indices
|
|
4487
|
+
return `row-${index + this.startRowIndex}-obj${objectId}`;
|
|
4488
|
+
}
|
|
4489
|
+
trackByCellIndex(index, cell) {
|
|
4490
|
+
// Always include index to ensure uniqueness even if same object appears multiple times
|
|
4491
|
+
if (!cell || typeof cell !== 'object') {
|
|
4492
|
+
return `cell-${index + this.startColIndex}-${cell}`;
|
|
4493
|
+
}
|
|
4494
|
+
// Get or assign stable ID for this object
|
|
4495
|
+
if (!this.cellIdMap.has(cell)) {
|
|
4496
|
+
this.cellIdMap.set(cell, ++this.itemIdCounter);
|
|
4497
|
+
}
|
|
4498
|
+
const objectId = this.cellIdMap.get(cell);
|
|
4499
|
+
// Combine object ID with position to handle same object at different indices
|
|
4500
|
+
return `cell-${index + this.startColIndex}-obj${objectId}`;
|
|
4501
|
+
}
|
|
4381
4502
|
colsUpdateCallback = (cols) => {
|
|
4382
4503
|
this.renderedCols = Math.min(cols.length, this.scrollableSettings?.columns);
|
|
4383
4504
|
this.renderedCols && this.scrollable && (this.scrollable.totalCols = cols.length);
|
|
@@ -4493,55 +4614,64 @@ class PivotGridTableComponent {
|
|
|
4493
4614
|
}, true);
|
|
4494
4615
|
}
|
|
4495
4616
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridTableComponent, deps: [{ token: i0.ElementRef }, { token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: i0.NgZone }, { token: PivotGridScrollService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4496
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
4617
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PivotGridTableComponent, isStandalone: true, selector: "kendo-pivotgrid-table", inputs: { tableType: "tableType", colWidth: "colWidth", customCellTemplate: "customCellTemplate", valueCellTemplate: "valueCellTemplate", rowHeaderCellTemplate: "rowHeaderCellTemplate", columnHeaderCellTemplate: "columnHeaderCellTemplate", scrollableSettings: "scrollableSettings" }, ngImport: i0, template: `
|
|
4497
4618
|
<table
|
|
4498
|
-
|
|
4499
|
-
|
|
4619
|
+
class="k-pivotgrid-table"
|
|
4620
|
+
role="presentation"
|
|
4500
4621
|
[ngStyle]="{
|
|
4501
4622
|
float: tableType === 'values' ? this.rtl ? 'right' : 'left' : 'initial',
|
|
4502
4623
|
overflow: 'scroll',
|
|
4503
4624
|
'-ms-overflow-style': tableType !== 'values' ? 'none' : 'auto',
|
|
4504
4625
|
'scrollbar-width': tableType !== 'values' ? 'none' : 'auto'
|
|
4505
4626
|
}">
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4627
|
+
<colgroup>
|
|
4628
|
+
@if (tableType === 'values' && columnVirtualization && startColIndex > 0) {
|
|
4629
|
+
<col [style.width]="startColIndex * (colWidth >= 0 ? colWidth : 200) + 'px'"/>
|
|
4630
|
+
}
|
|
4631
|
+
@for (item of (tableType === 'values' && columnVirtualization ? headerItems?.slice(0, renderedCols) : headerItems); track trackByColIndex($index, item)) {
|
|
4632
|
+
<col
|
|
4633
|
+
[style.width]="tableType !== 'rowHeader' ? colWidth >= 0 ? colWidth + 'px' : '200px' : undefined" />
|
|
4634
|
+
}
|
|
4635
|
+
</colgroup>
|
|
4636
|
+
<tbody class="k-pivotgrid-tbody" [attr.role]="tableType === 'values' ? 'none' : 'rowgroup'">
|
|
4637
|
+
@for (row of (tableType === 'values' && rowVirtualization ? renderedRows : rows); track trackByRowIndex($index, row); let rowIndex = $index) {
|
|
4638
|
+
<tr
|
|
4639
|
+
class="k-pivotgrid-row"
|
|
4640
|
+
[attr.role]="tableType === 'values' ? 'none' : 'row'">
|
|
4641
|
+
@if (tableType === 'values' && columnVirtualization && startColIndex > 0) {
|
|
4642
|
+
<td class="k-pivotgrid-cell"></td>
|
|
4643
|
+
}
|
|
4644
|
+
@for (cell of (tableType === 'values' && columnVirtualization ? row?.cells.slice(startColIndex, (startColIndex + renderedCols)) : row?.cells); track trackByCellIndex($index, cell); let colIndex = $index) {
|
|
4645
|
+
@if (cell && tableType !== 'values') {
|
|
4646
|
+
<th
|
|
4647
|
+
[kendoPivotGridCell]="cell"
|
|
4648
|
+
[customCellTemplate]="customCellTemplate"
|
|
4649
|
+
[rowHeaderCellTemplate]="rowHeaderCellTemplate"
|
|
4650
|
+
[columnHeaderCellTemplate]="columnHeaderCellTemplate"
|
|
4651
|
+
[tableType]="tableType"
|
|
4652
|
+
[colIndex]="colIndex + startColIndex"
|
|
4653
|
+
[rowIndex]="rowIndex + startRowIndex"
|
|
4654
|
+
[attr.aria-expanded]="cell.hasChildren && cell.children.length ? 'true' : 'false'"
|
|
4655
|
+
[attr.role]="tableType === 'columnHeader' ? 'columnheader' : tableType === 'rowHeader' ? 'rowheader' : 'none'"
|
|
4656
|
+
[attr.id]="pivotGridId + (tableType === 'columnHeader' ? 'ch-' : 'rh-') + (rowIndex + 1) + '-' + (colIndex + 1)"></th>
|
|
4657
|
+
}
|
|
4658
|
+
@if (cell && tableType === 'values') {
|
|
4659
|
+
<td
|
|
4660
|
+
[customCellTemplate]="customCellTemplate"
|
|
4661
|
+
[valueCellTemplate]="valueCellTemplate"
|
|
4662
|
+
[kendoPivotGridCell]="cell"
|
|
4663
|
+
tableType="values"
|
|
4664
|
+
[colIndex]="colIndex + startColIndex"
|
|
4665
|
+
[rowIndex]="rowIndex + startRowIndex"
|
|
4666
|
+
role="gridcell"
|
|
4667
|
+
[attr.id]="pivotGridId + 'cell-' + (rowIndex + startRowIndex + 1) + '-' + (colIndex + startColIndex + 1)"></td>
|
|
4668
|
+
}
|
|
4669
|
+
}
|
|
4670
|
+
</tr>
|
|
4671
|
+
}
|
|
4672
|
+
</tbody>
|
|
4543
4673
|
</table>
|
|
4544
|
-
|
|
4674
|
+
`, isInline: true, dependencies: [{ kind: "component", type: PivotGridCellDirective, selector: "[kendoPivotGridCell]", inputs: ["kendoPivotGridCell", "tableType", "rowIndex", "colIndex", "customCellTemplate", "valueCellTemplate", "rowHeaderCellTemplate", "columnHeaderCellTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
4545
4675
|
}
|
|
4546
4676
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridTableComponent, decorators: [{
|
|
4547
4677
|
type: Component,
|
|
@@ -4549,55 +4679,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4549
4679
|
selector: 'kendo-pivotgrid-table',
|
|
4550
4680
|
template: `
|
|
4551
4681
|
<table
|
|
4552
|
-
|
|
4553
|
-
|
|
4682
|
+
class="k-pivotgrid-table"
|
|
4683
|
+
role="presentation"
|
|
4554
4684
|
[ngStyle]="{
|
|
4555
4685
|
float: tableType === 'values' ? this.rtl ? 'right' : 'left' : 'initial',
|
|
4556
4686
|
overflow: 'scroll',
|
|
4557
4687
|
'-ms-overflow-style': tableType !== 'values' ? 'none' : 'auto',
|
|
4558
4688
|
'scrollbar-width': tableType !== 'values' ? 'none' : 'auto'
|
|
4559
4689
|
}">
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
|
|
4591
|
-
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
|
|
4595
|
-
|
|
4596
|
-
|
|
4690
|
+
<colgroup>
|
|
4691
|
+
@if (tableType === 'values' && columnVirtualization && startColIndex > 0) {
|
|
4692
|
+
<col [style.width]="startColIndex * (colWidth >= 0 ? colWidth : 200) + 'px'"/>
|
|
4693
|
+
}
|
|
4694
|
+
@for (item of (tableType === 'values' && columnVirtualization ? headerItems?.slice(0, renderedCols) : headerItems); track trackByColIndex($index, item)) {
|
|
4695
|
+
<col
|
|
4696
|
+
[style.width]="tableType !== 'rowHeader' ? colWidth >= 0 ? colWidth + 'px' : '200px' : undefined" />
|
|
4697
|
+
}
|
|
4698
|
+
</colgroup>
|
|
4699
|
+
<tbody class="k-pivotgrid-tbody" [attr.role]="tableType === 'values' ? 'none' : 'rowgroup'">
|
|
4700
|
+
@for (row of (tableType === 'values' && rowVirtualization ? renderedRows : rows); track trackByRowIndex($index, row); let rowIndex = $index) {
|
|
4701
|
+
<tr
|
|
4702
|
+
class="k-pivotgrid-row"
|
|
4703
|
+
[attr.role]="tableType === 'values' ? 'none' : 'row'">
|
|
4704
|
+
@if (tableType === 'values' && columnVirtualization && startColIndex > 0) {
|
|
4705
|
+
<td class="k-pivotgrid-cell"></td>
|
|
4706
|
+
}
|
|
4707
|
+
@for (cell of (tableType === 'values' && columnVirtualization ? row?.cells.slice(startColIndex, (startColIndex + renderedCols)) : row?.cells); track trackByCellIndex($index, cell); let colIndex = $index) {
|
|
4708
|
+
@if (cell && tableType !== 'values') {
|
|
4709
|
+
<th
|
|
4710
|
+
[kendoPivotGridCell]="cell"
|
|
4711
|
+
[customCellTemplate]="customCellTemplate"
|
|
4712
|
+
[rowHeaderCellTemplate]="rowHeaderCellTemplate"
|
|
4713
|
+
[columnHeaderCellTemplate]="columnHeaderCellTemplate"
|
|
4714
|
+
[tableType]="tableType"
|
|
4715
|
+
[colIndex]="colIndex + startColIndex"
|
|
4716
|
+
[rowIndex]="rowIndex + startRowIndex"
|
|
4717
|
+
[attr.aria-expanded]="cell.hasChildren && cell.children.length ? 'true' : 'false'"
|
|
4718
|
+
[attr.role]="tableType === 'columnHeader' ? 'columnheader' : tableType === 'rowHeader' ? 'rowheader' : 'none'"
|
|
4719
|
+
[attr.id]="pivotGridId + (tableType === 'columnHeader' ? 'ch-' : 'rh-') + (rowIndex + 1) + '-' + (colIndex + 1)"></th>
|
|
4720
|
+
}
|
|
4721
|
+
@if (cell && tableType === 'values') {
|
|
4722
|
+
<td
|
|
4723
|
+
[customCellTemplate]="customCellTemplate"
|
|
4724
|
+
[valueCellTemplate]="valueCellTemplate"
|
|
4725
|
+
[kendoPivotGridCell]="cell"
|
|
4726
|
+
tableType="values"
|
|
4727
|
+
[colIndex]="colIndex + startColIndex"
|
|
4728
|
+
[rowIndex]="rowIndex + startRowIndex"
|
|
4729
|
+
role="gridcell"
|
|
4730
|
+
[attr.id]="pivotGridId + 'cell-' + (rowIndex + startRowIndex + 1) + '-' + (colIndex + startColIndex + 1)"></td>
|
|
4731
|
+
}
|
|
4732
|
+
}
|
|
4733
|
+
</tr>
|
|
4734
|
+
}
|
|
4735
|
+
</tbody>
|
|
4597
4736
|
</table>
|
|
4598
|
-
|
|
4737
|
+
`,
|
|
4599
4738
|
standalone: true,
|
|
4600
|
-
imports: [
|
|
4739
|
+
imports: [PivotGridCellDirective, NgStyle]
|
|
4601
4740
|
}]
|
|
4602
4741
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: PivotGridDataService }, { type: i1$1.LocalizationService }, { type: i0.NgZone }, { type: PivotGridScrollService }], propDecorators: { tableType: [{
|
|
4603
4742
|
type: Input
|
|
@@ -4914,7 +5053,7 @@ class PivotGridComponent {
|
|
|
4914
5053
|
}
|
|
4915
5054
|
}
|
|
4916
5055
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PivotGridDataService }, { token: i1$1.LocalizationService }, { token: i0.Renderer2 }, { token: i1$4.ScrollbarWidthService }, { token: PivotGridScrollService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4917
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
5056
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PivotGridComponent, isStandalone: true, selector: "kendo-pivotgrid", inputs: { loaderSettings: "loaderSettings", configurator: "configurator", virtualScrolling: "virtualScrolling", columnHeadersWidth: "columnHeadersWidth", navigable: "navigable" }, host: { properties: { "class.k-d-flex": "this.hostClass", "class.k-pos-relative": "this.hostClass", "class.k-flex-row": "this.rightPositionClass", "class.k-flex-row-reverse": "this.leftPositionClass", "class.k-flex-column": "this.bottomPositionClass", "class.k-flex-column-reverse": "this.topPositionClass", "attr.dir": "this.dir" } }, providers: [
|
|
4918
5057
|
PivotGridDataService,
|
|
4919
5058
|
LocalizationService,
|
|
4920
5059
|
PivotLocalizationService,
|
|
@@ -4925,163 +5064,168 @@ class PivotGridComponent {
|
|
|
4925
5064
|
PivotGridScrollService
|
|
4926
5065
|
], queries: [{ propertyName: "customCellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "valueCellTemplate", first: true, predicate: ValueCellTemplateDirective, descendants: true }, { propertyName: "rowHeaderCellTemplate", first: true, predicate: RowHeaderCellTemplateDirective, descendants: true }, { propertyName: "columnHeaderCellTemplate", first: true, predicate: ColumnHeaderCellTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "colHeadersTable", first: true, predicate: ["colHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "rowHeadersTable", first: true, predicate: ["rowHeadersTable"], descendants: true, read: ElementRef }, { propertyName: "valuesTable", first: true, predicate: ["valuesTable"], descendants: true, read: ElementRef }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, read: ElementRef }, { propertyName: "configuratorWrapper", first: true, predicate: ["configurator"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
|
|
4927
5066
|
<ng-container kendoPivotGridLocalizedMessages
|
|
4928
|
-
|
|
4929
|
-
|
|
5067
|
+
i18n-loading="kendo.pivotgrid.loading|The loading text"
|
|
5068
|
+
loading="Loading"
|
|
4930
5069
|
|
|
4931
|
-
|
|
4932
|
-
|
|
5070
|
+
i18n-emptyCellLabel="kendo.pivotgrid.emptyCellLabel|The value of the aria-label attribute placed on the focusable empty cell element"
|
|
5071
|
+
emptyCellLabel="PivotGrid Empty Cell"
|
|
4933
5072
|
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"
|
|
4938
|
-
fieldMenuSortAscendingItemLabel="Sort ascending"
|
|
4939
|
-
|
|
4940
|
-
i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"
|
|
4941
|
-
fieldMenuSortDescendingItemLabel="Sort descending"
|
|
4942
|
-
|
|
4943
|
-
i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"
|
|
4944
|
-
filterInputLabel="{{ '{fields} Filter' }}"
|
|
4945
|
-
|
|
4946
|
-
i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"
|
|
4947
|
-
filterOperatorsDropDownLabel="{{ '{fields} Filter Operators' }}"
|
|
4948
|
-
|
|
4949
|
-
i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"
|
|
4950
|
-
filterEqOperator="Is equal to"
|
|
4951
|
-
|
|
4952
|
-
i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"
|
|
4953
|
-
filterNotEqOperator="Is not equal to"
|
|
4954
|
-
|
|
4955
|
-
i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"
|
|
4956
|
-
filterIsNullOperator="Is null"
|
|
4957
|
-
|
|
4958
|
-
i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
4959
|
-
filterIsNotNullOperator="Is not null"
|
|
4960
|
-
|
|
4961
|
-
i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
4962
|
-
filterIsEmptyOperator="Is empty"
|
|
4963
|
-
|
|
4964
|
-
i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
4965
|
-
filterIsNotEmptyOperator="Is not empty"
|
|
4966
|
-
|
|
4967
|
-
i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"
|
|
4968
|
-
filterStartsWithOperator="Starts with"
|
|
4969
|
-
|
|
4970
|
-
i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"
|
|
4971
|
-
filterContainsOperator="Contains"
|
|
4972
|
-
|
|
4973
|
-
i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
4974
|
-
filterNotContainsOperator="Does not contain"
|
|
4975
|
-
|
|
4976
|
-
i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"
|
|
4977
|
-
filterEndsWithOperator="Ends with"
|
|
4978
|
-
|
|
4979
|
-
i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"
|
|
4980
|
-
filterFilterButton="Filter"
|
|
4981
|
-
|
|
4982
|
-
i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"
|
|
4983
|
-
filterClearButton="Clear"
|
|
4984
|
-
|
|
4985
|
-
i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"
|
|
4986
|
-
configuratorButtonText="Change Settings"
|
|
4987
|
-
|
|
4988
|
-
i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"
|
|
4989
|
-
configuratorHeaderText="Settings"
|
|
4990
|
-
|
|
4991
|
-
i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"
|
|
4992
|
-
configuratorFieldsText="Fields"
|
|
4993
|
-
|
|
4994
|
-
i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"
|
|
4995
|
-
configuratorColumnsText="Columns"
|
|
4996
|
-
|
|
4997
|
-
i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"
|
|
4998
|
-
configuratorRowsText="Rows"
|
|
4999
|
-
|
|
5000
|
-
i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"
|
|
5001
|
-
configuratorValuesText="Values"
|
|
5002
|
-
|
|
5003
|
-
i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"
|
|
5004
|
-
configuratorCancelButtonText="Cancel"
|
|
5005
|
-
|
|
5006
|
-
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
5007
|
-
configuratorApplyButtonText="Apply"
|
|
5073
|
+
i18n-fieldMenuFilterItemLabel="kendo.pivotgrid.fieldMenuFilterItemLabel|The text content of the filter item in the column and row fields menu"
|
|
5074
|
+
fieldMenuFilterItemLabel="Filter"
|
|
5008
5075
|
|
|
5009
|
-
|
|
5010
|
-
|
|
5076
|
+
i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"
|
|
5077
|
+
fieldMenuSortAscendingItemLabel="Sort ascending"
|
|
5011
5078
|
|
|
5012
|
-
|
|
5013
|
-
|
|
5079
|
+
i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"
|
|
5080
|
+
fieldMenuSortDescendingItemLabel="Sort descending"
|
|
5014
5081
|
|
|
5015
|
-
|
|
5016
|
-
|
|
5082
|
+
i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"
|
|
5083
|
+
filterInputLabel="{{ '{fields} Filter' }}"
|
|
5017
5084
|
|
|
5018
|
-
|
|
5019
|
-
|
|
5020
|
-
|
|
5021
|
-
|
|
5022
|
-
|
|
5085
|
+
i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"
|
|
5086
|
+
filterOperatorsDropDownLabel="{{ '{fields} Filter Operators' }}"
|
|
5087
|
+
|
|
5088
|
+
i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"
|
|
5089
|
+
filterEqOperator="Is equal to"
|
|
5090
|
+
|
|
5091
|
+
i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"
|
|
5092
|
+
filterNotEqOperator="Is not equal to"
|
|
5093
|
+
|
|
5094
|
+
i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"
|
|
5095
|
+
filterIsNullOperator="Is null"
|
|
5096
|
+
|
|
5097
|
+
i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
5098
|
+
filterIsNotNullOperator="Is not null"
|
|
5099
|
+
|
|
5100
|
+
i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
5101
|
+
filterIsEmptyOperator="Is empty"
|
|
5102
|
+
|
|
5103
|
+
i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
5104
|
+
filterIsNotEmptyOperator="Is not empty"
|
|
5105
|
+
|
|
5106
|
+
i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"
|
|
5107
|
+
filterStartsWithOperator="Starts with"
|
|
5108
|
+
|
|
5109
|
+
i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"
|
|
5110
|
+
filterContainsOperator="Contains"
|
|
5111
|
+
|
|
5112
|
+
i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
5113
|
+
filterNotContainsOperator="Does not contain"
|
|
5114
|
+
|
|
5115
|
+
i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"
|
|
5116
|
+
filterEndsWithOperator="Ends with"
|
|
5117
|
+
|
|
5118
|
+
i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"
|
|
5119
|
+
filterFilterButton="Filter"
|
|
5120
|
+
|
|
5121
|
+
i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"
|
|
5122
|
+
filterClearButton="Clear"
|
|
5123
|
+
|
|
5124
|
+
i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"
|
|
5125
|
+
configuratorButtonText="Change Settings"
|
|
5126
|
+
|
|
5127
|
+
i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"
|
|
5128
|
+
configuratorHeaderText="Settings"
|
|
5129
|
+
|
|
5130
|
+
i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"
|
|
5131
|
+
configuratorFieldsText="Fields"
|
|
5132
|
+
|
|
5133
|
+
i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"
|
|
5134
|
+
configuratorColumnsText="Columns"
|
|
5135
|
+
|
|
5136
|
+
i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"
|
|
5137
|
+
configuratorRowsText="Rows"
|
|
5138
|
+
|
|
5139
|
+
i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"
|
|
5140
|
+
configuratorValuesText="Values"
|
|
5141
|
+
|
|
5142
|
+
i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"
|
|
5143
|
+
configuratorCancelButtonText="Cancel"
|
|
5144
|
+
|
|
5145
|
+
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
5146
|
+
configuratorApplyButtonText="Apply"
|
|
5023
5147
|
|
|
5024
|
-
|
|
5025
|
-
|
|
5148
|
+
i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"
|
|
5149
|
+
configuratorEmptyRowsText="Select some fields to begin setup"
|
|
5026
5150
|
|
|
5027
|
-
|
|
5028
|
-
|
|
5151
|
+
i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"
|
|
5152
|
+
configuratorEmptyColumnsText="Select some fields to begin setup"
|
|
5029
5153
|
|
|
5030
|
-
|
|
5154
|
+
i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"
|
|
5155
|
+
configuratorEmptyMeasuresText="Select some fields to begin setup"
|
|
5156
|
+
|
|
5157
|
+
i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
|
|
5158
|
+
chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
|
|
5159
|
+
|
|
5160
|
+
i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
|
|
5161
|
+
fieldMenuMoveToColumnsItem="Move to Columns"
|
|
5162
|
+
|
|
5163
|
+
i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
|
|
5164
|
+
fieldMenuMoveToRowsItem="Move to Rows"
|
|
5165
|
+
|
|
5166
|
+
i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
|
|
5167
|
+
fieldMenuMovePreviousItem="Move as previous"
|
|
5168
|
+
|
|
5169
|
+
i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
|
|
5031
5170
|
fieldMenuMoveNextItem="Move as next"></ng-container>
|
|
5032
|
-
|
|
5171
|
+
|
|
5033
5172
|
<div #table class="k-pivotgrid" role="grid">
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
|
|
5037
|
-
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
|
|
5056
|
-
|
|
5057
|
-
|
|
5058
|
-
|
|
5059
|
-
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
|
|
5063
|
-
|
|
5173
|
+
<span class="k-pivotgrid-empty-cell" role="columnheader">
|
|
5174
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
5175
|
+
</span>
|
|
5176
|
+
<kendo-pivotgrid-table
|
|
5177
|
+
#colHeadersTable
|
|
5178
|
+
[colWidth]="columnHeadersWidth"
|
|
5179
|
+
[customCellTemplate]="customCellTemplate"
|
|
5180
|
+
[columnHeaderCellTemplate]="columnHeaderCellTemplate"
|
|
5181
|
+
class="k-pivotgrid-column-headers"
|
|
5182
|
+
tableType="columnHeader"></kendo-pivotgrid-table>
|
|
5183
|
+
<kendo-pivotgrid-table
|
|
5184
|
+
#rowHeadersTable
|
|
5185
|
+
[customCellTemplate]="customCellTemplate"
|
|
5186
|
+
[rowHeaderCellTemplate]="rowHeaderCellTemplate"
|
|
5187
|
+
class="k-pivotgrid-row-headers"
|
|
5188
|
+
tableType="rowHeader"></kendo-pivotgrid-table>
|
|
5189
|
+
<kendo-pivotgrid-table
|
|
5190
|
+
#valuesTable
|
|
5191
|
+
[customCellTemplate]="customCellTemplate"
|
|
5192
|
+
[valueCellTemplate]="valueCellTemplate"
|
|
5193
|
+
[colWidth]="columnHeadersWidth"
|
|
5194
|
+
class="k-pivotgrid-values"
|
|
5195
|
+
[scrollableSettings]="virtualScrolling"
|
|
5196
|
+
tableType="values"></kendo-pivotgrid-table>
|
|
5197
|
+
|
|
5198
|
+
@if (loading) {
|
|
5199
|
+
<div [style]="'position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);'">
|
|
5200
|
+
<kendo-loader
|
|
5201
|
+
[type]="loaderSettings?.type"
|
|
5202
|
+
[themeColor]="loaderSettings?.themeColor"
|
|
5203
|
+
[size]="loaderSettings?.size"
|
|
5064
5204
|
>
|
|
5065
|
-
|
|
5066
|
-
|
|
5205
|
+
</kendo-loader>
|
|
5206
|
+
<span class="k-loading-text">{{ loadingText }}</span>
|
|
5067
5207
|
</div>
|
|
5208
|
+
}
|
|
5068
5209
|
</div>
|
|
5069
|
-
|
|
5210
|
+
@if (showConfigurator) {
|
|
5211
|
+
<kendo-pivotgrid-configurator
|
|
5070
5212
|
#configurator
|
|
5071
|
-
*ngIf="showConfigurator"
|
|
5072
5213
|
[navigation]="configuratorNavigation"
|
|
5073
5214
|
[orientation]="configuratorSettings.orientation"
|
|
5074
5215
|
(close)="toggleConfigurator()">
|
|
5075
|
-
|
|
5076
|
-
|
|
5216
|
+
</kendo-pivotgrid-configurator>
|
|
5217
|
+
}
|
|
5218
|
+
@if (configurator) {
|
|
5219
|
+
<div
|
|
5077
5220
|
#configuratorButton
|
|
5078
5221
|
class="k-pivotgrid-configurator-button"
|
|
5079
5222
|
aria-hidden="true"
|
|
5080
5223
|
(click)="toggleConfigurator()">
|
|
5081
5224
|
<span>{{messageFor('configuratorButtonText')}}<kendo-icon-wrapper name="gear" [svgIcon]="gearSVGIcon"></kendo-icon-wrapper>
|
|
5082
|
-
|
|
5225
|
+
</span>
|
|
5083
5226
|
</div>
|
|
5084
|
-
|
|
5227
|
+
}
|
|
5228
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoPivotGridLocalizedMessages]" }, { kind: "component", type: PivotGridTableComponent, selector: "kendo-pivotgrid-table", inputs: ["tableType", "colWidth", "customCellTemplate", "valueCellTemplate", "rowHeaderCellTemplate", "columnHeaderCellTemplate", "scrollableSettings"] }, { kind: "component", type: LoaderComponent, selector: "kendo-loader", inputs: ["type", "themeColor", "size"] }, { kind: "component", type: PivotGridConfiguratorComponent, selector: "kendo-pivotgrid-configurator", inputs: ["orientation", "sort", "filter", "navigation"], outputs: ["close"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
5085
5229
|
}
|
|
5086
5230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PivotGridComponent, decorators: [{
|
|
5087
5231
|
type: Component,
|
|
@@ -5099,165 +5243,170 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
5099
5243
|
],
|
|
5100
5244
|
template: `
|
|
5101
5245
|
<ng-container kendoPivotGridLocalizedMessages
|
|
5102
|
-
|
|
5103
|
-
|
|
5246
|
+
i18n-loading="kendo.pivotgrid.loading|The loading text"
|
|
5247
|
+
loading="Loading"
|
|
5104
5248
|
|
|
5105
|
-
|
|
5106
|
-
|
|
5249
|
+
i18n-emptyCellLabel="kendo.pivotgrid.emptyCellLabel|The value of the aria-label attribute placed on the focusable empty cell element"
|
|
5250
|
+
emptyCellLabel="PivotGrid Empty Cell"
|
|
5107
5251
|
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"
|
|
5112
|
-
fieldMenuSortAscendingItemLabel="Sort ascending"
|
|
5113
|
-
|
|
5114
|
-
i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"
|
|
5115
|
-
fieldMenuSortDescendingItemLabel="Sort descending"
|
|
5116
|
-
|
|
5117
|
-
i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"
|
|
5118
|
-
filterInputLabel="{{ '{fields} Filter' }}"
|
|
5119
|
-
|
|
5120
|
-
i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"
|
|
5121
|
-
filterOperatorsDropDownLabel="{{ '{fields} Filter Operators' }}"
|
|
5122
|
-
|
|
5123
|
-
i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"
|
|
5124
|
-
filterEqOperator="Is equal to"
|
|
5125
|
-
|
|
5126
|
-
i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"
|
|
5127
|
-
filterNotEqOperator="Is not equal to"
|
|
5128
|
-
|
|
5129
|
-
i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"
|
|
5130
|
-
filterIsNullOperator="Is null"
|
|
5131
|
-
|
|
5132
|
-
i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
5133
|
-
filterIsNotNullOperator="Is not null"
|
|
5134
|
-
|
|
5135
|
-
i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
5136
|
-
filterIsEmptyOperator="Is empty"
|
|
5137
|
-
|
|
5138
|
-
i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
5139
|
-
filterIsNotEmptyOperator="Is not empty"
|
|
5140
|
-
|
|
5141
|
-
i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"
|
|
5142
|
-
filterStartsWithOperator="Starts with"
|
|
5143
|
-
|
|
5144
|
-
i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"
|
|
5145
|
-
filterContainsOperator="Contains"
|
|
5146
|
-
|
|
5147
|
-
i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
5148
|
-
filterNotContainsOperator="Does not contain"
|
|
5149
|
-
|
|
5150
|
-
i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"
|
|
5151
|
-
filterEndsWithOperator="Ends with"
|
|
5152
|
-
|
|
5153
|
-
i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"
|
|
5154
|
-
filterFilterButton="Filter"
|
|
5155
|
-
|
|
5156
|
-
i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"
|
|
5157
|
-
filterClearButton="Clear"
|
|
5158
|
-
|
|
5159
|
-
i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"
|
|
5160
|
-
configuratorButtonText="Change Settings"
|
|
5161
|
-
|
|
5162
|
-
i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"
|
|
5163
|
-
configuratorHeaderText="Settings"
|
|
5164
|
-
|
|
5165
|
-
i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"
|
|
5166
|
-
configuratorFieldsText="Fields"
|
|
5167
|
-
|
|
5168
|
-
i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"
|
|
5169
|
-
configuratorColumnsText="Columns"
|
|
5170
|
-
|
|
5171
|
-
i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"
|
|
5172
|
-
configuratorRowsText="Rows"
|
|
5173
|
-
|
|
5174
|
-
i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"
|
|
5175
|
-
configuratorValuesText="Values"
|
|
5176
|
-
|
|
5177
|
-
i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"
|
|
5178
|
-
configuratorCancelButtonText="Cancel"
|
|
5179
|
-
|
|
5180
|
-
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
5181
|
-
configuratorApplyButtonText="Apply"
|
|
5252
|
+
i18n-fieldMenuFilterItemLabel="kendo.pivotgrid.fieldMenuFilterItemLabel|The text content of the filter item in the column and row fields menu"
|
|
5253
|
+
fieldMenuFilterItemLabel="Filter"
|
|
5182
5254
|
|
|
5183
|
-
|
|
5184
|
-
|
|
5255
|
+
i18n-fieldMenuSortAscendingItemLabel="kendo.pivotgrid.fieldMenuSortAscendingItemLabel|The text content of the sort ascending item in the column and row fields menu"
|
|
5256
|
+
fieldMenuSortAscendingItemLabel="Sort ascending"
|
|
5185
5257
|
|
|
5186
|
-
|
|
5187
|
-
|
|
5258
|
+
i18n-fieldMenuSortDescendingItemLabel="kendo.pivotgrid.fieldMenuSortDescendingItemLabel|The text content of the sort descending item in the column and row fields menu"
|
|
5259
|
+
fieldMenuSortDescendingItemLabel="Sort descending"
|
|
5188
5260
|
|
|
5189
|
-
|
|
5190
|
-
|
|
5261
|
+
i18n-filterInputLabel="kendo.pivotgrid.filterInputLabel|The label of the filter input"
|
|
5262
|
+
filterInputLabel="{{ '{fields} Filter' }}"
|
|
5191
5263
|
|
|
5192
|
-
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5264
|
+
i18n-filterOperatorsDropDownLabel="kendo.pivotgrid.filterOperatorsDropDownLabel|The label of the filter operators DropDownList"
|
|
5265
|
+
filterOperatorsDropDownLabel="{{ '{fields} Filter Operators' }}"
|
|
5266
|
+
|
|
5267
|
+
i18n-filterEqOperator="kendo.pivotgrid.filterEqOperator|The text of the equal filter operator"
|
|
5268
|
+
filterEqOperator="Is equal to"
|
|
5269
|
+
|
|
5270
|
+
i18n-filterNotEqOperator="kendo.pivotgrid.filterNotEqOperator|The text of the not equal filter operator"
|
|
5271
|
+
filterNotEqOperator="Is not equal to"
|
|
5272
|
+
|
|
5273
|
+
i18n-filterIsNullOperator="kendo.pivotgrid.filterIsNullOperator|The text of the is null filter operator"
|
|
5274
|
+
filterIsNullOperator="Is null"
|
|
5275
|
+
|
|
5276
|
+
i18n-filterIsNotNullOperator="kendo.pivotgrid.filterIsNotNullOperator|The text of the is not null filter operator"
|
|
5277
|
+
filterIsNotNullOperator="Is not null"
|
|
5278
|
+
|
|
5279
|
+
i18n-filterIsEmptyOperator="kendo.pivotgrid.filterIsEmptyOperator|The text of the is empty filter operator"
|
|
5280
|
+
filterIsEmptyOperator="Is empty"
|
|
5281
|
+
|
|
5282
|
+
i18n-filterIsNotEmptyOperator="kendo.pivotgrid.filterIsNotEmptyOperator|The text of the is not empty filter operator"
|
|
5283
|
+
filterIsNotEmptyOperator="Is not empty"
|
|
5284
|
+
|
|
5285
|
+
i18n-filterStartsWithOperator="kendo.pivotgrid.filterStartsWithOperator|The text of the starts with filter operator"
|
|
5286
|
+
filterStartsWithOperator="Starts with"
|
|
5287
|
+
|
|
5288
|
+
i18n-filterContainsOperator="kendo.pivotgrid.filterContainsOperator|The text of the contains filter operator"
|
|
5289
|
+
filterContainsOperator="Contains"
|
|
5290
|
+
|
|
5291
|
+
i18n-filterNotContainsOperator="kendo.pivotgrid.filterNotContainsOperator|The text of the does not contain filter operator"
|
|
5292
|
+
filterNotContainsOperator="Does not contain"
|
|
5293
|
+
|
|
5294
|
+
i18n-filterEndsWithOperator="kendo.pivotgrid.filterEndsWithOperator|The text of the ends with filter operator"
|
|
5295
|
+
filterEndsWithOperator="Ends with"
|
|
5296
|
+
|
|
5297
|
+
i18n-filterFilterButton="kendo.pivotgrid.filterFilterButton|The text of the filter button"
|
|
5298
|
+
filterFilterButton="Filter"
|
|
5299
|
+
|
|
5300
|
+
i18n-filterClearButton="kendo.pivotgrid.filterClearButton|The text of the clear filter button"
|
|
5301
|
+
filterClearButton="Clear"
|
|
5302
|
+
|
|
5303
|
+
i18n-configuratorButtonText="kendo.pivotgrid.configuratorButtonText|The text content of the button that opens and closes the PivotGrid configurator"
|
|
5304
|
+
configuratorButtonText="Change Settings"
|
|
5305
|
+
|
|
5306
|
+
i18n-configuratorHeaderText="kendo.pivotgrid.configuratorHeaderText|The text content of the PivotGrid configurator title element"
|
|
5307
|
+
configuratorHeaderText="Settings"
|
|
5308
|
+
|
|
5309
|
+
i18n-configuratorFieldsText="kendo.pivotgrid.configuratorFieldsText|The text content of the PivotGrid configurator fields section title element"
|
|
5310
|
+
configuratorFieldsText="Fields"
|
|
5311
|
+
|
|
5312
|
+
i18n-configuratorColumnsText="kendo.pivotgrid.configuratorColumnsText|The text content of the PivotGrid configurator columns section title element"
|
|
5313
|
+
configuratorColumnsText="Columns"
|
|
5197
5314
|
|
|
5198
|
-
|
|
5199
|
-
|
|
5315
|
+
i18n-configuratorRowsText="kendo.pivotgrid.configuratorRowsText|The text content of the PivotGrid configurator rows section title element"
|
|
5316
|
+
configuratorRowsText="Rows"
|
|
5200
5317
|
|
|
5201
|
-
|
|
5202
|
-
|
|
5318
|
+
i18n-configuratorValuesText="kendo.pivotgrid.configuratorValuesText|The text content of the PivotGrid configurator values section title element"
|
|
5319
|
+
configuratorValuesText="Values"
|
|
5203
5320
|
|
|
5204
|
-
|
|
5321
|
+
i18n-configuratorCancelButtonText="kendo.pivotgrid.configuratorCancelButtonText|The text content of the PivotGrid configurator configurator Cancel button"
|
|
5322
|
+
configuratorCancelButtonText="Cancel"
|
|
5323
|
+
|
|
5324
|
+
i18n-configuratorApplyButtonText="kendo.pivotgrid.configuratorApplyButtonText|The text content of the PivotGrid configurator configurator Apply button"
|
|
5325
|
+
configuratorApplyButtonText="Apply"
|
|
5326
|
+
|
|
5327
|
+
i18n-configuratorEmptyRowsText="kendo.pivotgrid.configuratorEmptyRowsText|The text content of the PivotGrid configurator empty rows container"
|
|
5328
|
+
configuratorEmptyRowsText="Select some fields to begin setup"
|
|
5329
|
+
|
|
5330
|
+
i18n-configuratorEmptyColumnsText="kendo.pivotgrid.configuratorEmptyColumnsText|The text content of the PivotGrid configurator empty columns container"
|
|
5331
|
+
configuratorEmptyColumnsText="Select some fields to begin setup"
|
|
5332
|
+
|
|
5333
|
+
i18n-configuratorEmptyMeasuresText="kendo.pivotgrid.configuratorEmptyMeasuresText|The text content of the PivotGrid configurator empty measures container"
|
|
5334
|
+
configuratorEmptyMeasuresText="Select some fields to begin setup"
|
|
5335
|
+
|
|
5336
|
+
i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
|
|
5337
|
+
chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
|
|
5338
|
+
|
|
5339
|
+
i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
|
|
5340
|
+
fieldMenuMoveToColumnsItem="Move to Columns"
|
|
5341
|
+
|
|
5342
|
+
i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
|
|
5343
|
+
fieldMenuMoveToRowsItem="Move to Rows"
|
|
5344
|
+
|
|
5345
|
+
i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
|
|
5346
|
+
fieldMenuMovePreviousItem="Move as previous"
|
|
5347
|
+
|
|
5348
|
+
i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
|
|
5205
5349
|
fieldMenuMoveNextItem="Move as next"></ng-container>
|
|
5206
|
-
|
|
5350
|
+
|
|
5207
5351
|
<div #table class="k-pivotgrid" role="grid">
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
|
|
5227
|
-
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5352
|
+
<span class="k-pivotgrid-empty-cell" role="columnheader">
|
|
5353
|
+
<span class="k-sr-only">{{messageFor('emptyCellLabel')}}</span>
|
|
5354
|
+
</span>
|
|
5355
|
+
<kendo-pivotgrid-table
|
|
5356
|
+
#colHeadersTable
|
|
5357
|
+
[colWidth]="columnHeadersWidth"
|
|
5358
|
+
[customCellTemplate]="customCellTemplate"
|
|
5359
|
+
[columnHeaderCellTemplate]="columnHeaderCellTemplate"
|
|
5360
|
+
class="k-pivotgrid-column-headers"
|
|
5361
|
+
tableType="columnHeader"></kendo-pivotgrid-table>
|
|
5362
|
+
<kendo-pivotgrid-table
|
|
5363
|
+
#rowHeadersTable
|
|
5364
|
+
[customCellTemplate]="customCellTemplate"
|
|
5365
|
+
[rowHeaderCellTemplate]="rowHeaderCellTemplate"
|
|
5366
|
+
class="k-pivotgrid-row-headers"
|
|
5367
|
+
tableType="rowHeader"></kendo-pivotgrid-table>
|
|
5368
|
+
<kendo-pivotgrid-table
|
|
5369
|
+
#valuesTable
|
|
5370
|
+
[customCellTemplate]="customCellTemplate"
|
|
5371
|
+
[valueCellTemplate]="valueCellTemplate"
|
|
5372
|
+
[colWidth]="columnHeadersWidth"
|
|
5373
|
+
class="k-pivotgrid-values"
|
|
5374
|
+
[scrollableSettings]="virtualScrolling"
|
|
5375
|
+
tableType="values"></kendo-pivotgrid-table>
|
|
5376
|
+
|
|
5377
|
+
@if (loading) {
|
|
5378
|
+
<div [style]="'position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);'">
|
|
5379
|
+
<kendo-loader
|
|
5380
|
+
[type]="loaderSettings?.type"
|
|
5381
|
+
[themeColor]="loaderSettings?.themeColor"
|
|
5382
|
+
[size]="loaderSettings?.size"
|
|
5238
5383
|
>
|
|
5239
|
-
|
|
5240
|
-
|
|
5384
|
+
</kendo-loader>
|
|
5385
|
+
<span class="k-loading-text">{{ loadingText }}</span>
|
|
5241
5386
|
</div>
|
|
5387
|
+
}
|
|
5242
5388
|
</div>
|
|
5243
|
-
|
|
5389
|
+
@if (showConfigurator) {
|
|
5390
|
+
<kendo-pivotgrid-configurator
|
|
5244
5391
|
#configurator
|
|
5245
|
-
*ngIf="showConfigurator"
|
|
5246
5392
|
[navigation]="configuratorNavigation"
|
|
5247
5393
|
[orientation]="configuratorSettings.orientation"
|
|
5248
5394
|
(close)="toggleConfigurator()">
|
|
5249
|
-
|
|
5250
|
-
|
|
5395
|
+
</kendo-pivotgrid-configurator>
|
|
5396
|
+
}
|
|
5397
|
+
@if (configurator) {
|
|
5398
|
+
<div
|
|
5251
5399
|
#configuratorButton
|
|
5252
5400
|
class="k-pivotgrid-configurator-button"
|
|
5253
5401
|
aria-hidden="true"
|
|
5254
5402
|
(click)="toggleConfigurator()">
|
|
5255
5403
|
<span>{{messageFor('configuratorButtonText')}}<kendo-icon-wrapper name="gear" [svgIcon]="gearSVGIcon"></kendo-icon-wrapper>
|
|
5256
|
-
|
|
5404
|
+
</span>
|
|
5257
5405
|
</div>
|
|
5258
|
-
|
|
5406
|
+
}
|
|
5407
|
+
`,
|
|
5259
5408
|
standalone: true,
|
|
5260
|
-
imports: [LocalizedMessagesDirective, PivotGridTableComponent,
|
|
5409
|
+
imports: [LocalizedMessagesDirective, PivotGridTableComponent, LoaderComponent, PivotGridConfiguratorComponent, IconWrapperComponent]
|
|
5261
5410
|
}]
|
|
5262
5411
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: PivotGridDataService }, { type: i1$1.LocalizationService }, { type: i0.Renderer2 }, { type: i1$4.ScrollbarWidthService }, { type: PivotGridScrollService }], propDecorators: { hostClass: [{
|
|
5263
5412
|
type: HostBinding,
|