owl-cli 6.103.0 → 6.104.0

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 (59) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.vscode/launch.json +22 -22
  3. package/.vscode/settings.json +2 -2
  4. package/bin/createTables.js +94 -94
  5. package/bin/deploy.js +66 -66
  6. package/bin/dsl.js +223 -223
  7. package/bin/genEvents.js +188 -188
  8. package/bin/owl-init.js +50 -50
  9. package/bin/owl.js +295 -295
  10. package/bin/owlconfig.json +16 -16
  11. package/bin/table_mysql.js +189 -189
  12. package/bin/undeploy.js +56 -56
  13. package/defaultTemplate/api/build.xml +94 -94
  14. package/defaultTemplate/api/src/about.html +12 -12
  15. package/defaultTemplate/api/src/about.jsx +11 -11
  16. package/defaultTemplate/api/src/handlers/aggs.jsx +161 -161
  17. package/defaultTemplate/api/src/handlers/batchImport.jsx +68 -68
  18. package/defaultTemplate/api/src/handlers/delete.jsx +67 -67
  19. package/defaultTemplate/api/src/handlers/export.jsx +117 -117
  20. package/defaultTemplate/api/src/handlers/exportDoc.jsx +27 -27
  21. package/defaultTemplate/api/src/handlers/exportEx.jsx +77 -77
  22. package/defaultTemplate/api/src/handlers/exportWithTemplates.jsx +50 -50
  23. package/defaultTemplate/api/src/handlers/exportZip.jsx +26 -26
  24. package/defaultTemplate/api/src/handlers/get.jsx +41 -41
  25. package/defaultTemplate/api/src/handlers/getChildren.jsx +97 -97
  26. package/defaultTemplate/api/src/handlers/getExportTaskInfo.jsx +34 -34
  27. package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
  28. package/defaultTemplate/api/src/handlers/include/checklogin.jsx +751 -751
  29. package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
  30. package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
  31. package/defaultTemplate/api/src/handlers/list.jsx +239 -239
  32. package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
  33. package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
  34. package/defaultTemplate/api/src/handlers/save.jsx +125 -125
  35. package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
  36. package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
  37. package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
  38. package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +55 -55
  39. package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
  40. package/defaultTemplate/api/src/init/indexConfigs/reindex.json +10 -10
  41. package/defaultTemplate/api/src/init/init.jsx +25 -25
  42. package/defaultTemplate/api/src/meta.json +10 -10
  43. package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
  44. package/defaultTemplate/api/src/services/modelService.jsx +1163 -1163
  45. package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
  46. package/defaultTemplate/api/src/tasks/export.jsx +355 -355
  47. package/defaultTemplate/api/src/tasks/exportDoc.jsx +87 -87
  48. package/defaultTemplate/api/src/tasks/exportExTask.jsx +325 -325
  49. package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +117 -117
  50. package/defaultTemplate/api/src/tasks/exportZip.jsx +49 -49
  51. package/examples/buildProperties/build.properties +2 -2
  52. package/examples/gitignore/gitignore_example.txt +1 -1
  53. package/examples/models/product.json +52 -52
  54. package/examples/models/shop.json +71 -71
  55. package/examples/models/sku.json +254 -254
  56. package/examples/models/user.json +49 -49
  57. package/examples/owlconfig.json +13 -13
  58. package/package.json +33 -33
  59. package/todo.txt +4 -4
