@reltio/components 1.4.882 → 1.4.886

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 (93) hide show
  1. package/cjs/components/RelationEditor/RelationEditor.d.ts +31 -0
  2. package/cjs/components/RelationEditor/RelationEditor.js +175 -0
  3. package/cjs/components/RelationEditor/index.d.ts +142 -0
  4. package/cjs/components/RelationEditor/index.js +42 -0
  5. package/cjs/components/RelationEditor/styles.d.ts +1 -0
  6. package/cjs/components/RelationEditor/styles.js +36 -0
  7. package/cjs/components/attributes/editMode/AttributesPager/SpecialRenderer.js +1 -1
  8. package/cjs/components/attributes/editMode/Tags/Tags.d.ts +7 -0
  9. package/cjs/components/attributes/editMode/Tags/Tags.js +62 -0
  10. package/cjs/components/attributes/editMode/Tags/index.d.ts +1 -0
  11. package/cjs/components/attributes/editMode/Tags/index.js +8 -0
  12. package/cjs/components/editors/TypeaheadEditor/TypeaheadEditor.d.ts +1 -1
  13. package/cjs/components/editors/TypeaheadEditor/TypeaheadEditor.js +7 -6
  14. package/cjs/components/editors/TypeaheadEditor/styles.d.ts +1 -1
  15. package/cjs/components/editors/TypeaheadEditor/styles.js +15 -0
  16. package/cjs/components/index.d.ts +1 -0
  17. package/cjs/components/index.js +3 -1
  18. package/cjs/components/workflow/cards/GenericWorkflowTaskCard/GenericWorkflowTaskCard.js +6 -6
  19. package/cjs/components/workflow/components/AssigneeSelector/AssigneeSelector.d.ts +4 -2
  20. package/cjs/components/workflow/components/AssigneeSelector/AssigneeSelector.js +3 -2
  21. package/cjs/components/workflow/components/DueDateField/DueDateField.d.ts +2 -1
  22. package/cjs/components/workflow/components/DueDateField/DueDateField.js +6 -2
  23. package/cjs/components/workflow/components/PrioritySelector/PrioritySelector.d.ts +2 -1
  24. package/cjs/components/workflow/components/PrioritySelector/PrioritySelector.js +6 -2
  25. package/cjs/components/workflow/components/TaskActions/TaskActions.d.ts +4 -2
  26. package/cjs/components/workflow/components/TaskActions/TaskActions.js +7 -2
  27. package/cjs/components/workflow/components/WorkflowComments/WorkflowComments.d.ts +2 -1
  28. package/cjs/components/workflow/components/WorkflowComments/WorkflowComments.js +6 -2
  29. package/cjs/components/workflow/helpers/index.d.ts +3 -1
  30. package/cjs/components/workflow/helpers/index.js +3 -1
  31. package/cjs/components/workflow/hooks/useWorkflowActions.d.ts +1 -1
  32. package/cjs/components/workflow/hooks/useWorkflowActions.js +4 -3
  33. package/cjs/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
  34. package/cjs/components/workflow/hooks/useWorkflowAssignee.js +3 -2
  35. package/cjs/components/workflow/hooks/useWorkflowComments.d.ts +1 -1
  36. package/cjs/components/workflow/hooks/useWorkflowComments.js +3 -2
  37. package/cjs/components/workflow/hooks/useWorkflowDueDate.d.ts +1 -1
  38. package/cjs/components/workflow/hooks/useWorkflowDueDate.js +3 -2
  39. package/cjs/components/workflow/hooks/useWorkflowPriority.d.ts +1 -1
  40. package/cjs/components/workflow/hooks/useWorkflowPriority.js +3 -2
  41. package/cjs/{hooks → components/workflow/hooks}/useWorkflowTasks.d.ts +7 -1
  42. package/cjs/{hooks → components/workflow/hooks}/useWorkflowTasks.js +28 -17
  43. package/cjs/components/workflow/index.d.ts +1 -0
  44. package/cjs/components/workflow/index.js +3 -1
  45. package/cjs/hooks/index.d.ts +0 -1
  46. package/cjs/hooks/index.js +1 -3
  47. package/esm/components/RelationEditor/RelationEditor.d.ts +31 -0
  48. package/esm/components/RelationEditor/RelationEditor.js +151 -0
  49. package/esm/components/RelationEditor/index.d.ts +142 -0
  50. package/esm/components/RelationEditor/index.js +17 -0
  51. package/esm/components/RelationEditor/styles.d.ts +1 -0
  52. package/esm/components/RelationEditor/styles.js +33 -0
  53. package/esm/components/attributes/editMode/AttributesPager/SpecialRenderer.js +1 -1
  54. package/esm/components/attributes/editMode/Tags/Tags.d.ts +7 -0
  55. package/esm/components/attributes/editMode/Tags/Tags.js +38 -0
  56. package/esm/components/attributes/editMode/Tags/index.d.ts +1 -0
  57. package/esm/components/attributes/editMode/Tags/index.js +1 -0
  58. package/esm/components/editors/TypeaheadEditor/TypeaheadEditor.d.ts +1 -1
  59. package/esm/components/editors/TypeaheadEditor/TypeaheadEditor.js +7 -6
  60. package/esm/components/editors/TypeaheadEditor/styles.d.ts +1 -1
  61. package/esm/components/editors/TypeaheadEditor/styles.js +15 -0
  62. package/esm/components/index.d.ts +1 -0
  63. package/esm/components/index.js +1 -0
  64. package/esm/components/workflow/cards/GenericWorkflowTaskCard/GenericWorkflowTaskCard.js +6 -6
  65. package/esm/components/workflow/components/AssigneeSelector/AssigneeSelector.d.ts +4 -2
  66. package/esm/components/workflow/components/AssigneeSelector/AssigneeSelector.js +3 -2
  67. package/esm/components/workflow/components/DueDateField/DueDateField.d.ts +2 -1
  68. package/esm/components/workflow/components/DueDateField/DueDateField.js +6 -2
  69. package/esm/components/workflow/components/PrioritySelector/PrioritySelector.d.ts +2 -1
  70. package/esm/components/workflow/components/PrioritySelector/PrioritySelector.js +6 -2
  71. package/esm/components/workflow/components/TaskActions/TaskActions.d.ts +4 -2
  72. package/esm/components/workflow/components/TaskActions/TaskActions.js +7 -2
  73. package/esm/components/workflow/components/WorkflowComments/WorkflowComments.d.ts +2 -1
  74. package/esm/components/workflow/components/WorkflowComments/WorkflowComments.js +6 -2
  75. package/esm/components/workflow/helpers/index.d.ts +3 -1
  76. package/esm/components/workflow/helpers/index.js +2 -1
  77. package/esm/components/workflow/hooks/useWorkflowActions.d.ts +1 -1
  78. package/esm/components/workflow/hooks/useWorkflowActions.js +4 -3
  79. package/esm/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
  80. package/esm/components/workflow/hooks/useWorkflowAssignee.js +3 -2
  81. package/esm/components/workflow/hooks/useWorkflowComments.d.ts +1 -1
  82. package/esm/components/workflow/hooks/useWorkflowComments.js +3 -2
  83. package/esm/components/workflow/hooks/useWorkflowDueDate.d.ts +1 -1
  84. package/esm/components/workflow/hooks/useWorkflowDueDate.js +3 -2
  85. package/esm/components/workflow/hooks/useWorkflowPriority.d.ts +1 -1
  86. package/esm/components/workflow/hooks/useWorkflowPriority.js +3 -2
  87. package/esm/{hooks → components/workflow/hooks}/useWorkflowTasks.d.ts +7 -1
  88. package/esm/{hooks → components/workflow/hooks}/useWorkflowTasks.js +28 -17
  89. package/esm/components/workflow/index.d.ts +1 -0
  90. package/esm/components/workflow/index.js +1 -0
  91. package/esm/hooks/index.d.ts +0 -1
  92. package/esm/hooks/index.js +0 -1
  93. package/package.json +3 -3
