@reltio/components 1.4.1247 → 1.4.1250
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.
- package/cjs/components/SourceSystemsSelector/SourceSystemsSelector.d.ts +13 -0
- package/cjs/components/SourceSystemsSelector/SourceSystemsSelector.js +43 -0
- package/cjs/components/activityLog/ActivityLogFilter/ActivityLogFilter.js +3 -1
- package/cjs/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.d.ts +2 -1
- package/cjs/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.js +3 -2
- package/cjs/components/activityLog/ActivityLogFilter/styles.js +6 -2
- package/cjs/components/index.d.ts +1 -0
- package/cjs/components/index.js +3 -1
- package/cjs/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
- package/cjs/hooks/useAPI/useAPI.d.ts +1 -0
- package/cjs/hooks/useAPI/useAPI.js +36 -6
- package/cjs/hooks/useCommentsEntitiesMap.js +2 -6
- package/cjs/hooks/useCustomScripts.js +1 -1
- package/cjs/hooks/useSafePromise.d.ts +4 -2
- package/esm/components/SourceSystemsSelector/SourceSystemsSelector.d.ts +13 -0
- package/esm/components/SourceSystemsSelector/SourceSystemsSelector.js +19 -0
- package/esm/components/activityLog/ActivityLogFilter/ActivityLogFilter.js +3 -1
- package/esm/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.d.ts +2 -1
- package/esm/components/activityLog/ActivityLogFilter/ActivityLogFilterHeader.js +3 -2
- package/esm/components/activityLog/ActivityLogFilter/styles.js +7 -3
- package/esm/components/index.d.ts +1 -0
- package/esm/components/index.js +1 -0
- package/esm/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
- package/esm/hooks/useAPI/useAPI.d.ts +1 -0
- package/esm/hooks/useAPI/useAPI.js +36 -6
- package/esm/hooks/useCommentsEntitiesMap.js +2 -6
- package/esm/hooks/useCustomScripts.js +1 -1
- package/esm/hooks/useSafePromise.d.ts +4 -2
- package/package.json +4 -4
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TextFieldProps as TextFieldPropsType } from '@material-ui/core/TextField';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
values?: string[];
|
|
5
|
+
onChange: (values: string[]) => void;
|
|
6
|
+
TextFieldProps?: Partial<TextFieldPropsType>;
|
|
7
|
+
fullWidth?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const SourceSystemsSelector: {
|
|
10
|
+
({ values, onChange, TextFieldProps, fullWidth }: Props): JSX.Element;
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
export default SourceSystemsSelector;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
var react_1 = __importStar(require("react"));
|
|
26
|
+
var react_redux_1 = require("react-redux");
|
|
27
|
+
var ramda_1 = require("ramda");
|
|
28
|
+
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
29
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
30
|
+
var MultiValueSelector_1 = __importDefault(require("../MultiValueSelector/MultiValueSelector"));
|
|
31
|
+
var SourceSystemsSelector = function (_a) {
|
|
32
|
+
var values = _a.values, onChange = _a.onChange, TextFieldProps = _a.TextFieldProps, fullWidth = _a.fullWidth;
|
|
33
|
+
var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
|
|
34
|
+
var options = react_1.useMemo(function () {
|
|
35
|
+
return ramda_1.pipe(ramda_1.sortBy(function (option) { return option.label; }), ramda_1.map(function (_a) {
|
|
36
|
+
var label = _a.label, uri = _a.uri;
|
|
37
|
+
return ({ label: label, value: mdm_sdk_1.getLastUriPart(uri) });
|
|
38
|
+
}))(metadata.sources);
|
|
39
|
+
}, [metadata.sources]);
|
|
40
|
+
return (react_1.default.createElement(MultiValueSelector_1.default, { values: values, onChange: onChange, options: options, TextFieldProps: TextFieldProps, fullWidth: fullWidth }));
|
|
41
|
+
};
|
|
42
|
+
SourceSystemsSelector.displayName = 'SourceSystemsSelector';
|
|
43
|
+
exports.default = SourceSystemsSelector;
|
|
@@ -38,17 +38,19 @@ var react_redux_1 = require("react-redux");
|
|
|
38
38
|
var ActivityLogFilterHeader_1 = __importDefault(require("./ActivityLogFilterHeader"));
|
|
39
39
|
var ActivityFilterEditor_1 = __importDefault(require("../ActivityFilterEditor/ActivityFilterEditor"));
|
|
40
40
|
var ActivityExportButton_1 = __importDefault(require("../ActivityExportButton/ActivityExportButton"));
|
|
41
|
+
var ramda_1 = require("ramda");
|
|
41
42
|
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
42
43
|
var ActivityLogFilter = function (_a) {
|
|
43
44
|
var value = _a.value, entityType = _a.entityType, entityUri = _a.entityUri, onChange = _a.onChange, exportTypes = _a.exportTypes;
|
|
44
45
|
var initialValue = react_1.useRef(value);
|
|
46
|
+
var isApplied = !ramda_1.equals(value, initialValue.current);
|
|
45
47
|
var canExport = react_redux_1.useSelector(mdm_module_1.default.selectors.getCanUserMakeActivitiesExport);
|
|
46
48
|
var _b = react_1.useState(false), isEditorOpen = _b[0], setIsEditorOpen = _b[1];
|
|
47
49
|
var handleClear = function () { return onChange(__assign({}, initialValue.current)); };
|
|
48
50
|
var handleCancel = function () { return setIsEditorOpen(false); };
|
|
49
51
|
var handleToggleFilter = function () { return setIsEditorOpen(function (isEditorOpen) { return !isEditorOpen; }); };
|
|
50
52
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
51
|
-
react_1.default.createElement(ActivityLogFilterHeader_1.default, { onToggle: handleToggleFilter, filters: value }, canExport && react_1.default.createElement(ActivityExportButton_1.default, { filters: __assign(__assign({}, value), { entityUri: entityUri }), exportTypes: exportTypes })),
|
|
53
|
+
react_1.default.createElement(ActivityLogFilterHeader_1.default, { onToggle: handleToggleFilter, filters: value, isApplied: isApplied }, canExport && react_1.default.createElement(ActivityExportButton_1.default, { filters: __assign(__assign({}, value), { entityUri: entityUri }), exportTypes: exportTypes })),
|
|
52
54
|
react_1.default.createElement(ActivityFilterEditor_1.default, { value: value, open: isEditorOpen, entityType: entityType, onApply: onChange, onCancel: handleCancel, onClear: handleClear })));
|
|
53
55
|
};
|
|
54
56
|
exports.default = ActivityLogFilter;
|
|
@@ -4,6 +4,7 @@ declare type Props = {
|
|
|
4
4
|
onToggle: () => void;
|
|
5
5
|
filters: ActivitiesFilter;
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
+
isApplied?: boolean;
|
|
7
8
|
};
|
|
8
|
-
declare const ActivityLogFilterHeader: ({ children, onToggle, filters }: Props) => JSX.Element;
|
|
9
|
+
declare const ActivityLogFilterHeader: ({ children, onToggle, filters, isApplied }: Props) => JSX.Element;
|
|
9
10
|
export default ActivityLogFilterHeader;
|
|
@@ -10,9 +10,10 @@ var Typography_1 = __importDefault(require("@material-ui/core/Typography"));
|
|
|
10
10
|
var FilterList_1 = __importDefault(require("@material-ui/icons/FilterList"));
|
|
11
11
|
var helpers_1 = require("./helpers");
|
|
12
12
|
var SmallIconButton_1 = require("../../SmallIconButton");
|
|
13
|
+
var classnames_1 = __importDefault(require("classnames"));
|
|
13
14
|
var styles_1 = require("./styles");
|
|
14
15
|
var ActivityLogFilterHeader = function (_a) {
|
|
15
|
-
var children = _a.children, onToggle = _a.onToggle, filters = _a.filters;
|
|
16
|
+
var children = _a.children, onToggle = _a.onToggle, filters = _a.filters, _b = _a.isApplied, isApplied = _b === void 0 ? false : _b;
|
|
16
17
|
var styles = styles_1.useStyles();
|
|
17
18
|
var filterLabel = helpers_1.getFilterLabel(filters);
|
|
18
19
|
return (react_1.default.createElement("div", { className: styles.header },
|
|
@@ -21,6 +22,6 @@ var ActivityLogFilterHeader = function (_a) {
|
|
|
21
22
|
react_1.default.createElement(Typography_1.default, { variant: "body2", className: styles.label, color: "textSecondary", display: "block", noWrap: true }, filterLabel)),
|
|
22
23
|
react_1.default.createElement("div", { className: styles.buttonsWrapper },
|
|
23
24
|
children,
|
|
24
|
-
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { icon: FilterList_1.default, size: "L", onClick: onToggle, tooltipTitle: ui_i18n_1.default.text('Filter'), className: styles.icon }))));
|
|
25
|
+
react_1.default.createElement(SmallIconButton_1.SmallIconButtonWithTooltip, { icon: FilterList_1.default, size: "L", onClick: onToggle, tooltipTitle: ui_i18n_1.default.text('Filter'), className: classnames_1.default(styles.icon, { activeIcon: isApplied }) }))));
|
|
25
26
|
};
|
|
26
27
|
exports.default = ActivityLogFilterHeader;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useStyles = void 0;
|
|
4
4
|
var styles_1 = require("@material-ui/core/styles");
|
|
5
|
-
exports.useStyles = styles_1.makeStyles(function () { return ({
|
|
5
|
+
exports.useStyles = styles_1.makeStyles(function (theme) { return ({
|
|
6
6
|
header: {
|
|
7
7
|
width: 'auto',
|
|
8
8
|
display: 'flex',
|
|
@@ -13,7 +13,11 @@ exports.useStyles = styles_1.makeStyles(function () { return ({
|
|
|
13
13
|
fontSize: '14px'
|
|
14
14
|
},
|
|
15
15
|
icon: {
|
|
16
|
-
margin: '4px'
|
|
16
|
+
margin: '4px',
|
|
17
|
+
'&.activeIcon': {
|
|
18
|
+
backgroundColor: styles_1.fade(theme.palette.primary.main, 0.12),
|
|
19
|
+
color: '#0072CE'
|
|
20
|
+
}
|
|
17
21
|
},
|
|
18
22
|
buttonsWrapper: {
|
|
19
23
|
marginLeft: 'auto',
|
|
@@ -137,3 +137,4 @@ export { DragAndDrop } from './DragAndDrop/DragAndDrop';
|
|
|
137
137
|
export * from './AttributesFiltersBuilder';
|
|
138
138
|
export { default as MultiValueSelector } from './MultiValueSelector/MultiValueSelector';
|
|
139
139
|
export { default as MatchRulesSelector } from './MatchRulesSelector/MatchRulesSelector';
|
|
140
|
+
export { default as SourceSystemsSelector } from './SourceSystemsSelector/SourceSystemsSelector';
|
package/cjs/components/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.NoResults = exports.NoData = exports.DropDownSelector = exports.DropDownMenuButton = exports.Drawer = exports.DataTypeValue = exports.ConnectionRelationTypeSelector = exports.ConfigureColumnsPopup = exports.MenuWithPopper = exports.MenuList = exports.LoadMoreButton = exports.DropdownIndicatorWithIconButton = exports.DropdownIndicator = exports.CommentsContainer = exports.ColorBar = exports.CollapseButton = exports.CollaborationItem = exports.ClickAwayProvider = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.ProfileBandNavigation = exports.AvatarWithFallback = exports.AutoSizeList = exports.ReadOnlyAttributesPager = exports.SimpleAttribute = exports.ReferenceAttribute = exports.NestedAttribute = exports.EditableImageAttributesLine = exports.ImageAttributesLine = exports.ReadOnlyAttributesList = exports.ReadOnlyAttributeValuesBlock = exports.EditableAttribute = exports.ReadOnlyAttribute = exports.CardinalityMessage = exports.AttributesPager = exports.SimpleAttributeEditor = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.NestedAttributeEditor = exports.MoreAttributesButton = exports.EntitySelector = exports.EntityCreator = exports.AttributesList = exports.BranchDecorator = exports.AttributesView = exports.AttributeListItem = void 0;
|
|
17
17
|
exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopupPopper = exports.SelectionPopup = exports.useKeyboardNavigation = exports.WhiteSearchInput = exports.SearchInput = exports.ResizablePanes = exports.ReltioGridLayout = exports.ReactSortableTreeUtils = exports.ReactSortableTreeHandlers = exports.ReactSortableTree = exports.ReactSelectOptionFilters = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBlock = exports.MatchRuleVariant = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportModes = exports.ImportButton = exports.ImageGalleryDialog = exports.Highlighter = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.FlipCard = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.ErrorWrapper = exports.ErrorPopup = exports.ErrorBoundary = exports.EntityUriLink = exports.RelationTypesSelector = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = void 0;
|
|
18
|
-
exports.MatchRulesSelector = exports.MultiValueSelector = exports.DragAndDrop = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = void 0;
|
|
18
|
+
exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.DragAndDrop = exports.ConnectionEditor = exports.AttributesFiltersBuilder = exports.AttributesFiltersButton = exports.AttributeGroupIcon = exports.BasicAttributeSelector = exports.ProfilesList = exports.ActionButtonMode = exports.ActionButton = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.RelationEditor = exports.OvIcon = exports.ErrorMessage = exports.ReltioMap = exports.ConfirmDeleteDialog = exports.ConfirmationDialog = exports.Marginator = exports.LightArrowTooltip = exports.ArrowExpandButton = exports.ScrollableTabs = exports.ExpandableSearchInput = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = void 0;
|
|
19
19
|
__exportStar(require("./activityLog"), exports);
|
|
20
20
|
var AttributeListItem_1 = require("./AttributeListItem/AttributeListItem");
|
|
21
21
|
Object.defineProperty(exports, "AttributeListItem", { enumerable: true, get: function () { return __importDefault(AttributeListItem_1).default; } });
|
|
@@ -292,3 +292,5 @@ var MultiValueSelector_1 = require("./MultiValueSelector/MultiValueSelector");
|
|
|
292
292
|
Object.defineProperty(exports, "MultiValueSelector", { enumerable: true, get: function () { return __importDefault(MultiValueSelector_1).default; } });
|
|
293
293
|
var MatchRulesSelector_1 = require("./MatchRulesSelector/MatchRulesSelector");
|
|
294
294
|
Object.defineProperty(exports, "MatchRulesSelector", { enumerable: true, get: function () { return __importDefault(MatchRulesSelector_1).default; } });
|
|
295
|
+
var SourceSystemsSelector_1 = require("./SourceSystemsSelector/SourceSystemsSelector");
|
|
296
|
+
Object.defineProperty(exports, "SourceSystemsSelector", { enumerable: true, get: function () { return __importDefault(SourceSystemsSelector_1).default; } });
|
|
@@ -5,7 +5,7 @@ declare type AssigneeOption = {
|
|
|
5
5
|
};
|
|
6
6
|
export declare const useWorkflowAssignee: ({ assignee, taskId, isOpen }: Partial<Pick<WorkflowTaskData, 'taskId' | 'assignee' | 'isOpen'>>) => {
|
|
7
7
|
assignee: AssigneeOption;
|
|
8
|
-
getAssignees: (text: any) => Promise<void |
|
|
8
|
+
getAssignees: (text: any) => Promise<void | AssigneeOption[]>;
|
|
9
9
|
updateAssignee: (newValue: AssigneeOption) => void;
|
|
10
10
|
updateRequestIsInProgress: boolean;
|
|
11
11
|
readOnly: boolean;
|
|
@@ -45,9 +45,11 @@ var useAPI = function (config) {
|
|
|
45
45
|
if (config === void 0) { config = {}; }
|
|
46
46
|
var _c = react_1.useState(), html = _c[0], setHtml = _c[1];
|
|
47
47
|
var _d = react_1.useState([]), listenersToReset = _d[0], setListenersToReset = _d[1];
|
|
48
|
-
var _e = react_1.useState(
|
|
49
|
-
var _f = react_1.useState(
|
|
50
|
-
var _g = react_1.useState(
|
|
48
|
+
var _e = react_1.useState([]), popupListenersToReset = _e[0], setPopupListenersToReset = _e[1];
|
|
49
|
+
var _f = react_1.useState(true), visible = _f[0], setVisible = _f[1];
|
|
50
|
+
var _g = react_1.useState(), popup = _g[0], setPopup = _g[1];
|
|
51
|
+
var _h = react_1.useState(null), tooltip = _h[0], setTooltip = _h[1];
|
|
52
|
+
var _j = react_1.useState({}), customStyles = _j[0], setCustomStyles = _j[1];
|
|
51
53
|
var workerRef = react_1.useRef();
|
|
52
54
|
var requestListeners = react_1.useRef({});
|
|
53
55
|
var responseListeners = react_1.useRef({});
|
|
@@ -68,11 +70,12 @@ var useAPI = function (config) {
|
|
|
68
70
|
var user = react_redux_1.useSelector(mdm_module_1.default.selectors.getUser);
|
|
69
71
|
var entityUri = react_redux_1.useSelector(mdm_module_1.default.selectors.getEntityUri);
|
|
70
72
|
var environment = react_redux_1.useSelector(mdm_module_1.default.selectors.getWorkflowEnvironmentUrl);
|
|
71
|
-
var
|
|
73
|
+
var _k = react_redux_1.useSelector(mdm_module_1.default.selectors.getSearchProviderData) || {}, typeSearch = _k.type, search = _k.data;
|
|
72
74
|
var isOldUI = !helpers_1.isNewUI(servicesPath);
|
|
73
75
|
var supportedInterceptHandlers = isOldUI ? qxApi.interceptors : interceptHandlers;
|
|
74
76
|
var openSearch = function (search) { return dispatch(mdm_module_1.ui.actions.openSearch(search)); };
|
|
75
77
|
var innerText = '';
|
|
78
|
+
var popupText = '';
|
|
76
79
|
var process = function (_a) {
|
|
77
80
|
var _b, _c;
|
|
78
81
|
var task = _a.task, worker = _a.worker;
|
|
@@ -96,10 +99,33 @@ var useAPI = function (config) {
|
|
|
96
99
|
}
|
|
97
100
|
break;
|
|
98
101
|
}
|
|
102
|
+
case mdm_sdk_1.CustomAction.SHOW_POPUP: {
|
|
103
|
+
popupText = task.params;
|
|
104
|
+
helpers_1.resetHtml({
|
|
105
|
+
worker: worker,
|
|
106
|
+
setTooltip: setTooltip,
|
|
107
|
+
html: task.params,
|
|
108
|
+
innerText: popupText,
|
|
109
|
+
setListenersToReset: setPopupListenersToReset,
|
|
110
|
+
setHtml: setPopup
|
|
111
|
+
});
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
case mdm_sdk_1.CustomAction.HIDE_POPUP: {
|
|
115
|
+
popupText = '';
|
|
116
|
+
setPopup(null);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
99
119
|
case mdm_sdk_1.CustomAction.SET_VISIBILITY: {
|
|
100
120
|
if (task.params === 'visible') {
|
|
101
121
|
setVisible(true);
|
|
102
|
-
helpers_1.resetHtml({
|
|
122
|
+
helpers_1.resetHtml({
|
|
123
|
+
worker: worker,
|
|
124
|
+
setTooltip: setTooltip,
|
|
125
|
+
innerText: innerText,
|
|
126
|
+
setListenersToReset: setListenersToReset,
|
|
127
|
+
setHtml: setHtml
|
|
128
|
+
});
|
|
103
129
|
}
|
|
104
130
|
else {
|
|
105
131
|
setVisible(false);
|
|
@@ -204,6 +230,10 @@ var useAPI = function (config) {
|
|
|
204
230
|
react_1.useEffect(function () { return function () {
|
|
205
231
|
listenersToReset.forEach(function (listener) { return listener(); });
|
|
206
232
|
}; }, [listenersToReset]);
|
|
233
|
+
//we need to have separate handlers in opposite case main window listeners will be removed on the popup appear
|
|
234
|
+
react_1.useEffect(function () { return function () {
|
|
235
|
+
popupListenersToReset.forEach(function (listener) { return listener(); });
|
|
236
|
+
}; }, [popupListenersToReset, listenersToReset]);
|
|
207
237
|
var onClick = react_1.useCallback(function () {
|
|
208
238
|
var _a;
|
|
209
239
|
(_a = workerRef.current) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
@@ -235,6 +265,6 @@ var useAPI = function (config) {
|
|
|
235
265
|
}
|
|
236
266
|
}
|
|
237
267
|
}, [config]);
|
|
238
|
-
return { html: html, visible: visible, tooltip: tooltip, customStyles: customStyles, onClick: onClick };
|
|
268
|
+
return { html: html, visible: visible, tooltip: tooltip, customStyles: customStyles, onClick: onClick, popup: popup };
|
|
239
269
|
};
|
|
240
270
|
exports.useAPI = useAPI;
|
|
@@ -43,15 +43,11 @@ var useCommentsEntitiesMap = function (comments) {
|
|
|
43
43
|
}, [safePromise]);
|
|
44
44
|
var getNotFoundEntity = function (entityUri) {
|
|
45
45
|
return mdm_sdk_1.getEntity(entityUri, { options: SELECT_OPTION })
|
|
46
|
-
.then(function (entity) { return ({
|
|
47
|
-
uri: entityUri,
|
|
48
|
-
label: entity.label,
|
|
49
|
-
type: entity.type
|
|
50
|
-
}); })
|
|
46
|
+
.then(function (entity) { return (__assign(__assign({}, entity), { uri: entityUri })); })
|
|
51
47
|
.catch(function () { return ({}); });
|
|
52
48
|
};
|
|
53
49
|
var addNotFoundEntities = react_1.useCallback(function (entitiesUris, entities) {
|
|
54
|
-
return safePromise(Promise.all((entitiesUris || []).map(getNotFoundEntity))).then(ramda_1.pipe(ramda_1.reject(ramda_1.isEmpty), ramda_1.concat(entities)));
|
|
50
|
+
return safePromise(Promise.all((entitiesUris || []).map(getNotFoundEntity))).then(function (notFoundEntities) { return ramda_1.pipe(ramda_1.reject(ramda_1.isEmpty), ramda_1.concat(entities))(notFoundEntities); });
|
|
55
51
|
}, [safePromise]);
|
|
56
52
|
react_1.useEffect(function () {
|
|
57
53
|
var uniqEntitiesUris = ramda_1.pipe(ramda_1.reduce(function (entitiesUris, comment) {
|
|
@@ -185,7 +185,7 @@ var useCustomScripts = function (config) {
|
|
|
185
185
|
url: fakeURL,
|
|
186
186
|
method: options.method,
|
|
187
187
|
headers: __assign(__assign({}, options.headers), { origin: 'ui', requestId: requestId, actionId: actionId }),
|
|
188
|
-
data: options
|
|
188
|
+
data: options.body
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
else {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
declare type Options = {
|
|
2
2
|
cancelPrevious?: boolean;
|
|
3
3
|
cancelOnUnmount?: boolean;
|
|
4
|
-
}
|
|
4
|
+
};
|
|
5
|
+
export declare const useSafePromise: ({ cancelPrevious, cancelOnUnmount }?: Options) => <T>(promise: Promise<T>) => Promise<T>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TextFieldProps as TextFieldPropsType } from '@material-ui/core/TextField';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
values?: string[];
|
|
5
|
+
onChange: (values: string[]) => void;
|
|
6
|
+
TextFieldProps?: Partial<TextFieldPropsType>;
|
|
7
|
+
fullWidth?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const SourceSystemsSelector: {
|
|
10
|
+
({ values, onChange, TextFieldProps, fullWidth }: Props): JSX.Element;
|
|
11
|
+
displayName: string;
|
|
12
|
+
};
|
|
13
|
+
export default SourceSystemsSelector;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import { useSelector } from 'react-redux';
|
|
3
|
+
import { map, pipe, sortBy } from 'ramda';
|
|
4
|
+
import mdmModule from '@reltio/mdm-module';
|
|
5
|
+
import { getLastUriPart } from '@reltio/mdm-sdk';
|
|
6
|
+
import MultiValueSelector from '../MultiValueSelector/MultiValueSelector';
|
|
7
|
+
var SourceSystemsSelector = function (_a) {
|
|
8
|
+
var values = _a.values, onChange = _a.onChange, TextFieldProps = _a.TextFieldProps, fullWidth = _a.fullWidth;
|
|
9
|
+
var metadata = useSelector(mdmModule.selectors.getMetadata);
|
|
10
|
+
var options = useMemo(function () {
|
|
11
|
+
return pipe(sortBy(function (option) { return option.label; }), map(function (_a) {
|
|
12
|
+
var label = _a.label, uri = _a.uri;
|
|
13
|
+
return ({ label: label, value: getLastUriPart(uri) });
|
|
14
|
+
}))(metadata.sources);
|
|
15
|
+
}, [metadata.sources]);
|
|
16
|
+
return (React.createElement(MultiValueSelector, { values: values, onChange: onChange, options: options, TextFieldProps: TextFieldProps, fullWidth: fullWidth }));
|
|
17
|
+
};
|
|
18
|
+
SourceSystemsSelector.displayName = 'SourceSystemsSelector';
|
|
19
|
+
export default SourceSystemsSelector;
|
|
@@ -14,17 +14,19 @@ import { useSelector } from 'react-redux';
|
|
|
14
14
|
import ActivityLogFilterHeader from './ActivityLogFilterHeader';
|
|
15
15
|
import ActivityFilterEditor from '../ActivityFilterEditor/ActivityFilterEditor';
|
|
16
16
|
import ActivityExportButton from '../ActivityExportButton/ActivityExportButton';
|
|
17
|
+
import { equals } from 'ramda';
|
|
17
18
|
import mdmModule from '@reltio/mdm-module';
|
|
18
19
|
var ActivityLogFilter = function (_a) {
|
|
19
20
|
var value = _a.value, entityType = _a.entityType, entityUri = _a.entityUri, onChange = _a.onChange, exportTypes = _a.exportTypes;
|
|
20
21
|
var initialValue = useRef(value);
|
|
22
|
+
var isApplied = !equals(value, initialValue.current);
|
|
21
23
|
var canExport = useSelector(mdmModule.selectors.getCanUserMakeActivitiesExport);
|
|
22
24
|
var _b = useState(false), isEditorOpen = _b[0], setIsEditorOpen = _b[1];
|
|
23
25
|
var handleClear = function () { return onChange(__assign({}, initialValue.current)); };
|
|
24
26
|
var handleCancel = function () { return setIsEditorOpen(false); };
|
|
25
27
|
var handleToggleFilter = function () { return setIsEditorOpen(function (isEditorOpen) { return !isEditorOpen; }); };
|
|
26
28
|
return (React.createElement(React.Fragment, null,
|
|
27
|
-
React.createElement(ActivityLogFilterHeader, { onToggle: handleToggleFilter, filters: value }, canExport && React.createElement(ActivityExportButton, { filters: __assign(__assign({}, value), { entityUri: entityUri }), exportTypes: exportTypes })),
|
|
29
|
+
React.createElement(ActivityLogFilterHeader, { onToggle: handleToggleFilter, filters: value, isApplied: isApplied }, canExport && React.createElement(ActivityExportButton, { filters: __assign(__assign({}, value), { entityUri: entityUri }), exportTypes: exportTypes })),
|
|
28
30
|
React.createElement(ActivityFilterEditor, { value: value, open: isEditorOpen, entityType: entityType, onApply: onChange, onCancel: handleCancel, onClear: handleClear })));
|
|
29
31
|
};
|
|
30
32
|
export default ActivityLogFilter;
|
|
@@ -4,6 +4,7 @@ declare type Props = {
|
|
|
4
4
|
onToggle: () => void;
|
|
5
5
|
filters: ActivitiesFilter;
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
+
isApplied?: boolean;
|
|
7
8
|
};
|
|
8
|
-
declare const ActivityLogFilterHeader: ({ children, onToggle, filters }: Props) => JSX.Element;
|
|
9
|
+
declare const ActivityLogFilterHeader: ({ children, onToggle, filters, isApplied }: Props) => JSX.Element;
|
|
9
10
|
export default ActivityLogFilterHeader;
|
|
@@ -5,9 +5,10 @@ import Typography from '@material-ui/core/Typography';
|
|
|
5
5
|
import FilterListIcon from '@material-ui/icons/FilterList';
|
|
6
6
|
import { getFilterLabel } from './helpers';
|
|
7
7
|
import { SmallIconButtonWithTooltip } from '../../SmallIconButton';
|
|
8
|
+
import classnames from 'classnames';
|
|
8
9
|
import { useStyles } from './styles';
|
|
9
10
|
var ActivityLogFilterHeader = function (_a) {
|
|
10
|
-
var children = _a.children, onToggle = _a.onToggle, filters = _a.filters;
|
|
11
|
+
var children = _a.children, onToggle = _a.onToggle, filters = _a.filters, _b = _a.isApplied, isApplied = _b === void 0 ? false : _b;
|
|
11
12
|
var styles = useStyles();
|
|
12
13
|
var filterLabel = getFilterLabel(filters);
|
|
13
14
|
return (React.createElement("div", { className: styles.header },
|
|
@@ -16,6 +17,6 @@ var ActivityLogFilterHeader = function (_a) {
|
|
|
16
17
|
React.createElement(Typography, { variant: "body2", className: styles.label, color: "textSecondary", display: "block", noWrap: true }, filterLabel)),
|
|
17
18
|
React.createElement("div", { className: styles.buttonsWrapper },
|
|
18
19
|
children,
|
|
19
|
-
React.createElement(SmallIconButtonWithTooltip, { icon: FilterListIcon, size: "L", onClick: onToggle, tooltipTitle: i18n.text('Filter'), className: styles.icon }))));
|
|
20
|
+
React.createElement(SmallIconButtonWithTooltip, { icon: FilterListIcon, size: "L", onClick: onToggle, tooltipTitle: i18n.text('Filter'), className: classnames(styles.icon, { activeIcon: isApplied }) }))));
|
|
20
21
|
};
|
|
21
22
|
export default ActivityLogFilterHeader;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
2
|
-
export var useStyles = makeStyles(function () { return ({
|
|
1
|
+
import { fade, makeStyles } from '@material-ui/core/styles';
|
|
2
|
+
export var useStyles = makeStyles(function (theme) { return ({
|
|
3
3
|
header: {
|
|
4
4
|
width: 'auto',
|
|
5
5
|
display: 'flex',
|
|
@@ -10,7 +10,11 @@ export var useStyles = makeStyles(function () { return ({
|
|
|
10
10
|
fontSize: '14px'
|
|
11
11
|
},
|
|
12
12
|
icon: {
|
|
13
|
-
margin: '4px'
|
|
13
|
+
margin: '4px',
|
|
14
|
+
'&.activeIcon': {
|
|
15
|
+
backgroundColor: fade(theme.palette.primary.main, 0.12),
|
|
16
|
+
color: '#0072CE'
|
|
17
|
+
}
|
|
14
18
|
},
|
|
15
19
|
buttonsWrapper: {
|
|
16
20
|
marginLeft: 'auto',
|
|
@@ -137,3 +137,4 @@ export { DragAndDrop } from './DragAndDrop/DragAndDrop';
|
|
|
137
137
|
export * from './AttributesFiltersBuilder';
|
|
138
138
|
export { default as MultiValueSelector } from './MultiValueSelector/MultiValueSelector';
|
|
139
139
|
export { default as MatchRulesSelector } from './MatchRulesSelector/MatchRulesSelector';
|
|
140
|
+
export { default as SourceSystemsSelector } from './SourceSystemsSelector/SourceSystemsSelector';
|
package/esm/components/index.js
CHANGED
|
@@ -137,3 +137,4 @@ export { DragAndDrop } from './DragAndDrop/DragAndDrop';
|
|
|
137
137
|
export * from './AttributesFiltersBuilder';
|
|
138
138
|
export { default as MultiValueSelector } from './MultiValueSelector/MultiValueSelector';
|
|
139
139
|
export { default as MatchRulesSelector } from './MatchRulesSelector/MatchRulesSelector';
|
|
140
|
+
export { default as SourceSystemsSelector } from './SourceSystemsSelector/SourceSystemsSelector';
|
|
@@ -5,7 +5,7 @@ declare type AssigneeOption = {
|
|
|
5
5
|
};
|
|
6
6
|
export declare const useWorkflowAssignee: ({ assignee, taskId, isOpen }: Partial<Pick<WorkflowTaskData, 'taskId' | 'assignee' | 'isOpen'>>) => {
|
|
7
7
|
assignee: AssigneeOption;
|
|
8
|
-
getAssignees: (text: any) => Promise<void |
|
|
8
|
+
getAssignees: (text: any) => Promise<void | AssigneeOption[]>;
|
|
9
9
|
updateAssignee: (newValue: AssigneeOption) => void;
|
|
10
10
|
updateRequestIsInProgress: boolean;
|
|
11
11
|
readOnly: boolean;
|
|
@@ -23,9 +23,11 @@ export var useAPI = function (config) {
|
|
|
23
23
|
if (config === void 0) { config = {}; }
|
|
24
24
|
var _c = useState(), html = _c[0], setHtml = _c[1];
|
|
25
25
|
var _d = useState([]), listenersToReset = _d[0], setListenersToReset = _d[1];
|
|
26
|
-
var _e = useState(
|
|
27
|
-
var _f = useState(
|
|
28
|
-
var _g = useState(
|
|
26
|
+
var _e = useState([]), popupListenersToReset = _e[0], setPopupListenersToReset = _e[1];
|
|
27
|
+
var _f = useState(true), visible = _f[0], setVisible = _f[1];
|
|
28
|
+
var _g = useState(), popup = _g[0], setPopup = _g[1];
|
|
29
|
+
var _h = useState(null), tooltip = _h[0], setTooltip = _h[1];
|
|
30
|
+
var _j = useState({}), customStyles = _j[0], setCustomStyles = _j[1];
|
|
29
31
|
var workerRef = useRef();
|
|
30
32
|
var requestListeners = useRef({});
|
|
31
33
|
var responseListeners = useRef({});
|
|
@@ -46,11 +48,12 @@ export var useAPI = function (config) {
|
|
|
46
48
|
var user = useSelector(mdmModule.selectors.getUser);
|
|
47
49
|
var entityUri = useSelector(mdmModule.selectors.getEntityUri);
|
|
48
50
|
var environment = useSelector(mdmModule.selectors.getWorkflowEnvironmentUrl);
|
|
49
|
-
var
|
|
51
|
+
var _k = useSelector(mdmModule.selectors.getSearchProviderData) || {}, typeSearch = _k.type, search = _k.data;
|
|
50
52
|
var isOldUI = !isNewUI(servicesPath);
|
|
51
53
|
var supportedInterceptHandlers = isOldUI ? qxApi.interceptors : interceptHandlers;
|
|
52
54
|
var openSearch = function (search) { return dispatch(ui.actions.openSearch(search)); };
|
|
53
55
|
var innerText = '';
|
|
56
|
+
var popupText = '';
|
|
54
57
|
var process = function (_a) {
|
|
55
58
|
var _b, _c;
|
|
56
59
|
var task = _a.task, worker = _a.worker;
|
|
@@ -74,10 +77,33 @@ export var useAPI = function (config) {
|
|
|
74
77
|
}
|
|
75
78
|
break;
|
|
76
79
|
}
|
|
80
|
+
case CustomAction.SHOW_POPUP: {
|
|
81
|
+
popupText = task.params;
|
|
82
|
+
resetHtml({
|
|
83
|
+
worker: worker,
|
|
84
|
+
setTooltip: setTooltip,
|
|
85
|
+
html: task.params,
|
|
86
|
+
innerText: popupText,
|
|
87
|
+
setListenersToReset: setPopupListenersToReset,
|
|
88
|
+
setHtml: setPopup
|
|
89
|
+
});
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case CustomAction.HIDE_POPUP: {
|
|
93
|
+
popupText = '';
|
|
94
|
+
setPopup(null);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
77
97
|
case CustomAction.SET_VISIBILITY: {
|
|
78
98
|
if (task.params === 'visible') {
|
|
79
99
|
setVisible(true);
|
|
80
|
-
resetHtml({
|
|
100
|
+
resetHtml({
|
|
101
|
+
worker: worker,
|
|
102
|
+
setTooltip: setTooltip,
|
|
103
|
+
innerText: innerText,
|
|
104
|
+
setListenersToReset: setListenersToReset,
|
|
105
|
+
setHtml: setHtml
|
|
106
|
+
});
|
|
81
107
|
}
|
|
82
108
|
else {
|
|
83
109
|
setVisible(false);
|
|
@@ -182,6 +208,10 @@ export var useAPI = function (config) {
|
|
|
182
208
|
useEffect(function () { return function () {
|
|
183
209
|
listenersToReset.forEach(function (listener) { return listener(); });
|
|
184
210
|
}; }, [listenersToReset]);
|
|
211
|
+
//we need to have separate handlers in opposite case main window listeners will be removed on the popup appear
|
|
212
|
+
useEffect(function () { return function () {
|
|
213
|
+
popupListenersToReset.forEach(function (listener) { return listener(); });
|
|
214
|
+
}; }, [popupListenersToReset, listenersToReset]);
|
|
185
215
|
var onClick = useCallback(function () {
|
|
186
216
|
var _a;
|
|
187
217
|
(_a = workerRef.current) === null || _a === void 0 ? void 0 : _a.postMessage({
|
|
@@ -213,5 +243,5 @@ export var useAPI = function (config) {
|
|
|
213
243
|
}
|
|
214
244
|
}
|
|
215
245
|
}, [config]);
|
|
216
|
-
return { html: html, visible: visible, tooltip: tooltip, customStyles: customStyles, onClick: onClick };
|
|
246
|
+
return { html: html, visible: visible, tooltip: tooltip, customStyles: customStyles, onClick: onClick, popup: popup };
|
|
217
247
|
};
|
|
@@ -37,15 +37,11 @@ export var useCommentsEntitiesMap = function (comments) {
|
|
|
37
37
|
}, [safePromise]);
|
|
38
38
|
var getNotFoundEntity = function (entityUri) {
|
|
39
39
|
return getEntity(entityUri, { options: SELECT_OPTION })
|
|
40
|
-
.then(function (entity) { return ({
|
|
41
|
-
uri: entityUri,
|
|
42
|
-
label: entity.label,
|
|
43
|
-
type: entity.type
|
|
44
|
-
}); })
|
|
40
|
+
.then(function (entity) { return (__assign(__assign({}, entity), { uri: entityUri })); })
|
|
45
41
|
.catch(function () { return ({}); });
|
|
46
42
|
};
|
|
47
43
|
var addNotFoundEntities = useCallback(function (entitiesUris, entities) {
|
|
48
|
-
return safePromise(Promise.all((entitiesUris || []).map(getNotFoundEntity))).then(pipe(reject(isEmpty), concat(entities)));
|
|
44
|
+
return safePromise(Promise.all((entitiesUris || []).map(getNotFoundEntity))).then(function (notFoundEntities) { return pipe(reject(isEmpty), concat(entities))(notFoundEntities); });
|
|
49
45
|
}, [safePromise]);
|
|
50
46
|
useEffect(function () {
|
|
51
47
|
var uniqEntitiesUris = pipe(reduce(function (entitiesUris, comment) {
|
|
@@ -160,7 +160,7 @@ export var useCustomScripts = function (config) {
|
|
|
160
160
|
url: fakeURL,
|
|
161
161
|
method: options.method,
|
|
162
162
|
headers: __assign(__assign({}, options.headers), { origin: 'ui', requestId: requestId, actionId: actionId }),
|
|
163
|
-
data: options
|
|
163
|
+
data: options.body
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
else {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
declare type Options = {
|
|
2
2
|
cancelPrevious?: boolean;
|
|
3
3
|
cancelOnUnmount?: boolean;
|
|
4
|
-
}
|
|
4
|
+
};
|
|
5
|
+
export declare const useSafePromise: ({ cancelPrevious, cancelOnUnmount }?: Options) => <T>(promise: Promise<T>) => Promise<T>;
|
|
6
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1250",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@date-io/moment": "^1.3.5",
|
|
9
9
|
"@react-google-maps/api": "2.7.0",
|
|
10
|
-
"@reltio/mdm-module": "^1.4.
|
|
11
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
10
|
+
"@reltio/mdm-module": "^1.4.1250",
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.1250",
|
|
12
12
|
"classnames": "^2.2.5",
|
|
13
13
|
"d3-cloud": "^1.2.5",
|
|
14
14
|
"d3-geo": "^2.0.1",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"prop-types": "^15.6.2",
|
|
20
20
|
"ramda": "^0.28.0",
|
|
21
21
|
"react-autosuggest": "^9.4.3",
|
|
22
|
-
"react-components": "bitbucket:reltio-ondemand/react-components#v3.
|
|
22
|
+
"react-components": "bitbucket:reltio-ondemand/react-components#v3.14.0",
|
|
23
23
|
"react-dnd": "^9.4.0",
|
|
24
24
|
"react-dnd-html5-backend": "^10.0.2",
|
|
25
25
|
"react-grid-layout": "^1.1.1",
|