@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.
- package/cell/cell-host.directive.d.ts +13 -0
- package/cell/cell.component.d.ts +45 -0
- package/cell/cell.module.d.ts +17 -0
- package/cell/cell.service.d.ts +23 -0
- package/cell/cell.types.d.ts +238 -0
- package/cell/index.d.ts +5 -0
- package/cell/style/index.less +63 -0
- package/esm2022/auto-focus/auto-focus.directive.mjs +3 -3
- package/esm2022/auto-focus/auto-focus.module.mjs +4 -4
- package/esm2022/avatar-list/avatar-list-item.component.mjs +3 -3
- package/esm2022/avatar-list/avatar-list.component.mjs +3 -3
- package/esm2022/avatar-list/avatar-list.module.mjs +4 -4
- package/esm2022/cell/cell-host.directive.mjs +34 -0
- package/esm2022/cell/cell.component.mjs +270 -0
- package/esm2022/cell/cell.mjs +5 -0
- package/esm2022/cell/cell.module.mjs +54 -0
- package/esm2022/cell/cell.service.mjs +168 -0
- package/esm2022/cell/cell.types.mjs +2 -0
- package/esm2022/cell/index.mjs +6 -0
- package/esm2022/count-down/count-down.component.mjs +3 -3
- package/esm2022/count-down/count-down.module.mjs +4 -4
- package/esm2022/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/date-picker/range-shortcut.component.mjs +3 -3
- package/esm2022/date-picker/range.directive.mjs +3 -3
- package/esm2022/down-file/down-file.directive.mjs +3 -3
- package/esm2022/down-file/down-file.module.mjs +4 -4
- package/esm2022/ellipsis/ellipsis.component.mjs +3 -3
- package/esm2022/ellipsis/ellipsis.module.mjs +4 -4
- package/esm2022/error-collect/error-collect.component.mjs +3 -3
- package/esm2022/error-collect/error-collect.module.mjs +4 -4
- package/esm2022/exception/exception.component.mjs +3 -3
- package/esm2022/exception/exception.module.mjs +4 -4
- package/esm2022/footer-toolbar/footer-toolbar.component.mjs +3 -3
- package/esm2022/footer-toolbar/footer-toolbar.module.mjs +4 -4
- package/esm2022/full-content/full-content-toggle.directive.mjs +3 -3
- package/esm2022/full-content/full-content.component.mjs +3 -3
- package/esm2022/full-content/full-content.module.mjs +4 -4
- package/esm2022/full-content/full-content.service.mjs +3 -3
- package/esm2022/global-footer/global-footer-item.component.mjs +3 -3
- package/esm2022/global-footer/global-footer.component.mjs +3 -3
- package/esm2022/global-footer/global-footer.module.mjs +4 -4
- package/esm2022/hotkey/hotkey.directive.mjs +3 -3
- package/esm2022/hotkey/hotkey.module.mjs +4 -4
- package/esm2022/let/let.directive.mjs +3 -3
- package/esm2022/let/let.module.mjs +4 -4
- package/esm2022/loading/loading.component.mjs +3 -3
- package/esm2022/loading/loading.module.mjs +4 -4
- package/esm2022/loading/loading.service.mjs +3 -3
- package/esm2022/lodop/lodop.module.mjs +4 -4
- package/esm2022/lodop/lodop.service.mjs +3 -3
- package/esm2022/media/media.component.mjs +3 -3
- package/esm2022/media/media.module.mjs +4 -4
- package/esm2022/media/media.service.mjs +3 -3
- package/esm2022/notice-icon/notice-icon-tab.component.mjs +3 -3
- package/esm2022/notice-icon/notice-icon.component.mjs +3 -3
- package/esm2022/notice-icon/notice-icon.module.mjs +4 -4
- package/esm2022/observers/observer-size.mjs +10 -10
- package/esm2022/onboarding/onboarding.component.mjs +3 -3
- package/esm2022/onboarding/onboarding.module.mjs +4 -4
- package/esm2022/onboarding/onboarding.service.mjs +3 -3
- package/esm2022/page-header/page-header.component.mjs +10 -7
- package/esm2022/page-header/page-header.module.mjs +27 -6
- package/esm2022/pdf/pdf.component.mjs +5 -5
- package/esm2022/pdf/pdf.module.mjs +4 -4
- package/esm2022/pdf/pdf.types.mjs +2 -1
- package/esm2022/qr/qr.component.mjs +3 -3
- package/esm2022/qr/qr.module.mjs +4 -4
- package/esm2022/quick-menu/quick-menu.component.mjs +3 -3
- package/esm2022/quick-menu/quick-menu.module.mjs +4 -4
- package/esm2022/result/result.component.mjs +3 -3
- package/esm2022/result/result.module.mjs +4 -4
- package/esm2022/reuse-tab/reuse-tab-context-menu.component.mjs +3 -3
- package/esm2022/reuse-tab/reuse-tab-context.component.mjs +3 -3
- package/esm2022/reuse-tab/reuse-tab-context.directive.mjs +3 -3
- package/esm2022/reuse-tab/reuse-tab-context.service.mjs +3 -3
- package/esm2022/reuse-tab/reuse-tab.component.mjs +3 -3
- package/esm2022/reuse-tab/reuse-tab.module.mjs +4 -4
- package/esm2022/reuse-tab/reuse-tab.service.mjs +3 -3
- package/esm2022/se/se-container.component.mjs +6 -6
- package/esm2022/se/se.component.mjs +3 -3
- package/esm2022/se/se.module.mjs +4 -4
- package/esm2022/sg/sg-container.component.mjs +3 -3
- package/esm2022/sg/sg.component.mjs +3 -3
- package/esm2022/sg/sg.module.mjs +4 -4
- package/esm2022/st/st-column-source.mjs +8 -4
- package/esm2022/st/st-data-source.mjs +14 -7
- package/esm2022/st/st-export.mjs +3 -3
- package/esm2022/st/st-filter.component.mjs +3 -3
- package/esm2022/st/st-row.directive.mjs +6 -6
- package/esm2022/st/st-widget-host.directive.mjs +3 -3
- package/esm2022/st/st-widget.mjs +3 -3
- package/esm2022/st/st.component.mjs +76 -91
- package/esm2022/st/st.interfaces.mjs +1 -1
- package/esm2022/st/st.module.mjs +9 -5
- package/esm2022/st/st.types.mjs +1 -1
- package/esm2022/sv/sv-container.component.mjs +19 -9
- package/esm2022/sv/sv-value.component.mjs +3 -3
- package/esm2022/sv/sv.component.mjs +11 -8
- package/esm2022/sv/sv.module.mjs +4 -4
- package/esm2022/tag-select/tag-select.component.mjs +3 -3
- package/esm2022/tag-select/tag-select.module.mjs +4 -4
- package/esm2022/xlsx/xlsx.directive.mjs +3 -3
- package/esm2022/xlsx/xlsx.module.mjs +4 -4
- package/esm2022/xlsx/xlsx.service.mjs +3 -3
- package/esm2022/zip/zip.module.mjs +4 -4
- package/esm2022/zip/zip.service.mjs +3 -3
- package/fesm2022/auto-focus.mjs +7 -7
- package/fesm2022/avatar-list.mjs +10 -10
- package/fesm2022/cell.mjs +521 -0
- package/fesm2022/cell.mjs.map +1 -0
- package/fesm2022/chart-observer-size.mjs +10 -10
- package/fesm2022/count-down.mjs +7 -7
- package/fesm2022/date-picker.mjs +10 -10
- package/fesm2022/down-file.mjs +7 -7
- package/fesm2022/ellipsis.mjs +7 -7
- package/fesm2022/error-collect.mjs +7 -7
- package/fesm2022/exception.mjs +7 -7
- package/fesm2022/footer-toolbar.mjs +7 -7
- package/fesm2022/full-content.mjs +13 -13
- package/fesm2022/global-footer.mjs +10 -10
- package/fesm2022/hotkey.mjs +7 -7
- package/fesm2022/let.mjs +7 -7
- package/fesm2022/loading.mjs +10 -10
- package/fesm2022/lodop.mjs +7 -7
- package/fesm2022/media.mjs +10 -10
- package/fesm2022/notice-icon.mjs +10 -10
- package/fesm2022/onboarding.mjs +10 -10
- package/fesm2022/page-header.mjs +35 -11
- package/fesm2022/page-header.mjs.map +1 -1
- package/fesm2022/pdf.mjs +9 -8
- package/fesm2022/pdf.mjs.map +1 -1
- package/fesm2022/qr.mjs +7 -7
- package/fesm2022/quick-menu.mjs +7 -7
- package/fesm2022/result.mjs +7 -7
- package/fesm2022/reuse-tab.mjs +22 -22
- package/fesm2022/se.mjs +13 -13
- package/fesm2022/sg.mjs +10 -10
- package/fesm2022/st.mjs +119 -119
- package/fesm2022/st.mjs.map +1 -1
- package/fesm2022/sv.mjs +35 -22
- package/fesm2022/sv.mjs.map +1 -1
- package/fesm2022/tag-select.mjs +7 -7
- package/fesm2022/xlsx.mjs +10 -10
- package/fesm2022/zip.mjs +7 -7
- package/index.less +1 -0
- package/package.json +10 -5
- package/page-header/page-header.component.d.ts +2 -1
- package/page-header/page-header.module.d.ts +2 -1
- package/page-header/style/index.less +1 -0
- package/pdf/pdf.component.d.ts +6 -5
- package/pdf/pdf.types.d.ts +2 -1
- package/st/st-data-source.d.ts +1 -1
- package/st/st.component.d.ts +7 -8
- package/st/st.interfaces.d.ts +21 -1
- package/st/st.module.d.ts +17 -16
- package/st/st.types.d.ts +3 -0
- package/sv/style/index.less +36 -0
- package/sv/sv-container.component.d.ts +7 -2
- package/sv/sv.component.d.ts +3 -3
- 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.
|
|
60
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.
|
|
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.
|
|
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.
|
|
93
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.
|
|
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.
|
|
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.
|
|
107
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.
|
|
108
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.
|
|
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.
|
|
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],
|