ngx-axis-appforge 0.0.3 → 0.0.4

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/.editorconfig +17 -0
  2. package/angular.json +40 -0
  3. package/axis-components/badge/badge.css +3 -0
  4. package/axis-components/badge/badge.html +20 -0
  5. package/axis-components/badge/badge.options.ts +23 -0
  6. package/axis-components/badge/badge.ts +17 -0
  7. package/axis-components/badge/design/config.ts +52 -0
  8. package/axis-components/badge/design/ng-package.json +5 -0
  9. package/axis-components/badge/design/setting/setting.css +0 -0
  10. package/axis-components/badge/design/setting/setting.html +181 -0
  11. package/axis-components/badge/design/setting/setting.ts +126 -0
  12. package/axis-components/badge/ng-package.json +5 -0
  13. package/axis-components/button/button.css +3 -0
  14. package/axis-components/button/button.html +13 -0
  15. package/axis-components/button/button.options.ts +17 -0
  16. package/axis-components/button/button.ts +56 -0
  17. package/axis-components/button/design/config.ts +30 -0
  18. package/axis-components/button/design/ng-package.json +5 -0
  19. package/axis-components/button/design/setting/setting.css +0 -0
  20. package/axis-components/button/design/setting/setting.html +151 -0
  21. package/axis-components/button/design/setting/setting.ts +76 -0
  22. package/axis-components/button/ng-package.json +5 -0
  23. package/axis-components/cmp-map.ts +52 -0
  24. package/axis-components/cmplib.ts +9 -0
  25. package/axis-components/desc/desc.css +8 -0
  26. package/axis-components/desc/desc.html +19 -0
  27. package/axis-components/desc/desc.options.ts +24 -0
  28. package/axis-components/desc/desc.ts +29 -0
  29. package/axis-components/desc/design/config.ts +113 -0
  30. package/axis-components/desc/design/desc-item-setting/desc-item-setting.css +0 -0
  31. package/axis-components/desc/design/desc-item-setting/desc-item-setting.html +47 -0
  32. package/axis-components/desc/design/desc-item-setting/desc-item-setting.ts +40 -0
  33. package/axis-components/desc/design/desc-items-menu/desc-items-menu.css +0 -0
  34. package/axis-components/desc/design/desc-items-menu/desc-items-menu.html +9 -0
  35. package/axis-components/desc/design/desc-items-menu/desc-items-menu.ts +23 -0
  36. package/axis-components/desc/design/desc-setting/desc-setting.css +0 -0
  37. package/axis-components/desc/design/desc-setting/desc-setting.html +76 -0
  38. package/axis-components/desc/design/desc-setting/desc-setting.ts +51 -0
  39. package/axis-components/desc/design/ng-package.json +5 -0
  40. package/axis-components/desc/ng-package.json +5 -0
  41. package/axis-components/design/cmplib/cmplib.css +5 -0
  42. package/axis-components/design/cmplib/cmplib.html +52 -0
  43. package/axis-components/design/cmplib/cmplib.ts +96 -0
  44. package/axis-components/design/design/config.ts +29 -0
  45. package/axis-components/design/design/ng-package.json +5 -0
  46. package/axis-components/design/design/setting/setting.css +0 -0
  47. package/axis-components/design/design/setting/setting.html +33 -0
  48. package/axis-components/design/design/setting/setting.ts +33 -0
  49. package/axis-components/design/design.css +15 -0
  50. package/axis-components/design/design.html +51 -0
  51. package/axis-components/design/design.options.ts +9 -0
  52. package/axis-components/design/design.ts +509 -0
  53. package/axis-components/design/ng-package.json +5 -0
  54. package/axis-components/design/preview/drag.service.ts +148 -0
  55. package/axis-components/design/preview/drop-handler.ts +56 -0
  56. package/axis-components/design/preview/preview.css +3 -0
  57. package/axis-components/design/preview/preview.html +1 -0
  58. package/axis-components/design/preview/preview.ts +250 -0
  59. package/axis-components/design/preview/select.service.ts +140 -0
  60. package/axis-components/design/shortcut-key.ts +160 -0
  61. package/axis-components/design/toolbar/toolbar.css +24 -0
  62. package/axis-components/design/toolbar/toolbar.html +96 -0
  63. package/axis-components/design/toolbar/toolbar.ts +65 -0
  64. package/axis-components/design/tree/drag-drop.ts +125 -0
  65. package/axis-components/design/tree/tree.css +30 -0
  66. package/axis-components/design/tree/tree.html +49 -0
  67. package/axis-components/design/tree/tree.ts +292 -0
  68. package/axis-components/dynamic-container/design/config.ts +30 -0
  69. package/axis-components/dynamic-container/design/ng-package.json +5 -0
  70. package/axis-components/dynamic-container/design/setting/setting.css +0 -0
  71. package/axis-components/dynamic-container/design/setting/setting.html +20 -0
  72. package/axis-components/dynamic-container/design/setting/setting.ts +30 -0
  73. package/axis-components/dynamic-container/dynamic-container.css +3 -0
  74. package/axis-components/dynamic-container/dynamic-container.html +2 -0
  75. package/axis-components/dynamic-container/dynamic-container.options.ts +6 -0
  76. package/axis-components/dynamic-container/dynamic-container.ts +17 -0
  77. package/axis-components/dynamic-container/ng-package.json +5 -0
  78. package/axis-components/editor/editor.css +47 -0
  79. package/axis-components/editor/editor.html +10 -0
  80. package/axis-components/editor/editor.options.ts +10 -0
  81. package/axis-components/editor/editor.ts +86 -0
  82. package/axis-components/editor/ng-package.json +5 -0
  83. package/axis-components/examples/examples/badge.ts +17 -0
  84. package/axis-components/examples/examples/button.ts +38 -0
  85. package/axis-components/examples/examples/desc.ts +31 -0
  86. package/axis-components/examples/examples/design.ts +15 -0
  87. package/axis-components/examples/examples/dynamic-container.ts +21 -0
  88. package/axis-components/examples/examples/flex.ts +18 -0
  89. package/axis-components/examples/examples/form-item.ts +39 -0
  90. package/axis-components/examples/examples/form.ts +315 -0
  91. package/axis-components/examples/examples/icon.ts +16 -0
  92. package/axis-components/examples/examples/image.ts +15 -0
  93. package/axis-components/examples/examples/input-component.ts +15 -0
  94. package/axis-components/examples/examples/input-icon.ts +15 -0
  95. package/axis-components/examples/examples/input-json.ts +15 -0
  96. package/axis-components/examples/examples/input-number.ts +15 -0
  97. package/axis-components/examples/examples/input.ts +15 -0
  98. package/axis-components/examples/examples/modal.ts +15 -0
  99. package/axis-components/examples/examples/scope.ts +17 -0
  100. package/axis-components/examples/examples/single-selector.ts +25 -0
  101. package/axis-components/examples/examples/splitter.ts +36 -0
  102. package/axis-components/examples/examples/table.ts +126 -0
  103. package/axis-components/examples/examples/text.ts +15 -0
  104. package/axis-components/examples/examples/textarea.ts +15 -0
  105. package/axis-components/examples/examples/tree-selector.ts +35 -0
  106. package/axis-components/examples/examples/upload.ts +15 -0
  107. package/axis-components/examples/examples.ts +73 -0
  108. package/axis-components/flex/design/config.ts +49 -0
  109. package/axis-components/flex/design/ng-package.json +5 -0
  110. package/axis-components/flex/design/setting/setting.css +0 -0
  111. package/axis-components/flex/design/setting/setting.html +72 -0
  112. package/axis-components/flex/design/setting/setting.ts +43 -0
  113. package/axis-components/flex/flex.css +5 -0
  114. package/axis-components/flex/flex.html +6 -0
  115. package/axis-components/flex/flex.options.ts +12 -0
  116. package/axis-components/flex/flex.ts +15 -0
  117. package/axis-components/flex/ng-package.json +5 -0
  118. package/axis-components/form/design/config.ts +71 -0
  119. package/axis-components/form/design/ng-package.json +5 -0
  120. package/axis-components/form/design/setting/setting.css +0 -0
  121. package/axis-components/form/design/setting/setting.html +21 -0
  122. package/axis-components/form/design/setting/setting.ts +31 -0
  123. package/axis-components/form/form.css +3 -0
  124. package/axis-components/form/form.html +3 -0
  125. package/axis-components/form/form.options.ts +9 -0
  126. package/axis-components/form/form.ts +121 -0
  127. package/axis-components/form/ng-package.json +5 -0
  128. package/axis-components/form-item/design/config.ts +43 -0
  129. package/axis-components/form-item/design/ng-package.json +5 -0
  130. package/axis-components/form-item/design/setting/input-validator/input-validator.css +8 -0
  131. package/axis-components/form-item/design/setting/input-validator/input-validator.html +140 -0
  132. package/axis-components/form-item/design/setting/input-validator/input-validator.ts +158 -0
  133. package/axis-components/form-item/design/setting/setting.css +0 -0
  134. package/axis-components/form-item/design/setting/setting.html +39 -0
  135. package/axis-components/form-item/design/setting/setting.ts +40 -0
  136. package/axis-components/form-item/form-item.css +4 -0
  137. package/axis-components/form-item/form-item.html +16 -0
  138. package/axis-components/form-item/form-item.options.ts +12 -0
  139. package/axis-components/form-item/form-item.ts +128 -0
  140. package/axis-components/form-item/ng-package.json +5 -0
  141. package/axis-components/icon/design/config.ts +29 -0
  142. package/axis-components/icon/design/ng-package.json +5 -0
  143. package/axis-components/icon/design/setting/setting.css +0 -0
  144. package/axis-components/icon/design/setting/setting.html +67 -0
  145. package/axis-components/icon/design/setting/setting.ts +48 -0
  146. package/axis-components/icon/icon.css +0 -0
  147. package/axis-components/icon/icon.html +7 -0
  148. package/axis-components/icon/icon.options.ts +10 -0
  149. package/axis-components/icon/icon.ts +17 -0
  150. package/axis-components/icon/ng-package.json +5 -0
  151. package/axis-components/image/design/config.ts +30 -0
  152. package/axis-components/image/design/ng-package.json +5 -0
  153. package/axis-components/image/design/setting/setting.css +0 -0
  154. package/axis-components/image/design/setting/setting.html +42 -0
  155. package/axis-components/image/design/setting/setting.ts +37 -0
  156. package/axis-components/image/image.css +58 -0
  157. package/axis-components/image/image.html +14 -0
  158. package/axis-components/image/image.options.ts +8 -0
  159. package/axis-components/image/image.ts +29 -0
  160. package/axis-components/image/ng-package.json +5 -0
  161. package/axis-components/input/design/config.ts +80 -0
  162. package/axis-components/input/design/ng-package.json +5 -0
  163. package/axis-components/input/design/setting/setting.css +0 -0
  164. package/axis-components/input/design/setting/setting.html +79 -0
  165. package/axis-components/input/design/setting/setting.ts +51 -0
  166. package/axis-components/input/input.css +4 -0
  167. package/axis-components/input/input.html +32 -0
  168. package/axis-components/input/input.options.ts +14 -0
  169. package/axis-components/input/input.ts +53 -0
  170. package/axis-components/input/ng-package.json +5 -0
  171. package/axis-components/input-component/design/config.ts +30 -0
  172. package/axis-components/input-component/design/ng-package.json +5 -0
  173. package/axis-components/input-component/design/setting/setting.css +0 -0
  174. package/axis-components/input-component/design/setting/setting.html +33 -0
  175. package/axis-components/input-component/design/setting/setting.ts +33 -0
  176. package/axis-components/input-component/input-component.css +4 -0
  177. package/axis-components/input-component/input-component.html +25 -0
  178. package/axis-components/input-component/input-component.options.ts +7 -0
  179. package/axis-components/input-component/input-component.ts +50 -0
  180. package/axis-components/input-component/ng-package.json +5 -0
  181. package/axis-components/input-icon/design/config.ts +30 -0
  182. package/axis-components/input-icon/design/ng-package.json +5 -0
  183. package/axis-components/input-icon/design/setting/setting.css +0 -0
  184. package/axis-components/input-icon/design/setting/setting.html +29 -0
  185. package/axis-components/input-icon/design/setting/setting.ts +33 -0
  186. package/axis-components/input-icon/input-icon.css +4 -0
  187. package/axis-components/input-icon/input-icon.html +70 -0
  188. package/axis-components/input-icon/input-icon.options.ts +7 -0
  189. package/axis-components/input-icon/input-icon.ts +51 -0
  190. package/axis-components/input-icon/ng-package.json +5 -0
  191. package/axis-components/input-json/design/config.ts +29 -0
  192. package/axis-components/input-json/design/ng-package.json +5 -0
  193. package/axis-components/input-json/design/setting/setting.css +0 -0
  194. package/axis-components/input-json/design/setting/setting.html +7 -0
  195. package/axis-components/input-json/design/setting/setting.ts +26 -0
  196. package/axis-components/input-json/input-json.css +4 -0
  197. package/axis-components/input-json/input-json.html +19 -0
  198. package/axis-components/input-json/input-json.ts +67 -0
  199. package/axis-components/input-json/ng-package.json +5 -0
  200. package/axis-components/input-number/design/config.ts +30 -0
  201. package/axis-components/input-number/design/ng-package.json +5 -0
  202. package/axis-components/input-number/design/setting/setting.css +0 -0
  203. package/axis-components/input-number/design/setting/setting.html +118 -0
  204. package/axis-components/input-number/design/setting/setting.ts +66 -0
  205. package/axis-components/input-number/input-number.css +22 -0
  206. package/axis-components/input-number/input-number.html +11 -0
  207. package/axis-components/input-number/input-number.options.ts +17 -0
  208. package/axis-components/input-number/input-number.ts +30 -0
  209. package/axis-components/input-number/ng-package.json +5 -0
  210. package/axis-components/modal/design/config.ts +50 -0
  211. package/axis-components/modal/design/ng-package.json +5 -0
  212. package/axis-components/modal/design/set-modal-visible-handler/set-modal-visible-handler.css +0 -0
  213. package/axis-components/modal/design/set-modal-visible-handler/set-modal-visible-handler.html +15 -0
  214. package/axis-components/modal/design/set-modal-visible-handler/set-modal-visible-handler.ts +34 -0
  215. package/axis-components/modal/design/setting/setting.css +0 -0
  216. package/axis-components/modal/design/setting/setting.html +139 -0
  217. package/axis-components/modal/design/setting/setting.ts +92 -0
  218. package/axis-components/modal/modal.css +0 -0
  219. package/axis-components/modal/modal.html +7 -0
  220. package/axis-components/modal/modal.options.ts +20 -0
  221. package/axis-components/modal/modal.ts +57 -0
  222. package/axis-components/modal/ng-package.json +5 -0
  223. package/axis-components/ng-package.json +5 -0
  224. package/axis-components/scope/design/config.ts +59 -0
  225. package/axis-components/scope/design/ng-package.json +5 -0
  226. package/axis-components/scope/design/setting/datasource-editor/datasource-editor.css +28 -0
  227. package/axis-components/scope/design/setting/datasource-editor/datasource-editor.html +188 -0
  228. package/axis-components/scope/design/setting/datasource-editor/datasource-editor.ts +245 -0
  229. package/axis-components/scope/design/setting/setting.css +0 -0
  230. package/axis-components/scope/design/setting/setting.html +19 -0
  231. package/axis-components/scope/design/setting/setting.ts +30 -0
  232. package/axis-components/scope/ng-package.json +5 -0
  233. package/axis-components/scope/scope.css +6 -0
  234. package/axis-components/scope/scope.html +4 -0
  235. package/axis-components/scope/scope.options.ts +8 -0
  236. package/axis-components/scope/scope.ts +48 -0
  237. package/axis-components/single-selector/design/config.ts +30 -0
  238. package/axis-components/single-selector/design/ng-package.json +5 -0
  239. package/axis-components/single-selector/design/setting/setting.css +0 -0
  240. package/axis-components/single-selector/design/setting/setting.html +164 -0
  241. package/axis-components/single-selector/design/setting/setting.ts +80 -0
  242. package/axis-components/single-selector/ng-package.json +5 -0
  243. package/axis-components/single-selector/single-selector.css +8 -0
  244. package/axis-components/single-selector/single-selector.html +51 -0
  245. package/axis-components/single-selector/single-selector.options.ts +22 -0
  246. package/axis-components/single-selector/single-selector.ts +80 -0
  247. package/axis-components/splitter/design/config.ts +84 -0
  248. package/axis-components/splitter/design/ng-package.json +5 -0
  249. package/axis-components/splitter/design/splitter-menu/splitter-menu.css +0 -0
  250. package/axis-components/splitter/design/splitter-menu/splitter-menu.html +10 -0
  251. package/axis-components/splitter/design/splitter-menu/splitter-menu.ts +22 -0
  252. package/axis-components/splitter/design/splitter-panel-setting/splitter-panel-setting.css +0 -0
  253. package/axis-components/splitter/design/splitter-panel-setting/splitter-panel-setting.html +66 -0
  254. package/axis-components/splitter/design/splitter-panel-setting/splitter-panel-setting.ts +47 -0
  255. package/axis-components/splitter/design/splitter-setting/splitter-setting.css +0 -0
  256. package/axis-components/splitter/design/splitter-setting/splitter-setting.html +28 -0
  257. package/axis-components/splitter/design/splitter-setting/splitter-setting.ts +30 -0
  258. package/axis-components/splitter/ng-package.json +5 -0
  259. package/axis-components/splitter/splitter.css +7 -0
  260. package/axis-components/splitter/splitter.html +12 -0
  261. package/axis-components/splitter/splitter.options.ts +18 -0
  262. package/axis-components/splitter/splitter.ts +40 -0
  263. package/axis-components/table/design/config.ts +147 -0
  264. package/axis-components/table/design/ng-package.json +5 -0
  265. package/axis-components/table/design/table-field-setting/table-field-setting.css +0 -0
  266. package/axis-components/table/design/table-field-setting/table-field-setting.html +259 -0
  267. package/axis-components/table/design/table-field-setting/table-field-setting.ts +105 -0
  268. package/axis-components/table/design/table-fields-menu/table-fields-menu.css +0 -0
  269. package/axis-components/table/design/table-fields-menu/table-fields-menu.html +9 -0
  270. package/axis-components/table/design/table-fields-menu/table-fields-menu.ts +24 -0
  271. package/axis-components/table/design/table-setting/table-setting.css +0 -0
  272. package/axis-components/table/design/table-setting/table-setting.html +417 -0
  273. package/axis-components/table/design/table-setting/table-setting.ts +173 -0
  274. package/axis-components/table/expand.ts +12 -0
  275. package/axis-components/table/ng-package.json +5 -0
  276. package/axis-components/table/select.ts +66 -0
  277. package/axis-components/table/table-setter/table-setter.css +55 -0
  278. package/axis-components/table/table-setter/table-setter.html +38 -0
  279. package/axis-components/table/table-setter/table-setter.ts +121 -0
  280. package/axis-components/table/table.css +5 -0
  281. package/axis-components/table/table.html +191 -0
  282. package/axis-components/table/table.options.ts +72 -0
  283. package/axis-components/table/table.ts +204 -0
  284. package/axis-components/text/design/config.ts +30 -0
  285. package/axis-components/text/design/ng-package.json +5 -0
  286. package/axis-components/text/design/setting/setting.css +0 -0
  287. package/axis-components/text/design/setting/setting.html +84 -0
  288. package/axis-components/text/design/setting/setting.ts +54 -0
  289. package/axis-components/text/ng-package.json +5 -0
  290. package/axis-components/text/text.css +3 -0
  291. package/axis-components/text/text.html +17 -0
  292. package/axis-components/text/text.options.ts +10 -0
  293. package/axis-components/text/text.ts +54 -0
  294. package/axis-components/textarea/design/config.ts +30 -0
  295. package/axis-components/textarea/design/ng-package.json +5 -0
  296. package/axis-components/textarea/design/setting/setting.css +0 -0
  297. package/axis-components/textarea/design/setting/setting.html +76 -0
  298. package/axis-components/textarea/design/setting/setting.ts +55 -0
  299. package/axis-components/textarea/ng-package.json +5 -0
  300. package/axis-components/textarea/textarea.css +4 -0
  301. package/axis-components/textarea/textarea.html +11 -0
  302. package/axis-components/textarea/textarea.options.ts +13 -0
  303. package/axis-components/textarea/textarea.ts +49 -0
  304. package/axis-components/tree-selector/design/config.ts +55 -0
  305. package/axis-components/tree-selector/design/ng-package.json +5 -0
  306. package/axis-components/tree-selector/design/tree-selector-menu/tree-selector-menu.css +0 -0
  307. package/axis-components/tree-selector/design/tree-selector-menu/tree-selector-menu.html +9 -0
  308. package/axis-components/tree-selector/design/tree-selector-menu/tree-selector-menu.ts +26 -0
  309. package/axis-components/tree-selector/design/tree-selector-menu-setting/tree-selector-menu-setting.css +0 -0
  310. package/axis-components/tree-selector/design/tree-selector-menu-setting/tree-selector-menu-setting.html +80 -0
  311. package/axis-components/tree-selector/design/tree-selector-menu-setting/tree-selector-menu-setting.ts +58 -0
  312. package/axis-components/tree-selector/design/tree-selector-setting/tree-selector-setting.css +0 -0
  313. package/axis-components/tree-selector/design/tree-selector-setting/tree-selector-setting.html +235 -0
  314. package/axis-components/tree-selector/design/tree-selector-setting/tree-selector-setting.ts +87 -0
  315. package/axis-components/tree-selector/ng-package.json +5 -0
  316. package/axis-components/tree-selector/tree-selector.css +43 -0
  317. package/axis-components/tree-selector/tree-selector.html +65 -0
  318. package/axis-components/tree-selector/tree-selector.options.ts +50 -0
  319. package/axis-components/tree-selector/tree-selector.ts +252 -0
  320. package/axis-components/upload/design/config.ts +37 -0
  321. package/axis-components/upload/design/ng-package.json +5 -0
  322. package/axis-components/upload/design/setting/setting.css +0 -0
  323. package/axis-components/upload/design/setting/setting.html +288 -0
  324. package/axis-components/upload/design/setting/setting.ts +96 -0
  325. package/axis-components/upload/ng-package.json +5 -0
  326. package/axis-components/upload/upload.css +3 -0
  327. package/axis-components/upload/upload.html +36 -0
  328. package/axis-components/upload/upload.options.ts +29 -0
  329. package/axis-components/upload/upload.ts +130 -0
  330. package/core/base/base-menu.ts +22 -0
  331. package/core/base/base.ts +143 -0
  332. package/core/base/design-builder.ts +8 -0
  333. package/core/base/funfield-base.ts +106 -0
  334. package/core/base/funfield-value-base.ts +53 -0
  335. package/core/base/value-access.ts +70 -0
  336. package/core/directives/dynamic.ts +216 -0
  337. package/core/directives/scope.ts +432 -0
  338. package/core/models/api.options.ts +5 -0
  339. package/core/models/base.options.ts +11 -0
  340. package/core/models/cmplib.ts +7 -0
  341. package/core/models/data-source.options.ts +11 -0
  342. package/core/models/data.options.ts +6 -0
  343. package/core/models/design-build.ts +26 -0
  344. package/core/models/design-config.ts +14 -0
  345. package/core/models/design-tree-node.ts +16 -0
  346. package/core/models/event-desc.ts +28 -0
  347. package/core/models/event-handler.ts +6 -0
  348. package/core/models/event.options.ts +14 -0
  349. package/core/models/examples.ts +21 -0
  350. package/core/models/form-registe.options.ts +12 -0
  351. package/core/models/fun-field.options.ts +6 -0
  352. package/core/models/initobs.ts +8 -0
  353. package/core/models/options-node.ts +149 -0
  354. package/core/models/static-data-source.options.ts +4 -0
  355. package/core/models/trigge-events.options.ts +3 -0
  356. package/core/models/value-access.options.ts +10 -0
  357. package/core/ng-package.json +5 -0
  358. package/core/pipes/how-long.pipe.ts +69 -0
  359. package/core/public-api.ts +39 -0
  360. package/core/share/api-handler/api-handler.css +0 -0
  361. package/core/share/api-handler/api-handler.html +38 -0
  362. package/core/share/api-handler/api-handler.ts +51 -0
  363. package/core/share/array-filter-handler/array-filter-handler.css +0 -0
  364. package/core/share/array-filter-handler/array-filter-handler.html +26 -0
  365. package/core/share/array-filter-handler/array-filter-handler.ts +65 -0
  366. package/core/share/array-filter-handler/input-filter-options/filter-options.css +19 -0
  367. package/core/share/array-filter-handler/input-filter-options/filter-options.html +57 -0
  368. package/core/share/array-filter-handler/input-filter-options/filter-options.ts +100 -0
  369. package/core/share/base-design-setting/base-design-setting.css +0 -0
  370. package/core/share/base-design-setting/base-design-setting.html +50 -0
  371. package/core/share/base-design-setting/base-design-setting.ts +55 -0
  372. package/core/share/base-event-handler-descs.ts +100 -0
  373. package/core/share/common-menu/common-menu.css +0 -0
  374. package/core/share/common-menu/common-menu.html +21 -0
  375. package/core/share/common-menu/common-menu.ts +73 -0
  376. package/core/share/data-handler/data-handler.css +0 -0
  377. package/core/share/data-handler/data-handler.html +13 -0
  378. package/core/share/data-handler/data-handler.ts +39 -0
  379. package/core/share/events-handler.service.ts +185 -0
  380. package/core/share/fun-field/fun-field.css +55 -0
  381. package/core/share/fun-field/fun-field.html +175 -0
  382. package/core/share/fun-field/fun-field.ts +363 -0
  383. package/core/share/input-trigger/input-trigger.css +16 -0
  384. package/core/share/input-trigger/input-trigger.html +114 -0
  385. package/core/share/input-trigger/input-trigger.ts +394 -0
  386. package/core/share/msg-tip-handler/msg-tip-handler.css +0 -0
  387. package/core/share/msg-tip-handler/msg-tip-handler.html +40 -0
  388. package/core/share/msg-tip-handler/msg-tip-handler.ts +46 -0
  389. package/core/share/refresh-data-source-handler/refresh-data-source-handler.css +0 -0
  390. package/core/share/refresh-data-source-handler/refresh-data-source-handler.html +29 -0
  391. package/core/share/refresh-data-source-handler/refresh-data-source-handler.ts +55 -0
  392. package/core/share/route-handler/route-handler.css +0 -0
  393. package/core/share/route-handler/route-handler.html +49 -0
  394. package/core/share/route-handler/route-handler.ts +51 -0
  395. package/core/share/set-data-source-handler/set-data-source-handler.css +0 -0
  396. package/core/share/set-data-source-handler/set-data-source-handler.html +23 -0
  397. package/core/share/set-data-source-handler/set-data-source-handler.ts +44 -0
  398. package/core/share/simple-menu/simple-menu.css +0 -0
  399. package/core/share/simple-menu/simple-menu.html +5 -0
  400. package/core/share/simple-menu/simple-menu.ts +17 -0
  401. package/core/share/tokens.ts +29 -0
  402. package/core/share/value-design-setting/value-design-setting.css +0 -0
  403. package/core/share/value-design-setting/value-design-setting.html +48 -0
  404. package/core/share/value-design-setting/value-design-setting.ts +54 -0
  405. package/core/utils/code-name.utils.ts +19 -0
  406. package/core/utils/components-loader.ts +29 -0
  407. package/core/utils/declaration.utils.ts +38 -0
  408. package/core/utils/dynamic.util.ts +57 -0
  409. package/core/utils/form-validators.ts +160 -0
  410. package/core/utils/form.util.ts +25 -0
  411. package/core/utils/http.utils.ts +8 -0
  412. package/core/utils/object.utils.ts +182 -0
  413. package/core/utils/scripts-loader.ts +25 -0
  414. package/ng-package.json +12 -0
  415. package/package.json +16 -217
  416. package/providers/ng-package.json +5 -0
  417. package/{fesm2022/ngx-axis-appforge-providers.mjs → providers/providers.ts} +8 -16
  418. package/providers/public-api.ts +1 -0
  419. package/public-api.ts +1 -0
  420. package/tsconfig.json +35 -0
  421. package/tsconfig.lib.json +19 -0
  422. package/tsconfig.lib.prod.json +11 -0
  423. package/axis-components/badge/design/index.d.ts +0 -5
  424. package/axis-components/badge/index.d.ts +0 -27
  425. package/axis-components/button/design/index.d.ts +0 -5
  426. package/axis-components/button/index.d.ts +0 -32
  427. package/axis-components/desc/design/index.d.ts +0 -5
  428. package/axis-components/desc/index.d.ts +0 -30
  429. package/axis-components/design/design/index.d.ts +0 -5
  430. package/axis-components/design/index.d.ts +0 -246
  431. package/axis-components/dynamic-container/design/index.d.ts +0 -5
  432. package/axis-components/dynamic-container/index.d.ts +0 -14
  433. package/axis-components/editor/index.d.ts +0 -33
  434. package/axis-components/flex/design/index.d.ts +0 -5
  435. package/axis-components/flex/index.d.ts +0 -20
  436. package/axis-components/form/design/index.d.ts +0 -5
  437. package/axis-components/form/index.d.ts +0 -30
  438. package/axis-components/form-item/design/index.d.ts +0 -5
  439. package/axis-components/form-item/index.d.ts +0 -34
  440. package/axis-components/icon/design/index.d.ts +0 -5
  441. package/axis-components/icon/index.d.ts +0 -16
  442. package/axis-components/image/design/index.d.ts +0 -5
  443. package/axis-components/image/index.d.ts +0 -16
  444. package/axis-components/index.d.ts +0 -5
  445. package/axis-components/input/design/index.d.ts +0 -5
  446. package/axis-components/input/index.d.ts +0 -27
  447. package/axis-components/input-component/design/index.d.ts +0 -5
  448. package/axis-components/input-component/index.d.ts +0 -33
  449. package/axis-components/input-icon/design/index.d.ts +0 -5
  450. package/axis-components/input-icon/index.d.ts +0 -24
  451. package/axis-components/input-json/design/index.d.ts +0 -5
  452. package/axis-components/input-json/index.d.ts +0 -24
  453. package/axis-components/input-number/design/index.d.ts +0 -5
  454. package/axis-components/input-number/index.d.ts +0 -25
  455. package/axis-components/modal/design/index.d.ts +0 -5
  456. package/axis-components/modal/index.d.ts +0 -33
  457. package/axis-components/scope/design/index.d.ts +0 -5
  458. package/axis-components/scope/index.d.ts +0 -24
  459. package/axis-components/single-selector/design/index.d.ts +0 -5
  460. package/axis-components/single-selector/index.d.ts +0 -37
  461. package/axis-components/splitter/design/index.d.ts +0 -5
  462. package/axis-components/splitter/index.d.ts +0 -28
  463. package/axis-components/table/design/index.d.ts +0 -5
  464. package/axis-components/table/index.d.ts +0 -183
  465. package/axis-components/text/design/index.d.ts +0 -5
  466. package/axis-components/text/index.d.ts +0 -24
  467. package/axis-components/textarea/design/index.d.ts +0 -5
  468. package/axis-components/textarea/index.d.ts +0 -25
  469. package/axis-components/tree-selector/design/index.d.ts +0 -5
  470. package/axis-components/tree-selector/index.d.ts +0 -76
  471. package/axis-components/upload/design/index.d.ts +0 -5
  472. package/axis-components/upload/index.d.ts +0 -51
  473. package/core/index.d.ts +0 -773
  474. package/fesm2022/ngx-axis-appforge-axis-components-badge-design.mjs +0 -191
  475. package/fesm2022/ngx-axis-appforge-axis-components-badge-design.mjs.map +0 -1
  476. package/fesm2022/ngx-axis-appforge-axis-components-badge.mjs +0 -39
  477. package/fesm2022/ngx-axis-appforge-axis-components-badge.mjs.map +0 -1
  478. package/fesm2022/ngx-axis-appforge-axis-components-button-design.mjs +0 -116
  479. package/fesm2022/ngx-axis-appforge-axis-components-button-design.mjs.map +0 -1
  480. package/fesm2022/ngx-axis-appforge-axis-components-button.mjs +0 -78
  481. package/fesm2022/ngx-axis-appforge-axis-components-button.mjs.map +0 -1
  482. package/fesm2022/ngx-axis-appforge-axis-components-desc-design.mjs +0 -224
  483. package/fesm2022/ngx-axis-appforge-axis-components-desc-design.mjs.map +0 -1
  484. package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs +0 -51
  485. package/fesm2022/ngx-axis-appforge-axis-components-desc.mjs.map +0 -1
  486. package/fesm2022/ngx-axis-appforge-axis-components-design-design.mjs +0 -69
  487. package/fesm2022/ngx-axis-appforge-axis-components-design-design.mjs.map +0 -1
  488. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs +0 -1746
  489. package/fesm2022/ngx-axis-appforge-axis-components-design.mjs.map +0 -1
  490. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container-design.mjs +0 -65
  491. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container-design.mjs.map +0 -1
  492. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container.mjs +0 -26
  493. package/fesm2022/ngx-axis-appforge-axis-components-dynamic-container.mjs.map +0 -1
  494. package/fesm2022/ngx-axis-appforge-axis-components-editor.mjs +0 -99
  495. package/fesm2022/ngx-axis-appforge-axis-components-editor.mjs.map +0 -1
  496. package/fesm2022/ngx-axis-appforge-axis-components-flex-design.mjs +0 -98
  497. package/fesm2022/ngx-axis-appforge-axis-components-flex-design.mjs.map +0 -1
  498. package/fesm2022/ngx-axis-appforge-axis-components-flex.mjs +0 -31
  499. package/fesm2022/ngx-axis-appforge-axis-components-flex.mjs.map +0 -1
  500. package/fesm2022/ngx-axis-appforge-axis-components-form-design.mjs +0 -108
  501. package/fesm2022/ngx-axis-appforge-axis-components-form-design.mjs.map +0 -1
  502. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs +0 -242
  503. package/fesm2022/ngx-axis-appforge-axis-components-form-item-design.mjs.map +0 -1
  504. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs +0 -144
  505. package/fesm2022/ngx-axis-appforge-axis-components-form-item.mjs.map +0 -1
  506. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs +0 -132
  507. package/fesm2022/ngx-axis-appforge-axis-components-form.mjs.map +0 -1
  508. package/fesm2022/ngx-axis-appforge-axis-components-icon-design.mjs +0 -88
  509. package/fesm2022/ngx-axis-appforge-axis-components-icon-design.mjs.map +0 -1
  510. package/fesm2022/ngx-axis-appforge-axis-components-icon.mjs +0 -28
  511. package/fesm2022/ngx-axis-appforge-axis-components-icon.mjs.map +0 -1
  512. package/fesm2022/ngx-axis-appforge-axis-components-image-design.mjs +0 -75
  513. package/fesm2022/ngx-axis-appforge-axis-components-image-design.mjs.map +0 -1
  514. package/fesm2022/ngx-axis-appforge-axis-components-image.mjs +0 -43
  515. package/fesm2022/ngx-axis-appforge-axis-components-image.mjs.map +0 -1
  516. package/fesm2022/ngx-axis-appforge-axis-components-input-component-design.mjs +0 -70
  517. package/fesm2022/ngx-axis-appforge-axis-components-input-component-design.mjs.map +0 -1
  518. package/fesm2022/ngx-axis-appforge-axis-components-input-component.mjs +0 -61
  519. package/fesm2022/ngx-axis-appforge-axis-components-input-component.mjs.map +0 -1
  520. package/fesm2022/ngx-axis-appforge-axis-components-input-design.mjs +0 -142
  521. package/fesm2022/ngx-axis-appforge-axis-components-input-design.mjs.map +0 -1
  522. package/fesm2022/ngx-axis-appforge-axis-components-input-icon-design.mjs +0 -71
  523. package/fesm2022/ngx-axis-appforge-axis-components-input-icon-design.mjs.map +0 -1
  524. package/fesm2022/ngx-axis-appforge-axis-components-input-icon.mjs +0 -64
  525. package/fesm2022/ngx-axis-appforge-axis-components-input-icon.mjs.map +0 -1
  526. package/fesm2022/ngx-axis-appforge-axis-components-input-json-design.mjs +0 -60
  527. package/fesm2022/ngx-axis-appforge-axis-components-input-json-design.mjs.map +0 -1
  528. package/fesm2022/ngx-axis-appforge-axis-components-input-json.mjs +0 -70
  529. package/fesm2022/ngx-axis-appforge-axis-components-input-json.mjs.map +0 -1
  530. package/fesm2022/ngx-axis-appforge-axis-components-input-number-design.mjs +0 -107
  531. package/fesm2022/ngx-axis-appforge-axis-components-input-number-design.mjs.map +0 -1
  532. package/fesm2022/ngx-axis-appforge-axis-components-input-number.mjs +0 -48
  533. package/fesm2022/ngx-axis-appforge-axis-components-input-number.mjs.map +0 -1
  534. package/fesm2022/ngx-axis-appforge-axis-components-input.mjs +0 -68
  535. package/fesm2022/ngx-axis-appforge-axis-components-input.mjs.map +0 -1
  536. package/fesm2022/ngx-axis-appforge-axis-components-modal-design.mjs +0 -181
  537. package/fesm2022/ngx-axis-appforge-axis-components-modal-design.mjs.map +0 -1
  538. package/fesm2022/ngx-axis-appforge-axis-components-modal.mjs +0 -74
  539. package/fesm2022/ngx-axis-appforge-axis-components-modal.mjs.map +0 -1
  540. package/fesm2022/ngx-axis-appforge-axis-components-scope-design.mjs +0 -330
  541. package/fesm2022/ngx-axis-appforge-axis-components-scope-design.mjs.map +0 -1
  542. package/fesm2022/ngx-axis-appforge-axis-components-scope.mjs +0 -55
  543. package/fesm2022/ngx-axis-appforge-axis-components-scope.mjs.map +0 -1
  544. package/fesm2022/ngx-axis-appforge-axis-components-single-selector-design.mjs +0 -120
  545. package/fesm2022/ngx-axis-appforge-axis-components-single-selector-design.mjs.map +0 -1
  546. package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs +0 -102
  547. package/fesm2022/ngx-axis-appforge-axis-components-single-selector.mjs.map +0 -1
  548. package/fesm2022/ngx-axis-appforge-axis-components-splitter-design.mjs +0 -178
  549. package/fesm2022/ngx-axis-appforge-axis-components-splitter-design.mjs.map +0 -1
  550. package/fesm2022/ngx-axis-appforge-axis-components-splitter.mjs +0 -49
  551. package/fesm2022/ngx-axis-appforge-axis-components-splitter.mjs.map +0 -1
  552. package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs +0 -442
  553. package/fesm2022/ngx-axis-appforge-axis-components-table-design.mjs.map +0 -1
  554. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs +0 -452
  555. package/fesm2022/ngx-axis-appforge-axis-components-table.mjs.map +0 -1
  556. package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs +0 -95
  557. package/fesm2022/ngx-axis-appforge-axis-components-text-design.mjs.map +0 -1
  558. package/fesm2022/ngx-axis-appforge-axis-components-text.mjs +0 -64
  559. package/fesm2022/ngx-axis-appforge-axis-components-text.mjs.map +0 -1
  560. package/fesm2022/ngx-axis-appforge-axis-components-textarea-design.mjs +0 -94
  561. package/fesm2022/ngx-axis-appforge-axis-components-textarea-design.mjs.map +0 -1
  562. package/fesm2022/ngx-axis-appforge-axis-components-textarea.mjs +0 -64
  563. package/fesm2022/ngx-axis-appforge-axis-components-textarea.mjs.map +0 -1
  564. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector-design.mjs +0 -222
  565. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector-design.mjs.map +0 -1
  566. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector.mjs +0 -295
  567. package/fesm2022/ngx-axis-appforge-axis-components-tree-selector.mjs.map +0 -1
  568. package/fesm2022/ngx-axis-appforge-axis-components-upload-design.mjs +0 -146
  569. package/fesm2022/ngx-axis-appforge-axis-components-upload-design.mjs.map +0 -1
  570. package/fesm2022/ngx-axis-appforge-axis-components-upload.mjs +0 -156
  571. package/fesm2022/ngx-axis-appforge-axis-components-upload.mjs.map +0 -1
  572. package/fesm2022/ngx-axis-appforge-axis-components.mjs +0 -988
  573. package/fesm2022/ngx-axis-appforge-axis-components.mjs.map +0 -1
  574. package/fesm2022/ngx-axis-appforge-core.mjs +0 -3169
  575. package/fesm2022/ngx-axis-appforge-core.mjs.map +0 -1
  576. package/fesm2022/ngx-axis-appforge-providers.mjs.map +0 -1
  577. package/fesm2022/ngx-axis-appforge.mjs +0 -6
  578. package/fesm2022/ngx-axis-appforge.mjs.map +0 -1
  579. package/index.d.ts +0 -2
  580. package/providers/index.d.ts +0 -13
