@cloudbase/weda-ui 3.26.2 → 3.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs/components/chart/statisticsCard.d.ts +83 -0
- package/dist/configs/components/chart/statisticsCard.js +365 -0
- package/dist/configs/components/slot.json +2 -6
- package/dist/configs/components/wd-drawer.d.ts +1 -1
- package/dist/configs/components/wd-drawer.js +1 -1
- package/dist/configs/components/wd-image.d.ts +5 -0
- package/dist/configs/components/wd-image.js +11 -0
- package/dist/configs/components/wd-modal.d.ts +1 -1
- package/dist/configs/components/wd-modal.js +1 -1
- package/dist/configs/components/wd-tabbar.d.ts +1 -1
- package/dist/configs/components/wd-tabbar.js +1 -1
- package/dist/configs/components/wd-table.js +5 -1
- package/dist/configs/index.d.ts +169 -629
- package/dist/configs/index.js +1 -1
- package/dist/style/weda-ui.min.css +1 -1
- package/dist/web/components/chart/common/core/eChartBar.js +1 -1
- package/dist/web/components/chart/common/core/eChartLine.js +1 -1
- package/dist/web/components/chart/common/data-transform.js +9 -18
- package/dist/web/components/chart/statisticsCard/index.d.ts +3 -3
- package/dist/web/components/chart/statisticsCard/index.js +9 -4
- package/dist/web/components/form/uploader/index.d.ts +1 -0
- package/dist/web/components/wd-upload-image/wd-upload-image.d.ts +1 -0
- package/dist/web/components/wd-upload-image/wd-upload-image.js +2 -2
- package/i18n/source/en.json +2947 -0
- package/i18n/source/zh.json +2947 -0
- package/package.json +9 -5
- package/dist/configs/components/chart/statisticsCard.json +0 -473
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
declare const config: {
|
|
2
|
+
readonly $schema: "https://comp-public-replace-1303824488-cos.weda.tencent.com/schema/lcds_component.json";
|
|
3
|
+
readonly data: import("@sinclair/typebox").TObject<{
|
|
4
|
+
dataSource: import("@sinclair/typebox").TObject<{
|
|
5
|
+
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
subType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
+
methodName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
|
+
}>;
|
|
10
|
+
filterData: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny>;
|
|
11
|
+
field: import("@sinclair/typebox").TObject<{
|
|
12
|
+
format: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"string" | "boolean" | "object" | "function" | "time" | "tel" | "x-long-text" | "phone" | "datetime" | "date" | "array" | "email" | "url" | "x-image" | "x-rtf" | "x-enum" | "x-location" | "x-file" | "x-autonumber" | "x-area-code" | "related" | "father-son" | "many-many">[]>;
|
|
13
|
+
type: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"string" | "number" | "boolean" | "object" | "array">[]>;
|
|
14
|
+
title: import("@sinclair/typebox").TString;
|
|
15
|
+
name: import("@sinclair/typebox").TString;
|
|
16
|
+
}>;
|
|
17
|
+
operationType: import("@sinclair/typebox").TString;
|
|
18
|
+
label: import("@sinclair/typebox").TString;
|
|
19
|
+
isCountEmpty: import("@sinclair/typebox").TBoolean;
|
|
20
|
+
isShowUnit: import("@sinclair/typebox").TBoolean;
|
|
21
|
+
unit: import("@sinclair/typebox").TNumber;
|
|
22
|
+
decimalDigits: import("@sinclair/typebox").TNumber;
|
|
23
|
+
suffix: import("@sinclair/typebox").TString;
|
|
24
|
+
}>;
|
|
25
|
+
readonly properties: import("@sinclair/typebox").TObject<{
|
|
26
|
+
label: import("@sinclair/typebox").TString;
|
|
27
|
+
value: import("@sinclair/typebox").TString;
|
|
28
|
+
unit: import("@sinclair/typebox").TNumber;
|
|
29
|
+
calculatedValue: import("@sinclair/typebox").TString;
|
|
30
|
+
}>;
|
|
31
|
+
readonly events: readonly [{
|
|
32
|
+
readonly title: "点击";
|
|
33
|
+
readonly name: "tap";
|
|
34
|
+
}];
|
|
35
|
+
readonly meta: {
|
|
36
|
+
readonly title: "统计卡片";
|
|
37
|
+
readonly description: "提供报表场景下的指标数据统计并展示功能。";
|
|
38
|
+
readonly figureIcon: "../../figureIcons/StatisticsCard.svg";
|
|
39
|
+
readonly icon: "../../icons/StatisticsCard.svg";
|
|
40
|
+
readonly category: "图表";
|
|
41
|
+
readonly categoryOrder: 600;
|
|
42
|
+
readonly componentOrder: 530;
|
|
43
|
+
readonly inlineStyleForm: {
|
|
44
|
+
readonly fontSize: {
|
|
45
|
+
readonly visible: false;
|
|
46
|
+
};
|
|
47
|
+
readonly color: {
|
|
48
|
+
readonly visible: false;
|
|
49
|
+
};
|
|
50
|
+
readonly fontWeight: {
|
|
51
|
+
readonly visible: false;
|
|
52
|
+
};
|
|
53
|
+
readonly lineHeight: {
|
|
54
|
+
readonly visible: false;
|
|
55
|
+
};
|
|
56
|
+
readonly justifyContent: {
|
|
57
|
+
readonly visible: false;
|
|
58
|
+
};
|
|
59
|
+
readonly flexDirection: {
|
|
60
|
+
readonly visible: false;
|
|
61
|
+
};
|
|
62
|
+
readonly border: {
|
|
63
|
+
readonly visible: false;
|
|
64
|
+
};
|
|
65
|
+
readonly background: {
|
|
66
|
+
readonly visible: false;
|
|
67
|
+
};
|
|
68
|
+
readonly boxShadow: {
|
|
69
|
+
readonly visible: false;
|
|
70
|
+
};
|
|
71
|
+
readonly opacity: {
|
|
72
|
+
readonly visible: false;
|
|
73
|
+
};
|
|
74
|
+
readonly alignItems: {
|
|
75
|
+
readonly visible: false;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
readonly configMeta: {
|
|
80
|
+
readonly docsUrl: "https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/chart/statisticsCard";
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export default config;
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { defineConfig, Type } from '../../type-utils';
|
|
2
|
+
const data = Type.Object({
|
|
3
|
+
dataSource: Type.Object({
|
|
4
|
+
name: Type.Optional(Type.String()),
|
|
5
|
+
type: Type.Optional(Type.String()),
|
|
6
|
+
subType: Type.Optional(Type.String()),
|
|
7
|
+
methodName: Type.Optional(Type.String()),
|
|
8
|
+
}, {
|
|
9
|
+
type: 'object',
|
|
10
|
+
title: '数据源',
|
|
11
|
+
'x-index': 10,
|
|
12
|
+
'x-component': 'chart-datasource-select',
|
|
13
|
+
'x-helper-text': '方法的出入参需满足组件要求,[查看文档](https://cloud.tencent.com/document/product/1301/71197#.E7.BB.9F.E8.AE.A1.E5.8D.A1.E7.89.87)',
|
|
14
|
+
'x-helper-text-color': '#E37318',
|
|
15
|
+
'x-props': {
|
|
16
|
+
'data-hidebind': true,
|
|
17
|
+
},
|
|
18
|
+
'x-component-props': {
|
|
19
|
+
postChange: {
|
|
20
|
+
addOrUpdateComponentDataBinds: {
|
|
21
|
+
dataBind: {
|
|
22
|
+
propertyPath: 'filterData',
|
|
23
|
+
bindDataPath: '[]',
|
|
24
|
+
type: 'expression',
|
|
25
|
+
extra: {},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
docUrl: 'https://cloud.tencent.com/document/product/1301/71197#.E7.BB.9F.E8.AE.A1.E5.8D.A1.E7.89.87',
|
|
30
|
+
paramsSchema: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
outParams: {
|
|
34
|
+
type: 'object',
|
|
35
|
+
properties: {
|
|
36
|
+
properties: {
|
|
37
|
+
type: 'object',
|
|
38
|
+
properties: {
|
|
39
|
+
result: {
|
|
40
|
+
type: 'object',
|
|
41
|
+
properties: {
|
|
42
|
+
type: { const: 'array' },
|
|
43
|
+
items: {
|
|
44
|
+
type: 'object',
|
|
45
|
+
properties: {
|
|
46
|
+
type: { const: 'object' },
|
|
47
|
+
properties: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
Name: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
type: { const: 'string' },
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
Value: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {
|
|
59
|
+
type: { const: 'number' },
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
required: ['Value'],
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
required: ['result'],
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
'x-linkages': [
|
|
78
|
+
{
|
|
79
|
+
type: 'value:visible',
|
|
80
|
+
target: '*(filterData,field,operationType,isCountEmpty)',
|
|
81
|
+
condition: "{{ $self.value && $self.value.type === 'database' }}",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'value:schema',
|
|
85
|
+
target: 'filterData',
|
|
86
|
+
schema: {
|
|
87
|
+
'x-component-props': {
|
|
88
|
+
selectedDataSourceName: '{{ $self.value && $self.value.name }}',
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'value:state',
|
|
94
|
+
target: '*(operationType,field,filterData)',
|
|
95
|
+
condition: '{{ $self.inputed }}',
|
|
96
|
+
state: {
|
|
97
|
+
value: '',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
}),
|
|
102
|
+
filterData: Type.Record(Type.String(), Type.Any(), {
|
|
103
|
+
title: '数据筛选',
|
|
104
|
+
'x-index': 20,
|
|
105
|
+
'x-category': '基础属性',
|
|
106
|
+
'x-component': 'condition-select',
|
|
107
|
+
'x-component-props': {
|
|
108
|
+
dataSourceNamePropKey: 'dataSource',
|
|
109
|
+
blackListConfig: {
|
|
110
|
+
type: ['object', 'array'],
|
|
111
|
+
},
|
|
112
|
+
customRelOptions: {
|
|
113
|
+
string: [
|
|
114
|
+
{ text: '等于', value: 'eq' },
|
|
115
|
+
{ text: '不等于', value: 'neq' },
|
|
116
|
+
{ text: '包含', value: 'search' },
|
|
117
|
+
{ text: '不包含', value: 'nsearch' },
|
|
118
|
+
],
|
|
119
|
+
boolean: [{ text: '等于', value: 'eq' }],
|
|
120
|
+
keyVarType: [
|
|
121
|
+
{ value: 'eq', text: '等于' },
|
|
122
|
+
{ value: 'neq', text: '不等于' },
|
|
123
|
+
{ value: 'gt', text: '大于' },
|
|
124
|
+
{ value: 'lt', text: '小于' },
|
|
125
|
+
],
|
|
126
|
+
number: [
|
|
127
|
+
{ text: '等于', value: 'eq', type: 'equal' },
|
|
128
|
+
{ text: '不等于', value: 'neq', type: 'unequal' },
|
|
129
|
+
{ text: '小于', value: 'lt', type: 'less' },
|
|
130
|
+
{ text: '小于或等于', value: 'lte', type: 'less_or_equal' },
|
|
131
|
+
{ text: '大于', value: 'gt', type: 'greater' },
|
|
132
|
+
{ text: '大于或等于', value: 'gte', type: 'greater_or_equal' },
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
'x-props': {
|
|
137
|
+
'data-hidebind': true,
|
|
138
|
+
'data-hideBindValue': true,
|
|
139
|
+
'data-withBindMeta': true,
|
|
140
|
+
},
|
|
141
|
+
}),
|
|
142
|
+
field: Type.Object({
|
|
143
|
+
format: Type.FormatTypeUnion(),
|
|
144
|
+
type: Type.BasicTypeUnion(),
|
|
145
|
+
title: Type.String({ title: '字段名' }),
|
|
146
|
+
name: Type.String({ title: '字段标识' }),
|
|
147
|
+
}, {
|
|
148
|
+
title: '字段选择',
|
|
149
|
+
'x-index': 30,
|
|
150
|
+
'x-category': '基础属性',
|
|
151
|
+
'x-component': 'data-source-field-select',
|
|
152
|
+
'x-datasource-method-reset': '',
|
|
153
|
+
'x-component-props': {
|
|
154
|
+
dataSourceNamePropKey: 'dataSource',
|
|
155
|
+
isMethod: true,
|
|
156
|
+
},
|
|
157
|
+
'x-linkages': [
|
|
158
|
+
{
|
|
159
|
+
type: 'value:schema',
|
|
160
|
+
target: 'operationType',
|
|
161
|
+
condition: "{{ $self.value && ($self.value.type !=='number' || ['datetime','date','time'].includes($self.value.format)) }}",
|
|
162
|
+
schema: {
|
|
163
|
+
enum: [{ label: '计数', value: 'count' }],
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'value:state',
|
|
168
|
+
target: 'operationType',
|
|
169
|
+
condition: '{{ $self.inputed }}',
|
|
170
|
+
state: { value: '' },
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'value:schema',
|
|
174
|
+
target: 'operationType',
|
|
175
|
+
condition: "{{ !$self.value || ($self.value.type ==='number' && !(['datetime','date','time'].includes($self.value.format)) ) }}",
|
|
176
|
+
schema: {
|
|
177
|
+
enum: [
|
|
178
|
+
{ label: '计数', value: 'count' },
|
|
179
|
+
{ label: '求和', value: 'sum' },
|
|
180
|
+
{ label: '最大值', value: 'max' },
|
|
181
|
+
{ label: '最小值', value: 'min' },
|
|
182
|
+
{ label: '平均值', value: 'avg' },
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
}),
|
|
188
|
+
operationType: Type.String({
|
|
189
|
+
title: '统计方式',
|
|
190
|
+
'x-category': '基础属性',
|
|
191
|
+
'x-index': 40,
|
|
192
|
+
'x-linkages': [
|
|
193
|
+
{
|
|
194
|
+
type: 'value:state',
|
|
195
|
+
target: 'label',
|
|
196
|
+
condition: '{{ $self.inputed && !!$form.values.field && !!$self.value }}',
|
|
197
|
+
state: {
|
|
198
|
+
value: "{{ $form.values.field.title + ['计数','最大值','最小值','平均值'][['count','max','min','avg'].indexOf($self.value)] }}",
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
type: 'value:state',
|
|
203
|
+
target: 'label',
|
|
204
|
+
condition: "{{ $self.inputed && !!$form.values.field && $self.value==='sum' }}",
|
|
205
|
+
state: {
|
|
206
|
+
value: "{{ $form.values.field.title + '总和' }}",
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
],
|
|
210
|
+
}),
|
|
211
|
+
label: Type.String({
|
|
212
|
+
title: '字段展示名称',
|
|
213
|
+
'x-category': '基础属性',
|
|
214
|
+
'x-index': 50,
|
|
215
|
+
'x-props': {
|
|
216
|
+
placeholder: '根据字段选择自动填充',
|
|
217
|
+
},
|
|
218
|
+
default: '今日活跃用户数',
|
|
219
|
+
}),
|
|
220
|
+
isCountEmpty: Type.Boolean({
|
|
221
|
+
title: '是否统计空值',
|
|
222
|
+
'x-category': '基础属性',
|
|
223
|
+
'x-index': 60,
|
|
224
|
+
default: false,
|
|
225
|
+
}),
|
|
226
|
+
isShowUnit: Type.Boolean({
|
|
227
|
+
title: '是否显示单位',
|
|
228
|
+
'x-category': '高级属性',
|
|
229
|
+
'x-index': 70,
|
|
230
|
+
default: true,
|
|
231
|
+
'x-linkages': [
|
|
232
|
+
{
|
|
233
|
+
type: 'value:visible',
|
|
234
|
+
target: '*(unit,decimalDigits,suffix)',
|
|
235
|
+
condition: '{{ $self.value }}',
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
}),
|
|
239
|
+
unit: Type.Number({
|
|
240
|
+
type: 'number',
|
|
241
|
+
title: '数值量级',
|
|
242
|
+
'x-category': '高级属性',
|
|
243
|
+
'x-index': 80,
|
|
244
|
+
default: 1,
|
|
245
|
+
'x-component': 'select',
|
|
246
|
+
enum: [
|
|
247
|
+
{ label: '个', value: 1 },
|
|
248
|
+
{ label: '十', value: 10 },
|
|
249
|
+
{ label: '百', value: 100 },
|
|
250
|
+
{ label: '千', value: 1000 },
|
|
251
|
+
{ label: '万', value: 10000 },
|
|
252
|
+
{ label: '十万', value: 100000 },
|
|
253
|
+
{ label: '百万', value: 1000000 },
|
|
254
|
+
{ label: '千万', value: 10000000 },
|
|
255
|
+
{ label: '亿', value: 100000000 },
|
|
256
|
+
],
|
|
257
|
+
'x-component-props': {
|
|
258
|
+
options: [
|
|
259
|
+
{ label: '个', value: 1 },
|
|
260
|
+
{ label: '十', value: 10 },
|
|
261
|
+
{ label: '百', value: 100 },
|
|
262
|
+
{ label: '千', value: 1000 },
|
|
263
|
+
{ label: '万', value: 10000 },
|
|
264
|
+
{ label: '十万', value: 100000 },
|
|
265
|
+
{ label: '百万', value: 1000000 },
|
|
266
|
+
{ label: '千万', value: 10000000 },
|
|
267
|
+
{ label: '亿', value: 100000000 },
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
'x-linkages': [
|
|
271
|
+
{
|
|
272
|
+
type: 'value:state',
|
|
273
|
+
target: 'suffix',
|
|
274
|
+
condition: '{{ $self.inputed && $self.value!==1 }}',
|
|
275
|
+
state: {
|
|
276
|
+
value: "{{$self.props.enum.find(s=>s.value===$self.value) ? $self.props.enum.find(s=>s.value===$self.value).label: '' }}",
|
|
277
|
+
},
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
type: 'value:state',
|
|
281
|
+
target: 'suffix',
|
|
282
|
+
condition: '{{ $self.inputed && $self.value===1 }}',
|
|
283
|
+
state: {
|
|
284
|
+
value: '',
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
],
|
|
288
|
+
}),
|
|
289
|
+
decimalDigits: Type.Number({
|
|
290
|
+
title: '小数位数',
|
|
291
|
+
'x-category': '高级属性',
|
|
292
|
+
'x-index': 90,
|
|
293
|
+
default: 0,
|
|
294
|
+
'x-props': {
|
|
295
|
+
max: 10,
|
|
296
|
+
min: 0,
|
|
297
|
+
},
|
|
298
|
+
'x-linkages': [
|
|
299
|
+
{
|
|
300
|
+
type: 'value:state',
|
|
301
|
+
target: 'decimalDigits',
|
|
302
|
+
condition: "{{ $self.value == '' || isNaN($self.value) || $self.value < 0 }}",
|
|
303
|
+
state: {
|
|
304
|
+
value: 0,
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
type: 'value:state',
|
|
309
|
+
target: 'decimalDigits',
|
|
310
|
+
condition: '{{ $self.value > 10 }}',
|
|
311
|
+
state: {
|
|
312
|
+
value: 10,
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
],
|
|
316
|
+
}),
|
|
317
|
+
suffix: Type.String({
|
|
318
|
+
title: '后缀',
|
|
319
|
+
'x-category': '高级属性',
|
|
320
|
+
'x-index': 100,
|
|
321
|
+
}),
|
|
322
|
+
});
|
|
323
|
+
const properties = Type.Composite([
|
|
324
|
+
Type.Pick(data, ['unit', 'label']),
|
|
325
|
+
Type.Object({ value: Type.String({ title: '统计值' }) }),
|
|
326
|
+
Type.Object({ calculatedValue: Type.String({ title: '单位换算统计值' }) }),
|
|
327
|
+
]);
|
|
328
|
+
const config = defineConfig({
|
|
329
|
+
$schema: 'https://comp-public-replace-1303824488-cos.weda.tencent.com/schema/lcds_component.json',
|
|
330
|
+
data,
|
|
331
|
+
// 只读属性定义
|
|
332
|
+
properties,
|
|
333
|
+
events: [
|
|
334
|
+
{
|
|
335
|
+
title: '点击',
|
|
336
|
+
name: 'tap',
|
|
337
|
+
},
|
|
338
|
+
],
|
|
339
|
+
meta: {
|
|
340
|
+
title: '统计卡片',
|
|
341
|
+
description: '提供报表场景下的指标数据统计并展示功能。',
|
|
342
|
+
figureIcon: '../../figureIcons/StatisticsCard.svg',
|
|
343
|
+
icon: '../../icons/StatisticsCard.svg',
|
|
344
|
+
category: '图表',
|
|
345
|
+
categoryOrder: 600,
|
|
346
|
+
componentOrder: 530,
|
|
347
|
+
inlineStyleForm: {
|
|
348
|
+
fontSize: { visible: false },
|
|
349
|
+
color: { visible: false },
|
|
350
|
+
fontWeight: { visible: false },
|
|
351
|
+
lineHeight: { visible: false },
|
|
352
|
+
justifyContent: { visible: false },
|
|
353
|
+
flexDirection: { visible: false },
|
|
354
|
+
border: { visible: false },
|
|
355
|
+
background: { visible: false },
|
|
356
|
+
boxShadow: { visible: false },
|
|
357
|
+
opacity: { visible: false },
|
|
358
|
+
alignItems: { visible: false },
|
|
359
|
+
},
|
|
360
|
+
},
|
|
361
|
+
configMeta: {
|
|
362
|
+
docsUrl: 'https://docs.cloudbase.net/lowcode/components/wedaUI/src/docs/compsdocs/chart/statisticsCard',
|
|
363
|
+
},
|
|
364
|
+
});
|
|
365
|
+
export default config;
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"description": "可以为 H5 端的编写样式"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
"name": "
|
|
31
|
+
"name": "小程序端根元素",
|
|
32
32
|
"selector": ".wd-mp-slot",
|
|
33
33
|
"description": "可以为 小程序 端的编写样式"
|
|
34
34
|
}
|
|
@@ -38,11 +38,7 @@
|
|
|
38
38
|
"description": "页面插槽视图容器",
|
|
39
39
|
"category": "布局容器",
|
|
40
40
|
"visible": [],
|
|
41
|
-
"keyWords": [
|
|
42
|
-
"页面插槽",
|
|
43
|
-
"插槽",
|
|
44
|
-
"slot"
|
|
45
|
-
],
|
|
41
|
+
"keyWords": ["页面插槽", "插槽", "slot"],
|
|
46
42
|
"figureIcon": "../figureIcons/Slot.svg",
|
|
47
43
|
"icon": "../icons/Container.svg"
|
|
48
44
|
}
|
|
@@ -54,7 +54,7 @@ declare const config: {
|
|
|
54
54
|
readonly description: "可以为 H5 端的编写样式";
|
|
55
55
|
readonly code: "\n :scope.wd-h5-drawer {\n /* 在这里编写CSS 样式 */\n }\n ";
|
|
56
56
|
}, {
|
|
57
|
-
readonly name: "
|
|
57
|
+
readonly name: "小程序端根元素";
|
|
58
58
|
readonly selector: ".wd-mp-drawer";
|
|
59
59
|
readonly description: "可以为 小程序 端的编写样式";
|
|
60
60
|
readonly code: "\n :scope.wd-mp-drawer {\n /* 可以为 小程序 端的编写样式 */\n }\n ";
|
|
@@ -64,6 +64,11 @@ declare const config: {
|
|
|
64
64
|
readonly name: "关闭按钮";
|
|
65
65
|
readonly selector: ".wd-image-mask__icon-close";
|
|
66
66
|
readonly description: "点击预览图片时的右上角的关闭按钮";
|
|
67
|
+
}, {
|
|
68
|
+
readonly name: "图片加载错误样式";
|
|
69
|
+
readonly selector: ".wd-image.wd-image__error::before";
|
|
70
|
+
readonly description: "图片加载错误时,可以通过以下样式修改默认图片占位";
|
|
71
|
+
readonly code: "\n .wd-image.wd-image__error::before{\n background:url(\"https://xx.png\");\n background-size: cover;\n }\n ";
|
|
67
72
|
}];
|
|
68
73
|
readonly defaultStyles: {
|
|
69
74
|
readonly width: 320;
|
|
@@ -150,6 +150,17 @@ const config = defineConfig({
|
|
|
150
150
|
selector: '.wd-image-mask__icon-close',
|
|
151
151
|
description: '点击预览图片时的右上角的关闭按钮',
|
|
152
152
|
},
|
|
153
|
+
{
|
|
154
|
+
name: '图片加载错误样式',
|
|
155
|
+
selector: '.wd-image.wd-image__error::before',
|
|
156
|
+
description: '图片加载错误时,可以通过以下样式修改默认图片占位',
|
|
157
|
+
code: `
|
|
158
|
+
.wd-image.wd-image__error::before{
|
|
159
|
+
background:url("https://xx.png");
|
|
160
|
+
background-size: cover;
|
|
161
|
+
}
|
|
162
|
+
`,
|
|
163
|
+
},
|
|
153
164
|
],
|
|
154
165
|
defaultStyles: {
|
|
155
166
|
// https://developers.weixin.qq.com/miniprogram/dev/component/image.html#Bug-Tip
|
|
@@ -50,7 +50,7 @@ declare const config: {
|
|
|
50
50
|
readonly description: "可以为 H5 端的编写样式";
|
|
51
51
|
readonly code: "\n :scope.wd-h5-modal {\n /* 在这里编写CSS 样式 */\n }\n ";
|
|
52
52
|
}, {
|
|
53
|
-
readonly name: "
|
|
53
|
+
readonly name: "小程序端根元素";
|
|
54
54
|
readonly selector: ".wd-mp-modal";
|
|
55
55
|
readonly description: "可以为 小程序 端的编写样式";
|
|
56
56
|
readonly code: "\n :scope.wd-mp-modal {\n /* 可以为 小程序 端的编写样式 */\n }\n ";
|
|
@@ -142,7 +142,7 @@ declare const config: {
|
|
|
142
142
|
readonly selector: ".wd-h5-tabbar";
|
|
143
143
|
readonly description: "可以为 H5 端的编写样式";
|
|
144
144
|
}, {
|
|
145
|
-
readonly name: "
|
|
145
|
+
readonly name: "小程序端根元素";
|
|
146
146
|
readonly selector: ".wd-mp-tabbar";
|
|
147
147
|
readonly description: "可以为 小程序 端的编写样式";
|
|
148
148
|
}, {
|
|
@@ -3,6 +3,10 @@ import { defineConfig, Tuple, Type } from '../type-utils';
|
|
|
3
3
|
import { WD_TABLE_PAGE_SIZE, WD_TABLE_SELECT_COLUMN, WD_TABLE_CUSTOM_FORMAT, WD_TABLE_CUSTOM_FORMAT_SINGLE, } from '../../enum';
|
|
4
4
|
import { genericErrorType } from '../type-utils/error';
|
|
5
5
|
import { previewOperationHeaderIcon } from '../utils/constants';
|
|
6
|
+
// 自定义插槽图片
|
|
7
|
+
const customSlotImage = `data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi4yMDEzIDQuNDYxMjRMMTAuNzg3MSAzLjA0NzAzTDMuOTMwMDggOS45MDRMMy41NzY1MyAxMS42NzE4TDUuMzQ0MyAxMS4zMTgyTDEyLjIwMTMgNC40NjEyNFpNNS44MzczMSAxMi4yMzk0TDIuMzAxNzggMTIuOTQ2NUwzLjAwODg4IDkuNDEwOTlMMTAuNzg3MSAxLjYzMjgxTDEzLjYxNTUgNC40NjEyNEw1LjgzNzMxIDEyLjIzOTRaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjkiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjA3NDc1IDMuOTMwOTFMNC45NTM0MyAxLjgwOTU5QzQuODU1OCAxLjcxMTk2IDQuNjk3NSAxLjcxMTk2IDQuNTk5ODcgMS44MDk1OUwxLjk0ODIyIDQuNDYxMjRDMS44NTA1OSA0LjU1ODg3IDEuODUwNTkgNC43MTcxNiAxLjk0ODIyIDQuODE0NzlMNC4wNjk1NCA2LjkzNjExTDQuNzc2NjUgNi4yMjkwMUwzLjE4NTY2IDQuNjM4MDJMNC43NzY2NSAzLjA0NzAzTDYuMzY3NjQgNC42MzgwMkw3LjA3NDc1IDMuOTMwOTFaTTkuMDE5MjkgMTAuNDcxNkwxMC42MTAzIDEyLjA2MjZMMTIuMjAxMyAxMC40NzE2TDEwLjYxMDMgOC44ODA2NkwxMS4zMTc0IDguMTczNTVMMTMuNDM4NyAxMC4yOTQ5QzEzLjUzNjMgMTAuMzkyNSAxMy41MzYzIDEwLjU1MDggMTMuNDM4NyAxMC42NDg0TDEwLjc4NzEgMTMuMzAwMUMxMC42ODk0IDEzLjM5NzcgMTAuNTMxMSAxMy4zOTc3IDEwLjQzMzUgMTMuMzAwMUw4LjMxMjE4IDExLjE3ODhMOS4wMTkyOSAxMC40NzE2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC45Ii8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTEuMTQwNiA2LjU4MjU2TDkuMDE5MjkgNC40NjEyNEw5LjcyNjQgMy43NTQxM0wxMS44NDc3IDUuODc1NDVMMTEuMTQwNiA2LjU4MjU2WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC45Ii8+Cjwvc3ZnPg==`;
|
|
8
|
+
// 默认字段图片
|
|
9
|
+
const defaultFieldImage = `data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMyAzSDNMMyAxM0gxM1YzWk0zIDJDMi40NDc3MiAyIDIgMi40NDc3MiAyIDNWMTNDMiAxMy41NTIzIDIuNDQ3NzIgMTQgMyAxNEgxM0MxMy41NTIzIDE0IDE0IDEzLjU1MjMgMTQgMTNWM0MxNCAyLjQ0NzcyIDEzLjU1MjMgMiAxMyAySDNaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjkiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjE5OTQ1IDVMNS4wMTU2MiAxMUg2LjA3OThMNi42MjU3NiA5LjVIOS4zNjI1N0w5LjkwODUzIDExSDEwLjk3MjdMOC43ODg4OCA1SDcuMTk5NDVaTTguOTk4NiA4LjVMNy45OTQxNiA1Ljc0MDMzTDYuOTg5NzMgOC41SDguOTk4NloiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuOSIvPgo8L3N2Zz4=`;
|
|
6
10
|
// 非关联关系字段,支持导出
|
|
7
11
|
// 旧关联关系导出字段本身是主列字段
|
|
8
12
|
// 新关联关系不能导出字段本身的,通过下钻@a.b的方式导出模型字段
|
|
@@ -664,7 +668,7 @@ const data = Type.Object({
|
|
|
664
668
|
})),
|
|
665
669
|
}, {
|
|
666
670
|
display: 'header',
|
|
667
|
-
'x-image':
|
|
671
|
+
'x-image': ` this.genre === 'slot' ? '${customSlotImage}' :'${defaultFieldImage}' `,
|
|
668
672
|
default: {
|
|
669
673
|
key: '',
|
|
670
674
|
slotKey: 'isNew',
|