@dckj-npm/dc-material 0.1.375 → 0.1.377

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 (42) hide show
  1. package/build/docs/colorful-button.html +3 -3
  2. package/build/docs/colorful-input.html +3 -3
  3. package/build/docs/index.html +3 -3
  4. package/build/docs/teletext-list.html +3 -3
  5. package/build/docs/umi.6f6bf535.js +1 -0
  6. package/build/docs/{umi.6743fcd4.css → umi.9770df27.css} +1 -1
  7. package/build/docs/~demos/colorful-button-demo.html +3 -3
  8. package/build/docs/~demos/colorful-input-demo.html +3 -3
  9. package/build/docs/~demos/teletext-list-demo-1.html +3 -3
  10. package/build/docs/~demos/teletext-list-demo.html +3 -3
  11. package/build/lowcode/assets-daily.json +13 -13
  12. package/build/lowcode/assets-dev.json +2 -2
  13. package/build/lowcode/assets-prod.json +13 -13
  14. package/build/lowcode/meta.design.js +1 -1
  15. package/build/lowcode/meta.js +1 -1
  16. package/build/lowcode/render/default/view.css +1 -1
  17. package/build/lowcode/render/default/view.js +1 -1
  18. package/build/lowcode/view.css +1 -1
  19. package/build/lowcode/view.js +1 -1
  20. package/dist/BizComps.css +1 -1
  21. package/dist/BizComps.js +2 -2
  22. package/dist/BizComps.js.map +1 -1
  23. package/es/components/teletext-list/teletext-list-item.d.ts +14 -77
  24. package/es/components/teletext-list/teletext-list-item.js +153 -157
  25. package/es/components/teletext-list/teletext-list-item.scss +53 -4
  26. package/es/components/teletext-list/teletext-list.d.ts +60 -4
  27. package/es/components/teletext-list/teletext-list.js +55 -37
  28. package/lib/components/teletext-list/teletext-list-item.d.ts +14 -77
  29. package/lib/components/teletext-list/teletext-list-item.js +153 -156
  30. package/lib/components/teletext-list/teletext-list-item.scss +53 -4
  31. package/lib/components/teletext-list/teletext-list.d.ts +60 -4
  32. package/lib/components/teletext-list/teletext-list.js +55 -37
  33. package/lowcode/teletext-list/meta.ts +460 -760
  34. package/lowcode/teletext-list/meta.ts.bak +821 -0
  35. package/lowcode_es/meta.js +1 -1
  36. package/lowcode_es/teletext-list/meta.js +686 -646
  37. package/lowcode_es/teletext-list/meta.ts.bak +821 -0
  38. package/lowcode_lib/meta.js +1 -1
  39. package/lowcode_lib/teletext-list/meta.js +688 -648
  40. package/lowcode_lib/teletext-list/meta.ts.bak +821 -0
  41. package/package.json +3 -3
  42. package/build/docs/umi.04debc3c.js +0 -1
