owl-cli 6.148.0 → 6.149.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 (61) 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 +305 -305
  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 +88 -88
  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 +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 +34 -34
  28. package/defaultTemplate/api/src/handlers/getSpec.jsx +40 -40
  29. package/defaultTemplate/api/src/handlers/include/checklogin.jsx +786 -786
  30. package/defaultTemplate/api/src/handlers/include/diff.jsx +315 -315
  31. package/defaultTemplate/api/src/handlers/include/util.jsx +60 -60
  32. package/defaultTemplate/api/src/handlers/list.jsx +252 -252
  33. package/defaultTemplate/api/src/handlers/listEx.jsx +136 -135
  34. package/defaultTemplate/api/src/handlers/reIndex.jsx +63 -63
  35. package/defaultTemplate/api/src/handlers/recovery.jsx +53 -53
  36. package/defaultTemplate/api/src/handlers/save.jsx +125 -125
  37. package/defaultTemplate/api/src/handlers/upload.jsx +72 -72
  38. package/defaultTemplate/api/src/init/indexConfigs/changeMapping.json +14 -14
  39. package/defaultTemplate/api/src/init/indexConfigs/createAliase.json +10 -10
  40. package/defaultTemplate/api/src/init/indexConfigs/createIndex.json +55 -55
  41. package/defaultTemplate/api/src/init/indexConfigs/rebuildIndex.sh +27 -27
  42. package/defaultTemplate/api/src/init/indexConfigs/reindex.json +10 -10
  43. package/defaultTemplate/api/src/init/init.jsx +25 -25
  44. package/defaultTemplate/api/src/meta.json +10 -10
  45. package/defaultTemplate/api/src/services/dblayer.jsx +251 -251
  46. package/defaultTemplate/api/src/services/modelService.jsx +1239 -1239
  47. package/defaultTemplate/api/src/services/sqlstring.jsx +240 -240
  48. package/defaultTemplate/api/src/tasks/export.jsx +366 -366
  49. package/defaultTemplate/api/src/tasks/exportDoc.jsx +99 -99
  50. package/defaultTemplate/api/src/tasks/exportExTask.jsx +332 -332
  51. package/defaultTemplate/api/src/tasks/exportWithTemplateTask.jsx +128 -128
  52. package/defaultTemplate/api/src/tasks/exportZip.jsx +49 -49
  53. package/examples/buildProperties/build.properties +2 -2
  54. package/examples/gitignore/gitignore_example.txt +1 -1
  55. package/examples/models/product.json +52 -52
  56. package/examples/models/shop.json +71 -71
  57. package/examples/models/sku.json +254 -254
  58. package/examples/models/user.json +49 -49
  59. package/examples/owlconfig.json +13 -13
  60. package/package.json +33 -33
  61. 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
  }