package/bin/dsl.js CHANGED
@@ -1,224 +1,224 @@
1
- function parseFieldType(fieldType) {
2
- if (fieldType.indexOf('string') >= 0 || fieldType.indexOf('number') >= 0) {
3
- var idx = fieldType.indexOf('(')
4
- var idx1 = fieldType.indexOf(')')
5
- var sNum = fieldType.substring(idx + 1, idx1)
6
- var fieldSize = parseInt(sNum)
7
- if (fieldType.indexOf('string') >= 0) {
8
- var t = 'string'
9
- }
10
- else {
11
- var t = 'number'
12
- }
13
- return {
14
- fieldType: t,
15
- fieldSize: fieldSize,
16
- }
17
- }
18
- else {
19
- return {
20
- fieldType: fieldType,
21
- }
22
- }
23
- }
24
-
25
-
26
- function parseFieldAttrs(fieldAttrs) {
27
- var attrs = fieldAttrs.split(',')
28
- var fieldType = attrs[0]
29
- var attrObj = parseFieldType(fieldType)
30
- for (var i = 1; i < attrs.length; i++) {
31
- var attr = attrs[i]
32
- var pair = attr.split(':')
33
- if (pair.length == 2) {
34
- attrObj[pair[0].trim()] = pair[1].trim()
35
- } else {
36
- attrObj[pair[0].trim()] = 'false'
37
- }
38
- }
39
-
40
- if (attrObj.fieldType == 'choice') {
41
- var values = attrObj.values
42
- var va = values.split('/')
43
- var options = va.map((v) => v.split('_'))
44
- attrObj.options = options
45
- }
46
- return attrObj
47
- }
48
-
49
- function parseSpec(specString) {
50
- var parts = specString.split(';')
51
- var fieldLabel = ''
52
- if (parts.length >= 2) {
53
- fieldLabel = parts[1]
54
- var specObj = parseFieldAttrs(parts[0])
55
- specObj['fieldLabel'] = fieldLabel
56
-
57
- /*if(specObj["defaultValue"]){
58
- let v = specObj["defaultValue"];
59
- v = getEnvValue(v);
60
- specObj.defaultValue = v;
61
- }*/
62
- return specObj
63
- }
64
- return null
65
- }
66
-
67
- function getFormSpecs(spec, parentKey) {
68
- var formSpec = {
69
- meta: {},
70
- _ft: 'subForm',
71
- fields: [],
72
- }
73
-
74
- for (var k in spec) {
75
- var v = spec[k]
76
- if (typeof(k) == 'number' || k == 0) {
77
- continue
78
- }
79
- var fullKey = k
80
- if (k == '#meta') {
81
- formSpec.meta = v
82
- formSpec.tab = v.tab || '99'
83
- formSpec.fieldLabel = v.fieldLabel || '请完善资料'
84
- }
85
- else {
86
- if (parentKey) {
87
- fullKey = parentKey + '.' + k
88
- }
89
- // console.log("fullKey=" + fullKey);
90
- if (typeof v == 'object' && Array.isArray(v) == false) {
91
- var fieldSpec = null;
92
- if(v["#meta"]){
93
- var subMeta = v["#meta"];
94
- if(subMeta.includeKey === 'no' || subMeta.includeKey === 'false'){
95
- fieldSpec = getFormSpecs(v, parentKey)
96
- }
97
- else{
98
- fieldSpec = getFormSpecs(v, fullKey)
99
- }
100
- }
101
- else{
102
- fieldSpec = getFormSpecs(v, fullKey)
103
- }
104
- if (!fieldSpec) {
105
- continue
106
- }
107
- fieldSpec['_ft'] = 'subform'
108
- fieldSpec.key = fullKey
109
- fieldSpec.origKey = k
110
- formSpec.fields.push(fieldSpec)
111
- }
112
- else if (typeof v == 'string') {
113
-
114
- var fieldSpec = parseSpec(v)
115
- if (!fieldSpec) {
116
- continue
117
- }
118
- fieldSpec['_ft'] = 'field'
119
- fieldSpec.key = fullKey
120
- fieldSpec.origKey = k
121
- formSpec.fields.push(fieldSpec)
122
- }
123
- else if (typeof v == 'object' && Array.isArray(v)) {
124
- var subSpec = v[0]
125
- var fieldSpec = getFormSpecs(subSpec, fullKey)
126
- fieldSpec['_ft'] = 'array'
127
- fieldSpec.key = fullKey
128
- fieldSpec.origKey = k
129
- formSpec.fields.push(fieldSpec)
130
- }
131
- }
132
- }
133
- return formSpec
134
- }
135
-
136
- function tranverseFields(formSpec, callback, ctx) {
137
- formSpec.fields.forEach((field) => {
138
- if (field['_ft'] == 'field') {
139
- callback(field, ctx)
140
- }
141
- else if (field['_ft'] == 'subform') {
142
- let context = {parentField: field}
143
- tranverseFields(field, callback, context)
144
- }
145
- else if (field['_ft'] == 'array') {
146
- let context = {parentField: field}
147
- tranverseFields(field, callback, context)
148
- }
149
- })
150
- }
151
-
152
- function flattenFormSpecs(formSpec) {
153
- var flattened = {
154
- mainFields: [],
155
- details: [],
156
- allFields:[]
157
- }
158
- tranverseFields(formSpec, (field, ctx) => {
159
- if (ctx.parentField && ctx.parentField._ft == 'array') {
160
- //nothing
161
- var detailName = ctx.parentField.key
162
- //从details里面获取detail
163
- var curDetail = null
164
- for (var i = 0; i < flattened.details.length; i++) {
165
- var detail = flattened.details[i]
166
- if (detail.name == detailName) {
167
- curDetail = detail;
168
- }
169
- }
170
- if(curDetail == null){
171
- curDetail = {name:detailName, fields:[field], field:ctx.parentField, ctx:ctx};
172
- flattened.details.push(curDetail);
173
- }
174
- else{
175
- curDetail.fields.push(field);
176
- }
177
-
178
- }
179
- else {
180
- flattened.mainFields.push(field)
181
- }
182
- flattened.allFields.push(field);
183
- }, {})
184
-
185
- flattened.mainFields.sort((f1, f2) => {
186
- var tab1 = (f1.listTab || '') + (f1.tab || '')
187
- var tab2 = (f2.listTab || '') + (f2.tab || '')
188
-
189
- if (tab1 > tab2) {
190
- return 1
191
- }
192
- if (tab1 == tab2) {
193
- return 0
194
- }
195
- if (tab1 < tab2) {
196
- return -1
197
- }
198
- })
199
-
200
- for(var i=0; i<flattened.details.length; i++){
201
- var detail = flattened.details[i];
202
- detail.fields.sort((f1, f2) => {
203
- var tab1 = (f1.listTab || '') + (f1.tab || '')
204
- var tab2 = (f2.listTab || '') + (f2.tab || '')
205
-
206
- if (tab1 > tab2) {
207
- return 1
208
- }
209
- if (tab1 == tab2) {
210
- return 0
211
- }
212
- if (tab1 < tab2) {
213
- return -1
214
- }
215
- })
216
- }
217
- return flattened;
218
- }
219
-
220
-
221
- module.exports = {
222
- getFormSpecs: getFormSpecs,
223
- flattenFormSpecs: flattenFormSpecs,
1
+ function parseFieldType(fieldType) {
2
+ if (fieldType.indexOf('string') >= 0 || fieldType.indexOf('number') >= 0) {
3
+ var idx = fieldType.indexOf('(')
4
+ var idx1 = fieldType.indexOf(')')
5
+ var sNum = fieldType.substring(idx + 1, idx1)
6
+ var fieldSize = parseInt(sNum)
7
+ if (fieldType.indexOf('string') >= 0) {
8
+ var t = 'string'
9
+ }
10
+ else {
11
+ var t = 'number'
12
+ }
13
+ return {
14
+ fieldType: t,
15
+ fieldSize: fieldSize,
16
+ }
17
+ }
18
+ else {
19
+ return {
20
+ fieldType: fieldType,
21
+ }
22
+ }
23
+ }
24
+
25
+
26
+ function parseFieldAttrs(fieldAttrs) {
27
+ var attrs = fieldAttrs.split(',')
28
+ var fieldType = attrs[0]
29
+ var attrObj = parseFieldType(fieldType)
30
+ for (var i = 1; i < attrs.length; i++) {
31
+ var attr = attrs[i]
32
+ var pair = attr.split(':')
33
+ if (pair.length == 2) {
34
+ attrObj[pair[0].trim()] = pair[1].trim()
35
+ } else {
36
+ attrObj[pair[0].trim()] = 'false'
37
+ }
38
+ }
39
+
40
+ if (attrObj.fieldType == 'choice') {
41
+ var values = attrObj.values
42
+ var va = values.split('/')
43
+ var options = va.map((v) => v.split('_'))
44
+ attrObj.options = options
45
+ }
46
+ return attrObj
47
+ }
48
+
49
+ function parseSpec(specString) {
50
+ var parts = specString.split(';')
51
+ var fieldLabel = ''
52
+ if (parts.length >= 2) {
53
+ fieldLabel = parts[1]
54
+ var specObj = parseFieldAttrs(parts[0])
55
+ specObj['fieldLabel'] = fieldLabel
56
+
57
+ /*if(specObj["defaultValue"]){
58
+ let v = specObj["defaultValue"];
59
+ v = getEnvValue(v);
60
+ specObj.defaultValue = v;
61
+ }*/
62
+ return specObj
63
+ }
64
+ return null
65
+ }
66
+
67
+ function getFormSpecs(spec, parentKey) {
68
+ var formSpec = {
69
+ meta: {},
70
+ _ft: 'subForm',
71
+ fields: [],
72
+ }
73
+
74
+ for (var k in spec) {
75
+ var v = spec[k]
76
+ if (typeof(k) == 'number' || k == 0) {
77
+ continue
78
+ }
79
+ var fullKey = k
80
+ if (k == '#meta') {
81
+ formSpec.meta = v
82
+ formSpec.tab = v.tab || '99'
83
+ formSpec.fieldLabel = v.fieldLabel || '请完善资料'
84
+ }
85
+ else {
86
+ if (parentKey) {
87
+ fullKey = parentKey + '.' + k
88
+ }
89
+ // console.log("fullKey=" + fullKey);
90
+ if (typeof v == 'object' && Array.isArray(v) == false) {
91
+ var fieldSpec = null;
92
+ if(v["#meta"]){
93
+ var subMeta = v["#meta"];
94
+ if(subMeta.includeKey === 'no' || subMeta.includeKey === 'false'){
95
+ fieldSpec = getFormSpecs(v, parentKey)
96
+ }
97
+ else{
98
+ fieldSpec = getFormSpecs(v, fullKey)
99
+ }
100
+ }
101
+ else{
102
+ fieldSpec = getFormSpecs(v, fullKey)
103
+ }
104
+ if (!fieldSpec) {
105
+ continue
106
+ }
107
+ fieldSpec['_ft'] = 'subform'
108
+ fieldSpec.key = fullKey
109
+ fieldSpec.origKey = k
110
+ formSpec.fields.push(fieldSpec)
111
+ }
112
+ else if (typeof v == 'string') {
113
+
114
+ var fieldSpec = parseSpec(v)
115
+ if (!fieldSpec) {
116
+ continue
117
+ }
118
+ fieldSpec['_ft'] = 'field'
119
+ fieldSpec.key = fullKey
120
+ fieldSpec.origKey = k
121
+ formSpec.fields.push(fieldSpec)
122
+ }
123
+ else if (typeof v == 'object' && Array.isArray(v)) {
124
+ var subSpec = v[0]
125
+ var fieldSpec = getFormSpecs(subSpec, fullKey)
126
+ fieldSpec['_ft'] = 'array'
127
+ fieldSpec.key = fullKey
128
+ fieldSpec.origKey = k
129
+ formSpec.fields.push(fieldSpec)
130
+ }
131
+ }
132
+ }
133
+ return formSpec
134
+ }
135
+
136
+ function tranverseFields(formSpec, callback, ctx) {
137
+ formSpec.fields.forEach((field) => {
138
+ if (field['_ft'] == 'field') {
139
+ callback(field, ctx)
140
+ }
141
+ else if (field['_ft'] == 'subform') {
142
+ let context = {parentField: field}
143
+ tranverseFields(field, callback, context)
144
+ }
145
+ else if (field['_ft'] == 'array') {
146
+ let context = {parentField: field}
147
+ tranverseFields(field, callback, context)
148
+ }
149
+ })
150
+ }
151
+
152
+ function flattenFormSpecs(formSpec) {
153
+ var flattened = {
154
+ mainFields: [],
155
+ details: [],
156
+ allFields:[]
157
+ }
158
+ tranverseFields(formSpec, (field, ctx) => {
159
+ if (ctx.parentField && ctx.parentField._ft == 'array') {
160
+ //nothing
161
+ var detailName = ctx.parentField.key
162
+ //从details里面获取detail
163
+ var curDetail = null
164
+ for (var i = 0; i < flattened.details.length; i++) {
165
+ var detail = flattened.details[i]
166
+ if (detail.name == detailName) {
167
+ curDetail = detail;
168
+ }
169
+ }
170
+ if(curDetail == null){
171
+ curDetail = {name:detailName, fields:[field], field:ctx.parentField, ctx:ctx};
172
+ flattened.details.push(curDetail);
173
+ }
174
+ else{
175
+ curDetail.fields.push(field);
176
+ }
177
+
178
+ }
179
+ else {
180
+ flattened.mainFields.push(field)
181
+ }
182
+ flattened.allFields.push(field);
183
+ }, {})
184
+
185
+ flattened.mainFields.sort((f1, f2) => {
186
+ var tab1 = (f1.listTab || '') + (f1.tab || '')
187
+ var tab2 = (f2.listTab || '') + (f2.tab || '')
188
+
189
+ if (tab1 > tab2) {
190
+ return 1
191
+ }
192
+ if (tab1 == tab2) {
193
+ return 0
194
+ }
195
+ if (tab1 < tab2) {
196
+ return -1
197
+ }
198
+ })
199
+
200
+ for(var i=0; i<flattened.details.length; i++){
201
+ var detail = flattened.details[i];
202
+ detail.fields.sort((f1, f2) => {
203
+ var tab1 = (f1.listTab || '') + (f1.tab || '')
204
+ var tab2 = (f2.listTab || '') + (f2.tab || '')
205
+
206
+ if (tab1 > tab2) {
207
+ return 1
208
+ }
209
+ if (tab1 == tab2) {
210
+ return 0
211
+ }
212
+ if (tab1 < tab2) {
213
+ return -1
214
+ }
215
+ })
216
+ }
217
+ return flattened;
218
+ }
219
+
220
+
221
+ module.exports = {
222
+ getFormSpecs: getFormSpecs,
223
+ flattenFormSpecs: flattenFormSpecs,
224
224
  }