@byteluck-fe/model-driven-upgrade 2.21.0-beta.9 → 2.22.0-beta.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.
@@ -4,8 +4,8 @@
4
4
  * @Date: 2024-01-22 14:16:13
5
5
  * @LastEditors: SuperLuckyqi
6
6
  * @LastEditTime: 2024-05-11 14:44:13
7
- */ import { loop, CONTROL_TYPE, decamelizeKeys } from "@byteluck-fe/model-driven-shared";
8
- import { MetaRowHeight } from "@byteluck-fe/model-driven-core";
7
+ */ import { loop, CONTROL_TYPE, decamelizeKeys } from '@byteluck-fe/model-driven-shared';
8
+ import { MetaRowHeight } from '@byteluck-fe/model-driven-core';
9
9
  function postProcess(controlMap, payload) {
10
10
  if ((payload === null || payload === void 0 ? void 0 : payload.formType) === 1 && (payload === null || payload === void 0 ? void 0 : payload.events) !== undefined) {
11
11
  var _payload_events;
@@ -14,12 +14,12 @@ function postProcess(controlMap, payload) {
14
14
  //本次转换将把原有的列表did_mount事件内容更换到did_init事件中。
15
15
  var did_mount = (_payload_events_did_mount = payload === null || payload === void 0 ? void 0 : (_payload_events = payload.events) === null || _payload_events === void 0 ? void 0 : _payload_events.did_mount) !== null && _payload_events_did_mount !== void 0 ? _payload_events_did_mount : [];
16
16
  if (did_mount.length > 0) {
17
- payload.events["did_init"] = did_mount;
18
- payload.events["did_mount"] = [];
17
+ payload.events['did_init'] = did_mount;
18
+ payload.events['did_mount'] = [];
19
19
  }
20
20
  //默认需要补充新的 did_init 事件
21
- if (payload.events["did_init"] === undefined) {
22
- payload.events["did_init"] = [];
21
+ if (payload.events['did_init'] === undefined) {
22
+ payload.events['did_init'] = [];
23
23
  }
24
24
  // 注意:这里没有改变schema,仅升级表单的可视化事件
25
25
  }
@@ -42,7 +42,7 @@ function conversion(schema, payload) {
42
42
  if (schema.type === CONTROL_TYPE.TEXTAREA) {
43
43
  var _schema_props_line_ellipsis, _schema_props_max_rows, _schema_props_line_ellipsis1;
44
44
  var setting = {
45
- rowHeightType: schema.props.auto_size === true ? "auto" : "fixed",
45
+ rowHeightType: schema.props.auto_size === true ? 'auto' : 'fixed',
46
46
  minRows: (_schema_props_line_ellipsis = schema.props.line_ellipsis) !== null && _schema_props_line_ellipsis !== void 0 ? _schema_props_line_ellipsis : 4,
47
47
  maxRows: (_schema_props_max_rows = schema.props.max_rows) !== null && _schema_props_max_rows !== void 0 ? _schema_props_max_rows : 20,
48
48
  fiexdRow: (_schema_props_line_ellipsis1 = schema.props.line_ellipsis) !== null && _schema_props_line_ellipsis1 !== void 0 ? _schema_props_line_ellipsis1 : 4
@@ -57,11 +57,11 @@ function conversion(schema, payload) {
57
57
  var displayBoList = config === null || config === void 0 ? void 0 : config.display_bo_list;
58
58
  if (displayBoList) {
59
59
  displayBoList.forEach(function(item) {
60
- if (item.value === "org_type_code") {
61
- item.label = "业务类型";
60
+ if (item.value === 'org_type_code') {
61
+ item.label = '业务类型';
62
62
  }
63
- if (item.value === "org_pattern_code") {
64
- item.label = "组织形态";
63
+ if (item.value === 'org_pattern_code') {
64
+ item.label = '组织形态';
65
65
  }
66
66
  });
67
67
  }
@@ -4,7 +4,7 @@
4
4
  * @Date: 2024-01-22 14:16:13
5
5
  * @LastEditors: SuperLuckyqi
6
6
  * @LastEditTime: 2024-01-22 14:19:43
7
- */ import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
7
+ */ import { loop, CONTROL_TYPE } from '@byteluck-fe/model-driven-shared';
8
8
  var dataCleaner = function(schemaItems, payload) {
9
9
  var isArray = Array.isArray(schemaItems);
10
10
  var schemaArray = isArray ? schemaItems : [
@@ -31,27 +31,27 @@ function postProcess(controlMap, payload) {
31
31
  if ((control === null || control === void 0 ? void 0 : control.type) === CONTROL_TYPE.BUTTON) {
32
32
  var _control_props_opt_obj, _control_props, _control_props_opt_obj1, _control_props1, _payload_dataModelExtend;
33
33
  if ([
34
- "draft",
35
- "form_submit",
36
- "save"
34
+ 'draft',
35
+ 'form_submit',
36
+ 'save'
37
37
  ].includes((_control_props = control.props) === null || _control_props === void 0 ? void 0 : (_control_props_opt_obj = _control_props.opt_obj) === null || _control_props_opt_obj === void 0 ? void 0 : _control_props_opt_obj.opt_type)) {
38
38
  controlDef === null || controlDef === void 0 ? void 0 : controlDef.map(function(event) {
39
39
  var _event_cases, _event_cases__handlers, _event_cases_, _event_cases1;
40
40
  event === null || event === void 0 ? void 0 : (_event_cases = event.cases) === null || _event_cases === void 0 ? void 0 : _event_cases.map(function(caseItem) {
41
41
  var _caseItem_handlers;
42
42
  caseItem === null || caseItem === void 0 ? void 0 : (_caseItem_handlers = caseItem.handlers) === null || _caseItem_handlers === void 0 ? void 0 : _caseItem_handlers.map(function(handler) {
43
- if ((handler === null || handler === void 0 ? void 0 : handler.method) === "optPage") {
44
- if (handler.params.operation === "refresh") {
45
- handler.params.operation = "close";
43
+ if ((handler === null || handler === void 0 ? void 0 : handler.method) === 'optPage') {
44
+ if (handler.params.operation === 'refresh') {
45
+ handler.params.operation = 'close';
46
46
  }
47
47
  }
48
- if ((handler === null || handler === void 0 ? void 0 : handler.method) === "openPage") {
48
+ if ((handler === null || handler === void 0 ? void 0 : handler.method) === 'openPage') {
49
49
  var _handler_params_options_link_fx, _handler_params_options_link, _handler_params_options, _handler_params;
50
50
  if (((_handler_params = handler.params) === null || _handler_params === void 0 ? void 0 : (_handler_params_options = _handler_params.options) === null || _handler_params_options === void 0 ? void 0 : (_handler_params_options_link = _handler_params_options.link) === null || _handler_params_options_link === void 0 ? void 0 : (_handler_params_options_link_fx = _handler_params_options_link.fx) === null || _handler_params_options_link_fx === void 0 ? void 0 : _handler_params_options_link_fx.expression) === "GET_FORM_URL(GET_PAYLOAD_VAL('value').data_uid,{type:'edit'})") {
51
- handler.id = "optPage";
52
- handler.method = "optPage";
51
+ handler.id = 'optPage';
52
+ handler.method = 'optPage';
53
53
  handler.params = {
54
- operation: "close"
54
+ operation: 'close'
55
55
  };
56
56
  }
57
57
  }
@@ -59,10 +59,10 @@ function postProcess(controlMap, payload) {
59
59
  });
60
60
  if ((event === null || event === void 0 ? void 0 : (_event_cases1 = event.cases) === null || _event_cases1 === void 0 ? void 0 : (_event_cases_ = _event_cases1[0]) === null || _event_cases_ === void 0 ? void 0 : (_event_cases__handlers = _event_cases_.handlers) === null || _event_cases__handlers === void 0 ? void 0 : _event_cases__handlers.length) === 1) {
61
61
  event.cases[0].handlers.push({
62
- id: "optPage",
63
- method: "optPage",
62
+ id: 'optPage',
63
+ method: 'optPage',
64
64
  params: {
65
- operation: "close"
65
+ operation: 'close'
66
66
  }
67
67
  });
68
68
  }
@@ -70,13 +70,13 @@ function postProcess(controlMap, payload) {
70
70
  }
71
71
  //数据审核模式 && 提交按钮,最后的关闭事件要变成刷新。其他情况不改动。即:非数据审核模式 提交、保存、保存草稿 都是关闭
72
72
  if ([
73
- "form_submit"
74
- ].includes((_control_props1 = control.props) === null || _control_props1 === void 0 ? void 0 : (_control_props_opt_obj1 = _control_props1.opt_obj) === null || _control_props_opt_obj1 === void 0 ? void 0 : _control_props_opt_obj1.opt_type) && ((_payload_dataModelExtend = payload.dataModelExtend) === null || _payload_dataModelExtend === void 0 ? void 0 : _payload_dataModelExtend.process_status_enum_type) === "business") {
73
+ 'form_submit'
74
+ ].includes((_control_props1 = control.props) === null || _control_props1 === void 0 ? void 0 : (_control_props_opt_obj1 = _control_props1.opt_obj) === null || _control_props_opt_obj1 === void 0 ? void 0 : _control_props_opt_obj1.opt_type) && ((_payload_dataModelExtend = payload.dataModelExtend) === null || _payload_dataModelExtend === void 0 ? void 0 : _payload_dataModelExtend.process_status_enum_type) === 'business') {
75
75
  controlDef === null || controlDef === void 0 ? void 0 : controlDef.map(function(event) {
76
76
  event.cases[0].handlers.map(function(handler) {
77
- if ((handler === null || handler === void 0 ? void 0 : handler.method) === "optPage") {
78
- if (handler.params.operation === "close") {
79
- handler.params.operation = "edit";
77
+ if ((handler === null || handler === void 0 ? void 0 : handler.method) === 'optPage') {
78
+ if (handler.params.operation === 'close') {
79
+ handler.params.operation = 'edit';
80
80
  }
81
81
  }
82
82
  });
@@ -4,7 +4,7 @@
4
4
  * @Date: 2024-01-22 14:16:13
5
5
  * @LastEditors: SuperLuckyqi
6
6
  * @LastEditTime: 2024-01-22 14:19:43
7
- */ import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
7
+ */ import { loop, CONTROL_TYPE } from '@byteluck-fe/model-driven-shared';
8
8
  var dataCleaner = function(schemaItems, payload) {
9
9
  var isArray = Array.isArray(schemaItems);
10
10
  var schemaArray = isArray ? schemaItems : [
@@ -26,11 +26,11 @@ function conversion(schema, payload) {
26
26
  var displayBoList = config === null || config === void 0 ? void 0 : config.display_bo_list;
27
27
  if (displayBoList) {
28
28
  displayBoList.forEach(function(item) {
29
- if (item.value === "org_type_code") {
30
- item.label = "业务类型";
29
+ if (item.value === 'org_type_code') {
30
+ item.label = '业务类型';
31
31
  }
32
- if (item.value === "org_pattern_code") {
33
- item.label = "组织形态";
32
+ if (item.value === 'org_pattern_code') {
33
+ item.label = '组织形态';
34
34
  }
35
35
  });
36
36
  }
@@ -45,12 +45,12 @@ function postProcess(controlMap, payload) {
45
45
  //本次转换将把原有的列表did_mount事件内容更换到did_init事件中。
46
46
  var did_mount = (_payload_events_did_mount = payload === null || payload === void 0 ? void 0 : (_payload_events = payload.events) === null || _payload_events === void 0 ? void 0 : _payload_events.did_mount) !== null && _payload_events_did_mount !== void 0 ? _payload_events_did_mount : [];
47
47
  if (did_mount.length > 0) {
48
- payload.events["did_init"] = did_mount;
49
- payload.events["did_mount"] = [];
48
+ payload.events['did_init'] = did_mount;
49
+ payload.events['did_mount'] = [];
50
50
  }
51
51
  //默认需要补充新的 did_init 事件
52
- if (payload.events["did_init"] === undefined) {
53
- payload.events["did_init"] = [];
52
+ if (payload.events['did_init'] === undefined) {
53
+ payload.events['did_init'] = [];
54
54
  }
55
55
  // 注意:这里没有改变schema,仅升级表单的可视化事件
56
56
  }
@@ -4,7 +4,7 @@
4
4
  * @Date: 2024-01-22 14:16:13
5
5
  * @LastEditors: SuperLuckyqi
6
6
  * @LastEditTime: 2024-01-22 14:19:43
7
- */ import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
7
+ */ import { loop, CONTROL_TYPE } from '@byteluck-fe/model-driven-shared';
8
8
  var dataCleaner = function(schemaItems, payload) {
9
9
  var isArray = Array.isArray(schemaItems);
10
10
  var schemaArray = isArray ? schemaItems : [
@@ -38,11 +38,11 @@ function conversion(schema, payload) {
38
38
  var displayBoList = config === null || config === void 0 ? void 0 : config.display_bo_list;
39
39
  if (displayBoList) {
40
40
  displayBoList.forEach(function(item) {
41
- if (item.value === "org_type_code") {
42
- item.label = "业务类型";
41
+ if (item.value === 'org_type_code') {
42
+ item.label = '业务类型';
43
43
  }
44
- if (item.value === "org_pattern_code") {
45
- item.label = "组织形态";
44
+ if (item.value === 'org_pattern_code') {
45
+ item.label = '组织形态';
46
46
  }
47
47
  });
48
48
  }
@@ -1,4 +1,4 @@
1
- import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
1
+ import { loop, CONTROL_TYPE } from '@byteluck-fe/model-driven-shared';
2
2
  var dataCleaner = function(schemaItems, payload) {
3
3
  var isArray = Array.isArray(schemaItems);
4
4
  var schemaArray = isArray ? schemaItems : [
@@ -17,7 +17,7 @@ function conversion(schema, payload) {
17
17
  schema.children.forEach(function(item) {
18
18
  if (item.type === CONTROL_TYPE.SELECT || item.type === CONTROL_TYPE.SELECT_MULTIPLE) {
19
19
  var selectInstance = item;
20
- if (selectInstance.props.option_config === "datasource") {
20
+ if (selectInstance.props.option_config === 'datasource') {
21
21
  selectInstance.props.default_show_options = false;
22
22
  }
23
23
  }
@@ -33,31 +33,35 @@ function conversionRowStyle(schema) {
33
33
  var rowStyle = {
34
34
  "type": (_props_row_style_type = props.row_style_type) !== null && _props_row_style_type !== void 0 ? _props_row_style_type : "none",
35
35
  "interval": {
36
- "color": (_props_row_style_bg_color = props.row_style_bg_color) !== null && _props_row_style_bg_color !== void 0 ? _props_row_style_bg_color : ""
36
+ "color": (_props_row_style_bg_color = props.row_style_bg_color) !== null && _props_row_style_bg_color !== void 0 ? _props_row_style_bg_color : ''
37
37
  },
38
38
  "rules": []
39
39
  };
40
40
  if (props.row_style_rules) {
41
- props.row_style_rules.forEach(function(item) {
42
- var id = item.id;
41
+ props.row_style_rules.forEach(function(rule) {
42
+ var id = rule.id;
43
43
  var setting = {
44
- "color": item.color,
44
+ "color": rule.color,
45
45
  "type": "background",
46
46
  "scope": "row",
47
- "fieldCodes": []
47
+ "fieldCodes": [
48
+ "_row_"
49
+ ]
48
50
  };
49
51
  var script;
50
52
  if (props.row_style_rules_script) {
51
53
  var scriptItem = props.row_style_rules_script.find(function(scriptItem) {
52
54
  return scriptItem.id === id;
53
55
  });
54
- script = scriptItem.script;
56
+ if (scriptItem) {
57
+ script = parseScript(rule.filters, scriptItem.script);
58
+ }
55
59
  }
56
- item.settings = [
60
+ rule.settings = [
57
61
  setting
58
62
  ];
59
- item.script = script;
60
- delete item.color;
63
+ rule.script = script;
64
+ delete rule.color;
61
65
  });
62
66
  rowStyle.rules = props.row_style_rules;
63
67
  }
@@ -68,6 +72,95 @@ function conversionRowStyle(schema) {
68
72
  delete props.row_style_rules_script;
69
73
  }
70
74
  }
75
+ function getRuleLeftValuesOfNeedSpecialMatch(filters, leftValues) {
76
+ if (!leftValues) {
77
+ leftValues = {};
78
+ }
79
+ filters.forEach(function(filter) {
80
+ if (filter.children) {
81
+ getRuleLeftValuesOfNeedSpecialMatch(filter.children, leftValues);
82
+ } else {
83
+ var left = filter.left_variable_bo;
84
+ switch(left.type){
85
+ case 'people':
86
+ case 'department':
87
+ case 'array':
88
+ case 'timestamp':
89
+ var field = left.value;
90
+ leftValues[field] = left;
91
+ break;
92
+ }
93
+ }
94
+ });
95
+ return leftValues;
96
+ }
97
+ function getScriptList(script) {
98
+ script = script.replace(/\(|\)/g, '').replace(/(\|\|)|(&&)/g, '__split__');
99
+ var list = script.split('__split__').map(function(str) {
100
+ return str.replace(/^\s+|\s+$/gm, '');
101
+ });
102
+ return list;
103
+ }
104
+ function getScriptOperateAndValue(script) {
105
+ var operate = '';
106
+ var value = '';
107
+ if (script[0] === '!') {
108
+ operate = 'is_empty';
109
+ } else {
110
+ var match = script.match(/(===|!=|>|>=|<|<=)/);
111
+ if (match) {
112
+ var oldOperate = match[0];
113
+ switch(oldOperate){
114
+ case '===':
115
+ operate = 'op_equal';
116
+ break;
117
+ case '!=':
118
+ operate = 'op_no_equal';
119
+ break;
120
+ case '>':
121
+ operate = 'op_greater';
122
+ break;
123
+ case '>=':
124
+ operate = 'op_greater_equal';
125
+ break;
126
+ case '<':
127
+ operate = 'op_less';
128
+ break;
129
+ case '<=':
130
+ operate = 'op_less_equal';
131
+ break;
132
+ default:
133
+ operate = 'is_not_empty';
134
+ break;
135
+ }
136
+ value = script.split(oldOperate)[1] || '';
137
+ } else {
138
+ operate = 'is_not_empty';
139
+ }
140
+ }
141
+ return {
142
+ operate: operate,
143
+ value: value
144
+ };
145
+ }
146
+ function parseScript(filters, script) {
147
+ var leftValues = getRuleLeftValuesOfNeedSpecialMatch(filters);
148
+ var scriptList = getScriptList(script);
149
+ scriptList.forEach(function(scriptItem) {
150
+ Object.keys(leftValues).forEach(function(field) {
151
+ var index = scriptItem.indexOf("params.data.data_value_map['".concat(field, "']"));
152
+ if (index > -1) {
153
+ var left = leftValues[field];
154
+ var type = left.type;
155
+ var _getScriptOperateAndValue = getScriptOperateAndValue(scriptItem), operate = _getScriptOperateAndValue.operate, value = _getScriptOperateAndValue.value;
156
+ var newScriptItem = "SpecialMatch(data, sys, '".concat(field, "', '").concat(type, "', '").concat(operate, "', ").concat(value ? value : "''", ")");
157
+ script = script.replace(scriptItem, newScriptItem);
158
+ }
159
+ });
160
+ });
161
+ script = script.replace(/params.data.data_value_map/g, 'data');
162
+ return script;
163
+ }
71
164
  function conversionFootersToHeaders(schema) {
72
165
  if (schema[0].type === CONTROL_TYPE.LIST_VIEW) {
73
166
  var tableSchema = schema[0].children.find(function(item) {
@@ -79,11 +172,11 @@ function conversionFootersToHeaders(schema) {
79
172
  var footersObj = {};
80
173
  if (footers && footers.length > 0) {
81
174
  footers.forEach(function(item) {
82
- var id = item.id.replace("foot_", "");
175
+ var id = item.id.replace('foot_', '');
83
176
  var children = item.children;
84
177
  if (children && children.length > 0) {
85
178
  if (item.children[0].type !== CONTROL_TYPE.BUTTON) {
86
- item.children[0].field_type = item.field_type || "varchar";
179
+ item.children[0].field_type = item.field_type || 'varchar';
87
180
  }
88
181
  }
89
182
  footersObj[id] = item;