@delon/abc 13.0.0 → 13.2.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.
Files changed (182) hide show
  1. package/README.md +1 -1
  2. package/auto-focus/auto-focus.directive.d.ts +3 -1
  3. package/ellipsis/ellipsis.component.d.ts +1 -0
  4. package/error-collect/error-collect.component.d.ts +4 -2
  5. package/esm2020/auto-focus/auto-focus.directive.mjs +9 -7
  6. package/esm2020/auto-focus/auto-focus.module.mjs +4 -4
  7. package/esm2020/avatar-list/avatar-list-item.component.mjs +3 -3
  8. package/esm2020/avatar-list/avatar-list.component.mjs +3 -3
  9. package/esm2020/avatar-list/avatar-list.module.mjs +4 -4
  10. package/esm2020/count-down/count-down.component.mjs +3 -3
  11. package/esm2020/count-down/count-down.module.mjs +4 -4
  12. package/esm2020/date-picker/date-picker.module.mjs +4 -4
  13. package/esm2020/date-picker/range-shortcut.component.mjs +3 -3
  14. package/esm2020/date-picker/range.directive.mjs +3 -3
  15. package/esm2020/down-file/down-file.directive.mjs +3 -3
  16. package/esm2020/down-file/down-file.module.mjs +4 -4
  17. package/esm2020/ellipsis/ellipsis.component.mjs +8 -5
  18. package/esm2020/ellipsis/ellipsis.module.mjs +4 -4
  19. package/esm2020/error-collect/error-collect.component.mjs +12 -8
  20. package/esm2020/error-collect/error-collect.module.mjs +4 -4
  21. package/esm2020/exception/exception.component.mjs +3 -3
  22. package/esm2020/exception/exception.module.mjs +4 -4
  23. package/esm2020/footer-toolbar/footer-toolbar.component.mjs +3 -3
  24. package/esm2020/footer-toolbar/footer-toolbar.module.mjs +4 -4
  25. package/esm2020/full-content/full-content-toggle.directive.mjs +3 -3
  26. package/esm2020/full-content/full-content.component.mjs +17 -15
  27. package/esm2020/full-content/full-content.module.mjs +4 -4
  28. package/esm2020/full-content/full-content.service.mjs +3 -3
  29. package/esm2020/global-footer/global-footer-item.component.mjs +3 -3
  30. package/esm2020/global-footer/global-footer.component.mjs +3 -3
  31. package/esm2020/global-footer/global-footer.module.mjs +4 -4
  32. package/esm2020/image/image.directive.mjs +3 -3
  33. package/esm2020/image/image.module.mjs +4 -4
  34. package/esm2020/let/let.directive.mjs +3 -3
  35. package/esm2020/let/let.module.mjs +4 -4
  36. package/esm2020/loading/loading.component.mjs +3 -3
  37. package/esm2020/loading/loading.module.mjs +4 -4
  38. package/esm2020/loading/loading.service.mjs +3 -3
  39. package/esm2020/lodop/lodop.module.mjs +4 -4
  40. package/esm2020/lodop/lodop.service.mjs +3 -3
  41. package/esm2020/media/media.component.mjs +25 -13
  42. package/esm2020/media/media.module.mjs +4 -4
  43. package/esm2020/media/media.service.mjs +6 -5
  44. package/esm2020/media/public_api.mjs +1 -2
  45. package/esm2020/notice-icon/notice-icon-tab.component.mjs +3 -3
  46. package/esm2020/notice-icon/notice-icon.component.mjs +3 -3
  47. package/esm2020/notice-icon/notice-icon.module.mjs +4 -4
  48. package/esm2020/onboarding/onboarding.component.mjs +3 -3
  49. package/esm2020/onboarding/onboarding.module.mjs +4 -4
  50. package/esm2020/onboarding/onboarding.service.mjs +3 -3
  51. package/esm2020/page-header/page-header.component.mjs +3 -3
  52. package/esm2020/page-header/page-header.module.mjs +4 -4
  53. package/esm2020/pdf/pdf.component.mjs +27 -13
  54. package/esm2020/pdf/pdf.module.mjs +4 -4
  55. package/esm2020/qr/qr.component.mjs +5 -5
  56. package/esm2020/qr/qr.module.mjs +4 -4
  57. package/esm2020/quick-menu/quick-menu.component.mjs +3 -3
  58. package/esm2020/quick-menu/quick-menu.module.mjs +4 -4
  59. package/esm2020/result/result.component.mjs +3 -3
  60. package/esm2020/result/result.module.mjs +4 -4
  61. package/esm2020/reuse-tab/reuse-tab-context-menu.component.mjs +3 -3
  62. package/esm2020/reuse-tab/reuse-tab-context.component.mjs +3 -3
  63. package/esm2020/reuse-tab/reuse-tab-context.directive.mjs +3 -3
  64. package/esm2020/reuse-tab/reuse-tab-context.service.mjs +3 -3
  65. package/esm2020/reuse-tab/reuse-tab.component.mjs +3 -3
  66. package/esm2020/reuse-tab/reuse-tab.module.mjs +4 -4
  67. package/esm2020/reuse-tab/reuse-tab.service.mjs +3 -3
  68. package/esm2020/se/se-container.component.mjs +6 -6
  69. package/esm2020/se/se.component.mjs +11 -13
  70. package/esm2020/se/se.module.mjs +4 -4
  71. package/esm2020/sg/sg-container.component.mjs +3 -3
  72. package/esm2020/sg/sg.component.mjs +3 -3
  73. package/esm2020/sg/sg.module.mjs +4 -4
  74. package/esm2020/st/st-column-source.mjs +3 -3
  75. package/esm2020/st/st-data-source.mjs +3 -3
  76. package/esm2020/st/st-export.mjs +3 -3
  77. package/esm2020/st/st-filter.component.mjs +3 -3
  78. package/esm2020/st/st-row.directive.mjs +6 -6
  79. package/esm2020/st/st-widget-host.directive.mjs +3 -3
  80. package/esm2020/st/st-widget.mjs +3 -3
  81. package/esm2020/st/st.component.mjs +6 -6
  82. package/esm2020/st/st.module.mjs +4 -4
  83. package/esm2020/sv/sv-container.component.mjs +6 -6
  84. package/esm2020/sv/sv-value.component.mjs +3 -3
  85. package/esm2020/sv/sv.component.mjs +3 -3
  86. package/esm2020/sv/sv.module.mjs +4 -4
  87. package/esm2020/tag-select/tag-select.component.mjs +3 -3
  88. package/esm2020/tag-select/tag-select.module.mjs +4 -4
  89. package/esm2020/xlsx/xlsx.directive.mjs +3 -3
  90. package/esm2020/xlsx/xlsx.module.mjs +4 -4
  91. package/esm2020/xlsx/xlsx.service.mjs +3 -3
  92. package/esm2020/zip/zip.module.mjs +4 -4
  93. package/esm2020/zip/zip.service.mjs +3 -3
  94. package/fesm2015/auto-focus.mjs +12 -10
  95. package/fesm2015/auto-focus.mjs.map +1 -1
  96. package/fesm2015/avatar-list.mjs +10 -10
  97. package/fesm2015/count-down.mjs +7 -7
  98. package/fesm2015/date-picker.mjs +10 -10
  99. package/fesm2015/down-file.mjs +7 -7
  100. package/fesm2015/ellipsis.mjs +11 -8
  101. package/fesm2015/ellipsis.mjs.map +1 -1
  102. package/fesm2015/error-collect.mjs +15 -11
  103. package/fesm2015/error-collect.mjs.map +1 -1
  104. package/fesm2015/exception.mjs +7 -7
  105. package/fesm2015/footer-toolbar.mjs +7 -7
  106. package/fesm2015/full-content.mjs +26 -25
  107. package/fesm2015/full-content.mjs.map +1 -1
  108. package/fesm2015/global-footer.mjs +10 -10
  109. package/fesm2015/image.mjs +7 -7
  110. package/fesm2015/let.mjs +7 -7
  111. package/fesm2015/loading.mjs +10 -10
  112. package/fesm2015/lodop.mjs +7 -7
  113. package/fesm2015/media.mjs +32 -21
  114. package/fesm2015/media.mjs.map +1 -1
  115. package/fesm2015/notice-icon.mjs +10 -10
  116. package/fesm2015/onboarding.mjs +10 -10
  117. package/fesm2015/page-header.mjs +7 -7
  118. package/fesm2015/pdf.mjs +32 -17
  119. package/fesm2015/pdf.mjs.map +1 -1
  120. package/fesm2015/qr.mjs +8 -8
  121. package/fesm2015/qr.mjs.map +1 -1
  122. package/fesm2015/quick-menu.mjs +7 -7
  123. package/fesm2015/result.mjs +7 -7
  124. package/fesm2015/reuse-tab.mjs +22 -22
  125. package/fesm2015/se.mjs +20 -22
  126. package/fesm2015/se.mjs.map +1 -1
  127. package/fesm2015/sg.mjs +10 -10
  128. package/fesm2015/st.mjs +34 -34
  129. package/fesm2015/sv.mjs +16 -16
  130. package/fesm2015/tag-select.mjs +7 -7
  131. package/fesm2015/xlsx.mjs +10 -10
  132. package/fesm2015/zip.mjs +7 -7
  133. package/fesm2020/auto-focus.mjs +12 -10
  134. package/fesm2020/auto-focus.mjs.map +1 -1
  135. package/fesm2020/avatar-list.mjs +10 -10
  136. package/fesm2020/count-down.mjs +7 -7
  137. package/fesm2020/date-picker.mjs +10 -10
  138. package/fesm2020/down-file.mjs +7 -7
  139. package/fesm2020/ellipsis.mjs +11 -8
  140. package/fesm2020/ellipsis.mjs.map +1 -1
  141. package/fesm2020/error-collect.mjs +15 -11
  142. package/fesm2020/error-collect.mjs.map +1 -1
  143. package/fesm2020/exception.mjs +7 -7
  144. package/fesm2020/footer-toolbar.mjs +7 -7
  145. package/fesm2020/full-content.mjs +26 -24
  146. package/fesm2020/full-content.mjs.map +1 -1
  147. package/fesm2020/global-footer.mjs +10 -10
  148. package/fesm2020/image.mjs +7 -7
  149. package/fesm2020/let.mjs +7 -7
  150. package/fesm2020/loading.mjs +10 -10
  151. package/fesm2020/lodop.mjs +7 -7
  152. package/fesm2020/media.mjs +32 -21
  153. package/fesm2020/media.mjs.map +1 -1
  154. package/fesm2020/notice-icon.mjs +10 -10
  155. package/fesm2020/onboarding.mjs +10 -10
  156. package/fesm2020/page-header.mjs +7 -7
  157. package/fesm2020/pdf.mjs +31 -17
  158. package/fesm2020/pdf.mjs.map +1 -1
  159. package/fesm2020/qr.mjs +8 -8
  160. package/fesm2020/qr.mjs.map +1 -1
  161. package/fesm2020/quick-menu.mjs +7 -7
  162. package/fesm2020/result.mjs +7 -7
  163. package/fesm2020/reuse-tab.mjs +22 -22
  164. package/fesm2020/se.mjs +20 -22
  165. package/fesm2020/se.mjs.map +1 -1
  166. package/fesm2020/sg.mjs +10 -10
  167. package/fesm2020/st.mjs +34 -34
  168. package/fesm2020/sv.mjs +16 -16
  169. package/fesm2020/tag-select.mjs +7 -7
  170. package/fesm2020/xlsx.mjs +10 -10
  171. package/fesm2020/zip.mjs +7 -7
  172. package/full-content/full-content.component.d.ts +1 -3
  173. package/media/media.component.d.ts +11 -12
  174. package/media/public_api.d.ts +0 -1
  175. package/package.json +5 -4
  176. package/pdf/pdf.component.d.ts +2 -1
  177. package/pdf/style/index.less +2 -2
  178. package/qr/qr.component.d.ts +1 -1
  179. package/se/se.component.d.ts +1 -1
  180. package/se/style/index.less +2 -0
  181. package/esm2020/media/plyr.types.mjs +0 -2
  182. package/media/plyr.types.d.ts +0 -58
