@delon/abc 16.2.1 → 16.3.0

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 (160) hide show
  1. package/cell/cell-host.directive.d.ts +13 -0
  2. package/cell/cell.component.d.ts +45 -0
  3. package/cell/cell.module.d.ts +17 -0
  4. package/cell/cell.service.d.ts +23 -0
  5. package/cell/cell.types.d.ts +238 -0
  6. package/cell/index.d.ts +5 -0
  7. package/cell/style/index.less +63 -0
  8. package/esm2022/auto-focus/auto-focus.directive.mjs +3 -3
  9. package/esm2022/auto-focus/auto-focus.module.mjs +4 -4
  10. package/esm2022/avatar-list/avatar-list-item.component.mjs +3 -3
  11. package/esm2022/avatar-list/avatar-list.component.mjs +3 -3
  12. package/esm2022/avatar-list/avatar-list.module.mjs +4 -4
  13. package/esm2022/cell/cell-host.directive.mjs +34 -0
  14. package/esm2022/cell/cell.component.mjs +270 -0
  15. package/esm2022/cell/cell.mjs +5 -0
  16. package/esm2022/cell/cell.module.mjs +54 -0
  17. package/esm2022/cell/cell.service.mjs +168 -0
  18. package/esm2022/cell/cell.types.mjs +2 -0
  19. package/esm2022/cell/index.mjs +6 -0
  20. package/esm2022/count-down/count-down.component.mjs +3 -3
  21. package/esm2022/count-down/count-down.module.mjs +4 -4
  22. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  23. package/esm2022/date-picker/range-shortcut.component.mjs +3 -3
  24. package/esm2022/date-picker/range.directive.mjs +3 -3
  25. package/esm2022/down-file/down-file.directive.mjs +3 -3
  26. package/esm2022/down-file/down-file.module.mjs +4 -4
  27. package/esm2022/ellipsis/ellipsis.component.mjs +3 -3
  28. package/esm2022/ellipsis/ellipsis.module.mjs +4 -4
  29. package/esm2022/error-collect/error-collect.component.mjs +3 -3
  30. package/esm2022/error-collect/error-collect.module.mjs +4 -4
  31. package/esm2022/exception/exception.component.mjs +3 -3
  32. package/esm2022/exception/exception.module.mjs +4 -4
  33. package/esm2022/footer-toolbar/footer-toolbar.component.mjs +3 -3
  34. package/esm2022/footer-toolbar/footer-toolbar.module.mjs +4 -4
  35. package/esm2022/full-content/full-content-toggle.directive.mjs +3 -3
  36. package/esm2022/full-content/full-content.component.mjs +3 -3
  37. package/esm2022/full-content/full-content.module.mjs +4 -4
  38. package/esm2022/full-content/full-content.service.mjs +3 -3
  39. package/esm2022/global-footer/global-footer-item.component.mjs +3 -3
  40. package/esm2022/global-footer/global-footer.component.mjs +3 -3
  41. package/esm2022/global-footer/global-footer.module.mjs +4 -4
  42. package/esm2022/hotkey/hotkey.directive.mjs +3 -3
  43. package/esm2022/hotkey/hotkey.module.mjs +4 -4
  44. package/esm2022/let/let.directive.mjs +3 -3
  45. package/esm2022/let/let.module.mjs +4 -4
  46. package/esm2022/loading/loading.component.mjs +3 -3
  47. package/esm2022/loading/loading.module.mjs +4 -4
  48. package/esm2022/loading/loading.service.mjs +3 -3
  49. package/esm2022/lodop/lodop.module.mjs +4 -4
  50. package/esm2022/lodop/lodop.service.mjs +3 -3
  51. package/esm2022/media/media.component.mjs +3 -3
  52. package/esm2022/media/media.module.mjs +4 -4
  53. package/esm2022/media/media.service.mjs +3 -3
  54. package/esm2022/notice-icon/notice-icon-tab.component.mjs +3 -3
  55. package/esm2022/notice-icon/notice-icon.component.mjs +3 -3
  56. package/esm2022/notice-icon/notice-icon.module.mjs +4 -4
  57. package/esm2022/observers/observer-size.mjs +10 -10
  58. package/esm2022/onboarding/onboarding.component.mjs +3 -3
  59. package/esm2022/onboarding/onboarding.module.mjs +4 -4
  60. package/esm2022/onboarding/onboarding.service.mjs +3 -3
  61. package/esm2022/page-header/page-header.component.mjs +10 -7
  62. package/esm2022/page-header/page-header.module.mjs +27 -6
  63. package/esm2022/pdf/pdf.component.mjs +5 -5
  64. package/esm2022/pdf/pdf.module.mjs +4 -4
  65. package/esm2022/pdf/pdf.types.mjs +2 -1
  66. package/esm2022/qr/qr.component.mjs +3 -3
  67. package/esm2022/qr/qr.module.mjs +4 -4
  68. package/esm2022/quick-menu/quick-menu.component.mjs +3 -3
  69. package/esm2022/quick-menu/quick-menu.module.mjs +4 -4
  70. package/esm2022/result/result.component.mjs +3 -3
  71. package/esm2022/result/result.module.mjs +4 -4
  72. package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +3 -3
  73. package/esm2022/reuse-tab/reuse-tab-context.component.mjs +3 -3
  74. package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +3 -3
  75. package/esm2022/reuse-tab/reuse-tab-context.service.mjs +3 -3
  76. package/esm2022/reuse-tab/reuse-tab.component.mjs +3 -3
  77. package/esm2022/reuse-tab/reuse-tab.module.mjs +4 -4
  78. package/esm2022/reuse-tab/reuse-tab.service.mjs +3 -3
  79. package/esm2022/se/se-container.component.mjs +6 -6
  80. package/esm2022/se/se.component.mjs +3 -3
  81. package/esm2022/se/se.module.mjs +4 -4
  82. package/esm2022/sg/sg-container.component.mjs +3 -3
  83. package/esm2022/sg/sg.component.mjs +3 -3
  84. package/esm2022/sg/sg.module.mjs +4 -4
  85. package/esm2022/st/st-column-source.mjs +8 -4
  86. package/esm2022/st/st-data-source.mjs +14 -7
  87. package/esm2022/st/st-export.mjs +3 -3
  88. package/esm2022/st/st-filter.component.mjs +3 -3
  89. package/esm2022/st/st-row.directive.mjs +6 -6
  90. package/esm2022/st/st-widget-host.directive.mjs +3 -3
  91. package/esm2022/st/st-widget.mjs +3 -3
  92. package/esm2022/st/st.component.mjs +76 -91
  93. package/esm2022/st/st.interfaces.mjs +1 -1
  94. package/esm2022/st/st.module.mjs +9 -5
  95. package/esm2022/st/st.types.mjs +1 -1
  96. package/esm2022/sv/sv-container.component.mjs +19 -9
  97. package/esm2022/sv/sv-value.component.mjs +3 -3
  98. package/esm2022/sv/sv.component.mjs +11 -8
  99. package/esm2022/sv/sv.module.mjs +4 -4
  100. package/esm2022/tag-select/tag-select.component.mjs +3 -3
  101. package/esm2022/tag-select/tag-select.module.mjs +4 -4
  102. package/esm2022/xlsx/xlsx.directive.mjs +3 -3
  103. package/esm2022/xlsx/xlsx.module.mjs +4 -4
  104. package/esm2022/xlsx/xlsx.service.mjs +3 -3
  105. package/esm2022/zip/zip.module.mjs +4 -4
  106. package/esm2022/zip/zip.service.mjs +3 -3
  107. package/fesm2022/auto-focus.mjs +7 -7
  108. package/fesm2022/avatar-list.mjs +10 -10
  109. package/fesm2022/cell.mjs +521 -0
  110. package/fesm2022/cell.mjs.map +1 -0
  111. package/fesm2022/chart-observer-size.mjs +10 -10
  112. package/fesm2022/count-down.mjs +7 -7
  113. package/fesm2022/date-picker.mjs +10 -10
  114. package/fesm2022/down-file.mjs +7 -7
  115. package/fesm2022/ellipsis.mjs +7 -7
  116. package/fesm2022/error-collect.mjs +7 -7
  117. package/fesm2022/exception.mjs +7 -7
  118. package/fesm2022/footer-toolbar.mjs +7 -7
  119. package/fesm2022/full-content.mjs +13 -13
  120. package/fesm2022/global-footer.mjs +10 -10
  121. package/fesm2022/hotkey.mjs +7 -7
  122. package/fesm2022/let.mjs +7 -7
  123. package/fesm2022/loading.mjs +10 -10
  124. package/fesm2022/lodop.mjs +7 -7
  125. package/fesm2022/media.mjs +10 -10
  126. package/fesm2022/notice-icon.mjs +10 -10
  127. package/fesm2022/onboarding.mjs +10 -10
  128. package/fesm2022/page-header.mjs +35 -11
  129. package/fesm2022/page-header.mjs.map +1 -1
  130. package/fesm2022/pdf.mjs +9 -8
  131. package/fesm2022/pdf.mjs.map +1 -1
  132. package/fesm2022/qr.mjs +7 -7
  133. package/fesm2022/quick-menu.mjs +7 -7
  134. package/fesm2022/result.mjs +7 -7
  135. package/fesm2022/reuse-tab.mjs +22 -22
  136. package/fesm2022/se.mjs +13 -13
  137. package/fesm2022/sg.mjs +10 -10
  138. package/fesm2022/st.mjs +119 -119
  139. package/fesm2022/st.mjs.map +1 -1
  140. package/fesm2022/sv.mjs +35 -22
  141. package/fesm2022/sv.mjs.map +1 -1
  142. package/fesm2022/tag-select.mjs +7 -7
  143. package/fesm2022/xlsx.mjs +10 -10
  144. package/fesm2022/zip.mjs +7 -7
  145. package/index.less +1 -0
  146. package/package.json +10 -5
  147. package/page-header/page-header.component.d.ts +2 -1
  148. package/page-header/page-header.module.d.ts +2 -1
  149. package/page-header/style/index.less +1 -0
  150. package/pdf/pdf.component.d.ts +6 -5
  151. package/pdf/pdf.types.d.ts +2 -1
  152. package/st/st-data-source.d.ts +1 -1
  153. package/st/st.component.d.ts +7 -8
  154. package/st/st.interfaces.d.ts +21 -1
  155. package/st/st.module.d.ts +17 -16
  156. package/st/st.types.d.ts +3 -0
  157. package/sv/style/index.less +36 -0
  158. package/sv/sv-container.component.d.ts +7 -2
  159. package/sv/sv.component.d.ts +3 -3
  160. package/theme-default.less +11 -0
