@reltio/components 1.4.1848 → 1.4.1850
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/SaveSegmentDialog/SaveSegmentDialog.d.ts +8 -0
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.js +129 -0
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.test.d.ts +1 -0
- package/cjs/SaveSegmentDialog/SaveSegmentDialog.test.js +214 -0
- package/cjs/SaveSegmentDialog/index.d.ts +1 -0
- package/cjs/SaveSegmentDialog/index.js +5 -0
- package/cjs/SaveSegmentDialog/styles.d.ts +1 -0
- package/cjs/SaveSegmentDialog/styles.js +15 -0
- package/cjs/features/graph/DataModelGraph/DataModelGraph.d.ts +2 -1
- package/cjs/features/graph/DataModelGraph/DataModelGraph.js +2 -2
- package/cjs/features/graph/DataModelGraph/DataModelGraph.test.js +1 -1
- package/cjs/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.d.ts +2 -1
- package/cjs/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.js +3 -2
- package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.d.ts +2 -1
- package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.js +5 -2
- package/cjs/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.test.js +7 -1
- package/cjs/hooks/useSavedSearchesRequest/index.d.ts +1 -0
- package/cjs/hooks/useSavedSearchesRequest/index.js +5 -0
- package/cjs/hooks/useSavedSearchesRequest/requests.d.ts +6 -0
- package/cjs/hooks/useSavedSearchesRequest/requests.js +72 -0
- package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.d.ts +76 -0
- package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.js +255 -0
- package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.d.ts +1 -0
- package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.js +743 -0
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +3 -1
- package/esm/SaveSegmentDialog/SaveSegmentDialog.d.ts +8 -0
- package/esm/SaveSegmentDialog/SaveSegmentDialog.js +99 -0
- package/esm/SaveSegmentDialog/SaveSegmentDialog.test.d.ts +1 -0
- package/esm/SaveSegmentDialog/SaveSegmentDialog.test.js +209 -0
- package/esm/SaveSegmentDialog/index.d.ts +1 -0
- package/esm/SaveSegmentDialog/index.js +1 -0
- package/esm/SaveSegmentDialog/styles.d.ts +1 -0
- package/esm/SaveSegmentDialog/styles.js +12 -0
- package/esm/features/graph/DataModelGraph/DataModelGraph.d.ts +2 -1
- package/esm/features/graph/DataModelGraph/DataModelGraph.js +2 -2
- package/esm/features/graph/DataModelGraph/DataModelGraph.test.js +1 -1
- package/esm/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.d.ts +2 -1
- package/esm/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.js +3 -2
- package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.d.ts +2 -1
- package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.js +5 -2
- package/esm/features/graph/DataModelGraph/hooks/useDataModelGraphAppearance.test.js +7 -1
- package/esm/hooks/useSavedSearchesRequest/index.d.ts +1 -0
- package/esm/hooks/useSavedSearchesRequest/index.js +1 -0
- package/esm/hooks/useSavedSearchesRequest/requests.d.ts +6 -0
- package/esm/hooks/useSavedSearchesRequest/requests.js +68 -0
- package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.d.ts +76 -0
- package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.js +251 -0
- package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.d.ts +1 -0
- package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.js +738 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/package.json +1 -1
- package/cjs/hooks/useSavedSearchesRequest.d.ts +0 -23
- package/cjs/hooks/useSavedSearchesRequest.js +0 -224
- package/esm/hooks/useSavedSearchesRequest.d.ts +0 -23
- package/esm/hooks/useSavedSearchesRequest.js +0 -220
package/cjs/index.d.ts
CHANGED
|
@@ -110,6 +110,7 @@ export { FilterValueEditor } from './FilterValueEditor';
|
|
|
110
110
|
export { DropDownEditor } from './DropDownEditor';
|
|
111
111
|
export { EmptySearchResult } from './EmptySearchResult';
|
|
112
112
|
export { FileTypeEditor } from './FileTypeEditor';
|
|
113
|
+
export { SaveSegmentDialog } from './SaveSegmentDialog';
|
|
113
114
|
export { withChartDataPercents as withPercents } from './HOCs/withChartDataPercents';
|
|
114
115
|
export { withFilterAtBottom } from './HOCs/withFilterAtBottom';
|
|
115
116
|
export { withTableContext } from './HOCs/withTableContext';
|
package/cjs/index.js
CHANGED
|
@@ -16,7 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ReadOnlyAttributeValuesBlock = exports.PieChart = exports.OvIcon = exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributesButton = exports.InlineReferenceAttribute = exports.InlineNestedAttribute = exports.InlineImageAttribute = exports.InlineAttributesPager = exports.EditableImageAttributesLine = exports.FilterButton = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.EntitySelector = exports.EntityCreator = exports.AttributesPager = exports.AttributesList = exports.EditableAttribute = exports.DropDownMenuButton = exports.DescriptionIcon = exports.DefaultCellValueRenderer = exports.ColumnsSettingsPopup = exports.ColumnsSettings = exports.ColorBar = exports.CollapseRowButton = exports.ChartsFactory = exports.CardinalityMessage = exports.BranchDecorator = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.BasicTablePagination = exports.basicTableViewState = exports.BasicTable = exports.BasicAttributeSelector = exports.BarChart = exports.AvatarWithFallback = exports.AutoSizeList = exports.AttributesView = exports.AttributesValuesEditor = exports.AttributesFiltersButton = exports.AttributesFiltersBuilder = exports.AttributesFilterSelector = exports.AttributesErrorsPanel = exports.AttributeListItem = exports.AttributeGroupIcon = exports.ArrowExpandButton = exports.ActionsPanel = exports.ActionButton = void 0;
|
|
18
18
|
exports.ErrorWrapper = exports.ErrorMessage = exports.ConfigureColumnsPopup = exports.ConnectionEditor = exports.DropDownSelector = exports.ReactSelectOptionWithCheckIcon = exports.ReactSelectMenuWithPopper = exports.ReactSelectMenuList = exports.ReactSelectLoadMoreButton = exports.ReactSelectDropdownIndicatorWithIconButton = exports.ReactSelectDropdownIndicator = exports.Highlighter = exports.HierarchyNodeTitle = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.ExpandableSearchInput = exports.ErrorPopup = exports.ErrorBoundary = exports.EntityUriLink = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.Drawer = exports.DataTypeValue = exports.DataTenantBadge = exports.ConnectionRelationTypeSelector = exports.CollaborationItem = exports.ConfirmationDialog = exports.CommentsContainer = exports.ColoredSourceIcon = exports.CollapseButton = exports.TreeChart = exports.TableWithBars = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleAttributeEditor = exports.SimpleAttribute = exports.RowCellAutoSizer = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.ReferenceAttribute = exports.ImageAttributesLine = exports.ReadOnlyAttributesPager = exports.ReadOnlyAttributesList = exports.ReadOnlyAttribute = void 0;
|
|
19
|
-
exports.CrosswalkType = exports.AttributesTable = exports.CrosswalkDragLayer = exports.SourceCrosswalksRow = exports.CrosswalkEditor = exports.useModifiedEntity = exports.useCrosswalkActions = exports.groupCrosswalksByTypesAndSources = exports.ActivityTypes = exports.useProfileActivitiesLoader = exports.useActivitiesLoader = exports.ActivityLogFilter = exports.ActivityLog = exports.rerenderWrapper = exports.mockElementSizes = exports.mockBasicTableSizing = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = void 0;
|
|
19
|
+
exports.CrosswalkType = exports.AttributesTable = exports.CrosswalkDragLayer = exports.SourceCrosswalksRow = exports.CrosswalkEditor = exports.useModifiedEntity = exports.useCrosswalkActions = exports.groupCrosswalksByTypesAndSources = exports.ActivityTypes = exports.useProfileActivitiesLoader = exports.useActivitiesLoader = exports.ActivityLogFilter = exports.ActivityLog = exports.rerenderWrapper = exports.mockElementSizes = exports.mockBasicTableSizing = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.SaveSegmentDialog = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = void 0;
|
|
20
20
|
__exportStar(require("./HOCs"), exports);
|
|
21
21
|
__exportStar(require("./components"), exports);
|
|
22
22
|
__exportStar(require("./constants"), exports);
|
|
@@ -240,6 +240,8 @@ var EmptySearchResult_1 = require("./EmptySearchResult");
|
|
|
240
240
|
Object.defineProperty(exports, "EmptySearchResult", { enumerable: true, get: function () { return EmptySearchResult_1.EmptySearchResult; } });
|
|
241
241
|
var FileTypeEditor_1 = require("./FileTypeEditor");
|
|
242
242
|
Object.defineProperty(exports, "FileTypeEditor", { enumerable: true, get: function () { return FileTypeEditor_1.FileTypeEditor; } });
|
|
243
|
+
var SaveSegmentDialog_1 = require("./SaveSegmentDialog");
|
|
244
|
+
Object.defineProperty(exports, "SaveSegmentDialog", { enumerable: true, get: function () { return SaveSegmentDialog_1.SaveSegmentDialog; } });
|
|
243
245
|
// HOCs
|
|
244
246
|
var withChartDataPercents_1 = require("./HOCs/withChartDataPercents");
|
|
245
247
|
Object.defineProperty(exports, "withPercents", { enumerable: true, get: function () { return withChartDataPercents_1.withChartDataPercents; } });
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type Props = {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
isSaving: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onSave: (name: string, description: string, isPublic: boolean) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const SaveSegmentDialog: ({ isOpen, isSaving, onClose, onSave }: Props) => JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
38
|
+
import i18n from 'ui-i18n';
|
|
39
|
+
import Dialog from '@mui/material/Dialog';
|
|
40
|
+
import DialogTitle from '@mui/material/DialogTitle';
|
|
41
|
+
import DialogContent from '@mui/material/DialogContent';
|
|
42
|
+
import DialogActions from '@mui/material/DialogActions';
|
|
43
|
+
import Button from '@mui/material/Button';
|
|
44
|
+
import { DropDownEditor } from '../DropDownEditor';
|
|
45
|
+
import { TextEditor } from '../TextEditor';
|
|
46
|
+
import { useStyles } from './styles';
|
|
47
|
+
var SharingOption;
|
|
48
|
+
(function (SharingOption) {
|
|
49
|
+
SharingOption["Public"] = "public";
|
|
50
|
+
SharingOption["Private"] = "private";
|
|
51
|
+
})(SharingOption || (SharingOption = {}));
|
|
52
|
+
var SHARING_OPTIONS = [
|
|
53
|
+
{ label: i18n.text('Only me'), value: SharingOption.Private },
|
|
54
|
+
{ label: i18n.text('All users'), value: SharingOption.Public }
|
|
55
|
+
];
|
|
56
|
+
export var SaveSegmentDialog = function (_a) {
|
|
57
|
+
var isOpen = _a.isOpen, isSaving = _a.isSaving, onClose = _a.onClose, onSave = _a.onSave;
|
|
58
|
+
var styles = useStyles();
|
|
59
|
+
var _b = useState(''), name = _b[0], setName = _b[1];
|
|
60
|
+
var _c = useState(''), description = _c[0], setDescription = _c[1];
|
|
61
|
+
var _d = useState(SharingOption.Private), share = _d[0], setShare = _d[1];
|
|
62
|
+
var isValid = name.trim() !== '';
|
|
63
|
+
var handleChangeName = useCallback(function (event) {
|
|
64
|
+
setName(event.target.value);
|
|
65
|
+
}, []);
|
|
66
|
+
var handleChangeDescription = useCallback(function (event) {
|
|
67
|
+
setDescription(event.target.value);
|
|
68
|
+
}, []);
|
|
69
|
+
var handleChangeShareWith = useCallback(function (newValue) {
|
|
70
|
+
setShare(newValue);
|
|
71
|
+
}, []);
|
|
72
|
+
var handleSave = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
73
|
+
return __generator(this, function (_a) {
|
|
74
|
+
onSave(name, description, share === SharingOption.Public);
|
|
75
|
+
return [2 /*return*/];
|
|
76
|
+
});
|
|
77
|
+
}); }, [onSave, name, description, share]);
|
|
78
|
+
useEffect(function () {
|
|
79
|
+
if (isOpen) {
|
|
80
|
+
setName('');
|
|
81
|
+
setDescription('');
|
|
82
|
+
setShare(SharingOption.Private);
|
|
83
|
+
}
|
|
84
|
+
}, [isOpen]);
|
|
85
|
+
return (React.createElement(Dialog, { onClose: onClose, open: isOpen, PaperProps: { classes: { root: styles.root } } },
|
|
86
|
+
React.createElement(DialogTitle, null, i18n.text('Save segment')),
|
|
87
|
+
React.createElement(DialogContent, { className: styles.dialogContent },
|
|
88
|
+
React.createElement(TextEditor, { label: i18n.text('Name'), required: true, variant: "filled", onInput: handleChangeName, value: name, size: "small", autoFocus: true }),
|
|
89
|
+
React.createElement(TextEditor, { label: i18n.text('Description (optional)'), multiline: true, variant: "filled", value: description, onInput: handleChangeDescription, size: "small", rows: 5 }),
|
|
90
|
+
React.createElement(DropDownEditor, { entries: SHARING_OPTIONS, TextFieldProps: {
|
|
91
|
+
required: true,
|
|
92
|
+
label: i18n.text('Share with'),
|
|
93
|
+
variant: 'filled',
|
|
94
|
+
size: 'small'
|
|
95
|
+
}, value: share, onChange: handleChangeShareWith })),
|
|
96
|
+
React.createElement(DialogActions, null,
|
|
97
|
+
React.createElement(Button, { onClick: onClose }, i18n.text('Cancel')),
|
|
98
|
+
React.createElement(Button, { color: "primary", onClick: handleSave, disabled: isSaving || !isValid }, i18n.text('Save')))));
|
|
99
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import React from 'react';
|
|
49
|
+
import { render, screen } from '@testing-library/react';
|
|
50
|
+
import userEvent from '@testing-library/user-event';
|
|
51
|
+
import { SaveSegmentDialog } from '../SaveSegmentDialog';
|
|
52
|
+
var defaultProps = {
|
|
53
|
+
isOpen: true,
|
|
54
|
+
isSaving: false,
|
|
55
|
+
onClose: jest.fn(),
|
|
56
|
+
onSave: jest.fn()
|
|
57
|
+
};
|
|
58
|
+
var setUp = function (props) {
|
|
59
|
+
if (props === void 0) { props = defaultProps; }
|
|
60
|
+
var user = userEvent.setup();
|
|
61
|
+
var result = render(React.createElement(SaveSegmentDialog, __assign({}, props)));
|
|
62
|
+
var rerender = function (props) { return result.rerender(React.createElement(SaveSegmentDialog, __assign({}, defaultProps, props))); };
|
|
63
|
+
return __assign(__assign({}, result), { user: user, rerender: rerender });
|
|
64
|
+
};
|
|
65
|
+
describe('SaveSegmentDialog tests', function () {
|
|
66
|
+
beforeEach(function () {
|
|
67
|
+
jest.clearAllMocks();
|
|
68
|
+
});
|
|
69
|
+
it('should not render dialog if isOpen prop is false', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
70
|
+
var props, container;
|
|
71
|
+
return __generator(this, function (_a) {
|
|
72
|
+
props = __assign(__assign({}, defaultProps), { isOpen: false });
|
|
73
|
+
container = setUp(props).container;
|
|
74
|
+
expect(container).toBeEmptyDOMElement();
|
|
75
|
+
return [2 /*return*/];
|
|
76
|
+
});
|
|
77
|
+
}); });
|
|
78
|
+
it('should render main parts correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
setUp();
|
|
81
|
+
expect(screen.getByText('Save segment')).toBeInTheDocument();
|
|
82
|
+
expect(screen.getByText('Name')).toBeInTheDocument();
|
|
83
|
+
expect(screen.getByText('Description (optional)')).toBeInTheDocument();
|
|
84
|
+
expect(screen.getByText('Share with')).toBeInTheDocument();
|
|
85
|
+
expect(screen.getByText('Cancel')).toBeInTheDocument();
|
|
86
|
+
expect(screen.getByText('Save')).toBeInTheDocument();
|
|
87
|
+
return [2 /*return*/];
|
|
88
|
+
});
|
|
89
|
+
}); });
|
|
90
|
+
it('should clear all fields on close dialog', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
91
|
+
var _a, user, rerender;
|
|
92
|
+
return __generator(this, function (_b) {
|
|
93
|
+
switch (_b.label) {
|
|
94
|
+
case 0:
|
|
95
|
+
_a = setUp(), user = _a.user, rerender = _a.rerender;
|
|
96
|
+
return [4 /*yield*/, user.click(screen.getByText('Name'))];
|
|
97
|
+
case 1:
|
|
98
|
+
_b.sent();
|
|
99
|
+
return [4 /*yield*/, user.keyboard('test name')];
|
|
100
|
+
case 2:
|
|
101
|
+
_b.sent();
|
|
102
|
+
return [4 /*yield*/, user.click(screen.getByText('Description (optional)'))];
|
|
103
|
+
case 3:
|
|
104
|
+
_b.sent();
|
|
105
|
+
return [4 /*yield*/, user.keyboard('test description')];
|
|
106
|
+
case 4:
|
|
107
|
+
_b.sent();
|
|
108
|
+
return [4 /*yield*/, user.click(screen.getByText('Only me'))];
|
|
109
|
+
case 5:
|
|
110
|
+
_b.sent();
|
|
111
|
+
return [4 /*yield*/, user.click(screen.getByText('All users'))];
|
|
112
|
+
case 6:
|
|
113
|
+
_b.sent();
|
|
114
|
+
rerender({ isOpen: false });
|
|
115
|
+
rerender({ isOpen: true });
|
|
116
|
+
expect(screen.queryByText('test name')).not.toBeInTheDocument();
|
|
117
|
+
expect(screen.queryByText('test description')).not.toBeInTheDocument();
|
|
118
|
+
screen.getByText('Only me');
|
|
119
|
+
return [2 /*return*/];
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}); });
|
|
123
|
+
it('should disable "Save" button in case of name field is empty', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
124
|
+
var user;
|
|
125
|
+
return __generator(this, function (_a) {
|
|
126
|
+
switch (_a.label) {
|
|
127
|
+
case 0:
|
|
128
|
+
user = setUp().user;
|
|
129
|
+
expect(screen.getByText('Save')).toBeDisabled();
|
|
130
|
+
return [4 /*yield*/, user.click(screen.getByText('Name'))];
|
|
131
|
+
case 1:
|
|
132
|
+
_a.sent();
|
|
133
|
+
return [4 /*yield*/, user.keyboard(' ')];
|
|
134
|
+
case 2:
|
|
135
|
+
_a.sent();
|
|
136
|
+
expect(screen.getByText('Save')).toBeDisabled();
|
|
137
|
+
return [4 /*yield*/, user.keyboard('test')];
|
|
138
|
+
case 3:
|
|
139
|
+
_a.sent();
|
|
140
|
+
expect(screen.getByText('Save')).toBeEnabled();
|
|
141
|
+
return [2 /*return*/];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}); });
|
|
145
|
+
it('should disable "Save" button in case of isSaving prop is true', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
146
|
+
var props, user;
|
|
147
|
+
return __generator(this, function (_a) {
|
|
148
|
+
switch (_a.label) {
|
|
149
|
+
case 0:
|
|
150
|
+
props = __assign(__assign({}, defaultProps), { isSaving: true });
|
|
151
|
+
user = setUp(props).user;
|
|
152
|
+
return [4 /*yield*/, user.click(screen.getByText('Name'))];
|
|
153
|
+
case 1:
|
|
154
|
+
_a.sent();
|
|
155
|
+
return [4 /*yield*/, user.keyboard('test')];
|
|
156
|
+
case 2:
|
|
157
|
+
_a.sent();
|
|
158
|
+
expect(screen.getByText('Save')).toBeDisabled();
|
|
159
|
+
return [2 /*return*/];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}); });
|
|
163
|
+
it('should call onSave callback with correct props on "Save" button click', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
164
|
+
var user;
|
|
165
|
+
return __generator(this, function (_a) {
|
|
166
|
+
switch (_a.label) {
|
|
167
|
+
case 0:
|
|
168
|
+
user = setUp().user;
|
|
169
|
+
return [4 /*yield*/, user.click(screen.getByText('Name'))];
|
|
170
|
+
case 1:
|
|
171
|
+
_a.sent();
|
|
172
|
+
return [4 /*yield*/, user.keyboard('test name')];
|
|
173
|
+
case 2:
|
|
174
|
+
_a.sent();
|
|
175
|
+
return [4 /*yield*/, user.click(screen.getByText('Description (optional)'))];
|
|
176
|
+
case 3:
|
|
177
|
+
_a.sent();
|
|
178
|
+
return [4 /*yield*/, user.keyboard('test description')];
|
|
179
|
+
case 4:
|
|
180
|
+
_a.sent();
|
|
181
|
+
return [4 /*yield*/, user.click(screen.getByText('Only me'))];
|
|
182
|
+
case 5:
|
|
183
|
+
_a.sent();
|
|
184
|
+
return [4 /*yield*/, user.click(screen.getByText('All users'))];
|
|
185
|
+
case 6:
|
|
186
|
+
_a.sent();
|
|
187
|
+
return [4 /*yield*/, user.click(screen.getByText('Save'))];
|
|
188
|
+
case 7:
|
|
189
|
+
_a.sent();
|
|
190
|
+
expect(defaultProps.onSave).toHaveBeenCalledWith('test name', 'test description', true);
|
|
191
|
+
return [2 /*return*/];
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
}); });
|
|
195
|
+
it('should call onClose callback on "Cancel" button click', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
196
|
+
var user;
|
|
197
|
+
return __generator(this, function (_a) {
|
|
198
|
+
switch (_a.label) {
|
|
199
|
+
case 0:
|
|
200
|
+
user = setUp().user;
|
|
201
|
+
return [4 /*yield*/, user.click(screen.getByText('Cancel'))];
|
|
202
|
+
case 1:
|
|
203
|
+
_a.sent();
|
|
204
|
+
expect(defaultProps.onClose).toHaveBeenCalled();
|
|
205
|
+
return [2 /*return*/];
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
}); });
|
|
209
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SaveSegmentDialog } from './SaveSegmentDialog';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SaveSegmentDialog } from './SaveSegmentDialog';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"root" | "dialogContent">;
|
|
@@ -7,6 +7,7 @@ type Props = {
|
|
|
7
7
|
onNodeClick: (nodeId: string) => void;
|
|
8
8
|
selectedEdge: string;
|
|
9
9
|
onEdgeLabelClick: (edgeId: string, event: MouseEvent) => void;
|
|
10
|
+
hideInteractionTypes?: boolean;
|
|
10
11
|
};
|
|
11
|
-
export declare const DataModelGraph: ({ graph, children, selectedNode, onNodeClick, selectedEdge, onEdgeLabelClick }: Props) => JSX.Element;
|
|
12
|
+
export declare const DataModelGraph: ({ graph, children, selectedNode, onNodeClick, selectedEdge, onEdgeLabelClick, hideInteractionTypes }: Props) => JSX.Element;
|
|
12
13
|
export default DataModelGraph;
|
|
@@ -8,12 +8,12 @@ var settings = {
|
|
|
8
8
|
zIndex: true
|
|
9
9
|
};
|
|
10
10
|
export var DataModelGraph = function (_a) {
|
|
11
|
-
var graph = _a.graph, children = _a.children, selectedNode = _a.selectedNode, onNodeClick = _a.onNodeClick, selectedEdge = _a.selectedEdge, onEdgeLabelClick = _a.onEdgeLabelClick;
|
|
11
|
+
var graph = _a.graph, children = _a.children, selectedNode = _a.selectedNode, onNodeClick = _a.onNodeClick, selectedEdge = _a.selectedEdge, onEdgeLabelClick = _a.onEdgeLabelClick, hideInteractionTypes = _a.hideInteractionTypes;
|
|
12
12
|
var styles = useStyles();
|
|
13
13
|
return (React.createElement("div", { className: styles.wrapper },
|
|
14
14
|
React.createElement("div", { className: styles.graph }, graph && (React.createElement(SigmaGraphContainer, { initialSettings: settings },
|
|
15
15
|
React.createElement(React.Fragment, null,
|
|
16
|
-
React.createElement(DataModelCircleLayuot, { graph: graph, selectedNode: selectedNode, onNodeClick: onNodeClick, selectedEdge: selectedEdge, onEdgeLabelClick: onEdgeLabelClick }),
|
|
16
|
+
React.createElement(DataModelCircleLayuot, { graph: graph, selectedNode: selectedNode, onNodeClick: onNodeClick, selectedEdge: selectedEdge, onEdgeLabelClick: onEdgeLabelClick, hideInteractionTypes: hideInteractionTypes }),
|
|
17
17
|
React.createElement("div", { className: styles.rightBottomControls },
|
|
18
18
|
React.createElement(ZoomSlider, { className: styles.zoomSlider, min: 30, max: 300 })))))),
|
|
19
19
|
children));
|
|
@@ -37,7 +37,7 @@ describe('DataModelGraph tests', function () {
|
|
|
37
37
|
var selectedEdge = 'edge1';
|
|
38
38
|
var onEdgeLabelClick = jest.fn();
|
|
39
39
|
var setUp = function () {
|
|
40
|
-
render(React.createElement(DataModelGraph, { graph: graph, selectedNode: selectedNode, onNodeClick: onNodeClick, selectedEdge: selectedEdge, onEdgeLabelClick: onEdgeLabelClick }));
|
|
40
|
+
render(React.createElement(DataModelGraph, { graph: graph, selectedNode: selectedNode, onNodeClick: onNodeClick, selectedEdge: selectedEdge, onEdgeLabelClick: onEdgeLabelClick, hideInteractionTypes: false }));
|
|
41
41
|
};
|
|
42
42
|
afterEach(function () {
|
|
43
43
|
jest.clearAllMocks();
|
|
@@ -5,7 +5,8 @@ type Props = {
|
|
|
5
5
|
onNodeClick: (nodeId: string) => void;
|
|
6
6
|
selectedEdge: string;
|
|
7
7
|
onEdgeLabelClick: (edgeId: string, event: MouseEvent) => void;
|
|
8
|
+
hideInteractionTypes?: boolean;
|
|
8
9
|
};
|
|
9
10
|
export declare const LAYOUT_ANIMATION_DURATION = 3000;
|
|
10
|
-
export declare const DataModelCircleLayuot: ({ graph, selectedNode, onNodeClick, selectedEdge, onEdgeLabelClick }: Props) => any;
|
|
11
|
+
export declare const DataModelCircleLayuot: ({ graph, selectedNode, onNodeClick, selectedEdge, onEdgeLabelClick, hideInteractionTypes }: Props) => any;
|
|
11
12
|
export {};
|
package/esm/features/graph/DataModelGraph/components/DataModelCircleLayout/DataModelCircleLayuot.js
CHANGED
|
@@ -3,7 +3,7 @@ import { useFakeCenterNode } from '../../hooks/useFakeCenterNode';
|
|
|
3
3
|
import { useDataModelGraphAppearance } from '../../hooks/useDataModelGraphAppearance';
|
|
4
4
|
export var LAYOUT_ANIMATION_DURATION = 3000;
|
|
5
5
|
export var DataModelCircleLayuot = function (_a) {
|
|
6
|
-
var graph = _a.graph, selectedNode = _a.selectedNode, onNodeClick = _a.onNodeClick, selectedEdge = _a.selectedEdge, onEdgeLabelClick = _a.onEdgeLabelClick;
|
|
6
|
+
var graph = _a.graph, selectedNode = _a.selectedNode, onNodeClick = _a.onNodeClick, selectedEdge = _a.selectedEdge, onEdgeLabelClick = _a.onEdgeLabelClick, hideInteractionTypes = _a.hideInteractionTypes;
|
|
7
7
|
useFakeCenterNode({ graph: graph, timeout: LAYOUT_ANIMATION_DURATION + 100 });
|
|
8
8
|
useCircleLayout({ graph: graph, animationDuration: LAYOUT_ANIMATION_DURATION });
|
|
9
9
|
useDataModelGraphAppearance({
|
|
@@ -11,7 +11,8 @@ export var DataModelCircleLayuot = function (_a) {
|
|
|
11
11
|
selectedNode: selectedNode,
|
|
12
12
|
selectedEdge: selectedEdge,
|
|
13
13
|
onNodeClick: onNodeClick,
|
|
14
|
-
onEdgeLabelClick: onEdgeLabelClick
|
|
14
|
+
onEdgeLabelClick: onEdgeLabelClick,
|
|
15
|
+
hideInteractionTypes: hideInteractionTypes
|
|
15
16
|
});
|
|
16
17
|
return null;
|
|
17
18
|
};
|
|
@@ -12,6 +12,7 @@ type Props = {
|
|
|
12
12
|
selectedEdge: string;
|
|
13
13
|
onNodeClick: (node: string) => void;
|
|
14
14
|
onEdgeLabelClick: (edgeId: string, event: MouseEvent) => void;
|
|
15
|
+
hideInteractionTypes?: boolean;
|
|
15
16
|
};
|
|
16
|
-
export declare const useDataModelGraphAppearance: ({ graph, selectedNode, selectedEdge, onNodeClick, onEdgeLabelClick }: Props) => void;
|
|
17
|
+
export declare const useDataModelGraphAppearance: ({ graph, selectedNode, selectedEdge, onNodeClick, onEdgeLabelClick, hideInteractionTypes }: Props) => void;
|
|
17
18
|
export {};
|
|
@@ -43,7 +43,7 @@ export var RELATED_EDGE_COLOR = 'rgba(130, 130, 130, 1)';
|
|
|
43
43
|
export var RELATED_DASHED_EDGE_COLOR = 'rgba(79, 79, 79, 1)';
|
|
44
44
|
export var INACTIVE_LABEL_COLOR = 'rgba(0, 0, 0, 0.38)';
|
|
45
45
|
export var useDataModelGraphAppearance = function (_a) {
|
|
46
|
-
var graph = _a.graph, selectedNode = _a.selectedNode, selectedEdge = _a.selectedEdge, onNodeClick = _a.onNodeClick, onEdgeLabelClick = _a.onEdgeLabelClick;
|
|
46
|
+
var graph = _a.graph, selectedNode = _a.selectedNode, selectedEdge = _a.selectedEdge, onNodeClick = _a.onNodeClick, onEdgeLabelClick = _a.onEdgeLabelClick, hideInteractionTypes = _a.hideInteractionTypes;
|
|
47
47
|
var sigma = useSigma();
|
|
48
48
|
var container = useSigmaContext().container;
|
|
49
49
|
var _b = useState(null), hoveredNode = _b[0], setHoveredNode = _b[1];
|
|
@@ -104,6 +104,9 @@ export var useDataModelGraphAppearance = function (_a) {
|
|
|
104
104
|
if (hoveredNode !== node && !isSelectedNode) {
|
|
105
105
|
delete newData.secondaryLabel;
|
|
106
106
|
}
|
|
107
|
+
if (data.nodeType === DataModelGraphNodeType.interactionType && hideInteractionTypes) {
|
|
108
|
+
newData.hidden = true;
|
|
109
|
+
}
|
|
107
110
|
return newData;
|
|
108
111
|
},
|
|
109
112
|
edgeReducer: function (edge, data) {
|
|
@@ -131,5 +134,5 @@ export var useDataModelGraphAppearance = function (_a) {
|
|
|
131
134
|
return newData;
|
|
132
135
|
}
|
|
133
136
|
});
|
|
134
|
-
}, [sigma, setSettings, selectedNode, selectedEdge, hoveredEdge, hoveredNode]);
|
|
137
|
+
}, [sigma, setSettings, selectedNode, selectedEdge, hoveredEdge, hoveredNode, hideInteractionTypes]);
|
|
135
138
|
};
|
|
@@ -86,7 +86,7 @@ describe('useDataModelGraphAppearance tests', function () {
|
|
|
86
86
|
getGraph: function () { return graph; }
|
|
87
87
|
});
|
|
88
88
|
return __assign({ graph: graph }, renderHook(useDataModelGraphAppearance, {
|
|
89
|
-
initialProps: __assign({ graph: graph, selectedNode: null, onNodeClick: jest.fn(), selectedEdge: null, onEdgeLabelClick: jest.fn() }, props)
|
|
89
|
+
initialProps: __assign({ graph: graph, selectedNode: null, onNodeClick: jest.fn(), selectedEdge: null, onEdgeLabelClick: jest.fn(), hideInteractionTypes: false }, props)
|
|
90
90
|
}));
|
|
91
91
|
};
|
|
92
92
|
var setSettings = jest.fn();
|
|
@@ -157,6 +157,12 @@ describe('useDataModelGraphAppearance tests', function () {
|
|
|
157
157
|
expect(nodeReducer('prescriptions', graph.getNodeAttributes('prescriptions'))).toEqual(__assign(__assign({}, getDefaultNodeAttributes(graph.getNodeAttributes('prescriptions'))), { hasBorder: true, image: expect.stringContaining('data:image/svg+xml'), label: 'Prescriptions', nodeType: DataModelGraphNodeType.interactionType, inactive: true, labelColor: INACTIVE_LABEL_COLOR, secondaryLabelColor: INACTIVE_LABEL_COLOR }));
|
|
158
158
|
expect(result.error).toBeUndefined();
|
|
159
159
|
});
|
|
160
|
+
it('should hide interaction types when hideInteractionTypes is true', function () {
|
|
161
|
+
var _a = setUp({ hideInteractionTypes: true }), graph = _a.graph, result = _a.result;
|
|
162
|
+
var nodeReducer = getNodeReducer();
|
|
163
|
+
expect(nodeReducer('prescriptions', graph.getNodeAttributes('prescriptions'))).toEqual(__assign(__assign({}, getDefaultNodeAttributes(graph.getNodeAttributes('prescriptions'))), { hasBorder: true, image: expect.stringContaining('data:image/svg+xml'), label: 'Prescriptions', nodeType: DataModelGraphNodeType.interactionType, hidden: true }));
|
|
164
|
+
expect(result.error).toBeUndefined();
|
|
165
|
+
});
|
|
160
166
|
});
|
|
161
167
|
describe('edges reducer behavior', function () {
|
|
162
168
|
var defaultEdgeStyle = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useSavedSearchesRequest } from './useSavedSearchesRequest';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useSavedSearchesRequest } from './useSavedSearchesRequest';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { getTotalsForQuery, promiseAllSettled, replacePlaceholdersInQuery } from '@reltio/mdm-sdk';
|
|
38
|
+
export var getTotalsForSavedSearches = function (savedSearches, queryEstimatorEnabled, signal) { return __awaiter(void 0, void 0, void 0, function () {
|
|
39
|
+
var totalRequests, totalResults, entries;
|
|
40
|
+
return __generator(this, function (_a) {
|
|
41
|
+
switch (_a.label) {
|
|
42
|
+
case 0:
|
|
43
|
+
totalRequests = savedSearches.map(function (search) {
|
|
44
|
+
return getTotalsForQuery(replacePlaceholdersInQuery(search.query), queryEstimatorEnabled, signal);
|
|
45
|
+
});
|
|
46
|
+
return [4 /*yield*/, promiseAllSettled(totalRequests)];
|
|
47
|
+
case 1:
|
|
48
|
+
totalResults = _a.sent();
|
|
49
|
+
entries = totalResults
|
|
50
|
+
.map(function (_a, index) {
|
|
51
|
+
var status = _a.status, value = _a.value, reason = _a.reason;
|
|
52
|
+
switch (status) {
|
|
53
|
+
case 'fulfilled': {
|
|
54
|
+
var uri = savedSearches[index].uri;
|
|
55
|
+
return [uri, { count: value.total }];
|
|
56
|
+
}
|
|
57
|
+
case 'rejected': {
|
|
58
|
+
console.warn(reason);
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
})
|
|
64
|
+
.filter(Boolean);
|
|
65
|
+
return [2 /*return*/, Object.fromEntries(entries)];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}); };
|