@reltio/components 1.4.2190 → 1.4.2192

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 (209) hide show
  1. package/AttributeCellRenderers/BlobRenderer.d.ts +5 -0
  2. package/AttributeCellRenderers/BlobRenderer.js +23 -0
  3. package/AttributeCellRenderers/EntityIdRenderer.d.ts +11 -0
  4. package/AttributeCellRenderers/EntityIdRenderer.js +19 -0
  5. package/AttributeCellRenderers/EntityProfileRenderer.d.ts +5 -0
  6. package/AttributeCellRenderers/EntityProfileRenderer.js +17 -0
  7. package/AttributeCellRenderers/ImageRenderer.d.ts +10 -0
  8. package/AttributeCellRenderers/ImageRenderer.js +10 -0
  9. package/AttributeCellRenderers/ReferenceRenderer.d.ts +5 -0
  10. package/AttributeCellRenderers/ReferenceRenderer.js +24 -0
  11. package/AttributeCellRenderers/SimpleAttributeRenderer.d.ts +5 -0
  12. package/AttributeCellRenderers/SimpleAttributeRenderer.js +22 -0
  13. package/AttributeCellRenderers/getAttributeValueRenderer.d.ts +15 -0
  14. package/AttributeCellRenderers/getAttributeValueRenderer.js +24 -0
  15. package/AttributeCellRenderers/index.d.ts +1 -0
  16. package/AttributeCellRenderers/index.js +1 -0
  17. package/AttributeCellRenderers/styles.module.css.js +9 -0
  18. package/AttributeRowCellRenderer/AttributeRowCellRenderer.d.ts +21 -0
  19. package/AttributeRowCellRenderer/AttributeRowCellRenderer.js +42 -0
  20. package/AttributeRowCellRenderer/index.d.ts +1 -0
  21. package/AttributeRowCellRenderer/index.js +1 -0
  22. package/DefaultHeadCellRendererWithTooltip/DefaultHeadCellRendererWithTooltip.d.ts +4 -1
  23. package/DefaultHeadCellRendererWithTooltip/DefaultHeadCellRendererWithTooltip.js +7 -4
  24. package/DefaultHeadCellRendererWithTooltip/DefaultHeadCellRendererWithTooltip.module.css.js +2 -2
  25. package/ProfileBand/ProfileBand.d.ts +5 -4
  26. package/ProfileBand/ProfileBand.js +4 -5
  27. package/ProfileBand/ProfileBand.module.css.js +9 -0
  28. package/RCTree/styles.d.ts +1 -1
  29. package/RowCellChipWithTooltip/RowCellChipWithTooltip.d.ts +9 -0
  30. package/RowCellChipWithTooltip/RowCellChipWithTooltip.js +18 -0
  31. package/RowCellChipWithTooltip/RowCellChipWithTooltip.module.css.js +9 -0
  32. package/RowCellChipWithTooltip/index.d.ts +1 -0
  33. package/RowCellChipWithTooltip/index.js +1 -0
  34. package/RowCellChips/RowCellChips.d.ts +11 -0
  35. package/RowCellChips/RowCellChips.js +9 -0
  36. package/RowCellChips/RowCellChips.module.css.js +9 -0
  37. package/RowCellChips/index.d.ts +1 -0
  38. package/RowCellChips/index.js +1 -0
  39. package/TableWithBars/TableWithBars.test.js +3 -3
  40. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  41. package/cjs/AttributeCellRenderers/BlobRenderer.d.ts +5 -0
  42. package/cjs/AttributeCellRenderers/BlobRenderer.js +28 -0
  43. package/cjs/AttributeCellRenderers/EntityIdRenderer.d.ts +11 -0
  44. package/cjs/AttributeCellRenderers/EntityIdRenderer.js +26 -0
  45. package/cjs/AttributeCellRenderers/EntityProfileRenderer.d.ts +5 -0
  46. package/cjs/AttributeCellRenderers/EntityProfileRenderer.js +22 -0
  47. package/cjs/AttributeCellRenderers/ImageRenderer.d.ts +10 -0
  48. package/cjs/AttributeCellRenderers/ImageRenderer.js +17 -0
  49. package/cjs/AttributeCellRenderers/ReferenceRenderer.d.ts +5 -0
  50. package/cjs/AttributeCellRenderers/ReferenceRenderer.js +29 -0
  51. package/cjs/AttributeCellRenderers/SimpleAttributeRenderer.d.ts +5 -0
  52. package/cjs/AttributeCellRenderers/SimpleAttributeRenderer.js +27 -0
  53. package/cjs/AttributeCellRenderers/getAttributeValueRenderer.d.ts +15 -0
  54. package/cjs/AttributeCellRenderers/getAttributeValueRenderer.js +31 -0
  55. package/cjs/AttributeCellRenderers/index.d.ts +1 -0
  56. package/cjs/AttributeCellRenderers/index.js +5 -0
  57. package/cjs/AttributeCellRenderers/styles.module.css.js +9 -0
  58. package/cjs/AttributeRowCellRenderer/AttributeRowCellRenderer.d.ts +21 -0
  59. package/cjs/AttributeRowCellRenderer/AttributeRowCellRenderer.js +47 -0
  60. package/cjs/AttributeRowCellRenderer/index.d.ts +1 -0
  61. package/cjs/AttributeRowCellRenderer/index.js +8 -0
  62. package/cjs/DefaultHeadCellRendererWithTooltip/DefaultHeadCellRendererWithTooltip.d.ts +4 -1
  63. package/cjs/DefaultHeadCellRendererWithTooltip/DefaultHeadCellRendererWithTooltip.js +7 -4
  64. package/cjs/DefaultHeadCellRendererWithTooltip/DefaultHeadCellRendererWithTooltip.module.css.js +2 -2
  65. package/cjs/ProfileBand/ProfileBand.d.ts +5 -4
  66. package/cjs/ProfileBand/ProfileBand.js +14 -15
  67. package/cjs/ProfileBand/ProfileBand.module.css.js +9 -0
  68. package/cjs/RCTree/styles.d.ts +1 -1
  69. package/cjs/RowCellChipWithTooltip/RowCellChipWithTooltip.d.ts +9 -0
  70. package/cjs/RowCellChipWithTooltip/RowCellChipWithTooltip.js +48 -0
  71. package/cjs/RowCellChipWithTooltip/RowCellChipWithTooltip.module.css.js +9 -0
  72. package/cjs/RowCellChipWithTooltip/index.d.ts +1 -0
  73. package/cjs/RowCellChipWithTooltip/index.js +5 -0
  74. package/cjs/RowCellChips/RowCellChips.d.ts +11 -0
  75. package/cjs/RowCellChips/RowCellChips.js +16 -0
  76. package/cjs/RowCellChips/RowCellChips.module.css.js +9 -0
  77. package/cjs/RowCellChips/index.d.ts +1 -0
  78. package/cjs/RowCellChips/index.js +5 -0
  79. package/cjs/TableWithBars/TableWithBars.test.js +3 -3
  80. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  81. package/cjs/contexts/BasicTableContext/index.d.ts +1 -1
  82. package/cjs/contexts/MdmModuleContext/context.d.ts +4 -0
  83. package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -0
  84. package/cjs/contexts/MdmModuleContext/hooks.js +6 -2
  85. package/cjs/contexts/MdmModuleContext/index.d.ts +1 -1
  86. package/cjs/contexts/MdmModuleContext/index.js +3 -1
  87. package/cjs/features/history/HistoryRow/styles.d.ts +1 -1
  88. package/cjs/features/workflow/ChangeRequestEditor/ChangeRequestEditor.d.ts +8 -0
  89. package/cjs/features/workflow/ChangeRequestEditor/ChangeRequestEditor.js +18 -0
  90. package/cjs/features/workflow/ChangeRequestEditor/ChangeRequestEditor.module.css.js +9 -0
  91. package/cjs/features/workflow/ChangeRequestEditor/index.d.ts +1 -0
  92. package/cjs/features/workflow/ChangeRequestEditor/index.js +5 -0
  93. package/cjs/features/workflow/ReviewDCRButton/ReviewDCRButton.d.ts +6 -0
  94. package/cjs/features/workflow/ReviewDCRButton/ReviewDCRButton.js +19 -0
  95. package/cjs/features/workflow/ReviewDCRButton/ReviewDCRButton.module.css.js +9 -0
  96. package/cjs/features/workflow/ReviewDCRButton/index.d.ts +1 -0
  97. package/cjs/features/workflow/ReviewDCRButton/index.js +5 -0
  98. package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.d.ts +11 -0
  99. package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.js +63 -0
  100. package/cjs/features/workflow/ReviewDCRDialog/ReviewDCRDialog.module.css.js +9 -0
  101. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.d.ts +8 -0
  102. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.js +73 -0
  103. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.module.css.js +9 -0
  104. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.d.ts +1 -0
  105. package/cjs/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.js +5 -0
  106. package/cjs/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.d.ts +9 -0
  107. package/cjs/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.js +40 -0
  108. package/cjs/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.module.css.js +9 -0
  109. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.d.ts +3 -0
  110. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.js +19 -0
  111. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.d.ts +1 -0
  112. package/cjs/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.js +124 -0
  113. package/cjs/features/workflow/ReviewDCRDialog/helpers/index.d.ts +1 -0
  114. package/cjs/features/workflow/ReviewDCRDialog/helpers/index.js +5 -0
  115. package/cjs/features/workflow/ReviewDCRDialog/index.d.ts +1 -0
  116. package/cjs/features/workflow/ReviewDCRDialog/index.js +5 -0
  117. package/cjs/features/workflow/WorkflowActionButtons/WorkflowActionButtons.d.ts +12 -0
  118. package/cjs/features/workflow/WorkflowActionButtons/WorkflowActionButtons.js +57 -0
  119. package/cjs/features/workflow/WorkflowActionButtons/index.d.ts +1 -0
  120. package/cjs/features/workflow/WorkflowActionButtons/index.js +5 -0
  121. package/cjs/features/workflow/WorkflowComments/WorkflowComments.d.ts +7 -1
  122. package/cjs/features/workflow/WorkflowComments/WorkflowComments.js +15 -31
  123. package/cjs/features/workflow/WorkflowComments/WorkflowComments.module.css.js +9 -0
  124. package/cjs/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +46 -6
  125. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.d.ts +2 -1
  126. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.js +30 -29
  127. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.module.css.js +9 -0
  128. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.spec.js +20 -2
  129. package/cjs/features/workflow/index.d.ts +2 -0
  130. package/cjs/features/workflow/index.js +5 -1
  131. package/cjs/icons/RequestSummary.d.ts +3 -0
  132. package/cjs/icons/RequestSummary.js +24 -0
  133. package/cjs/icons/ReviewDCR.d.ts +3 -0
  134. package/cjs/icons/ReviewDCR.js +22 -0
  135. package/cjs/index.d.ts +3 -0
  136. package/cjs/index.js +14 -8
  137. package/cjs/types/basicTable.d.ts +12 -0
  138. package/cjs/types/basicTable.js +11 -0
  139. package/contexts/BasicTableContext/index.d.ts +1 -1
  140. package/contexts/MdmModuleContext/context.d.ts +4 -0
  141. package/contexts/MdmModuleContext/hooks.d.ts +2 -0
  142. package/contexts/MdmModuleContext/hooks.js +2 -0
  143. package/contexts/MdmModuleContext/index.d.ts +1 -1
  144. package/contexts/MdmModuleContext/index.js +1 -1
  145. package/features/history/HistoryRow/styles.d.ts +1 -1
  146. package/features/workflow/ChangeRequestEditor/ChangeRequestEditor.d.ts +8 -0
  147. package/features/workflow/ChangeRequestEditor/ChangeRequestEditor.js +11 -0
  148. package/features/workflow/ChangeRequestEditor/ChangeRequestEditor.module.css.js +9 -0
  149. package/features/workflow/ChangeRequestEditor/index.d.ts +1 -0
  150. package/features/workflow/ChangeRequestEditor/index.js +1 -0
  151. package/features/workflow/ReviewDCRButton/ReviewDCRButton.d.ts +6 -0
  152. package/features/workflow/ReviewDCRButton/ReviewDCRButton.js +12 -0
  153. package/features/workflow/ReviewDCRButton/ReviewDCRButton.module.css.js +9 -0
  154. package/features/workflow/ReviewDCRButton/index.d.ts +1 -0
  155. package/features/workflow/ReviewDCRButton/index.js +1 -0
  156. package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.d.ts +11 -0
  157. package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.js +56 -0
  158. package/features/workflow/ReviewDCRDialog/ReviewDCRDialog.module.css.js +9 -0
  159. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.d.ts +8 -0
  160. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.js +43 -0
  161. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/DCRChangesSummary.module.css.js +9 -0
  162. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.d.ts +1 -0
  163. package/features/workflow/ReviewDCRDialog/components/DCRChangesSummary/index.js +1 -0
  164. package/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.d.ts +9 -0
  165. package/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.js +33 -0
  166. package/features/workflow/ReviewDCRDialog/components/DCRSummaryInfo/DCRSummaryInfo.module.css.js +9 -0
  167. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.d.ts +3 -0
  168. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.js +15 -0
  169. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.d.ts +1 -0
  170. package/features/workflow/ReviewDCRDialog/helpers/calculateDCRChanges.test.js +122 -0
  171. package/features/workflow/ReviewDCRDialog/helpers/index.d.ts +1 -0
  172. package/features/workflow/ReviewDCRDialog/helpers/index.js +1 -0
  173. package/features/workflow/ReviewDCRDialog/index.d.ts +1 -0
  174. package/features/workflow/ReviewDCRDialog/index.js +1 -0
  175. package/features/workflow/WorkflowActionButtons/WorkflowActionButtons.d.ts +12 -0
  176. package/features/workflow/WorkflowActionButtons/WorkflowActionButtons.js +27 -0
  177. package/features/workflow/WorkflowActionButtons/index.d.ts +1 -0
  178. package/features/workflow/WorkflowActionButtons/index.js +1 -0
  179. package/features/workflow/WorkflowComments/WorkflowComments.d.ts +7 -1
  180. package/features/workflow/WorkflowComments/WorkflowComments.js +13 -29
  181. package/features/workflow/WorkflowComments/WorkflowComments.module.css.js +9 -0
  182. package/features/workflow/WorkflowTaskCard/components/DataChangeRequestTaskCard/DataChangeRequestTaskCard.js +23 -6
  183. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.d.ts +2 -1
  184. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.js +8 -7
  185. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.module.css.js +9 -0
  186. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/GenericWorkflowTaskCard.spec.js +20 -2
  187. package/features/workflow/index.d.ts +2 -0
  188. package/features/workflow/index.js +2 -0
  189. package/icons/RequestSummary.d.ts +3 -0
  190. package/icons/RequestSummary.js +19 -0
  191. package/icons/ReviewDCR.d.ts +3 -0
  192. package/icons/ReviewDCR.js +17 -0
  193. package/index.d.ts +3 -0
  194. package/index.js +3 -0
  195. package/package.json +2 -2
  196. package/types/basicTable.d.ts +12 -0
  197. package/types/basicTable.js +10 -1
  198. package/ProfileBand/styles.d.ts +0 -1
  199. package/ProfileBand/styles.js +0 -87
  200. package/cjs/ProfileBand/styles.d.ts +0 -1
  201. package/cjs/ProfileBand/styles.js +0 -90
  202. package/cjs/features/workflow/WorkflowComments/styles.d.ts +0 -1
  203. package/cjs/features/workflow/WorkflowComments/styles.js +0 -42
  204. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.d.ts +0 -3
  205. package/cjs/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.js +0 -113
  206. package/features/workflow/WorkflowComments/styles.d.ts +0 -1
  207. package/features/workflow/WorkflowComments/styles.js +0 -39
  208. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.d.ts +0 -3
  209. package/features/workflow/WorkflowTaskCard/components/GenericWorkflowTaskCard/styles.js +0 -110
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var calculateDCRChanges_1 = require("./calculateDCRChanges");
4
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
5
+ describe('calculateDCRChanges', function () {
6
+ var metadata = {
7
+ entityTypes: [
8
+ {
9
+ uri: 'configuration/entityTypes/HCP',
10
+ label: 'HCP',
11
+ attributes: [
12
+ {
13
+ label: 'Name',
14
+ name: 'Name',
15
+ type: 'String',
16
+ uri: 'configuration/entityTypes/HCP/attributes/Name'
17
+ },
18
+ {
19
+ label: 'City',
20
+ name: 'City',
21
+ type: 'String',
22
+ uri: 'configuration/entityTypes/HCP/attributes/City'
23
+ },
24
+ {
25
+ label: 'Tags',
26
+ name: 'Tags',
27
+ type: 'String',
28
+ uri: 'configuration/entityTypes/HCP/attributes/Tags'
29
+ }
30
+ ]
31
+ }
32
+ ]
33
+ };
34
+ var groupedObjects = [
35
+ {
36
+ entity: {
37
+ uri: 'entities/123',
38
+ label: 'Entity 123',
39
+ type: 'configuration/entityTypes/HCP',
40
+ isExist: true,
41
+ secondaryLabel: 'Test Secondary Label'
42
+ },
43
+ relations: []
44
+ }
45
+ ];
46
+ it('should count "added" changes correctly', function () {
47
+ var changes = {
48
+ 'entities/123': [
49
+ {
50
+ id: 'change1',
51
+ type: mdm_sdk_1.DCRTypes.UPDATE_TAGS,
52
+ oldValue: ['tag1', 'tag2'],
53
+ newValue: ['tag1', 'tag2', 'tag3']
54
+ },
55
+ {
56
+ id: 'change2',
57
+ type: mdm_sdk_1.DCRTypes.UPDATE_ROLES,
58
+ oldValue: ['role1'],
59
+ newValue: ['role1', 'role2']
60
+ },
61
+ {
62
+ id: 'change3',
63
+ attributePath: 'Name',
64
+ type: mdm_sdk_1.DCRTypes.INSERT_ATTRIBUTE,
65
+ objectType: 'configuration/entityTypes/HCP',
66
+ newValue: {
67
+ value: {
68
+ Name: [{ value: 'John' }]
69
+ }
70
+ }
71
+ }
72
+ ]
73
+ };
74
+ var result = (0, calculateDCRChanges_1.calculateDCRChanges)(metadata, changes, groupedObjects);
75
+ expect(result).toEqual({
76
+ added: 3
77
+ });
78
+ });
79
+ it('should count multiple change types correctly', function () {
80
+ var changes = {
81
+ 'entities/123': [
82
+ {
83
+ id: 'change1',
84
+ type: mdm_sdk_1.DCRTypes.UPDATE_TAGS,
85
+ oldValue: ['tag1'],
86
+ newValue: ['tag1', 'tag2', 'tag3']
87
+ },
88
+ {
89
+ id: 'change2',
90
+ type: mdm_sdk_1.DCRTypes.UPDATE_ROLES,
91
+ oldValue: ['role1', 'role2'],
92
+ newValue: ['role1']
93
+ },
94
+ {
95
+ id: 'change3',
96
+ attributePath: 'City',
97
+ type: mdm_sdk_1.DCRTypes.INSERT_ATTRIBUTE,
98
+ objectType: 'configuration/entityTypes/HCP',
99
+ newValue: { value: { City: [{ value: 'New York' }] } }
100
+ },
101
+ {
102
+ id: 'change4',
103
+ attributePath: 'Name/21vmKank',
104
+ attributeType: 'configuration/entityTypes/HCP/attributes/Name',
105
+ type: mdm_sdk_1.DCRTypes.UPDATE_ATTRIBUTE,
106
+ objectType: 'configuration/entityTypes/HCP',
107
+ oldValue: { value: 'John' },
108
+ newValue: { value: 'Mike' }
109
+ }
110
+ ]
111
+ };
112
+ var result = (0, calculateDCRChanges_1.calculateDCRChanges)(metadata, changes, groupedObjects);
113
+ expect(result).toEqual({
114
+ added: 2,
115
+ deleted: 1,
116
+ edited: 1
117
+ });
118
+ });
119
+ it('should handle empty changes', function () {
120
+ var changes = {};
121
+ var result = (0, calculateDCRChanges_1.calculateDCRChanges)(metadata, changes, groupedObjects);
122
+ expect(result).toEqual({});
123
+ });
124
+ });
@@ -0,0 +1 @@
1
+ export { calculateDCRChanges, type DCRChangeCounts } from './calculateDCRChanges';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateDCRChanges = void 0;
4
+ var calculateDCRChanges_1 = require("./calculateDCRChanges");
5
+ Object.defineProperty(exports, "calculateDCRChanges", { enumerable: true, get: function () { return calculateDCRChanges_1.calculateDCRChanges; } });
@@ -0,0 +1 @@
1
+ export { ReviewDCRDialog } from './ReviewDCRDialog';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReviewDCRDialog = void 0;
4
+ var ReviewDCRDialog_1 = require("./ReviewDCRDialog");
5
+ Object.defineProperty(exports, "ReviewDCRDialog", { enumerable: true, get: function () { return ReviewDCRDialog_1.ReviewDCRDialog; } });
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { TaskAction } from '../types';
3
+ type Props = {
4
+ workflowActions: TaskAction[];
5
+ actionRequestIsInProgress?: boolean;
6
+ preferredAction?: {
7
+ label: string;
8
+ };
9
+ comment?: string;
10
+ };
11
+ export declare const WorkflowActionButtons: ({ workflowActions: actions, actionRequestIsInProgress, preferredAction, comment }: Props) => React.JSX.Element;
12
+ export {};
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.WorkflowActionButtons = void 0;
30
+ var react_1 = __importStar(require("react"));
31
+ var Button_1 = __importDefault(require("@mui/material/Button"));
32
+ var ModeSwitcherSelect_1 = require("../../../ModeSwitcherSelect");
33
+ var WorkflowActionButtons = function (_a) {
34
+ var actions = _a.workflowActions, actionRequestIsInProgress = _a.actionRequestIsInProgress, preferredAction = _a.preferredAction, _b = _a.comment, comment = _b === void 0 ? '' : _b;
35
+ var _c = (0, react_1.useState)(function () { var _a; return (preferredAction === null || preferredAction === void 0 ? void 0 : preferredAction.label) || ((_a = actions[0]) === null || _a === void 0 ? void 0 : _a.text); }), currentAction = _c[0], setCurrentAction = _c[1];
36
+ var buttonsGroup = (0, react_1.useMemo)(function () {
37
+ return actions.map(function (_a) {
38
+ var text = _a.text, onClick = _a.onClick;
39
+ return ({
40
+ label: text,
41
+ onClick: function () {
42
+ setCurrentAction(text);
43
+ onClick(comment);
44
+ },
45
+ value: text
46
+ });
47
+ });
48
+ }, [actions, comment]);
49
+ if (buttonsGroup.length === 0) {
50
+ return null;
51
+ }
52
+ if (buttonsGroup.length === 1) {
53
+ return (react_1.default.createElement(Button_1.default, { variant: "outlined", onClick: buttonsGroup[0].onClick, disabled: actionRequestIsInProgress, size: "small" }, buttonsGroup[0].label));
54
+ }
55
+ return (react_1.default.createElement(ModeSwitcherSelect_1.ModeSwitcherSelect, { buttonsGroup: buttonsGroup, value: currentAction, loading: actionRequestIsInProgress, disabled: actionRequestIsInProgress }));
56
+ };
57
+ exports.WorkflowActionButtons = WorkflowActionButtons;
@@ -0,0 +1 @@
1
+ export { WorkflowActionButtons } from './WorkflowActionButtons';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowActionButtons = void 0;
4
+ var WorkflowActionButtons_1 = require("./WorkflowActionButtons");
5
+ Object.defineProperty(exports, "WorkflowActionButtons", { enumerable: true, get: function () { return WorkflowActionButtons_1.WorkflowActionButtons; } });
@@ -8,6 +8,12 @@ type Props = {
8
8
  taskId: string;
9
9
  isTaskOpen: boolean;
10
10
  preferredAction?: WorkflowAction;
11
+ showActionButtons?: boolean;
12
+ alwaysExpanded?: boolean;
13
+ classes?: {
14
+ container?: string;
15
+ commentsContainer?: string;
16
+ };
11
17
  };