@@ -0,0 +1,151 @@
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, { useCallback, useEffect, useMemo, useRef } from 'react';
13
+ import PropTypes from 'prop-types';
14
+ import Button from '@material-ui/core/Button';
15
+ import Typography from '@material-ui/core/Typography';
16
+ import i18n from 'ui-i18n';
17
+ import classnames from 'classnames';
18
+ import { always, concat, differenceWith, equals, forEach, path, pipe, prop, when, uniq } from 'ramda';
19
+ import { useStyles } from './styles';
20
+ import { AttributeErrorType, ConnectionType, createTemporaryEntity, EntityType, findRelatedTemporaryEntities, getActivenessAttributes, getCreatableAttributeTypes, getEntityType, getErrorMessage, getErrorId, MetadataType, omitMarks, relationEditorAttributeTypesSelectionStrategy, RelationsConfigType, validateConnection, updateConnectionEntityLabel, isTempUri, isEmptyValue, getRelationAttributesList, getDefaultRelationTypeObject, getInOutRelations } from '@reltio/mdm-sdk';
21
+ import { profile } from '@reltio/mdm-module';
22
+ import Divider from '@material-ui/core/Divider';
23
+ import ConnectionRelationTypeSelector from '../ConnectionRelationTypeSelector/ConnectionRelationTypeSelector';
24
+ import ErrorWrapper from '../ErrorWrapper/ErrorWrapper';
25
+ import EntitySelector from '../attributes/editMode/EntitySelector/EntitySelector';
26
+ import AttributesList from '../attributes/editMode/AttributesList';
27
+ var areRelatedEntitiesChanged = function (initial, actual) {
28
+ return initial.length !== actual.length || initial.some(function (_, i) { return initial[i] !== actual[i]; });
29
+ };
30
+ var RelationEditor = function (_a) {
31
+ var _b;
32
+ var connection = _a.connection, modifiedEntity = _a.modifiedEntity, allModifiedEntities = _a.allModifiedEntities, dispatch = _a.dispatch, config = _a.config, mode = _a.mode, metadata = _a.metadata, globalSearchRequestOptions = _a.globalSearchRequestOptions, error = _a.error;
33
+ var _c = connection.relation, relationUri = _c.relationUri, relationType = _c.relationType, direction = _c.direction;
34
+ var isNew = connection.isNew;
35
+ var styles = useStyles();
36
+ var _d = useMemo(function () { return getInOutRelations({ config: config, direction: direction, relationType: relationType, mode: mode, metadata: metadata }); }, [config, direction, relationType, mode, metadata]), _e = _d.inRelations, inRelationTypes = _e === void 0 ? [] : _e, _f = _d.outRelations, outRelationTypes = _f === void 0 ? [] : _f;
37
+ var firstLevelRelationAttrTypes = useMemo(function () { return getRelationAttributesList(metadata, relationType); }, [
38
+ relationType,
39
+ metadata
40
+ ]);
41
+ var attributeListEntity = useMemo(function () { return (__assign({ attributes: __assign({}, profile.relations.selectors.getRelationAttributesFromConnection(connection)) }, getActivenessAttributes(connection.relation))); }, [connection]);
42
+ var initialConnection = useRef(connection);
43
+ var initialModifiedEntity = useRef(modifiedEntity);
44
+ var relatedTempEntities = useMemo(function () { return findRelatedTemporaryEntities(allModifiedEntities, modifiedEntity); }, [
45
+ allModifiedEntities,
46
+ modifiedEntity
47
+ ]);
48
+ var relatedTempEntitiesUrisHistory = useRef([]);
49
+ useEffect(function () {
50
+ relatedTempEntitiesUrisHistory.current = pipe(concat(relatedTempEntities.map(prop('uri'))), uniq)(relatedTempEntitiesUrisHistory.current);
51
+ }, [relatedTempEntities]);
52
+ var initialRelatedTempEntities = useRef(relatedTempEntities);
53
+ var defaultRelationType = getDefaultRelationTypeObject(inRelationTypes, outRelationTypes);
54
+ var hasChanges = initialConnection.current !== connection ||
55
+ initialModifiedEntity.current !== modifiedEntity ||
56
+ areRelatedEntitiesChanged(initialRelatedTempEntities.current, relatedTempEntities) ||
57
+ (connection.isNew && !isEmptyValue(path(['relation', 'object', 'attributes'], connection)));
58
+ var applyAction = isNew ? profile.relations.actions.addRelation : profile.relations.actions.editRelation;
59
+ var onRelationTypeChange = useCallback(pipe(profile.relations.actions.setRelationType(config.id, relationUri), dispatch), [config, relationUri, dispatch]);
60
+ var handleClose = useCallback(function () { return pipe(profile.relations.actions.closeRelationEditor, dispatch)(config.id, relationUri); }, [config, relationUri, dispatch]);
61
+ var updateModifiedEntityLabel = useCallback(function (connection) {
62
+ if (modifiedEntity) {
63
+ var entityType = getEntityType(metadata, modifiedEntity.type);
64
+ return updateConnectionEntityLabel(entityType, modifiedEntity, connection);
65
+ }
66
+ return connection;
67
+ }, [modifiedEntity, metadata]);
68
+ var setModifiedEntity = useCallback(function (entity) { return dispatch(profile.modifiedEntities.actions.entityCreated(entity)); }, [dispatch]);
69
+ var deleteModifiedEntity = useCallback(function (entityUri) { return dispatch(profile.modifiedEntities.actions.entityDeleted(entityUri)); }, [dispatch]);
70
+ var onChangeEntity = useCallback(function (entity) {
71
+ if (modifiedEntity) {
72
+ deleteModifiedEntity(modifiedEntity.uri);
73
+ }
74
+ dispatch(profile.relations.actions.setRelationEntity(config.id, relationUri, entity));
75
+ if (error) {
76
+ dispatch(profile.errors.actions.errorDeactivated(getErrorId(error)));
77
+ }
78
+ }, [config.id, relationUri, dispatch, modifiedEntity, deleteModifiedEntity, error]);
79
+ var validate = useCallback(function () {
80
+ var errors = validateConnection(metadata, allModifiedEntities, connection);
81
+ dispatch(profile.errors.actions.errorsSet(errors));
82
+ return errors.length === 0;
83
+ }, [connection, metadata, allModifiedEntities, dispatch]);
84
+ var resetErrors = useCallback(function () { return dispatch(profile.errors.actions.errorsSet([])); }, [dispatch]);
85
+ var onApply = useCallback(pipe(always(connection), when(validate, pipe(omitMarks, updateModifiedEntityLabel, applyAction(config.id), dispatch, always(differenceWith(equals, relatedTempEntitiesUrisHistory.current, relatedTempEntities.map(prop('uri')))), forEach(deleteModifiedEntity), handleClose))), [connection, config, dispatch, updateModifiedEntityLabel, validate, relatedTempEntities]);
86
+ var onCancel = useCallback(function () {
87
+ var initialEntity = initialModifiedEntity.current;
88
+ if (modifiedEntity !== initialEntity) {
89
+ if (initialEntity) {
90
+ setModifiedEntity(initialEntity);
91
+ if (modifiedEntity && modifiedEntity.uri !== initialEntity.uri) {
92
+ deleteModifiedEntity(modifiedEntity.uri);
93
+ }
94
+ }
95
+ else {
96
+ deleteModifiedEntity(modifiedEntity.uri);
97
+ }
98
+ }
99
+ var initialTempEntities = initialRelatedTempEntities.current;
100
+ var entitiesUrisToDelete = differenceWith(equals, relatedTempEntitiesUrisHistory.current, initialTempEntities.map(prop('uri')));
101
+ entitiesUrisToDelete.forEach(deleteModifiedEntity);
102
+ initialTempEntities.forEach(setModifiedEntity);
103
+ resetErrors();
104
+ handleClose();
105
+ }, [handleClose, setModifiedEntity, deleteModifiedEntity, resetErrors, modifiedEntity]);
106
+ var onAddAttributes = useCallback(function (params) {
107
+ return pipe(profile.actions.addAttributes, dispatch)(params.map(function (param) { return (__assign(__assign({}, param), { viewId: config.id })); }));
108
+ }, [config.id, dispatch]);
109
+ var onChangeAttribute = useCallback(function (params) { return pipe(profile.actions.modifyAttribute, dispatch)(__assign(__assign({}, params), { viewId: config.id })); }, [config.id, dispatch]);
110
+ var onDeleteAttribute = useCallback(function (params) { return pipe(profile.actions.removeAttribute, dispatch)(__assign(__assign({}, params), { viewId: config.id })); }, [config.id, dispatch]);
111
+ var onCreateEntity = useCallback(function (entityTypeUri, initValue) {
112
+ var entityType = getEntityType(metadata, entityTypeUri);
113
+ var newEntityAttrTypes = pipe(relationEditorAttributeTypesSelectionStrategy, getCreatableAttributeTypes(mode))(entityType);
114
+ var newEntity = createTemporaryEntity({
115
+ entityTypeUri: entityTypeUri,
116
+ initValue: initValue,
117
+ attributeTypes: newEntityAttrTypes,
118
+ metadata: metadata,
119
+ mode: mode
120
+ });
121
+ onChangeEntity(newEntity);
122
+ setModifiedEntity(newEntity);
123
+ }, [setModifiedEntity, onChangeEntity, mode, metadata]);
124
+ var errorMessage = getErrorMessage(error);
125
+ return (React.createElement(React.Fragment, null,
126
+ React.createElement("div", { className: styles.editor },
127
+ React.createElement(Typography, { className: styles.title }, isNew ? i18n.text('Add new item') : i18n.text('Edit item')),
128
+ defaultRelationType === null && (React.createElement(ConnectionRelationTypeSelector, { className: styles.item, relation: connection.relation, inRelationTypes: inRelationTypes, outRelationTypes: outRelationTypes, onChange: onRelationTypeChange })),
129
+ Boolean(relationType) && (React.createElement(React.Fragment, null,
130
+ React.createElement(ErrorWrapper, { errorMessage: errorMessage },
131
+ React.createElement(EntitySelector, { className: classnames(styles.item, (_b = {},
132
+ _b[styles.dense] = errorMessage || (connection.entity && isTempUri(connection.entity.entityUri)),
133
+ _b)), entity: connection.entity || {}, entityTypesUris: config.content.entityTypes || [], max: config.max || 20, globalSearchRequestOptions: globalSearchRequestOptions, mode: mode, onChange: onChangeEntity, onCreate: onCreateEntity, metadata: metadata, attributeTypesSelectionStrategy: relationEditorAttributeTypesSelectionStrategy })),
134
+ React.createElement(AttributesList, { className: styles.item, attrTypes: firstLevelRelationAttrTypes, entity: attributeListEntity, showEmptyEditors: true, crosswalks: connection.crosswalks, mode: mode, parentUri: relationUri, onAddAttributes: onAddAttributes, onChangeAttribute: onChangeAttribute, onDeleteAttribute: onDeleteAttribute })))),
135
+ React.createElement("div", { className: styles.actionButtons },
136
+ React.createElement(Button, { onClick: onCancel }, i18n.text('Cancel')),
137
+ React.createElement(Button, { color: "primary", disabled: !hasChanges, onClick: onApply }, i18n.text('Apply'))),
138
+ React.createElement(Divider, null)));
139
+ };
140
+ RelationEditor.propTypes = {
141
+ connection: ConnectionType,
142
+ modifiedEntity: EntityType,
143
+ allModifiedEntities: PropTypes.object,
144
+ dispatch: PropTypes.func,
145
+ config: RelationsConfigType,
146
+ mode: PropTypes.string,
147
+ metadata: MetadataType,
148
+ globalSearchRequestOptions: PropTypes.object,
149
+ error: AttributeErrorType
150
+ };
151
+ export default RelationEditor;
@@ -0,0 +1,142 @@
1
+ export { RelationEditor };
2
+ declare var _default: import("react-redux").ConnectedComponent<{
3
+ ({ connection, modifiedEntity, allModifiedEntities, dispatch, config, mode, metadata, globalSearchRequestOptions, error }: {
4
+ connection: any;
5
+ modifiedEntity: any;
6
+ allModifiedEntities: any;
7
+ dispatch: any;
8
+ config: any;
9
+ mode: any;
10
+ metadata: any;
11
+ globalSearchRequestOptions: any;
12
+ error: any;
13
+ }): JSX.Element;
14
+ propTypes: {
15
+ connection: import("prop-types").Requireable<import("prop-types").InferProps<{
16
+ entity: import("prop-types").Requireable<import("prop-types").InferProps<{
17
+ entityUri: import("prop-types").Requireable<string>;
18
+ entityType: import("prop-types").Requireable<string>;
19
+ entityLabel: import("prop-types").Requireable<string>;
20
+ object: import("prop-types").Requireable<import("prop-types").InferProps<{
21
+ uri: import("prop-types").Requireable<string>;
22
+ type: import("prop-types").Requireable<string>;
23
+ }>>;
24
+ }>>;
25
+ relation: import("prop-types").Requireable<import("prop-types").InferProps<{
26
+ relationUri: import("prop-types").Requireable<string>;
27
+ relationType: import("prop-types").Requireable<string>;
28
+ relationLabel: import("prop-types").Requireable<string>;
29
+ direction: import("prop-types").Requireable<string>;
30
+ object: import("prop-types").Requireable<import("prop-types").InferProps<{
31
+ uri: import("prop-types").Requireable<string>;
32
+ type: import("prop-types").Requireable<string>;
33
+ }>>;
34
+ }>>;
35
+ }>>;
36
+ modifiedEntity: import("prop-types").Requireable<import("prop-types").InferProps<{
37
+ uri: import("prop-types").Requireable<string>;
38
+ type: import("prop-types").Requireable<string>;
39
+ }>>;
40
+ allModifiedEntities: import("prop-types").Requireable<object>;
41
+ dispatch: import("prop-types").Requireable<(...args: any[]) => any>;
42
+ config: import("prop-types").Requireable<import("prop-types").InferProps<{
43
+ id: import("prop-types").Requireable<string>;
44
+ content: import("prop-types").Requireable<import("prop-types").InferProps<{
45
+ inRelations: import("prop-types").Requireable<(string | object)[]>;
46
+ outRelations: import("prop-types").Requireable<(string | object)[]>;
47
+ groups: import("prop-types").Requireable<string[]>;
48
+ entityTypes: import("prop-types").Requireable<string[]>;
49
+ nextEntry: import("prop-types").Requireable<object>;
50
+ }>>;
51
+ allowOnlyCreateNew: import("prop-types").Requireable<boolean>;
52
+ sortColumn: import("prop-types").Requireable<string>;
53
+ sortOrder: import("prop-types").Requireable<string>;
54
+ 'text-empty': import("prop-types").Requireable<string>;
55
+ max: import("prop-types").Requireable<number>;
56
+ icon: import("prop-types").Requireable<string>;
57
+ caption: import("prop-types").Requireable<string>;
58
+ canCreate: import("prop-types").Requireable<boolean>;
59
+ canRead: import("prop-types").Requireable<boolean>;
60
+ canUpdate: import("prop-types").Requireable<boolean>;
61
+ canDelete: import("prop-types").Requireable<boolean>;
62
+ editingEnabled: import("prop-types").Requireable<boolean>;
63
+ }>>;
64
+ mode: import("prop-types").Requireable<string>;
65
+ metadata: import("prop-types").Requireable<import("prop-types").InferProps<{
66
+ uri: import("prop-types").Requireable<string>;
67
+ description: import("prop-types").Requireable<string>;
68
+ label: import("prop-types").Requireable<string>;
69
+ schemaVersion: import("prop-types").Requireable<string>;
70
+ entityTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
71
+ typeColor: import("prop-types").Requireable<string>;
72
+ typeIcon: import("prop-types").Requireable<string>;
73
+ typeImage: import("prop-types").Requireable<string>;
74
+ label: import("prop-types").Requireable<string>;
75
+ uri: import("prop-types").Requireable<string>;
76
+ attributes: import("prop-types").Requireable<import("prop-types").InferProps<{
77
+ label: import("prop-types").Requireable<string>;
78
+ name: import("prop-types").Requireable<string>;
79
+ description: import("prop-types").Requireable<string>;
80
+ type: import("prop-types").Requireable<string>;
81
+ hidden: import("prop-types").Requireable<boolean>;
82
+ faceted: import("prop-types").Requireable<boolean>;
83
+ searchable: import("prop-types").Requireable<boolean>;
84
+ uri: import("prop-types").Requireable<string>;
85
+ access: import("prop-types").Requireable<string[]>;
86
+ cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
87
+ minValue: import("prop-types").Requireable<number>;
88
+ maxValue: import("prop-types").Requireable<number>;
89
+ }>>;
90
+ }>[]>;
91
+ }>[]>;
92
+ roles: import("prop-types").Requireable<object[]>;
93
+ groupTypes: import("prop-types").Requireable<object[]>;
94
+ relationTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
95
+ label: import("prop-types").Requireable<string>;
96
+ uri: import("prop-types").Requireable<string>;
97
+ typeColor: import("prop-types").Requireable<string>;
98
+ direction: import("prop-types").Requireable<string>;
99
+ startObject: import("prop-types").Requireable<object>;
100
+ endObject: import("prop-types").Requireable<object>;
101
+ }>[]>;
102
+ graphTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
103
+ uri: import("prop-types").Requireable<string>;
104
+ label: import("prop-types").Requireable<string>;
105
+ extendsTypeUri: import("prop-types").Requireable<string>;
106
+ relationshipTypeURIs: import("prop-types").Requireable<string[]>;
107
+ }>[]>;
108
+ interactionTypes: import("prop-types").Requireable<import("prop-types").InferProps<{
109
+ uri: import("prop-types").Requireable<string>;
110
+ label: import("prop-types").Requireable<string>;
111
+ memberTypes: import("prop-types").Requireable<any[]>;
112
+ extendsTypeUri: import("prop-types").Requireable<string>;
113
+ attributes: import("prop-types").Requireable<import("prop-types").InferProps<{
114
+ label: import("prop-types").Requireable<string>;
115
+ name: import("prop-types").Requireable<string>;
116
+ description: import("prop-types").Requireable<string>;
117
+ type: import("prop-types").Requireable<string>;
118
+ hidden: import("prop-types").Requireable<boolean>;
119
+ faceted: import("prop-types").Requireable<boolean>;
120
+ searchable: import("prop-types").Requireable<boolean>;
121
+ uri: import("prop-types").Requireable<string>;
122
+ access: import("prop-types").Requireable<string[]>;
123
+ cardinality: import("prop-types").Requireable<import("prop-types").InferProps<{
124
+ minValue: import("prop-types").Requireable<number>;
125
+ maxValue: import("prop-types").Requireable<number>;
126
+ }>>;
127
+ }>[]>;
128
+ }>[]>;
129
+ sources: import("prop-types").Requireable<object[]>;
130
+ }>>;
131
+ globalSearchRequestOptions: import("prop-types").Requireable<object>;
132
+ error: import("prop-types").Requireable<import("prop-types").InferProps<{
133
+ type: import("prop-types").Validator<import("@reltio/mdm-sdk").ErrorType>;
134
+ attributeTypeUri: import("prop-types").Validator<string>;
135
+ parentUri: import("prop-types").Validator<string>;
136
+ uri: import("prop-types").Requireable<string>;
137
+ message: import("prop-types").Requireable<string>;
138
+ }>>;
139
+ };
140
+ }, any>;
141
+ export default _default;
142
+ import RelationEditor from "./RelationEditor";
@@ -0,0 +1,17 @@
1
+ import RelationEditor from './RelationEditor';
2
+ import mdmModule, { profile } from '@reltio/mdm-module';
3
+ import { connect } from 'react-redux';
4
+ import { getRelationEditorActiveError, isTempUri } from '@reltio/mdm-sdk';
5
+ var getConnectionEntityUri = function (props) { return profile.relations.selectors.getEntityUriFromConnection(props.connection); };
6
+ var mapStateToProps = function (state, ownProps) {
7
+ var entityUri = getConnectionEntityUri(ownProps);
8
+ var isTempEntity = isTempUri(entityUri);
9
+ return {
10
+ modifiedEntity: isTempEntity ? mdmModule.selectors.getModifiedEntity(state, entityUri) : null,
11
+ allModifiedEntities: isTempEntity ? mdmModule.selectors.getModifiedEntities(state) : null,
12
+ globalSearchRequestOptions: mdmModule.selectors.getGlobalSearchRequestOptions(state, ['ovOnly']),
13
+ error: getRelationEditorActiveError(ownProps.connection, mdmModule.selectors.getProfileErrors(state))
14
+ };
15
+ };
16
+ export { RelationEditor };
17
+ export default connect(mapStateToProps)(RelationEditor);
@@ -0,0 +1 @@
1
+ export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"title" | "item" | "dense" | "editor" | "actionButtons">;
@@ -0,0 +1,33 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ export var useStyles = makeStyles({
3
+ editor: {
4
+ display: 'flex',
5
+ flexDirection: 'column',
6
+ padding: '0 24px 5px'
7
+ },
8
+ title: {
9
+ color: 'rgba(0, 0, 0, 0.6)',
10
+ fontSize: '16px',
11
+ letterSpacing: '0.15px',
12
+ lineHeight: '24px',
13
+ margin: '17px 0 24px'
14
+ },
15
+ item: {
16
+ marginBottom: '20px'
17
+ },
18
+ dense: {
19
+ marginBottom: 0
20
+ },
21
+ actionButtons: {
22
+ display: 'flex',
23
+ justifyContent: 'flex-end',
24
+ margin: '0 8px 10px',
25
+ '& > button': {
26
+ fontSize: '14px',
27
+ lineHeight: '16px',
28
+ marginLeft: '8px',
29
+ padding: '10px 8px',
30
+ backgroundColor: 'rgba(98, 2, 238, 0)'
31
+ }
32
+ }
33
+ });
@@ -27,7 +27,7 @@ import Title from '../../../Title/Title';
27
27
  import Cardinality from './CardinalityMessage';
