@progress/kendo-angular-pivotgrid 14.1.0-develop.1 → 14.1.0-develop.11

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.
Files changed (28) hide show
  1. package/configurator/chip-menu/chip-menu-item.component.d.ts +5 -1
  2. package/configurator/chip-menu/chip-menu-reorder.component.d.ts +44 -0
  3. package/configurator/chip-menu/chip-menu.component.d.ts +5 -3
  4. package/configurator/chip-menu/chip-menu.module.d.ts +4 -3
  5. package/configurator/chip-menu/chip-menu.service.d.ts +5 -1
  6. package/configurator/configurator.service.d.ts +3 -0
  7. package/configurator/draggable.directive.d.ts +5 -3
  8. package/esm2020/configurator/chip-menu/chip-menu-filter.component.mjs +1 -1
  9. package/esm2020/configurator/chip-menu/chip-menu-item.component.mjs +7 -1
  10. package/esm2020/configurator/chip-menu/chip-menu-reorder.component.mjs +185 -0
  11. package/esm2020/configurator/chip-menu/chip-menu-sort.component.mjs +1 -1
  12. package/esm2020/configurator/chip-menu/chip-menu.component.mjs +56 -33
  13. package/esm2020/configurator/chip-menu/chip-menu.module.mjs +8 -3
  14. package/esm2020/configurator/chip-menu/chip-menu.service.mjs +12 -3
  15. package/esm2020/configurator/configurator.component.mjs +20 -2
  16. package/esm2020/configurator/configurator.service.mjs +3 -0
  17. package/esm2020/configurator/draggable.directive.mjs +17 -8
  18. package/esm2020/localization/messages.mjs +9 -1
  19. package/esm2020/models/configurator-chipmenu-reorder-target.mjs +5 -0
  20. package/esm2020/package-metadata.mjs +2 -2
  21. package/esm2020/pivotgrid.component.mjs +26 -2
  22. package/fesm2015/progress-kendo-angular-pivotgrid.mjs +324 -56
  23. package/fesm2020/progress-kendo-angular-pivotgrid.mjs +323 -56
  24. package/localization/messages.d.ts +17 -1
  25. package/localization/pivot-localization.service.d.ts +1 -1
  26. package/models/configurator-chipmenu-reorder-target.d.ts +8 -0
  27. package/package.json +12 -12
  28. package/schematics/ngAdd/index.js +1 -1