12
- export declare const WorkflowComments: ({ workflowActions: actions, actionRequestIsInProgress, processInstanceComments, taskId, isTaskOpen, preferredAction }: Props) => React.JSX.Element;
18
+ export declare const WorkflowComments: ({ workflowActions: actions, actionRequestIsInProgress, processInstanceComments, taskId, isTaskOpen, preferredAction, showActionButtons, alwaysExpanded, classes }: Props) => React.JSX.Element;
13
19
  export {};
@@ -28,28 +28,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.WorkflowComments = void 0;
30
30
  var react_1 = __importStar(require("react"));
31
+ var classnames_1 = __importDefault(require("classnames"));
31
32
  var ui_i18n_1 = __importDefault(require("ui-i18n"));
32
33
  var Input_1 = __importDefault(require("@mui/material/Input"));
33
34
  var InputAdornment_1 = __importDefault(require("@mui/material/InputAdornment"));
34
35
  var Send_1 = __importDefault(require("@mui/icons-material/Send"));
35
- var Button_1 = __importDefault(require("@mui/material/Button"));
36
36
  var CollapsedComments_1 = require("./components/CollapsedComments");
37
37
  var ExpandedComments_1 = require("./components/ExpandedComments");
38
38
  var useWorkflowComments_1 = require("../hooks/useWorkflowComments");
