@reltio/components 1.4.1069 → 1.4.1074
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/AttributeGroupIcon/AttributeGroupIcon.d.ts +11 -0
- package/cjs/components/AttributeGroupIcon/AttributeGroupIcon.js +20 -0
- package/cjs/components/AttributeGroupIcon/styles.d.ts +1 -0
- package/cjs/components/AttributeGroupIcon/styles.js +11 -0
- package/cjs/components/AttributesFiltersBuilder/AttributesFiltersBuilder.d.ts +9 -0
- package/cjs/components/AttributesFiltersBuilder/AttributesFiltersBuilder.js +112 -0
- package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.d.ts +9 -0
- package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js +53 -0
- package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.d.ts +7 -0
- package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.js +56 -0
- package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/styles.d.ts +2 -0
- package/cjs/components/AttributesFiltersBuilder/components/FilterSelector/styles.js +9 -0
- package/cjs/components/AttributesFiltersBuilder/components/RowActions/RowActions.d.ts +4 -0
- package/cjs/components/AttributesFiltersBuilder/components/RowActions/RowActions.js +51 -0
- package/cjs/components/AttributesFiltersBuilder/components/RowActions/styles.d.ts +1 -0
- package/cjs/components/AttributesFiltersBuilder/components/RowActions/styles.js +23 -0
- package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.d.ts +4 -0
- package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.js +60 -0
- package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/styles.d.ts +1 -0
- package/cjs/components/AttributesFiltersBuilder/components/ValueEditor/styles.js +25 -0
- package/cjs/components/AttributesFiltersBuilder/helpers.d.ts +12 -0
- package/cjs/components/AttributesFiltersBuilder/helpers.js +77 -0
- package/cjs/components/AttributesFiltersBuilder/styles.d.ts +1 -0
- package/cjs/components/AttributesFiltersBuilder/styles.js +21 -0
- package/cjs/components/AttributesFiltersBuilder/types.d.ts +24 -0
- package/cjs/components/AttributesFiltersBuilder/types.js +2 -0
- package/cjs/components/AttributesFiltersButton/ActionButtons/ActionButtons.d.ts +8 -0
- package/cjs/components/AttributesFiltersButton/ActionButtons/ActionButtons.js +18 -0
- package/cjs/components/AttributesFiltersButton/ActionButtons/styles.d.ts +1 -0
- package/cjs/components/AttributesFiltersButton/ActionButtons/styles.js +26 -0
- package/cjs/components/AttributesFiltersButton/AttributesFiltersButton.d.ts +9 -0
- package/cjs/components/AttributesFiltersButton/AttributesFiltersButton.js +82 -0
- package/cjs/components/AttributesFiltersButton/styles.d.ts +1 -0
- package/cjs/components/AttributesFiltersButton/styles.js +30 -0
- package/cjs/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.d.ts +14 -0
- package/cjs/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.js +27 -0
- package/cjs/components/BasicAttributeSelector/AttributeTitle/styles.d.ts +2 -0
- package/cjs/components/BasicAttributeSelector/AttributeTitle/styles.js +44 -0
- package/cjs/components/BasicAttributeSelector/BasicAttributeSelector.d.ts +4 -0
- package/cjs/components/BasicAttributeSelector/BasicAttributeSelector.js +99 -0
- package/cjs/components/BasicAttributeSelector/helpers.d.ts +22 -0
- package/cjs/components/BasicAttributeSelector/helpers.js +80 -0
- package/cjs/components/BasicAttributeSelector/styles.d.ts +2 -0
- package/cjs/components/BasicAttributeSelector/styles.js +14 -0
- package/cjs/components/ConnectionEditor/ConnectionEditor.d.ts +12 -3
- package/cjs/components/ConnectionEditor/ConnectionEditor.js +72 -5
- package/cjs/components/ConnectionEditor/styles.d.ts +1 -0
- package/cjs/components/ConnectionEditor/styles.js +12 -0
- package/cjs/components/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.js +3 -2
- package/cjs/components/QueryBuilderRow/QueryBuilderRow.d.ts +2 -2
- package/cjs/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.d.ts +2 -2
- package/cjs/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.js +1 -1
- package/cjs/components/SelectAttributesList/SelectAttributesList.d.ts +14 -0
- package/cjs/components/SelectAttributesList/SelectAttributesList.js +75 -0
- package/cjs/components/SelectAttributesList/styles.d.ts +1 -0
- package/cjs/components/SelectAttributesList/styles.js +16 -0
- package/cjs/components/SelectionPopup/SelectionPopup.d.ts +1 -1
- package/cjs/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.d.ts +2 -2
- package/cjs/components/attributes/editMode/EntitySelector/EntitySelector.d.ts +1 -1
- package/cjs/components/attributes/editMode/EntitySelector/EntitySelector.js +13 -6
- package/cjs/components/index.d.ts +4 -0
- package/cjs/components/index.js +9 -1
- package/cjs/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
- package/cjs/components/workflow/hooks/useWorkflowAssignee.js +2 -2
- package/cjs/constants/prop-types.d.ts +1 -1
- package/cjs/constants/prop-types.js +1 -1
- package/cjs/hooks/useEditableConnection.d.ts +10 -4
- package/cjs/hooks/useEditableConnection.js +27 -3
- package/cjs/icons/Duplicate.d.ts +3 -0
- package/cjs/icons/Duplicate.js +28 -0
- package/cjs/icons/index.d.ts +6 -3
- package/cjs/icons/index.js +14 -7
- package/cjs/types/index.d.ts +40 -0
- package/esm/components/AttributeGroupIcon/AttributeGroupIcon.d.ts +11 -0
- package/esm/components/AttributeGroupIcon/AttributeGroupIcon.js +15 -0
- package/esm/components/AttributeGroupIcon/styles.d.ts +1 -0
- package/esm/components/AttributeGroupIcon/styles.js +8 -0
- package/esm/components/AttributesFiltersBuilder/AttributesFiltersBuilder.d.ts +9 -0
- package/esm/components/AttributesFiltersBuilder/AttributesFiltersBuilder.js +88 -0
- package/esm/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.d.ts +9 -0
- package/esm/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js +29 -0
- package/esm/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.d.ts +7 -0
- package/esm/components/AttributesFiltersBuilder/components/FilterSelector/FilterSelector.js +32 -0
- package/esm/components/AttributesFiltersBuilder/components/FilterSelector/styles.d.ts +2 -0
- package/esm/components/AttributesFiltersBuilder/components/FilterSelector/styles.js +7 -0
- package/esm/components/AttributesFiltersBuilder/components/RowActions/RowActions.d.ts +4 -0
- package/esm/components/AttributesFiltersBuilder/components/RowActions/RowActions.js +27 -0
- package/esm/components/AttributesFiltersBuilder/components/RowActions/styles.d.ts +1 -0
- package/esm/components/AttributesFiltersBuilder/components/RowActions/styles.js +20 -0
- package/esm/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.d.ts +4 -0
- package/esm/components/AttributesFiltersBuilder/components/ValueEditor/ValueEditor.js +36 -0
- package/esm/components/AttributesFiltersBuilder/components/ValueEditor/styles.d.ts +1 -0
- package/esm/components/AttributesFiltersBuilder/components/ValueEditor/styles.js +22 -0
- package/esm/components/AttributesFiltersBuilder/helpers.d.ts +12 -0
- package/esm/components/AttributesFiltersBuilder/helpers.js +70 -0
- package/esm/components/AttributesFiltersBuilder/styles.d.ts +1 -0
- package/esm/components/AttributesFiltersBuilder/styles.js +18 -0
- package/esm/components/AttributesFiltersBuilder/types.d.ts +24 -0
- package/esm/components/AttributesFiltersBuilder/types.js +1 -0
- package/esm/components/AttributesFiltersButton/ActionButtons/ActionButtons.d.ts +8 -0
- package/esm/components/AttributesFiltersButton/ActionButtons/ActionButtons.js +13 -0
- package/esm/components/AttributesFiltersButton/ActionButtons/styles.d.ts +1 -0
- package/esm/components/AttributesFiltersButton/ActionButtons/styles.js +23 -0
- package/esm/components/AttributesFiltersButton/AttributesFiltersButton.d.ts +9 -0
- package/esm/components/AttributesFiltersButton/AttributesFiltersButton.js +58 -0
- package/esm/components/AttributesFiltersButton/styles.d.ts +1 -0
- package/esm/components/AttributesFiltersButton/styles.js +27 -0
- package/esm/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.d.ts +14 -0
- package/esm/components/BasicAttributeSelector/AttributeTitle/AttributeTitle.js +22 -0
- package/esm/components/BasicAttributeSelector/AttributeTitle/styles.d.ts +2 -0
- package/esm/components/BasicAttributeSelector/AttributeTitle/styles.js +42 -0
- package/esm/components/BasicAttributeSelector/BasicAttributeSelector.d.ts +4 -0
- package/esm/components/BasicAttributeSelector/BasicAttributeSelector.js +75 -0
- package/esm/components/BasicAttributeSelector/helpers.d.ts +22 -0
- package/esm/components/BasicAttributeSelector/helpers.js +72 -0
- package/esm/components/BasicAttributeSelector/styles.d.ts +2 -0
- package/esm/components/BasicAttributeSelector/styles.js +12 -0
- package/esm/components/ConnectionEditor/ConnectionEditor.d.ts +12 -3
- package/esm/components/ConnectionEditor/ConnectionEditor.js +74 -7
- package/esm/components/ConnectionEditor/styles.d.ts +1 -0
- package/esm/components/ConnectionEditor/styles.js +9 -0
- package/esm/components/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.js +3 -2
- package/esm/components/QueryBuilderRow/QueryBuilderRow.d.ts +2 -2
- package/esm/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.d.ts +2 -2
- package/esm/components/QueryBuilderRowsGroup/QueryBuilderRowsGroup.js +1 -1
- package/esm/components/SelectAttributesList/SelectAttributesList.d.ts +14 -0
- package/esm/components/SelectAttributesList/SelectAttributesList.js +51 -0
- package/esm/components/SelectAttributesList/styles.d.ts +1 -0
- package/esm/components/SelectAttributesList/styles.js +13 -0
- package/esm/components/SelectionPopup/SelectionPopup.d.ts +1 -1
- package/esm/components/SidePanel/SidePanelContentHeader/SidePanelContentHeader.d.ts +2 -2
- package/esm/components/attributes/editMode/EntitySelector/EntitySelector.d.ts +1 -1
- package/esm/components/attributes/editMode/EntitySelector/EntitySelector.js +13 -6
- package/esm/components/index.d.ts +4 -0
- package/esm/components/index.js +4 -0
- package/esm/components/workflow/hooks/useWorkflowAssignee.d.ts +1 -1
- package/esm/components/workflow/hooks/useWorkflowAssignee.js +1 -1
- package/esm/constants/prop-types.d.ts +1 -1
- package/esm/constants/prop-types.js +1 -1
- package/esm/hooks/useEditableConnection.d.ts +10 -4
- package/esm/hooks/useEditableConnection.js +24 -3
- package/esm/icons/Duplicate.d.ts +3 -0
- package/esm/icons/Duplicate.js +23 -0
- package/esm/icons/index.d.ts +6 -3
- package/esm/icons/index.js +6 -3
- package/esm/types/index.d.ts +40 -0
- package/package.json +3 -3
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Metadata } from '@reltio/mdm-sdk';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
group: {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
};
|
|
8
|
+
metadata: Metadata;
|
|
9
|
+
};
|
|
10
|
+
declare const AttributeGroupIcon: ({ group, metadata }: Props) => JSX.Element;
|
|
11
|
+
export default AttributeGroupIcon;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_redux_1 = require("react-redux");
|
|
8
|
+
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
9
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
10
|
+
var AvatarWithFallback_1 = __importDefault(require("../AvatarWithFallback/AvatarWithFallback"));
|
|
11
|
+
var styles_1 = require("./styles");
|
|
12
|
+
var AttributeGroupIcon = function (_a) {
|
|
13
|
+
var group = _a.group, metadata = _a.metadata;
|
|
14
|
+
var styles = styles_1.useStyles();
|
|
15
|
+
var absoluteImagePath = react_redux_1.useSelector(mdm_module_1.default.selectors.getAbsoluteImagePath);
|
|
16
|
+
var entityTypeGraphIcon = mdm_sdk_1.getEntityTypeGraphIcon(metadata, { type: group.id });
|
|
17
|
+
var absoluteImageUrl = mdm_sdk_1.getAbsoluteImageUrl(absoluteImagePath, entityTypeGraphIcon);
|
|
18
|
+
return react_1.default.createElement(AvatarWithFallback_1.default, { className: styles.icon, icon: absoluteImageUrl, avatarText: group.title[0] });
|
|
19
|
+
};
|
|
20
|
+
exports.default = AttributeGroupIcon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"icon">;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@material-ui/core/styles");
|
|
5
|
+
exports.useStyles = styles_1.makeStyles({
|
|
6
|
+
icon: {
|
|
7
|
+
maxHeight: '25px',
|
|
8
|
+
maxWidth: '25px',
|
|
9
|
+
marginRight: '16px'
|
|
10
|
+
}
|
|
11
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SearchFilter, AttributeType } from '@reltio/mdm-sdk';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
filters: SearchFilter[];
|
|
5
|
+
onChange: (filtres: SearchFilter[]) => void;
|
|
6
|
+
attributeTypes: AttributeType[];
|
|
7
|
+
};
|
|
8
|
+
declare const _default: React.MemoExoticComponent<({ attributeTypes, filters, onChange }: Props) => JSX.Element>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,112 @@
|
|
|
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 __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
22
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
23
|
+
to[j] = from[i];
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var react_redux_1 = require("react-redux");
|
|
32
|
+
var ramda_1 = require("ramda");
|
|
33
|
+
var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
|
|
34
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
35
|
+
var helpers_1 = require("./helpers");
|
|
36
|
+
var FilterSelector_1 = __importDefault(require("./components/FilterSelector/FilterSelector"));
|
|
37
|
+
var RowActions_1 = __importDefault(require("./components/RowActions/RowActions"));
|
|
38
|
+
var QueryBuilderRowsGroup_1 = __importDefault(require("../QueryBuilderRowsGroup/QueryBuilderRowsGroup"));
|
|
39
|
+
var AttributeSelector_1 = __importDefault(require("./components/AttributeSelector/AttributeSelector"));
|
|
40
|
+
var ValueEditor_1 = __importDefault(require("./components/ValueEditor/ValueEditor"));
|
|
41
|
+
var styles_1 = require("./styles");
|
|
42
|
+
var EMPTY_FILTER = { fieldName: null, filter: null, values: [] };
|
|
43
|
+
var Stub = function () { return null; };
|
|
44
|
+
var AttributesFiltersBuilder = function (_a) {
|
|
45
|
+
var attributeTypes = _a.attributeTypes, filters = _a.filters, onChange = _a.onChange;
|
|
46
|
+
var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
|
|
47
|
+
var entityType = mdm_sdk_1.getEntityType(metadata, helpers_1.getEntityTypeFromAttrTypes(attributeTypes));
|
|
48
|
+
var _b = styles_1.useStyles(), attrSelector = _b.attrSelector, filterSelector = _b.filterSelector, actionContainer = _b.actionContainer;
|
|
49
|
+
var actualFilters = react_1.useRef(filters);
|
|
50
|
+
actualFilters.current = filters;
|
|
51
|
+
var attributeFilterRef = react_1.useRef(null);
|
|
52
|
+
var lastAttributesCountRef = react_1.useRef(null);
|
|
53
|
+
var attributesCountRef = react_1.useRef(null);
|
|
54
|
+
var rowClasses = react_1.useMemo(function () { return ({
|
|
55
|
+
attributeSelectorContainer: attrSelector,
|
|
56
|
+
filterSelectorContainer: filterSelector,
|
|
57
|
+
actionsContainer: actionContainer
|
|
58
|
+
}); }, [attrSelector, filterSelector, actionContainer]);
|
|
59
|
+
var attributeSelectorItems = react_1.useMemo(function () { return helpers_1.getAttributeSelectorItems(attributeTypes, entityType, metadata); }, [
|
|
60
|
+
attributeTypes,
|
|
61
|
+
metadata,
|
|
62
|
+
entityType
|
|
63
|
+
]);
|
|
64
|
+
var rowsData = react_1.useMemo(function () { return (filters.length ? helpers_1.getRowsDataFromFilters(filters, attributeSelectorItems) : []); }, [
|
|
65
|
+
attributeSelectorItems,
|
|
66
|
+
filters
|
|
67
|
+
]);
|
|
68
|
+
attributesCountRef.current = rowsData.length;
|
|
69
|
+
react_1.useEffect(function () {
|
|
70
|
+
if (attributeFilterRef.current && lastAttributesCountRef.current !== attributesCountRef.current) {
|
|
71
|
+
attributeFilterRef.current.querySelector('input').focus();
|
|
72
|
+
lastAttributesCountRef.current = null;
|
|
73
|
+
}
|
|
74
|
+
}, [rowsData.length]);
|
|
75
|
+
var handleAttributeSelectorOnOpen = react_1.useCallback(function () {
|
|
76
|
+
lastAttributesCountRef.current = rowsData.length;
|
|
77
|
+
}, [rowsData.length]);
|
|
78
|
+
var lastRowAttributeSelectorProps = react_1.useMemo(function () { return ({
|
|
79
|
+
onOpen: handleAttributeSelectorOnOpen
|
|
80
|
+
}); }, [handleAttributeSelectorOnOpen]);
|
|
81
|
+
var addRowAfterIndex = react_1.useCallback(function (index) {
|
|
82
|
+
var newFilters = __spreadArray([], actualFilters.current);
|
|
83
|
+
newFilters.splice(index + 1, 0, EMPTY_FILTER);
|
|
84
|
+
onChange(newFilters);
|
|
85
|
+
}, [onChange]);
|
|
86
|
+
var removeRow = react_1.useCallback(function (index) {
|
|
87
|
+
var newFilters = __spreadArray([], actualFilters.current);
|
|
88
|
+
newFilters.splice(index, 1);
|
|
89
|
+
onChange(newFilters);
|
|
90
|
+
}, [onChange]);
|
|
91
|
+
var duplicateRow = react_1.useCallback(function (index) {
|
|
92
|
+
var newFilters = __spreadArray([], actualFilters.current);
|
|
93
|
+
newFilters.splice(index + 1, 0, {
|
|
94
|
+
fieldName: actualFilters.current[index].fieldName,
|
|
95
|
+
filter: actualFilters.current[index].filter,
|
|
96
|
+
values: actualFilters.current[index].values
|
|
97
|
+
});
|
|
98
|
+
onChange(newFilters);
|
|
99
|
+
}, [onChange]);
|
|
100
|
+
var changeFilter = react_1.useCallback(function (newFilter, id) {
|
|
101
|
+
var _a;
|
|
102
|
+
var newFilters = ramda_1.evolve((_a = {},
|
|
103
|
+
_a[id] = ramda_1.always(newFilter),
|
|
104
|
+
_a), actualFilters.current);
|
|
105
|
+
onChange(newFilters);
|
|
106
|
+
}, [onChange]);
|
|
107
|
+
var addNewFilter = react_1.useCallback(function (newFilter) {
|
|
108
|
+
onChange(__spreadArray(__spreadArray([], actualFilters.current), [newFilter]));
|
|
109
|
+
}, [onChange]);
|
|
110
|
+
return (react_1.default.createElement(QueryBuilderRowsGroup_1.default, { rowClasses: rowClasses, rowsData: rowsData, AttributeSelectorComponent: AttributeSelector_1.default, FilterSelectorComponent: FilterSelector_1.default, ValuesEditorComponent: ValueEditor_1.default, ActionsComponent: RowActions_1.default, LogicOperatorComponent: Stub, filterSelectorRefIndex: lastAttributesCountRef.current, filterSelectorRef: attributeFilterRef, lastRowAttributeSelectorProps: lastRowAttributeSelectorProps, attributesGroup: attributeSelectorItems, changeFilter: changeFilter, addNewFilter: addNewFilter, addRowAfterIndex: addRowAfterIndex, removeRow: removeRow, duplicateRow: duplicateRow }));
|
|
111
|
+
};
|
|
112
|
+
exports.default = react_1.memo(AttributesFiltersBuilder);
|
package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AttributeFiltersComponentProps } from '../../types';
|
|
3
|
+
declare type Props = AttributeFiltersComponentProps & {
|
|
4
|
+
attributeSelectorProps: {
|
|
5
|
+
onOpen: () => void;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
declare const _default: React.MemoExoticComponent<({ rowData, rowContext, attributeSelectorProps }: Props) => JSX.Element>;
|
|
9
|
+
export default _default;
|
package/cjs/components/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
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 mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
27
|
+
var BasicAttributeSelector_1 = __importDefault(require("../../../BasicAttributeSelector/BasicAttributeSelector"));
|
|
28
|
+
var AttributeSelector = function (_a) {
|
|
29
|
+
var rowData = _a.rowData, rowContext = _a.rowContext, attributeSelectorProps = _a.attributeSelectorProps;
|
|
30
|
+
var _b = rowData || {}, attribute = _b.attribute, id = _b.id, filter = _b.filter;
|
|
31
|
+
var changeFilter = rowContext.changeFilter, addNewFilter = rowContext.addNewFilter, attributesGroup = rowContext.attributesGroup;
|
|
32
|
+
var getSelectedAttributeLabel = react_1.useCallback(function (data) { return mdm_sdk_1.getSearchGroupAttributeLabel({ data: data }); }, []);
|
|
33
|
+
var itemsGroup = react_1.useMemo(function () { return [{ id: '', title: '', attributes: attributesGroup }]; }, [attributesGroup]);
|
|
34
|
+
var changeAttribute = react_1.useCallback(function (selectInfo) {
|
|
35
|
+
if (rowData) {
|
|
36
|
+
var newFilter = {
|
|
37
|
+
fieldName: selectInfo.attribute.fieldName,
|
|
38
|
+
filter: filter,
|
|
39
|
+
values: []
|
|
40
|
+
};
|
|
41
|
+
changeFilter(newFilter, id);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
addNewFilter({
|
|
45
|
+
fieldName: selectInfo.attribute.fieldName,
|
|
46
|
+
filter: null,
|
|
47
|
+
values: []
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}, [addNewFilter, changeFilter, id, rowData, filter]);
|
|
51
|
+
return (react_1.default.createElement(BasicAttributeSelector_1.default, { itemsGroups: itemsGroup, ungroup: true, single: true, value: attribute, getLabel: getSelectedAttributeLabel, onSelect: changeAttribute, onOpenPopup: attributeSelectorProps.onOpen }));
|
|
52
|
+
};
|
|
53
|
+
exports.default = react_1.memo(AttributeSelector);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AttributeFiltersComponentProps } from '../../types';
|
|
3
|
+
declare type Props = AttributeFiltersComponentProps & {
|
|
4
|
+
textFieldInputRef: React.MutableRefObject<HTMLInputElement>;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: React.MemoExoticComponent<({ rowData, rowContext, textFieldInputRef }: Props) => JSX.Element>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,56 @@
|
|
|
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 ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
27
|
+
var ramda_1 = require("ramda");
|
|
28
|
+
var capitalize_1 = __importDefault(require("@material-ui/core/utils/capitalize"));
|
|
29
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
30
|
+
var SimpleDropDownSelector_1 = __importDefault(require("../../../SimpleDropDownSelector/SimpleDropDownSelector"));
|
|
31
|
+
var helpers_1 = require("../../helpers");
|
|
32
|
+
var styles_1 = __importDefault(require("./styles"));
|
|
33
|
+
var FilterSelector = function (_a) {
|
|
34
|
+
var rowData = _a.rowData, rowContext = _a.rowContext, textFieldInputRef = _a.textFieldInputRef;
|
|
35
|
+
var styles = styles_1.default();
|
|
36
|
+
var _b = rowData || {}, _c = _b.attribute, _d = _c === void 0 ? {} : _c, _e = _d.attrType, attrType = _e === void 0 ? {} : _e, _f = _d.fieldName, fieldName = _f === void 0 ? null : _f, filter = _b.filter, id = _b.id;
|
|
37
|
+
var changeFilter = rowContext.changeFilter;
|
|
38
|
+
var options = attrType &&
|
|
39
|
+
fieldName &&
|
|
40
|
+
ramda_1.pipe(mdm_sdk_1.getFilterOptionsForQueryBuilder, ramda_1.map(function (value) { return ({ value: value, label: capitalize_1.default(mdm_sdk_1.getFilterOptionLabel(value)) }); }))(attrType, fieldName);
|
|
41
|
+
var onChangeFilter = react_1.useCallback(function (filterOption) {
|
|
42
|
+
var newFilter = {
|
|
43
|
+
fieldName: fieldName,
|
|
44
|
+
filter: filterOption.value,
|
|
45
|
+
values: []
|
|
46
|
+
};
|
|
47
|
+
changeFilter(newFilter, id);
|
|
48
|
+
}, [changeFilter, id, fieldName]);
|
|
49
|
+
react_1.useEffect(function () {
|
|
50
|
+
if ((fieldName && !filter) || (fieldName && !helpers_1.findValue(options, filter))) {
|
|
51
|
+
onChangeFilter(options[0]);
|
|
52
|
+
}
|
|
53
|
+
}, [fieldName, filter, onChangeFilter, options]);
|
|
54
|
+
return (react_1.default.createElement(SimpleDropDownSelector_1.default, { label: "", height: 40, isDisabled: !options, placeholder: ui_i18n_1.default.text('Equals'), value: helpers_1.findValue(options, filter), options: options, onChange: onChangeFilter, className: styles.dropDownSelector, textFieldInputRef: textFieldInputRef }));
|
|
55
|
+
};
|
|
56
|
+
exports.default = react_1.memo(FilterSelector);
|
|
@@ -0,0 +1,51 @@
|
|
|
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 ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
27
|
+
var Close_1 = __importDefault(require("@material-ui/icons/Close"));
|
|
28
|
+
var AddCircle_1 = __importDefault(require("@material-ui/icons/AddCircle"));
|
|
29
|
+
var index_1 = require("../../../SmallIconButton/index");
|
|
30
|
+
var Duplicate_1 = __importDefault(require("../../../../icons/Duplicate"));
|
|
31
|
+
var styles_1 = require("./styles");
|
|
32
|
+
var RowActions = function (_a) {
|
|
33
|
+
var rowData = _a.rowData, rowContext = _a.rowContext;
|
|
34
|
+
var styles = styles_1.useStyles();
|
|
35
|
+
var _b = rowData || {}, index = _b.id, attribute = _b.attribute;
|
|
36
|
+
var addRowAfterIndex = rowContext.addRowAfterIndex, removeRow = rowContext.removeRow, duplicateRow = rowContext.duplicateRow;
|
|
37
|
+
var onAddRowAfterId = react_1.useCallback(function () {
|
|
38
|
+
addRowAfterIndex(index);
|
|
39
|
+
}, [addRowAfterIndex, index]);
|
|
40
|
+
var onRowDuplicate = react_1.useCallback(function () {
|
|
41
|
+
duplicateRow(index);
|
|
42
|
+
}, [duplicateRow, index]);
|
|
43
|
+
var onRowDelete = react_1.useCallback(function () {
|
|
44
|
+
removeRow(index);
|
|
45
|
+
}, [index, removeRow]);
|
|
46
|
+
return (react_1.default.createElement("div", { className: styles.actions },
|
|
47
|
+
react_1.default.createElement(index_1.SmallIconButtonWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Add'), icon: AddCircle_1.default, size: "M", onClick: onAddRowAfterId }),
|
|
48
|
+
attribute && (react_1.default.createElement(index_1.SmallIconButtonWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Duplicate'), icon: Duplicate_1.default, size: "M", onClick: onRowDuplicate })),
|
|
49
|
+
react_1.default.createElement(index_1.SmallIconButtonWithTooltip, { tooltipTitle: ui_i18n_1.default.text('Delete'), icon: Close_1.default, size: "M", onClick: onRowDelete })));
|
|
50
|
+
};
|
|
51
|
+
exports.default = react_1.memo(RowActions);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"actions" | "actionIcon">;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@material-ui/core/styles");
|
|
5
|
+
exports.useStyles = styles_1.makeStyles(function () { return ({
|
|
6
|
+
actions: {
|
|
7
|
+
width: '88px',
|
|
8
|
+
height: '24px',
|
|
9
|
+
display: 'flex',
|
|
10
|
+
alignItems: 'center',
|
|
11
|
+
justifyContent: 'space-between',
|
|
12
|
+
flexShrink: 0,
|
|
13
|
+
'& >span': {
|
|
14
|
+
cursor: 'pointer',
|
|
15
|
+
display: 'flex'
|
|
16
|
+
},
|
|
17
|
+
'& $actionIcon': {
|
|
18
|
+
cursor: 'pointer',
|
|
19
|
+
color: 'rgba(0, 0, 0, .54)'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
actionIcon: {}
|
|
23
|
+
}); });
|
|
@@ -0,0 +1,60 @@
|
|
|
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 mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
27
|
+
var FilterValueEditor_1 = __importDefault(require("../../../editors/FilterEditor/FilterValueEditor"));
|
|
28
|
+
var styles_1 = require("./styles");
|
|
29
|
+
var ValuesEditor = function (_a) {
|
|
30
|
+
var rowData = _a.rowData, rowContext = _a.rowContext;
|
|
31
|
+
var styles = styles_1.useStyles();
|
|
32
|
+
var canFilterAcceptValues = (rowData === null || rowData === void 0 ? void 0 : rowData.attribute) && mdm_sdk_1.checkIfOptionHasValues(rowData.filter);
|
|
33
|
+
var changeFilter = rowContext.changeFilter;
|
|
34
|
+
var _b = rowData || {}, _c = _b.values, values = _c === void 0 ? [] : _c, _d = _b.attribute, _e = _d === void 0 ? {} : _d, _f = _e.attrType, attrType = _f === void 0 ? {} : _f, _g = _e.fieldName, fieldName = _g === void 0 ? null : _g, filter = _b.filter, id = _b.id;
|
|
35
|
+
var valueDataTypeDefinition = attrType && mdm_sdk_1.getAttrDataTypeDefinition(attrType);
|
|
36
|
+
var filterValueDataTypeDefinition = valueDataTypeDefinition && mdm_sdk_1.getDataTypeDefinitionForFilterValue(valueDataTypeDefinition, filter);
|
|
37
|
+
var editorFilter = react_1.useMemo(function () { return ({
|
|
38
|
+
filter: filter,
|
|
39
|
+
fieldName: fieldName,
|
|
40
|
+
values: values || []
|
|
41
|
+
}); }, [filter, fieldName, values]);
|
|
42
|
+
var TextFieldProps = react_1.useMemo(function () { return ({
|
|
43
|
+
InputProps: {
|
|
44
|
+
classes: {
|
|
45
|
+
root: styles.input
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}); }, [styles]);
|
|
49
|
+
var editorClasses = react_1.useMemo(function () { return ({ root: styles.root }); }, [styles]);
|
|
50
|
+
var changeValue = react_1.useCallback(function (values) {
|
|
51
|
+
var newFilter = {
|
|
52
|
+
fieldName: fieldName,
|
|
53
|
+
filter: filter,
|
|
54
|
+
values: values
|
|
55
|
+
};
|
|
56
|
+
changeFilter(newFilter, id);
|
|
57
|
+
}, [changeFilter, id, fieldName, filter]);
|
|
58
|
+
return (react_1.default.createElement("div", { className: styles.valuesEditor }, (rowData === null || rowData === void 0 ? void 0 : rowData.attribute) && canFilterAcceptValues && (react_1.default.createElement(FilterValueEditor_1.default, { filter: editorFilter, onChange: changeValue, dataTypeDefinition: filterValueDataTypeDefinition, fullWidth: true, TextFieldProps: TextFieldProps, color: "primary", classes: editorClasses, orientation: "horizontal" }))));
|
|
59
|
+
};
|
|
60
|
+
exports.default = react_1.memo(ValuesEditor);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"input" | "root" | "valuesEditor">;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@material-ui/core/styles");
|
|
5
|
+
exports.useStyles = styles_1.makeStyles(function () { return ({
|
|
6
|
+
input: {
|
|
7
|
+
margin: 0,
|
|
8
|
+
borderRadius: '4px',
|
|
9
|
+
width: '100%',
|
|
10
|
+
paddingTop: 0,
|
|
11
|
+
paddingBottom: 0
|
|
12
|
+
},
|
|
13
|
+
root: {
|
|
14
|
+
borderRadius: '4px 4px 0 0',
|
|
15
|
+
padding: 0,
|
|
16
|
+
display: 'flex',
|
|
17
|
+
alignItems: 'center',
|
|
18
|
+
margin: 0
|
|
19
|
+
},
|
|
20
|
+
valuesEditor: {
|
|
21
|
+
width: '222px!important',
|
|
22
|
+
minHeight: '40px',
|
|
23
|
+
flexShrink: 0
|
|
24
|
+
}
|
|
25
|
+
}); });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AttributeType, TEntityType, Metadata, SearchFilter } from '@reltio/mdm-sdk';
|
|
2
|
+
import { AttributeSelectorItem } from '../../types';
|
|
3
|
+
import { FilterOption } from './types';
|
|
4
|
+
export declare const getAttributeSelectorItems: (attributeTypes: AttributeType[], entityType: TEntityType, metadata: Metadata) => AttributeSelectorItem[];
|
|
5
|
+
export declare const findValue: (options: FilterOption[], filter: string) => FilterOption;
|
|
6
|
+
export declare const getRowsDataFromFilters: (filters: SearchFilter[], attributesGroup: AttributeSelectorItem[]) => {
|
|
7
|
+
attribute: AttributeSelectorItem;
|
|
8
|
+
filter: string;
|
|
9
|
+
id: number;
|
|
10
|
+
values: string[];
|
|
11
|
+
}[];
|
|
12
|
+
export declare const getEntityTypeFromAttrTypes: (attributeTypes: AttributeType[]) => any;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getEntityTypeFromAttrTypes = exports.getRowsDataFromFilters = exports.findValue = exports.getAttributeSelectorItems = void 0;
|
|
15
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
16
|
+
var createAttributeItem = function (attrType, entityTypeUri) {
|
|
17
|
+
var title = attrType.label || attrType.name;
|
|
18
|
+
return {
|
|
19
|
+
title: title,
|
|
20
|
+
fieldName: mdm_sdk_1.attributeUriToSearchUri(attrType.uri),
|
|
21
|
+
entityTypeUri: entityTypeUri,
|
|
22
|
+
attrType: attrType
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
var createAttributesConfig = function (attrNode, entityTypeUri, createAttributeConfig) {
|
|
26
|
+
var resConfig = __assign(__assign({}, createAttributeConfig(attrNode, entityTypeUri)), { uri: attrNode.uri });
|
|
27
|
+
var children = attrNode.children
|
|
28
|
+
? attrNode.children.map(function (childNode) { return createAttributesConfig(childNode, entityTypeUri, createAttributeConfig); })
|
|
29
|
+
: [];
|
|
30
|
+
if (children.length)
|
|
31
|
+
resConfig.children = children;
|
|
32
|
+
return resConfig;
|
|
33
|
+
};
|
|
34
|
+
var getAttributeSelectorItems = function (attributeTypes, entityType, metadata) {
|
|
35
|
+
if (entityType === void 0) { entityType = {}; }
|
|
36
|
+
return mdm_sdk_1.getAttributesTreeFromAttributes(attributeTypes, metadata).map(function (attrNode) {
|
|
37
|
+
return createAttributesConfig(attrNode, entityType.uri, createAttributeItem);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.getAttributeSelectorItems = getAttributeSelectorItems;
|
|
41
|
+
var findAttributeSelectorItem = function (fieldName, attributesGroup) {
|
|
42
|
+
var attrGroup;
|
|
43
|
+
var findAttribute = function (fieldName, attributesGroup) {
|
|
44
|
+
for (var _i = 0, attributesGroup_1 = attributesGroup; _i < attributesGroup_1.length; _i++) {
|
|
45
|
+
var attributeGroup = attributesGroup_1[_i];
|
|
46
|
+
if (fieldName === attributeGroup.fieldName) {
|
|
47
|
+
attrGroup = attributeGroup;
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if ('children' in attributeGroup) {
|
|
51
|
+
findAttribute(fieldName, attributeGroup.children);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
findAttribute(fieldName, attributesGroup);
|
|
56
|
+
return attrGroup;
|
|
57
|
+
};
|
|
58
|
+
var findValue = function (options, filter) {
|
|
59
|
+
return options ? options.find(function (option) { return option.value === filter; }) : null;
|
|
60
|
+
};
|
|
61
|
+
exports.findValue = findValue;
|
|
62
|
+
var getRowsDataFromFilters = function (filters, attributesGroup) {
|
|
63
|
+
return filters.map(function (filter, index) {
|
|
64
|
+
return {
|
|
65
|
+
attribute: filter.fieldName ? findAttributeSelectorItem(filter.fieldName, attributesGroup) : undefined,
|
|
66
|
+
filter: filter.filter,
|
|
67
|
+
id: index,
|
|
68
|
+
values: filter.values
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
exports.getRowsDataFromFilters = getRowsDataFromFilters;
|
|
73
|
+
var getEntityTypeFromAttrTypes = function (attributeTypes) {
|
|
74
|
+
var regularAttribute = attributeTypes.find(function (attribute) { return !mdm_sdk_1.isSpecialAttribute(attribute); });
|
|
75
|
+
return regularAttribute ? mdm_sdk_1.getBaseUri(regularAttribute.uri) : null;
|
|
76
|
+
};
|
|
77
|
+
exports.getEntityTypeFromAttrTypes = getEntityTypeFromAttrTypes;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"attrSelector" | "filterSelector" | "actionContainer">;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStyles = void 0;
|
|
4
|
+
var styles_1 = require("@material-ui/core/styles");
|
|
5
|
+
exports.useStyles = styles_1.makeStyles(function () { return ({
|
|
6
|
+
attrSelector: {
|
|
7
|
+
width: '222px',
|
|
8
|
+
height: '40px',
|
|
9
|
+
flexShrink: 0
|
|
10
|
+
},
|
|
11
|
+
filterSelector: {
|
|
12
|
+
width: '180px',
|
|
13
|
+
flexShrink: 0,
|
|
14
|
+
marginTop: 0,
|
|
15
|
+
marginBottom: 0
|
|
16
|
+
},
|
|
17
|
+
actionContainer: {
|
|
18
|
+
alignItems: 'center',
|
|
19
|
+
marginRight: '15px'
|
|
20
|
+
}
|
|
21
|
+
}); });
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SearchFilter } from '@reltio/mdm-sdk';
|
|
2
|
+
import { AttributeSelectorItem } from '../../types';
|
|
3
|
+
export declare type FilterOption = {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
};
|
|
7
|
+
export declare type RowData = {
|
|
8
|
+
attribute: AttributeSelectorItem;
|
|
9
|
+
filter: string;
|
|
10
|
+
id: number;
|
|
11
|
+
values: string[];
|
|
12
|
+
};
|
|
13
|
+
export declare type RowContext = {
|
|
14
|
+
attributesGroup: AttributeSelectorItem[];
|
|
15
|
+
addNewFilter: (newFilter: SearchFilter) => void;
|
|
16
|
+
addRowAfterIndex: (index: number) => void;
|
|
17
|
+
changeFilter: (newFilter: SearchFilter, id: number) => void;
|
|
18
|
+
duplicateRow: (index: number) => void;
|
|
19
|
+
removeRow: (index: number) => void;
|
|
20
|
+
};
|
|
21
|
+
export declare type AttributeFiltersComponentProps = {
|
|
22
|
+
rowData: RowData;
|
|
23
|
+
rowContext: RowContext;
|
|
24
|
+
};
|