@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';
@@ -40,8 +40,8 @@ const packageMetadata = {
40
40
  name: '@progress/kendo-angular-pivotgrid',
41
41
  productName: 'Kendo UI for Angular',
42
42
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
43
- publishDate: 1698853374,
44
- version: '14.1.0-develop.1',
43
+ publishDate: 1699450680,
44
+ version: '14.1.0-develop.11',
45
45
  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'
46
46
  };
47
47
 
@@ -524,6 +524,7 @@ class ConfiguratorService {
524
524
  constructor(dataService) {
525
525
  this.dataService = dataService;
526
526
  this.configuratorStateChange = new EventEmitter();
527
+ this.closeMenu = new EventEmitter();
527
528
  }
528
529
  parseConfiguratorState(action) {
529
530
  const newState = configuratorReducer({
@@ -549,6 +550,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
549
550
  type: Injectable
550
551
  }], ctorParameters: function () { return [{ type: PivotGridDataService }]; }, propDecorators: { configuratorStateChange: [{
551
552
  type: Output
553
+ }], closeMenu: [{
554
+ type: Output
552
555
  }] } });
553
556
 
554
557
  /**
@@ -750,9 +753,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
750
753
  * Represents the service that is passed to the ChipMenuFilterComponent and ChipMenuSortComponent.
751
754
  */
