@wavemaker/react-runtime 11.14.1-rc.241 → 11.14.2-1.6423

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 (73) hide show
  1. package/actions/navigation-action.js +5 -3
  2. package/actions/notification-action.js +6 -3
  3. package/components/basic/anchor/index.js +6 -7
  4. package/components/basic/label/index.js +2 -2
  5. package/components/basic/search/index.js +7 -3
  6. package/components/chart/components/barColumnChart/index.js +2 -4
  7. package/components/chart/components/pieDonutChart/index.js +3 -1
  8. package/components/chart/hooks/useBarYAxisExtras.js +52 -0
  9. package/components/chart/hooks/useXAxisConfig.js +98 -0
  10. package/components/chart/index.js +72 -39
  11. package/components/chart/utils.js +23 -12
  12. package/components/container/index.js +6 -7
  13. package/components/container/panel/components/panel-header/index.js +3 -2
  14. package/components/container/panel/index.js +13 -9
  15. package/components/container/tabs/index.js +1 -0
  16. package/components/container/tabs/tab-pane/index.js +39 -3
  17. package/components/container/wizard/index.js +187 -57
  18. package/components/container/wizard/utils.js +1 -1
  19. package/components/container/wizard/wizard-action/index.js +9 -4
  20. package/components/container/wizard/wizard-step/index.js +21 -8
  21. package/components/data/form/base-form/index.js +51 -11
  22. package/components/data/form/form-controller/withFormController.js +7 -10
  23. package/components/data/list/components/GroupedListItems.js +5 -1
  24. package/components/data/list/components/ListItemWithTemplate.js +4 -1
  25. package/components/data/list/hooks/useListEffects.js +34 -14
  26. package/components/data/list/hooks/useListEventHandlers.js +18 -2
  27. package/components/data/list/hooks/useListState.js +15 -2
  28. package/components/data/list/index.js +1 -0
  29. package/components/data/list/utils/list-helpers.js +3 -5
  30. package/components/data/list/utils/list-widget-methods.js +1 -1
  31. package/components/data/live-filter/index.js +6 -5
  32. package/components/data/live-form/index.js +24 -14
  33. package/components/data/table/components/TableBody.js +5 -21
  34. package/components/data/table/components/TableHeader.js +5 -1
  35. package/components/data/table/index.js +21 -5
  36. package/components/data/utils/field-data-utils.js +1 -1
  37. package/components/dialogs/index.js +14 -16
  38. package/components/input/currency/index.js +11 -7
  39. package/components/input/default/checkbox/index.js +2 -3
  40. package/components/input/default/checkboxset/index.js +2 -22
  41. package/components/input/default/radioset/index.js +5 -4
  42. package/components/input/epoch/datetime/index.js +6 -2
  43. package/components/input/epoch/time/index.js +2 -1
  44. package/components/input/number/index.js +2 -2
  45. package/components/input/text/util.js +2 -0
  46. package/components/input/textarea/index.js +22 -24
  47. package/components/layout/leftnav/index.js +1 -1
  48. package/components/navbar/nav/index.js +97 -7
  49. package/components/navbar/nav-item/index.js +5 -2
  50. package/components/navigation/menu/index.js +73 -12
  51. package/components/navigation/popover/index.js +2 -0
  52. package/components/page/error-boundary/index.js +1 -0
  53. package/components/prefab/container/index.js +10 -3
  54. package/context/LocalizationProvider.js +1 -0
  55. package/context/PrefabContext.js +138 -13
  56. package/context/WidgetProvider.js +2 -2
  57. package/core/constants/events.js +12 -6
  58. package/core/constants/index.js +6 -11
  59. package/core/formatter/number-formatters.js +1 -1
  60. package/core/proxy-service.js +72 -36
  61. package/core/util/utils.js +23 -4
  62. package/higherOrder/BaseApp.js +60 -18
  63. package/higherOrder/BasePage.js +99 -77
  64. package/higherOrder/BasePrefab.js +13 -5
  65. package/higherOrder/withBaseWrapper.js +3 -3
  66. package/hooks/useDataSourceSubscription.js +1 -1
  67. package/hooks/useHttp.js +20 -13
  68. package/mui-config/theme.js +3 -0
  69. package/package-lock.json +781 -669
  70. package/package.json +3 -3
  71. package/store/index.js +5 -1
  72. package/utils/lib-error-skipper.js +196 -0
  73. package/variables/service-variable.js +17 -14
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.withPageContext = exports["default"] = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14
  var _react = _interopRequireWildcard(require("react"));