39
39
  var SmallIconButton_1 = require("../../../SmallIconButton");
40
- var ModeSwitcherSelect_1 = require("../../../ModeSwitcherSelect");
41
- var styles_1 = require("./styles");
40
+ var WorkflowActionButtons_1 = require("../WorkflowActionButtons");
41
+ var WorkflowComments_module_css_1 = __importDefault(require("./WorkflowComments.module.css"));
42
42
  var WorkflowComments = function (_a) {
43
- var actions = _a.workflowActions, actionRequestIsInProgress = _a.actionRequestIsInProgress, processInstanceComments = _a.processInstanceComments, taskId = _a.taskId, isTaskOpen = _a.isTaskOpen, preferredAction = _a.preferredAction;
44
- var styles = (0, styles_1.useStyles)();
45
- var _b = (0, react_1.useState)(false), expanded = _b[0], setExpanded = _b[1];
46
- var _c = (0, react_1.useState)(''), comment = _c[0], setComment = _c[1];
47
- var _d = (0, react_1.useState)(function () { var _a; return (preferredAction === null || preferredAction === void 0 ? void 0 : preferredAction.label) || ((_a = actions[0]) === null || _a === void 0 ? void 0 : _a.text); }), currentAction = _d[0], setCurrentAction = _d[1];
48
- var _e = (0, useWorkflowComments_1.useWorkflowComments)({
43
+ var actions = _a.workflowActions, actionRequestIsInProgress = _a.actionRequestIsInProgress, processInstanceComments = _a.processInstanceComments, taskId = _a.taskId, isTaskOpen = _a.isTaskOpen, preferredAction = _a.preferredAction, _b = _a.showActionButtons, showActionButtons = _b === void 0 ? true : _b, _c = _a.alwaysExpanded, alwaysExpanded = _c === void 0 ? false : _c, classes = _a.classes;
44
+ var _d = (0, react_1.useState)(false), expanded = _d[0], setExpanded = _d[1];
45
+ var _e = (0, react_1.useState)(''), comment = _e[0], setComment = _e[1];
46
+ var _f = (0, useWorkflowComments_1.useWorkflowComments)({
49
47
  processInstanceComments: processInstanceComments,
50
48
  taskId: taskId,
51
49
  isOpen: isTaskOpen
52
- }), comments = _e.comments, writeComment = _e.writeComment, readOnly = _e.readOnly;
50
+ }), comments = _f.comments, writeComment = _f.writeComment, readOnly = _f.readOnly;
53
51
  var sendComment = (0, react_1.useCallback)(function () {
54
52
  writeComment(comment);
55
53
  setComment('');
@@ -69,29 +67,15 @@ var WorkflowComments = function (_a) {
69
67
  e.preventDefault();
70
68
  }
71
69
  }, [comment, sendComment]);
72
- var buttonsGroup = (0, react_1.useMemo)(function () {
73
- return actions.map(function (_a) {
74
- var text = _a.text, onClick = _a.onClick;
75
- return ({
76
- label: text,
77
- onClick: function () {
78
- setCurrentAction(text);
79
- onClick(comment);
80
- },
81
- value: text
82
- });
83
- });
84
- }, [actions, comment]);
85
- return (react_1.default.createElement("div", { className: styles.container },
86
- react_1.default.createElement("div", { className: styles.title },
70
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(WorkflowComments_module_css_1.default.container, classes === null || classes === void 0 ? void 0 : classes.container) },
71
+ react_1.default.createElement("div", { className: WorkflowComments_module_css_1.default.title },
87
72
  " ",
88
73
  ui_i18n_1.default.text('Comments'),
89
74
  " "),
90
- react_1.default.createElement("div", { className: styles.commentsContainer }, expanded || comments.length < 3 ? (react_1.default.createElement(ExpandedComments_1.ExpandedComments, { comments: comments })) : (react_1.default.createElement(CollapsedComments_1.CollapsedComments, { onClick: function () { return setExpanded(true); }, comments: comments }))),
91
- !readOnly && (react_1.default.createElement(Input_1.default, { endAdornment: react_1.default.createElement(InputAdornment_1.default, { position: "end", className: styles.sendButton },
92
- react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: Send_1.default, disabled: comment.length === 0, onClick: sendComment, "data-reltio-id": "send-button" })), classes: { root: styles.filledInputRoot }, placeholder: ui_i18n_1.default.text('Write a comment'), value: comment, onKeyPress: handleKeyPress, onChange: handleChange, disableUnderline: true, multiline: true })),
93
- react_1.default.createElement("div", { className: styles.modeSwitcherWrapper },
94
- buttonsGroup.length === 1 && (react_1.default.createElement(Button_1.default, { variant: "outlined", onClick: buttonsGroup[0].onClick, disabled: actionRequestIsInProgress }, buttonsGroup[0].label)),
95
- buttonsGroup.length > 1 && (react_1.default.createElement(ModeSwitcherSelect_1.ModeSwitcherSelect, { buttonsGroup: buttonsGroup, value: currentAction, loading: actionRequestIsInProgress, disabled: actionRequestIsInProgress })))));
75
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(WorkflowComments_module_css_1.default.commentsContainer, classes === null || classes === void 0 ? void 0 : classes.commentsContainer) }, expanded || alwaysExpanded || comments.length < 3 ? (react_1.default.createElement(ExpandedComments_1.ExpandedComments, { comments: comments })) : (react_1.default.createElement(CollapsedComments_1.CollapsedComments, { onClick: function () { return setExpanded(true); }, comments: comments }))),
76
+ !readOnly && (react_1.default.createElement(Input_1.default, { endAdornment: react_1.default.createElement(InputAdornment_1.default, { position: "end", className: WorkflowComments_module_css_1.default.sendButton },
77
+ react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: Send_1.default, disabled: comment.length === 0, onClick: sendComment, "data-reltio-id": "send-button" })), classes: { root: WorkflowComments_module_css_1.default.filledInputRoot }, placeholder: ui_i18n_1.default.text('Write a comment'), value: comment, onKeyPress: handleKeyPress, onChange: handleChange, disableUnderline: true, multiline: true })),
78
+ showActionButtons && (react_1.default.createElement("div", { className: WorkflowComments_module_css_1.default.modeSwitcherWrapper },
79
+ react_1.default.createElement(WorkflowActionButtons_1.WorkflowActionButtons, { workflowActions: actions, actionRequestIsInProgress: actionRequestIsInProgress, preferredAction: preferredAction, comment: comment })))));
96
80
  };