752
755
  class ChipMenuService {
753
- constructor(menuTabbingService) {
756
+ constructor(menuTabbingService, configuratorService) {
757
+ this.configuratorService = configuratorService;
754
758
  this.closeMenu = new EventEmitter();
759
+ this.sub = new Subscription();
755
760
  this.menuTabbingService = menuTabbingService;
761
+ configuratorService && (this.sub = configuratorService.closeMenu.subscribe(() => this.close()));
756
762
  }
757
763
  /**
758
764
  * Closes the chip menu.
@@ -760,12 +766,15 @@ class ChipMenuService {
760
766
  close() {
761
767
  this.closeMenu.emit();
762
768
  }
769
+ ngOnDestroy() {
770
+ this.sub.unsubscribe();
771
+ }
763
772
  }
764
- ChipMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, deps: [{ token: MenuTabbingService }], target: i0.ɵɵFactoryTarget.Injectable });
773
+ 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 });
765
774
  ChipMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService });
766
775
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, decorators: [{
767
776
  type: Injectable
768
- }], ctorParameters: function () { return [{ type: MenuTabbingService }]; } });
777
+ }], ctorParameters: function () { return [{ type: MenuTabbingService }, { type: ConfiguratorService }]; } });
769
778
 
770
779
  /**
771
780
  * @hidden
@@ -986,14 +995,16 @@ class ChipMenuItemComponent {
986
995
  }
987
996
  }
988
997
  ChipMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
989
- 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: `
998
+ 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: `
990
999
  <div
991
1000
  class="k-columnmenu-item"
992
1001
  (click)="onClick($event)"
993
1002
  (keydown.enter)="onClick($event)"
994
1003
  [class.k-selected]="selected"
1004
+ [class.k-disabled]="disabled"
995
1005
  role="button"
996
1006
  [attr.aria-expanded]="expanded"
1007
+ [attr.aria-disabled]="disabled"
997
1008
  >
998
1009
  <kendo-icon-wrapper
999
1010
  *ngIf="icon"
@@ -1061,8 +1072,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1061
1072
  (click)="onClick($event)"
1062
1073
  (keydown.enter)="onClick($event)"
1063
1074
  [class.k-selected]="selected"
1075
+ [class.k-disabled]="disabled"
1064
1076
  role="button"
1065
1077
  [attr.aria-expanded]="expanded"
1078
+ [attr.aria-disabled]="disabled"
1066
1079
  >
1067
1080
  <kendo-icon-wrapper
1068
1081
  *ngIf="icon"
@@ -1092,6 +1105,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1092
1105
  type: Input
1093
1106
  }], expanded: [{
1094
1107
  type: Input
1108
+ }], disabled: [{
1109
+ type: Input
1095
1110
  }], contentTemplate: [{
1096
1111
  type: ContentChild,
1097
1112
  args: [ChipMenuItemContentTemplateDirective, { static: false }]
@@ -1156,7 +1171,7 @@ ChipMenuSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1156
1171
  (itemClick)="toggleSort('desc')"
1157
1172
  [selected]="sortedDesc">
1158
1173
  </kendo-pivot-chipmenu-item>
1159
- `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded"], outputs: ["itemClick", "expand", "collapse"] }] });
1174
+ `, isInline: true, components: [{ type: ChipMenuItemComponent, selector: "kendo-pivot-chipmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "expanded", "disabled"], outputs: ["itemClick", "expand", "collapse"] }] });
1160
1175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuSortComponent, decorators: [{
1161
1176
  type: Component,
1162
1177
  args: [{
@@ -1560,7 +1575,7 @@ ChipMenuFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
1560
1575
  </kendo-pivot-filter-menu-container>
1561
1576
  </ng-template>
1562
1577
  </kendo-pivot-chipmenu-item>
1563
- `, 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]" }] });
1578
+ `, 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]" }] });
1564
1579
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuFilterComponent, decorators: [{
1565
1580
  type: Component,
1566
1581
  args: [{
@@ -1600,6 +1615,175 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1600
1615
  type: Input
1601
1616
  }] } });
1602
1617
 
1618
+ /**
1619
+ * @hidden
1620
+ *
1621
+ * Represents a chip-menu item for reordering PivotGrid fields.
1622
+ */
1623
+ class ChipMenuReorderComponent extends ChipMenuItemBase {
1624
+ constructor(localization, renderer, configuratorService, dataService, cdr, ngZone) {
1625
+ super();
1626
+ this.localization = localization;
1627
+ this.renderer = renderer;
1628
+ this.configuratorService = configuratorService;
1629
+ this.dataService = dataService;
1630
+ this.cdr = cdr;
1631
+ this.ngZone = ngZone;
1632
+ this.columnsIcon = columnsIcon;
1633
+ this.rowsIcon = rowsIcon;
1634
+ this.arrowLeftIcon = arrowLeftIcon;
1635
+ this.arrowRightIcon = arrowRightIcon;
1636
+ this.rtl = false;
1637
+ this.subs = this.localization.localization.changes.subscribe(({ rtl }) => this.rtl = rtl);
1638
+ }
1639
+ get isColumnsField() {
1640
+ return this.configuratorService.state.columnAxes.some(item => item === this.chip);
1641
+ }
1642
+ get isRowsField() {
1643
+ return this.configuratorService.state.rowAxes.some(item => item === this.chip);
1644
+ }
1645
+ get isMeasureField() {
1646
+ return this.configuratorService.state.measureAxes.some(item => item === this.chip);
1647
+ }
1648
+ get isFirst() {
1649
+ const state = this.configuratorService.state;
1650
+ return this.isColumnsField && state.columnAxes[0] === this.chip ||
1651
+ this.isRowsField && state.rowAxes[0] === this.chip ||
1652
+ this.isMeasureField && state.measureAxes[0] === this.chip;
1653
+ }
1654
+ get isLast() {
1655
+ const state = this.configuratorService.state;
1656
+ return this.isColumnsField && state.columnAxes[state.columnAxes.length - 1] === this.chip ||
1657
+ this.isRowsField && state.rowAxes[state.rowAxes.length - 1] === this.chip ||
1658
+ this.isMeasureField && state.measureAxes[state.measureAxes.length - 1] === this.chip;
1659
+ }
1660
+ ngOnDestroy() {
1661
+ this.subs.unsubscribe();
1662
+ }
1663
+ messageFor(localizationToken) {
1664
+ return this.localization.get(localizationToken);
1665
+ }
1666
+ move(e, target) {
1667
+ const isDisabled = e.target.closest('.k-columnmenu-item').getAttribute('aria-disabled') !== 'false';
1668
+ if (isDisabled) {
1669
+ return;
1670
+ }
1671
+ const currentState = this.configuratorService.state;
1672
+ switch (target) {
1673
+ case 'columns':
1674
+ {
1675
+ const newRows = currentState.rowAxes.filter(item => item !== this.chip);
1676
+ const newCols = [...currentState.columnAxes, this.chip];
1677
+ const newState = { ...currentState, rowAxes: newRows, columnAxes: newCols };
1678
+ this.configuratorService.configuratorInstance.setState(newState);
1679
+ this.ngZone.runOutsideAngular(() => setTimeout(() => this.configuratorService.configuratorInstance[`${target}List`]?.chips.last.element.nativeElement.click()));
1680
+ }
1681
+ break;
1682
+ case 'rows':
1683
+ {
1684
+ const newCols = currentState.columnAxes.filter(item => item !== this.chip);
1685
+ const newRows = [...currentState.rowAxes, this.chip];
1686
+ const newState = { ...currentState, rowAxes: newRows, columnAxes: newCols };
1687
+ this.configuratorService.configuratorInstance.setState(newState);
1688
+ this.ngZone.runOutsideAngular(() => setTimeout(() => this.configuratorService.configuratorInstance[`${target}List`]?.chips.last.element.nativeElement.click()));
1689
+ }
1690
+ break;
1691
+ case 'prev':
1692
+ {
1693
+ const axis = currentState.rowAxes.indexOf(this.chip) > -1 ? 'row' : currentState.columnAxes.indexOf(this.chip) > -1 ? 'column' : 'measure';
1694
+ const index = currentState[`${axis}Axes`].indexOf(this.chip);
1695
+ swapItems(currentState[`${axis}Axes`], index, index - 1);
1696
+ const newState = { ...currentState };
1697
+ this.configuratorService.configuratorInstance.setState(newState);
1698
+ }
1699
+ break;
1700
+ case 'next':
1701
+ {
1702
+ const axis = currentState.rowAxes.indexOf(this.chip) > -1 ? 'row' : currentState.columnAxes.indexOf(this.chip) > -1 ? 'column' : 'measure';
1703
+ const index = currentState[`${axis}Axes`].indexOf(this.chip);
1704
+ swapItems(currentState[`${axis}Axes`], index, index + 1);
1705
+ const newState = { ...currentState };
1706
+ this.configuratorService.configuratorInstance.setState(newState);
1707
+ }
1708
+ break;
1709
+ }
1710
+ this.close();
1711
+ }
1712
+ }
1713
+ 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 });
1714
+ 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: `
1715
+ <kendo-pivot-chipmenu-item
1716
+ *ngIf="!isMeasureField"
1717
+ [disabled]="isColumnsField"
1718
+ [text]="messageFor('fieldMenuMoveToColumnsItem')"
1719
+ icon="columns"
1720
+ [svgIcon]="columnsIcon"
1721
+ (itemClick)="move($event, 'columns')">
1722
+ </kendo-pivot-chipmenu-item>
1723
+ <kendo-pivot-chipmenu-item
1724
+ *ngIf="!isMeasureField"
1725
+ [disabled]="isRowsField"
1726
+ [text]="messageFor('fieldMenuMoveToRowsItem')"
1727
+ icon="rows"
1728
+ [svgIcon]="rowsIcon"
1729
+ (itemClick)="move($event, 'rows')">
1730
+ </kendo-pivot-chipmenu-item>
1731
+ <kendo-pivot-chipmenu-item
1732
+ [disabled]="isFirst"
1733
+ [text]="messageFor('fieldMenuMovePreviousItem')"
1734
+ [icon]="rtl ? 'arrow-right' : 'arrow-left'"
1735
+ [svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"
1736
+ (itemClick)="move($event, 'prev')">
1737
+ </kendo-pivot-chipmenu-item>
1738
+ <kendo-pivot-chipmenu-item
1739
+ [disabled]="isLast"
1740
+ [text]="messageFor('fieldMenuMoveNextItem')"
1741
+ [icon]="rtl ? 'arrow-left' : 'arrow-right'"
1742
+ [svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"
1743
+ (itemClick)="move($event, 'next')">
1744
+ </kendo-pivot-chipmenu-item>
1745
+ `, 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"] }] });
1746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuReorderComponent, decorators: [{
1747
+ type: Component,
1748
+ args: [{
1749
+ selector: 'kendo-pivot-chipmenu-reorder',
1750
+ template: `
1751
+ <kendo-pivot-chipmenu-item
1752
+ *ngIf="!isMeasureField"
1753
+ [disabled]="isColumnsField"
1754
+ [text]="messageFor('fieldMenuMoveToColumnsItem')"
1755
+ icon="columns"
1756
+ [svgIcon]="columnsIcon"
1757
+ (itemClick)="move($event, 'columns')">
1758
+ </kendo-pivot-chipmenu-item>
1759
+ <kendo-pivot-chipmenu-item
1760
+ *ngIf="!isMeasureField"
1761
+ [disabled]="isRowsField"
1762
+ [text]="messageFor('fieldMenuMoveToRowsItem')"
1763
+ icon="rows"
1764
+ [svgIcon]="rowsIcon"
1765
+ (itemClick)="move($event, 'rows')">
1766
+ </kendo-pivot-chipmenu-item>
1767
+ <kendo-pivot-chipmenu-item
1768
+ [disabled]="isFirst"
1769
+ [text]="messageFor('fieldMenuMovePreviousItem')"
1770
+ [icon]="rtl ? 'arrow-right' : 'arrow-left'"
1771
+ [svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"
1772
+ (itemClick)="move($event, 'prev')">
1773
+ </kendo-pivot-chipmenu-item>
1774
+ <kendo-pivot-chipmenu-item
1775
+ [disabled]="isLast"
1776
+ [text]="messageFor('fieldMenuMoveNextItem')"
1777
+ [icon]="rtl ? 'arrow-left' : 'arrow-right'"
1778
+ [svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"
1779
+ (itemClick)="move($event, 'next')">
1780
+ </kendo-pivot-chipmenu-item>
1781
+ `
1782
+ }]
1783
+ }], ctorParameters: function () { return [{ type: PivotLocalizationService }, { type: i0.Renderer2 }, { type: ConfiguratorService }, { type: PivotGridDataService }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { chip: [{
1784
+ type: Input
1785
+ }] } });
1786
+
1603
1787
  /* eslint-disable @typescript-eslint/no-explicit-any */