28
28
  import ErrorMessage from '../../../ErrorWrapper/ErrorMessage';
29
29
  import Attribute from '../AttributesFactory/Attribute';
30
- import Tags from '../../readMode/SpecialAttributes/Tags'; //TODO: should be edit mode
30
+ import Tags from '../Tags';
31
31
  import Roles from '../../readMode/SpecialAttributes/Roles'; //TODO: should be edit mode
32
32
  import { useStyles } from './styles';
33
33
  var SpecialRenderer = function (_a) {
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ className?: string;
4
+ values: string[];
5
+ };
6
+ declare const Tags: ({ className, values }: Props) => JSX.Element;
7
+ export default Tags;
@@ -0,0 +1,38 @@
1
+ import React, { useCallback } from 'react';
2
+ import { useDispatch, useSelector } from 'react-redux';
3
+ import mdmModule, { profile } from '@reltio/mdm-module';
4
+ import { getFacets, EntityAttrTypes, buildFilterQueryString } from '@reltio/mdm-sdk';
5
+ import TypeaheadEditor from '../../../editors/TypeaheadEditor/TypeaheadEditor';
6
+ var filtersWithSearch = function (searchQuery) { return [
7
+ {
8
+ filter: 'containsWordStartingWith',
9
+ fieldName: 'tags',
10
+ values: [searchQuery]
11
+ }
12
+ ]; };
13
+ var getQuery = function (searchQuery) {
14
+ return searchQuery ? "?filter=" + buildFilterQueryString()(filtersWithSearch(searchQuery)) : '';
15
+ };
16
+ var body = [
17
+ {
18
+ fieldName: 'tags',
19
+ orderType: 'reversedCount'
20
+ }
21
+ ];
22
+ var getSuggestions = function (searchQuery) {
23
+ return getFacets({ query: getQuery(searchQuery), body: body }).then(function (response) { return Object.keys(response.tags); });
24
+ };
25
+ var Tags = function (_a) {
26
+ var className = _a.className, values = _a.values;
27
+ var dispatch = useDispatch();
28
+ var entityUri = useSelector(mdmModule.selectors.getEntityUri);
29
+ var onChange = useCallback(function (tags) {
30
+ return dispatch(profile.actions.modifyAttribute({
31
+ value: tags,
32
+ attributeType: EntityAttrTypes.tags,
33
+ uri: entityUri
34
+ }));
35
+ }, [dispatch, entityUri]);
36
+ return (React.createElement(TypeaheadEditor, { fullWidth: true, multiple: true, variant: "filled", className: className, value: values, onChange: onChange, getSuggestions: getSuggestions }));
37
+ };
38
+ export default Tags;
@@ -0,0 +1 @@
1
+ export { default } from './Tags';
@@ -0,0 +1 @@
1
+ export { default } from './Tags';
@@ -6,7 +6,7 @@ declare function TypeaheadEditor({ value, getSuggestions, onChange, multiple, fu
6
6
  onChange: any;
7
7
  multiple: any;
8
8
  fullWidth: any;
9
- InputProps: any;
9
+ InputProps?: {};
10
10
  }): JSX.Element;
