@wavemaker-ai/react-codegen 1.0.0-next.27766

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 (400) hide show
  1. package/build-react-web.js +149 -0
  2. package/build-react-web.js.map +1 -0
  3. package/command.js +106 -0
  4. package/command.js.map +1 -0
  5. package/dist/transpiler/index.d.mts +77 -0
  6. package/dist/transpiler/index.mjs +48241 -0
  7. package/dist/transpiler/index.mjs.map +1 -0
  8. package/dist/transpiler/wm-styles.css +1617 -0
  9. package/index.js +122 -0
  10. package/index.js.map +1 -0
  11. package/package-lock.json +5233 -0
  12. package/package.json +104 -0
  13. package/src/app.generator.js +1291 -0
  14. package/src/app.generator.js.map +1 -0
  15. package/src/download-packages.js +193 -0
  16. package/src/download-packages.js.map +1 -0
  17. package/src/fomatter.js +20 -0
  18. package/src/fomatter.js.map +1 -0
  19. package/src/gen-app-override-css.js +379 -0
  20. package/src/gen-app-override-css.js.map +1 -0
  21. package/src/genappoverridecssold-file.js +311 -0
  22. package/src/genappoverridecssold-file.js.map +1 -0
  23. package/src/handlebar-helpers.js +51 -0
  24. package/src/handlebar-helpers.js.map +1 -0
  25. package/src/increment-builder.js +85 -0
  26. package/src/increment-builder.js.map +1 -0
  27. package/src/profiles/profile.js +24 -0
  28. package/src/profiles/profile.js.map +1 -0
  29. package/src/profiles/web-preview.profile.js +15 -0
  30. package/src/profiles/web-preview.profile.js.map +1 -0
  31. package/src/project.service.js +314 -0
  32. package/src/project.service.js.map +1 -0
  33. package/src/transpile/bind.ex.transformer.js +257 -0
  34. package/src/transpile/bind.ex.transformer.js.map +1 -0
  35. package/src/transpile/class-expression.util.js +44 -0
  36. package/src/transpile/class-expression.util.js.map +1 -0
  37. package/src/transpile/components/advanced/carousel-template.transformer.js +16 -0
  38. package/src/transpile/components/advanced/carousel-template.transformer.js.map +1 -0
  39. package/src/transpile/components/advanced/carousel.transformer.js +54 -0
  40. package/src/transpile/components/advanced/carousel.transformer.js.map +1 -0
  41. package/src/transpile/components/advanced/login.transformer.js +25 -0
  42. package/src/transpile/components/advanced/login.transformer.js.map +1 -0
  43. package/src/transpile/components/advanced/marquee.transformer.js +16 -0
  44. package/src/transpile/components/advanced/marquee.transformer.js.map +1 -0
  45. package/src/transpile/components/basic/anchor.transformer.js +13 -0
  46. package/src/transpile/components/basic/anchor.transformer.js.map +1 -0
  47. package/src/transpile/components/basic/audio.transformer.js +16 -0
  48. package/src/transpile/components/basic/audio.transformer.js.map +1 -0
  49. package/src/transpile/components/basic/html.transformer.js +15 -0
  50. package/src/transpile/components/basic/html.transformer.js.map +1 -0
  51. package/src/transpile/components/basic/icon.transformer.js +16 -0
  52. package/src/transpile/components/basic/icon.transformer.js.map +1 -0
  53. package/src/transpile/components/basic/iframe.transformer.js +16 -0
  54. package/src/transpile/components/basic/iframe.transformer.js.map +1 -0
  55. package/src/transpile/components/basic/label.transformer.js +16 -0
  56. package/src/transpile/components/basic/label.transformer.js.map +1 -0
  57. package/src/transpile/components/basic/message.transformer.js +16 -0
  58. package/src/transpile/components/basic/message.transformer.js.map +1 -0
  59. package/src/transpile/components/basic/picture.transformer.js +22 -0
  60. package/src/transpile/components/basic/picture.transformer.js.map +1 -0
  61. package/src/transpile/components/basic/progress-bar.transformer.js +18 -0
  62. package/src/transpile/components/basic/progress-bar.transformer.js.map +1 -0
  63. package/src/transpile/components/basic/progress-circle.transformer.js +16 -0
  64. package/src/transpile/components/basic/progress-circle.transformer.js.map +1 -0
  65. package/src/transpile/components/basic/richtexteditor.transformer.js +21 -0
  66. package/src/transpile/components/basic/richtexteditor.transformer.js.map +1 -0
  67. package/src/transpile/components/basic/search.transformer.js +68 -0
  68. package/src/transpile/components/basic/search.transformer.js.map +1 -0
  69. package/src/transpile/components/basic/spinner.transformer.js +16 -0
  70. package/src/transpile/components/basic/spinner.transformer.js.map +1 -0
  71. package/src/transpile/components/basic/tree.transformer.js +16 -0
  72. package/src/transpile/components/basic/tree.transformer.js.map +1 -0
  73. package/src/transpile/components/basic/video.transformer.js +16 -0
  74. package/src/transpile/components/basic/video.transformer.js.map +1 -0
  75. package/src/transpile/components/chart/chart.transformer.js +13 -0
  76. package/src/transpile/components/chart/chart.transformer.js.map +1 -0
  77. package/src/transpile/components/container/accordion-pane.transformer.js +28 -0
  78. package/src/transpile/components/container/accordion-pane.transformer.js.map +1 -0
  79. package/src/transpile/components/container/accordion.transformer.js +48 -0
  80. package/src/transpile/components/container/accordion.transformer.js.map +1 -0
  81. package/src/transpile/components/container/container.transformer.js +25 -0
  82. package/src/transpile/components/container/container.transformer.js.map +1 -0
  83. package/src/transpile/components/container/layout-grid/grid-column.transformer.js +16 -0
  84. package/src/transpile/components/container/layout-grid/grid-column.transformer.js.map +1 -0
  85. package/src/transpile/components/container/layout-grid/grid-row.transformer.js +16 -0
  86. package/src/transpile/components/container/layout-grid/grid-row.transformer.js.map +1 -0
  87. package/src/transpile/components/container/layout-grid/grid.transformer.js +16 -0
  88. package/src/transpile/components/container/layout-grid/grid.transformer.js.map +1 -0
  89. package/src/transpile/components/container/linear-layout/linear-layout-item.js +16 -0
  90. package/src/transpile/components/container/linear-layout/linear-layout-item.js.map +1 -0
  91. package/src/transpile/components/container/linear-layout/linear-layout.js +16 -0
  92. package/src/transpile/components/container/linear-layout/linear-layout.js.map +1 -0
  93. package/src/transpile/components/container/panel-content.transformer.js +16 -0
  94. package/src/transpile/components/container/panel-content.transformer.js.map +1 -0
  95. package/src/transpile/components/container/panel-footer.transformer.js +11 -0
  96. package/src/transpile/components/container/panel-footer.transformer.js.map +1 -0
  97. package/src/transpile/components/container/panel.transformer.js +20 -0
  98. package/src/transpile/components/container/panel.transformer.js.map +1 -0
  99. package/src/transpile/components/container/repeat-template.transformer.js +16 -0
  100. package/src/transpile/components/container/repeat-template.transformer.js.map +1 -0
  101. package/src/transpile/components/container/tabheader.transformer.js +13 -0
  102. package/src/transpile/components/container/tabheader.transformer.js.map +1 -0
  103. package/src/transpile/components/container/tabpane.transformer.js +32 -0
  104. package/src/transpile/components/container/tabpane.transformer.js.map +1 -0
  105. package/src/transpile/components/container/tabs.transformer.js +71 -0
  106. package/src/transpile/components/container/tabs.transformer.js.map +1 -0
  107. package/src/transpile/components/container/tile.transformer.js +16 -0
  108. package/src/transpile/components/container/tile.transformer.js.map +1 -0
  109. package/src/transpile/components/container/wizard.transformer.js +80 -0
  110. package/src/transpile/components/container/wizard.transformer.js.map +1 -0
  111. package/src/transpile/components/container/wizardaction.transformer.js +121 -0
  112. package/src/transpile/components/container/wizardaction.transformer.js.map +1 -0
  113. package/src/transpile/components/container/wizardstep.transformer.js +67 -0
  114. package/src/transpile/components/container/wizardstep.transformer.js.map +1 -0
  115. package/src/transpile/components/data/card/card-actions.transformer.js +13 -0
  116. package/src/transpile/components/data/card/card-actions.transformer.js.map +1 -0
  117. package/src/transpile/components/data/card/card-content.transformer.js +17 -0
  118. package/src/transpile/components/data/card/card-content.transformer.js.map +1 -0
  119. package/src/transpile/components/data/card/card-footer.transformer.js +13 -0
  120. package/src/transpile/components/data/card/card-footer.transformer.js.map +1 -0
  121. package/src/transpile/components/data/card/card.transformer.js +13 -0
  122. package/src/transpile/components/data/card/card.transformer.js.map +1 -0
  123. package/src/transpile/components/data/form/dynamic-fields.transformer.js +24 -0
  124. package/src/transpile/components/data/form/dynamic-fields.transformer.js.map +1 -0
  125. package/src/transpile/components/data/form/field-widget-shared.js +9 -0
  126. package/src/transpile/components/data/form/field-widget-shared.js.map +1 -0
  127. package/src/transpile/components/data/form/form-action.transformer.js +150 -0
  128. package/src/transpile/components/data/form/form-action.transformer.js.map +1 -0
  129. package/src/transpile/components/data/form/form-body.transformer.js +16 -0
  130. package/src/transpile/components/data/form/form-body.transformer.js.map +1 -0
  131. package/src/transpile/components/data/form/form-field.transformer.js +443 -0
  132. package/src/transpile/components/data/form/form-field.transformer.js.map +1 -0
  133. package/src/transpile/components/data/form/form-footer.transformer.js +16 -0
  134. package/src/transpile/components/data/form/form-footer.transformer.js.map +1 -0
  135. package/src/transpile/components/data/form/form.transformer.js +166 -0
  136. package/src/transpile/components/data/form/form.transformer.js.map +1 -0
  137. package/src/transpile/components/data/form/util.js +70 -0
  138. package/src/transpile/components/data/form/util.js.map +1 -0
  139. package/src/transpile/components/data/list/list-content.transformer.js +35 -0
  140. package/src/transpile/components/data/list/list-content.transformer.js.map +1 -0
  141. package/src/transpile/components/data/list/list-template-transformer.js +22 -0
  142. package/src/transpile/components/data/list/list-template-transformer.js.map +1 -0
  143. package/src/transpile/components/data/list/list-transformer.js +294 -0
  144. package/src/transpile/components/data/list/list-transformer.js.map +1 -0
  145. package/src/transpile/components/data/live-filter-field.transformer.js +435 -0
  146. package/src/transpile/components/data/live-filter-field.transformer.js.map +1 -0
  147. package/src/transpile/components/data/live-form-shared.js +135 -0
  148. package/src/transpile/components/data/live-form-shared.js.map +1 -0
  149. package/src/transpile/components/data/livefilter.transformer.js +20 -0
  150. package/src/transpile/components/data/livefilter.transformer.js.map +1 -0
  151. package/src/transpile/components/data/liveform.transformer.js +40 -0
  152. package/src/transpile/components/data/liveform.transformer.js.map +1 -0
  153. package/src/transpile/components/data/table/live-table.transformer.js +15 -0
  154. package/src/transpile/components/data/table/live-table.transformer.js.map +1 -0
  155. package/src/transpile/components/data/table/table-action.transformer.js +29 -0
  156. package/src/transpile/components/data/table/table-action.transformer.js.map +1 -0
  157. package/src/transpile/components/data/table/table-column.transformer.js +124 -0
  158. package/src/transpile/components/data/table/table-column.transformer.js.map +1 -0
  159. package/src/transpile/components/data/table/table-group.transformer.js +16 -0
  160. package/src/transpile/components/data/table/table-group.transformer.js.map +1 -0
  161. package/src/transpile/components/data/table/table-row-action.transformer.js +34 -0
  162. package/src/transpile/components/data/table/table-row-action.transformer.js.map +1 -0
  163. package/src/transpile/components/data/table/table-row.transformer.js +37 -0
  164. package/src/transpile/components/data/table/table-row.transformer.js.map +1 -0
  165. package/src/transpile/components/data/table/table.transformer.js +77 -0
  166. package/src/transpile/components/data/table/table.transformer.js.map +1 -0
  167. package/src/transpile/components/data/table/utils.js +229 -0
  168. package/src/transpile/components/data/table/utils.js.map +1 -0
  169. package/src/transpile/components/dialogs/alert-dialog.transformer.js +8 -0
  170. package/src/transpile/components/dialogs/alert-dialog.transformer.js.map +1 -0
  171. package/src/transpile/components/dialogs/confirm-dialog.transformer.js +8 -0
  172. package/src/transpile/components/dialogs/confirm-dialog.transformer.js.map +1 -0
  173. package/src/transpile/components/dialogs/dialog-actions.transformer.js +56 -0
  174. package/src/transpile/components/dialogs/dialog-actions.transformer.js.map +1 -0
  175. package/src/transpile/components/dialogs/dialog-body.transformer.js +13 -0
  176. package/src/transpile/components/dialogs/dialog-body.transformer.js.map +1 -0
  177. package/src/transpile/components/dialogs/dialog-factory.js +18 -0
  178. package/src/transpile/components/dialogs/dialog-factory.js.map +1 -0
  179. package/src/transpile/components/dialogs/dialog.transformer.js +26 -0
  180. package/src/transpile/components/dialogs/dialog.transformer.js.map +1 -0
  181. package/src/transpile/components/dialogs/iframe-dialog.transformer.js +8 -0
  182. package/src/transpile/components/dialogs/iframe-dialog.transformer.js.map +1 -0
  183. package/src/transpile/components/dialogs/login-dialog.transformer.js +44 -0
  184. package/src/transpile/components/dialogs/login-dialog.transformer.js.map +1 -0
  185. package/src/transpile/components/dialogs/page-dialog.transformer.js +16 -0
  186. package/src/transpile/components/dialogs/page-dialog.transformer.js.map +1 -0
  187. package/src/transpile/components/element/html-transformer.js +9 -0
  188. package/src/transpile/components/element/html-transformer.js.map +1 -0
  189. package/src/transpile/components/form/button-group.transformer.js +16 -0
  190. package/src/transpile/components/form/button-group.transformer.js.map +1 -0
  191. package/src/transpile/components/form/button.transformer.js +27 -0
  192. package/src/transpile/components/form/button.transformer.js.map +1 -0
  193. package/src/transpile/components/form/rating.transformer.js +19 -0
  194. package/src/transpile/components/form/rating.transformer.js.map +1 -0
  195. package/src/transpile/components/input/calendar.transformer.js +13 -0
  196. package/src/transpile/components/input/calendar.transformer.js.map +1 -0
  197. package/src/transpile/components/input/checkbox-set.transformer.js +29 -0
  198. package/src/transpile/components/input/checkbox-set.transformer.js.map +1 -0
  199. package/src/transpile/components/input/checkbox.transformer.js +47 -0
  200. package/src/transpile/components/input/checkbox.transformer.js.map +1 -0
  201. package/src/transpile/components/input/chips.transformer.js +23 -0
  202. package/src/transpile/components/input/chips.transformer.js.map +1 -0
  203. package/src/transpile/components/input/color-picker.transformer.js +19 -0
  204. package/src/transpile/components/input/color-picker.transformer.js.map +1 -0
  205. package/src/transpile/components/input/composite.transformer.js +16 -0
  206. package/src/transpile/components/input/composite.transformer.js.map +1 -0
  207. package/src/transpile/components/input/currency.transformer.js +21 -0
  208. package/src/transpile/components/input/currency.transformer.js.map +1 -0
  209. package/src/transpile/components/input/epoch/date.transformer.js +16 -0
  210. package/src/transpile/components/input/epoch/date.transformer.js.map +1 -0
  211. package/src/transpile/components/input/epoch/datetime.transformer.js +16 -0
  212. package/src/transpile/components/input/epoch/datetime.transformer.js.map +1 -0
  213. package/src/transpile/components/input/epoch/time.transformer.js +16 -0
  214. package/src/transpile/components/input/epoch/time.transformer.js.map +1 -0
  215. package/src/transpile/components/input/file-upload.transformer.js +32 -0
  216. package/src/transpile/components/input/file-upload.transformer.js.map +1 -0
  217. package/src/transpile/components/input/number.transformer.js +20 -0
  218. package/src/transpile/components/input/number.transformer.js.map +1 -0
  219. package/src/transpile/components/input/radio-set.transformer.js +25 -0
  220. package/src/transpile/components/input/radio-set.transformer.js.map +1 -0
  221. package/src/transpile/components/input/rating.transformer.js +20 -0
  222. package/src/transpile/components/input/rating.transformer.js.map +1 -0
  223. package/src/transpile/components/input/select.transformer.js +57 -0
  224. package/src/transpile/components/input/select.transformer.js.map +1 -0
  225. package/src/transpile/components/input/slider.transformer.js +28 -0
  226. package/src/transpile/components/input/slider.transformer.js.map +1 -0
  227. package/src/transpile/components/input/switch.transformer.js +21 -0
  228. package/src/transpile/components/input/switch.transformer.js.map +1 -0
  229. package/src/transpile/components/input/text.transformer.js +21 -0
  230. package/src/transpile/components/input/text.transformer.js.map +1 -0
  231. package/src/transpile/components/input/textarea.transformer.js +19 -0
  232. package/src/transpile/components/input/textarea.transformer.js.map +1 -0
  233. package/src/transpile/components/input/upload.transformer.js +19 -0
  234. package/src/transpile/components/input/upload.transformer.js.map +1 -0
  235. package/src/transpile/components/layout/footer.transformer.js +10 -0
  236. package/src/transpile/components/layout/footer.transformer.js.map +1 -0
  237. package/src/transpile/components/layout/header.transformer.js +10 -0
  238. package/src/transpile/components/layout/header.transformer.js.map +1 -0
  239. package/src/transpile/components/layout/layout-region-factory.js +46 -0
  240. package/src/transpile/components/layout/layout-region-factory.js.map +1 -0
  241. package/src/transpile/components/layout/leftnav.transformer.js +10 -0
  242. package/src/transpile/components/layout/leftnav.transformer.js.map +1 -0
  243. package/src/transpile/components/layout/rightnav.transformer.js +10 -0
  244. package/src/transpile/components/layout/rightnav.transformer.js.map +1 -0
  245. package/src/transpile/components/layout/topnav.transformer.js +10 -0
  246. package/src/transpile/components/layout/topnav.transformer.js.map +1 -0
  247. package/src/transpile/components/nav/nav-item.transformer.js +24 -0
  248. package/src/transpile/components/nav/nav-item.transformer.js.map +1 -0
  249. package/src/transpile/components/nav/nav.transformer.js +68 -0
  250. package/src/transpile/components/nav/nav.transformer.js.map +1 -0
  251. package/src/transpile/components/nav/navbar.transformer.js +120 -0
  252. package/src/transpile/components/nav/navbar.transformer.js.map +1 -0
  253. package/src/transpile/components/navigation/breadcrumb.transformer.js +16 -0
  254. package/src/transpile/components/navigation/breadcrumb.transformer.js.map +1 -0
  255. package/src/transpile/components/navigation/menu.transformer.js +36 -0
  256. package/src/transpile/components/navigation/menu.transformer.js.map +1 -0
  257. package/src/transpile/components/navigation/popover.transformer.js +23 -0
  258. package/src/transpile/components/navigation/popover.transformer.js.map +1 -0
  259. package/src/transpile/components/page/build-partial-markup.js +77 -0
  260. package/src/transpile/components/page/build-partial-markup.js.map +1 -0
  261. package/src/transpile/components/page/content.transformer.js +17 -0
  262. package/src/transpile/components/page/content.transformer.js.map +1 -0
  263. package/src/transpile/components/page/page-content.transformer.js +17 -0
  264. package/src/transpile/components/page/page-content.transformer.js.map +1 -0
  265. package/src/transpile/components/page/page.transformer.js +50 -0
  266. package/src/transpile/components/page/page.transformer.js.map +1 -0
  267. package/src/transpile/components/page/partial-container.transformer.js +16 -0
  268. package/src/transpile/components/page/partial-container.transformer.js.map +1 -0
  269. package/src/transpile/components/page/partial.transformer.js +19 -0
  270. package/src/transpile/components/page/partial.transformer.js.map +1 -0
  271. package/src/transpile/components/page/with-partial-container.js +26 -0
  272. package/src/transpile/components/page/with-partial-container.js.map +1 -0
  273. package/src/transpile/components/partial/partial-content.transformer.js +11 -0
  274. package/src/transpile/components/partial/partial-content.transformer.js.map +1 -0
  275. package/src/transpile/components/prefab/prefab-container.transformer.js +32 -0
  276. package/src/transpile/components/prefab/prefab-container.transformer.js.map +1 -0
  277. package/src/transpile/components/prefab/prefab.transformer.js +91 -0
  278. package/src/transpile/components/prefab/prefab.transformer.js.map +1 -0
  279. package/src/transpile/components/transform-register.js +247 -0
  280. package/src/transpile/components/transform-register.js.map +1 -0
  281. package/src/transpile/components/utils.js +367 -0
  282. package/src/transpile/components/utils.js.map +1 -0
  283. package/src/transpile/components/wmx-component/wmx-component.transformer.js +35 -0
  284. package/src/transpile/components/wmx-component/wmx-component.transformer.js.map +1 -0
  285. package/src/transpile/id-generator.js +87 -0
  286. package/src/transpile/id-generator.js.map +1 -0
  287. package/src/transpile/index.js +65 -0
  288. package/src/transpile/index.js.map +1 -0
  289. package/src/transpile/property/base-parser.js +13 -0
  290. package/src/transpile/property/base-parser.js.map +1 -0
  291. package/src/transpile/property/property-parser.js +278 -0
  292. package/src/transpile/property/property-parser.js.map +1 -0
  293. package/src/transpile/property/show-in-device.parser.js +17 -0
  294. package/src/transpile/property/show-in-device.parser.js.map +1 -0
  295. package/src/transpile/serialize-variables.js +322 -0
  296. package/src/transpile/serialize-variables.js.map +1 -0
  297. package/src/transpile/style/background-image.parser.js +20 -0
  298. package/src/transpile/style/background-image.parser.js.map +1 -0
  299. package/src/transpile/style/border-width.parser.js +20 -0
  300. package/src/transpile/style/border-width.parser.js.map +1 -0
  301. package/src/transpile/style/dimension-style.parser.js +70 -0
  302. package/src/transpile/style/dimension-style.parser.js.map +1 -0
  303. package/src/transpile/style/horizontal-align.parser.js +24 -0
  304. package/src/transpile/style/horizontal-align.parser.js.map +1 -0
  305. package/src/transpile/style/margin.parser.js +20 -0
  306. package/src/transpile/style/margin.parser.js.map +1 -0
  307. package/src/transpile/style/multi-dimension-style.parser.js +29 -0
  308. package/src/transpile/style/multi-dimension-style.parser.js.map +1 -0
  309. package/src/transpile/style/numeric-style.parser.js +18 -0
  310. package/src/transpile/style/numeric-style.parser.js.map +1 -0
  311. package/src/transpile/style/padding.parser.js +20 -0
  312. package/src/transpile/style/padding.parser.js.map +1 -0
  313. package/src/transpile/style/split-css-shorthand.js +60 -0
  314. package/src/transpile/style/split-css-shorthand.js.map +1 -0
  315. package/src/transpile/style/style.parser.js +15 -0
  316. package/src/transpile/style/style.parser.js.map +1 -0
  317. package/src/transpile/style.transformer.js +124 -0
  318. package/src/transpile/style.transformer.js.map +1 -0
  319. package/src/transpile/transform-markup.js +286 -0
  320. package/src/transpile/transform-markup.js.map +1 -0
  321. package/src/transpile/transpile-variables.js +35 -0
  322. package/src/transpile/transpile-variables.js.map +1 -0
  323. package/src/transpile/transpile.js +1349 -0
  324. package/src/transpile/transpile.js.map +1 -0
  325. package/src/transpile/transpiler.js +30 -0
  326. package/src/transpile/transpiler.js.map +1 -0
  327. package/src/transpile/variables-template-source.js +6 -0
  328. package/src/transpile/variables-template-source.js.map +1 -0
  329. package/src/transpile/variables-template.js +15 -0
  330. package/src/transpile/variables-template.js.map +1 -0
  331. package/src/transpile/widget-inline-style-constants.js +203 -0
  332. package/src/transpile/widget-inline-style-constants.js.map +1 -0
  333. package/src/transpile/widget-inline-style-processor.js +732 -0
  334. package/src/transpile/widget-inline-style-processor.js.map +1 -0
  335. package/src/types/index.js +6 -0
  336. package/src/types/index.js.map +1 -0
  337. package/src/utils/grouping-util.js +528 -0
  338. package/src/utils/grouping-util.js.map +1 -0
  339. package/src/utils.browser.js +903 -0
  340. package/src/utils.browser.js.map +1 -0
  341. package/src/utils.js +835 -0
  342. package/src/utils.js.map +1 -0
  343. package/src/variables/variable.transformer.js +736 -0
  344. package/src/variables/variable.transformer.js.map +1 -0
  345. package/src/wmx.generator.js +216 -0
  346. package/src/wmx.generator.js.map +1 -0
  347. package/templates/.DS_Store +0 -0
  348. package/templates/app.style.template +3 -0
  349. package/templates/app.variables.template +1 -0
  350. package/templates/component/app.libs.hbs +38 -0
  351. package/templates/component/app.script.hbs +8 -0
  352. package/templates/component/app.template.hbs +47 -0
  353. package/templates/component/component.hbs +80 -0
  354. package/templates/component/component.props.template +1 -0
  355. package/templates/component/formatter.hbs +8 -0
  356. package/templates/component/layout.hbs +33 -0
  357. package/templates/component/page.hbs +16 -0
  358. package/templates/component/partial.hbs +70 -0
  359. package/templates/component/script.template +6 -0
  360. package/templates/component/style-def.template +18 -0
  361. package/templates/component/style.template +1 -0
  362. package/templates/entity-provider.template +21 -0
  363. package/templates/foundation/layout.tsx +30 -0
  364. package/templates/pages-config.template +12 -0
  365. package/templates/partial-config.template +58 -0
  366. package/templates/project/.DS_Store +0 -0
  367. package/templates/project/.env +1 -0
  368. package/templates/project/.gitignore +2 -0
  369. package/templates/project/.prettierrc +8 -0
  370. package/templates/project/README.md +60 -0
  371. package/templates/project/app/autoLayout.css +134 -0
  372. package/templates/project/app/client.layout.tsx +193 -0
  373. package/templates/project/app/components.css +292 -0
  374. package/templates/project/app/error.tsx +27 -0
  375. package/templates/project/app/globals.css +5 -0
  376. package/templates/project/app/layout.tsx +40 -0
  377. package/templates/project/app/loading.tsx +6 -0
  378. package/templates/project/app/page.tsx +3 -0
  379. package/templates/project/app/widgetInlineStylesOverride.css +1031 -0
  380. package/templates/project/app/wm-globals.css +152 -0
  381. package/templates/project/app/wm-styles.css +4 -0
  382. package/templates/project/hooks/usePageEvents.tsx +45 -0
  383. package/templates/project/libs/appConfig.ts +14 -0
  384. package/templates/project/next-env.d.ts +5 -0
  385. package/templates/project/next.config.ts +17 -0
  386. package/templates/project/package-lock.json +5397 -0
  387. package/templates/project/package.json +41 -0
  388. package/templates/project/public/error-fallback.svg +89 -0
  389. package/templates/project/public/file.svg +1 -0
  390. package/templates/project/public/globe.svg +1 -0
  391. package/templates/project/public/next.svg +1 -0
  392. package/templates/project/public/vercel.svg +1 -0
  393. package/templates/project/public/window.svg +1 -0
  394. package/templates/project/scripts/app-custom-server.js +44 -0
  395. package/templates/project/scripts/getlibs.js +53 -0
  396. package/templates/project/tsconfig.json +36 -0
  397. package/templates/project/types/runtime-config.d.ts +9 -0
  398. package/templates/resource.resolver.template +20 -0
  399. package/templates/service.defs.template +3 -0
  400. package/templates/variables.template +255 -0