@@ -4,8 +4,8 @@ import * as i0 from '@angular/core';
4
4
  import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, Directive, NgModule } from '@angular/core';
5
5
  import * as i2 from '@angular/router';
6
6
  import { ActivationStart, ActivationEnd } from '@angular/router';
7
- import { BehaviorSubject, fromEvent } from 'rxjs';
8
- import { share, debounceTime, filter } from 'rxjs/operators';
7
+ import { BehaviorSubject, Subject, fromEvent } from 'rxjs';
8
+ import { share, takeUntil, debounceTime, filter } from 'rxjs/operators';
9
9
  import { InputBoolean, InputNumber } from '@delon/util/decorator';
10
10
 
11
11
  class FullContentService {
@@ -20,9 +20,9 @@ class FullContentService {
20
20
  return this._change.pipe(share());
21
21
  }
22
22
  }
23
- FullContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
- FullContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentService, decorators: [{
23
+ FullContentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
24
+ FullContentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{ providedIn: 'root' }]
28
28
  }] });
@@ -39,7 +39,7 @@ class FullContentComponent {
39
39
  this.doc = doc;
40
40
  this.inited = false;
41
41
  this.id = `_full-content-${Math.random().toString(36).substring(2)}`;
42
- this.scroll$ = null;
42
+ this.destroy$ = new Subject();
43
43
  this._height = 0;
44
44
  this.hideTitle = true;
45
45
  this.padding = 24;
@@ -80,14 +80,16 @@ class FullContentComponent {
80
80
  this.el.nativeElement.id = this.id;
81
81
  this.updateCls();
82
82
  // when window resize
83
- this.scroll$ = fromEvent(window, 'resize')
84
- .pipe(debounceTime(200))
83
+ fromEvent(window, 'resize')
84
+ .pipe(takeUntil(this.destroy$), debounceTime(200))
85
85
  .subscribe(() => this.updateHeight());
86
86
  // when servier changed
87
- this.srv$ = this.srv.change.pipe(filter(res => res !== null)).subscribe(() => this.toggle());
87
+ this.srv.change
88
+ .pipe(takeUntil(this.destroy$), filter(res => res !== null))
89
+ .subscribe(() => this.toggle());
88
90
  // when router changed
89
- this.route$ = this.router.events
90
- .pipe(filter((e) => e instanceof ActivationStart || e instanceof ActivationEnd), debounceTime(200))
91
+ this.router.events
92
+ .pipe(takeUntil(this.destroy$), filter((e) => e instanceof ActivationStart || e instanceof ActivationEnd), debounceTime(200))
91
93
  .subscribe(() => {
92
94
  if (!!this.doc.querySelector(`#${this.id}`)) {
93
95
  this.bodyEl.classList.add(wrapCls);
@@ -111,15 +113,14 @@ class FullContentComponent {
111
113
  this.update();
112
114
  }
113
115
  ngOnDestroy() {
114
- var _a, _b;
115
116
  this.removeInBody();
116
- this.scroll$.unsubscribe();
117
- (_a = this.srv$) === null || _a === void 0 ? void 0 : _a.unsubscribe();
118
- (_b = this.route$) === null || _b === void 0 ? void 0 : _b.unsubscribe();
117
+ const { destroy$ } = this;
118
+ destroy$.next();
119
+ destroy$.complete();
119
120
  }
120
121
  }
121
- FullContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: FullContentService }, { token: i2.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
122
- FullContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FullContentComponent, selector: "full-content", inputs: { fullscreen: "fullscreen", hideTitle: "hideTitle", padding: "padding" }, outputs: { fullscreenChange: "fullscreenChange" }, host: { properties: { "class.full-content": "true", "style.height.px": "_height" } }, exportAs: ["fullContent"], usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
+ FullContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: FullContentService }, { token: i2.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
123
+ FullContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: FullContentComponent, selector: "full-content", inputs: { fullscreen: "fullscreen", hideTitle: "hideTitle", padding: "padding" }, outputs: { fullscreenChange: "fullscreenChange" }, host: { properties: { "class.full-content": "true", "style.height.px": "_height" } }, exportAs: ["fullContent"], usesOnChanges: true, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
123
124
  __decorate([
124
125
  InputBoolean()
125
126
  ], FullContentComponent.prototype, "fullscreen", void 0);
@@ -129,7 +130,7 @@ __decorate([
129
130
  __decorate([
130
131
  InputNumber()
131
132
  ], FullContentComponent.prototype, "padding", void 0);
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentComponent, decorators: [{
133
134
  type: Component,
134
135
  args: [{
135
136
  selector: 'full-content',
@@ -166,9 +167,9 @@ class FullContentToggleDirective {
166
167
  this.parent.toggle();
167
168
  }
168
169
  }
169
- FullContentToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentToggleDirective, deps: [{ token: FullContentComponent }], target: i0.ɵɵFactoryTarget.Directive });
170
- FullContentToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: FullContentToggleDirective, selector: "[full-toggle]", host: { listeners: { "click": "_click()" } }, exportAs: ["fullToggle"], ngImport: i0 });
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentToggleDirective, decorators: [{
170
+ FullContentToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentToggleDirective, deps: [{ token: FullContentComponent }], target: i0.ɵɵFactoryTarget.Directive });
171
+ FullContentToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: FullContentToggleDirective, selector: "[full-toggle]", host: { listeners: { "click": "_click()" } }, exportAs: ["fullToggle"], ngImport: i0 });
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentToggleDirective, decorators: [{
172
173
  type: Directive,
173
174
  args: [{
174
175
  selector: '[full-toggle]',
@@ -182,10 +183,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
182
183
  const COMPONENTS = [FullContentComponent, FullContentToggleDirective];
183
184
  class FullContentModule {
184
185
  }
185
- FullContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
186
- FullContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentModule, declarations: [FullContentComponent, FullContentToggleDirective], imports: [CommonModule], exports: [FullContentComponent, FullContentToggleDirective] });
187
- FullContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentModule, imports: [[CommonModule]] });
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullContentModule, decorators: [{
186
+ FullContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
187
+ FullContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentModule, declarations: [FullContentComponent, FullContentToggleDirective], imports: [CommonModule], exports: [FullContentComponent, FullContentToggleDirective] });
188
+ FullContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentModule, imports: [[CommonModule]] });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: FullContentModule, decorators: [{
189
190
  type: NgModule,
190
191
  args: [{
191
192
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"full-content.mjs","sources":["../../../../packages/abc/full-content/full-content.service.ts","../../../../packages/abc/full-content/full-content.component.ts","../../../../packages/abc/full-content/full-content-toggle.directive.ts","../../../../packages/abc/full-content/full-content.module.ts","../../../../packages/abc/full-content/full-content.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class FullContentService {\n private _change = new BehaviorSubject<boolean | null>(null);\n\n /** 切换全屏工作区状态 */\n toggle(): void {\n this._change.next(true);\n }\n\n get change(): Observable<boolean | null> {\n return this._change.pipe(share());\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { ActivationEnd, ActivationStart, Event, Router } from '@angular/router';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime, filter } from 'rxjs/operators';\n\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { FullContentService } from './full-content.service';\n\nconst wrapCls = `full-content__body`;\nconst openedCls = `full-content__opened`;\nconst hideTitleCls = `full-content__hidden-title`;\n\n@Component({\n selector: 'full-content',\n exportAs: 'fullContent',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class.full-content]': 'true',\n '[style.height.px]': '_height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class FullContentComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_fullscreen: BooleanInput;\n static ngAcceptInputType_hideTitle: BooleanInput;\n static ngAcceptInputType_padding: NumberInput;\n\n private bodyEl!: HTMLElement;\n private inited = false;\n private srv$?: Subscription;\n private route$?: Subscription;\n private id = `_full-content-${Math.random().toString(36).substring(2)}`;\n private scroll$: Subscription | null = null;\n\n _height = 0;\n\n @Input() @InputBoolean() fullscreen?: boolean;\n @Input() @InputBoolean() hideTitle = true;\n @Input() @InputNumber() padding = 24;\n @Output() readonly fullscreenChange = new EventEmitter<boolean>();\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n private srv: FullContentService,\n private router: Router,\n @Inject(DOCUMENT) private doc: NzSafeAny\n ) {}\n\n private updateCls(): void {\n const clss = this.bodyEl.classList;\n if (this.fullscreen) {\n clss.add(openedCls);\n if (this.hideTitle) {\n clss.add(hideTitleCls);\n }\n } else {\n clss.remove(openedCls);\n if (this.hideTitle) {\n clss.remove(hideTitleCls);\n }\n }\n }\n\n private update(): void {\n this.updateCls();\n this.updateHeight();\n this.fullscreenChange.emit(this.fullscreen);\n }\n\n private updateHeight(): void {\n this._height =\n this.bodyEl.getBoundingClientRect().height - this.el.nativeElement.getBoundingClientRect().top - this.padding;\n this.cdr.detectChanges();\n }\n\n private removeInBody(): void {\n this.bodyEl.classList.remove(wrapCls, openedCls, hideTitleCls);\n }\n\n ngOnInit(): void {\n this.inited = true;\n this.bodyEl = this.doc.querySelector('body');\n this.bodyEl.classList.add(wrapCls);\n this.el.nativeElement.id = this.id;\n\n this.updateCls();\n\n // when window resize\n this.scroll$ = fromEvent(window, 'resize')\n .pipe(debounceTime(200))\n .subscribe(() => this.updateHeight());\n\n // when servier changed\n this.srv$ = this.srv.change.pipe(filter(res => res !== null)).subscribe(() => this.toggle());\n\n // when router changed\n this.route$ = this.router.events\n .pipe(\n filter((e: Event) => e instanceof ActivationStart || e instanceof ActivationEnd),\n debounceTime(200)\n )\n .subscribe(() => {\n if (!!this.doc.querySelector(`#${this.id}`)) {\n this.bodyEl.classList.add(wrapCls);\n this.updateCls();\n } else {\n this.removeInBody();\n }\n });\n }\n\n toggle(): void {\n this.fullscreen = !this.fullscreen;\n this.update();\n this.updateHeight();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => this.updateHeight());\n }\n\n ngOnChanges(): void {\n if (this.inited) this.update();\n }\n\n ngOnDestroy(): void {\n this.removeInBody();\n this.scroll$!.unsubscribe();\n this.srv$?.unsubscribe();\n this.route$?.unsubscribe();\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { FullContentComponent } from './full-content.component';\n\n@Directive({\n selector: '[full-toggle]',\n exportAs: 'fullToggle',\n host: {\n '(click)': '_click()'\n }\n})\nexport class FullContentToggleDirective {\n constructor(private parent: FullContentComponent) {}\n\n _click(): void {\n this.parent.toggle();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FullContentToggleDirective } from './full-content-toggle.directive';\nimport { FullContentComponent } from './full-content.component';\n\nconst COMPONENTS = [FullContentComponent, FullContentToggleDirective];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class FullContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"full-content.mjs","sources":["../../../../packages/abc/full-content/full-content.service.ts","../../../../packages/abc/full-content/full-content.component.ts","../../../../packages/abc/full-content/full-content-toggle.directive.ts","../../../../packages/abc/full-content/full-content.module.ts","../../../../packages/abc/full-content/full-content.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class FullContentService {\n private _change = new BehaviorSubject<boolean | null>(null);\n\n /** 切换全屏工作区状态 */\n toggle(): void {\n this._change.next(true);\n }\n\n get change(): Observable<boolean | null> {\n return this._change.pipe(share());\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { ActivationEnd, ActivationStart, Event, Router } from '@angular/router';\nimport { fromEvent, Subject } from 'rxjs';\nimport { debounceTime, filter, takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { FullContentService } from './full-content.service';\n\nconst wrapCls = `full-content__body`;\nconst openedCls = `full-content__opened`;\nconst hideTitleCls = `full-content__hidden-title`;\n\n@Component({\n selector: 'full-content',\n exportAs: 'fullContent',\n template: ` <ng-content></ng-content> `,\n host: {\n '[class.full-content]': 'true',\n '[style.height.px]': '_height'\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class FullContentComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_fullscreen: BooleanInput;\n static ngAcceptInputType_hideTitle: BooleanInput;\n static ngAcceptInputType_padding: NumberInput;\n\n private bodyEl!: HTMLElement;\n private inited = false;\n private id = `_full-content-${Math.random().toString(36).substring(2)}`;\n private destroy$ = new Subject<void>();\n\n _height = 0;\n\n @Input() @InputBoolean() fullscreen?: boolean;\n @Input() @InputBoolean() hideTitle = true;\n @Input() @InputNumber() padding = 24;\n @Output() readonly fullscreenChange = new EventEmitter<boolean>();\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n private srv: FullContentService,\n private router: Router,\n @Inject(DOCUMENT) private doc: NzSafeAny\n ) {}\n\n private updateCls(): void {\n const clss = this.bodyEl.classList;\n if (this.fullscreen) {\n clss.add(openedCls);\n if (this.hideTitle) {\n clss.add(hideTitleCls);\n }\n } else {\n clss.remove(openedCls);\n if (this.hideTitle) {\n clss.remove(hideTitleCls);\n }\n }\n }\n\n private update(): void {\n this.updateCls();\n this.updateHeight();\n this.fullscreenChange.emit(this.fullscreen);\n }\n\n private updateHeight(): void {\n this._height =\n this.bodyEl.getBoundingClientRect().height - this.el.nativeElement.getBoundingClientRect().top - this.padding;\n this.cdr.detectChanges();\n }\n\n private removeInBody(): void {\n this.bodyEl.classList.remove(wrapCls, openedCls, hideTitleCls);\n }\n\n ngOnInit(): void {\n this.inited = true;\n this.bodyEl = this.doc.querySelector('body');\n this.bodyEl.classList.add(wrapCls);\n this.el.nativeElement.id = this.id;\n\n this.updateCls();\n\n // when window resize\n fromEvent(window, 'resize')\n .pipe(takeUntil(this.destroy$), debounceTime(200))\n .subscribe(() => this.updateHeight());\n\n // when servier changed\n this.srv.change\n .pipe(\n takeUntil(this.destroy$),\n filter(res => res !== null)\n )\n .subscribe(() => this.toggle());\n\n // when router changed\n this.router.events\n .pipe(\n takeUntil(this.destroy$),\n filter((e: Event) => e instanceof ActivationStart || e instanceof ActivationEnd),\n debounceTime(200)\n )\n .subscribe(() => {\n if (!!this.doc.querySelector(`#${this.id}`)) {\n this.bodyEl.classList.add(wrapCls);\n this.updateCls();\n } else {\n this.removeInBody();\n }\n });\n }\n\n toggle(): void {\n this.fullscreen = !this.fullscreen;\n this.update();\n this.updateHeight();\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => this.updateHeight());\n }\n\n ngOnChanges(): void {\n if (this.inited) this.update();\n }\n\n ngOnDestroy(): void {\n this.removeInBody();\n const { destroy$ } = this;\n destroy$.next();\n destroy$.complete();\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { FullContentComponent } from './full-content.component';\n\n@Directive({\n selector: '[full-toggle]',\n exportAs: 'fullToggle',\n host: {\n '(click)': '_click()'\n }\n})\nexport class FullContentToggleDirective {\n constructor(private parent: FullContentComponent) {}\n\n _click(): void {\n this.parent.toggle();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FullContentToggleDirective } from './full-content-toggle.directive';\nimport { FullContentComponent } from './full-content.component';\n\nconst COMPONENTS = [FullContentComponent, FullContentToggleDirective];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class FullContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -14,12 +14,12 @@ import { CommonModule } from '@angular/common';
14
14
 
15
15
  class GlobalFooterItemComponent {
16
16
  }
17
- GlobalFooterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- GlobalFooterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: GlobalFooterItemComponent, selector: "global-footer-item", inputs: { href: "href", blankTarget: "blankTarget" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, static: true }], exportAs: ["globalFooterItem"], ngImport: i0, template: ` <ng-template #host><ng-content></ng-content></ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
17
+ GlobalFooterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ GlobalFooterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: GlobalFooterItemComponent, selector: "global-footer-item", inputs: { href: "href", blankTarget: "blankTarget" }, viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, static: true }], exportAs: ["globalFooterItem"], ngImport: i0, template: ` <ng-template #host><ng-content></ng-content></ng-template> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
19
  __decorate([
20
20
  InputBoolean()
21
21
  ], GlobalFooterItemComponent.prototype, "blankTarget", void 0);
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterItemComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterItemComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{
25
25
  selector: 'global-footer-item',
@@ -82,9 +82,9 @@ class GlobalFooterComponent {
82
82
  this.destroy$.complete();
83
83
  }
84
84
  }
85
- GlobalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterComponent, deps: [{ token: i1.Router }, { token: WINDOW }, { token: i2.DomSanitizer }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
86
- GlobalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: GlobalFooterComponent, selector: "global-footer", inputs: { links: "links" }, host: { properties: { "class.global-footer": "true", "class.global-footer-rtl": "dir === 'rtl'" } }, queries: [{ propertyName: "items", predicate: GlobalFooterItemComponent }], exportAs: ["globalFooter"], ngImport: i0, template: "<div *ngIf=\"links.length > 0 || items.length > 0\" class=\"global-footer__links\">\n <a *ngFor=\"let i of links\" class=\"global-footer__links-item\" (click)=\"to(i)\" [innerHTML]=\"i._title\"></a>\n <a *ngFor=\"let i of items\" class=\"global-footer__links-item\" (click)=\"to(i)\">\n <ng-container *ngTemplateOutlet=\"i.host\"></ng-container>\n </a>\n</div>\n<div class=\"global-footer__copyright\">\n <ng-content></ng-content>\n</div>\n", directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterComponent, decorators: [{
85
+ GlobalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterComponent, deps: [{ token: i1.Router }, { token: WINDOW }, { token: i2.DomSanitizer }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
86
+ GlobalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: GlobalFooterComponent, selector: "global-footer", inputs: { links: "links" }, host: { properties: { "class.global-footer": "true", "class.global-footer-rtl": "dir === 'rtl'" } }, queries: [{ propertyName: "items", predicate: GlobalFooterItemComponent }], exportAs: ["globalFooter"], ngImport: i0, template: "<div *ngIf=\"links.length > 0 || items.length > 0\" class=\"global-footer__links\">\n <a *ngFor=\"let i of links\" class=\"global-footer__links-item\" (click)=\"to(i)\" [innerHTML]=\"i._title\"></a>\n <a *ngFor=\"let i of items\" class=\"global-footer__links-item\" (click)=\"to(i)\">\n <ng-container *ngTemplateOutlet=\"i.host\"></ng-container>\n </a>\n</div>\n<div class=\"global-footer__copyright\">\n <ng-content></ng-content>\n</div>\n", directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterComponent, decorators: [{
88
88
  type: Component,
89
89
  args: [{ selector: 'global-footer', exportAs: 'globalFooter', host: {
90
90
  '[class.global-footer]': 'true',
@@ -107,10 +107,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
107
107
  const COMPONENTS = [GlobalFooterComponent, GlobalFooterItemComponent];
108
108
  class GlobalFooterModule {
109
109
  }
110
- GlobalFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
111
- GlobalFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterModule, declarations: [GlobalFooterComponent, GlobalFooterItemComponent], imports: [CommonModule, RouterModule], exports: [GlobalFooterComponent, GlobalFooterItemComponent] });
112
- GlobalFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterModule, imports: [[CommonModule, RouterModule]] });
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: GlobalFooterModule, decorators: [{
110
+ GlobalFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
111
+ GlobalFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterModule, declarations: [GlobalFooterComponent, GlobalFooterItemComponent], imports: [CommonModule, RouterModule], exports: [GlobalFooterComponent, GlobalFooterItemComponent] });
112
+ GlobalFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterModule, imports: [[CommonModule, RouterModule]] });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: GlobalFooterModule, decorators: [{
114
114
  type: NgModule,
115
115
  args: [{
116
116
  imports: [CommonModule, RouterModule],
@@ -109,15 +109,15 @@ class ImageDirective {
109
109
  this.destroy$.complete();
110
110
  }
111
111
  }
112
- ImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ImageDirective, deps: [{ token: i0.ElementRef }, { token: i1.AlainConfigService }, { token: i2._HttpClient }, { token: i3.Platform }, { token: i4.NzModalService }], target: i0.ɵɵFactoryTarget.Directive });
113
- ImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: ImageDirective, selector: "[_src]", inputs: { src: ["_src", "src"], size: "size", error: "error", useHttp: "useHttp", previewSrc: "previewSrc", previewModalOptions: "previewModalOptions" }, host: { listeners: { "click": "open($event)" }, properties: { "class.point": "previewSrc" } }, exportAs: ["_src"], usesOnChanges: true, ngImport: i0 });
112
+ ImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ImageDirective, deps: [{ token: i0.ElementRef }, { token: i1.AlainConfigService }, { token: i2._HttpClient }, { token: i3.Platform }, { token: i4.NzModalService }], target: i0.ɵɵFactoryTarget.Directive });
113
+ ImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: ImageDirective, selector: "[_src]", inputs: { src: ["_src", "src"], size: "size", error: "error", useHttp: "useHttp", previewSrc: "previewSrc", previewModalOptions: "previewModalOptions" }, host: { listeners: { "click": "open($event)" }, properties: { "class.point": "previewSrc" } }, exportAs: ["_src"], usesOnChanges: true, ngImport: i0 });
114
114
  __decorate([
115
115
  InputNumber()
116
116
  ], ImageDirective.prototype, "size", void 0);
117
117
  __decorate([
118
118
  InputBoolean()
119
119
  ], ImageDirective.prototype, "useHttp", void 0);
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ImageDirective, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ImageDirective, decorators: [{
121
121
  type: Directive,
122
122
  args: [{
123
123
  selector: '[_src]',
@@ -145,10 +145,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
145
145
  const DIRECTIVES = [ImageDirective];
146
146
  class ImageModule {
147
147
  }
148
- ImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
149
- ImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ImageModule, declarations: [ImageDirective], imports: [CommonModule, NzModalModule], exports: [ImageDirective] });
150
- ImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ImageModule, imports: [[CommonModule, NzModalModule]] });
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ImageModule, decorators: [{
148
+ ImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
149
+ ImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ImageModule, declarations: [ImageDirective], imports: [CommonModule, NzModalModule], exports: [ImageDirective] });
150
+ ImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ImageModule, imports: [[CommonModule, NzModalModule]] });
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ImageModule, decorators: [{
152
152
  type: NgModule,
153
153
  args: [{
154
154
  imports: [CommonModule, NzModalModule],
package/fesm2015/let.mjs CHANGED
@@ -20,9 +20,9 @@ class LetDirective {
20
20
  return true;
21
21
  }
22
22
  }
23
- LetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LetDirective, deps: [{ token: ViewContainerRef }, { token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
24
- LetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: LetDirective, selector: "[let]", inputs: { let: "let" }, ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LetDirective, decorators: [{
23
+ LetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LetDirective, deps: [{ token: ViewContainerRef }, { token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ LetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: LetDirective, selector: "[let]", inputs: { let: "let" }, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LetDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{ selector: '[let]' }]
28
28
  }], ctorParameters: function () {
@@ -40,10 +40,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
40
40
  const DIRECTIVES = [LetDirective];
41
41
  class LetModule {
42
42
  }
43
- LetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44
- LetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LetModule, declarations: [LetDirective], exports: [LetDirective] });
45
- LetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LetModule });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LetModule, decorators: [{
43
+ LetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44
+ LetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LetModule, declarations: [LetDirective], exports: [LetDirective] });
45
+ LetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LetModule });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LetModule, decorators: [{
47
47
  type: NgModule,
48
48
  args: [{
49
49
  declarations: DIRECTIVES,
@@ -25,9 +25,9 @@ class LoadingDefaultComponent {
25
25
  return this.options.custom;
26
26
  }
27
27
  }
28
- LoadingDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- LoadingDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: LoadingDefaultComponent, selector: "loading-default", host: { properties: { "class.loading-default": "true", "class.loading-default-rtl": "dir === 'rtl'" } }, ngImport: i0, template: "<div class=\"loading-default__icon\" *ngIf=\"options.type! !== 'text'\">\n <ng-container [ngSwitch]=\"options.type!\">\n <nz-spin *ngSwitchCase=\"'spin'\" nzSimple></nz-spin>\n <i *ngSwitchCase=\"'icon'\" nz-icon [nzType]=\"icon.type!\" [nzTheme]=\"icon.theme!\" [nzSpin]=\"icon.spin\"></i>\n <div *ngSwitchDefault class=\"loading-default__custom\" [ngStyle]=\"custom.style!\" [innerHTML]=\"custom.html\"></div>\n </ng-container>\n</div>\n<div *ngIf=\"options.text\" class=\"loading-default__text\">{{ options.text }}</div>\n", components: [{ type: i1.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingDefaultComponent, decorators: [{
28
+ LoadingDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ LoadingDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: LoadingDefaultComponent, selector: "loading-default", host: { properties: { "class.loading-default": "true", "class.loading-default-rtl": "dir === 'rtl'" } }, ngImport: i0, template: "<div class=\"loading-default__icon\" *ngIf=\"options.type! !== 'text'\">\n <ng-container [ngSwitch]=\"options.type!\">\n <nz-spin *ngSwitchCase=\"'spin'\" nzSimple></nz-spin>\n <i *ngSwitchCase=\"'icon'\" nz-icon [nzType]=\"icon.type!\" [nzTheme]=\"icon.theme!\" [nzSpin]=\"icon.spin\"></i>\n <div *ngSwitchDefault class=\"loading-default__custom\" [ngStyle]=\"custom.style!\" [innerHTML]=\"custom.html\"></div>\n </ng-container>\n</div>\n<div *ngIf=\"options.text\" class=\"loading-default__text\">{{ options.text }}</div>\n", components: [{ type: i1.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingDefaultComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'loading-default', host: {
33
33
  '[class.loading-default]': 'true',
@@ -105,9 +105,9 @@ class LoadingService {
105
105
  this.loading$.unsubscribe();
106
106
  }
107
107
  }
108
- LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingService, deps: [{ token: i1$1.Overlay }, { token: i2$1.AlainConfigService }, { token: i3$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
109
- LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingService, providedIn: 'root' });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingService, decorators: [{
108
+ LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingService, deps: [{ token: i1$1.Overlay }, { token: i2$1.AlainConfigService }, { token: i3$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
109
+ LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingService, providedIn: 'root' });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingService, decorators: [{
111
111
  type: Injectable,
112
112
  args: [{ providedIn: 'root' }]
113
113
  }], ctorParameters: function () {
@@ -119,10 +119,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
119
119
  const COMPONENTS = [LoadingDefaultComponent];
120
120
  class LoadingModule {
121
121
  }
122
- LoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
123
- LoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingModule, declarations: [LoadingDefaultComponent], imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule], exports: [LoadingDefaultComponent] });
124
- LoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingModule, imports: [[CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule]] });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LoadingModule, decorators: [{
122
+ LoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
123
+ LoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingModule, declarations: [LoadingDefaultComponent], imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule], exports: [LoadingDefaultComponent] });
124
+ LoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingModule, imports: [[CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule]] });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LoadingModule, decorators: [{
126
126
  type: NgModule,
127
127
  args: [{
128
128
  imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule],
@@ -207,19 +207,19 @@ class LodopService {
207
207
  this._events.unsubscribe();
208
208
  }
209
209
  }
210
- LodopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopService, deps: [{ token: i1.LazyService }, { token: i2.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
211
- LodopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopService, providedIn: 'root' });
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopService, decorators: [{
210
+ LodopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopService, deps: [{ token: i1.LazyService }, { token: i2.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
211
+ LodopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopService, providedIn: 'root' });
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopService, decorators: [{
213
213
  type: Injectable,
214
214
  args: [{ providedIn: 'root' }]
215
215
  }], ctorParameters: function () { return [{ type: i1.LazyService }, { type: i2.AlainConfigService }]; } });
216
216
 
217
217
  class LodopModule {
218
218
  }
219
- LodopModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
220
- LodopModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopModule });
221
- LodopModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopModule });
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: LodopModule, decorators: [{
219
+ LodopModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
220
+ LodopModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopModule });
221
+ LodopModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopModule });
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: LodopModule, decorators: [{
223
223
  type: NgModule,
224
224
  args: [{}]
225
225
  }] });
@@ -1,8 +1,9 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
4
+ import { Subject, timer } from 'rxjs';
5
+ import { share, takeUntil, take } from 'rxjs/operators';
4
6
  import { InputNumber, ZoneOutside } from '@delon/util/decorator';
5
- import { Subject } from 'rxjs';
6
7
  import * as i1 from '@delon/util/config';
7
8
  import * as i2 from '@delon/util/other';
8
9
  import * as i2$1 from '@angular/cdk/platform';
@@ -39,12 +40,12 @@ class MediaService {
39
40
  return this;
40
41
  }
41
42
  notify() {
42
- return this.notify$.asObservable();
43
+ return this.notify$.asObservable().pipe(share());
43
44
  }
44
45
  }
45
- MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaService, deps: [{ token: i1.AlainConfigService }, { token: i2.LazyService }], target: i0.ɵɵFactoryTarget.Injectable });
46
- MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaService, providedIn: 'root' });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaService, decorators: [{
46
+ MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaService, deps: [{ token: i1.AlainConfigService }, { token: i2.LazyService }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaService, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaService, decorators: [{
48
49
  type: Injectable,
49
50
  args: [{ providedIn: 'root' }]
50
51
  }], ctorParameters: function () { return [{ type: i1.AlainConfigService }, { type: i2.LazyService }]; } });
@@ -56,24 +57,27 @@ class MediaComponent {
56
57
  this.srv = srv;
57
58
  this.ngZone = ngZone;
58
59
  this.platform = platform;
60
+ this.destroy$ = new Subject();
59
61
  this.type = 'video';
60
62
  this.delay = 0;
61
63
  this.ready = new EventEmitter();
62
- this.notify$ = this.srv.notify().subscribe(() => this.initDelay());
63
64
  }
64
65
  get player() {
65
66
  return this._p;
66
67
  }
67
68
  initDelay() {
68
- this.time = setTimeout(() => this.init(), this.delay);
69
+ timer(this.delay)
70
+ .pipe(takeUntil(this.destroy$))
71
+ .subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));
69
72
  }