@@ -31,14 +32,14 @@ var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/ap
31
32
  var _scriptRegistry = require("@wavemaker/react-runtime/core/script-registry");
32
33
  var _formatters = _interopRequireDefault(require("../core/formatters"));
33
34
  var _AppContext2 = require("../context/AppContext");
34
- var _utils = require("../core/util/utils");
35
35
  var _widgetCleanupUtil = require("../utils/widget-cleanup-util");
36
36
  var _pageParamsUtil = require("../utils/page-params-util");
37
37
  var _constants = require("../core/constants");
38
38
  var _AppSpinnerProvider = require("../context/AppSpinnerProvider");
39
39
  var _lodash = require("lodash");
40
40
  var _events = require("../core/constants/events");
41
- 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); }
41
+ var _libErrorSkipper = require("../utils/lib-error-skipper");
42
+ 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); }
42
43
  var __jsx = _react["default"].createElement;
43
44
  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; }
44
45
  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; }
@@ -94,9 +95,6 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
94
95
  var _useState = (0, _react.useState)(false),
95
96
  isInitialized = _useState[0],
96
97
  setIsInitialized = _useState[1];
97
- var _useState2 = (0, _react.useState)(false),
98
- startupComplete = _useState2[0],
99
- setStartupComplete = _useState2[1];
100
98
  var redirectHandledRef = (0, _react.useRef)(false);
101
99
 
102
100
  // Refs for managing component lifecycle
@@ -106,14 +104,14 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
106
104
  var pageProxyRef = (0, _react.useRef)(null);
107
105
  var isInitializingRef = (0, _react.useRef)(false);
108
106
  var isMountedRef = (0, _react.useRef)(true);
109
- var startupInvokedRef = (0, _react.useRef)(false);
110
107
  var usedFallbackAppVarsRef = (0, _react.useRef)(false);
111
108
  var appVarSubscriptionsDoneRef = (0, _react.useRef)(false);
112
109
  var subscribedVariableNamesRef = (0, _react.useRef)(new Set());
113
110
  var cleanupUtilRef = (0, _react.useRef)(null);
111
+ var isContentReadyRef = (0, _react.useRef)(false);
114
112
 
115
113
  // Initial page context state
116
- var _useState3 = (0, _react.useState)(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
114
+ var _useState2 = (0, _react.useState)(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
117
115
  Widgets: {},
118
116
  Variables: {},
119
117
  Actions: {},
@@ -134,9 +132,8 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
134
132
  executeStartup: executeStartup,
135
133
  formatters: _formatters["default"]
136
134
  })),
137
- pageContext = _useState3[0],
138
- setPageContext = _useState3[1];
139
-
135
+ pageContext = _useState2[0],
136
+ setPageContext = _useState2[1];
140
137
  // Enhanced initial app config that inherits from app context if available
141
138
  var initialAppConfig = (0, _react.useMemo)(function () {
142
139
  return appContext;
@@ -297,31 +294,30 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
297
294
  newParams = (0, _pageParamsUtil.computeMergedPageParams)(urlParams, {
298
295
  componentType: componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentType,
299
296
  props: props
300
- }); // Update proxy with merged variables and actions
297
+ });
298
+ appProxy.appLocale = i18n.appLocale || {};
299
+
300
+ // Update proxy with merged variables and actions
301
301
  pageProxy.Variables = Variables;
302
302
  pageProxy.Actions = Actions;
303
303
  pageProxy.pageParams = _objectSpread({}, newParams);
304
- pageProxy.App = _objectSpread(_objectSpread(_objectSpread({}, initialAppConfig), appVariables), {}, {
305
- pageParams: _objectSpread({}, newParams),
306
- selectedLocale: i18n.selectedLocale || "en"
307
- });
304
+ pageProxy.App = _objectSpread(_objectSpread({}, appProxy), initialAppConfig);
305
+ pageProxy.pageParams = _objectSpread({}, newParams);
306
+ pageProxy.selectedLocale = i18n.selectedLocale || "en";
308
307
 
309
308
  // Setup variable event handlers
310
309
  setupVariableSubscriptions(pageVariables.Variables);
