@reltio/components 1.4.2071 → 1.4.2072

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 (174) hide show
  1. package/AttributesView/AttributesView.js +1 -1
  2. package/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  3. package/ColumnsSettings/helpers.d.ts +3 -1
  4. package/ColumnsSettings/types.d.ts +8 -0
  5. package/CommentsContainer/CommentsContainer.js +1 -1
  6. package/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  7. package/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  8. package/EditModeAttributesList/EditModeAttributesList.js +1 -1
  9. package/EditModeAttributesPager/EditModeAttributesPager.test.js +1 -1
  10. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
  11. package/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  12. package/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  13. package/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  14. package/ReadOnlyAttributesList/ReadOnlyAttributesList.js +1 -1
  15. package/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +1 -1
  16. package/ReadOnlyAttributesView/ReadOnlyAttributesView.js +1 -1
  17. package/ScrollableTabs/ScrollableTabs.test.js +69 -19
  18. package/SearchHighlighter/SearchHighlighter.test.js +18 -7
  19. package/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  20. package/SelectAttributesList/SelectAttributesList.js +5 -2
  21. package/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  22. package/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  23. package/SidePanelContentHeader/SidePanelContentHeader.test.js +104 -0
  24. package/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  25. package/SidePanelEmptyState/SidePanelEmptyState.test.js +24 -0
  26. package/SimpleAttribute/SimpleAttribute.js +1 -1
  27. package/SimpleAttribute/SimpleAttribute.test.js +155 -80
  28. package/SimpleAttributeEditor/SimpleAttributeEditor.test.js +339 -330
  29. package/SimpleAttributeEditor/useAttributeValuePermissions.js +1 -1
  30. package/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  31. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  32. package/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  33. package/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +128 -32
  34. package/SmallIconButton/SmallIconButton.test.js +98 -25
  35. package/TableWithBars/TableWithBars.test.js +98 -60
  36. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  37. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  38. package/Tags/Tags.d.ts +0 -1
  39. package/Tags/Tags.test.js +8 -7
  40. package/TransitiveMatchBlock/TransitiveMatchBlock.test.js +78 -22
  41. package/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  42. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  43. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  44. package/UploadFileButton/UploadFileButton.d.ts +2 -2
  45. package/UploadFileButton/UploadFileButton.test.js +199 -0
  46. package/UploadImageDialog/UploadImageDialog.test.js +1 -0
  47. package/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  48. package/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  49. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  50. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  51. package/ValueChip/ValueChip.test.js +7 -23
  52. package/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  53. package/VirtualGroupedList/VirtualGroupedList.js +11 -36
  54. package/VirtualGroupedList/VirtualGroupedList.test.js +224 -0
  55. package/VirtualGroupedList/helpers.d.ts +7 -2
  56. package/VirtualGroupedList/helpers.js +3 -1
  57. package/VirtualGroupedList/index.d.ts +1 -1
  58. package/VirtualGroupedList/types.d.ts +10 -6
  59. package/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  60. package/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  61. package/cjs/AttributesView/AttributesView.js +2 -2
  62. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  63. package/cjs/ColumnsSettings/helpers.d.ts +3 -1
  64. package/cjs/ColumnsSettings/types.d.ts +8 -0
  65. package/cjs/ColumnsSettings/types.js +2 -0
  66. package/cjs/CommentsContainer/CommentsContainer.js +1 -1
  67. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  68. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  69. package/cjs/EditModeAttributesList/EditModeAttributesList.js +2 -2
  70. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +2 -2
  71. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +2 -2
  72. package/cjs/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  73. package/cjs/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  74. package/cjs/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  75. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +2 -2
  76. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +2 -2
  77. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.js +2 -2
  78. package/cjs/ScrollableTabs/ScrollableTabs.test.js +69 -19
  79. package/cjs/SearchHighlighter/SearchHighlighter.test.js +18 -7
  80. package/cjs/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  81. package/cjs/SelectAttributesList/SelectAttributesList.js +5 -2
  82. package/cjs/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  83. package/cjs/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  84. package/cjs/SidePanelContentHeader/SidePanelContentHeader.test.js +109 -0
  85. package/cjs/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  86. package/cjs/SidePanelEmptyState/SidePanelEmptyState.test.js +29 -0
  87. package/cjs/SimpleAttribute/SimpleAttribute.js +1 -1
  88. package/cjs/SimpleAttribute/SimpleAttribute.test.js +155 -80
  89. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.test.js +338 -352
  90. package/cjs/SimpleAttributeEditor/useAttributeValuePermissions.js +2 -2
  91. package/cjs/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  92. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  93. package/cjs/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  94. package/cjs/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +127 -31
  95. package/cjs/SmallIconButton/SmallIconButton.test.js +98 -25
  96. package/cjs/TableWithBars/TableWithBars.test.js +98 -60
  97. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  98. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  99. package/cjs/Tags/Tags.d.ts +0 -1
  100. package/cjs/Tags/Tags.test.js +8 -7
  101. package/cjs/TransitiveMatchBlock/TransitiveMatchBlock.test.js +77 -21
  102. package/cjs/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  103. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  104. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  105. package/cjs/UploadFileButton/UploadFileButton.d.ts +2 -2
  106. package/cjs/UploadFileButton/UploadFileButton.test.js +204 -0
  107. package/cjs/UploadImageDialog/UploadImageDialog.test.js +1 -0
  108. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  109. package/cjs/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  110. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  111. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  112. package/cjs/ValueChip/ValueChip.test.js +7 -23
  113. package/cjs/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  114. package/cjs/VirtualGroupedList/VirtualGroupedList.js +11 -36
  115. package/cjs/VirtualGroupedList/VirtualGroupedList.test.js +252 -0
  116. package/cjs/VirtualGroupedList/helpers.d.ts +7 -2
  117. package/cjs/VirtualGroupedList/helpers.js +3 -1
  118. package/cjs/VirtualGroupedList/index.d.ts +1 -1
  119. package/cjs/VirtualGroupedList/types.d.ts +10 -6
  120. package/cjs/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  121. package/cjs/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  122. package/cjs/features/crosswalks/hooks/useAttributeActions.test.js +24 -25
  123. package/cjs/features/crosswalks/hooks/useCrosswalkActions.test.js +10 -11
  124. package/cjs/features/workflow/hooks/useChangeRequest.test.js +5 -6
  125. package/cjs/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +8 -9
  126. package/cjs/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  127. package/features/crosswalks/hooks/useAttributeActions.test.js +1 -2
  128. package/features/crosswalks/hooks/useCrosswalkActions.test.js +1 -2
  129. package/features/workflow/hooks/useChangeRequest.test.js +1 -2
  130. package/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +1 -2
  131. package/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  132. package/package.json +1 -1
  133. package/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -49
  134. package/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -24
  135. package/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -103
  136. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -13
  137. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -21
  138. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -20
  139. package/UploadFileButton/UploadFileButton.spec.js +0 -219
  140. package/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -9
  141. package/VirtualGroupedList/VirtualGroupedList.spec.js +0 -282
  142. package/cjs/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -54
  143. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.d.ts +0 -1
  144. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -29
  145. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts +0 -1
  146. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -108
  147. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts +0 -1
  148. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -18
  149. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts +0 -1
  150. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -26
  151. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts +0 -1
  152. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -25
  153. package/cjs/UploadFileButton/UploadFileButton.spec.d.ts +0 -1
  154. package/cjs/UploadFileButton/UploadFileButton.spec.js +0 -224
  155. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts +0 -1
  156. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -14
  157. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.d.ts +0 -1
  158. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.js +0 -287
  159. package/cjs/WhiteSearchInput/WhiteSearchInput.spec.d.ts +0 -1
  160. /package/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → ColumnsSettings/types.js} +0 -0
  161. /package/{SidePanelEmptyState/SidePanelEmptyState.spec.d.ts → SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  162. /package/{SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts → SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  163. /package/{SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts → UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  164. /package/{TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts → VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  165. /package/{TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  166. /package/{UploadFileButton/UploadFileButton.spec.d.ts → cjs/SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  167. /package/{UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts → cjs/SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  168. /package/{VirtualGroupedList/VirtualGroupedList.spec.d.ts → cjs/UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  169. /package/{WhiteSearchInput/WhiteSearchInput.spec.d.ts → cjs/VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  170. /package/cjs/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  171. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  172. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
  173. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  174. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
@@ -1,282 +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 { mount } from 'enzyme';
14
- import { VariableSizeList } from 'react-window';
15
- import { VirtualGroupedList } from './VirtualGroupedList';
16
- import { flattenGroupedItemsData } from './helpers';
17
- describe('VirtualGroupedList tests', function () {
18
- var getItems = function (type) {
19
- var simpleItems = [
20
- {
21
- item: {
22
- label: 'Label 1',
23
- id: 'someid1'
24
- }
25
- },
26
- {
27
- item: {
28
- label: 'Label 2',
29
- id: 'someid2'
30
- }
31
- },
32
- {
33
- item: {
34
- label: 'Label 3',
35
- id: 'someid3'
36
- }
37
- }
38
- ];
39
- var newSimpleItems = [
40
- {
41
- item: {
42
- label: 'Label 1',
43
- id: 'someid1'
44
- }
45
- },
46
- {
47
- item: {
48
- label: 'Label 2',
49
- id: 'someid2'
50
- }
51
- }
52
- ];
53
- var groupedItems = [
54
- {
55
- item: {
56
- label: 'Label 1',
57
- id: 'someid1'
58
- },
59
- items: [
60
- {
61
- item: {
62
- label: 'Label 1.1',
63
- id: 'someid1.1'
64
- }
65
- },
66
- {
67
- item: {
68
- label: 'Label 1.2',
69
- id: 'someid1.2'
70
- }
71
- },
72
- {
73
- item: {
74
- label: 'Label 1.3',
75
- id: 'someid1.3'
76
- }
77
- }
78
- ]
79
- },
80
- {
81
- item: {
82
- label: 'Label 2',
83
- id: 'someid2'
84
- },
85
- items: [
86
- {
87
- item: {
88
- label: 'Label 2.1',
89
- id: 'someid2.1'
90
- }
91
- },
92
- {
93
- item: {
94
- label: 'Label 2.2',
95
- id: 'someid2.2'
96
- }
97
- }
98
- ]
99
- }
100
- ];
101
- switch (type) {
102
- case 'grouped':
103
- return { items: flattenGroupedItemsData(groupedItems) };
104
- case 'groupedWithMove': {
105
- groupedItems[1].items[1].moveTo = true;
106
- return { items: flattenGroupedItemsData(groupedItems) };
107
- }
108
- case 'newSimpleItems': {
109
- return { items: flattenGroupedItemsData(newSimpleItems) };
110
- }
111
- case 'simple':
112
- default:
113
- return { items: flattenGroupedItemsData(simpleItems) };
114
- }
115
- };
116
- var findClassName = function (component, className) { return component.find('div.' + className); };
117
- var itemClass = 'item';
118
- var itemTitleClass = 'stickyTitleItem';
119
- var stickyTitlesWrapper = 'stickyTitlesWrapper';
120
- var renderItem = function (style, _a) {
121
- var item = _a.item;
122
- return (React.createElement("div", { style: style, className: itemClass }, item.label));
123
- };
124
- var defaultParams = {
125
- getItemSize: function () { return 50; },
126
- renderItem: renderItem,
127
- renderGroupTitle: renderItem,
128
- height: 500
129
- };
130
- afterEach(function () {
131
- jest.restoreAllMocks();
132
- });
133
- it('should render main components', function () {
134
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('simple'), defaultParams)));
135
- expect(component.find(VariableSizeList).length).toBe(1);
136
- });
137
- it('should correct render simple items', function () {
138
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('simple'), defaultParams)));
139
- var items = findClassName(component, itemClass);
140
- expect(items.length).toBe(3);
141
- expect(items.at(0).text()).toBe('Label 1');
142
- expect(items.at(1).text()).toBe('Label 2');
143
- expect(items.at(2).text()).toBe('Label 3');
144
- });
145
- it('should correct render grouped items', function () {
146
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams)));
147
- var items = findClassName(component, itemClass);
148
- expect(items.length).toBe(9);
149
- expect(items.at(0).text()).toBe('Label 1');
150
- expect(items.at(1).text()).toBe('Label 2');
151
- expect(items.at(2).text()).toBe('Label 1');
152
- expect(items.at(3).text()).toBe('Label 1.1');
153
- expect(items.at(4).text()).toBe('Label 1.2');
154
- expect(items.at(5).text()).toBe('Label 1.3');
155
- expect(items.at(6).text()).toBe('Label 2');
156
- expect(items.at(7).text()).toBe('Label 2.1');
157
- expect(items.at(8).text()).toBe('Label 2.2');
158
- });
159
- it('should render fixed group titles', function () {
160
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams)));
161
- component.update();
162
- var fixedTitles = findClassName(component, itemTitleClass);
163
- expect(fixedTitles.length).toBe(2);
164
- expect(fixedTitles.at(0).text()).toBe('Label 1');
165
- expect(fixedTitles.at(0).getDOMNode().style).toHaveProperty('visibility', 'visible');
166
- expect(fixedTitles.at(1).text()).toBe('Label 2');
167
- expect(fixedTitles.at(1).getDOMNode().style).toHaveProperty('visibility', 'hidden');
168
- });
169
- it('should set sticky titles width if items width changed', function () {
170
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams)));
171
- component.update();
172
- var titleRef = component.find('.stickyTitlesWrapper').getDOMNode();
173
- var itemsRef = component.find('List').prop('innerRef');
174
- jest.spyOn(itemsRef.current, 'offsetWidth', 'get').mockReturnValue(200);
175
- component.setProps({ height: 100 });
176
- component.update();
177
- expect(titleRef.style.width).toBe('200px');
178
- });
179
- it('should not render fixed group title when fixedTitle is false', function () {
180
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams, { fixedTitle: false })));
181
- component.update();
182
- var fixedTitles = findClassName(component, itemTitleClass);
183
- expect(fixedTitles.length).toBe(0);
184
- });
185
- it('should clear index when items is updated', function () {
186
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('simple'), defaultParams)));
187
- var resetAfterIndexSpy = jest.spyOn(component.find(VariableSizeList).instance(), 'resetAfterIndex');
188
- component.setProps(__assign({}, getItems('grouped')));
189
- component.update();
190
- expect(resetAfterIndexSpy).toHaveBeenCalledWith(0);
191
- });
192
- describe('Scroll behaviour', function () {
193
- /*
194
- Some scroll offsets for grouped items(getItems('grouped')):
195
- First title offset: 0
196
- First title will be showing in offset range: 0-199
197
- Second title offset: 200
198
- Second title will be showing in offset range: 200+
199
- Offset range when titles is touching each other: 150-200
200
- */
201
- it('should scroll to moveTo item', function () {
202
- jest.spyOn(window, 'requestAnimationFrame').mockImplementation(function (cb) { return cb(); });
203
- var scrollToSpy = jest.spyOn(VariableSizeList.prototype, 'scrollTo').mockImplementation(function () { return null; });
204
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams, { height: 150 })));
205
- component.setProps(__assign({}, getItems('groupedWithMove')));
206
- component.update();
207
- expect(scrollToSpy).toHaveBeenCalledTimes(2);
208
- expect(scrollToSpy).toHaveBeenCalledWith(200);
209
- window.requestAnimationFrame.mockRestore();
210
- });
211
- it('should scroll to top of item', function () {
212
- var scrollToSpy = jest.spyOn(VariableSizeList.prototype, 'scrollTo').mockImplementation(function () { return null; });
213
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems(), defaultParams, { height: 150 })));
214
- jest.spyOn(window, 'requestAnimationFrame').mockImplementation(function (cb) { return cb(); });
215
- component.setProps(__assign({}, getItems('newSimpleItems')));
216
- component.update();
217
- expect(scrollToSpy).toHaveBeenCalledTimes(1);
218
- expect(scrollToSpy).toHaveBeenCalledWith(0);
219
- window.requestAnimationFrame.mockRestore();
220
- });
221
- it('should change fixed title on forward scroll', function () {
222
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams, { height: 150 })));
223
- var fixedTitles = findClassName(component, itemTitleClass);
224
- var titlesWrapper = findClassName(component, stickyTitlesWrapper);
225
- component.find(VariableSizeList).prop('onScroll')({
226
- scrollOffset: 210,
227
- scrollDirection: 'forward'
228
- });
229
- expect(fixedTitles.length).toBe(2);
230
- expect(titlesWrapper.getDOMNode().style).toHaveProperty('top', '0px');
231
- expect(fixedTitles.at(0).getDOMNode().style).toHaveProperty('visibility', 'hidden');
232
- expect(fixedTitles.at(1).getDOMNode().style).toHaveProperty('visibility', 'visible');
233
- });
234
- it('should move current fixed title on forward scroll when next title start touching the current title', function () {
235
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams, { height: 150 })));
236
- var fixedTitles = findClassName(component, itemTitleClass);
237
- var titlesWrapper = findClassName(component, stickyTitlesWrapper);
238
- component.find(VariableSizeList).prop('onScroll')({
239
- scrollOffset: 151,
240
- scrollDirection: 'forward'
241
- });
242
- expect(fixedTitles.length).toBe(2);
243
- expect(titlesWrapper.getDOMNode().style).toHaveProperty('top', '-1px');
244
- expect(fixedTitles.at(0).getDOMNode().style).toHaveProperty('visibility', 'visible');
245
- expect(fixedTitles.at(1).getDOMNode().style).toHaveProperty('visibility', 'hidden');
246
- });
247
- it('should change fixed title on backward scroll', function () {
248
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams, { height: 150 })));
249
- var fixedTitles = findClassName(component, itemTitleClass);
250
- var titlesWrapper = findClassName(component, stickyTitlesWrapper);
251
- component.find(VariableSizeList).prop('onScroll')({
252
- scrollOffset: 210,
253
- scrollDirection: 'forward'
254
- });
255
- component.find(VariableSizeList).prop('onScroll')({
256
- scrollOffset: 140,
257
- scrollDirection: 'backward'
258
- });
259
- expect(fixedTitles.length).toBe(2);
260
- expect(titlesWrapper.getDOMNode().style).toHaveProperty('top', '0px');
261
- expect(fixedTitles.at(0).getDOMNode().style).toHaveProperty('visibility', 'visible');
262
- expect(fixedTitles.at(1).getDOMNode().style).toHaveProperty('visibility', 'hidden');
263
- });
264
- it('should move current fixed title on backward scroll when previous title start touching the current title', function () {
265
- var component = mount(React.createElement(VirtualGroupedList, __assign({}, getItems('grouped'), defaultParams, { height: 150 })));
266
- var fixedTitles = findClassName(component, itemTitleClass);
267
- var titlesWrapper = findClassName(component, stickyTitlesWrapper);
268
- component.find(VariableSizeList).prop('onScroll')({
269
- scrollOffset: 210,
270
- scrollDirection: 'forward'
271
- });
272
- component.find(VariableSizeList).prop('onScroll')({
273
- scrollOffset: 199,
274
- scrollDirection: 'backward'
275
- });
276
- expect(fixedTitles.length).toBe(2);
277
- expect(titlesWrapper.getDOMNode().style).toHaveProperty('top', '-49px');
278
- expect(fixedTitles.at(0).getDOMNode().style).toHaveProperty('visibility', 'visible');
279
- expect(fixedTitles.at(1).getDOMNode().style).toHaveProperty('visibility', 'hidden');
280
- });
281
- });
282
- });
@@ -1,54 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var test_utils_1 = require("react-dom/test-utils");
9
- var Typography_1 = __importDefault(require("@mui/material/Typography"));
10
- var Divider_1 = __importDefault(require("@mui/material/Divider"));
11
- var SmallIconButton_1 = require("../SmallIconButton");
12
- var SidePanelContentHeader_1 = require("./SidePanelContentHeader");
13
- describe('SidePanelContentHeader test', function () {
14
- var mainTitle = 'mainTitle';
15
- var secondTitle = 'secondTitle';
16
- var rightContent = 'rightContent';
17
- it('should renders all component well', function () {
18
- var onCloseFn = jest.fn();
19
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelContentHeader_1.SidePanelContentHeader, { onClose: onCloseFn, mainTitle: mainTitle, secondTitle: secondTitle, rightContent: rightContent }));
20
- expect(component.find(SmallIconButton_1.SmallIconButtonWithTooltip)).toHaveLength(1);
21
- var typographies = component.find(Typography_1.default);
22
- expect(typographies).toHaveLength(2);
23
- expect(typographies.at(0).text()).toContain(mainTitle);
24
- expect(typographies.at(1).text()).toContain(secondTitle);
25
- expect(component.find(Divider_1.default)).toHaveLength(1);
26
- expect(component.text()).toContain(rightContent);
27
- });
28
- it('should renders component witn content', function () {
29
- var onCloseFn = jest.fn();
30
- var textContent = 'Test content';
31
- var content = react_1.default.createElement("div", null, textContent);
32
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelContentHeader_1.SidePanelContentHeader, { onClose: onCloseFn, content: content }));
33
- expect(component.find(SmallIconButton_1.SmallIconButtonWithTooltip)).toHaveLength(1);
34
- expect(component.text()).toEqual(textContent);
35
- });
36
- it('should not render Divider with empty secondTitle', function () {
37
- var onCloseFn = jest.fn();
38
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelContentHeader_1.SidePanelContentHeader, { onClose: onCloseFn, mainTitle: mainTitle, rightContent: rightContent }));
39
- expect(component.find(SmallIconButton_1.SmallIconButtonWithTooltip)).toHaveLength(1);
40
- var typographies = component.find(Typography_1.default);
41
- expect(typographies).toHaveLength(1);
42
- expect(typographies.at(0).text()).toContain(mainTitle);
43
- expect(component.find(Divider_1.default)).toHaveLength(0);
44
- expect(component.text()).toContain(rightContent);
45
- });
46
- it('should call onClose after button click', function () {
47
- var onCloseFn = jest.fn();
48
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelContentHeader_1.SidePanelContentHeader, { onClose: onCloseFn, mainTitle: mainTitle, secondTitle: secondTitle, rightContent: rightContent }));
49
- (0, test_utils_1.act)(function () {
50
- component.find(SmallIconButton_1.SmallIconButtonWithTooltip).prop('onClick')({});
51
- });
52
- expect(onCloseFn).toHaveBeenCalled();
53
- });
54
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var SidePanelEmptyState_1 = require("./SidePanelEmptyState");
9
- var icons_1 = require("../icons");
10
- describe('SidePanelEmptyState test', function () {
11
- it('should render correct default state', function () {
12
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelEmptyState_1.SidePanelEmptyState, { text: "test" }));
13
- expect(wrapper.find(icons_1.AttributesList).length).toBe(1);
14
- expect(wrapper.find('.textBox')).toHaveLength(1);
15
- expect(wrapper.find('.text').text()).toBe('test');
16
- expect(wrapper.find('.secondaryText').length).toBe(0);
17
- });
18
- it('should render icon passed in IconRenderer', function () {
19
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelEmptyState_1.SidePanelEmptyState, { IconRenderer: icons_1.NoData, text: "test" }));
20
- expect(wrapper.find(icons_1.NoData).length).toBe(1);
21
- expect(wrapper.find('.text').text()).toBe('test');
22
- });
23
- it('should render secondary text', function () {
24
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(SidePanelEmptyState_1.SidePanelEmptyState, { text: "test", secondaryText: "secondaryTest" }));
25
- expect(wrapper.find(icons_1.AttributesList).length).toBe(1);
26
- expect(wrapper.find('.text').text()).toBe('test');
27
- expect(wrapper.find('.secondaryText').text()).toBe('secondaryTest');
28
- });
29
- });
@@ -1,108 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var react_1 = __importDefault(require("react"));
18
- var react_2 = require("@testing-library/react");
19
- var SimpleAttributeEditor_1 = __importDefault(require("./SimpleAttributeEditor"));
20
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
21
- var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
22
- var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
23
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { checkMetadataPermission: function () { return false; } })); });
24
- var mdmValues = {
25
- dependentLookups: {
26
- editors: {}
27
- }
28
- };
29
- describe('SimpleAttributeEditor without permissions', function () {
30
- var onAddFn = jest.fn();
31
- var onDeleteFn = jest.fn();
32
- var onChangeFn = jest.fn();
33
- var defaultProps = {
34
- mode: mdm_sdk_1.Mode.Editing,
35
- isReltioCrosswalk: true,
36
- onAddAttributes: onAddFn,
37
- onDeleteAttribute: onDeleteFn,
38
- onChangeAttribute: onChangeFn
39
- };
40
- var setUp = function (_a) {
41
- var props = _a.props, _b = _a.alwaysVisibleAttributes, alwaysVisibleAttributes = _b === void 0 ? [] : _b;
42
- return (0, react_2.render)(react_1.default.createElement(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext.Provider, { value: alwaysVisibleAttributes },
43
- react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
44
- react_1.default.createElement(SimpleAttributeEditor_1.default, __assign({}, defaultProps, props)))));
45
- };
46
- it('should render just text, if there is only READ permission', function () {
47
- var props = {
48
- attributeValue: {
49
- value: 'some string',
50
- uri: '1'
51
- },
52
- attributeType: {
53
- access: ['READ'],
54
- type: 'String',
55
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
56
- }
57
- };
58
- setUp({ props: props });
59
- expect(react_2.screen.getByText('some string')).toBeInTheDocument();
60
- expect(react_2.screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
61
- });
62
- it('should render text and DELETE button, if there are only READ and DELETE permission', function () {
63
- var props = {
64
- attributeValue: {
65
- value: 'some string',
66
- uri: '1'
67
- },
68
- attributeType: {
69
- access: ['READ', 'DELETE'],
70
- type: 'String',
71
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
72
- }
73
- };
74
- setUp({ props: props });
75
- expect(react_2.screen.getByText('some string')).toBeInTheDocument();
76
- expect(react_2.screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
77
- });
78
- it('should render always visible attribute without value correct, if there are only READ permission', function () {
79
- var props = {
80
- attributeValue: {
81
- uri: 'uri$$'
82
- },
83
- attributeType: {
84
- access: ['READ'],
85
- type: 'String',
86
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
87
- }
88
- };
89
- setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
90
- expect(react_2.screen.queryByRole('textbox')).not.toBeInTheDocument();
91
- expect(react_2.screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
92
- });
93
- it('should render always visible attribute without value correct, if there are only READ and DELETE permission', function () {
94
- var props = {
95
- attributeValue: {
96
- uri: 'uri$$'
97
- },
98
- attributeType: {
99
- access: ['READ', 'DELETE'],
100
- type: 'String',
101
- uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
102
- }
103
- };
104
- setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
105
- expect(react_2.screen.queryByRole('textbox')).not.toBeInTheDocument();
106
- expect(react_2.screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
107
- });
108
- });
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var react_2 = require("@testing-library/react");
8
- var DropDownPlaceholder_1 = require("./DropDownPlaceholder");
9
- describe('DropDownPlaceholder tests', function () {
10
- it('should render children', function () {
11
- (0, react_2.render)(react_1.default.createElement(DropDownPlaceholder_1.DropDownPlaceholder, null, "text"));
12
- expect(react_2.screen.getByText('text')).toBeInTheDocument();
13
- });
14
- it('should transfer innerProps', function () {
15
- (0, react_2.render)(react_1.default.createElement(DropDownPlaceholder_1.DropDownPlaceholder, { innerProps: { className: 'testClassName' } }, "text"));
16
- expect(react_2.screen.getByText('text')).toHaveClass('testClassName');
17
- });
18
- });
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
9
- var AttributeCellRenderer_1 = require("./AttributeCellRenderer");
10
- describe('AttributeCellRenderer', function () {
11
- it('should render main parts', function () {
12
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(AttributeCellRenderer_1.AttributeCellRenderer, null));
13
- var cell = wrapper.find(ExpandedValueTooltip_1.ExpandedValueTooltip);
14
- expect(cell).toHaveLength(1);
15
- expect(cell.prop('value')).toEqual('');
16
- expect(new enzyme_1.ReactWrapper(cell.prop('children')).text()).toBe('');
17
- });
18
- it('should render correct value', function () {
19
- var value = 'Test';
20
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(AttributeCellRenderer_1.AttributeCellRenderer, { value: value }));
21
- var cell = wrapper.find(ExpandedValueTooltip_1.ExpandedValueTooltip);
22
- expect(cell).toHaveLength(1);
23
- expect(cell.prop('value')).toEqual(value);
24
- expect(new enzyme_1.ReactWrapper(cell.prop('children')).text()).toBe(value);
25
- });
26
- });
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var DefaultHeadCellRenderer_1 = __importDefault(require("react-components/dist/Table/DefaultHeadCellRenderer/DefaultHeadCellRenderer"));
9
- var ExpandedValueTooltip_1 = require("../../../ExpandedValueTooltip");
10
- var HeadCellRenderer_1 = require("./HeadCellRenderer");
11
- describe('HeadCellRenderer', function () {
12
- it('should render main parts', function () {
13
- var header = 'Test header';
14
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(HeadCellRenderer_1.HeadCellRenderer, { headCellData: { label: header } }));
15
- var cell = wrapper.find(DefaultHeadCellRenderer_1.default);
16
- expect(cell).toHaveLength(1);
17
- var headCellData = cell.prop('headCellData');
18
- var cellData = new enzyme_1.ReactWrapper(headCellData.label);
19
- expect(cellData).toHaveLength(1);
20
- var labelWrapper = cellData.find(ExpandedValueTooltip_1.ExpandedValueTooltip);
21
- expect(labelWrapper).toHaveLength(1);
22
- expect(labelWrapper.prop('value')).toEqual(header);
23
- expect(new enzyme_1.ReactWrapper(labelWrapper.prop('children')).text()).toBe(header);
24
- });
25
- });
@@ -1 +0,0 @@
1
- export {};