97
81
  exports.WorkflowComments = WorkflowComments;
@@ -0,0 +1,9 @@
1
+ const styles = {"container":"WorkflowComments-container--zu4Un","commentsContainer":"WorkflowComments-commentsContainer--CHV0q","title":"WorkflowComments-title--a0FTZ","filledInputRoot":"WorkflowComments-filledInputRoot--q5WAu","focused":"WorkflowComments-focused--s-NQa","modeSwitcherWrapper":"WorkflowComments-modeSwitcherWrapper--b585U","sendButton":"WorkflowComments-sendButton--NjNcl"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.WorkflowComments-container--zu4Un{display:flex;flex-direction:column;padding:5px 0}.WorkflowComments-commentsContainer--CHV0q{max-height:300px;overflow-y:auto}.WorkflowComments-title--a0FTZ{color:rgba(0,0,0,.87);font-size:14px;margin:0 0 8px 5px}.WorkflowComments-filledInputRoot--q5WAu{background-color:rgba(0,0,0,.03);font-size:14px;margin:10px 17px 0 6px;min-height:40px;padding:10px 6px}.WorkflowComments-filledInputRoot--q5WAu.WorkflowComments-focused--s-NQa,.WorkflowComments-filledInputRoot--q5WAu:hover{background-color:rgba(0,0,0,.03)}.WorkflowComments-modeSwitcherWrapper--b585U{margin-left:auto;margin-right:16px;margin-top:8px}.WorkflowComments-sendButton--NjNcl{align-self:end;margin-bottom:10px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -1,23 +1,63 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.DataChangeRequestTaskCard = void 0;
7
- var react_1 = __importDefault(require("react"));
30
+ var react_1 = __importStar(require("react"));
8
31
  var DcrTaskIcon_1 = __importDefault(require("../../../../../icons/DcrTaskIcon"));
32
+ var MdmModuleContext_1 = require("../../../../../contexts/MdmModuleContext");
9
33
  var GenericWorkflowTaskCard_1 = require("../GenericWorkflowTaskCard");
10
34
  var AttributesChanges_1 = require("../../../AttributesChanges");
11
35
  var LineDecorator_1 = require("../../../LineDecorator");
12
36
  var useChangeRequest_1 = require("../../../hooks/useChangeRequest");
13
37
  var common_1 = require("../../../helpers/common");
38
+ var ReviewDCRDialog_1 = require("../../../ReviewDCRDialog");
39
+ var ReviewDCRButton_1 = require("../../../ReviewDCRButton");
14
40
  var DataChangeRequestTaskCard = function (_a) {
15
41
  var task = _a.task;
16
- var objectURIs = task.objectURIs;
42
+ var reviewDCREnabled = (0, MdmModuleContext_1.useMdmReviewDCREnabled)();
43
+ var username = (0, MdmModuleContext_1.useMdmUsername)();
44
+ var _b = (0, react_1.useState)(false), isReviewDCRDialogOpen = _b[0], setIsReviewDCRDialogOpen = _b[1];
45
+ var objectURIs = task.objectURIs, assignee = task.assignee;
17
46
  var dcrUri = (0, common_1.getDCRUri)(objectURIs);
18
- var _b = (0, useChangeRequest_1.useChangeRequest)(dcrUri), dcr = _b.dcr, groupedObjects = _b.groupedObjects;
19
- return (react_1.default.createElement(GenericWorkflowTaskCard_1.GenericWorkflowTaskCard, { task: task, Icon: DcrTaskIcon_1.default }, dcr &&
20
- groupedObjects.map(function (object, index) { return (react_1.default.createElement(LineDecorator_1.LineDecorator, { key: index, last: index === groupedObjects.length - 1, divider: true },
21
- react_1.default.createElement(AttributesChanges_1.AttributesChanges, { entityInfo: object.entity, relationsInfo: object.relations, changes: dcr.changes, objectsInfo: dcr.objectsInfo, dcrUri: dcrUri }))); })));
47
+ var _c = (0, useChangeRequest_1.useChangeRequest)(dcrUri), dcr = _c.dcr, groupedObjects = _c.groupedObjects;
48
+ var handleReviewDCR = (0, react_1.useCallback)(function () {
49
+ setIsReviewDCRDialogOpen(true);
50
+ }, []);
51
+ var handleCloseReviewDCRDialog = (0, react_1.useCallback)(function () {
52
+ setIsReviewDCRDialogOpen(false);
53
+ }, []);
54
+ var showReviewDCRButton = reviewDCREnabled && assignee == username;
55
+ var showReviewDialog = isReviewDCRDialogOpen && (showReviewDCRButton || reviewDCREnabled);
56
+ var customActionsSlot = (0, react_1.useMemo)(function () { return showReviewDCRButton && react_1.default.createElement(ReviewDCRButton_1.ReviewDCRButton, { onClick: handleReviewDCR }); }, [showReviewDCRButton, handleReviewDCR]);
57
+ return (react_1.default.createElement(react_1.default.Fragment, null,
58
+ react_1.default.createElement(GenericWorkflowTaskCard_1.GenericWorkflowTaskCard, { task: task, Icon: DcrTaskIcon_1.default, customActionsSlot: customActionsSlot }, dcr &&
59
+ groupedObjects.map(function (object, index) { return (react_1.default.createElement(LineDecorator_1.LineDecorator, { key: index, last: index === groupedObjects.length - 1, divider: true },
60
+ react_1.default.createElement(AttributesChanges_1.AttributesChanges, { entityInfo: object.entity, relationsInfo: object.relations, changes: dcr.changes, objectsInfo: dcr.objectsInfo, dcrUri: dcrUri }))); })),
61
+ showReviewDialog && (react_1.default.createElement(ReviewDCRDialog_1.ReviewDCRDialog, { open: isReviewDCRDialogOpen, onClose: handleCloseReviewDCRDialog, dcr: dcr, groupedObjects: groupedObjects, task: task }))));
22
62
  };
23
63
  exports.DataChangeRequestTaskCard = DataChangeRequestTaskCard;
@@ -5,6 +5,7 @@ type Props = {
5
5
  children?: React.ReactNode;
6
6
  actions?: React.ReactNode;
7
7
  Icon?: React.ElementType;
8
+ customActionsSlot?: React.ReactNode;
8
9
  };
9
- export declare const GenericWorkflowTaskCard: ({ task, children, actions, Icon }: Props) => React.JSX.Element;
10
+ export declare const GenericWorkflowTaskCard: ({ task, children, actions, Icon, customActionsSlot }: Props) => React.JSX.Element;
10
11
  export {};
@@ -44,14 +44,13 @@ var useWorkflowCheckPermission_1 = require("../../../hooks/useWorkflowCheckPermi
44
44
  var CollaborationIcon_1 = __importDefault(require("../../../../../icons/CollaborationIcon"));
45
45
  var useWorkflowActions_1 = require("../../../hooks/useWorkflowActions");
46
46
  var common_1 = require("../../../helpers/common");
47
- var styles_1 = require("./styles");
47
+ var GenericWorkflowTaskCard_module_css_1 = __importDefault(require("./GenericWorkflowTaskCard.module.css"));
48
48
  var GenericWorkflowTaskCard = function (_a) {
49
49
  var _b;
50
- var task = _a.task, children = _a.children, actions = _a.actions, Icon = _a.Icon;
50
+ var task = _a.task, children = _a.children, actions = _a.actions, Icon = _a.Icon, customActionsSlot = _a.customActionsSlot;
51
51
  var taskId = task.taskId, dueDate = task.dueDate, priority = task.priority, assignee = task.assignee, createdBy = task.createdBy, createTime = task.createTime, step = task.displayName, processDefinitionDisplayName = task.processDefinitionDisplayName, objectURIs = task.objectURIs, processInstanceComments = task.processInstanceComments, possibleActions = task.possibleActions, isTaskOpen = task.isOpen, preferredAction = task.preferredAction;
52
52
  var dcrId = (0, common_1.getDCRId)(objectURIs);
53
53
  var color = (0, useWorkflowColor_1.useWorkflowColor)({ processDefinitionDisplayName: processDefinitionDisplayName });
54
- var styles = (0, styles_1.useStyles)({ color: color });
55
54
  var _c = (0, react_1.useState)(false), isExpanded = _c[0], setExpanded = _c[1];
56
55
  var checkWorkflowPermission = (0, useWorkflowCheckPermission_1.useWorkflowCheckPermission)();
57
56
  var canViewComments = checkWorkflowPermission('VIEW_PROCESS_INSTANCE_COMMENTS');
@@ -61,52 +60,54 @@ var GenericWorkflowTaskCard = function (_a) {
61
60
  assignee: assignee,
62
61
  isOpen: isTaskOpen
63
62
  }), workflowActions = _d.actions, actionRequestIsInProgress = _d.actionRequestIsInProgress;
64
- return (react_1.default.createElement("div", { className: styles.card },
65
- react_1.default.createElement("div", { className: (0, classnames_1.default)((_b = {}, _b[styles.withBackground] = isExpanded, _b)) },
66
- react_1.default.createElement("div", { className: styles.lineWrapper },
67
- react_1.default.createElement("div", { className: styles.line }),
68
- Icon && react_1.default.createElement(Icon, { className: styles.icon }),
63
+ return (react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.card },
64
+ react_1.default.createElement("div", { className: (0, classnames_1.default)((_b = {}, _b[GenericWorkflowTaskCard_module_css_1.default.withBackground] = isExpanded, _b)) },
65
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.lineWrapper, style: { '--workflow-color': color } },
66
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.line }),
67
+ Icon && react_1.default.createElement(Icon, { className: GenericWorkflowTaskCard_module_css_1.default.icon }),
69
68
  react_1.default.createElement(LineDecorator_1.LineDecorator, { plain: true, first: true, transparent: !isExpanded },
70
- react_1.default.createElement("div", { className: styles.mainInfo },
71
- react_1.default.createElement("div", { className: styles.title },
72
- react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.caption, styles.flex) }, ui_i18n_1.default.text(processDefinitionDisplayName)),
73
- react_1.default.createElement(Flag_1.default, { className: styles.flag }),
69
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.mainInfo },
70
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.title },
71
+ react_1.default.createElement("div", { className: (0, classnames_1.default)(GenericWorkflowTaskCard_module_css_1.default.caption, GenericWorkflowTaskCard_module_css_1.default.flex) }, ui_i18n_1.default.text(processDefinitionDisplayName)),
72
+ react_1.default.createElement(Flag_1.default, { className: GenericWorkflowTaskCard_module_css_1.default.flag }),
74
73
  react_1.default.createElement(Tooltip_1.default, { title: ui_i18n_1.default.text('Due date') },
75
- react_1.default.createElement("span", { className: styles.date }, ui_i18n_1.default.date(dueDate, 'L'))),
74
+ react_1.default.createElement("span", { className: GenericWorkflowTaskCard_module_css_1.default.date }, ui_i18n_1.default.date(dueDate, 'L'))),
76
75
  react_1.default.createElement(CollapseButton_1.CollapseButton, { isOpen: isExpanded, size: "L", onClick: function () {
77
76
  setExpanded(!isExpanded);
78
77
  } })),
79
- react_1.default.createElement("div", { className: styles.infoBlock, "data-reltio-id": "info-block" },
80
- react_1.default.createElement("div", { className: styles.flex },
81
- dcrId && (react_1.default.createElement("div", { className: styles.info },
78
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.infoBlock, "data-reltio-id": "info-block" },
79
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.flex },
80
+ dcrId && (react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.info },
82
81
  ui_i18n_1.default.text('DCR ID'),
83
82
  ': ',
84
- react_1.default.createElement("span", { className: styles.infoValue }, dcrId))),
85
- react_1.default.createElement("div", { className: styles.info },
83
+ react_1.default.createElement("span", { className: GenericWorkflowTaskCard_module_css_1.default.infoValue }, dcrId))),
84
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.info },
86
85
  ui_i18n_1.default.text('Created by'),