311
310
  if ((componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentType) === "PAGE" && appProxy) {
312
311
  pageName = componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentName;
313
312
  appProxy.updateActivePage(pageName);
313
+ appProxy.activePage = pageProxy;
314
314
  }
315
315
 
316
316
  // Initialize page script
317
- try {
318
- addPageScript(appProxy, pageProxy);
319
- } catch (e) {
320
- if ((0, _utils.isJQueryError)(e)) {
321
- appContext === null || appContext === void 0 || appContext.notifyApp("React App is not supporting this functionality check console for more details", "Error");
322
- }
323
- console.error(e);
324
- }
317
+ addPageScript(appProxy, pageProxy);
318
+
319
+ // Gaurd for unsupported third party functionality
320
+ (0, _libErrorSkipper.wrapWithThirdPartyErrorGuard)(pageProxy, appContext, (componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentName) || "Prefab");
325
321
 
326
322
  // Setup global wm object for pages
327
323
  if ((componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentType) === "PAGE") {
@@ -432,18 +428,25 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
432
428
  (0, _react.useEffect)(function () {
433
429
  if (prefabInfo && (componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentType) === "PREFAB") {
434
430
  var handlePrefabStateRefresh = function handlePrefabStateRefresh(data) {
431
+ var proxy = pageProxyRef.current;
435
432
  Object.keys(data).forEach(function (key) {
436
- var onPropertyChange = pageProxyRef.current.onPropertyChange;
437
- if (onPropertyChange) {
438
- onPropertyChange(data[key].key, data[key].newValue, data[key].oldValue);
439
- // pageProxyRef.current[data[key].key] = data[key].newValue;
440
- pageContext.Widgets[data[key].key] = data[key].newValue;
433
+ var _data$key$newValue;
434
+ var propKey = data[key].key;
435
+ var newValue = (_data$key$newValue = data[key].newValue) !== null && _data$key$newValue !== void 0 ? _data$key$newValue : data[key].oldValue;
436
+ if (newValue && (0, _typeof2["default"])(newValue) === "object") {
437
+ newValue = (0, _cloneDeep["default"])(newValue);
438
+ }
439
+
440
+ // Call onPropertyChange if available
441
+ if (proxy && proxy.onPropertyChange) {
442
+ proxy[propKey] = newValue;
443
+ proxy.onPropertyChange(propKey, newValue, data[key].oldValue);
441
444
  }
442
445
  });
443
446
  };
444
- _events.EVENTEMITTER_METHODS.PREFAB_STATE_SYNC_ON(handlePrefabStateRefresh);
447
+ _events.EVENTEMITTER_METHODS.PREFAB_STATE_SYNC_ON(prefabInfo === null || prefabInfo === void 0 ? void 0 : prefabInfo.name, handlePrefabStateRefresh);
445
448
  return function () {
446
- _events.EVENTEMITTER_METHODS.PREFAB_STATE_SYNC_OFF(handlePrefabStateRefresh);
449
+ _events.EVENTEMITTER_METHODS.PREFAB_STATE_SYNC_OFF(prefabInfo === null || prefabInfo === void 0 ? void 0 : prefabInfo.name, handlePrefabStateRefresh);
447
450
  };
448
451
  }
449
452
  }, [prefabInfo, componentInfo === null || componentInfo === void 0 ? void 0 : componentInfo.componentType]);
@@ -532,17 +535,12 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
532
535
 
533
536
  // If no startup operations, mark as complete immediately
534
537
  if (!(startUpActions.length === 0 && startUpVariables.length === 0)) {
535
- _context2.next = 6;
538
+ _context2.next = 5;
536
539
  break;
537
540
  }
538
- setTimeout(function () {
539
- if (isMountedRef.current) {
540
- setStartupComplete(true);
541
- }
542
- }, 100);
543
541
  return _context2.abrupt("return");
544
- case 6:
545
- _context2.prev = 6;
542
+ case 5:
543
+ _context2.prev = 5;
546
544
  // Execute startup actions
547
545
  startUpActions.forEach(function (actionName) {
548
546
  var _Actions$actionName;
@@ -563,28 +561,22 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
563
561
  }
564
562
  return Promise.resolve();
565
563
  });
566
- _context2.next = 11;
564
+ _context2.next = 10;
567
565
  return Promise.allSettled(variablePromises);
568
- case 11:
566
+ case 10:
569
567
  startUpVariableLoadedRef.current = true;
570
568
  pendingStartupOpsRef.current.clear();
571
- if (isMountedRef.current) {
572
- setStartupComplete(true);
573
- }
574
- _context2.next = 20;
569
+ _context2.next = 17;
575
570
  break;
576
- case 16:
577
- _context2.prev = 16;
578
- _context2.t0 = _context2["catch"](6);
571
+ case 14:
572
+ _context2.prev = 14;
573
+ _context2.t0 = _context2["catch"](5);
579
574
  console.error("Error during startup operations:", _context2.t0);
580
- if (isMountedRef.current) {
581
- setStartupComplete(true); // Set complete even on error to prevent hanging
582
- }
583
- case 20:
575
+ case 17:
584
576
  case "end":
585
577
  return _context2.stop();
586
578
  }
