@byteluck-fe/model-driven-upgrade 2.2.2-beta.8 → 2.2.2

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.
@@ -19,6 +19,7 @@ function _createClass(Constructor, protoProps, staticProps) {
19
19
  }
20
20
  import { error, log } from "@byteluck-fe/model-driven-shared";
21
21
  import dataCleaner from "./upgrade";
22
+ import { compareVersions, compare } from "compare-versions";
22
23
  function versionReplace$v(version) {
23
24
  return version.replace(/^v/, "");
24
25
  }
@@ -27,10 +28,12 @@ function versionToNumber(version) {
27
28
  }
28
29
  var versionKeys = Object.keys(dataCleaner).map(function(key) {
29
30
  return versionReplace$v(key);
30
- }).sort(function(a, b) {
31
- return Number(a) - Number(b);
32
- });
31
+ }).sort(compareVersions);
32
+ // .sort((a, b) => Number(a) - Number(b))
33
33
  var nowVersion = versionKeys[versionKeys.length - 1];
34
+ // const result = compareVersions('2.10', '3.1')
35
+ // const sort = versionKeys.sort(compareVersions)
36
+ // console.log('compareVersions', result, sort)
34
37
  export var VersionBuilder = /*#__PURE__*/ function() {
35
38
  "use strict";
36
39
  function VersionBuilder(schemaVersion) {
@@ -38,7 +41,8 @@ export var VersionBuilder = /*#__PURE__*/ function() {
38
41
  _classCallCheck(this, VersionBuilder);
39
42
  this.schemaVersion = schemaVersion;
40
43
  this.toVersion = version;
41
- if (versionToNumber(version) > versionToNumber(nowVersion)) {
44
+ // if (versionToNumber(version) > versionToNumber(nowVersion)) {
45
+ if (compare(version, nowVersion, ">")) {
42
46
  error("Version Builder: The specified ".concat(version, " is an undefined version, and the current latest version is ").concat(nowVersion));
43
47
  } else if (!versionKeys.includes(versionReplace$v(version)) || !versionKeys.includes(versionReplace$v(schemaVersion))) {
44
48
  error("Version Builder: Please give me a valid version number, The valid version is: ".concat(versionKeys.join(","), ", But give me a ").concat(schemaVersion));
@@ -47,7 +51,8 @@ export var VersionBuilder = /*#__PURE__*/ function() {
47
51
  var _proto = VersionBuilder.prototype;
48
52
  _proto.dataCleaner = function dataCleaner1(schema, payload) {
49
53
  var _this = this;
50
- if (this._version === this._schemaVersion) {
54
+ // if (this._version === this._schemaVersion) {
55
+ if (compare(this.toVersion, this.schemaVersion, "=")) {
51
56
  return schema;
52
57
  }
53
58
  var result = this.callDataCleanerKeys.reduce(function(schema, currentVersion, index, arr) {
@@ -73,7 +78,8 @@ export var VersionBuilder = /*#__PURE__*/ function() {
73
78
  get: function get() {
74
79
  var _this = this;
75
80
  return versionKeys.filter(function(item) {
76
- return Number(item) >= _this._schemaVersion && Number(item) < _this._version;
81
+ return(// Number(item) >= this._schemaVersion && Number(item) < this._version
82
+ compare(item, _this.schemaVersion, ">=") && compare(item, _this.toVersion, "<"));
77
83
  });
78
84
  }
79
85
  },
@@ -85,21 +91,15 @@ export var VersionBuilder = /*#__PURE__*/ function() {
85
91
  });
86
92
  }
87
93
  },
88
- {
89
- key: "_version",
90
- get: function get() {
91
- return versionToNumber(this.toVersion);
92
- }
93
- },
94
- {
95
- key: "_schemaVersion",
96
- get: function get() {
97
- return versionToNumber(this.schemaVersion);
98
- }
99
- },
100
94
  {
101
95
  key: "version",
102
- get: /*
96
+ get: // private get _version() {
97
+ // return versionToNumber(this.toVersion)
98
+ // }
99
+ // private get _schemaVersion() {
100
+ // return versionToNumber(this.schemaVersion)
101
+ // }
102
+ /*
103
103
  * 最新版本号
104
104
  * */ function get() {
105
105
  return nowVersion;
@@ -8,7 +8,8 @@ import { dataCleaner as dataCleanerV2_5toV2_6 } from "./v2_5";
8
8
  import { dataCleaner as dataCleanerV2_6toV2_7 } from "./v2_6";
9
9
  import { dataCleaner as dataCleanerV2_7toV2_8 } from "./v2_7";
10
10
  import { dataCleaner as dataCleanerV2_8toV2_9 } from "./v2_8";
11
- import { dataCleaner as dataCleanerV2_9toV3_0 } from "./v2_9";
11
+ import { dataCleaner as dataCleanerV2_9toV2_10 } from "./v2_9";
12
+ import { dataCleaner as dataCleanerV2_10toV3_0 } from "./v2_10";
12
13
  import { dataCleaner as dataCleanerV3_0toV3_1 } from "./v3_0";
13
14
  // TODO 切记复制粘贴的时候改一下from后边的路径,不然会出事儿
14
15
  // TODO 注意从2.5版本开始,没有进行驼峰转下划线了,写的时候要注意
@@ -23,7 +24,8 @@ export default {
23
24
  "v2.6": dataCleanerV2_6toV2_7,
24
25
  "v2.7": dataCleanerV2_7toV2_8,
25
26
  "v2.8": dataCleanerV2_8toV2_9,
26
- "v2.9": dataCleanerV2_9toV3_0,
27
+ "v2.9": dataCleanerV2_9toV2_10,
28
+ "v2.10": dataCleanerV2_10toV3_0,
27
29
  "v3.0": dataCleanerV3_0toV3_1,
28
30
  // 每次都需要预留一个下一版本的转换函数,会使用到对应的key作为当前最新的schema version
29
31
  "v3.1": function() {}
@@ -0,0 +1,53 @@
1
+ import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
2
+ var dataCleaner = function(schemaItems, payload) {
3
+ var isArray = Array.isArray(schemaItems);
4
+ var schemaArray = isArray ? schemaItems : [
5
+ schemaItems
6
+ ];
7
+ var new_schema = loop(schemaArray, function(item) {
8
+ return conversion(item, payload);
9
+ });
10
+ return isArray ? new_schema : new_schema[0];
11
+ };
12
+ function conversion(schema, payload) {
13
+ //兼容老数据数据填充是否开启,老数据默认开启
14
+ if ([
15
+ CONTROL_TYPE.SELECT,
16
+ CONTROL_TYPE.SELECT_RELATION,
17
+ CONTROL_TYPE.SELECT_MULTIPLE,
18
+ CONTROL_TYPE.RADIO,
19
+ CONTROL_TYPE.CHECKBOX,
20
+ CONTROL_TYPE.TREE,
21
+ CONTROL_TYPE.DEPARTMENT2,
22
+ CONTROL_TYPE.EMPLOYEE2,
23
+ CONTROL_TYPE.DEPARTMENT,
24
+ CONTROL_TYPE.EMPLOYEE
25
+ ].includes(schema.type)) {
26
+ if (schema.props.open_multistage_filling === undefined) {
27
+ schema.props.open_multistage_filling = true;
28
+ }
29
+ }
30
+ //兼容老数据数据填充是否开启,老数据默认开启 明细表内控件
31
+ if (schema.type === CONTROL_TYPE.SUBTABLE) {
32
+ schema.props.headers.forEach(function(item) {
33
+ if ([
34
+ CONTROL_TYPE.SELECT,
35
+ CONTROL_TYPE.SELECT_RELATION,
36
+ CONTROL_TYPE.SELECT_MULTIPLE,
37
+ CONTROL_TYPE.RADIO,
38
+ CONTROL_TYPE.CHECKBOX,
39
+ CONTROL_TYPE.TREE,
40
+ CONTROL_TYPE.DEPARTMENT2,
41
+ CONTROL_TYPE.EMPLOYEE2,
42
+ CONTROL_TYPE.DEPARTMENT,
43
+ CONTROL_TYPE.EMPLOYEE
44
+ ].includes(item.children[0].type)) {
45
+ if (item.children[0].props.open_multistage_filling === undefined) {
46
+ item.children[0].props.open_multistage_filling = true;
47
+ }
48
+ }
49
+ });
50
+ }
51
+ return schema;
52
+ }
53
+ export { dataCleaner };
@@ -1,11 +1,11 @@
1
1
  /*
2
2
  * @Author: qiyu qiyu@byteluck.com
3
3
  * @Date: 2022-12-22 11:36:04
4
- * @LastEditors: SuperLucky-Q
5
- * @LastEditTime: 2022-12-30 14:36:45
6
- * @FilePath: /model-driven/packages/upgrade/src/upgrade/v2_10.ts
4
+ * @LastEditors: qiyu qiyu@byteluck.com
5
+ * @LastEditTime: 2023-03-03 13:42:29
6
+ * @FilePath: /model-driven/packages/upgrade/src/upgrade/v2_9.ts
7
7
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
- */ import { loop } from "@byteluck-fe/model-driven-shared";
8
+ */ import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
9
9
  var dataCleaner = function(schemaItems, payload) {
10
10
  var isArray = Array.isArray(schemaItems);
11
11
  var schemaArray = isArray ? schemaItems : [
@@ -17,77 +17,44 @@ var dataCleaner = function(schemaItems, payload) {
17
17
  return isArray ? new_schema : new_schema[0];
18
18
  };
19
19
  function conversion(schema, payload) {
20
- // if (schema.type === CONTROL_TYPE.GRID_TABLE) {
21
- // schema.props.headers.map((item: any) => {
22
- // if (item.type === CONTROL_TYPE.OPERATION_COLUMN) {
23
- // if (item.props.width_type === 'auto') {
24
- // item.props.auto_width = {
25
- // min_width: 120,
26
- // max_width: 120,
27
- // flex: 1,
28
- // }
29
- // } else if (item.props.width_type === 'px') {
30
- // item.props.auto_width = {
31
- // min_width: item.props.width,
32
- // max_width: item.props.width,
33
- // flex: 1,
34
- // }
35
- // }
36
- // item.props.width_type = 'auto'
37
- // item.children = []
38
- // delete item.props.custom
39
- // if (item.props?.check !== undefined) {
40
- // const optbtn = new OperationButton.Designer()
41
- // optbtn.props.code = 'view'
42
- // optbtn.props.icon = 'iconliulan1'
43
- // optbtn.props.command = 'view'
44
- // optbtn.props.content = item.props?.check.content
45
- // optbtn.props.priorityProcess = item.props?.check.priority_process
46
- // optbtn.props.openType = item.props?.check.open_type
47
- // optbtn.props.formKey = item.props?.check.form_key
48
- // if (item.props?.check.is_show) {
49
- // item.children.push(optbtn.toSchema())
50
- // }
51
- // delete item.props?.check
52
- // }
53
- // if (item.props?.edit !== undefined) {
54
- // const optbtn = new OperationButton.Designer()
55
- // optbtn.props.code = 'edit'
56
- // optbtn.props.icon = 'iconbianji1'
57
- // optbtn.props.command = 'edit'
58
- // optbtn.props.content = item.props?.edit.content
59
- // optbtn.props.priorityProcess = item.props?.edit.priority_process
60
- // optbtn.props.openType = item.props?.edit.open_type
61
- // optbtn.props.formKey = item.props?.edit.form_key
62
- // if (item.props?.edit.is_show) {
63
- // item.children.push(optbtn.toSchema())
64
- // }
65
- // delete item.props?.edit
66
- // }
67
- // if (item.props?.delete !== undefined) {
68
- // const optbtn = new OperationButton.Designer()
69
- // optbtn.props.code = 'delete'
70
- // optbtn.props.icon = 'iconlajitong'
71
- // optbtn.props.command = 'delete'
72
- // optbtn.props.content = item.props?.delete.content
73
- // optbtn.props.priorityProcess = item.props?.delete.priority_process
74
- // optbtn.props.openType = item.props?.delete.open_type
75
- // optbtn.props.formKey = item.props?.delete.form_key
76
- // optbtn.props.needConfirm = true
77
- // optbtn.props.confirmMessage = '确定要删除此条数据吗?'
78
- // if (item.props?.delete.is_show) {
79
- // item.children.push(optbtn.toSchema())
80
- // }
81
- // delete item.props?.delete
82
- // }
83
- // }
84
- // })
85
- // }
86
- // //标题组件控件兼容老数据 config 默认展示标题
87
- // if (schema.type === CONTROL_TYPE.TITLE) {
88
- // schema.props.config.push(TitleConfigEnum.ShowTitle)
89
- // }
90
- //
20
+ //兼容老数据数据填充是否开启,老数据默认开启
21
+ if ([
22
+ CONTROL_TYPE.SELECT,
23
+ CONTROL_TYPE.SELECT_RELATION,
24
+ CONTROL_TYPE.SELECT_MULTIPLE,
25
+ CONTROL_TYPE.RADIO,
26
+ CONTROL_TYPE.CHECKBOX,
27
+ CONTROL_TYPE.TREE,
28
+ CONTROL_TYPE.DEPARTMENT2,
29
+ CONTROL_TYPE.EMPLOYEE2,
30
+ CONTROL_TYPE.DEPARTMENT,
31
+ CONTROL_TYPE.EMPLOYEE
32
+ ].includes(schema.type)) {
33
+ if (schema.props.open_multistage_filling === undefined) {
34
+ schema.props.open_multistage_filling = true;
35
+ }
36
+ }
37
+ //兼容老数据数据填充是否开启,老数据默认开启 明细表内控件
38
+ if (schema.type === CONTROL_TYPE.SUBTABLE) {
39
+ schema.props.headers.forEach(function(item) {
40
+ if ([
41
+ CONTROL_TYPE.SELECT,
42
+ CONTROL_TYPE.SELECT_RELATION,
43
+ CONTROL_TYPE.SELECT_MULTIPLE,
44
+ CONTROL_TYPE.RADIO,
45
+ CONTROL_TYPE.CHECKBOX,
46
+ CONTROL_TYPE.TREE,
47
+ CONTROL_TYPE.DEPARTMENT2,
48
+ CONTROL_TYPE.EMPLOYEE2,
49
+ CONTROL_TYPE.DEPARTMENT,
50
+ CONTROL_TYPE.EMPLOYEE
51
+ ].includes(item.children[0].type)) {
52
+ if (item.children[0].props.open_multistage_filling === undefined) {
53
+ item.children[0].props.open_multistage_filling = true;
54
+ }
55
+ }
56
+ });
57
+ }
91
58
  return schema;
92
59
  }
93
60
  export { dataCleaner };
@@ -1,8 +1,8 @@
1
1
  /*
2
2
  * @Author: qiyu qiyu@byteluck.com
3
3
  * @Date: 2022-12-22 11:36:04
4
- * @LastEditors: SuperLucky-Q
5
- * @LastEditTime: 2022-12-30 16:27:12
4
+ * @LastEditors: qiyu qiyu@byteluck.com
5
+ * @LastEditTime: 2023-03-03 13:42:45
6
6
  * @FilePath: /model-driven/packages/upgrade/src/upgrade/v2_10.ts
7
7
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
8
8
  */ import { loop, CONTROL_TYPE } from "@byteluck-fe/model-driven-shared";
@@ -103,6 +103,44 @@ function conversion(schema, payload) {
103
103
  }
104
104
  });
105
105
  }
106
+ //兼容老数据数据填充是否开启,老数据默认开启
107
+ if ([
108
+ CONTROL_TYPE.SELECT,
109
+ CONTROL_TYPE.SELECT_RELATION,
110
+ CONTROL_TYPE.SELECT_MULTIPLE,
111
+ CONTROL_TYPE.RADIO,
112
+ CONTROL_TYPE.CHECKBOX,
113
+ CONTROL_TYPE.TREE,
114
+ CONTROL_TYPE.DEPARTMENT2,
115
+ CONTROL_TYPE.EMPLOYEE2,
116
+ CONTROL_TYPE.DEPARTMENT,
117
+ CONTROL_TYPE.EMPLOYEE
118
+ ].includes(schema.type)) {
119
+ if (schema.props.open_multistage_filling === undefined) {
120
+ schema.props.open_multistage_filling = true;
121
+ }
122
+ }
123
+ //兼容老数据数据填充是否开启,老数据默认开启 明细表内控件
124
+ if (schema.type === CONTROL_TYPE.SUBTABLE) {
125
+ schema.props.headers.forEach(function(item) {
126
+ if ([
127
+ CONTROL_TYPE.SELECT,
128
+ CONTROL_TYPE.SELECT_RELATION,
129
+ CONTROL_TYPE.SELECT_MULTIPLE,
130
+ CONTROL_TYPE.RADIO,
131
+ CONTROL_TYPE.CHECKBOX,
132
+ CONTROL_TYPE.TREE,
133
+ CONTROL_TYPE.DEPARTMENT2,
134
+ CONTROL_TYPE.EMPLOYEE2,
135
+ CONTROL_TYPE.DEPARTMENT,
136
+ CONTROL_TYPE.EMPLOYEE
137
+ ].includes(item.children[0].type)) {
138
+ if (item.children[0].props.open_multistage_filling === undefined) {
139
+ item.children[0].props.open_multistage_filling = true;
140
+ }
141
+ }
142
+ });
143
+ }
106
144
  return schema;
107
145
  }
108
146
  export { dataCleaner };