owl-cli 6.193.0 → 6.195.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 (63) 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 +322 -322
  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 +78 -78
  18. package/defaultTemplate/api/src/handlers/delete.jsx +91 -88
  19. package/defaultTemplate/api/src/handlers/export.jsx +56 -56
  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 +50 -50
  25. package/defaultTemplate/api/src/handlers/getByIds.jsx +51 -51
  26. package/defaultTemplate/api/src/handlers/getChildren.jsx +96 -96
  27. package/defaultTemplate/api/src/handlers/getExportTaskInfo.jsx +36 -36
  28. package/defaultTemplate/api/src/handlers/getHistory.jsx +64 -64
  29. package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
  30. package/defaultTemplate/api/src/handlers/include/checklogin.jsx +792 -791
  31. package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
  32. package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
  33. package/defaultTemplate/api/src/handlers/list.jsx +252 -252
  34. package/defaultTemplate/api/src/handlers/listEx.jsx +142 -142
  35. package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
  36. package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
  37. package/defaultTemplate/api/src/handlers/save.jsx +127 -124
  38. package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
  39. package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
  40. package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
  41. package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +105 -105
  42. package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
  43. package/defaultTemplate/api/src/init/indexConfigs/reindex.json +9 -9
  44. package/defaultTemplate/api/src/init/init.jsx +34 -34
  45. package/defaultTemplate/api/src/meta.json +10 -10
  46. package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
  47. package/defaultTemplate/api/src/services/modelService.jsx +1264 -1259
  48. package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
  49. package/defaultTemplate/api/src/tasks/doBatchImport.jsx +176 -176
  50. package/defaultTemplate/api/src/tasks/export.jsx +224 -224
  51. package/defaultTemplate/api/src/tasks/exportDoc.jsx +99 -99
  52. package/defaultTemplate/api/src/tasks/exportExTask.jsx +332 -332
  53. package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +128 -128
  54. package/defaultTemplate/api/src/tasks/exportZip1.jsx +53 -53
  55. package/examples/buildProperties/build.properties +2 -2
  56. package/examples/gitignore/gitignore_example.txt +1 -1
  57. package/examples/models/product.json +52 -52
  58. package/examples/models/shop.json +71 -71
  59. package/examples/models/sku.json +254 -254
  60. package/examples/models/user.json +49 -49
  61. package/examples/owlconfig.json +13 -13
  62. package/package.json +33 -33
  63. 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
  }