70
73
  init() {
71
- if (!window.Plyr) {
74
+ const winPlyr = window.Plyr;
75
+ if (!winPlyr) {
72
76
  throw new Error(`No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(this.srv.cog.urls)}`);
73
77
  }
74
78
  this.ensureElement();
75
- const player = (this._p = new Plyr(this.videoEl, Object.assign({}, this.srv.cog.options)));
76
- player.on('ready', () => this.ready.next(player));
79
+ const player = (this._p = new winPlyr(this.videoEl, Object.assign({}, this.srv.cog.options)));
80
+ player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));
77
81
  this.uploadSource();
78
82
  }
79
83
  ensureElement() {
@@ -92,37 +96,44 @@ class MediaComponent {
92
96
  }
93
97
  }
94
98
  uploadSource() {
99
+ if (this._p == null)
100
+ return;
95
101
  const { source, type } = this;
96
- this._p.source = typeof source === 'string' ? { type, sources: [{ src: source }] } : source;
102
+ this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source);
97
103
  }
98
104
  ngAfterViewInit() {
99
105
  if (!this.platform.isBrowser) {
100
106
  return;
101
107
  }
108
+ this.srv
109
+ .notify()
110
+ .pipe(takeUntil(this.destroy$), take(1))
111
+ .subscribe(() => this.initDelay());
102
112
  this.srv.load();
103
113
  }