@@ -0,0 +1,394 @@
1
+ import { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, Injector, input, model, signal, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
3
+ import { NzCollapseModule } from 'ng-zorro-antd/collapse';
4
+ import { NzFormModule } from 'ng-zorro-antd/form';
5
+ import { NzButtonModule } from 'ng-zorro-antd/button';
6
+ import { NzIconModule } from 'ng-zorro-antd/icon';
7
+ import { NzFormatBeforeDropEvent, NzFormatEmitEvent, NzTreeComponent, NzTreeModule, NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/tree';
8
+ import { BehaviorSubject, map, Observable, of } from 'rxjs';
9
+ import { baseEventHandlerDescGroups, baseEventHandlerDescs } from '../base-event-handler-descs';
10
+ import { CommonModule } from '@angular/common';
11
+ import { NzModalModule } from 'ng-zorro-antd/modal';
12
+ import { NzFilterOptionType, NzSelectItemInterface, NzSelectModule } from 'ng-zorro-antd/select';
13
+ import { AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN, AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, AXIS_EVENT_HANDLER_DESCS_TOKEN } from '../tokens';
14
+ import { FunField } from '../fun-field/fun-field';
15
+ import { FunFieldBase } from '../../base/funfield-base';
16
+ import { NzSwitchModule } from 'ng-zorro-antd/switch';
17
+ import { ScopeInfo } from '../../models/design-build';
18
+ import { EventDesc, EventHandlerDesc, EventHandlerDescGroup } from '../../models/event-desc';
19
+ import { EventHandlerOptions } from '../../models/event.options';
20
+ import { TriggeEventsOptions } from '../../models/trigge-events.options';
21
+ import { FormValidators } from '../../utils/form-validators';
22
+ import { FunFieldOptions } from '../../models/fun-field.options';
23
+ import { updateAndValidAll } from '../../utils/form.util';
24
+ import { OptionsNode } from '../../models/options-node';
25
+ import { NzFlexModule } from 'ng-zorro-antd/flex';
26
+
27
+ @Component({
28
+ selector: 'axis-input-trigger',
29
+ imports: [NzCollapseModule, NzFormModule, NzButtonModule, NzIconModule, NzTreeModule, CommonModule, NzModalModule, NzSelectModule, ReactiveFormsModule, FunField, FormsModule, NzSwitchModule, NzFlexModule],
30
+ templateUrl: './input-trigger.html',
31
+ styleUrl: './input-trigger.css',
32
+ changeDetection: ChangeDetectionStrategy.OnPush,
33
+ providers: [
34
+ {
35
+ provide: NG_VALUE_ACCESSOR,
36
+ useExisting: forwardRef(() => InputTrigger),
37
+ multi: true
38
+ }
39
+ ]
40
+ })
41
+ export class InputTrigger extends FunFieldBase implements AfterViewInit {
42
+
43
+ constructor(private element: ElementRef) {
44
+ super();
45
+ }
46
+
47
+ fg: UntypedFormGroup = this.fb.group({
48
+ name: [undefined, FormValidators.required],
49
+ disabled: [undefined, FormValidators.requiredFun],
50
+ data: [],
51
+ id: [],
52
+ });
53
+
54
+ protected override funFields: FunFieldOptions = {
55
+ disabled: {
56
+ defaultValue: false
57
+ },
58
+ id: {
59
+ defaultValue: undefined
60
+ },
61
+
62
+ };
63
+
64
+ onChange: any;
65
+ readonly noListen = signal(true);
66
+ readonly internalTriggers = input<"valueChange"[]>();
67
+ readonly getScopeInfos = inject(AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN);
68
+ readonly componentsInfo = inject(AXIS_DESIGN_COMPONENT_INFO_FOR_SETTING_TOKEN);
69
+ readonly canChooseComponentsInfo = signal<{ component: string, componentName: string, nodes: OptionsNode[], eventHandlerDescs: { [event: string]: EventHandlerDesc } }[]>([]);
70
+ readonly value = model<TriggeEventsOptions>();
71
+ readonly nodes = computed(() => this.makeTreeNode(this.buildAllEventDesc()!, this.value()));
72
+ readonly eventDesc = input<EventDesc[]>();
73
+ readonly allEventDesc = computed(() => this.buildAllEventDesc());
74
+ readonly allEventHanderDescGroups = computed(() => this.buildAllEventHandlerDescGroups());
75
+ readonly allEventHanderDescs = computed(() => this.buildAllEventHandlerDescs());
76
+ readonly showLine = signal(false);
77
+ readonly isVisibleHandlerModal = model(false);
78
+ readonly handlerFunFieldScopes = signal<ScopeInfo[]>([]);
79
+ readonly editEventHandler = model<EventHandlerOptions<any>>();
80
+ readonly treeExpandedKeys = signal<string[]>([]);
81
+ readonly selectedHandlerDesc = signal<EventHandlerDesc | undefined>(undefined);
82
+ readonly otherHandlerDescs = inject(AXIS_EVENT_HANDLER_DESCS_TOKEN, { optional: true });
83
+ @ViewChild("tree", { static: true })
84
+ tree!: NzTreeComponent;
85
+ @ViewChild("dataContainer", { read: ViewContainerRef })
86
+ dataContainer?: ViewContainerRef;
87
+ readonly scopeInfoSubject = computed(() => this.buildScopeInfoSubject());
88
+
89
+ editInfo?: { key: string, event: string, isAdd: boolean, value?: EventHandlerOptions<any>, parentValue?: EventHandlerOptions<any> };
90
+
91
+ filterOption: NzFilterOptionType = (input: string, option: NzSelectItemInterface): boolean => {
92
+ if (input) {
93
+ return option.nzValue.includes(input) || option.nzLabel?.toString()?.includes(input);
94
+ }
95
+ return false;
96
+ }
97
+ writeValue(v: any): void {
98
+ this.value.set(v);
99
+ }
100
+ registerOnChange(fn: any): void {
101
+ this.onChange = fn;
102
+ }
103
+ registerOnTouched(fn: any): void {
104
+ }
105
+
106
+ ngAfterViewInit(): void {
107
+ if (this.element.nativeElement.nextElementSibling) {
108
+ this.showLine.set(true);
109
+ }
110
+ }
111
+
112
+ onDragStart(e: NzFormatEmitEvent): void {
113
+ if (e.node?.origin["type"] == "event") {
114
+ e.event?.stopPropagation();
115
+ e.event?.preventDefault();
116
+ const ele = (e.event?.target as HTMLElement);
117
+ ele.draggable = false;
118
+ setTimeout(() => {
119
+ ele.parentElement?.classList.remove("dragging");
120
+ });
121
+ }
122
+ }
123
+
124
+ beforeDrop = (e: NzFormatBeforeDropEvent): Observable<boolean> => {
125
+ const { dragNode, node, pos } = e;
126
+ if (dragNode.origin["type"] == "handler" && node.origin["type"] == "handler" && pos != 0 && node.parentNode == dragNode.parentNode) {
127
+ const dragV = dragNode.origin["value"];
128
+ const dropV = node.origin["value"];
129
+ const parentV: any[] = node.parentNode?.origin["value"];
130
+ parentV.splice(parentV.indexOf(dragV), 1);
131
+ parentV.splice(parentV.indexOf(dropV) + (pos == -1 ? 0 : 1), 0, dragV);
132
+ this.onValueChange();
133
+ return of(true);
134
+ }
135
+ return of(false);
136
+ }
137
+
138
+ private buildAllEventHandlerDescGroups(): EventHandlerDescGroup[] {
139
+
140
+ const groups = [
141
+ ...baseEventHandlerDescGroups,
142
+ ...this.otherHandlerDescs ?? [],
143
+ ];
144
+ this.componentsInfo.forEach(c => {
145
+ groups.push({
146
+ groupName: c.componentName,
147
+ handlerDescs: Array.from(Object.values(c.eventHandlerDescs))
148
+ });
149
+ });
150
+ return groups;
151
+ }
152
+
153
+ private buildAllEventHandlerDescs(): { [name: string]: EventHandlerDesc } {
154
+ const descs = {
155
+ ...baseEventHandlerDescs
156
+ };
157
+ if (this.otherHandlerDescs) {
158
+ this.otherHandlerDescs.forEach(g => {
159
+ g.handlerDescs.forEach(d => {
160
+ descs[d.name] = d;
161
+ })
162
+ });
163
+ }
164
+ this.componentsInfo.forEach(c => {
165
+ Object.assign(descs, c.eventHandlerDescs);
166
+ });
167
+ return descs;
168
+ }
169
+
170
+ private buildAllEventDesc(): EventDesc[] {
171
+ let eventDesc: EventDesc[] = [];
172
+ if (this.eventDesc()) {
173
+ eventDesc = eventDesc.concat(this.eventDesc()!);
174
+ }
175
+ if (this.internalTriggers()) {
176
+ for (const name of this.internalTriggers()!) {
177
+ switch (name) {
178
+ case "valueChange":
179
+ eventDesc.push({
180
+ name: "valueChange",
181
+ title: "值变化",
182
+ ds: {
183
+ value: "示例数据"
184
+ }
185
+ });
186
+ break;
187
+ }
188
+ }
189
+ }
190
+ return eventDesc;
191
+ }
192
+
193
+ private makeTreeNode(descs: EventDesc[], value: TriggeEventsOptions | undefined, treeNode: NzTreeNodeOptions[] = [], key = ""): NzTreeNodeOptions[] {
194
+ for (const desc of descs) {
195
+ const node: NzTreeNodeOptions = {
196
+ ...desc,
197
+ type: "event",
198
+ key: key + desc.name,
199
+ isLeaf: !value?.[desc.name]?.length,
200
+ children: [],
201
+ selectable: false,
202
+ value: value?.[desc.name],
203
+ };
204
+ if (!node.isLeaf) {
205
+ for (let i = 0; i < value![desc.name].length; i++) {
206
+ const handler = value![desc.name][i];
207
+ const handlerDesc: EventHandlerDesc | undefined = this.allEventHanderDescs()[handler.name];
208
+ const handlerNode: NzTreeNodeOptions = {
209
+ type: "handler",
210
+ key: key + desc.name + "." + i,
211
+ selectable: false,
212
+ isLeaf: !handlerDesc?.events?.length,
213
+ children: [],
214
+ title: handler.name,
215
+ value: handler
216
+ };
217
+ if (handlerDesc) {
218
+ Object.assign(handlerNode, handlerDesc);
219
+ }
220
+ if (handlerDesc && !handlerNode.isLeaf) {
221
+ this.makeTreeNode(handlerDesc.events!, handler.triggeEvents, handlerNode.children, handlerNode.key + ".");
222
+ }
223
+ node.children!.push(handlerNode);
224
+ }
225
+ }
226
+ treeNode.push(node);
227
+ }
228
+ return treeNode;
229
+ }
230
+
231
+ deleteHandler(e: NzTreeNode) {
232
+ const parentValue: any[] = e.parentNode?.origin["value"];
233
+ const value = e.origin["value"];
234
+ if (parentValue && value && parentValue.includes(value)) {
235
+ parentValue.splice(parentValue.indexOf(value), 1);
236
+ }
237
+ this.onValueChange();
238
+ }
239
+
240
+ private onValueChange(value?: TriggeEventsOptions, expandedKey?: string) {
241
+ this.value.set(value ?? { ...this.value() });
242
+ this.onChange(this.value());
243
+ const expandedKeys = this.tree.getExpandedNodeList().map(n => n.key);
244
+ if (expandedKey) {
245
+ expandedKeys.push(expandedKey);
246
+ }
247
+ this.treeExpandedKeys.set(expandedKeys);
248
+ }
249
+
250
+ startAddHandler(node: NzTreeNode) {
251
+ this.fg.reset(this.buildFunField({}));
252
+ this.editInfo = {
253
+ key: node.key,
254
+ event: node.origin["name"],
255
+ isAdd: true,
256
+ parentValue: node.parentNode?.origin["value"],
257
+ };
258
+ this.handlerFunFieldScopes.set(this.buildHandlerFunFieldScopes(node));
259
+ this.noListen.set(node.origin["noListen"] ?? true);
260
+ this.isVisibleHandlerModal.set(true);
261
+ }
262
+
263
+ startSetHandler(node: NzTreeNode) {
264
+ this.fg.reset(this.buildFunField(node.origin["value"]));
265
+ this.editInfo = {
266
+ key: node.key,
267
+ event: node.parentNode!.origin["name"],
268
+ isAdd: false,
269
+ value: node.origin["value"],
270
+ parentValue: node.parentNode?.origin["value"],
271
+ };
272
+ this.handlerFunFieldScopes.set(this.buildHandlerFunFieldScopes(node));
273
+ this.noListen.set(node.parentNode?.origin["noListen"] ?? true);
274
+ this.isVisibleHandlerModal.set(true);
275
+ }
276
+
277
+ private buildHandlerFunFieldScopes(node: NzTreeNode, scopes: ScopeInfo[] = []) {
278
+ if (node.origin['type'] == "event" && node?.origin["ds"]) {
279
+ scopes.push({
280
+ scopeId: `__handler_scope_${node.key}__`,
281
+ scopeName: node.title,
282
+ ds: node?.origin["ds"]
283
+ });
284
+ }
285
+ if (node.parentNode) {
286
+ this.buildHandlerFunFieldScopes(node.parentNode, scopes);
287
+ }
288
+ return scopes;
289
+ }
290
+
291
+ private buildScopeInfoSubject(scopeId?: string): BehaviorSubject<ScopeInfo[]> {
292
+ const scopeInfos = this.getScopeInfos(scopeId);
293
+ const scopeInfoSubject = new BehaviorSubject<ScopeInfo[]>(this.handlerFunFieldScopes().concat(scopeInfos.value));
294
+ scopeInfos.pipe(map(sis => this.handlerFunFieldScopes().concat(sis))).subscribe(scopeInfoSubject);
295
+ return scopeInfoSubject;
296
+ }
297
+
298
+ onHandlerChange(name: string | undefined) {
299
+ if (name && name != this.selectedHandlerDesc()?.name) {
300
+ const desc = this.allEventHanderDescs()[name];
301
+ this.selectedHandlerDesc.set(desc);
302
+ const idCtrl = this.fg.get("id")!;
303
+ if (desc.target == "component") {
304
+ let canChooseComponentsInfo = this.componentsInfo;
305
+ if (desc.targetComponent) {
306
+ canChooseComponentsInfo = canChooseComponentsInfo.filter(info => info.component == desc.targetComponent);
307
+ }
308
+ this.canChooseComponentsInfo.set(canChooseComponentsInfo);
309
+ idCtrl.setValidators(FormValidators.requiredFun);
310
+ } else if (desc.target == "scope") {
311
+ idCtrl.clearValidators();
312
+ const scopes = this.scopeInfoSubject().value?.filter(s => s.scopeId.startsWith("__handler_scope__"));
313
+ if (scopes?.length) {
314
+ const { funMode, originValue } = idCtrl.value;
315
+ if (!funMode && !originValue) {
316
+ this.reset({ id: scopes[0].scopeId })
317
+ }
318
+ }
319
+ } else {
320
+ idCtrl.clearValidators();
321
+ }
322
+ this.dataContainer?.clear();
323
+ if (desc.dataComponent) {
324
+ const injector = Injector.create({
325
+ providers: [
326
+ { provide: AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN, useValue: (scopeId?: string) => this.buildScopeInfoSubject(scopeId) },
327
+ { provide: InputTrigger, useValue: this }
328
+ ]
329
+ })
330
+ const r = this.dataContainer?.createComponent(desc.dataComponent, { injector: injector });
331
+ r?.instance?.writeValue(this.fg.value?.data);
332
+ const control = this.fb.control(this.fg.value?.data, [() => {
333
+ return r?.instance.valid() ? null : {
334
+ invalid: true
335
+ };
336
+ }]);
337
+ r?.instance.registerOnChange((v: any) => control.setValue(v));
338
+ this.fg.setControl('data', control, { emitEvent: false });
339
+ }
340
+ }
341
+ }
342
+
343
+ onSetHandlerOk() {
344
+ if (updateAndValidAll(this.fg)) {
345
+ let value = this.value() ?? {};
346
+ const formValue = this.recoverFunField(this.fg.value);
347
+ formValue.target = this.selectedHandlerDesc()!.target;
348
+ if (this.editInfo?.isAdd) {
349
+ let array: EventHandlerOptions<any>[];
350
+ if (this.editInfo?.parentValue) {
351
+ if (!this.editInfo.parentValue.triggeEvents?.[this.editInfo.event]) {
352
+ this.editInfo.parentValue.triggeEvents = {
353
+ [this.editInfo.event]: []
354
+ }
355
+ }
356
+ array = this.editInfo.parentValue.triggeEvents[this.editInfo.event];
357
+ } else {
358
+ if (!value[this.editInfo.event]) {
359
+ value[this.editInfo.event] = [];
360
+ }
361
+ array = value[this.editInfo.event];
362
+ }
363
+ array.push(formValue);
364
+ } else {
365
+ Object.assign(this.editInfo!.value!, formValue);
366
+ }
367
+ this.isVisibleHandlerModal.set(false);
368
+ this.onValueChange({ ...value }, this.editInfo?.key);
369
+ } else {
370
+ Object.values(this.fg.controls).forEach(control => {
371
+ if (control.invalid) {
372
+ control.markAsDirty();
373
+ control.updateValueAndValidity({ onlySelf: true });
374
+ }
375
+ });
376
+ }
377
+ }
378
+
379
+ resetSetHandler(): void {
380
+ this.fg.reset();
381
+ this.selectedHandlerDesc.set(undefined);
382
+ this.editInfo = undefined;
383
+ }
384
+
385
+ hasExpanded(node: NzTreeNode): boolean {
386
+ return node.isExpanded || node.children.some(c => this.hasExpanded(c));
387
+ }
388
+
389
+ expand(node: NzTreeNode, expanded: boolean) {
390
+ node.isExpanded = expanded;
391
+ node.children.forEach(c => this.expand(c, expanded));
392
+ }
393
+
394
+ }
File without changes
@@ -0,0 +1,40 @@
1
+ <form nz-form [formGroup]="fg">
2
+ <nz-form-item>
3
+ <nz-form-label nzSpan="6" nzRequired>
4
+ 提醒方式
5
+ </nz-form-label>
6
+ <nz-form-control nzSpan="18">
7
+ <axis-fun-field formControlName="tipWay" [noListen]="noListen()">
8
+ <nz-radio-group ngModel [ngModelOptions]="{standalone:true}">
9
+ <label nz-radio-button nzValue="message">消息</label>
10
+ <label nz-radio-button nzValue="modal">弹窗</label>
11
+ </nz-radio-group>
12
+ </axis-fun-field>
13
+ </nz-form-control>
14
+ </nz-form-item>
15
+ <nz-form-item>
16
+ <nz-form-label nzSpan="6" nzRequired>
17
+ 消息类型
18
+ </nz-form-label>
19
+ <nz-form-control nzSpan="18">
20
+ <axis-fun-field formControlName="type" [noListen]="noListen()">
21
+ <nz-radio-group ngModel [ngModelOptions]="{standalone:true}" nzSize="small">
22
+ <label nz-radio-button nzValue="info">提醒</label>
23
+ <label nz-radio-button nzValue="success">成功</label>
24
+ <label nz-radio-button nzValue="warning">警告</label>
25
+ <label nz-radio-button nzValue="error">错误</label>
26
+ </nz-radio-group>
27
+ </axis-fun-field>
28
+ </nz-form-control>
29
+ </nz-form-item>
30
+ <nz-form-item>
31
+ <nz-form-label nzSpan="6" nzRequired>
32
+ 消息内容
33
+ </nz-form-label>
34
+ <nz-form-control nzSpan="18">
35
+ <axis-fun-field formControlName="content" [noListen]="noListen()">
36
+ <textarea nz-input ngModel [ngModelOptions]="{standalone:true}"></textarea>
37
+ </axis-fun-field>
38
+ </nz-form-control>
39
+ </nz-form-item>
40
+ </form>
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
2
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
3
+ import { NzFormModule } from 'ng-zorro-antd/form';
4
+ import { FunField } from '../fun-field/fun-field';
5
+ import { NzSelectModule } from 'ng-zorro-antd/select';
6
+ import { NzInputModule } from 'ng-zorro-antd/input';
7
+ import { FunFieldValueBase } from '../../base/funfield-value-base';
8
+ import { FormValidators } from '../../utils/form-validators';
9
+ import { FunFieldOptions } from '../../models/fun-field.options';
10
+ import { NzRadioModule } from 'ng-zorro-antd/radio';
11
+ import { InputTrigger } from '../input-trigger/input-trigger';
12
+
13
+ @Component({
14
+ selector: 'axis-msg-tip-handler',
15
+ imports: [NzFormModule, ReactiveFormsModule, FunField, FormsModule, NzSelectModule, NzInputModule, NzRadioModule],
16
+ templateUrl: './msg-tip-handler.html',
17
+ styleUrl: './msg-tip-handler.css',
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ providers: [
20
+ {
21
+ provide: NG_VALUE_ACCESSOR,
22
+ useExisting: forwardRef(() => MsgTipHandler),
23
+ multi: true
24
+ }
25
+ ]
26
+ })
27
+ export class MsgTipHandler extends FunFieldValueBase {
28
+ readonly noListen = inject(InputTrigger).noListen;
29
+ override fg: UntypedFormGroup = this.fb.group({
30
+ tipWay: [undefined, FormValidators.requiredFun],
31
+ type: [undefined, FormValidators.requiredFun],
32
+ content: [undefined, FormValidators.requiredFun],
33
+ });
34
+
35
+ protected override funFields: FunFieldOptions = {
36
+ tipWay: {
37
+ defaultValue: "message",
38
+ },
39
+ type: {
40
+ defaultValue: "info",
41
+ },
42
+ content: {
43
+ defaultValue: undefined,
44
+ },
45
+ };
46
+ }
@@ -0,0 +1,29 @@
1
+ <form nz-form [formGroup]="fg">
2
+ <nz-form-item>
3
+ <nz-form-label nzSpan="6" nzRequired>
4
+ 数据源名
5
+ </nz-form-label>
6
+ <nz-form-control nzSpan="18">
7
+ <axis-fun-field formControlName="name" [noListen]="noListen()">
8
+ <input nz-input ngModel [ngModelOptions]="{standalone:true}" [nzAutocomplete]="dsAuto" />
9
+ <nz-autocomplete #dsAuto nzBackfill>
10
+ @for (name of scopeDsNames()??[]; track name) {
11
+ <nz-auto-option [nzLabel]="name" [nzValue]="name">
12
+ {{name}}
13
+ </nz-auto-option>
14
+ }
15
+ </nz-autocomplete>
16
+ </axis-fun-field>
17
+ </nz-form-control>
18
+ </nz-form-item>
19
+ <nz-form-item>
20
+ <nz-form-label nzSpan="6" nzRequired>
21
+ 刷新前清空
22
+ </nz-form-label>
23
+ <nz-form-control nzSpan="18">
24
+ <axis-fun-field formControlName="setNull" [noListen]="noListen()">
25
+ <nz-switch ngModel [ngModelOptions]="{standalone:true}"></nz-switch>
26
+ </axis-fun-field>
27
+ </nz-form-control>
28
+ </nz-form-item>
29
+ </form>
@@ -0,0 +1,55 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
2
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
3
+ import { NzFormModule } from 'ng-zorro-antd/form';
4
+ import { FunField } from '../fun-field/fun-field';
5
+ import { NzSelectModule } from 'ng-zorro-antd/select';
6
+ import { NzInputModule } from 'ng-zorro-antd/input';
7
+ import { NzSwitchModule } from 'ng-zorro-antd/switch';
8
+ import { NzRadioModule } from 'ng-zorro-antd/radio';
9
+ import { FunFieldValueBase } from '../../base/funfield-value-base';
10
+ import { FormValidators } from '../../utils/form-validators';
11
+ import { FunFieldOptions } from '../../models/fun-field.options';
12
+ import { filter, map, mergeWith, of, switchMap } from 'rxjs';
13
+ import { toSignal } from '@angular/core/rxjs-interop';
14
+ import { AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN } from '../tokens';
15
+ import { InputTrigger } from '../input-trigger/input-trigger';
16
+ import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete';
17
+
18
+ @Component({
19
+ selector: 'axis-refresh-data-source-handler',
20
+ imports: [NzFormModule, ReactiveFormsModule, FunField, FormsModule, NzSelectModule, NzInputModule, NzSwitchModule, NzRadioModule, NzAutocompleteModule, NzSwitchModule],
21
+ templateUrl: './refresh-data-source-handler.html',
22
+ styleUrl: './refresh-data-source-handler.css',
23
+ changeDetection: ChangeDetectionStrategy.OnPush,
24
+ providers: [
25
+ {
26
+ provide: NG_VALUE_ACCESSOR,
27
+ useExisting: forwardRef(() => RefreshDataSourceHandler),
28
+ multi: true
29
+ }
30
+ ]
31
+ })
32
+ export class RefreshDataSourceHandler extends FunFieldValueBase {
33
+ override fg: UntypedFormGroup = this.fb.group({
34
+ name: [undefined, FormValidators.requiredFun],
35
+ setNull: [undefined, FormValidators.requiredFun],
36
+ });
37
+
38
+ protected override funFields: FunFieldOptions = {
39
+ name: {
40
+ defaultValue: null,
41
+ },
42
+ setNull: {
43
+ defaultValue: false,
44
+ },
45
+ };
46
+ readonly inputTrigger = inject(InputTrigger);
47
+ readonly noListen = this.inputTrigger.noListen;
48
+ readonly getScopeInfos = inject(AXIS_DESIGN_SCOPE_INFOS_GETTER_TOKEN);
49
+ readonly scopeDsNames = toSignal(this.inputTrigger.fg.valueChanges.pipe(
50
+ mergeWith(of(this.inputTrigger.fg.value)),
51
+ filter(v => v.id?.funMode === false),
52
+ map(v => v.id.originValue),
53
+ switchMap(scopeId => this.getScopeInfos(scopeId)
54
+ .pipe(map(sis => Object.keys(scopeId ? sis.find(s => s.scopeId == scopeId)?.ds : sis[0]?.ds))))));
55
+ }
File without changes
@@ -0,0 +1,49 @@
1
+ <form nz-form [formGroup]="fg">
2
+ <nz-form-item>
3
+ <nz-form-label nzSpan="8" nzRequired>
4
+ 打开类型
5
+ </nz-form-label>
6
+ <nz-form-control nzSpan="16">
7
+ <axis-fun-field formControlName="type" [noListen]="noListen()">
8
+ <nz-select ngModel [ngModelOptions]="{standalone:true}">
9
+ <nz-option nzValue="web" nzLabel="网页"></nz-option>
10
+ </nz-select>
11
+ </axis-fun-field>
12
+ </nz-form-control>
13
+ </nz-form-item>
14
+ @if (formValue()?.type?.funMode || formValue()?.type?.originValue == "web") {
15
+ <nz-form-item>
16
+ <nz-form-label nzSpan="8" nzRequired>
17
+ 新浏览器标签
18
+ </nz-form-label>
19
+ <nz-form-control nzSpan="16">
20
+ <axis-fun-field formControlName="newtab" [noListen]="noListen()">
21
+ <nz-switch ngModel [ngModelOptions]="{standalone:true}"></nz-switch>
22
+ </axis-fun-field>
23
+ </nz-form-control>
24
+ </nz-form-item>
25
+ <nz-form-item>
26
+ <nz-form-label nzSpan="8" nzRequired>
27
+ 链接
28
+ </nz-form-label>
29
+ <nz-form-control nzSpan="16">
30
+ <axis-fun-field formControlName="path" [noListen]="noListen()">
31
+ <input nz-input ngModel [ngModelOptions]="{standalone:true}" />
32
+ </axis-fun-field>
33
+ </nz-form-control>
34
+ </nz-form-item>
35
+ @if (formValue()?.newtab.funMode || !formValue()?.newtab.originValue) {
36
+ <nz-form-item>
37
+ <nz-form-label nzSpan="8">
38
+ 参数
39
+ </nz-form-label>
40
+ <nz-form-control nzSpan="16">
41
+ <axis-fun-field formControlName="params" [noListen]="noListen()">
42
+ <ng-container [axisDynamic]="{component:'axis-components/input-json',inuse:true}" [standalone]="true"
43
+ ngModel [ngModelOptions]="{standalone:true}"></ng-container>
44
+ </axis-fun-field>
45
+ </nz-form-control>
46
+ </nz-form-item>
47
+ }
48
+ }
49
+ </form>
@@ -0,0 +1,51 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core';
2
+ import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
3
+ import { NzFormModule } from 'ng-zorro-antd/form';
4
+ import { FunField } from '../fun-field/fun-field';
5
+ import { NzSelectModule } from 'ng-zorro-antd/select';
6
+ import { NzInputModule } from 'ng-zorro-antd/input';
7
+ import { FunFieldValueBase } from '../../base/funfield-value-base';
8
+ import { FormValidators } from '../../utils/form-validators';
9
+ import { FunFieldOptions } from '../../models/fun-field.options';
10
+ import { InputTrigger } from '../input-trigger/input-trigger';
11
+ import { NzSwitchModule } from 'ng-zorro-antd/switch';
12
+ import { DynamicDirective } from '../../directives/dynamic';
13
+
14
+ @Component({
15
+ selector: 'axis-route-handler',
16
+ imports: [NzFormModule, ReactiveFormsModule, FunField, FormsModule, NzSelectModule, NzInputModule, NzSwitchModule, DynamicDirective],
17
+ templateUrl: './route-handler.html',
18
+ styleUrl: './route-handler.css',
19
+ changeDetection: ChangeDetectionStrategy.OnPush,
20
+ providers: [
21
+ {
22
+ provide: NG_VALUE_ACCESSOR,
23
+ useExisting: forwardRef(() => RouteHandler),
24
+ multi: true
25
+ }
26
+ ]
27
+ })
28
+ export class RouteHandler extends FunFieldValueBase {
29
+ readonly noListen = inject(InputTrigger).noListen;
30
+ override fg: UntypedFormGroup = this.fb.group({
31
+ type: [undefined, FormValidators.requiredFun],
32
+ newtab: [undefined, FormValidators.requiredFun],
33
+ path: [undefined, FormValidators.requiredFun],
34
+ params: [],
35
+ });
36
+
37
+ protected override funFields: FunFieldOptions = {
38
+ type: {
39
+ defaultValue: "web",
40
+ },
41
+ newtab: {
42
+ defaultValue: false,
43
+ },
44
+ path: {
45
+ defaultValue: undefined,
46
+ },
47
+ params: {
48
+ defaultValue: undefined,
49
+ },
50
+ };
51
+ }