@progress/kendo-angular-grid 14.4.0-develop.9 → 15.0.0-develop.1
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/NOTICE.txt +146 -593
- package/common/clipboard-types.d.ts +102 -0
- package/common/clipboard.directive.d.ts +49 -0
- package/common/clipboard.service.d.ts +28 -0
- package/common/dom-events.service.d.ts +1 -0
- package/common/error-messages.d.ts +12 -0
- package/databinding.directive.d.ts +1 -1
- package/esm2020/column-menu/column-menu-item-base.mjs +2 -1
- package/esm2020/column-menu/column-menu.component.mjs +8 -5
- package/esm2020/columns/column-base.mjs +3 -2
- package/esm2020/columns/column-group.component.mjs +2 -1
- package/esm2020/columns/span-column.component.mjs +2 -1
- package/esm2020/common/clipboard-types.mjs +5 -0
- package/esm2020/common/clipboard.directive.mjs +185 -0
- package/esm2020/common/clipboard.service.mjs +218 -0
- package/esm2020/common/dom-events.service.mjs +1 -0
- package/esm2020/common/error-messages.mjs +45 -1
- package/esm2020/databinding.directive.mjs +3 -2
- package/esm2020/editing-directives/local-edit.service.mjs +2 -2
- package/esm2020/excel/excel.service.mjs +2 -1
- package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/cell/numeric-filter-cell.component.mjs +1 -1
- package/esm2020/filtering/menu/filter-menu-container.component.mjs +2 -2
- package/esm2020/filtering/menu/numeric-filter-menu-input.component.mjs +1 -1
- package/esm2020/grid.component.mjs +40 -34
- package/esm2020/grid.module.mjs +8 -4
- package/esm2020/grouping/group-scroll-binding.directive.mjs +2 -3
- package/esm2020/index.mjs +2 -0
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/pager/pager-input.component.mjs +1 -1
- package/esm2020/pager/pager.component.mjs +1 -5
- package/esm2020/pdf/pdf.component.mjs +3 -2
- package/esm2020/pdf/pdf.service.mjs +2 -1
- package/esm2020/rendering/cell.component.mjs +33 -25
- package/esm2020/rendering/details/detail-template.directive.mjs +2 -1
- package/esm2020/rendering/header/header.component.mjs +16 -12
- package/esm2020/rendering/table-body.component.mjs +4 -4
- package/esm2020/selection/marquee.directive.mjs +11 -17
- package/esm2020/selection/selection-default.mjs +11 -5
- package/esm2020/utils.mjs +10 -0
- package/fesm2015/progress-kendo-angular-grid.mjs +598 -145
- package/fesm2020/progress-kendo-angular-grid.mjs +594 -145
- package/grid.component.d.ts +7 -1
- package/grid.module.d.ts +99 -98
- package/index.d.ts +3 -1
- package/package.json +16 -16
- package/pager/pager.component.d.ts +0 -1
- package/schematics/ngAdd/index.js +3 -3
- package/selection/marquee.directive.d.ts +4 -3
- package/selection/selection-default.d.ts +10 -4
- package/selection/types.d.ts +6 -0
- package/utils.d.ts +8 -0
package/esm2020/grid.module.mjs
CHANGED
|
@@ -34,6 +34,7 @@ import { FilterMenuModule } from "./filtering/menu/filter-menu.module";
|
|
|
34
34
|
import { ColumnMenuModule } from './column-menu/column-menu.module';
|
|
35
35
|
import { GridToolbarFocusableDirective } from './rendering/toolbar/toolbar-focusable.directive';
|
|
36
36
|
import { DragAndDropModule } from '@progress/kendo-angular-utils';
|
|
37
|
+
import { GridClipboardDirective } from './common/clipboard.directive';
|
|
37
38
|
import * as i0 from "@angular/core";
|
|
38
39
|
import * as i1 from "./grouping/group-header-template.directive";
|
|
39
40
|
import * as i2 from "./grouping/group-header-column-template.directive";
|
|
@@ -144,7 +145,8 @@ const exportedModules = [
|
|
|
144
145
|
...PagerModule.exports(),
|
|
145
146
|
...RowFilterModule.exports(),
|
|
146
147
|
...FilterMenuModule.exports(),
|
|
147
|
-
...ColumnMenuModule.exports()
|
|
148
|
+
...ColumnMenuModule.exports(),
|
|
149
|
+
GridClipboardDirective
|
|
148
150
|
];
|
|
149
151
|
const declarations = [
|
|
150
152
|
GridComponent,
|
|
@@ -165,7 +167,8 @@ const declarations = [
|
|
|
165
167
|
GridSpacerComponent,
|
|
166
168
|
GridToolbarFocusableDirective,
|
|
167
169
|
StatusBarComponent,
|
|
168
|
-
StatusBarTemplateDirective
|
|
170
|
+
StatusBarTemplateDirective,
|
|
171
|
+
GridClipboardDirective
|
|
169
172
|
];
|
|
170
173
|
/**
|
|
171
174
|
* Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
|
|
@@ -209,7 +212,8 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
209
212
|
GridSpacerComponent,
|
|
210
213
|
GridToolbarFocusableDirective,
|
|
211
214
|
StatusBarComponent,
|
|
212
|
-
StatusBarTemplateDirective
|
|
215
|
+
StatusBarTemplateDirective,
|
|
216
|
+
GridClipboardDirective], imports: [CommonModule,
|
|
213
217
|
GroupModule,
|
|
214
218
|
SharedModule,
|
|
215
219
|
BodyModule,
|
|
@@ -235,7 +239,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
235
239
|
InCellEditingDirective,
|
|
236
240
|
ExpandDetailsDirective,
|
|
237
241
|
ExpandGroupDirective,
|
|
238
|
-
GridToolbarFocusableDirective, i1.GroupHeaderTemplateDirective, i2.GroupHeaderColumnTemplateDirective, i3.GroupFooterTemplateDirective, i4.ColumnComponent, i5.SpanColumnComponent, i6.ColumnGroupComponent, i7.FooterTemplateDirective, i8.DetailTemplateDirective, i9.FocusableDirective, i10.GridTableDirective, i11.CommandColumnComponent, i12.CheckboxColumnComponent, i13.SelectionCheckboxDirective, i14.CellTemplateDirective, i15.NoRecordsTemplateDirective, i16.EditTemplateDirective, i17.EditCommandDirective, i18.CancelCommandDirective, i19.SaveCommandDirective, i20.RemoveCommandDirective, i21.AddCommandDirective, i22.CellLoadingTemplateDirective, i23.LoadingTemplateDirective, i24.RowReorderColumnComponent, i25.HeaderTemplateDirective, i26.SelectAllCheckboxDirective, i27.PagerComponent, i28.PagerPrevButtonsComponent, i29.PagerNextButtonsComponent, i30.PagerNumericButtonsComponent, i31.PagerInputComponent, i32.PagerInfoComponent, i33.PagerPageSizesComponent, i34.PagerTemplateDirective, i35.PagerDropDownListDirective, i36.PagerInputDirective, i37.FilterRowComponent, i38.FilterCellComponent, i39.FilterCellTemplateDirective, i40.FilterCellOperatorsComponent, i41.StringFilterCellComponent, i42.NumericFilterCellComponent, i43.AutoCompleteFilterCellComponent, i44.BooleanFilterCellComponent, i45.DateFilterCellComponent, i40.FilterCellOperatorsComponent, i46.ContainsFilterOperatorComponent, i47.DoesNotContainFilterOperatorComponent, i48.EndsWithFilterOperatorComponent, i49.EqualFilterOperatorComponent, i50.IsEmptyFilterOperatorComponent, i51.IsNotEmptyFilterOperatorComponent, i52.IsNotNullFilterOperatorComponent, i53.IsNullFilterOperatorComponent, i54.NotEqualFilterOperatorComponent, i55.StartsWithFilterOperatorComponent, i56.GreaterFilterOperatorComponent, i57.GreaterOrEqualToFilterOperatorComponent, i58.LessFilterOperatorComponent, i59.LessOrEqualToFilterOperatorComponent, i60.AfterFilterOperatorComponent, i61.AfterEqFilterOperatorComponent, i62.BeforeEqFilterOperatorComponent, i63.BeforeFilterOperatorComponent, i64.StringFilterMenuComponent, i65.FilterMenuTemplateDirective, i66.NumericFilterMenuComponent, i67.DateFilterMenuComponent, i68.BooleanFilterMenuComponent, i69.FilterMenuDropDownListDirective, i70.BooleanFilterRadioButtonDirective, i40.FilterCellOperatorsComponent, i46.ContainsFilterOperatorComponent, i47.DoesNotContainFilterOperatorComponent, i48.EndsWithFilterOperatorComponent, i49.EqualFilterOperatorComponent, i50.IsEmptyFilterOperatorComponent, i51.IsNotEmptyFilterOperatorComponent, i52.IsNotNullFilterOperatorComponent, i53.IsNullFilterOperatorComponent, i54.NotEqualFilterOperatorComponent, i55.StartsWithFilterOperatorComponent, i56.GreaterFilterOperatorComponent, i57.GreaterOrEqualToFilterOperatorComponent, i58.LessFilterOperatorComponent, i59.LessOrEqualToFilterOperatorComponent, i60.AfterFilterOperatorComponent, i61.AfterEqFilterOperatorComponent, i62.BeforeEqFilterOperatorComponent, i63.BeforeFilterOperatorComponent, i71.ColumnChooserComponent, i72.ColumnMenuFilterComponent, i73.ColumnMenuItemComponent, i74.ColumnMenuItemContentTemplateDirective, i75.ColumnMenuSortComponent, i76.ColumnMenuLockComponent, i77.ColumnMenuStickComponent, i78.ColumnMenuPositionComponent, i79.ColumnMenuChooserComponent, i80.ColumnMenuTemplateDirective, i81.ColumnMenuContainerComponent, i82.ColumnMenuItemDirective, i83.ColumnMenuComponent, i84.ColumnMenuAutoSizeColumnComponent, i85.ColumnMenuAutoSizeAllColumnsComponent] });
|
|
242
|
+
GridToolbarFocusableDirective, i1.GroupHeaderTemplateDirective, i2.GroupHeaderColumnTemplateDirective, i3.GroupFooterTemplateDirective, i4.ColumnComponent, i5.SpanColumnComponent, i6.ColumnGroupComponent, i7.FooterTemplateDirective, i8.DetailTemplateDirective, i9.FocusableDirective, i10.GridTableDirective, i11.CommandColumnComponent, i12.CheckboxColumnComponent, i13.SelectionCheckboxDirective, i14.CellTemplateDirective, i15.NoRecordsTemplateDirective, i16.EditTemplateDirective, i17.EditCommandDirective, i18.CancelCommandDirective, i19.SaveCommandDirective, i20.RemoveCommandDirective, i21.AddCommandDirective, i22.CellLoadingTemplateDirective, i23.LoadingTemplateDirective, i24.RowReorderColumnComponent, i25.HeaderTemplateDirective, i26.SelectAllCheckboxDirective, i27.PagerComponent, i28.PagerPrevButtonsComponent, i29.PagerNextButtonsComponent, i30.PagerNumericButtonsComponent, i31.PagerInputComponent, i32.PagerInfoComponent, i33.PagerPageSizesComponent, i34.PagerTemplateDirective, i35.PagerDropDownListDirective, i36.PagerInputDirective, i37.FilterRowComponent, i38.FilterCellComponent, i39.FilterCellTemplateDirective, i40.FilterCellOperatorsComponent, i41.StringFilterCellComponent, i42.NumericFilterCellComponent, i43.AutoCompleteFilterCellComponent, i44.BooleanFilterCellComponent, i45.DateFilterCellComponent, i40.FilterCellOperatorsComponent, i46.ContainsFilterOperatorComponent, i47.DoesNotContainFilterOperatorComponent, i48.EndsWithFilterOperatorComponent, i49.EqualFilterOperatorComponent, i50.IsEmptyFilterOperatorComponent, i51.IsNotEmptyFilterOperatorComponent, i52.IsNotNullFilterOperatorComponent, i53.IsNullFilterOperatorComponent, i54.NotEqualFilterOperatorComponent, i55.StartsWithFilterOperatorComponent, i56.GreaterFilterOperatorComponent, i57.GreaterOrEqualToFilterOperatorComponent, i58.LessFilterOperatorComponent, i59.LessOrEqualToFilterOperatorComponent, i60.AfterFilterOperatorComponent, i61.AfterEqFilterOperatorComponent, i62.BeforeEqFilterOperatorComponent, i63.BeforeFilterOperatorComponent, i64.StringFilterMenuComponent, i65.FilterMenuTemplateDirective, i66.NumericFilterMenuComponent, i67.DateFilterMenuComponent, i68.BooleanFilterMenuComponent, i69.FilterMenuDropDownListDirective, i70.BooleanFilterRadioButtonDirective, i40.FilterCellOperatorsComponent, i46.ContainsFilterOperatorComponent, i47.DoesNotContainFilterOperatorComponent, i48.EndsWithFilterOperatorComponent, i49.EqualFilterOperatorComponent, i50.IsEmptyFilterOperatorComponent, i51.IsNotEmptyFilterOperatorComponent, i52.IsNotNullFilterOperatorComponent, i53.IsNullFilterOperatorComponent, i54.NotEqualFilterOperatorComponent, i55.StartsWithFilterOperatorComponent, i56.GreaterFilterOperatorComponent, i57.GreaterOrEqualToFilterOperatorComponent, i58.LessFilterOperatorComponent, i59.LessOrEqualToFilterOperatorComponent, i60.AfterFilterOperatorComponent, i61.AfterEqFilterOperatorComponent, i62.BeforeEqFilterOperatorComponent, i63.BeforeFilterOperatorComponent, i71.ColumnChooserComponent, i72.ColumnMenuFilterComponent, i73.ColumnMenuItemComponent, i74.ColumnMenuItemContentTemplateDirective, i75.ColumnMenuSortComponent, i76.ColumnMenuLockComponent, i77.ColumnMenuStickComponent, i78.ColumnMenuPositionComponent, i79.ColumnMenuChooserComponent, i80.ColumnMenuTemplateDirective, i81.ColumnMenuContainerComponent, i82.ColumnMenuItemDirective, i83.ColumnMenuComponent, i84.ColumnMenuAutoSizeColumnComponent, i85.ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective] });
|
|
239
243
|
GridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridModule, imports: [[
|
|
240
244
|
CommonModule,
|
|
241
245
|
GroupModule,
|
|
@@ -9,6 +9,7 @@ import { filterBy, process } from "@progress/kendo-data-query";
|
|
|
9
9
|
import { isPresent, isArray } from "../utils";
|
|
10
10
|
import { diffFilters, cloneFilters } from "../common/filter-descriptor-differ";
|
|
11
11
|
import { LocalDataChangesService } from "../editing/local-data-changes.service";
|
|
12
|
+
import { GridConfigurationErrorMessages } from '../common/error-messages';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
import * as i1 from "../grid.component";
|
|
14
15
|
import * as i2 from "../editing/local-data-changes.service";
|
|
@@ -193,9 +194,7 @@ export class GroupBindingDirective extends DataBindingDirective {
|
|
|
193
194
|
}
|
|
194
195
|
ngAfterContentInit() {
|
|
195
196
|
if (isDevMode() && this.grid.isGroupExpanded) {
|
|
196
|
-
throw new Error(
|
|
197
|
-
'or the `isGroupExpanded` callback is not supported. To use grouping with the `kendoGridGroupBinding` directive, ' +
|
|
198
|
-
'set the Grid `groupable` property to `true`.');
|
|
197
|
+
throw new Error(GridConfigurationErrorMessages.groupBindingDirectives);
|
|
199
198
|
}
|
|
200
199
|
}
|
|
201
200
|
groupExpand({ groupIndex }) {
|
package/esm2020/index.mjs
CHANGED
|
@@ -151,6 +151,8 @@ export { ColumnMenuComponent } from './column-menu/column-menu.component';
|
|
|
151
151
|
export { ColumnLockedChangeEvent } from './column-menu/column-locked-change-event';
|
|
152
152
|
export { ColumnStickyChangeEvent } from './column-menu/column-sticky-change-event';
|
|
153
153
|
export { SinglePopupService, PopupCloseEvent } from './common/single-popup.service';
|
|
154
|
+
// Clipboard
|
|
155
|
+
export { GridClipboardDirective } from './common/clipboard.directive';
|
|
154
156
|
// addresses error NG3001: Unsupported private class
|
|
155
157
|
export { ColumnMenuTemplateDirective } from './column-menu/column-menu-template.directive';
|
|
156
158
|
export { EditCommandDirective } from './editing/edit-command.directive';
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-grid',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '
|
|
12
|
+
publishDate: 1706544074,
|
|
13
|
+
version: '15.0.0-develop.1',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -105,7 +105,7 @@ PagerInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
105
105
|
</kendo-numerictextbox>
|
|
106
106
|
{{textFor('pagerOf')}} {{totalPages}}
|
|
107
107
|
</span>
|
|
108
|
-
`, isInline: true, components: [{ type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.PagerInputDirective, selector: "[kendoGridPagerInput]" }, { type: i6.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i7.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
108
|
+
`, isInline: true, components: [{ type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i5.PagerInputDirective, selector: "[kendoGridPagerInput]" }, { type: i6.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i7.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
|
|
109
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerInputComponent, decorators: [{
|
|
110
110
|
type: Component,
|
|
111
111
|
args: [{
|
|
@@ -50,7 +50,6 @@ export class PagerComponent {
|
|
|
50
50
|
this.total = 0;
|
|
51
51
|
this.skip = 1;
|
|
52
52
|
this.pageChange = new EventEmitter();
|
|
53
|
-
this.pagerWrapClass = true;
|
|
54
53
|
this.gridPagerClass = true;
|
|
55
54
|
this.settings = normalize({});
|
|
56
55
|
this.subscriptions = new Subscription();
|
|
@@ -276,7 +275,7 @@ export class PagerComponent {
|
|
|
276
275
|
}
|
|
277
276
|
}
|
|
278
277
|
PagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PagerComponent, deps: [{ token: i1.PagerContextService }, { token: i2.NavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i3.ContextService }, { token: CELL_CONTEXT, optional: true }, { token: i4.FocusRoot }, { token: i5.FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
279
|
-
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-
|
|
278
|
+
PagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PagerComponent, selector: "kendo-pager", inputs: { total: "total", skip: "skip", pageSize: "pageSize", options: "options", size: "size", template: "template" }, outputs: { pageChange: "pageChange" }, host: { listeners: { "focusin": "onFocusIn($event)", "focusout": "onFocusOut()", "keydown.escape": "onEscape()", "keydown.enter": "onEnter($event)", "keydown.arrowleft": "navigateToPreviousPage($event)", "keydown.pageup": "navigateToPreviousPage($event)", "keydown.arrowright": "navigateToNextPage($event)", "keydown.pagedown": "navigateToNextPage($event)", "keydown.home": "navigateToFirstPage($event)", "keydown.end": "navigateToLastPage($event)" }, properties: { "class.k-grid-pager": "this.gridPagerClass", "class.k-pager-sm": "this.sizeSmallClass", "class.k-pager-md": "this.sizeMediumClass", "class.k-focus": "this.isFocused", "attr.aria-label": "this.pagerAriaLabel" } }, providers: [{
|
|
280
279
|
provide: FOCUS_ROOT_ACTIVE,
|
|
281
280
|
useValue: true
|
|
282
281
|
}, {
|
|
@@ -412,9 +411,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
412
411
|
type: Input
|
|
413
412
|
}], pageChange: [{
|
|
414
413
|
type: Output
|
|
415
|
-
}], pagerWrapClass: [{
|
|
416
|
-
type: HostBinding,
|
|
417
|
-
args: ['class.k-pager-wrap']
|
|
418
414
|
}], gridPagerClass: [{
|
|
419
415
|
type: HostBinding,
|
|
420
416
|
args: ['class.k-grid-pager']
|
|
@@ -14,6 +14,7 @@ import { ColumnBase } from '../columns/column-base';
|
|
|
14
14
|
import { PDFExportComponent } from '@progress/kendo-angular-pdf-export';
|
|
15
15
|
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
16
16
|
import { ContextService } from '../common/provider.service';
|
|
17
|
+
import { GridConfigurationErrorMessages } from '../common/error-messages';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
import * as i1 from "./pdf.service";
|
|
19
20
|
import * as i2 from "../scrolling/suspend.service";
|
|
@@ -61,13 +62,13 @@ export class PDFComponent extends PDFExportComponent {
|
|
|
61
62
|
* @hidden
|
|
62
63
|
*/
|
|
63
64
|
saveAs(_) {
|
|
64
|
-
throw new Error('
|
|
65
|
+
throw new Error(GridConfigurationErrorMessages.unsupportedMethod('saveAs', 'GridComponent.saveAsPDF'));
|
|
65
66
|
}
|
|
66
67
|
/**
|
|
67
68
|
* @hidden
|
|
68
69
|
*/
|
|
69
70
|
export() {
|
|
70
|
-
throw new Error('
|
|
71
|
+
throw new Error(GridConfigurationErrorMessages.unsupportedMethod('export', 'GridComponent.drawPDF'));
|
|
71
72
|
}
|
|
72
73
|
savePDF(component) {
|
|
73
74
|
this.createPDF(component, this.draw);
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { EventEmitter, Injectable, isDevMode } from '@angular/core';
|
|
6
|
+
import { GridConfigurationErrorMessages } from '../common/error-messages';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* @hidden
|
|
@@ -26,7 +27,7 @@ export class PDFService {
|
|
|
26
27
|
emitEvent(emitter, args) {
|
|
27
28
|
if (emitter.observers.length === 0) {
|
|
28
29
|
if (isDevMode()) {
|
|
29
|
-
throw new Error('
|
|
30
|
+
throw new Error(GridConfigurationErrorMessages.requiredModule('PDF', 'PDFModule', '<kendo-grid-pdf>'));
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
@@ -170,11 +170,13 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
170
170
|
</ng-container>
|
|
171
171
|
<ng-container *ngIf="isBoundColumn">{{ dataItem | valueOf: column.field: column.format}}</ng-container>
|
|
172
172
|
<ng-container *ngIf="isCheckboxColumn && !isNew">
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
173
|
+
<span class="k-checkbox-wrap">
|
|
174
|
+
<input
|
|
175
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
176
|
+
[kendoGridSelectionCheckbox]="rowIndex"
|
|
177
|
+
[attr.id]="selectionCheckboxId"
|
|
178
|
+
[attr.aria-label]="selectionCheckboxLabel" />
|
|
179
|
+
</span>
|
|
178
180
|
</ng-container>
|
|
179
181
|
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
180
182
|
<kendo-icon-wrapper
|
|
@@ -213,13 +215,15 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
213
215
|
kendoGridFocusable
|
|
214
216
|
></kendo-datepicker>
|
|
215
217
|
|
|
216
|
-
<
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
218
|
+
<span class="k-checkbox-wrap">
|
|
219
|
+
<input
|
|
220
|
+
*ngSwitchCase="'boolean'"
|
|
221
|
+
type="checkbox"
|
|
222
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
223
|
+
[formControl]="$any(formGroup.get(column.field))"
|
|
224
|
+
kendoGridFocusable
|
|
225
|
+
/>
|
|
226
|
+
</span>
|
|
223
227
|
|
|
224
228
|
<input
|
|
225
229
|
*ngSwitchDefault
|
|
@@ -231,7 +235,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
|
|
|
231
235
|
</ng-container>
|
|
232
236
|
</ng-container>
|
|
233
237
|
</ng-container>
|
|
234
|
-
`, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i5.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i6.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i9.SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "valueOf": i11.FieldAccessorPipe } });
|
|
238
|
+
`, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i5.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { type: i6.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i9.SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "valueOf": i11.FieldAccessorPipe } });
|
|
235
239
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
236
240
|
type: Component,
|
|
237
241
|
args: [{
|
|
@@ -251,11 +255,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
251
255
|
</ng-container>
|
|
252
256
|
<ng-container *ngIf="isBoundColumn">{{ dataItem | valueOf: column.field: column.format}}</ng-container>
|
|
253
257
|
<ng-container *ngIf="isCheckboxColumn && !isNew">
|
|
254
|
-
<
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
258
|
+
<span class="k-checkbox-wrap">
|
|
259
|
+
<input
|
|
260
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
261
|
+
[kendoGridSelectionCheckbox]="rowIndex"
|
|
262
|
+
[attr.id]="selectionCheckboxId"
|
|
263
|
+
[attr.aria-label]="selectionCheckboxLabel" />
|
|
264
|
+
</span>
|
|
259
265
|
</ng-container>
|
|
260
266
|
<ng-container *ngIf="isRowReorderColumn && !isNew">
|
|
261
267
|
<kendo-icon-wrapper
|
|
@@ -294,13 +300,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
294
300
|
kendoGridFocusable
|
|
295
301
|
></kendo-datepicker>
|
|
296
302
|
|
|
297
|
-
<
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
303
|
+
<span class="k-checkbox-wrap">
|
|
304
|
+
<input
|
|
305
|
+
*ngSwitchCase="'boolean'"
|
|
306
|
+
type="checkbox"
|
|
307
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
308
|
+
[formControl]="$any(formGroup.get(column.field))"
|
|
309
|
+
kendoGridFocusable
|
|
310
|
+
/>
|
|
311
|
+
</span>
|
|
304
312
|
|
|
305
313
|
<input
|
|
306
314
|
*ngSwitchDefault
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Directive, TemplateRef, Optional, Input } from '@angular/core';
|
|
6
|
+
import { GridConfigurationErrorMessages } from '../../common/error-messages';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Represents the detail template of the Grid ([more information and examples]({% slug detailrowtemplate_grid %})).
|
|
@@ -32,7 +33,7 @@ export class DetailTemplateDirective {
|
|
|
32
33
|
*/
|
|
33
34
|
set showIf(fn) {
|
|
34
35
|
if (typeof fn !== 'function') {
|
|
35
|
-
throw new Error(
|
|
36
|
+
throw new Error(GridConfigurationErrorMessages.functionType('showIf', fn));
|
|
36
37
|
}
|
|
37
38
|
this._condition = fn;
|
|
38
39
|
}
|
|
@@ -590,12 +590,14 @@ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
590
590
|
</ng-container>
|
|
591
591
|
|
|
592
592
|
<ng-container *ngIf="isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll">
|
|
593
|
-
<
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
593
|
+
<span class="k-checkbox-wrap">
|
|
594
|
+
<input
|
|
595
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
596
|
+
[attr.id]="selectAllCheckboxId()"
|
|
597
|
+
[attr.aria-label]="selectAllCheckboxLabel"
|
|
598
|
+
kendoGridSelectAllCheckbox
|
|
599
|
+
kendoGridFocusable>
|
|
600
|
+
</span>
|
|
599
601
|
</ng-container>
|
|
600
602
|
<span kendoGridColumnHandle
|
|
601
603
|
kendoDraggable
|
|
@@ -814,12 +816,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
814
816
|
</ng-container>
|
|
815
817
|
|
|
816
818
|
<ng-container *ngIf="isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll">
|
|
817
|
-
<
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
819
|
+
<span class="k-checkbox-wrap">
|
|
820
|
+
<input
|
|
821
|
+
class="k-checkbox k-checkbox-md k-rounded-md"
|
|
822
|
+
[attr.id]="selectAllCheckboxId()"
|
|
823
|
+
[attr.aria-label]="selectAllCheckboxLabel"
|
|
824
|
+
kendoGridSelectAllCheckbox
|
|
825
|
+
kendoGridFocusable>
|
|
826
|
+
</span>
|
|
823
827
|
</ng-container>
|
|
824
828
|
<span kendoGridColumnHandle
|
|
825
829
|
kendoDraggable
|
|
@@ -497,7 +497,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
497
497
|
[attr.data-kendo-grid-item-index]="$any(item).index"
|
|
498
498
|
[class.k-selected]="isSelectable() && isRowSelected(item)">
|
|
499
499
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
500
|
-
<td class="k-group-cell" *ngFor="let g of groups" role="presentation"></td>
|
|
500
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
|
|
501
501
|
</ng-container>
|
|
502
502
|
<td class="k-hierarchy-cell k-table-td"
|
|
503
503
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -599,7 +599,7 @@ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
599
599
|
[logicalCellsCount]="columns.length"
|
|
600
600
|
[logicalSlaveCellsCount]="unlockedColumnsCount(item)">
|
|
601
601
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
602
|
-
<td class="k-group-cell" *ngFor="let g of groups"></td>
|
|
602
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
|
|
603
603
|
</ng-container>
|
|
604
604
|
<td class="k-hierarchy-cell k-table-td"
|
|
605
605
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -727,7 +727,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
727
727
|
[attr.data-kendo-grid-item-index]="$any(item).index"
|
|
728
728
|
[class.k-selected]="isSelectable() && isRowSelected(item)">
|
|
729
729
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
730
|
-
<td class="k-group-cell" *ngFor="let g of groups" role="presentation"></td>
|
|
730
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups" role="presentation"></td>
|
|
731
731
|
</ng-container>
|
|
732
732
|
<td class="k-hierarchy-cell k-table-td"
|
|
733
733
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -829,7 +829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
829
829
|
[logicalCellsCount]="columns.length"
|
|
830
830
|
[logicalSlaveCellsCount]="unlockedColumnsCount(item)">
|
|
831
831
|
<ng-container *ngIf="!skipGroupDecoration">
|
|
832
|
-
<td class="k-group-cell" *ngFor="let g of groups"></td>
|
|
832
|
+
<td class="k-group-cell k-table-td" *ngFor="let g of groups"></td>
|
|
833
833
|
</ng-container>
|
|
834
834
|
<td class="k-hierarchy-cell k-table-td"
|
|
835
835
|
*ngIf="detailTemplate?.templateRef"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { DomEventsService } from './../common/dom-events.service';
|
|
6
|
-
import { Directive,
|
|
6
|
+
import { Directive, ElementRef, Renderer2 } from '@angular/core';
|
|
7
7
|
import { DraggableDirective, isDocumentAvailable, isPresent } from '@progress/kendo-angular-common';
|
|
8
8
|
import { SelectionService } from './selection.service';
|
|
9
9
|
import { CellSelectionService } from './cell-selection.service';
|
|
@@ -37,19 +37,15 @@ const offsets = {
|
|
|
37
37
|
* @hidden
|
|
38
38
|
*/
|
|
39
39
|
export class GridMarqueeDirective {
|
|
40
|
-
constructor(draggable, selection, cellSelection, domEvents) {
|
|
40
|
+
constructor(draggable, selection, cellSelection, domEvents, host, renderer) {
|
|
41
41
|
this.draggable = draggable;
|
|
42
42
|
this.selection = selection;
|
|
43
43
|
this.cellSelection = cellSelection;
|
|
44
44
|
this.domEvents = domEvents;
|
|
45
|
+
this.host = host;
|
|
46
|
+
this.renderer = renderer;
|
|
45
47
|
this.selectionStarted = false;
|
|
46
48
|
}
|
|
47
|
-
get webkitUserSelection() {
|
|
48
|
-
return (this.cellSelection.enableMarquee || this.selection.enableMarquee) ? 'none' : null;
|
|
49
|
-
}
|
|
50
|
-
get userSelection() {
|
|
51
|
-
return (this.cellSelection.enableMarquee || this.selection.enableMarquee);
|
|
52
|
-
}
|
|
53
49
|
ngOnInit() {
|
|
54
50
|
this.subscriptions = (this.draggable.kendoPress.subscribe(this.start.bind(this)));
|
|
55
51
|
this.subscriptions.add(this.draggable.kendoDrag.subscribe(this.moveMarquee.bind(this)));
|
|
@@ -80,6 +76,8 @@ export class GridMarqueeDirective {
|
|
|
80
76
|
const distance = Math.sqrt((args.pageX - press.pageX) ** 2 + (args.pageY - press.pageY) ** 2);
|
|
81
77
|
if (distance > MINIMAL_DRAG_DISTANCE) {
|
|
82
78
|
this.selectionStarted = true;
|
|
79
|
+
this.renderer.addClass(this.host.nativeElement, 'user-select-none');
|
|
80
|
+
this.renderer.setStyle(this.host.nativeElement, 'user-select', 'none');
|
|
83
81
|
this.dragEndSubscription = merge(this.domEvents.cellMouseup.pipe(take(1)), this.draggable.kendoRelease.pipe(delay(1), take(1)))
|
|
84
82
|
.subscribe(this.endSelection.bind(this));
|
|
85
83
|
}
|
|
@@ -124,6 +122,8 @@ export class GridMarqueeDirective {
|
|
|
124
122
|
if (this.dragEndSubscription) {
|
|
125
123
|
this.dragEndSubscription.unsubscribe();
|
|
126
124
|
}
|
|
125
|
+
this.renderer.removeClass(this.host.nativeElement, 'user-select-none');
|
|
126
|
+
this.renderer.removeStyle(this.host.nativeElement, 'user-select');
|
|
127
127
|
this.dragEndSubscription = null;
|
|
128
128
|
this.pressTarget = null;
|
|
129
129
|
this.pressArgs = null;
|
|
@@ -160,17 +160,11 @@ export class GridMarqueeDirective {
|
|
|
160
160
|
return null;
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
GridMarqueeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMarqueeDirective, deps: [{ token: i1.DraggableDirective }, { token: i2.SelectionService }, { token: i3.CellSelectionService }, { token: i4.DomEventsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
164
|
-
GridMarqueeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]",
|
|
163
|
+
GridMarqueeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMarqueeDirective, deps: [{ token: i1.DraggableDirective }, { token: i2.SelectionService }, { token: i3.CellSelectionService }, { token: i4.DomEventsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
164
|
+
GridMarqueeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]", ngImport: i0 });
|
|
165
165
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridMarqueeDirective, decorators: [{
|
|
166
166
|
type: Directive,
|
|
167
167
|
args: [{
|
|
168
168
|
selector: '[kendoGridSelectionMarquee]'
|
|
169
169
|
}]
|
|
170
|
-
}], ctorParameters: function () { return [{ type: i1.DraggableDirective }, { type: i2.SelectionService }, { type: i3.CellSelectionService }, { type: i4.DomEventsService }
|
|
171
|
-
type: HostBinding,
|
|
172
|
-
args: ['style.-webkit-user-select']
|
|
173
|
-
}], userSelection: [{
|
|
174
|
-
type: HostBinding,
|
|
175
|
-
args: ['class.user-select-none']
|
|
176
|
-
}] } });
|
|
170
|
+
}], ctorParameters: function () { return [{ type: i1.DraggableDirective }, { type: i2.SelectionService }, { type: i3.CellSelectionService }, { type: i4.DomEventsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
|
|
@@ -34,6 +34,9 @@ export class Selection {
|
|
|
34
34
|
this.cellSelectionState = new PairSet();
|
|
35
35
|
this.init();
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
37
40
|
get isCellSelectionMode() {
|
|
38
41
|
return isPresent(this.ctx.grid.selectable) && this.ctx.grid.selectable['cell'];
|
|
39
42
|
}
|
|
@@ -87,6 +90,14 @@ export class Selection {
|
|
|
87
90
|
}
|
|
88
91
|
return row.index;
|
|
89
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* @hidden
|
|
95
|
+
*/
|
|
96
|
+
stateToArray() {
|
|
97
|
+
return this.isCellSelectionMode ?
|
|
98
|
+
this.cellSelectionState.toArray('itemKey', 'columnKey') :
|
|
99
|
+
Array.from(this.rowSelectionState);
|
|
100
|
+
}
|
|
90
101
|
getSelectionItem(row, col, colIndex) {
|
|
91
102
|
const itemIdentifiers = {};
|
|
92
103
|
itemIdentifiers.itemKey = this.getItemKey(row);
|
|
@@ -147,11 +158,6 @@ export class Selection {
|
|
|
147
158
|
this.rowSelectionState = new Set(selectedKeys);
|
|
148
159
|
}
|
|
149
160
|
}
|
|
150
|
-
stateToArray() {
|
|
151
|
-
return this.isCellSelectionMode ?
|
|
152
|
-
this.cellSelectionState.toArray('itemKey', 'columnKey') :
|
|
153
|
-
Array.from(this.rowSelectionState);
|
|
154
|
-
}
|
|
155
161
|
}
|
|
156
162
|
Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, deps: [{ token: i1.ContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
157
163
|
Selection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Selection, selector: "kendo-grid-selection-base", inputs: { selectedKeys: "selectedKeys", rangeSelectionStartRow: "rangeSelectionStartRow", rangeSelectionStartColumnIndex: "rangeSelectionStartColumnIndex", selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, usesOnChanges: true, ngImport: i0 });
|
package/esm2020/utils.mjs
CHANGED
|
@@ -129,3 +129,13 @@ export const nodesToArray = (nodes) => [].slice.call(nodes);
|
|
|
129
129
|
* @hidden
|
|
130
130
|
*/
|
|
131
131
|
export const replaceMessagePlaceholder = (message, name, value) => message.replace(new RegExp(`\{\\s*${name}\\s*\}`, 'g'), value);
|
|
132
|
+
/**
|
|
133
|
+
* @hidden
|
|
134
|
+
*/
|
|
135
|
+
export const recursiveFlatMap = (item) => isGroupResult(item) ? item.items.flatMap(recursiveFlatMap) : [{ ...item }];
|
|
136
|
+
/**
|
|
137
|
+
* @hidden
|
|
138
|
+
*/
|
|
139
|
+
export const isGroupResult = (obj) => {
|
|
140
|
+
return 'aggregates' in obj && 'items' in obj && 'field' in obj && 'value' in obj;
|
|
141
|
+
};
|