587
- }, _callee2, null, [[6, 16]]);
579
+ }, _callee2, null, [[5, 14]]);
588
580
  }));
589
581
  return function executeStartupOperations(_x, _x2) {
590
582
  return _ref9.apply(this, arguments);
@@ -616,36 +608,30 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
616
608
 
617
609
  // Content ready callback
618
610
  function onContentReady() {
619
- if (appContext !== null && appContext !== void 0 && appContext.onPageReady && pageContext.type === "PAGE") {
620
- appContext.onPageReady(pageContext.componentName, pageProxyRef.current, undefined);
621
- }
622
611
  if (pageContext.onReady) {
623
- try {
624
- pageContext.onReady();
625
- } catch (e) {
626
- if ((0, _utils.isJQueryError)(e)) {
627
- appContext === null || appContext === void 0 || appContext.notifyApp("React App is not supporting this functionality check console for more details", "Error");
628
- }
629
- console.error(e);
630
- }
612
+ pageContext.onReady();
631
613
  }
614
+ if (appContext !== null && appContext !== void 0 && appContext.onPageReady && pageContext.componentType === "PAGE") {
615
+ appContext.onPageReady(pageContext.componentName, pageProxyRef.current, undefined);
616
+ }
617
+ return Promise.resolve();
632
618
  }
633
619
  function executeStartup() {
634
620
  return _executeStartup.apply(this, arguments);
635
621
  } // Update pageContext.appLocale when i18n.appLocale changes
636
622
  function _executeStartup() {
637
- _executeStartup = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
638
- return _regenerator["default"].wrap(function _callee3$(_context3) {
639
- while (1) switch (_context3.prev = _context3.next) {
623
+ _executeStartup = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
624
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
625
+ while (1) switch (_context4.prev = _context4.next) {
640
626
  case 0:
641
627
  appContext === null || appContext === void 0 || appContext.executeStartAppOperations();
642
- _context3.next = 3;
628
+ _context4.next = 3;
643
629
  return executeStartupOperations(pageContext.Variables, pageContext.Actions);
644
630
  case 3:
645
631
  case "end":
646
- return _context3.stop();
632
+ return _context4.stop();
647
633
  }
648
- }, _callee3);
634
+ }, _callee4);
649
635
  }));
650
636
  return _executeStartup.apply(this, arguments);
651
637
  }
@@ -657,17 +643,46 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
657
643
  appLocale: newAppLocale
658
644
  });
659
645
  });
646
+ pageContextRef.current.App.appLocale = newAppLocale;
660
647
  }
661
648
  }, [i18n.appLocale]);
662
-
649
+ var onContentReadyCalledRef = (0, _react.useRef)(false);
650
+ var onStartupCompletedRef = (0, _react.useRef)(false);
663
651
  // Call onContentReady when startup operations are complete