87
86
  ': ',
88
- react_1.default.createElement("span", { className: styles.infoValue }, createdBy),
87
+ react_1.default.createElement("span", { className: GenericWorkflowTaskCard_module_css_1.default.infoValue }, createdBy),
89
88
  " ",
90
89
  ui_i18n_1.default.text('on'),
91
90
  ' ',
92
- react_1.default.createElement("span", { className: styles.infoValue }, ui_i18n_1.default.date(createTime, 'L'))),
93
- react_1.default.createElement("div", { className: styles.info },
91
+ react_1.default.createElement("span", { className: GenericWorkflowTaskCard_module_css_1.default.infoValue }, ui_i18n_1.default.date(createTime, 'L'))),
92
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.info },
94
93
  ui_i18n_1.default.text('Step'),
95
94
  ': ',
96
- react_1.default.createElement("span", { className: styles.infoValue }, step)),
97
- canViewComments && (processInstanceComments === null || processInstanceComments === void 0 ? void 0 : processInstanceComments.length) > 0 && (react_1.default.createElement("div", { className: styles.commentsInfo },
98
- react_1.default.createElement(CollaborationIcon_1.default, { className: styles.commentsIcon }),
99
- react_1.default.createElement("div", { className: styles.infoValue }, processInstanceComments.length)))),
95
+ react_1.default.createElement("span", { className: GenericWorkflowTaskCard_module_css_1.default.infoValue }, step)),
96
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.bottomInfo },
97
+ canViewComments && (processInstanceComments === null || processInstanceComments === void 0 ? void 0 : processInstanceComments.length) > 0 && (react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.commentsInfo },
98
+ react_1.default.createElement(CollaborationIcon_1.default, { className: GenericWorkflowTaskCard_module_css_1.default.commentsIcon }),
99
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.infoValue }, processInstanceComments.length))),
100
+ customActionsSlot && (react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.customActionsSlot }, customActionsSlot)))),
100
101
  actions || (react_1.default.createElement(TaskActions_1.TaskActions, { actions: workflowActions, isInProgress: actionRequestIsInProgress })))))),
