@wavemaker-ai/react-codegen 1.0.0-rc.309

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