1604
1788
  const POPUP_CLASS = 'k-column-menu';
1605
1789
  /**
@@ -1608,11 +1792,13 @@ const POPUP_CLASS = 'k-column-menu';
1608
1792
  * Represents the field chip menu component.
1609
1793
  */
1610
1794
  class ChipMenuComponent {
1611
- constructor(popupService, localization, service) {
1795
+ constructor(popupService, localization, service, renderer) {
1612
1796
  this.popupService = popupService;
1613
1797
  this.localization = localization;
1614
1798
  this.service = service;
1799
+ this.renderer = renderer;
1615
1800
  this.tabIndex = '-1';
1801
+ this.isMeasureField = false;
1616
1802
  this.menuItemSVGIcon = moreVerticalIcon;
1617
1803
  this.closeSubscription = service.closeMenu.subscribe(this.close.bind(this));
1618
1804
  }
@@ -1627,6 +1813,7 @@ class ChipMenuComponent {
1627
1813
  }
1628
1814
  const anchor = this.anchor.nativeElement;
1629
1815
  this.popupRef = this.popupService.open(anchor, template, this.popupRef, POPUP_CLASS);
1816
+ this.popupRef && this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.localization.rtl ? 'rtl' : 'ltr');
1630
1817
  if (!this.popupRef) {
1631
1818
  anchor.focus();
1632
1819
  }
@@ -1642,8 +1829,8 @@ class ChipMenuComponent {
1642
1829
  return replaceMessagePlaceholder(localizationMsg, 'fieldName', chipName);
1643
1830
  }
1644
1831
  }
