@lcap/nasl 2.20.0-beta.3 → 2.20.0-beta.5

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 (332) hide show
  1. package/out/automate/engine/index.d.ts +1 -1
  2. package/out/automate/engine/index.js +2 -3
  3. package/out/automate/engine/index.js.map +1 -1
  4. package/out/automate/engine/uniqueName.d.ts +1 -1
  5. package/out/automate/engine/uniqueName.js +2 -2
  6. package/out/automate/engine/uniqueName.js.map +1 -1
  7. package/out/automate/engine/utils.js +4 -1
  8. package/out/automate/engine/utils.js.map +1 -1
  9. package/out/automate/template/myProcess.d.ts +1 -1
  10. package/out/automate/template/myProcess.js +2 -2
  11. package/out/automate/template/myProcess.js.map +1 -1
  12. package/out/bak/translator.js +14 -22
  13. package/out/bak/translator.js.map +1 -1
  14. package/out/common/BaseNode.js +4 -1
  15. package/out/common/BaseNode.js.map +1 -1
  16. package/out/common/Command.d.ts +1 -0
  17. package/out/common/Command.js +5 -1
  18. package/out/common/Command.js.map +1 -1
  19. package/out/concepts/App__.d.ts +4 -0
  20. package/out/concepts/App__.js +30 -6
  21. package/out/concepts/App__.js.map +1 -1
  22. package/out/concepts/Assignee__.js +4 -3
  23. package/out/concepts/Assignee__.js.map +1 -1
  24. package/out/concepts/BatchAssignment__.js +3 -3
  25. package/out/concepts/BatchAssignment__.js.map +1 -1
  26. package/out/concepts/BindAttribute__.d.ts +7 -0
  27. package/out/concepts/BindAttribute__.js +271 -39
  28. package/out/concepts/BindAttribute__.js.map +1 -1
  29. package/out/concepts/BindDirective__.d.ts +7 -0
  30. package/out/concepts/BindDirective__.js +215 -16
  31. package/out/concepts/BindDirective__.js.map +1 -1
  32. package/out/concepts/BindStyle__.d.ts +7 -0
  33. package/out/concepts/BindStyle__.js +192 -2
  34. package/out/concepts/BindStyle__.js.map +1 -1
  35. package/out/concepts/CallFunction__.js +22 -8
  36. package/out/concepts/CallFunction__.js.map +1 -1
  37. package/out/concepts/CallInterface__.js +3 -2
  38. package/out/concepts/CallInterface__.js.map +1 -1
  39. package/out/concepts/CallLogic__.d.ts +3 -0
  40. package/out/concepts/CallLogic__.js +78 -89
  41. package/out/concepts/CallLogic__.js.map +1 -1
  42. package/out/concepts/CallQueryComponent__.js +20 -3
  43. package/out/concepts/CallQueryComponent__.js.map +1 -1
  44. package/out/concepts/ConfigGroup__.d.ts +1 -0
  45. package/out/concepts/ConfigGroup__.js +13 -0
  46. package/out/concepts/ConfigGroup__.js.map +1 -1
  47. package/out/concepts/ConfigProperty__.d.ts +19 -0
  48. package/out/concepts/ConfigProperty__.js +63 -0
  49. package/out/concepts/ConfigProperty__.js.map +1 -1
  50. package/out/concepts/Configuration__.d.ts +1 -0
  51. package/out/concepts/Configuration__.js +13 -0
  52. package/out/concepts/Configuration__.js.map +1 -1
  53. package/out/concepts/DataSource__.js +11 -3
  54. package/out/concepts/DataSource__.js.map +1 -1
  55. package/out/concepts/Destination__.d.ts +1 -0
  56. package/out/concepts/Destination__.js +61 -7
  57. package/out/concepts/Destination__.js.map +1 -1
  58. package/out/concepts/EntityProperty__.js +9 -1
  59. package/out/concepts/EntityProperty__.js.map +1 -1
  60. package/out/concepts/EnumItem__.d.ts +5 -5
  61. package/out/concepts/EnumItem__.js +6 -6
  62. package/out/concepts/Enum__.d.ts +20 -19
  63. package/out/concepts/Enum__.js +28 -1
  64. package/out/concepts/Enum__.js.map +1 -1
  65. package/out/concepts/ExternalDestination__.d.ts +1 -0
  66. package/out/concepts/ExternalDestination__.js +22 -4
  67. package/out/concepts/ExternalDestination__.js.map +1 -1
  68. package/out/concepts/ForEachStatement__.js +2 -0
  69. package/out/concepts/ForEachStatement__.js.map +1 -1
  70. package/out/concepts/Frontend__.d.ts +2 -1
  71. package/out/concepts/Frontend__.js.map +1 -1
  72. package/out/concepts/Identifier__.js +16 -5
  73. package/out/concepts/Identifier__.js.map +1 -1
  74. package/out/concepts/InterfaceParam__.js +9 -1
  75. package/out/concepts/InterfaceParam__.js.map +1 -1
  76. package/out/concepts/JSBlock__.js +5 -1
  77. package/out/concepts/JSBlock__.js.map +1 -1
  78. package/out/concepts/Logic__.d.ts +79 -79
  79. package/out/concepts/Logic__.js +30 -8
  80. package/out/concepts/Logic__.js.map +1 -1
  81. package/out/concepts/Match__.d.ts +2 -2
  82. package/out/concepts/Match__.js +29 -13
  83. package/out/concepts/Match__.js.map +1 -1
  84. package/out/concepts/MemberExpression__.js +9 -0
  85. package/out/concepts/MemberExpression__.js.map +1 -1
  86. package/out/concepts/Module__.d.ts +16 -0
  87. package/out/concepts/Module__.js +43 -0
  88. package/out/concepts/Module__.js.map +1 -1
  89. package/out/concepts/NewComposite__.d.ts +3 -4
  90. package/out/concepts/NewComposite__.js +99 -116
  91. package/out/concepts/NewComposite__.js.map +1 -1
  92. package/out/concepts/NewList__.d.ts +1 -0
  93. package/out/concepts/NewList__.js +22 -2
  94. package/out/concepts/NewList__.js.map +1 -1
  95. package/out/concepts/NewMap__.d.ts +1 -0
  96. package/out/concepts/NewMap__.js +43 -11
  97. package/out/concepts/NewMap__.js.map +1 -1
  98. package/out/concepts/OqlQueryComponent__.js +40 -12
  99. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  100. package/out/concepts/Param__.js +10 -2
  101. package/out/concepts/Param__.js.map +1 -1
  102. package/out/concepts/ProcessElement__.js +2 -1
  103. package/out/concepts/ProcessElement__.js.map +1 -1
  104. package/out/concepts/ProcessOutcome__.js +1 -1
  105. package/out/concepts/ProcessOutcome__.js.map +1 -1
  106. package/out/concepts/ProcessOutcomes__.js +1 -1
  107. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  108. package/out/concepts/Process__.js +1 -0
  109. package/out/concepts/Process__.js.map +1 -1
  110. package/out/concepts/Return__.js +13 -2
  111. package/out/concepts/Return__.js.map +1 -1
  112. package/out/concepts/StringInterpolation__.js +14 -2
  113. package/out/concepts/StringInterpolation__.js.map +1 -1
  114. package/out/concepts/StringLiteral__.js +6 -6
  115. package/out/concepts/StringLiteral__.js.map +1 -1
  116. package/out/concepts/StructureProperty__.js +9 -1
  117. package/out/concepts/StructureProperty__.js.map +1 -1
  118. package/out/concepts/TypeAnnotation__.d.ts +6 -3
  119. package/out/concepts/TypeAnnotation__.js +67 -13
  120. package/out/concepts/TypeAnnotation__.js.map +1 -1
  121. package/out/concepts/ValidationRule__.d.ts +1 -0
  122. package/out/concepts/ValidationRule__.js +53 -0
  123. package/out/concepts/ValidationRule__.js.map +1 -1
  124. package/out/concepts/Variable__.js +12 -1
  125. package/out/concepts/Variable__.js.map +1 -1
  126. package/out/concepts/ViewElement__.d.ts +1 -0
  127. package/out/concepts/ViewElement__.js +24 -1
  128. package/out/concepts/ViewElement__.js.map +1 -1
  129. package/out/concepts/View__.d.ts +1 -3
  130. package/out/concepts/View__.js +33 -12
  131. package/out/concepts/View__.js.map +1 -1
  132. package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
  133. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  134. package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
  135. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  136. package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
  137. package/out/concepts/basics/stdlib/nasl.core.js +34 -0
  138. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  139. package/out/concepts/basics/stdlib/nasl.util.js +4 -2
  140. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  141. package/out/concepts/basics/types/index.d.ts +1 -0
  142. package/out/concepts/basics/types/index.js +3 -1
  143. package/out/concepts/basics/types/index.js.map +1 -1
  144. package/out/concepts/index__.d.ts +0 -1
  145. package/out/concepts/index__.js +0 -1
  146. package/out/concepts/index__.js.map +1 -1
  147. package/out/enums/KEYWORDS.js +8 -0
  148. package/out/enums/KEYWORDS.js.map +1 -1
  149. package/out/generator/genBundleFiles.js +24 -5
  150. package/out/generator/genBundleFiles.js.map +1 -1
  151. package/out/generator/genReleaseBody.d.ts +3 -3
  152. package/out/generator/genReleaseBody.js +98 -23
  153. package/out/generator/genReleaseBody.js.map +1 -1
  154. package/out/generator/permission.d.ts +3 -10
  155. package/out/generator/permission.js +43 -21
  156. package/out/generator/permission.js.map +1 -1
  157. package/out/index.d.ts +1 -1
  158. package/out/index.js +2 -1
  159. package/out/index.js.map +1 -1
  160. package/out/server/entity2LogicNamespace.js +2 -20
  161. package/out/server/entity2LogicNamespace.js.map +1 -1
  162. package/out/server/extendBaseNode.js +16 -5
  163. package/out/server/extendBaseNode.js.map +1 -1
  164. package/out/server/formatTsUtils.d.ts +2 -1
  165. package/out/server/formatTsUtils.js +40 -10
  166. package/out/server/formatTsUtils.js.map +1 -1
  167. package/out/server/getLogics.d.ts +2 -2
  168. package/out/server/getLogics.js +3 -3
  169. package/out/server/getLogics.js.map +1 -1
  170. package/out/server/getMemberIdentifier.d.ts +1 -0
  171. package/out/server/getMemberIdentifier.js +27 -1
  172. package/out/server/getMemberIdentifier.js.map +1 -1
  173. package/out/server/index.js +1 -0
  174. package/out/server/index.js.map +1 -1
  175. package/out/server/naslServer.d.ts +7 -1
  176. package/out/server/naslServer.js +558 -62
  177. package/out/server/naslServer.js.map +1 -1
  178. package/out/server/translator.js +109 -33
  179. package/out/server/translator.js.map +1 -1
  180. package/out/service/storage/init.js +22 -2
  181. package/out/service/storage/init.js.map +1 -1
  182. package/out/templator/genCreateBlock.js +1 -3
  183. package/out/templator/genCreateBlock.js.map +1 -1
  184. package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
  185. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  186. package/out/templator/genCurdMultipleKeyBlock.js +2 -4
  187. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  188. package/out/templator/genGetBlock.js +1 -1
  189. package/out/templator/genGetBlock.js.map +1 -1
  190. package/out/templator/genGridViewBlock.js +2 -2
  191. package/out/templator/genGridViewBlock.js.map +1 -1
  192. package/out/templator/genListViewBlock.js +7 -1
  193. package/out/templator/genListViewBlock.js.map +1 -1
  194. package/out/templator/genSelectBlock.js +1 -1
  195. package/out/templator/genSelectBlock.js.map +1 -1
  196. package/out/templator/genTableBlock.js +2 -2
  197. package/out/templator/genTableBlock.js.map +1 -1
  198. package/out/templator/genUpdateBlock.js +2 -3
  199. package/out/templator/genUpdateBlock.js.map +1 -1
  200. package/out/translator/index.js +4 -1
  201. package/out/translator/index.js.map +1 -1
  202. package/out/utils/traverse.js +8 -2
  203. package/out/utils/traverse.js.map +1 -1
  204. package/package.json +2 -2
  205. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  206. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  207. package/sandbox/stdlib/nasl.collection.ts +1 -0
  208. package/sandbox/stdlib/nasl.core.ts +34 -0
  209. package/sandbox/stdlib/nasl.oql.ts +71 -15
  210. package/sandbox/stdlib/nasl.util.ts +9 -3
  211. package/src/automate/engine/dist/index.dev.js +517 -0
  212. package/src/automate/engine/index.js +2 -3
  213. package/src/automate/engine/uniqueName.js +2 -2
  214. package/src/automate/engine/utils.js +4 -2
  215. package/src/automate/template/myProcess.js +2 -2
  216. package/src/bak/translator.js +16 -25
  217. package/src/common/BaseNode.ts +3 -1
  218. package/src/common/Command.ts +4 -0
  219. package/src/common/dist/BaseNode.js +1101 -0
  220. package/src/concepts/App__.ts +36 -7
  221. package/src/concepts/Assignee__.ts +4 -3
  222. package/src/concepts/BatchAssignment__.ts +3 -3
  223. package/src/concepts/BindAttribute__.ts +301 -38
  224. package/src/concepts/BindDirective__.ts +205 -30
  225. package/src/concepts/BindStyle__.ts +188 -24
  226. package/src/concepts/CallFunction__.ts +55 -10
  227. package/src/concepts/CallInterface__.ts +3 -2
  228. package/src/concepts/CallLogic__.ts +110 -90
  229. package/src/concepts/CallQueryComponent__.ts +18 -3
  230. package/src/concepts/ConfigGroup__.ts +17 -4
  231. package/src/concepts/ConfigProperty__.ts +72 -4
  232. package/src/concepts/Configuration__.ts +14 -5
  233. package/src/concepts/DataSource__.ts +10 -3
  234. package/src/concepts/Destination__.ts +61 -7
  235. package/src/concepts/EntityProperty__.ts +7 -1
  236. package/src/concepts/EnumItem__.ts +6 -6
  237. package/src/concepts/Enum__.ts +22 -19
  238. package/src/concepts/ExternalDestination__.ts +29 -9
  239. package/src/concepts/ForEachStatement__.ts +2 -0
  240. package/src/concepts/Frontend__.ts +2 -1
  241. package/src/concepts/Identifier__.ts +16 -5
  242. package/src/concepts/InterfaceParam__.ts +7 -1
  243. package/src/concepts/JSBlock__.ts +3 -2
  244. package/src/concepts/Logic__.ts +110 -89
  245. package/src/concepts/Match__.ts +53 -14
  246. package/src/concepts/MemberExpression__.ts +6 -0
  247. package/src/concepts/Module__.ts +57 -0
  248. package/src/concepts/NewComposite__.ts +104 -131
  249. package/src/concepts/NewList__.ts +23 -2
  250. package/src/concepts/NewMap__.ts +48 -24
  251. package/src/concepts/OqlQueryComponent__.ts +40 -20
  252. package/src/concepts/Param__.ts +178 -176
  253. package/src/concepts/ProcessElement__.ts +2 -1
  254. package/src/concepts/ProcessOutcome__.ts +1 -1
  255. package/src/concepts/ProcessOutcomes__.ts +1 -1
  256. package/src/concepts/Process__.ts +1 -0
  257. package/src/concepts/Return__.ts +10 -2
  258. package/src/concepts/StringInterpolation__.ts +19 -7
  259. package/src/concepts/StringLiteral__.ts +7 -6
  260. package/src/concepts/StructureProperty__.ts +7 -1
  261. package/src/concepts/TypeAnnotation__.ts +102 -15
  262. package/src/concepts/ValidationRule__.ts +58 -9
  263. package/src/concepts/Variable__.ts +13 -1
  264. package/src/concepts/ViewElement__.ts +47 -2
  265. package/src/concepts/View__.ts +39 -18
  266. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  267. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  268. package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
  269. package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
  270. package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
  271. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  272. package/src/concepts/basics/types/index.ts +1 -0
  273. package/src/concepts/dist/BindAttribute__.js +795 -0
  274. package/src/concepts/dist/BindEvent__.js +732 -0
  275. package/src/concepts/dist/CallFunction__.js +527 -0
  276. package/src/concepts/dist/CallLogic__.js +932 -0
  277. package/src/concepts/dist/Destination__.js +708 -0
  278. package/src/concepts/dist/ExternalDestination__.js +298 -0
  279. package/src/concepts/dist/Identifier__.js +311 -0
  280. package/src/concepts/dist/StringInterpolation__.js +231 -0
  281. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  282. package/src/concepts/dist/ViewElement__.js +1692 -0
  283. package/src/concepts/dist/View__.js +1601 -0
  284. package/src/concepts/index__.ts +0 -1
  285. package/src/enums/KEYWORDS.ts +8 -0
  286. package/src/generator/dist/genBundleFiles.js +261 -0
  287. package/src/generator/dist/genMetaData.js +245 -0
  288. package/src/generator/dist/permission.js +405 -0
  289. package/src/generator/genBundleFiles.ts +24 -5
  290. package/src/generator/genReleaseBody.ts +77 -31
  291. package/src/generator/permission.ts +47 -21
  292. package/src/index.ts +1 -1
  293. package/src/server/entity2LogicNamespace.ts +2 -20
  294. package/src/server/extendBaseNode.ts +15 -5
  295. package/src/server/formatTsUtils.ts +41 -10
  296. package/src/server/getLogics.ts +4 -4
  297. package/src/server/getMemberIdentifier.ts +27 -1
  298. package/src/server/index.ts +2 -0
  299. package/src/server/naslServer.ts +555 -63
  300. package/src/server/translator.ts +96 -34
  301. package/src/service/storage/dist/init.js +579 -0
  302. package/src/service/storage/init.ts +23 -3
  303. package/src/templator/dist/genEditTableBlock.js +204 -0
  304. package/src/templator/dist/genGridViewBlock.js +265 -0
  305. package/src/templator/dist/genListViewBlock.js +84 -0
  306. package/src/templator/dist/genTableBlock.js +209 -0
  307. package/src/templator/dist/utils.js +527 -0
  308. package/src/templator/genCreateBlock.ts +1 -3
  309. package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
  310. package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
  311. package/src/templator/genGetBlock.ts +1 -1
  312. package/src/templator/genGridViewBlock.ts +3 -4
  313. package/src/templator/genListViewBlock.ts +9 -3
  314. package/src/templator/genSelectBlock.ts +1 -1
  315. package/src/templator/genTableBlock.ts +3 -3
  316. package/src/templator/genUpdateBlock.ts +2 -3
  317. package/src/translator/index.ts +3 -1
  318. package/src/utils/traverse.ts +10 -2
  319. package/ts-worker/lib/tsserver.js +10 -2
  320. package/ts-worker/package.json +1 -0
  321. package/ts-worker/webpack.config.js +11 -2
  322. package/out/concepts/ConstructArgument__.d.ts +0 -40
  323. package/out/concepts/ConstructArgument__.js +0 -108
  324. package/out/concepts/ConstructArgument__.js.map +0 -1
  325. package/out/concepts/Construct__.d.ts +0 -189
  326. package/out/concepts/Construct__.js +0 -340
  327. package/out/concepts/Construct__.js.map +0 -1
  328. package/out/templator/sql-parser/index.d.ts +0 -1
  329. package/out/templator/sql-parser/index.js +0 -228
  330. package/out/templator/sql-parser/index.js.map +0 -1
  331. package/out/templator/sql-parser/parser.js +0 -26664
  332. package/out/templator/sql-parser/parser.js.map +0 -1