104
114
  ngOnChanges(changes) {
105
115
  this.srv.cog = { options: this.options };
106
- if (changes.source && this._p) {
116
+ if (changes.source) {
107
117
  this.uploadSource();
108
118
  }
109
119
  }
110
120
  ngOnDestroy() {
111
- clearTimeout(this.time);
112
121
  this.destroy();
113
122
  this._p = null;
114
- this.notify$.unsubscribe();
123
+ const { destroy$ } = this;
124
+ destroy$.next();
125
+ destroy$.complete();
115
126
  }
116
127
  }
117
- MediaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MediaService }, { token: i0.NgZone }, { token: i2$1.Platform }], target: i0.ɵɵFactoryTarget.Component });
118
- MediaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MediaComponent, selector: "media", inputs: { type: "type", source: "source", options: "options", delay: "delay" }, outputs: { ready: "ready" }, host: { properties: { "style.display": "'block'" } }, exportAs: ["mediaComponent"], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
+ MediaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MediaService }, { token: i0.NgZone }, { token: i2$1.Platform }], target: i0.ɵɵFactoryTarget.Component });
129
+ MediaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: MediaComponent, selector: "media", inputs: { type: "type", source: "source", options: "options", delay: "delay" }, outputs: { ready: "ready" }, host: { properties: { "style.display": "'block'" } }, exportAs: ["mediaComponent"], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
119
130
  __decorate([
120
131
  InputNumber()
121
132
  ], MediaComponent.prototype, "delay", void 0);
