ngx-axis-appforge 0.0.2 → 0.0.3

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 (580) hide show
  1. package/axis-components/badge/design/index.d.ts +5 -0
  2. package/axis-components/badge/index.d.ts +27 -0
  3. package/axis-components/button/design/index.d.ts +5 -0
  4. package/axis-components/button/index.d.ts +32 -0
  5. package/axis-components/desc/design/index.d.ts +5 -0
  6. package/axis-components/desc/index.d.ts +30 -0
  7. package/axis-components/design/design/index.d.ts +5 -0
  8. package/axis-components/design/index.d.ts +246 -0
  9. package/axis-components/dynamic-container/design/index.d.ts +5 -0
  10. package/axis-components/dynamic-container/index.d.ts +14 -0
  11. package/axis-components/editor/index.d.ts +33 -0
  12. package/axis-components/flex/design/index.d.ts +5 -0
  13. package/axis-components/flex/index.d.ts +20 -0
  14. package/axis-components/form/design/index.d.ts +5 -0
  15. package/axis-components/form/index.d.ts +30 -0
  16. package/axis-components/form-item/design/index.d.ts +5 -0
  17. package/axis-components/form-item/index.d.ts +34 -0
  18. package/axis-components/icon/design/index.d.ts +5 -0
  19. package/axis-components/icon/index.d.ts +16 -0
  20. package/axis-components/image/design/index.d.ts +5 -0
  21. package/axis-components/image/index.d.ts +16 -0
  22. package/axis-components/index.d.ts +5 -0
  23. package/axis-components/input/design/index.d.ts +5 -0
  24. package/axis-components/input/index.d.ts +27 -0
  25. package/axis-components/input-component/design/index.d.ts +5 -0
  26. package/axis-components/input-component/index.d.ts +33 -0
  27. package/axis-components/input-icon/design/index.d.ts +5 -0
  28. package/axis-components/input-icon/index.d.ts +24 -0
  29. package/axis-components/input-json/design/index.d.ts +5 -0
  30. package/axis-components/input-json/index.d.ts +24 -0
  31. package/axis-components/input-number/design/index.d.ts +5 -0
  32. package/axis-components/input-number/index.d.ts +25 -0
  33. package/axis-components/modal/design/index.d.ts +5 -0
  34. package/axis-components/modal/index.d.ts +33 -0
  35. package/axis-components/scope/design/index.d.ts +5 -0
  36. package/axis-components/scope/index.d.ts +24 -0
  37. package/axis-components/single-selector/design/index.d.ts +5 -0
  38. package/axis-components/single-selector/index.d.ts +37 -0
  39. package/axis-components/splitter/design/index.d.ts +5 -0
  40. package/axis-components/splitter/index.d.ts +28 -0
  41. package/axis-components/table/design/index.d.ts +5 -0
  42. package/axis-components/table/index.d.ts +183 -0
  43. package/axis-components/text/design/index.d.ts +5 -0
  44. package/axis-components/text/index.d.ts +24 -0
  45. package/axis-components/textarea/design/index.d.ts +5 -0
  46. package/axis-components/textarea/index.d.ts +25 -0
  47. package/axis-components/tree-selector/design/index.d.ts +5 -0
  48. package/axis-components/tree-selector/index.d.ts +76 -0
  49. package/axis-components/upload/design/index.d.ts +5 -0
  50. package/axis-components/upload/index.d.ts +51 -0
  51. package/core/index.d.ts +773 -0
  52. package/fesm2022/ngx-axis-appforge-axis-components-badge-design.mjs +191 -0
  53. package/fesm2022/ngx-axis-appforge-axis-components-badge-design.mjs.map +1 -0
  54. package/fesm2022/ngx-axis-appforge-axis-components-badge.mjs +39 -0
  55. package/fesm2022/ngx-axis-appforge-axis-components-badge.mjs.map +1 -0
  56. package/fesm2022/ngx-axis-appforge-axis-components-button-design.mjs +116 -0
  57. package/fesm2022/ngx-axis-appforge-axis-components-button-design.mjs.map +1 -0
  58. package/fesm2022/ngx-axis-appforge-axis-components-button.mjs +78 -0
  59. package/fesm2022/ngx-axis-appforge-axis-components-button.mjs.map +1 -0
  60. package/fesm2022/ngx-axis-appforge-axis-components-desc-design.mjs +224 -0
  61. package/fesm2022/ngx-axis-appforge-axis-components-desc-design.mjs.map +1 -0
  62. package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs +51 -0
  63. package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs.map +1 -0
  64. package/fesm2022/ngx-axis-appforge-axis-components-design-design.mjs +69 -0
  65. package/fesm2022/ngx-axis-appforge-axis-components-design-design.mjs.map +1 -0
  66. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs +1746 -0
  67. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs.map +1 -0
  68. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container-design.mjs +65 -0
  69. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container-design.mjs.map +1 -0
  70. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container.mjs +26 -0
  71. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container.mjs.map +1 -0
  72. package/fesm2022/ngx-axis-appforge-axis-components-editor.mjs +99 -0
  73. package/fesm2022/ngx-axis-appforge-axis-components-editor.mjs.map +1 -0
  74. package/fesm2022/ngx-axis-appforge-axis-components-flex-design.mjs +98 -0
  75. package/fesm2022/ngx-axis-appforge-axis-components-flex-design.mjs.map +1 -0
  76. package/fesm2022/ngx-axis-appforge-axis-components-flex.mjs +31 -0
  77. package/fesm2022/ngx-axis-appforge-axis-components-flex.mjs.map +1 -0
  78. package/fesm2022/ngx-axis-appforge-axis-components-form-design.mjs +108 -0
  79. package/fesm2022/ngx-axis-appforge-axis-components-form-design.mjs.map +1 -0
  80. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs +242 -0
  81. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs.map +1 -0
  82. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs +144 -0
  83. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs.map +1 -0
  84. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs +132 -0
  85. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs.map +1 -0
  86. package/fesm2022/ngx-axis-appforge-axis-components-icon-design.mjs +88 -0
  87. package/fesm2022/ngx-axis-appforge-axis-components-icon-design.mjs.map +1 -0
  88. package/fesm2022/ngx-axis-appforge-axis-components-icon.mjs +28 -0
  89. package/fesm2022/ngx-axis-appforge-axis-components-icon.mjs.map +1 -0
  90. package/fesm2022/ngx-axis-appforge-axis-components-image-design.mjs +75 -0
  91. package/fesm2022/ngx-axis-appforge-axis-components-image-design.mjs.map +1 -0
  92. package/fesm2022/ngx-axis-appforge-axis-components-image.mjs +43 -0
  93. package/fesm2022/ngx-axis-appforge-axis-components-image.mjs.map +1 -0
  94. package/fesm2022/ngx-axis-appforge-axis-components-input-component-design.mjs +70 -0
  95. package/fesm2022/ngx-axis-appforge-axis-components-input-component-design.mjs.map +1 -0
  96. package/fesm2022/ngx-axis-appforge-axis-components-input-component.mjs +61 -0
  97. package/fesm2022/ngx-axis-appforge-axis-components-input-component.mjs.map +1 -0
  98. package/fesm2022/ngx-axis-appforge-axis-components-input-design.mjs +142 -0
  99. package/fesm2022/ngx-axis-appforge-axis-components-input-design.mjs.map +1 -0
  100. package/fesm2022/ngx-axis-appforge-axis-components-input-icon-design.mjs +71 -0
  101. package/fesm2022/ngx-axis-appforge-axis-components-input-icon-design.mjs.map +1 -0
  102. package/fesm2022/ngx-axis-appforge-axis-components-input-icon.mjs +64 -0
  103. package/fesm2022/ngx-axis-appforge-axis-components-input-icon.mjs.map +1 -0
  104. package/fesm2022/ngx-axis-appforge-axis-components-input-json-design.mjs +60 -0
  105. package/fesm2022/ngx-axis-appforge-axis-components-input-json-design.mjs.map +1 -0
  106. package/fesm2022/ngx-axis-appforge-axis-components-input-json.mjs +70 -0
  107. package/fesm2022/ngx-axis-appforge-axis-components-input-json.mjs.map +1 -0
  108. package/fesm2022/ngx-axis-appforge-axis-components-input-number-design.mjs +107 -0
  109. package/fesm2022/ngx-axis-appforge-axis-components-input-number-design.mjs.map +1 -0
  110. package/fesm2022/ngx-axis-appforge-axis-components-input-number.mjs +48 -0
  111. package/fesm2022/ngx-axis-appforge-axis-components-input-number.mjs.map +1 -0
  112. package/fesm2022/ngx-axis-appforge-axis-components-input.mjs +68 -0
  113. package/fesm2022/ngx-axis-appforge-axis-components-input.mjs.map +1 -0
  114. package/fesm2022/ngx-axis-appforge-axis-components-modal-design.mjs +181 -0
  115. package/fesm2022/ngx-axis-appforge-axis-components-modal-design.mjs.map +1 -0
  116. package/fesm2022/ngx-axis-appforge-axis-components-modal.mjs +74 -0
  117. package/fesm2022/ngx-axis-appforge-axis-components-modal.mjs.map +1 -0
  118. package/fesm2022/ngx-axis-appforge-axis-components-scope-design.mjs +330 -0
  119. package/fesm2022/ngx-axis-appforge-axis-components-scope-design.mjs.map +1 -0
  120. package/fesm2022/ngx-axis-appforge-axis-components-scope.mjs +55 -0
  121. package/fesm2022/ngx-axis-appforge-axis-components-scope.mjs.map +1 -0
  122. package/fesm2022/ngx-axis-appforge-axis-components-single-selector-design.mjs +120 -0
  123. package/fesm2022/ngx-axis-appforge-axis-components-single-selector-design.mjs.map +1 -0
  124. package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs +102 -0
  125. package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs.map +1 -0
  126. package/fesm2022/ngx-axis-appforge-axis-components-splitter-design.mjs +178 -0
  127. package/fesm2022/ngx-axis-appforge-axis-components-splitter-design.mjs.map +1 -0
  128. package/fesm2022/ngx-axis-appforge-axis-components-splitter.mjs +49 -0
  129. package/fesm2022/ngx-axis-appforge-axis-components-splitter.mjs.map +1 -0
  130. package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs +442 -0
  131. package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs.map +1 -0
  132. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs +452 -0
  133. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs.map +1 -0
  134. package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs +95 -0
  135. package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs.map +1 -0
  136. package/fesm2022/ngx-axis-appforge-axis-components-text.mjs +64 -0
  137. package/fesm2022/ngx-axis-appforge-axis-components-text.mjs.map +1 -0
  138. package/fesm2022/ngx-axis-appforge-axis-components-textarea-design.mjs +94 -0
  139. package/fesm2022/ngx-axis-appforge-axis-components-textarea-design.mjs.map +1 -0
  140. package/fesm2022/ngx-axis-appforge-axis-components-textarea.mjs +64 -0
  141. package/fesm2022/ngx-axis-appforge-axis-components-textarea.mjs.map +1 -0
  142. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector-design.mjs +222 -0
  143. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector-design.mjs.map +1 -0
  144. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector.mjs +295 -0
  145. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector.mjs.map +1 -0
  146. package/fesm2022/ngx-axis-appforge-axis-components-upload-design.mjs +146 -0
  147. package/fesm2022/ngx-axis-appforge-axis-components-upload-design.mjs.map +1 -0
  148. package/fesm2022/ngx-axis-appforge-axis-components-upload.mjs +156 -0
  149. package/fesm2022/ngx-axis-appforge-axis-components-upload.mjs.map +1 -0
  150. package/fesm2022/ngx-axis-appforge-axis-components.mjs +988 -0
  151. package/fesm2022/ngx-axis-appforge-axis-components.mjs.map +1 -0
  152. package/fesm2022/ngx-axis-appforge-core.mjs +3169 -0
  153. package/fesm2022/ngx-axis-appforge-core.mjs.map +1 -0
  154. package/{providers/providers.ts → fesm2022/ngx-axis-appforge-providers.mjs} +16 -8
  155. package/fesm2022/ngx-axis-appforge-providers.mjs.map +1 -0
  156. package/fesm2022/ngx-axis-appforge.mjs +6 -0
  157. package/fesm2022/ngx-axis-appforge.mjs.map +1 -0
  158. package/index.d.ts +2 -0
  159. package/package.json +217 -16
  160. package/providers/index.d.ts +13 -0
  161. package/.editorconfig +0 -17
  162. package/angular.json +0 -40
  163. package/axis-components/badge/badge.css +0 -3
  164. package/axis-components/badge/badge.html +0 -20
  165. package/axis-components/badge/badge.options.ts +0 -23
  166. package/axis-components/badge/badge.ts +0 -17
  167. package/axis-components/badge/design/config.ts +0 -52
  168. package/axis-components/badge/design/ng-package.json +0 -5
  169. package/axis-components/badge/design/setting/setting.css +0 -0
  170. package/axis-components/badge/design/setting/setting.html +0 -181
  171. package/axis-components/badge/design/setting/setting.ts +0 -126
  172. package/axis-components/badge/ng-package.json +0 -5
  173. package/axis-components/button/button.css +0 -3
  174. package/axis-components/button/button.html +0 -13
  175. package/axis-components/button/button.options.ts +0 -17
  176. package/axis-components/button/button.ts +0 -56
  177. package/axis-components/button/design/config.ts +0 -30
  178. package/axis-components/button/design/ng-package.json +0 -5
  179. package/axis-components/button/design/setting/setting.css +0 -0
  180. package/axis-components/button/design/setting/setting.html +0 -151
  181. package/axis-components/button/design/setting/setting.ts +0 -76
  182. package/axis-components/button/ng-package.json +0 -5
  183. package/axis-components/cmp-map.ts +0 -52
  184. package/axis-components/cmplib.ts +0 -9
  185. package/axis-components/desc/desc.css +0 -8
  186. package/axis-components/desc/desc.html +0 -19
  187. package/axis-components/desc/desc.options.ts +0 -24
  188. package/axis-components/desc/desc.ts +0 -29
  189. package/axis-components/desc/design/config.ts +0 -113
  190. package/axis-components/desc/design/desc-item-setting/desc-item-setting.css +0 -0
  191. package/axis-components/desc/design/desc-item-setting/desc-item-setting.html +0 -47
  192. package/axis-components/desc/design/desc-item-setting/desc-item-setting.ts +0 -40
  193. package/axis-components/desc/design/desc-items-menu/desc-items-menu.css +0 -0
  194. package/axis-components/desc/design/desc-items-menu/desc-items-menu.html +0 -9
  195. package/axis-components/desc/design/desc-items-menu/desc-items-menu.ts +0 -23
  196. package/axis-components/desc/design/desc-setting/desc-setting.css +0 -0
  197. package/axis-components/desc/design/desc-setting/desc-setting.html +0 -76
  198. package/axis-components/desc/design/desc-setting/desc-setting.ts +0 -51
  199. package/axis-components/desc/design/ng-package.json +0 -5
  200. package/axis-components/desc/ng-package.json +0 -5
  201. package/axis-components/design/cmplib/cmplib.css +0 -5
  202. package/axis-components/design/cmplib/cmplib.html +0 -52
  203. package/axis-components/design/cmplib/cmplib.ts +0 -96
  204. package/axis-components/design/design/config.ts +0 -29
  205. package/axis-components/design/design/ng-package.json +0 -5
  206. package/axis-components/design/design/setting/setting.css +0 -0
  207. package/axis-components/design/design/setting/setting.html +0 -33
  208. package/axis-components/design/design/setting/setting.ts +0 -33
  209. package/axis-components/design/design.css +0 -15
  210. package/axis-components/design/design.html +0 -51
  211. package/axis-components/design/design.options.ts +0 -9
  212. package/axis-components/design/design.ts +0 -509
  213. package/axis-components/design/ng-package.json +0 -5
  214. package/axis-components/design/preview/drag.service.ts +0 -148
  215. package/axis-components/design/preview/drop-handler.ts +0 -56
  216. package/axis-components/design/preview/preview.css +0 -3
  217. package/axis-components/design/preview/preview.html +0 -1
  218. package/axis-components/design/preview/preview.ts +0 -250
  219. package/axis-components/design/preview/select.service.ts +0 -140
  220. package/axis-components/design/shortcut-key.ts +0 -160
  221. package/axis-components/design/toolbar/toolbar.css +0 -24
  222. package/axis-components/design/toolbar/toolbar.html +0 -96
  223. package/axis-components/design/toolbar/toolbar.ts +0 -65
  224. package/axis-components/design/tree/drag-drop.ts +0 -125
  225. package/axis-components/design/tree/tree.css +0 -30
  226. package/axis-components/design/tree/tree.html +0 -49
  227. package/axis-components/design/tree/tree.ts +0 -292
  228. package/axis-components/dynamic-container/design/config.ts +0 -30
  229. package/axis-components/dynamic-container/design/ng-package.json +0 -5
  230. package/axis-components/dynamic-container/design/setting/setting.css +0 -0
  231. package/axis-components/dynamic-container/design/setting/setting.html +0 -20
  232. package/axis-components/dynamic-container/design/setting/setting.ts +0 -30
  233. package/axis-components/dynamic-container/dynamic-container.css +0 -3
  234. package/axis-components/dynamic-container/dynamic-container.html +0 -2
  235. package/axis-components/dynamic-container/dynamic-container.options.ts +0 -6
  236. package/axis-components/dynamic-container/dynamic-container.ts +0 -17
  237. package/axis-components/dynamic-container/ng-package.json +0 -5
  238. package/axis-components/editor/editor.css +0 -47
  239. package/axis-components/editor/editor.html +0 -10
  240. package/axis-components/editor/editor.options.ts +0 -10
  241. package/axis-components/editor/editor.ts +0 -86
  242. package/axis-components/editor/ng-package.json +0 -5
  243. package/axis-components/examples/examples/badge.ts +0 -17
  244. package/axis-components/examples/examples/button.ts +0 -38
  245. package/axis-components/examples/examples/desc.ts +0 -31
  246. package/axis-components/examples/examples/design.ts +0 -15
  247. package/axis-components/examples/examples/dynamic-container.ts +0 -21
  248. package/axis-components/examples/examples/flex.ts +0 -18
  249. package/axis-components/examples/examples/form-item.ts +0 -39
  250. package/axis-components/examples/examples/form.ts +0 -315
  251. package/axis-components/examples/examples/icon.ts +0 -16
  252. package/axis-components/examples/examples/image.ts +0 -15
  253. package/axis-components/examples/examples/input-component.ts +0 -15
  254. package/axis-components/examples/examples/input-icon.ts +0 -15
  255. package/axis-components/examples/examples/input-json.ts +0 -15
  256. package/axis-components/examples/examples/input-number.ts +0 -15
  257. package/axis-components/examples/examples/input.ts +0 -15
  258. package/axis-components/examples/examples/modal.ts +0 -15
  259. package/axis-components/examples/examples/scope.ts +0 -17
  260. package/axis-components/examples/examples/single-selector.ts +0 -25
  261. package/axis-components/examples/examples/splitter.ts +0 -36
  262. package/axis-components/examples/examples/table.ts +0 -126
  263. package/axis-components/examples/examples/text.ts +0 -15
  264. package/axis-components/examples/examples/textarea.ts +0 -15
  265. package/axis-components/examples/examples/tree-selector.ts +0 -35
  266. package/axis-components/examples/examples/upload.ts +0 -15
  267. package/axis-components/examples/examples.ts +0 -73
  268. package/axis-components/flex/design/config.ts +0 -49
  269. package/axis-components/flex/design/ng-package.json +0 -5
  270. package/axis-components/flex/design/setting/setting.css +0 -0
  271. package/axis-components/flex/design/setting/setting.html +0 -72
  272. package/axis-components/flex/design/setting/setting.ts +0 -43
  273. package/axis-components/flex/flex.css +0 -5
  274. package/axis-components/flex/flex.html +0 -6
  275. package/axis-components/flex/flex.options.ts +0 -12
  276. package/axis-components/flex/flex.ts +0 -15
  277. package/axis-components/flex/ng-package.json +0 -5
  278. package/axis-components/form/design/config.ts +0 -71
  279. package/axis-components/form/design/ng-package.json +0 -5
  280. package/axis-components/form/design/setting/setting.css +0 -0
  281. package/axis-components/form/design/setting/setting.html +0 -21
  282. package/axis-components/form/design/setting/setting.ts +0 -31
  283. package/axis-components/form/form.css +0 -3
  284. package/axis-components/form/form.html +0 -3
  285. package/axis-components/form/form.options.ts +0 -9
  286. package/axis-components/form/form.ts +0 -121
  287. package/axis-components/form/ng-package.json +0 -5
  288. package/axis-components/form-item/design/config.ts +0 -43
  289. package/axis-components/form-item/design/ng-package.json +0 -5
  290. package/axis-components/form-item/design/setting/input-validator/input-validator.css +0 -8
  291. package/axis-components/form-item/design/setting/input-validator/input-validator.html +0 -140
  292. package/axis-components/form-item/design/setting/input-validator/input-validator.ts +0 -158
  293. package/axis-components/form-item/design/setting/setting.css +0 -0
  294. package/axis-components/form-item/design/setting/setting.html +0 -39
  295. package/axis-components/form-item/design/setting/setting.ts +0 -40
  296. package/axis-components/form-item/form-item.css +0 -4
  297. package/axis-components/form-item/form-item.html +0 -16
  298. package/axis-components/form-item/form-item.options.ts +0 -12
  299. package/axis-components/form-item/form-item.ts +0 -128
  300. package/axis-components/form-item/ng-package.json +0 -5
  301. package/axis-components/icon/design/config.ts +0 -29
  302. package/axis-components/icon/design/ng-package.json +0 -5
  303. package/axis-components/icon/design/setting/setting.css +0 -0
  304. package/axis-components/icon/design/setting/setting.html +0 -67
  305. package/axis-components/icon/design/setting/setting.ts +0 -48
  306. package/axis-components/icon/icon.css +0 -0
  307. package/axis-components/icon/icon.html +0 -7
  308. package/axis-components/icon/icon.options.ts +0 -10
  309. package/axis-components/icon/icon.ts +0 -17
  310. package/axis-components/icon/ng-package.json +0 -5
  311. package/axis-components/image/design/config.ts +0 -30
  312. package/axis-components/image/design/ng-package.json +0 -5
  313. package/axis-components/image/design/setting/setting.css +0 -0
  314. package/axis-components/image/design/setting/setting.html +0 -42
  315. package/axis-components/image/design/setting/setting.ts +0 -37
  316. package/axis-components/image/image.css +0 -58
  317. package/axis-components/image/image.html +0 -14
  318. package/axis-components/image/image.options.ts +0 -8
  319. package/axis-components/image/image.ts +0 -29
  320. package/axis-components/image/ng-package.json +0 -5
  321. package/axis-components/input/design/config.ts +0 -80
  322. package/axis-components/input/design/ng-package.json +0 -5
  323. package/axis-components/input/design/setting/setting.css +0 -0
  324. package/axis-components/input/design/setting/setting.html +0 -79
  325. package/axis-components/input/design/setting/setting.ts +0 -51
  326. package/axis-components/input/input.css +0 -4
  327. package/axis-components/input/input.html +0 -32
  328. package/axis-components/input/input.options.ts +0 -14
  329. package/axis-components/input/input.ts +0 -53
  330. package/axis-components/input/ng-package.json +0 -5
  331. package/axis-components/input-component/design/config.ts +0 -30
  332. package/axis-components/input-component/design/ng-package.json +0 -5
  333. package/axis-components/input-component/design/setting/setting.css +0 -0
  334. package/axis-components/input-component/design/setting/setting.html +0 -33
  335. package/axis-components/input-component/design/setting/setting.ts +0 -33
  336. package/axis-components/input-component/input-component.css +0 -4
  337. package/axis-components/input-component/input-component.html +0 -25
  338. package/axis-components/input-component/input-component.options.ts +0 -7
  339. package/axis-components/input-component/input-component.ts +0 -50
  340. package/axis-components/input-component/ng-package.json +0 -5
  341. package/axis-components/input-icon/design/config.ts +0 -30
  342. package/axis-components/input-icon/design/ng-package.json +0 -5
  343. package/axis-components/input-icon/design/setting/setting.css +0 -0
  344. package/axis-components/input-icon/design/setting/setting.html +0 -29
  345. package/axis-components/input-icon/design/setting/setting.ts +0 -33
  346. package/axis-components/input-icon/input-icon.css +0 -4
  347. package/axis-components/input-icon/input-icon.html +0 -70
  348. package/axis-components/input-icon/input-icon.options.ts +0 -7
  349. package/axis-components/input-icon/input-icon.ts +0 -51
  350. package/axis-components/input-icon/ng-package.json +0 -5
  351. package/axis-components/input-json/design/config.ts +0 -29
  352. package/axis-components/input-json/design/ng-package.json +0 -5
  353. package/axis-components/input-json/design/setting/setting.css +0 -0
  354. package/axis-components/input-json/design/setting/setting.html +0 -7
  355. package/axis-components/input-json/design/setting/setting.ts +0 -26
  356. package/axis-components/input-json/input-json.css +0 -4
  357. package/axis-components/input-json/input-json.html +0 -19
  358. package/axis-components/input-json/input-json.ts +0 -67
  359. package/axis-components/input-json/ng-package.json +0 -5
  360. package/axis-components/input-number/design/config.ts +0 -30
  361. package/axis-components/input-number/design/ng-package.json +0 -5
  362. package/axis-components/input-number/design/setting/setting.css +0 -0
  363. package/axis-components/input-number/design/setting/setting.html +0 -118
  364. package/axis-components/input-number/design/setting/setting.ts +0 -66
  365. package/axis-components/input-number/input-number.css +0 -22
  366. package/axis-components/input-number/input-number.html +0 -11
  367. package/axis-components/input-number/input-number.options.ts +0 -17
  368. package/axis-components/input-number/input-number.ts +0 -30
  369. package/axis-components/input-number/ng-package.json +0 -5
  370. package/axis-components/modal/design/config.ts +0 -50
  371. package/axis-components/modal/design/ng-package.json +0 -5
  372. package/axis-components/modal/design/set-modal-visible-handler/set-modal-visible-handler.css +0 -0
  373. package/axis-components/modal/design/set-modal-visible-handler/set-modal-visible-handler.html +0 -15
  374. package/axis-components/modal/design/set-modal-visible-handler/set-modal-visible-handler.ts +0 -34
  375. package/axis-components/modal/design/setting/setting.css +0 -0
  376. package/axis-components/modal/design/setting/setting.html +0 -139
  377. package/axis-components/modal/design/setting/setting.ts +0 -92
  378. package/axis-components/modal/modal.css +0 -0
  379. package/axis-components/modal/modal.html +0 -7
  380. package/axis-components/modal/modal.options.ts +0 -20
  381. package/axis-components/modal/modal.ts +0 -57
  382. package/axis-components/modal/ng-package.json +0 -5
  383. package/axis-components/ng-package.json +0 -5
  384. package/axis-components/scope/design/config.ts +0 -59
  385. package/axis-components/scope/design/ng-package.json +0 -5
  386. package/axis-components/scope/design/setting/datasource-editor/datasource-editor.css +0 -28
  387. package/axis-components/scope/design/setting/datasource-editor/datasource-editor.html +0 -188
  388. package/axis-components/scope/design/setting/datasource-editor/datasource-editor.ts +0 -245
  389. package/axis-components/scope/design/setting/setting.css +0 -0
  390. package/axis-components/scope/design/setting/setting.html +0 -19
  391. package/axis-components/scope/design/setting/setting.ts +0 -30
  392. package/axis-components/scope/ng-package.json +0 -5
  393. package/axis-components/scope/scope.css +0 -6
  394. package/axis-components/scope/scope.html +0 -4
  395. package/axis-components/scope/scope.options.ts +0 -8
  396. package/axis-components/scope/scope.ts +0 -48
  397. package/axis-components/single-selector/design/config.ts +0 -30
  398. package/axis-components/single-selector/design/ng-package.json +0 -5
  399. package/axis-components/single-selector/design/setting/setting.css +0 -0
  400. package/axis-components/single-selector/design/setting/setting.html +0 -164
  401. package/axis-components/single-selector/design/setting/setting.ts +0 -80
  402. package/axis-components/single-selector/ng-package.json +0 -5
  403. package/axis-components/single-selector/single-selector.css +0 -8
  404. package/axis-components/single-selector/single-selector.html +0 -51
  405. package/axis-components/single-selector/single-selector.options.ts +0 -22
  406. package/axis-components/single-selector/single-selector.ts +0 -80
  407. package/axis-components/splitter/design/config.ts +0 -84
  408. package/axis-components/splitter/design/ng-package.json +0 -5
  409. package/axis-components/splitter/design/splitter-menu/splitter-menu.css +0 -0
  410. package/axis-components/splitter/design/splitter-menu/splitter-menu.html +0 -10
  411. package/axis-components/splitter/design/splitter-menu/splitter-menu.ts +0 -22
  412. package/axis-components/splitter/design/splitter-panel-setting/splitter-panel-setting.css +0 -0
  413. package/axis-components/splitter/design/splitter-panel-setting/splitter-panel-setting.html +0 -66
  414. package/axis-components/splitter/design/splitter-panel-setting/splitter-panel-setting.ts +0 -47
  415. package/axis-components/splitter/design/splitter-setting/splitter-setting.css +0 -0
  416. package/axis-components/splitter/design/splitter-setting/splitter-setting.html +0 -28
  417. package/axis-components/splitter/design/splitter-setting/splitter-setting.ts +0 -30
  418. package/axis-components/splitter/ng-package.json +0 -5
  419. package/axis-components/splitter/splitter.css +0 -7
  420. package/axis-components/splitter/splitter.html +0 -12
  421. package/axis-components/splitter/splitter.options.ts +0 -18
  422. package/axis-components/splitter/splitter.ts +0 -29
  423. package/axis-components/table/design/config.ts +0 -147
  424. package/axis-components/table/design/ng-package.json +0 -5
  425. package/axis-components/table/design/table-field-setting/table-field-setting.css +0 -0
  426. package/axis-components/table/design/table-field-setting/table-field-setting.html +0 -259
  427. package/axis-components/table/design/table-field-setting/table-field-setting.ts +0 -105
  428. package/axis-components/table/design/table-fields-menu/table-fields-menu.css +0 -0
  429. package/axis-components/table/design/table-fields-menu/table-fields-menu.html +0 -9
  430. package/axis-components/table/design/table-fields-menu/table-fields-menu.ts +0 -24
  431. package/axis-components/table/design/table-setting/table-setting.css +0 -0
  432. package/axis-components/table/design/table-setting/table-setting.html +0 -417
  433. package/axis-components/table/design/table-setting/table-setting.ts +0 -173
  434. package/axis-components/table/expand.ts +0 -12
  435. package/axis-components/table/ng-package.json +0 -5
  436. package/axis-components/table/select.ts +0 -66
  437. package/axis-components/table/table-setter/table-setter.css +0 -55
  438. package/axis-components/table/table-setter/table-setter.html +0 -38
  439. package/axis-components/table/table-setter/table-setter.ts +0 -121
  440. package/axis-components/table/table.css +0 -5
  441. package/axis-components/table/table.html +0 -191
  442. package/axis-components/table/table.options.ts +0 -72
  443. package/axis-components/table/table.ts +0 -204
  444. package/axis-components/text/design/config.ts +0 -30
  445. package/axis-components/text/design/ng-package.json +0 -5
  446. package/axis-components/text/design/setting/setting.css +0 -0
  447. package/axis-components/text/design/setting/setting.html +0 -84
  448. package/axis-components/text/design/setting/setting.ts +0 -54
  449. package/axis-components/text/ng-package.json +0 -5
  450. package/axis-components/text/text.css +0 -3
  451. package/axis-components/text/text.html +0 -17
  452. package/axis-components/text/text.options.ts +0 -10
  453. package/axis-components/text/text.ts +0 -54
  454. package/axis-components/textarea/design/config.ts +0 -30
  455. package/axis-components/textarea/design/ng-package.json +0 -5
  456. package/axis-components/textarea/design/setting/setting.css +0 -0
  457. package/axis-components/textarea/design/setting/setting.html +0 -76
  458. package/axis-components/textarea/design/setting/setting.ts +0 -55
  459. package/axis-components/textarea/ng-package.json +0 -5
  460. package/axis-components/textarea/textarea.css +0 -4
  461. package/axis-components/textarea/textarea.html +0 -11
  462. package/axis-components/textarea/textarea.options.ts +0 -13
  463. package/axis-components/textarea/textarea.ts +0 -49
  464. package/axis-components/tree-selector/design/config.ts +0 -55
  465. package/axis-components/tree-selector/design/ng-package.json +0 -5
  466. package/axis-components/tree-selector/design/tree-selector-menu/tree-selector-menu.css +0 -0
  467. package/axis-components/tree-selector/design/tree-selector-menu/tree-selector-menu.html +0 -9
  468. package/axis-components/tree-selector/design/tree-selector-menu/tree-selector-menu.ts +0 -26
  469. package/axis-components/tree-selector/design/tree-selector-menu-setting/tree-selector-menu-setting.css +0 -0
  470. package/axis-components/tree-selector/design/tree-selector-menu-setting/tree-selector-menu-setting.html +0 -80
  471. package/axis-components/tree-selector/design/tree-selector-menu-setting/tree-selector-menu-setting.ts +0 -58
  472. package/axis-components/tree-selector/design/tree-selector-setting/tree-selector-setting.css +0 -0
  473. package/axis-components/tree-selector/design/tree-selector-setting/tree-selector-setting.html +0 -235
  474. package/axis-components/tree-selector/design/tree-selector-setting/tree-selector-setting.ts +0 -87
  475. package/axis-components/tree-selector/ng-package.json +0 -5
  476. package/axis-components/tree-selector/tree-selector.css +0 -43
  477. package/axis-components/tree-selector/tree-selector.html +0 -65
  478. package/axis-components/tree-selector/tree-selector.options.ts +0 -50
  479. package/axis-components/tree-selector/tree-selector.ts +0 -252
  480. package/axis-components/upload/design/config.ts +0 -37
  481. package/axis-components/upload/design/ng-package.json +0 -5
  482. package/axis-components/upload/design/setting/setting.css +0 -0
  483. package/axis-components/upload/design/setting/setting.html +0 -288
  484. package/axis-components/upload/design/setting/setting.ts +0 -96
  485. package/axis-components/upload/ng-package.json +0 -5
  486. package/axis-components/upload/upload.css +0 -3
  487. package/axis-components/upload/upload.html +0 -36
  488. package/axis-components/upload/upload.options.ts +0 -29
  489. package/axis-components/upload/upload.ts +0 -130
  490. package/core/base/base-menu.ts +0 -22
  491. package/core/base/base.ts +0 -143
  492. package/core/base/design-builder.ts +0 -8
  493. package/core/base/funfield-base.ts +0 -106
  494. package/core/base/funfield-value-base.ts +0 -53
  495. package/core/base/value-access.ts +0 -70
  496. package/core/directives/dynamic.ts +0 -216
  497. package/core/directives/scope.ts +0 -432
  498. package/core/models/api.options.ts +0 -5
  499. package/core/models/base.options.ts +0 -11
  500. package/core/models/cmplib.ts +0 -7
  501. package/core/models/data-source.options.ts +0 -11
  502. package/core/models/data.options.ts +0 -6
  503. package/core/models/design-build.ts +0 -26
  504. package/core/models/design-config.ts +0 -14
  505. package/core/models/design-tree-node.ts +0 -16
  506. package/core/models/event-desc.ts +0 -28
  507. package/core/models/event-handler.ts +0 -6
  508. package/core/models/event.options.ts +0 -14
  509. package/core/models/examples.ts +0 -21
  510. package/core/models/form-registe.options.ts +0 -12
  511. package/core/models/fun-field.options.ts +0 -6
  512. package/core/models/initobs.ts +0 -8
  513. package/core/models/options-node.ts +0 -149
  514. package/core/models/static-data-source.options.ts +0 -4
  515. package/core/models/trigge-events.options.ts +0 -3
  516. package/core/models/value-access.options.ts +0 -10
  517. package/core/ng-package.json +0 -5
  518. package/core/pipes/how-long.pipe.ts +0 -69
  519. package/core/public-api.ts +0 -39
  520. package/core/share/api-handler/api-handler.css +0 -0
  521. package/core/share/api-handler/api-handler.html +0 -38
  522. package/core/share/api-handler/api-handler.ts +0 -51
  523. package/core/share/array-filter-handler/array-filter-handler.css +0 -0
  524. package/core/share/array-filter-handler/array-filter-handler.html +0 -26
  525. package/core/share/array-filter-handler/array-filter-handler.ts +0 -65
  526. package/core/share/array-filter-handler/input-filter-options/filter-options.css +0 -19
  527. package/core/share/array-filter-handler/input-filter-options/filter-options.html +0 -57
  528. package/core/share/array-filter-handler/input-filter-options/filter-options.ts +0 -100
  529. package/core/share/base-design-setting/base-design-setting.css +0 -0
  530. package/core/share/base-design-setting/base-design-setting.html +0 -50
  531. package/core/share/base-design-setting/base-design-setting.ts +0 -55
  532. package/core/share/base-event-handler-descs.ts +0 -100
  533. package/core/share/common-menu/common-menu.css +0 -0
  534. package/core/share/common-menu/common-menu.html +0 -21
  535. package/core/share/common-menu/common-menu.ts +0 -73
  536. package/core/share/data-handler/data-handler.css +0 -0
  537. package/core/share/data-handler/data-handler.html +0 -13
  538. package/core/share/data-handler/data-handler.ts +0 -39
  539. package/core/share/events-handler.service.ts +0 -185
  540. package/core/share/fun-field/fun-field.css +0 -55
  541. package/core/share/fun-field/fun-field.html +0 -175
  542. package/core/share/fun-field/fun-field.ts +0 -363
  543. package/core/share/input-trigger/input-trigger.css +0 -16
  544. package/core/share/input-trigger/input-trigger.html +0 -114
  545. package/core/share/input-trigger/input-trigger.ts +0 -394
  546. package/core/share/msg-tip-handler/msg-tip-handler.css +0 -0
  547. package/core/share/msg-tip-handler/msg-tip-handler.html +0 -40
  548. package/core/share/msg-tip-handler/msg-tip-handler.ts +0 -46
  549. package/core/share/refresh-data-source-handler/refresh-data-source-handler.css +0 -0
  550. package/core/share/refresh-data-source-handler/refresh-data-source-handler.html +0 -29
  551. package/core/share/refresh-data-source-handler/refresh-data-source-handler.ts +0 -55
  552. package/core/share/route-handler/route-handler.css +0 -0
  553. package/core/share/route-handler/route-handler.html +0 -49
  554. package/core/share/route-handler/route-handler.ts +0 -51
  555. package/core/share/set-data-source-handler/set-data-source-handler.css +0 -0
  556. package/core/share/set-data-source-handler/set-data-source-handler.html +0 -23
  557. package/core/share/set-data-source-handler/set-data-source-handler.ts +0 -44
  558. package/core/share/simple-menu/simple-menu.css +0 -0
  559. package/core/share/simple-menu/simple-menu.html +0 -5
  560. package/core/share/simple-menu/simple-menu.ts +0 -17
  561. package/core/share/tokens.ts +0 -29
  562. package/core/share/value-design-setting/value-design-setting.css +0 -0
  563. package/core/share/value-design-setting/value-design-setting.html +0 -48
  564. package/core/share/value-design-setting/value-design-setting.ts +0 -54
  565. package/core/utils/code-name.utils.ts +0 -19
  566. package/core/utils/components-loader.ts +0 -29
  567. package/core/utils/declaration.utils.ts +0 -38
  568. package/core/utils/dynamic.util.ts +0 -57
  569. package/core/utils/form-validators.ts +0 -160
  570. package/core/utils/form.util.ts +0 -25
  571. package/core/utils/http.utils.ts +0 -8
  572. package/core/utils/object.utils.ts +0 -182
  573. package/core/utils/scripts-loader.ts +0 -25
  574. package/ng-package.json +0 -13
  575. package/providers/ng-package.json +0 -5
  576. package/providers/public-api.ts +0 -1
  577. package/public-api.ts +0 -1
  578. package/tsconfig.json +0 -35
  579. package/tsconfig.lib.json +0 -19
  580. package/tsconfig.lib.prod.json +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-design.mjs","sources":["../../../axis-components/design/tree/drag-drop.ts","../../../axis-components/design/tree/tree.ts","../../../axis-components/design/tree/tree.html","../../../axis-components/design/preview/drop-handler.ts","../../../axis-components/design/preview/drag.service.ts","../../../axis-components/design/preview/select.service.ts","../../../axis-components/design/preview/preview.ts","../../../axis-components/design/preview/preview.html","../../../axis-components/design/cmplib/cmplib.ts","../../../axis-components/design/cmplib/cmplib.html","../../../axis-components/design/shortcut-key.ts","../../../axis-components/design/design.options.ts","../../../axis-components/design/toolbar/toolbar.ts","../../../axis-components/design/toolbar/toolbar.html","../../../axis-components/design/design.ts","../../../axis-components/design/design.html","../../../axis-components/design/ngx-axis-appforge-axis-components-design.ts"],"sourcesContent":["import { FlatTreeControl } from '@angular/cdk/tree';\nimport { FlatNode, OptionsNode } from 'ngx-axis-appforge/core';\n\nexport class DragDrop {\n\n constructor(private optionsNodes: Map<string, OptionsNode>, private optionIdflatNodes: Map<string, FlatNode>, private treeControl: FlatTreeControl<FlatNode, string>, private onChange: () => void) { }\n\n dragNode?: OptionsNode;\n dropNode?: OptionsNode;\n targetIndex?: number | string;\n element?: HTMLElement;\n pos?: number;\n\n canDrag(nodeId: string): boolean {\n const node = this.optionsNodes.get(nodeId);\n return !!node && !node?.isRoot && node?.canDrag;\n }\n\n onDragStart(e: DragEvent, nodeId: string) {\n this.dragNode = this.optionsNodes.get(nodeId);\n if (this.dragNode?.children?.length) {\n this.treeControl.collapse(this.optionIdflatNodes.get(nodeId)!);\n }\n setTimeout(() => {\n (e.target as HTMLElement).style.display = 'none';\n });\n }\n\n onDragOver(e: DragEvent, nodeId: string) {\n const node = this.optionsNodes.get(nodeId)!;\n const parent = node.parentId ? this.optionsNodes.get(node.parentId) : undefined;\n let canDropIn = this.canDrop(node);\n let canDropSide = !!parent && this.canDrop(parent);\n if (!canDropIn && !canDropSide) {\n e.preventDefault();\n return;\n }\n const pos = this.getPos(e, canDropIn, canDropSide);\n const element = (e.currentTarget as HTMLElement);\n this.updateElementStyle(element, pos);\n if (pos == 0) {\n this.targetIndex = node?.defaultDropIndex;\n this.dropNode = node;\n this.treeControl.expand(this.optionIdflatNodes.get(node.id!)!)\n } else if (pos == -1) {\n this.targetIndex = node.indexOfParentObj;\n this.dropNode = parent;\n } else {\n this.targetIndex = (node.indexOfParentObj as number) + 1;\n this.dropNode = parent;\n }\n }\n\n private updateElementStyle(element?: HTMLElement, pos?: number) {\n if (element != this.element || pos != this.pos) {\n this.element?.classList.remove(\"drop_in\", \"drop_up\", \"drop_down\");\n if (element) {\n switch (pos) {\n case -1:\n element.classList.add(\"drop_up\");\n break;\n case 0:\n element.classList.add(\"drop_in\");\n break;\n default:\n element.classList.add(\"drop_down\");\n break;\n }\n }\n this.element = element;\n this.pos = pos;\n }\n }\n\n onDragEnd(e: DragEvent, nodeId: string) {\n (e.target as HTMLElement).style.display = 'flex';\n if (this.dropNode) {\n if (this.dropNode.dropObj == this.dragNode!.parentObj && this.dragNode!.indexOfParentObj == this.targetIndex) {\n this.updateElementStyle();\n return undefined;\n }\n if (this.dropNode.dropObj instanceof Array && this.dropNode.dropObj == this.dragNode!.parentObj && this.dragNode!.indexOfParentObj! < this.targetIndex!) {\n (this.targetIndex as number)!--;\n }\n const dragObj = this.dragNode!.options;\n if (!this.dragNode!.isRoot) {\n if (this.dragNode?.parentObj instanceof Array) {\n this.dragNode!.parentObj.splice(this.dragNode!.indexOfParentObj as number, 1);\n } else {\n this.dragNode!.parentObj[this.dragNode!.indexOfParentObj as number] = null;\n }\n }\n if (this.dropNode.dropObj instanceof Array) {\n this.dropNode.dropObj.splice(this.targetIndex as number, 0, dragObj);\n } else {\n this.dropNode.dropObj[this.targetIndex!] = dragObj;\n }\n this.onChange();\n }\n this.dragNode = undefined;\n this.updateElementStyle();\n }\n\n private canDrop(node: OptionsNode | undefined): boolean {\n if (node && node.canDrop && node.dropType == this.dragNode!.dragType) {\n return !node.dropObj[node.defaultDropIndex!];\n }\n return false;\n }\n\n private getPos(e: DragEvent, canDropIn: boolean, canDropSide: boolean): number {\n const element = e.target as HTMLElement;\n const rect = element.getBoundingClientRect();\n const clientY = e.clientY - rect.top;\n const height = rect.height;\n if (canDropIn && canDropSide) {\n return 1 - Math.floor(clientY / height * 3);\n } else if (canDropSide) {\n return clientY < height / 2 ? -1 : 1;\n } else {\n return 0;\n }\n }\n\n}","import { FlatTreeControl } from '@angular/cdk/tree';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, effect, inject, input, OnDestroy, OnInit, output, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NzHighlightPipe } from 'ng-zorro-antd/core/highlight';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzTreeFlatDataSource, NzTreeFlattener, NzTreeViewModule } from 'ng-zorro-antd/tree-view';\nimport { auditTime, BehaviorSubject, combineLatest, filter, map, Subscription, take, tap } from 'rxjs';\nimport { NzFlexModule } from 'ng-zorro-antd/flex';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { DragDrop } from './drag-drop';\nimport { FlatNode, FilteredTreeResult, OptionsNode } from 'ngx-axis-appforge/core';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\nimport { Design } from '../design';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\n\n@Component({\n selector: 'axis-design-tree',\n imports: [FormsModule, NzInputModule, NzIconModule, NzTreeViewModule, NzFlexModule, NzHighlightPipe, NzButtonModule, NzTooltipModule, NzEmptyModule],\n templateUrl: './tree.html',\n styleUrl: './tree.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Tree implements OnDestroy {\n\n readonly node = input.required<OptionsNode | undefined | null>()\n readonly optionsNodes = input.required<Map<string, OptionsNode>>();\n onChange = output<any>();\n readonly onSelect = output<string[]>()\n readonly onContextMenu = output<{ nodeId: string, event: MouseEvent }>()\n readonly dragdrop = computed(() => new DragDrop(this.optionsNodes(), this.optionIdflatNodes, this.treeControl, () => this.onChange.emit(undefined)));\n readonly optionIdflatNodes = new Map<string, FlatNode>();\n readonly flatNodeMap = new Map<string, OptionsNode>();\n readonly nestedNodeMap = new Map<string, FlatNode>();\n searchValue = signal<string>('');\n readonly originData$ = new BehaviorSubject<OptionsNode[]>([]);\n readonly searchValue$ = new BehaviorSubject<string>('');\n readonly selectListSelection = new SelectionModel<string>(true);\n readonly design = inject(Design);\n private readonly subs: Subscription[] = [];\n\n readonly transformer = (node: OptionsNode, level: number): FlatNode => {\n const existingNode = this.nestedNodeMap.get(node.id);\n const currentNode = {\n expandable: !!node.children && node.children.length > 0,\n id: node.id!,\n title: node.name ?? \"\",\n icon: node.icon,\n level\n };\n let flatNode: FlatNode;\n if (existingNode?.id == currentNode.id && existingNode.expandable == currentNode.expandable && existingNode.level == currentNode.level) {\n flatNode = Object.assign(existingNode, currentNode);\n } else {\n flatNode = currentNode;\n }\n this.optionIdflatNodes.set(flatNode.id, flatNode);\n this.flatNodeMap.set(flatNode.id, node);\n this.nestedNodeMap.set(node.id, flatNode);\n return flatNode;\n };\n\n readonly treeControl = new FlatTreeControl<FlatNode, string>(\n node => node.level,\n node => node.expandable,\n {\n trackBy: flatNode => flatNode.id\n }\n );\n\n readonly treeFlattener = new NzTreeFlattener<OptionsNode, FlatNode, string>(\n this.transformer,\n node => node.level,\n node => node.expandable,\n node => node.children\n );\n\n readonly dataSource = new NzTreeFlatDataSource(this.treeControl, this.treeFlattener);\n\n readonly filteredData$ = combineLatest([\n this.originData$,\n this.searchValue$.pipe(\n auditTime(300),\n tap(value => this.searchValue.set(value))\n )\n ]).pipe(map(([data, value]) => (value ? filterTreeData(data, value) : new FilteredTreeResult(data, this.treeControl.expansionModel.selected.filter(id => this.optionsNodes().has(id))))));\n\n constructor(private cdRef: ChangeDetectorRef) {\n effect(() => {\n if (this.node()) {\n this.originData$.next([this.node()!]);\n }\n const oldlength = this.selectListSelection.selected.length;\n this.selectListSelection.deselect(...this.selectListSelection.selected.filter(nodeid => !this.optionsNodes().has(nodeid)))\n this.treeControl.expansionModel.deselect(...this.treeControl.expansionModel.selected.filter(id => !this.optionsNodes().has(id)));\n if (oldlength != this.selectListSelection.selected.length) {\n this.sendSelectEvent();\n }\n });\n this.subs.push(this.filteredData$.subscribe(result => {\n this.dataSource.setData(result.treeData);\n this.treeControl.expansionModel.setSelection(...result.needsToExpanded);\n }));\n this.subs.push(this.filteredData$.pipe(filter(r => r.treeData.length > 0), take(1)).subscribe(result => {\n this.selectOne(result.treeData[0].id, { sendEvent: true });\n }));\n }\n\n hasChild = (_: number, node: FlatNode): boolean => node.expandable;\n\n get hasExpanded(): boolean {\n return this.treeControl.expansionModel.selected.length > 0;\n }\n\n onNodeClick(e: MouseEvent, node: FlatNode) {\n if (e.metaKey) {\n this.toggleSelect(node.id, { sendEvent: true });\n } else {\n this.selectOne(node.id, { sendEvent: true });\n }\n }\n\n select(nodeId: string, opt?: { sendEvent: boolean }) {\n this.selectListSelection.select(nodeId);\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n selectOne(nodeId: string, opt?: { sendEvent: boolean }) {\n this.unSelectAll();\n this.selectListSelection.select(nodeId);\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n toggleSelect(nodeId: string, opt?: { sendEvent: boolean }) {\n this.selectListSelection.toggle(nodeId);\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n unSelect(nodeId: string, opt?: { sendEvent: boolean }) {\n this.selectListSelection.deselect(nodeId);\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n unSelectAll(opt?: { sendEvent: boolean }) {\n this.selectListSelection.clear();\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n private sendSelectEvent() {\n this.onSelect.emit(this.selectListSelection.selected);\n }\n\n selectByNodeIds(nodeIds: string[]) {\n this.unSelectAll();\n for (const nodeId of nodeIds) {\n this.select(nodeId);\n const node = this.optionIdflatNodes.get(nodeId);\n if (node) {\n this.treeControl.expand(node);\n }\n }\n this.cdRef.markForCheck();\n }\n\n expandByNodeIds(nodeIds: string[]) {\n for (const nodeId of nodeIds) {\n const node = this.optionIdflatNodes.get(nodeId);\n if (node) {\n this.treeControl.expand(node);\n }\n }\n }\n\n toggleExpanded() {\n if (this.hasExpanded) {\n this.treeControl.collapseAll();\n } else {\n this.treeControl.expandAll();\n }\n }\n\n reset() {\n this.optionIdflatNodes.clear();\n this.flatNodeMap.clear();\n }\n\n contextMenu(e: MouseEvent, nodeId: string) {\n this.onContextMenu.emit({ event: e, nodeId });\n }\n\n removeSelected() {\n let changed = false;\n let next = undefined;\n for (const nodeId of this.selectListSelection.selected) {\n const node = this.optionsNodes().get(nodeId);\n if (node) {\n changed = true;\n if (node.isRoot) {\n next = null;\n } else {\n if (Array.isArray(node.parentObj)) {\n node.parentObj.splice(node.parentObj.indexOf(node.options), 1);\n } else {\n node.parentObj[node.indexOfParentObj!] = null;\n }\n }\n }\n }\n if (changed) {\n this.onChange.emit(next);\n }\n }\n\n addNodeForSelected(nodes: OptionsNode[], deleteSuccess = false) {\n if (nodes.length && this.selectListSelection.selected) {\n for (const nodeId of this.selectListSelection.selected) {\n const parentNode = this.optionsNodes().get(nodeId);\n if (parentNode && parentNode.canDrop && parentNode.dropType == \"component\") {\n if (Array.isArray(parentNode.dropObj)) {\n parentNode.dropObj.splice(parentNode.dropObj.length, 0, ...nodes.map(n => n.options));\n nodes.forEach(n => this.deleteNode(n));\n } else if (!parentNode.dropObj[parentNode.defaultDropIndex!]) {\n const n = nodes[nodes.length - 1];\n parentNode.dropObj[parentNode.defaultDropIndex!] = n.options;\n if (deleteSuccess) {\n this.deleteNode(n);\n }\n }\n }\n }\n this.onChange.emit(undefined);\n }\n }\n\n private deleteNode(node: OptionsNode) {\n if (node.parentObj) {\n if (Array.isArray(node.parentObj)) {\n node.parentObj.splice(node.indexOfParentObj as number, 1);\n } else {\n delete node.parentObj[node.indexOfParentObj!];\n }\n }\n }\n\n addRootComponent() {\n this.design.chooseComponent().subscribe(res => {\n const { options, config } = res;\n if (options && config) {\n this.onChange.emit(options);\n }\n });\n }\n\n ngOnDestroy(): void {\n for (let sub of this.subs) {\n sub.unsubscribe();\n }\n }\n\n}\n\nfunction filterTreeData(data: OptionsNode[], value: string): FilteredTreeResult {\n const needsToExpanded = new Set<string>();\n const _filter = (node: OptionsNode, result: OptionsNode[]): OptionsNode[] => {\n if (node.name?.search(value) !== -1 || node.id?.search(value) !== -1) {\n result.push(node);\n return result;\n }\n if (Array.isArray(node.children)) {\n const nodes = node.children.reduce((a, b) => _filter(b, a), [] as OptionsNode[]);\n if (nodes.length) {\n const parentNode = node.copyWith({ children: nodes })\n needsToExpanded.add(parentNode.id);\n result.push(parentNode);\n }\n }\n return result;\n };\n const treeData = data.reduce((a, b) => _filter(b, a), [] as OptionsNode[]);\n return new FilteredTreeResult(treeData, [...needsToExpanded]);\n}\n","<div nz-flex [nzVertical]=\"true\" style=\"height: 100%;\">\n <div nz-flex style=\"padding-right: 8px;\" nzGap=\"4px\" nzAlign=\"center\">\n <input style=\"flex:1;\" type=\"text\" nz-input placeholder=\"搜索\" nzBorderless ngModel\n (ngModelChange)=\"searchValue$.next($event)\" />\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" (click)=\"toggleExpanded()\">\n <nz-icon [nzType]=\"hasExpanded?'shrink':'arrows-alt'\" nzTheme=\"outline\" />\n </button>\n </div>\n @if (node() === null) {\n <nz-empty [nzNotFoundContent]=\"contentTpl\" [nzNotFoundFooter]=\"footerTpl\">\n <ng-template #contentTpl>\n 没有组件\n </ng-template>\n <ng-template #footerTpl>\n <button nz-button nzType=\"dashed\" (click)=\"addRootComponent()\">\n <nz-icon nzType=\"plus\"></nz-icon>\n 添加组件\n </button>\n </ng-template>\n </nz-empty>\n }@else {\n <nz-tree-view nzDirectoryTree [nzTreeControl]=\"treeControl\" [nzDataSource]=\"dataSource\">\n <nz-tree-node *nzTreeNodeDef=\"let node\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle nzTreeNodeNoopToggle></nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n <nz-tree-node *nzTreeNodeDef=\"let node; when: hasChild\" nzTreeNodePadding [nzTreeNodePaddingIndent]=\"8\"\n (contextmenu)=\"contextMenu($event, node.id)\" [draggable]=\"dragdrop().canDrag(node.id)\"\n (dragstart)=\"dragdrop().onDragStart($event, node.id)\" (dragover)=\"dragdrop().onDragOver($event, node.id)\"\n (dragend)=\"dragdrop().onDragEnd($event,node.id)\">\n <nz-tree-node-toggle>\n <nz-icon nzType=\"caret-down\" nzTreeNodeToggleRotateIcon />\n </nz-tree-node-toggle>\n <nz-tree-node-option [nzDisabled]=\"node.disabled\" [nzSelected]=\"selectListSelection.isSelected(node.id)\"\n (nzClick)=\"onNodeClick($event,node)\" [nz-tooltip]=\"node.id\" [nzTooltipMouseEnterDelay]=\"0.6\">\n <i nz-icon [nzType]=\"node.icon\" style=\"margin: 4px;\"></i>\n <span [innerHTML]=\"node.title | nzHighlight: searchValue() : 'i' : 'highlight'\"></span>\n </nz-tree-node-option>\n </nz-tree-node>\n </nz-tree-view>\n }\n</div>","import { ElementNode } from \"ngx-axis-appforge/core\";\n\nexport class DropHandler {\n\n private placeholder: HTMLElement;\n\n beforeElement?: HTMLElement | null;\n\n constructor(public dragNode: ElementNode, public dropNode: ElementNode, private elementOptionIds: Map<HTMLElement, string>, private isHorizontal: boolean) {\n this.placeholder = dragNode.element!.cloneNode(true) as HTMLElement;\n this.placeholder.style.display = \"inline\";\n this.placeholder.style.opacity = \"0.5\";\n }\n\n onDragEnd(): void {\n this.placeholder.remove();\n }\n\n onDragOver(e: DragEvent): void {\n const element = this.getBeforeElement(e)\n if (element === this.beforeElement) {\n return;\n }\n this.beforeElement = element;\n if (element) {\n this.dropNode.dropElement!.insertBefore(this.placeholder, element);\n } else {\n this.dropNode.dropElement!.appendChild(this.placeholder);\n }\n }\n\n close(): void {\n this.placeholder.remove();\n this.beforeElement = undefined;\n }\n\n protected getBeforeElement(e: DragEvent): HTMLElement | null {\n for (const child of this.dropNode.dropElement!.children) {\n if (this.elementOptionIds.has(child as HTMLElement)) {\n const rect = child.getBoundingClientRect();\n if (this.isHorizontal) {\n const middle = rect.left + (rect.width / 2);\n if (e.clientX <= middle) {\n return child as HTMLElement;\n }\n } else {\n const middle = rect.top + (rect.height / 2);\n if (e.clientY <= middle) {\n return child as HTMLElement;\n }\n }\n }\n }\n return null;\n }\n}","import { ElementNode, OptionsNode } from \"ngx-axis-appforge/core\";\nimport { DropHandler } from \"./drop-handler\";\nimport { Preview } from \"./preview\";\n\nexport class DragService {\n\n constructor(private preview: Preview) { }\n\n private canDropNodes: ElementNode[] = [];\n private oriDragDisplay?: string;\n private readonly currentDropNodes = new Map<ElementNode, any>();\n private dragEn?: ElementNode;\n private dropHandler?: DropHandler;\n\n initElement(node: OptionsNode, en: ElementNode) {\n if (!node.isRoot && node.canDrag) {\n this.bindDragEvent(en);\n }\n if (node.canDrop) {\n this.canDropNodes.push(en);\n }\n }\n\n private getOptionsNode(node: ElementNode): OptionsNode {\n return this.preview.optionsNodes().get(node.id)!;\n }\n\n private bindDragEvent(node: ElementNode) {\n node.element!.setAttribute(\"draggable\", \"true\");\n node.element!.ondragstart = (e) => {\n e.stopPropagation();\n this.dragStart(node);\n this.oriDragDisplay = node.element!.style.display;\n setTimeout(() => {\n node.element!.style.display = \"none\";\n });\n };\n node.element!.ondragend = (e) => {\n e.preventDefault();\n e.stopPropagation();\n this.dragEnd();\n }\n }\n\n private bindDropEvent(en: ElementNode) {\n this.currentDropNodes.set(en, null);\n setTimeout(() => {\n const { clientWidth, clientHeight } = en.dropElement!;\n if (!clientWidth || !clientHeight) {\n const { display, minWidth, minHeight } = en.dropElement!.style;\n this.currentDropNodes.set(en,\n { display, minWidth, minHeight }\n );\n if (!clientWidth) {\n en.dropElement!.style.minWidth = \"100px\";\n }\n if (!clientHeight) {\n en.dropElement!.style.minHeight = \"50px\";\n }\n en.dropElement!.style.display = \"block\";\n }\n });\n en.dropElement!.ondragenter = (e) => {\n e?.preventDefault();\n e.stopPropagation();\n if (this.dropHandler?.dropNode == en) {\n return;\n }\n this.dropHandler?.close();\n const node = this.getOptionsNode(en);\n this.dropHandler = new DropHandler(this.dragEn!, en, this.preview.elementOptionIds, node.childDirection == \"horizontal\");\n }\n en.dropElement!.ondragover = (e) => {\n e.preventDefault();\n e.stopPropagation();\n this.dropHandler?.onDragOver?.(e);\n }\n }\n\n dragStart(dragEn: ElementNode) {\n this.dragEn = dragEn;\n this.canDropNodes = this.canDropNodes.filter(en => this.preview.optionsNodes().has(en.id));\n this.canDropNodes\n .filter(dropEn => {\n const dropNode = this.getOptionsNode(dropEn);\n const dragNode = this.getOptionsNode(dragEn);\n return dropNode.dropType == dragNode.dragType && !dropNode.dropObj[dropNode.defaultDropIndex!] && dropEn.dropElement;\n })\n .forEach(node => this.bindDropEvent(node));\n this.preview.onDragStart();\n }\n\n dragEnd(): string | undefined {\n let dragId: string | undefined;\n if (this.dropHandler) {\n const dropEn = this.dropHandler.dropNode;\n const dropNode = this.getOptionsNode(dropEn);\n const dragNode = this.getOptionsNode(this.dragEn!);\n let targetIndex = this.dropHandler.beforeElement ? this.preview.getNodeByElement(this.dropHandler.beforeElement)?.indexOfParentObj : dropNode?.defaultDropIndex;\n if (dropNode!.dropObj == dragNode!.parentObj && dragNode!.indexOfParentObj == targetIndex) {\n this.preview.onDragEnd(false);\n } else {\n dragId = dragNode?.id;\n if (dropNode!.dropObj instanceof Array && dropNode!.dropObj == dragNode!.parentObj && dragNode!.indexOfParentObj! < targetIndex!) {\n (targetIndex as number)!--;\n }\n const dragObj = dragNode!.options;\n if (!dragNode!.isRoot) {\n if (dragNode?.parentObj instanceof Array) {\n dragNode!.parentObj.splice(dragNode!.indexOfParentObj as number, 1);\n } else {\n dragNode!.parentObj[dragNode!.indexOfParentObj!] = null;\n }\n }\n if (dropNode?.dropObj instanceof Array) {\n dropNode!.dropObj.splice(targetIndex as number, 0, dragObj);\n } else {\n dropNode!.dropObj[targetIndex!] = dragObj;\n }\n this.preview.onDragEnd(true);\n }\n this.dropHandler.onDragEnd();\n this.dropHandler = undefined;\n } else {\n this.preview.onDragEnd(false);\n }\n this.dragEn!.element!.style.display = this.oriDragDisplay!;\n this.dragEn = undefined;\n this.oriDragDisplay = undefined;\n this.currentDropNodes.forEach((style, en) => {\n if (style) {\n en.dropElement!.style.minWidth = style.minWidth;\n en.dropElement!.style.minHeight = style.minHeight;\n en.dropElement!.style.display = style.display;\n }\n en.dropElement!.ondragenter = null;\n en.dropElement!.ondragover = null;\n });\n this.currentDropNodes.clear();\n return dragId;\n }\n\n reset() {\n this.dropHandler?.close();\n this.dragEn = undefined;\n this.dropHandler = undefined;\n }\n}","import { Preview } from \"./preview\";\n\nexport class SelectService {\n private hoverElements: HTMLElement[] = [];\n private enable = true;\n private selectElements = new Set<HTMLElement>();\n\n constructor(private preview: Preview) { }\n\n initElement(element: HTMLElement) {\n element.style.outlineOffset = \"1px\";\n element.onclick = (e) => {\n e.stopPropagation();\n if (e.altKey) {\n this.toggleSelect(element, { sendEvent: true });\n } else {\n this.selectOne(element, { sendEvent: true });\n }\n };\n element.onmouseenter = () => {\n if (this.enable) {\n this.addHoverElement(element);\n }\n };\n element.onmouseleave = () => {\n if (this.enable) {\n this.popHoverElement(element);\n }\n };\n }\n\n enableHover() {\n this.enable = true;\n }\n\n disableHover() {\n this.enable = false;\n }\n\n private addHoverElement(element: HTMLElement) {\n this.hoverElements.unshift(element);\n this.refreshHoverElements();\n }\n\n private popHoverElement(element: HTMLElement) {\n const i = this.hoverElements.lastIndexOf(element);\n if (i != -1) {\n for (const e of this.hoverElements.splice(0, i + 1)) {\n if (!this.selectElements.has(element)) {\n element.style.outline = \"none\";\n }\n }\n }\n this.refreshHoverElements();\n }\n\n select(element: HTMLElement, opt?: { sendEvent: boolean }) {\n this.selectElements.add(element);\n element.style.outline = \"2px dashed green\";\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n selectOne(element: HTMLElement, opt?: { sendEvent: boolean }) {\n this.unSelectAll();\n this.selectElements.add(element);\n element.style.outline = \"2px dashed green\";\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n toggleSelect(element: HTMLElement, opt?: { sendEvent: boolean }) {\n if (this.selectElements.has(element)) {\n this.unSelect(element);\n } else {\n this.select(element);\n }\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n unSelect(element: HTMLElement, opt?: { sendEvent: boolean }) {\n if (this.selectElements.has(element)) {\n this.selectElements.delete(element);\n element.style.outline = \"none\";\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n }\n\n unSelectAll(opt?: { sendEvent: boolean }) {\n for (let element of this.selectElements) {\n this.unSelect(element);\n }\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n private sendSelectEvent() {\n this.preview.onSelectChange?.(Array.from(this.selectElements));\n }\n\n private refreshHoverElements() {\n this.hoverElements = this.hoverElements.filter(e => this.preview.elementOptionIds.has(e));\n if (this.hoverElements.length && !this.selectElements.has(this.hoverElements[0])) {\n this.hoverElements[0].style.outline = \"1.5px dashed rgb(255,0,0)\";\n }\n if (this.hoverElements.length > 1 && !this.selectElements.has(this.hoverElements[1])) {\n this.hoverElements[1].style.outline = \"1.5px dashed rgba(255,0,0,0.4)\";\n }\n if (this.hoverElements.length > 2) {\n this.hoverElements.slice(2).filter(r => !this.selectElements.has(r)).forEach((e) => {\n e.style.outline = \"none\";\n });\n }\n }\n\n reset(opt?: { sendEvent: boolean }): void {\n for (const element of this.hoverElements) {\n element.style.outline = \"none\";\n }\n for (const element of this.selectElements) {\n element.style.outline = \"none\";\n }\n this.hoverElements = [];\n this.selectElements.clear();\n if (opt?.sendEvent) {\n this.sendSelectEvent();\n }\n }\n\n getSelectElements(): HTMLElement[] {\n return [...this.selectElements.values()];\n }\n}","import { ChangeDetectionStrategy, Component, ComponentRef, effect, inject, input, OnDestroy, output, ViewChild } from '@angular/core';\nimport { DragService } from './drag.service';\nimport { SelectService } from './select.service';\nimport { Base, DynamicDirective, BaseOptions, OptionsNode, ElementNode, DesignConfig, DesignBuilder, AXIS_COMPONENTS_LOADER_TOKEN, AXIS_INJECT_DATA_TOKEN, ScopeDirective } from 'ngx-axis-appforge/core';\nimport { CommonModule } from '@angular/common';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Component({\n selector: 'axis-design-preview',\n imports: [DynamicDirective, CommonModule],\n templateUrl: './preview.html',\n styleUrl: './preview.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: DesignBuilder,\n useFactory: (preview: Preview) => {\n return new DesignBuilder((ref, options) => preview.initElement(ref, options), (scope) => preview.initScope(scope))\n },\n deps: [Preview]\n }, {\n provide: AXIS_INJECT_DATA_TOKEN,\n useFactory: (preview: Preview) => {\n return preview.injectData();\n },\n deps: [Preview]\n }\n ]\n})\nexport class Preview implements OnDestroy {\n\n constructor() {\n effect(async () => {\n if (this.loadAndOptions()) {\n await this.loadAndOptions()![0];\n this.refresh();\n }\n });\n }\n\n readonly loadAndOptions = input.required<[Promise<any>, any] | undefined>()\n readonly optionsNodes = input.required<Map<string, OptionsNode>>();\n readonly injectData = input.required<Observable<any>>();\n readonly loader = inject(AXIS_COMPONENTS_LOADER_TOKEN);\n\n readonly onChange = output<void>();\n readonly onSelect = output<string[]>();\n readonly onContextMenu = output<{ nodeId: string, event: MouseEvent }>();\n\n readonly elementOptionIds = new Map<HTMLElement, string>();\n readonly elementComponentRefs = new Map<HTMLElement, ComponentRef<Base<BaseOptions>>>();\n readonly optionIdElements = new Map<string, HTMLElement[]>();\n readonly scopeSubjects = new Map<string, BehaviorSubject<ScopeDirective | undefined>>();\n\n private readonly dragService = new DragService(this);\n private readonly selectService = new SelectService(this);\n\n readonly selected = new Map<string, number>();\n\n @ViewChild(\"child\", { read: DynamicDirective })\n dynamicDirective?: DynamicDirective;\n\n initScope(scope: ScopeDirective) {\n this.getAndUpdateScopeSubject(scope.axisScope(), scope);\n }\n\n async initElement(ref: ComponentRef<Base<BaseOptions>>, options: any) {\n await this.loadAndOptions()![0];\n if (!options?.id || !this.optionsNodes().has(options.id)) {\n return;\n }\n\n try {\n const element: HTMLElement = ref.location.nativeElement;\n ref.onDestroy(() => {\n this.elementComponentRefs.delete(element);\n this.elementOptionIds.delete(element);\n if (this.optionIdElements.has(options.id)) {\n this.optionIdElements.set(options.id, this.optionIdElements.get(options.id)!.filter(e => e !== element));\n }\n });\n this.elementComponentRefs.set(element, ref);\n const { component } = options;\n const config: DesignConfig = await this.loader.loadComponent(`${component}/design`)!;\n if (config) {\n const binds = config.bindElementsOptionsNode?.(element, options);\n if (binds) {\n for (const en of Object.entries(binds)) {\n const nodeId = en[0];\n const element = en[1].element;\n const node = this.optionsNodes().get(nodeId);\n if (node && element && !this.elementOptionIds.has(element)) {\n if (!this.optionIdElements.has(nodeId)) {\n this.optionIdElements.set(nodeId, []);\n }\n this.optionIdElements.get(nodeId)?.push(element);\n this.elementOptionIds.set(element, nodeId);\n this.selectService.initElement(element);\n if (node.canDrag || node.canDrop) {\n this.dragService.initElement(node, node.toElementNode(en[1]));\n }\n if (node.contextMenu) {\n element.oncontextmenu = (e: MouseEvent) => {\n this.onContextMenu.emit({ event: e, nodeId: en[0] })\n }\n }\n if (this.selected.has(nodeId) && this.selected.get(nodeId) == this.optionIdElements.get(nodeId)!.length - 1) {\n this.selectService.select(element);\n }\n }\n }\n }\n }\n } catch (_) {\n }\n }\n\n getNodeByElement(element: HTMLElement): OptionsNode | undefined {\n const id = this.elementOptionIds.get(element);\n if (id) {\n return this.optionsNodes().get(id);\n }\n return undefined;\n }\n\n onSelectChange(elements: HTMLElement[]) {\n this.selected.clear();\n for (const element of elements) {\n const id = this.elementOptionIds.get(element);\n if (id) {\n const elementList = this.optionIdElements.get(id);\n this.selected.set(id, elementList?.indexOf(element) ?? 0);\n }\n }\n this.onSelect.emit(Array.from(this.selected.keys()));\n }\n\n onDragStart() {\n this.selectService.disableHover();\n }\n\n onDragEnd(changed: boolean) {\n if (changed) {\n this.onChange.emit();\n }\n this.selectService.enableHover();\n }\n\n forceRender() {\n this.elementOptionIds.clear();\n this.optionIdElements.clear();\n this.dragService.reset();\n this.selectService.reset();\n this.dynamicDirective?.forceRender();\n }\n\n refresh() {\n Array.from(this.optionIdElements.keys()).forEach(id => {\n if (!this.optionsNodes().has(id)) {\n this.optionIdElements.get(id)?.forEach(element => {\n this.elementOptionIds.delete(element);\n });\n this.optionIdElements.delete(id);\n }\n });\n setTimeout(() => {\n this.selectService.getSelectElements().filter(e => !document.contains(e)).forEach(e => {\n const nodeId = this.elementOptionIds.get(e);\n this.elementComponentRefs.delete(e);\n if (nodeId) {\n const elements = this.optionIdElements.get(nodeId);\n elements?.splice(elements.indexOf(e), 1);\n const res = this.getParentComponentRef(nodeId);\n if (res) {\n this.initElement(res.ref, res.options);\n }\n }\n });\n }, 50);\n }\n\n private getParentComponentRef(nodeId: string): { ref: ComponentRef<Base<BaseOptions>>, options: any } | undefined {\n const node = this.optionsNodes().get(nodeId);\n if (node?.parentId) {\n const parent = this.optionsNodes().get(node.parentId);\n if (parent) {\n const parentElement = this.optionIdElements.get(parent.id);\n if (parentElement?.length) {\n const ref = this.elementComponentRefs.get(parentElement[0]);\n if (ref) {\n return { ref, options: parent.options };\n }\n }\n return this.getParentComponentRef(parent.id);\n }\n }\n return undefined;\n }\n\n selectByNodeIds(nodeIds?: string[]) {\n if (nodeIds?.some(id => !this.selected.has(id))) {\n this.selectService.unSelectAll();\n this.selected.clear();\n for (const nodeId of nodeIds) {\n this.selected.set(nodeId, 0);\n const elements = this.optionIdElements.get(nodeId)\n if (elements?.[0]) {\n this.selectService.select(elements[0]);\n }\n }\n }\n }\n\n getAndUpdateScopeSubject(scopeId: string, initScope?: ScopeDirective): BehaviorSubject<ScopeDirective | undefined> {\n if (!this.scopeSubjects.has(scopeId)) {\n this.scopeSubjects.set(scopeId, new BehaviorSubject<ScopeDirective | undefined>(initScope));\n }\n const subject = this.scopeSubjects.get(scopeId)!;\n if (initScope && initScope != subject.value) {\n subject.next(initScope);\n }\n return subject;\n }\n\n updateScopeWithSelectedElement(scopeId: string) {\n const elements = this.selectService.getSelectElements();\n if (elements.length > 0) {\n const ref = this.elementComponentRefs.get(elements[0]);\n const scope = ref?.injector.get(ScopeDirective, null)?.findScope(scopeId);\n if (scope) {\n this.getAndUpdateScopeSubject(scope.axisScope(), scope);\n }\n }\n }\n\n dragForOuter(node: ElementNode) {\n this.dragService.dragStart(node);\n }\n\n dragEndForOuter(): string | undefined {\n return this.dragService.dragEnd();\n }\n\n ngOnDestroy(): void {\n for (const s of this.scopeSubjects.values()) {\n s.unsubscribe();\n }\n }\n\n}\n","<ng-container #child [axisDynamic]=\"loadAndOptions()?.[1]\" [standalone]=\"true\" [isDesign]=\"true\"></ng-container>","import { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, model, OnInit, output, signal, ViewChild } from '@angular/core';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzCardModule } from 'ng-zorro-antd/card';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { AXIS_DESIGN_CMPLIBS_TOKEN, DynamicDirective, Example, ExampleGroup } from 'ngx-axis-appforge/core';\nimport { auditTime, BehaviorSubject, map } from 'rxjs';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { FormsModule } from '@angular/forms';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzFlexModule } from 'ng-zorro-antd/flex';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\n\n@Component({\n selector: 'axis-cmplib',\n imports: [NzCollapseModule, NzCardModule, NzGridModule, DynamicDirective, NzButtonModule, NzDropDownModule, NzInputModule, FormsModule, NzIconModule, NzFlexModule, NzSelectModule],\n templateUrl: './cmplib.html',\n styleUrl: './cmplib.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Cmplib implements OnInit {\n\n constructor() {\n effect(() => {\n this.tags();\n this.cmplib();\n this.searchValue$.next(this.searchValue$.value);\n });\n }\n readonly cmplibs = inject(AXIS_DESIGN_CMPLIBS_TOKEN, { optional: true });\n readonly cmplib = model<ExampleGroup[]>();\n readonly dragOptions = signal<any>(undefined);\n readonly selectMode = input.required<\"drag\" | \"click\">();\n readonly tags = input<string[]>();\n dragExample?: Example;\n readonly clickExample = output<any>();\n readonly dragStart = output<{ example: Example, element: HTMLElement }>();\n readonly dragEnd = output<void>();\n @ViewChild(\"dragElement\", { read: ElementRef, static: true })\n dragElement?: ElementRef;\n readonly searchValue$ = new BehaviorSubject<string>('');\n readonly displayCmpLib = toSignal(this.searchValue$.pipe(auditTime(300), map(v => {\n if (v || this.tags()?.length) {\n v = v.toLowerCase();\n return this.cmplib()?.map(group => ({\n groupName: group.groupName,\n children: group.children.filter(c => (!v || c.component.includes(v)) && (!this.tags()?.length || c.tags?.some(t => this.tags()!.includes(t))))\n })).filter(group => group.children.length);\n } else {\n return this.cmplib();\n }\n })));\n\n ngOnInit(): void {\n if (this.cmplibs?.length) {\n this.cmplib.set(this.cmplibs[0].lib);\n }\n }\n\n onClick(example: Example) {\n if (this.selectMode() == \"click\") {\n this.clickExample.emit(example);\n }\n }\n\n preloadDragElement(example: Example) {\n if (this.selectMode() == \"drag\") {\n this.dragOptions.set(example.builder());\n this.dragExample = example;\n }\n }\n\n onDragStart(e: DragEvent) {\n if (this.selectMode() == \"drag\") {\n e.stopPropagation();\n if (e.dataTransfer) {\n e.dataTransfer.effectAllowed = 'move';\n }\n e.dataTransfer?.setDragImage(this.dragElement?.nativeElement, 0, 0);\n setTimeout(() => {\n this.dragStart.emit({ example: this.dragExample!, element: this.dragElement?.nativeElement });\n });\n }\n }\n\n onDragEnd(e: DragEvent) {\n if (this.selectMode() == \"drag\") {\n e.stopPropagation();\n e.preventDefault();\n this.dragEnd.emit();\n }\n }\n\n}\n","<div nz-flex nzAlign=\"center\">\n <input style=\"flex:1\" type=\"text\" nz-input placeholder=\"搜索\" nzBorderless ngModel\n (ngModelChange)=\"searchValue$.next($event)\" />\n <nz-select [(ngModel)]=\"cmplib\" nzSize=\"small\" nzBorderless style=\"width: auto;\">\n @for (lib of cmplibs; track $index) {\n <nz-option [nzValue]=\"lib.lib\" [nzLabel]=\"lib.libName\"></nz-option>\n }\n </nz-select>\n</div>\n<nz-collapse nzAccordion>\n @for (group of displayCmpLib(); track group.groupName) {\n <nz-collapse-panel [nzHeader]=\"`${group.groupName}(${group.children.length})`\">\n <div nz-row [nzGutter]=\"[8,8]\">\n @for (item of group.children; track item.component) {\n <div nz-col [nzSpan]=\"item.span\">\n <nz-card nzSize=\"small\" nzHoverable [nzCover]=\"coverTemplate\" [nzTitle]=\"item.component\"\n [nzExtra]=\"item.moreExamples? more:''\" [nzBodyStyle]=\"{padding:0}\" (click)=\"onClick(item.example)\"\n [draggable]=\"selectMode()=='drag'\" (mouseenter)=\"preloadDragElement(item.example)\"\n (dragstart)=\"onDragStart($event)\" (dragend)=\"onDragEnd($event)\">\n </nz-card>\n <ng-template #coverTemplate>\n <img style=\"margin: 4px;object-fit: contain;\" [style.height.px]=\"item.height\"\n [src]=\"item.coverImg\" />\n </ng-template>\n <ng-template #more>\n <a nz-button nzType=\"link\" nzSize=\"small\" nz-dropdown [nzDropdownMenu]=\"examples\">\n <nz-icon nzType=\"ellipsis\"></nz-icon>\n </a>\n <nz-dropdown-menu #examples=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable>\n @for (item of item.moreExamples; track item.name) {\n <li nz-menu-item (click)=\"onClick(item)\" [draggable]=\"selectMode()=='drag'\"\n (mouseenter)=\"preloadDragElement(item)\" (dragstart)=\"onDragStart($event)\"\n (dragend)=\"onDragEnd($event)\">{{item.name}}</li>\n }\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n </div>\n }\n </div>\n </nz-collapse-panel>\n }\n</nz-collapse>\n<div class=\"dragElementContainer\">\n <div #dragElement>\n @if (dragOptions()) {\n <ng-container [axisDynamic]=\"dragOptions()\" [standalone]=\"true\"></ng-container>\n {{dragOptions().type}}\n }\n </div>\n</div>","import { Example, ExampleBuilder, isEquals } from \"ngx-axis-appforge/core\";\nimport { Design } from \"./design\";\n\nexport class ShortcutKey {\n\n constructor(private design: Design) { }\n\n private cutNodeIds?: string[];\n\n onKeyPress(e: KeyboardEvent) {\n const isInput = (e.target as HTMLElement).matches(\n 'input:not([disabled]), textarea:not([disabled])'\n );\n if (isInput) {\n return;\n }\n let event;\n if (e.key == \"Backspace\") {\n event = \"delete\";\n } else if (e.key == \"z\" && (e.metaKey || e.ctrlKey) && !e.shiftKey) {\n event = \"undo\";\n } else if (e.key.toLowerCase() == \"z\" && (e.metaKey || e.ctrlKey) && e.shiftKey) {\n event = \"redo\";\n } else if (e.key == \"c\" && e.metaKey && e.ctrlKey) {\n event = \"onlyPreview\";\n } else if (e.key == \"r\" && e.metaKey && e.ctrlKey) {\n event = \"forceRender\";\n } else if (e.key == \"h\" && e.metaKey && e.ctrlKey) {\n event = \"shortcutKeysInfo\";\n } else if (e.key == \"c\" && (e.metaKey || e.ctrlKey) && !getSelection()?.toString()) {\n event = \"copy\";\n } else if (e.key == \"x\" && (e.metaKey || e.ctrlKey)) {\n event = \"cut\";\n } else if (e.key == \"v\" && (e.metaKey || e.ctrlKey)) {\n event = \"paste\";\n }\n // console.log(event, e.key, \"meta\", e.metaKey, \"ctrl\", e.ctrlKey, \"shift\", e.shiftKey)\n if (event) {\n e.preventDefault();\n e.stopPropagation();\n this.doEvent(event);\n }\n }\n\n private doEvent(event: string) {\n switch (event) {\n case \"delete\":\n this.design.tree.removeSelected();\n break;\n case \"undo\":\n this.design.tools.undo();\n break;\n case \"redo\":\n this.design.tools.redo();\n break;\n case \"onlyPreview\":\n this.onlyPreview();\n break;\n case \"forceRender\":\n this.forceRender();\n break;\n case \"shortcutKeysInfo\":\n this.shortcutKeysInfo();\n break;\n case \"copy\":\n this.copy();\n break;\n case \"cut\":\n this.cut();\n break;\n case \"paste\":\n this.paste();\n break;\n }\n }\n\n onlyPreview() {\n this.design.tools.onlyPreview.set(!this.design.tools.onlyPreview());\n }\n forceRender() {\n this.design.preview.forceRender();\n }\n shortcutKeysInfo() {\n this.design.tools.shortcutKeysModal.set(true);\n }\n\n copy() {\n const { selected } = this.design.tree.selectListSelection;\n const options = selected.map(nodeId => this.design.optionsNodes.get(nodeId)).map(node => node?.options);\n this.design.clipboard.copy(JSON.stringify(options, null, 2));\n }\n\n cut() {\n const { selected } = this.design.tree.selectListSelection;\n this.cutNodeIds = selected;\n const options = selected.map(nodeId => this.design.optionsNodes.get(nodeId)).map(node => node?.options);\n this.design.clipboard.copy(JSON.stringify(options, null, 2));\n }\n\n async paste() {\n try {\n const text = await navigator.clipboard.readText();\n if (text) {\n const j = JSON.parse(text);\n let objs: any[] | undefined;\n if (Array.isArray(j)) {\n objs = j.filter(r => this.isComponentObj(r));\n } else if (this.isComponentObj(j)) {\n objs = [j];\n }\n if (objs?.length && this.design.tree.selectListSelection.selected.length > 0) {\n if (this.cutNodeIds?.length && isEquals(objs.map(r => r.id), this.cutNodeIds)) {\n this.design.onNodesMove(this.cutNodeIds);\n this.cutNodeIds = undefined;\n } else {\n const examples = objs.map(r => this.parseToExample(r));\n this.design.onExamplePaste(examples);\n }\n }\n }\n } catch (e) {\n console.error(e);\n }\n }\n\n private isComponentObj(obj: any): boolean {\n return obj && obj.hasOwnProperty(\"id\") && obj.hasOwnProperty(\"component\");\n }\n\n private parseToExample(obj: any): Example {\n return {\n builder: componentIdBuilder => {\n if (componentIdBuilder) {\n return this.recursionParse(obj, componentIdBuilder)\n }\n return obj;\n }\n };\n }\n\n private recursionParse(obj: any, idBuilder: (component: string, offset?: number) => string, components = new Map<string, number>()): any {\n if (this.isComponentObj(obj)) {\n const offset = (components.get(obj.component) ?? 0) + 1;\n components.set(obj.component, offset)\n obj.id = idBuilder(obj.component, offset);\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; i++) {\n obj[i] = this.recursionParse(obj[i], idBuilder, components);\n }\n } else if (typeof obj == \"object\") {\n for (const en of Object.entries(obj)) {\n obj[en[0]] = this.recursionParse(en[1], idBuilder, components);\n }\n }\n }\n return obj;\n }\n}\n","import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class DesignOptions extends ValueAccessOptions {\n\n readonly injectData = signal<any>({});\n readonly allPermissions = signal<{ [permission: string]: string }>({});\n\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, model, signal } from '@angular/core';\nimport { Design } from '../design';\nimport { NzFlexModule } from 'ng-zorro-antd/flex';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzTableModule } from 'ng-zorro-antd/table';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\nimport { copy, HowLongPipe } from 'ngx-axis-appforge/core';\n\n@Component({\n selector: 'axis-toolbar',\n imports: [NzModalModule, NzTableModule, NzFlexModule, NzIconModule, NzToolTipModule, NzButtonModule, NzPopoverModule, HowLongPipe],\n templateUrl: './toolbar.html',\n styleUrl: './toolbar.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Toolbar {\n\n readonly design = inject(Design);\n readonly cdr = inject(ChangeDetectorRef);\n readonly onlyPreview = signal(false);\n readonly shortcutKeysModal = model(false);\n\n readonly history: { options: any, time: Date }[] = [];\n historyIndex = 0;\n\n putHistory(options: any) {\n if (this.historyIndex > 0) {\n this.history.splice(0, this.historyIndex);\n this.historyIndex = 0;\n }\n this.history.unshift({ options: copy(options, true), time: new Date() });\n if (this.history.length > 50) {\n this.history.pop();\n }\n this.cdr.markForCheck();\n }\n\n undo() {\n if (this.historyIndex < this.history.length - 1) {\n this.historyIndex++;\n this.design.onChangeOptionsConfig(copy(this.history[this.historyIndex].options, true), false);\n this.cdr.markForCheck();\n }\n }\n\n redo() {\n if (this.historyIndex > 0) {\n this.historyIndex--;\n this.design.onChangeOptionsConfig(copy(this.history[this.historyIndex].options, true), false);\n this.cdr.markForCheck();\n }\n }\n\n switchHistory(index: number) {\n if (index != this.historyIndex && index > -1 && index < this.history.length) {\n this.historyIndex = index;\n this.design.onChangeOptionsConfig(copy(this.history[this.historyIndex].options, true), false);\n this.cdr.markForCheck();\n }\n }\n\n}\n","<div class=\"tools\" nz-flex nzGap=\"4px\">\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"快捷键说明\"\n (click)=\"shortcutKeysModal.set(true)\">\n <nz-icon nzType=\"exclamation-circle\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"编辑历史\" nz-popover\n [nzPopoverTitle]=\"historyTitle\" nzPopoverTrigger=\"click\" [nzPopoverContent]=\"historyTemp\"\n nzPopoverPlacement=\"bottom\" nzPopoverOverlayClassName=\"history-popover\">\n <nz-icon nzType=\"history\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" [nz-tooltip]=\"onlyPreview()?'恢复':'放大'\"\n (click)=\"onlyPreview.set(!onlyPreview())\">\n <nz-icon [nzType]=\"onlyPreview()?'fullscreen-exit':'fullscreen'\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"text\" nzShape=\"circle\" nz-tooltip=\"重新载入\"\n (click)=\"design.preview.forceRender()\">\n <nz-icon nzType=\"reload\" />\n </button>\n</div>\n\n<ng-template #historyTitle>\n <div nz-flex>\n <div style=\"flex:1\">编辑历史</div>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"撤销\" (click)=\"undo()\"\n [disabled]=\"historyIndex==history.length-1\">\n <nz-icon nzType=\"undo\" nzTheme=\"outline\" />\n </button>\n <button nz-button nzSize=\"small\" nzType=\"link\" nzShape=\"circle\" nz-tooltip=\"重做\" (click)=\"redo()\"\n [disabled]=\"historyIndex==0\">\n <nz-icon nzType=\"redo\" nzTheme=\"outline\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #historyTemp>\n <div nz-flex nzVertical>\n @for (item of history; track item.time;let i=$index) {\n <div nz-flex [class.active]=\"i == historyIndex\" class=\"history-item\" (click)=\"switchHistory(i)\">\n <div style=\"width: 20px;\">\n @if (i == historyIndex) {\n <nz-icon nzType=\"aim\" nzTheme=\"outline\" />\n }\n </div>\n <div>#{{history.length-i}} {{item.time | axisHowLong}}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<nz-modal [(nzVisible)]=\"shortcutKeysModal\" nzTitle=\"快捷键说明\" nzDraggable [nzOkText]=\"null\" nzCancelText=\"关闭\"\n (nzOnCancel)=\"shortcutKeysModal.set(false)\">\n <ng-container *nzModalContent>\n <nz-table nzTemplateMode nzSize=\"small\">\n <thead>\n <tr>\n <th>功能</th>\n <th>快捷键</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>查看快捷键说明</td>\n <td>Ctrl Meta H</td>\n </tr>\n <tr>\n <td>复制</td>\n <td>Ctrl C</td>\n </tr>\n <tr>\n <td>剪切</td>\n <td>Ctrl X</td>\n </tr>\n <tr>\n <td>粘贴</td>\n <td>Ctrl V</td>\n </tr>\n <tr>\n <td>撤销</td>\n <td>Ctrl Z</td>\n </tr>\n <tr>\n <td>重做</td>\n <td>Ctrl Shift Z</td>\n </tr>\n <tr>\n <td>预览放大/恢复</td>\n <td>Ctrl Meta C</td>\n </tr>\n <tr>\n <td>重新载入</td>\n <td>Ctrl Meta R</td>\n </tr>\n </tbody>\n </nz-table>\n </ng-container>\n</nz-modal>","import { ChangeDetectionStrategy, Component, ComponentRef, HostListener, inject, Injector, model, OnDestroy, signal, ViewChild, ViewContainerRef } from '@angular/core';\nimport { NzSplitterModule } from 'ng-zorro-antd/splitter';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { Tree } from './tree/tree';\nimport { Preview } from './preview/preview';\nimport { NzFlexModule } from 'ng-zorro-antd/flex';\nimport { AXIS_COMPONENTS_LOADER_TOKEN, ValueAccess, FunFieldValueBase, ScopeInfo, NextInfo, OptionsNode, AXIS_DESIGN_OPTIONS_NODE_FOR_MENU, AXIS_DESIGN_ALL_PERMISSIONS_TOKEN, DynamicDirective, AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, Example, AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, EventHandlerDesc, AXIS_INJECT_FUNC_TOKEN, copy, AXIS_DESIGN_CHOOSE_COMPONENT_FUNC_TOKEN, DesignConfig } from 'ngx-axis-appforge/core';\nimport { Cmplib } from './cmplib/cmplib';\nimport { FormsModule } from '@angular/forms';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\nimport { ShortcutKey } from './shortcut-key';\nimport { DesignOptions } from './design.options';\nimport { BehaviorSubject, debounceTime, filter, from, map, merge, NEVER, Observable, of, Subject, switchMap, take } from 'rxjs';\nimport { NzDrawerModule } from 'ng-zorro-antd/drawer';\nimport { Toolbar } from './toolbar/toolbar';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ClipboardService } from 'ngx-clipboard';\n\n@Component({\n selector: 'axis-design',\n imports: [NzSplitterModule, NzTabsModule, Preview, Tree, NzFlexModule, Cmplib, FormsModule, NzEmptyModule, DynamicDirective, NzDrawerModule, Toolbar],\n templateUrl: './design.html',\n styleUrl: './design.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabindex: \"-1\",\n autofocus: \"true\",\n }\n})\nexport class Design extends ValueAccess<DesignOptions> implements OnDestroy {\n\n constructor() {\n super();\n this.addSubscribe(this.changeSubject\n .pipe(debounceTime(300))\n .subscribe((value) => this.onChangeOptionsConfig(value)))\n }\n\n protected override options = new DesignOptions();\n\n clipboard = inject(ClipboardService);\n loader = inject(AXIS_COMPONENTS_LOADER_TOKEN);\n injectDataObs = toObservable(this.options.injectData);\n funcs = inject(AXIS_INJECT_FUNC_TOKEN);\n\n treeNode = signal<OptionsNode | null | undefined>(undefined);\n loadAndOptions = signal<[Promise<any>, any] | undefined>(undefined);\n\n @ViewChild(\"menu\", { static: true, read: ViewContainerRef })\n menu!: ViewContainerRef;\n readonly chooseComponentVisible = model(false);\n readonly chooseComponentSubject = new Subject<Example | undefined>();\n readonly chooseComponentTags = signal<string[]>([]);\n\n cacheSized: [number, number] = [300, 300];\n @ViewChild(\"setting\", { static: true, read: ViewContainerRef })\n setting!: ViewContainerRef;\n settingRef?: ComponentRef<FunFieldValueBase>;\n settingOptionsNodeId?: string;\n settingOptionsStr = model(\"\");\n\n @ViewChild(\"preview\", { static: true })\n preview!: Preview;\n\n @ViewChild(\"tree\", { static: true })\n tree!: Tree;\n\n @ViewChild(\"codeEditor\")\n codeEditor?: DynamicDirective;\n\n @ViewChild(\"tools\", { static: true })\n tools!: Toolbar;\n\n readonly shortcutKey = new ShortcutKey(this);\n @HostListener(\"keydown\", ['$event'])\n onKeyPress(e: KeyboardEvent) {\n this.shortcutKey.onKeyPress(e);\n }\n\n readonly optionsNodes = new Map<string, OptionsNode>();\n readonly optionsNodeScopes = new Map<string, OptionsNode[]>();\n readonly scopeInfos = new Map<string, ScopeInfo>();\n\n readonly componentsInfo = new Map<string, { component: string, componentName: string, eventHandlerDescs: { [name: string]: EventHandlerDesc } }>\n readonly componentsCounter = new Map<string, number>();\n readonly scopInfoSubjects = new Map<string, BehaviorSubject<ScopeInfo[]>>();\n\n readonly changeSubject = new Subject<any>();\n\n override setInitValue(value: any): void {\n super.setInitValue(value);\n this.tools.putHistory(value);\n this.render(value);\n }\n\n override writeValue(value: any): void {\n super.writeValue(value);\n this.tools.putHistory(value);\n this.render(value);\n }\n\n async inspect(nextInfo: NextInfo): Promise<OptionsNode | undefined> {\n if (!nextInfo.currentObject?.component) {\n return;\n }\n const config = await this.loader.loadComponent(`${nextInfo.currentObject.component}/design`);\n if (!this.componentsInfo.has(nextInfo.currentObject.component)) {\n this.componentsInfo.set(nextInfo.currentObject.component, { component: nextInfo.currentObject.component, componentName: config.componentName, eventHandlerDescs: config.eventHandlerDescs });\n }\n if (!this.componentsCounter.has(nextInfo.currentObject.component)) {\n this.componentsCounter.set(nextInfo.currentObject.component, 0);\n }\n this.componentsCounter.set(nextInfo.currentObject.component, this.componentsCounter.get(nextInfo.currentObject.component)! + 1);\n const res = config.buildOptionsNodes?.(nextInfo);\n if (res) {\n let nodes = [res.treeNode];\n while (nodes.length) {\n let next: OptionsNode[] = [];\n for (const node of nodes) {\n this.optionsNodes.set(node.id!, node);\n if (node.children) {\n next = next.concat(node.children);\n }\n nodes = next;\n }\n }\n if (res.treeNode.scopeId) {\n if (!this.optionsNodeScopes.has(res.treeNode.scopeId)) {\n this.optionsNodeScopes.set(res.treeNode.scopeId, []);\n }\n this.optionsNodeScopes.get(res.treeNode.scopeId)!.push(res.treeNode);\n }\n if (res.newScopes) {\n for (const scope of res.newScopes) {\n this.scopeInfos.set(scope.scopeId, scope);\n }\n }\n if (res.next?.length) {\n for (const r of res.next) {\n if (Array.isArray(r.parentObject)) {\n for (let i = 0; i < r.parentObject.length; i++) {\n r.indexOfParent = i;\n r.currentObject = r.parentObject[i];\n const parent = this.optionsNodes.get(r.parentId);\n const child = await this.inspect(r);\n if (child) {\n parent?.children?.push(child);\n }\n }\n } else if (r.indexOfParent != undefined) {\n r.currentObject = r.parentObject[r.indexOfParent];\n const child = await this.inspect(r);\n if (child) {\n this.optionsNodes.get(r.parentId)?.children?.push(child);\n }\n }\n }\n }\n }\n return res?.treeNode;\n }\n\n onChangeOptionsConfig(value?: any, putHistory = true) {\n this.reset();\n if (value === undefined) {\n value = this.value();\n }\n this.value.set(copy(value, true));\n this.render(this.value());\n this.loadAndOptions()?.[0].then(() => {\n if (!putHistory && this.settingOptionsNodeId) {\n const node = this.optionsNodes.get(this.settingOptionsNodeId);\n if (node) {\n this.settingRef?.instance.writeValue(node.options);\n }\n this.syncToCode();\n }\n });\n this.onChange?.(this.value());\n if (putHistory) {\n this.tools.putHistory(this.value());\n }\n }\n\n render(value: any) {\n this.loadAndOptions.set([this.inspect({ currentObject: value }).then(v => {\n this.treeNode.set(v ?? null);\n return v;\n }), value])\n }\n\n onSettingChange(settingValue: any) {\n if (this.settingOptionsNodeId) {\n const optionsNode = this.optionsNodes.get(this.settingOptionsNodeId!);\n if (optionsNode) {\n if (optionsNode.isRoot) {\n Object.assign(this.value(), settingValue);\n } else {\n optionsNode.updateOptions(settingValue);\n }\n this.settingOptionsNodeId = optionsNode.id;\n this.preview.selectByNodeIds([this.settingOptionsNodeId!]);\n this.tree.selectByNodeIds([this.settingOptionsNodeId!]);\n this.changeSubject.next(undefined);\n }\n }\n }\n\n onTreeSelect(nodeIds: string[]) {\n this.preview.selectByNodeIds(nodeIds);\n if (nodeIds.length == 1) {\n this.updateScopeWithNodeId(nodeIds[0]);\n this.loadSetting(nodeIds[0]);\n } else {\n this.settingOptionsNodeId = undefined;\n this.resetSetting();\n }\n }\n\n onPreviewSelect(nodeIds: string[]) {\n this.menu.clear();\n this.tree.selectByNodeIds(nodeIds);\n if (nodeIds.length == 1) {\n this.updateScopeWithNodeId(nodeIds[0]);\n this.loadSetting(nodeIds[0]);\n } else {\n this.settingOptionsNodeId = undefined;\n this.resetSetting();\n }\n let expandIds: string[] = [];\n for (const nodeid of nodeIds) {\n expandIds = expandIds.concat(this.getAllParentNodes(nodeid).map(n => n.id!));\n }\n this.tree.expandByNodeIds(expandIds);\n }\n\n private updateScopeWithNodeId(nodeId: string) {\n let scopeId = this.optionsNodes.get(nodeId)?.scopeId;\n while (scopeId && this.scopeInfos.has(scopeId)) {\n this.preview.updateScopeWithSelectedElement(scopeId);\n scopeId = this.scopeInfos.get(scopeId)?.parentScopeId;\n }\n }\n\n loadSetting(nodeId: string) {\n if (nodeId && this.optionsNodes.has(nodeId)) {\n if (this.settingOptionsNodeId == nodeId) {\n return;\n } else if (this.settingOptionsNodeId) {\n const oldNode = this.optionsNodes.get(this.settingOptionsNodeId)!;\n const newNode = this.optionsNodes.get(nodeId)!;\n if (oldNode.parentId == newNode.parentId && oldNode.settingType == newNode.settingType) {\n this.settingOptionsNodeId = nodeId;\n this.settingOptionsStr.set(JSON.stringify(newNode.options, null, \" \"));\n this.settingRef?.instance.writeValue(newNode.options);\n return;\n }\n }\n this.resetSetting();\n this.settingOptionsNodeId = nodeId;\n const optionsNode = this.optionsNodes.get(nodeId)!;\n this.settingOptionsStr.set(JSON.stringify(optionsNode.options, null, \" \"));\n if (optionsNode.settingType) {\n const injector = Injector.create({\n providers: [\n { provide: AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, useValue: this.buildScopeInfosGetter(optionsNode) },\n { provide: AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, useValue: this.buildComponentInfoForSetting(optionsNode) },\n { provide: AXIS_DESIGN_ALL_PERMISSIONS_TOKEN, useValue: this.options.allPermissions() },\n { provide: AXIS_INJECT_FUNC_TOKEN, useValue: this.funcs }\n ]\n })\n this.settingRef = this.setting.createComponent(optionsNode.settingType, { injector: injector });\n this.settingRef.instance.onChange = this.onSettingChange.bind(this);\n this.settingRef.instance.writeValue(optionsNode.options);\n }\n } else {\n this.resetSetting();\n }\n }\n\n private buildScopeInfosGetter(optionsNode: OptionsNode): (scopeId?: string) => BehaviorSubject<ScopeInfo[]> {\n const _scopeId = optionsNode.scopeId;\n return (scopeId?: string): BehaviorSubject<ScopeInfo[]> => {\n scopeId ??= _scopeId;\n if (scopeId) {\n if (!this.scopInfoSubjects.has(scopeId)) {\n this.scopInfoSubjects.set(scopeId, this.buildScopeInfoSubject(scopeId));\n }\n return this.scopInfoSubjects.get(scopeId)!;\n }\n return new BehaviorSubject<ScopeInfo[]>([]);\n }\n }\n\n private buildScopeInfoSubject(scopeId: string | undefined): BehaviorSubject<ScopeInfo[]> {\n const scopeObs: Observable<{ scopeInfo: ScopeInfo, index: number }>[] = [];\n const scopeInfosOrder: string[] = [];\n while (scopeId && this.scopeInfos.has(scopeId)) {\n const scopeInfo = this.scopeInfos.get(scopeId)!;\n scopeInfosOrder.push(scopeId);\n const scopeSubject = this.preview.getAndUpdateScopeSubject(scopeId);\n scopeObs.push(scopeSubject.pipe(\n filter(s => !!s),\n switchMap(s => {\n return merge(new Observable(sub => sub.next(s.getSnapshoptAllWithScopeId(s.axisScope()))), s.getAllWithScopeId(s.axisScope()) ?? NEVER);\n }),\n filter(realDs => !!realDs && this.scopeInfos.has(scopeInfo.scopeId)),\n map(realDs => {\n const _scopeInfo = this.scopeInfos.get(scopeInfo.scopeId)!;\n return {\n scopeInfo: { ..._scopeInfo, ds: { ..._scopeInfo.ds, ...realDs } },\n index: scopeInfosOrder.indexOf(scopeInfo.scopeId),\n };\n })\n ));\n scopeId = scopeInfo.parentScopeId;\n }\n const subject = new BehaviorSubject<ScopeInfo[]>([]);\n const res: ScopeInfo[] = [];\n this.addSubscribe(merge(...scopeObs).pipe(map(row => {\n res[row.index] = row.scopeInfo;\n return [...res];\n })).subscribe(subject));\n return subject;\n }\n\n private buildComponentInfoForSetting(optionsNode: OptionsNode): { component: string, componentName: string, nodes: OptionsNode[], eventHandlerDescs: { [event: string]: EventHandlerDesc } }[] {\n const componentInfo: Map<string, { component: string, componentName: string, nodes: OptionsNode[], eventHandlerDescs: { [event: string]: EventHandlerDesc } }> = new Map();\n let scopeId = optionsNode.scopeId;\n while (scopeId) {\n let nodes = this.optionsNodeScopes.get(scopeId)!\n if (nodes) {\n for (const node of nodes) {\n const component = node.options.component;\n if (!componentInfo.has(component)) {\n const info = this.componentsInfo.get(component)!;\n componentInfo.set(component, { component: info.component, componentName: info.componentName, nodes: [], eventHandlerDescs: info.eventHandlerDescs ?? {} })\n }\n componentInfo.get(component)!.nodes.push(node);\n }\n }\n scopeId = this.scopeInfos.get(scopeId)?.parentScopeId;\n }\n return Array.from(componentInfo.values());\n }\n\n onContextMenu(e: MouseEvent, nodeId: string) {\n const node = this.optionsNodes.get(nodeId);\n if (node?.contextMenu) {\n const parent = node.isRoot ? undefined : this.optionsNodes.get(node.parentId!)\n const injector = Injector.create({\n providers: [\n { provide: AXIS_DESIGN_OPTIONS_NODE_FOR_MENU, useValue: { current: node, parent } },\n { provide: AXIS_DESIGN_CHOOSE_COMPONENT_FUNC_TOKEN, useValue: this.chooseComponent.bind(this) },\n ]\n })\n this.menu.clear();\n const ref = this.menu.createComponent(node.contextMenu, { injector: injector });\n ref.instance.contextMenu(e);\n ref.instance.onChange = (value: any) => {\n this.onChangeOptionsConfig(value);\n }\n }\n }\n\n chooseComponent(...tags: string[]): Observable<{ options?: any, config?: DesignConfig }> {\n this.chooseComponentTags.set(tags);\n this.chooseComponentVisible.set(true);\n const existsIds = new Set<string>();\n return this.chooseComponentSubject.asObservable()\n .pipe(take(1), map((example) => example?.builder((component, offset) => this.genNewComponentId(component, offset, existsIds))),\n switchMap(options => options ? from(this.loader.loadComponent(`${options.component}/design`)).pipe(map(config => ({ options, config }))) : of({})));\n }\n\n private genNewComponentId(component: string, offset = 1, existsIds?: Set<string>): string {\n let id: string;\n if (this.componentsCounter.has(component)) {\n id = `${component}#${this.componentsCounter.get(component)! + offset}`\n } else {\n id = `${component}#${offset}`\n }\n if (existsIds?.has(id) || this.optionsNodes.has(id)) {\n return this.genNewComponentId(component, offset + 1, existsIds);\n }\n existsIds?.add(id);\n return id;\n }\n\n onCmplibDragStart(example: Example, element: HTMLElement) {\n const options = example.builder((component, offset) => this.genNewComponentId(component, offset));\n const optionsNode = new OptionsNode({\n canDrag: true,\n dragType: \"component\",\n rootOptions: options\n });\n this.optionsNodes.set(optionsNode.id, optionsNode);\n this.preview.dragForOuter(optionsNode.toElementNode({ element }));\n }\n\n async onCmplibDragEnd() {\n const nodeId = this.preview.dragEndForOuter();\n if (nodeId) {\n await this.loadAndOptions()![0];\n this.tree.selectByNodeIds([nodeId]);\n this.preview.selectByNodeIds([nodeId]);\n this.loadSetting(nodeId);\n }\n }\n\n onExamplePaste(examples: Example[]) {\n const nodes: OptionsNode[] = []\n for (const example of examples) {\n const options = example.builder((component, offset) => this.genNewComponentId(component, offset));\n const optionsNode = new OptionsNode({\n canDrag: true,\n dragType: \"component\",\n rootOptions: options\n });\n nodes.push(optionsNode);\n this.optionsNodes.set(optionsNode.id, optionsNode);\n }\n this.tree.addNodeForSelected(nodes);\n }\n\n onNodesMove(nodeIds: string[]) {\n if (this.tree.selectListSelection.selected.length == 1) {\n this.tree.addNodeForSelected(nodeIds.map(id => this.optionsNodes.get(id)!), true);\n }\n }\n\n onEditorChange(optionsStr: string) {\n try {\n const options = JSON.parse(optionsStr);\n this.onSettingChange(options);\n } catch (_) { }\n }\n\n syncToSetting() {\n if (this.settingOptionsNodeId) {\n const optionsNode = this.optionsNodes.get(this.settingOptionsNodeId);\n if (optionsNode) {\n const instance = (this.setting.get(0) as any)?.context as FunFieldValueBase | undefined;\n instance?.writeValue(optionsNode.options);\n }\n }\n }\n\n syncToCode() {\n if (this.settingOptionsNodeId) {\n const optionsNode = this.optionsNodes.get(this.settingOptionsNodeId);\n if (optionsNode) {\n this.settingOptionsStr.set(JSON.stringify(optionsNode.options, null, \" \"));\n }\n }\n setTimeout(() => {\n this.layoutEditor();\n });\n }\n\n layoutEditor(e?: number[]) {\n if (e) {\n if (e[0] > 0) {\n this.cacheSized[0] = e[0];\n }\n if (e[2] > 0) {\n this.cacheSized[1] = e[2];\n }\n }\n this.codeEditor?.onEvents?.({\n target: \"component\",\n name: \"layout\",\n })?.subscribe();\n }\n\n private resetSetting() {\n this.settingOptionsNodeId = undefined;\n this.setting.clear();\n this.settingOptionsStr.set(\"\");\n }\n\n private reset(): void {\n this.optionsNodes.clear();\n this.componentsInfo.clear();\n this.optionsNodeScopes.clear();\n this.scopeInfos.clear();\n this.componentsCounter.clear();\n }\n\n private getAllParentNodes(node: OptionsNode | string | undefined, parentNodes: OptionsNode[] = []): OptionsNode[] {\n if (typeof node == \"string\") {\n node = this.optionsNodes.get(node);\n }\n if (node?.parentId) {\n const parent = this.optionsNodes.get(node.parentId);\n if (parent) {\n parentNodes.push(parent);\n this.getAllParentNodes(parent, parentNodes);\n }\n }\n return parentNodes;\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n for (const s of this.scopInfoSubjects.values()) {\n s.unsubscribe();\n }\n }\n}","<nz-splitter (nzResize)=\"layoutEditor($event)\">\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[0]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\">\n <nz-tabs nzCentered>\n <nz-tab nzTitle=\"组件树\">\n <axis-design-tree #tree [node]=\"treeNode()\" [optionsNodes]=\"optionsNodes\"\n (onSelect)=\"onTreeSelect($event)\" (onChange)=\"onChangeOptionsConfig($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"></axis-design-tree>\n </nz-tab>\n <nz-tab nzTitle=\"组件库\">\n <axis-cmplib selectMode=\"drag\" (dragStart)=\"onCmplibDragStart($event.example,$event.element)\"\n (dragEnd)=\"onCmplibDragEnd()\"></axis-cmplib>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n <nz-splitter-panel>\n <div nz-flex nzVertical style=\"height: 100%;width: 100%;position: relative;\">\n <h2 style=\"text-align: center;margin-top: 4px;\">预览</h2>\n <axis-toolbar #tools></axis-toolbar>\n <axis-design-preview #preview style=\"flex:1;overflow: auto;\" [loadAndOptions]=\"loadAndOptions()\"\n [optionsNodes]=\"optionsNodes\" [injectData]=\"injectDataObs\" (onChange)=\"onChangeOptionsConfig()\"\n (onSelect)=\"onPreviewSelect($event)\"\n (onContextMenu)=\"onContextMenu($event.event,$event.nodeId)\"></axis-design-preview>\n </div>\n </nz-splitter-panel>\n <nz-splitter-panel [nzCollapsible]=\"!tools.onlyPreview()\" [nzDefaultSize]=\"cacheSized[1]\" nzMin=\"15%\" nzMax=\"40%\"\n [nzSize]=\"tools.onlyPreview()?0:undefined\" style=\"position: relative;\">\n <nz-tabs nzCentered style=\"height: 100%;\">\n <nz-tab nzTitle=\"属性设置\" (nzClick)=\"syncToSetting()\">\n <ng-container #setting></ng-container>\n @if (!settingOptionsStr()){\n <nz-empty style=\"height: 300px;\" nzNotFoundContent=\"请先选择一个组件\"></nz-empty>\n }\n </nz-tab>\n <nz-tab nzTitle=\"代码\" nzForceRender (nzSelect)=\"syncToCode();\">\n <ng-container #codeEditor=\"axisDynamic\"\n [axisDynamic]=\"{component:'axis-components/editor',inuse:true,mode:'json',readonly:!settingOptionsStr(),otherOptions:{tabSize:2}}\"\n [standalone]=\"true\" [(ngModel)]=\"settingOptionsStr\"\n (ngModelChange)=\"onEditorChange($event)\"></ng-container>\n </nz-tab>\n </nz-tabs>\n </nz-splitter-panel>\n</nz-splitter>\n<ng-container #menu></ng-container>\n<nz-drawer [(nzVisible)]=\"chooseComponentVisible\" nzTitle=\"选择组件\" [nzBodyStyle]=\"{padding:0}\"\n (nzOnClose)=\"chooseComponentVisible.set(false);chooseComponentSubject.next(undefined)\">\n <ng-container *nzDrawerContent>\n <axis-cmplib selectMode=\"click\" [tags]=\"chooseComponentTags()\"\n (clickExample)=\"chooseComponentVisible.set(false);chooseComponentSubject.next($event)\"></axis-cmplib>\n </ng-container>\n</nz-drawer>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './design';\n"],"names":["i1","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11"],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { FunFieldValueBase, valueFbConfig, baseFbConfig, valueFunField, baseFunField, BaseDesignSetting, DynamicDirective, FunField, ValueDesignSetting, InputTrigger, OptionsNode, SimpleMenu } from 'ngx-axis-appforge/core';
2
+ import * as i0 from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import * as i4 from 'ng-zorro-antd/collapse';
7
+ import { NzCollapseModule } from 'ng-zorro-antd/collapse';
8
+ import * as i3 from 'ng-zorro-antd/form';
9
+ import { NzFormModule } from 'ng-zorro-antd/form';
10
+ import * as i2 from 'ng-zorro-antd/grid';
11
+
12
+ class Setting extends FunFieldValueBase {
13
+ fg = this.fb.group({
14
+ ...baseFbConfig,
15
+ ...valueFbConfig,
16
+ child: [],
17
+ });
18
+ funFields = {
19
+ ...baseFunField,
20
+ ...valueFunField,
21
+ child: {
22
+ defaultValue: undefined
23
+ }
24
+ };
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: Setting, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: Setting, isStandalone: true, selector: "axis-design-text-setting", usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u7EC4\u4EF6\u914D\u7F6E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"child\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\" [internalTriggers]=\"['valueChange']\"></axis-input-trigger>\n </nz-collapse>\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzFormModule }, { kind: "directive", type: i2.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i2.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i3.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i3.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i3.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i3.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NzCollapseModule }, { kind: "component", type: i4.NzCollapsePanelComponent, selector: "nz-collapse-panel", inputs: ["nzActive", "nzDisabled", "nzShowArrow", "nzExtra", "nzHeader", "nzExpandedIcon"], outputs: ["nzActiveChange"], exportAs: ["nzCollapsePanel"] }, { kind: "component", type: i4.NzCollapseComponent, selector: "nz-collapse", inputs: ["nzAccordion", "nzBordered", "nzGhost", "nzExpandIconPosition"], exportAs: ["nzCollapse"] }, { kind: "component", type: BaseDesignSetting, selector: "axis-base-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign"], exportAs: ["axisDynamic"] }, { kind: "component", type: FunField, selector: "axis-fun-field", inputs: ["scopes", "exclude", "scopeId", "onlyFun", "noListen", "disabled", "editTip", "value", "open", "showCreateListenModal", "createListenDataSourceName"], outputs: ["valueChange", "openChange", "showCreateListenModalChange", "createListenDataSourceNameChange"] }, { kind: "component", type: ValueDesignSetting, selector: "axis-value-design-setting", inputs: ["scopeId", "exclude", "fg"] }, { kind: "component", type: InputTrigger, selector: "axis-input-trigger", inputs: ["internalTriggers", "value", "eventDesc", "isVisibleHandlerModal", "editEventHandler"], outputs: ["valueChange", "isVisibleHandlerModalChange", "editEventHandlerChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: Setting, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'axis-design-text-setting', imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, DynamicDirective, FunField, ValueDesignSetting, InputTrigger], changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"\u57FA\u672C\u8BBE\u7F6E\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n \u7EC4\u4EF6\u914D\u7F6E\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"child\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\" [internalTriggers]=\"['valueChange']\"></axis-input-trigger>\n </nz-collapse>\n</form>" }]
31
+ }] });
32
+
33
+ const Config = {
34
+ componentName: "动态容器",
35
+ buildOptionsNodes(nextInfo) {
36
+ return {
37
+ treeNode: new OptionsNode({
38
+ parentId: nextInfo.parentId,
39
+ scopeId: nextInfo.scopeId,
40
+ name: "动态容器",
41
+ canSetting: true,
42
+ canDrag: true,
43
+ dragType: "component",
44
+ parentObj: nextInfo.parentObject,
45
+ indexOfParentObj: nextInfo.indexOfParent,
46
+ rootOptions: nextInfo.currentObject,
47
+ settingType: Setting,
48
+ contextMenu: SimpleMenu,
49
+ icon: "container"
50
+ })
51
+ };
52
+ },
53
+ bindElementsOptionsNode(element, options) {
54
+ return {
55
+ [options.id]: { element }
56
+ };
57
+ },
58
+ };
59
+
60
+ /**
61
+ * Generated bundle index. Do not edit.
62
+ */
63
+
64
+ export { Config };
65
+ //# sourceMappingURL=ngx-axis-appforge-axis-components-dynamic-container-design.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-dynamic-container-design.mjs","sources":["../../../axis-components/dynamic-container/design/setting/setting.ts","../../../axis-components/dynamic-container/design/setting/setting.html","../../../axis-components/dynamic-container/design/config.ts","../../../axis-components/dynamic-container/design/ngx-axis-appforge-axis-components-dynamic-container-design.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzFormModule } from 'ng-zorro-antd/form';\nimport { BaseDesignSetting, baseFbConfig, baseFunField, DynamicDirective, FunField, FunFieldOptions, FunFieldValueBase, InputTrigger, ValueDesignSetting, valueFbConfig, valueFunField } from 'ngx-axis-appforge/core';\n\n@Component({\n selector: 'axis-design-text-setting',\n imports: [FormsModule, NzFormModule, ReactiveFormsModule, NzCollapseModule, BaseDesignSetting, DynamicDirective, FunField, ValueDesignSetting, InputTrigger],\n templateUrl: './setting.html',\n styleUrl: './setting.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Setting extends FunFieldValueBase {\n\n override fg: UntypedFormGroup = this.fb.group({\n ...baseFbConfig,\n ...valueFbConfig,\n child: [],\n });\n\n protected override funFields: FunFieldOptions = {\n ...baseFunField,\n ...valueFunField,\n child: {\n defaultValue: undefined\n }\n };\n\n}\n","<form [formGroup]=\"fg\" nz-form>\n <nz-collapse [nzBordered]=\"false\">\n <nz-collapse-panel nzHeader=\"基本设置\" nzActive>\n <nz-form-item>\n <nz-form-label nzSpan=\"8\">\n 组件配置\n </nz-form-label>\n <nz-form-control nzSpan=\"16\">\n <axis-fun-field formControlName=\"child\">\n <ng-container [axisDynamic]=\"{component:'axis-components/input-json',inuse:true}\"\n [standalone]=\"true\" ngModel [ngModelOptions]=\"{standalone:true}\"></ng-container>\n </axis-fun-field>\n </nz-form-control>\n </nz-form-item>\n </nz-collapse-panel>\n <axis-value-design-setting [fg]=\"fg\"></axis-value-design-setting>\n <axis-base-design-setting [fg]=\"fg\"></axis-base-design-setting>\n <axis-input-trigger formControlName=\"triggeEvents\" [internalTriggers]=\"['valueChange']\"></axis-input-trigger>\n </nz-collapse>\n</form>","import { NextInfo, DesignBuildResult, DesignBindElementsResult, DesignConfig, OptionsNode, nameCode, SimpleMenu } from \"ngx-axis-appforge/core\";\nimport { Setting } from \"./setting/setting\";\n\nexport const Config: DesignConfig = {\n\n componentName: \"动态容器\",\n buildOptionsNodes(nextInfo: NextInfo): DesignBuildResult {\n return {\n treeNode: new OptionsNode({\n parentId: nextInfo.parentId,\n scopeId: nextInfo.scopeId,\n name: \"动态容器\",\n canSetting: true,\n canDrag: true,\n dragType: \"component\",\n parentObj: nextInfo.parentObject,\n indexOfParentObj: nextInfo.indexOfParent,\n rootOptions: nextInfo.currentObject,\n settingType: Setting,\n contextMenu: SimpleMenu,\n icon: \"container\"\n })\n };\n },\n bindElementsOptionsNode(element: HTMLElement, options: any): DesignBindElementsResult {\n return {\n [options.id]: { element }\n }\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './config';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { ValueAccessOptions, ValueAccess, DynamicDirective } from 'ngx-axis-appforge/core';
4
+ import * as i1 from '@angular/forms';
5
+ import { FormsModule } from '@angular/forms';
6
+
7
+ class DynamicContainerOptions extends ValueAccessOptions {
8
+ child = signal(undefined, ...(ngDevMode ? [{ debugName: "child" }] : []));
9
+ }
10
+
11
+ class DynamicContainer extends ValueAccess {
12
+ options = new DynamicContainerOptions();
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DynamicContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.2", type: DynamicContainer, isStandalone: true, selector: "axis-dynamic-container", usesInheritance: true, ngImport: i0, template: "<ng-container [axisDynamic]=\"options.child()\" [standalone]=\"true\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange?.($event)\"></ng-container>", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: DynamicDirective, selector: "[axisDynamic]", inputs: ["axisDynamic", "standalone", "isDesign"], exportAs: ["axisDynamic"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.2", ngImport: i0, type: DynamicContainer, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'axis-dynamic-container', imports: [DynamicDirective, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [axisDynamic]=\"options.child()\" [standalone]=\"true\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange?.($event)\"></ng-container>", styles: [":host{display:block}\n"] }]
19
+ }] });
20
+
21
+ /**
22
+ * Generated bundle index. Do not edit.
23
+ */
24
+
25
+ export { DynamicContainer };
26
+ //# sourceMappingURL=ngx-axis-appforge-axis-components-dynamic-container.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-axis-appforge-axis-components-dynamic-container.mjs","sources":["../../../axis-components/dynamic-container/dynamic-container.options.ts","../../../axis-components/dynamic-container/dynamic-container.ts","../../../axis-components/dynamic-container/dynamic-container.html","../../../axis-components/dynamic-container/ngx-axis-appforge-axis-components-dynamic-container.ts"],"sourcesContent":["import { signal } from \"@angular/core\";\nimport { ValueAccessOptions } from \"ngx-axis-appforge/core\";\n\nexport class DynamicContainerOptions extends ValueAccessOptions {\n child = signal<any>(undefined);\n}","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DynamicContainerOptions } from './dynamic-container.options';\nimport { DynamicDirective, ValueAccess } from 'ngx-axis-appforge/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n selector: 'axis-dynamic-container',\n imports: [DynamicDirective, FormsModule],\n templateUrl: './dynamic-container.html',\n styleUrl: './dynamic-container.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DynamicContainer extends ValueAccess<DynamicContainerOptions> {\n\n override options: DynamicContainerOptions = new DynamicContainerOptions();\n\n}\n","<ng-container [axisDynamic]=\"options.child()\" [standalone]=\"true\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange?.($event)\"></ng-container>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './dynamic-container';\n"],"names":[],"mappings":";;;;;;AAGM,MAAO,uBAAwB,SAAQ,kBAAkB,CAAA;AAC3D,IAAA,KAAK,GAAG,MAAM,CAAM,SAAS,iDAAC;AACjC;;ACOK,MAAO,gBAAiB,SAAQ,WAAoC,CAAA;AAE/D,IAAA,OAAO,GAA4B,IAAI,uBAAuB,EAAE;uGAF9D,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ7B,yJACwD,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDM5C,gBAAgB,uIAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAK5B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;+BACE,wBAAwB,EAAA,OAAA,EACzB,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAA,eAAA,EAGvB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yJAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;;AEVjD;;AAEG;;;;"}