@progress/kendo-angular-toolbar 5.0.2 → 5.0.4-dev.202204180802

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.
@@ -3,12 +3,12 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { __decorate, __metadata } from 'tslib';
6
- import { EventEmitter, Injectable, NgZone, Input, Component, Output, ContentChildren, QueryList, ViewChild, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostBinding, HostListener, Renderer2, forwardRef, Directive, NgModule } from '@angular/core';
6
+ import { EventEmitter, Injectable, NgZone, Input, Component, Output, ContentChildren, QueryList, ViewChild, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostBinding, HostListener, Renderer2, ChangeDetectorRef, forwardRef, Directive, NgModule } from '@angular/core';
7
7
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
8
8
  import { Keys, isDocumentAvailable, ResizeSensorComponent, ResizeSensorModule } from '@progress/kendo-angular-common';
9
9
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
- import { take, bufferTime, filter, takeUntil } from 'rxjs/operators';
11
+ import { take, filter, takeUntil } from 'rxjs/operators';
12
12
  import { Subject, Subscription, merge, fromEvent } from 'rxjs';
13
13
  import { ButtonGroupComponent, DropDownButtonComponent, SplitButtonComponent, ButtonsModule } from '@progress/kendo-angular-buttons';
14
14
  import { CommonModule } from '@angular/common';
@@ -20,7 +20,7 @@ const packageMetadata = {
20
20
  name: '@progress/kendo-angular-toolbar',
21
21
  productName: 'Kendo UI for Angular',
22
22
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
23
- publishDate: 1648214206,
23
+ publishDate: 1650268908,
24
24
  version: '',
25
25
  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'
26
26
  };