@@ -6,6 +6,7 @@ import * as json5 from 'json5';
6
6
  import * as compiler from 'vue-template-compiler';
7
7
 
8
8
  import LogicItem from './LogicItem__';
9
+ import { traverse } from '../utils';
9
10
 
10
11
  import { config, Logic } from '..';
11
12
  import MemberExpression from './MemberExpression__';
@@ -322,6 +323,8 @@ export class ViewElement extends BaseNode {
322
323
  super.subConstructor(source);
323
324
  }
324
325
 
326
+
327
+
325
328
  /**
326
329
  * 从父级删除该节点
327
330
  * @internal
@@ -370,7 +373,7 @@ export class ViewElement extends BaseNode {
370
373
  });
371
374
  }
372
375
 
373
- getBindAttributeExistingNames(excludedList: Array<BindAttribute> = []) {
376
+ getBindAttributeExistingNames(excludedList: Array<BindAttribute> = []) {
374
377
  const excludedSet = new Set(excludedList);
375
378
  return ((this.bindAttrs as BindAttribute[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
376
379
  }
@@ -511,6 +514,7 @@ export class ViewElement extends BaseNode {
511
514
  return node;
512
515
  }
513
516
 
517
+
514
518
  getBindEventExistingNames(excludedList: Array<BindEvent> = []) {
515
519
  const excludedSet = new Set(excludedList);
516
520
  return ((this.bindEvents as BindEvent[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -652,6 +656,7 @@ export class ViewElement extends BaseNode {
652
656
  return node;
653
657
  }
654
658
 
659
+
655
660
  getBindDirectiveExistingNames(excludedList: Array<BindDirective> = []) {
656
661
  const excludedSet = new Set(excludedList);
657
662
  return ((this.bindDirectives as BindDirective[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -793,6 +798,9 @@ export class ViewElement extends BaseNode {
793
798
  return node;
794
799
  }
795
800
 
801
+
802
+
803
+
796
804
  getBindStyleExistingNames(excludedList: Array<BindStyle> = []) {
797
805
  const excludedSet = new Set(excludedList);
798
806
  return ((this.bindStyles as BindStyle[]) || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
@@ -934,6 +942,9 @@ export class ViewElement extends BaseNode {
934
942
  return node;
935
943
  }
936
944
 
945
+
946
+
947
+
937
948
  /**
938
949
  * 插入页面元素
939
950
  * @internal
@@ -1067,6 +1078,9 @@ export class ViewElement extends BaseNode {
1067
1078
  return node;
1068
1079
  }
1069
1080
 
1081
+
1082
+
1083
+
1070
1084
  /**
1071
1085
  * 删除元素绑定属性
1072
1086
  * @param name 元素绑定属性名称
@@ -1115,6 +1129,8 @@ export class ViewElement extends BaseNode {
1115
1129
  return params;
1116
1130
  }
1117
1131
 
1132
+
1133
+
1118
1134
  /**
1119
1135
  * 删除元素绑定事件
1120
1136
  * @param name 元素绑定事件名称
@@ -1163,6 +1179,8 @@ export class ViewElement extends BaseNode {
1163
1179
  return params;
1164
1180
  }
1165
1181
 
1182
+
1183
+
1166
1184
  /**
1167
1185
  * 删除元素指令
1168
1186
  * @param name 元素指令名称
@@ -1211,6 +1229,8 @@ export class ViewElement extends BaseNode {
1211
1229
  return params;
1212
1230
  }
1213
1231
 
1232
+
1233
+
1214
1234
  /**
1215
1235
  * 删除元素绑定样式
1216
1236
  * @param name 元素绑定样式名称
@@ -1259,6 +1279,8 @@ export class ViewElement extends BaseNode {
1259
1279
  return params;
1260
1280
  }
1261
1281
 
1282
+
1283
+
1262
1284
  /**
1263
1285
  * 删除页面元素
1264
1286
  * @param name 页面元素名称
@@ -1326,6 +1348,10 @@ export class ViewElement extends BaseNode {
1326
1348
  return `${this.view.path}/${this.name}`;
1327
1349
  }
1328
1350
 
1351
+ get auth() {
1352
+ return this.bindDirectives.find((directive) => directive.name === 'auth');
1353
+ }
1354
+
1329
1355
  getViewElementUniqueName(name = 'viewElement1') {
1330
1356
  return this.view?.getViewElementUniqueName(name);
1331
1357
  }
@@ -1487,7 +1513,7 @@ export class ViewElement extends BaseNode {
1487
1513
  this.children.forEach((element) => {
1488
1514
  code += element.toEmbeddedTS(shiftState(state, code, {
1489
1515
  tabSize: (state?.tabSize || 0),
1490
- }));
1516
+ }), levelIndex);
1491
1517
  });
1492
1518
  code += indent((state?.tabSize || 0) + 2);
1493
1519
  code += ']';
@@ -1603,7 +1629,22 @@ export class ViewElement extends BaseNode {
1603
1629
 
1604
1630
  _duplicate() {
1605
1631
  const element = ViewElement.from(this.toTemplateJSON());
1632
+ const oldName = element.name;
1606
1633
  element.deepRenameElements(this);
1634
+ if (element.tag === 'u-modal' || element.tag === 'u-drawer') {
1635
+ const cancelNode = traverse(({ node }: { node: any}) => {
1636
+ if (node?.bindAttrs?.find((bindAttr: any) => bindAttr.value === '取消'))
1637
+ return node;
1638
+ }, { node: element });
1639
+ cancelNode.bindEvents.forEach(({ logics }: { logics: any }) => {
1640
+ logics.forEach(({ body }: { body: any }) => {
1641
+ body.forEach((item: any) => {
1642
+ if (item.concept === 'CallLogic' && item.calleeName === 'close' && item.calleeNamespace.split('.')[1] === oldName)
1643
+ item.calleeNamespace = `elements.${element.name}.logics`;
1644
+ });
1645
+ });
1646
+ });
1647
+ }
1607
1648
  this.view.existingViewElement.clear();
1608
1649
  return element;
1609
1650
  }
@@ -2104,6 +2145,10 @@ export class ViewElement extends BaseNode {
2104
2145
  }
2105
2146
  });
2106
2147
  }
2148
+ // 部分组件增加 key 唯一标识,防止 vue 判断重复节点,导致渲染异常
2149
+ if (this.name && ['u-table-view', 'u-list-view', 'u-grid-view', 'u-list-components', 'u-form', 'u-select'].includes(this.tag)) {
2150
+ this.name && parts.push(`key="${this.name}"`);
2151
+ }
2107
2152
 
2108
2153
  let partsLength = 0;
2109
2154
  let partsString = '';
@@ -1094,7 +1094,6 @@ export class View extends BaseNode {
1094
1094
 
1095
1095
  /**
1096
1096
  * 删除页面元素
1097
- * @param name 页面元素名称
1098
1097
  */