101
102
  isExpanded && (react_1.default.createElement(LineDecorator_1.LineDecorator, { plain: true },
102
- react_1.default.createElement("div", { className: styles.controlsBox },
103
- react_1.default.createElement("div", { className: styles.controlsInRow },
103
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.controlsBox },
104
+ react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.controlsInRow },
104
105
  react_1.default.createElement(DueDateField_1.DueDateField, { taskId: taskId, dueDate: dueDate, isTaskOpen: isTaskOpen }),
105
- react_1.default.createElement(PrioritySelector_1.PrioritySelector, { taskId: taskId, priority: priority, className: styles.priority, isTaskOpen: isTaskOpen })),
106
+ react_1.default.createElement(PrioritySelector_1.PrioritySelector, { taskId: taskId, priority: priority, className: GenericWorkflowTaskCard_module_css_1.default.priority, isTaskOpen: isTaskOpen })),
106
107
  react_1.default.createElement(AssigneeSelector_1.AssigneeSelector, { taskId: taskId, assignee: assignee, isTaskOpen: isTaskOpen }))))),
107
108
  isExpanded && (react_1.default.createElement(react_1.default.Fragment, null,
108
109
  children,
109
- canViewComments && (react_1.default.createElement("div", { className: styles.comments },
110
+ canViewComments && (react_1.default.createElement("div", { className: GenericWorkflowTaskCard_module_css_1.default.comments },
110
111
  react_1.default.createElement(WorkflowComments_1.WorkflowComments, { workflowActions: workflowActions, actionRequestIsInProgress: actionRequestIsInProgress, preferredAction: preferredAction, taskId: taskId, processInstanceComments: processInstanceComments, isTaskOpen: isTaskOpen })))))));