@@ -0,0 +1,521 @@
1
+ import { __decorate } from 'tslib';
2
+ import * as i0 from '@angular/core';
3
+ import { Injectable, Directive, Input, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Output, NgModule } from '@angular/core';
4
+ import { updateHostClass } from '@delon/util/browser';
5
+ import { InputBoolean } from '@delon/util/decorator';
6
+ import { WINDOW } from '@delon/util/token';
7
+ import { of, map } from 'rxjs';
8
+ import { yn } from '@delon/theme';
9
+ import { formatDate } from '@delon/util/date-time';
10
+ import * as i3 from '@delon/util/format';
11
+ import { formatMask } from '@delon/util/format';
12
+ import { deepMerge, warn } from '@delon/util/other';
13
+ import * as i1 from '@delon/util/config';
14
+ import * as i2 from 'ng-zorro-antd/i18n';
15
+ import * as i4 from '@angular/platform-browser';
16
+ import * as i2$1 from '@angular/router';
17
+ import * as i3$1 from 'ng-zorro-antd/image';
18
+ import * as i4$1 from '@angular/common';
19
+ import { CommonModule } from '@angular/common';
20
+ import * as i5 from '@angular/forms';
21
+ import { FormsModule } from '@angular/forms';
22
+ import * as i6 from 'ng-zorro-antd/checkbox';
23
+ import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
24
+ import * as i7 from 'ng-zorro-antd/radio';
25
+ import { NzRadioModule } from 'ng-zorro-antd/radio';
26
+ import * as i8 from 'ng-zorro-antd/badge';
27
+ import { NzBadgeModule } from 'ng-zorro-antd/badge';
28
+ import * as i9 from 'ng-zorro-antd/tag';
29
+ import { NzTagModule } from 'ng-zorro-antd/tag';
30
+ import * as i10 from 'ng-zorro-antd/tooltip';
31
+ import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
32
+ import * as i11 from 'ng-zorro-antd/icon';
33
+ import { NzIconModule } from 'ng-zorro-antd/icon';
34
+ import { NzImageModule } from 'ng-zorro-antd/experimental/image';
35
+
36
+ class CellService {
37
+ constructor(configSrv, nzI18n, currency, dom) {
38
+ this.nzI18n = nzI18n;
39
+ this.currency = currency;
40
+ this.dom = dom;
41
+ this.widgets = {
42
+ date: {
43
+ type: 'fn',
44
+ ref: (value, opt) => {
45
+ return { text: formatDate(value, opt.date.format, this.nzI18n.getDateLocale()) };
46
+ }
47
+ },
48
+ mega: {
49
+ type: 'fn',
50
+ ref: (value, opt) => {
51
+ const res = this.currency.mega(value, opt.mega);
52
+ return { text: res.value, unit: res.unitI18n };
53
+ }
54
+ },
55
+ currency: {
56
+ type: 'fn',
57
+ ref: (value, opt) => {
58
+ return { text: this.currency.format(value, opt.currency) };
59
+ }
60
+ },
61
+ cny: {
62
+ type: 'fn',
63
+ ref: (value, opt) => {
64
+ return { text: this.currency.cny(value, opt.cny) };
65
+ }
66
+ },
67
+ boolean: {
68
+ type: 'fn',
69
+ ref: (value, opt) => {
70
+ return { text: this.dom.bypassSecurityTrustHtml(yn(value, opt.boolean)) };
71
+ }
72
+ },
73
+ img: {
74
+ type: 'fn',
75
+ ref: value => {
76
+ return { text: Array.isArray(value) ? value : [value] };
77
+ }
78
+ }
79
+ };
80
+ this.globalOptions = configSrv.merge('cell', {
81
+ date: { format: 'yyyy-MM-dd HH:mm:ss' },
82
+ img: { size: 32 },
83
+ default: { text: '-' }
84
+ });
85
+ }
86
+ registerWidget(key, widget) {
87
+ this.widgets[key] = { type: 'widget', ref: widget };
88
+ }
89
+ getWidget(key) {
90
+ return this.widgets[key];
91
+ }
92
+ genType(value, options) {
93
+ if (options.type != null)
94
+ return options.type;
95
+ const typeOf = typeof value;
96
+ // When is timestamp
97
+ if (typeOf === 'number' && /^[0-9]{13}$/g.test(value))
98
+ return 'date';
99
+ if (value instanceof Date || options.date != null)
100
+ return 'date';
101
+ // Auto detection
102
+ if (options.widget != null)
103
+ return 'widget';
104
+ else if (options.mega != null)
105
+ return 'mega';
106
+ else if (options.currency != null)
107
+ return 'currency';
108
+ else if (options.cny != null)
109
+ return 'cny';
110
+ else if (options.img != null)
111
+ return 'img';
112
+ else if (options.link != null)
113
+ return 'link';
114
+ else if (options.html != null)
115
+ return 'html';
116
+ else if (options.badge != null)
117
+ return 'badge';
118
+ else if (options.tag != null)
119
+ return 'tag';
120
+ else if (options.checkbox != null)
121
+ return 'checkbox';
122
+ else if (options.radio != null)
123
+ return 'radio';
124
+ else if (options.enum != null)
125
+ return 'enum';
126
+ else if (typeOf === 'number')
127
+ return 'number';
128
+ else if (typeOf === 'boolean' || options.boolean != null)
129
+ return 'boolean';
130
+ else
131
+ return 'string';
132
+ }
133
+ fixOptions(options) {
134
+ return deepMerge({}, this.globalOptions, options);
135
+ }
136
+ get(value, options) {
137
+ const type = this.genType(value, { ...options });
138
+ const opt = this.fixOptions(options);
139
+ opt.type = type;
140
+ const isSafeHtml = typeof value === 'object' &&
141
+ typeof value?.getTypeName === 'function' &&
142
+ value?.getTypeName() != null;
143
+ let res = {
144
+ result: typeof value === 'object' && !isSafeHtml
145
+ ? value
146
+ : { text: value == null ? '' : isSafeHtml ? value : `${value}` },
147
+ options: opt
148
+ };
149
+ const widget = this.widgets[type];
150
+ if (widget?.type === 'fn') {
151
+ res.result = widget.ref(value, opt);
152
+ }
153
+ return (typeof value === 'function' ? value(value, opt) : of(res.result)).pipe(map(text => {
154
+ res.result = text;
155
+ let dictData;
156
+ switch (type) {
157
+ case 'badge':
158
+ dictData = (opt.badge?.data ?? {})[value];
159
+ res.result = { color: 'default', ...dictData };
160
+ break;
161
+ case 'tag':
162
+ dictData = (opt.tag?.data ?? {})[value];
163
+ res.result = dictData;
164
+ break;
165
+ case 'enum':
166
+ res.result = { text: (opt.enum ?? {})[value] };
167
+ break;
168
+ case 'html':
169
+ res.safeHtml = opt.html?.safe;
170
+ break;
171
+ case 'string':
172
+ if (isSafeHtml)
173
+ res.safeHtml = 'safeHtml';
174
+ break;
175
+ }
176
+ if ((type === 'badge' || type === 'tag') && dictData?.tooltip != null) {
177
+ res.options.tooltip = dictData.tooltip;
178
+ }
179
+ if (opt.mask != null) {
180
+ res.result.text = formatMask(res.result.text, opt.mask);
181
+ }
182
+ return res;
183
+ }));
184
+ }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellService, deps: [{ token: i1.AlainConfigService }, { token: i2.NzI18nService }, { token: i3.CurrencyService }, { token: i4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
186
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellService, providedIn: 'root' }); }
187
+ }
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellService, decorators: [{
189
+ type: Injectable,
190
+ args: [{ providedIn: 'root' }]
191
+ }], ctorParameters: function () { return [{ type: i1.AlainConfigService }, { type: i2.NzI18nService }, { type: i3.CurrencyService }, { type: i4.DomSanitizer }]; } });
192
+
193
+ class CellHostDirective {
194
+ constructor(srv, viewContainerRef) {
195
+ this.srv = srv;
196
+ this.viewContainerRef = viewContainerRef;
197
+ }
198
+ ngOnInit() {
199
+ const widget = this.data.options.widget;
200
+ const componentType = this.srv.getWidget(widget.key)?.ref;
201
+ if (componentType == null) {
202
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
203
+ warn(`cell: No widget for type "${widget.key}"`);
204
+ }
205
+ return;
206
+ }
207
+ this.viewContainerRef.clear();
208
+ const componentRef = this.viewContainerRef.createComponent(componentType);
209
+ componentRef.instance.data = this.data;
210
+ }
211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellHostDirective, deps: [{ token: CellService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
212
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: CellHostDirective, selector: "[cell-widget-host]", inputs: { data: "data" }, ngImport: i0 }); }
213
+ }
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellHostDirective, decorators: [{
215
+ type: Directive,
216
+ args: [{
217
+ selector: '[cell-widget-host]'
218
+ }]
219
+ }], ctorParameters: function () { return [{ type: CellService }, { type: i0.ViewContainerRef }]; }, propDecorators: { data: [{
220
+ type: Input
221
+ }] } });
222
+
223
+ class CellComponent {
224
+ get safeOpt() {
225
+ return this.res?.options ?? {};
226
+ }
227
+ get isText() {
228
+ return this.res?.safeHtml === 'text';
229
+ }
230
+ get hostData() {
231
+ return {
232
+ value: this.value,
233
+ options: this.srv.fixOptions(this.options)
234
+ };
235
+ }
236
+ constructor(srv, router, cdr, el, renderer, imgSrv,
237
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
238
+ win) {
239
+ this.srv = srv;
240
+ this.router = router;
241
+ this.cdr = cdr;
242
+ this.el = el;
243
+ this.renderer = renderer;
244
+ this.imgSrv = imgSrv;
245
+ this.win = win;
246
+ this.showDefault = false;
247
+ this.valueChange = new EventEmitter();
248
+ this.loading = false;
249
+ this.disabled = false;
250
+ }
251
+ updateValue() {
252
+ this.destroy$?.unsubscribe();
253
+ this.destroy$ = this.srv.get(this.value, this.options).subscribe(res => {
254
+ this.res = res;
255
+ this.showDefault = this.value == this.safeOpt.default.condition;
256
+ this._text = res.result?.text ?? '';
257
+ this._unit = res.result?.unit ?? this.safeOpt?.unit;
258
+ this.cdr.detectChanges();
259
+ this.setClass();
260
+ });
261
+ }
262
+ setClass() {
263
+ const { el, renderer } = this;
264
+ const { renderType, size } = this.safeOpt;
265
+ updateHostClass(el.nativeElement, renderer, {
266
+ [`cell`]: true,
267
+ [`cell__${renderType}`]: renderType != null,
268
+ [`cell__${size}`]: size != null,
269
+ [`cell__has-unit`]: this._unit,
270
+ [`cell__has-default`]: this.showDefault,
271
+ [`cell__disabled`]: this.disabled
272
+ });
273
+ el.nativeElement.dataset.type = this.safeOpt.type;
274
+ }
275
+ ngOnChanges(changes) {
276
+ // Do not call updateValue when only updating loading, disabled
277
+ if (Object.keys(changes).every(k => ['loading', 'disabled'].includes(k))) {
278
+ this.setClass();
279
+ }
280
+ else {
281
+ this.updateValue();
282
+ }
283
+ }
284
+ change(value) {
285
+ this.value = value;
286
+ this.valueChange.emit(value);
287
+ }
288
+ _link(e) {
289
+ e.preventDefault();
290
+ e.stopPropagation();
291
+ if (this.disabled)
292
+ return;
293
+ const link = this.safeOpt.link;
294
+ const url = link?.url;
295
+ if (url == null)
296
+ return;
297
+ if (/https?:\/\//g.test(url)) {
298
+ this.win.open(url, link?.target);
299
+ }
300
+ else {
301
+ this.router.navigateByUrl(url);
302
+ }
303
+ }
304
+ _showImg(img) {
305
+ const config = this.safeOpt.img;
306
+ if (config == null || config.big == null)
307
+ return;
308
+ let idx = -1;
309
+ const list = this._text.map((p, index) => {
310
+ if (idx === -1 && p === img)
311
+ idx = index;
312
+ return typeof config.big === 'function' ? config.big(p) : p;
313
+ });
314
+ this.imgSrv
315
+ .preview(list.map(p => ({ src: p })), config.previewOptions)
316
+ .switchTo(idx);
317
+ }
318
+ ngOnDestroy() {
319
+ this.destroy$?.unsubscribe();
320
+ }
321
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellComponent, deps: [{ token: CellService }, { token: i2$1.Router }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i3$1.NzImageService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component }); }
322
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: CellComponent, selector: "cell, [cell]", inputs: { value: "value", options: "options", loading: "loading", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, exportAs: ["cell"], usesOnChanges: true, ngImport: i0, template: `
323
+ <ng-template #text>
324
+ <ng-container [ngSwitch]="safeOpt.type">
325
+ <label
326
+ *ngSwitchCase="'checkbox'"
327
+ nz-checkbox
328
+ [nzDisabled]="disabled"
329
+ [ngModel]="value"
330
+ (ngModelChange)="change($event)"
331
+ >
332
+ {{ safeOpt.checkbox?.label }}
333
+ </label>
334
+ <label
335
+ *ngSwitchCase="'radio'"
336
+ nz-radio
337
+ [nzDisabled]="disabled"
338
+ [ngModel]="value"
339
+ (ngModelChange)="change($event)"
340
+ >
341
+ {{ safeOpt.radio?.label }}
342
+ </label>
343
+ <a
344
+ *ngSwitchCase="'link'"
345
+ (click)="_link($event)"
346
+ [attr.target]="safeOpt.link?.target"
347
+ [attr.title]="value"
348
+ [innerHTML]="_text"
349
+ ></a>
350
+ <nz-tag *ngSwitchCase="'tag'" [nzColor]="res?.result?.color">
351
+ <span [innerHTML]="_text"></span>
352
+ </nz-tag>
353
+ <nz-badge *ngSwitchCase="'badge'" [nzStatus]="res?.result?.color" nzText="{{ _text }}" />
354
+ <ng-template *ngSwitchCase="'widget'" cell-widget-host [data]="hostData" />
355
+ <ng-container *ngSwitchCase="'img'">
356
+ <img
357
+ *ngFor="let i of $any(_text)"
358
+ [attr.src]="i"
359
+ [attr.height]="safeOpt.img?.size"
360
+ [attr.width]="safeOpt.img?.size"
361
+ (click)="_showImg(i)"
362
+ class="img"
363
+ [class.point]="safeOpt.img?.big"
364
+ />
365
+ </ng-container>
366
+ <ng-container *ngSwitchDefault>
367
+ <span *ngIf="!isText" [innerHTML]="_text" [attr.title]="value"></span>
368
+ <span *ngIf="isText" [innerText]="_text" [attr.title]="value"></span>
369
+ <span *ngIf="_unit" class="unit">{{ _unit }}</span>
370
+ </ng-container>
371
+ </ng-container>
372
+ </ng-template>
373
+ <ng-template #textWrap>
374
+ <ng-container *ngIf="showDefault">{{ safeOpt.default?.text }}</ng-container>
375
+ <ng-container *ngIf="!showDefault">
376
+ <span *ngIf="safeOpt.tooltip; else text" [nz-tooltip]="safeOpt.tooltip">
377
+ <ng-template [ngTemplateOutlet]="text" />
378
+ </span>
379
+ </ng-container>
380
+ </ng-template>
381
+ <span *ngIf="loading; else textWrap" nz-icon nzType="loading"></span>
382
+ `, isInline: true, dependencies: [{ kind: "directive", type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i7.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus"], exportAs: ["nzRadio"] }, { kind: "component", type: i8.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset", "nzSize"], exportAs: ["nzBadge"] }, { kind: "component", type: i9.NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }, { kind: "directive", type: i10.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: i11.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: CellHostDirective, selector: "[cell-widget-host]", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
383
+ }
384
+ __decorate([
385
+ InputBoolean()
386
+ ], CellComponent.prototype, "loading", void 0);
387
+ __decorate([
388
+ InputBoolean()
389
+ ], CellComponent.prototype, "disabled", void 0);
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellComponent, decorators: [{
391
+ type: Component,
392
+ args: [{
393
+ selector: 'cell, [cell]',
394
+ template: `
395
+ <ng-template #text>
396
+ <ng-container [ngSwitch]="safeOpt.type">
397
+ <label
398
+ *ngSwitchCase="'checkbox'"
399
+ nz-checkbox
400
+ [nzDisabled]="disabled"
401
+ [ngModel]="value"
402
+ (ngModelChange)="change($event)"
403
+ >
404
+ {{ safeOpt.checkbox?.label }}
405
+ </label>
406
+ <label
407
+ *ngSwitchCase="'radio'"
408
+ nz-radio
409
+ [nzDisabled]="disabled"
410
+ [ngModel]="value"
411
+ (ngModelChange)="change($event)"
412
+ >
413
+ {{ safeOpt.radio?.label }}
414
+ </label>
415
+ <a
416
+ *ngSwitchCase="'link'"
417
+ (click)="_link($event)"
418
+ [attr.target]="safeOpt.link?.target"
419
+ [attr.title]="value"
420
+ [innerHTML]="_text"
421
+ ></a>
422
+ <nz-tag *ngSwitchCase="'tag'" [nzColor]="res?.result?.color">
423
+ <span [innerHTML]="_text"></span>
424
+ </nz-tag>
425
+ <nz-badge *ngSwitchCase="'badge'" [nzStatus]="res?.result?.color" nzText="{{ _text }}" />
426
+ <ng-template *ngSwitchCase="'widget'" cell-widget-host [data]="hostData" />
427
+ <ng-container *ngSwitchCase="'img'">
428
+ <img
429
+ *ngFor="let i of $any(_text)"
430
+ [attr.src]="i"
431
+ [attr.height]="safeOpt.img?.size"
432
+ [attr.width]="safeOpt.img?.size"
433
+ (click)="_showImg(i)"
434
+ class="img"
435
+ [class.point]="safeOpt.img?.big"
436
+ />
437
+ </ng-container>
438
+ <ng-container *ngSwitchDefault>
439
+ <span *ngIf="!isText" [innerHTML]="_text" [attr.title]="value"></span>
440
+ <span *ngIf="isText" [innerText]="_text" [attr.title]="value"></span>
441
+ <span *ngIf="_unit" class="unit">{{ _unit }}</span>
442
+ </ng-container>
443
+ </ng-container>
444
+ </ng-template>
445
+ <ng-template #textWrap>
446
+ <ng-container *ngIf="showDefault">{{ safeOpt.default?.text }}</ng-container>
447
+ <ng-container *ngIf="!showDefault">
448
+ <span *ngIf="safeOpt.tooltip; else text" [nz-tooltip]="safeOpt.tooltip">
449
+ <ng-template [ngTemplateOutlet]="text" />
450
+ </span>
451
+ </ng-container>
452
+ </ng-template>
453
+ <span *ngIf="loading; else textWrap" nz-icon nzType="loading"></span>
454
+ `,
455
+ exportAs: 'cell',
456
+ preserveWhitespaces: false,
457
+ changeDetection: ChangeDetectionStrategy.OnPush,
458
+ encapsulation: ViewEncapsulation.None
459
+ }]
460
+ }], ctorParameters: function () { return [{ type: CellService }, { type: i2$1.Router }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i3$1.NzImageService }, { type: undefined, decorators: [{
461
+ type: Inject,
462
+ args: [WINDOW]
463
+ }] }]; }, propDecorators: { value: [{
464
+ type: Input
465
+ }], valueChange: [{
466
+ type: Output
467
+ }], options: [{
468
+ type: Input
469
+ }], loading: [{
470
+ type: Input
471
+ }], disabled: [{
472
+ type: Input
473
+ }] } });
474
+
475
+ const COMPS = [CellComponent];
476
+ class CellModule {
477
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
478
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: CellModule, declarations: [CellComponent, CellHostDirective], imports: [CommonModule,
479
+ FormsModule,
480
+ NzCheckboxModule,
481
+ NzRadioModule,
482
+ NzBadgeModule,
483
+ NzTagModule,
484
+ NzToolTipModule,
485
+ NzIconModule,
486
+ NzImageModule], exports: [CellComponent] }); }
487
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellModule, imports: [CommonModule,
488
+ FormsModule,
489
+ NzCheckboxModule,
490
+ NzRadioModule,
491
+ NzBadgeModule,
492
+ NzTagModule,
493
+ NzToolTipModule,
494
+ NzIconModule,
495
+ NzImageModule] }); }
496
+ }
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: CellModule, decorators: [{
498
+ type: NgModule,
499
+ args: [{
500
+ imports: [
501
+ CommonModule,
502
+ FormsModule,
503
+ NzCheckboxModule,
504
+ NzRadioModule,
505
+ NzBadgeModule,
506
+ NzTagModule,
507
+ NzToolTipModule,
508
+ NzIconModule,
509
+ NzImageModule
510
+ ],
511
+ declarations: [...COMPS, CellHostDirective],
512
+ exports: COMPS
513
+ }]
514
+ }] });
515
+
516
+ /**
517
+ * Generated bundle index. Do not edit.
518
+ */
519
+
520
+ export { CellComponent, CellHostDirective, CellModule, CellService };
521
+ //# sourceMappingURL=cell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell.mjs","sources":["../../../../packages/abc/cell/cell.service.ts","../../../../packages/abc/cell/cell-host.directive.ts","../../../../packages/abc/cell/cell.component.ts","../../../../packages/abc/cell/cell.module.ts","../../../../packages/abc/cell/cell.ts"],"sourcesContent":["import { Injectable, Type } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { map, Observable, of } from 'rxjs';\n\nimport { yn } from '@delon/theme';\nimport { AlainCellConfig, AlainConfigService } from '@delon/util/config';\nimport { formatDate } from '@delon/util/date-time';\nimport { CurrencyService, formatMask } from '@delon/util/format';\nimport { deepMerge } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\n\nimport type {\n CellFuValue,\n CellOptions,\n CellTextResult,\n CellTextUnit,\n CellType,\n CellWidget,\n CellWidgetFn\n} from './cell.types';\n\n@Injectable({ providedIn: 'root' })\nexport class CellService {\n private globalOptions!: AlainCellConfig;\n private widgets: { [key: string]: CellWidget } = {\n date: {\n type: 'fn',\n ref: (value, opt) => {\n return { text: formatDate(value as string, opt.date!.format!, this.nzI18n.getDateLocale()) };\n }\n },\n mega: {\n type: 'fn',\n ref: (value, opt) => {\n const res = this.currency.mega(value as number, opt.mega);\n return { text: res.value, unit: res.unitI18n };\n }\n },\n currency: {\n type: 'fn',\n ref: (value, opt) => {\n return { text: this.currency.format(value as number, opt.currency) };\n }\n },\n cny: {\n type: 'fn',\n ref: (value, opt) => {\n return { text: this.currency.cny(value as number, opt.cny) };\n }\n },\n boolean: {\n type: 'fn',\n ref: (value, opt) => {\n return { text: this.dom.bypassSecurityTrustHtml(yn(value as boolean, opt.boolean)) };\n }\n },\n img: {\n type: 'fn',\n ref: value => {\n return { text: Array.isArray(value) ? value : [value] };\n }\n }\n };\n\n constructor(\n configSrv: AlainConfigService,\n private nzI18n: NzI18nService,\n private currency: CurrencyService,\n private dom: DomSanitizer\n ) {\n this.globalOptions = configSrv.merge('cell', {\n date: { format: 'yyyy-MM-dd HH:mm:ss' },\n img: { size: 32 },\n default: { text: '-' }\n })!;\n }\n\n registerWidget(key: string, widget: Type<unknown>): void {\n this.widgets[key] = { type: 'widget', ref: widget };\n }\n\n getWidget(key: string): CellWidget | undefined {\n return this.widgets[key];\n }\n\n private genType(value: unknown, options: CellOptions): CellType {\n if (options.type != null) return options.type;\n\n const typeOf = typeof value;\n // When is timestamp\n if (typeOf === 'number' && /^[0-9]{13}$/g.test(value as string)) return 'date';\n if (value instanceof Date || options.date != null) return 'date';\n\n // Auto detection\n if (options.widget != null) return 'widget';\n else if (options.mega != null) return 'mega';\n else if (options.currency != null) return 'currency';\n else if (options.cny != null) return 'cny';\n else if (options.img != null) return 'img';\n else if (options.link != null) return 'link';\n else if (options.html != null) return 'html';\n else if (options.badge != null) return 'badge';\n else if (options.tag != null) return 'tag';\n else if (options.checkbox != null) return 'checkbox';\n else if (options.radio != null) return 'radio';\n else if (options.enum != null) return 'enum';\n else if (typeOf === 'number') return 'number';\n else if (typeOf === 'boolean' || options.boolean != null) return 'boolean';\n else return 'string';\n }\n\n fixOptions(options?: CellOptions): CellOptions {\n return deepMerge({}, this.globalOptions, options);\n }\n\n get(value: unknown, options?: CellOptions): Observable<CellTextResult> {\n const type = this.genType(value, { ...options });\n const opt = this.fixOptions(options);\n opt.type = type;\n const isSafeHtml =\n typeof value === 'object' &&\n typeof (value as NzSafeAny)?.getTypeName === 'function' &&\n (value as NzSafeAny)?.getTypeName() != null;\n\n let res: CellTextResult = {\n result:\n typeof value === 'object' && !isSafeHtml\n ? (value as CellTextUnit)\n : { text: value == null ? '' : isSafeHtml ? value : `${value}` },\n options: opt\n };\n\n const widget = this.widgets[type];\n if (widget?.type === 'fn') {\n res.result = (widget.ref as CellWidgetFn)(value, opt);\n }\n\n return (typeof value === 'function' ? (value as CellFuValue)(value, opt) : of(res.result)).pipe(\n map(text => {\n res.result = text;\n let dictData: { tooltip?: string } | undefined;\n switch (type) {\n case 'badge':\n dictData = (opt.badge?.data ?? {})[value as string];\n res.result = { color: 'default', ...dictData };\n break;\n case 'tag':\n dictData = (opt.tag?.data ?? {})[value as string];\n res.result = dictData as CellTextUnit;\n break;\n case 'enum':\n res.result = { text: (opt.enum ?? {})[value as string] };\n break;\n case 'html':\n res.safeHtml = opt.html?.safe;\n break;\n case 'string':\n if (isSafeHtml) res.safeHtml = 'safeHtml';\n break;\n }\n if ((type === 'badge' || type === 'tag') && dictData?.tooltip != null) {\n res.options.tooltip = dictData.tooltip;\n }\n if (opt.mask != null) {\n res.result.text = formatMask(res.result.text as string, opt.mask);\n }\n return res;\n })\n );\n }\n}\n","import { Directive, Input, OnInit, Type, ViewContainerRef } from '@angular/core';\n\nimport { warn } from '@delon/util/other';\n\nimport { CellService } from './cell.service';\nimport { CellWidgetData } from './cell.types';\n\n@Directive({\n selector: '[cell-widget-host]'\n})\nexport class CellHostDirective implements OnInit {\n @Input() data!: CellWidgetData;\n\n constructor(\n private srv: CellService,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnInit(): void {\n const widget = this.data.options!.widget!;\n const componentType = this.srv.getWidget(widget.key!)?.ref as Type<unknown>;\n if (componentType == null) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n warn(`cell: No widget for type \"${widget.key}\"`);\n }\n return;\n }\n\n this.viewContainerRef.clear();\n const componentRef = this.viewContainerRef.createComponent(componentType);\n (componentRef.instance as { data: CellWidgetData }).data = this.data;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation\n} from '@angular/core';\nimport type { SafeValue } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\nimport { updateHostClass } from '@delon/util/browser';\nimport { BooleanInput, InputBoolean } from '@delon/util/decorator';\nimport { WINDOW } from '@delon/util/token';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzImage, NzImageService } from 'ng-zorro-antd/image';\n\nimport { CellService } from './cell.service';\nimport type { CellDefaultText, CellOptions, CellTextResult, CellValue, CellWidgetData } from './cell.types';\n\n@Component({\n selector: 'cell, [cell]',\n template: `\n <ng-template #text>\n <ng-container [ngSwitch]=\"safeOpt.type\">\n <label\n *ngSwitchCase=\"'checkbox'\"\n nz-checkbox\n [nzDisabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"change($event)\"\n >\n {{ safeOpt.checkbox?.label }}\n </label>\n <label\n *ngSwitchCase=\"'radio'\"\n nz-radio\n [nzDisabled]=\"disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"change($event)\"\n >\n {{ safeOpt.radio?.label }}\n </label>\n <a\n *ngSwitchCase=\"'link'\"\n (click)=\"_link($event)\"\n [attr.target]=\"safeOpt.link?.target\"\n [attr.title]=\"value\"\n [innerHTML]=\"_text\"\n ></a>\n <nz-tag *ngSwitchCase=\"'tag'\" [nzColor]=\"res?.result?.color\">\n <span [innerHTML]=\"_text\"></span>\n </nz-tag>\n <nz-badge *ngSwitchCase=\"'badge'\" [nzStatus]=\"res?.result?.color\" nzText=\"{{ _text }}\" />\n <ng-template *ngSwitchCase=\"'widget'\" cell-widget-host [data]=\"hostData\" />\n <ng-container *ngSwitchCase=\"'img'\">\n <img\n *ngFor=\"let i of $any(_text)\"\n [attr.src]=\"i\"\n [attr.height]=\"safeOpt.img?.size\"\n [attr.width]=\"safeOpt.img?.size\"\n (click)=\"_showImg(i)\"\n class=\"img\"\n [class.point]=\"safeOpt.img?.big\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <span *ngIf=\"!isText\" [innerHTML]=\"_text\" [attr.title]=\"value\"></span>\n <span *ngIf=\"isText\" [innerText]=\"_text\" [attr.title]=\"value\"></span>\n <span *ngIf=\"_unit\" class=\"unit\">{{ _unit }}</span>\n </ng-container>\n </ng-container>\n </ng-template>\n <ng-template #textWrap>\n <ng-container *ngIf=\"showDefault\">{{ safeOpt.default?.text }}</ng-container>\n <ng-container *ngIf=\"!showDefault\">\n <span *ngIf=\"safeOpt.tooltip; else text\" [nz-tooltip]=\"safeOpt.tooltip\">\n <ng-template [ngTemplateOutlet]=\"text\" />\n </span>\n </ng-container>\n </ng-template>\n <span *ngIf=\"loading; else textWrap\" nz-icon nzType=\"loading\"></span>\n `,\n exportAs: 'cell',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class CellComponent implements OnChanges, OnDestroy {\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n\n private destroy$?: Subscription;\n\n _text!: string | SafeValue | string[] | number;\n _unit?: string;\n res?: CellTextResult;\n showDefault = false;\n\n @Input() value?: CellValue;\n @Output() readonly valueChange = new EventEmitter<NzSafeAny>();\n @Input() options?: CellOptions;\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() disabled = false;\n\n get safeOpt(): CellOptions {\n return this.res?.options ?? {};\n }\n\n get isText(): boolean {\n return this.res?.safeHtml === 'text';\n }\n\n get hostData(): CellWidgetData {\n return {\n value: this.value,\n options: this.srv.fixOptions(this.options)\n };\n }\n\n constructor(\n private srv: CellService,\n private router: Router,\n private cdr: ChangeDetectorRef,\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private imgSrv: NzImageService,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Inject(WINDOW) private win: any\n ) {}\n\n private updateValue(): void {\n this.destroy$?.unsubscribe();\n this.destroy$ = this.srv.get(this.value, this.options).subscribe(res => {\n this.res = res;\n this.showDefault = this.value == (this.safeOpt.default as CellDefaultText).condition;\n this._text = res.result?.text ?? '';\n this._unit = res.result?.unit ?? this.safeOpt?.unit;\n this.cdr.detectChanges();\n this.setClass();\n });\n }\n\n private setClass(): void {\n const { el, renderer } = this;\n const { renderType, size } = this.safeOpt;\n updateHostClass(el.nativeElement, renderer, {\n [`cell`]: true,\n [`cell__${renderType}`]: renderType != null,\n [`cell__${size}`]: size != null,\n [`cell__has-unit`]: this._unit,\n [`cell__has-default`]: this.showDefault,\n [`cell__disabled`]: this.disabled\n });\n el.nativeElement.dataset.type = this.safeOpt.type;\n }\n\n ngOnChanges(changes: { [p in keyof CellComponent]?: SimpleChange }): void {\n // Do not call updateValue when only updating loading, disabled\n if (Object.keys(changes).every(k => ['loading', 'disabled'].includes(k))) {\n this.setClass();\n } else {\n this.updateValue();\n }\n }\n\n change(value: NzSafeAny): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n\n _link(e: Event): void {\n e.preventDefault();\n e.stopPropagation();\n\n if (this.disabled) return;\n\n const link = this.safeOpt.link;\n const url = link?.url;\n if (url == null) return;\n\n if (/https?:\\/\\//g.test(url)) {\n (this.win as Window).open(url, link?.target);\n } else {\n this.router.navigateByUrl(url);\n }\n }\n\n _showImg(img: string): void {\n const config = this.safeOpt.img;\n if (config == null || config.big == null) return;\n\n let idx = -1;\n const list = (this._text as string[]).map((p, index) => {\n if (idx === -1 && p === img) idx = index;\n return typeof config.big === 'function' ? config.big(p) : p;\n });\n this.imgSrv\n .preview(\n list.map(p => ({ src: p }) as NzImage),\n config.previewOptions\n )\n .switchTo(idx);\n }\n\n ngOnDestroy(): void {\n this.destroy$?.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzImageModule } from 'ng-zorro-antd/experimental/image';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzRadioModule } from 'ng-zorro-antd/radio';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { CellHostDirective } from './cell-host.directive';\nimport { CellComponent } from './cell.component';\n\nconst COMPS = [CellComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n NzCheckboxModule,\n NzRadioModule,\n NzBadgeModule,\n NzTagModule,\n NzToolTipModule,\n NzIconModule,\n NzImageModule\n ],\n declarations: [...COMPS, CellHostDirective],\n exports: COMPS\n})\nexport class CellModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CellService","i4","i12.CellHostDirective"],"mappings":"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"}
@@ -56,10 +56,10 @@ class SizeObserver {
56
56
  this._observedElements.delete(element);
57
57
  }
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SizeObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SizeObserver, providedIn: 'root' }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SizeObserver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SizeObserver, providedIn: 'root' }); }
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: SizeObserver, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: SizeObserver, decorators: [{
63
63
  type: Injectable,
64
64
  args: [{ providedIn: 'root' }]
65
65
  }] });