1099
1098
  removeViewElement(name: string): void;
1100
1099
 
@@ -1388,7 +1387,9 @@ export class View extends BaseNode {
1388
1387
  /* 主页面有没有权限 */
1389
1388
  get parentAuth() {
1390
1389
  const _nameSpace = this.getTsNamespace();
1391
- const mainViewName = _nameSpace.split('.')[2];
1390
+ const _nameSpaceArr = _nameSpace.split('.');
1391
+ const viewsIndex = _nameSpaceArr.findIndex((item) => item === 'views');
1392
+ const mainViewName = _nameSpaceArr[viewsIndex + 1];
1392
1393
  return mainViewName ? this.frontend.views.find((item) => item.name === mainViewName)?.auth : this.auth;
1393
1394
  }
1394
1395
  /**
@@ -1510,7 +1511,8 @@ export class View extends BaseNode {
1510
1511
  const param = Param.from({
1511
1512
  ...paramsOption,
1512
1513
  }, this, 'params');
1513
- this.addParam(param);
1514
+ this._addParam(param);
1515
+ param.addParamsPrepare();
1514
1516
  });
1515
1517
  }
1516
1518
  // 页面变量
@@ -1626,7 +1628,7 @@ export class View extends BaseNode {
1626
1628
  first: this.children.find((child) => child.isIndex)?.name,
1627
1629
  auth: this.auth ? 'loginAuth' : undefined,
1628
1630
  viewBindEvents: this.getViewBindEvents(),
1629
- viewMatchExpressions: this.getViewMatchExpressions(),
1631
+ viewExpressions: this.getViewExpressions(),
1630
1632
  };
1631
1633
  let code = '';
1632
1634
  let mixin = '';
@@ -1763,11 +1765,22 @@ export class View extends BaseNode {
1763
1765
  // 子页面内部逻辑过滤
1764
1766
  if (el.view !== this)
1765
1767
  return;
1766
- const jsCode = el.toJS();
1767
- const advanceVar = this.variables?.find((variable) =>
1768
- !variable.typeAnnotation && jsCode.includes(`this.${variable.name} = `));
1769
- if (advanceVar && !advanceMap.get(advanceVar)) {
1770
- advanceMap.set(advanceVar, el);
1768
+ if (el instanceof Assignment) {
1769
+ const advanceVar = this.variables?.find((variable) =>
1770
+ !variable.typeAnnotation && el.left?.name === variable.name);
1771
+ if (advanceVar && !advanceMap.get(advanceVar)) {
1772
+ advanceMap.set(advanceVar, el);
1773
+ }
1774
+ } else if (el instanceof BatchAssignment) {
1775
+ el.assignmentLines.forEach(({ leftIndex }) => {
1776
+ const leftCode
1777
+ = leftIndex.length === 1 ? el.left?.expression?.toEmbeddedTS(shiftState(state, code, { inline: true })) : el.left?.members[leftIndex[1]]?.toEmbeddedTS(shiftState(state, code, { inline: true }));
1778
+ const advanceVar = this.variables?.find((variable) =>
1779
+ !variable.typeAnnotation && leftCode === variable.name);
1780
+ if (advanceVar && !advanceMap.get(advanceVar)) {
1781
+ advanceMap.set(advanceVar, el);
1782
+ }
1783
+ });
1771
1784
  }
1772
1785
  }
1773
1786
  });
@@ -1979,14 +1992,21 @@ export class View extends BaseNode {
1979
1992
  return bindEvents;
1980
1993
  }
1981
1994
 
1982
- // 获取页面上的match表达式,忽略页面逻辑
1983
- getViewMatchExpressions() {
1984
- const bindMatchExpressions: Array<Match> = [];
1995
+ // 获取页面上需要替换的表达式
1996
+ getViewExpressions() {
1997
+ const bindExpressions: any[] = [];
1985
1998
  this.elements.forEach((item) => {
1986
1999
  utils.traverse((current) => {
1987
2000
  const { node } = current as any;
2001
+ //// 处理三种情况
2002
+ //if (
2003
+ // ['BindAttribute', 'BindDirective', 'BindStyle'].includes(node.concept)
2004
+ // && node.needReplaceWithIdentifier
2005
+ //) {
2006
+ // bindExpressions.push(node);
2007
+ //}
1988
2008
  if (node.concept === 'Match') {
1989
- bindMatchExpressions.push(node as Match);
2009
+ bindExpressions.push(node as Match);
1990
2010
  }
1991
2011
  }, {
1992
2012
  node: item,
@@ -2007,7 +2027,7 @@ export class View extends BaseNode {
2007
2027
  ]),
2008
2028
  });
2009
2029
  });
2010
- return bindMatchExpressions;
2030
+ return bindExpressions;
2011
2031
  }
2012
2032
 
2013
2033
  /**
@@ -2087,6 +2107,7 @@ export class View extends BaseNode {
2087
2107
  }
2088
2108
 
2089
2109
  getRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any): string {
2110
+ code = code.replaceAll('\n', ' ');
2090
2111
  const logic = assignment.logic;
2091
2112
  const logicRtn = logic?.returns[0];
2092
2113
  // 调用接口,参数替换成 null
@@ -2164,8 +2185,8 @@ export class View extends BaseNode {
2164
2185
  const viewElements: ViewElement[] = [];
2165
2186
  while (element) {
2166
2187
  if (element.concept
2167
- && element.concept === 'ViewElement'
2168
- && (element as ViewElement).bindAttrs.find((bAttr) => bAttr.name === 'data-source')) {
2188
+ && element.concept === 'ViewElement'
2189
+ && (element as ViewElement).bindAttrs.find((bAttr) => bAttr.name === 'data-source')) {
2169
2190
  viewElements.push(element as ViewElement);
2170
2191
  }
2171
2192
  element = element.parentNode;
@@ -2196,8 +2217,8 @@ export class View extends BaseNode {
2196
2217
  return code;
2197
2218
  }
2198
2219
 
2199
- getViewCallLogics():string[] {
2200
- const callbackLogics :string[] = [];
2220
+ getViewCallLogics(): string[] {
2221
+ const callbackLogics: string[] = [];
2201
2222
  this.traverseChildren((el) => {
2202
2223
  if (el instanceof Identifier && el.namespace?.endsWith('logics')) {
2203
2224
  callbackLogics.push(el.namespace + '.' + el.name);