111
112
  };
112
113
  exports.GenericWorkflowTaskCard = GenericWorkflowTaskCard;
@@ -0,0 +1,9 @@
1
+ const styles = {"card":"GenericWorkflowTaskCard-card--EMo-i","withBackground":"GenericWorkflowTaskCard-withBackground--Y--db","lineWrapper":"GenericWorkflowTaskCard-lineWrapper--15MN6","icon":"GenericWorkflowTaskCard-icon--eoHOp","line":"GenericWorkflowTaskCard-line--Z1Emv","info":"GenericWorkflowTaskCard-info--2OyKu","bottomInfo":"GenericWorkflowTaskCard-bottomInfo--4bsc4","commentsInfo":"GenericWorkflowTaskCard-commentsInfo--Q6M07","commentsIcon":"GenericWorkflowTaskCard-commentsIcon--crUiN","infoValue":"GenericWorkflowTaskCard-infoValue---gkaX","infoBlock":"GenericWorkflowTaskCard-infoBlock--VyI2O","header":"GenericWorkflowTaskCard-header--bN0nh","flex":"GenericWorkflowTaskCard-flex--5oWde","caption":"GenericWorkflowTaskCard-caption--vxnNJ","title":"GenericWorkflowTaskCard-title--zyCft","flag":"GenericWorkflowTaskCard-flag--dfydb","date":"GenericWorkflowTaskCard-date--MHd-G","mainInfo":"GenericWorkflowTaskCard-mainInfo--l5b9R","controlsBox":"GenericWorkflowTaskCard-controlsBox--ZHDhQ","controlsInRow":"GenericWorkflowTaskCard-controlsInRow--c48Nv","priority":"GenericWorkflowTaskCard-priority--xnnl9","comments":"GenericWorkflowTaskCard-comments--OG-db","customActionsSlot":"GenericWorkflowTaskCard-customActionsSlot--J-mXk"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.GenericWorkflowTaskCard-card--EMo-i{border-bottom:1px solid rgba(0,0,0,.06)}.GenericWorkflowTaskCard-withBackground--Y--db{background-color:rgba(0,0,0,.03)}.GenericWorkflowTaskCard-lineWrapper--15MN6{position:relative}.GenericWorkflowTaskCard-icon--eoHOp{height:32px;left:16px;position:absolute;top:8px;width:32px;z-index:1}.GenericWorkflowTaskCard-line--Z1Emv{border-left:3px solid var(--workflow-color);bottom:0;left:0;position:absolute;top:0}.GenericWorkflowTaskCard-info--2OyKu{color:rgba(0,0,0,.54);font-size:13px;word-wrap:break-word;line-height:15px}.GenericWorkflowTaskCard-bottomInfo--4bsc4{align-items:flex-start;display:flex}.GenericWorkflowTaskCard-commentsInfo--Q6M07{align-items:center;display:flex;margin-bottom:-4px;margin-top:7px}.GenericWorkflowTaskCard-commentsIcon--crUiN{height:11px;margin-left:2px;margin-right:6px;margin-top:-2px;width:11px}.GenericWorkflowTaskCard-infoValue---gkaX{color:rgba(0,0,0,.87)}.GenericWorkflowTaskCard-infoBlock--VyI2O{display:flex;flex-direction:row;margin-bottom:5px}.GenericWorkflowTaskCard-header--bN0nh{display:flex;flex-direction:row;padding-bottom:12px}.GenericWorkflowTaskCard-flex--5oWde{flex:1}.GenericWorkflowTaskCard-caption--vxnNJ{color:rgba(0,0,0,.87);font-size:16px}.GenericWorkflowTaskCard-title--zyCft{align-items:center;display:flex;flex-direction:row;margin-bottom:-4px}.GenericWorkflowTaskCard-flag--dfydb{height:13px;width:13px;stroke:#000;fill:none;margin:2px 5px 0}.GenericWorkflowTaskCard-date--MHd-G{color:rgba(0,0,0,.87);font-size:13px}.GenericWorkflowTaskCard-mainInfo--l5b9R{display:flex;flex:1;flex-direction:column}.GenericWorkflowTaskCard-controlsBox--ZHDhQ{margin-bottom:12px;margin-right:16px;margin-top:13px}.GenericWorkflowTaskCard-controlsInRow--c48Nv{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:20px}.GenericWorkflowTaskCard-priority--xnnl9{width:162px}.GenericWorkflowTaskCard-comments--OG-db{margin-left:11px}.GenericWorkflowTaskCard-customActionsSlot--J-mXk{display:flex;flex-grow:1;justify-content:flex-end;margin-right:-30px}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -76,6 +76,7 @@ var CommentDialogContext_1 = require("../../../../../contexts/CommentDialogConte
76
76
  var ErrorPopup_1 = require("../../../../../ErrorPopup");
77
77
  var task_test_data_1 = require("./task.test-data");
78
78
  var GenericWorkflowTaskCard_1 = require("./GenericWorkflowTaskCard");
79
+ var ReviewDCRButton_1 = require("../../../ReviewDCRButton");
79
80
  jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { runTaskAction: jest.fn().mockReturnValue(Promise.resolve()), getAssigneeForTask: jest.fn().mockResolvedValue({ data: ['assignee1', 'assignee2'] }), addCommentForTask: jest.fn().mockResolvedValue({ status: 'success' }), getTaskById: jest.fn() })); });