@@ -89,10 +89,10 @@ class ObserverSize {
89
89
  ngOnDestroy() {
90
90
  this._unsub();
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: ObserverSize, deps: [{ token: SizeObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.8", type: ObserverSize, selector: "[observeSize]", outputs: { event: "observeSize" }, exportAs: ["observeSize"], ngImport: i0 }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ObserverSize, deps: [{ token: SizeObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ObserverSize, selector: "[observeSize]", outputs: { event: "observeSize" }, exportAs: ["observeSize"], ngImport: i0 }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: ObserverSize, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ObserverSize, decorators: [{
96
96
  type: Directive,
97
97
  args: [{
98
98
  selector: '[observeSize]',
@@ -103,11 +103,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
103
103
  args: ['observeSize']
104
104
  }] } });
105
105
  class ObserversModule {
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: ObserversModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
107
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: ObserversModule, declarations: [ObserverSize], exports: [ObserverSize] }); }
108
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: ObserversModule }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ObserversModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
107
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: ObserversModule, declarations: [ObserverSize], exports: [ObserverSize] }); }
108
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ObserversModule }); }
109
109
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: ObserversModule, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ObserversModule, decorators: [{
111
111
  type: NgModule,
112
112
  args: [{
113
113
  exports: [ObserverSize],