122
133
  __decorate([
123
134
  ZoneOutside()
124
135
  ], MediaComponent.prototype, "initDelay", null);
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaComponent, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaComponent, decorators: [{
126
137
  type: Component,
127
138
  args: [{
128
139
  selector: 'media',
@@ -150,10 +161,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
150
161
  const COMPONENTS = [MediaComponent];
151
162
  class MediaModule {
152
163
  }
153
- MediaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
154
- MediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaModule, declarations: [MediaComponent], imports: [CommonModule], exports: [MediaComponent] });
155
- MediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaModule, imports: [[CommonModule]] });
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MediaModule, decorators: [{
164
+ MediaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
165
+ MediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaModule, declarations: [MediaComponent], imports: [CommonModule], exports: [MediaComponent] });
166
+ MediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaModule, imports: [[CommonModule]] });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: MediaModule, decorators: [{
157
168
  type: NgModule,
158
169
  args: [{
159
170
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"media.mjs","sources":["../../../../packages/abc/media/media.service.ts","../../../../packages/abc/media/media.component.ts","../../../../packages/abc/media/media.module.ts","../../../../packages/abc/media/media.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { AlainConfigService, AlainMediaConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaService {\n private _cog!: AlainMediaConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainMediaConfig {\n return this._cog;\n }\n set cog(val: AlainMediaConfig) {\n this._cog = this.cogSrv.merge(\n 'media',\n {\n urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']\n },\n val\n )!;\n }\n\n constructor(private cogSrv: AlainConfigService, private lazySrv: LazyService) {}\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.urls!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MediaService } from './media.service';\nimport { PlyrMediaSource, PlyrMediaType } from './plyr.types';\n\ndeclare const Plyr: NzSafeAny;\n\n@Component({\n selector: 'media',\n exportAs: 'mediaComponent',\n template: `<ng-content></ng-content>`,\n host: {\n '[style.display]': `'block'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MediaComponent implements OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_delay: NumberInput;\n\n private _p: NzSafeAny;\n private videoEl!: HTMLElement;\n private time: NzSafeAny;\n private notify$: Subscription;\n\n @Input() type: PlyrMediaType = 'video';\n @Input() source?: string | PlyrMediaSource;\n @Input() options: NzSafeAny;\n @Input() @InputNumber() delay = 0;\n @Output() readonly ready = new EventEmitter<NzSafeAny>();\n\n get player(): NzSafeAny {\n return this._p;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private srv: MediaService,\n public ngZone: NgZone,\n private platform: Platform\n ) {\n this.notify$ = this.srv.notify().subscribe(() => this.initDelay());\n }\n\n @ZoneOutside()\n private initDelay(): void {\n this.time = setTimeout(() => this.init(), this.delay);\n }\n\n private init(): void {\n if (!(window as NzSafeAny).Plyr) {\n throw new Error(\n `No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(\n this.srv.cog.urls\n )}`\n );\n }\n\n this.ensureElement();\n\n const player = (this._p = new Plyr(this.videoEl, {\n ...this.srv.cog.options\n }));\n\n player.on('ready', () => this.ready.next(player));\n\n this.uploadSource();\n }\n\n private ensureElement(): void {\n const { type } = this;\n let el = this.el.nativeElement.querySelector(type) as HTMLElement;\n if (!el) {\n el = this.renderer.createElement(type);\n (el as HTMLVideoElement).controls = true;\n this.el.nativeElement.appendChild(el);\n }\n this.videoEl = el;\n }\n\n private destroy(): void {\n if (this._p) {\n this._p.destroy();\n }\n }\n\n private uploadSource(): void {\n const { source, type } = this;\n this._p.source = typeof source === 'string' ? { type, sources: [{ src: source }] } : source;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.srv.load();\n }\n\n ngOnChanges(changes: { [p in keyof MediaComponent]?: SimpleChange }): void {\n this.srv.cog = { options: this.options };\n if (changes.source && this._p) {\n this.uploadSource();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.time);\n this.destroy();\n this._p = null;\n this.notify$.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MediaComponent } from './media.component';\n\nconst COMPONENTS = [MediaComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class MediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.mjs","sources":["../../../../packages/abc/media/media.service.ts","../../../../packages/abc/media/media.component.ts","../../../../packages/abc/media/media.module.ts","../../../../packages/abc/media/media.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainMediaConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaService {\n private _cog!: AlainMediaConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainMediaConfig {\n return this._cog;\n }\n set cog(val: AlainMediaConfig) {\n this._cog = this.cogSrv.merge(\n 'media',\n {\n urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']\n },\n val\n )!;\n }\n\n constructor(private cogSrv: AlainConfigService, private lazySrv: LazyService) {}\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.urls!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n notify(): Observable<void> {\n return this.notify$.asObservable().pipe(share());\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, timer } from 'rxjs';\nimport { takeUntil, take } from 'rxjs/operators';\n\nimport type Plyr from 'plyr';\n\nimport { InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MediaService } from './media.service';\n\nexport type MediaType = 'html5' | 'youtube' | 'video' | 'audio';\n\n@Component({\n selector: 'media',\n exportAs: 'mediaComponent',\n template: `<ng-content></ng-content>`,\n host: {\n '[style.display]': `'block'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MediaComponent implements OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_delay: NumberInput;\n\n private _p?: Plyr | null;\n private videoEl?: HTMLElement;\n private destroy$ = new Subject<void>();\n\n @Input() type: MediaType = 'video';\n @Input() source?: string | Plyr.SourceInfo;\n @Input() options?: Plyr.Options;\n @Input() @InputNumber() delay = 0;\n @Output() readonly ready = new EventEmitter<Plyr>();\n\n get player(): Plyr | undefined | null {\n return this._p;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private srv: MediaService,\n private ngZone: NgZone,\n private platform: Platform\n ) {}\n\n @ZoneOutside()\n private initDelay(): void {\n timer(this.delay)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));\n }\n\n private init(): void {\n const winPlyr = (window as NzSafeAny).Plyr;\n if (!winPlyr) {\n throw new Error(\n `No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(\n this.srv.cog.urls\n )}`\n );\n }\n\n this.ensureElement();\n\n const player: Plyr = (this._p = new winPlyr(this.videoEl, {\n ...this.srv.cog.options\n }));\n\n player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));\n\n this.uploadSource();\n }\n\n private ensureElement(): void {\n const { type } = this;\n let el = this.el.nativeElement.querySelector(type) as HTMLElement;\n if (!el) {\n el = this.renderer.createElement(type);\n (el as HTMLVideoElement).controls = true;\n this.el.nativeElement.appendChild(el);\n }\n this.videoEl = el;\n }\n\n private destroy(): void {\n if (this._p) {\n this._p.destroy();\n }\n }\n\n private uploadSource(): void {\n if (this._p == null) return;\n\n const { source, type } = this;\n this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source) as Plyr.SourceInfo;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.srv\n .notify()\n .pipe(takeUntil(this.destroy$), take(1))\n .subscribe(() => this.initDelay());\n\n this.srv.load();\n }\n\n ngOnChanges(changes: { [p in keyof MediaComponent]?: SimpleChange }): void {\n this.srv.cog = { options: this.options };\n if (changes.source) {\n this.uploadSource();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy();\n this._p = null;\n\n const { destroy$ } = this;\n destroy$.next();\n destroy$.complete();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MediaComponent } from './media.component';\n\nconst COMPONENTS = [MediaComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class MediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}