@wavemaker/react-runtime 11.14.2-rc.6311 → 11.15.0-1.246

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 (245) hide show
  1. package/actions/base-action.js +5 -7
  2. package/actions/login-action.js +7 -8
  3. package/actions/logout-action.js +5 -7
  4. package/actions/navigation-action.js +73 -18
  5. package/actions/notification-action.js +22 -8
  6. package/actions/timer-action.js +13 -15
  7. package/actions/toast.js +4 -2
  8. package/actions/toast.service.js +1 -2
  9. package/components/advanced/carousel/index.js +1 -1
  10. package/components/advanced/carousel/template.js +1 -1
  11. package/components/basic/anchor/index.js +31 -11
  12. package/components/basic/html/index.js +115 -24
  13. package/components/basic/icon/index.js +2 -1
  14. package/components/basic/iframe/index.js +2 -1
  15. package/components/basic/label/index.js +12 -9
  16. package/components/basic/message/index.js +12 -3
  17. package/components/basic/picture/index.js +11 -4
  18. package/components/basic/progress-bar/index.js +4 -1
  19. package/components/basic/progress-circle/index.js +34 -28
  20. package/components/basic/progress-circle/props.js +10 -2
  21. package/components/basic/richtexteditor/index.js +95 -94
  22. package/components/basic/search/index.js +401 -156
  23. package/components/basic/search/providers.js +126 -61
  24. package/components/basic/spinner/index.js +2 -1
  25. package/components/basic/tree/index.js +34 -34
  26. package/components/basic/tree/utils.js +10 -4
  27. package/components/chart/components/barColumnChart/index.js +36 -33
  28. package/components/chart/components/bubbleChart/index.js +35 -25
  29. package/components/chart/components/chartLegend/utils.js +2 -1
  30. package/components/chart/components/cumulativeLineChart/index.js +30 -26
  31. package/components/chart/components/lineAreaChart/index.js +50 -32
  32. package/components/chart/components/pieDonutChart/index.js +13 -4
  33. package/components/chart/hooks/useXAxisConfig.js +15 -8
  34. package/components/chart/index.js +223 -53
  35. package/components/chart/utils.js +12 -1
  36. package/components/constants.js +5 -2
  37. package/components/container/accordion/accordion-pane/index.js +17 -12
  38. package/components/container/accordion/index.js +9 -4
  39. package/components/container/alignment-utils.js +56 -1
  40. package/components/container/index.js +49 -20
  41. package/components/container/panel/components/panel-header/index.js +3 -4
  42. package/components/container/panel/index.js +15 -10
  43. package/components/container/repeat-template/index.js +33 -0
  44. package/components/container/tabs/index.js +83 -14
  45. package/components/container/tabs/tab-pane/index.js +33 -10
  46. package/components/container/tabs/utils.js +51 -0
  47. package/components/container/wizard/components/StepComponents.js +2 -1
  48. package/components/container/wizard/components/WizardStep.js +2 -1
  49. package/components/container/wizard/index.js +64 -35
  50. package/components/container/wizard/utils.js +46 -1
  51. package/components/container/wizard/wizard-step/index.js +11 -1
  52. package/components/data/card/card-content/index.js +1 -1
  53. package/components/data/form/base-form/index.js +985 -183
  54. package/components/data/form/base-form/props.js +3 -1
  55. package/components/data/form/base-form/utils.js +159 -1
  56. package/components/data/form/dynamic-fields/constant.js +53 -0
  57. package/components/data/form/dynamic-fields/index.js +10 -45
  58. package/components/data/form/dynamic-fields/utils.js +37 -2
  59. package/components/data/form/form-action/index.js +5 -4
  60. package/components/data/form/form-context.js +5 -1
  61. package/components/data/form/form-controller/utils.js +84 -0
  62. package/components/data/form/form-controller/validation-contrustor.js +402 -189
  63. package/components/data/form/form-controller/withFormController.js +191 -52
  64. package/components/data/form/form-field/base-field.js +67 -45
  65. package/components/data/form/form-field/index.js +28 -5
  66. package/components/data/form/form-header/index.js +3 -4
  67. package/components/data/form/index.js +20 -1
  68. package/components/data/list/components/ListDND.js +2 -1
  69. package/components/data/list/components/ListItem.js +6 -2
  70. package/components/data/list/components/ListItemWithTemplate.js +46 -2
  71. package/components/data/list/components/ListItems.js +17 -26
  72. package/components/data/list/components/ListPagination.js +3 -3
  73. package/components/data/list/components/StandardListItems.js +3 -4
  74. package/components/data/list/hooks/useListEffects.js +55 -14
  75. package/components/data/list/hooks/useListEventHandlers.js +3 -1
  76. package/components/data/list/hooks/useListState.js +3 -1
  77. package/components/data/list/hooks/usePaginatedGroupedData.js +18 -5
  78. package/components/data/list/index.js +74 -55
  79. package/components/data/list/utils/list-helpers.js +73 -35
  80. package/components/data/list/utils/list-widget-methods.js +138 -95
  81. package/components/data/live-filter/index.js +26 -15
  82. package/components/data/live-form/index.js +51 -18
  83. package/components/data/live-form/props.js +1 -1
  84. package/components/data/pagination/components/BasicPagination.js +71 -16
  85. package/components/data/pagination/components/PageSizeSelector.js +8 -3
  86. package/components/data/pagination/components/TotalRecords.js +1 -5
  87. package/components/data/pagination/hooks/usePagination.js +349 -66
  88. package/components/data/pagination/index.js +137 -19
  89. package/components/data/table/components/AddNewRow.js +5 -1
  90. package/components/data/table/components/EditableCell.js +2 -2
  91. package/components/data/table/components/RowCells.js +64 -0
  92. package/components/data/table/components/RowExpansionButton.js +2 -2
  93. package/components/data/table/components/SummaryCell.js +111 -0
  94. package/components/data/table/components/SummaryRow.js +54 -0
  95. package/components/data/table/components/SummaryRowFooter.js +46 -0
  96. package/components/data/table/components/TableBody.js +61 -59
  97. package/components/data/table/components/TableDataRow.js +109 -0
  98. package/components/data/table/components/TableFilters.js +225 -121
  99. package/components/data/table/components/TableHeader.js +291 -23
  100. package/components/data/table/components/TablePanelHeading.js +139 -8
  101. package/components/data/table/components/index.js +22 -1
  102. package/components/data/table/hooks/use-edited-rows.js +141 -0
  103. package/components/data/table/hooks/useCellState.js +5 -12
  104. package/components/data/table/hooks/useFormWidget.js +58 -52
  105. package/components/data/table/hooks/usePaginationState.js +45 -24
  106. package/components/data/table/hooks/usePanelStructure.js +4 -4
  107. package/components/data/table/hooks/useRowHandlers.js +39 -5
  108. package/components/data/table/hooks/useRowSelection.js +244 -50
  109. package/components/data/table/hooks/useServerSideSorting.js +81 -37
  110. package/components/data/table/hooks/useTableColumns.js +211 -118
  111. package/components/data/table/hooks/useTableData.js +54 -9
  112. package/components/data/table/hooks/useTableEdit.js +272 -97
  113. package/components/data/table/hooks/useTableEffects.js +31 -13
  114. package/components/data/table/hooks/useTableFilter.js +1 -1
  115. package/components/data/table/hooks/useTableInitialization.js +23 -22
  116. package/components/data/table/hooks/useTableState.js +11 -5
  117. package/components/data/table/hooks/useTableStateManager.js +140 -65
  118. package/components/data/table/index.js +637 -274
  119. package/components/data/table/live-table/index.js +54 -22
  120. package/components/data/table/table-action/index.js +1 -1
  121. package/components/data/table/table-group/index.js +26 -0
  122. package/components/data/table/table-row-action/index.js +32 -18
  123. package/components/data/table/utils/buildSelectionColumns.js +12 -21
  124. package/components/data/table/utils/columnBuilder.js +29 -14
  125. package/components/data/table/utils/columnProxy.js +68 -1
  126. package/components/data/table/utils/constants.js +6 -2
  127. package/components/data/table/utils/crud-handlers.js +68 -63
  128. package/components/data/table/utils/groupHeaderUtils.js +102 -0
  129. package/components/data/table/utils/index.js +210 -21
  130. package/components/data/table/utils/renderDisplayCell.js +6 -6
  131. package/components/data/table/utils/selectionUtils.js +25 -26
  132. package/components/data/table/utils/validation.js +1 -0
  133. package/components/data/utils/filter-field-util.js +3 -3
  134. package/components/dialogs/alert-dialog/index.js +1 -1
  135. package/components/dialogs/confirm-dialog/index.js +1 -1
  136. package/components/dialogs/dialog/index.js +4 -1
  137. package/components/dialogs/dialog-content/index.js +3 -1
  138. package/components/dialogs/dialog-header/index.js +2 -2
  139. package/components/dialogs/iframe-dialog/index.js +11 -5
  140. package/components/dialogs/index.js +1 -1
  141. package/components/dialogs/login-dialog/index.js +1 -1
  142. package/components/dialogs/page-dialog/index.js +1 -1
  143. package/components/form/button/index.js +33 -7
  144. package/components/input/calendar/index.js +18 -6
  145. package/components/input/chips/index.js +99 -28
  146. package/components/input/chips/utils.js +34 -4
  147. package/components/input/color-picker/index.js +74 -25
  148. package/components/input/composite/index.js +3 -3
  149. package/components/input/currency/index.js +35 -49
  150. package/components/input/default/checkbox/index.js +23 -28
  151. package/components/input/default/checkboxset/index.js +38 -18
  152. package/components/input/default/checkboxset/utils.js +30 -0
  153. package/components/input/default/radioset/index.js +36 -39
  154. package/components/input/default/switch/index.js +30 -13
  155. package/components/input/epoch/date/index.js +130 -69
  156. package/components/input/epoch/date/utils.js +94 -1
  157. package/components/input/epoch/datetime/index.js +72 -22
  158. package/components/input/epoch/datetime/utils.js +49 -10
  159. package/components/input/epoch/time/index.js +68 -19
  160. package/components/input/epoch/time/utils.js +62 -14
  161. package/components/input/fileupload/Utils.js +12 -7
  162. package/components/input/fileupload/components/MultiUpload.js +2 -6
  163. package/components/input/fileupload/components/SingleUpload.js +3 -7
  164. package/components/input/fileupload/index.js +6 -10
  165. package/components/input/fileupload/useFileUpload.js +16 -5
  166. package/components/input/number/index.js +158 -43
  167. package/components/input/rating/index.js +90 -7
  168. package/components/input/select/index.js +209 -72
  169. package/components/input/slider/index.js +84 -26
  170. package/components/input/text/index.js +38 -18
  171. package/components/input/text/util.js +283 -130
  172. package/components/input/textarea/index.js +13 -10
  173. package/components/input/upload/index.js +124 -0
  174. package/components/input/upload/props.js +5 -0
  175. package/components/input/util/index.js +11 -0
  176. package/components/navbar/index.js +51 -3
  177. package/components/navbar/nav/index.js +46 -16
  178. package/components/navbar/nav-item/index.js +11 -5
  179. package/components/navigation/menu/components/ListItems.js +3 -0
  180. package/components/navigation/menu/constants.js +2 -1
  181. package/components/navigation/menu/hooks/useHoverState.hook.js +48 -0
  182. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +37 -0
  183. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +15 -0
  184. package/components/navigation/menu/index.js +326 -188
  185. package/components/navigation/menu/utils/action-task.js +14 -0
  186. package/components/navigation/menu/utils/role-filter.js +76 -0
  187. package/components/navigation/popover/index.js +105 -32
  188. package/components/page/partial-container/index.js +34 -5
  189. package/components/prefab/index.js +2 -4
  190. package/context/PrefabContext.js +10 -6
  191. package/context/WidgetProvider.js +30 -31
  192. package/core/app.service.js +1 -1
  193. package/core/constants/events.js +57 -1
  194. package/core/dialog.service.js +1 -2
  195. package/core/event-notifier.js +1 -2
  196. package/core/formatter/array-formatters.js +33 -0
  197. package/core/formatter/date-formatters.js +2 -4
  198. package/core/formatter/index.js +2 -1
  199. package/core/formatter/number-formatters.js +5 -10
  200. package/core/formatter/security-formatters.js +2 -4
  201. package/core/formatter/string-formatters.js +3 -6
  202. package/core/proxy-service.js +85 -13
  203. package/core/script-registry.js +108 -48
  204. package/core/util/common.js +4 -4
  205. package/core/util/compare.js +30 -0
  206. package/core/util/dom.js +8 -8
  207. package/core/util/index.js +16 -6
  208. package/core/util/safe-is-equal.js +156 -0
  209. package/core/util/security.js +1 -2
  210. package/core/util/utils.js +16 -7
  211. package/higherOrder/BaseApp.js +108 -65
  212. package/higherOrder/BaseDateTime.js +31 -13
  213. package/higherOrder/BasePage.js +268 -144
  214. package/higherOrder/BasePartial.js +1 -1
  215. package/higherOrder/BasePrefab.js +33 -15
  216. package/higherOrder/DataNav.js +99 -16
  217. package/higherOrder/helper.js +41 -3
  218. package/higherOrder/withBaseWrapper.js +41 -28
  219. package/hooks/useAuth.js +11 -5
  220. package/hooks/useHttp.js +280 -94
  221. package/mui-config/theme-provider.js +1 -1
  222. package/mui-config/theme.js +1 -1
  223. package/package-lock.json +840 -740
  224. package/package.json +8 -8
  225. package/store/bindActions/i18nActions.js +18 -0
  226. package/store/index.js +3 -1
  227. package/store/slices/appConfigSlice.js +2 -2
  228. package/store/slices/authSlice.js +31 -28
  229. package/store/slices/i18nSlice.js +2 -2
  230. package/store/slices/navigationSlice.js +35 -0
  231. package/store/viewport.service.js +255 -0
  232. package/utils/attr.js +35 -0
  233. package/utils/dataset-util.js +1 -2
  234. package/utils/form-state.util.js +43 -12
  235. package/utils/form-utils.js +47 -2
  236. package/utils/format-util.js +28 -13
  237. package/utils/page-params-util.js +33 -1
  238. package/utils/state-persistance.js +72 -13
  239. package/utils/transformedDataset-utils.js +35 -24
  240. package/variables/base-variable.js +12 -14
  241. package/variables/crud-variable.js +225 -0
  242. package/variables/live-variable.js +56 -20
  243. package/variables/metadata.service.js +123 -0
  244. package/variables/model-variable.js +21 -15
  245. package/variables/service-variable.js +88 -83
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.executeActionTaskFromItem = executeActionTaskFromItem;
7
+ function executeActionTaskFromItem(item, listener) {
8
+ var _item$value$actiontas, _item$value, _item$dataObject;
9
+ var actiontask = (_item$value$actiontas = item === null || item === void 0 || (_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.actiontask) !== null && _item$value$actiontas !== void 0 ? _item$value$actiontas : item === null || item === void 0 || (_item$dataObject = item.dataObject) === null || _item$dataObject === void 0 ? void 0 : _item$dataObject.actiontask;
10
+ if (!actiontask || typeof actiontask !== "function") {
11
+ return;
12
+ }
13
+ actiontask ? actiontask() : null;
14
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.filterMenuNodesByRole = filterMenuNodesByRole;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ 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; }
10
+ 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; }
11
+ /**
12
+ * Filters menu nodes based on user role
13
+ * @param nodes - Array of menu nodes to filter
14
+ * @param currentUserRoles - Current logged-in user's roles (array or comma-separated string)
15
+ * @param userroleKey - The dynamic key name to use for extracting role from node (defaults to 'userrole')
16
+ * @returns Filtered array of menu nodes that the user has access to
17
+ */
18
+ function filterMenuNodesByRole(nodes, currentUserRoles) {
19
+ var userroleKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "userrole";
20
+ if (!nodes || !Array.isArray(nodes)) return [];
21
+
22
+ // Convert currentUserRoles to array format
23
+ var userRolesArray = [];
24
+ if (currentUserRoles) {
25
+ if (typeof currentUserRoles === "string") {
26
+ userRolesArray = currentUserRoles.split(",").map(function (r) {
27
+ return r.trim().toLowerCase();
28
+ });
29
+ } else if (Array.isArray(currentUserRoles)) {
30
+ userRolesArray = currentUserRoles.map(function (r) {
31
+ return r.toLowerCase();
32
+ });
33
+ }
34
+ }
35
+ return nodes.map(function (node) {
36
+ var _node$dataObject;
37
+ // Create a shallow copy to avoid mutating the original
38
+ var filteredNode = _objectSpread({}, node);
39
+
40
+ // Use the dynamic userroleKey to extract the role from the node
41
+ var nodeUserRole = ((_node$dataObject = node.dataObject) === null || _node$dataObject === void 0 ? void 0 : _node$dataObject[userroleKey]) || (node === null || node === void 0 ? void 0 : node[userroleKey]);
42
+
43
+ // If no userrole is specified on the node, include the item
44
+ if (!nodeUserRole) {
45
+ // Still recursively filter children if they exist
46
+ if (filteredNode.children && Array.isArray(filteredNode.children)) {
47
+ filteredNode.children = filterMenuNodesByRole(filteredNode.children, currentUserRoles, userroleKey);
48
+ }
49
+ return filteredNode;
50
+ }
51
+
52
+ // If userrole is specified but user has no roles, exclude the item
53
+ if (!currentUserRoles || userRolesArray.length === 0) {
54
+ return null;
55
+ }
56
+
57
+ // Check if any of the user's roles match the allowed roles
58
+ var allowedRoles = nodeUserRole.split(",").map(function (r) {
59
+ return r.trim().toLowerCase();
60
+ });
61
+ var hasAccess = userRolesArray.some(function (userRole) {
62
+ return allowedRoles.includes(userRole);
63
+ });
64
+ if (!hasAccess) {
65
+ return null;
66
+ }
67
+
68
+ // User has access, recursively filter children
69
+ if (filteredNode.children && Array.isArray(filteredNode.children)) {
70
+ filteredNode.children = filterMenuNodesByRole(filteredNode.children, currentUserRoles, userroleKey);
71
+ }
72
+ return filteredNode;
73
+ }).filter(function (node) {
74
+ return node !== null;
75
+ });
76
+ }
@@ -35,18 +35,72 @@ var WmPopover = function WmPopover(Props) {
35
35
  open = _useState4[0],
36
36
  setOpen = _useState4[1];
37
37
  var isOpen = Boolean(anchorEl);
38
- function handleLoad() {
38
+ var parentWidgetRef = (0, _react.useRef)(null);
39
+
40
+ // Exposeable methods
41
+ var openPopover = (0, _react.useCallback)(function () {
42
+ var _props$onShow;
43
+ if (!anchorRef.current) {
44
+ return;
45
+ }
46
+ calculatePlacement();
47
+ setAnchorEl(anchorRef.current);
48
+ setIsDialogOpen(true);
49
+ props === null || props === void 0 || (_props$onShow = props.onShow) === null || _props$onShow === void 0 || _props$onShow.call(props, {}, _objectSpread(_objectSpread({
50
+ isOpen: true
51
+ }, props), {}, {
52
+ viewParent: parentWidgetRef.current
53
+ }));
54
+ }, []);
55
+ var closePopover = (0, _react.useCallback)(function () {
56
+ var _props$onHide;
57
+ if (!isOpen) {
58
+ return;
59
+ }
60
+ setAnchorEl(null);
61
+ setIsDialogOpen(false);
62
+ props === null || props === void 0 || (_props$onHide = props.onHide) === null || _props$onHide === void 0 || _props$onHide.call(props, {}, _objectSpread(_objectSpread({
63
+ isOpen: false
64
+ }, props), {}, {
65
+ viewParent: parentWidgetRef.current
66
+ }));
67
+ }, [isOpen]);
68
+ var togglePopover = (0, _react.useCallback)(function () {
69
+ if (isOpen) {
70
+ closePopover();
71
+ } else {
72
+ openPopover();
73
+ }
74
+ }, [isOpen, openPopover, closePopover]);
75
+
76
+ // Register methods on listener
77
+ (0, _react.useEffect)(function () {
78
+ var _ref = props,
79
+ listener = _ref.listener,
80
+ name = _ref.name;
81
+ if (listener !== null && listener !== void 0 && listener.onChange && name) {
82
+ listener.onChange(name, {
83
+ open: openPopover,
84
+ close: closePopover,
85
+ toggle: togglePopover,
86
+ isOpen: isOpen
87
+ });
88
+ }
89
+ }, []);
90
+ function handleLoad(widget) {
39
91
  if (props.onLoad && !loadedRef.current) {
40
92
  loadedRef.current = true;
41
- var widgetInstance = _objectSpread({
42
- isOpen: isOpen
43
- }, props);
44
- props.onLoad(widgetInstance);
93
+ props.onLoad(widget);
45
94
  }
46
95
  }
47
96
  (0, _react.useEffect)(function () {
48
- handleLoad();
49
- }, [!loadedRef.current]);
97
+ if (!isOpen || props.content) {
98
+ return;
99
+ }
100
+ handleLoad(_objectSpread({
101
+ isOpen: isOpen
102
+ }, props));
103
+ }, [isOpen]);
50
104
  var calculatePlacement = function calculatePlacement() {
51
105
  if (!anchorRef.current) return;
52
106
  var rect = anchorRef.current.getBoundingClientRect();
@@ -67,28 +121,37 @@ var WmPopover = function WmPopover(Props) {
67
121
  var handleClick = function handleClick(event) {
68
122
  event.preventDefault();
69
123
  event.stopPropagation();
124
+ parentWidgetRef.current = props.listener;
125
+ var widget = _objectSpread({
126
+ isOpen: isOpen
127
+ }, props);
128
+ widget.viewParent = parentWidgetRef.current;
129
+ delete widget.listener;
130
+ if (!isOpen) {
131
+ loadedRef.current = false;
132
+ }
70
133
  if (anchorEl) {
71
134
  if (isDialogOpen) {
72
- var _props$onHide;
135
+ var _props$onHide2;
73
136
  setIsDialogOpen(false);
74
137
  setAnchorEl(null);
75
- props === null || props === void 0 || (_props$onHide = props.onHide) === null || _props$onHide === void 0 || _props$onHide.call(props, event.nativeEvent, props);
138
+ props === null || props === void 0 || (_props$onHide2 = props.onHide) === null || _props$onHide2 === void 0 || _props$onHide2.call(props, event.nativeEvent, widget);
76
139
  return;
77
140
  }
78
141
  (0, _debounce["default"])(function () {
79
- var _props$onHide2;
142
+ var _props$onHide3;
80
143
  setAnchorEl(null);
81
- props === null || props === void 0 || (_props$onHide2 = props.onHide) === null || _props$onHide2 === void 0 || _props$onHide2.call(props, event.nativeEvent, props);
144
+ props === null || props === void 0 || (_props$onHide3 = props.onHide) === null || _props$onHide3 === void 0 || _props$onHide3.call(props, event.nativeEvent, widget);
82
145
  }, 500);
83
146
  } else {
84
- var _props$onShow;
147
+ var _props$onShow2;
85
148
  if (open) {
86
149
  setOpen(false);
87
150
  return;
88
151
  }
89
152
  calculatePlacement();
90
153
  setAnchorEl(event.currentTarget);
91
- props === null || props === void 0 || (_props$onShow = props.onShow) === null || _props$onShow === void 0 || _props$onShow.call(props, event.nativeEvent, props);
154
+ props === null || props === void 0 || (_props$onShow2 = props.onShow) === null || _props$onShow2 === void 0 || _props$onShow2.call(props, event.nativeEvent, widget);
92
155
  setIsDialogOpen(true);
93
156
  }
94
157
  };
@@ -101,31 +164,37 @@ var WmPopover = function WmPopover(Props) {
101
164
  horizontal: placement === "left" ? "right" : placement === "right" ? "left" : "center"
102
165
  };
103
166
  function handleClose(event, reason) {
104
- var _props$onHide5;
167
+ var _props$onHide6;
105
168
  if (props.autoclose === "disabled") {
106
169
  return;
107
170
  }
108
171
  // Always: close when user clicks anywhere on the page
109
172
  else if (props.autoclose === "always") {
110
- var _props$onHide3;
173
+ var _props$onHide4;
111
174
  setAnchorEl(null);
112
- props === null || props === void 0 || (_props$onHide3 = props.onHide) === null || _props$onHide3 === void 0 || _props$onHide3.call(props, event.nativeEvent, props);
175
+ props === null || props === void 0 || (_props$onHide4 = props.onHide) === null || _props$onHide4 === void 0 || _props$onHide4.call(props, event.nativeEvent, _objectSpread(_objectSpread({}, props), {}, {
176
+ viewParent: parentWidgetRef.current
177
+ }));
113
178
  return;
114
179
  }
115
180
 
116
181
  // Outside Click: close when user clicks outside the popover content
117
182
  else if (props.autoclose === "outsideClick") {
118
183
  if (reason === "backdropClick") {
119
- var _props$onHide4;
184
+ var _props$onHide5;
120
185
  setAnchorEl(null);
121
- props === null || props === void 0 || (_props$onHide4 = props.onHide) === null || _props$onHide4 === void 0 || _props$onHide4.call(props, event.nativeEvent, props);
186
+ props === null || props === void 0 || (_props$onHide5 = props.onHide) === null || _props$onHide5 === void 0 || _props$onHide5.call(props, event.nativeEvent, _objectSpread(_objectSpread({}, props), {}, {
187
+ viewParent: parentWidgetRef.current
188
+ }));
122
189
  }
123
190
  return;
124
191
  }
125
192
 
126
193
  // Default behavior for any other autoclose value
127
194
  setAnchorEl(null);
128
- props === null || props === void 0 || (_props$onHide5 = props.onHide) === null || _props$onHide5 === void 0 || _props$onHide5.call(props, event.nativeEvent, props);
195
+ props === null || props === void 0 || (_props$onHide6 = props.onHide) === null || _props$onHide6 === void 0 || _props$onHide6.call(props, event.nativeEvent, _objectSpread(_objectSpread({}, props), {}, {
196
+ viewParent: parentWidgetRef.current
197
+ }));
129
198
  }
130
199
  var arrowStyles = (0, _react.useMemo)(function () {
131
200
  if (!anchorRef.current) return {};
@@ -133,8 +202,8 @@ var WmPopover = function WmPopover(Props) {
133
202
  left: "calc(50% - 10px)"
134
203
  }), placement === "bottom" && {
135
204
  left: "calc(50% - 10px)"
136
- }), (placement === "left" || placement === "right") && {
137
- top: anchorRef.current ? "".concat(anchorRef.current.getBoundingClientRect().top + anchorRef.current.getBoundingClientRect().height / 2 - 10, "px") : "calc(50% - 10px)"
205
+ }), {}, {
206
+ marginLeft: "-4px"
138
207
  });
