orc-shared 5.10.0-dev.2 → 5.10.0-dev.21

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 (186) hide show
  1. package/dist/actions/metadata.js +30 -11
  2. package/dist/actions/requestsApi.js +10 -1
  3. package/dist/components/AppFrame/About.js +136 -100
  4. package/dist/components/AppFrame/Anchor.js +45 -21
  5. package/dist/components/AppFrame/AppFrame.js +53 -31
  6. package/dist/components/AppFrame/Help.js +35 -15
  7. package/dist/components/AppFrame/MenuItem.js +148 -114
  8. package/dist/components/AppFrame/Preferences.js +136 -97
  9. package/dist/components/AppFrame/Sidebar.js +51 -28
  10. package/dist/components/AppFrame/Topbar.js +61 -36
  11. package/dist/components/ColumnWrapper.js +28 -5
  12. package/dist/components/Culture.js +33 -14
  13. package/dist/components/DropMenu/Menu.js +79 -45
  14. package/dist/components/DropMenu/index.js +34 -29
  15. package/dist/components/Form/Combination.js +45 -16
  16. package/dist/components/Form/Field.js +57 -38
  17. package/dist/components/Form/FieldElements.js +0 -11
  18. package/dist/components/Form/Fieldset.js +47 -19
  19. package/dist/components/Form/Form.js +22 -9
  20. package/dist/components/Form/FormElement.js +40 -7
  21. package/dist/components/Form/Inputs/Button.js +63 -18
  22. package/dist/components/Form/Inputs/ReadOnly.js +50 -27
  23. package/dist/components/{AppFrame/ApplicationSelector/Header.js → Form/Inputs/Selector.js} +30 -31
  24. package/dist/components/Form/Inputs/Text.js +20 -37
  25. package/dist/components/Form/Inputs/Toggles.js +39 -40
  26. package/dist/components/Form/Inputs/index.js +2 -13
  27. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/Placeholder.js +31 -11
  28. package/dist/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js +89 -0
  29. package/dist/components/MaterialUI/DataDisplay/Table.js +109 -18
  30. package/dist/components/MaterialUI/DataDisplay/TableProps.js +5 -1
  31. package/dist/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js +198 -0
  32. package/dist/components/MaterialUI/DataDisplay/TooltippedElements/MultipleLinesText.js +4 -1
  33. package/dist/components/MaterialUI/Inputs/DatePicker.js +14 -14
  34. package/dist/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +1 -0
  35. package/dist/components/MaterialUI/Inputs/Select.js +2 -0
  36. package/dist/components/MaterialUI/Inputs/SelectProps.js +2 -0
  37. package/dist/components/MaterialUI/Inputs/Switch.js +17 -1
  38. package/dist/components/MaterialUI/Inputs/SwitchProps.js +2 -0
  39. package/dist/components/MaterialUI/Inputs/TimePicker.js +14 -21
  40. package/dist/components/MaterialUI/hocs/withDeferredTooltip.js +3 -1
  41. package/dist/components/MaterialUI/muiThemes.js +2 -1
  42. package/dist/components/Provision.js +1 -1
  43. package/dist/constants.js +2 -1
  44. package/dist/content/iconsSheet.svg +740 -116
  45. package/dist/hocs/withScrollBox.js +27 -12
  46. package/dist/hooks/useDaysAndMonthsLocalization.js +77 -0
  47. package/dist/hooks/useInMemoryPaging.js +135 -0
  48. package/dist/hooks/useMultipleFieldEditState.js +12 -3
  49. package/dist/reducers/metadata.js +6 -0
  50. package/dist/schemas/metadata.js +9 -1
  51. package/dist/selectors/locale.js +1 -0
  52. package/dist/selectors/metadata.js +14 -11
  53. package/dist/sharedMessages.js +184 -0
  54. package/dist/utils/ListHelper.js +271 -0
  55. package/dist/utils/comparisonHelper.js +185 -0
  56. package/dist/utils/propertyBagHelper.js +3 -1
  57. package/dist/utils/timezoneHelper.js +18 -31
  58. package/package.json +4 -3
  59. package/src/actions/metadata.js +11 -0
  60. package/src/actions/metadata.test.js +27 -0
  61. package/src/actions/requestsApi.js +6 -0
  62. package/src/components/AppFrame/About.js +97 -117
  63. package/src/components/AppFrame/About.test.js +128 -90
  64. package/src/components/AppFrame/Anchor.js +34 -36
  65. package/src/components/AppFrame/Anchor.test.js +5 -68
  66. package/src/components/AppFrame/AppFrame.js +31 -40
  67. package/src/components/AppFrame/AppFrame.test.js +424 -445
  68. package/src/components/AppFrame/Help.js +23 -20
  69. package/src/components/AppFrame/Help.test.js +3 -3
  70. package/src/components/AppFrame/MenuItem.js +106 -126
  71. package/src/components/AppFrame/MenuItem.test.js +78 -169
  72. package/src/components/AppFrame/Preferences.js +110 -98
  73. package/src/components/AppFrame/Preferences.test.js +115 -219
  74. package/src/components/AppFrame/Sidebar.js +39 -41
  75. package/src/components/AppFrame/Sidebar.test.js +88 -168
  76. package/src/components/AppFrame/Topbar.js +59 -52
  77. package/src/components/AppFrame/Topbar.test.js +31 -39
  78. package/src/components/ColumnWrapper.js +18 -9
  79. package/src/components/Culture.js +20 -10
  80. package/src/components/Culture.test.js +27 -16
  81. package/src/components/DropMenu/DropMenu.test.js +185 -224
  82. package/src/components/DropMenu/Menu.js +73 -80
  83. package/src/components/DropMenu/Menu.test.js +35 -86
  84. package/src/components/DropMenu/index.js +19 -15
  85. package/src/components/Form/Combination.js +35 -28
  86. package/src/components/Form/Combination.test.js +6 -19
  87. package/src/components/Form/Field.js +53 -66
  88. package/src/components/Form/Field.test.js +29 -51
  89. package/src/components/Form/FieldElements.js +0 -14
  90. package/src/components/Form/FieldElements.test.js +104 -111
  91. package/src/components/Form/Fieldset.js +42 -37
  92. package/src/components/Form/Fieldset.test.js +14 -7
  93. package/src/components/Form/Form.js +11 -7
  94. package/src/components/Form/Form.test.js +75 -56
  95. package/src/components/Form/FormElement.js +24 -16
  96. package/src/components/Form/InputField.test.js +24 -30
  97. package/src/components/Form/Inputs/Button.js +58 -14
  98. package/src/components/Form/Inputs/Button.test.js +32 -7
  99. package/src/components/Form/Inputs/Inputs.test.js +0 -7
  100. package/src/components/Form/Inputs/ReadOnly.js +34 -28
  101. package/src/components/Form/Inputs/ReadOnly.test.js +45 -7
  102. package/src/components/Form/Inputs/Selector.js +22 -0
  103. package/src/components/Form/Inputs/Selector.test.js +105 -0
  104. package/src/components/Form/Inputs/Text.js +15 -44
  105. package/src/components/Form/Inputs/Text.test.js +20 -29
  106. package/src/components/Form/Inputs/Toggles.js +27 -26
  107. package/src/components/Form/Inputs/Toggles.test.js +22 -28
  108. package/src/components/Form/Inputs/index.js +4 -15
  109. package/src/components/MaterialUI/DataDisplay/PredefinedElements/InformationItem.test.js +1 -4
  110. package/src/components/MaterialUI/DataDisplay/PredefinedElements/Placeholder.js +32 -6
  111. package/src/components/MaterialUI/DataDisplay/PredefinedElements/Placeholder.test.js +3 -1
  112. package/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js +39 -0
  113. package/src/components/MaterialUI/DataDisplay/Table.js +190 -114
  114. package/src/components/MaterialUI/DataDisplay/Table.test.js +246 -1
  115. package/src/components/MaterialUI/DataDisplay/TableProps.js +4 -0
  116. package/src/components/MaterialUI/DataDisplay/TableProps.test.js +2 -0
  117. package/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js +145 -0
  118. package/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.test.js +457 -0
  119. package/src/components/MaterialUI/DataDisplay/TooltippedElements/MultipleLinesText.js +5 -1
  120. package/src/components/MaterialUI/DataDisplay/TooltippedElements/MultipleLinesText.test.js +7 -1
  121. package/src/components/MaterialUI/Inputs/DatePicker.js +19 -20
  122. package/src/components/MaterialUI/Inputs/DatePicker.test.js +11 -6
  123. package/src/components/MaterialUI/Inputs/PredefinedElements/SearchControl.js +1 -0
  124. package/src/components/MaterialUI/Inputs/Select.js +2 -0
  125. package/src/components/MaterialUI/Inputs/SelectProps.js +2 -0
  126. package/src/components/MaterialUI/Inputs/SelectProps.test.js +2 -0
  127. package/src/components/MaterialUI/Inputs/Switch.js +22 -1
  128. package/src/components/MaterialUI/Inputs/Switch.test.js +23 -0
  129. package/src/components/MaterialUI/Inputs/SwitchProps.js +2 -0
  130. package/src/components/MaterialUI/Inputs/SwitchProps.test.js +2 -0
  131. package/src/components/MaterialUI/Inputs/TimePicker.js +10 -19
  132. package/src/components/MaterialUI/Inputs/TimePicker.test.js +278 -117
  133. package/src/components/MaterialUI/hocs/withDeferredTooltip.js +4 -1
  134. package/src/components/MaterialUI/hocs/withDeferredTooltip.test.js +27 -0
  135. package/src/components/MaterialUI/muiThemes.js +1 -0
  136. package/src/components/Navigation/Bar.test.js +92 -87
  137. package/src/components/Provision.js +1 -1
  138. package/src/components/TaskDetailsModal.test.js +1 -3
  139. package/src/constants.js +1 -0
  140. package/src/content/iconsSheet.svg +740 -116
  141. package/src/hocs/withScrollBox.js +32 -19
  142. package/src/hocs/withScrollBox.test.js +15 -3
  143. package/src/hooks/useDaysAndMonthsLocalization.js +79 -0
  144. package/src/hooks/useDaysAndMonthsLocalization.test.js +107 -0
  145. package/src/hooks/useInMemoryPaging.js +78 -0
  146. package/src/hooks/useInMemoryPaging.test.js +515 -0
  147. package/src/hooks/useMultipleFieldEditState.js +11 -4
  148. package/src/hooks/useMultipleFieldEditState.test.js +49 -1
  149. package/src/reducers/metadata.js +6 -1
  150. package/src/reducers/metadata.test.js +31 -0
  151. package/src/requests +1 -0
  152. package/src/schemas/metadata.js +3 -0
  153. package/src/selectors/locale.js +1 -1
  154. package/src/selectors/metadata.js +12 -9
  155. package/src/selectors/metadata.test.js +92 -11
  156. package/src/sharedMessages.js +184 -0
  157. package/src/timezones.json +883 -0
  158. package/src/translations/en-US.json +46 -0
  159. package/src/translations/fr-CA.json +46 -0
  160. package/src/utils/ListHelper.js +203 -0
  161. package/src/utils/ListHelper.test.js +710 -0
  162. package/src/utils/comparisonHelper.js +135 -0
  163. package/src/utils/comparisonHelper.test.js +334 -0
  164. package/src/utils/propertyBagHelper.js +2 -0
  165. package/src/utils/propertyBagHelper.test.js +6 -0
  166. package/src/utils/timezoneHelper.js +10 -135
  167. package/src/utils/timezoneHelper.test.js +7 -7
  168. package/dist/components/Form/FieldList.js +0 -270
  169. package/dist/components/Form/Inputs/FieldButtons.js +0 -66
  170. package/dist/components/Form/Inputs/Number.js +0 -117
  171. package/dist/components/Form/Inputs/SmallButton.js +0 -91
  172. package/dist/components/Form/Inputs/Time.js +0 -86
  173. package/dist/components/Form/Inputs/Translation.js +0 -169
  174. package/src/components/AppFrame/ApplicationSelector/Header.js +0 -34
  175. package/src/components/AppFrame/ApplicationSelector/Header.test.js +0 -23
  176. package/src/components/Form/FieldList.js +0 -210
  177. package/src/components/Form/FieldList.test.js +0 -558
  178. package/src/components/Form/Inputs/FieldButtons.js +0 -90
  179. package/src/components/Form/Inputs/Number.js +0 -60
  180. package/src/components/Form/Inputs/Number.test.js +0 -435
  181. package/src/components/Form/Inputs/SmallButton.js +0 -37
  182. package/src/components/Form/Inputs/SmallButton.test.js +0 -65
  183. package/src/components/Form/Inputs/Time.js +0 -32
  184. package/src/components/Form/Inputs/Time.test.js +0 -41
  185. package/src/components/Form/Inputs/Translation.js +0 -93
  186. package/src/components/Form/Inputs/Translation.test.js +0 -204
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _react = _interopRequireDefault(require("react"));
6
+ var _styles = require("@material-ui/core/styles");
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ (function () {
9
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
10
+ enterModule && enterModule(module);
11
+ })();
12
+ (function () {
13
+ var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
14
+ enterModule && enterModule(module);
15
+ })();
16
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
17
+ return a;
18
+ };
19
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
20
+ return a;
21
+ };
22
+ var useStyles = (0, _styles.makeStyles)(function (theme) {
23
+ return {
24
+ container: {
25
+ display: "flex",
26
+ padding: "".concat(theme.spacing(1), " ").concat(theme.spacing(2)),
27
+ minHeight: theme.spacing(4),
28
+ alignItems: "center",
29
+ borderBottom: "".concat(theme.spacing(0.1), " solid ").concat(theme.palette.grey.borders)
30
+ },
31
+ rightContent: {
32
+ justifyContent: "flex-end",
33
+ alignItems: "center",
34
+ display: "flex",
35
+ flex: 1
36
+ }
37
+ };
38
+ });
39
+ var SectionToolbar = function SectionToolbar(_ref) {
40
+ var children = _ref.children,
41
+ rightContent = _ref.rightContent;
42
+ var classes = useStyles();
43
+ var container = /*#__PURE__*/_react.default.createElement("div", {
44
+ className: classes.container
45
+ }, children, [rightContent && /*#__PURE__*/_react.default.createElement("div", {
46
+ key: "rightContent",
47
+ className: classes.rightContent
48
+ }, rightContent)]);
49
+ return container;
50
+ };
51
+ __signature__(SectionToolbar, "useStyles{classes}", function () {
52
+ return [useStyles];
53
+ });
54
+ __signature__(SectionToolbar, "useStyles{classes}", function () {
55
+ return [useStyles];
56
+ });
57
+ var _default = SectionToolbar;
58
+ var _default2 = _default;
59
+ var _default3 = exports.default = _default2;
60
+ ;
61
+ (function () {
62
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
63
+ if (!reactHotLoader) {
64
+ return;
65
+ }
66
+ reactHotLoader.register(useStyles, "useStyles", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js");
67
+ reactHotLoader.register(SectionToolbar, "SectionToolbar", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js");
68
+ reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js");
69
+ })();
70
+ ;
71
+ (function () {
72
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
73
+ leaveModule && leaveModule(module);
74
+ })();
75
+ ;
76
+ (function () {
77
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
78
+ if (!reactHotLoader) {
79
+ return;
80
+ }
81
+ reactHotLoader.register(useStyles, "useStyles", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js");
82
+ reactHotLoader.register(SectionToolbar, "SectionToolbar", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js");
83
+ reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/PredefinedElements/SectionToolbar.js");
84
+ })();
85
+ ;
86
+ (function () {
87
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
88
+ leaveModule && leaveModule(module);
89
+ })();
@@ -14,6 +14,7 @@ var _TableProps = _interopRequireWildcard(require("./TableProps"));
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _reactResizeDetector = _interopRequireDefault(require("react-resize-detector"));
16
16
  var _lodash = require("lodash");
17
+ var _useViewState3 = _interopRequireDefault(require("../../../hooks/useViewState"));
17
18
  var _excluded = ["deepPropsComparation", "dataRows", "isEditingMode"],
18
19
  _excluded2 = ["deepPropsComparation", "isEditingMode"];
19
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -318,16 +319,25 @@ var buildTableRows = function buildTableRows(rows, classes, customClasses, selec
318
319
  return mappedRows;
319
320
  };
320
321
  var FullTable = _react.default.forwardRef(function (props, ref) {
322
+ return props.saveScrollbarPosition ? /*#__PURE__*/_react.default.createElement(FullTableWithSavedScrollbar, _extends({}, props, {
323
+ ref: ref
324
+ })) : /*#__PURE__*/_react.default.createElement(DefaultFullTable, _extends({}, props, {
325
+ ref: ref
326
+ }));
327
+ });
328
+ var DefaultFullTable = _react.default.forwardRef(function (props, ref) {
321
329
  var scrollEvent = function scrollEvent(evt) {
322
330
  if (evt.target.scrollHeight - (evt.target.scrollTop + evt.target.offsetHeight) < 100 && props.dataRows.length === props.latestPage * props.pageLength) {
323
331
  props.scrollLoader(props.latestPage + 1);
324
332
  }
333
+ props.saveScrollBarPosition == null || props.saveScrollBarPosition(evt);
325
334
  };
326
335
  return /*#__PURE__*/_react.default.createElement("div", {
327
336
  key: "actualTable",
328
337
  className: (0, _classnames.default)(props.classes.tableContainer, props.customClasses.tableContainer),
329
338
  ref: ref,
330
- onScroll: scrollEvent
339
+ onScroll: scrollEvent,
340
+ "data-qa": "scrollable-table-div"
331
341
  }, /*#__PURE__*/_react.default.createElement(_reactResizeDetector.default, {
332
342
  onResize: props.onResize
333
343
  }), /*#__PURE__*/_react.default.createElement(_Table.default, {
@@ -346,7 +356,73 @@ var FullTable = _react.default.forwardRef(function (props, ref) {
346
356
  className: props.classes.placeholder
347
357
  }, props.placeholder));
348
358
  });
349
- var Table = function Table(_ref4) {
359
+ var FullTableWithSavedScrollbar = _react.default.forwardRef(__signature__(__signature__(function (props, ref) {
360
+ if (props.saveScrollbarPosition && !props.tableName) {
361
+ throw new Error("prop 'tableName' is required if 'saveScrollbarPosition' is set to true.");
362
+ }
363
+ var _useViewState = (0, _useViewState3.default)(props.tableName + "ScrollbarPosition"),
364
+ _useViewState2 = _slicedToArray(_useViewState, 2),
365
+ scrollbarViewState = _useViewState2[0],
366
+ updateScrollbarViewState = _useViewState2[1];
367
+ var _useState = (0, _react.useState)(scrollbarViewState.scrollBarPosition),
368
+ _useState2 = _slicedToArray(_useState, 2),
369
+ scrollbar = _useState2[0],
370
+ setScrollbarPosition = _useState2[1];
371
+ (0, _react.useEffect)(function () {
372
+ var handler = setTimeout(function () {
373
+ updateScrollbarViewState("scrollBarPosition", scrollbar);
374
+ }, 500);
375
+ return function () {
376
+ clearTimeout(handler);
377
+ };
378
+ },
379
+ // eslint-disable-next-line react-hooks/exhaustive-deps
380
+ [scrollbar]);
381
+ var saveScrollBarPosition = function saveScrollBarPosition(evt) {
382
+ setScrollbarPosition(evt.target.scrollTop);
383
+ };
384
+ (0, _react.useEffect)(function () {
385
+ if (scrollbarViewState.scrollBarPosition > 0) {
386
+ // The Table component usually display the provided list ASAP however it can happen that the Table is not fully rendered with its items when we attempt to change the scrollTop value.
387
+ // The timer should ensure that the list is rendered before attempting to change the scrollTop if the first attempt was not able to set the scroll position
388
+ // This edge case was found using these steps:
389
+ // * Create an organization with 50+ customers
390
+ // * Go to the customer section of the organization and scroll down a bit
391
+ // * Wait 1 second for the scroll position to be stored
392
+ // * Go to the organization list (click on the tab)
393
+ // * Go back to the organization (its tab should still be visible)
394
+ // * We expect the customer list to remember its scroll position but it wasn't the case
395
+ //
396
+ // In addition to the timer, the tableName was added as a dependency to force the effect to execute again when it changes.
397
+ // The tableName value in the organization's customers page is composed with 2 parts: "OrganizationCustomers_" + organizationId. This allows 2 organizations to use different scroll position for their respective customers pages.
398
+ // When the page first load, it is possible for organizationId to not yet be defined (strange but it's routing related) and because of that this useEffect was executed but with an unknown scrollBarPosition.
399
+ // The organizationId will be set on the next render and this useEffect needs be executed again to have the list scrolled to the correct position.
400
+
401
+ var previousScrollTop = ref.current.scrollTop;
402
+ ref.current.scrollTop = scrollbarViewState.scrollBarPosition;
403
+
404
+ // Note AD20250714: I was not able to create a test for the code below because it needs to run in a real browser otherwise the behavior with scrollTop does not match reality
405
+ /* istanbul ignore if */
406
+ if (ref.current.scrollTop === previousScrollTop) {
407
+ setTimeout(function () {
408
+ // using a timer to give a chance to the UI to populate the list
409
+ ref.current.scrollTop = scrollbarViewState.scrollBarPosition;
410
+ }, 250);
411
+ }
412
+ }
413
+ // eslint-disable-next-line react-hooks/exhaustive-deps
414
+ }, [props.tableName]); // forcing this effect to run again when the tableName changes
415
+
416
+ return /*#__PURE__*/_react.default.createElement(DefaultFullTable, _extends({}, props, {
417
+ ref: ref,
418
+ saveScrollBarPosition: saveScrollBarPosition
419
+ }));
420
+ }, "useViewState{[scrollbarViewState, updateScrollbarViewState]}\nuseState{[scrollbar, setScrollbarPosition](scrollbarViewState.scrollBarPosition)}\nuseEffect{}\nuseEffect{}", function () {
421
+ return [_useViewState3.default];
422
+ }), "useViewState{[scrollbarViewState, updateScrollbarViewState]}\nuseState{[scrollbar, setScrollbarPosition](scrollbarViewState.scrollBarPosition)}\nuseEffect{}\nuseEffect{}", function () {
423
+ return [_useViewState3.default];
424
+ }));
425
+ var Table = _react.default.forwardRef(__signature__(__signature__(function (_ref4, ref) {
350
426
  var tableInfo = _ref4.tableInfo,
351
427
  headers = _ref4.headers,
352
428
  rows = _ref4.rows,
@@ -369,6 +445,8 @@ var Table = function Table(_ref4) {
369
445
  var selectedRows = (tableProps == null ? void 0 : tableProps.get(_TableProps.default.propNames.selectedRows)) || null;
370
446
  var selectedRowsChanged = (tableProps == null ? void 0 : tableProps.get(_TableProps.default.propNames.selectedRowsChanged)) || null;
371
447
  var constrained = (tableProps == null ? void 0 : tableProps.get(_TableProps.default.propNames.constrained)) || false;
448
+ var tableName = (tableProps == null ? void 0 : tableProps.get(_TableProps.default.propNames.tableName)) || null;
449
+ var saveScrollbarPosition = (tableProps == null ? void 0 : tableProps.get(_TableProps.default.propNames.saveScrollbarPosition)) || false;
372
450
  customClasses["tableHeader"] = (tableProps == null ? void 0 : tableProps.getStyle(_TableProps.default.ruleNames.tableHeader)) || null;
373
451
  customClasses["tableRow"] = (tableProps == null ? void 0 : tableProps.getStyle(_TableProps.default.ruleNames.tableRow)) || null;
374
452
  customClasses["tableCell"] = (tableProps == null ? void 0 : tableProps.getStyle(_TableProps.default.ruleNames.tableCell)) || null;
@@ -378,17 +456,26 @@ var Table = function Table(_ref4) {
378
456
  customClasses["table"] = (tableProps == null ? void 0 : tableProps.getStyle(_TableProps.default.ruleNames.table)) || null;
379
457
  if (selectedRows && !selectedRowsChanged || !selectedRows && selectedRowsChanged) throw new Error("Both 'selectedRows' and 'selectedRowsChanged' need to be defined if one of them is.");
380
458
  var refScrolled = (0, _react.useRef)();
381
- var _useState = (0, _react.useState)(0),
382
- _useState2 = _slicedToArray(_useState, 2),
383
- scrolled = _useState2[0],
384
- setScrolled = _useState2[1];
385
- var _useState3 = (0, _react.useState)({
459
+ (0, _react.useImperativeHandle)(ref, function () {
460
+ return {
461
+ scrollToTop: function scrollToTop() {
462
+ if (refScrolled.current.scrollTop > 0) {
463
+ refScrolled.current.scrollTop = 0;
464
+ }
465
+ }
466
+ };
467
+ });
468
+ var _useState3 = (0, _react.useState)(0),
469
+ _useState4 = _slicedToArray(_useState3, 2),
470
+ scrolled = _useState4[0],
471
+ setScrolled = _useState4[1];
472
+ var _useState5 = (0, _react.useState)({
386
473
  width: 0,
387
474
  height: 0
388
475
  }),
389
- _useState4 = _slicedToArray(_useState3, 2),
390
- tableSize = _useState4[0],
391
- setTableSize = _useState4[1];
476
+ _useState6 = _slicedToArray(_useState5, 2),
477
+ tableSize = _useState6[0],
478
+ setTableSize = _useState6[1];
392
479
  var _useTableSelection = (0, _useTableSelection3.useTableSelection)(rows, selectedRows, selectedRowsChanged),
393
480
  _useTableSelection2 = _slicedToArray(_useTableSelection, 3),
394
481
  selectedNumber = _useTableSelection2[0],
@@ -447,15 +534,15 @@ var Table = function Table(_ref4) {
447
534
  placeholder: placeholder,
448
535
  deepPropsComparation: deepPropsComparation,
449
536
  isEditingMode: isEditingMode,
450
- context: context
537
+ context: context,
538
+ tableName: tableName,
539
+ saveScrollbarPosition: saveScrollbarPosition
451
540
  }));
452
- };
453
- __signature__(Table, "useRef{refScrolled}\nuseState{[scrolled, setScrolled](0)}\nuseState{[tableSize, setTableSize]({ width: 0, height: 0 })}\nuseTableSelection{[selectedNumber, tableSelectionStatus, selectionMethods]}\nuseStyles{classes}\nuseEffect{}\nuseCallback{onResize}", function () {
454
- return [_useTableSelection3.useTableSelection, useStyles];
455
- });
456
- __signature__(Table, "useRef{refScrolled}\nuseState{[scrolled, setScrolled](0)}\nuseState{[tableSize, setTableSize]({ width: 0, height: 0 })}\nuseTableSelection{[selectedNumber, tableSelectionStatus, selectionMethods]}\nuseStyles{classes}\nuseEffect{}\nuseCallback{onResize}", function () {
457
- return [_useTableSelection3.useTableSelection, useStyles];
458
- });
541
+ }, "useRef{refScrolled}\nuseImperativeHandle{}\nuseState{[scrolled, setScrolled](0)}\nuseState{[tableSize, setTableSize]({ width: 0, height: 0 })}\nuseTableSelection{[selectedNumber, tableSelectionStatus, selectionMethods]}\nuseStyles{classes}\nuseEffect{}\nuseCallback{onResize}", function () {
542
+ return [_react.useImperativeHandle, _useTableSelection3.useTableSelection, useStyles];
543
+ }), "useRef{refScrolled}\nuseImperativeHandle{}\nuseState{[scrolled, setScrolled](0)}\nuseState{[tableSize, setTableSize]({ width: 0, height: 0 })}\nuseTableSelection{[selectedNumber, tableSelectionStatus, selectionMethods]}\nuseStyles{classes}\nuseEffect{}\nuseCallback{onResize}", function () {
544
+ return [_react.useImperativeHandle, _useTableSelection3.useTableSelection, useStyles];
545
+ }));
459
546
  var _default = _react.default.memo(Table, function (prev, next) {
460
547
  return readOnlyMode(prev.tableProps, next.tableProps) && rowAreIdentical(prev.rows, next.rows) && headersAreIdentical(prev.headers, next.headers);
461
548
  });
@@ -487,6 +574,8 @@ var _default3 = exports.default = _default2;
487
574
  reactHotLoader.register(buildTableHeaders, "buildTableHeaders", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
488
575
  reactHotLoader.register(buildTableRows, "buildTableRows", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
489
576
  reactHotLoader.register(FullTable, "FullTable", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
577
+ reactHotLoader.register(DefaultFullTable, "DefaultFullTable", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
578
+ reactHotLoader.register(FullTableWithSavedScrollbar, "FullTableWithSavedScrollbar", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
490
579
  reactHotLoader.register(Table, "Table", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
491
580
  reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
492
581
  })();
@@ -521,6 +610,8 @@ var _default3 = exports.default = _default2;
521
610
  reactHotLoader.register(buildTableHeaders, "buildTableHeaders", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
522
611
  reactHotLoader.register(buildTableRows, "buildTableRows", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
523
612
  reactHotLoader.register(FullTable, "FullTable", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
613
+ reactHotLoader.register(DefaultFullTable, "DefaultFullTable", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
614
+ reactHotLoader.register(FullTableWithSavedScrollbar, "FullTableWithSavedScrollbar", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
524
615
  reactHotLoader.register(Table, "Table", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
525
616
  reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/Table.js");
526
617
  })();
@@ -37,6 +37,8 @@ var TableProps = /*#__PURE__*/function (_ComponentProps) {
37
37
  _this.componentProps.set(_this.constructor.propNames.selectedRows, null);
38
38
  _this.componentProps.set(_this.constructor.propNames.selectedRowsChanged, null);
39
39
  _this.componentProps.set(_this.constructor.propNames.constrained, false);
40
+ _this.componentProps.set(_this.constructor.propNames.tableName, null);
41
+ _this.componentProps.set(_this.constructor.propNames.saveScrollbarPosition, null);
40
42
  _this.componentClasses.set(_this.constructor.ruleNames.tableHeader, null);
41
43
  _this.componentClasses.set(_this.constructor.ruleNames.tableRow, null);
42
44
  _this.componentClasses.set(_this.constructor.ruleNames.tableCell, null);
@@ -66,7 +68,9 @@ _defineProperty(TableProps, "propNames", {
66
68
  isEditingMode: "isEditingMode",
67
69
  selectedRows: "selectedRows",
68
70
  selectedRowsChanged: "selectedRowsChanged",
69
- constrained: "constrained"
71
+ constrained: "constrained",
72
+ tableName: "tableName",
73
+ saveScrollbarPosition: "saveScrollbarPosition"
70
74
  });
71
75
  _defineProperty(TableProps, "ruleNames", {
72
76
  tableHeader: "tableHeader",
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
+ var _TableProps = _interopRequireDefault(require("./TableProps"));
7
+ var _tableHelpers = _interopRequireDefault(require("./tableHelpers"));
8
+ var _useInMemoryPaging2 = _interopRequireDefault(require("../../../hooks/useInMemoryPaging"));
9
+ var _Placeholder = _interopRequireDefault(require("./PredefinedElements/Placeholder"));
10
+ var _comparisonHelper = require("../../../utils/comparisonHelper");
11
+ var _reactIntl = require("react-intl");
12
+ var _sharedMessages = _interopRequireDefault(require("../../../sharedMessages"));
13
+ var _SearchControl = _interopRequireDefault(require("../Inputs/PredefinedElements/SearchControl"));
14
+ var _Table = _interopRequireDefault(require("./Table"));
15
+ var _SectionToolbar = _interopRequireDefault(require("./PredefinedElements/SectionToolbar"));
16
+ var _TableInfoBar = _interopRequireDefault(require("./PredefinedElements/TableInfoBar"));
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
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
+ 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; }
29
+ 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) { _defineProperty(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; }
30
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
31
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
32
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
33
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
34
+ return a;
35
+ };
36
+ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
37
+ return a;
38
+ };
39
+ var listFilter = function listFilter(list, searchTerm, searchProperties) {
40
+ if (!searchTerm) {
41
+ return list;
42
+ }
43
+ return list.filter(function (item) {
44
+ return (0, _comparisonHelper.doesObjectContainsTextCaseInsensitive)(item, searchTerm, searchProperties);
45
+ });
46
+ };
47
+ function getTableInfo(totalCountLabelId, noRowsTotalCountLabelId, formatMessage, totalCount) {
48
+ if (totalCountLabelId && noRowsTotalCountLabelId) {
49
+ if (totalCount) {
50
+ return /*#__PURE__*/_react.default.createElement(_TableInfoBar.default, {
51
+ tableLabel: formatMessage(totalCountLabelId, {
52
+ quantity: totalCount
53
+ })
54
+ });
55
+ }
56
+ return /*#__PURE__*/_react.default.createElement(_TableInfoBar.default, {
57
+ tableLabel: formatMessage(noRowsTotalCountLabelId)
58
+ });
59
+ }
60
+ return null;
61
+ }
62
+ var TableWithInMemoryPaging = function TableWithInMemoryPaging(_ref) {
63
+ var sortedRows = _ref.sortedRows,
64
+ tableName = _ref.tableName,
65
+ _ref$searchProperties = _ref.searchProperties,
66
+ searchProperties = _ref$searchProperties === void 0 ? [] : _ref$searchProperties,
67
+ columnDefs = _ref.columnDefs,
68
+ toolbarRightContent = _ref.toolbarRightContent,
69
+ _ref$pageSize = _ref.pageSize,
70
+ pageSize = _ref$pageSize === void 0 ? 20 : _ref$pageSize,
71
+ _ref$onItemClick = _ref.onItemClick,
72
+ onItemClick = _ref$onItemClick === void 0 ? null : _ref$onItemClick,
73
+ _ref$isReadMode = _ref.isReadMode,
74
+ isReadMode = _ref$isReadMode === void 0 ? true : _ref$isReadMode,
75
+ _ref$totalCountLabelI = _ref.totalCountLabelId,
76
+ totalCountLabelId = _ref$totalCountLabelI === void 0 ? null : _ref$totalCountLabelI,
77
+ _ref$noRowsTotalCount = _ref.noRowsTotalCountLabelId,
78
+ noRowsTotalCountLabelId = _ref$noRowsTotalCount === void 0 ? null : _ref$noRowsTotalCount,
79
+ _ref$placeholderIcon = _ref.placeholderIcon,
80
+ placeholderIcon = _ref$placeholderIcon === void 0 ? null : _ref$placeholderIcon,
81
+ _ref$placeholderTitle = _ref.placeholderTitle,
82
+ placeholderTitle = _ref$placeholderTitle === void 0 ? null : _ref$placeholderTitle,
83
+ _ref$placeholderSubti = _ref.placeholderSubtitle,
84
+ placeholderSubtitle = _ref$placeholderSubti === void 0 ? null : _ref$placeholderSubti,
85
+ _ref$rowKeyField = _ref.rowKeyField,
86
+ rowKeyField = _ref$rowKeyField === void 0 ? "id" : _ref$rowKeyField;
87
+ var _useIntl = (0, _reactIntl.useIntl)(),
88
+ formatMessage = _useIntl.formatMessage;
89
+ var tableRef = (0, _react.useRef)(null);
90
+ var initialSearchProperties = (0, _react.useRef)(searchProperties);
91
+ var searchPlaceholder = formatMessage(_sharedMessages.default.search);
92
+ var sortAndFilter = (0, _react.useCallback)(function (_ref2) {
93
+ var list = _ref2.list,
94
+ filters = _ref2.filters;
95
+ var searchTerm = filters.searchTerm;
96
+ return listFilter(list, searchTerm, initialSearchProperties.current);
97
+ }, [initialSearchProperties]);
98
+ var _useInMemoryPaging = (0, _useInMemoryPaging2.default)({
99
+ viewStateName: tableName,
100
+ tableRef: tableRef,
101
+ records: sortedRows,
102
+ pageSize: pageSize,
103
+ sortAndFilterFn: sortAndFilter
104
+ }),
105
+ rowsSlice = _useInMemoryPaging.rows,
106
+ scrollLoader = _useInMemoryPaging.scrollLoader,
107
+ currentPage = _useInMemoryPaging.currentPage,
108
+ filters = _useInMemoryPaging.filters,
109
+ setFilter = _useInMemoryPaging.setFilter,
110
+ totalCount = _useInMemoryPaging.totalCount;
111
+ var _buildHeaderAndRowFro = (0, _tableHelpers.default)(columnDefs, rowsSlice, isReadMode, rowKeyField),
112
+ headers = _buildHeaderAndRowFro.headers,
113
+ rows = _buildHeaderAndRowFro.rows;
114
+ var placeholder = /*#__PURE__*/_react.default.createElement(_Placeholder.default, {
115
+ icon: placeholderIcon,
116
+ title: placeholderTitle,
117
+ subtitle: placeholderSubtitle,
118
+ cellList: columnDefs.map(function (col) {
119
+ return col.placeholder;
120
+ })
121
+ });
122
+ var onSearch = function onSearch(searchOption, searchText) {
123
+ setFilter(_objectSpread(_objectSpread({}, filters), {}, {
124
+ searchTerm: searchText
125
+ }));
126
+ };
127
+ var tableProps = new _TableProps.default();
128
+ tableProps.set(_TableProps.default.propNames.stickyHeader, true);
129
+ tableProps.set(_TableProps.default.propNames.withoutTopBorder, true);
130
+ tableProps.set(_TableProps.default.propNames.deepPropsComparation, true);
131
+ tableProps.set(_TableProps.default.propNames.saveScrollbarPosition, true);
132
+ tableProps.set(_TableProps.default.propNames.tableName, tableName);
133
+ if (onItemClick) {
134
+ tableProps.set(_TableProps.default.propNames.onRowClick, onItemClick);
135
+ }
136
+ var hasToolbar = toolbarRightContent || searchProperties.length > 0;
137
+ var toolbar = hasToolbar ? /*#__PURE__*/_react.default.createElement(_SectionToolbar.default, {
138
+ rightContent: toolbarRightContent
139
+ }, searchProperties.length > 0 && /*#__PURE__*/_react.default.createElement(_SearchControl.default, {
140
+ placeholder: searchPlaceholder,
141
+ defaultValue: filters.searchTerm,
142
+ onSearch: onSearch,
143
+ focusAndSelectSearchFieldOnLoad: false
144
+ })) : null;
145
+ var tableInfo = getTableInfo(totalCountLabelId, noRowsTotalCountLabelId, formatMessage, totalCount);
146
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, toolbar, /*#__PURE__*/_react.default.createElement(_Table.default, {
147
+ ref: tableRef,
148
+ headers: headers,
149
+ tableInfo: tableInfo,
150
+ rows: rows,
151
+ tableProps: tableProps,
152
+ placeholder: placeholder,
153
+ scrollLoader: scrollLoader,
154
+ latestPage: currentPage,
155
+ pageLength: pageSize
156
+ }));
157
+ };
158
+ __signature__(TableWithInMemoryPaging, "useIntl{{ formatMessage }}\nuseRef{tableRef}\nuseRef{initialSearchProperties}\nuseCallback{sortAndFilter}\nuseInMemoryPaging{{\n\t\trows: rowsSlice,\n\t\tscrollLoader,\n\t\tcurrentPage,\n\t\tfilters,\n\t\tsetFilter,\n\t\ttotalCount,\n\t}}", function () {
159
+ return [_reactIntl.useIntl, _useInMemoryPaging2.default];
160
+ });
161
+ __signature__(TableWithInMemoryPaging, "useIntl{{ formatMessage }}\nuseRef{tableRef}\nuseRef{initialSearchProperties}\nuseCallback{sortAndFilter}\nuseInMemoryPaging{{\n\t\trows: rowsSlice,\n\t\tscrollLoader,\n\t\tcurrentPage,\n\t\tfilters,\n\t\tsetFilter,\n\t\ttotalCount,\n\t}}", function () {
162
+ return [_reactIntl.useIntl, _useInMemoryPaging2.default];
163
+ });
164
+ var _default = TableWithInMemoryPaging;
165
+ var _default2 = _default;
166
+ var _default3 = exports.default = _default2;
167
+ ;
168
+ (function () {
169
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
170
+ if (!reactHotLoader) {
171
+ return;
172
+ }
173
+ reactHotLoader.register(listFilter, "listFilter", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
174
+ reactHotLoader.register(getTableInfo, "getTableInfo", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
175
+ reactHotLoader.register(TableWithInMemoryPaging, "TableWithInMemoryPaging", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
176
+ reactHotLoader.register(_default, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
177
+ })();
178
+ ;
179
+ (function () {
180
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
181
+ leaveModule && leaveModule(module);
182
+ })();
183
+ ;
184
+ (function () {
185
+ var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
186
+ if (!reactHotLoader) {
187
+ return;
188
+ }
189
+ reactHotLoader.register(listFilter, "listFilter", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
190
+ reactHotLoader.register(getTableInfo, "getTableInfo", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
191
+ reactHotLoader.register(TableWithInMemoryPaging, "TableWithInMemoryPaging", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
192
+ reactHotLoader.register(_default2, "default", "/home/vsts/work/1/s/src/components/MaterialUI/DataDisplay/TableWithInMemoryPaging.js");
193
+ })();
194
+ ;
195
+ (function () {
196
+ var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
197
+ leaveModule && leaveModule(module);
198
+ })();
@@ -65,8 +65,11 @@ var MultipleLinesText = function MultipleLinesText(_ref) {
65
65
  setIsClamped(true);
66
66
  }
67
67
  }, [isClamped, setIsClamped]);
68
+ if (!children) {
69
+ return null;
70
+ }
68
71
  return /*#__PURE__*/_react.default.createElement(TooltippedTextClamp, {
69
- disableCssClamp: true,
72
+ disableCssClamp: false,
70
73
  clamp: lineCount,
71
74
  className: (0, _classnames.default)(classes.clampedText, customStyles),
72
75
  children: children.toString(),
@@ -10,9 +10,7 @@ require("react-datepicker/dist/react-datepicker.css");
10
10
  var _TimePicker = _interopRequireDefault(require("./TimePicker"));
11
11
  var _styles = require("@material-ui/core/styles");
12
12
  var _timezoneHelper = require("../../../utils/timezoneHelper");
13
- var _metadata = require("../../../selectors/metadata");
14
- var _reactRedux = require("react-redux");
15
- var _excluded = ["value", "useTime", "useDate", "onChange", "useTimeZone", "dateFormat", "showTimeZone", "timeInputLabel", "readOnly", "showTimeSelectOnly", "metadata", "timePickerTimeZone", "error", "timeOption"];
13
+ var _excluded = ["value", "useTime", "useDate", "onChange", "useTimeZone", "dateFormat", "showTimeZone", "timeInputLabel", "readOnly", "showTimeSelectOnly", "metadata", "timePickerWindowsTimeZone", "error", "timeOption"];
16
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
15
  (function () {
18
16
  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -162,20 +160,23 @@ var WrappedDatePicker = function WrappedDatePicker(_ref) {
162
160
  readOnly = _ref.readOnly,
163
161
  showTimeSelectOnly = _ref.showTimeSelectOnly,
164
162
  metadata = _ref.metadata,
165
- timePickerTimeZone = _ref.timePickerTimeZone,
163
+ timePickerWindowsTimeZone = _ref.timePickerWindowsTimeZone,
166
164
  error = _ref.error,
167
165
  timeOption = _ref.timeOption,
168
166
  props = _objectWithoutProperties(_ref, _excluded);
169
167
  var classes = useStyles({
170
168
  readOnly: readOnly
171
169
  });
172
- var timeZoneName = (0, _timezoneHelper.getTimeZoneByName)(timePickerTimeZone);
173
- var startDate = value ? timePickerTimeZone && useTimeZone ? (0, _timezoneHelper.convertTimeToLocalTimeZone)(new Date(value), timeZoneName) : new Date(value) : null;
170
+ var ianaTimeZone = useTimeZone && timePickerWindowsTimeZone ? (0, _timezoneHelper.getIanaTimeZoneFromWindowsName)(timePickerWindowsTimeZone) : null;
171
+ var computeDateWithTimezone = _react.default.useCallback(function (date) {
172
+ return date ? ianaTimeZone ? (0, _timezoneHelper.convertTimeToLocalTimeZone)(new Date(date), ianaTimeZone) : new Date(date) : null;
173
+ }, [ianaTimeZone]);
174
+ var startDate = computeDateWithTimezone(value);
174
175
  var disabledCls = (0, _classnames.default)(_defineProperty({}, classes.disabled, props.disabled));
175
- var localizedTimeZoneName = (0, _reactRedux.useSelector)((0, _metadata.namedLookupLocalizedSelector)("customer", "TimeZone", timePickerTimeZone));
176
+ var windowsTimeZoneName = useTime && showTimeZone ? timePickerWindowsTimeZone != null ? timePickerWindowsTimeZone : (0, _timezoneHelper.getWindowsTimeZone)() : null;
176
177
  var updateDate = function updateDate(date, metadata) {
177
178
  if (onChange) {
178
- onChange(useTimeZone && timePickerTimeZone ? (0, _timezoneHelper.convertTimeToOtherTimeZone)(date, timeZoneName) : date, metadata);
179
+ onChange(computeDateWithTimezone(date), metadata);
179
180
  }
180
181
  };
181
182
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -193,8 +194,7 @@ var WrappedDatePicker = function WrappedDatePicker(_ref) {
193
194
  showTimeInput: useTime != null ? useTime : false,
194
195
  useTime: useTime != null ? useTime : false,
195
196
  customTimeInput: useTime ? /*#__PURE__*/_react.default.createElement(_TimePicker.default, {
196
- showTimeZone: showTimeZone,
197
- requestedTimeZone: localizedTimeZoneName,
197
+ windowsTimeZone: windowsTimeZoneName,
198
198
  timeOption: timeOption
199
199
  }) : null,
200
200
  timeInputLabel: timeInputLabel != null ? timeInputLabel : "",
@@ -209,11 +209,11 @@ var WrappedDatePicker = function WrappedDatePicker(_ref) {
209
209
  className: classes.errorText
210
210
  }, error));
211
211
  };
212
- __signature__(WrappedDatePicker, "useStyles{classes}\nuseSelector{localizedTimeZoneName}", function () {
213
- return [useStyles, _reactRedux.useSelector];
212
+ __signature__(WrappedDatePicker, "useStyles{classes}\nuseCallback{computeDateWithTimezone}", function () {
213
+ return [useStyles];
214
214
  });
215
- __signature__(WrappedDatePicker, "useStyles{classes}\nuseSelector{localizedTimeZoneName}", function () {
216
- return [useStyles, _reactRedux.useSelector];
215
+ __signature__(WrappedDatePicker, "useStyles{classes}\nuseCallback{computeDateWithTimezone}", function () {
216
+ return [useStyles];
217
217
  });
218
218
  var _default = WrappedDatePicker;
219
219
  var _default2 = _default;
@@ -274,6 +274,7 @@ var SearchControl = function SearchControl(_ref) {
274
274
  })));
275
275
  var searchSection = /*#__PURE__*/_react.default.createElement(_IconButton.default, {
276
276
  "data-qa": "searchButton",
277
+ "data-testid": "searchButton",
277
278
  variant: "contained",
278
279
  disabled: disabled,
279
280
  classes: {
@@ -210,6 +210,7 @@ var Select = function Select(_ref) {
210
210
  var disabled = (selectProps == null ? void 0 : selectProps.get(_SelectProps.default.propNames.disabled)) || false;
211
211
  var error = selectProps == null ? void 0 : selectProps.get(_SelectProps.default.propNames.error);
212
212
  var native = selectProps == null ? void 0 : selectProps.get(_SelectProps.default.propNames.native);
213
+ var onClose = selectProps == null ? void 0 : selectProps.get(_SelectProps.default.propNames.onClose);
213
214
  var inputProps = selectProps == null ? void 0 : selectProps.get(_SelectProps.default.propNames.inputProps);
214
215
  var hasError = !!error;
215
216
  if (sortType === _SelectProps.sortTypeEnum.numeric) {
@@ -281,6 +282,7 @@ var Select = function Select(_ref) {
281
282
  var defaultSelect = /*#__PURE__*/_react.default.createElement(_Select.default, {
282
283
  value: value,
283
284
  onChange: handleChange,
285
+ onClose: onClose,
284
286
  disableUnderline: true,
285
287
  IconComponent: SelectIcon,
286
288
  MenuProps: defaultMenuProps,
@@ -42,6 +42,7 @@ var SelectProps = /*#__PURE__*/function (_ComponentProps) {
42
42
  _this.componentProps.set(_this.constructor.propNames.iconSelect, null);
43
43
  _this.componentProps.set(_this.constructor.propNames.disabled, null);
44
44
  _this.componentProps.set(_this.constructor.propNames.error, null);
45
+ _this.componentProps.set(_this.constructor.propNames.onClose, null);
45
46
  _this.componentProps.set(_this.constructor.propNames.native, null);
46
47
  _this.componentProps.set(_this.constructor.propNames.inputProps, null);
47
48
  _this.componentClasses.set(_this.constructor.ruleNames.root, null);
@@ -68,6 +69,7 @@ _defineProperty(SelectProps, "propNames", {
68
69
  iconSelect: "iconSelect",
69
70
  disabled: "disabled",
70
71
  error: "error",
72
+ onClose: "onClose",
71
73
  native: "native",
72
74
  inputProps: "inputProps"
73
75
  });