664
652
  (0, _react.useEffect)(function () {
665
- if (isMountedRef.current) {
666
- onContentReady();
653
+ if (isInitialized && isMountedRef.current && !onContentReadyCalledRef.current && pageProxyRef.current) {
654
+ // Mark as called before invoking to prevent duplicate calls
655
+ onContentReadyCalledRef.current = true;
656
+
657
+ // 1. First RAF: waits for browser to schedule the next paint
658
+ // 2. Second RAF: waits for the paint to complete and any nested renders
659
+ // This is a reliable pattern to ensure component is fully rendered
660
+ requestAnimationFrame(function () {
661
+ if (!isMountedRef.current) return;
662
+ requestAnimationFrame(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
663
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
664
+ while (1) switch (_context3.prev = _context3.next) {
665
+ case 0:
666
+ if (!(isMountedRef.current && pageProxyRef.current)) {
667
+ _context3.next = 6;
668
+ break;
669
+ }
670
+ _context3.next = 3;
671
+ return onContentReady();
672
+ case 3:
673
+ _context3.next = 5;
674
+ return executeStartup();
675
+ case 5:
676
+ onStartupCompletedRef.current = true;
677
+ case 6:
678
+ case "end":
679
+ return _context3.stop();
680
+ }
681
+ }, _callee3);
682
+ })));
683
+ });
667
684
  }
