@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.
- package/configurator/chip-menu/chip-menu-item.component.d.ts +5 -1
- package/configurator/chip-menu/chip-menu-reorder.component.d.ts +44 -0
- package/configurator/chip-menu/chip-menu.component.d.ts +5 -3
- package/configurator/chip-menu/chip-menu.module.d.ts +4 -3
- package/configurator/chip-menu/chip-menu.service.d.ts +5 -1
- package/configurator/configurator.service.d.ts +3 -0
- package/configurator/draggable.directive.d.ts +5 -3
- package/esm2020/configurator/chip-menu/chip-menu-filter.component.mjs +1 -1
- package/esm2020/configurator/chip-menu/chip-menu-item.component.mjs +7 -1
- package/esm2020/configurator/chip-menu/chip-menu-reorder.component.mjs +185 -0
- package/esm2020/configurator/chip-menu/chip-menu-sort.component.mjs +1 -1
- package/esm2020/configurator/chip-menu/chip-menu.component.mjs +56 -33
- package/esm2020/configurator/chip-menu/chip-menu.module.mjs +8 -3
- package/esm2020/configurator/chip-menu/chip-menu.service.mjs +12 -3
- package/esm2020/configurator/configurator.component.mjs +20 -2
- package/esm2020/configurator/configurator.service.mjs +3 -0
- package/esm2020/configurator/draggable.directive.mjs +17 -8
- package/esm2020/localization/messages.mjs +9 -1
- package/esm2020/models/configurator-chipmenu-reorder-target.mjs +5 -0
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pivotgrid.component.mjs +26 -2
- package/fesm2015/progress-kendo-angular-pivotgrid.mjs +324 -56
- package/fesm2020/progress-kendo-angular-pivotgrid.mjs +323 -56
- package/localization/messages.d.ts +17 -1
- package/localization/pivot-localization.service.d.ts +1 -1
- package/models/configurator-chipmenu-reorder-target.d.ts +8 -0
- package/package.json +12 -12
- package/schematics/ngAdd/index.js +1 -1
|
@@ -15,6 +15,7 @@ import { StringFilterMenuComponent } from './filtering/string-filter-menu.compon
|
|
|
15
15
|
import { FilterMenuDropDownListDirective } from './filtering/filter-menu-dropdownlist.directive';
|
|
16
16
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
17
17
|
import { SharedModule } from '../../shared.module';
|
|
18
|
+
import { ChipMenuReorderComponent } from './chip-menu-reorder.component';
|
|
18
19
|
import * as i0 from "@angular/core";
|
|
19
20
|
const COMPONENTS = [
|
|
20
21
|
ChipMenuItemComponent,
|
|
@@ -26,7 +27,8 @@ const COMPONENTS = [
|
|
|
26
27
|
StringFilterMenuComponent,
|
|
27
28
|
FilterMenuDropDownListDirective,
|
|
28
29
|
ChipMenuContainerComponent,
|
|
29
|
-
ChipMenuItemDirective
|
|
30
|
+
ChipMenuItemDirective,
|
|
31
|
+
ChipMenuReorderComponent
|
|
30
32
|
];
|
|
31
33
|
/**
|
|
32
34
|
* @hidden
|
|
@@ -36,6 +38,7 @@ export class ChipMenuModule {
|
|
|
36
38
|
return [
|
|
37
39
|
ChipMenuItemComponent,
|
|
38
40
|
ChipMenuSortComponent,
|
|
41
|
+
ChipMenuReorderComponent,
|
|
39
42
|
ChipMenuContainerComponent,
|
|
40
43
|
ChipMenuItemDirective,
|
|
41
44
|
ChipMenuComponent
|
|
@@ -52,7 +55,8 @@ ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
52
55
|
StringFilterMenuComponent,
|
|
53
56
|
FilterMenuDropDownListDirective,
|
|
54
57
|
ChipMenuContainerComponent,
|
|
55
|
-
ChipMenuItemDirective
|
|
58
|
+
ChipMenuItemDirective,
|
|
59
|
+
ChipMenuReorderComponent], imports: [SharedModule,
|
|
56
60
|
ReactiveFormsModule,
|
|
57
61
|
FormsModule], exports: [ChipMenuItemComponent,
|
|
58
62
|
ChipMenuSortComponent,
|
|
@@ -63,7 +67,8 @@ ChipMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
63
67
|
StringFilterMenuComponent,
|
|
64
68
|
FilterMenuDropDownListDirective,
|
|
65
69
|
ChipMenuContainerComponent,
|
|
66
|
-
ChipMenuItemDirective
|
|
70
|
+
ChipMenuItemDirective,
|
|
71
|
+
ChipMenuReorderComponent] });
|
|
67
72
|
ChipMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuModule, imports: [[
|
|
68
73
|
SharedModule,
|
|
69
74
|
ReactiveFormsModule,
|
|
@@ -2,18 +2,24 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Subscription } from 'rxjs';
|
|
6
|
+
import { ConfiguratorService } from '../configurator.service';
|
|
5
7
|
import { MenuTabbingService } from './filtering/menu-tabbing.service';
|
|
6
8
|
import { Injectable, EventEmitter } from '@angular/core';
|
|
7
9
|
import * as i0 from "@angular/core";
|
|
8
10
|
import * as i1 from "./filtering/menu-tabbing.service";
|
|
11
|
+
import * as i2 from "../configurator.service";
|
|
9
12
|
/**
|
|
10
13
|
* @hidden
|
|
11
14
|
* Represents the service that is passed to the ChipMenuFilterComponent and ChipMenuSortComponent.
|
|
12
15
|
*/
|
|
13
16
|
export class ChipMenuService {
|
|
14
|
-
constructor(menuTabbingService) {
|
|
17
|
+
constructor(menuTabbingService, configuratorService) {
|
|
18
|
+
this.configuratorService = configuratorService;
|
|
15
19
|
this.closeMenu = new EventEmitter();
|
|
20
|
+
this.sub = new Subscription();
|
|
16
21
|
this.menuTabbingService = menuTabbingService;
|
|
22
|
+
configuratorService && (this.sub = configuratorService.closeMenu.subscribe(() => this.close()));
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
19
25
|
* Closes the chip menu.
|
|
@@ -21,9 +27,12 @@ export class ChipMenuService {
|
|
|
21
27
|
close() {
|
|
22
28
|
this.closeMenu.emit();
|
|
23
29
|
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
this.sub.unsubscribe();
|
|
32
|
+
}
|
|
24
33
|
}
|
|
25
|
-
ChipMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, deps: [{ token: i1.MenuTabbingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
ChipMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, deps: [{ token: i1.MenuTabbingService }, { token: i2.ConfiguratorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
35
|
ChipMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService });
|
|
27
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChipMenuService, decorators: [{
|
|
28
37
|
type: Injectable
|
|
29
|
-
}], ctorParameters: function () { return [{ type: i1.MenuTabbingService }]; } });
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.MenuTabbingService }, { type: i2.ConfiguratorService }]; } });
|
|
@@ -59,6 +59,7 @@ export class PivotGridConfiguratorComponent {
|
|
|
59
59
|
}
|
|
60
60
|
return of(node.children);
|
|
61
61
|
};
|
|
62
|
+
this.configuratorService.configuratorInstance = this;
|
|
62
63
|
}
|
|
63
64
|
get headerTextId() {
|
|
64
65
|
return `k-pivotgrid-${this.dataService.pivotGridId}-configurator-header`;
|
|
@@ -117,6 +118,7 @@ export class PivotGridConfiguratorComponent {
|
|
|
117
118
|
filter: state.filter
|
|
118
119
|
};
|
|
119
120
|
this.state = this.configuratorService.state = state;
|
|
121
|
+
this.cdr.detectChanges();
|
|
120
122
|
}
|
|
121
123
|
onReorder(ev, name, item) {
|
|
122
124
|
const currentCollection = this.state[`${name}Axes`];
|
|
@@ -183,12 +185,12 @@ export class PivotGridConfiguratorComponent {
|
|
|
183
185
|
this.dataService.state[`${section}Axes`] = filteredItems;
|
|
184
186
|
const newState = { ...this.state, ...this.dataService.state };
|
|
185
187
|
this.checked = this.checked.filter(checkedItem => checkedItem.uniqueName !== item.name[0]);
|
|
188
|
+
const targetIndex = this.navigation?.elements.indexOf(ev.sender.element.nativeElement);
|
|
186
189
|
this.setState(newState);
|
|
187
190
|
if (!this.navigation) {
|
|
188
191
|
return;
|
|
189
192
|
}
|
|
190
193
|
;
|
|
191
|
-
const targetIndex = this.navigation.elements.indexOf(ev.sender.element.nativeElement);
|
|
192
194
|
this.zone.runOutsideAngular(() => setTimeout(() => this.navigation.focusElement(this.navigation.elements[targetIndex - 1], this.navigation.elements[targetIndex])));
|
|
193
195
|
}
|
|
194
196
|
/**
|
|
@@ -389,6 +391,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
389
391
|
#columnsChiplist
|
|
390
392
|
kendoDropTarget
|
|
391
393
|
axes="columnAxes"
|
|
394
|
+
[style.width.%]="100"
|
|
392
395
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
|
|
393
396
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
394
397
|
>
|
|
@@ -427,6 +430,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
427
430
|
axes="rowAxes"
|
|
428
431
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('rows')"
|
|
429
432
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
433
|
+
[style.width.%]="100"
|
|
430
434
|
>
|
|
431
435
|
<ng-container *ngFor="let item of state.rowAxes">
|
|
432
436
|
<kendo-chip *ngIf="item.name.length === 1"
|
|
@@ -470,6 +474,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
470
474
|
axes="measureAxes"
|
|
471
475
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('values')"
|
|
472
476
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
477
|
+
[style.width.%]="100"
|
|
473
478
|
>
|
|
474
479
|
<kendo-chip *ngFor="let item of state.measureAxes"
|
|
475
480
|
kendoChipDraggable
|
|
@@ -484,6 +489,11 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
484
489
|
(reorder)="onReorder($event, 'measure', item)"
|
|
485
490
|
>
|
|
486
491
|
{{ getName(item.name) }}
|
|
492
|
+
|
|
493
|
+
<kendo-pivot-chip-menu
|
|
494
|
+
[isMeasureField]="true"
|
|
495
|
+
[chip]="item">
|
|
496
|
+
</kendo-pivot-chip-menu>
|
|
487
497
|
</kendo-chip>
|
|
488
498
|
</kendo-chiplist>
|
|
489
499
|
|
|
@@ -499,7 +509,7 @@ PivotGridConfiguratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
499
509
|
<button kendoButton themeColor="primary" type="button" (click)="handleSubmit()">{{messageFor('configuratorApplyButtonText')}}</button>
|
|
500
510
|
</div>
|
|
501
511
|
</div>
|
|
502
|
-
`, 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: i6.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: i8.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["item", "axes"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: ["item"] }, { type: i11.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i12.ChipKeyboardNavigationDirective, selector: "[kendoChipKeyboardNavigation]", outputs: ["reorder"] }] });
|
|
512
|
+
`, 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: i6.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: i8.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["item", "axes"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.DraggableChipDirective, selector: "[kendoChipDraggable]", inputs: ["item"] }, { type: i11.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i12.ChipKeyboardNavigationDirective, selector: "[kendoChipKeyboardNavigation]", outputs: ["reorder"] }] });
|
|
503
513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridConfiguratorComponent, decorators: [{
|
|
504
514
|
type: Component,
|
|
505
515
|
args: [{
|
|
@@ -574,6 +584,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
574
584
|
#columnsChiplist
|
|
575
585
|
kendoDropTarget
|
|
576
586
|
axes="columnAxes"
|
|
587
|
+
[style.width.%]="100"
|
|
577
588
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('columns')"
|
|
578
589
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
579
590
|
>
|
|
@@ -612,6 +623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
612
623
|
axes="rowAxes"
|
|
613
624
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('rows')"
|
|
614
625
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
626
|
+
[style.width.%]="100"
|
|
615
627
|
>
|
|
616
628
|
<ng-container *ngFor="let item of state.rowAxes">
|
|
617
629
|
<kendo-chip *ngIf="item.name.length === 1"
|
|
@@ -655,6 +667,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
655
667
|
axes="measureAxes"
|
|
656
668
|
[attr.aria-labelledby]="headerTextId + ' ' + contentLabelId('values')"
|
|
657
669
|
[ngStyle]="isHorizontal ? {'padding-top': 0, 'padding-left': '16px' } : null"
|
|
670
|
+
[style.width.%]="100"
|
|
658
671
|
>
|
|
659
672
|
<kendo-chip *ngFor="let item of state.measureAxes"
|
|
660
673
|
kendoChipDraggable
|
|
@@ -669,6 +682,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
669
682
|
(reorder)="onReorder($event, 'measure', item)"
|
|
670
683
|
>
|
|
671
684
|
{{ getName(item.name) }}
|
|
685
|
+
|
|
686
|
+
<kendo-pivot-chip-menu
|
|
687
|
+
[isMeasureField]="true"
|
|
688
|
+
[chip]="item">
|
|
689
|
+
</kendo-pivot-chip-menu>
|
|
672
690
|
</kendo-chip>
|
|
673
691
|
</kendo-chiplist>
|
|
674
692
|
|
|
@@ -15,6 +15,7 @@ export class ConfiguratorService {
|
|
|
15
15
|
constructor(dataService) {
|
|
16
16
|
this.dataService = dataService;
|
|
17
17
|
this.configuratorStateChange = new EventEmitter();
|
|
18
|
+
this.closeMenu = new EventEmitter();
|
|
18
19
|
}
|
|
19
20
|
parseConfiguratorState(action) {
|
|
20
21
|
const newState = configuratorReducer({
|
|
@@ -40,4 +41,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
40
41
|
type: Injectable
|
|
41
42
|
}], ctorParameters: function () { return [{ type: i1.PivotGridDataService }]; }, propDecorators: { configuratorStateChange: [{
|
|
42
43
|
type: Output
|
|
44
|
+
}], closeMenu: [{
|
|
45
|
+
type: Output
|
|
43
46
|
}] } });
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive, Input, ElementRef, NgZone, Optional, HostBinding, Renderer2 } from '@angular/core';
|
|
5
|
+
import { Directive, Input, ElementRef, NgZone, Optional, HostBinding, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
6
6
|
import { DraggableDirective, isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
7
7
|
import { PIVOT_CONFIGURATOR_ACTION } from '@progress/kendo-pivotgrid-common';
|
|
8
8
|
import { ConfiguratorService } from './configurator.service';
|
|
9
9
|
import { DropCueService } from './drop-cue.service';
|
|
10
10
|
import { Subscription } from 'rxjs';
|
|
11
|
+
import { tap } from 'rxjs/operators';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@progress/kendo-angular-common";
|
|
13
14
|
import * as i2 from "./configurator.service";
|
|
@@ -16,16 +17,18 @@ import * as i3 from "./drop-cue.service";
|
|
|
16
17
|
* @hidden
|
|
17
18
|
*/
|
|
18
19
|
export class DraggableChipDirective {
|
|
19
|
-
constructor(draggable, element, zone, service, cue, renderer) {
|
|
20
|
+
constructor(draggable, element, zone, service, cue, renderer, cdr) {
|
|
20
21
|
this.draggable = draggable;
|
|
21
22
|
this.element = element;
|
|
22
23
|
this.zone = zone;
|
|
23
24
|
this.service = service;
|
|
24
25
|
this.cue = cue;
|
|
25
26
|
this.renderer = renderer;
|
|
27
|
+
this.cdr = cdr;
|
|
26
28
|
this.touchActions = 'none';
|
|
27
29
|
this.initialX = {};
|
|
28
30
|
this.initialY = {};
|
|
31
|
+
this.invalidTarget = false;
|
|
29
32
|
this.subs = new Subscription();
|
|
30
33
|
}
|
|
31
34
|
get pointerEvents() {
|
|
@@ -33,9 +36,14 @@ export class DraggableChipDirective {
|
|
|
33
36
|
}
|
|
34
37
|
ngOnInit() {
|
|
35
38
|
this.subs.add(this.draggable.kendoPress
|
|
36
|
-
.
|
|
39
|
+
.pipe(tap((e) => {
|
|
40
|
+
this.service.closeMenu.emit();
|
|
41
|
+
if (e.originalEvent.target.closest('.k-icon-wrapper-host')) {
|
|
42
|
+
this.invalidTarget = true;
|
|
43
|
+
}
|
|
44
|
+
})).subscribe((event) => {
|
|
37
45
|
this.zone.runOutsideAngular(() => {
|
|
38
|
-
if (isDocumentAvailable()) {
|
|
46
|
+
if (isDocumentAvailable() && !this.invalidTarget) {
|
|
39
47
|
this.initialX.current = event.clientX;
|
|
40
48
|
this.initialY.current = event.clientY;
|
|
41
49
|
const element = this.element.nativeElement;
|
|
@@ -51,14 +59,14 @@ export class DraggableChipDirective {
|
|
|
51
59
|
this.subs.add(this.draggable.kendoDrag
|
|
52
60
|
.subscribe((event) => {
|
|
53
61
|
this.zone.runOutsideAngular(() => {
|
|
54
|
-
if (isDocumentAvailable()) {
|
|
62
|
+
if (isDocumentAvailable() && !this.invalidTarget) {
|
|
55
63
|
const isDragging = Math.abs(this.initialX.current - event.clientX) > 5 ||
|
|
56
64
|
Math.abs(this.initialY.current - event.clientY) > 5;
|
|
57
65
|
if (!isDragging) {
|
|
58
66
|
return;
|
|
59
67
|
}
|
|
60
68
|
this.drag = true;
|
|
61
|
-
if (!document.elementFromPoint(event.clientX, event.clientY)?.closest('.k-pivotgrid-configurator
|
|
69
|
+
if (!document.elementFromPoint(event.clientX, event.clientY)?.closest('.k-pivotgrid-configurator')) {
|
|
62
70
|
return;
|
|
63
71
|
}
|
|
64
72
|
this.renderer.setStyle(this.element.nativeElement, 'transform', `translate(${event.clientX - this.initialX.current}px, ${event.clientY - this.initialY.current}px)`);
|
|
@@ -69,6 +77,7 @@ export class DraggableChipDirective {
|
|
|
69
77
|
.subscribe(() => {
|
|
70
78
|
this.zone.runOutsideAngular(() => {
|
|
71
79
|
this.drag = false;
|
|
80
|
+
this.invalidTarget = false;
|
|
72
81
|
if (this.service.state.dragItem) {
|
|
73
82
|
const element = this.element.nativeElement;
|
|
74
83
|
if (isDocumentAvailable()) {
|
|
@@ -94,7 +103,7 @@ export class DraggableChipDirective {
|
|
|
94
103
|
this.subs.unsubscribe();
|
|
95
104
|
}
|
|
96
105
|
}
|
|
97
|
-
DraggableChipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, deps: [{ token: i1.DraggableDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2.ConfiguratorService }, { token: i3.DropCueService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
106
|
+
DraggableChipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, deps: [{ token: i1.DraggableDirective, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i2.ConfiguratorService }, { token: i3.DropCueService }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
98
107
|
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 });
|
|
99
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DraggableChipDirective, decorators: [{
|
|
100
109
|
type: Directive,
|
|
@@ -103,7 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
103
112
|
}]
|
|
104
113
|
}], ctorParameters: function () { return [{ type: i1.DraggableDirective, decorators: [{
|
|
105
114
|
type: Optional
|
|
106
|
-
}] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i2.ConfiguratorService }, { type: i3.DropCueService }, { type: i0.Renderer2 }]; }, propDecorators: { pointerEvents: [{
|
|
115
|
+
}] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i2.ConfiguratorService }, { type: i3.DropCueService }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { pointerEvents: [{
|
|
107
116
|
type: HostBinding,
|
|
108
117
|
args: ['style.pointerEvents']
|
|
109
118
|
}], touchActions: [{
|
|
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
export class PivotGridMessages extends ComponentMessages {
|
|
12
12
|
}
|
|
13
13
|
PivotGridMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
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 });
|
|
14
|
+
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 });
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PivotGridMessages, decorators: [{
|
|
16
16
|
type: Directive
|
|
17
17
|
}], propDecorators: { fieldMenuFilterItemLabel: [{
|
|
@@ -74,6 +74,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
74
74
|
type: Input
|
|
75
75
|
}], configuratorEmptyMeasuresText: [{
|
|
76
76
|
type: Input
|
|
77
|
+
}], fieldMenuMoveToColumnsItem: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], fieldMenuMoveToRowsItem: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], fieldMenuMovePreviousItem: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], fieldMenuMoveNextItem: [{
|
|
84
|
+
type: Input
|
|
77
85
|
}], chipMenuIconTitle: [{
|
|
78
86
|
type: Input
|
|
79
87
|
}] } });
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-pivotgrid',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '14.1.0-develop.
|
|
12
|
+
publishDate: 1699450680,
|
|
13
|
+
version: '14.1.0-develop.11',
|
|
14
14
|
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'
|
|
15
15
|
};
|
|
@@ -345,7 +345,19 @@ PivotGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
345
345
|
configuratorEmptyMeasuresText="Select some fields to begin setup"
|
|
346
346
|
|
|
347
347
|
i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
|
|
348
|
-
chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
|
|
348
|
+
chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
|
|
349
|
+
|
|
350
|
+
i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
|
|
351
|
+
fieldMenuMoveToColumnsItem="Move to Columns"
|
|
352
|
+
|
|
353
|
+
i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
|
|
354
|
+
fieldMenuMoveToRowsItem="Move to Rows"
|
|
355
|
+
|
|
356
|
+
i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
|
|
357
|
+
fieldMenuMovePreviousItem="Move as previous"
|
|
358
|
+
|
|
359
|
+
i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
|
|
360
|
+
fieldMenuMoveNextItem="Move as next"></ng-container>
|
|
349
361
|
|
|
350
362
|
<div #table class="k-pivotgrid" role="grid">
|
|
351
363
|
<span class="k-pivotgrid-empty-cell" role="columnheader">
|
|
@@ -498,7 +510,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
498
510
|
configuratorEmptyMeasuresText="Select some fields to begin setup"
|
|
499
511
|
|
|
500
512
|
i18n-chipMenuIconTitle="kendo.grid.chipMenuIconTitle|The title of the field menu icon"
|
|
501
|
-
chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
|
|
513
|
+
chipMenuIconTitle="{{ '{fieldName} Field Menu' }}"
|
|
514
|
+
|
|
515
|
+
i18n-fieldMenuMoveToColumnsItem="kendo.pivotgrid.fieldMenuMoveToColumnsItem|The text content of the Move to Columns item in the column and row fields menu."
|
|
516
|
+
fieldMenuMoveToColumnsItem="Move to Columns"
|
|
517
|
+
|
|
518
|
+
i18n-fieldMenuMoveToRowsItem="kendo.pivotgrid.fieldMenuMoveToRowsItem|The text content of the Move to Rows item in the column and row fields menu."
|
|
519
|
+
fieldMenuMoveToRowsItem="Move to Rows"
|
|
520
|
+
|
|
521
|
+
i18n-fieldMenuMovePreviousItem="kendo.pivotgrid.fieldMenuMovePreviousItem|The text content of the Move as previous item in the column, row, and value fields menu."
|
|
522
|
+
fieldMenuMovePreviousItem="Move as previous"
|
|
523
|
+
|
|
524
|
+
i18n-fieldMenuMoveNextItem="kendo.pivotgrid.fieldMenuMoveNextItem|The text content of the Move as next item in the column, row, and value fields menu."
|
|
525
|
+
fieldMenuMoveNextItem="Move as next"></ng-container>
|
|
502
526
|
|
|
503
527
|
<div #table class="k-pivotgrid" role="grid">
|
|
504
528
|
<span class="k-pivotgrid-empty-cell" role="columnheader">
|