@lcap/nasl 2.20.0-beta.3 → 2.20.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 (323) 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 +270 -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 -17
  31. package/out/concepts/BindDirective__.js.map +1 -1
  32. package/out/concepts/BindStyle__.d.ts +7 -0
  33. package/out/concepts/BindStyle__.js +194 -4
  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 +61 -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.map +1 -1
  54. package/out/concepts/Destination__.d.ts +1 -0
  55. package/out/concepts/Destination__.js +61 -7
  56. package/out/concepts/Destination__.js.map +1 -1
  57. package/out/concepts/EntityProperty__.js +9 -1
  58. package/out/concepts/EntityProperty__.js.map +1 -1
  59. package/out/concepts/EnumItem__.d.ts +5 -5
  60. package/out/concepts/EnumItem__.js +6 -6
  61. package/out/concepts/Enum__.d.ts +20 -19
  62. package/out/concepts/Enum__.js +28 -1
  63. package/out/concepts/Enum__.js.map +1 -1
  64. package/out/concepts/ExternalDestination__.d.ts +1 -0
  65. package/out/concepts/ExternalDestination__.js +21 -3
  66. package/out/concepts/ExternalDestination__.js.map +1 -1
  67. package/out/concepts/ForEachStatement__.js +2 -0
  68. package/out/concepts/ForEachStatement__.js.map +1 -1
  69. package/out/concepts/Frontend__.d.ts +2 -1
  70. package/out/concepts/Frontend__.js.map +1 -1
  71. package/out/concepts/Identifier__.js +16 -5
  72. package/out/concepts/Identifier__.js.map +1 -1
  73. package/out/concepts/InterfaceParam__.js +9 -1
  74. package/out/concepts/InterfaceParam__.js.map +1 -1
  75. package/out/concepts/JSBlock__.js +5 -1
  76. package/out/concepts/JSBlock__.js.map +1 -1
  77. package/out/concepts/Logic__.d.ts +79 -79
  78. package/out/concepts/Logic__.js +16 -3
  79. package/out/concepts/Logic__.js.map +1 -1
  80. package/out/concepts/Match__.d.ts +0 -3
  81. package/out/concepts/Match__.js +11 -66
  82. package/out/concepts/Match__.js.map +1 -1
  83. package/out/concepts/MemberExpression__.js +9 -0
  84. package/out/concepts/MemberExpression__.js.map +1 -1
  85. package/out/concepts/Module__.d.ts +16 -0
  86. package/out/concepts/Module__.js +43 -0
  87. package/out/concepts/Module__.js.map +1 -1
  88. package/out/concepts/NewComposite__.d.ts +2 -4
  89. package/out/concepts/NewComposite__.js +91 -126
  90. package/out/concepts/NewComposite__.js.map +1 -1
  91. package/out/concepts/NewList__.d.ts +1 -0
  92. package/out/concepts/NewList__.js +22 -2
  93. package/out/concepts/NewList__.js.map +1 -1
  94. package/out/concepts/NewMap__.d.ts +1 -0
  95. package/out/concepts/NewMap__.js +43 -11
  96. package/out/concepts/NewMap__.js.map +1 -1
  97. package/out/concepts/OqlQueryComponent__.js +40 -12
  98. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  99. package/out/concepts/Param__.js +10 -2
  100. package/out/concepts/Param__.js.map +1 -1
  101. package/out/concepts/ProcessElement__.js +2 -1
  102. package/out/concepts/ProcessElement__.js.map +1 -1
  103. package/out/concepts/ProcessOutcome__.js +1 -1
  104. package/out/concepts/ProcessOutcome__.js.map +1 -1
  105. package/out/concepts/ProcessOutcomes__.js +1 -1
  106. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  107. package/out/concepts/Process__.js +1 -0
  108. package/out/concepts/Process__.js.map +1 -1
  109. package/out/concepts/Return__.js +10 -2
  110. package/out/concepts/Return__.js.map +1 -1
  111. package/out/concepts/StringInterpolation__.js +14 -2
  112. package/out/concepts/StringInterpolation__.js.map +1 -1
  113. package/out/concepts/StringLiteral__.js +6 -6
  114. package/out/concepts/StringLiteral__.js.map +1 -1
  115. package/out/concepts/StructureProperty__.js +9 -1
  116. package/out/concepts/StructureProperty__.js.map +1 -1
  117. package/out/concepts/TypeAnnotation__.d.ts +6 -3
  118. package/out/concepts/TypeAnnotation__.js +67 -13
  119. package/out/concepts/TypeAnnotation__.js.map +1 -1
  120. package/out/concepts/ValidationRule__.d.ts +1 -0
  121. package/out/concepts/ValidationRule__.js +53 -0
  122. package/out/concepts/ValidationRule__.js.map +1 -1
  123. package/out/concepts/Variable__.js +9 -1
  124. package/out/concepts/Variable__.js.map +1 -1
  125. package/out/concepts/ViewElement__.js +17 -1
  126. package/out/concepts/ViewElement__.js.map +1 -1
  127. package/out/concepts/View__.d.ts +1 -3
  128. package/out/concepts/View__.js +22 -11
  129. package/out/concepts/View__.js.map +1 -1
  130. package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
  131. package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
  132. package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
  133. package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
  134. package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
  135. package/out/concepts/basics/stdlib/nasl.core.js +34 -0
  136. package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
  137. package/out/concepts/basics/stdlib/nasl.util.js +4 -2
  138. package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
  139. package/out/concepts/basics/types/index.d.ts +1 -0
  140. package/out/concepts/basics/types/index.js +3 -1
  141. package/out/concepts/basics/types/index.js.map +1 -1
  142. package/out/concepts/index__.d.ts +0 -1
  143. package/out/concepts/index__.js +0 -1
  144. package/out/concepts/index__.js.map +1 -1
  145. package/out/enums/KEYWORDS.js +8 -0
  146. package/out/enums/KEYWORDS.js.map +1 -1
  147. package/out/generator/genBundleFiles.js +24 -5
  148. package/out/generator/genBundleFiles.js.map +1 -1
  149. package/out/generator/genReleaseBody.d.ts +2 -3
  150. package/out/generator/genReleaseBody.js +97 -23
  151. package/out/generator/genReleaseBody.js.map +1 -1
  152. package/out/generator/permission.d.ts +2 -10
  153. package/out/generator/permission.js +26 -13
  154. package/out/generator/permission.js.map +1 -1
  155. package/out/server/entity2LogicNamespace.js +2 -20
  156. package/out/server/entity2LogicNamespace.js.map +1 -1
  157. package/out/server/extendBaseNode.js +16 -5
  158. package/out/server/extendBaseNode.js.map +1 -1
  159. package/out/server/formatTsUtils.d.ts +2 -1
  160. package/out/server/formatTsUtils.js +40 -10
  161. package/out/server/formatTsUtils.js.map +1 -1
  162. package/out/server/getLogics.d.ts +2 -2
  163. package/out/server/getLogics.js +3 -3
  164. package/out/server/getLogics.js.map +1 -1
  165. package/out/server/getMemberIdentifier.d.ts +1 -0
  166. package/out/server/getMemberIdentifier.js +27 -1
  167. package/out/server/getMemberIdentifier.js.map +1 -1
  168. package/out/server/index.js +1 -0
  169. package/out/server/index.js.map +1 -1
  170. package/out/server/naslServer.d.ts +7 -1
  171. package/out/server/naslServer.js +519 -46
  172. package/out/server/naslServer.js.map +1 -1
  173. package/out/server/translator.js +109 -33
  174. package/out/server/translator.js.map +1 -1
  175. package/out/service/storage/init.js +21 -1
  176. package/out/service/storage/init.js.map +1 -1
  177. package/out/templator/genCreateBlock.js +1 -3
  178. package/out/templator/genCreateBlock.js.map +1 -1
  179. package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
  180. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  181. package/out/templator/genCurdMultipleKeyBlock.js +2 -4
  182. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  183. package/out/templator/genGetBlock.js +1 -1
  184. package/out/templator/genGetBlock.js.map +1 -1
  185. package/out/templator/genGridViewBlock.js +2 -2
  186. package/out/templator/genGridViewBlock.js.map +1 -1
  187. package/out/templator/genListViewBlock.js +7 -1
  188. package/out/templator/genListViewBlock.js.map +1 -1
  189. package/out/templator/genSelectBlock.js +1 -1
  190. package/out/templator/genSelectBlock.js.map +1 -1
  191. package/out/templator/genTableBlock.js +2 -2
  192. package/out/templator/genTableBlock.js.map +1 -1
  193. package/out/templator/genUpdateBlock.js +2 -3
  194. package/out/templator/genUpdateBlock.js.map +1 -1
  195. package/out/utils/traverse.js +8 -2
  196. package/out/utils/traverse.js.map +1 -1
  197. package/package.json +2 -2
  198. package/sandbox/stdlib/dist/nasl.logging.js +0 -0
  199. package/sandbox/stdlib/dist/nasl.util.js +0 -0
  200. package/sandbox/stdlib/nasl.collection.ts +1 -0
  201. package/sandbox/stdlib/nasl.core.ts +34 -0
  202. package/sandbox/stdlib/nasl.oql.ts +71 -15
  203. package/sandbox/stdlib/nasl.util.ts +9 -3
  204. package/src/automate/engine/dist/index.dev.js +517 -0
  205. package/src/automate/engine/index.js +2 -3
  206. package/src/automate/engine/uniqueName.js +2 -2
  207. package/src/automate/engine/utils.js +4 -2
  208. package/src/automate/template/myProcess.js +2 -2
  209. package/src/bak/translator.js +16 -25
  210. package/src/common/BaseNode.ts +3 -1
  211. package/src/common/Command.ts +4 -0
  212. package/src/common/dist/BaseNode.js +1101 -0
  213. package/src/concepts/App__.ts +36 -7
  214. package/src/concepts/Assignee__.ts +4 -3
  215. package/src/concepts/BatchAssignment__.ts +3 -3
  216. package/src/concepts/BindAttribute__.ts +299 -38
  217. package/src/concepts/BindDirective__.ts +204 -31
  218. package/src/concepts/BindStyle__.ts +187 -24
  219. package/src/concepts/CallFunction__.ts +55 -10
  220. package/src/concepts/CallInterface__.ts +3 -2
  221. package/src/concepts/CallLogic__.ts +110 -90
  222. package/src/concepts/CallQueryComponent__.ts +18 -3
  223. package/src/concepts/ConfigGroup__.ts +17 -4
  224. package/src/concepts/ConfigProperty__.ts +70 -4
  225. package/src/concepts/Configuration__.ts +14 -5
  226. package/src/concepts/DataSource__.ts +4 -1
  227. package/src/concepts/Destination__.ts +61 -7
  228. package/src/concepts/EntityProperty__.ts +7 -1
  229. package/src/concepts/EnumItem__.ts +6 -6
  230. package/src/concepts/Enum__.ts +22 -19
  231. package/src/concepts/ExternalDestination__.ts +28 -8
  232. package/src/concepts/ForEachStatement__.ts +2 -0
  233. package/src/concepts/Frontend__.ts +2 -1
  234. package/src/concepts/Identifier__.ts +16 -5
  235. package/src/concepts/InterfaceParam__.ts +7 -1
  236. package/src/concepts/JSBlock__.ts +3 -2
  237. package/src/concepts/Logic__.ts +95 -83
  238. package/src/concepts/Match__.ts +31 -67
  239. package/src/concepts/MemberExpression__.ts +6 -0
  240. package/src/concepts/Module__.ts +57 -0
  241. package/src/concepts/NewComposite__.ts +95 -140
  242. package/src/concepts/NewList__.ts +23 -2
  243. package/src/concepts/NewMap__.ts +48 -24
  244. package/src/concepts/OqlQueryComponent__.ts +40 -20
  245. package/src/concepts/Param__.ts +178 -176
  246. package/src/concepts/ProcessElement__.ts +2 -1
  247. package/src/concepts/ProcessOutcome__.ts +1 -1
  248. package/src/concepts/ProcessOutcomes__.ts +1 -1
  249. package/src/concepts/Process__.ts +1 -0
  250. package/src/concepts/Return__.ts +8 -2
  251. package/src/concepts/StringInterpolation__.ts +19 -7
  252. package/src/concepts/StringLiteral__.ts +7 -6
  253. package/src/concepts/StructureProperty__.ts +7 -1
  254. package/src/concepts/TypeAnnotation__.ts +101 -14
  255. package/src/concepts/ValidationRule__.ts +58 -9
  256. package/src/concepts/Variable__.ts +11 -1
  257. package/src/concepts/ViewElement__.ts +39 -2
  258. package/src/concepts/View__.ts +26 -14
  259. package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
  260. package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
  261. package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
  262. package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
  263. package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
  264. package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
  265. package/src/concepts/basics/types/index.ts +1 -0
  266. package/src/concepts/dist/BindAttribute__.js +795 -0
  267. package/src/concepts/dist/BindEvent__.js +732 -0
  268. package/src/concepts/dist/CallFunction__.js +527 -0
  269. package/src/concepts/dist/CallLogic__.js +932 -0
  270. package/src/concepts/dist/Destination__.js +708 -0
  271. package/src/concepts/dist/ExternalDestination__.js +298 -0
  272. package/src/concepts/dist/Identifier__.js +311 -0
  273. package/src/concepts/dist/StringInterpolation__.js +231 -0
  274. package/src/concepts/dist/TypeAnnotation__.js +834 -0
  275. package/src/concepts/dist/ViewElement__.js +1692 -0
  276. package/src/concepts/dist/View__.js +1601 -0
  277. package/src/concepts/index__.ts +0 -1
  278. package/src/enums/KEYWORDS.ts +8 -0
  279. package/src/generator/dist/genBundleFiles.js +261 -0
  280. package/src/generator/dist/genMetaData.js +245 -0
  281. package/src/generator/dist/permission.js +405 -0
  282. package/src/generator/genBundleFiles.ts +24 -5
  283. package/src/generator/genReleaseBody.ts +75 -30
  284. package/src/generator/permission.ts +30 -14
  285. package/src/server/entity2LogicNamespace.ts +2 -20
  286. package/src/server/extendBaseNode.ts +15 -5
  287. package/src/server/formatTsUtils.ts +41 -10
  288. package/src/server/getLogics.ts +4 -4
  289. package/src/server/getMemberIdentifier.ts +27 -1
  290. package/src/server/index.ts +2 -0
  291. package/src/server/naslServer.ts +520 -48
  292. package/src/server/translator.ts +96 -34
  293. package/src/service/storage/dist/init.js +579 -0
  294. package/src/service/storage/init.ts +22 -2
  295. package/src/templator/dist/genEditTableBlock.js +204 -0
  296. package/src/templator/dist/genGridViewBlock.js +265 -0
  297. package/src/templator/dist/genListViewBlock.js +84 -0
  298. package/src/templator/dist/genTableBlock.js +209 -0
  299. package/src/templator/dist/utils.js +527 -0
  300. package/src/templator/genCreateBlock.ts +1 -3
  301. package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
  302. package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
  303. package/src/templator/genGetBlock.ts +1 -1
  304. package/src/templator/genGridViewBlock.ts +3 -4
  305. package/src/templator/genListViewBlock.ts +9 -3
  306. package/src/templator/genSelectBlock.ts +1 -1
  307. package/src/templator/genTableBlock.ts +3 -3
  308. package/src/templator/genUpdateBlock.ts +2 -3
  309. package/src/utils/traverse.ts +10 -2
  310. package/ts-worker/lib/tsserver.js +10 -2
  311. package/ts-worker/package.json +1 -0
  312. package/ts-worker/webpack.config.js +11 -2
  313. package/out/concepts/ConstructArgument__.d.ts +0 -40
  314. package/out/concepts/ConstructArgument__.js +0 -108
  315. package/out/concepts/ConstructArgument__.js.map +0 -1
  316. package/out/concepts/Construct__.d.ts +0 -189
  317. package/out/concepts/Construct__.js +0 -340
  318. package/out/concepts/Construct__.js.map +0 -1
  319. package/out/templator/sql-parser/index.d.ts +0 -1
  320. package/out/templator/sql-parser/index.js +0 -228
  321. package/out/templator/sql-parser/index.js.map +0 -1
  322. package/out/templator/sql-parser/parser.js +0 -26664
  323. 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 页面元素名称