@@ -10,10 +10,10 @@ import { isDocumentAvailable, PreventableEvent, Keys, isChanged, hasObservers, a
10
10
  import { toTree, toRows, toColumns, toData, configuratorReducer, PIVOT_CONFIGURATOR_ACTION, PivotGridNavigation, ConfiguratorNavigation, HEADERS_ACTION, headersReducer, createFlatSchemaDimensions, createDataTree, createLocalDataState, rootFields, fetchData, createDataState, fetchDiscover, addKPI, buildKPIMeasures } from '@progress/kendo-pivotgrid-common';
11
11
  export { averageAggregate, maxAggregate, minAggregate, sumAggregate } from '@progress/kendo-pivotgrid-common';
12
12
  import { BehaviorSubject, Subscription, Subject, from, of, fromEvent } from 'rxjs';
13
- import { take, mergeMap, merge } from 'rxjs/operators';
13
+ import { take, tap, mergeMap, merge } from 'rxjs/operators';
14
14
  import * as i1 from '@progress/kendo-angular-l10n';
15
15
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
16
- import { chevronUpIcon, chevronDownIcon, sortAscSmallIcon, sortDescSmallIcon, filterIcon, moreVerticalIcon, gearIcon } from '@progress/kendo-svg-icons';
16
+ import { chevronUpIcon, chevronDownIcon, sortAscSmallIcon, sortDescSmallIcon, filterIcon, columnsIcon, rowsIcon, arrowLeftIcon, arrowRightIcon, moreVerticalIcon, gearIcon } from '@progress/kendo-svg-icons';
17
17
  import * as i2 from '@progress/kendo-angular-icons';
18
18
  import { IconsModule } from '@progress/kendo-angular-icons';
19
19
  import * as i7 from '@angular/common';
@@ -41,8 +41,8 @@ const packageMetadata = {
41
41
  name: '@progress/kendo-angular-pivotgrid',
42
42
  productName: 'Kendo UI for Angular',
43
43
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
44
- publishDate: 1698853374,
45
- version: '14.1.0-develop.1',
44
+ publishDate: 1699450680,
45
+ version: '14.1.0-develop.11',
46
46
  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'
47
47
  };
48
48
 
@@ -528,6 +528,7 @@ class ConfiguratorService {
528
528
  constructor(dataService) {
529
529
  this.dataService = dataService;
530
530
  this.configuratorStateChange = new EventEmitter();
531
+ this.closeMenu = new EventEmitter();
531
532
  }
532
533
  parseConfiguratorState(action) {
533
534
  const newState = configuratorReducer({
@@ -553,6 +554,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
553
554
  type: Injectable
554
555
  }], ctorParameters: function () { return [{ type: PivotGridDataService }]; }, propDecorators: { configuratorStateChange: [{
555
556
  type: Output
557
+ }], closeMenu: [{
558
+ type: Output
556
559
  }] } });
557
560
 
558
561
  /**
@@ -755,9 +758,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
755
758
  * Represents the service that is passed to the ChipMenuFilterComponent and ChipMenuSortComponent.
756
759
  */
757
760
  class ChipMenuService {
758
- constructor(menuTabbingService) {
761
+ constructor(menuTabbingService, configuratorService) {
762
+ this.configuratorService = configuratorService;
759
763
  this.closeMenu = new EventEmitter();
764
+ this.sub = new Subscription();
760
765
  this.menuTabbingService = menuTabbingService;
766
+ configuratorService && (this.sub = configuratorService.closeMenu.subscribe(() => this.close()));
761
767
  }
762
768
  /**
763
769
  * Closes the chip menu.
@@ -765,12 +771,15 @@ class ChipMenuService {
765
771
  close() {
766
772
  this.closeMenu.emit();
767
773
  }
774
+ ngOnDestroy() {
775
+ this.sub.unsubscribe();
776
+ }
768
777
  }
769
- ChipMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, deps: [{ token: MenuTabbingService }], target: i0.ɵɵFactoryTarget.Injectable });
778
+ ChipMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, deps: [{ token: MenuTabbingService }, { token: ConfiguratorService }], target: i0.ɵɵFactoryTarget.Injectable });
770
779
  ChipMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService });
771
780
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, decorators: [{
772
781
  type: Injectable
773
- }], ctorParameters: function () { return [{ type: MenuTabbingService }]; } });
782
+ }], ctorParameters: function () { return [{ type: MenuTabbingService }, { type: ConfiguratorService }]; } });
774
783
 
775
784
  /**
776
785
  * @hidden
@@ -993,14 +1002,16 @@ class ChipMenuItemComponent {
993
1002
  }
994
1003
  }
995
1004
  ChipMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
996
- ChipMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", expanded: "expanded" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ChipMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
1005
+ ChipMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChipMenuItemComponent, 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: `
997
1006
  <div
998
1007
  class="k-columnmenu-item"
999
1008
  (click)="onClick($event)"
1000
1009
  (keydown.enter)="onClick($event)"
1001
1010
  [class.k-selected]="selected"
1011
+ [class.k-disabled]="disabled"
1002
1012
  role="button"
1003
1013
  [attr.aria-expanded]="expanded"
1014
+ [attr.aria-disabled]="disabled"
1004
1015
  >
1005
1016
  <kendo-icon-wrapper
1006
1017
  *ngIf="icon"
@@ -1068,8 +1079,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1068
1079
  (click)="onClick($event)"
1069
1080
  (keydown.enter)="onClick($event)"
1070
1081
  [class.k-selected]="selected"
1082
+ [class.k-disabled]="disabled"
1071
1083
  role="button"
1072
1084
  [attr.aria-expanded]="expanded"
1085
+ [attr.aria-disabled]="disabled"
1073
1086
  >
1074
1087
  <kendo-icon-wrapper
1075
1088
  *ngIf="icon"
@@ -1099,6 +1112,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1099
1112
  type: Input
1100
1113
  }], expanded: [{
1101
1114
  type: Input
1115
+ }], disabled: [{
1116
+ type: Input
1102
1117
  }], contentTemplate: [{
1103
1118
  type: ContentChild,
1104
1119
  args: [ChipMenuItemContentTemplateDirective, { static: false }]
@@ -1163,7 +1178,7 @@ ChipMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1163
1178
  (itemClick)="toggleSort('desc')"
1164
1179
  [selected]="sortedDesc">
1165
1180
  </kendo-pivot-chipmenu-item>
1166
- `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded"], outputs: ["itemClick", "expand", "collapse"] }] });
1181
+ `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }] });
1167
1182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuSortComponent, decorators: [{
1168
1183
  type: Component,
1169
1184
  args: [{
@@ -1565,7 +1580,7 @@ ChipMenuFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1565
1580
  </kendo-pivot-filter-menu-container>
1566
1581
  </ng-template>
1567
1582
  </kendo-pivot-chipmenu-item>
1568
- `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { type: FilterMenuContainerComponent, selector: "kendo-pivot-filter-menu-container", inputs: ["chip", "isLast", "isExpanded", "menuTabbingService", "actionsClass"], outputs: ["close"] }], directives: [{ type: ChipMenuItemContentTemplateDirective, selector: "[kendoPivotChipMenuItemContentTemplate]" }] });
1583
+ `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }, { type: FilterMenuContainerComponent, selector: "kendo-pivot-filter-menu-container", inputs: ["chip", "isLast", "isExpanded", "menuTabbingService", "actionsClass"], outputs: ["close"] }], directives: [{ type: ChipMenuItemContentTemplateDirective, selector: "[kendoPivotChipMenuItemContentTemplate]" }] });
1569
1584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuFilterComponent, decorators: [{
1570
1585
  type: Component,
1571
1586
  args: [{
@@ -1605,6 +1620,175 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1605
1620
  type: Input
1606
1621
  }] } });
1607
1622
 
1623
+ /**
1624
+ * @hidden
1625
+ *
1626
+ * Represents a chip-menu item for reordering PivotGrid fields.
1627
+ */
1628
+ class ChipMenuReorderComponent extends ChipMenuItemBase {
1629
+ constructor(localization, renderer, configuratorService, dataService, cdr, ngZone) {
1630
+ super();
1631
+ this.localization = localization;
1632
+ this.renderer = renderer;
1633
+ this.configuratorService = configuratorService;
1634
+ this.dataService = dataService;
1635
+ this.cdr = cdr;
1636
+ this.ngZone = ngZone;
1637
+ this.columnsIcon = columnsIcon;
1638
+ this.rowsIcon = rowsIcon;
1639
+ this.arrowLeftIcon = arrowLeftIcon;
1640
+ this.arrowRightIcon = arrowRightIcon;
1641
+ this.rtl = false;
1642
+ this.subs = this.localization.localization.changes.subscribe(({ rtl }) => this.rtl = rtl);
1643
+ }
1644
+ get isColumnsField() {
1645
+ return this.configuratorService.state.columnAxes.some(item => item === this.chip);
1646
+ }
1647
+ get isRowsField() {
1648
+ return this.configuratorService.state.rowAxes.some(item => item === this.chip);
1649
+ }
1650
+ get isMeasureField() {
1651
+ return this.configuratorService.state.measureAxes.some(item => item === this.chip);
1652
+ }
1653
+ get isFirst() {
1654
+ const state = this.configuratorService.state;
1655
+ return this.isColumnsField && state.columnAxes[0] === this.chip ||
1656
+ this.isRowsField && state.rowAxes[0] === this.chip ||
1657
+ this.isMeasureField && state.measureAxes[0] === this.chip;
1658
+ }
1659
+ get isLast() {
1660
+ const state = this.configuratorService.state;
1661
+ return this.isColumnsField && state.columnAxes[state.columnAxes.length - 1] === this.chip ||
1662
+ this.isRowsField && state.rowAxes[state.rowAxes.length - 1] === this.chip ||
1663
+ this.isMeasureField && state.measureAxes[state.measureAxes.length - 1] === this.chip;
1664
+ }
1665
+ ngOnDestroy() {
1666
+ this.subs.unsubscribe();
1667
+ }
1668
+ messageFor(localizationToken) {
1669
+ return this.localization.get(localizationToken);
1670
+ }
1671
+ move(e, target) {
1672
+ const isDisabled = e.target.closest('.k-columnmenu-item').getAttribute('aria-disabled') !== 'false';
1673
+ if (isDisabled) {
1674
+ return;
1675
+ }
1676
+ const currentState = this.configuratorService.state;
1677
+ switch (target) {
1678
+ case 'columns':
1679
+ {
1680
+ const newRows = currentState.rowAxes.filter(item => item !== this.chip);
1681
+ const newCols = [...currentState.columnAxes, this.chip];
1682
+ const newState = Object.assign(Object.assign({}, currentState), { rowAxes: newRows, columnAxes: newCols });
1683
+ this.configuratorService.configuratorInstance.setState(newState);
1684
+ this.ngZone.runOutsideAngular(() => setTimeout(() => { var _a; return (_a = this.configuratorService.configuratorInstance[`${target}List`]) === null || _a === void 0 ? void 0 : _a.chips.last.element.nativeElement.click(); }));
1685
+ }
1686
+ break;
1687
+ case 'rows':
1688
+ {
1689
+ const newCols = currentState.columnAxes.filter(item => item !== this.chip);
1690
+ const newRows = [...currentState.rowAxes, this.chip];
1691
+ const newState = Object.assign(Object.assign({}, currentState), { rowAxes: newRows, columnAxes: newCols });
1692
+ this.configuratorService.configuratorInstance.setState(newState);
1693
+ this.ngZone.runOutsideAngular(() => setTimeout(() => { var _a; return (_a = this.configuratorService.configuratorInstance[`${target}List`]) === null || _a === void 0 ? void 0 : _a.chips.last.element.nativeElement.click(); }));
1694
+ }
1695
+ break;
1696
+ case 'prev':
1697
+ {
1698
+ const axis = currentState.rowAxes.indexOf(this.chip) > -1 ? 'row' : currentState.columnAxes.indexOf(this.chip) > -1 ? 'column' : 'measure';
1699
+ const index = currentState[`${axis}Axes`].indexOf(this.chip);
1700
+ swapItems(currentState[`${axis}Axes`], index, index - 1);
1701
+ const newState = Object.assign({}, currentState);
1702
+ this.configuratorService.configuratorInstance.setState(newState);
1703
+ }
1704
+ break;
1705
+ case 'next':
1706
+ {
1707
+ const axis = currentState.rowAxes.indexOf(this.chip) > -1 ? 'row' : currentState.columnAxes.indexOf(this.chip) > -1 ? 'column' : 'measure';
1708
+ const index = currentState[`${axis}Axes`].indexOf(this.chip);
1709
+ swapItems(currentState[`${axis}Axes`], index, index + 1);
1710
+ const newState = Object.assign({}, currentState);
1711
+ this.configuratorService.configuratorInstance.setState(newState);
1712
+ }
1713
+ break;
1714
+ }
1715
+ this.close();
1716
+ }
1717
+ }
1718
+ ChipMenuReorderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuReorderComponent, deps: [{ token: PivotLocalizationService }, { token: i0.Renderer2 }, { token: ConfiguratorService }, { token: PivotGridDataService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1719
+ ChipMenuReorderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChipMenuReorderComponent, selector: "kendo-pivot-chipmenu-reorder", inputs: { chip: "chip" }, usesInheritance: true, ngImport: i0, template: `
1720
+ <kendo-pivot-chipmenu-item
1721
+ *ngIf="!isMeasureField"
1722
+ [disabled]="isColumnsField"
1723
+ [text]="messageFor('fieldMenuMoveToColumnsItem')"
1724
+ icon="columns"
1725
+ [svgIcon]="columnsIcon"
1726
+ (itemClick)="move($event, 'columns')">
1727
+ </kendo-pivot-chipmenu-item>
1728
+ <kendo-pivot-chipmenu-item
1729
+ *ngIf="!isMeasureField"
1730
+ [disabled]="isRowsField"
1731
+ [text]="messageFor('fieldMenuMoveToRowsItem')"
1732
+ icon="rows"
1733
+ [svgIcon]="rowsIcon"
1734
+ (itemClick)="move($event, 'rows')">
1735
+ </kendo-pivot-chipmenu-item>
1736
+ <kendo-pivot-chipmenu-item
1737
+ [disabled]="isFirst"
1738
+ [text]="messageFor('fieldMenuMovePreviousItem')"
1739
+ [icon]="rtl ? 'arrow-right' : 'arrow-left'"
1740
+ [svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"
1741
+ (itemClick)="move($event, 'prev')">
1742
+ </kendo-pivot-chipmenu-item>
1743
+ <kendo-pivot-chipmenu-item
1744
+ [disabled]="isLast"
1745
+ [text]="messageFor('fieldMenuMoveNextItem')"
1746
+ [icon]="rtl ? 'arrow-left' : 'arrow-right'"
1747
+ [svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"
1748
+ (itemClick)="move($event, 'next')">
1749
+ </kendo-pivot-chipmenu-item>
1750
+ `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuReorderComponent, decorators: [{
1752
+ type: Component,
1753
+ args: [{
1754
+ selector: 'kendo-pivot-chipmenu-reorder',
1755
+ template: `
1756
+ <kendo-pivot-chipmenu-item
1757
+ *ngIf="!isMeasureField"
1758
+ [disabled]="isColumnsField"
1759
+ [text]="messageFor('fieldMenuMoveToColumnsItem')"
1760
+ icon="columns"
1761
+ [svgIcon]="columnsIcon"
1762
+ (itemClick)="move($event, 'columns')">
1763
+ </kendo-pivot-chipmenu-item>
1764
+ <kendo-pivot-chipmenu-item
1765
+ *ngIf="!isMeasureField"
1766
+ [disabled]="isRowsField"
1767
+ [text]="messageFor('fieldMenuMoveToRowsItem')"
1768
+ icon="rows"
1769
+ [svgIcon]="rowsIcon"
1770
+ (itemClick)="move($event, 'rows')">
1771
+ </kendo-pivot-chipmenu-item>
1772
+ <kendo-pivot-chipmenu-item
1773
+ [disabled]="isFirst"
1774
+ [text]="messageFor('fieldMenuMovePreviousItem')"
1775
+ [icon]="rtl ? 'arrow-right' : 'arrow-left'"
1776
+ [svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"
1777
+ (itemClick)="move($event, 'prev')">
1778
+ </kendo-pivot-chipmenu-item>
1779
+ <kendo-pivot-chipmenu-item
1780
+ [disabled]="isLast"
1781
+ [text]="messageFor('fieldMenuMoveNextItem')"
1782
+ [icon]="rtl ? 'arrow-left' : 'arrow-right'"
1783
+ [svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"
1784
+ (itemClick)="move($event, 'next')">
1785
+ </kendo-pivot-chipmenu-item>
1786
+ `
1787
+ }]
1788
+ }], ctorParameters: function () { return [{ type: PivotLocalizationService }, { type: i0.Renderer2 }, { type: ConfiguratorService }, { type: PivotGridDataService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { chip: [{
1789
+ type: Input
1790
+ }] } });
1791
+
1608
1792
  /* eslint-disable @typescript-eslint/no-explicit-any */
1609
1793
  const POPUP_CLASS = 'k-column-menu';
1610
1794
  /**
@@ -1613,11 +1797,13 @@ const POPUP_CLASS = 'k-column-menu';
1613
1797
  * Represents the field chip menu component.
1614
1798
  */
1615
1799
  class ChipMenuComponent {
1616
- constructor(popupService, localization, service) {
1800
+ constructor(popupService, localization, service, renderer) {
1617
1801
  this.popupService = popupService;
1618
1802
  this.localization = localization;
1619
1803
  this.service = service;
1804
+ this.renderer = renderer;
1620
1805
  this.tabIndex = '-1';
1806
+ this.isMeasureField = false;
1621
1807
  this.menuItemSVGIcon = moreVerticalIcon;
1622
1808
  this.closeSubscription = service.closeMenu.subscribe(this.close.bind(this));
1623
1809
  }
@@ -1632,6 +1818,7 @@ class ChipMenuComponent {
1632
1818
  }
1633
1819
  const anchor = this.anchor.nativeElement;
1634
1820
  this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASS);
1821
+ this.popupRef && this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.localization.rtl ? 'rtl' : 'ltr');
1635
1822
  if (!this.popupRef) {
1636
1823
  anchor.focus();
1637
1824
  }
@@ -1647,8 +1834,8 @@ class ChipMenuComponent {
1647
1834
  return replaceMessagePlaceholder(localizationMsg, 'fieldName', chipName);
1648
1835
  }
1649
1836
  }
1650
- ChipMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuComponent, deps: [{ token: SinglePopupService }, { token: PivotLocalizationService }, { token: ChipMenuService }], target: i0.ɵɵFactoryTarget.Component });
1651
- ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChipMenuComponent, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex" }, providers: [
1837
+ ChipMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuComponent, deps: [{ token: SinglePopupService }, { token: PivotLocalizationService }, { token: ChipMenuService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1838
+ ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChipMenuComponent, selector: "kendo-pivot-chip-menu", inputs: { chip: "chip", tabIndex: "tabIndex", isMeasureField: "isMeasureField" }, providers: [
1652
1839
  ChipMenuService,
1653
1840
  MenuTabbingService
1654
1841
  ], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
@@ -1665,23 +1852,31 @@ ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1665
1852
  <kendo-pivot-chipmenu-container
1666
1853
  (keydown.escape)="close()"
1667
1854
  (keydown.enter)="$event.stopImmediatePropagation()">
1668
- <kendo-pivot-chipmenu-sort
1669
- #sortItem
1855
+ <ng-container *ngIf="!isMeasureField">
1856
+ <kendo-pivot-chipmenu-sort
1857
+ #sortItem
1858
+ [chip]="chip"
1859
+ [kendoPivotChipMenuItem]="sortItem"
1860
+ [service]="service">
1861
+ </kendo-pivot-chipmenu-sort>
1862
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1863
+ <kendo-pivot-chipmenu-filter
1864
+ #filterItem
1865
+ [chip]="chip"
1866
+ [isLast]="true"
1867
+ [kendoPivotChipMenuItem]="filterItem"
1868
+ [service]="service">
1869
+ </kendo-pivot-chipmenu-filter>
1870
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1871
+ </ng-container>
1872
+ <kendo-pivot-chipmenu-reorder
1873
+ #reorderItem
1670
1874
  [chip]="chip"
1671
- [kendoPivotChipMenuItem]="sortItem"
1672
- [service]="service">
1673
- </kendo-pivot-chipmenu-sort>
1674
-
1675
- <kendo-pivot-chipmenu-filter
1676
- #filterItem
1677
- [chip]="chip"
1678
- [isLast]="true"
1679
- [kendoPivotChipMenuItem]="filterItem"
1680
- [service]="service">
1681
- </kendo-pivot-chipmenu-filter>
1875
+ [kendoPivotChipMenuItem]="reorderItem"
1876
+ [service]="service"></kendo-pivot-chipmenu-reorder>
1682
1877
  </kendo-pivot-chipmenu-container>
1683
1878
  </ng-template>
1684
- `, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: ChipMenuContainerComponent, selector: "kendo-pivot-chipmenu-container" }, { type: ChipMenuSortComponent, selector: "kendo-pivot-chipmenu-sort", inputs: ["chip"] }, { type: ChipMenuFilterComponent, selector: "kendo-pivot-chipmenu-filter", inputs: ["chip", "expanded", "isLast"], outputs: ["expand", "collapse"] }], directives: [{ type: ChipMenuItemDirective, selector: "[kendoPivotChipMenuItem]", inputs: ["kendoPivotChipMenuItem"] }] });
1879
+ `, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: ChipMenuContainerComponent, selector: "kendo-pivot-chipmenu-container" }, { type: ChipMenuSortComponent, selector: "kendo-pivot-chipmenu-sort", inputs: ["chip"] }, { type: ChipMenuFilterComponent, selector: "kendo-pivot-chipmenu-filter", inputs: ["chip", "expanded", "isLast"], outputs: ["expand", "collapse"] }, { type: ChipMenuReorderComponent, selector: "kendo-pivot-chipmenu-reorder", inputs: ["chip"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ChipMenuItemDirective, selector: "[kendoPivotChipMenuItem]", inputs: ["kendoPivotChipMenuItem"] }] });
1685
1880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuComponent, decorators: [{
1686
1881
  type: Component,
1687
1882
  args: [{
@@ -1704,28 +1899,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1704
1899
  <kendo-pivot-chipmenu-container
1705
1900
  (keydown.escape)="close()"
1706
1901
  (keydown.enter)="$event.stopImmediatePropagation()">
1707
- <kendo-pivot-chipmenu-sort
1708
- #sortItem
1709
- [chip]="chip"
1710
- [kendoPivotChipMenuItem]="sortItem"
1711
- [service]="service">
1712
- </kendo-pivot-chipmenu-sort>
1713
-
1714
- <kendo-pivot-chipmenu-filter
1715
- #filterItem
1902
+ <ng-container *ngIf="!isMeasureField">
1903
+ <kendo-pivot-chipmenu-sort
1904
+ #sortItem
1905
+ [chip]="chip"
1906
+ [kendoPivotChipMenuItem]="sortItem"
1907
+ [service]="service">
1908
+ </kendo-pivot-chipmenu-sort>
1909
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1910
+ <kendo-pivot-chipmenu-filter
1911
+ #filterItem
1912
+ [chip]="chip"
1913
+ [isLast]="true"
1914
+ [kendoPivotChipMenuItem]="filterItem"
1915
+ [service]="service">
1916
+ </kendo-pivot-chipmenu-filter>
1917
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1918
+ </ng-container>
1919
+ <kendo-pivot-chipmenu-reorder
1920
+ #reorderItem
1716
1921
  [chip]="chip"
1717
- [isLast]="true"
1718
- [kendoPivotChipMenuItem]="filterItem"
1719
- [service]="service">
1720
- </kendo-pivot-chipmenu-filter>
1922
+ [kendoPivotChipMenuItem]="reorderItem"
1923
+ [service]="service"></kendo-pivot-chipmenu-reorder>
1721
1924
  </kendo-pivot-chipmenu-container>
1722
1925
  </ng-template>
1723
1926
  `
1724
1927
  }]
1725
- }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: PivotLocalizationService }, { type: ChipMenuService }]; }, propDecorators: { chip: [{
1928
+ }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: PivotLocalizationService }, { type: ChipMenuService }, { type: i0.Renderer2 }]; }, propDecorators: { chip: [{
1726
1929
  type: Input
1727
1930
  }], tabIndex: [{
1728
1931
  type: Input
1932
+ }], isMeasureField: [{
1933
+ type: Input
1729
1934
  }], anchor: [{
1730
1935
  type: ViewChild,
1731
1936
  args: ['anchor', { static: true, read: ElementRef }]
@@ -1903,16 +2108,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1903
2108
  * @hidden
1904
2109
  */
1905
2110
  class DraggableChipDirective {
1906
- constructor(draggable, element, zone, service, cue, renderer) {
2111
+ constructor(draggable, element, zone, service, cue, renderer, cdr) {
1907
2112
  this.draggable = draggable;
1908
2113
  this.element = element;
1909
2114
  this.zone = zone;
1910
2115
  this.service = service;
1911
2116
  this.cue = cue;
1912
2117
  this.renderer = renderer;
2118
+ this.cdr = cdr;
1913
2119
  this.touchActions = 'none';
1914
2120
  this.initialX = {};
1915
2121
  this.initialY = {};
2122
+ this.invalidTarget = false;
1916
2123
  this.subs = new Subscription();
1917
2124
  }
1918
2125
  get pointerEvents() {
@@ -1920,9 +2127,14 @@ class DraggableChipDirective {
1920
2127
  }
1921
2128
  ngOnInit() {
1922
2129
  this.subs.add(this.draggable.kendoPress
1923
- .subscribe((event) => {
2130
+ .pipe(tap((e) => {
2131
+ this.service.closeMenu.emit();
2132
+ if (e.originalEvent.target.closest('.k-icon-wrapper-host')) {
2133
+ this.invalidTarget = true;
2134
+ }
2135
+ })).subscribe((event) => {
1924
2136
  this.zone.runOutsideAngular(() => {
1925
- if (isDocumentAvailable()) {
2137
+ if (isDocumentAvailable() && !this.invalidTarget) {
1926
2138
  this.initialX.current = event.clientX;
1927
2139
  this.initialY.current = event.clientY;
1928
2140
  const element = this.element.nativeElement;
@@ -1939,14 +2151,14 @@ class DraggableChipDirective {
1939
2151
  .subscribe((event) => {
1940
2152
  this.zone.runOutsideAngular(() => {
1941
2153
  var _a;
1942
- if (isDocumentAvailable()) {
2154
+ if (isDocumentAvailable() && !this.invalidTarget) {
1943
2155
  const isDragging = Math.abs(this.initialX.current - event.clientX) > 5 ||
1944
2156
  Math.abs(this.initialY.current - event.clientY) > 5;
1945
2157
  if (!isDragging) {
1946
2158
  return;
1947
2159
  }
1948
2160
  this.drag = true;
1949
- if (!((_a = document.elementFromPoint(event.clientX, event.clientY)) === null || _a === void 0 ? void 0 : _a.closest('.k-pivotgrid-configurator [kendodroptarget]'))) {
2161
+ if (!((_a = document.elementFromPoint(event.clientX, event.clientY)) === null || _a === void 0 ? void 0 : _a.closest('.k-pivotgrid-configurator'))) {
1950
2162
  return;
1951
2163
  }
1952
2164
  this.renderer.setStyle(this.element.nativeElement, 'transform', `translate(${event.clientX - this.initialX.current}px, ${event.clientY - this.initialY.current}px)`);
@@ -1957,6 +2169,7 @@ class DraggableChipDirective {
1957
2169
  .subscribe(() => {
1958
2170
  this.zone.runOutsideAngular(() => {
1959
2171
  this.drag = false;
2172
+ this.invalidTarget = false;
1960
2173
  if (this.service.state.dragItem) {
1961
2174
  const element = this.element.nativeElement;
1962
2175
  if (isDocumentAvailable()) {
@@ -1982,7 +2195,7 @@ class DraggableChipDirective {
1982
2195
  this.subs.unsubscribe();
1983
2196
  }
1984
2197
  }
1985
- DraggableChipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, deps: [{ token: i1$1.DraggableDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: ConfiguratorService }, { token: DropCueService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2198
+ DraggableChipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, deps: [{ token: i1$1.DraggableDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: ConfiguratorService }, { token: DropCueService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
1986
2199
  DraggableChipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: { item: "item" }, host: { properties: { "style.pointerEvents": "this.pointerEvents", "style.touch-action": "this.touchActions" } }, ngImport: i0 });
1987
2200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, decorators: [{
1988
2201
  type: Directive,
@@ -1992,7 +2205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1992
2205
  }], ctorParameters: function () {
1993
2206
  return [{ type: i1$1.DraggableDirective, decorators: [{
1994
2207
  type: Optional
1995
- }] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: ConfiguratorService }, { type: DropCueService }, { type: i0.Renderer2 }];
2208
+ }] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: ConfiguratorService }, { type: DropCueService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }];
1996
2209
  }, propDecorators: { pointerEvents: [{
1997
2210
  type: HostBinding,
1998
2211
  args: ['style.pointerEvents']
@@ -2088,6 +2301,7 @@ class PivotGridConfiguratorComponent {
2088
2301
  }
2089
2302
  return of(node.children);
2090
2303
  };
2304
+ this.configuratorService.configuratorInstance = this;
2091
2305
  }
2092
2306
  get headerTextId() {
2093
2307
  return `k-pivotgrid-${this.dataService.pivotGridId}-configurator-header`;
@@ -2146,6 +2360,7 @@ class PivotGridConfiguratorComponent {
2146
2360
  filter: state.filter
2147
2361
  };
2148
2362
  this.state = this.configuratorService.state = state;
2363
+ this.cdr.detectChanges();
2149
2364
  }
2150
2365
  onReorder(ev, name, item) {
2151
2366
  const currentCollection = this.state[`${name}Axes`];
@@ -2208,16 +2423,17 @@ class PivotGridConfiguratorComponent {
2208
2423
  * when a chip is deleted from the UI
2209
2424
  */
2210
2425
  onChipRemove(ev, item, section) {
2426
+ var _a;
2211
2427
  const filteredItems = this.dataService.state[`${section}Axes`].filter(descriptor => descriptor !== item);
2212
2428
  this.dataService.state[`${section}Axes`] = filteredItems;
2213
2429
  const newState = Object.assign(Object.assign({}, this.state), this.dataService.state);
2214
2430
  this.checked = this.checked.filter(checkedItem => checkedItem.uniqueName !== item.name[0]);
2431
+ const targetIndex = (_a = this.navigation) === null || _a === void 0 ? void 0 : _a.elements.indexOf(ev.sender.element.nativeElement);
2215
2432
  this.setState(newState);
2216
2433
  if (!this.navigation) {
2217
2434
  return;
2218
2435
  }
2219
2436
  ;
2220
- const targetIndex = this.navigation.elements.indexOf(ev.sender.element.nativeElement);
2221
2437
  this.zone.runOutsideAngular(() => setTimeout(() => this.navigation.focusElement(this.navigation.elements[targetIndex - 1], this.navigation.elements[targetIndex])));
2222
2438
  }
2223
2439
  /**
@@ -2421,6 +2637,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2421
2637
  #columnsChiplist
2422
2638
  kendoDropTarget
2423
2639
  axes="columnAxes"
2640
+ [style.width.%]="100"
2424
2641
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
2425
2642
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2426
2643
  >
@@ -2459,6 +2676,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2459
2676
  axes="rowAxes"
2460
2677
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('rows')"
2461
2678
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2679
+ [style.width.%]="100"
2462
2680
  >
2463
2681
  <ng-container *ngFor="let item of state.rowAxes">
2464
2682
  <kendo-chip *ngIf="item.name.length === 1"
@@ -2502,6 +2720,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2502
2720
  axes="measureAxes"
2503
2721
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('values')"
2504
2722
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2723
+ [style.width.%]="100"
2505
2724
  >
2506
2725
  <kendo-chip *ngFor="let item of state.measureAxes"
2507
2726
  kendoChipDraggable
@@ -2516,6 +2735,11 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2516
2735
  (reorder)="onReorder($event, 'measure', item)"
2517
2736
  >
2518
2737
  {{ getName(item.name) }}
2738
+
2739
+ <kendo-pivot-chip-menu
2740
+ [isMeasureField]="true"
2741
+ [chip]="item">
2742
+ </kendo-pivot-chip-menu>
2519
2743
  </kendo-chip>
2520
2744
  </kendo-chiplist>
2521
2745
 
@@ -2531,7 +2755,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2531
2755
  <button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor('configuratorApplyButtonText')}}</button>
2532
2756
  </div>
2533
2757
  </div>
2534
- `, isInline: true, components: [{ type: i4.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"] }, { type: i5.ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { type: i5.ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarClass", "selected", "removable", "removeIcon", "removeSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "contentClick"] }, { type: ChipMenuComponent, selector: "kendo-pivot-chip-menu", inputs: ["chip", "tabIndex"] }, { type: i5.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { type: i4.NodeTemplateDirective, selector: "[kendoTreeViewNodeTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["item", "axes"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: ["item"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: ChipKeyboardNavigationDirective, selector: "[kendoChipKeyboardNavigation]", outputs: ["reorder"] }] });
2758
+ `, isInline: true, components: [{ type: i4.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"] }, { type: i5.ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { type: i5.ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarClass", "selected", "removable", "removeIcon", "removeSvgIcon", "hasMenu", "menuIcon", "menuSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "menuToggle", "contentClick"] }, { type: ChipMenuComponent, selector: "kendo-pivot-chip-menu", inputs: ["chip", "tabIndex", "isMeasureField"] }, { type: i5.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { type: i4.NodeTemplateDirective, selector: "[kendoTreeViewNodeTemplate]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["item", "axes"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: ["item"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: ChipKeyboardNavigationDirective, selector: "[kendoChipKeyboardNavigation]", outputs: ["reorder"] }] });
2535
2759
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
2536
2760
  type: Component,
2537
2761
  args: [{
@@ -2606,6 +2830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2606
2830
  #columnsChiplist
2607
2831
  kendoDropTarget
2608
2832
  axes="columnAxes"
2833
+ [style.width.%]="100"
2609
2834
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
2610
2835
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2611
2836
  >
@@ -2644,6 +2869,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2644
2869
  axes="rowAxes"
2645
2870
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('rows')"
2646
2871
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2872
+ [style.width.%]="100"
2647
2873
  >
2648
2874
  <ng-container *ngFor="let item of state.rowAxes">
2649
2875
  <kendo-chip *ngIf="item.name.length === 1"
@@ -2687,6 +2913,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2687
2913
  axes="measureAxes"
2688
2914
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('values')"
2689
2915
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2916
+ [style.width.%]="100"
2690
2917
  >
2691
2918
  <kendo-chip *ngFor="let item of state.measureAxes"
2692
2919
  kendoChipDraggable
@@ -2701,6 +2928,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2701
2928
  (reorder)="onReorder($event, 'measure', item)"
2702
2929
  >
2703
2930
  {{ getName(item.name) }}
2931
+
2932
+ <kendo-pivot-chip-menu
2933
+ [isMeasureField]="true"
2934
+ [chip]="item">
2935
+ </kendo-pivot-chip-menu>
2704
2936
  </kendo-chip>
2705
2937
  </kendo-chiplist>
2706
2938
 
@@ -2754,7 +2986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2754
2986
  class PivotGridMessages extends ComponentMessages {
2755
2987
  }
2756
2988
  PivotGridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2757
- PivotGridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PivotGridMessages, inputs: { fieldMenuFilterItemLabel: "fieldMenuFilterItemLabel", fieldMenuSortAscendingItemLabel: "fieldMenuSortAscendingItemLabel", fieldMenuSortDescendingItemLabel: "fieldMenuSortDescendingItemLabel", filterInputLabel: "filterInputLabel", filterOperatorsDropDownLabel: "filterOperatorsDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", loading: "loading", emptyCellLabel: "emptyCellLabel", configuratorButtonText: "configuratorButtonText", configuratorHeaderText: "configuratorHeaderText", configuratorFieldsText: "configuratorFieldsText", configuratorColumnsText: "configuratorColumnsText", configuratorRowsText: "configuratorRowsText", configuratorValuesText: "configuratorValuesText", configuratorCancelButtonText: "configuratorCancelButtonText", configuratorApplyButtonText: "configuratorApplyButtonText", configuratorEmptyRowsText: "configuratorEmptyRowsText", configuratorEmptyColumnsText: "configuratorEmptyColumnsText", configuratorEmptyMeasuresText: "configuratorEmptyMeasuresText", chipMenuIconTitle: "chipMenuIconTitle" }, usesInheritance: true, ngImport: i0 });
2989
+ PivotGridMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: PivotGridMessages, inputs: { fieldMenuFilterItemLabel: "fieldMenuFilterItemLabel", fieldMenuSortAscendingItemLabel: "fieldMenuSortAscendingItemLabel", fieldMenuSortDescendingItemLabel: "fieldMenuSortDescendingItemLabel", filterInputLabel: "filterInputLabel", filterOperatorsDropDownLabel: "filterOperatorsDropDownLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", loading: "loading", emptyCellLabel: "emptyCellLabel", configuratorButtonText: "configuratorButtonText", configuratorHeaderText: "configuratorHeaderText", configuratorFieldsText: "configuratorFieldsText", configuratorColumnsText: "configuratorColumnsText", configuratorRowsText: "configuratorRowsText", configuratorValuesText: "configuratorValuesText", configuratorCancelButtonText: "configuratorCancelButtonText", configuratorApplyButtonText: "configuratorApplyButtonText", configuratorEmptyRowsText: "configuratorEmptyRowsText", configuratorEmptyColumnsText: "configuratorEmptyColumnsText", configuratorEmptyMeasuresText: "configuratorEmptyMeasuresText", fieldMenuMoveToColumnsItem: "fieldMenuMoveToColumnsItem", fieldMenuMoveToRowsItem: "fieldMenuMoveToRowsItem", fieldMenuMovePreviousItem: "fieldMenuMovePreviousItem", fieldMenuMoveNextItem: "fieldMenuMoveNextItem", chipMenuIconTitle: "chipMenuIconTitle" }, usesInheritance: true, ngImport: i0 });
2758
2990
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridMessages, decorators: [{
2759
2991
  type: Directive
2760
2992
  }], propDecorators: { fieldMenuFilterItemLabel: [{
@@ -2817,6 +3049,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2817
3049
  type: Input
2818
3050
  }], configuratorEmptyMeasuresText: [{
2819
3051
  type: Input
3052
+ }], fieldMenuMoveToColumnsItem: [{
3053
+ type: Input
3054
+ }], fieldMenuMoveToRowsItem: [{
3055
+ type: Input
3056
+ }], fieldMenuMovePreviousItem: [{
3057
+ type: Input
3058
+ }], fieldMenuMoveNextItem: [{
3059
+ type: Input
2820
3060
  }], chipMenuIconTitle: [{
2821
3061
  type: Input
2822
3062
  }] } });
@@ -3175,7 +3415,19 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
3175
3415
  configuratorEmptyMeasuresText="Select some fields to begin setup"
3176
3416
 
3177
3417
  i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
3178
- chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"></ng-container>
3418
+ chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
3419
+
3420
+ i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
3421
+ fieldMenuMoveToColumnsItem="Move to Columns"
3422
+
3423
+ i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
3424
+ fieldMenuMoveToRowsItem="Move to Rows"
3425
+
3426
+ i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
3427
+ fieldMenuMovePreviousItem="Move as previous"
3428
+
3429
+ i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
3430
+ fieldMenuMoveNextItem="Move as next"></ng-container>
3179
3431
 
3180
3432
  <div #table class="k-pivotgrid" role="grid">
3181
3433
  <span class="k-pivotgrid-empty-cell" role="columnheader">
@@ -3328,7 +3580,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3328
3580
  configuratorEmptyMeasuresText="Select some fields to begin setup"
3329
3581
 
3330
3582
  i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
3331
- chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"></ng-container>
3583
+ chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
3584
+
3585
+ i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
3586
+ fieldMenuMoveToColumnsItem="Move to Columns"
3587
+
3588
+ i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
3589
+ fieldMenuMoveToRowsItem="Move to Rows"
3590
+
3591
+ i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
3592
+ fieldMenuMovePreviousItem="Move as previous"
3593
+
3594
+ i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
3595
+ fieldMenuMoveNextItem="Move as next"></ng-container>
3332
3596
 
3333
3597
  <div #table class="k-pivotgrid" role="grid">
3334
3598
  <span class="k-pivotgrid-empty-cell" role="columnheader">
@@ -3911,7 +4175,8 @@ const COMPONENTS = [
3911
4175
  StringFilterMenuComponent,
3912
4176
  FilterMenuDropDownListDirective,
3913
4177
  ChipMenuContainerComponent,
3914
- ChipMenuItemDirective
4178
+ ChipMenuItemDirective,
4179
+ ChipMenuReorderComponent
3915
4180
  ];
3916
4181
  /**
3917
4182
  * @hidden
@@ -3921,6 +4186,7 @@ class ChipMenuModule {
3921
4186
  return [
3922
4187
  ChipMenuItemComponent,
3923
4188
  ChipMenuSortComponent,
4189
+ ChipMenuReorderComponent,
3924
4190
  ChipMenuContainerComponent,
3925
4191
  ChipMenuItemDirective,
3926
4192
  ChipMenuComponent
@@ -3937,7 +4203,8 @@ ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
3937
4203
  StringFilterMenuComponent,
3938
4204
  FilterMenuDropDownListDirective,
3939
4205
  ChipMenuContainerComponent,
3940
- ChipMenuItemDirective], imports: [SharedModule,
4206
+ ChipMenuItemDirective,
4207
+ ChipMenuReorderComponent], imports: [SharedModule,
3941
4208
  ReactiveFormsModule,
3942
4209
  FormsModule], exports: [ChipMenuItemComponent,
3943
4210
  ChipMenuSortComponent,
@@ -3948,7 +4215,8 @@ ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
3948
4215
  StringFilterMenuComponent,
3949
4216
  FilterMenuDropDownListDirective,
3950
4217
  ChipMenuContainerComponent,
3951
- ChipMenuItemDirective] });
4218
+ ChipMenuItemDirective,
4219
+ ChipMenuReorderComponent] });
3952
4220
  ChipMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuModule, imports: [[
3953
4221
  SharedModule,
3954
4222
  ReactiveFormsModule,