orc-shared 1.5.2 → 1.6.0-dev.10

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 (44) hide show
  1. package/dist/actions/globalErrorMessages.js +67 -0
  2. package/dist/buildStore.js +3 -1
  3. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js +134 -0
  4. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.js +84 -0
  5. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/StepperModal.js +2 -1
  6. package/dist/components/MaterialUI/Inputs/InputBase.js +97 -15
  7. package/dist/components/MaterialUI/Inputs/InputBaseProps.js +3 -1
  8. package/dist/components/Routing/SubPage.js +0 -1
  9. package/dist/hooks/useDispatchWithErrorHandling.js +106 -0
  10. package/dist/reducers/globalErrorMessages.js +79 -0
  11. package/dist/reducers/request.js +2 -1
  12. package/dist/reducers/scopes.js +3 -0
  13. package/dist/selectors/globalErrorMessages.js +58 -0
  14. package/dist/selectors/metadata.js +1 -1
  15. package/dist/utils/responseProcessingHelper.js +87 -0
  16. package/package.json +7 -4
  17. package/src/actions/globalErrorMessages.js +12 -0
  18. package/src/actions/globalErrorMessages.test.js +21 -0
  19. package/src/buildStore.js +2 -0
  20. package/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js +93 -0
  21. package/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.test.js +472 -0
  22. package/src/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.js +18 -0
  23. package/src/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.test.js +121 -0
  24. package/src/components/MaterialUI/DataDisplay/PredefinedElements/StepperModal.js +2 -1
  25. package/src/components/MaterialUI/DataDisplay/PredefinedElements/StepperModal.test.js +20 -0
  26. package/src/components/MaterialUI/Inputs/InputBase.js +97 -15
  27. package/src/components/MaterialUI/Inputs/InputBase.test.js +339 -3
  28. package/src/components/MaterialUI/Inputs/InputBaseProps.js +2 -0
  29. package/src/components/MaterialUI/Inputs/InputBaseProps.test.js +2 -0
  30. package/src/components/Routing/SubPage.js +0 -1
  31. package/src/hooks/useDispatchWithErrorHandling.js +57 -0
  32. package/src/hooks/useDispatchWithErrorHandling.test.js +230 -0
  33. package/src/reducers/globalErrorMessages.js +25 -0
  34. package/src/reducers/globalErrorMessages.test.js +66 -0
  35. package/src/reducers/request.js +2 -1
  36. package/src/reducers/request.test.js +23 -0
  37. package/src/reducers/scopes.js +3 -0
  38. package/src/reducers/scopes.test.js +47 -0
  39. package/src/selectors/globalErrorMessages.js +11 -0
  40. package/src/selectors/globalErrorMessages.test.js +25 -0
  41. package/src/selectors/metadata.js +1 -1
  42. package/src/selectors/metadata.test.js +12 -0
  43. package/src/utils/responseProcessingHelper.js +42 -0
  44. package/src/utils/responseProcessingHelper.test.js +218 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.pushGlobalErrorMessage = exports.popGlobalErrorMessage = exports.PUSH_GLOBAL_ERROR_MESSAGE = exports.POP_GLOBAL_ERROR_MESSAGE = void 0;