11
11
  declare namespace TypeaheadEditor {
12
12
  namespace propTypes {
@@ -26,6 +26,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
26
26
  return to;
27
27
  };
28
28
  import Autosuggest from 'react-autosuggest';
29
+ import AutosizeInput from 'react-input-autosize';
29
30
  import classnames from 'classnames';
30
31
  import TextField from '@material-ui/core/TextField';
31
32
  import MenuItem from '@material-ui/core/MenuItem';
@@ -42,9 +43,9 @@ import ExpandedValueTooltip from '../../ExpandedValueTooltip/ExpandedValueToolti
42
43
  import ValueChip from '../../ValueChip/ValueChip';
43
44
  var FETCH_DEBOUNCE_INTERVAL = 300;
44
45
  var TypeaheadEditor = function (_a) {
45
- var value = _a.value, getSuggestions = _a.getSuggestions, onChange = _a.onChange, multiple = _a.multiple, fullWidth = _a.fullWidth, InputProps = _a.InputProps, inputProps = __rest(_a, ["value", "getSuggestions", "onChange", "multiple", "fullWidth", "InputProps"]);
46
- var _b = useState([]), suggestions = _b[0], setSuggestions = _b[1];
47
- var _c = useState(false), isPlaceholderVisible = _c[0], setPlaceholderVisibility = _c[1];
46
+ var value = _a.value, getSuggestions = _a.getSuggestions, onChange = _a.onChange, multiple = _a.multiple, fullWidth = _a.fullWidth, _b = _a.InputProps, InputProps = _b === void 0 ? {} : _b, inputProps = __rest(_a, ["value", "getSuggestions", "onChange", "multiple", "fullWidth", "InputProps"]);
47
+ var _c = useState([]), suggestions = _c[0], setSuggestions = _c[1];
48
+ var _d = useState(false), isPlaceholderVisible = _d[0], setPlaceholderVisibility = _d[1];
48
49
  var inputRef = useRef();
49
50
  var styles = useStyles();
50
51
  var isFocused = function () { var _a; return ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.querySelector('input')) === document.activeElement; };
@@ -53,8 +54,8 @@ var TypeaheadEditor = function (_a) {
53
54
  getSuggestions
54
55
  ]);
