@reltio/components 1.4.2045 → 1.4.2047

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 (181) hide show
  1. package/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  2. package/BasicTable/BasicTable.test.js +232 -278
  3. package/BlobRenderer/BlobRenderer.js +1 -1
  4. package/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  5. package/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  6. package/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  7. package/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  8. package/DeleteButton/DeleteButton.spec.js +53 -15
  9. package/DependentLookupEditor/DependentLookupEditor.test.js +555 -807
  10. package/Drawer/Drawer.test.js +9 -20
  11. package/DropDownEditor/DropDownEditor.test.js +81 -29
  12. package/DropDownMenuButton/DropDownMenuButton.spec.js +101 -70
  13. package/DropDownSelector/DropDownSelector.test.js +159 -30
  14. package/EditModeAttributesFactory/EditModeAttributesFactory.test.js +143 -0
  15. package/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  16. package/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  17. package/EditModeAttributesList/attributes.test-data.js +1 -1
  18. package/EditModeAttributesPager/EditModeAttributesPager.test.js +698 -234
  19. package/EditModeAttributesPager/helpers.test.js +2 -12
  20. package/EditModeAttributesView/EditModeAttributesView.test.js +263 -157
  21. package/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  22. package/EditModeComplexAttribute/EditModeComplexAttribute.test.js +313 -298
  23. package/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  24. package/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  25. package/EmptyState/EmptyState.test.js +99 -38
  26. package/EntityCreator/EntityCreator.test.js +68 -35
  27. package/EntitySelector/EntitySelector.js +1 -1
  28. package/EntitySelector/EntitySelector.test.js +275 -422
  29. package/EntityTypeIcon/EntityTypeIcon.test.js +16 -16
  30. package/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  31. package/ErrorBoundary/ErrorBoundary.test.js +19 -17
  32. package/ErrorMessage/ErrorMessage.js +1 -1
  33. package/ErrorPopup/ErrorPopup.test.js +72 -25
  34. package/ErrorWrapper/ErrorWrapper.test.js +10 -9
  35. package/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  36. package/FileTypeEditor/FileTypeEditor.test.js +95 -64
  37. package/FilterValueEditor/FilterValueEditor.test.js +183 -157
  38. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  39. package/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  40. package/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  41. package/InlineSimpleAttribute/InlineSimpleAttribute.js +4 -1
  42. package/OvIcon/OvIcon.js +2 -2
  43. package/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  44. package/ShowLess/ShowLess.js +1 -1
  45. package/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  46. package/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  47. package/cjs/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  48. package/cjs/BasicTable/BasicTable.test.js +230 -299
  49. package/cjs/BlobRenderer/BlobRenderer.js +1 -1
  50. package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  51. package/cjs/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  52. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  53. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  54. package/cjs/DeleteButton/DeleteButton.spec.js +53 -15
  55. package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +569 -821
  56. package/cjs/Drawer/Drawer.test.js +10 -21
  57. package/cjs/DropDownEditor/DropDownEditor.test.js +81 -29
  58. package/cjs/DropDownMenuButton/DropDownMenuButton.spec.js +102 -71
  59. package/cjs/DropDownSelector/DropDownSelector.test.js +159 -30
  60. package/cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.js +148 -0
  61. package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  62. package/cjs/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  63. package/cjs/EditModeAttributesList/attributes.test-data.js +1 -1
  64. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +696 -232
  65. package/cjs/EditModeAttributesPager/helpers.test.js +2 -12
  66. package/cjs/EditModeAttributesView/EditModeAttributesView.test.js +262 -156
  67. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  68. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.test.js +312 -297
  69. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  70. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  71. package/cjs/EmptyState/EmptyState.test.js +98 -37
  72. package/cjs/EntityCreator/EntityCreator.test.js +69 -36
  73. package/cjs/EntitySelector/EntitySelector.js +1 -1
  74. package/cjs/EntitySelector/EntitySelector.test.js +274 -421
  75. package/cjs/EntityTypeIcon/EntityTypeIcon.test.js +17 -17
  76. package/cjs/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  77. package/cjs/ErrorBoundary/ErrorBoundary.test.js +19 -17
  78. package/cjs/ErrorMessage/ErrorMessage.js +1 -1
  79. package/cjs/ErrorPopup/ErrorPopup.test.js +71 -24
  80. package/cjs/ErrorWrapper/ErrorWrapper.test.js +10 -9
  81. package/cjs/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  82. package/cjs/FileTypeEditor/FileTypeEditor.test.js +95 -64
  83. package/cjs/FilterValueEditor/FilterValueEditor.test.js +182 -156
  84. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  85. package/cjs/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  86. package/cjs/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  87. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.js +4 -1
  88. package/cjs/OvIcon/OvIcon.js +2 -2
  89. package/cjs/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  90. package/cjs/ShowLess/ShowLess.js +1 -1
  91. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  92. package/cjs/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  93. package/cjs/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  94. package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -2
  95. package/cjs/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -53
  96. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.js +1 -1
  97. package/cjs/features/crosswalks/CrosswalkRow/styles.js +4 -1
  98. package/cjs/test-utils/TestStylesProvider.js +6 -5
  99. package/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  100. package/contexts/MdmModuleContext/hooks.d.ts +2 -2
  101. package/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -30
  102. package/features/crosswalks/CrosswalkRow/CrosswalkRow.js +1 -1
  103. package/features/crosswalks/CrosswalkRow/styles.js +4 -1
  104. package/package.json +1 -1
  105. package/test-utils/TestStylesProvider.js +3 -2
  106. package/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -101
  107. package/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -106
  108. package/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  109. package/BasicTable/IntegrationBasicTable.test.js +0 -203
  110. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  111. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -137
  112. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  113. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -32
  114. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  115. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -106
  116. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  117. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -338
  118. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  119. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -225
  120. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  121. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -47
  122. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  123. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -204
  124. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  125. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -246
  126. package/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  127. package/EditModeAttributesView/metadata.test-data.js +0 -119
  128. package/EntityCreator/entityType.test-data.d.ts +0 -52
  129. package/EntityCreator/entityType.test-data.js +0 -188
  130. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  131. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -27
  132. package/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  133. package/EntitySelector/components/EntityOption/EntityOption.test.js +0 -79
  134. package/EntitySelector/components/Group/Group.test.d.ts +0 -1
  135. package/EntitySelector/components/Group/Group.test.js +0 -65
  136. package/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  137. package/EntitySelector/components/SingleValue/SingleValue.test.js +0 -78
  138. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  139. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -76
  140. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts +0 -1
  141. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -106
  142. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts +0 -1
  143. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -111
  144. package/cjs/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  145. package/cjs/BasicTable/IntegrationBasicTable.test.js +0 -208
  146. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  147. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -142
  148. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  149. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -37
  150. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  151. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -111
  152. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  153. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -343
  154. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  155. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -230
  156. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  157. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -52
  158. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  159. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -209
  160. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  161. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -251
  162. package/cjs/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  163. package/cjs/EditModeAttributesView/metadata.test-data.js +0 -123
  164. package/cjs/EntityCreator/entityType.test-data.d.ts +0 -52
  165. package/cjs/EntityCreator/entityType.test-data.js +0 -191
  166. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  167. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -32
  168. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  169. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.js +0 -84
  170. package/cjs/EntitySelector/components/Group/Group.test.d.ts +0 -1
  171. package/cjs/EntitySelector/components/Group/Group.test.js +0 -70
  172. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  173. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.js +0 -83
  174. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  175. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -81
  176. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  177. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -104
  178. package/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  179. package/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -99
  180. /package/{AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts → EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
  181. /package/{AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts → cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TestStylesProvider = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var jss_1 = require("jss");
9
- var StylesProvider_1 = __importDefault(require("@mui/styles/StylesProvider"));
10
- var styles_1 = require("@mui/material/styles");
9
+ var styles_1 = require("@mui/styles");
10
+ var styles_2 = require("@mui/material/styles");
11
11
  var TestStylesProvider = function (_a) {
12
12
  var children = _a.children;
13
13
  var jss = (0, jss_1.create)();
14
- var muiTheme = (0, styles_1.createTheme)({});
14
+ var muiTheme = (0, styles_2.createTheme)({});
15
+ var generateClassName = (0, styles_1.createGenerateClassName)({ productionPrefix: '', disableGlobal: false });
15
16
  jss.use({
16
17
  onProcessStyle: function (style) { return ({
17
18
  display: style.display,
@@ -19,7 +20,7 @@ var TestStylesProvider = function (_a) {
19
20
  'pointer-events': style['pointer-events']
20
21
  }); }
21
22
  });
22
- return (react_1.default.createElement(styles_1.ThemeProvider, { theme: muiTheme },
23
- react_1.default.createElement(StylesProvider_1.default, { jss: jss }, children)));
23
+ return (react_1.default.createElement(styles_2.ThemeProvider, { theme: muiTheme },
24
+ react_1.default.createElement(styles_1.StylesProvider, { jss: jss, generateClassName: function (rule, styleSheet) { return rule.key || generateClassName(rule, styleSheet); } }, children)));
24
25
  };
25
26
  exports.TestStylesProvider = TestStylesProvider;
@@ -1,30 +1,37 @@
1
1
  import React from 'react';
2
- import { mount } from 'enzyme';
2
+ import { renderHook } from '@testing-library/react-hooks';
3
3
  import { ExpandedAttributesProvider, useAttributeExpanded } from './index';
4
- describe('useAttributeExpanded tests', function () {
5
- var TestComponent = function (_a) {
6
- var attributeUri = _a.attributeUri;
7
- var expanded = useAttributeExpanded(attributeUri);
8
- return React.createElement("div", { "data-test": { expanded: expanded } });
4
+ var setUp = function (attributeUri, attributeUris) {
5
+ var DefaultProviders = function (_a) {
6
+ var children = _a.children;
7
+ return (React.createElement(ExpandedAttributesProvider, { attributeUris: attributeUris }, children));
9
8
  };
10
- var getHooksValues = function (component) { return component.find('TestComponent').childAt(0).prop('data-test'); };
9
+ return renderHook(function (_a) {
10
+ var attributeUri = _a.attributeUri;
11
+ return useAttributeExpanded(attributeUri);
12
+ }, {
13
+ initialProps: { attributeUri: attributeUri },
14
+ wrapper: attributeUris ? DefaultProviders : function (_a) {
15
+ var children = _a.children;
16
+ return React.createElement(React.Fragment, null, children);
17
+ }
18
+ });
19
+ };
20
+ describe('useAttributeExpanded tests', function () {
11
21
  it('should return false if no expanded context present', function () {
12
- var wrapper = mount(React.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Simple/1' }));
13
- expect(getHooksValues(wrapper).expanded).toBe(false);
22
+ var result = setUp('entities/1/attributes/Simple/1').result;
23
+ expect(result.current).toBe(false);
14
24
  });
15
25
  it('should return false if no attributes in expanded context', function () {
16
- var wrapper = mount(React.createElement(ExpandedAttributesProvider, { attributeUris: [] },
17
- React.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Nested/1' })));
18
- expect(getHooksValues(wrapper).expanded).toBe(false);
26
+ var result = setUp('entities/1/attributes/Nested/1', []).result;
27
+ expect(result.current).toBe(false);
19
28
  });
20
29
  it('should return true if attribute in expanded context', function () {
21
- var wrapper = mount(React.createElement(ExpandedAttributesProvider, { attributeUris: ['entities/1/attributes/Nested/1'] },
22
- React.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Nested/1' })));
23
- expect(getHooksValues(wrapper).expanded).toBe(true);
30
+ var result = setUp('entities/1/attributes/Nested/1', ['entities/1/attributes/Nested/1']).result;
31
+ expect(result.current).toBe(true);
24
32
  });
25
33
  it('should return true if subnested attribute in expanded context', function () {
26
- var wrapper = mount(React.createElement(ExpandedAttributesProvider, { attributeUris: ['entities/1/attributes/Nested/1/SubNested/1'] },
27
- React.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Nested/1' })));
28
- expect(getHooksValues(wrapper).expanded).toBe(true);
34
+ var result = setUp('entities/1/attributes/Nested/1', ['entities/1/attributes/Nested/1/SubNested/1']).result;
35
+ expect(result.current).toBe(true);
29
36
  });
30
37
  });
@@ -143,5 +143,5 @@ export declare const useMdmListener: <T extends keyof MdmModuleListenersContextP
143
143
  cleanseLoadingListener: (callback: (value: boolean) => void) => (action: import("../..").AnyAction) => void;
144
144
  searchNavigationListener: (action: import("../..").AnyAction, state: any, dispatch: (action: import("../..").AnyAction) => void) => void;
145
145
  }>[T];
146
- export declare const useMdmHiddenAttributes: () => {};
147
- export declare const useMdmControlAttributes: () => any[];
146
+ export declare const useMdmHiddenAttributes: () => Record<string, string[]>;
147
+ export declare const useMdmControlAttributes: () => string[];
@@ -1,33 +1,19 @@
1
- import { mount } from 'enzyme';
2
- import PropTypes from 'prop-types';
3
- import React, { useEffect } from 'react';
4
- import { act } from 'react-dom/test-utils';
1
+ import { renderHook } from '@testing-library/react-hooks';
2
+ import React from 'react';
5
3
  import { useReloadData, ReloadDataProvider } from './index';
6
- var EmptyStub = function (_props) { return null; };
7
- describe('ReloadDataContext suite', function () {
8
- var TestComponent = function (_a) {
9
- var fn = _a.fn;
10
- var _b = useReloadData(), reloadData = _b.reloadData, addReloadHandler = _b.addReloadHandler;
11
- useEffect(function () {
12
- addReloadHandler(fn);
13
- }, [fn, addReloadHandler]);
14
- return React.createElement(EmptyStub, { onClick: reloadData });
15
- };
16
- TestComponent.propTypes = {
17
- fn: PropTypes.func
18
- };
19
- var getStubComponent = function (wrapper) { return wrapper.find(EmptyStub); };
20
- it('should call the handler which was passed into context on reloadData call', function () {
21
- var fn = jest.fn();
22
- var wrapper = mount(React.createElement(ReloadDataProvider, null,
23
- React.createElement(TestComponent, { fn: fn })));
24
- var emptyStub = getStubComponent(wrapper);
25
- act(function () {
26
- emptyStub.prop('onClick')();
27
- });
28
- act(function () {
29
- wrapper.update();
30
- });
31
- expect(fn).toHaveBeenCalled();
4
+ describe('ReloadDataContext tests', function () {
5
+ it('should add reload handlers, remove reload handlers and reload data correctly', function () {
6
+ var Providers = function (_a) {
7
+ var children = _a.children;
8
+ return (React.createElement(ReloadDataProvider, null, children));
9
+ };
10
+ var result = renderHook(useReloadData, { wrapper: Providers }).result;
11
+ var handler = jest.fn();
12
+ result.current.addReloadHandler(handler);
13
+ result.current.reloadData();
14
+ expect(handler).toHaveBeenCalledTimes(1);
15
+ result.current.removeReloadHandler(handler);
16
+ result.current.reloadData();
17
+ expect(handler).toHaveBeenCalledTimes(1);
32
18
  });
33
19
  });
@@ -73,7 +73,7 @@ export var CrosswalkRow = memo(function (_a) {
73
73
  React.createElement(ColoredBlock, { className: styles.header, color: color, variant: crosswalkDisabled ? 'disabled' : 'standart', onMouseEnter: highlightCrosswalk, onMouseLeave: removeHighlight },
74
74
  isDependent && React.createElement(DependentIcon, { className: styles.dependentIcon }),
75
75
  React.createElement(ArrowExpandButton, { onClick: function () { return setExpanded(function (value) { return !value; }); }, expanded: expanded }),
76
- React.createElement("div", __assign({ className: styles.dragWrapper, ref: setNodeRef }, listeners, attributes),
76
+ React.createElement("div", __assign({ className: styles.dragWrapper, ref: setNodeRef }, listeners, attributes, { tabIndex: -1 }),
77
77
  React.createElement(SourceIcon, { className: styles.sourceIcon, sourceType: crosswalk.type }),
78
78
  React.createElement(ExpandedValueTooltip, { value: sourceSystemLabel },
79
79
  React.createElement(Typography, { variant: 'body2', noWrap: true }, sourceSystemLabel)),
@@ -65,6 +65,9 @@ export var useStyles = makeStyles({
65
65
  dragWrapper: {
66
66
  display: 'flex',
67
67
  flexGrow: 1,
68
- alignItems: 'center'
68
+ alignItems: 'center',
69
+ '&:focus-visible': {
70
+ outline: 'none'
71
+ }
69
72
  }
70
73
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2045",
3
+ "version": "1.4.2047",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
2
  import { create } from 'jss';
3
- import StylesProvider from '@mui/styles/StylesProvider';
3
+ import { StylesProvider, createGenerateClassName } from '@mui/styles';
4
4
  import { ThemeProvider, createTheme } from '@mui/material/styles';
5
5
  export var TestStylesProvider = function (_a) {
6
6
  var children = _a.children;
7
7
  var jss = create();
8
8
  var muiTheme = createTheme({});
9
+ var generateClassName = createGenerateClassName({ productionPrefix: '', disableGlobal: false });
9
10
  jss.use({
10
11
  onProcessStyle: function (style) { return ({
11
12
  display: style.display,
@@ -14,5 +15,5 @@ export var TestStylesProvider = function (_a) {
14
15
  }); }
15
16
  });
16
17
  return (React.createElement(ThemeProvider, { theme: muiTheme },
17
- React.createElement(StylesProvider, { jss: jss }, children)));
18
+ React.createElement(StylesProvider, { jss: jss, generateClassName: function (rule, styleSheet) { return rule.key || generateClassName(rule, styleSheet); } }, children)));
18
19
  };
@@ -1,101 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import React from 'react';
13
- import { shallow } from 'enzyme';
14
- import AttributeSelector from './AttributeSelector';
15
- import { BasicAttributeSelector } from '../../../BasicAttributeSelector';
16
- var defaultProps = {
17
- rowData: {
18
- attribute: {
19
- attrType: {},
20
- entityTypeUri: '',
21
- fieldName: '',
22
- groupName: '',
23
- title: '',
24
- uri: ''
25
- },
26
- filter: 'filter',
27
- id: 0,
28
- values: []
29
- },
30
- rowContext: {
31
- attributeSelectorItemsGroups: [],
32
- addNewFilter: jest.fn(),
33
- addRowAfterIndex: jest.fn(),
34
- changeFilter: jest.fn(),
35
- duplicateRow: jest.fn(),
36
- removeRow: jest.fn(),
37
- entityType: {
38
- uri: 'configuration/entityTypes/HCA',
39
- label: 'HCA',
40
- attributes: []
41
- }
42
- },
43
- attributeSelectorProps: {
44
- onOpen: jest.fn()
45
- }
46
- };
47
- var selectInfo = {
48
- index: 0,
49
- checked: true,
50
- attribute: {
51
- attrType: {},
52
- entityTypeUri: '',
53
- fieldName: 'attribute',
54
- groupName: '',
55
- title: '',
56
- uri: ''
57
- },
58
- selectedAttributes: []
59
- };
60
- var setUp = function (props) {
61
- if (props === void 0) { props = defaultProps; }
62
- return shallow(React.createElement(AttributeSelector, __assign({}, props)));
63
- };
64
- describe('AttributeSelector tests', function () {
65
- it('should render main components', function () {
66
- var attributeSelectorProps = defaultProps.attributeSelectorProps, rowContext = defaultProps.rowContext, rowData = defaultProps.rowData;
67
- var component = setUp();
68
- expect(component.find(BasicAttributeSelector)).toHaveLength(1);
69
- expect(component.find(BasicAttributeSelector).props()).toMatchObject({
70
- itemsGroups: rowContext.attributeSelectorItemsGroups,
71
- ungroup: true,
72
- single: true,
73
- value: rowData.attribute,
74
- getLabel: expect.any(Function),
75
- onSelect: expect.any(Function),
76
- onOpenPopup: attributeSelectorProps.onOpen
77
- });
78
- });
79
- it('should call changeFilter prop after atribute changing', function () {
80
- var rowContext = defaultProps.rowContext, rowData = defaultProps.rowData;
81
- var newFilter = {
82
- fieldName: selectInfo.attribute.fieldName,
83
- filter: defaultProps.rowData.filter,
84
- values: []
85
- };
86
- var component = setUp();
87
- component.find(BasicAttributeSelector).prop('onSelect')(selectInfo);
88
- expect(rowContext.changeFilter).toHaveBeenCalledWith(newFilter, rowData.id);
89
- });
90
- it('should call changeFilter prop after atribute changing if it is new filter', function () {
91
- var newFilter = {
92
- fieldName: selectInfo.attribute.fieldName,
93
- filter: null,
94
- operator: 'and',
95
- values: []
96
- };
97
- var component = setUp(__assign(__assign({}, defaultProps), { rowData: null }));
98
- component.find(BasicAttributeSelector).prop('onSelect')(selectInfo);
99
- expect(defaultProps.rowContext.addNewFilter).toHaveBeenCalledWith(newFilter);
100
- });
101
- });
@@ -1,106 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import React from 'react';
13
- import { shallow } from 'enzyme';
14
- import i18n from 'ui-i18n';
15
- import CloseIcon from '@mui/icons-material/Close';
16
- import AddCircleIcon from '@mui/icons-material/AddCircle';
17
- import DuplicateIcon from '../../../icons/Duplicate';
18
- import RowActions from './RowActions';
19
- import { SmallIconButtonWithTooltip } from '../../../SmallIconButton';
20
- var defaultProps = {
21
- rowData: {
22
- attribute: {
23
- attrType: {},
24
- entityTypeUri: '',
25
- fieldName: 'attribute',
26
- groupName: '',
27
- title: '',
28
- uri: ''
29
- },
30
- filter: 'filter',
31
- id: 0,
32
- values: []
33
- },
34
- rowContext: {
35
- attributesGroup: [],
36
- addNewFilter: jest.fn(),
37
- addRowAfterIndex: jest.fn(),
38
- changeFilter: jest.fn(),
39
- duplicateRow: jest.fn(),
40
- removeRow: jest.fn(),
41
- entityType: {
42
- uri: 'configuration/entityTypes/HCA',
43
- label: 'HCA',
44
- attributes: []
45
- },
46
- attributeSelectorItemsGroups: []
47
- },
48
- attributeSelectorProps: {
49
- disablePopoverRestoreFocus: false,
50
- onRestoreFocus: jest.fn(),
51
- onOpen: jest.fn()
52
- }
53
- };
54
- var setUp = function (props) {
55
- if (props === void 0) { props = defaultProps; }
56
- return shallow(React.createElement(RowActions, __assign({}, props)));
57
- };
58
- describe('RowActions tests', function () {
59
- it('should render main components', function () {
60
- var component = setUp();
61
- expect(component.find(SmallIconButtonWithTooltip)).toHaveLength(3);
62
- expect(component.find(SmallIconButtonWithTooltip).at(0).props()).toMatchObject({
63
- tooltipTitle: i18n.text('Add'),
64
- onClick: expect.any(Function),
65
- icon: AddCircleIcon
66
- });
67
- expect(component.find(SmallIconButtonWithTooltip).at(1).props()).toMatchObject({
68
- tooltipTitle: i18n.text('Duplicate'),
69
- onClick: expect.any(Function),
70
- icon: DuplicateIcon
71
- });
72
- expect(component.find(SmallIconButtonWithTooltip).at(2).props()).toMatchObject({
73
- tooltipTitle: i18n.text('Delete'),
74
- onClick: expect.any(Function),
75
- icon: CloseIcon
76
- });
77
- });
78
- it('should call addRowAfterIndex,removeRow, duplicateRow props after corresponding buttons clicking', function () {
79
- var event = {};
80
- var id = defaultProps.rowData.id;
81
- var _a = defaultProps.rowContext, addRowAfterIndex = _a.addRowAfterIndex, duplicateRow = _a.duplicateRow, removeRow = _a.removeRow;
82
- var component = setUp();
83
- component.find(SmallIconButtonWithTooltip).at(0).prop('onClick')(event);
84
- expect(addRowAfterIndex).toHaveBeenCalledWith(id);
85
- component.find(SmallIconButtonWithTooltip).at(1).prop('onClick')(event);
86
- expect(duplicateRow).toHaveBeenCalledWith(id);
87
- component.find(SmallIconButtonWithTooltip).at(2).prop('onClick')(event);
88
- expect(removeRow).toHaveBeenCalledWith(id);
89
- });
90
- it('should not render duplicate button if there is no attribute', function () {
91
- var rowData = { attribute: null, filter: null, id: 0, values: [] };
92
- var props = __assign(__assign({}, defaultProps), { rowData: rowData });
93
- var component = setUp(props);
94
- expect(component.find(SmallIconButtonWithTooltip)).toHaveLength(2);
95
- expect(component.find(SmallIconButtonWithTooltip).at(0).props()).toMatchObject({
96
- tooltipTitle: i18n.text('Add'),
97
- onClick: expect.any(Function),
98
- icon: AddCircleIcon
99
- });
100
- expect(component.find(SmallIconButtonWithTooltip).at(1).props()).toMatchObject({
101
- tooltipTitle: i18n.text('Delete'),
102
- onClick: expect.any(Function),
103
- icon: CloseIcon
104
- });
105
- });
106
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,203 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
23
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- import React from 'react';
49
- import { screen, render, within, fireEvent, act } from '@testing-library/react';
50
- import userEvent from '@testing-library/user-event';
51
- import { BasicTable } from './BasicTable';
52
- import { CollapseRowButton } from '../CollapseRowButton';
53
- import { mockBasicTableSizing } from '../test-utils';
54
- var FirstColumnRenderer = function (_a) {
55
- var value = _a.value, rowValue = _a.rowValue, rowIndex = _a.rowIndex, draggableProps = _a.draggableProps;
56
- return (React.createElement("div", null,
57
- React.createElement(CollapseRowButton, { rowIndex: rowIndex, rowValue: rowValue }),
58
- React.createElement("div", __assign({}, draggableProps), "drag el"),
59
- React.createElement("div", null, value.name)));
60
- };
61
- var SecondColumnRenderer = function (_a) {
62
- var value = _a.value;
63
- return React.createElement("div", null, value.value);
64
- };
65
- var getRowCellRenderer = function (id) {
66
- switch (id) {
67
- case 'id1':
68
- return FirstColumnRenderer;
69
- case 'id2':
70
- return SecondColumnRenderer;
71
- default:
72
- return function () { return null; };
73
- }
74
- };
75
- var onHeadClickFn = jest.fn();
76
- var HeadCellRenderer = function (_a) {
77
- var headCellData = _a.headCellData;
78
- return (React.createElement("div", null,
79
- React.createElement("button", { onClick: onHeadClickFn }, headCellData.label)));
80
- };
81
- var columnsData = [
82
- {
83
- autoResize: false,
84
- headCellRenderer: HeadCellRenderer,
85
- id: 'id1',
86
- initialWidth: 300,
87
- label: 'column 1',
88
- minWidth: 250,
89
- resizable: true,
90
- draggable: true,
91
- rowCellValueRenderer: getRowCellRenderer('id1'),
92
- sortable: false
93
- },
94
- {
95
- autoResize: false,
96
- headCellRenderer: function () { return 'second column'; },
97
- id: 'id2',
98
- initialWidth: 300,
99
- label: 'column 2',
100
- minWidth: 250,
101
- resizable: true,
102
- rowCellValueRenderer: getRowCellRenderer('id2'),
103
- sortable: false
104
- }
105
- ];
106
- var defaultProps = {
107
- fixFirstColumn: true,
108
- columnsData: columnsData,
109
- rowsData: [
110
- { id1: { name: 'row 1' }, id2: [{ value: 'row 1 value 1' }, { value: 'row 1 value 2' }, { value: 'row 1 value 3' }] },
111
- { id1: { name: 'row 2' }, id2: [{ value: 'row 2 value 1' }, { value: 'row 2 value 2' }] }
112
- ],
113
- headRowHeight: 48,
114
- defaultColumnWidth: 250,
115
- defaultColumnMinWidth: 200,
116
- dndColumnReorderingEnabled: true,
117
- dndColumnReorderingHandler: function () { },
118
- dndRowReorderingEnabled: true,
119
- dndRowReorderingHandler: function () { },
120
- getIdFromRowValue: function (rowValue) { return rowValue.id1.name; },
121
- getRowCellHeight: function () { return 48; },
122
- maxRowValuesCount: 1,
123
- context: {}
124
- };
125
- var setUp = function (props) {
126
- var user = userEvent.setup();
127
- return __assign(__assign({}, render(React.createElement(BasicTable, __assign({}, props)))), { user: user });
128
- };
129
- describe('basic table tests', function () {
130
- it('should collapse all rows after start dragging', function () { return __awaiter(void 0, void 0, void 0, function () {
131
- var mouse, unmockTableSizing, user, getRowByIndex, getCellByIndexes, dragIndicator;
132
- return __generator(this, function (_a) {
133
- switch (_a.label) {
134
- case 0:
135
- mouse = [
136
- { clientX: 0, clientY: 0 },
137
- { clientX: 20, clientY: 20 }
138
- ];
139
- unmockTableSizing = mockBasicTableSizing();
140
- user = setUp(defaultProps).user;
141
- getRowByIndex = function (index) {
142
- var fixHeadAndFirstColumnContainer = screen.queryByTestId('fix-head-and-fix-column-container');
143
- return within(fixHeadAndFirstColumnContainer).queryAllByTestId("base-cell-".concat(index));
144
- };
145
- getCellByIndexes = function (rowIndex, columnIndex) {
146
- var row = getRowByIndex(rowIndex);
147
- return row[columnIndex];
148
- };
149
- return [4 /*yield*/, user.click(within(getCellByIndexes(0, 0)).queryByTestId('collapse-button'))];
150
- case 1:
151
- _a.sent();
152
- return [4 /*yield*/, user.click(within(getCellByIndexes(1, 0)).queryByTestId('collapse-button'))];
153
- case 2:
154
- _a.sent();
155
- expect(within(getCellByIndexes(0, 1)).queryByText('row 1 value 1')).toBeInTheDocument();
156
- expect(within(getCellByIndexes(0, 1)).queryByText('row 1 value 2')).toBeInTheDocument();
157
- expect(within(getCellByIndexes(0, 1)).queryByText('row 1 value 3')).toBeInTheDocument();
158
- expect(within(getCellByIndexes(1, 1)).queryByText('row 2 value 1')).toBeInTheDocument();
159
- expect(within(getCellByIndexes(1, 1)).queryByText('row 2 value 2')).toBeInTheDocument();
160
- dragIndicator = within(getCellByIndexes(1, 0)).getByRole('button', { name: 'drag el' });
161
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
162
- return __generator(this, function (_a) {
163
- fireEvent.mouseDown(dragIndicator, mouse[0]);
164
- fireEvent.mouseMove(dragIndicator, mouse[1]);
165
- return [2 /*return*/];
166
- });
167
- }); })];
168
- case 3:
169
- _a.sent();
170
- expect(within(getCellByIndexes(0, 1)).queryByText('row 1 value 1')).toBeInTheDocument();
171
- expect(within(getCellByIndexes(0, 1)).queryByText('row 1 value 2')).not.toBeInTheDocument();
172
- expect(within(getCellByIndexes(0, 1)).queryByText('row 1 value 3')).not.toBeInTheDocument();
173
- expect(within(getCellByIndexes(1, 1)).queryByText('row 2 value 1')).toBeInTheDocument();
174
- expect(within(getCellByIndexes(1, 1)).queryByText('row 2 value 2')).not.toBeInTheDocument();
175
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
176
- return __generator(this, function (_a) {
177
- fireEvent.mouseUp(dragIndicator);
178
- return [2 /*return*/];
179
- });
180
- }); })];
181
- case 4:
182
- _a.sent();
183
- unmockTableSizing();
184
- return [2 /*return*/];
185
- }
186
- });
187
- }); });
188
- it('should able to click on buttons in table head', function () { return __awaiter(void 0, void 0, void 0, function () {
189
- var user;
190
- return __generator(this, function (_a) {
191
- switch (_a.label) {
192
- case 0:
193
- user = setUp(defaultProps).user;
194
- expect(onHeadClickFn).not.toHaveBeenCalled();
195
- return [4 /*yield*/, user.click(screen.getAllByRole('button', { name: columnsData[0].label })[1])];
196
- case 1:
197
- _a.sent();
198
- expect(onHeadClickFn).toHaveBeenCalled();
199
- return [2 /*return*/];
200
- }
201
- });
202
- }); });
203
- });