@cloudbase/cals 0.3.23 → 0.3.25

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.
@@ -85,12 +85,13 @@ function serializeValue({ ctx, key, dynamicValue, scope = 'page', streamlineDefa
85
85
  value = undefined;
86
86
  }
87
87
  }
88
- return { key, value };
88
+ return { key, value, extra: dynamicValue.extra };
89
89
  }
90
90
  exports.serializeValue = serializeValue;
91
- function deserializeValue(ctx, key, value) {
91
+ const DYNAMIC_KEY_REG = /^:(.*)$/;
92
+ function deserializeValue(ctx, key, value, extra) {
92
93
  var _a;
93
- let matched = key.match(/^:(.*)$/);
94
+ let matched = key.match(DYNAMIC_KEY_REG);
94
95
  if (matched) {
95
96
  let key = matched[1];
96
97
  let type = expression_1.PropBindType.expression;
@@ -118,7 +119,7 @@ function deserializeValue(ctx, key, value) {
118
119
  }
119
120
  return {
120
121
  key,
121
- value: { type, value },
122
+ value: { type, value, extra },
122
123
  };
123
124
  }
124
125
  else {
@@ -129,13 +130,19 @@ function deserializeValue(ctx, key, value) {
129
130
  : {
130
131
  type: undefined /*'static'*/,
131
132
  value,
133
+ extra,
132
134
  },
133
135
  };
134
136
  }
135
137
  }
136
138
  exports.deserializeValue = deserializeValue;
137
- function serializeDynamicMap({ ctx, map = {}, scope = 'page', streamlineDefaultValue, }) {
139
+ function serializeDynamicMap(props) {
140
+ return serializeDynamicMapWithExtra(props).data;
141
+ }
142
+ exports.serializeDynamicMap = serializeDynamicMap;
143
+ function serializeDynamicMapWithExtra({ ctx, map = {}, scope = 'page', streamlineDefaultValue, }) {
138
144
  let data = {};
145
+ let extra = {};
139
146
  Object.keys(map)
140
147
  .sort((a, b) => {
141
148
  const aPath = a.split('.');
@@ -150,7 +157,7 @@ function serializeDynamicMap({ ctx, map = {}, scope = 'page', streamlineDefaultV
150
157
  }
151
158
  })
152
159
  .forEach((key) => {
153
- let { key: processedKey, value: processedValue } = serializeValue({
160
+ let { key: processedKey, value: processedValue, extra: processedExtra, } = serializeValue({
154
161
  ctx,
155
162
  key,
156
163
  dynamicValue: map[key],
@@ -158,17 +165,17 @@ function serializeDynamicMap({ ctx, map = {}, scope = 'page', streamlineDefaultV
158
165
  streamlineDefaultValue,
159
166
  });
160
167
  let matched = processedKey.match(/^:(.*)$/);
168
+ let originKey = processedKey;
161
169
  if (matched) {
162
- const originValue = matched[1];
163
- (0, lodash_1.unset)(data, originValue);
170
+ originKey = matched[1];
171
+ (0, lodash_1.unset)(data, originKey);
164
172
  }
165
173
  if ((0, lodash_1.get)(data, processedKey) == undefined) {
166
- let ValueTmp = processedValue;
167
174
  /* 选区结构处理 [formily] to [CALS] */
168
- if (Array.isArray(ValueTmp) &&
169
- (ValueTmp === null || ValueTmp === void 0 ? void 0 : ValueTmp.some((item) => item && item.selectableBlock))) {
170
- ValueTmp = (0, lodash_1.cloneDeep)(processedValue);
171
- ValueTmp === null || ValueTmp === void 0 ? void 0 : ValueTmp.map((_value) => {
175
+ if (Array.isArray(processedValue) &&
176
+ (processedValue === null || processedValue === void 0 ? void 0 : processedValue.some((item) => item && item.selectableBlock))) {
177
+ let valueTmp = (0, lodash_1.cloneDeep)(processedValue);
178
+ processedValue = valueTmp === null || valueTmp === void 0 ? void 0 : valueTmp.map((_value) => {
172
179
  var _a, _b, _c;
173
180
  const xProp = (_a = _value === null || _value === void 0 ? void 0 : _value.selectableBlock) === null || _a === void 0 ? void 0 : _a['x-props'];
174
181
  const xComponent = (_c = (_b = _value === null || _value === void 0 ? void 0 : _value.selectableBlock) === null || _b === void 0 ? void 0 : _b['x-component']) === null || _c === void 0 ? void 0 : _c.toLowerCase();
@@ -182,24 +189,24 @@ function serializeDynamicMap({ ctx, map = {}, scope = 'page', streamlineDefaultV
182
189
  return _value;
183
190
  });
184
191
  }
185
- data[processedKey] = ValueTmp;
192
+ data[processedKey] = processedValue;
186
193
  }
194
+ extra[originKey] = processedExtra;
187
195
  });
188
- return data;
196
+ return { data, extra };
189
197
  }
190
- exports.serializeDynamicMap = serializeDynamicMap;
191
- function deserializeDynamicMap(ctx, map) {
198
+ function deserializeDynamicMap(ctx, map, extraMap) {
192
199
  var _a, _b, _c;
193
200
  let data = {};
194
201
  for (let key in map || {}) {
195
202
  let value = (_a = map) === null || _a === void 0 ? void 0 : _a[key];
196
- let { key: processedKey, value: processedValue } = deserializeValue(ctx, key, value);
197
- let ValueTmp = processedValue;
203
+ let matched = key.match(DYNAMIC_KEY_REG);
204
+ let { key: processedKey, value: processedValue } = deserializeValue(ctx, key, value, extraMap === null || extraMap === void 0 ? void 0 : extraMap[matched ? matched[1] : key]);
198
205
  /* 选区结构处理 [CALS] to [formily] */
199
206
  if (Array.isArray(processedValue === null || processedValue === void 0 ? void 0 : processedValue.value) &&
200
207
  ((_b = processedValue === null || processedValue === void 0 ? void 0 : processedValue.value) === null || _b === void 0 ? void 0 : _b.some((item) => item && item.selectableBlock))) {
201
- ValueTmp = (0, lodash_1.cloneDeep)(processedValue);
202
- (_c = ValueTmp === null || ValueTmp === void 0 ? void 0 : ValueTmp.value) === null || _c === void 0 ? void 0 : _c.map((_value) => {
208
+ let valueTmp = (0, lodash_1.cloneDeep)(processedValue);
209
+ (_c = valueTmp === null || valueTmp === void 0 ? void 0 : valueTmp.value) === null || _c === void 0 ? void 0 : _c.forEach((_value) => {
203
210
  var _a, _b, _c, _d;
204
211
  const module = (_b = (_a = _value === null || _value === void 0 ? void 0 : _value.selectableBlock) === null || _a === void 0 ? void 0 : _a.module) === null || _b === void 0 ? void 0 : _b.toLowerCase();
205
212
  const component = (_d = (_c = _value === null || _value === void 0 ? void 0 : _value.selectableBlock) === null || _c === void 0 ? void 0 : _c.component) === null || _d === void 0 ? void 0 : _d.toLowerCase();
@@ -210,22 +217,27 @@ function deserializeDynamicMap(ctx, map) {
210
217
  }
211
218
  return _value;
212
219
  });
220
+ processedValue = valueTmp;
213
221
  }
214
- data[processedKey] = ValueTmp;
222
+ data[processedKey] = processedValue;
215
223
  }
216
224
  return data;
217
225
  }
218
226
  exports.deserializeDynamicMap = deserializeDynamicMap;
219
227
  function serializeAttributes(ctx, scope, attributes = {}) {
220
- return serializeDynamicMap({
228
+ var _a;
229
+ return (_a = serializeAttributesWithExtra(ctx, scope, attributes)) === null || _a === void 0 ? void 0 : _a.data;
230
+ }
231
+ exports.serializeAttributes = serializeAttributes;
232
+ function serializeAttributesWithExtra(ctx, scope, attributes = {}) {
233
+ return serializeDynamicMapWithExtra({
221
234
  ctx,
222
235
  scope,
223
236
  map: attributes,
224
237
  streamlineDefaultValue: ctx.streamlineDefaultValue,
225
238
  });
226
239
  }
227
- exports.serializeAttributes = serializeAttributes;
228
- function deserializeAttributes(ctx, attributes = {}) {
240
+ function deserializeAttributes(ctx, attributes = {}, attributesExtraData = {}) {
229
241
  const reservedAttributes = ['style', 'commonStyle', 'class'];
230
242
  const reservedAttributesMap = reservedAttributes.reduce((map, key) => {
231
243
  map[key] = true;
@@ -241,7 +253,7 @@ function deserializeAttributes(ctx, attributes = {}) {
241
253
  restAttributes[key] = attributes[key];
242
254
  }
243
255
  }
244
- return deserializeDynamicMap(ctx, restAttributes);
256
+ return deserializeDynamicMap(ctx, restAttributes, attributesExtraData);
245
257
  }
246
258
  exports.deserializeAttributes = deserializeAttributes;
247
259
  /**
@@ -253,20 +265,20 @@ function serializeDataset(ctx, dataset) {
253
265
  return dataset;
254
266
  const result = JSON.parse(JSON.stringify(dataset));
255
267
  Object.values(result.state).forEach((state) => {
256
- var _a, _b;
268
+ var _a, _b, _c, _d;
257
269
  if (state.varType !== 'datasource')
258
270
  return;
259
271
  if ((_a = state.initMethod) === null || _a === void 0 ? void 0 : _a.params) {
260
- state.initMethod.params = serializeDynamicMap({
272
+ state.initMethod.params = (_b = serializeDynamicMapWithExtra({
261
273
  ctx,
262
274
  map: state.initMethod.params,
263
- });
275
+ })) === null || _b === void 0 ? void 0 : _b.data;
264
276
  }
265
- if ((_b = state.updateMethod) === null || _b === void 0 ? void 0 : _b.params) {
266
- state.updateMethod.params = serializeDynamicMap({
277
+ if ((_c = state.updateMethod) === null || _c === void 0 ? void 0 : _c.params) {
278
+ state.updateMethod.params = (_d = serializeDynamicMapWithExtra({
267
279
  ctx,
268
280
  map: state.updateMethod.params,
269
- });
281
+ })) === null || _d === void 0 ? void 0 : _d.data;
270
282
  }
271
283
  });
272
284
  return result;
@@ -367,6 +379,7 @@ function deserializeDirecties(ctx, directives) {
367
379
  * heander 更新为表达式
368
380
  */
369
381
  function serializeListener(ctx, listener) {
382
+ var _a;
370
383
  return {
371
384
  id: listener.key,
372
385
  eventName: listener.trigger,
@@ -376,10 +389,10 @@ function serializeListener(ctx, listener) {
376
389
  module: /^comp\-\w+$/.test(listener.handler.moduleName)
377
390
  ? '$comp'
378
391
  : listener.handler.moduleName,
379
- params: serializeDynamicMap({
392
+ params: (_a = serializeDynamicMapWithExtra({
380
393
  ctx,
381
394
  map: listener.data,
382
- }),
395
+ })) === null || _a === void 0 ? void 0 : _a.data,
383
396
  },
384
397
  isCapturePhase: listener.isCapturePhase,
385
398
  };
@@ -479,7 +492,7 @@ function deserializeModuleName(ctx, componentName, moduleName) {
479
492
  return moduleName;
480
493
  }
481
494
  function serializeComponent(ctx, component, scope = 'page') {
482
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
495
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
483
496
  // const scope = ctx.component?.id ? 'component' : 'page'
484
497
  const moduleName = (_a = component.xComponent) === null || _a === void 0 ? void 0 : _a.moduleName;
485
498
  const componentName = ((_b = component.xComponent) === null || _b === void 0 ? void 0 : _b.name) || '';
@@ -491,45 +504,60 @@ function serializeComponent(ctx, component, scope = 'page') {
491
504
  if (componentCtx.dependencies && !componentCtx.dependenciesMap) {
492
505
  componentCtx.dependenciesMap = processDependenciesMap(componentCtx.dependencies || []);
493
506
  }
507
+ let attributeMeta = serializeAttributesWithExtra(componentCtx, scope, (((_d = component === null || component === void 0 ? void 0 : component.xProps) === null || _d === void 0 ? void 0 : _d.data) || {})) || {};
508
+ const { data: attributes = {}, extra: attributeExtraData = {}, } = attributeMeta;
509
+ let classListBindData = null;
510
+ let styleBindData = null;
511
+ if ((_e = component === null || component === void 0 ? void 0 : component.xProps) === null || _e === void 0 ? void 0 : _e.classListBind) {
512
+ classListBindData = serializeValue({
513
+ ctx: componentCtx,
514
+ key: 'classListBind',
515
+ dynamicValue: (_f = component === null || component === void 0 ? void 0 : component.xProps) === null || _f === void 0 ? void 0 : _f.classListBind,
516
+ scope,
517
+ });
518
+ if (classListBindData.extra) {
519
+ attributeExtraData['class'] = classListBindData.extra;
520
+ }
521
+ }
522
+ if ((_g = component === null || component === void 0 ? void 0 : component.xProps) === null || _g === void 0 ? void 0 : _g.styleBind) {
523
+ styleBindData = serializeValue({
524
+ ctx: componentCtx,
525
+ key: 'styleBind',
526
+ dynamicValue: (_h = component === null || component === void 0 ? void 0 : component.xProps) === null || _h === void 0 ? void 0 : _h.styleBind,
527
+ });
528
+ if (styleBindData.extra) {
529
+ attributeExtraData['style'] = styleBindData.extra;
530
+ }
531
+ }
494
532
  return {
495
533
  id: component.id,
496
534
  type: undefined,
497
535
  module: serializeModuleName(componentCtx, moduleName, componentName),
498
536
  component: componentName,
499
537
  attributes: (0, runtime_1.getValidValue)(component.xProps
500
- ? Object.assign(Object.assign({}, serializeAttributes(componentCtx, scope, (component.xProps.data || {}))), { style: (_d = component.xProps) === null || _d === void 0 ? void 0 : _d.style, class: (_f = (_e = component.xProps) === null || _e === void 0 ? void 0 : _e.classList) === null || _f === void 0 ? void 0 : _f.join(' ') }) : undefined),
538
+ ? Object.assign(Object.assign({}, attributes), { style: (_j = component.xProps) === null || _j === void 0 ? void 0 : _j.style, class: (_l = (_k = component.xProps) === null || _k === void 0 ? void 0 : _k.classList) === null || _l === void 0 ? void 0 : _l.join(' ') }) : undefined),
501
539
  items: component.properties
502
540
  ? Object.keys(component.properties).map((key) => {
503
541
  var _a;
504
542
  return serializeComponent(componentCtx, Object.assign({ id: key }, (_a = component.properties) === null || _a === void 0 ? void 0 : _a[key]), scope);
505
543
  })
506
544
  : undefined,
507
- listeners: (0, runtime_1.getValidValue)((_h = (_g = component.xProps) === null || _g === void 0 ? void 0 : _g.listeners) === null || _h === void 0 ? void 0 : _h.map((listener) => {
545
+ listeners: (0, runtime_1.getValidValue)((_o = (_m = component.xProps) === null || _m === void 0 ? void 0 : _m.listeners) === null || _o === void 0 ? void 0 : _o.map((listener) => {
508
546
  return serializeListener(componentCtx, listener);
509
547
  })),
510
- directives: serializeDirecties(componentCtx, (((_j = component.xProps) === null || _j === void 0 ? void 0 : _j.directives) || {}), scope) || {
548
+ directives: serializeDirecties(componentCtx, (((_p = component.xProps) === null || _p === void 0 ? void 0 : _p.directives) || {}), scope) || {
511
549
  ':if': true,
512
550
  },
513
- ':class': ((_k = component === null || component === void 0 ? void 0 : component.xProps) === null || _k === void 0 ? void 0 : _k.classListBind)
514
- ? serializeValue({
515
- ctx: componentCtx,
516
- key: 'classListBind',
517
- dynamicValue: (_l = component === null || component === void 0 ? void 0 : component.xProps) === null || _l === void 0 ? void 0 : _l.classListBind,
518
- scope,
519
- }).value
520
- : undefined,
521
- ':style': ((_m = component === null || component === void 0 ? void 0 : component.xProps) === null || _m === void 0 ? void 0 : _m.styleBind)
522
- ? serializeValue({
523
- ctx: componentCtx,
524
- key: 'styleBind',
525
- dynamicValue: (_o = component === null || component === void 0 ? void 0 : component.xProps) === null || _o === void 0 ? void 0 : _o.styleBind,
526
- }).value
527
- : undefined,
551
+ ':class': classListBindData ? classListBindData.value : undefined,
552
+ ':style': styleBindData ? styleBindData.value : undefined,
528
553
  extra: {
529
- commonStyle: (_p = component.xProps) === null || _p === void 0 ? void 0 : _p.commonStyle,
554
+ commonStyle: (_q = component.xProps) === null || _q === void 0 ? void 0 : _q.commonStyle,
530
555
  xIndex: component.xIndex,
531
- styleBindPath: (_q = component === null || component === void 0 ? void 0 : component.xProps) === null || _q === void 0 ? void 0 : _q.styleBindPath,
532
- staticResourceAttribute: (_r = component === null || component === void 0 ? void 0 : component.xProps) === null || _r === void 0 ? void 0 : _r.staticResourceAttribute,
556
+ styleBindPath: (_r = component === null || component === void 0 ? void 0 : component.xProps) === null || _r === void 0 ? void 0 : _r.styleBindPath,
557
+ staticResourceAttribute: (_s = component === null || component === void 0 ? void 0 : component.xProps) === null || _s === void 0 ? void 0 : _s.staticResourceAttribute,
558
+ attributeExtraData: (0, common_3.isEmptyObj)(attributeExtraData)
559
+ ? undefined
560
+ : attributeExtraData,
533
561
  },
534
562
  };
535
563
  }
@@ -537,11 +565,14 @@ exports.serializeComponent = serializeComponent;
537
565
  function deserializeComponent(ctx, components) {
538
566
  let componentMap = components.reduce((map, item) => {
539
567
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
568
+ const { attributeExtraData = {} } = item.extra || {};
540
569
  let dynamicStyle = item[':style']
541
- ? deserializeValue(ctx, ':style', item[':style']).value
570
+ ? deserializeValue(ctx, ':style', item[':style'], attributeExtraData['style'] // 此处就是 style,取的是原始的属性
571
+ ).value
542
572
  : undefined;
543
573
  let dynamicClassList = item[':class']
544
- ? deserializeValue(ctx, ':class', item[':class']).value
574
+ ? deserializeValue(ctx, ':class', item[':class'], attributeExtraData['class'] // 此处就是 class,取的是原始的属性
575
+ ).value
545
576
  : undefined;
546
577
  const xComponent = {
547
578
  moduleName: item.module,
@@ -553,7 +584,7 @@ function deserializeComponent(ctx, components) {
553
584
  xComponent.moduleName;
554
585
  }
555
586
  const xProps = {
556
- data: deserializeAttributes(ctx, item.attributes),
587
+ data: deserializeAttributes(ctx, item.attributes, attributeExtraData),
557
588
  directives: deserializeDirecties(ctx, item.directives || {}),
558
589
  style: (_a = item.attributes) === null || _a === void 0 ? void 0 : _a.style,
559
590
  styleBind: dynamicStyle
@@ -562,9 +593,6 @@ function deserializeComponent(ctx, components) {
562
593
  value: dynamicStyle.value,
563
594
  }
564
595
  : undefined,
565
- // styleBindPath: item.styleBindPath
566
- // ? deserializeValue('styleBindPath', item.styleBindPath).value
567
- // : undefined, // 含义未知
568
596
  commonStyle: (_b = item === null || item === void 0 ? void 0 : item.extra) === null || _b === void 0 ? void 0 : _b.commonStyle,
569
597
  staticResourceAttribute: (_c = item === null || item === void 0 ? void 0 : item.extra) === null || _c === void 0 ? void 0 : _c.staticResourceAttribute,
570
598
  classList: (_f = (_e = (_d = item.attributes) === null || _d === void 0 ? void 0 : _d.class) === null || _e === void 0 ? void 0 : _e.split(/\s/g)) === null || _f === void 0 ? void 0 : _f.filter((className) => !!className),
@@ -607,7 +635,7 @@ function deserializeComponent(ctx, components) {
607
635
  }
608
636
  exports.deserializeComponent = deserializeComponent;
609
637
  function serializePage(ctx, page) {
610
- var _a, _b, _c, _d;
638
+ var _a, _b, _c, _d, _e;
611
639
  const pageCtx = Object.assign(Object.assign({}, ctx), { page });
612
640
  if (pageCtx.dependencies && !pageCtx.dependenciesMap) {
613
641
  pageCtx.dependenciesMap = processDependenciesMap(pageCtx.dependencies || []);
@@ -616,21 +644,20 @@ function serializePage(ctx, page) {
616
644
  id: page.id,
617
645
  type: 'PAGE',
618
646
  component: 'Page',
619
- attributes: (0, runtime_1.getValidValue)(serializeAttributes(pageCtx, 'page', page.data)),
647
+ attributes: (0, runtime_1.getValidValue)((_a = serializeAttributesWithExtra(pageCtx, 'page', page.data)) === null || _a === void 0 ? void 0 : _a.data),
620
648
  items: Object.keys(page.componentInstances || {}).map((id) => {
621
649
  return serializeComponent(pageCtx, Object.assign({ id }, page.componentInstances[id]));
622
650
  }),
623
651
  directives: {
624
652
  ':if': true,
625
653
  },
626
- resources: (_a = page === null || page === void 0 ? void 0 : page.lowCodes) === null || _a === void 0 ? void 0 : _a.map((item) => serializeCodeSource(pageCtx, item)),
654
+ resources: (_b = page === null || page === void 0 ? void 0 : page.lowCodes) === null || _b === void 0 ? void 0 : _b.map((item) => serializeCodeSource(pageCtx, item)),
627
655
  dataset: serializeDataset(ctx, page === null || page === void 0 ? void 0 : page.dataset),
628
- dataVariables: (0, runtime_1.getValidValue)((_c = (_b = page === null || page === void 0 ? void 0 : page.vars) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.map((item) => serializeDataVariables(pageCtx, item))),
629
- listeners: (0, runtime_1.getValidValue)((_d = page === null || page === void 0 ? void 0 : page.listeners) === null || _d === void 0 ? void 0 : _d.map((item) => {
656
+ dataVariables: (0, runtime_1.getValidValue)((_d = (_c = page === null || page === void 0 ? void 0 : page.vars) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.map((item) => serializeDataVariables(pageCtx, item))),
657
+ listeners: (0, runtime_1.getValidValue)((_e = page === null || page === void 0 ? void 0 : page.listeners) === null || _e === void 0 ? void 0 : _e.map((item) => {
630
658
  return serializeListener(pageCtx, item);
631
659
  })),
632
660
  extra: {
633
- pluginInstances: page === null || page === void 0 ? void 0 : page.pluginInstances,
634
661
  commonStyle: page === null || page === void 0 ? void 0 : page.commonStyle,
635
662
  xIndex: page.xIndex,
636
663
  staticResourceAttribute: page === null || page === void 0 ? void 0 : page.staticResourceAttribute,
@@ -666,9 +693,8 @@ function deserializePage(ctx, page) {
666
693
  return deserializeDataVariables(pageCtx, item);
667
694
  })) || [],
668
695
  },
669
- data: deserializeAttributes(pageCtx, page.attributes),
696
+ data: deserializeAttributes(pageCtx, page.attributes, (_b = page === null || page === void 0 ? void 0 : page.extra) === null || _b === void 0 ? void 0 : _b.attributeExtraData),
670
697
  componentInstances: deserializeComponent(pageCtx, page.items || []),
671
- pluginInstances: (_b = page.extra) === null || _b === void 0 ? void 0 : _b.pluginInstances,
672
698
  commonStyle: (_c = page === null || page === void 0 ? void 0 : page.extra) === null || _c === void 0 ? void 0 : _c.commonStyle,
673
699
  staticResourceAttribute: (_d = page === null || page === void 0 ? void 0 : page.extra) === null || _d === void 0 ? void 0 : _d.staticResourceAttribute,
674
700
  hideAdminPortalMenu: (_e = page === null || page === void 0 ? void 0 : page.extra) === null || _e === void 0 ? void 0 : _e.hideAdminPortalMenu,
@@ -776,29 +802,28 @@ exports.deserializePlatformApp = deserializePlatformApp;
776
802
  */
777
803
  function serializeRuntimePage(ctx, page //IPageInstance
778
804
  ) {
779
- var _a, _b, _c, _d, _e;
805
+ var _a, _b, _c, _d, _e, _f;
780
806
  const pageCtx = Object.assign(Object.assign({}, ctx), { dependenciesMap: processDependenciesMap(ctx.dependencies || []), page: { id: page.id } });
781
807
  let processedPage = {
782
808
  id: page.id,
783
809
  type: 'PAGE',
784
810
  component: 'Page',
785
- attributes: serializeAttributes(pageCtx, 'page', (0, runtime_1.readDynamicData)(page)),
786
- items: (0, runtime_1.getValidValue)(Object.keys(((_a = page.componentSchemaJson) === null || _a === void 0 ? void 0 : _a.properties) || {}).map((id) => {
811
+ attributes: (_a = serializeAttributesWithExtra(pageCtx, 'page', (0, runtime_1.readDynamicData)(page))) === null || _a === void 0 ? void 0 : _a.data,
812
+ items: (0, runtime_1.getValidValue)(Object.keys(((_b = page.componentSchemaJson) === null || _b === void 0 ? void 0 : _b.properties) || {}).map((id) => {
787
813
  var _a;
788
814
  return serializeRuntimeComponent(pageCtx, Object.assign({ id }, (_a = page.componentSchemaJson) === null || _a === void 0 ? void 0 : _a.properties[id]));
789
815
  })),
790
- resources: (_b = page === null || page === void 0 ? void 0 : page.codeModules) === null || _b === void 0 ? void 0 : _b.map((item) => serializeCodeSource(pageCtx, item)),
816
+ resources: (_c = page === null || page === void 0 ? void 0 : page.codeModules) === null || _c === void 0 ? void 0 : _c.map((item) => serializeCodeSource(pageCtx, item)),
791
817
  dataset: page === null || page === void 0 ? void 0 : page.dataset,
792
- dataVariables: (0, runtime_1.getValidValue)((_d = (_c = page === null || page === void 0 ? void 0 : page.vars) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.map((item) => serializeDataVariables(pageCtx, item))),
818
+ dataVariables: (0, runtime_1.getValidValue)((_e = (_d = page === null || page === void 0 ? void 0 : page.vars) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.map((item) => serializeDataVariables(pageCtx, item))),
793
819
  listeners: (0, runtime_1.getValidValue)((0, runtime_1.readListeners)(page.listenerInstances || []).map((item) => {
794
820
  return serializeListener(pageCtx, item);
795
821
  })),
796
822
  extra: {
797
- pluginInstances: (0, runtime_1.getValidValue)(page === null || page === void 0 ? void 0 : page.pluginInstances),
798
823
  commonStyle: (0, runtime_1.getValidValue)((0, style_1.removeInvalidStyleFormValue)(page.style)),
799
824
  styleBindPath: (0, runtime_1.getValidValue)(page.styleBindPath),
800
825
  xIndex: page.xIndex,
801
- children: (0, runtime_1.getValidValue)((_e = page.children) === null || _e === void 0 ? void 0 : _e.map((child) => serializeRuntimePage(ctx, child))),
826
+ children: (0, runtime_1.getValidValue)((_f = page.children) === null || _f === void 0 ? void 0 : _f.map((child) => serializeRuntimePage(ctx, child))),
802
827
  },
803
828
  };
804
829
  if ((0, common_3.isValidStyleBind)(page.styleBind) && (0, runtime_1.getValidValue)(page.styleBind)) {
@@ -854,33 +879,48 @@ function serializeRuntimeComponent(ctx, component //IComponentSchemaJson
854
879
  .filter((dataType) => dataType.type !== 'slot')
855
880
  .map((dataType) => dataType.propertyPath);
856
881
  let properties = component.properties || {};
857
- processed = Object.assign(Object.assign({}, processed), { module: serializeModuleName(componentCtx, moduleName, name), component: name, attributes: Object.assign(Object.assign({}, serializeAttributes(componentCtx, 'page', ((0, runtime_1.getValidValue)((0, runtime_1.readDynamicData)(props)) || {}))), { style: (0, runtime_1.getValidValue)(props.style), class: (_a = (0, runtime_1.getValidValue)(props.classNameList)) === null || _a === void 0 ? void 0 : _a.join(' ') }), items: (0, runtime_1.getValidValue)(Object.keys(properties)
882
+ const { data: attributes = {}, extra: attributeExtraData = {} } = serializeAttributesWithExtra(componentCtx, 'page', (0, runtime_1.getValidValue)((0, runtime_1.readDynamicData)(props)) || {}) || {};
883
+ let styleBindData = null;
884
+ let classListBindData = null;
885
+ if ((_a = props === null || props === void 0 ? void 0 : props.styleBind) === null || _a === void 0 ? void 0 : _a.bindDataPath) {
886
+ styleBindData = serializeValue({
887
+ ctx: componentCtx,
888
+ key: 'styleBind',
889
+ dynamicValue: {
890
+ type: props.styleBind.type,
891
+ value: props.styleBind.bindDataPath,
892
+ extra: props.styleBind.extra,
893
+ },
894
+ });
895
+ if (styleBindData === null || styleBindData === void 0 ? void 0 : styleBindData.extra) {
896
+ attributeExtraData.style = styleBindData === null || styleBindData === void 0 ? void 0 : styleBindData.extra;
897
+ }
898
+ }
899
+ if ((0, common_3.isValidClassNameListBind)(props.classNameListBind)) {
900
+ classListBindData = serializeValue({
901
+ ctx: componentCtx,
902
+ key: 'classListBind',
903
+ dynamicValue: (0, runtime_1.getValidValue)({
904
+ type: props.classNameListBind.type,
905
+ value: props.classNameListBind.bindDataPath,
906
+ }),
907
+ });
908
+ if (classListBindData === null || classListBindData === void 0 ? void 0 : classListBindData.extra) {
909
+ attributeExtraData.class = classListBindData === null || classListBindData === void 0 ? void 0 : classListBindData.extra;
910
+ }
911
+ }
912
+ processed = Object.assign(Object.assign({}, processed), { module: serializeModuleName(componentCtx, moduleName, name), component: name, attributes: Object.assign(Object.assign({}, attributes), { style: (0, runtime_1.getValidValue)(props.style), class: (_b = (0, runtime_1.getValidValue)(props.classNameList)) === null || _b === void 0 ? void 0 : _b.join(' ') }), items: (0, runtime_1.getValidValue)(Object.keys(properties)
858
913
  .filter((key) => !excludeKeys.includes(key))
859
- .map((key) => serializeRuntimeComponent(ctx, Object.assign({ id: key }, properties[key])))), listeners: (_b = (0, runtime_1.getValidValue)((0, runtime_1.readListeners)(props.listenerInstances))) === null || _b === void 0 ? void 0 : _b.map((listener /* IEventListener */) => {
914
+ .map((key) => serializeRuntimeComponent(ctx, Object.assign({ id: key }, properties[key])))), listeners: (_c = (0, runtime_1.getValidValue)((0, runtime_1.readListeners)(props.listenerInstances))) === null || _c === void 0 ? void 0 : _c.map((listener /* IEventListener */) => {
860
915
  return serializeListener(componentCtx, listener);
861
- }), directives: serializeDirecties(componentCtx, ((0, runtime_1.getValidValue)((0, runtime_1.readDirectives)(props)) || {})) || undefined, ':class': (0, common_3.isValidClassNameListBind)(props.classNameListBind)
862
- ? serializeValue({
863
- ctx: componentCtx,
864
- key: 'classListBind',
865
- dynamicValue: (0, runtime_1.getValidValue)({
866
- type: props.classNameListBind.type,
867
- value: props.classNameListBind.bindDataPath,
868
- }),
869
- }).value
870
- : undefined, ':style': ((_c = props === null || props === void 0 ? void 0 : props.styleBind) === null || _c === void 0 ? void 0 : _c.bindDataPath)
871
- ? serializeValue({
872
- ctx: componentCtx,
873
- key: 'styleBind',
874
- dynamicValue: {
875
- type: props.styleBind.type,
876
- value: props.styleBind.bindDataPath,
877
- },
878
- }).value
879
- : undefined, extra: {
916
+ }), directives: serializeDirecties(componentCtx, ((0, runtime_1.getValidValue)((0, runtime_1.readDirectives)(props)) || {})) || undefined, ':class': (classListBindData === null || classListBindData === void 0 ? void 0 : classListBindData.value) || undefined, ':style': (styleBindData === null || styleBindData === void 0 ? void 0 : styleBindData.value) || undefined, extra: {
880
917
  commonStyle: (0, runtime_1.getValidValue)((0, style_1.removeInvalidStyleFormValue)(props.commonStyle)),
881
918
  xIndex: (0, runtime_1.getValidValue)(component['x-index']),
882
919
  styleBindPath: (0, runtime_1.getValidValue)(props.styleBindPath),
883
920
  staticResourceAttribute: (0, runtime_1.getValidValue)(props.staticResourceAttribute),
921
+ attributeExtraData: (0, common_3.isEmptyObj)(attributeExtraData)
922
+ ? undefined
923
+ : attributeExtraData,
884
924
  } });
885
925
  }
886
926
  else {
@@ -1,8 +1,11 @@
1
+ import { IDynamicValue } from '../../expression';
1
2
  export declare function readComponents(properties?: {
2
3
  [key: string]: any;
3
4
  }, excludeKeys?: string[]): Object;
4
5
  export declare function readDirectives(cmp: any): any;
5
- export declare function readDynamicData(cmp: any): any;
6
+ export declare function readDynamicData(cmp: any): {
7
+ [key: string]: IDynamicValue;
8
+ };
6
9
  export declare function readListeners(listenerInstances?: any[]): any;
7
10
  export declare function writeListeners(listeners?: any[]): any[];
8
11
  export declare function writeDynamicData(from: any, to: any, properties: any): any;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../parser/cals/utils/runtime.ts"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,CAC5B,UAAU,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAmB,EACnD,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,CA+DR;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,OAuCtC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,OA8BvC;AAED,wBAAgB,aAAa,CAAC,iBAAiB,GAAE,GAAG,EAAO,OAiB1D;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAE,GAAG,EAAO,SAenD;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAgExE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAKjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,OAWvC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../parser/cals/utils/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,kBAAkB,CAAA;AAUzE,wBAAgB,cAAc,CAC5B,UAAU,GAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAmB,EACnD,WAAW,GAAE,MAAM,EAAO,GACzB,MAAM,CAiER;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,OAwCtC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CA+B1E;AAED,wBAAgB,aAAa,CAAC,iBAAiB,GAAE,GAAG,EAAO,OAiB1D;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAE,GAAG,EAAO,SAenD;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAkExE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAKjE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,OAWvC"}
@@ -31,6 +31,7 @@ function readComponents(properties = {}, excludeKeys = []) {
31
31
  componentXProps.styleBind = {
32
32
  type: srcProps.styleBind.type,
33
33
  value: srcProps.styleBind.bindDataPath,
34
+ extra: srcProps.styleBind.extra,
34
35
  };
35
36
  }
36
37
  if ((0, common_1.isValidClassNameListBind)(srcProps.classNameListBind)) {
@@ -38,6 +39,7 @@ function readComponents(properties = {}, excludeKeys = []) {
38
39
  setValidValue(componentXProps, 'classListBind', {
39
40
  type: classList.type,
40
41
  value: classList.bindDataPath,
42
+ extra: classList.extra,
41
43
  });
42
44
  }
43
45
  if (srcProps.classNameList) {
@@ -73,6 +75,7 @@ function readDirectives(cmp) {
73
75
  directives.waIf = {
74
76
  type: bind.type || expression_1.PropBindType.state,
75
77
  value: bind.bindDataPath,
78
+ extra: bind.extra,
76
79
  };
77
80
  }
78
81
  }
@@ -81,6 +84,7 @@ function readDirectives(cmp) {
81
84
  directives.waFor = {
82
85
  type: forBind.type || expression_1.PropBindType.state,
83
86
  value: forBind.bindDataPath,
87
+ extra: forBind.extra,
84
88
  };
85
89
  }
86
90
  }
@@ -109,6 +113,7 @@ function readDynamicData(cmp) {
109
113
  data[bind.propertyPath] = {
110
114
  type: bind.type || expression_1.PropBindType.state,
111
115
  value: bind.bindDataPath,
116
+ extra: bind.extra,
112
117
  };
113
118
  }
114
119
  });
@@ -178,6 +183,7 @@ function writeDynamicData(from = {}, to, properties) {
178
183
  propertyPath: prop,
179
184
  bindDataPath: dv.value,
180
185
  type: dv.type,
186
+ extra: dv.extra,
181
187
  });
182
188
  }
183
189
  else {
@@ -194,6 +200,7 @@ function writeDynamicData(from = {}, to, properties) {
194
200
  propertyPath: prop,
195
201
  bindDataPath: fixedValue,
196
202
  type: expression_1.PropBindType.expression,
203
+ extra: dv.extra,
197
204
  });
198
205
  }
199
206
  act.dataTypes.push({
@@ -46,11 +46,13 @@ export declare enum ActionType {
46
46
  export interface IDynamicValue {
47
47
  type: PropBindType;
48
48
  value: any;
49
+ extra?: any;
49
50
  }
50
51
  export interface IDataBind {
51
52
  propertyPath: string;
52
53
  bindDataPath: string;
53
54
  type?: PropBindType;
55
+ extra?: any;
54
56
  }
55
57
  interface NodeEx extends Node {
56
58
  $parent: NodeEx;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../parser/expression/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../parser/expression/index.ts"],"names":[],"mappings":"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"}