1645
- 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 });
1646
- 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: [
1832
+ 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 });
1833
+ 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: [
1647
1834
  ChipMenuService,
1648
1835
  MenuTabbingService
1649
1836
  ], viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
@@ -1660,23 +1847,31 @@ ChipMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1660
1847
  <kendo-pivot-chipmenu-container
1661
1848
  (keydown.escape)="close()"
1662
1849
  (keydown.enter)="$event.stopImmediatePropagation()">
1663
- <kendo-pivot-chipmenu-sort
1664
- #sortItem
1850
+ <ng-container *ngIf="!isMeasureField">
1851
+ <kendo-pivot-chipmenu-sort
1852
+ #sortItem
1853
+ [chip]="chip"
1854
+ [kendoPivotChipMenuItem]="sortItem"
1855
+ [service]="service">
1856
+ </kendo-pivot-chipmenu-sort>
1857
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1858
+ <kendo-pivot-chipmenu-filter
1859
+ #filterItem
1860
+ [chip]="chip"
1861
+ [isLast]="true"
1862
+ [kendoPivotChipMenuItem]="filterItem"
1863
+ [service]="service">
1864
+ </kendo-pivot-chipmenu-filter>
1865
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1866
+ </ng-container>
1867
+ <kendo-pivot-chipmenu-reorder
1868
+ #reorderItem
1665
1869
  [chip]="chip"
