@progress/kendo-angular-grid 6.1.1 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: 1647343373,
12
+ publishDate: 1648212017,
13
13
  version: '',
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
  };
@@ -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 { __decorate, __metadata, __param } from 'tslib';
6
- import { InjectionToken, HostBinding, Input, Component, EventEmitter, Injectable, Optional, Inject, Directive, SkipSelf, ElementRef, Renderer2, NgZone, ChangeDetectorRef, TemplateRef, QueryList, ContentChildren, ContentChild, forwardRef, Host, Output, isDevMode, SecurityContext, ViewChild, ViewChildren, ViewEncapsulation, Self, ViewContainerRef, Pipe, NgModule, ComponentFactoryResolver, HostListener, ChangeDetectionStrategy } from '@angular/core';
6
+ import { InjectionToken, HostBinding, Input, Component, EventEmitter, Injectable, Optional, Inject, Directive, SkipSelf, ElementRef, Renderer2, NgZone, ChangeDetectorRef, TemplateRef, QueryList, isDevMode, ContentChildren, ContentChild, forwardRef, Host, Output, SecurityContext, ViewChild, ViewChildren, ViewEncapsulation, Self, ViewContainerRef, Pipe, NgModule, ComponentFactoryResolver, HostListener, ChangeDetectionStrategy } from '@angular/core';
7
7
  import { isDocumentAvailable, Keys, DraggableDirective, isChanged, anyChanged, hasObservers, ResizeSensorComponent, KendoInput, DraggableModule, EventsModule, ResizeSensorModule, guid } from '@progress/kendo-angular-common';
8
8
  import { merge, of, Subject, Subscription, from, interval, fromEvent, zip, BehaviorSubject, Observable } from 'rxjs';
9
9
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
@@ -2831,7 +2831,7 @@ const packageMetadata = {
2831
2831
  name: '@progress/kendo-angular-grid',
2832
2832
  productName: 'Kendo UI for Angular',
2833
2833
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2834
- publishDate: 1647343373,
2834
+ publishDate: 1648212017,
2835
2835
  version: '',
2836
2836
  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'
2837
2837
  };