@@ -1487,7 +1509,7 @@ export class ViewElement extends BaseNode {
1487
1509
  this.children.forEach((element) => {
1488
1510
  code += element.toEmbeddedTS(shiftState(state, code, {
1489
1511
  tabSize: (state?.tabSize || 0),
1490
- }));
1512
+ }), levelIndex);
1491
1513
  });
1492
1514
  code += indent((state?.tabSize || 0) + 2);
1493
1515
  code += ']';
@@ -1603,7 +1625,22 @@ export class ViewElement extends BaseNode {
1603
1625
 
1604
1626
  _duplicate() {
1605
1627
  const element = ViewElement.from(this.toTemplateJSON());
1628
+ const oldName = element.name;
1606
1629
  element.deepRenameElements(this);
1630
+ if (element.tag === 'u-modal' || element.tag === 'u-drawer') {
1631
+ const cancelNode = traverse(({ node }: { node: any}) => {
1632
+ if (node?.bindAttrs?.find((bindAttr: any) => bindAttr.value === '取消'))
1633
+ return node;
1634
+ }, { node: element });
1635
+ cancelNode.bindEvents.forEach(({ logics }: { logics: any }) => {
1636
+ logics.forEach(({ body }: { body: any }) => {
1637
+ body.forEach((item: any) => {
1638
+ if (item.concept === 'CallLogic' && item.calleeName === 'close' && item.calleeNamespace.split('.')[1] === oldName)
1639
+ item.calleeNamespace = `elements.${element.name}.logics`;
1640
+ });
1641
+ });
1642
+ });
1643
+ }
1607
1644
  this.view.existingViewElement.clear();
1608
1645
  return element;
1609
1646
  }
@@ -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,9 +1765,14 @@ export class View extends BaseNode {
1763
1765
  // 子页面内部逻辑过滤
1764
1766
  if (el.view !== this)
1765
1767
  return;
1766
- const jsCode = el.toJS();
1768
+ let jsCode = '';
1769
+ try {
1770
+ jsCode = el.toJS();
1771
+ } catch (error) {
1772
+
1773
+ }
1767
1774
  const advanceVar = this.variables?.find((variable) =>
1768
- !variable.typeAnnotation && jsCode.includes(`this.${variable.name} = `));
1775
+ !variable.typeAnnotation && jsCode.startsWith(`this.${variable.name} = `));
1769
1776
  if (advanceVar && !advanceMap.get(advanceVar)) {
1770
1777
  advanceMap.set(advanceVar, el);
1771
1778
  }
@@ -1979,14 +1986,18 @@ export class View extends BaseNode {
1979
1986
  return bindEvents;
1980
1987
  }
1981
1988
 
1982
- // 获取页面上的match表达式,忽略页面逻辑
1983
- getViewMatchExpressions() {
1984
- const bindMatchExpressions: Array<Match> = [];
1989
+ // 获取页面上需要替换的表达式
1990
+ getViewExpressions() {
1991
+ const bindExpressions: any[] = [];
1985
1992
  this.elements.forEach((item) => {
1986
1993
  utils.traverse((current) => {
1987
1994
  const { node } = current as any;
1988
- if (node.concept === 'Match') {
1989
- bindMatchExpressions.push(node as Match);
1995
+ // 处理三种情况
1996
+ if (
1997
+ ['BindAttribute', 'BindDirective', 'BindStyle'].includes(node.concept)
1998
+ && node.needReplaceWithIdentifier
1999
+ ) {
2000
+ bindExpressions.push(node);
1990
2001
  }
1991
2002
  }, {
1992
2003
  node: item,
@@ -2007,7 +2018,7 @@ export class View extends BaseNode {
2007
2018
  ]),
2008
2019
  });
2009
2020
  });
2010
- return bindMatchExpressions;
2021
+ return bindExpressions;
2011
2022
  }
2012
2023
 
2013
2024
  /**
@@ -2087,6 +2098,7 @@ export class View extends BaseNode {
2087
2098
  }
2088
2099
 
2089
2100
  getRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any): string {
2101
+ code = code.replaceAll('\n', ' ');
2090
2102
  const logic = assignment.logic;
2091
2103
  const logicRtn = logic?.returns[0];
2092
2104
  // 调用接口,参数替换成 null
@@ -2164,8 +2176,8 @@ export class View extends BaseNode {
2164
2176
  const viewElements: ViewElement[] = [];
2165
2177
  while (element) {
2166
2178
  if (element.concept
2167
- && element.concept === 'ViewElement'
2168
- && (element as ViewElement).bindAttrs.find((bAttr) => bAttr.name === 'data-source')) {
2179
+ && element.concept === 'ViewElement'
2180
+ && (element as ViewElement).bindAttrs.find((bAttr) => bAttr.name === 'data-source')) {
2169
2181
  viewElements.push(element as ViewElement);
2170
2182
  }
2171
2183
  element = element.parentNode;