1666
- [kendoPivotChipMenuItem]="sortItem"
1667
- [service]="service">
1668
- </kendo-pivot-chipmenu-sort>
1669
-
1670
- <kendo-pivot-chipmenu-filter
1671
- #filterItem
1672
- [chip]="chip"
1673
- [isLast]="true"
1674
- [kendoPivotChipMenuItem]="filterItem"
1675
- [service]="service">
1676
- </kendo-pivot-chipmenu-filter>
1870
+ [kendoPivotChipMenuItem]="reorderItem"
1871
+ [service]="service"></kendo-pivot-chipmenu-reorder>
1677
1872
  </kendo-pivot-chipmenu-container>
1678
1873
  </ng-template>
1679
- `, 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"] }] });
1874
+ `, 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"] }] });
1680
1875
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuComponent, decorators: [{
1681
1876
  type: Component,
1682
1877
  args: [{
@@ -1699,28 +1894,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1699
1894
  <kendo-pivot-chipmenu-container
1700
1895
  (keydown.escape)="close()"
1701
1896
  (keydown.enter)="$event.stopImmediatePropagation()">
1702
- <kendo-pivot-chipmenu-sort
1703
- #sortItem
1704
- [chip]="chip"
1705
- [kendoPivotChipMenuItem]="sortItem"
1706
- [service]="service">
1707
- </kendo-pivot-chipmenu-sort>
1708
-
1709
- <kendo-pivot-chipmenu-filter
1710
- #filterItem
1897
+ <ng-container *ngIf="!isMeasureField">
1898
+ <kendo-pivot-chipmenu-sort
1899
+ #sortItem
1900
+ [chip]="chip"
1901
+ [kendoPivotChipMenuItem]="sortItem"
1902
+ [service]="service">
1903
+ </kendo-pivot-chipmenu-sort>
1904
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1905
+ <kendo-pivot-chipmenu-filter
1906
+ #filterItem
1907
+ [chip]="chip"
1908
+ [isLast]="true"
1909
+ [kendoPivotChipMenuItem]="filterItem"
1910
+ [service]="service">
1911
+ </kendo-pivot-chipmenu-filter>
1912
+ <span class="k-separator" [style.borderColor]="'rgba(0, 0, 0, 0.08)'"></span>
1913
+ </ng-container>
1914
+ <kendo-pivot-chipmenu-reorder
1915
+ #reorderItem
1711
1916
  [chip]="chip"
1712
- [isLast]="true"
1713
- [kendoPivotChipMenuItem]="filterItem"
1714
- [service]="service">
1715
- </kendo-pivot-chipmenu-filter>
1917
+ [kendoPivotChipMenuItem]="reorderItem"
1918
+ [service]="service"></kendo-pivot-chipmenu-reorder>
1716
1919
  </kendo-pivot-chipmenu-container>
1717
1920
  </ng-template>
1718
1921
  `
1719
1922
  }]
1720
- }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: PivotLocalizationService }, { type: ChipMenuService }]; }, propDecorators: { chip: [{
1923
+ }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: PivotLocalizationService }, { type: ChipMenuService }, { type: i0.Renderer2 }]; }, propDecorators: { chip: [{
1721
1924
  type: Input
1722
1925
  }], tabIndex: [{
1723
1926
  type: Input
1927
+ }], isMeasureField: [{
1928
+ type: Input
1724
1929
  }], anchor: [{
1725
1930
  type: ViewChild,
1726
1931
  args: ['anchor', { static: true, read: ElementRef }]
@@ -1896,16 +2101,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1896
2101
  * @hidden
1897
2102
  */
1898
2103
  class DraggableChipDirective {
1899
- constructor(draggable, element, zone, service, cue, renderer) {
2104
+ constructor(draggable, element, zone, service, cue, renderer, cdr) {
1900
2105
  this.draggable = draggable;
1901
2106
  this.element = element;
1902
2107
  this.zone = zone;
1903
2108
  this.service = service;
1904
2109
  this.cue = cue;
1905
2110
  this.renderer = renderer;
2111
+ this.cdr = cdr;
1906
2112
  this.touchActions = 'none';
1907
2113
  this.initialX = {};
1908
2114
  this.initialY = {};
2115
+ this.invalidTarget = false;
1909
2116
  this.subs = new Subscription();
1910
2117
  }
1911
2118
  get pointerEvents() {
@@ -1913,9 +2120,14 @@ class DraggableChipDirective {
1913
2120
  }
1914
2121
  ngOnInit() {
1915
2122
  this.subs.add(this.draggable.kendoPress
1916
- .subscribe((event) => {
2123
+ .pipe(tap((e) => {
2124
+ this.service.closeMenu.emit();
2125
+ if (e.originalEvent.target.closest('.k-icon-wrapper-host')) {
2126
+ this.invalidTarget = true;
2127
+ }
2128
+ })).subscribe((event) => {
1917
2129
  this.zone.runOutsideAngular(() => {
1918
- if (isDocumentAvailable()) {
2130
+ if (isDocumentAvailable() && !this.invalidTarget) {
1919
2131
  this.initialX.current = event.clientX;
1920
2132
  this.initialY.current = event.clientY;
1921
2133
  const element = this.element.nativeElement;
@@ -1931,14 +2143,14 @@ class DraggableChipDirective {
1931
2143
  this.subs.add(this.draggable.kendoDrag
1932
2144
  .subscribe((event) => {
1933
2145
  this.zone.runOutsideAngular(() => {
1934
- if (isDocumentAvailable()) {
2146
+ if (isDocumentAvailable() && !this.invalidTarget) {
1935
2147
  const isDragging = Math.abs(this.initialX.current - event.clientX) > 5 ||
1936
2148
  Math.abs(this.initialY.current - event.clientY) > 5;
1937
2149
  if (!isDragging) {
1938
2150
  return;
1939
2151
  }
1940
2152
  this.drag = true;
1941
- if (!document.elementFromPoint(event.clientX, event.clientY)?.closest('.k-pivotgrid-configurator [kendodroptarget]')) {
2153
+ if (!document.elementFromPoint(event.clientX, event.clientY)?.closest('.k-pivotgrid-configurator')) {
1942
2154
  return;
1943
2155
  }
1944
2156
  this.renderer.setStyle(this.element.nativeElement, 'transform', `translate(${event.clientX - this.initialX.current}px, ${event.clientY - this.initialY.current}px)`);
@@ -1949,6 +2161,7 @@ class DraggableChipDirective {
1949
2161
  .subscribe(() => {
1950
2162
  this.zone.runOutsideAngular(() => {
1951
2163
  this.drag = false;
2164
+ this.invalidTarget = false;
1952
2165
  if (this.service.state.dragItem) {
1953
2166
  const element = this.element.nativeElement;
1954
2167
  if (isDocumentAvailable()) {
@@ -1974,7 +2187,7 @@ class DraggableChipDirective {
1974
2187
  this.subs.unsubscribe();
1975
2188
  }
1976
2189
  }
1977
- 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 });
2190
+ 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 });
1978
2191
  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 });
1979
2192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, decorators: [{
1980
2193
  type: Directive,
@@ -1983,7 +2196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1983
2196
  }]
1984
2197
  }], ctorParameters: function () { return [{ type: i1$1.DraggableDirective, decorators: [{
1985
2198
  type: Optional
1986
- }] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: ConfiguratorService }, { type: DropCueService }, { type: i0.Renderer2 }]; }, propDecorators: { pointerEvents: [{
2199
+ }] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: ConfiguratorService }, { type: DropCueService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pointerEvents: [{
1987
2200
  type: HostBinding,
1988
2201
  args: ['style.pointerEvents']
1989
2202
  }], touchActions: [{
@@ -2078,6 +2291,7 @@ class PivotGridConfiguratorComponent {
2078
2291
  }
2079
2292
  return of(node.children);
2080
2293
  };
2294
+ this.configuratorService.configuratorInstance = this;
2081
2295
  }
2082
2296
  get headerTextId() {
2083
2297
  return `k-pivotgrid-${this.dataService.pivotGridId}-configurator-header`;
@@ -2136,6 +2350,7 @@ class PivotGridConfiguratorComponent {
2136
2350
  filter: state.filter
2137
2351
  };
2138
2352
  this.state = this.configuratorService.state = state;
2353
+ this.cdr.detectChanges();
2139
2354
  }
2140
2355
  onReorder(ev, name, item) {
2141
2356
  const currentCollection = this.state[`${name}Axes`];
@@ -2202,12 +2417,12 @@ class PivotGridConfiguratorComponent {
2202
2417
  this.dataService.state[`${section}Axes`] = filteredItems;
2203
2418
  const newState = { ...this.state, ...this.dataService.state };
2204
2419
  this.checked = this.checked.filter(checkedItem => checkedItem.uniqueName !== item.name[0]);
2420
+ const targetIndex = this.navigation?.elements.indexOf(ev.sender.element.nativeElement);
2205
2421
  this.setState(newState);
2206
2422
  if (!this.navigation) {
2207
2423
  return;
2208
2424
  }
2209
2425
  ;
2210
- const targetIndex = this.navigation.elements.indexOf(ev.sender.element.nativeElement);
2211
2426
  this.zone.runOutsideAngular(() => setTimeout(() => this.navigation.focusElement(this.navigation.elements[targetIndex - 1], this.navigation.elements[targetIndex])));
2212
2427
  }
2213
2428
  /**
@@ -2408,6 +2623,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2408
2623
  #columnsChiplist
2409
2624
  kendoDropTarget
2410
2625
  axes="columnAxes"
2626
+ [style.width.%]="100"
2411
2627
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
2412
2628
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2413
2629
  >
@@ -2446,6 +2662,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2446
2662
  axes="rowAxes"
2447
2663
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('rows')"
2448
2664
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2665
+ [style.width.%]="100"
2449
2666
  >
2450
2667
  <ng-container *ngFor="let item of state.rowAxes">
2451
2668
  <kendo-chip *ngIf="item.name.length === 1"
@@ -2489,6 +2706,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2489
2706
  axes="measureAxes"
2490
2707
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('values')"
2491
2708
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2709
+ [style.width.%]="100"
2492
2710
  >
2493
2711
  <kendo-chip *ngFor="let item of state.measureAxes"
2494
2712
  kendoChipDraggable
@@ -2503,6 +2721,11 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2503
2721
  (reorder)="onReorder($event, 'measure', item)"
2504
2722
  >
2505
2723
  {{ getName(item.name) }}
2724
+
2725
+ <kendo-pivot-chip-menu
2726
+ [isMeasureField]="true"
2727
+ [chip]="item">
2728
+ </kendo-pivot-chip-menu>
2506
2729
  </kendo-chip>
2507
2730
  </kendo-chiplist>
2508
2731
 
@@ -2518,7 +2741,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2518
2741
  <button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor('configuratorApplyButtonText')}}</button>
2519
2742
  </div>
2520
2743
  </div>
2521
- `, 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"] }] });
2744
+ `, 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"] }] });
2522
2745
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
2523
2746
  type: Component,
2524
2747
  args: [{
@@ -2593,6 +2816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2593
2816
  #columnsChiplist
2594
2817
  kendoDropTarget
2595
2818
  axes="columnAxes"
2819
+ [style.width.%]="100"
2596
2820
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
2597
2821
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2598
2822
  >
@@ -2631,6 +2855,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2631
2855
  axes="rowAxes"
2632
2856
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('rows')"
2633
2857
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2858
+ [style.width.%]="100"
2634
2859
  >
2635
2860
  <ng-container *ngFor="let item of state.rowAxes">
2636
2861
  <kendo-chip *ngIf="item.name.length === 1"
@@ -2674,6 +2899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2674
2899
  axes="measureAxes"
2675
2900
  [attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('values')"
2676
2901
  [ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
2902
+ [style.width.%]="100"
2677
2903
  >
2678
2904
  <kendo-chip *ngFor="let item of state.measureAxes"
2679
2905
  kendoChipDraggable
@@ -2688,6 +2914,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2688
2914
  (reorder)="onReorder($event, 'measure', item)"
2689
2915
  >
2690
2916
  {{ getName(item.name) }}
2917
+
2918
+ <kendo-pivot-chip-menu
2919
+ [isMeasureField]="true"
2920
+ [chip]="item">
2921
+ </kendo-pivot-chip-menu>
2691
2922
  </kendo-chip>
2692
2923
  </kendo-chiplist>
2693
2924
 
@@ -2741,7 +2972,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2741
2972
  class PivotGridMessages extends ComponentMessages {
2742
2973
  }
2743
2974
  PivotGridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2744
- 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 });
2975
+ 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 });
2745
2976
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridMessages, decorators: [{
2746
2977
  type: Directive
2747
2978
  }], propDecorators: { fieldMenuFilterItemLabel: [{
@@ -2804,6 +3035,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2804
3035
  type: Input
2805
3036
  }], configuratorEmptyMeasuresText: [{
2806
3037
  type: Input
3038
+ }], fieldMenuMoveToColumnsItem: [{
3039
+ type: Input
3040
+ }], fieldMenuMoveToRowsItem: [{
3041
+ type: Input
3042
+ }], fieldMenuMovePreviousItem: [{
3043
+ type: Input
3044
+ }], fieldMenuMoveNextItem: [{
3045
+ type: Input
2807
3046
  }], chipMenuIconTitle: [{
2808
3047
  type: Input
2809
3048
  }] } });
@@ -3158,7 +3397,19 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
3158
3397
  configuratorEmptyMeasuresText="Select some fields to begin setup"
3159
3398
 
3160
3399
  i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
3161
- chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"></ng-container>
3400
+ chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
3401
+
3402
+ i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
3403
+ fieldMenuMoveToColumnsItem="Move to Columns"
3404
+
3405
+ i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
3406
+ fieldMenuMoveToRowsItem="Move to Rows"
3407
+
3408
+ i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
3409
+ fieldMenuMovePreviousItem="Move as previous"
3410
+
3411
+ i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
3412
+ fieldMenuMoveNextItem="Move as next"></ng-container>
3162
3413
 
3163
3414
  <div #table class="k-pivotgrid" role="grid">
3164
3415
  <span class="k-pivotgrid-empty-cell" role="columnheader">
@@ -3311,7 +3562,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3311
3562
  configuratorEmptyMeasuresText="Select some fields to begin setup"
3312
3563
 
3313
3564
  i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
3314
- chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"></ng-container>
3565
+ chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
3566
+
3567
+ i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
3568
+ fieldMenuMoveToColumnsItem="Move to Columns"
3569
+
3570
+ i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
3571
+ fieldMenuMoveToRowsItem="Move to Rows"
3572
+
3573
+ i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
3574
+ fieldMenuMovePreviousItem="Move as previous"
3575
+
3576
+ i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
3577
+ fieldMenuMoveNextItem="Move as next"></ng-container>
3315
3578
 
3316
3579
  <div #table class="k-pivotgrid" role="grid">
3317
3580
  <span class="k-pivotgrid-empty-cell" role="columnheader">
@@ -3888,7 +4151,8 @@ const COMPONENTS = [
3888
4151
  StringFilterMenuComponent,
3889
4152
  FilterMenuDropDownListDirective,
3890
4153
  ChipMenuContainerComponent,
3891
- ChipMenuItemDirective
4154
+ ChipMenuItemDirective,
4155
+ ChipMenuReorderComponent
3892
4156
  ];
3893
4157
  /**
3894
4158
  * @hidden
@@ -3898,6 +4162,7 @@ class ChipMenuModule {
3898
4162
  return [
3899
4163
  ChipMenuItemComponent,
3900
4164
  ChipMenuSortComponent,
4165
+ ChipMenuReorderComponent,
3901
4166
  ChipMenuContainerComponent,
3902
4167
  ChipMenuItemDirective,
3903
4168
  ChipMenuComponent
@@ -3914,7 +4179,8 @@ ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
3914
4179
  StringFilterMenuComponent,
3915
4180
  FilterMenuDropDownListDirective,
3916
4181
  ChipMenuContainerComponent,
3917
- ChipMenuItemDirective], imports: [SharedModule,
4182
+ ChipMenuItemDirective,
4183
+ ChipMenuReorderComponent], imports: [SharedModule,
3918
4184
  ReactiveFormsModule,
3919
4185
  FormsModule], exports: [ChipMenuItemComponent,
3920
4186
  ChipMenuSortComponent,
@@ -3925,7 +4191,8 @@ ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
3925
4191
  StringFilterMenuComponent,
3926
4192
  FilterMenuDropDownListDirective,
3927
4193
  ChipMenuContainerComponent,
3928
- ChipMenuItemDirective] });
4194
+ ChipMenuItemDirective,
4195
+ ChipMenuReorderComponent] });
3929
4196
  ChipMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuModule, imports: [[
3930
4197
  SharedModule,
3931
4198
  ReactiveFormsModule,