@@ -3398,7 +3398,10 @@ class ColumnBase$1 {
3398
3398
  * The width of the column (in pixels).
3399
3399
  */
3400
3400
  set width(value) {
3401
- this._width = parseInt(value, 10);
3401
+ if (isDevMode() && isPresent(value) && typeof value !== 'number') {
3402
+ throw new Error('The "width" option accepts numeric values only.');
3403
+ }
3404
+ this._width = typeof value === 'string' ? parseInt(value, 10) : value;
3402
3405
  }
3403
3406
  get width() { return this._width; }
3404
3407
  /**
@@ -6315,6 +6318,12 @@ let ColumnInfoService = class ColumnInfoService {
6315
6318
  get totalLevels() {
6316
6319
  return this.columnsContainer.totalLevels;
6317
6320
  }
6321
+ get hiddenColumns() {
6322
+ if (!this.list) {
6323
+ return [];
6324
+ }
6325
+ return this.list().filter(column => !column.isVisible);
6326
+ }
6318
6327
  get leafNamedColumns() {
6319
6328
  const columns = expandColumns(this.list().filterSort(column => !column.isColumnGroup))
6320
6329
  .filter(column => column.matchesMedia && column.displayTitle);
@@ -17234,13 +17243,14 @@ const indexOf = (target, list) => {
17234
17243
  * @hidden
17235
17244
  */
17236
17245
  let ColumnHandleDirective = class ColumnHandleDirective {
17237
- constructor(draggable, element, service, zone, cdr, localization) {
17246
+ constructor(draggable, element, service, zone, cdr, localization, columnInfoService) {
17238
17247
  this.draggable = draggable;
17239
17248
  this.element = element;
17240
17249
  this.service = service;
17241
17250
  this.zone = zone;
17242
17251
  this.cdr = cdr;
17243
17252
  this.localization = localization;
17253
+ this.columnInfoService = columnInfoService;
17244
17254
  this.columns = [];
17245
17255
  this.subscriptions = new Subscription();
17246
17256
  this.rtl = false;
@@ -17274,6 +17284,9 @@ let ColumnHandleDirective = class ColumnHandleDirective {
17274
17284
  this.service.measureColumns(columnInfo);
17275
17285
  }
17276
17286
  ngOnInit() {
17287
+ if (isBlank(this.column.width)) {
17288
+ this.column.implicitWidth = headerWidth(this.element);
17289
+ }
17277
17290
  const service = this.service.changes.pipe(filter(() => this.column.resizable), filter(e => isPresent(e.columns.find(column => column === this.column))));
17278
17291
  this.subscriptions.add(service.pipe(filter(e => e.type === 'start'))
17279
17292
  .subscribe(this.initState.bind(this)));
@@ -17333,6 +17346,13 @@ let ColumnHandleDirective = class ColumnHandleDirective {
17333
17346
  }
17334
17347
  updateWidth(column, width) {
17335
17348
  column.width = width;
17349
+ this.columnInfoService.hiddenColumns.forEach((col) => {
17350
+ if (isBlank(col.width) && isPresent(col.implicitWidth)) {
17351
+ // Resize hidden columns to their implicit width so they
17352
+ // can be displayed with the same width if made visible.
17353
+ col.width = col.implicitWidth;
17354
+ }
17355
+ });
17336
17356
  this.cdr.markForCheck(); //force CD cycle
17337
17357
  }
17338
17358
  columnsForLevel(level) {
@@ -17378,7 +17398,8 @@ ColumnHandleDirective = __decorate([
17378
17398
  ColumnResizingService,
17379
17399
  NgZone,
17380
17400
  ChangeDetectorRef,
17381
- LocalizationService])
17401
+ LocalizationService,
17402
+ ColumnInfoService])
17382
17403
  ], ColumnHandleDirective);
17383
17404
 
17384
17405
  /**
@@ -19028,9 +19049,7 @@ ColumnListComponent = __decorate([
19028
19049
  * add the component inside a [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}) directive.
19029
19050
  *
19030
19051
  * @example
19031
- * {% meta height:300 %}
19032
19052
  * ```ts-preview
19033
- *
19034
19053
  * _@Component({
19035
19054
  * selector: 'my-app',
19036
19055
  * template: `
@@ -19047,9 +19066,7 @@ ColumnListComponent = __decorate([
19047
19066
  * class AppComponent {
19048
19067
  * public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
19049
19068
  * }
19050
- *
19051
19069
  * ```
19052
- * {% endmeta %}
19053
19070
  */
19054
19071
  let ColumnChooserComponent = class ColumnChooserComponent {
19055
19072
  constructor(localization, columnInfoService, popupService, ngZone, renderer, changeDetector) {
@@ -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 { __decorate, __metadata, __param, __extends, __assign } from 'tslib';
6
- import { InjectionToken, HostBinding, Input, Component, Injectable, EventEmitter, Optional, Inject, Directive, SkipSelf, ElementRef, Renderer2, NgZone, ChangeDetectorRef, TemplateRef, ContentChildren, QueryList, ContentChild, forwardRef, Host, Output, isDevMode, SecurityContext, ViewChild, ViewChildren, ViewEncapsulation, Self, ViewContainerRef, Pipe, NgModule, ComponentFactoryResolver, HostListener, ChangeDetectionStrategy } from '@angular/core';
6
+ import { InjectionToken, HostBinding, Input, Component, Injectable, EventEmitter, Optional, Inject, Directive, SkipSelf, ElementRef, Renderer2, NgZone, ChangeDetectorRef, TemplateRef, isDevMode, ContentChildren, QueryList, ContentChild, forwardRef, Host, Output, SecurityContext, ViewChild, ViewChildren, ViewEncapsulation, Self, ViewContainerRef, Pipe, NgModule, ComponentFactoryResolver, HostListener, ChangeDetectionStrategy } from '@angular/core';
7
7
  import { isDocumentAvailable, Keys, DraggableDirective, isChanged, anyChanged, hasObservers, ResizeSensorComponent, KendoInput, DraggableModule, EventsModule, ResizeSensorModule, guid } from '@progress/kendo-angular-common';
8
8
  import { merge, of, Subject, from, Subscription, interval, fromEvent, zip, BehaviorSubject, Observable } from 'rxjs';
9
9
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
@@ -3044,7 +3044,7 @@ var packageMetadata = {
3044
3044
  name: '@progress/kendo-angular-grid',
3045
3045
  productName: 'Kendo UI for Angular',
3046
3046
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
3047
- publishDate: 1647343373,
3047
+ publishDate: 1648212017,
3048
3048
  version: '',
3049
3049
  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'
3050
3050
  };
@@ -3621,7 +3621,10 @@ var ColumnBase$1 = /** @class */ (function () {
3621
3621
  * The width of the column (in pixels).
3622
3622
  */
3623
3623
  set: function (value) {
3624
- this._width = parseInt(value, 10);
3624
+ if (isDevMode() && isPresent(value) && typeof value !== 'number') {
3625
+ throw new Error('The "width" option accepts numeric values only.');
3626
+ }
3627
+ this._width = typeof value === 'string' ? parseInt(value, 10) : value;
3625
3628
  },
3626
3629
  enumerable: true,
3627
3630
  configurable: true
@@ -6852,6 +6855,16 @@ var ColumnInfoService = /** @class */ (function () {
6852
6855
  enumerable: true,
6853
6856
  configurable: true
6854
6857
  });
6858
+ Object.defineProperty(ColumnInfoService.prototype, "hiddenColumns", {
6859
+ get: function () {
6860
+ if (!this.list) {
6861
+ return [];
6862
+ }
6863
+ return this.list().filter(function (column) { return !column.isVisible; });
6864
+ },
6865
+ enumerable: true,
6866
+ configurable: true
6867
+ });
6855
6868
  Object.defineProperty(ColumnInfoService.prototype, "leafNamedColumns", {
6856
6869
  get: function () {
6857
6870
  var columns = expandColumns(this.list().filterSort(function (column) { return !column.isColumnGroup; }))
@@ -17620,13 +17633,14 @@ var indexOf = function (target, list) {
17620
17633
  * @hidden
17621
17634
  */
17622
17635
  var ColumnHandleDirective = /** @class */ (function () {
17623
- function ColumnHandleDirective(draggable, element, service, zone, cdr, localization) {
17636
+ function ColumnHandleDirective(draggable, element, service, zone, cdr, localization, columnInfoService) {
17624
17637
  this.draggable = draggable;
17625
17638
  this.element = element;
17626
17639
  this.service = service;
17627
17640
  this.zone = zone;
17628
17641
  this.cdr = cdr;
17629
17642
  this.localization = localization;
17643
+ this.columnInfoService = columnInfoService;
17630
17644
  this.columns = [];
17631
17645
  this.subscriptions = new Subscription();
17632
17646
  this.rtl = false;
@@ -17674,6 +17688,9 @@ var ColumnHandleDirective = /** @class */ (function () {
17674
17688
  };
17675
17689
  ColumnHandleDirective.prototype.ngOnInit = function () {
17676
17690
  var _this = this;
17691
+ if (isBlank(this.column.width)) {
17692
+ this.column.implicitWidth = headerWidth(this.element);
17693
+ }
17677
17694
  var service = this.service.changes.pipe(filter(function () { return _this.column.resizable; }), filter(function (e) { return isPresent(e.columns.find(function (column) { return column === _this.column; })); }));
17678
17695
  this.subscriptions.add(service.pipe(filter(function (e) { return e.type === 'start'; }))
17679
17696
  .subscribe(this.initState.bind(this)));
@@ -17741,6 +17758,13 @@ var ColumnHandleDirective = /** @class */ (function () {
17741
17758
  };
17742
17759
  ColumnHandleDirective.prototype.updateWidth = function (column, width) {
17743
17760
  column.width = width;
17761
+ this.columnInfoService.hiddenColumns.forEach(function (col) {
17762
+ if (isBlank(col.width) && isPresent(col.implicitWidth)) {
17763
+ // Resize hidden columns to their implicit width so they
17764
+ // can be displayed with the same width if made visible.
17765
+ col.width = col.implicitWidth;
17766
+ }
17767
+ });
17744
17768
  this.cdr.markForCheck(); //force CD cycle
17745
17769
  };
17746
17770
  ColumnHandleDirective.prototype.columnsForLevel = function (level) {
@@ -17785,7 +17809,8 @@ var ColumnHandleDirective = /** @class */ (function () {
17785
17809
  ColumnResizingService,
17786
17810
  NgZone,
17787
17811
  ChangeDetectorRef,
17788
- LocalizationService])
17812
+ LocalizationService,
17813
+ ColumnInfoService])
17789
17814
  ], ColumnHandleDirective);
17790
17815
  return ColumnHandleDirective;
17791
17816
  }());
@@ -19308,9 +19333,7 @@ var ColumnListComponent = /** @class */ (function () {
19308
19333
  * add the component inside a [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}) directive.
19309
19334
  *
19310
19335
  * @example
19311
- * {% meta height:300 %}
19312
19336
  * ```ts-preview
19313
- *
19314
19337
  * _@Component({
19315
19338
  * selector: 'my-app',
19316
19339
  * template: `
@@ -19327,9 +19350,7 @@ var ColumnListComponent = /** @class */ (function () {
19327
19350
  * class AppComponent {
19328
19351
  * public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
19329
19352
  * }
19330
- *
19331
19353
  * ```
19332
- * {% endmeta %}
19333
19354
  */
19334
19355
  var ColumnChooserComponent = /** @class */ (function () {
19335
19356
  function ColumnChooserComponent(localization, columnInfoService, popupService, ngZone, renderer, changeDetector) {
@@ -15,9 +15,7 @@ var dom_queries_1 = require("../rendering/common/dom-queries");
15
15
  * add the component inside a [ToolbarTemplate]({% slug api_grid_toolbartemplatedirective %}) directive.
16
16
  *
17
17
  * @example
18
- * {% meta height:300 %}
19
18
  * ```ts-preview
20
- *
21
19
  * _@Component({
22
20
  * selector: 'my-app',
23
21
  * template: `
@@ -34,9 +32,7 @@ var dom_queries_1 = require("../rendering/common/dom-queries");
34
32
  * class AppComponent {
35
33
  * public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
36
34
  * }
37
- *
38
35
  * ```
39
- * {% endmeta %}
40
36
  */
41
37
  var ColumnChooserComponent = /** @class */ (function () {
42
38
  function ColumnChooserComponent(localization, columnInfoService, popupService, ngZone, renderer, changeDetector) {
@@ -14,6 +14,7 @@ var column_common_1 = require("../columns/column-common");
14
14
  var kendo_angular_common_1 = require("@progress/kendo-angular-common");
15
15
  var column_resizing_service_1 = require("./column-resizing.service");
16
16
  var operators_1 = require("rxjs/operators");
17
+ var column_info_service_1 = require("../common/column-info.service");
17
18
  // TODO
18
19
  // tslint:disable:rxjs-no-unsafe-takeuntil
19
20
  /**
@@ -112,13 +113,14 @@ exports.ɵ8 = ɵ8;
112
113
  * @hidden
113
114
  */
114
115
  var ColumnHandleDirective = /** @class */ (function () {
115
- function ColumnHandleDirective(draggable, element, service, zone, cdr, localization) {
116
+ function ColumnHandleDirective(draggable, element, service, zone, cdr, localization, columnInfoService) {
116
117
  this.draggable = draggable;
117
118
  this.element = element;
118
119
  this.service = service;
119
120
  this.zone = zone;
120
121
  this.cdr = cdr;
121
122
  this.localization = localization;
123
+ this.columnInfoService = columnInfoService;
122
124
  this.columns = [];
123
125
  this.subscriptions = new rxjs_1.Subscription();
124
126
  this.rtl = false;
@@ -166,6 +168,9 @@ var ColumnHandleDirective = /** @class */ (function () {
166
168
  };
167
169
  ColumnHandleDirective.prototype.ngOnInit = function () {
168
170
  var _this = this;
171
+ if (utils_1.isBlank(this.column.width)) {
172
+ this.column.implicitWidth = headerWidth(this.element);
173
+ }
169
174
  var service = this.service.changes.pipe(operators_1.filter(function () { return _this.column.resizable; }), operators_1.filter(function (e) { return utils_1.isPresent(e.columns.find(function (column) { return column === _this.column; })); }));
170
175
  this.subscriptions.add(service.pipe(operators_1.filter(function (e) { return e.type === 'start'; }))
171
176
  .subscribe(this.initState.bind(this)));
@@ -233,6 +238,13 @@ var ColumnHandleDirective = /** @class */ (function () {
233
238
  };
234
239
  ColumnHandleDirective.prototype.updateWidth = function (column, width) {
235
240
  column.width = width;
241
+ this.columnInfoService.hiddenColumns.forEach(function (col) {
242
+ if (utils_1.isBlank(col.width) && utils_1.isPresent(col.implicitWidth)) {
243
+ // Resize hidden columns to their implicit width so they
244
+ // can be displayed with the same width if made visible.
245
+ col.width = col.implicitWidth;
246
+ }
247
+ });
236
248
  this.cdr.markForCheck(); //force CD cycle
237
249
  };
238
250
  ColumnHandleDirective.prototype.columnsForLevel = function (level) {
@@ -277,7 +289,8 @@ var ColumnHandleDirective = /** @class */ (function () {
277
289
  column_resizing_service_1.ColumnResizingService,
278
290
  core_1.NgZone,
279
291
  core_1.ChangeDetectorRef,
280
- kendo_angular_l10n_1.LocalizationService])
292
+ kendo_angular_l10n_1.LocalizationService,
293
+ column_info_service_1.ColumnInfoService])
281
294
  ], ColumnHandleDirective);
282
295
  return ColumnHandleDirective;
283
296
  }());
@@ -9,6 +9,7 @@ var core_1 = require("@angular/core");
9
9
  var header_template_directive_1 = require("../rendering/header/header-template.directive");
10
10
  var footer_template_directive_1 = require("../rendering/footer/footer-template.directive");
11
11
  var column_menu_template_directive_1 = require("../column-menu/column-menu-template.directive");
12
+ var utils_1 = require("../utils");
12
13
  /**
13
14
  * @hidden
14
15
  */
@@ -147,7 +148,10 @@ var ColumnBase = /** @class */ (function () {
147
148
  * The width of the column (in pixels).
148
149
  */
149
150
  set: function (value) {
150
- this._width = parseInt(value, 10);
151
+ if (core_1.isDevMode() && utils_1.isPresent(value) && typeof value !== 'number') {
152
+ throw new Error('The "width" option accepts numeric values only.');
153
+ }
154
+ this._width = typeof value === 'string' ? parseInt(value, 10) : value;
151
155
  },
152
156
  enumerable: true,
153
157
  configurable: true
@@ -49,6 +49,16 @@ var ColumnInfoService = /** @class */ (function () {
49
49
  enumerable: true,
50
50
  configurable: true
51
51
  });
52
+ Object.defineProperty(ColumnInfoService.prototype, "hiddenColumns", {
53
+ get: function () {
54
+ if (!this.list) {
55
+ return [];
56
+ }
57
+ return this.list().filter(function (column) { return !column.isVisible; });
58
+ },
59
+ enumerable: true,
60
+ configurable: true
61
+ });
52
62
  Object.defineProperty(ColumnInfoService.prototype, "leafNamedColumns", {
53
63
  get: function () {
54
64
  var columns = column_common_1.expandColumns(this.list().filterSort(function (column) { return !column.isColumnGroup; }))
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-grid',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1647343373,
14
+ publishDate: 1648212017,
15
15
  version: '',
16
16
  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'
17
17
  };