139
208
  }, [placement, props.popoverplacement, calculatePlacement]);
140
209
  var popoverHeight = props.popoverheight.includes("px") ? props.popoverheight : "".concat(props.popoverheight, "px");
@@ -145,7 +214,8 @@ var WmPopover = function WmPopover(Props) {
145
214
  "app-popover-wrapper": true
146
215
  }),
147
216
  style: props.styles,
148
- name: props.name
217
+ name: props.name,
218
+ hidden: props.hidden
149
219
  }, __jsx(_anchor.WmAnchor, {
150
220
  hint: props.hint || props.name,
151
221
  ref: anchorRef,
@@ -156,7 +226,7 @@ var WmPopover = function WmPopover(Props) {
156
226
  styles: props.styles,
157
227
  onClick: handleClick,
158
228
  onMouseEnter: function onMouseEnter(event) {
159
- if (props.interaction === "hover") {
229
+ if (props.interaction === "hover" || props.interaction === "default") {
160
230
  handleClick(event);
161
231
  }
162
232
  },
@@ -173,8 +243,10 @@ var WmPopover = function WmPopover(Props) {
173
243
  iconwidth: props.iconwidth,
174
244
  badgevalue: props.badgevalue,
175
245
  encodeurl: props.encodeurl,
176
- shortcutkey: props.shortcutkey
246
+ shortcutkey: props.shortcutkey,
247
+ name: props.name
177
248
  })), __jsx(_Popover["default"], {
249
+ hidden: props.hidden,
178
250
  open: isOpen,
179
251
  anchorEl: anchorEl,
180
252
  onClose: handleClose,
@@ -185,19 +257,18 @@ var WmPopover = function WmPopover(Props) {
185
257
  exit: 0
186
258
  },
187
259
  disableScrollLock: true,
260
+ disableAutoFocus: true,
261
+ disableEnforceFocus: true,
262
+ disableRestoreFocus: true,
188
263
  slotProps: {
189
264
  paper: {
190
265
  style: {
191
266
  height: popoverHeight,
192
- width: popoverWidth
267
+ width: popoverWidth,
268
+ pointerEvents: props.autoclose === "disabled" ? "none" : "auto"
193
269
  },
194
- className: (0, _clsx["default"])(placement, "app-popover in popover", props.contentanimation && "animated ".concat(props.contentanimation), "popover-".concat(placement), "bs-popover-".concat(placement))
270
+ className: (0, _clsx["default"])(placement, "app-popover in popover", props.contentanimation && "animated ".concat(props.contentanimation), "popover-".concat(placement), "bs-popover-".concat(placement), 'bs3 popover-logout-popover')
195
271
  }
196
- },
197
- style: {
198
- pointerEvents: props.autoclose === "disabled" ? "none" : "auto",
199
- height: popoverHeight,
200
- width: popoverWidth
201
272
  }
202
273
  }, __jsx("div", {
203
274
  className: (0, _clsx["default"])("popover-arrow arrow", props.popoverarrow === false && "hidden"),
@@ -206,6 +277,8 @@ var WmPopover = function WmPopover(Props) {
206
277
  className: "popover-title popover-header"
207
278
  }, props.title), __jsx("div", {
208
279
  className: "popover-content popover-body"
209
- }, props.render && props.content ? props.render(props, handleLoad) : props.children)));
280
+ }, props.render && props.content ? __jsx(_react.Suspense, {
281
+ fallback: null
282
+ }, props.render(props, handleLoad)) : props.children)));
210
283
  };
