@wavemaker/react-runtime 11.14.1-rc.236

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 (402) hide show
  1. package/actions/base-action.js +32 -0
  2. package/actions/login-action.js +53 -0
  3. package/actions/logout-action.js +41 -0
  4. package/actions/navigation-action.js +145 -0
  5. package/actions/notification-action.js +147 -0
  6. package/actions/timer-action.js +164 -0
  7. package/actions/toast-provider.js +111 -0
  8. package/actions/toast.js +115 -0
  9. package/actions/toast.service.js +94 -0
  10. package/actions/types/index.js +11 -0
  11. package/components/advanced/carousel/index.js +456 -0
  12. package/components/advanced/carousel/props.js +5 -0
  13. package/components/advanced/carousel/template.js +72 -0
  14. package/components/advanced/login/index.js +307 -0
  15. package/components/advanced/login/props.js +5 -0
  16. package/components/advanced/marquee/index.js +158 -0
  17. package/components/advanced/marquee/props.js +5 -0
  18. package/components/basic/anchor/index.js +239 -0
  19. package/components/basic/anchor/props.js +5 -0
  20. package/components/basic/audio/index.js +61 -0
  21. package/components/basic/html/index.js +158 -0
  22. package/components/basic/icon/index.js +85 -0
  23. package/components/basic/iframe/iframe.utils.js +10 -0
  24. package/components/basic/iframe/index.js +95 -0
  25. package/components/basic/label/index.js +139 -0
  26. package/components/basic/message/index.js +120 -0
  27. package/components/basic/message/props.js +5 -0
  28. package/components/basic/picture/index.js +117 -0
  29. package/components/basic/picture/props.js +5 -0
  30. package/components/basic/progress-bar/index.js +168 -0
  31. package/components/basic/progress-bar/props.js +18 -0
  32. package/components/basic/progress-circle/index.js +196 -0
  33. package/components/basic/progress-circle/props.js +16 -0
  34. package/components/basic/richtexteditor/index.js +533 -0
  35. package/components/basic/richtexteditor/props.js +5 -0
  36. package/components/basic/search/index.js +1023 -0
  37. package/components/basic/search/props.js +5 -0
  38. package/components/basic/search/providers.js +350 -0
  39. package/components/basic/spinner/index.js +202 -0
  40. package/components/basic/spinner/props.js +12 -0
  41. package/components/basic/tile/index.js +91 -0
  42. package/components/basic/tree/Components/TreeNodeComponent.js +142 -0
  43. package/components/basic/tree/index.js +503 -0
  44. package/components/basic/tree/props.js +5 -0
  45. package/components/basic/tree/utils.js +154 -0
  46. package/components/basic/video/index.js +85 -0
  47. package/components/basic/video/props.js +5 -0
  48. package/components/chart/components/barColumnChart/index.js +132 -0
  49. package/components/chart/components/barColumnChart/props.js +5 -0
  50. package/components/chart/components/bubbleChart/index.js +176 -0
  51. package/components/chart/components/bubbleChart/props.js +5 -0
  52. package/components/chart/components/chartLegend/components/ClassicLegendItem.js +39 -0
  53. package/components/chart/components/chartLegend/components/FuriousLegendItem.js +81 -0
  54. package/components/chart/components/chartLegend/index.js +69 -0
  55. package/components/chart/components/chartLegend/props.js +5 -0
  56. package/components/chart/components/chartLegend/utils.js +31 -0
  57. package/components/chart/components/chartTooltip/index.js +53 -0
  58. package/components/chart/components/chartTooltip/styles.js +37 -0
  59. package/components/chart/components/chartTooltip/utils.js +23 -0
  60. package/components/chart/components/cumulativeLineChart/index.js +113 -0
  61. package/components/chart/components/cumulativeLineChart/props.js +5 -0
  62. package/components/chart/components/cumulativeLineChart/utils.js +34 -0
  63. package/components/chart/components/index.js +40 -0
  64. package/components/chart/components/lineAreaChart/index.js +140 -0
  65. package/components/chart/components/lineAreaChart/props.js +5 -0
  66. package/components/chart/components/noDataMessage/index.js +27 -0
  67. package/components/chart/components/pieDonutChart/index.js +171 -0
  68. package/components/chart/components/pieDonutChart/props.js +5 -0
  69. package/components/chart/constant.js +72 -0
  70. package/components/chart/index.js +930 -0
  71. package/components/chart/props.js +5 -0
  72. package/components/chart/utils.js +691 -0
  73. package/components/common/AppSpinner.js +36 -0
  74. package/components/common/app-spinner.js +26 -0
  75. package/components/common/index.js +12 -0
  76. package/components/constants.js +1208 -0
  77. package/components/container/accordion/accordion-pane/index.js +108 -0
  78. package/components/container/accordion/accordion-pane/props.js +11 -0
  79. package/components/container/accordion/index.js +232 -0
  80. package/components/container/accordion/props.js +13 -0
  81. package/components/container/alignment-utils.js +183 -0
  82. package/components/container/index.js +188 -0
  83. package/components/container/layout-grid/grid-column/index.js +34 -0
  84. package/components/container/layout-grid/grid-row/index.js +24 -0
  85. package/components/container/layout-grid/index.js +33 -0
  86. package/components/container/linear-layout/index.js +72 -0
  87. package/components/container/linear-layout/linear-layout-item/index.js +43 -0
  88. package/components/container/panel/components/panel-header/index.js +144 -0
  89. package/components/container/panel/components/panel-header/props.js +5 -0
  90. package/components/container/panel/hooks.js +144 -0
  91. package/components/container/panel/index.js +286 -0
  92. package/components/container/panel/props.js +5 -0
  93. package/components/container/props.js +5 -0
  94. package/components/container/tabs/index.js +379 -0
  95. package/components/container/tabs/props.js +20 -0
  96. package/components/container/tabs/tab-pane/index.js +42 -0
  97. package/components/container/tabs/tab-pane/props.js +5 -0
  98. package/components/container/wizard/WizardContext.js +16 -0
  99. package/components/container/wizard/components/StepComponents.js +100 -0
  100. package/components/container/wizard/components/WizardStep.js +89 -0
  101. package/components/container/wizard/index.js +710 -0
  102. package/components/container/wizard/props.js +5 -0
  103. package/components/container/wizard/utils.js +133 -0
  104. package/components/container/wizard/wizard-action/index.js +22 -0
  105. package/components/container/wizard/wizard-step/index.js +94 -0
  106. package/components/data/card/card-actions/index.js +24 -0
  107. package/components/data/card/card-content/index.js +38 -0
  108. package/components/data/card/card-footer/index.js +24 -0
  109. package/components/data/card/index.js +246 -0
  110. package/components/data/card/props.js +5 -0
  111. package/components/data/form/base-form/constant.js +39 -0
  112. package/components/data/form/base-form/index.js +460 -0
  113. package/components/data/form/base-form/props.js +29 -0
  114. package/components/data/form/base-form/utils.js +42 -0
  115. package/components/data/form/dynamic-fields/index.js +196 -0
  116. package/components/data/form/dynamic-fields/props.js +5 -0
  117. package/components/data/form/dynamic-fields/utils.js +237 -0
  118. package/components/data/form/form-action/index.js +71 -0
  119. package/components/data/form/form-body/index.js +26 -0
  120. package/components/data/form/form-context.js +34 -0
  121. package/components/data/form/form-controller/props.js +19 -0
  122. package/components/data/form/form-controller/validation-contrustor.js +313 -0
  123. package/components/data/form/form-controller/withFormController.js +320 -0
  124. package/components/data/form/form-field/base-field.js +138 -0
  125. package/components/data/form/form-field/index.js +36 -0
  126. package/components/data/form/form-field/props.js +5 -0
  127. package/components/data/form/form-footer/index.js +26 -0
  128. package/components/data/form/form-header/index.js +56 -0
  129. package/components/data/form/index.js +39 -0
  130. package/components/data/form/props.js +5 -0
  131. package/components/data/list/components/GroupHeader.js +35 -0
  132. package/components/data/list/components/GroupedListItems.js +98 -0
  133. package/components/data/list/components/ListContainer.js +27 -0
  134. package/components/data/list/components/ListDND.js +241 -0
  135. package/components/data/list/components/ListHeader.js +59 -0
  136. package/components/data/list/components/ListItem.js +148 -0
  137. package/components/data/list/components/ListItemWithTemplate.js +59 -0
  138. package/components/data/list/components/ListItems.js +231 -0
  139. package/components/data/list/components/ListPagination.js +165 -0
  140. package/components/data/list/components/LoadMoreButton.js +39 -0
  141. package/components/data/list/components/NoDataMessage.js +22 -0
  142. package/components/data/list/components/StandardListItems.js +84 -0
  143. package/components/data/list/components/index.js +119 -0
  144. package/components/data/list/components/props.js +5 -0
  145. package/components/data/list/hooks/index.js +75 -0
  146. package/components/data/list/hooks/props.js +5 -0
  147. package/components/data/list/hooks/useCurrentPageItems.js +48 -0
  148. package/components/data/list/hooks/useGroupedData.js +37 -0
  149. package/components/data/list/hooks/useListData.js +60 -0
  150. package/components/data/list/hooks/useListEffects.js +285 -0
  151. package/components/data/list/hooks/useListEventHandlers.js +291 -0
  152. package/components/data/list/hooks/useListPagination.js +168 -0
  153. package/components/data/list/hooks/useListState.js +98 -0
  154. package/components/data/list/hooks/useListStateManager.js +195 -0
  155. package/components/data/list/hooks/usePaginatedGroupedData.js +121 -0
  156. package/components/data/list/index.js +611 -0
  157. package/components/data/list/props.js +5 -0
  158. package/components/data/list/templates/media-template.js +53 -0
  159. package/components/data/list/utils/constants.js +81 -0
  160. package/components/data/list/utils/list-helpers.js +173 -0
  161. package/components/data/list/utils/list-widget-methods.js +114 -0
  162. package/components/data/live-filter/index.js +279 -0
  163. package/components/data/live-filter/props.js +12 -0
  164. package/components/data/live-form/index.js +93 -0
  165. package/components/data/live-form/props.js +16 -0
  166. package/components/data/pagination/components/BasicPagination.js +77 -0
  167. package/components/data/pagination/components/ClassicPagination.js +191 -0
  168. package/components/data/pagination/components/InlinePagination.js +99 -0
  169. package/components/data/pagination/components/LoadingComponent.js +31 -0
  170. package/components/data/pagination/components/PageSizeSelector.js +175 -0
  171. package/components/data/pagination/components/PagerNavigation.js +105 -0
  172. package/components/data/pagination/components/TotalRecords.js +52 -0
  173. package/components/data/pagination/components/index.js +47 -0
  174. package/components/data/pagination/components/props.js +5 -0
  175. package/components/data/pagination/hooks/index.js +19 -0
  176. package/components/data/pagination/hooks/props.js +5 -0
  177. package/components/data/pagination/hooks/useNavigationSize.js +44 -0
  178. package/components/data/pagination/hooks/usePagination.js +796 -0
  179. package/components/data/pagination/index.js +322 -0
  180. package/components/data/table/components/AddNewRow.js +190 -0
  181. package/components/data/table/components/EditableCell.js +91 -0
  182. package/components/data/table/components/FieldValidationError.js +24 -0
  183. package/components/data/table/components/RowExpansionButton.js +74 -0
  184. package/components/data/table/components/TableBody.js +279 -0
  185. package/components/data/table/components/TableFilters.js +325 -0
  186. package/components/data/table/components/TableFooterActions.js +48 -0
  187. package/components/data/table/components/TableHeader.js +174 -0
  188. package/components/data/table/components/TablePanelHeading.js +68 -0
  189. package/components/data/table/components/index.js +74 -0
  190. package/components/data/table/hooks/index.js +219 -0
  191. package/components/data/table/hooks/useCellState.js +117 -0
  192. package/components/data/table/hooks/useDynamicColumns.js +85 -0
  193. package/components/data/table/hooks/useEditingState.js +47 -0
  194. package/components/data/table/hooks/useFormWidget.js +184 -0
  195. package/components/data/table/hooks/usePaginationState.js +60 -0
  196. package/components/data/table/hooks/usePanelStructure.js +40 -0
  197. package/components/data/table/hooks/useResponsiveColumns.js +34 -0
  198. package/components/data/table/hooks/useRowExpansion.js +110 -0
  199. package/components/data/table/hooks/useRowHandlers.js +38 -0
  200. package/components/data/table/hooks/useRowSelection.js +213 -0
  201. package/components/data/table/hooks/useServerSideSorting.js +165 -0
  202. package/components/data/table/hooks/useTableColumns.js +263 -0
  203. package/components/data/table/hooks/useTableData.js +154 -0
  204. package/components/data/table/hooks/useTableEdit.js +467 -0
  205. package/components/data/table/hooks/useTableEffects.js +139 -0
  206. package/components/data/table/hooks/useTableFilter.js +389 -0
  207. package/components/data/table/hooks/useTableInitialization.js +103 -0
  208. package/components/data/table/hooks/useTableState.js +69 -0
  209. package/components/data/table/hooks/useTableStateManager.js +558 -0
  210. package/components/data/table/index.js +1295 -0
  211. package/components/data/table/live-table/index.js +232 -0
  212. package/components/data/table/props.js +5 -0
  213. package/components/data/table/table-action/index.js +78 -0
  214. package/components/data/table/table-column/index.js +35 -0
  215. package/components/data/table/table-row/index.js +49 -0
  216. package/components/data/table/table-row-action/index.js +74 -0
  217. package/components/data/table/utils/buildSelectionColumns.js +173 -0
  218. package/components/data/table/utils/columnBuilder.js +209 -0
  219. package/components/data/table/utils/columnProxy.js +48 -0
  220. package/components/data/table/utils/columnWidthDistribution.js +98 -0
  221. package/components/data/table/utils/constants.js +80 -0
  222. package/components/data/table/utils/crud-handlers.js +518 -0
  223. package/components/data/table/utils/dynamic-columns.js +118 -0
  224. package/components/data/table/utils/index.js +607 -0
  225. package/components/data/table/utils/renderDisplayCell.js +183 -0
  226. package/components/data/table/utils/selectionUtils.js +166 -0
  227. package/components/data/table/utils/table-helpers.js +100 -0
  228. package/components/data/table/utils/validation.js +124 -0
  229. package/components/data/types.js +113 -0
  230. package/components/data/utils/field-data-utils.js +66 -0
  231. package/components/data/utils/filter-field-util.js +81 -0
  232. package/components/data/utils/index.js +216 -0
  233. package/components/dialogs/alert-dialog/index.js +80 -0
  234. package/components/dialogs/confirm-dialog/index.js +105 -0
  235. package/components/dialogs/dialog/index.js +56 -0
  236. package/components/dialogs/dialog-actions/index.js +18 -0
  237. package/components/dialogs/dialog-body/index.js +21 -0
  238. package/components/dialogs/dialog-content/index.js +30 -0
  239. package/components/dialogs/dialog-header/index.js +93 -0
  240. package/components/dialogs/iframe-dialog/index.js +114 -0
  241. package/components/dialogs/index.js +129 -0
  242. package/components/dialogs/login-dialog/index.js +369 -0
  243. package/components/dialogs/login-dialog/props.js +5 -0
  244. package/components/dialogs/page-dialog/index.js +96 -0
  245. package/components/dialogs/withDialogWrapper.js +108 -0
  246. package/components/form/button/index.js +216 -0
  247. package/components/form/button-group/index.js +60 -0
  248. package/components/input/calendar/index.js +546 -0
  249. package/components/input/calendar/props.js +5 -0
  250. package/components/input/calendar/utils.js +340 -0
  251. package/components/input/chips/SortableChip/index.js +115 -0
  252. package/components/input/chips/SortableChip/props.js +5 -0
  253. package/components/input/chips/index.js +488 -0
  254. package/components/input/chips/props.js +5 -0
  255. package/components/input/chips/utils.js +259 -0
  256. package/components/input/color-picker/index.js +678 -0
  257. package/components/input/color-picker/props.js +5 -0
  258. package/components/input/composite/index.js +137 -0
  259. package/components/input/currency/index.js +263 -0
  260. package/components/input/currency/props.js +5 -0
  261. package/components/input/default/checkbox/index.js +230 -0
  262. package/components/input/default/checkbox/props.js +5 -0
  263. package/components/input/default/checkboxset/index.js +476 -0
  264. package/components/input/default/checkboxset/props.js +5 -0
  265. package/components/input/default/radioset/index.js +379 -0
  266. package/components/input/default/radioset/props.js +5 -0
  267. package/components/input/default/switch/index.js +490 -0
  268. package/components/input/default/switch/prop.js +5 -0
  269. package/components/input/epoch/date/components/DatePickerPopover.js +220 -0
  270. package/components/input/epoch/date/index.js +520 -0
  271. package/components/input/epoch/date/props.js +5 -0
  272. package/components/input/epoch/date/styled.js +70 -0
  273. package/components/input/epoch/date/utils.js +108 -0
  274. package/components/input/epoch/datetime/index.js +656 -0
  275. package/components/input/epoch/datetime/props.js +5 -0
  276. package/components/input/epoch/datetime/styled.js +90 -0
  277. package/components/input/epoch/datetime/utils.js +244 -0
  278. package/components/input/epoch/time/index.js +412 -0
  279. package/components/input/epoch/time/props.js +5 -0
  280. package/components/input/epoch/time/utils.js +209 -0
  281. package/components/input/fileupload/Utils.js +134 -0
  282. package/components/input/fileupload/components/ListItems.js +140 -0
  283. package/components/input/fileupload/components/MultiUpload.js +85 -0
  284. package/components/input/fileupload/components/SingleUpload.js +65 -0
  285. package/components/input/fileupload/index.js +170 -0
  286. package/components/input/fileupload/props.js +5 -0
  287. package/components/input/fileupload/useFileUpload.js +400 -0
  288. package/components/input/number/index.js +295 -0
  289. package/components/input/number/props.js +5 -0
  290. package/components/input/rating/index.js +368 -0
  291. package/components/input/rating/props.js +5 -0
  292. package/components/input/select/index.js +344 -0
  293. package/components/input/select/props.js +5 -0
  294. package/components/input/slider/index.js +167 -0
  295. package/components/input/slider/props.js +5 -0
  296. package/components/input/text/index.js +434 -0
  297. package/components/input/text/props.js +5 -0
  298. package/components/input/text/util.js +179 -0
  299. package/components/input/textarea/index.js +347 -0
  300. package/components/input/textarea/props.js +5 -0
  301. package/components/layout/footer/index.js +30 -0
  302. package/components/layout/header/index.js +30 -0
  303. package/components/layout/leftnav/index.js +44 -0
  304. package/components/layout/rightnav/index.js +32 -0
  305. package/components/layout/topnav/index.js +34 -0
  306. package/components/navbar/index.js +41 -0
  307. package/components/navbar/nav/index.js +102 -0
  308. package/components/navbar/nav/props.js +5 -0
  309. package/components/navbar/nav-item/index.js +44 -0
  310. package/components/navigation/breadcrumb/index.js +56 -0
  311. package/components/navigation/breadcrumb/props.js +5 -0
  312. package/components/navigation/menu/components/ListItems.js +66 -0
  313. package/components/navigation/menu/constants.js +101 -0
  314. package/components/navigation/menu/index.js +807 -0
  315. package/components/navigation/menu/props.js +5 -0
  316. package/components/navigation/popover/index.js +209 -0
  317. package/components/navigation/popover/props.js +15 -0
  318. package/components/page/content/index.js +28 -0
  319. package/components/page/error-boundary/index.js +108 -0
  320. package/components/page/index.js +137 -0
  321. package/components/page/page-content/index.js +23 -0
  322. package/components/page/partial/index.js +36 -0
  323. package/components/page/partial-container/index.js +48 -0
  324. package/components/page/props.js +5 -0
  325. package/components/page/toast-container/index.js +33 -0
  326. package/components/prefab/container/index.js +46 -0
  327. package/components/prefab/index.js +67 -0
  328. package/context/AppContext.js +25 -0
  329. package/context/AppSpinnerProvider.js +43 -0
  330. package/context/LocalizationProvider.js +79 -0
  331. package/context/PrefabContext.js +66 -0
  332. package/context/WidgetProvider.js +187 -0
  333. package/core/app-config.js +1 -0
  334. package/core/app.service.js +357 -0
  335. package/core/appVariablesStore.js +20 -0
  336. package/core/appstore.js +88 -0
  337. package/core/constants/currency-constant.js +1071 -0
  338. package/core/constants/events.js +34 -0
  339. package/core/constants/index.js +27 -0
  340. package/core/dialog.service.js +76 -0
  341. package/core/event-notifier.js +151 -0
  342. package/core/formatter/date-formatters.js +222 -0
  343. package/core/formatter/index.js +131 -0
  344. package/core/formatter/number-formatters.js +142 -0
  345. package/core/formatter/security-formatters.js +323 -0
  346. package/core/formatter/string-formatters.js +52 -0
  347. package/core/formatter/types.js +18 -0
  348. package/core/formatters.js +24 -0
  349. package/core/proxy-service.js +412 -0
  350. package/core/script-registry.js +63 -0
  351. package/core/security.service.js +11 -0
  352. package/core/util/common.js +33 -0
  353. package/core/util/dom.js +107 -0
  354. package/core/util/index.js +136 -0
  355. package/core/util/security.js +184 -0
  356. package/core/util/utils.js +189 -0
  357. package/core/widget-observer.js +98 -0
  358. package/higherOrder/BaseApp.js +430 -0
  359. package/higherOrder/BaseAppProps.js +5 -0
  360. package/higherOrder/BaseDateTime.js +251 -0
  361. package/higherOrder/BasePage.js +715 -0
  362. package/higherOrder/BasePartial.js +124 -0
  363. package/higherOrder/BasePrefab.js +145 -0
  364. package/higherOrder/DataNav.js +377 -0
  365. package/higherOrder/helper.js +43 -0
  366. package/higherOrder/props.js +5 -0
  367. package/higherOrder/withBaseWrapper.js +183 -0
  368. package/hooks/useAccess.js +308 -0
  369. package/hooks/useAppConfig.js +42 -0
  370. package/hooks/useAuth.js +562 -0
  371. package/hooks/useDataSourceSubscription.js +125 -0
  372. package/hooks/useDebounce.js +76 -0
  373. package/hooks/useDeviceVisibility.js +49 -0
  374. package/hooks/useHttp.js +338 -0
  375. package/libs/index.js +20 -0
  376. package/mui-config/theme-provider.js +17 -0
  377. package/mui-config/theme.js +371 -0
  378. package/package-lock.json +10183 -0
  379. package/package.json +95 -0
  380. package/store/index.js +33 -0
  381. package/store/middleware/navigationMiddleware.js +48 -0
  382. package/store/slices/appConfigSlice.js +103 -0
  383. package/store/slices/authSlice.js +508 -0
  384. package/store/slices/i18nSlice.js +206 -0
  385. package/types/index.js +15 -0
  386. package/utils/dataset-util.js +174 -0
  387. package/utils/eval-expression.js +32 -0
  388. package/utils/form-state.util.js +140 -0
  389. package/utils/form-utils.js +187 -0
  390. package/utils/format-util.js +260 -0
  391. package/utils/page-params-util.js +24 -0
  392. package/utils/resource-url.js +27 -0
  393. package/utils/state-persistance.js +343 -0
  394. package/utils/style-utils.js +73 -0
  395. package/utils/transformedDataset-utils.js +633 -0
  396. package/utils/widget-cleanup-util.js +84 -0
  397. package/utils/widgets.js +99 -0
  398. package/variables/base-variable.js +173 -0
  399. package/variables/constants.js +27 -0
  400. package/variables/live-variable.js +166 -0
  401. package/variables/model-variable.js +77 -0
  402. package/variables/service-variable.js +307 -0
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LIST_NAVIGATION_TYPES = exports.LIST_MESSAGES = exports.LIST_DIRECTION = exports.LIST_DEFAULTS = exports.LIST_ALIGN = exports.DEFAULT_PAGINATION_META = exports.DEFAULT_CLS = exports.APP_LOCALE = void 0;
7
+ /**
8
+ * Default classes and constants for the List component
9
+ */
10
+ var DEFAULT_CLS = exports.DEFAULT_CLS = "app-livelist app-panel";
11
+
12
+ // Strongly typed defaults
13
+ var LIST_DEFAULTS = exports.LIST_DEFAULTS = {
14
+ // updated to 20 from 10 as per angular code
15
+ PAGESIZE: 20,
16
+ PAGESIZE_FOR_MODAL_VARIABLE: 5,
17
+ MAX_SIZE: 5,
18
+ BOUNDARY_LINKS: false,
19
+ COLLAPSIBLE: false,
20
+ MULTISELECT: false,
21
+ SELECT_FIRST_ITEM: false,
22
+ SELECTION_LIMIT: 0,
23
+ SHOW_COUNT: false,
24
+ SHOW_RECORD_COUNT: false
25
+ };
26
+
27
+ // Application locale strings
28
+ var APP_LOCALE = exports.APP_LOCALE = {
29
+ LABEL_FIRST: "First",
30
+ LABEL_PREVIOUS: "Previous",
31
+ LABEL_NEXT: "Next",
32
+ LABEL_LAST: "Last",
33
+ LABEL_TOTAL_RECORDS: "Total Records",
34
+ LABEL_ICON: "Icon",
35
+ LABEL_ITEMS_PER_PAGE: "Items per page"
36
+ };
37
+
38
+ // List messages
39
+ var LIST_MESSAGES = exports.LIST_MESSAGES = {
40
+ LOADING: "Loading...",
41
+ NO_DATA: "No data found",
42
+ LOAD_MORE: "Load More"
43
+ };
44
+
45
+ // Navigation types enum with const assertion for better type inference
46
+ var LIST_NAVIGATION_TYPES = exports.LIST_NAVIGATION_TYPES = {
47
+ NONE: "None",
48
+ BASIC: "Basic",
49
+ PAGER: "Pager",
50
+ CLASSIC: "Classic",
51
+ ADVANCED: "Advanced",
52
+ INLINE: "Inline",
53
+ ON_DEMAND: "On-Demand",
54
+ SCROLL: "Scroll"
55
+ };
56
+
57
+ // Direction types
58
+ var LIST_DIRECTION = exports.LIST_DIRECTION = {
59
+ VERTICAL: "vertical",
60
+ HORIZONTAL: "horizontal"
61
+ };
62
+
63
+ // Alignment types
64
+ var LIST_ALIGN = exports.LIST_ALIGN = {
65
+ LEFT: "left",
66
+ CENTER: "center",
67
+ RIGHT: "right"
68
+ };
69
+
70
+ // Default pagination metadata for when none is provided
71
+ var DEFAULT_PAGINATION_META = exports.DEFAULT_PAGINATION_META = {
72
+ totalPages: 1,
73
+ totalElements: 0,
74
+ last: true,
75
+ sort: [],
76
+ numberOfElements: 0,
77
+ first: true,
78
+ size: 0,
79
+ number: 0,
80
+ empty: true
81
+ };
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.saveListState = exports.getTextAlignClass = exports.getSelectedItemWidgets = exports.getSafeDataset = exports.getListState = exports.getItemsPerRowClass = exports.clearListState = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _constants = require("./constants");
10
+ var _statePersistance = require("@wavemaker/react-runtime/utils/state-persistance");
11
+ var _lodashEs = require("lodash-es");
12
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ /**
16
+ * Get items per row CSS classes based on configuration
17
+ * @param itemsperrow - Items per row configuration
18
+ * @param direction - List direction
19
+ * @returns CSS class string
20
+ */
21
+ var getItemsPerRowClass = exports.getItemsPerRowClass = function getItemsPerRowClass(itemsperrow, direction) {
22
+ if (direction === "horizontal") {
23
+ return "";
24
+ }
25
+ if (!itemsperrow) {
26
+ return "col-xs-12";
27
+ }
28
+ if (isNaN(parseInt(itemsperrow, 10))) {
29
+ return itemsperrow.split(" ").map(function (cls) {
30
+ var _cls$split = cls.split("-"),
31
+ _cls$split2 = (0, _slicedToArray2["default"])(_cls$split, 2),
32
+ tier = _cls$split2[0],
33
+ value = _cls$split2[1];
34
+ var colSize = 12 / parseInt(value, 10);
35
+ return "col-".concat(tier, "-").concat(colSize);
36
+ }).join(" ").trim();
37
+ }
38
+ var numValue = parseInt(itemsperrow, 10);
39
+ return "col-xs-".concat(12 / numValue);
40
+ };
41
+
42
+ /**
43
+ * Get text alignment class
44
+ * @param align - Alignment value
45
+ * @returns CSS class string
46
+ */
47
+ var getTextAlignClass = exports.getTextAlignClass = function getTextAlignClass(align) {
48
+ switch (align) {
49
+ case _constants.LIST_ALIGN.CENTER:
50
+ return "text-center";
51
+ case _constants.LIST_ALIGN.RIGHT:
52
+ return "text-right";
53
+ case _constants.LIST_ALIGN.LEFT:
54
+ default:
55
+ return "text-left";
56
+ }
57
+ };
58
+
59
+ /**
60
+ * Get safe dataset ensuring it's always an array
61
+ * @param dataset - Input dataset of any type
62
+ * @returns Array dataset with proper typing
63
+ */
64
+ var getSafeDataset = exports.getSafeDataset = function getSafeDataset(dataset) {
65
+ if (typeof dataset === "string") {
66
+ try {
67
+ var parsedData = dataset.split(",").map(function (str) {
68
+ return str.trim();
69
+ });
70
+ return Array.isArray(parsedData) ? parsedData : [];
71
+ } catch (e) {
72
+ return [];
73
+ }
74
+ } else if (!(dataset instanceof Array) && (0, _lodashEs.isObject)(dataset) && Object.keys(dataset).length > 0) {
75
+ return dataset ? [dataset] : [];
76
+ }
77
+ return Array.isArray(dataset) ? dataset : [];
78
+ };
79
+
80
+ // Type definition for list state
81
+
82
+ var saveListState = exports.saveListState = function saveListState(name, storage, stateToSave) {
83
+ // Simply save the provided state
84
+ (0, _statePersistance.setWidgetState)({
85
+ name: name,
86
+ type: "list",
87
+ storage: storage
88
+ }, stateToSave);
89
+ };
90
+ var getListState = exports.getListState = function getListState(name, storage) {
91
+ var state = (0, _statePersistance.getWidgetState)({
92
+ name: name,
93
+ type: "list",
94
+ storage: storage
95
+ });
96
+ return state;
97
+ };
98
+ var clearListState = exports.clearListState = function clearListState(name, storage) {
99
+ (0, _statePersistance.clearWidgetState)({
100
+ name: name,
101
+ storage: storage,
102
+ type: "list"
103
+ });
104
+ };
105
+
106
+ // Helper function to get all descendant elements with data-widget-id
107
+ var getAllDescendants = function getAllDescendants(element) {
108
+ var all = [];
109
+ function traverse(node) {
110
+ // include the node itself if it has data-widget-id
111
+ if (node.nodeType === 1 && node.hasAttribute("data-widget-id")) {
112
+ all.push(node);
113
+ }
114
+ // go deeper
115
+ var _iterator = _createForOfIteratorHelper(node.children),
116
+ _step;
117
+ try {
118
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
119
+ var child = _step.value;
120
+ traverse(child);
121
+ }
122
+ } catch (err) {
123
+ _iterator.e(err);
124
+ } finally {
125
+ _iterator.f();
126
+ }
127
+ }
128
+ traverse(element);
129
+ return all;
130
+ };
131
+ var getSelectedItemWidgets = exports.getSelectedItemWidgets = function getSelectedItemWidgets(event, listener, name) {
132
+ var listItem = null;
133
+ if (event) {
134
+ // Manual selection - get from event
135
+ listItem = event.currentTarget;
136
+ } else {
137
+ // Programmatic selection - find active item in DOM
138
+ var activeItems = document.querySelectorAll("[data-name=\"".concat(name, "\"] .app-list-item.active"));
139
+ if (activeItems.length > 0) {
140
+ // Get the last active item (most recently selected)
141
+ listItem = activeItems[activeItems.length - 1];
142
+ }
143
+ }
144
+ var componentElements = listItem ? getAllDescendants(listItem) : [];
145
+ var currentItemWidgets = componentElements.reduce(function (result, comp) {
146
+ // Try different attributes to get widget name
147
+ var widgetName = comp.getAttribute("name");
148
+ if (widgetName) {
149
+ // Try to get the widget instance from the component or create a reference
150
+ var widgetInstance = comp.widget;
151
+ if (!widgetInstance) {
152
+ // Create a basic widget reference with properties from the DOM element
153
+ widgetInstance = {
154
+ name: widgetName,
155
+ caption: comp.getAttribute("caption") || comp.textContent || "",
156
+ value: comp.value || comp.getAttribute("value") || "",
157
+ // Add other common properties
158
+ show: comp.getAttribute("show") !== "false",
159
+ element: comp
160
+ };
161
+ }
162
+ result[widgetName] = widgetInstance;
163
+ }
164
+ return result;
165
+ }, {});
166
+ if (listener) {
167
+ setTimeout(function () {
168
+ listener.onChange(name, {
169
+ selectedItemWidgets: currentItemWidgets
170
+ });
171
+ }, 0);
172
+ }
173
+ };
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useListWidgetMethods = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _react = require("react");
10
+ var _lodashEs = require("lodash-es");
11
+ var useListWidgetMethods = exports.useListWidgetMethods = function useListWidgetMethods(items, listState, multiselect, onSelect, widgetInstance, listener, userInitiatedSelectionRef, name) {
12
+ // Helper function to find an item by index or model
13
+ var getItemByIndexOrModel = (0, _react.useCallback)(function (val) {
14
+ if (typeof val === "number") {
15
+ return items[val];
16
+ } else {
17
+ return items.find(function (item) {
18
+ return item === val;
19
+ });
20
+ }
21
+ }, [items]);
22
+
23
+ // Selects an item in the list by index or model
24
+ var selectItem = (0, _react.useCallback)(function (val, statePersistenceTriggered) {
25
+ var item = getItemByIndexOrModel(val);
26
+ if (!item) {
27
+ return;
28
+ }
29
+ var isAlreadySelected = listState.activeItems.has(item);
30
+ if (!isAlreadySelected) {
31
+ if (!statePersistenceTriggered && userInitiatedSelectionRef) {
32
+ userInitiatedSelectionRef.current = true;
33
+ }
34
+ if (multiselect) {
35
+ var newSelectedItems = [].concat((0, _toConsumableArray2["default"])(listState.selectedItems), [item]);
36
+ var newActiveItems = new Set(listState.activeItems);
37
+ newActiveItems.add(item);
38
+ listState.setSelectedItems(newSelectedItems);
39
+ listState.setActiveItems(newActiveItems);
40
+ if (!listState.firstSelectedItem) {
41
+ listState.setFirstSelectedItem(item);
42
+ }
43
+ } else {
44
+ listState.setSelectedItems([item]);
45
+ listState.setActiveItems(new Set([item]));
46
+ listState.setFirstSelectedItem(item);
47
+ }
48
+ if (onSelect && widgetInstance && !statePersistenceTriggered) {
49
+ onSelect(widgetInstance, item);
50
+ }
51
+ }
52
+ }, [listState.activeItems]);
53
+ var deselectItem = (0, _react.useCallback)(function (val) {
54
+ var item = getItemByIndexOrModel(val);
55
+ if (!item) {
56
+ return;
57
+ }
58
+ var isSelected = Array.from(listState.activeItems).some(function (activeItem) {
59
+ return (0, _lodashEs.isEqual)(activeItem, item);
60
+ });
61
+ if (isSelected) {
62
+ if (userInitiatedSelectionRef) {
63
+ userInitiatedSelectionRef.current = true;
64
+ }
65
+ var newSelectedItems = listState.selectedItems.filter(function (selectedItem) {
66
+ return !(0, _lodashEs.isEqual)(selectedItem, item);
67
+ });
68
+ var newActiveItems = new Set(Array.from(listState.activeItems).filter(function (activeItem) {
69
+ return !(0, _lodashEs.isEqual)(activeItem, item);
70
+ }));
71
+ listState.setSelectedItems(newSelectedItems);
72
+ listState.setActiveItems(newActiveItems);
73
+ if ((0, _lodashEs.isEqual)(listState.firstSelectedItem, item)) {
74
+ listState.setFirstSelectedItem(newSelectedItems[0] || null);
75
+ }
76
+ }
77
+ }, [listState.activeItems, listState.selectedItems]);
78
+ var getItem = (0, _react.useCallback)(function (index) {
79
+ return items[index];
80
+ }, []);
81
+ var getIndex = (0, _react.useCallback)(function (item) {
82
+ return items.findIndex(function (listItem) {
83
+ return (0, _lodashEs.isEqual)(listItem, item);
84
+ });
85
+ }, []);
86
+ var clear = (0, _react.useCallback)(function () {
87
+ listState.setSelectedItems([]);
88
+ listState.setActiveItems(new Set());
89
+ listState.setFirstSelectedItem(null);
90
+ var listener_instance = name && (listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
91
+ if (listener_instance) {
92
+ listener_instance.selecteditem = undefined;
93
+ }
94
+ }, [listState.setSelectedItems, listState.setActiveItems, listState.setFirstSelectedItem]);
95
+ var getWidgets = (0, _react.useCallback)(function (widgetName, index) {
96
+ if (widgetInstance && widgetInstance[widgetName]) {
97
+ return widgetInstance[widgetName];
98
+ }
99
+ return listener === null || listener === void 0 ? void 0 : listener.Widgets[widgetName];
100
+ }, []);
101
+
102
+ // Memoize the return object to prevent unnecessary re-renders
103
+ return (0, _react.useMemo)(function () {
104
+ return {
105
+ getItemByIndexOrModel: getItemByIndexOrModel,
106
+ selectItem: selectItem,
107
+ deselectItem: deselectItem,
108
+ getItem: getItem,
109
+ getIndex: getIndex,
110
+ clear: clear,
111
+ getWidgets: getWidgets
112
+ };
113
+ }, [getItemByIndexOrModel, selectItem, deselectItem, getItem, getIndex, clear, getWidgets]);
114
+ };
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _lodashEs = require("lodash-es");
16
+ var _util = require("../../../core/util");
17
+ var _form = _interopRequireDefault(require("../form"));
18
+ var _withBaseWrapper = _interopRequireDefault(require("../../../higherOrder/withBaseWrapper"));
19
+ var _props = require("./props");
20
+ var _types = require("../types");
21
+ var _utils = require("../utils");
22
+ var _fieldDataUtils = require("../utils/field-data-utils");
23
+ var _filterFieldUtil = require("../utils/filter-field-util");
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
25
+ var __jsx = _react["default"].createElement;
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ var FILTER_CONSTANTS = {
29
+ EMPTY_KEY: "EMPTY_NULL_FILTER"
30
+ };
31
+ var WmLiveFilter = function WmLiveFilter(prop) {
32
+ var _props$listener;
33
+ var props = _objectSpread(_objectSpread({}, _props.DEFAULT_PROPS), prop);
34
+ var isInitilised = (0, _react.useRef)(false);
35
+ var isDataSourceUpdatedRef = (0, _react.useRef)(false);
36
+ var dataSource = (_props$listener = props.listener) === null || _props$listener === void 0 || (_props$listener = _props$listener.Variables) === null || _props$listener === void 0 ? void 0 : _props$listener[props.dataSource];
37
+ function updateResults(dataSet) {
38
+ var _props$listener2;
39
+ (_props$listener2 = props.listener) === null || _props$listener2 === void 0 || _props$listener2.onChange(props.name, {
40
+ result: dataSet
41
+ });
42
+ }
43
+ function Livefilter(_x, _x2, _x3) {
44
+ return _Livefilter.apply(this, arguments);
45
+ }
46
+ function _Livefilter() {
47
+ _Livefilter = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(options, clearFilter, formFields) {
48
+ var _props$orderBy, _props$pagesize;
49
+ var dataModel, page, orderBy, pagesize, filterFields, isValid, fieldsArray, _options$exportType, _options$exportSize, _options$data, _options$fields, _options$data2, _options$fileName, _options$data3, exportType;
50
+ return _regenerator["default"].wrap(function _callee$(_context) {
51
+ while (1) switch (_context.prev = _context.next) {
52
+ case 0:
53
+ if (dataSource) {
54
+ _context.next = 2;
55
+ break;
56
+ }
57
+ return _context.abrupt("return");
58
+ case 2:
59
+ // Treat first arg as submitted form data model
60
+ dataModel = options || {};
61
+ page = 1;
62
+ orderBy = (_props$orderBy = props.orderBy) !== null && _props$orderBy !== void 0 ? _props$orderBy : "";
63
+ pagesize = (_props$pagesize = props.pagesize) !== null && _props$pagesize !== void 0 ? _props$pagesize : 20;
64
+ filterFields = {};
65
+
66
+ // before invoke filter called onBeforeInvokeFilter if response is false or undefined then return
67
+ _context.prev = 7;
68
+ isValid = props.onBeforeservicecall(filterFields);
69
+ if (!(isValid === false)) {
70
+ _context.next = 11;
71
+ break;
72
+ }
73
+ return _context.abrupt("return");
74
+ case 11:
75
+ if (!(isValid && isValid.error)) {
76
+ _context.next = 14;
77
+ break;
78
+ }
79
+ props.toggleMessage(true, isValid.error, "error", "ERROR");
80
+ return _context.abrupt("return");
81
+ case 14:
82
+ _context.next = 20;
83
+ break;
84
+ case 16:
85
+ _context.prev = 16;
86
+ _context.t0 = _context["catch"](7);
87
+ if (!(_context.t0.message === "Abort")) {
88
+ _context.next = 20;
89
+ break;
90
+ }
91
+ return _context.abrupt("return");
92
+ case 20:
93
+ if (!clearFilter) {
94
+ _context.next = 22;
95
+ break;
96
+ }
97
+ return _context.abrupt("return", dataSource[_types.DataSource.Operation.LIST_RECORDS]({
98
+ filterFields: {},
99
+ orderBy: "",
100
+ page: 1
101
+ }).then(function (results) {
102
+ if (results) {
103
+ updateResults(results === null || results === void 0 ? void 0 : results.data);
104
+ }
105
+ })["catch"](function (err) {
106
+ props.toggleMessage(true, err, "error", "ERROR");
107
+ props.onResultCb(err, false);
108
+ return err;
109
+ }));
110
+ case 22:
111
+ /* Construct the formFields Variable to send it to the queryBuilder */
112
+ fieldsArray = (0, _lodashEs.isArray)(formFields) ? formFields : Object.values(formFields || {}); // Sync runtime values from submitted data into field definitions
113
+ fieldsArray.forEach(function (filterField) {
114
+ var submitted = dataModel === null || dataModel === void 0 ? void 0 : dataModel[filterField.field];
115
+ if (filterField["isRange"]) {
116
+ if (submitted && (0, _typeof2["default"])(submitted) === "object") {
117
+ var _ref, _ref2, _submitted$minValue, _ref3, _ref4, _submitted$maxValue;
118
+ filterField._minValue = (_ref = (_ref2 = (_submitted$minValue = submitted.minValue) !== null && _submitted$minValue !== void 0 ? _submitted$minValue : submitted.min) !== null && _ref2 !== void 0 ? _ref2 : submitted.start) !== null && _ref !== void 0 ? _ref : filterField._minValue;
119
+ filterField._maxValue = (_ref3 = (_ref4 = (_submitted$maxValue = submitted.maxValue) !== null && _submitted$maxValue !== void 0 ? _submitted$maxValue : submitted.max) !== null && _ref4 !== void 0 ? _ref4 : submitted.end) !== null && _ref3 !== void 0 ? _ref3 : filterField._maxValue;
120
+ }
121
+ } else {
122
+ if (submitted !== undefined) {
123
+ filterField._value = submitted;
124
+ }
125
+ }
126
+ });
127
+ fieldsArray.forEach(function (filterField) {
128
+ var fieldValue;
129
+ var matchMode;
130
+ var colName = filterField.field;
131
+ var minValue = filterField._minValue;
132
+ var maxvalue = filterField._maxValue;
133
+ /* if field is part of a related entity, column name will be 'entity.fieldName' */
134
+ if (filterField["isRelated"]) {
135
+ colName += "." + filterField["lookup-field"];
136
+ }
137
+ if (filterField["isRange"]) {
138
+ /*Based on the min and max values, decide the matchmode condition*/
139
+ fieldValue = (0, _utils.getRangeFieldValue)(minValue, maxvalue);
140
+ matchMode = (0, _utils.getRangeMatchMode)(minValue, maxvalue);
141
+ if ((0, _util.isDefined)(fieldValue)) {
142
+ filterFields[colName] = {
143
+ value: fieldValue,
144
+ matchMode: matchMode,
145
+ logicalOp: "AND"
146
+ };
147
+ }
148
+ } else {
149
+ switch (filterField.widgettype) {
150
+ case _types.FormWidgetType.SELECT:
151
+ case _types.FormWidgetType.RADIOSET:
152
+ if ((0, _utils.getEnableEmptyFilter)(props.enableemptyfilter) && filterField._value === FILTER_CONSTANTS.EMPTY_KEY) {
153
+ matchMode = (0, _utils.getEmptyMatchMode)(props.enableemptyfilter);
154
+ fieldValue = filterField._value;
155
+ } else {
156
+ if (filterField.type === _types.DataType.BOOLEAN) {
157
+ if ((0, _util.isDefined)(filterField._value) && filterField._value !== "") {
158
+ fieldValue = JSON.parse(filterField._value);
159
+ }
160
+ } else {
161
+ fieldValue = filterField._value;
162
+ }
163
+ }
164
+ break;
165
+ case _types.FormWidgetType.CHECKBOXSET:
166
+ case _types.FormWidgetType.CHIPS:
167
+ if (filterField._value && filterField._value.length) {
168
+ fieldValue = filterField._value;
169
+ }
170
+ break;
171
+ case _types.FormWidgetType.CHECKBOX:
172
+ case _types.FormWidgetType.TOGGLE:
173
+ if ((0, _util.isDefined)(filterField._value) && filterField._value !== "") {
174
+ fieldValue = filterField.type === _types.DataType.BOOLEAN ? JSON.parse(filterField._value) : filterField._value;
175
+ }
176
+ break;
177
+ default:
178
+ fieldValue = filterField._value;
179
+ break;
180
+ }
181
+ if ((0, _util.isDefined)(fieldValue) && fieldValue !== "" && fieldValue !== null) {
182
+ filterFields[colName] = {};
183
+ if (matchMode) {
184
+ filterFields[colName].matchMode = matchMode;
185
+ fieldValue = undefined;
186
+ } else if (filterField.type === _types.DataType.STRING || filterField.isRelated) {
187
+ // Only for string types and related fields, custom match modes are enabled.
188
+ // filterFields[colName].matchMode =
189
+ // matchMode || filterField.matchmode || variable[DataSource.Operation.GET_MATCH_MODE]();
190
+ }
191
+ filterFields[colName].value = fieldValue;
192
+ filterFields[colName].logicalOp = "AND";
193
+ filterFields[colName].type = filterField.type;
194
+ }
195
+ }
196
+ });
197
+
198
+ // if exportType is there then return the download
199
+ if (!(options && options.exportType || options && options.data && options.data.exportType)) {
200
+ _context.next = 28;
201
+ break;
202
+ }
203
+ exportType = (_options$exportType = options.exportType) !== null && _options$exportType !== void 0 ? _options$exportType : options.data.exportType;
204
+ return _context.abrupt("return", dataSource[_types.DataSource.Operation.DOWNLOAD]({
205
+ data: {
206
+ matchMode: "anywhereignorecase",
207
+ filterFields: filterFields,
208
+ orderBy: orderBy,
209
+ exportType: exportType,
210
+ logicalOp: "AND",
211
+ exportSize: (_options$exportSize = options.exportSize) !== null && _options$exportSize !== void 0 ? _options$exportSize : (_options$data = options.data) === null || _options$data === void 0 ? void 0 : _options$data.exportSize,
212
+ fields: (_options$fields = options.fields) !== null && _options$fields !== void 0 ? _options$fields : (_options$data2 = options.data) === null || _options$data2 === void 0 ? void 0 : _options$data2.fields,
213
+ fileName: (_options$fileName = options.fileName) !== null && _options$fileName !== void 0 ? _options$fileName : (_options$data3 = options.data) === null || _options$data3 === void 0 ? void 0 : _options$data3.fileName
214
+ }
215
+ }));
216
+ case 28:
217
+ return _context.abrupt("return", dataSource[_types.DataSource.Operation.LIST_RECORDS]({
218
+ filterFields: filterFields,
219
+ orderBy: orderBy,
220
+ page: page,
221
+ pagesize: pagesize,
222
+ skipDataSetUpdate: true,
223
+ inFlightBehavior: "executeAll"
224
+ }).then(function (results) {
225
+ if (results) {
226
+ updateResults(results === null || results === void 0 ? void 0 : results.data);
227
+ }
228
+ })["catch"](function (err) {
229
+ props.toggleMessage(true, err, "error", "ERROR");
230
+ props.onResultCb(err, false);
231
+ return err;
232
+ }));
233
+ case 29:
234
+ case "end":
235
+ return _context.stop();
236
+ }
237
+ }, _callee, null, [[7, 16]]);
238
+ }));
239
+ return _Livefilter.apply(this, arguments);
240
+ }
241
+ function onDataSourceChange() {
242
+ if (isDataSourceUpdatedRef.current) return;
243
+ var fields = (0, _lodashEs.get)(props.listener.Widgets[props.name], "formfields", []);
244
+ var formFields = (0, _lodashEs.isArray)(fields) ? fields : Object.values(fields || {});
245
+ if ((0, _lodashEs.get)(formFields, "length")) {
246
+ isDataSourceUpdatedRef.current = true;
247
+ }
248
+ formFields.forEach(function (field) {
249
+ if ((0, _fieldDataUtils.isDataSetWidget)(field.widget)) {
250
+ var _props$listener3;
251
+ (0, _filterFieldUtil.getDistinctValuesForField)(dataSource, field, {
252
+ widget: "widgettype",
253
+ enableemptyfilter: props.enableemptyfilter,
254
+ EMPTY_VALUE: props === null || props === void 0 || (_props$listener3 = props.listener) === null || _props$listener3 === void 0 ? void 0 : _props$listener3.appLocale.LABEL_NO_VALUE
255
+ });
256
+ }
257
+ });
258
+ }
259
+
260
+ // side events
261
+ (0, _react.useEffect)(function () {
262
+ var _props$dataset;
263
+ if (!isInitilised.current && props !== null && props !== void 0 && props.dataset && (props === null || props === void 0 || (_props$dataset = props.dataset) === null || _props$dataset === void 0 ? void 0 : _props$dataset.length) > 0) {
264
+ updateResults(props.dataset);
265
+ // @ts-ignore
266
+ isInitilised.current = true;
267
+ }
268
+ }, [props.dataset]);
269
+ return (
270
+ // @ts-ignore
271
+ __jsx(_form["default"], (0, _extends2["default"])({}, props, {
272
+ Livefilter: Livefilter,
273
+ onDataSourceChange: onDataSourceChange,
274
+ "form-type": "live-filter"
275
+ }), props.children)
276
+ );
277
+ };
278
+ WmLiveFilter.displayName = "WmLiveFilter";
279
+ var _default = exports["default"] = (0, _withBaseWrapper["default"])(WmLiveFilter);
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DEFAULT_PROPS = void 0;
7
+ var DEFAULT_PROPS = exports.DEFAULT_PROPS = {
8
+ iconclass: "wi wi-filter-list",
9
+ pagesize: 20,
10
+ autoupdate: true,
11
+ enableemptyfilter: " "
12
+ };