55
56
  value = defaultTo(multiple ? [] : '', value);
56
- var _d = useState(''), currentValue = _d[0], setCurrentValue = _d[1];
57
- var _e = useState(false), hasHighlightedItem = _e[0], setHasHighlightedItem = _e[1];
57
+ var _e = useState(''), currentValue = _e[0], setCurrentValue = _e[1];
58
+ var _f = useState(false), hasHighlightedItem = _f[0], setHasHighlightedItem = _f[1];
58
59
  var onInputChange = function (_a) {
59
60
  var newValue = _a.newValue, method = _a.method;
60
61
  switch (method) {
@@ -99,7 +100,7 @@ var TypeaheadEditor = function (_a) {
99
100
  underline: classnames((_b = {}, _b[styles['input__underline']] = isEmptyValue(value), _b)),
100
101
  input: classnames(styles['rawInput'], path(['classes', 'input'], InputProps))
101
102
  };
102
- return multiple ? (React.createElement(TextField, __assign({}, otherProps, { ref: inputRef, inputRef: ref, InputProps: __assign(__assign({}, InputProps), { startAdornment: value.map(function (item, index) { return (React.createElement(ValueChip, { key: item, label: item, onDelete: function () { return onChange(remove(index, 1, value)); } })); }), classes: __assign({ root: classnames(styles['multiple-input__input'], path(['classes', 'root'], InputProps)), adornedStart: styles['multiple-input__adornedStart'] }, commonClasses) }), value: currentValue, onChange: onInputChange, classes: { root: styles['multiple-input__root'] } }))) : (React.createElement(TextField, __assign({}, otherProps, { ref: inputRef, inputRef: ref, value: value, onChange: pipe(tap(onInputChange), getValue, onChange), InputProps: __assign(__assign({}, InputProps), { classes: __assign({ root: classnames(styles['input__root'], path(['classes', 'root'], InputProps)) }, commonClasses) }) })));
103
+ return multiple ? (React.createElement(TextField, __assign({}, otherProps, { ref: inputRef, inputRef: ref, InputProps: __assign(__assign({}, InputProps), { startAdornment: value.map(function (item, index) { return (React.createElement(ValueChip, { key: item, label: item, onDelete: function () { return onChange(remove(index, 1, value)); } })); }), inputComponent: AutosizeInput, classes: __assign(__assign({ root: classnames(styles['multiple-input__input'], path(['classes', 'root'], InputProps)) }, commonClasses), { input: classnames(styles.autosizeInput, commonClasses.input), adornedStart: styles['multiple-input__adornedStart'] }) }), value: currentValue, onChange: onInputChange, classes: { root: styles['multiple-input__root'] } }))) : (React.createElement(TextField, __assign({}, otherProps, { ref: inputRef, inputRef: ref, value: value, onChange: pipe(tap(onInputChange), getValue, onChange), InputProps: __assign(__assign({}, InputProps), { classes: __assign({ root: classnames(styles['input__root'], path(['classes', 'root'], InputProps)) }, commonClasses) }) })));
103
104
  }, renderSuggestionsContainer: function (_a) {
104
105
  var children = _a.children, _b = _a.containerProps, ref = _b.ref, restContainerProps = __rest(_b, ["ref"]);
105
106
  return (React.createElement(Popper, { anchorEl: inputRef.current, open: Boolean(children) || isPlaceholderVisible },
@@ -1 +1 @@
1
- export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"typeahead__suggestions-placeholder" | "typeahead__suggestions-container--open" | "typeahead__suggestions-list" | "typeahead__suggestions-menuItem" | "input__root" | "rawInput" | "multiple-input__root" | "multiple-input__input" | "multiple-input__adornedStart" | "input__underline" | "typeahead__suggestions-container" | "menuItem--item">;
1
+ export const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"autosizeInput" | "typeahead__suggestions-placeholder" | "typeahead__suggestions-container--open" | "typeahead__suggestions-list" | "typeahead__suggestions-menuItem" | "input__root" | "rawInput" | "multiple-input__root" | "multiple-input__input" | "multiple-input__adornedStart" | "input__underline" | "typeahead__suggestions-container" | "menuItem--item">;
@@ -21,6 +21,21 @@ export var useStyles = makeStyles({
21
21
  color: 'rgba(0,0,0,0.87)',
22
22
  fontSize: '14px'
23
23
  },
24
+ autosizeInput: {
25
+ width: 'auto',
26
+ paddingTop: '10px',
27
+ paddingBottom: '11px',
28
+ marginLeft: '5px',
29
+ overflow: 'hidden',
30
+ '& input': {
31
+ background: '0px center',
32
+ border: 0,
33
+ fontSize: 'inherit',
34
+ outline: 0,
35
+ padding: 0,
36
+ color: 'inherit'
37
+ }
38
+ },
24
39
  rawInput: {
25
40
  height: '19px'
26
41
  },
@@ -119,4 +119,5 @@ export { ReltioMap } from './ReltioMap';
119
119
  export { default as ErrorMessage } from './ErrorWrapper/ErrorMessage';
120
120
  export * from './history';
121
121
  export { default as OvIcon } from './attributes/OvIcon';
122
+ export { default as RelationEditor } from './RelationEditor';
122
123
  export * from './workflow';
@@ -118,4 +118,5 @@ export { ReltioMap } from './ReltioMap';
118
118
  export { default as ErrorMessage } from './ErrorWrapper/ErrorMessage';
119
119
  export * from './history';
120
120
  export { default as OvIcon } from './attributes/OvIcon';
121
+ export { default as RelationEditor } from './RelationEditor';
121
122
  export * from './workflow';
@@ -18,7 +18,7 @@ import CollaborationIcon from '../../../../icons/CollaborationIcon';
18
18
  var GenericWorkflowTaskCard = function (_a) {
19
19
  var _b;
20
20
  var task = _a.task, children = _a.children, actions = _a.actions, Icon = _a.Icon;
21
- 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;
21
+ 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;
22
22
  var dcrId = getDCRId(objectURIs);
23
23
  var color = useWorkflowColor({ processDefinitionDisplayName: processDefinitionDisplayName });
24
24
  var styles = useStyles({ color: color });
@@ -61,16 +61,16 @@ var GenericWorkflowTaskCard = function (_a) {
61
61
  canViewComments && (processInstanceComments === null || processInstanceComments === void 0 ? void 0 : processInstanceComments.length) > 0 && (React.createElement("div", { className: styles.commentsInfo },
62
62
  React.createElement(CollaborationIcon, { className: styles.commentsIcon }),
63
63
  React.createElement("div", { className: styles.infoValue }, processInstanceComments.length)))),
64
- actions || (React.createElement(TaskActions, { taskId: taskId, possibleActions: possibleActions, assignee: assignee })))))),
64
+ actions || (React.createElement(TaskActions, { taskId: taskId, possibleActions: possibleActions, assignee: assignee, isTaskOpen: isTaskOpen })))))),
65
65
  isExpanded && (React.createElement(LineDecorator, { plain: true },
66
66
  React.createElement("div", { className: styles.controlsBox },
67
67
  React.createElement("div", { className: styles.controlsInRow },
68
- React.createElement(DueDateField, { taskId: taskId, dueDate: dueDate }),
69
- React.createElement(PrioritySelector, { taskId: taskId, priority: priority, className: styles.priority })),
70
- React.createElement(AssigneeSelector, { taskId: taskId, assignee: assignee }))))),
68
+ React.createElement(DueDateField, { taskId: taskId, dueDate: dueDate, isTaskOpen: isTaskOpen }),
69
+ React.createElement(PrioritySelector, { taskId: taskId, priority: priority, className: styles.priority, isTaskOpen: isTaskOpen })),
70
+ React.createElement(AssigneeSelector, { taskId: taskId, assignee: assignee, isTaskOpen: isTaskOpen }))))),
71
71
  isExpanded && (React.createElement(React.Fragment, null,
72
72
  children,
73
73
  canViewComments && (React.createElement("div", { className: styles.comments },
74
- React.createElement(WorkflowComments, { taskId: taskId, processInstanceComments: processInstanceComments })))))));
74
+ React.createElement(WorkflowComments, { taskId: taskId, processInstanceComments: processInstanceComments, isTaskOpen: isTaskOpen })))))));
75
75
  };