668
- }, []);
669
-
670
- // Cleanup on unmount
685
+ }, [isInitialized]);
671
686
  (0, _react.useEffect)(function () {
672
687
  return function () {
673
688
  isMountedRef.current = false;
@@ -693,7 +708,14 @@ var withPageContext = exports.withPageContext = function withPageContext(Wrapped
693
708
  listener: {}
694
709
  });
695
710
  }
696
- if (pageContext.autoUpdateVariables) {
711
+ if (appContext !== null && appContext !== void 0 && appContext.autoUpdateVariables && onStartupCompletedRef.current) {
712
+ var appVariables = appContext.Variables;
713
+ appContext.autoUpdateVariables.forEach(function (value) {
714
+ var _appVariables$value, _appVariables$value2;
715
+ ((_appVariables$value = appVariables[value]) === null || _appVariables$value === void 0 ? void 0 : _appVariables$value.invokeOnParamChange) && ((_appVariables$value2 = appVariables[value]) === null || _appVariables$value2 === void 0 ? void 0 : _appVariables$value2.invokeOnParamChange());
716
+ });
717
+ }
718
+ if (pageContext.autoUpdateVariables && onStartupCompletedRef.current) {
697
719
  var pageVariables = pageContext.Variables;
698
720
  componentInfo.autoUpdateVariables.forEach(function (value) {
699
721
  var _pageVariables$value, _pageVariables$value2;
@@ -17,6 +17,7 @@ var _BasePage = _interopRequireDefault(require("@wavemaker/react-runtime/higherO
17
17
  var _appstore = _interopRequireDefault(require("@wavemaker/react-runtime/core/appstore"));
18
18
  var _appConfigSlice = require("@wavemaker/react-runtime/store/slices/appConfigSlice");
19
19
  var _PrefabContext = _interopRequireDefault(require("@wavemaker/react-runtime/context/PrefabContext"));
20
+ var _spinner = require("../components/basic/spinner");
20
21
  var _excluded = ["pages", "partials", "componentType"];
21
22
  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); }
22
23
  var __jsx = _react["default"].createElement;
@@ -109,10 +110,13 @@ var BasePrefab = exports.BasePrefab = function BasePrefab(WrappedComponent, addP
109
110
  if (!prefabname) {
110
111
  return null;
111
112
  }
112
- var appLocale = (0, _merge["default"])({}, (i18n === null || i18n === void 0 ? void 0 : i18n.appLocale) || {}, (i18n === null || i18n === void 0 || (_i18n$prefabMessages = i18n.prefabMessages) === null || _i18n$prefabMessages === void 0 ? void 0 : _i18n$prefabMessages[prefabname]) || {});
113
113
  if (loading) {
114
- return __jsx("div", null, "Loading....");
114
+ return __jsx(_spinner.WmSpinner, {
115
+ show: true,
116
+ className: "baseprefab-spinner"
117
+ });
115
118
  }
119
+ var appLocale = (0, _merge["default"])({}, (i18n === null || i18n === void 0 ? void 0 : i18n.appLocale) || {}, (i18n === null || i18n === void 0 || (_i18n$prefabMessages = i18n.prefabMessages) === null || _i18n$prefabMessages === void 0 ? void 0 : _i18n$prefabMessages[prefabname]) || {});
116
120
  var FragmentConsumer = function FragmentConsumer(fragmentProps) {
117
121
  var combinedProps = _objectSpread(_objectSpread({}, props), fragmentProps);
118
122
  return __jsx(WrappedComponent, combinedProps);
@@ -126,20 +130,24 @@ var BasePrefab = exports.BasePrefab = function BasePrefab(WrappedComponent, addP
126
130
  serviceDefs: (serviceDefs === null || serviceDefs === void 0 ? void 0 : serviceDefs.serviceDefs) || {},
127
131
  appLocale: appLocale,
128
132
  prefab: true,
129
- prefabName: prefabname
133
+ prefabName: prefabname,
134
+ name: props.name
130
135
  });
131
- return __jsx(EnhancedComponent, props);
136
+ return __jsx(_react["default"].Fragment, null, __jsx(EnhancedComponent, props));
132
137
  }, function (next, prev) {
133
138
  return next.prefabname === prev.prefabname;
134
139
  });
140
+ BasePrefabWrapper.displayName = "BasePrefabWrapper";
135
141
  var BasePrefabWithProvider = function BasePrefabWithProvider(props) {
136
142
  return __jsx(_PrefabContext["default"], {
137
143
  value: {
138
144
  inbound: props.inbound || {},
139
- outbound: props.outbound || {}
145
+ outbound: props.outbound || {},
146
+ prefabName: props.name
140
147
  }
141
148
  }, __jsx(BasePrefabWrapper, props));
142
149
  };
150
+ BasePrefabWithProvider.displayName = "BasePrefabWithProvider";
143
151
  return BasePrefabWithProvider;
144
152
  };
145
153
  var _default = exports["default"] = BasePrefab;
@@ -33,7 +33,7 @@ var withBaseWrapper = exports.withBaseWrapper = function withBaseWrapper(Wrapped
33
33
  rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
34
34
 
35
35
  // All hooks must be called before any early returns
36
- var _useDeviceVisibility = (0, _useDeviceVisibility2.useDeviceVisibility)(props.showindevices || ["all"]),
36
+ var _useDeviceVisibility = (0, _useDeviceVisibility2.useDeviceVisibility)(props.showindevice || ["all"]),
37
37
  isHidden = _useDeviceVisibility.isHidden;
38
38
  var _usePageContext = (0, _WidgetProvider.usePageContext)(),
39
39
  pageContext = _usePageContext.pageContext,
@@ -61,7 +61,7 @@ var withBaseWrapper = exports.withBaseWrapper = function withBaseWrapper(Wrapped
61
61
 
62
62
  // Compute merged props in a memoized way
63
63
  var mergedProps = (0, _react.useMemo)(function () {
64
- var _widget$datavalue;
64
+ var _props$datavalue;
65
65
  if (!name || !(pageContext !== null && pageContext !== void 0 && pageContext.Widgets) || (props === null || props === void 0 ? void 0 : props.iswidget) === "false") {
66
66
  return props;
67
67
  }
@@ -74,7 +74,7 @@ var withBaseWrapper = exports.withBaseWrapper = function withBaseWrapper(Wrapped
74
74
  // OR if no widget-id filtering is needed (backward compatibility)
75
75
  var shouldMergeFromContext = !componentWidgetId || !contextWidgetId || componentWidgetId === contextWidgetId;
76
76
  var mergedState = _objectSpread({}, props);
77
- var datavalue = (_widget$datavalue = widget.datavalue) !== null && _widget$datavalue !== void 0 ? _widget$datavalue : props.datavalue;
77
+ var datavalue = (_props$datavalue = props.datavalue) !== null && _props$datavalue !== void 0 ? _props$datavalue : widget.datavalue;
78
78
  if (shouldMergeFromContext && (0, _scriptRegistry.isWidgetOverridden)(name, componentWidgetId)) {
79
79
  // Apply widget-id specific overridden properties from the registry
80
80
  var widgetOverrides = (0, _scriptRegistry.getWidgetOverrides)(name, componentWidgetId);
@@ -74,7 +74,7 @@ var useDataSourceSubscription = exports.useDataSourceSubscription = function use
74
74
  }
75
75
  if (datasource && datasource.execute && datasource.execute(_types.DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, datasource)) {
76
76
  // Handle state params only on page load (first time)
77
- if (pageLoadRef.current && statehandler.toLowerCase() !== "none") {
77
+ if (pageLoadRef.current && statehandler && statehandler.toLowerCase() !== "none") {
78
78
  pageLoadRef.current = false; // Mark as handled
79
79
 
80
80
  // Use appropriate state getter based on widget type
package/hooks/useHttp.js CHANGED
@@ -87,18 +87,25 @@ var ModernHttpService = /*#__PURE__*/function () {
87
87
  key: "send",
88
88
  value: function () {
89
89
  var _send = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(options, variable) {
90
- var serviceInfo, headers, requestBody, url, _options$url$replace, methodType, isNonDataMethod, axiosConfig, response;
90
+ var serviceInfo, headers, requestBody, url, _serviceInfo$proxySet, isProxyCall, _options$url$replace, methodType, isNonDataMethod, axiosConfig, response;
91
91
  return _regenerator["default"].wrap(function _callee2$(_context2) {
92
92
  while (1) switch (_context2.prev = _context2.next) {
93
93
  case 0:
94
94
  serviceInfo = variable.serviceInfo;
95
95
  headers = new _axios.AxiosHeaders(options.headers);
96
96
  requestBody = options.data;
97
- url = options.url;
98
97
  variable.cancelTokenSource = _axios["default"].CancelToken.source();
98
+ url = options.url;
99
+ if (serviceInfo) {
100
+ serviceInfo.proxySettings = (serviceInfo === null || serviceInfo === void 0 ? void 0 : serviceInfo.proxySettings) || {
101
+ web: true
102
+ };
103
+ isProxyCall = serviceInfo === null || serviceInfo === void 0 || (_serviceInfo$proxySet = serviceInfo.proxySettings) === null || _serviceInfo$proxySet === void 0 ? void 0 : _serviceInfo$proxySet.web;
104
+ url = isProxyCall ? options.url : serviceInfo === null || serviceInfo === void 0 ? void 0 : serviceInfo.directPath;
105
+ }
99
106
  if (variable.category === "wm.LiveVariable" && !(url.startsWith("http://") || url.startsWith("https://"))) {
100
107
  url = variable.config.baseUrl + options.url.replace("./", "/");
101
- } else if (options.isExtURL && options.url.startsWith("http")) {
108
+ } else if (url === (serviceInfo === null || serviceInfo === void 0 ? void 0 : serviceInfo.directPath) && options.url.startsWith("http")) {
102
109
  url = options.url;
103
110
  } else {
104
111
  url = variable.config.baseUrl + ((_options$url$replace = options.url.replace("./services", "")) === null || _options$url$replace === void 0 ? void 0 : _options$url$replace.replace("./", "/"));
@@ -133,27 +140,27 @@ var ModernHttpService = /*#__PURE__*/function () {
133
140
  if (options !== null && options !== void 0 && options.onUploadProgress) {
134
141
  axiosConfig.onUploadProgress = options.onUploadProgress;
135
142
  }
136
- _context2.prev = 12;
137
- _context2.next = 15;
143
+ _context2.prev = 13;
144
+ _context2.next = 16;
138
145
  return this.axiosInstance.request(axiosConfig);
139
- case 15:
146
+ case 16:
140
147
  response = _context2.sent;
141
148
  if (!(variable.operation === "getDownloadFile" || (serviceInfo === null || serviceInfo === void 0 ? void 0 : serviceInfo.operationId) === "FileController_getDownloadFile")) {
142
- _context2.next = 18;
149
+ _context2.next = 19;
143
150
  break;
144
151
  }
145
152
  return _context2.abrupt("return", this.handleFileDownload(response, options, variable));
146
- case 18:
153
+ case 19:
147
154
  return _context2.abrupt("return", response);
148
- case 21:
149
- _context2.prev = 21;
150
- _context2.t0 = _context2["catch"](12);
155
+ case 22:
156
+ _context2.prev = 22;
157
+ _context2.t0 = _context2["catch"](13);
151
158
  throw _context2.t0.response || _context2.t0;
152
- case 24:
159
+ case 25:
153
160
  case "end":
154
161
  return _context2.stop();
155
162
  }
156
- }, _callee2, this, [[12, 21]]);
163
+ }, _callee2, this, [[13, 22]]);
157
164
  }));
158
165
  function send(_x2, _x3) {
159
166
  return _send.apply(this, arguments);
@@ -86,6 +86,9 @@ var theme = (0, _styles.createTheme)({
86
86
  borderRadius: "0 !important"
87
87
  }
88
88
  }
89
+ },
90
+ paper: {
91
+ width: "var(--wm-modal-width)"
89
92
  }
90
93
  }
91
94
  },