@@ -438,7 +438,7 @@ const getInitialPopupSettings = (isRtl) => ({
438
438
  * Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
439
439
  */
440
440
  let ToolBarComponent = class ToolBarComponent {
441
- constructor(localization, popupService, refreshService, navigationService, element, zone, renderer) {
441
+ constructor(localization, popupService, refreshService, navigationService, element, zone, renderer, _cdr) {
442
442
  this.localization = localization;
443
443
  this.popupService = popupService;
444
444
  this.refreshService = refreshService;
@@ -446,6 +446,7 @@ let ToolBarComponent = class ToolBarComponent {
446
446
  this.element = element;
447
447
  this.zone = zone;
448
448
  this.renderer = renderer;
449
+ this._cdr = _cdr;
449
450
  /**
450
451
  * Hides the overflowing tools in a popup.
451
452
  */
@@ -590,9 +591,7 @@ let ToolBarComponent = class ToolBarComponent {
590
591
  });
591
592
  });
592
593
  if (this.overflow) {
593
- this.subscriptions.add(merge(
594
- // trigger resizing calculations once every 200ms instead of each time the resize event is emitted
595
- this.resizeSensor.resize.pipe(bufferTime(200), filter(v => v.length > 0)), this.renderedTools.changes).subscribe(() => { this.onResize(); }));
594
+ this.subscriptions.add(merge(this.resizeSensor.resize, this.renderedTools.changes).subscribe(() => { this.onResize(); }));
596
595
  // because of https://github.com/telerik/kendo-angular-buttons/pull/276
597
596
  // calling onResize twice is the trade-off for removing the manual ChangeDetection
598
597
  // triggering altogether - it ensures correct layout and calculations
@@ -637,6 +636,12 @@ let ToolBarComponent = class ToolBarComponent {
637
636
  get moreToolsTitle() {
638
637
  return this.localization.get('moreToolsTitle');
639
638
  }
639
+ /**
640
+ * @hidden
641
+ */
642
+ get cdr() {
643
+ return this._cdr;
644
+ }
640
645
  /**
641
646
  * @hidden
642
647
  */
@@ -684,11 +689,9 @@ let ToolBarComponent = class ToolBarComponent {
684
689
  const containerWidth = innerWidth(this.element.nativeElement) - this.overflowAnchorWidth;
685
690
  this.shrink(containerWidth, this.childrenWidth);
686
691
  this.stretch(containerWidth, this.childrenWidth);
687
- this.zone.onStable.pipe(take(1)).subscribe(() => {
688
- this.displayAnchor();
689
- });
692
+ this.displayAnchor();
693
+ this.resizeSensor.acceptSize();
690
694
  }
691
- this.resizeSensor.acceptSize();
692
695
  }
693
696
  /**
694
697
  * @hidden
@@ -1000,7 +1003,7 @@ ToolBarComponent = __decorate([
1000
1003
  </ul>
1001
1004
  </ng-template>
1002
1005
  <ng-container #container></ng-container>
1003
- <kendo-resize-sensor *ngIf="overflow" [rateLimit]="1000" #resizeSensor></kendo-resize-sensor>
1006
+ <kendo-resize-sensor *ngIf="overflow" #resizeSensor></kendo-resize-sensor>
1004
1007
  `
1005
1008
  }),
1006
1009
  __metadata("design:paramtypes", [LocalizationService,
@@ -1009,7 +1012,8 @@ ToolBarComponent = __decorate([
1009
1012
  NavigationService,
1010
1013
  ElementRef,
1011
1014
  NgZone,
1012
- Renderer2])
1015
+ Renderer2,
1016
+ ChangeDetectorRef])
1013
1017
  ], ToolBarComponent);
1014
1018
 
1015
1019
  var ToolBarButtonComponent_1;
@@ -3,12 +3,12 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { __decorate, __metadata, __extends } from 'tslib';
6
- import { Injectable, EventEmitter, NgZone, Input, Component, Output, ContentChildren, QueryList, ViewChild, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostBinding, HostListener, Renderer2, forwardRef, Directive, NgModule } from '@angular/core';
6
+ import { Injectable, EventEmitter, NgZone, Input, Component, Output, ContentChildren, QueryList, ViewChild, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostBinding, HostListener, Renderer2, ChangeDetectorRef, forwardRef, Directive, NgModule } from '@angular/core';
7
7
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
8
8
  import { Keys, isDocumentAvailable, ResizeSensorComponent, ResizeSensorModule } from '@progress/kendo-angular-common';
9
9
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
- import { take, bufferTime, filter, takeUntil } from 'rxjs/operators';
11
+ import { take, filter, takeUntil } from 'rxjs/operators';
12
12
  import { merge, fromEvent, Subject, Subscription } from 'rxjs';
13
13
  import { ButtonGroupComponent, DropDownButtonComponent, SplitButtonComponent, ButtonsModule } from '@progress/kendo-angular-buttons';
14
14
  import { CommonModule } from '@angular/common';
@@ -20,7 +20,7 @@ var packageMetadata = {
20
20
  name: '@progress/kendo-angular-toolbar',
21
21
  productName: 'Kendo UI for Angular',
22
22
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
23
- publishDate: 1648214206,
23
+ publishDate: 1650268908,
24
24
  version: '',
25
25
  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'
26
26
  };
@@ -463,7 +463,7 @@ var getInitialPopupSettings = function (isRtl) { return ({
463
463
  * Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
464
464
  */
465
465
  var ToolBarComponent = /** @class */ (function () {
466
- function ToolBarComponent(localization, popupService, refreshService, navigationService, element, zone, renderer) {
466
+ function ToolBarComponent(localization, popupService, refreshService, navigationService, element, zone, renderer, _cdr) {
467
467
  this.localization = localization;
468
468
  this.popupService = popupService;
469
469
  this.refreshService = refreshService;
@@ -471,6 +471,7 @@ var ToolBarComponent = /** @class */ (function () {
471
471
  this.element = element;
472
472
  this.zone = zone;
473
473
  this.renderer = renderer;
474
+ this._cdr = _cdr;
474
475
  /**
475
476
  * Hides the overflowing tools in a popup.
476
477
  */
@@ -649,9 +650,7 @@ var ToolBarComponent = /** @class */ (function () {
649
650
  });
650
651
  });
651
652
  if (this.overflow) {
652
- this.subscriptions.add(merge(
653
- // trigger resizing calculations once every 200ms instead of each time the resize event is emitted
654
- this.resizeSensor.resize.pipe(bufferTime(200), filter(function (v) { return v.length > 0; })), this.renderedTools.changes).subscribe(function () { _this.onResize(); }));
653
+ this.subscriptions.add(merge(this.resizeSensor.resize, this.renderedTools.changes).subscribe(function () { _this.onResize(); }));
655
654
  // because of https://github.com/telerik/kendo-angular-buttons/pull/276
656
655
  // calling onResize twice is the trade-off for removing the manual ChangeDetection
657
656
  // triggering altogether - it ensures correct layout and calculations
@@ -708,6 +707,16 @@ var ToolBarComponent = /** @class */ (function () {
708
707
  enumerable: true,
709
708
  configurable: true
710
709
  });
710
+ Object.defineProperty(ToolBarComponent.prototype, "cdr", {
711
+ /**
712
+ * @hidden
713
+ */
714
+ get: function () {
715
+ return this._cdr;
716
+ },
717
+ enumerable: true,
718
+ configurable: true
719
+ });
711
720
  /**
712
721
  * @hidden
713
722
  */
@@ -751,16 +760,13 @@ var ToolBarComponent = /** @class */ (function () {
751
760
  * @hidden
752
761
  */
753
762
  ToolBarComponent.prototype.onResize = function () {
754
- var _this = this;
755
763
  if (isDocumentAvailable()) {
756
764
  var containerWidth = innerWidth(this.element.nativeElement) - this.overflowAnchorWidth;
757
765
  this.shrink(containerWidth, this.childrenWidth);
758
766
  this.stretch(containerWidth, this.childrenWidth);
759
- this.zone.onStable.pipe(take(1)).subscribe(function () {
760
- _this.displayAnchor();
761
- });
767
+ this.displayAnchor();
768
+ this.resizeSensor.acceptSize();
762
769
  }
763
- this.resizeSensor.acceptSize();
764
770
  };
765
771
  /**
766
772
  * @hidden
@@ -1058,7 +1064,7 @@ var ToolBarComponent = /** @class */ (function () {
1058
1064
  }
1059
1065
  ],
1060
1066
  selector: 'kendo-toolbar',
1061
- template: "\n <ng-container kendoToolbarLocalizedMessages\n i18n-moreToolsTitle=\"kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar\"\n moreToolsTitle=\"More tools\"\n >\n </ng-container>\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <kendo-toolbar-renderer\n #toolbarRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'toolbar'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </ng-container>\n <button\n #overflowButton\n type=\"button\"\n tabindex=\"-1\"\n [title]=\"moreToolsTitle\"\n [attr.aria-label]=\"moreToolsTitle\"\n *ngIf=\"overflow\"\n [style.visibility]=\"'hidden'\"\n class=\"k-overflow-anchor k-button\"\n (click)=\"showPopup()\"\n >\n <span class=\"k-icon k-i-more-vertical\"></span>\n </button>\n <ng-template #popupTemplate>\n <ul class=\"k-overflow-container k-list-container k-reset\">\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <li class=\"k-item\">\n <kendo-toolbar-renderer\n #overflowRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'overflow'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n <ng-container #container></ng-container>\n <kendo-resize-sensor *ngIf=\"overflow\" [rateLimit]=\"1000\" #resizeSensor></kendo-resize-sensor>\n "
1067
+ template: "\n <ng-container kendoToolbarLocalizedMessages\n i18n-moreToolsTitle=\"kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar\"\n moreToolsTitle=\"More tools\"\n >\n </ng-container>\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <kendo-toolbar-renderer\n #toolbarRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'toolbar'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </ng-container>\n <button\n #overflowButton\n type=\"button\"\n tabindex=\"-1\"\n [title]=\"moreToolsTitle\"\n [attr.aria-label]=\"moreToolsTitle\"\n *ngIf=\"overflow\"\n [style.visibility]=\"'hidden'\"\n class=\"k-overflow-anchor k-button\"\n (click)=\"showPopup()\"\n >\n <span class=\"k-icon k-i-more-vertical\"></span>\n </button>\n <ng-template #popupTemplate>\n <ul class=\"k-overflow-container k-list-container k-reset\">\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <li class=\"k-item\">\n <kendo-toolbar-renderer\n #overflowRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'overflow'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n <ng-container #container></ng-container>\n <kendo-resize-sensor *ngIf=\"overflow\" #resizeSensor></kendo-resize-sensor>\n "
1062
1068
  }),
1063
1069
  __metadata("design:paramtypes", [LocalizationService,
1064
1070
  PopupService,
@@ -1066,7 +1072,8 @@ var ToolBarComponent = /** @class */ (function () {
1066
1072
  NavigationService,
1067
1073
  ElementRef,
1068
1074
  NgZone,
1069
- Renderer2])
1075
+ Renderer2,
1076
+ ChangeDetectorRef])
1070
1077
  ], ToolBarComponent);
1071
1078
  return ToolBarComponent;
1072
1079
  }());
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-toolbar',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1648214206,
14
+ publishDate: 1650268908,
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
  };
@@ -33,7 +33,7 @@ exports.ɵ0 = ɵ0;
33
33
  * Represents the [Kendo UI ToolBar component for Angular]({% slug overview_toolbar %}).
34
34
  */
35
35
  var ToolBarComponent = /** @class */ (function () {
36
- function ToolBarComponent(localization, popupService, refreshService, navigationService, element, zone, renderer) {
36
+ function ToolBarComponent(localization, popupService, refreshService, navigationService, element, zone, renderer, _cdr) {
37
37
  this.localization = localization;
38
38
  this.popupService = popupService;
39
39
  this.refreshService = refreshService;
@@ -41,6 +41,7 @@ var ToolBarComponent = /** @class */ (function () {
41
41
  this.element = element;
42
42
  this.zone = zone;
43
43
  this.renderer = renderer;
44
+ this._cdr = _cdr;
44
45
  /**
45
46
  * Hides the overflowing tools in a popup.
46
47
  */
@@ -219,9 +220,7 @@ var ToolBarComponent = /** @class */ (function () {
219
220
  });
220
221
  });
221
222
  if (this.overflow) {
222
- this.subscriptions.add(rxjs_1.merge(
223
- // trigger resizing calculations once every 200ms instead of each time the resize event is emitted
224
- this.resizeSensor.resize.pipe(operators_1.bufferTime(200), operators_2.filter(function (v) { return v.length > 0; })), this.renderedTools.changes).subscribe(function () { _this.onResize(); }));
223
+ this.subscriptions.add(rxjs_1.merge(this.resizeSensor.resize, this.renderedTools.changes).subscribe(function () { _this.onResize(); }));
225
224
  // because of https://github.com/telerik/kendo-angular-buttons/pull/276
226
225
  // calling onResize twice is the trade-off for removing the manual ChangeDetection
227
226
  // triggering altogether - it ensures correct layout and calculations
@@ -278,6 +277,16 @@ var ToolBarComponent = /** @class */ (function () {
278
277
  enumerable: true,
279
278
  configurable: true
280
279
  });
280
+ Object.defineProperty(ToolBarComponent.prototype, "cdr", {
281
+ /**
282
+ * @hidden
283
+ */
284
+ get: function () {
285
+ return this._cdr;
286
+ },
287
+ enumerable: true,
288
+ configurable: true
289
+ });
281
290
  /**
282
291
  * @hidden
283
292
  */
@@ -321,16 +330,13 @@ var ToolBarComponent = /** @class */ (function () {
321
330
  * @hidden
322
331
  */
323
332
  ToolBarComponent.prototype.onResize = function () {
324
- var _this = this;
325
333
  if (kendo_angular_common_3.isDocumentAvailable()) {
326
334
  var containerWidth = util_1.innerWidth(this.element.nativeElement) - this.overflowAnchorWidth;
327
335
  this.shrink(containerWidth, this.childrenWidth);
328
336
  this.stretch(containerWidth, this.childrenWidth);
329
- this.zone.onStable.pipe(operators_1.take(1)).subscribe(function () {
330
- _this.displayAnchor();
331
- });
337
+ this.displayAnchor();
338
+ this.resizeSensor.acceptSize();
332
339
  }
333
- this.resizeSensor.acceptSize();
334
340
  };
335
341
  /**
336
342
  * @hidden
@@ -628,7 +634,7 @@ var ToolBarComponent = /** @class */ (function () {
628
634
  }
629
635
  ],
630
636
  selector: 'kendo-toolbar',
631
- template: "\n <ng-container kendoToolbarLocalizedMessages\n i18n-moreToolsTitle=\"kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar\"\n moreToolsTitle=\"More tools\"\n >\n </ng-container>\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <kendo-toolbar-renderer\n #toolbarRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'toolbar'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </ng-container>\n <button\n #overflowButton\n type=\"button\"\n tabindex=\"-1\"\n [title]=\"moreToolsTitle\"\n [attr.aria-label]=\"moreToolsTitle\"\n *ngIf=\"overflow\"\n [style.visibility]=\"'hidden'\"\n class=\"k-overflow-anchor k-button\"\n (click)=\"showPopup()\"\n >\n <span class=\"k-icon k-i-more-vertical\"></span>\n </button>\n <ng-template #popupTemplate>\n <ul class=\"k-overflow-container k-list-container k-reset\">\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <li class=\"k-item\">\n <kendo-toolbar-renderer\n #overflowRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'overflow'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n <ng-container #container></ng-container>\n <kendo-resize-sensor *ngIf=\"overflow\" [rateLimit]=\"1000\" #resizeSensor></kendo-resize-sensor>\n "
637
+ template: "\n <ng-container kendoToolbarLocalizedMessages\n i18n-moreToolsTitle=\"kendo.toolbar.moreToolsTitle|The title of the **more tools** button in a responsive ToolBar\"\n moreToolsTitle=\"More tools\"\n >\n </ng-container>\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <kendo-toolbar-renderer\n #toolbarRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'toolbar'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </ng-container>\n <button\n #overflowButton\n type=\"button\"\n tabindex=\"-1\"\n [title]=\"moreToolsTitle\"\n [attr.aria-label]=\"moreToolsTitle\"\n *ngIf=\"overflow\"\n [style.visibility]=\"'hidden'\"\n class=\"k-overflow-anchor k-button\"\n (click)=\"showPopup()\"\n >\n <span class=\"k-icon k-i-more-vertical\"></span>\n </button>\n <ng-template #popupTemplate>\n <ul class=\"k-overflow-container k-list-container k-reset\">\n <ng-container *ngFor=\"let tool of allTools; let index = index\">\n <li class=\"k-item\">\n <kendo-toolbar-renderer\n #overflowRenderer\n (rendererClick)=\"onRendererClick($event)\"\n [location]=\"'overflow'\"\n [resizable]=\"overflow\"\n [tool]=\"tool\"\n ></kendo-toolbar-renderer>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n <ng-container #container></ng-container>\n <kendo-resize-sensor *ngIf=\"overflow\" #resizeSensor></kendo-resize-sensor>\n "
632
638
  }),
633
639
  tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
634
640
  kendo_angular_popup_1.PopupService,
@@ -636,7 +642,8 @@ var ToolBarComponent = /** @class */ (function () {
636
642
  navigation_service_1.NavigationService,
637
643
  core_1.ElementRef,
638
644
  core_1.NgZone,
639
- core_1.Renderer2])
645
+ core_1.Renderer2,
646
+ core_1.ChangeDetectorRef])
640
647
  ], ToolBarComponent);
641
648
  return ToolBarComponent;
642
649
  }());