76
76
  export default GenericWorkflowTaskCard;
@@ -1,5 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WorkflowTaskData } from '@reltio/mdm-sdk';
3
- declare type Props = Pick<WorkflowTaskData, 'taskId' | 'assignee'>;
4
- declare const AssigneeSelector: ({ taskId, assignee }: Props) => JSX.Element;
3
+ declare type Props = Pick<WorkflowTaskData, 'taskId' | 'assignee'> & {
4
+ isTaskOpen?: WorkflowTaskData['isOpen'];
5
+ };
6
+ declare const AssigneeSelector: ({ taskId, assignee, isTaskOpen }: Props) => JSX.Element;
5
7
  export default AssigneeSelector;
@@ -3,10 +3,11 @@ import i18n from 'ui-i18n';
3
3
  import DropDownSelector from '../../../DropDownSelector/DropDownSelector';
4
4
  import { useWorkflowAssignee } from '../../hooks/useWorkflowAssignee';
5
5
  var AssigneeSelector = function (_a) {
6
- var taskId = _a.taskId, assignee = _a.assignee;
6
+ var taskId = _a.taskId, assignee = _a.assignee, isTaskOpen = _a.isTaskOpen;
7
7
  var _b = useWorkflowAssignee({
8
8
  taskId: taskId,
9
- assignee: assignee
9
+ assignee: assignee,
10
+ isOpen: isTaskOpen
10
11
  }), currentAssignee = _b.assignee, getAssignees = _b.getAssignees, updateAssignee = _b.updateAssignee, updateRequestIsInProgress = _b.updateRequestIsInProgress, readOnly = _b.readOnly;
11
12
  var disabled = updateRequestIsInProgress || readOnly;
12
13
  return (React.createElement(DropDownSelector, { isDisabled: disabled, getOptions: getAssignees, onChange: updateAssignee, hideSelectedOptions: false, label: i18n.text('Assigned to'), value: currentAssignee, defaultOptions: true, TextFieldProps: { disabled: disabled }, height: 40 }));
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { WorkflowTaskData } from '@reltio/mdm-sdk';
3
3
  declare type Props = Pick<WorkflowTaskData, 'taskId' | 'dueDate'> & {
4
+ isTaskOpen?: WorkflowTaskData['isOpen'];
4
5
  className?: string;
5
6
  };
6
- declare const DueDateField: ({ taskId, dueDate, className }: Props) => JSX.Element;
7
+ declare const DueDateField: ({ taskId, dueDate, isTaskOpen, className }: Props) => JSX.Element;
7
8
  export default DueDateField;
@@ -6,9 +6,13 @@ import { useStyles } from './styles';
6
6
  import { DateEditor } from '../../../editors';
7
7
  import { useWorkflowDueDate } from '../../hooks/useWorkflowDueDate';
8
8
  var DueDateField = function (_a) {
9
- var taskId = _a.taskId, dueDate = _a.dueDate, className = _a.className;
9
+ var taskId = _a.taskId, dueDate = _a.dueDate, isTaskOpen = _a.isTaskOpen, className = _a.className;
10
10
  var styles = useStyles();
11
- var _b = useWorkflowDueDate({ dueDate: dueDate, taskId: taskId }), updateDueDate = _b.updateDueDate, updateRequestIsInProgress = _b.updateRequestIsInProgress, readOnly = _b.readOnly;
11
+ var _b = useWorkflowDueDate({
12
+ dueDate: dueDate,
13
+ taskId: taskId,
14
+ isOpen: isTaskOpen
15
+ }), updateDueDate = _b.updateDueDate, updateRequestIsInProgress = _b.updateRequestIsInProgress, readOnly = _b.readOnly;
12
16
  return (React.createElement(DateEditor, { className: classnames(styles.dueDate, className), disabled: updateRequestIsInProgress || readOnly, value: dueDate, label: i18n.text('Due date'), onChange: pipe(function (date) { return date && date.getTime(); }, updateDueDate), margin: "dense", InputProps: { className: styles.dueDateInput }, InputLabelProps: { classes: { root: styles.inputLabel } } }));
13
17
  };
14
18
  export default DueDateField;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { WorkflowTaskData } from '@reltio/mdm-sdk';
3
3
  declare type Props = Pick<WorkflowTaskData, 'taskId' | 'priority'> & {
4
+ isTaskOpen?: WorkflowTaskData['isOpen'];
4
5
  className?: string;
5
6
  };
6
- declare const PrioritySelector: ({ taskId, priority, className }: Props) => JSX.Element;
7
+ declare const PrioritySelector: ({ taskId, priority, isTaskOpen, className }: Props) => JSX.Element;
7
8
  export default PrioritySelector;