@lcap/nasl 2.18.0-beta.7 → 2.19.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.
Files changed (265) hide show
  1. package/out/automate/template/myProcess.js +1 -1
  2. package/out/automate/template/myProcess.js.map +1 -1
  3. package/out/bak/translator.js +2 -1
  4. package/out/bak/translator.js.map +1 -1
  5. package/out/common/Command.d.ts +1 -0
  6. package/out/common/Command.js +5 -1
  7. package/out/common/Command.js.map +1 -1
  8. package/out/concepts/AnonymousFunction__.d.ts +1 -0
  9. package/out/concepts/AnonymousFunction__.js +40 -2
  10. package/out/concepts/AnonymousFunction__.js.map +1 -1
  11. package/out/concepts/App__.d.ts +10 -0
  12. package/out/concepts/App__.js +132 -0
  13. package/out/concepts/App__.js.map +1 -1
  14. package/out/concepts/Assignee__.js +4 -3
  15. package/out/concepts/Assignee__.js.map +1 -1
  16. package/out/concepts/BatchAssignment__.d.ts +2 -0
  17. package/out/concepts/BatchAssignment__.js +45 -1
  18. package/out/concepts/BatchAssignment__.js.map +1 -1
  19. package/out/concepts/BindAttribute__.js +8 -1
  20. package/out/concepts/BindAttribute__.js.map +1 -1
  21. package/out/concepts/CallFunction__.js +51 -18
  22. package/out/concepts/CallFunction__.js.map +1 -1
  23. package/out/concepts/CallInterface__.js +6 -4
  24. package/out/concepts/CallInterface__.js.map +1 -1
  25. package/out/concepts/CallLogic__.js +87 -15
  26. package/out/concepts/CallLogic__.js.map +1 -1
  27. package/out/concepts/CallQueryComponent__.js +4 -1
  28. package/out/concepts/CallQueryComponent__.js.map +1 -1
  29. package/out/concepts/DataSource__.d.ts +2 -0
  30. package/out/concepts/DataSource__.js +55 -1
  31. package/out/concepts/DataSource__.js.map +1 -1
  32. package/out/concepts/ForEachStatement__.js +2 -0
  33. package/out/concepts/ForEachStatement__.js.map +1 -1
  34. package/out/concepts/Identifier__.d.ts +1 -0
  35. package/out/concepts/Identifier__.js +18 -7
  36. package/out/concepts/Identifier__.js.map +1 -1
  37. package/out/concepts/LogicItem__.d.ts +1 -1
  38. package/out/concepts/LogicItem__.js.map +1 -1
  39. package/out/concepts/Logic__.d.ts +1 -0
  40. package/out/concepts/Logic__.js +27 -14
  41. package/out/concepts/Logic__.js.map +1 -1
  42. package/out/concepts/Match__.js +13 -8
  43. package/out/concepts/Match__.js.map +1 -1
  44. package/out/concepts/NewComposite__.d.ts +345 -0
  45. package/out/concepts/NewComposite__.js +1067 -0
  46. package/out/concepts/NewComposite__.js.map +1 -0
  47. package/out/concepts/NewList__.d.ts +130 -0
  48. package/out/concepts/NewList__.js +353 -0
  49. package/out/concepts/NewList__.js.map +1 -0
  50. package/out/concepts/NewMap__.d.ts +221 -0
  51. package/out/concepts/NewMap__.js +492 -0
  52. package/out/concepts/NewMap__.js.map +1 -0
  53. package/out/concepts/New__.d.ts +19 -0
  54. package/out/concepts/New__.js +66 -0
  55. package/out/concepts/New__.js.map +1 -0
  56. package/out/concepts/Param__.d.ts +2 -0
  57. package/out/concepts/Param__.js +40 -3
  58. package/out/concepts/Param__.js.map +1 -1
  59. package/out/concepts/ProcessElement__.js +31 -10
  60. package/out/concepts/ProcessElement__.js.map +1 -1
  61. package/out/concepts/ProcessOutcome__.js +1 -1
  62. package/out/concepts/ProcessOutcome__.js.map +1 -1
  63. package/out/concepts/ProcessOutcomes__.d.ts +30 -0
  64. package/out/concepts/{ConstructArgument__.js → ProcessOutcomes__.js} +27 -48
  65. package/out/concepts/ProcessOutcomes__.js.map +1 -0
  66. package/out/concepts/Return__.js +2 -1
  67. package/out/concepts/Return__.js.map +1 -1
  68. package/out/concepts/SelectMembers__.js +3 -3
  69. package/out/concepts/SelectMembers__.js.map +1 -1
  70. package/out/concepts/StringInterpolation__.js +12 -2
  71. package/out/concepts/StringInterpolation__.js.map +1 -1
  72. package/out/concepts/TypeAnnotation__.d.ts +4 -0
  73. package/out/concepts/TypeAnnotation__.js +66 -12
  74. package/out/concepts/TypeAnnotation__.js.map +1 -1
  75. package/out/concepts/ValidationRule__.js +1 -1
  76. package/out/concepts/ValidationRule__.js.map +1 -1
  77. package/out/concepts/Variable__.js +2 -1
  78. package/out/concepts/Variable__.js.map +1 -1
  79. package/out/concepts/ViewElement__.js +12 -0
  80. package/out/concepts/ViewElement__.js.map +1 -1
  81. package/out/concepts/View__.d.ts +1 -0
  82. package/out/concepts/View__.js +9 -0
  83. package/out/concepts/View__.js.map +1 -1
  84. package/out/concepts/basics/stdlib/nasl.auth.js +1 -1
  85. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  86. package/out/concepts/basics/stdlib/nasl.logging.js +5 -0
  87. package/out/concepts/basics/stdlib/nasl.logging.js.map +1 -1
  88. package/out/concepts/basics/stdlib/nasl.ui.js +2 -0
  89. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  90. package/out/concepts/basics/stdlib/nasl.util.js +151 -19
  91. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  92. package/out/concepts/index__.d.ts +5 -0
  93. package/out/concepts/index__.js +5 -0
  94. package/out/concepts/index__.js.map +1 -1
  95. package/out/enums/KEYWORDS.js +1 -0
  96. package/out/enums/KEYWORDS.js.map +1 -1
  97. package/out/generator/genMetaData.js +1 -6
  98. package/out/generator/genMetaData.js.map +1 -1
  99. package/out/generator/genReleaseBody.d.ts +2 -0
  100. package/out/generator/genReleaseBody.js +18 -1
  101. package/out/generator/genReleaseBody.js.map +1 -1
  102. package/out/generator/index.d.ts +1 -0
  103. package/out/generator/index.js +1 -0
  104. package/out/generator/index.js.map +1 -1
  105. package/out/generator/permission.d.ts +9 -0
  106. package/out/generator/permission.js +235 -0
  107. package/out/generator/permission.js.map +1 -0
  108. package/out/index.d.ts +1 -1
  109. package/out/index.js +2 -1
  110. package/out/index.js.map +1 -1
  111. package/out/server/entity2LogicNamespace.js +69 -9
  112. package/out/server/entity2LogicNamespace.js.map +1 -1
  113. package/out/server/extendBaseNode.js +7 -3
  114. package/out/server/extendBaseNode.js.map +1 -1
  115. package/out/server/formatTsUtils.js +6 -0
  116. package/out/server/formatTsUtils.js.map +1 -1
  117. package/out/server/getLogics.d.ts +2 -1
  118. package/out/server/getLogics.js +11 -0
  119. package/out/server/getLogics.js.map +1 -1
  120. package/out/server/getMemberIdentifier.js +1 -1
  121. package/out/server/getMemberIdentifier.js.map +1 -1
  122. package/out/server/naslServer.d.ts +1 -1
  123. package/out/server/naslServer.js +161 -22
  124. package/out/server/naslServer.js.map +1 -1
  125. package/out/server/process2LogicNamespace.js +8 -0
  126. package/out/server/process2LogicNamespace.js.map +1 -1
  127. package/out/server/translator.js +53 -8
  128. package/out/server/translator.js.map +1 -1
  129. package/out/service/creator/add.configs.js +4 -0
  130. package/out/service/creator/add.configs.js.map +1 -1
  131. package/out/service/datasource/api.d.ts +12 -0
  132. package/out/service/datasource/api.js +14 -0
  133. package/out/service/datasource/api.js.map +1 -0
  134. package/out/service/datasource/index.d.ts +2 -0
  135. package/out/service/datasource/index.js +10 -0
  136. package/out/service/datasource/index.js.map +1 -0
  137. package/out/service/storage/init.js +8 -1
  138. package/out/service/storage/init.js.map +1 -1
  139. package/out/templator/genEditTableBlock.js +4 -5
  140. package/out/templator/genEditTableBlock.js.map +1 -1
  141. package/out/templator/genGetBlock.js +4 -3
  142. package/out/templator/genGetBlock.js.map +1 -1
  143. package/out/templator/genGridViewBlock.js +16 -14
  144. package/out/templator/genGridViewBlock.js.map +1 -1
  145. package/out/templator/genListViewBlock.js +5 -5
  146. package/out/templator/genListViewBlock.js.map +1 -1
  147. package/out/templator/genTableBlock.js +6 -10
  148. package/out/templator/genTableBlock.js.map +1 -1
  149. package/package.json +1 -1
  150. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  151. package/sandbox/stdlib/nasl.auth.ts +1 -1
  152. package/sandbox/stdlib/nasl.core.ts +4 -0
  153. package/sandbox/stdlib/nasl.logging.ts +4 -4
  154. package/sandbox/stdlib/nasl.util.ts +13 -4
  155. package/src/automate/template/myProcess.js +1 -1
  156. package/src/bak/translator.js +4 -1
  157. package/src/common/Command.ts +4 -0
  158. package/src/concepts/AnonymousFunction__.ts +48 -2
  159. package/src/concepts/App__.ts +140 -41
  160. package/src/concepts/Assignee__.ts +4 -3
  161. package/src/concepts/BatchAssignment__.ts +45 -1
  162. package/src/concepts/BindAttribute__.ts +9 -2
  163. package/src/concepts/CallFunction__.ts +65 -31
  164. package/src/concepts/CallInterface__.ts +6 -22
  165. package/src/concepts/CallLogic__.ts +62 -13
  166. package/src/concepts/CallQueryComponent__.ts +4 -1
  167. package/src/concepts/DataSource__.ts +56 -1
  168. package/src/concepts/ForEachStatement__.ts +2 -0
  169. package/src/concepts/Identifier__.ts +18 -7
  170. package/src/concepts/LogicItem__.ts +1 -1
  171. package/src/concepts/Logic__.ts +48 -32
  172. package/src/concepts/Match__.ts +12 -8
  173. package/src/concepts/NewComposite__.ts +1356 -0
  174. package/src/concepts/NewList__.ts +444 -0
  175. package/src/concepts/NewMap__.ts +678 -0
  176. package/src/concepts/New__.ts +73 -0
  177. package/src/concepts/Param__.ts +238 -199
  178. package/src/concepts/ProcessElement__.ts +32 -10
  179. package/src/concepts/ProcessOutcome__.ts +1 -1
  180. package/src/concepts/ProcessOutcomes__.ts +90 -0
  181. package/src/concepts/Return__.ts +4 -1
  182. package/src/concepts/SelectMembers__.ts +3 -3
  183. package/src/concepts/StringInterpolation__.ts +21 -11
  184. package/src/concepts/TypeAnnotation__.ts +71 -50
  185. package/src/concepts/ValidationRule__.ts +19 -1
  186. package/src/concepts/Variable__.ts +4 -1
  187. package/src/concepts/ViewElement__.ts +38 -1
  188. package/src/concepts/View__.ts +12 -2
  189. package/src/concepts/basics/stdlib/dist/nasl.util.js +133 -34
  190. package/src/concepts/basics/stdlib/nasl.auth.ts +1 -1
  191. package/src/concepts/basics/stdlib/nasl.logging.ts +5 -0
  192. package/src/concepts/basics/stdlib/nasl.ui.ts +2 -0
  193. package/src/concepts/basics/stdlib/nasl.util.ts +153 -19
  194. package/src/concepts/dist/BindAttribute__.js +760 -0
  195. package/src/concepts/dist/BindEvent__.js +732 -0
  196. package/src/concepts/dist/CallFunction__.js +21 -7
  197. package/src/concepts/dist/CallLogic__.js +50 -10
  198. package/src/concepts/dist/Identifier__.js +311 -0
  199. package/src/concepts/dist/StringInterpolation__.js +231 -0
  200. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  201. package/src/concepts/dist/ViewElement__.js +12 -0
  202. package/src/concepts/dist/View__.js +1601 -0
  203. package/src/concepts/index__.ts +5 -0
  204. package/src/enums/KEYWORDS.ts +1 -0
  205. package/src/generator/dist/genMetaData.js +1 -5
  206. package/src/generator/dist/permission.js +392 -0
  207. package/src/generator/genMetaData.ts +1 -6
  208. package/src/generator/genReleaseBody.ts +21 -3
  209. package/src/generator/index.ts +1 -0
  210. package/src/generator/permission.ts +271 -0
  211. package/src/index.ts +1 -1
  212. package/src/server/dist/naslServer.js +385 -269
  213. package/src/server/entity2LogicNamespace.ts +70 -10
  214. package/src/server/extendBaseNode.ts +7 -3
  215. package/src/server/formatTsUtils.ts +6 -0
  216. package/src/server/getLogics.ts +13 -1
  217. package/src/server/getMemberIdentifier.ts +1 -1
  218. package/src/server/naslServer.ts +162 -29
  219. package/src/server/process2LogicNamespace.ts +8 -0
  220. package/src/server/translator.ts +52 -9
  221. package/src/service/creator/add.configs.js +4 -0
  222. package/src/service/dataSource/api.js +11 -0
  223. package/src/service/dataSource/index.js +6 -0
  224. package/src/service/storage/dist/init.js +8 -1
  225. package/src/service/storage/init.ts +9 -2
  226. package/src/service/video/VideoTranscribe.js +1 -0
  227. package/src/templator/dist/genEditTableBlock.js +204 -0
  228. package/src/templator/dist/genGridViewBlock.js +265 -0
  229. package/src/templator/dist/genListViewBlock.js +84 -0
  230. package/src/templator/dist/genTableBlock.js +209 -0
  231. package/src/templator/dist/utils.js +527 -0
  232. package/src/templator/genEditTableBlock.ts +8 -16
  233. package/src/templator/genGetBlock.ts +18 -19
  234. package/src/templator/genGridViewBlock.ts +18 -18
  235. package/src/templator/genListViewBlock.ts +8 -11
  236. package/src/templator/genTableBlock.ts +6 -10
  237. package/ts-worker/dist/webpack.config.dev.js +1 -3
  238. package/ts-worker/lib/tsserver.js +8 -1
  239. package/out/automate/engine/2.14-components.d.ts +0 -1115
  240. package/out/automate/engine/2.14-components.js +0 -1087
  241. package/out/automate/engine/2.14-components.js.map +0 -1
  242. package/out/concepts/ConstructArgument__.d.ts +0 -40
  243. package/out/concepts/ConstructArgument__.js.map +0 -1
  244. package/out/concepts/Construct__.d.ts +0 -189
  245. package/out/concepts/Construct__.js +0 -340
  246. package/out/concepts/Construct__.js.map +0 -1
  247. package/out/concepts/MatchExpression__.d.ts +0 -97
  248. package/out/concepts/MatchExpression__.js +0 -281
  249. package/out/concepts/MatchExpression__.js.map +0 -1
  250. package/out/templator/sql-parser/index.d.ts +0 -1
  251. package/out/templator/sql-parser/index.js +0 -228
  252. package/out/templator/sql-parser/index.js.map +0 -1
  253. package/out/templator/sql-parser/parser.js +0 -26664
  254. package/out/templator/sql-parser/parser.js.map +0 -1
  255. package/src/concepts/dist/Anchor__.js +0 -179
  256. package/src/concepts/dist/Assignment__.js +0 -301
  257. package/src/concepts/dist/CallInterface__.js +0 -533
  258. package/src/concepts/dist/ForEachStatement__.js +0 -426
  259. package/src/concepts/dist/MatchCase__.js +0 -587
  260. package/src/concepts/dist/Match__.js +0 -631
  261. package/src/concepts/dist/MemberExpression__.js +0 -348
  262. package/src/concepts/dist/Param__.js +0 -538
  263. package/src/concepts/dist/Return__.js +0 -494
  264. package/src/concepts/dist/Variable__.js +0 -537
  265. package/src/server/dist/formatTsUtils.js +0 -683
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
3
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
+ r[k] = a[j];
7
+ return r;
8
+ };
9
+ exports.__esModule = true;
10
+ exports.genGridViewCardBlock = exports.genGridViewBlock = exports.genGridViewRemoveLogic = exports.genGridViewLoadLogic = exports.genH5GridViewTemplate = exports.genGridViewTemplate = exports.genH5GridViewCardTemplate = exports.genGridViewCardTemplate = void 0;
11
+ var config_1 = require("../config");
12
+ var utils = require("../utils");
13
+ var _1 = require(".");
14
+ var utils_1 = require("./utils");
15
+ /**
16
+ * 根据实体属性生成表格列模板
17
+ * @param property 实体属性
18
+ */
19
+ function genGridViewCardTemplate(property, nameGroup) {
20
+ var entity = property.entity;
21
+ var dataSource = entity.parentNode;
22
+ var lowerEntityName = utils.firstLowerCase(entity.name);
23
+ var currentName = nameGroup.currentName || 'current';
24
+ var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
25
+ var title = property.label || property.name;
26
+ if (property.relationEntity) {
27
+ // 有外键关联
28
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
29
+ if (relationEntity) {
30
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
31
+ if (displayedProperty) {
32
+ var relationLowerEntityName = utils.firstLowerCase(relationEntity.name);
33
+ valueExpression = currentName + ".item." + relationLowerEntityName + "." + displayedProperty.name;
34
+ }
35
+ else
36
+ return '';
37
+ }
38
+ else
39
+ return '';
40
+ }
41
+ else {
42
+ valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
43
+ }
44
+ var getText = function (property) {
45
+ var propertyTypeName = property.typeAnnotation.typeName;
46
+ if (propertyTypeName === 'Boolean') {
47
+ return "\n <u-text v-if=\"" + valueExpression + "\" text=\"\u662F\"></u-text>\n <u-text v-if=\"!" + valueExpression + "\" text=\"\u5426\"></u-text>\n ";
48
+ }
49
+ else {
50
+ return "<u-text :text=\"" + valueExpression + "\"></u-text>";
51
+ }
52
+ };
53
+ return "<u-linear-layout gap=\"small\">\n <u-text text=\"" + title + ":\"></u-text>" + getText(property) + "\n </u-linear-layout>";
54
+ }
55
+ exports.genGridViewCardTemplate = genGridViewCardTemplate;
56
+ function genH5GridViewCardTemplate(property, nameGroup) {
57
+ var entity = property.entity;
58
+ var dataSource = entity.parentNode;
59
+ var lowerEntityName = utils.firstLowerCase(entity.name);
60
+ var currentName = nameGroup.currentName || 'current';
61
+ var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
62
+ if (property.relationEntity) {
63
+ // 有外键关联
64
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
65
+ if (relationEntity) {
66
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
67
+ if (displayedProperty) {
68
+ var relationLowerEntityName = utils.firstLowerCase(relationEntity.name);
69
+ valueExpression = currentName + ".item." + relationLowerEntityName + "." + displayedProperty.name;
70
+ }
71
+ else
72
+ return '';
73
+ }
74
+ else
75
+ return '';
76
+ }
77
+ else {
78
+ valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
79
+ }
80
+ var getText = function (property) {
81
+ var propertyTypeName = property.typeAnnotation.typeName;
82
+ if (propertyTypeName === 'Boolean') {
83
+ return "\n <van-text v-if=\"" + valueExpression + "\" text=\"\u662F\" display=\"block\"></van-text>\n <van-text v-if=\"!" + valueExpression + "\" text=\"\u5426\" display=\"block\"></van-text>\n ";
84
+ }
85
+ else {
86
+ return "<van-text :text=\"" + valueExpression + "\" display=\"block\"></van-text>";
87
+ }
88
+ };
89
+ return "" + getText(property);
90
+ }
91
+ exports.genH5GridViewCardTemplate = genH5GridViewCardTemplate;
92
+ /**
93
+ * 生成表格模板
94
+ * @param entity 实体
95
+ * @param nameGroup 命名组
96
+ */
97
+ function genGridViewTemplate(entity, nameGroup, modifyable) {
98
+ var currentName = nameGroup.currentName || 'current';
99
+ var properties = entity.properties.filter(_1.filterProperty('inTable'));
100
+ return "<u-grid-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\"\n :page-size=\"20\"\n :pageable=\"true\"\n :remote-paging=\"true\"\n :show-sizer=\"true\"\n :repeat=\"4\"\n :border=\"false\"\n :readonly=\"true\"\n :show-foot=\"true\"\n style=\"height:auto\">\n <template #item=\"current\">\n <u-card title=\"\">\n <u-linear-layout direction=\"vertical\" gap=\"small\">\n " + properties.map(function (property) { return genGridViewCardTemplate(property, nameGroup) + '\n'; }).join('') + "\n <u-linear-layout gap=\"small\">\n <u-link " + (modifyable ? "@click=\"" + (nameGroup.viewLogicModify || 'modify') + "\"" : '') + ">\u4FEE\u6539</u-link>\n <u-link @click=\"" + nameGroup.viewLogicRemove + "\">\u5220\u9664</u-link>\n </u-linear-layout>\n </u-linear-layout>\n </u-card>\n </template>\n</u-grid-view>\n";
101
+ }
102
+ exports.genGridViewTemplate = genGridViewTemplate;
103
+ function genH5GridViewTemplate(entity, nameGroup) {
104
+ var currentName = nameGroup.currentName || 'current';
105
+ var properties = entity.properties.filter(_1.filterProperty('inTable'));
106
+ return "<van-grid-view ref=\"gridView\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n pageable=\"auto-more\"\n :remote-paging=\"true\"\n :col=\"2\"\n :iffall=\"false\">\n <template #item=\"current\">\n <van-cardu no-title>\n " + properties.map(function (property) { return genH5GridViewCardTemplate(property, nameGroup) + '\n'; }).join('') + "\n </van-cardu>\n </template>\n</van-grid-view>\n";
107
+ }
108
+ exports.genH5GridViewTemplate = genH5GridViewTemplate;
109
+ /**
110
+ * 生成表格 load 逻辑
111
+ * @param entity 实体
112
+ */
113
+ function genGridViewLoadLogic(entity, nameGroup, newLogic, supportFilter) {
114
+ var moduleNode = entity.app;
115
+ var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
116
+ var params = [
117
+ _1.genLogicParam("" + newLogic.params[0].name, 'params.page'),
118
+ _1.genLogicParam("" + newLogic.params[1].name, 'params.size'),
119
+ _1.genLogicParam("" + newLogic.params[2].name, 'params.sort'),
120
+ _1.genLogicParam("" + newLogic.params[3].name, 'params.order'),
121
+ ];
122
+ if (supportFilter)
123
+ params.push(_1.genLogicParam("" + newLogic.params[4].name, nameGroup.viewVariableFilter));
124
+ return utils_1.NaslNode.Logic({
125
+ name: nameGroup.viewLogicLoad,
126
+ params: [
127
+ utils_1.NaslNode.Param({
128
+ name: 'params',
129
+ typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
130
+ }),
131
+ ],
132
+ returns: [
133
+ utils_1.NaslNode.Return({
134
+ name: 'result',
135
+ typeAnnotation: null
136
+ }),
137
+ ],
138
+ variables: [],
139
+ body: [
140
+ utils_1.NaslLogicItem.Start,
141
+ utils_1.NaslLogicItem.Assignment({
142
+ left: utils_1.NaslLogicItem.Identifier({
143
+ name: 'result'
144
+ }),
145
+ right: utils_1.NaslLogicItem.CallLogic({
146
+ calleeNamespace: moduleNamespace + ".logics",
147
+ calleeName: newLogic.name,
148
+ arguments: params
149
+ })
150
+ }),
151
+ utils_1.NaslLogicItem.End,
152
+ ]
153
+ });
154
+ }
155
+ exports.genGridViewLoadLogic = genGridViewLoadLogic;
156
+ /**
157
+ * 生成表格 remove 逻辑
158
+ * @param entity 实体
159
+ */
160
+ function genGridViewRemoveLogic(entity, nameGroup) {
161
+ var _a;
162
+ var lowerEntityName = utils.firstLowerCase(entity.name);
163
+ var ns = entity.ns;
164
+ var deleteLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === "delete"; });
165
+ var idPropertys = entity.properties.filter(function (property) { return property.primaryKey || property.name === 'id'; });
166
+ var currentName = nameGroup.currentName || 'current';
167
+ return utils_1.NaslNode.Logic({
168
+ name: nameGroup.viewLogicRemove,
169
+ params: [],
170
+ returns: [],
171
+ variables: [],
172
+ body: [
173
+ utils_1.NaslLogicItem.Start,
174
+ utils_1.NaslLogicItem.CallLogic({
175
+ calleeNamespace: deleteLogic.getNamespace(),
176
+ calleeName: deleteLogic.name,
177
+ arguments: idPropertys.map(function (idProperty) {
178
+ var paramFromLogic = _1.getParamFromLogic(deleteLogic, idProperty.name);
179
+ // 如果旧逻辑,但是新导入表中,id的name 不是id 的话,就直接使用名称叫id的
180
+ if (!paramFromLogic) {
181
+ paramFromLogic = _1.getParamFromLogic(deleteLogic, 'id');
182
+ }
183
+ return _1.genLogicParam(paramFromLogic.name, currentName + ".item." + lowerEntityName + "." + paramFromLogic.name);
184
+ })
185
+ }),
186
+ _1.genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
187
+ utils_1.NaslLogicItem.End,
188
+ ]
189
+ });
190
+ }
191
+ exports.genGridViewRemoveLogic = genGridViewRemoveLogic;
192
+ /**
193
+ * 生成表格区块
194
+ * @param entity 实体
195
+ * @param view 所插入的页面,用于生成逻辑名字,去重等
196
+ * @notice 目前 logic 名去重做成前置处理了,与 mergeBlock 的后置处理不冲突
197
+ * (页面 load 名) -产生-> (logic 名) -产生-> (structure 名)
198
+ * load -> load_someView_tableView
199
+ * load_select_student -> load_someView_select_student
200
+ */
201
+ // 数据网格(简)
202
+ function genGridViewBlock(entity, oldNode) {
203
+ var view = oldNode.view;
204
+ var dataSource = entity.parentNode;
205
+ var module = dataSource.parentNode;
206
+ var viewElementMainView = view.getViewElementUniqueName('gridView');
207
+ var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView);
208
+ nameGroup.viewElementMainView = viewElementMainView;
209
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
210
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
211
+ // 当前节点的currentName
212
+ nameGroup.currentName = oldNode.getCurrentName();
213
+ // 收集所有和本实体关联的实体
214
+ var entitySet = new Set();
215
+ entitySet.add(entity);
216
+ var newLogics = [];
217
+ entity.properties.forEach(function (property) {
218
+ if (property.relationEntity) {
219
+ // 有外键关联
220
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
221
+ if (relationEntity) {
222
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
223
+ if (displayedProperty)
224
+ entitySet.add(relationEntity);
225
+ }
226
+ }
227
+ });
228
+ var allEntities = __spreadArrays(entitySet);
229
+ var entityLogic = _1.genQueryLogic(allEntities, nameGroup, false, true, module);
230
+ newLogics.push(entityLogic);
231
+ return "\n<template>\n " + (config_1.config.scope === 'h5' ? genH5GridViewTemplate(entity, nameGroup) : genGridViewTemplate(entity, nameGroup)) + "\n</template>\n<definition>\n{\n \"viewLogics\": [\n " + JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, false)) + ",\n " + JSON.stringify(genGridViewRemoveLogic(entity, nameGroup)) + "\n ],\n\n \"logics\": " + JSON.stringify(newLogics) + "\n}\n</definition>\n";
232
+ }
233
+ exports.genGridViewBlock = genGridViewBlock;
234
+ function genGridViewCardBlock(property, oldNode) {
235
+ var view = oldNode.view;
236
+ var entity = property.entity;
237
+ var dataSource = entity.parentNode;
238
+ var module = dataSource.parentNode;
239
+ var viewElementMainView = view.getViewElementUniqueName('gridView');
240
+ var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView);
241
+ nameGroup.viewElementMainView = viewElementMainView;
242
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
243
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
244
+ // 收集所有和本实体关联的实体
245
+ var entitySet = new Set();
246
+ entitySet.add(entity);
247
+ var newLogics = [];
248
+ entity.properties.forEach(function (property) {
249
+ if (property.relationEntity) {
250
+ // 有外键关联
251
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
252
+ if (relationEntity) {
253
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
254
+ if (displayedProperty)
255
+ entitySet.add(relationEntity);
256
+ }
257
+ }
258
+ });
259
+ var allEntities = __spreadArrays(entitySet);
260
+ var entityLogic = _1.genQueryLogic(allEntities, nameGroup, true, true, module);
261
+ newLogics.push(entityLogic);
262
+ return "\n <template>\n " + genGridViewTemplate(entity, nameGroup) + "\n </template>\n <definition>\n {\n \"viewLogics\": [\n " + JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, false)) + ",\n " + JSON.stringify(genGridViewRemoveLogic(entity, nameGroup)) + "\n ],\n \"logics\": " + JSON.stringify(newLogics) + "\n }\n </definition>\n ";
263
+ }
264
+ exports.genGridViewCardBlock = genGridViewCardBlock;
265
+ exports["default"] = genGridViewBlock;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.genListViewBlock = exports.genLoadListViewLogic = exports.genH5ListViewTemplate = exports.genListViewTemplate = void 0;
4
+ var config_1 = require("../config");
5
+ var utils = require("../utils");
6
+ var _1 = require(".");
7
+ var utils_1 = require("./utils");
8
+ function genListViewTemplate(property, nameGroup) {
9
+ var entity = property.entity;
10
+ var lowerEntityName = utils.firstLowerCase(entity.name);
11
+ var currentName = nameGroup.currentName || 'current';
12
+ var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
13
+ return "<u-list-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n text-field=\"" + nameGroup.viewVariableEntity + "." + property.name + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\" :pageable=\"true\" :remote-paging=\"true\">\n <template #item=\"current\">\n <u-linear-layout>\n <u-text :text=\"" + valueExpression + "\"></u-text>\n </u-linear-layout>\n </template>\n</u-list-view>";
14
+ }
15
+ exports.genListViewTemplate = genListViewTemplate;
16
+ function genH5ListViewTemplate(property, nameGroup) {
17
+ var entity = property.entity;
18
+ var lowerEntityName = utils.firstLowerCase(entity.name);
19
+ var currentName = nameGroup.currentName || 'current';
20
+ var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
21
+ return "<van-list-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n text-field=\"" + nameGroup.viewVariableEntity + "." + property.name + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\" pageable=\"auto-more\" :remote-paging=\"true\">\n <template #item=\"current\">\n <van-cell :value=\"" + valueExpression + "\" isLink>\n <template #title>{{ " + valueExpression + " }}</template>\n </van-cell>\n </template>\n</van-list-view>";
22
+ }
23
+ exports.genH5ListViewTemplate = genH5ListViewTemplate;
24
+ function genLoadListViewLogic(entity, nameGroup, newLogics) {
25
+ var parentNode = entity.parentNode;
26
+ var moduleNode = entity.app;
27
+ var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
28
+ // Select 和 table 不一样,直接在内部产生了
29
+ var entityLogic = _1.genQueryLogic([entity], nameGroup, false, false, parentNode);
30
+ newLogics.push(entityLogic);
31
+ return utils_1.NaslNode.Logic({
32
+ name: nameGroup.viewLogicLoad,
33
+ params: [
34
+ utils_1.NaslNode.Param({
35
+ name: 'params',
36
+ typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
37
+ }),
38
+ ],
39
+ returns: [
40
+ utils_1.NaslNode.Return({
41
+ name: 'result',
42
+ typeAnnotation: null
43
+ }),
44
+ ],
45
+ variables: [],
46
+ body: [
47
+ utils_1.NaslLogicItem.Start,
48
+ utils_1.NaslLogicItem.Assignment({
49
+ left: utils_1.NaslLogicItem.Identifier({
50
+ name: 'result'
51
+ }),
52
+ right: utils_1.NaslLogicItem.CallLogic({
53
+ calleeNamespace: moduleNamespace + ".logics",
54
+ calleeName: entityLogic.name,
55
+ arguments: [
56
+ _1.genLogicParam("" + entityLogic.params[0].name, 'params.page'),
57
+ _1.genLogicParam("" + entityLogic.params[1].name, 'params.size'),
58
+ ]
59
+ })
60
+ }),
61
+ utils_1.NaslLogicItem.End,
62
+ ]
63
+ });
64
+ }
65
+ exports.genLoadListViewLogic = genLoadListViewLogic;
66
+ /**
67
+ * 生成实体选择框区块
68
+ */
69
+ function genListViewBlock(entity, oldNode, property) {
70
+ var view = oldNode.view;
71
+ var dataSource = entity.parentNode;
72
+ var module = dataSource.parentNode;
73
+ var viewElementMainView = view.getViewElementUniqueName('listView');
74
+ var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView, false);
75
+ nameGroup.viewElementMainView = viewElementMainView;
76
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
77
+ // 当前节点的currentName
78
+ nameGroup.currentName = oldNode.getCurrentName();
79
+ var displayedProperty = property || _1.getFirstDisplayedProperty(entity);
80
+ var newLogics = [];
81
+ return "<template>\n " + (config_1.config.scope === 'h5' ? genH5ListViewTemplate(displayedProperty, nameGroup) : genListViewTemplate(displayedProperty, nameGroup)) + "\n</template>\n\n<definition>\n{\n \"viewLogics\": [\n " + JSON.stringify(genLoadListViewLogic(entity, nameGroup, newLogics)) + "\n ],\n\n \"logics\": " + JSON.stringify(newLogics) + "\n}\n</definition>\n";
82
+ }
83
+ exports.genListViewBlock = genListViewBlock;
84
+ exports["default"] = genListViewBlock;
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
3
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
4
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
5
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
6
+ r[k] = a[j];
7
+ return r;
8
+ };
9
+ exports.__esModule = true;
10
+ exports.genTableColumnBlock = exports.genTableBlock = exports.genTableRemoveLogic = exports.genTableLoadLogic = exports.genTableTemplate = exports.genTableColumnTemplate = void 0;
11
+ var utils = require("../utils");
12
+ var _1 = require(".");
13
+ var utils_1 = require("./utils");
14
+ /**
15
+ * 根据实体属性生成表格列模板
16
+ * @param property 实体属性
17
+ */
18
+ function genTableColumnTemplate(property, currentName) {
19
+ if (currentName === void 0) { currentName = 'current'; }
20
+ var entity = property.entity;
21
+ var dataSource = entity.parentNode;
22
+ var lowerEntityName = utils.firstLowerCase(entity.name);
23
+ var valueExpression = currentName + ".item." + lowerEntityName + "." + property.name;
24
+ var title = property.label || property.name;
25
+ if (property.relationEntity) {
26
+ var relationLowerEntityName = utils.firstLowerCase(property.relationEntity);
27
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
28
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
29
+ valueExpression = currentName + ".item." + relationLowerEntityName + "." + ((displayedProperty === null || displayedProperty === void 0 ? void 0 : displayedProperty.name) || property.relationProperty);
30
+ }
31
+ var getText = function (property) {
32
+ if (property.typeAnnotation.typeName === 'Boolean') {
33
+ return "\n <u-text v-if=\"" + valueExpression + "\" text=\"\u662F\"></u-text>\n <u-text v-if=\"!" + valueExpression + "\" text=\"\u5426\"></u-text>\n ";
34
+ }
35
+ else {
36
+ return "<u-text :text=\"" + valueExpression + "\"></u-text>";
37
+ }
38
+ };
39
+ return "<u-table-view-column field=\"" + lowerEntityName + "." + property.name + "\">\n <template #title><u-text text=\"" + title + "\"></u-text></template>\n <template #cell=\"current\">\n <u-linear-layout gap=\"small\">\n " + getText(property) + "\n </u-linear-layout>\n </template>\n</u-table-view-column>";
40
+ }
41
+ exports.genTableColumnTemplate = genTableColumnTemplate;
42
+ /**
43
+ * 生成表格模板
44
+ * @param entity 实体
45
+ * @param nameGroup 命名组
46
+ */
47
+ function genTableTemplate(entity, nameGroup, modifyable) {
48
+ var currentName = nameGroup.currentName || 'current';
49
+ var properties = entity.properties.filter(_1.filterProperty('inTable'));
50
+ return "<u-table-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" data-schema=\"" + nameGroup.structure + "\"\n value-field=\"" + nameGroup.viewVariableEntity + ".id\"\n :pageable=\"true\" :remote-paging=\"true\" :show-sizer=\"true\">\n <u-table-view-column type=\"index\" width=\"60\"><template #title><u-text text=\"\u5E8F\u53F7\"></u-text></template></u-table-view-column>\n\n " + properties.map(function (property) { return genTableColumnTemplate(property, currentName) + '\n'; }).join('') + "\n\n <u-table-view-column title=\"\u64CD\u4F5C\">\n <template #title><u-text text=\"\u64CD\u4F5C\"></u-text></template>\n <template #cell=\"current\">\n <u-linear-layout gap=\"small\">\n <u-link " + (modifyable ? "@click=\"" + (nameGroup.viewLogicModify || 'modify') + "\"" : '') + ">\u4FEE\u6539</u-link>\n <u-link @click=\"" + nameGroup.viewLogicRemove + "\">\u5220\u9664</u-link>\n </u-linear-layout>\n </template>\n </u-table-view-column>\n</u-table-view>\n";
51
+ }
52
+ exports.genTableTemplate = genTableTemplate;
53
+ /**
54
+ * 生成表格 load 逻辑
55
+ * @param entity 实体
56
+ */
57
+ function genTableLoadLogic(entity, nameGroup, newLogic, supportFilter) {
58
+ var moduleNode = entity.app;
59
+ var moduleNamespace = moduleNode === null || moduleNode === void 0 ? void 0 : moduleNode.getNamespace();
60
+ var params = [
61
+ _1.genLogicParam("" + newLogic.params[0].name, 'params.page'),
62
+ _1.genLogicParam("" + newLogic.params[1].name, 'params.size'),
63
+ _1.genLogicParam("" + newLogic.params[2].name, 'params.sort'),
64
+ _1.genLogicParam("" + newLogic.params[3].name, 'params.order'),
65
+ ];
66
+ if (supportFilter)
67
+ params.push(_1.genLogicParam("" + newLogic.params[4].name, nameGroup.viewVariableFilter));
68
+ return utils_1.NaslNode.Logic({
69
+ name: nameGroup.viewLogicLoad,
70
+ params: [
71
+ utils_1.NaslNode.Param({
72
+ name: 'params',
73
+ typeAnnotation: utils_1.NaslUITypeAnnotation.DataSourceParams
74
+ }),
75
+ ],
76
+ returns: [
77
+ utils_1.NaslNode.Return({
78
+ name: 'result',
79
+ typeAnnotation: null
80
+ }),
81
+ ],
82
+ variables: [],
83
+ body: [
84
+ utils_1.NaslLogicItem.Start,
85
+ utils_1.NaslLogicItem.Assignment({
86
+ left: utils_1.NaslLogicItem.Identifier({
87
+ name: 'result'
88
+ }),
89
+ right: utils_1.NaslLogicItem.CallLogic({
90
+ calleeNamespace: moduleNamespace + ".logics",
91
+ calleeName: newLogic.name,
92
+ arguments: params
93
+ })
94
+ }),
95
+ utils_1.NaslLogicItem.End,
96
+ ]
97
+ });
98
+ }
99
+ exports.genTableLoadLogic = genTableLoadLogic;
100
+ /**
101
+ * 生成表格 remove 逻辑
102
+ * @param entity 实体
103
+ */
104
+ function genTableRemoveLogic(entity, nameGroup) {
105
+ var _a;
106
+ var lowerEntityName = utils.firstLowerCase(entity.name);
107
+ var currentName = nameGroup.currentName || 'current';
108
+ var ns = entity.ns;
109
+ var deleteLogic = (_a = ns === null || ns === void 0 ? void 0 : ns.logics) === null || _a === void 0 ? void 0 : _a.find(function (logic) { return logic.name === 'delete'; });
110
+ var idPropertys = entity.properties.filter(function (property) { return property.primaryKey; });
111
+ return utils_1.NaslNode.Logic({
112
+ name: nameGroup.viewLogicRemove,
113
+ params: [],
114
+ returns: [],
115
+ variables: [],
116
+ body: [
117
+ utils_1.NaslLogicItem.Start,
118
+ utils_1.NaslLogicItem.CallLogic({
119
+ calleeNamespace: deleteLogic.getNamespace(),
120
+ calleeName: deleteLogic.name,
121
+ arguments: idPropertys.map(function (idProperty) {
122
+ var paramFromLogic = _1.getParamFromLogic(deleteLogic, idProperty.name);
123
+ // 如果旧逻辑,但是新导入表中,id的name 不是id 的话,就直接使用名称叫id的
124
+ if (!paramFromLogic) {
125
+ paramFromLogic = _1.getParamFromLogic(deleteLogic, 'id');
126
+ }
127
+ return _1.genLogicParam(paramFromLogic.name, currentName + ".item." + lowerEntityName + "." + paramFromLogic.name);
128
+ })
129
+ }),
130
+ _1.genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
131
+ utils_1.NaslLogicItem.End,
132
+ ]
133
+ });
134
+ }
135
+ exports.genTableRemoveLogic = genTableRemoveLogic;
136
+ /**
137
+ * 生成表格区块
138
+ * @param entity 实体
139
+ * @param view 所插入的页面,用于生成逻辑名字,去重等
140
+ * @notice 目前 logic 名去重做成前置处理了,与 mergeBlock 的后置处理不冲突
141
+ * (页面 load 名) -产生-> (logic 名) -产生-> (structure 名)
142
+ * load -> load_someView_tableView
143
+ * load_select_student -> load_someView_select_student
144
+ */
145
+ function genTableBlock(entity, oldNode) {
146
+ var view = oldNode.view;
147
+ var dataSource = entity.parentNode;
148
+ var module = dataSource.parentNode;
149
+ var viewElementMainView = view.getViewElementUniqueName('tableView');
150
+ var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView);
151
+ nameGroup.viewElementMainView = viewElementMainView;
152
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
153
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
154
+ // 当前节点的currentName
155
+ nameGroup.currentName = oldNode.getCurrentName();
156
+ // 收集所有和本实体关联的实体
157
+ var entitySet = new Set();
158
+ entitySet.add(entity);
159
+ var newLogics = [];
160
+ entity.properties.forEach(function (property) {
161
+ if (property.relationEntity) {
162
+ // 有外键关联
163
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
164
+ if (relationEntity) {
165
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
166
+ if (displayedProperty)
167
+ entitySet.add(relationEntity);
168
+ }
169
+ }
170
+ });
171
+ var allEntities = __spreadArrays(entitySet);
172
+ var entityLogic = _1.genQueryLogic(allEntities, nameGroup, false, true, module);
173
+ newLogics.push(entityLogic);
174
+ return "\n<template>\n " + genTableTemplate(entity, nameGroup) + "\n</template>\n<definition>\n{\n \"viewLogics\": [\n " + JSON.stringify(genTableLoadLogic(entity, nameGroup, entityLogic, false)) + ",\n " + JSON.stringify(genTableRemoveLogic(entity, nameGroup)) + "\n ],\n\n \"logics\": " + JSON.stringify(newLogics) + "\n}\n</definition>\n";
175
+ }
176
+ exports.genTableBlock = genTableBlock;
177
+ function genTableColumnBlock(property, oldNode) {
178
+ var view = oldNode.view;
179
+ var entity = property.entity;
180
+ var dataSource = entity.parentNode;
181
+ var module = dataSource.parentNode;
182
+ var viewElementMainView = view.getViewElementUniqueName('tableView');
183
+ var nameGroup = _1.genUniqueQueryNameGroup(module, view, viewElementMainView);
184
+ nameGroup.viewElementMainView = viewElementMainView;
185
+ nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));
186
+ nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');
187
+ // 收集所有和本实体关联的实体
188
+ var entitySet = new Set();
189
+ entitySet.add(entity);
190
+ var newLogics = [];
191
+ var properties = [property];
192
+ properties.forEach(function (property) {
193
+ if (property.relationEntity) {
194
+ // 有外键关联
195
+ var relationEntity = dataSource === null || dataSource === void 0 ? void 0 : dataSource.findEntityByName(property.relationEntity);
196
+ if (relationEntity) {
197
+ var displayedProperty = _1.getFirstDisplayedProperty(relationEntity);
198
+ if (displayedProperty)
199
+ entitySet.add(relationEntity);
200
+ }
201
+ }
202
+ });
203
+ var allEntities = __spreadArrays(entitySet);
204
+ var entityLogic = _1.genQueryLogic(allEntities, nameGroup, false, true, module);
205
+ newLogics.push(entityLogic);
206
+ return "\n<template>\n <u-table-view ref=\"" + nameGroup.viewElementMainView + "\" :data-source=\"" + nameGroup.viewLogicLoad + "\" :pageable=\"true\" :remote-paging=\"true\" :show-sizer=\"true\" data-schema=\"" + nameGroup.structure + "\">\n " + properties.map(function (property) { return genTableColumnTemplate(property) + '\n'; }).join('') + "\n </u-table-view>\n</template>\n<definition>\n{\n \"viewLogics\": [\n " + JSON.stringify(genTableLoadLogic(entity, nameGroup, entityLogic, false)) + "\n ],\n\n \"logics\": " + JSON.stringify(newLogics) + "\n}\n</definition>\n";
207
+ }
208
+ exports.genTableColumnBlock = genTableColumnBlock;
209
+ exports["default"] = genTableBlock;