211
284
  var _default = exports["default"] = (0, _withBaseWrapper["default"])(WmPopover);
@@ -6,16 +6,30 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var _Container = _interopRequireDefault(require("@mui/material/Container"));
11
12
  var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/appstore"));
13
+ var _spinner = require("../../basic/spinner");
14
+ var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
12
15
  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" != _typeof(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); }
13
16
  var __jsx = _react["default"].createElement;
17
+ 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; }
18
+ 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; }
14
19
  var WmPartialContainer = /*#__PURE__*/(0, _react.memo)(function (props) {
15
20
  var prefab = props.prefab,
16
21
  content = props.content,
17
- prefabName = props.prefabName;
22
+ prefabName = props.prefabName,
23
+ onLoad = props.onLoad;
24
+ var loadedRef = (0, _react.useRef)(false);
18
25
  var params = {};
26
+ var handleLoad = (0, _react.useCallback)(function (widget) {
27
+ if (onLoad && !loadedRef.current) {
28
+ loadedRef.current = true;
29
+ widget.viewParent = props.listener;
30
+ onLoad(widget);
31
+ }
32
+ }, [onLoad, props.listener]);
19
33
  Object.keys(props).forEach(function (k) {
20
34
  //@ts-ignore
21
35
  params[k] = props[k];
@@ -27,7 +41,9 @@ var WmPartialContainer = /*#__PURE__*/(0, _react.memo)(function (props) {
27
41
  var _partial = _partials.find(function (p) {
28
42
  return p.name === content;
29
43
  });
30
- return __jsx(_react["default"].Fragment, null, _partial ? /*#__PURE__*/_react["default"].createElement(_partial.component, params) : null);
44
+ return __jsx(_react["default"].Fragment, null, _partial ? /*#__PURE__*/_react["default"].createElement(_partial.component, _objectSpread(_objectSpread({}, params), {}, {
45
+ onRender: handleLoad
46
+ })) : null);
31
47
  }
32
48
 
33
49
  // @ts-ignore
@@ -35,12 +51,25 @@ var WmPartialContainer = /*#__PURE__*/(0, _react.memo)(function (props) {
35
51
  var partial = partials.find(function (p) {
36
52
  return p.name === content;
37
53
  });
38
- return __jsx(_react["default"].Fragment, null, partial ? /*#__PURE__*/_react["default"].createElement(partial.component, params) : null);
54
+ return __jsx(_react["default"].Fragment, null, partial ? /*#__PURE__*/_react["default"].createElement(partial.component, _objectSpread(_objectSpread({}, params), {}, {
55
+ onRender: handleLoad
56
+ })) : null);
39
57
  };
40
- return __jsx(_Container["default"], null, contentToRender());
58
+ return __jsx(_Container["default"], {
59
+ className: "partial-container"
60
+ }, __jsx(_react.Suspense, {
61
+ fallback: __jsx(_spinner.WmSpinner, {
62
+ show: true,
63
+ listener: props.listener,
64
+ name: "partial-container-spinner"
65
+ })
66
+ }, contentToRender()));
41
67
  }, function (prevProps, nextProps) {
42
- var keys = ["content", "prefab", "prefabName", "partialName"];
68
+ var keys = ["content", "prefab", "prefabName", "partialName", "styles", "params"];
43
69
  return keys.every(function (key) {
70
+ if (key == "styles") {
71
+ return (0, _isEqual["default"])(prevProps[key], nextProps[key]);
72
+ }
44
73
  return prevProps[key] === nextProps[key];
45
74
  });
46
75
  });
@@ -10,6 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
+ var _attr = require("@wavemaker/react-runtime/utils/attr");
13
14
  var _excluded = ["styles", "onLoad", "onDestroy", "onRender", "children", "trafficlayer", "transitlayer", "stopover", "onMarkerclick", "onMarkerhover", "onMarkerdragend", "show", "listener", "width", "height"];
14
15
  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" != _typeof(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); }
15
16
  var __jsx = _react["default"].createElement;
@@ -52,10 +53,7 @@ var WmPrefab = function WmPrefab(props) {
52
53
  }
53
54
  };
54
55
  }, [onLoad, onDestroy]);
55
- if (!show && !loadedRef.current) {
56
- return null;
57
- }
58
- return __jsx("div", (0, _extends2["default"])({}, rest, {
56
+ return __jsx("div", (0, _extends2["default"])({}, (0, _attr.removeInvalidAttributes)(rest, ["hidden"]), {
59
57
  style: _objectSpread(_objectSpread(_objectSpread({}, styles), width !== undefined && {
60
58
  width: parseFloat(width)
61
59
  }), height !== undefined && {
@@ -5,17 +5,21 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports["default"] = exports.PrefabContext = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
  var _lodash = require("lodash");
12
12
  var _events = require("../core/constants/events");
13
13
  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" != _typeof(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); }
14
14
  var __jsx = _react["default"].createElement;
15
- var PrefabContext = /*#__PURE__*/(0, _react.createContext)({
15
+ var PrefabContext = exports.PrefabContext = /*#__PURE__*/(0, _react.createContext)({
16
16
  inbound: {},
17
17
  outbound: {},
18
- prefabName: ""
18
+ prefabName: "",
19
+ parentForm: undefined,
20
+ isParentList: false,
21
+ formArrayIndex: -1,
22
+ parentListName: undefined
19
23
  });
20
24
  var getChangedKeys = function getChangedKeys(prev, curr) {
21
25
  var changes = [];
@@ -92,7 +96,7 @@ var PrefabProvider = function PrefabProvider(_ref) {
92
96
  }
93
97
 
94
98
  // Try to emit with retry mechanism
95
- var tryEmit = function tryEmit() {
99
+ var _tryEmit = function tryEmit() {
96
100
  // Convert array to object format that BasePage expects: {0: change1, 1: change2, ...}
97
101
  var changesAsObject = {};
98
102
  pendingChangesRef.current.forEach(function (change, index) {
@@ -112,7 +116,7 @@ var PrefabProvider = function PrefabProvider(_ref) {
112
116
 
113
117
  // On initial mount, use more RAF cycles for slower machines
114
118
  var rafCycles = isInitialMountRef.current ? 10 : 5;
115
- var rafChain = tryEmit;
119
+ var rafChain = _tryEmit;
116
120
  var _loop = function _loop() {
117
121
  var next = rafChain;
118
122
  rafChain = function rafChain() {
@@ -149,7 +153,7 @@ var PrefabProvider = function PrefabProvider(_ref) {
149
153
  var initialRafCycles = isInitialMountRef.current ? 5 : 3;
150
154
  queueMicrotask(function () {
151
155
  // Build RAF chain: each cycle waits for the next frame
152
- var rafChain = tryEmit;
156
+ var rafChain = _tryEmit;
153
157
  var _loop2 = function _loop2() {
154
158
  var next = rafChain;
155
159
  rafChain = function rafChain() {
@@ -9,12 +9,10 @@ exports.useWidgetProxy = exports.useProxy = exports.usePageContext = exports.use
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
- var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
13
12
  var _get = _interopRequireDefault(require("lodash-es/get"));
14
13
  var _debounce = _interopRequireDefault(require("lodash-es/debounce"));
15
14
  var _proxyService = require("../core/proxy-service");
16
15
  var _useHttp = require("../hooks/useHttp");
17
- var _widgetCleanupUtil = require("../utils/widget-cleanup-util");
18
16
  var _formState = require("../utils/form-state.util");
19
17
  var _events = require("../core/constants/events");
20
18
  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" != _typeof(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); }
@@ -36,20 +34,6 @@ var WidgetProvider = exports.WidgetProvider = function WidgetProvider(_ref) {
36
34
  setPageContext = _useState[1];
37
35
  var pageContextRef = (0, _react.useRef)(value);
38
36
  pageContextRef.current = pageContext;
39
-
40
- // Create cleanup utility instance
41
- var cleanupUtilRef = (0, _react.useRef)(null);
42
-
43
- // Initialize cleanup utility if not already created
44
- if (!cleanupUtilRef.current) {
45
- cleanupUtilRef.current = (0, _widgetCleanupUtil.createWidgetCleanup)({
46
- setPageContext: setPageContext,
47
- proxyRef: {
48
- current: proxy
49
- },
50
- debounceDelay: 100
51
- });
52
- }
53
37
  (0, _react.useEffect)(function () {
54
38
  setPageContext(function (prevContext) {
55
39
  var newContext = _objectSpread({}, prevContext);
@@ -59,12 +43,14 @@ var WidgetProvider = exports.WidgetProvider = function WidgetProvider(_ref) {
59
43
  var incomingWidget = value.Widgets[widgetName];
60
44
  if (!currentWidget || !proxyMap.has(currentWidget)) {
61
45
  // Create new proxy if widget doesn't exist or isn't proxied
62
- var widgetProxy = (0, _proxyService.createWidgetProxy)(_objectSpread({}, incomingWidget), widgetName, setPageContext);
46
+ // Get registry from pageContext if available
47
+ var registry = value === null || value === void 0 ? void 0 : value.overriddenPropsRegistry;
48
+ var widgetProxy = (0, _proxyService.createWidgetProxy)(_objectSpread({}, incomingWidget), widgetName, setPageContext, registry);
63
49
  newContext.Widgets[widgetName] = widgetProxy;
64
50
  newContext.App.Widgets[widgetName] = widgetProxy;
65
51
 
66
52
  // Register form field if applicable
67
- (0, _formState.registerFormField)(newContext.Widgets, widgetProxy, incomingWidget);
53
+ (0, _formState.registerFormField)(newContext.Widgets, widgetProxy, incomingWidget, newContext);
68
54
  } else {
69
55
  // Update existing proxy properties - important for widgets that start minimal
70
56
  // Always update all properties to ensure proxy has complete data
@@ -94,7 +80,7 @@ var WidgetProvider = exports.WidgetProvider = function WidgetProvider(_ref) {
94
80
  return function (widgetName, props) {
95
81
  if (!widgetName || !pageContext.Widgets) return;
96
82
  var widget = pageContext.Widgets[widgetName];
97
- if (!(0, _isEqual["default"])(widget, props)) {
83
+ if (widget != props) {
98
84
  pageContext.Widgets[widgetName] = props;
99
85
  pageContextRef.current.Widgets[widgetName] = props;
100
86
  }
@@ -103,18 +89,6 @@ var WidgetProvider = exports.WidgetProvider = function WidgetProvider(_ref) {
103
89
  (0, _formState.registerFormFieldSafe)(pageContext.Widgets, props);
104
90
  };
105
91
  }, []);
106
- var cleanup = function cleanup(name) {
107
- var _cleanupUtilRef$curre;
108
- (_cleanupUtilRef$curre = cleanupUtilRef.current) === null || _cleanupUtilRef$curre === void 0 || _cleanupUtilRef$curre.cleanup(name);
109
- };
110
- var contextValue = (0, _react.useMemo)(function () {
111
- return {
112
- pageContext: pageContext,
113
- updateWidgetState: updateWidgetState,
114
- proxy: proxy,
115
- cleanup: cleanup
116
- };
117
- }, [pageContext, updateWidgetState, proxy, cleanup]);
118
92
 
119
93
  // Stable debounced emitter
120
94
  var debouncedEmitRef = (0, _react.useRef)((0, _debounce["default"])(function (partialName, context) {
@@ -150,6 +124,28 @@ var WidgetProvider = exports.WidgetProvider = function WidgetProvider(_ref) {
150
124
  if (isPage || !partialName) return;
151
125
  debouncedEmitRef.current(partialName, proxy);
152
126
  }, [isPage, partialName, pageContext]);
127
+ var destroy = (0, _react.useCallback)(function (widgetName) {
128
+ widgetName.forEach(function (name) {
129
+ var _overriddenPropsRegis;
130
+ pageContext === null || pageContext === void 0 || (_overriddenPropsRegis = pageContext.overriddenPropsRegistry) === null || _overriddenPropsRegis === void 0 || _overriddenPropsRegis.destroy(name);
131
+ if (pageContext.Widgets[name]) {
132
+ delete pageContext.Widgets[name];
133
+ delete proxy.Widgets[name];
134
+ }
135
+ if (pageContext.Widgets[name]) {
136
+ delete pageContext.Widgets[name];
137
+ delete proxy.Widgets[name];
138
+ }
139
+ });
140
+ }, []);
141
+ var contextValue = (0, _react.useMemo)(function () {
142
+ return {
143
+ pageContext: pageContext,
144
+ updateWidgetState: updateWidgetState,
145
+ proxy: proxy,
146
+ destroy: destroy
147
+ };
148
+ }, [pageContext, updateWidgetState, proxy, destroy]);
153
149
  return __jsx(_useHttp.HttpProvider, null, __jsx(WidgetContext.Provider, {
154
150
  value: contextValue
155
151
  }, children));
@@ -166,6 +162,9 @@ var useWidgetProxy = exports.useWidgetProxy = function useWidgetProxy(name) {
166
162
  if (!context) {
167
163
  throw new Error("useWidgetProxy must be used within a WidgetProvider");
168
164
  }
165
+ if (!name) {
166
+ return context.proxy.Widgets;
167
+ }
169
168
  return (0, _get["default"])(context.proxy, "Widgets.".concat(name), {});
170
169
  };
171
170
  var useProxy = exports.useProxy = function useProxy(path) {
@@ -33,7 +33,7 @@ function _loadWmProperties() {
33
33
  case 0:
34
34
  _context4.prev = 0;
35
35
  _context4.next = 3;
36
- return _axios["default"].get("".concat(baseUrl, "/services/application/wmProperties.js"));
36
+ return _axios["default"].get("".concat(baseUrl !== null && baseUrl !== void 0 ? baseUrl : "", "/services/application/wmProperties.js"));
37
37
  case 3:
38
38
  response = _context4.sent;
39
39
  text = response.data;