@@ -3,12 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
- var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
- var IMAGE_KEY = 'image';
8
- var normalizeNodeKey = function normalizeNodeKey(rawKey) {
9
- if (rawKey === undefined || rawKey === null) return '';
10
- return String(rawKey).replace(/^\.?\$?/, '');
11
- };
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
7
  var parsePxNumber = function parsePxNumber(value) {
13
8
  if (typeof value === 'number' && Number.isFinite(value)) {
14
9
  return value;
@@ -25,49 +20,6 @@ var parsePxNumber = function parsePxNumber(value) {
25
20
  }
26
21
  return undefined;
27
22
  };
28
- var findImageChildNode = function findImageChildNode(target) {
29
- var _target$node;
30
- var children = target === null || target === void 0 ? void 0 : (_target$node = target.node) === null || _target$node === void 0 ? void 0 : _target$node.children;
31
- if (!children) return undefined;
32
- if (typeof children.find === 'function') {
33
- return children.find(function (child) {
34
- var _child$getPropValue;
35
- return normalizeNodeKey(child === null || child === void 0 ? void 0 : (_child$getPropValue = child.getPropValue) === null || _child$getPropValue === void 0 ? void 0 : _child$getPropValue.call(child, 'key')) === IMAGE_KEY;
36
- });
37
- }
38
- return undefined;
39
- };
40
- var getImageStyleNumber = function getImageStyleNumber(target, styleKey) {
41
- var imageChildNode = findImageChildNode(target);
42
- if (imageChildNode) {
43
- var _imageChildNode$getPr, _imageChildNode$getPr2;
44
- return parsePxNumber((_imageChildNode$getPr = imageChildNode.getPropValue) === null || _imageChildNode$getPr === void 0 ? void 0 : (_imageChildNode$getPr2 = _imageChildNode$getPr.call(imageChildNode, 'style')) === null || _imageChildNode$getPr2 === void 0 ? void 0 : _imageChildNode$getPr2[styleKey]);
45
- }
46
- return undefined;
47
- };
48
-
49
- /**
50
- * 同步 Image 子节点的 style.width / style.height。
51
- * 使用 Promise.resolve().then() 异步执行,避免在父节点 setPropValue
52
- * 的 MobX 同步响应链中触发子节点变更(可能导致 SettingField 重建)。
53
- */
54
- var syncImageStyleValue = function syncImageStyleValue(target, styleKey, value) {
55
- Promise.resolve().then(function () {
56
- var _imageChildNode$getPr3, _extends2, _imageChildNode$setPr;
57
- var imageChildNode = findImageChildNode(target);
58
- if (!imageChildNode) return;
59
- var currentStyle = ((_imageChildNode$getPr3 = imageChildNode.getPropValue) === null || _imageChildNode$getPr3 === void 0 ? void 0 : _imageChildNode$getPr3.call(imageChildNode, 'style')) || {};
60
- var updatedStyle = (0, _extends3["default"])({}, currentStyle, (_extends2 = {}, _extends2[styleKey] = value + "px", _extends2));
61
- var otherKey = styleKey === 'width' ? 'height' : 'width';
62
- if (!updatedStyle[otherKey]) {
63
- var _target$getProps, _target$getProps$call, _target$getProps$call2;
64
- var otherPropKey = otherKey === 'width' ? 'imgWidth' : 'imgHeight';
65
- var otherPropValue = parsePxNumber(target === null || target === void 0 ? void 0 : (_target$getProps = target.getProps) === null || _target$getProps === void 0 ? void 0 : (_target$getProps$call = _target$getProps.call(target)) === null || _target$getProps$call === void 0 ? void 0 : (_target$getProps$call2 = _target$getProps$call.getPropValue) === null || _target$getProps$call2 === void 0 ? void 0 : _target$getProps$call2.call(_target$getProps$call, otherPropKey));
66
- updatedStyle[otherKey] = (otherPropValue !== null && otherPropValue !== void 0 ? otherPropValue : 100) + "px";
67
- }
68
- (_imageChildNode$setPr = imageChildNode.setPropValue) === null || _imageChildNode$setPr === void 0 ? void 0 : _imageChildNode$setPr.call(imageChildNode, 'style', updatedStyle);
69
- });
70
- };
71
23
  var TeletextListMeta = {
72
24
  group: '低代码组件',
73
25
  componentName: 'TeletextList',
@@ -85,400 +37,717 @@ var TeletextListMeta = {
85
37
  subName: ''
86
38
  },
87
39
  configure: {
88
- props: [{
89
- title: {
90
- label: {
91
- type: 'i18n',
92
- 'en-US': 'type',
93
- 'zh-CN': '类型'
40
+ props: [
41
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
42
+ // 分组一:数据与内容
43
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
44
+ {
45
+ type: 'group',
46
+ title: '数据与内容',
47
+ display: 'accordion',
48
+ items: [{
49
+ title: '标题',
50
+ name: 'title',
51
+ description: '列表头部标题文本',
52
+ setter: {
53
+ componentName: 'StringSetter',
54
+ isRequired: false,
55
+ initialValue: ''
94
56
  }
95
- },
96
- name: 'type',
97
- description: '类型',
98
- setter: {
99
- componentName: 'RadioGroupSetter',
100
- props: {
101
- dataSource: [{
102
- label: '图文',
103
- value: 'textAndImg'
104
- }, {
105
- label: '仅有图片',
106
- value: 'imgOnly'
107
- }, {
108
- label: '仅有文字',
109
- value: 'textOnly'
110
- }],
111
- options: [{
112
- label: '图文',
113
- value: 'textAndImg'
114
- }, {
115
- label: '仅有图片',
116
- value: 'imgOnly'
117
- }, {
118
- label: '仅有文字',
119
- value: 'textOnly'
120
- }]
57
+ }, {
58
+ title: '更多文字',
59
+ name: 'moreText',
60
+ description: '更多按钮文字,为空时不显示',
61
+ setter: {
62
+ componentName: 'StringSetter',
63
+ isRequired: false,
64
+ initialValue: ''
65
+ }
66
+ }, {
67
+ title: '文本槽位数',
68
+ name: 'textLines',
69
+ description: '每项渲染几个文本字段:2=标题+说明,3=加text3,4=加text3+text4。这是"显示几格",不是"每格显示几行"——行数截断请到"标题/说明文字样式"分组修改"最大行数"。',
70
+ setter: {
71
+ componentName: 'NumberSetter',
72
+ isRequired: false,
73
+ initialValue: 2,
74
+ defaultValue: 2,
75
+ props: {
76
+ min: 2,
77
+ max: 4
78
+ }
121
79
  },
122
- initialValue: 'textAndImg'
123
- }
124
- }, {
125
- title: {
126
- label: {
127
- type: 'i18n',
128
- 'en-US': 'imagePlacement',
129
- 'zh-CN': '图片位置'
80
+ extraProps: {
81
+ setValue: function setValue(target, value) {
82
+ var _target$parent, _target$parent$items;
83
+ target.getProps().setPropValue('textLines', value);
84
+ var dataListBindProp = target === null || target === void 0 ? void 0 : (_target$parent = target.parent) === null || _target$parent === void 0 ? void 0 : (_target$parent$items = _target$parent.items) === null || _target$parent$items === void 0 ? void 0 : _target$parent$items.find(function (item) {
85
+ return item.name === 'dataListBind';
86
+ });
87
+ if (dataListBindProp !== null && dataListBindProp !== void 0 && dataListBindProp.setter) {
88
+ var baseChildren = [{
89
+ label: '图片链接',
90
+ value: 'image'
91
+ }, {
92
+ label: '类型',
93
+ value: 'itemType'
94
+ }, {
95
+ label: '标题',
96
+ value: 'title'
97
+ }, {
98
+ label: '说明',
99
+ value: 'description'
100
+ }];
101
+ var textChildren = value > 2 ? Array.from({
102
+ length: value - 2
103
+ }).map(function (_, i) {
104
+ return {
105
+ label: "\u6587\u672C" + (i + 3),
106
+ value: "text" + (i + 3)
107
+ };
108
+ }) : [];
109
+ dataListBindProp.setter.props.attributes[0].children = [].concat(baseChildren, textChildren);
110
+ }
111
+ }
130
112
  }
131
- },
132
- name: 'imagePlacement',
133
- description: '图片位置',
134
- setter: {
135
- componentName: 'RadioGroupSetter',
136
- props: {
137
- dataSource: [{
138
- label: '',
139
- value: 'left'
140
- }, {
141
- label: '',
142
- value: 'right'
143
- }, {
144
- label: '',
145
- value: 'top'
146
- }, {
147
- label: '',
148
- value: 'bottom'
149
- }, {
150
- label: '',
151
- value: 'none'
152
- }],
153
- options: [{
154
- label: '左',
155
- value: 'left'
156
- }, {
157
- label: '右',
158
- value: 'right'
159
- }, {
160
- label: '上',
161
- value: 'top'
162
- }, {
163
- label: '下',
164
- value: 'bottom'
165
- }, {
166
- label: '无',
167
- value: 'none'
168
- }]
113
+ }, {
114
+ title: '数据源绑定',
115
+ name: 'dataListBind',
116
+ setter: {
117
+ componentName: 'SetterFormVariable',
118
+ props: {
119
+ attributes: [{
120
+ label: '图文数据',
121
+ value: 'dataList',
122
+ children: [{
123
+ label: '图片链接',
124
+ value: 'image'
125
+ }, {
126
+ label: '行类型(值为"开关"时该行显示开关控件)',
127
+ value: 'itemType'
128
+ }, {
129
+ label: '标题',
130
+ value: 'title'
131
+ }, {
132
+ label: '说明',
133
+ value: 'description'
134
+ }]
135
+ }]
136
+ }
169
137
  },
170
- initialValue: 'left'
171
- },
172
- extraProps: {
173
- // 引擎已自动 setPropValue('imagePlacement', value),无需再做任何额外写入
174
- // 之前的快照-还原逻辑反而触发多余的 MobX 响应链,导致 dataList 被覆盖
175
- }
176
- }, {
177
- title: '图片宽度',
178
- name: 'imgWidth',
179
- description: '图片宽度',
180
- setter: {
181
- componentName: 'NumberSetter',
182
- isRequired: false,
183
- initialValue: 100
184
- },
185
- extraProps: {
186
- getValue: function getValue(target, value) {
187
- var _parsePxNumber;
188
- if (value !== undefined) return (_parsePxNumber = parsePxNumber(value)) !== null && _parsePxNumber !== void 0 ? _parsePxNumber : 100;
189
- var styleWidth = getImageStyleNumber(target, 'width');
190
- if (styleWidth !== undefined) return styleWidth;
191
- return 100;
138
+ extraProps: {}
139
+ }, {
140
+ title: {
141
+ label: {
142
+ type: 'i18n',
143
+ 'en-US': 'dataList',
144
+ 'zh-CN': '静态数据'
145
+ },
146
+ tip: 'dataList | 静态数据'
192
147
  },
193
- setValue: function setValue(target, value) {
194
- // 引擎已自动 setPropValue('imgWidth', value)
195
- // 只需同步到 Image 子节点的 style
196
- var parsedValue = parsePxNumber(value);
197
- if (parsedValue !== undefined) {
198
- syncImageStyleValue(target, 'width', parsedValue);
148
+ name: 'dataList',
149
+ description: '列表静态数据,绑定数据源后此项被覆盖',
150
+ setter: {
151
+ componentName: 'ArraySetter',
152
+ props: {
153
+ itemSetter: {
154
+ componentName: 'ObjectSetter',
155
+ props: {
156
+ config: {
157
+ items: [{
158
+ title: {
159
+ label: {
160
+ type: 'i18n',
161
+ 'en-US': 'title',
162
+ 'zh-CN': '标题'
163
+ }
164
+ },
165
+ name: 'title',
166
+ setter: {
167
+ componentName: 'StringSetter',
168
+ isRequired: false,
169
+ initialValue: ''
170
+ }
171
+ }, {
172
+ title: {
173
+ label: {
174
+ type: 'i18n',
175
+ 'en-US': 'image',
176
+ 'zh-CN': '图片地址'
177
+ }
178
+ },
179
+ name: 'image',
180
+ setter: {
181
+ componentName: 'CustomImageSetter',
182
+ isRequired: false,
183
+ initialValue: ''
184
+ }
185
+ }, {
186
+ title: {
187
+ label: {
188
+ type: 'i18n',
189
+ 'en-US': 'description',
190
+ 'zh-CN': '描述'
191
+ }
192
+ },
193
+ name: 'description',
194
+ setter: {
195
+ componentName: 'StringSetter',
196
+ isRequired: false,
197
+ initialValue: ''
198
+ }
199
+ }, {
200
+ title: {
201
+ label: {
202
+ type: 'i18n',
203
+ 'en-US': 'text3',
204
+ 'zh-CN': '文本3'
205
+ }
206
+ },
207
+ name: 'text3',
208
+ description: '文本槽位数 ≥ 3 时显示',
209
+ setter: {
210
+ componentName: 'StringSetter',
211
+ isRequired: false,
212
+ initialValue: ''
213
+ }
214
+ }, {
215
+ title: {
216
+ label: {
217
+ type: 'i18n',
218
+ 'en-US': 'text4',
219
+ 'zh-CN': '文本4'
220
+ }
221
+ },
222
+ name: 'text4',
223
+ description: '文本槽位数 = 4 时显示',
224
+ setter: {
225
+ componentName: 'StringSetter',
226
+ isRequired: false,
227
+ initialValue: ''
228
+ }
229
+ }, {
230
+ title: {
231
+ label: {
232
+ type: 'i18n',
233
+ 'en-US': 'itemType',
234
+ 'zh-CN': '行类型'
235
+ }
236
+ },
237
+ name: 'itemType',
238
+ description: '值为"开关"时该行显示开关控件,留空为默认文字行',
239
+ setter: {
240
+ componentName: 'SelectSetter',
241
+ props: {
242
+ options: [{
243
+ label: '默认(文字行)',
244
+ value: ''
245
+ }, {
246
+ label: '开关',
247
+ value: '开关'
248
+ }]
249
+ },
250
+ initialValue: ''
251
+ }
252
+ }],
253
+ extraSetter: {
254
+ componentName: 'MixedSetter',
255
+ isRequired: false,
256
+ props: {}
257
+ }
258
+ }
259
+ }
260
+ }
261
+ },
262
+ initialValue: function initialValue(target) {
263
+ var _target$node$schema$p, _target$node, _target$node$schema, _target$node$schema$p2, _target$getProps, _target$getProps$call, _target$getProps$call2;
264
+ var existing = (_target$node$schema$p = target === null || target === void 0 ? void 0 : (_target$node = target.node) === null || _target$node === void 0 ? void 0 : (_target$node$schema = _target$node.schema) === null || _target$node$schema === void 0 ? void 0 : (_target$node$schema$p2 = _target$node$schema.props) === null || _target$node$schema$p2 === void 0 ? void 0 : _target$node$schema$p2.dataList) !== null && _target$node$schema$p !== void 0 ? _target$node$schema$p : target === null || target === void 0 ? void 0 : (_target$getProps = target.getProps) === null || _target$getProps === void 0 ? void 0 : (_target$getProps$call = _target$getProps.call(target)) === null || _target$getProps$call === void 0 ? void 0 : (_target$getProps$call2 = _target$getProps$call.getPropValue) === null || _target$getProps$call2 === void 0 ? void 0 : _target$getProps$call2.call(_target$getProps$call, 'dataList');
265
+ if (existing !== undefined) return existing;
266
+ return DEFAULT_DATA_LIST;
199
267
  }
200
- }
201
- }
202
- }, {
203
- title: '图片高度',
204
- name: 'imgHeight',
205
- description: '图片高度',
206
- setter: {
207
- componentName: 'NumberSetter',
208
- isRequired: false,
209
- initialValue: 100
210
- },
211
- extraProps: {
212
- getValue: function getValue(target, value) {
213
- var _parsePxNumber2;
214
- if (value !== undefined) return (_parsePxNumber2 = parsePxNumber(value)) !== null && _parsePxNumber2 !== void 0 ? _parsePxNumber2 : 100;
215
- var styleHeight = getImageStyleNumber(target, 'height');
216
- if (styleHeight !== undefined) return styleHeight;
217
- return 100;
218
268
  },
219
- setValue: function setValue(target, value) {
220
- // 引擎已自动 setPropValue('imgHeight', value)
221
- // 只需同步到 Image 子节点的 style
222
- var parsedValue = parsePxNumber(value);
223
- if (parsedValue !== undefined) {
224
- syncImageStyleValue(target, 'height', parsedValue);
269
+ extraProps: {
270
+ ignoreDefaultValue: function ignoreDefaultValue() {
271
+ return true;
272
+ },
273
+ getValue: function getValue(target, currentValue) {
274
+ var _target$node2, _target$node2$schema, _target$node2$schema$;
275
+ if (currentValue !== undefined) return currentValue;
276
+ var fromSchema = target === null || target === void 0 ? void 0 : (_target$node2 = target.node) === null || _target$node2 === void 0 ? void 0 : (_target$node2$schema = _target$node2.schema) === null || _target$node2$schema === void 0 ? void 0 : (_target$node2$schema$ = _target$node2$schema.props) === null || _target$node2$schema$ === void 0 ? void 0 : _target$node2$schema$.dataList;
277
+ if (fromSchema !== undefined) return fromSchema;
278
+ return undefined;
225
279
  }
226
280
  }
227
- }
228
- }, {
229
- title: '数据源绑定',
230
- name: 'dataListBind',
231
- setter: {
232
- componentName: 'SetterFormVariable',
233
- props: {
234
- attributes: [{
235
- label: '图文数据',
236
- value: 'dataList',
237
- children: [{
238
- label: '图片链接',
239
- value: 'image'
281
+ }, {
282
+ title: '类型',
283
+ name: 'type',
284
+ description: '列表类型',
285
+ setter: {
286
+ componentName: 'RadioGroupSetter',
287
+ props: {
288
+ options: [{
289
+ label: '图文',
290
+ value: 'textAndImg'
240
291
  }, {
241
- label: '类型',
242
- value: 'itemType'
292
+ label: '仅图片',
293
+ value: 'imgOnly'
243
294
  }, {
244
- label: '标题',
245
- value: 'title'
295
+ label: '仅文字',
296
+ value: 'textOnly'
297
+ }]
298
+ },
299
+ initialValue: 'textAndImg'
300
+ }
301
+ }, {
302
+ title: '是否购物车列表',
303
+ name: 'isShoppingCart',
304
+ setter: {
305
+ componentName: 'BoolSetter',
306
+ isRequired: true,
307
+ initialValue: false
308
+ }
309
+ }, {
310
+ title: '是否愿望单列表',
311
+ name: 'isWishList',
312
+ setter: {
313
+ componentName: 'BoolSetter',
314
+ isRequired: true,
315
+ initialValue: false
316
+ }
317
+ }, {
318
+ title: '是否用户菜单列表',
319
+ name: 'isUserMenu',
320
+ setter: {
321
+ componentName: 'BoolSetter',
322
+ isRequired: true,
323
+ initialValue: false
324
+ }
325
+ }]
326
+ },
327
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
328
+ // 分组二:列表布局
329
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
330
+ {
331
+ type: 'group',
332
+ title: '列表布局',
333
+ display: 'accordion',
334
+ items: [{
335
+ title: '子项分布',
336
+ name: 'itemRowAlign',
337
+ description: '列方向或横向一行滚动',
338
+ setter: {
339
+ componentName: 'RadioGroupSetter',
340
+ props: {
341
+ options: [{
342
+ label: '纵向列表',
343
+ value: 'column'
246
344
  }, {
247
- label: '说明',
248
- value: 'description'
345
+ label: '横向滚动',
346
+ value: 'row'
249
347
  }]
250
- }]
348
+ },
349
+ initialValue: 'column'
251
350
  }
252
- },
253
- extraProps: {
254
- setValue: function setValue(target, value) {
255
- target.getProps().setPropValue('dataListBind', value);
351
+ }, {
352
+ title: '子项列数',
353
+ name: 'itemColumns',
354
+ description: '纵向模式时的列数(1-4)',
355
+ setter: {
356
+ componentName: 'NumberSetter',
357
+ isRequired: false,
358
+ initialValue: function initialValue(target) {
359
+ var p = target.getProps().getPropValue('imagePlacement');
360
+ return p === 'top' || p === 'bottom' ? 2 : 1;
361
+ },
362
+ defaultValue: function defaultValue(target) {
363
+ var p = target.getProps().getPropValue('imagePlacement');
364
+ return p === 'top' || p === 'bottom' ? 2 : 1;
365
+ },
366
+ props: {
367
+ min: 1,
368
+ max: 4
369
+ }
256
370
  }
257
- }
258
- }, {
259
- title: '标题',
260
- name: 'title',
261
- description: '标题',
262
- setter: {
263
- componentName: 'StringSetter',
264
- isRequired: false,
265
- initialValue: ''
266
- }
267
- }, {
268
- title: {
269
- label: {
270
- type: 'i18n',
271
- 'en-US': 'moreText',
272
- 'zh-CN': '更多文字'
273
- },
274
- tip: 'moreText | 更多文字'
275
- },
276
- name: 'moreText',
277
- description: '更多文字',
278
- setter: {
279
- componentName: 'StringSetter',
280
- isRequired: false,
281
- initialValue: ''
282
- }
283
- }, {
284
- title: '文字行数',
285
- name: 'textLines',
286
- description: '文字行数',
287
- setter: {
288
- componentName: 'NumberSetter',
289
- isRequired: false,
290
- initialValue: 2,
291
- defaultValue: 2,
292
- props: {
293
- min: 2,
294
- max: 4
371
+ }, {
372
+ title: '子项间距',
373
+ name: 'itemGap',
374
+ description: '子项之间的间距(px)',
375
+ setter: {
376
+ componentName: 'NumberSetter',
377
+ isRequired: false,
378
+ initialValue: 10,
379
+ defaultValue: 10,
380
+ props: {
381
+ min: 0
382
+ }
295
383
  }
296
- },
297
- extraProps: {
298
- setValue: function setValue(target, value) {
299
- var _target$node2, _schemaChildren$filte, _target$parent, _target$parent$items;
300
- target.getProps().setPropValue('textLines', value);
301
- var schema = target === null || target === void 0 ? void 0 : (_target$node2 = target.node) === null || _target$node2 === void 0 ? void 0 : _target$node2.schema;
302
- var node = target === null || target === void 0 ? void 0 : target.node;
303
- var schemaChildren = Array.isArray(schema === null || schema === void 0 ? void 0 : schema.children) ? schema.children : [];
304
-
305
- // 获取当前文本组件数量
306
- var currentLength = ((_schemaChildren$filte = schemaChildren.filter(function (child) {
307
- var _child$props, _child$props$key;
308
- return child.componentName === 'NextText' && (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : (_child$props$key = _child$props.key) === null || _child$props$key === void 0 ? void 0 : _child$props$key.startsWith('text-'));
309
- })) === null || _schemaChildren$filte === void 0 ? void 0 : _schemaChildren$filte.length) || 0;
310
- if (value > currentLength) {
311
- // 需要添加新的文本组件
312
- for (var i = currentLength + 1; i <= value; i++) {
313
- var _node$children;
314
- var newChild = {
315
- componentName: 'NextText',
316
- props: {
317
- type: 'inherit',
318
- children: '基于 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台',
319
- key: "text-" + i
320
- }
321
- };
322
- node === null || node === void 0 ? void 0 : (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.push(newChild);
323
- }
324
- } else if (value < currentLength) {
325
- var _node$children2, _node$children2$forEa;
326
- // 收集需要移除的节点,再调用 child.remove() 通过引擎 API 逐个删除
327
- // 避免 node.children = [...] 直接赋值(IPublicModelNodeChildren 不支持重新赋值)
328
- var nodesToRemove = [];
329
- node === null || node === void 0 ? void 0 : (_node$children2 = node.children) === null || _node$children2 === void 0 ? void 0 : (_node$children2$forEa = _node$children2.forEach) === null || _node$children2$forEa === void 0 ? void 0 : _node$children2$forEa.call(_node$children2, function (child) {
330
- var _child$schema, _child$schema$props;
331
- var key = child === null || child === void 0 ? void 0 : (_child$schema = child.schema) === null || _child$schema === void 0 ? void 0 : (_child$schema$props = _child$schema.props) === null || _child$schema$props === void 0 ? void 0 : _child$schema$props.key;
332
- if ((child === null || child === void 0 ? void 0 : child.componentName) === 'NextText' && typeof key === 'string' && key.startsWith('text-')) {
333
- var order = Number(key.split('-')[1]);
334
- if (!Number.isNaN(order) && order > value) {
335
- nodesToRemove.push(child);
336
- }
337
- }
338
- });
339
- nodesToRemove.forEach(function (child) {
340
- var _child$remove;
341
- return child === null || child === void 0 ? void 0 : (_child$remove = child.remove) === null || _child$remove === void 0 ? void 0 : _child$remove.call(child);
342
- });
384
+ }]
385
+ },
386
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
387
+ // 分组三:列表项样式
388
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
389
+ {
390
+ type: 'group',
391
+ title: '子项样式',
392
+ display: 'accordion',
393
+ items: [{
394
+ title: '内边距',
395
+ name: 'itemPadding',
396
+ description: '列表项内边距(px)',
397
+ setter: {
398
+ componentName: 'NumberSetter',
399
+ isRequired: false,
400
+ initialValue: 0,
401
+ defaultValue: 0,
402
+ props: {
403
+ min: 0
343
404
  }
344
-
345
- // 更新数据源绑定的配置
346
- var dataListBindProp = target === null || target === void 0 ? void 0 : (_target$parent = target.parent) === null || _target$parent === void 0 ? void 0 : (_target$parent$items = _target$parent.items) === null || _target$parent$items === void 0 ? void 0 : _target$parent$items.find(function (item) {
347
- return item.name === 'dataListBind';
348
- });
349
- if (dataListBindProp && dataListBindProp.setter) {
350
- var baseChildren = [{
351
- label: '图片链接',
352
- value: 'image'
405
+ }
406
+ }, {
407
+ title: '背景颜色',
408
+ name: 'itemBgColor',
409
+ description: '列表项背景颜色',
410
+ setter: {
411
+ componentName: 'ColorSetter',
412
+ isRequired: false,
413
+ initialValue: '#ffffff'
414
+ }
415
+ }, {
416
+ title: '圆角',
417
+ name: 'itemBorderRadius',
418
+ description: '列表项圆角(px)',
419
+ setter: {
420
+ componentName: 'NumberSetter',
421
+ isRequired: false,
422
+ initialValue: 0,
423
+ defaultValue: 0,
424
+ props: {
425
+ min: 0
426
+ }
427
+ }
428
+ }, {
429
+ title: '边框颜色',
430
+ name: 'itemBorderColor',
431
+ description: '列表项边框颜色',
432
+ setter: {
433
+ componentName: 'ColorSetter',
434
+ isRequired: false,
435
+ initialValue: ''
436
+ }
437
+ }, {
438
+ title: '边框宽度',
439
+ name: 'itemBorderWidth',
440
+ description: '列表项边框宽度(px),设置边框颜色后生效',
441
+ setter: {
442
+ componentName: 'NumberSetter',
443
+ isRequired: false,
444
+ initialValue: 0,
445
+ defaultValue: 0,
446
+ props: {
447
+ min: 0,
448
+ max: 10
449
+ }
450
+ }
451
+ }]
452
+ },
453
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
454
+ // 分组四:图片样式
455
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
456
+ {
457
+ type: 'group',
458
+ title: '图片样式',
459
+ display: 'accordion',
460
+ items: [{
461
+ title: '图片位置',
462
+ name: 'imagePlacement',
463
+ setter: {
464
+ componentName: 'RadioGroupSetter',
465
+ props: {
466
+ options: [{
467
+ label: '左',
468
+ value: 'left'
353
469
  }, {
354
- label: '类型',
355
- value: 'itemType'
470
+ label: '',
471
+ value: 'right'
356
472
  }, {
357
- label: '标题',
358
- value: 'title'
473
+ label: '',
474
+ value: 'top'
359
475
  }, {
360
- label: '说明',
361
- value: 'description'
362
- }];
363
-
364
- // 只有当value大于2时才添加额外的文本字段
365
- var textChildren = value > 2 ? Array.from({
366
- length: value - 2
367
- }).map(function (_, index) {
368
- return {
369
- label: "\u6587\u672C" + (index + 3),
370
- value: "text" + (index + 3)
371
- };
372
- }) : [];
373
-
374
- // 更新setter的attributes
375
- dataListBindProp.setter.props.attributes[0].children = [].concat(baseChildren, textChildren);
476
+ label: '',
477
+ value: 'bottom'
478
+ }, {
479
+ label: '无',
480
+ value: 'none'
481
+ }]
482
+ },
483
+ initialValue: 'left'
484
+ },
485
+ extraProps: {}
486
+ }, {
487
+ title: '图文对齐',
488
+ name: 'textAlign',
489
+ description: '图片与文字的交叉轴对齐方式',
490
+ setter: {
491
+ componentName: 'RadioGroupSetter',
492
+ props: {
493
+ options: [{
494
+ label: '顶对齐',
495
+ value: 'flex-start'
496
+ }, {
497
+ label: '居中',
498
+ value: 'center'
499
+ }, {
500
+ label: '底对齐',
501
+ value: 'flex-end'
502
+ }]
503
+ },
504
+ initialValue: 'flex-start'
505
+ }
506
+ }, {
507
+ title: '图文间距',
508
+ name: 'textImgGap',
509
+ description: '图片与文字区域之间的间距(px)',
510
+ setter: {
511
+ componentName: 'NumberSetter',
512
+ isRequired: false,
513
+ initialValue: 16,
514
+ defaultValue: 16,
515
+ props: {
516
+ min: 0
376
517
  }
377
518
  }
378
- }
379
- }, {
380
- title: '子项列数',
381
- name: 'itemColumns',
382
- description: '子项列数',
383
- setter: {
384
- componentName: 'NumberSetter',
385
- isRequired: false,
386
- initialValue: function initialValue(target) {
387
- var isTwoColumns = target.getProps().getPropValue('imagePlacement') === 'top' || target.getProps().getPropValue('imagePlacement') === 'bottom';
388
- return isTwoColumns ? 2 : 1;
389
- },
390
- defaultValue: function defaultValue(target) {
391
- var isTwoColumns = target.getProps().getPropValue('imagePlacement') === 'top' || target.getProps().getPropValue('imagePlacement') === 'bottom';
392
- return isTwoColumns ? 2 : 1;
519
+ }, {
520
+ title: '宽度',
521
+ name: 'imgWidth',
522
+ description: '图片宽度(px)',
523
+ setter: {
524
+ componentName: 'NumberSetter',
525
+ isRequired: false,
526
+ initialValue: 100,
527
+ props: {
528
+ min: 10
529
+ }
393
530
  },
394
- props: {
395
- min: 1,
396
- max: 2
531
+ extraProps: {
532
+ ignoreDefaultValue: function ignoreDefaultValue() {
533
+ return true;
534
+ },
535
+ getValue: function getValue(target, value) {
536
+ var _target$node3, _target$node3$schema, _target$node3$schema$;
537
+ var parsed = parsePxNumber(value);
538
+ if (parsed !== undefined) return parsed;
539
+ var fromSchema = parsePxNumber(target === null || target === void 0 ? void 0 : (_target$node3 = target.node) === null || _target$node3 === void 0 ? void 0 : (_target$node3$schema = _target$node3.schema) === null || _target$node3$schema === void 0 ? void 0 : (_target$node3$schema$ = _target$node3$schema.props) === null || _target$node3$schema$ === void 0 ? void 0 : _target$node3$schema$.imgWidth);
540
+ if (fromSchema !== undefined) return fromSchema;
541
+ return 100;
542
+ }
397
543
  }
398
- }
399
- }, {
400
- title: '子项间距',
401
- name: 'itemGap',
402
- description: '子项间距',
403
- setter: {
404
- componentName: 'NumberSetter',
405
- isRequired: false,
406
- initialValue: 10,
407
- defaultValue: 10
408
- }
409
- }, {
410
- title: '子项内边距',
411
- name: 'itemPadding',
412
- description: '子项内边距',
413
- setter: {
414
- componentName: 'NumberSetter',
415
- isRequired: false,
416
- initialValue: 0,
417
- defaultValue: 0
418
- }
419
- }, {
420
- title: '子项背景颜色',
421
- name: 'itemBgColor',
422
- description: '子项背景颜色',
423
- setter: {
424
- componentName: 'ColorSetter',
425
- isRequired: false,
426
- initialValue: '#fff',
427
- defaultValue: '#fff'
428
- }
429
- }, {
430
- title: '子项分布',
431
- name: 'itemRowAlign',
432
- description: '子项分布',
433
- setter: {
434
- componentName: 'SelectSetter',
435
- props: {
436
- options: [{
437
- label: '列分布',
438
- value: 'column'
439
- }, {
440
- label: '一行显示',
441
- value: 'row'
442
- }]
443
- },
444
- initialValue: 'column'
445
- }
446
- }, {
447
- title: '图文对齐方式',
448
- name: 'textAlign',
449
- description: '图文对齐方式',
450
- setter: {
451
- componentName: 'SelectSetter',
452
- props: {
453
- options: [{
454
- label: '左对齐',
455
- value: 'flex-start'
456
- }, {
457
- label: '右对齐',
458
- value: 'flex-end'
459
- }, {
460
- label: '居中对齐',
461
- value: 'center'
462
- }]
544
+ }, {
545
+ title: '高度',
546
+ name: 'imgHeight',
547
+ description: '图片高度(px)',
548
+ setter: {
549
+ componentName: 'NumberSetter',
550
+ isRequired: false,
551
+ initialValue: 100,
552
+ props: {
553
+ min: 10
554
+ }
463
555
  },
464
- initialValue: 'flex-start'
465
- }
466
- }, {
467
- title: '图文间距',
468
- name: 'textImgGap',
469
- description: '图文间距',
470
- setter: {
471
- componentName: 'NumberSetter',
472
- isRequired: false,
473
- initialValue: 0,
474
- defaultValue: 0
475
- }
476
- }, {
477
- title: '图标配置',
556
+ extraProps: {
557
+ ignoreDefaultValue: function ignoreDefaultValue() {
558
+ return true;
559
+ },
560
+ getValue: function getValue(target, value) {
561
+ var _target$node4, _target$node4$schema, _target$node4$schema$;
562
+ var parsed = parsePxNumber(value);
563
+ if (parsed !== undefined) return parsed;
564
+ var fromSchema = parsePxNumber(target === null || target === void 0 ? void 0 : (_target$node4 = target.node) === null || _target$node4 === void 0 ? void 0 : (_target$node4$schema = _target$node4.schema) === null || _target$node4$schema === void 0 ? void 0 : (_target$node4$schema$ = _target$node4$schema.props) === null || _target$node4$schema$ === void 0 ? void 0 : _target$node4$schema$.imgHeight);
565
+ if (fromSchema !== undefined) return fromSchema;
566
+ return 100;
567
+ }
568
+ }
569
+ }, {
570
+ title: '圆角',
571
+ name: 'imgBorderRadius',
572
+ description: '图片圆角(px),设为 999 可得到圆形',
573
+ setter: {
574
+ componentName: 'NumberSetter',
575
+ isRequired: false,
576
+ initialValue: 0,
577
+ defaultValue: 0,
578
+ props: {
579
+ min: 0
580
+ }
581
+ }
582
+ }, {
583
+ title: '填充方式',
584
+ name: 'imgObjectFit',
585
+ description: '图片在容器内的填充方式',
586
+ setter: {
587
+ componentName: 'RadioGroupSetter',
588
+ props: {
589
+ options: [{
590
+ label: '覆盖',
591
+ value: 'cover'
592
+ }, {
593
+ label: '适应',
594
+ value: 'contain'
595
+ }, {
596
+ label: '拉伸',
597
+ value: 'fill'
598
+ }, {
599
+ label: '原始',
600
+ value: 'none'
601
+ }]
602
+ },
603
+ initialValue: 'cover'
604
+ }
605
+ }]
606
+ },
607
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
608
+ // 分组五:标题文字样式
609
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
610
+ {
611
+ type: 'group',
612
+ title: '标题文字样式',
613
+ display: 'accordion',
614
+ items: [{
615
+ title: '颜色',
616
+ name: 'titleColor',
617
+ setter: {
618
+ componentName: 'ColorSetter',
619
+ isRequired: false,
620
+ initialValue: ''
621
+ }
622
+ }, {
623
+ title: '字体大小',
624
+ name: 'titleFontSize',
625
+ description: '标题字体大小(px)',
626
+ setter: {
627
+ componentName: 'NumberSetter',
628
+ isRequired: false,
629
+ initialValue: 14,
630
+ defaultValue: 14,
631
+ props: {
632
+ min: 10,
633
+ max: 60
634
+ }
635
+ }
636
+ }, {
637
+ title: '字重',
638
+ name: 'titleFontWeight',
639
+ setter: {
640
+ componentName: 'RadioGroupSetter',
641
+ props: {
642
+ options: [{
643
+ label: '常规',
644
+ value: 'normal'
645
+ }, {
646
+ label: '中等',
647
+ value: '500'
648
+ }, {
649
+ label: '半粗',
650
+ value: '600'
651
+ }, {
652
+ label: '粗体',
653
+ value: 'bold'
654
+ }]
655
+ },
656
+ initialValue: '600'
657
+ }
658
+ }, {
659
+ title: '最大行数',
660
+ name: 'titleLineClamp',
661
+ description: '超出后显示省略号,0 表示不限制',
662
+ setter: {
663
+ componentName: 'NumberSetter',
664
+ isRequired: false,
665
+ initialValue: 1,
666
+ defaultValue: 1,
667
+ props: {
668
+ min: 0,
669
+ max: 10
670
+ }
671
+ }
672
+ }]
673
+ },
674
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
675
+ // 分组六:说明文字样式
676
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
677
+ {
678
+ type: 'group',
679
+ title: '说明文字样式',
680
+ display: 'accordion',
681
+ items: [{
682
+ title: '颜色',
683
+ name: 'descriptionColor',
684
+ setter: {
685
+ componentName: 'ColorSetter',
686
+ isRequired: false,
687
+ initialValue: ''
688
+ }
689
+ }, {
690
+ title: '字体大小',
691
+ name: 'descriptionFontSize',
692
+ description: '说明字体大小(px)',
693
+ setter: {
694
+ componentName: 'NumberSetter',
695
+ isRequired: false,
696
+ initialValue: 13,
697
+ defaultValue: 13,
698
+ props: {
699
+ min: 10,
700
+ max: 60
701
+ }
702
+ }
703
+ }, {
704
+ title: '字重',
705
+ name: 'descriptionFontWeight',
706
+ setter: {
707
+ componentName: 'RadioGroupSetter',
708
+ props: {
709
+ options: [{
710
+ label: '常规',
711
+ value: 'normal'
712
+ }, {
713
+ label: '中等',
714
+ value: '500'
715
+ }, {
716
+ label: '半粗',
717
+ value: '600'
718
+ }, {
719
+ label: '粗体',
720
+ value: 'bold'
721
+ }]
722
+ },
723
+ initialValue: 'normal'
724
+ }
725
+ }, {
726
+ title: '最大行数',
727
+ name: 'descriptionLineClamp',
728
+ description: '超出后显示省略号,0 表示不限制',
729
+ setter: {
730
+ componentName: 'NumberSetter',
731
+ isRequired: false,
732
+ initialValue: 1,
733
+ defaultValue: 1,
734
+ props: {
735
+ min: 0,
736
+ max: 10
737
+ }
738
+ }
739
+ }]
740
+ },
741
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
742
+ // 浮层图标
743
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
744
+ {
745
+ title: '浮层图标',
478
746
  name: 'iconList',
747
+ description: '在每个列表项上叠加绝对定位图标(如角标、标签等)',
479
748
  extraProps: {
480
749
  display: 'accordion',
481
- defaultCollapsed: false
750
+ defaultCollapsed: true
482
751
  },
483
752
  setter: {
484
753
  componentName: 'ArraySetter',
@@ -591,138 +860,6 @@ var TeletextListMeta = {
591
860
  }
592
861
  }
593
862
  }
594
- }, {
595
- title: '是否为购物车列表',
596
- name: 'isShoppingCart',
597
- description: '是否为购物车列表',
598
- setter: {
599
- componentName: 'BoolSetter',
600
- isRequired: true,
601
- initialValue: false
602
- }
603
- }, {
604
- title: '是否为愿望单列表',
605
- name: 'isWishList',
606
- description: '是否为愿望单列表',
607
- setter: {
608
- componentName: 'BoolSetter',
609
- isRequired: true,
610
- initialValue: false
611
- }
612
- }, {
613
- title: '是否为用户菜单列表',
614
- name: 'isUserMenu',
615
- description: '是否为用户菜单列表',
616
- setter: {
617
- componentName: 'BoolSetter',
618
- isRequired: true,
619
- initialValue: false
620
- }
621
- }, {
622
- title: {
623
- label: {
624
- type: 'i18n',
625
- 'en-US': 'dataList',
626
- 'zh-CN': '数据'
627
- },
628
- tip: 'dataList | 数据'
629
- },
630
- name: 'dataList',
631
- description: '数据',
632
- setter: {
633
- componentName: 'ArraySetter',
634
- props: {
635
- itemSetter: {
636
- componentName: 'ObjectSetter',
637
- props: {
638
- config: {
639
- items: [{
640
- title: {
641
- label: {
642
- type: 'i18n',
643
- 'en-US': 'title',
644
- 'zh-CN': '标题'
645
- }
646
- },
647
- name: 'title',
648
- description: '标题',
649
- setter: {
650
- componentName: 'StringSetter',
651
- isRequired: false,
652
- initialValue: ''
653
- }
654
- }, {
655
- title: {
656
- label: {
657
- type: 'i18n',
658
- 'en-US': 'image',
659
- 'zh-CN': '图片地址'
660
- }
661
- },
662
- name: 'image',
663
- description: '图片地址',
664
- setter: {
665
- componentName: 'CustomImageSetter',
666
- isRequired: false,
667
- initialValue: ''
668
- }
669
- }, {
670
- title: {
671
- label: {
672
- type: 'i18n',
673
- 'en-US': 'description',
674
- 'zh-CN': '描述'
675
- }
676
- },
677
- name: 'description',
678
- description: '描述',
679
- setter: {
680
- componentName: 'StringSetter',
681
- isRequired: false,
682
- initialValue: ''
683
- }
684
- }],
685
- extraSetter: {
686
- componentName: 'MixedSetter',
687
- isRequired: false,
688
- props: {}
689
- }
690
- }
691
- }
692
- }
693
- },
694
- initialValue: function initialValue(target) {
695
- var _target$node$schema$p, _target$node3, _target$node3$schema, _target$node3$schema$, _target$getProps2, _target$getProps2$cal, _target$getProps2$cal2;
696
- // ignoreDefaultValue: () => true 保证此函数在 SettingFieldView remount 时
697
- // 永远不会被 initDefaultValue 调用,仅作为安全兜底保留。
698
- // 正常的首次创建数据由 snippet.props.dataList 提供。
699
- var existing = (_target$node$schema$p = target === null || target === void 0 ? void 0 : (_target$node3 = target.node) === null || _target$node3 === void 0 ? void 0 : (_target$node3$schema = _target$node3.schema) === null || _target$node3$schema === void 0 ? void 0 : (_target$node3$schema$ = _target$node3$schema.props) === null || _target$node3$schema$ === void 0 ? void 0 : _target$node3$schema$.dataList) !== null && _target$node$schema$p !== void 0 ? _target$node$schema$p : target === null || target === void 0 ? void 0 : (_target$getProps2 = target.getProps) === null || _target$getProps2 === void 0 ? void 0 : (_target$getProps2$cal = _target$getProps2.call(target)) === null || _target$getProps2$cal === void 0 ? void 0 : (_target$getProps2$cal2 = _target$getProps2$cal.getPropValue) === null || _target$getProps2$cal2 === void 0 ? void 0 : _target$getProps2$cal2.call(_target$getProps2$cal, 'dataList');
700
- if (existing !== undefined) return existing;
701
- return DEFAULT_DATA_LIST;
702
- }
703
- },
704
- extraProps: {
705
- /**
706
- * ignoreDefaultValue: 彻底阻止引擎在 SettingFieldView remount 时
707
- * 调用 initDefaultValue → 把 initialValue(默认数据数组)通过 field.setValue
708
- * 写入 dataList prop,覆盖已绑定的 JSExpression。
709
- *
710
- * 这是根本性解决方案:在引擎层面阻断 initDefaultValue 的执行,
711
- * 而不是试图在 initialValue/getValue/setValue 中做缓存和还原来补救。
712
- */
713
- ignoreDefaultValue: function ignoreDefaultValue() {
714
- return true;
715
- },
716
- getValue: function getValue(target, currentValue) {
717
- var _target$node4, _target$node4$schema, _target$node4$schema$;
718
- // currentValue 已有值时直接返回
719
- if (currentValue !== undefined) return currentValue;
720
- // 从 schema 快照兜底读取(最可靠的源头数据,始终反映持久化状态)
721
- var fromSchema = target === null || target === void 0 ? void 0 : (_target$node4 = target.node) === null || _target$node4 === void 0 ? void 0 : (_target$node4$schema = _target$node4.schema) === null || _target$node4$schema === void 0 ? void 0 : (_target$node4$schema$ = _target$node4$schema.props) === null || _target$node4$schema$ === void 0 ? void 0 : _target$node4$schema$.dataList;
722
- if (fromSchema !== undefined) return fromSchema;
723
- return undefined;
724
- }
725
- }
726
863
  }],
727
864
  supports: {
728
865
  style: true,
@@ -762,109 +899,12 @@ var getSnippets = function getSnippets(textLines) {
762
899
  // 因为 dataList 使用了 ignoreDefaultValue:()=>true 来阻止引擎在
763
900
  // SettingFieldView remount 时覆盖已绑定的 JSExpression,
764
901
  // 所以 initDefaultValue 永远不会运行,首次拖入的初始数据必须由 snippet 提供。
765
- dataList: DEFAULT_DATA_LIST
766
- },
767
- children: [{
768
- componentName: 'NextText',
769
- props: {
770
- type: 'h5',
771
- children: '列表标题',
772
- key: 'box-title',
773
- style: {
774
- fontSize: '16px',
775
- fontWeight: 'bold'
776
- }
777
- }
778
- }, {
779
- componentName: 'Image',
780
- props: {
781
- imgSrc: 'https://img.alicdn.com/tps/TB16TQvOXXXXXbiaFXXXXXXXXXX-120-120.svg',
782
- key: 'image'
783
- }
784
- },
785
- // 动态生成文本组件
786
- // ...Array.from({ length: textLines }).map((_, index) => ({
787
- // componentName: 'NextText',
788
- // props: {
789
- // type: index === 0 ? 'h5' : 'inherit',
790
- // children:
791
- // index === 0
792
- // ? '标题标题'
793
- // : '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
794
- // key: `text-${index + 1}`,
795
- // },
796
- // })),
797
- {
798
- componentName: 'NextText',
799
- props: {
800
- type: 'h5',
801
- children: '标题标题',
802
- key: "text-1"
803
- }
804
- }, {
805
- componentName: 'NextText',
806
- props: {
807
- type: 'inherit',
808
- children: '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
809
- key: "text-2"
810
- }
811
- }, {
812
- componentName: 'NextText',
813
- props: {
814
- type: 'inherit',
815
- children: '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
816
- key: "text-3"
817
- }
818
- }, {
819
- componentName: 'NextText',
820
- props: {
821
- type: 'inherit',
822
- children: '基于1 Ali-Lowcode-Engine 快速打造高生产力的低代码研发平台, 基于自然布局体系快速搭建页面',
823
- key: "text-4"
824
- }
825
- }, {
826
- componentName: 'Select',
827
- props: {
828
- popType: 'dialog',
829
- selectType: 'number',
830
- value: 1,
831
- prefix: '数量: ',
832
- dialogTitle: '选择数量',
833
- btnText: '确定',
834
- key: 'select-box-1'
835
- }
836
- }, {
837
- componentName: 'Select',
838
- props: {
839
- popType: 'dialog',
840
- selectType: 'string',
841
- dataList: [{
842
- label: 'M',
843
- value: 'M'
844
- }, {
845
- label: 'X',
846
- value: 'X'
847
- }, {
848
- label: 'XL',
849
- value: 'XL'
850
- }],
851
- value: 'X',
852
- prefix: '尺码: ',
853
- dialogTitle: '选择尺码',
854
- btnText: '确定',
855
- key: 'select-box-2'
856
- }
857
- }, {
858
- componentName: 'Switch',
859
- props: {
860
- size: 'small',
861
- disabled: false,
862
- key: 'switch-1'
863
- }
864
- }]
902
+ dataList: DEFAULT_DATA_LIST,
903
+ title: '列表标题'
904
+ }
865
905
  }
866
906
  }];
867
907
  };
868
- var _default = exports["default"] = (0, _extends3["default"])({}, TeletextListMeta, {
908
+ var _default = exports["default"] = (0, _extends2["default"])({}, TeletextListMeta, {
869
909
  snippets: getSnippets(2)
870
910
  });