80
81
  var onActionSuccess = jest.fn();
81
82
  var workflowTaskContextValue = { onActionSuccess: onActionSuccess };
@@ -107,14 +108,14 @@ var defaultMdmValues = {
107
108
  var errorSet = jest.fn();
108
109
  var defaultTask = (0, task_test_data_1.getDefaultTask)();
109
110
  var setUp = function (_a) {
110
- var _b = _a === void 0 ? {} : _a, _c = _b.mdmValues, mdmValues = _c === void 0 ? defaultMdmValues : _c, _d = _b.task, task = _d === void 0 ? defaultTask : _d;
111
+ var _b = _a === void 0 ? {} : _a, _c = _b.mdmValues, mdmValues = _c === void 0 ? defaultMdmValues : _c, _d = _b.task, task = _d === void 0 ? defaultTask : _d, customActionsSlot = _b.customActionsSlot;
111
112
  var user = user_event_1.default.setup();
112
113
  return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues, actions: { errorSet: errorSet } },
113
114
  react_1.default.createElement(styles_2.ThemeProvider, { theme: (0, styles_1.createTheme)(constants_1.theme) },
114
115
  react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment },
115
116
  react_1.default.createElement(CommentDialogContext_1.CommentDialogProvider, null,
116
117
  react_1.default.createElement(WorkflowTasksContext_1.WorkflowTasksContext.Provider, { value: workflowTaskContextValue },
117
- react_1.default.createElement(GenericWorkflowTaskCard_1.GenericWorkflowTaskCard, { task: task },
118
+ react_1.default.createElement(GenericWorkflowTaskCard_1.GenericWorkflowTaskCard, { task: task, customActionsSlot: customActionsSlot },
118
119
  react_1.default.createElement("div", { className: "someChildren" }, "some children")),
119
120
  react_1.default.createElement(ErrorPopup_1.ErrorPopup, { showErrorFromStore: true })))))))), { user: user });
120
121
  };
@@ -456,6 +457,23 @@ describe('GenericWorkflowTaskCard tests', function () {
456
457
  }
457
458
  });
458
459
  }); });
460
+ it('should render custom actions slot if it is provided', function () { return __awaiter(void 0, void 0, void 0, function () {
461
+ var openReviewDialog, user, reviewDCRButton;
462
+ return __generator(this, function (_a) {
463
+ switch (_a.label) {
464
+ case 0:
465
+ openReviewDialog = jest.fn();
466
+ user = setUp({ customActionsSlot: react_1.default.createElement(ReviewDCRButton_1.ReviewDCRButton, { onClick: openReviewDialog }) }).user;
467
+ reviewDCRButton = react_2.screen.getByRole('button', { name: 'Review DCR' });
468
+ expect(reviewDCRButton).toBeInTheDocument();
469
+ return [4 /*yield*/, user.click(reviewDCRButton)];
470
+ case 1:
471
+ _a.sent();
472
+ expect(openReviewDialog).toHaveBeenCalled();
473
+ return [2 /*return*/];
474
+ }
475
+ });
476
+ }); });
459
477
  describe('Required comments', function () {
460
478
  it('should show comment dialog when user runs action and comment is required', function () { return __awaiter(void 0, void 0, void 0, function () {
461
479
  var task, user, dialog, comment, commentInput;
@@ -5,6 +5,8 @@ export { AssigneeSelector } from './AssigneeSelector';
5
5
  export { ReassignButton } from './ReassignButton';
6
6
  export { WorkflowComments } from './WorkflowComments';
7
7
  export { TaskActionButtons } from './TaskActionButtons';
8
+ export { ReviewDCRButton } from './ReviewDCRButton';
9
+ export { ReviewDCRDialog } from './ReviewDCRDialog';
8
10
  export { useWorkflowAssignee } from './hooks/useWorkflowAssignee';
9
11
  export { useWorkflowComments } from './hooks/useWorkflowComments';
10
12
  export { useWorkflowActions } from './hooks/useWorkflowActions';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findWorkflowDefinitionByType = exports.useWorkflowDefaultActionSuccessHandler = exports.useWorkflowTasks = exports.useWorkflowCheckPermission = exports.useWorkflowActions = exports.useWorkflowComments = exports.useWorkflowAssignee = exports.TaskActionButtons = exports.WorkflowComments = exports.ReassignButton = exports.AssigneeSelector = exports.TaskActions = exports.AddWorkflowButton = exports.WorkflowTaskCard = void 0;
3
+ exports.findWorkflowDefinitionByType = exports.useWorkflowDefaultActionSuccessHandler = exports.useWorkflowTasks = exports.useWorkflowCheckPermission = exports.useWorkflowActions = exports.useWorkflowComments = exports.useWorkflowAssignee = exports.ReviewDCRDialog = exports.ReviewDCRButton = exports.TaskActionButtons = exports.WorkflowComments = exports.ReassignButton = exports.AssigneeSelector = exports.TaskActions = exports.AddWorkflowButton = exports.WorkflowTaskCard = void 0;
4
4
  // components
5
5
  var WorkflowTaskCard_1 = require("./WorkflowTaskCard");
6
6
  Object.defineProperty(exports, "WorkflowTaskCard", { enumerable: true, get: function () { return WorkflowTaskCard_1.WorkflowTaskCard; } });
@@ -16,6 +16,10 @@ var WorkflowComments_1 = require("./WorkflowComments");
16
16
  Object.defineProperty(exports, "WorkflowComments", { enumerable: true, get: function () { return WorkflowComments_1.WorkflowComments; } });
17
17
  var TaskActionButtons_1 = require("./TaskActionButtons");
18
18
  Object.defineProperty(exports, "TaskActionButtons", { enumerable: true, get: function () { return TaskActionButtons_1.TaskActionButtons; } });
19
+ var ReviewDCRButton_1 = require("./ReviewDCRButton");
20
+ Object.defineProperty(exports, "ReviewDCRButton", { enumerable: true, get: function () { return ReviewDCRButton_1.ReviewDCRButton; } });
21
+ var ReviewDCRDialog_1 = require("./ReviewDCRDialog");
22
+ Object.defineProperty(exports, "ReviewDCRDialog", { enumerable: true, get: function () { return ReviewDCRDialog_1.ReviewDCRDialog; } });
19
23
  // hooks
20
24
  var useWorkflowAssignee_1 = require("./hooks/useWorkflowAssignee");
21
25
  Object.defineProperty(exports, "useWorkflowAssignee", { enumerable: true, get: function () { return useWorkflowAssignee_1.useWorkflowAssignee; } });