@@ -0,0 +1,736 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bind_ex_transformer_1 = __importDefault(require("../transpile/bind.ex.transformer"));
7
+ const lodash_1 = require("lodash");
8
+ function bindingValueIsStatic(value) {
9
+ const v = Array.isArray(value) ? value[0] : value;
10
+ return !v || !(typeof v === "string" && v.startsWith("bind:"));
11
+ }
12
+ function filterExpressionsAreStatic(filterExpressions) {
13
+ if (!(filterExpressions === null || filterExpressions === void 0 ? void 0 : filterExpressions.rules))
14
+ return true;
15
+ const ruleIsStatic = (rule) => {
16
+ if (rule.rules) {
17
+ return rule.rules.every(ruleIsStatic);
18
+ }
19
+ return bindingValueIsStatic(rule.value);
20
+ };
21
+ return filterExpressions.rules.every(ruleIsStatic);
22
+ }
23
+ function isStaticParamsVariable(variable) {
24
+ const db = variable.dataBinding;
25
+ const entryIsStatic = (entry) => bindingValueIsStatic(entry.value);
26
+ if (db) {
27
+ if (Array.isArray(db)) {
28
+ if (!db.every(entryIsStatic))
29
+ return false;
30
+ }
31
+ else if ((0, lodash_1.isObject)(db) && !Array.isArray(db)) {
32
+ const allOpsStatic = Object.values(db).every((opBindings) => {
33
+ if (!Array.isArray(opBindings))
34
+ return true;
35
+ return opBindings.every(entryIsStatic);
36
+ });
37
+ if (!allOpsStatic)
38
+ return false;
39
+ }
40
+ }
41
+ return filterExpressionsAreStatic(variable.filterExpressions);
42
+ }
43
+ function parseStaticJsonValue(value) {
44
+ const trimmedValue = value.trim();
45
+ if (!trimmedValue.startsWith("{") && !trimmedValue.startsWith("[")) {
46
+ return value;
47
+ }
48
+ try {
49
+ return JSON.parse(trimmedValue);
50
+ }
51
+ catch (_a) {
52
+ return value;
53
+ }
54
+ }
55
+ function transformDataItem(d, scope) {
56
+ let v = (0, lodash_1.isArray)(d.value) ? d.value[0] : d.value;
57
+ let arrayIndex = null;
58
+ if (v) {
59
+ if (v.startsWith && v.startsWith("bind:")) {
60
+ // "value" : "bind:'Do you want to delete this product: \"'+Widgets.Cart_Details.selecteditem.productDetails.productName+'\" from your Cart'",
61
+ const originalValue = v.substr(5);
62
+ v = originalValue;
63
+ // Check if the value contains array indexing like [$i] or [0]
64
+ const arrayIndexMatch = v.match(/\[(\$i|\d+)\]/);
65
+ if (arrayIndexMatch) {
66
+ // Extract the index (convert $i to 0 for now, or use the number)
67
+ arrayIndex = arrayIndexMatch[1] === "$i" ? 0 : parseInt(arrayIndexMatch[1], 10);
68
+ }
69
+ // Remove trailing semicolons and trim whitespace from binding expressions
70
+ v = (v || "").trim().replace(/;+\s*$/, "");
71
+ if (v === "null") {
72
+ v = null;
73
+ }
74
+ else {
75
+ const transformed = (0, bind_ex_transformer_1.default)(v, scope, "attr").replace(/\\n/g, "");
76
+ // If the expression starts with '{', it's an object literal and needs to be wrapped in ()
77
+ // to distinguish it from a block statement in arrow functions
78
+ if (transformed.trim().startsWith("{")) {
79
+ v = `${scope}.eval(() => (${transformed}))`;
80
+ }
81
+ else {
82
+ v = `${scope}.eval(() => ${transformed})`;
83
+ }
84
+ }
85
+ }
86
+ else if (typeof v === "string") {
87
+ v = parseStaticJsonValue(v);
88
+ }
89
+ else if (d.type === "string") {
90
+ v = `${v}`;
91
+ }
92
+ }
93
+ return {
94
+ name: d.target,
95
+ value: v,
96
+ arrayIndex: arrayIndex,
97
+ };
98
+ }
99
+ function appendIfNotEmpty(input, str) {
100
+ return input && input + "";
101
+ }
102
+ function checkEmptyObject(obj) {
103
+ let isVariableEmpty = true;
104
+ (0, lodash_1.forEach)(obj, (value) => {
105
+ if ((0, lodash_1.isEmpty)(value) && !(0, lodash_1.isBoolean)(value) && !(0, lodash_1.isNumber)(value)) {
106
+ return;
107
+ }
108
+ if (!(0, lodash_1.isObject)(value)) {
109
+ isVariableEmpty = false;
110
+ }
111
+ else if ((0, lodash_1.isArray)(value)) {
112
+ isVariableEmpty = (0, lodash_1.isEmpty)(value) || (value.length === 1 ? (0, lodash_1.isEmpty)(value[0]) : false);
113
+ }
114
+ else {
115
+ isVariableEmpty = checkEmptyObject(value);
116
+ }
117
+ return isVariableEmpty;
118
+ });
119
+ return isVariableEmpty;
120
+ }
121
+ function transformDataSetBindings(dataSet, scope) {
122
+ if (typeof dataSet === "string" && dataSet.startsWith("bind:")) {
123
+ let v = dataSet.substring(5);
124
+ v = (v || "").trim().replace(/;+\s*$/, "");
125
+ if (v === "null") {
126
+ return null;
127
+ }
128
+ else {
129
+ const transformed = (0, bind_ex_transformer_1.default)(v, scope, "attr").replace(/\\n/g, "");
130
+ if (transformed.trim().startsWith("{")) {
131
+ return `${scope}.eval(() => (${transformed}))`;
132
+ }
133
+ else {
134
+ return `${scope}.eval(() => ${transformed})`;
135
+ }
136
+ }
137
+ }
138
+ else if ((0, lodash_1.isArray)(dataSet)) {
139
+ return dataSet.map((item) => transformDataSetBindings(item, scope));
140
+ }
141
+ else if ((0, lodash_1.isObject)(dataSet) && dataSet !== null) {
142
+ const result = {};
143
+ for (const [key, value] of Object.entries(dataSet)) {
144
+ result[key] = transformDataSetBindings(value, scope);
145
+ }
146
+ return result;
147
+ }
148
+ return dataSet;
149
+ }
150
+ function transformVariable(variable, scope) {
151
+ var _a;
152
+ let params = {}, filters = {};
153
+ if (variable.category !== "wm.DeviceVariable") {
154
+ if ((0, lodash_1.isArray)(variable.dataSet)) {
155
+ if (variable.category === "wm.NavigationAction") {
156
+ variable.dataSet.forEach((d) => {
157
+ const { name, value } = transformDataItem(d, scope);
158
+ (0, lodash_1.set)(params, name, value);
159
+ });
160
+ }
161
+ else if (variable.category === "wm.Variable") {
162
+ params = transformDataSetBindings((0, lodash_1.clone)(variable.dataSet), scope);
163
+ }
164
+ }
165
+ else if ((0, lodash_1.isBoolean)(variable.dataSet) || (0, lodash_1.isNumber)(variable.dataSet)) {
166
+ if (variable.category === "wm.Variable") {
167
+ params = variable.dataSet;
168
+ }
169
+ }
170
+ else if (variable.dataSet) {
171
+ Object.keys(variable.dataSet).forEach(k => {
172
+ if (params[k] == undefined || params[k] == null) {
173
+ (0, lodash_1.set)(params, k, (0, lodash_1.get)(variable.dataSet, k));
174
+ }
175
+ });
176
+ if (variable.category === "wm.Variable") {
177
+ params = transformDataSetBindings(params, scope);
178
+ }
179
+ }
180
+ }
181
+ if (variable.dataBinding) {
182
+ if (Array.isArray(variable.dataBinding)) {
183
+ // First pass: collect all bindings and identify conflicts
184
+ const bindings = [];
185
+ const parentKeys = new Set(); // Keys that have direct bindings
186
+ const nestedKeys = new Map(); // Parent -> array of nested bindings
187
+ (_a = variable.dataBinding) === null || _a === void 0 ? void 0 : _a.forEach((d) => {
188
+ // Capture the original bind value BEFORE transformation
189
+ const originalValue = d.value && d.value.startsWith && d.value.startsWith("bind:")
190
+ ? d.value.substr(5)
191
+ : d.value;
192
+ const { name, value, arrayIndex } = transformDataItem(d, scope);
193
+ let finalValue = value;
194
+ if (variable.dataSet &&
195
+ !(0, lodash_1.isArray)(variable.dataSet) &&
196
+ variable.dataSet.hasOwnProperty(name)) {
197
+ const defaultValue = (0, lodash_1.get)(variable.dataSet, name);
198
+ // Only add fallback if:
199
+ // 1. The binding is an expression (not a static value)
200
+ // 2. There's a default value (including empty strings and arrays)
201
+ if (d.value && d.value.startsWith && d.value.startsWith("bind:")) {
202
+ // Format default value appropriately
203
+ let formattedDefault;
204
+ if (typeof defaultValue === "string") {
205
+ formattedDefault = `"${defaultValue}"`;
206
+ }
207
+ else if ((0, lodash_1.isArray)(defaultValue)) {
208
+ formattedDefault = JSON.stringify(defaultValue);
209
+ }
210
+ else if ((0, lodash_1.isObject)(defaultValue)) {
211
+ formattedDefault = JSON.stringify(defaultValue);
212
+ }
213
+ else if (defaultValue === null) {
214
+ formattedDefault = "null";
215
+ }
216
+ else if (defaultValue === undefined) {
217
+ formattedDefault = "undefined";
218
+ }
219
+ else {
220
+ formattedDefault = String(defaultValue);
221
+ }
222
+ // Append fallback: value || defaultValue
223
+ finalValue = `${value} || ${formattedDefault}`;
224
+ }
225
+ }
226
+ bindings.push({ name, value: finalValue, arrayIndex, originalValue });
227
+ const parts = name.split(".");
228
+ if (parts.length === 1) {
229
+ // Direct binding for a key
230
+ parentKeys.add(name);
231
+ }
232
+ else {
233
+ // Nested binding
234
+ const parentKey = parts[0];
235
+ if (!nestedKeys.has(parentKey)) {
236
+ nestedKeys.set(parentKey, []);
237
+ }
238
+ nestedKeys.get(parentKey).push({ name, value: finalValue, arrayIndex, originalValue });
239
+ }
240
+ });
241
+ // Helper to check if nested bindings involve arrays
242
+ const hasArrayBindings = (key) => {
243
+ const nested = nestedKeys.get(key);
244
+ if (!nested)
245
+ return false;
246
+ // Check if any nested binding has an array index
247
+ return nested.some(n => n.arrayIndex !== null);
248
+ };
249
+ // Helper to check if nested bindings are complex (deep nesting > 2 levels)
250
+ const hasComplexNesting = (key) => {
251
+ const nested = nestedKeys.get(key);
252
+ if (!nested)
253
+ return false;
254
+ // Check if any nested path has more than 2 levels (e.g., RequestBody.serviceQualificationItem.resource)
255
+ return nested.some(n => n.name.split(".").length > 2);
256
+ };
257
+ // Helper to group array bindings by their array path
258
+ const groupArrayBindings = (key) => {
259
+ const nested = nestedKeys.get(key) || [];
260
+ const arrayGroups = new Map();
261
+ // First, identify which paths have array bindings (have [$i] in their values)
262
+ const arrayPaths = new Set();
263
+ nested.forEach(n => {
264
+ if (n.arrayIndex !== null) {
265
+ const parts = n.name.split(".");
266
+ if (parts.length >= 3) {
267
+ const arrayPath = `${parts[0]}.${parts[1]}`;
268
+ arrayPaths.add(arrayPath);
269
+ }
270
+ }
271
+ });
272
+ // Now group ALL bindings that go through these array paths
273
+ nested.forEach(n => {
274
+ const parts = n.name.split(".");
275
+ if (parts.length >= 3) {
276
+ // Check if this path goes through any identified array path
277
+ const potentialArrayPath = `${parts[0]}.${parts[1]}`;
278
+ // Include if: either has arrayIndex OR goes through an array path
279
+ if (n.arrayIndex !== null || arrayPaths.has(potentialArrayPath)) {
280
+ if (!arrayGroups.has(potentialArrayPath)) {
281
+ arrayGroups.set(potentialArrayPath, []);
282
+ }
283
+ // Remaining path after the array (e.g., resource.id from RequestBody.serviceQualificationItem.resource.id)
284
+ const remainingPath = parts.slice(2).join(".");
285
+ arrayGroups
286
+ .get(potentialArrayPath)
287
+ .push({ path: remainingPath, value: n.value, originalValue: n.originalValue });
288
+ }
289
+ }
290
+ });
291
+ return arrayGroups;
292
+ };
293
+ // Helper to generate map expression for array bindings
294
+ const generateMapExpression = (arrayPath, items, parentValue) => {
295
+ // Build the nested object structure for map
296
+ const structure = {};
297
+ items.forEach(item => {
298
+ (0, lodash_1.set)(structure, item.path, {
299
+ __isOverride: true,
300
+ value: item.value,
301
+ originalValue: item.originalValue,
302
+ });
303
+ });
304
+ // Generate map expression
305
+ const arrayPathParts = arrayPath.split(".");
306
+ const arraySourcePath = arrayPathParts.join(".");
307
+ return `__MAP__${arraySourcePath}__STRUCTURE__${JSON.stringify(structure)}__PARENT__${parentValue}__ENDMAP__`;
308
+ };
309
+ // Second pass: process bindings based on conflicts
310
+ bindings.forEach(({ name, value, arrayIndex, originalValue }) => {
311
+ const parts = name.split(".");
312
+ if (parts.length === 1) {
313
+ // This is a direct binding
314
+ const hasNestedBindings = nestedKeys.has(name);
315
+ if (hasNestedBindings && !hasComplexNesting(name) && !hasArrayBindings(name)) {
316
+ // Simple case: There are nested bindings but they're not deep and no arrays
317
+ // We can safely merge with spread operator
318
+ // Example: RequestBody -> RequestBody.state
319
+ const parentValue = value;
320
+ const parentObj = { __base__: parentValue };
321
+ nestedKeys.get(name).forEach(nested => {
322
+ const nestedParts = nested.name.split(".");
323
+ if (nestedParts.length === 2 && nestedParts[0] === name) {
324
+ parentObj[nestedParts[1]] = nested.value;
325
+ }
326
+ });
327
+ (0, lodash_1.set)(params, name, parentObj);
328
+ }
329
+ else if (hasNestedBindings && (hasComplexNesting(name) || hasArrayBindings(name))) {
330
+ // Complex case with arrays - use map expression
331
+ const parentObj = { __base__: value };
332
+ // Group array bindings and create map expressions
333
+ const arrayGroups = groupArrayBindings(name);
334
+ arrayGroups.forEach((items, arrayPath) => {
335
+ const mapExpr = generateMapExpression(arrayPath, items, value);
336
+ // Extract the array property name (last part of the path)
337
+ const arrayProp = arrayPath.split(".").pop();
338
+ if (arrayProp) {
339
+ // Store map marker directly in parent object, not using set()
340
+ parentObj[arrayProp] = mapExpr;
341
+ }
342
+ });
343
+ // Handle all non-array nested bindings (including deep paths like RequestBody.payload.templateInput.year)
344
+ // Exclude bindings that go through array paths (already handled by arrayGroups above)
345
+ const arrayRelativePaths = Array.from(arrayGroups.keys()).map(ap => ap.split(".").slice(1).join("."));
346
+ nestedKeys.get(name).forEach(nested => {
347
+ if (nested.arrayIndex === null) {
348
+ const nestedParts = nested.name.split(".");
349
+ if (nestedParts[0] === name && nestedParts.length > 1) {
350
+ const relativePath = nestedParts.slice(1).join(".");
351
+ // Skip if this path goes through an array (e.g. serviceQualificationItem.resource.id)
352
+ const goesThroughArray = arrayRelativePaths.some(rp => relativePath === rp || relativePath.startsWith(rp + "."));
353
+ if (!goesThroughArray) {
354
+ (0, lodash_1.set)(parentObj, relativePath, nested.value);
355
+ }
356
+ }
357
+ }
358
+ });
359
+ // For inline eval format: when no array bindings and base is JSON, store parsed base for stringify
360
+ if (arrayGroups.size === 0 && originalValue && typeof originalValue === "string") {
361
+ const trimmed = originalValue.trim();
362
+ if ((trimmed.startsWith("{") || trimmed.startsWith("[")) && trimmed.length > 1) {
363
+ try {
364
+ parentObj.__baseObject__ = JSON.parse(originalValue);
365
+ parentObj.__scope__ = scope;
366
+ }
367
+ catch (_a) {
368
+ // Ignore parse errors
369
+ }
370
+ }
371
+ }
372
+ // Set the parent object with all properties
373
+ (0, lodash_1.set)(params, name, parentObj);
374
+ }
375
+ else {
376
+ // No conflicts, just set the value
377
+ (0, lodash_1.set)(params, name, value);
378
+ }
379
+ }
380
+ else {
381
+ // This is a nested binding - already handled in parent block for array cases
382
+ const parentKey = parts[0];
383
+ if (!parentKeys.has(parentKey)) {
384
+ // No parent binding, set normally
385
+ (0, lodash_1.set)(params, name, value);
386
+ }
387
+ }
388
+ });
389
+ if (params.dataBinding) {
390
+ params = params.dataBinding;
391
+ }
392
+ }
393
+ else if (variable.category === "wm.CrudVariable" &&
394
+ (0, lodash_1.isObject)(variable.dataBinding) &&
395
+ !(0, lodash_1.isArray)(variable.dataBinding)) {
396
+ // Transform dataBinding object for CrudVariable
397
+ // Input: { list: [...], create: [...], update: [...], delete: [...] }
398
+ // Output: dataBinding: () => ({ list: [...], create: [...], update: [...], delete: [...] })
399
+ // Helper function to format value for JavaScript object literal
400
+ const formatValue = (value) => {
401
+ if (value === null) {
402
+ return "null";
403
+ }
404
+ if (value === undefined) {
405
+ return "undefined";
406
+ }
407
+ if (typeof value === "string") {
408
+ // If it's already a transformed expression (contains .eval), return as-is without quotes
409
+ if (value.includes(".eval(")) {
410
+ return value;
411
+ }
412
+ // Otherwise, quote it as a string
413
+ return JSON.stringify(value);
414
+ }
415
+ if (typeof value === "number" || typeof value === "boolean") {
416
+ return String(value);
417
+ }
418
+ return JSON.stringify(value);
419
+ };
420
+ // Build array of binding objects
421
+ const buildBindingArray = (bindings) => {
422
+ return bindings
423
+ .map((binding) => {
424
+ const transformed = transformDataItem(binding, scope);
425
+ const props = [];
426
+ // Always include target
427
+ props.push(`"target" : ${JSON.stringify(binding.target)}`);
428
+ // Format value - use transformed value if it's an expression, otherwise use original
429
+ let finalValue;
430
+ if (transformed.value !== undefined && transformed.value !== null) {
431
+ // If transformed value is a template literal (wrapped in backticks), extract the inner value
432
+ if (typeof transformed.value === "string" &&
433
+ transformed.value.startsWith("`") &&
434
+ transformed.value.endsWith("`")) {
435
+ finalValue = transformed.value.slice(1, -1);
436
+ }
437
+ else if (typeof transformed.value === "string" &&
438
+ transformed.value.includes(".eval(")) {
439
+ // It's a transformed expression, use as-is
440
+ finalValue = transformed.value;
441
+ }
442
+ else {
443
+ // Use transformed value, but check if we should preserve original type
444
+ finalValue = transformed.value;
445
+ }
446
+ }
447
+ else {
448
+ finalValue = binding.value || "";
449
+ }
450
+ props.push(`"value" : ${formatValue(finalValue)}`);
451
+ // Always include type
452
+ props.push(`"type" : ${JSON.stringify(binding.type)}`);
453
+ // Include isList if it exists
454
+ if (binding.hasOwnProperty("isList")) {
455
+ props.push(`"isList" : ${binding.isList}`);
456
+ }
457
+ return `{\n ${props.join(`,\n `)}\n }`;
458
+ })
459
+ .join(" , ");
460
+ };
461
+ // Build the object string
462
+ const objectParts = [];
463
+ Object.keys(variable.dataBinding).forEach((operationKey) => {
464
+ const operationBindings = variable.dataBinding[operationKey];
465
+ if ((0, lodash_1.isArray)(operationBindings)) {
466
+ objectParts.push(`"${operationKey}" : [ ${buildBindingArray(operationBindings)} ]`);
467
+ }
468
+ else {
469
+ objectParts.push(`"${operationKey}" : ${formatValue(operationBindings)}`);
470
+ }
471
+ });
472
+ // Store transformed dataBinding on variable object for use in transformCrudVariable
473
+ // Don't add it to params so it doesn't end up in paramProvider
474
+ variable._transformedDataBinding = `() => ({\n ${objectParts.join(`,\n `)}\n })`;
475
+ // Remove dataBinding from params if it exists to prevent it from going into paramProvider
476
+ if (params.dataBinding) {
477
+ delete params.dataBinding;
478
+ }
479
+ }
480
+ }
481
+ const filterProvider = (rules) => {
482
+ rules === null || rules === void 0 ? void 0 : rules.forEach((r) => {
483
+ if (r.rules) {
484
+ filterProvider(r.rules);
485
+ }
486
+ else {
487
+ const { name, value } = transformDataItem(r, scope);
488
+ filters[name] = value;
489
+ }
490
+ });
491
+ };
492
+ if (variable.filterExpressions) {
493
+ filterProvider(variable.filterExpressions.rules);
494
+ }
495
+ // Todo: these properties directly on variable are to be handled from studio
496
+ if (variable.category === "wm.DeviceVariable" && variable.operation === "scanBarCode") {
497
+ params["barcodeFormat"] = variable.barcodeFormat;
498
+ }
499
+ if (variable.category === "wm.DeviceVariable" &&
500
+ variable.service === "file" &&
501
+ variable.operation === "upload") {
502
+ params["browse"] = !variable.localFile;
503
+ }
504
+ const obj = {
505
+ name: variable.name,
506
+ group: "variable",
507
+ params: params,
508
+ filters: filters,
509
+ onSuccess: appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onSuccess, scope, "event"), ";"),
510
+ onError: appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onError, scope, "event"), ";"),
511
+ };
512
+ if (variable.onCanUpdate) {
513
+ obj.onCanUpdate = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onCanUpdate, scope, "event"), ";");
514
+ }
515
+ if (variable.onBeforeUpdate) {
516
+ obj.onBeforeUpdate = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onBeforeUpdate, scope, "event"), ";");
517
+ }
518
+ if (variable.onResult) {
519
+ obj.onResult = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onResult, scope, "event"), ";");
520
+ }
521
+ if (variable.onOnline) {
522
+ obj.onOnline = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onOnline, scope, "event"), ";");
523
+ }
524
+ if (variable.onOffline) {
525
+ obj.onOffline = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onOffline, scope, "event"), ";");
526
+ }
527
+ if (variable.onBeforeDatasetReady) {
528
+ obj.onBeforeDatasetReady = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onBeforeDatasetReady, scope, "event"), ";");
529
+ }
530
+ if (variable.spinnerContext) {
531
+ obj.spinnerContext = variable.spinnerContext;
532
+ obj.spinnerMessage = variable.spinnerMessage;
533
+ }
534
+ if (variable.category === "wm.LoginAction" || variable.category === "wm.LogoutAction") {
535
+ obj.useDefaultSuccessHandler = variable.useDefaultSuccessHandler;
536
+ }
537
+ return obj;
538
+ }
539
+ function transformModelVariable(variable, scope) {
540
+ if ((0, lodash_1.isArray)(variable.dataSet) &&
541
+ variable.dataSet.length === 1 &&
542
+ checkEmptyObject(variable.dataSet[0])) {
543
+ variable.dataSet = [];
544
+ }
545
+ if (variable.dataBinding) {
546
+ delete variable.dataBinding;
547
+ }
548
+ const tv = transformVariable(variable, scope);
549
+ tv.classname = "ModelVariable";
550
+ tv.twoWayBinding = variable.twoWayBinding;
551
+ tv.isList = !!variable.isList;
552
+ return tv;
553
+ }
554
+ function transformServiceVariable(variable, scope) {
555
+ const tv = transformVariable(variable, scope);
556
+ tv.classname = "ServiceVariable";
557
+ tv.operationId = variable.operationId;
558
+ tv.isList = !!variable.isList;
559
+ tv.inFlightBehavior = variable.inFlightBehavior;
560
+ tv.service = variable.service;
561
+ tv.operation = variable.operation;
562
+ tv.operationType = variable.operationType;
563
+ tv.maxResults = variable.maxResults;
564
+ tv._context = variable._context;
565
+ tv.serviceType = variable.serviceType;
566
+ tv.controller = variable.controller;
567
+ tv.autoUpdate = variable.autoUpdate;
568
+ tv.orderBy = variable.orderBy;
569
+ tv.isStaticParams = isStaticParamsVariable(variable);
570
+ return tv;
571
+ }
572
+ function transformNavigationAction(variable, scope) {
573
+ const tv = transformVariable(variable, scope);
574
+ tv.classname = "NavigationAction";
575
+ tv.group = "action";
576
+ tv.operation = variable.operation;
577
+ tv.params = (0, lodash_1.isArray)(tv.params) && tv.params.length == 0 ? {} : tv.params;
578
+ if (!tv.params["pageName"] && variable.pageName) {
579
+ tv.params["pageName"] = variable.pageName;
580
+ }
581
+ return tv;
582
+ }
583
+ function transformTimerAction(variable, scope) {
584
+ const tv = transformVariable(variable, scope);
585
+ tv.classname = "TimerAction";
586
+ tv.group = "action";
587
+ tv.repeating = variable.repeating;
588
+ tv.delay = variable.delay;
589
+ if (variable.onTimerFire) {
590
+ tv.onTimerFire = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onTimerFire, scope, "event"), ";");
591
+ }
592
+ return tv;
593
+ }
594
+ function transformNotificationAction(variable, scope, imports) {
595
+ const tv = transformVariable(variable, scope);
596
+ tv.classname = "NotificationAction";
597
+ tv.group = "action";
598
+ tv.operation = variable.operation;
599
+ const partialContent = Array.isArray(variable.dataBinding)
600
+ ? variable.dataBinding.filter((binding) => {
601
+ return binding.target === "page";
602
+ })[0]
603
+ : null;
604
+ if (variable.onOk || variable.onClick) {
605
+ tv.onOk = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onOk || variable.onClick, scope, "event"), ";");
606
+ }
607
+ if (variable.onCancel) {
608
+ tv.onCancel = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onCancel, scope, "event"), ";");
609
+ }
610
+ if (variable.onClose || variable.onHide) {
611
+ tv.onClose = appendIfNotEmpty((0, bind_ex_transformer_1.default)(variable.onClose || variable.onHide, scope, "event"), ";");
612
+ }
613
+ if (variable.operation === "alert" || variable.operation === "confirm") {
614
+ const owner = scope === "App" ? "App" : scope;
615
+ const widgetName = `Common${(0, lodash_1.upperFirst)(variable.operation)}Dialog`;
616
+ if (owner === "App") {
617
+ tv.showDialog = `App.openActionDialog(options,"${widgetName}");`;
618
+ }
619
+ else {
620
+ tv.showDialog = `${owner}.App.openActionDialog(options,"${widgetName}");`;
621
+ }
622
+ }
623
+ if (partialContent) {
624
+ const partialName = partialContent.value.charAt(0).toUpperCase() + partialContent.value.slice(1);
625
+ const importItem = `import ${partialName} from "@/app/components/${partialContent.value}/${partialContent.value}";`;
626
+ if (!imports.includes(importItem)) {
627
+ imports.push(importItem);
628
+ }
629
+ tv.partialContent = { component: partialName };
630
+ }
631
+ return tv;
632
+ }
633
+ function transformDeviceVariable(variable, scope, appUrl) {
634
+ if ((0, lodash_1.isArray)(variable.dataSet) &&
635
+ variable.dataSet.length === 1 &&
636
+ checkEmptyObject(variable.dataSet[0])) {
637
+ variable.dataSet = [];
638
+ }
639
+ const tv = transformVariable(variable, scope);
640
+ tv.classname = "DeviceVariable";
641
+ tv.operation = variable.operation;
642
+ tv.service = variable.service;
643
+ if (variable.service === "file") {
644
+ tv.params.serverUrl = `${scope}.eval(() => ${scope}.appConfig.url)`;
645
+ }
646
+ return tv;
647
+ }
648
+ function transformLoginVariable(variable, scope) {
649
+ const tv = transformVariable(variable, scope);
650
+ tv.classname = "LoginAction";
651
+ tv.group = "action";
652
+ return tv;
653
+ }
654
+ function transformLogoutVariable(variable, scope) {
655
+ const tv = transformVariable(variable, scope);
656
+ tv.classname = "LogoutAction";
657
+ tv.group = "action";
658
+ tv.redirectTo = variable.redirectTo;
659
+ return tv;
660
+ }
661
+ function transformLiveVariable(variable, scope) {
662
+ const tv = transformVariable(variable, scope);
663
+ tv.classname = "LiveVariable";
664
+ tv.isList = !!variable.isList;
665
+ tv.inFlightBehavior = variable.inFlightBehavior;
666
+ tv.maxResults = variable.maxResults;
667
+ tv._context = variable._context;
668
+ tv.operation = variable.operation;
669
+ tv.type = variable.type;
670
+ tv.autoUpdate = variable.autoUpdate;
671
+ tv.orderBy = variable.orderBy;
672
+ tv.liveSource = variable.liveSource;
673
+ tv.category = variable.category;
674
+ tv.tableName = variable.tableName;
675
+ tv.tableType = variable.tableType;
676
+ tv.relatedTables = variable.relatedTables;
677
+ tv.filterExpressions = variable.filterExpressions;
678
+ tv._id = variable._id;
679
+ tv.isStaticParams = isStaticParamsVariable(variable);
680
+ return tv;
681
+ }
682
+ function transformCrudVariable(variable, scope) {
683
+ const tv = transformVariable(variable, scope);
684
+ tv._id = variable._id;
685
+ tv.name = variable.name;
686
+ tv.owner = variable.owner;
687
+ tv.category = variable.category;
688
+ tv.type = variable.type;
689
+ tv.service = variable.service;
690
+ tv.operation = variable.operation;
691
+ tv.operationId = variable.operationId;
692
+ tv.crudOperationId = variable.crudOperationId;
693
+ tv.operationType = variable.operationType;
694
+ tv.serviceType = variable.serviceType;
695
+ tv.dataSet = variable.dataSet;
696
+ tv.isList = variable.isList;
697
+ tv.maxResults = variable.maxResults;
698
+ tv.startUpdate = variable.startUpdate;
699
+ tv.autoUpdate = variable.autoUpdate;
700
+ tv.inFlightBehavior = variable.inFlightBehavior;
701
+ tv.transformationRequired = variable.transformationRequired;
702
+ tv.saveInPhonegap = variable.saveInPhonegap;
703
+ tv.controller = variable.controller;
704
+ // Use transformed dataBinding if available, otherwise use original
705
+ tv.dataBinding = variable._transformedDataBinding || variable.dataBinding;
706
+ tv.classname = "CrudVariable";
707
+ tv.group = "variable";
708
+ tv.isStaticParams = isStaticParamsVariable(variable);
709
+ return tv;
710
+ }
711
+ exports.default = (variable, scope, appUrl, imports) => {
712
+ switch (variable.category) {
713
+ case "wm.Variable":
714
+ return transformModelVariable(variable, scope);
715
+ case "wm.ServiceVariable":
716
+ return transformServiceVariable(variable, scope);
717
+ case "wm.NavigationAction":
718
+ return transformNavigationAction(variable, scope);
719
+ case "wm.TimerAction":
720
+ return transformTimerAction(variable, scope);
721
+ case "wm.NotificationAction":
722
+ return transformNotificationAction(variable, scope, imports);
723
+ case "wm.DeviceVariable":
724
+ return transformDeviceVariable(variable, scope, appUrl);
725
+ case "wm.LoginAction":
726
+ return transformLoginVariable(variable, scope);
727
+ case "wm.LogoutAction":
728
+ return transformLogoutVariable(variable, scope);
729
+ case "wm.LiveVariable":
730
+ return transformLiveVariable(variable, scope);
731
+ case "wm.CrudVariable":
732
+ return transformCrudVariable(variable, scope);
733
+ }
734
+ return null;
735
+ };
736
+ //# sourceMappingURL=variable.transformer.js.map