5
+ (function () {
6
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
7
+ enterModule && enterModule(module);
8
+ })();
9
+ (function () {
10
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
11
+ enterModule && enterModule(module);
12
+ })();
13
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
14
+ return a;
15
+ };
16
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
17
+ return a;
18
+ };
19
+ var PUSH_GLOBAL_ERROR_MESSAGE = "PUSH_GLOBAL_ERROR_MESSAGE";
20
+ exports.PUSH_GLOBAL_ERROR_MESSAGE = PUSH_GLOBAL_ERROR_MESSAGE;
21
+ var pushGlobalErrorMessage = function pushGlobalErrorMessage(msg) {
22
+ return {
23
+ type: PUSH_GLOBAL_ERROR_MESSAGE,
24
+ payload: msg
25
+ };
26
+ };
27
+ exports.pushGlobalErrorMessage = pushGlobalErrorMessage;
28
+ var POP_GLOBAL_ERROR_MESSAGE = "POP_GLOBAL_ERROR_MESSAGE";
29
+ exports.POP_GLOBAL_ERROR_MESSAGE = POP_GLOBAL_ERROR_MESSAGE;
30
+ var popGlobalErrorMessage = function popGlobalErrorMessage() {
31
+ return {
32
+ type: POP_GLOBAL_ERROR_MESSAGE
33
+ };
34
+ };
35
+ exports.popGlobalErrorMessage = popGlobalErrorMessage;
36
+ ;
37
+ (function () {
38
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
39
+ if (!reactHotLoader) {
40
+ return;
41
+ }
42
+ reactHotLoader.register(PUSH_GLOBAL_ERROR_MESSAGE, "PUSH_GLOBAL_ERROR_MESSAGE", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
43
+ reactHotLoader.register(pushGlobalErrorMessage, "pushGlobalErrorMessage", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
44
+ reactHotLoader.register(POP_GLOBAL_ERROR_MESSAGE, "POP_GLOBAL_ERROR_MESSAGE", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
45
+ reactHotLoader.register(popGlobalErrorMessage, "popGlobalErrorMessage", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
46
+ })();
47
+ ;
48
+ (function () {
49
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
50
+ leaveModule && leaveModule(module);
51
+ })();
52
+ ;
53
+ (function () {
54
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
55
+ if (!reactHotLoader) {
56
+ return;
57
+ }
58
+ reactHotLoader.register(PUSH_GLOBAL_ERROR_MESSAGE, "PUSH_GLOBAL_ERROR_MESSAGE", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
59
+ reactHotLoader.register(pushGlobalErrorMessage, "pushGlobalErrorMessage", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
60
+ reactHotLoader.register(POP_GLOBAL_ERROR_MESSAGE, "POP_GLOBAL_ERROR_MESSAGE", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
61
+ reactHotLoader.register(popGlobalErrorMessage, "popGlobalErrorMessage", "/home/vsts/work/1/s/src/actions/globalErrorMessages.js");
62
+ })();
63
+ ;
64
+ (function () {
65
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
66
+ leaveModule && leaveModule(module);
67
+ })();
@@ -25,6 +25,7 @@ var _modules = _interopRequireDefault(require("./reducers/modules"));
25
25
  var _metadata = _interopRequireDefault(require("./reducers/metadata"));
26
26
  var _requestStates = _interopRequireDefault(require("./reducers/requestStates"));
27
27
  var _tasks = _interopRequireDefault(require("./reducers/tasks"));
28
+ var _globalErrorMessages = _interopRequireDefault(require("./reducers/globalErrorMessages"));
28
29
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -91,7 +92,8 @@ var buildStore = function buildStore(reducers, devOptions) {
91
92
  modules: _modules.default,
92
93
  metadata: _metadata.default,
93
94
  requestStates: _requestStates.default,
94
- tasks: _tasks.default
95
+ tasks: _tasks.default,
96
+ globalErrorMessages: _globalErrorMessages.default
95
97
  }));
96
98
  };
97
99
  var rootReducer = buildReducer(reducers);
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _reactIntl = require("react-intl");
7
+ var _styles = require("@material-ui/core/styles");
8
+ var _sharedMessages = _interopRequireDefault(require("../../../../sharedMessages"));
9
+ var _Grid = _interopRequireDefault(require("@material-ui/core/Grid"));
10
+ var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText"));
11
+ var _List = _interopRequireDefault(require("@material-ui/core/List"));
12
+ var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
13
+ var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon"));
14
+ var _LookupDisplayValue = _interopRequireDefault(require("./LookupDisplayValue"));
15
+ var _ActionModal = _interopRequireDefault(require("./ActionModal"));
16
+ var _reactRedux = require("react-redux");
17
+ var _globalErrorMessages = require("../../../../selectors/globalErrorMessages");
18
+ var _globalErrorMessages2 = require("../../../../actions/globalErrorMessages");
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ (function () {
21
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
22
+ enterModule && enterModule(module);
23
+ })();
24
+ (function () {
25
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
26
+ enterModule && enterModule(module);
27
+ })();
28
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
29
+ return a;
30
+ };
31
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
32
+ return a;
33
+ };
34
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
35
+ return {
36
+ grid: {
37
+ maxHeight: "40vh",
38
+ overflowY: "auto"
39
+ }
40
+ };
41
+ });
42
+ var GlobalErrorMessagesModal = function GlobalErrorMessagesModal(_ref) {
43
+ var _msg$messages;
44
+ var children = _ref.children;
45
+ var classes = useStyles();
46
+ var _useIntl = (0, _reactIntl.useIntl)(),
47
+ formatMessage = _useIntl.formatMessage;
48
+ var dispatch = (0, _reactRedux.useDispatch)();
49
+ var msg = (0, _reactRedux.useSelector)(_globalErrorMessages.firstDialogErrorMessageSelector);
50
+ if (msg === null) {
51
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
52
+ }
53
+ var closeCallback = function closeCallback() {
54
+ dispatch((0, _globalErrorMessages2.popGlobalErrorMessage)());
55
+ };
56
+ var actions = [{
57
+ label: _sharedMessages.default.close,
58
+ isPrimary: true,
59
+ handler: closeCallback
60
+ }];
61
+ var content = /*#__PURE__*/_react.default.createElement(_Grid.default, {
62
+ container: true,
63
+ spacing: 2,
64
+ className: classes.grid
65
+ }, /*#__PURE__*/_react.default.createElement(_Grid.default, {
66
+ container: true,
67
+ item: true,
68
+ spacing: 0
69
+ }, msg.description && /*#__PURE__*/_react.default.createElement(_Grid.default, {
70
+ item: true,
71
+ xs: 12
72
+ }, msg.description), ((_msg$messages = msg.messages) == null ? void 0 : _msg$messages.length) > 0 && /*#__PURE__*/_react.default.createElement(_Grid.default, {
73
+ item: true,
74
+ xs: 12
75
+ }, /*#__PURE__*/_react.default.createElement(_List.default, {
76
+ className: classes.root
77
+ }, msg.messages.map(function (msg, index) {
78
+ var hasLookup = msg.lookupModule && msg.lookupName && msg.lookupKey;
79
+ return /*#__PURE__*/_react.default.createElement(_ListItem.default, {
80
+ key: index
81
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, "\u25CF"), /*#__PURE__*/_react.default.createElement(_ListItemText.default, null, hasLookup && /*#__PURE__*/_react.default.createElement(_LookupDisplayValue.default, {
82
+ moduleName: msg.lookupModule,
83
+ lookupName: msg.lookupName,
84
+ lookupKey: msg.lookupKey,
85
+ lookupReplacementValues: msg.lookupReplacementValues
86
+ }), !hasLookup && msg.message));
87
+ })))));
88
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children, /*#__PURE__*/_react.default.createElement(_ActionModal.default, {
89
+ title: msg.title || formatMessage(_sharedMessages.default.error),
90
+ message: content,
91
+ open: true,
92
+ actions: actions
93
+ }));
94
+ };
95
+ __signature__(GlobalErrorMessagesModal, "useStyles{classes}\nuseIntl{{ formatMessage }}\nuseDispatch{dispatch}\nuseSelector{msg}", function () {
96
+ return [useStyles, _reactIntl.useIntl, _reactRedux.useDispatch, _reactRedux.useSelector];
97
+ });
98
+ __signature__(GlobalErrorMessagesModal, "useStyles{classes}\nuseIntl{{ formatMessage }}\nuseDispatch{dispatch}\nuseSelector{msg}", function () {
99
+ return [useStyles, _reactIntl.useIntl, _reactRedux.useDispatch, _reactRedux.useSelector];
100
+ });
101
+ var _default = GlobalErrorMessagesModal;
102
+ var _default2 = _default;
103
+ var _default3 = _default2;
104
+ exports.default = _default3;
105
+ ;
106
+ (function () {
107
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
108
+ if (!reactHotLoader) {
109
+ return;
110
+ }
111
+ reactHotLoader.register(useStyles, "useStyles", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js");
112
+ reactHotLoader.register(GlobalErrorMessagesModal, "GlobalErrorMessagesModal", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js");
113
+ reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js");
114
+ })();
115
+ ;
116
+ (function () {
117
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
118
+ leaveModule && leaveModule(module);
119
+ })();
120
+ ;
121
+ (function () {
122
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
123
+ if (!reactHotLoader) {
124
+ return;
125
+ }
126
+ reactHotLoader.register(useStyles, "useStyles", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js");
127
+ reactHotLoader.register(GlobalErrorMessagesModal, "GlobalErrorMessagesModal", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js");
128
+ reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/GlobalErrorMessages.js");
129
+ })();
130
+ ;
131
+ (function () {
132
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
133
+ leaveModule && leaveModule(module);
134
+ })();
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _TooltippedTypography = _interopRequireDefault(require("../TooltippedElements/TooltippedTypography"));
7
+ var _metadata = require("../../../../selectors/metadata");
8
+ var _reactRedux = require("react-redux");
9
+ var _excluded = ["moduleName", "lookupName", "lookupKey", "lookupReplacementValues"];
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ (function () {
12
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
13
+ enterModule && enterModule(module);
14
+ })();
15
+ (function () {
16
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
17
+ enterModule && enterModule(module);
18
+ })();
19
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
23
+ return a;
24
+ };
25
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
26
+ return a;
27
+ };
28
+ var LookupDisplayValue = function LookupDisplayValue(_ref) {
29
+ var moduleName = _ref.moduleName,
30
+ lookupName = _ref.lookupName,
31
+ lookupKey = _ref.lookupKey,
32
+ lookupReplacementValues = _ref.lookupReplacementValues,
33
+ otherProps = _objectWithoutProperties(_ref, _excluded);
34
+ var value = (0, _reactRedux.useSelector)((0, _metadata.namedLookupLocalizedSelector)(moduleName, lookupName, lookupKey));
35
+ if (value && lookupReplacementValues) {
36
+ Object.keys(lookupReplacementValues).forEach(function (key) {
37
+ value = value.replace("{" + key + "}", lookupReplacementValues[key]);
38
+ });
39
+ }
40
+ return /*#__PURE__*/_react.default.createElement(_TooltippedTypography.default, _extends({
41
+ noWrap: true
42
+ }, otherProps, {
43
+ children: value,
44
+ titleValue: value
45
+ }));
46
+ };
47
+ __signature__(LookupDisplayValue, "useSelector{value}", function () {
48
+ return [_reactRedux.useSelector];
49
+ });
50
+ __signature__(LookupDisplayValue, "useSelector{value}", function () {
51
+ return [_reactRedux.useSelector];
52
+ });
53
+ var _default = LookupDisplayValue;
54
+ var _default2 = _default;
55
+ var _default3 = _default2;
56
+ exports.default = _default3;
57
+ ;
58
+ (function () {
59
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
60
+ if (!reactHotLoader) {
61
+ return;
62
+ }
63
+ reactHotLoader.register(LookupDisplayValue, "LookupDisplayValue", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.js");
64
+ reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.js");
65
+ })();
66
+ ;
67
+ (function () {
68
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
69
+ leaveModule && leaveModule(module);
70
+ })();
71
+ ;
72
+ (function () {
73
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
74
+ if (!reactHotLoader) {
75
+ return;
76
+ }
77
+ reactHotLoader.register(LookupDisplayValue, "LookupDisplayValue", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.js");
78
+ reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/LookupDisplayValue.js");
79
+ })();
80
+ ;
81
+ (function () {
82
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
83
+ leaveModule && leaveModule(module);
84
+ })();
@@ -119,6 +119,7 @@ var StepperModal = function StepperModal(_ref) {
119
119
  open = _ref.open,
120
120
  closeCallback = _ref.closeCallback,
121
121
  confirmCallback = _ref.confirmCallback,
122
+ backdropCallback = _ref.backdropCallback,
122
123
  confirmTitle = _ref.confirmTitle,
123
124
  _ref$type = _ref.type,
124
125
  type = _ref$type === void 0 ? "wide" : _ref$type;
@@ -150,7 +151,7 @@ var StepperModal = function StepperModal(_ref) {
150
151
  }, (_steps$currentStep3 = steps[currentStep]) == null ? void 0 : _steps$currentStep3.content);
151
152
  modalProps.set(_modalProps.default.propNames.title, titleComponent);
152
153
  modalProps.set(_modalProps.default.propNames.open, open);
153
- modalProps.set(_modalProps.default.propNames.backdropClickCallback, closeCallback);
154
+ modalProps.set(_modalProps.default.propNames.backdropClickCallback, backdropCallback != null ? backdropCallback : closeCallback);
154
155
  modalProps.set(_modalProps.default.propNames.type, type);
155
156
  var nextClick = (0, _react.useCallback)(function () {
156
157
  return changeCurrentStep(function (step) {
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.useStyles = exports.default = void 0;
5
- var _react = _interopRequireDefault(require("react"));
4
+ exports.useStyles = exports.default = exports.AdvancedNumericInput = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
6
  var _styles = require("@material-ui/core/styles");
7
7
  var _InputBase = _interopRequireDefault(require("@material-ui/core/InputBase"));
8
8
  var _InputBaseProps = _interopRequireWildcard(require("./InputBaseProps"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _reactNumberFormat = require("react-number-format");
11
+ var _excluded = ["inputRef", "onChange"];
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
  (function () {
14
16
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
15
17
  enterModule && enterModule(module);
@@ -24,6 +26,14 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
24
26
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
27
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
26
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
32
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
33
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
34
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
35
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
36
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
37
  var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
28
38
  return a;
29
39
  };
@@ -112,6 +122,26 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
112
122
  };
113
123
  });
114
124
  exports.useStyles = useStyles;
125
+ var AdvancedNumericInput = function AdvancedNumericInput(props) {
126
+ var inputRef = props.inputRef,
127
+ onChange = props.onChange,
128
+ other = _objectWithoutProperties(props, _excluded);
129
+
130
+ // https://github.com/s-yadav/react-number-format
131
+
132
+ return /*#__PURE__*/_react.default.createElement(_reactNumberFormat.NumericFormat, _extends({}, other, {
133
+ getInputRef: inputRef,
134
+ onValueChange: function onValueChange(values) {
135
+ onChange({
136
+ target: {
137
+ name: props.name,
138
+ value: values.value
139
+ }
140
+ });
141
+ }
142
+ }));
143
+ };
144
+ exports.AdvancedNumericInput = AdvancedNumericInput;
115
145
  var InputBase = function InputBase(_ref) {
116
146
  var _inputProps$get;
117
147
  var inputProps = _ref.inputProps;
@@ -135,6 +165,17 @@ var InputBase = function InputBase(_ref) {
135
165
  var autoComplete = inputProps == null ? void 0 : inputProps.get(_InputBaseProps.default.propNames.autoComplete);
136
166
  var timeoutDelay = (inputProps == null ? void 0 : inputProps.get(_InputBaseProps.default.propNames.timeoutDelay)) || 100;
137
167
  var rowsProps = inputProps == null ? void 0 : inputProps.get(_InputBaseProps.default.propNames.rows);
168
+ var numericInputProps = (inputProps == null ? void 0 : inputProps.get(_InputBaseProps.default.propNames.numericInputProps)) || null;
169
+ var isAdvancedNumericInput = type.toLowerCase() === "advancednumericinput";
170
+ var inputComponent = isAdvancedNumericInput ? AdvancedNumericInput : undefined;
171
+ var inputControlType = isAdvancedNumericInput ? "text" : type;
172
+ if (isAdvancedNumericInput && numericInputProps) {
173
+ Object.keys(numericInputProps).forEach(function (key) {
174
+ if (key !== "blurFormattingSkipFixedDecimalScale") {
175
+ inputAttributes[key] = numericInputProps[key];
176
+ }
177
+ });
178
+ }
138
179
  var defaultRows = 4;
139
180
  var rows = rowsProps;
140
181
  if (rows === null || rows === undefined) rows = defaultRows;
@@ -149,12 +190,42 @@ var InputBase = function InputBase(_ref) {
149
190
  errorPosition: errorPosition
150
191
  });
151
192
  var onChangeHandler = function onChangeHandler(event) {
152
- event.persist();
193
+ if (event.persist) {
194
+ event.persist();
195
+ }
153
196
  if (!event.target.value || window.bypassDebounce === true) {
154
197
  update(event.target.value, metadata);
155
198
  }
156
199
  setInputText(event.target.value);
157
200
  };
201
+ var timerId = (0, _react.useRef)(null);
202
+ _react.default.useEffect(function () {
203
+ return function () {
204
+ clearTimeout(timerId.current);
205
+ timerId.current = null;
206
+ };
207
+ }, []);
208
+ var onBlurInternal = function onBlurInternal(e) {
209
+ var updateValue = (inputText != null ? inputText : value).toString(); // value cannot be null as defined above
210
+
211
+ if (timerId.current) {
212
+ clearTimeout(timerId.current);
213
+ timerId.current = null;
214
+ }
215
+ if (isAdvancedNumericInput) {
216
+ var formattingProps = _objectSpread({}, numericInputProps);
217
+ delete formattingProps.blurFormattingSkipFixedDecimalScale;
218
+ if ((numericInputProps == null ? void 0 : numericInputProps.blurFormattingSkipFixedDecimalScale) !== true) {
219
+ formattingProps.fixedDecimalScale = true;
220
+ }
221
+ updateValue = (0, _reactNumberFormat.numericFormatter)(updateValue, formattingProps);
222
+ }
223
+ update(updateValue, metadata);
224
+ setInputText(null);
225
+ if (onBlur) {
226
+ onBlur(e);
227
+ }
228
+ };
158
229
  var inputBaseInputStyle = inputProps == null ? void 0 : inputProps.getStyle(_InputBaseProps.default.ruleNames.input);
159
230
  var errorTextStyle = inputProps == null ? void 0 : inputProps.getStyle(_InputBaseProps.default.ruleNames.errorText);
160
231
  var _React$useState = _react.default.useState(null),
@@ -163,18 +234,26 @@ var InputBase = function InputBase(_ref) {
163
234
  setInputText = _React$useState2[1];
164
235
  var textToDisplay = inputText != null ? inputText : value;
165
236
  _react.default.useEffect(function () {
166
- if (inputText !== value && inputText != null && window.bypassDebounce !== true) {
167
- var timeOutId = setTimeout(function () {
168
- var updateValue = update(inputText, metadata);
237
+ if (inputText === null || window.bypassDebounce === true) {
238
+ return;
239
+ }
240
+ if (inputText !== value) {
241
+ clearTimeout(timerId.current);
242
+ timerId.current = setTimeout(function () {
243
+ update(inputText, metadata);
169
244
  setInputText(null);
170
- return updateValue;
171
245
  }, timeoutDelay);
172
246
  return function () {
173
- return clearTimeout(timeOutId);
247
+ clearTimeout(timerId.current);
248
+ timerId.current = null;
174
249
  };
250
+ } else {
251
+ setInputText(null);
252
+ clearTimeout(timerId.current);
175
253
  }
254
+
176
255
  // eslint-disable-next-line react-hooks/exhaustive-deps
177
- }, [inputText, value]);
256
+ }, [inputText, metadata, timeoutDelay, update, value]);
178
257
  return /*#__PURE__*/_react.default.createElement("div", {
179
258
  className: classes.container
180
259
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -189,9 +268,9 @@ var InputBase = function InputBase(_ref) {
189
268
  multiline: classes.multiline,
190
269
  inputMultiline: classes.inputMultiline
191
270
  },
192
- onBlur: onBlur,
271
+ onBlur: onBlurInternal,
193
272
  onClick: onClick,
194
- type: type,
273
+ type: inputControlType,
195
274
  placeholder: placeholder,
196
275
  value: textToDisplay,
197
276
  fullWidth: true,
@@ -200,21 +279,22 @@ var InputBase = function InputBase(_ref) {
200
279
  },
201
280
  error: !!error,
202
281
  inputProps: inputAttributes,
282
+ inputComponent: inputComponent,
203
283
  disabled: disabled,
204
284
  multiline: multiline,
205
285
  startAdornment: startAdornment,
206
286
  endAdornment: endAdornment,
207
- rows: rows,
287
+ minRows: rows,
208
288
  title: tooltipText,
209
289
  autoComplete: autoComplete
210
290
  })), error && /*#__PURE__*/_react.default.createElement("div", {
211
291
  className: (0, _classnames.default)(classes.errorText, errorTextStyle)
212
292
  }, error));
213
293
  };
214
- __signature__(InputBase, "useStyles{classes}\nuseState{[inputText, setInputText](null)}\nuseEffect{}", function () {
294
+ __signature__(InputBase, "useStyles{classes}\nuseRef{timerId}\nuseEffect{}\nuseState{[inputText, setInputText](null)}\nuseEffect{}", function () {
215
295
  return [useStyles];
216
296
  });
217
- __signature__(InputBase, "useStyles{classes}\nuseState{[inputText, setInputText](null)}\nuseEffect{}", function () {
297
+ __signature__(InputBase, "useStyles{classes}\nuseRef{timerId}\nuseEffect{}\nuseState{[inputText, setInputText](null)}\nuseEffect{}", function () {
218
298
  return [useStyles];
219
299
  });
220
300
  var compareInputBase = function compareInputBase(prev, next) {
@@ -231,6 +311,7 @@ exports.default = _default3;
231
311
  return;
232
312
  }
233
313
  reactHotLoader.register(useStyles, "useStyles", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
314
+ reactHotLoader.register(AdvancedNumericInput, "AdvancedNumericInput", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
234
315
  reactHotLoader.register(InputBase, "InputBase", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
235
316
  reactHotLoader.register(compareInputBase, "compareInputBase", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
236
317
  reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
@@ -247,6 +328,7 @@ exports.default = _default3;
247
328
  return;
248
329
  }
249
330
  reactHotLoader.register(useStyles, "useStyles", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
331
+ reactHotLoader.register(AdvancedNumericInput, "AdvancedNumericInput", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
250
332
  reactHotLoader.register(InputBase, "InputBase", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
251
333
  reactHotLoader.register(compareInputBase, "compareInputBase", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
252
334
  reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/MaterialUI/Inputs/InputBase.js");
@@ -45,6 +45,7 @@ var InputBaseProps = /*#__PURE__*/function (_ComponentProps) {
45
45
  _this.componentProps.set(_this.constructor.propNames.autoComplete, null);
46
46
  _this.componentProps.set(_this.constructor.propNames.timeoutDelay, null);
47
47
  _this.componentProps.set(_this.constructor.propNames.rows, null);
48
+ _this.componentProps.set(_this.constructor.propNames.numericInputProps, null);
48
49
  _this.componentClasses.set(_this.constructor.ruleNames.input, null);
49
50
  _this.componentClasses.set(_this.constructor.ruleNames.errorText, null);
50
51
  _this._isInputProps = true;
@@ -75,7 +76,8 @@ _defineProperty(InputBaseProps, "propNames", {
75
76
  metadata: "metadata",
76
77
  autoComplete: "autoComplete",
77
78
  timeoutDelay: "timeoutDelay",
78
- rows: "rows"
79
+ rows: "rows",
80
+ numericInputProps: "numericInputProps"
79
81
  });
80
82
  _defineProperty(InputBaseProps, "ruleNames", {
81
83
  input: "input",
@@ -84,7 +84,6 @@ var SubPage = function SubPage(_ref) {
84
84
  modalProps.set(_modalProps.default.propNames.title, titleComponent);
85
85
  modalProps.set(_modalProps.default.propNames.open, true);
86
86
  modalProps.set(_modalProps.default.propNames.type, "fullwidth");
87
- modalProps.set(_modalProps.default.propNames.backdropClickCallback, closeSubPage);
88
87
  var actionPanel = /*#__PURE__*/_react.default.createElement("div", {
89
88
  className: classes.actionPanel
90
89
  }, /*#__PURE__*/_react.default.createElement(_Button.default, {