@reltio/components 1.4.1038 → 1.4.1042
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/EntityTypesSelector/EntityTypesSelector.d.ts +17 -55
- package/cjs/components/EntityTypesSelector/EntityTypesSelector.js +8 -118
- package/cjs/components/MetadataTypesSelector/ListLabel/ListLabel.d.ts +7 -0
- package/cjs/components/{EntityTypesSelector → MetadataTypesSelector}/ListLabel/ListLabel.js +2 -6
- package/cjs/components/MetadataTypesSelector/ListLabel/helpers.d.ts +4 -0
- package/cjs/components/{EntityTypesSelector → MetadataTypesSelector}/ListLabel/helpers.js +1 -1
- package/cjs/components/MetadataTypesSelector/ListLabel/styles.d.ts +1 -0
- package/cjs/components/{EntityTypesSelector → MetadataTypesSelector}/ListLabel/styles.js +0 -0
- package/cjs/components/MetadataTypesSelector/MetadataTypesSelector.d.ts +26 -0
- package/cjs/components/MetadataTypesSelector/MetadataTypesSelector.js +123 -0
- package/cjs/components/MetadataTypesSelector/SelectMetadataTypesList.d.ts +20 -0
- package/cjs/components/{EntityTypesSelector/SelectEntityTypesList.js → MetadataTypesSelector/SelectMetadataTypesList.js} +7 -12
- package/cjs/components/MetadataTypesSelector/styles.d.ts +1 -0
- package/cjs/components/{EntityTypesSelector → MetadataTypesSelector}/styles.js +0 -0
- package/cjs/components/RelationTypesSelector/RelationTypesSelector.d.ts +17 -0
- package/cjs/components/RelationTypesSelector/RelationTypesSelector.js +35 -0
- package/cjs/components/SearchInput/SearchInput.d.ts +3 -2
- package/cjs/components/SearchInput/SearchInput.js +3 -3
- package/cjs/components/SelectionPopup/SelectionPopup.d.ts +17 -44
- package/cjs/components/SelectionPopup/SelectionPopup.js +8 -26
- package/cjs/components/SelectionPopup/SelectionPopupPopper/SelectionPopupPopper.d.ts +17 -35
- package/cjs/components/SelectionPopup/SelectionPopupPopper/SelectionPopupPopper.js +0 -21
- package/cjs/components/SelectionPopup/helpers.d.ts +23 -9
- package/cjs/components/attributes/PivotingAttributes/PivotingTooltip.js +10 -3
- package/cjs/components/attributes/PivotingAttributes/PivotingTooltipContent.d.ts +4 -3
- package/cjs/components/attributes/PivotingAttributes/PivotingTooltipContent.js +4 -11
- package/cjs/components/attributes/PivotingAttributes/helpers.d.ts +5 -5
- package/cjs/components/attributes/PivotingAttributes/styles.js +2 -1
- package/cjs/components/attributes/editMode/AttributesPager/index.d.ts +2 -2
- package/cjs/components/history/HistoryGraph/HistoryCircle.d.ts +1 -1
- package/cjs/components/history/HistoryGraph/HistoryGraph.d.ts +1 -1
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +5 -3
- package/cjs/components/workflow/types/dcrTypes.d.ts +2 -2
- package/esm/components/EntityTypesSelector/EntityTypesSelector.d.ts +17 -55
- package/esm/components/EntityTypesSelector/EntityTypesSelector.js +9 -120
- package/esm/components/MetadataTypesSelector/ListLabel/ListLabel.d.ts +7 -0
- package/esm/components/{EntityTypesSelector → MetadataTypesSelector}/ListLabel/ListLabel.js +1 -7
- package/esm/components/MetadataTypesSelector/ListLabel/helpers.d.ts +4 -0
- package/esm/components/{EntityTypesSelector → MetadataTypesSelector}/ListLabel/helpers.js +1 -1
- package/esm/components/MetadataTypesSelector/ListLabel/styles.d.ts +1 -0
- package/esm/components/{EntityTypesSelector → MetadataTypesSelector}/ListLabel/styles.js +0 -0
- package/esm/components/MetadataTypesSelector/MetadataTypesSelector.d.ts +26 -0
- package/esm/components/MetadataTypesSelector/MetadataTypesSelector.js +98 -0
- package/esm/components/MetadataTypesSelector/SelectMetadataTypesList.d.ts +20 -0
- package/esm/components/{EntityTypesSelector/SelectEntityTypesList.js → MetadataTypesSelector/SelectMetadataTypesList.js} +6 -12
- package/esm/components/MetadataTypesSelector/styles.d.ts +1 -0
- package/esm/components/{EntityTypesSelector → MetadataTypesSelector}/styles.js +0 -0
- package/esm/components/RelationTypesSelector/RelationTypesSelector.d.ts +17 -0
- package/esm/components/RelationTypesSelector/RelationTypesSelector.js +10 -0
- package/esm/components/SearchInput/SearchInput.d.ts +3 -2
- package/esm/components/SearchInput/SearchInput.js +3 -3
- package/esm/components/SelectionPopup/SelectionPopup.d.ts +17 -44
- package/esm/components/SelectionPopup/SelectionPopup.js +8 -26
- package/esm/components/SelectionPopup/SelectionPopupPopper/SelectionPopupPopper.d.ts +17 -35
- package/esm/components/SelectionPopup/SelectionPopupPopper/SelectionPopupPopper.js +0 -21
- package/esm/components/SelectionPopup/helpers.d.ts +23 -9
- package/esm/components/attributes/PivotingAttributes/PivotingTooltip.js +12 -5
- package/esm/components/attributes/PivotingAttributes/PivotingTooltipContent.d.ts +4 -3
- package/esm/components/attributes/PivotingAttributes/PivotingTooltipContent.js +6 -13
- package/esm/components/attributes/PivotingAttributes/helpers.d.ts +5 -5
- package/esm/components/attributes/PivotingAttributes/styles.js +2 -1
- package/esm/components/attributes/editMode/AttributesPager/index.d.ts +2 -2
- package/esm/components/history/HistoryGraph/HistoryCircle.d.ts +1 -1
- package/esm/components/history/HistoryGraph/HistoryGraph.d.ts +1 -1
- package/esm/components/index.d.ts +2 -1
- package/esm/components/index.js +2 -1
- package/esm/components/workflow/types/dcrTypes.d.ts +2 -2
- package/package.json +5 -5
- package/cjs/components/EntityTypesSelector/ListLabel/ListLabel.d.ts +0 -12
- package/cjs/components/EntityTypesSelector/ListLabel/helpers.d.ts +0 -3
- package/cjs/components/EntityTypesSelector/ListLabel/styles.d.ts +0 -1
- package/cjs/components/EntityTypesSelector/SelectEntityTypesList.d.ts +0 -16
- package/cjs/components/EntityTypesSelector/styles.d.ts +0 -1
- package/esm/components/EntityTypesSelector/ListLabel/ListLabel.d.ts +0 -12
- package/esm/components/EntityTypesSelector/ListLabel/helpers.d.ts +0 -3
- package/esm/components/EntityTypesSelector/ListLabel/styles.d.ts +0 -1
- package/esm/components/EntityTypesSelector/SelectEntityTypesList.d.ts +0 -16
- package/esm/components/EntityTypesSelector/styles.d.ts +0 -1
|
@@ -1,121 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
__assign = Object.assign || function(t) {
|
|
3
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
-
s = arguments[i];
|
|
5
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
-
t[p] = s[p];
|
|
7
|
-
}
|
|
8
|
-
return t;
|
|
9
|
-
};
|
|
10
|
-
return __assign.apply(this, arguments);
|
|
11
|
-
};
|
|
12
|
-
import React, { memo, useCallback, useMemo, useRef, useState } from 'react';
|
|
13
|
-
import PropTypes from 'prop-types';
|
|
1
|
+
import React, { useMemo, memo } from 'react';
|
|
14
2
|
import i18n from 'ui-i18n';
|
|
15
|
-
import {
|
|
16
|
-
import
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
import { useKeyboardNavigation } from '../SelectionPopup/helpers';
|
|
24
|
-
import SelectEntityTypesList from './SelectEntityTypesList';
|
|
25
|
-
import ListLabel from './ListLabel/ListLabel';
|
|
26
|
-
var MIN_CONTAINER_WIDTH = 255;
|
|
27
|
-
var LIST_HEIGHT = 245;
|
|
28
|
-
var POPUP_HEIGHT = 355;
|
|
29
|
-
var EntityTypesSelector = function (_a) {
|
|
30
|
-
var _b, _c, _d, _e;
|
|
31
|
-
var entityTypes = _a.entityTypes, selectedEntityTypes = _a.selectedEntityTypes, single = _a.single, placeholder = _a.placeholder, enableEmptyValueUnderline = _a.enableEmptyValueUnderline, onChange = _a.onChange, _f = _a.classes, classes = _f === void 0 ? {} : _f, _g = _a.ListLabelProps, ListLabelProps = _g === void 0 ? {} : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h;
|
|
32
|
-
var styles = useStyles();
|
|
33
|
-
var _j = useState(false), isPopupOpen = _j[0], setIsPopupOpen = _j[1];
|
|
34
|
-
var openPopup = useCallback(function () { return setIsPopupOpen(true); }, []);
|
|
35
|
-
var closePopup = useCallback(function () { return setIsPopupOpen(false); }, []);
|
|
36
|
-
var _k = useState(''), filterText = _k[0], setFilterText = _k[1];
|
|
37
|
-
var clearFilterText = useCallback(function () { return setFilterText(''); }, []);
|
|
38
|
-
var handleClose = useCallback(pipe(clearFilterText, closePopup), [closePopup, clearFilterText]);
|
|
39
|
-
var items = useMemo(function () {
|
|
40
|
-
return entityTypes
|
|
41
|
-
.filter(isAvailableEntityType)
|
|
42
|
-
.filter(function (_a) {
|
|
43
|
-
var label = _a.label;
|
|
44
|
-
return utils.strings.search(label, filterText);
|
|
45
|
-
})
|
|
46
|
-
.map(function (item, index) { return ({ item: { item: __assign(__assign({}, item), { filterText: filterText }) }, index: index }); });
|
|
47
|
-
}, [entityTypes, filterText]);
|
|
48
|
-
var selectedLabels = useMemo(function () { return selectedEntityTypes.map(function (uri) { return entityTypes.find(propEq('uri', uri)); }).map(prop('label')); }, [selectedEntityTypes, entityTypes]);
|
|
49
|
-
var handleListItemClick = useCallback(function (entityType, checked) {
|
|
50
|
-
if (single) {
|
|
51
|
-
onChange(checked ? [entityType.uri] : []);
|
|
52
|
-
handleClose();
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
onChange(checked
|
|
56
|
-
? selectedEntityTypes.concat(entityType.uri)
|
|
57
|
-
: selectedEntityTypes.filter(function (uri) { return uri !== entityType.uri; }));
|
|
58
|
-
}
|
|
59
|
-
}, [selectedEntityTypes, onChange, single, handleClose]);
|
|
60
|
-
var handleSearchOnEnter = useCallback(function (_a) {
|
|
61
|
-
var item = _a.item;
|
|
62
|
-
var checked = !selectedEntityTypes.includes(item.uri);
|
|
63
|
-
handleListItemClick(item, checked);
|
|
64
|
-
}, [selectedEntityTypes, handleListItemClick]);
|
|
65
|
-
var _l = useKeyboardNavigation({
|
|
66
|
-
items: items,
|
|
67
|
-
open: isPopupOpen,
|
|
68
|
-
onSelectFocusedItem: handleSearchOnEnter,
|
|
69
|
-
selectedItems: selectedEntityTypes,
|
|
70
|
-
onClose: handleClose
|
|
71
|
-
}), focusIndex = _l.focusIndex, handleKeyDown = _l.handleKeyDown;
|
|
72
|
-
var rootRef = useRef();
|
|
73
|
-
var rootWidth = rootRef.current ? rootRef.current.getBoundingClientRect().width : 0;
|
|
74
|
-
var containerWidth = Math.max(rootWidth, MIN_CONTAINER_WIDTH);
|
|
75
|
-
var noTypesSelected = selectedEntityTypes.length === 0;
|
|
76
|
-
return (React.createElement(React.Fragment, null,
|
|
77
|
-
React.createElement(TextField, { label: i18n.text('Entity type'), ref: rootRef, InputProps: {
|
|
78
|
-
startAdornment: noTypesSelected && !placeholder ? null : (React.createElement("div", { className: classnames(styles.inputText, classes.inputText) }, noTypesSelected ? (React.createElement("div", null, placeholder)) : (React.createElement(ListLabel, __assign({}, ListLabelProps, { list: selectedLabels }))))),
|
|
79
|
-
classes: {
|
|
80
|
-
root: styles.inputRoot,
|
|
81
|
-
input: classnames(styles.input, classes.input, (_b = {},
|
|
82
|
-
_b[styles.emptyInput] = noTypesSelected && !placeholder,
|
|
83
|
-
_b)),
|
|
84
|
-
disabled: classnames(styles.disabledInput, (_c = {}, _c[styles.disabledPointer] = disabled, _c)),
|
|
85
|
-
underline: styles.disabledUnderline
|
|
86
|
-
},
|
|
87
|
-
endAdornment: (React.createElement(SmallIconButton, { size: 'L', icon: ArrowDropDown, iconClassName: classnames(styles.icon, (_d = {},
|
|
88
|
-
_d[styles['popup-opened-icon']] = isPopupOpen,
|
|
89
|
-
_d)), disabled: disabled })),
|
|
90
|
-
readOnly: true,
|
|
91
|
-
disabled: true,
|
|
92
|
-
disableUnderline: noTypesSelected && !enableEmptyValueUnderline
|
|
93
|
-
}, inputProps: {
|
|
94
|
-
tabIndex: -1
|
|
95
|
-
}, InputLabelProps: {
|
|
96
|
-
classes: {
|
|
97
|
-
root: classnames(styles.inputLabel, classes.label)
|
|
98
|
-
}
|
|
99
|
-
}, value: "", onClick: disabled ? undefined : openPopup, classes: { root: classnames(styles.root, classes.root) }, margin: "dense", variant: "filled", disabled: disabled, "data-reltio-id": "entity-type-selector" }),
|
|
100
|
-
React.createElement(SelectionPopup, { open: isPopupOpen, anchorEl: rootRef.current, onClose: handleClose, onSearch: setFilterText, title: i18n.text('Select entity types'), containerWidth: containerWidth, containerHeight: POPUP_HEIGHT, searchInputOnKeyDown: handleKeyDown, transformOrigin: { horizontal: 'left', vertical: 'top' }, anchorOrigin: { horizontal: 'left', vertical: 'bottom' }, PaperProps: (_e = {}, _e['data-reltio-id'] = 'entity-type-selector-popup', _e) },
|
|
101
|
-
React.createElement(SelectEntityTypesList, { items: items, onItemClick: handleListItemClick, selectedEntityTypes: selectedEntityTypes, width: containerWidth, height: LIST_HEIGHT, focusIndex: focusIndex }))));
|
|
102
|
-
};
|
|
103
|
-
EntityTypesSelector.propTypes = {
|
|
104
|
-
entityTypes: PropTypes.arrayOf(EntityTypeType),
|
|
105
|
-
selectedEntityTypes: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
106
|
-
onChange: PropTypes.func.isRequired,
|
|
107
|
-
single: PropTypes.bool,
|
|
108
|
-
enableEmptyValueUnderline: PropTypes.bool,
|
|
109
|
-
placeholder: PropTypes.string,
|
|
110
|
-
classes: PropTypes.shape({
|
|
111
|
-
root: PropTypes.string,
|
|
112
|
-
label: PropTypes.string,
|
|
113
|
-
inputText: PropTypes.string,
|
|
114
|
-
input: PropTypes.string
|
|
115
|
-
}),
|
|
116
|
-
ListLabelProps: PropTypes.shape({
|
|
117
|
-
maxWidth: PropTypes.number
|
|
118
|
-
}),
|
|
119
|
-
disabled: PropTypes.bool
|
|
120
|
-
};
|
|
121
|
-
export default memo(EntityTypesSelector);
|
|
3
|
+
import { isAvailableEntityType } from '@reltio/mdm-sdk';
|
|
4
|
+
import { MetadataTypesSelector } from '../MetadataTypesSelector/MetadataTypesSelector';
|
|
5
|
+
export var EntityTypesSelector = memo(function (_a) {
|
|
6
|
+
var entityTypes = _a.entityTypes, selectedEntityTypes = _a.selectedEntityTypes, single = _a.single, placeholder = _a.placeholder, enableEmptyValueUnderline = _a.enableEmptyValueUnderline, onChange = _a.onChange, _b = _a.classes, classes = _b === void 0 ? {} : _b, _c = _a.ListLabelProps, ListLabelProps = _c === void 0 ? {} : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d;
|
|
7
|
+
var items = useMemo(function () { return entityTypes.filter(isAvailableEntityType); }, [entityTypes]);
|
|
8
|
+
return (React.createElement(MetadataTypesSelector, { items: items, selectedItemsUris: selectedEntityTypes, single: single, placeholder: placeholder, enableEmptyValueUnderline: enableEmptyValueUnderline, onChange: onChange, classes: classes, ListLabelProps: ListLabelProps, disabled: disabled, label: i18n.text('Entity type'), dataReltioId: "entity-type-selector", selectionPopupTitle: i18n.text('Select entity types') }));
|
|
9
|
+
});
|
|
10
|
+
EntityTypesSelector.displayName = 'EntityTypesSelector';
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
import Tooltip from '@material-ui/core/Tooltip';
|
|
4
3
|
import { useStyles } from './styles';
|
|
5
4
|
import { countHiddenItems, getListLabel, getListLabelWidth } from './helpers';
|
|
6
|
-
var ListLabel = function (_a) {
|
|
5
|
+
export var ListLabel = function (_a) {
|
|
7
6
|
var list = _a.list, maxWidth = _a.maxWidth;
|
|
8
7
|
var styles = useStyles();
|
|
9
8
|
var labelRef = useRef();
|
|
@@ -20,8 +19,3 @@ var ListLabel = function (_a) {
|
|
|
20
19
|
React.createElement("div", { className: styles.visibleItemsLabel }, visibleItemsLabel),
|
|
21
20
|
hasHiddenItems && React.createElement("div", { className: styles.hiddenCount }, "+" + hiddenItemsCount))));
|
|
22
21
|
};
|
|
23
|
-
ListLabel.propTypes = {
|
|
24
|
-
list: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
25
|
-
maxWidth: PropTypes.number
|
|
26
|
-
};
|
|
27
|
-
export default ListLabel;
|
|
@@ -20,7 +20,7 @@ var countOverflowItems = function (list, labelEl) {
|
|
|
20
20
|
var findFirstOverflowItemIndex = function (list, labelEl) {
|
|
21
21
|
var childNodes = labelEl.childNodes, clientLeft = labelEl.clientLeft, clientWidth = labelEl.clientWidth;
|
|
22
22
|
if (childNodes.length > 0) {
|
|
23
|
-
var textNode = childNodes[0];
|
|
23
|
+
var textNode = Array.from(childNodes)[0];
|
|
24
24
|
var range = document.createRange();
|
|
25
25
|
range.setStart(textNode, 0);
|
|
26
26
|
for (var index = 0; index < list.length; index++) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"listLabelContainer" | "listLabel" | "visibleItemsLabel" | "hiddenCount">;
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TEntityType, TRelationType } from '@reltio/mdm-sdk';
|
|
3
|
+
import { ListLabel } from './ListLabel/ListLabel';
|
|
4
|
+
declare type ListLabelProps = React.ComponentPropsWithoutRef<typeof ListLabel>;
|
|
5
|
+
declare type Classes = {
|
|
6
|
+
inputText?: string;
|
|
7
|
+
input?: string;
|
|
8
|
+
root?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
};
|
|
11
|
+
declare type Props = {
|
|
12
|
+
items: (TEntityType | TRelationType)[];
|
|
13
|
+
selectedItemsUris: string[];
|
|
14
|
+
onChange: (values: string[]) => void;
|
|
15
|
+
label: string;
|
|
16
|
+
dataReltioId: string;
|
|
17
|
+
selectionPopupTitle: string;
|
|
18
|
+
classes?: Classes;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
ListLabelProps?: Omit<ListLabelProps, 'list'>;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
enableEmptyValueUnderline?: boolean;
|
|
23
|
+
single?: boolean;
|
|
24
|
+
};
|
|
25
|
+
export declare const MetadataTypesSelector: React.MemoExoticComponent<({ placeholder, classes, items, selectedItemsUris, onChange, ListLabelProps, disabled, enableEmptyValueUnderline, single, label, dataReltioId, selectionPopupTitle }: Props) => JSX.Element>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import React, { useRef, useState, useCallback, useMemo, memo } from 'react';
|
|
13
|
+
import classnames from 'classnames';
|
|
14
|
+
import { pipe, propEq, prop } from 'ramda';
|
|
15
|
+
import { utils } from '@reltio/mdm-sdk';
|
|
16
|
+
import TextField from '@material-ui/core/TextField';
|
|
17
|
+
import ArrowDropDown from '@material-ui/icons/ArrowDropDown';
|
|
18
|
+
import { ListLabel } from './ListLabel/ListLabel';
|
|
19
|
+
import { SmallIconButton } from '../SmallIconButton';
|
|
20
|
+
import SelectionPopup from '../SelectionPopup/SelectionPopup';
|
|
21
|
+
import { useKeyboardNavigation } from '../SelectionPopup/helpers';
|
|
22
|
+
import { SelectMetadataTypesList } from './SelectMetadataTypesList';
|
|
23
|
+
import { useStyles } from './styles';
|
|
24
|
+
var MIN_CONTAINER_WIDTH = 255;
|
|
25
|
+
var LIST_HEIGHT = 245;
|
|
26
|
+
var POPUP_HEIGHT = 355;
|
|
27
|
+
export var MetadataTypesSelector = memo(function (_a) {
|
|
28
|
+
var _b, _c, _d, _e;
|
|
29
|
+
var placeholder = _a.placeholder, _f = _a.classes, classes = _f === void 0 ? {} : _f, items = _a.items, selectedItemsUris = _a.selectedItemsUris, onChange = _a.onChange, _g = _a.ListLabelProps, ListLabelProps = _g === void 0 ? {} : _g, disabled = _a.disabled, enableEmptyValueUnderline = _a.enableEmptyValueUnderline, single = _a.single, label = _a.label, dataReltioId = _a.dataReltioId, selectionPopupTitle = _a.selectionPopupTitle;
|
|
30
|
+
var styles = useStyles();
|
|
31
|
+
var _h = useState(false), isPopupOpen = _h[0], setIsPopupOpen = _h[1];
|
|
32
|
+
var openPopup = useCallback(function () { return setIsPopupOpen(true); }, []);
|
|
33
|
+
var closePopup = useCallback(function () { return setIsPopupOpen(false); }, []);
|
|
34
|
+
var _j = useState(''), filterText = _j[0], setFilterText = _j[1];
|
|
35
|
+
var clearFilterText = useCallback(function () { return setFilterText(''); }, []);
|
|
36
|
+
var handleClose = useCallback(pipe(clearFilterText, closePopup), [closePopup, clearFilterText]);
|
|
37
|
+
var filteredItems = items
|
|
38
|
+
.filter(function (_a) {
|
|
39
|
+
var label = _a.label;
|
|
40
|
+
return utils.strings.search(label, filterText);
|
|
41
|
+
})
|
|
42
|
+
.map(function (item, index) { return ({ item: { item: __assign(__assign({}, item), { filterText: filterText }) }, index: index }); });
|
|
43
|
+
var selectedLabels = useMemo(function () { return selectedItemsUris.map(function (uri) { return items.find(propEq('uri', uri)); }).map(prop('label')); }, [selectedItemsUris, items]);
|
|
44
|
+
var handleListItemClick = useCallback(function (item, checked) {
|
|
45
|
+
if (single) {
|
|
46
|
+
onChange(checked ? [item.uri] : []);
|
|
47
|
+
handleClose();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
onChange(checked
|
|
51
|
+
? selectedItemsUris.concat(item.uri)
|
|
52
|
+
: selectedItemsUris.filter(function (uri) { return uri !== item.uri; }));
|
|
53
|
+
}
|
|
54
|
+
}, [selectedItemsUris, onChange, single, handleClose]);
|
|
55
|
+
var handleSearchOnEnter = useCallback(function (_a) {
|
|
56
|
+
var item = _a.item;
|
|
57
|
+
var checked = !selectedItemsUris.includes(item.uri);
|
|
58
|
+
handleListItemClick(item, checked);
|
|
59
|
+
}, [selectedItemsUris, handleListItemClick]);
|
|
60
|
+
var _k = useKeyboardNavigation({
|
|
61
|
+
items: filteredItems,
|
|
62
|
+
open: isPopupOpen,
|
|
63
|
+
onSelectFocusedItem: handleSearchOnEnter,
|
|
64
|
+
selectedItems: selectedItemsUris,
|
|
65
|
+
onClose: handleClose
|
|
66
|
+
}), focusIndex = _k.focusIndex, handleKeyDown = _k.handleKeyDown;
|
|
67
|
+
var rootRef = useRef();
|
|
68
|
+
var rootWidth = rootRef.current ? rootRef.current.getBoundingClientRect().width : 0;
|
|
69
|
+
var containerWidth = Math.max(rootWidth, MIN_CONTAINER_WIDTH);
|
|
70
|
+
var noTypesSelected = selectedItemsUris.length === 0;
|
|
71
|
+
return (React.createElement(React.Fragment, null,
|
|
72
|
+
React.createElement(TextField, { label: label, ref: rootRef, InputProps: {
|
|
73
|
+
startAdornment: noTypesSelected && !placeholder ? null : (React.createElement("div", { className: classnames(styles.inputText, classes.inputText) }, noTypesSelected ? (React.createElement("div", null, placeholder)) : (React.createElement(ListLabel, __assign({}, ListLabelProps, { list: selectedLabels }))))),
|
|
74
|
+
classes: {
|
|
75
|
+
root: styles.inputRoot,
|
|
76
|
+
input: classnames(styles.input, classes.input, (_b = {},
|
|
77
|
+
_b[styles.emptyInput] = noTypesSelected && !placeholder,
|
|
78
|
+
_b)),
|
|
79
|
+
disabled: classnames(styles.disabledInput, (_c = {}, _c[styles.disabledPointer] = disabled, _c)),
|
|
80
|
+
underline: styles.disabledUnderline
|
|
81
|
+
},
|
|
82
|
+
endAdornment: (React.createElement(SmallIconButton, { size: 'L', icon: ArrowDropDown, iconClassName: classnames(styles.icon, (_d = {},
|
|
83
|
+
_d[styles['popup-opened-icon']] = isPopupOpen,
|
|
84
|
+
_d)), disabled: disabled })),
|
|
85
|
+
readOnly: true,
|
|
86
|
+
disabled: true,
|
|
87
|
+
disableUnderline: noTypesSelected && !enableEmptyValueUnderline
|
|
88
|
+
}, inputProps: {
|
|
89
|
+
tabIndex: -1
|
|
90
|
+
}, InputLabelProps: {
|
|
91
|
+
classes: {
|
|
92
|
+
root: classnames(styles.inputLabel, classes.label)
|
|
93
|
+
}
|
|
94
|
+
}, value: "", onClick: disabled ? undefined : openPopup, classes: { root: classnames(styles.root, classes.root) }, margin: "dense", variant: "filled", disabled: disabled, "data-reltio-id": dataReltioId }),
|
|
95
|
+
React.createElement(SelectionPopup, { open: isPopupOpen, anchorEl: rootRef.current, onClose: handleClose, onSearch: setFilterText, title: selectionPopupTitle, containerWidth: containerWidth, containerHeight: POPUP_HEIGHT, searchInputOnKeyDown: handleKeyDown, transformOrigin: { horizontal: 'left', vertical: 'top' }, anchorOrigin: { horizontal: 'left', vertical: 'bottom' }, PaperProps: (_e = {}, _e['data-reltio-id'] = dataReltioId + "-popup", _e) },
|
|
96
|
+
React.createElement(SelectMetadataTypesList, { items: filteredItems, onItemClick: handleListItemClick, selectedItems: selectedItemsUris, width: containerWidth, height: LIST_HEIGHT, focusIndex: focusIndex }))));
|
|
97
|
+
});
|
|
98
|
+
MetadataTypesSelector.displayName = 'MetadataTypesSelector';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TEntityType, TRelationType } from '@reltio/mdm-sdk';
|
|
3
|
+
import AttributeListItem from '../AttributeListItem/AttributeListItem';
|
|
4
|
+
declare type AttributeListItemProps = React.ComponentPropsWithoutRef<typeof AttributeListItem>;
|
|
5
|
+
declare type Item = {
|
|
6
|
+
item: {
|
|
7
|
+
item: TEntityType | TRelationType;
|
|
8
|
+
};
|
|
9
|
+
index: number;
|
|
10
|
+
};
|
|
11
|
+
declare type Props = {
|
|
12
|
+
selectedItems: string[];
|
|
13
|
+
onItemClick: AttributeListItemProps['onClick'];
|
|
14
|
+
focusIndex: number;
|
|
15
|
+
items: Item[];
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
};
|
|
19
|
+
export declare const SelectMetadataTypesList: React.MemoExoticComponent<({ selectedItems, onItemClick, focusIndex, width, height, ...otherProps }: Props) => JSX.Element>;
|
|
20
|
+
export {};
|
|
@@ -21,26 +21,20 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
21
21
|
return t;
|
|
22
22
|
};
|
|
23
23
|
import React, { memo } from 'react';
|
|
24
|
-
import PropTypes from 'prop-types';
|
|
25
24
|
import { always } from 'ramda';
|
|
26
25
|
import AttributeListItem from '../AttributeListItem/AttributeListItem';
|
|
27
26
|
import Highlighter from '../Highlighter/Highlighter';
|
|
28
27
|
import VirtualGroupedList from '../VirtualGroupedList/VirtualGroupedList';
|
|
29
28
|
var ITEM_HEIGHT = 32;
|
|
30
29
|
var getItemSize = always(ITEM_HEIGHT);
|
|
31
|
-
var
|
|
32
|
-
var
|
|
30
|
+
export var SelectMetadataTypesList = memo(function (_a) {
|
|
31
|
+
var selectedItems = _a.selectedItems, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, width = _a.width, height = _a.height, otherProps = __rest(_a, ["selectedItems", "onItemClick", "focusIndex", "width", "height"]);
|
|
33
32
|
var renderItem = function (style, _a, index) {
|
|
34
33
|
var item = _a.item;
|
|
35
|
-
var isSelected = !!
|
|
34
|
+
var isSelected = !!selectedItems.find(function (uri) { return item.uri === uri; });
|
|
36
35
|
var isFocused = index === focusIndex;
|
|
37
36
|
return (React.createElement(AttributeListItem, { key: item.uri, onClick: onItemClick, checked: isSelected, data: item, label: React.createElement(Highlighter, { text: item.label, highlight: item.filterText }), labelInText: item.label, style: style, isFocused: isFocused, hideIcon: true, LogoIcon: item.LogoIcon }));
|
|
38
37
|
};
|
|
39
|
-
return (React.createElement(VirtualGroupedList, __assign({ getItemSize: getItemSize, renderItem: renderItem, focusIndex: focusIndex, fixedTitle: false, disableHorizontalScrollbar: true }, otherProps)));
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
selectedEntityTypes: PropTypes.array,
|
|
43
|
-
onItemClick: PropTypes.func,
|
|
44
|
-
focusIndex: PropTypes.number
|
|
45
|
-
};
|
|
46
|
-
export default memo(SelectEntityTypesList);
|
|
38
|
+
return (React.createElement(VirtualGroupedList, __assign({ getItemSize: getItemSize, renderItem: renderItem, focusIndex: focusIndex, fixedTitle: false, disableHorizontalScrollbar: true, width: width, height: height }, otherProps)));
|
|
39
|
+
});
|
|
40
|
+
SelectMetadataTypesList.displayName = 'SelectMetadataTypesList';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"icon" | "input" | "root" | "inputLabel" | "inputRoot" | "inputText" | "emptyInput" | "disabledInput" | "disabledPointer" | "disabledUnderline" | "popup-opened-icon">;
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TRelationType } from '@reltio/mdm-sdk';
|
|
3
|
+
import { MetadataTypesSelector } from '../MetadataTypesSelector/MetadataTypesSelector';
|
|
4
|
+
declare type MetadataTypesSelectorProps = React.ComponentProps<typeof MetadataTypesSelector>;
|
|
5
|
+
declare type Props = {
|
|
6
|
+
relationTypes: TRelationType[];
|
|
7
|
+
selectedRelationTypes: string[];
|
|
8
|
+
enableEmptyValueUnderline?: boolean;
|
|
9
|
+
onChange: (values: string[]) => void;
|
|
10
|
+
single?: boolean;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
classes?: MetadataTypesSelectorProps['classes'];
|
|
13
|
+
ListLabelProps?: MetadataTypesSelectorProps['ListLabelProps'];
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const RelationTypesSelector: React.MemoExoticComponent<({ relationTypes, selectedRelationTypes, single, placeholder, enableEmptyValueUnderline, onChange, classes, ListLabelProps, disabled }: Props) => JSX.Element>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { useMemo, memo } from 'react';
|
|
2
|
+
import i18n from 'ui-i18n';
|
|
3
|
+
import { isAvailableRelationType } from '@reltio/mdm-sdk';
|
|
4
|
+
import { MetadataTypesSelector } from '../MetadataTypesSelector/MetadataTypesSelector';
|
|
5
|
+
export var RelationTypesSelector = memo(function (_a) {
|
|
6
|
+
var relationTypes = _a.relationTypes, selectedRelationTypes = _a.selectedRelationTypes, single = _a.single, placeholder = _a.placeholder, enableEmptyValueUnderline = _a.enableEmptyValueUnderline, onChange = _a.onChange, _b = _a.classes, classes = _b === void 0 ? {} : _b, _c = _a.ListLabelProps, ListLabelProps = _c === void 0 ? {} : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d;
|
|
7
|
+
var items = useMemo(function () { return relationTypes.filter(isAvailableRelationType); }, [relationTypes]);
|
|
8
|
+
return (React.createElement(MetadataTypesSelector, { items: items, selectedItemsUris: selectedRelationTypes, single: single, placeholder: placeholder, enableEmptyValueUnderline: enableEmptyValueUnderline, onChange: onChange, classes: classes, ListLabelProps: ListLabelProps, disabled: disabled, label: i18n.text('Relation type'), dataReltioId: "relation-type-selector", selectionPopupTitle: i18n.text('Select relation types') }));
|
|
9
|
+
});
|
|
10
|
+
RelationTypesSelector.displayName = 'RelationTypesSelector';
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { InputProps } from '@material-ui/core/Input';
|
|
3
3
|
export declare type SearchInputProps = InputProps & {
|
|
4
|
-
value
|
|
4
|
+
value?: string;
|
|
5
5
|
autofocus: boolean;
|
|
6
6
|
onSearch: (value?: string) => void;
|
|
7
7
|
rootRef?: React.MutableRefObject<HTMLInputElement>;
|
|
8
8
|
height: number;
|
|
9
|
+
placeholder?: string;
|
|
9
10
|
};
|
|
10
|
-
declare const _default: React.MemoExoticComponent<({ value, autofocus, onSearch, rootRef, classes, height, ...otherProps }: SearchInputProps) => JSX.Element>;
|
|
11
|
+
declare const _default: React.MemoExoticComponent<({ value, autofocus, onSearch, rootRef, classes, height, placeholder, ...otherProps }: SearchInputProps) => JSX.Element>;
|
|
11
12
|
export default _default;
|
|
@@ -32,13 +32,13 @@ import { getValue, noop } from '../../core';
|
|
|
32
32
|
import SmallIconButton from '../SmallIconButton/SmallIconButton';
|
|
33
33
|
import { useStyles } from './styles';
|
|
34
34
|
var SearchInput = function (_a) {
|
|
35
|
-
var value = _a.value, autofocus = _a.autofocus, _b = _a.onSearch, onSearch = _b === void 0 ? noop : _b, rootRef = _a.rootRef, _c = _a.classes, classes = _c === void 0 ? {} : _c, height = _a.height, otherProps = __rest(_a, ["value", "autofocus", "onSearch", "rootRef", "classes", "height"]);
|
|
35
|
+
var value = _a.value, autofocus = _a.autofocus, _b = _a.onSearch, onSearch = _b === void 0 ? noop : _b, rootRef = _a.rootRef, _c = _a.classes, classes = _c === void 0 ? {} : _c, height = _a.height, _d = _a.placeholder, placeholder = _d === void 0 ? i18n.text('Search') : _d, otherProps = __rest(_a, ["value", "autofocus", "onSearch", "rootRef", "classes", "height", "placeholder"]);
|
|
36
36
|
var styles = useStyles({ height: height });
|
|
37
|
-
var
|
|
37
|
+
var _e = useState(''), localValue = _e[0], setLocalValue = _e[1];
|
|
38
38
|
var updateValue = pipe(tap(onSearch), setLocalValue);
|
|
39
39
|
var clearValue = function () { return updateValue(''); };
|
|
40
40
|
var inputValue = isNil(value) ? localValue : value;
|
|
41
41
|
return (React.createElement(Input, __assign({ startAdornment: React.createElement(InputAdornment, { position: "start" },
|
|
42
|
-
React.createElement(SearchIcon, { className: styles.icon })), endAdornment: React.createElement(InputAdornment, { position: "end" }, inputValue.length > 0 && (React.createElement(SmallIconButton, { icon: CloseIcon, className: styles.clearButton, onClick: clearValue }))), autoFocus: autofocus, classes: __assign(__assign({}, classes), { input: classNames(styles.input, classes.input), root: classNames(styles.container, classes.root) }), placeholder:
|
|
42
|
+
React.createElement(SearchIcon, { className: styles.icon })), endAdornment: React.createElement(InputAdornment, { position: "end" }, inputValue.length > 0 && (React.createElement(SmallIconButton, { icon: CloseIcon, className: styles.clearButton, onClick: clearValue }))), autoFocus: autofocus, classes: __assign(__assign({}, classes), { input: classNames(styles.input, classes.input), root: classNames(styles.container, classes.root) }), placeholder: placeholder, value: inputValue, onChange: pipe(getValue, updateValue), disableUnderline: true, ref: rootRef }, otherProps)));
|
|
43
43
|
};
|
|
44
44
|
export default memo(SearchInput);
|
|
@@ -1,45 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PopoverProps } from '@material-ui/core/Popover';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
title: string;
|
|
5
|
+
containerWidth: number;
|
|
6
|
+
containerHeight: number;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
PaperProps: Record<string, unknown>;
|
|
9
|
+
searchInputOnKeyDown: (event: React.KeyboardEvent) => void;
|
|
10
|
+
onSearch: (value?: string) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
hideTitle?: boolean;
|
|
13
|
+
hideSearchInput?: boolean;
|
|
14
|
+
headerPlacement?: 'top' | 'bottom';
|
|
15
|
+
searchInputRef?: React.Ref<unknown>;
|
|
16
|
+
} & PopoverProps;
|
|
17
|
+
declare const SelectionPopup: ({ title, className, onSearch, hideTitle, hideSearchInput, headerPlacement, containerWidth, containerHeight, searchInputOnKeyDown, children, searchInputRef, anchorOrigin, transformOrigin, ...otherProps }: Props) => JSX.Element;
|
|
1
18
|
export default SelectionPopup;
|
|
2
|
-
declare function SelectionPopup({ title, className, onSearch, hideTitle, hideSearchInput, headerPlacement, containerWidth, containerHeight, searchInputOnKeyDown, children, searchInputRef, ...otherProps }: {
|
|
3
|
-
[x: string]: any;
|
|
4
|
-
title: any;
|
|
5
|
-
className: any;
|
|
6
|
-
onSearch: any;
|
|
7
|
-
hideTitle: any;
|
|
8
|
-
hideSearchInput: any;
|
|
9
|
-
headerPlacement?: string;
|
|
10
|
-
containerWidth: any;
|
|
11
|
-
containerHeight: any;
|
|
12
|
-
searchInputOnKeyDown: any;
|
|
13
|
-
children: any;
|
|
14
|
-
searchInputRef: any;
|
|
15
|
-
}): JSX.Element;
|
|
16
|
-
declare namespace SelectionPopup {
|
|
17
|
-
namespace propTypes {
|
|
18
|
-
const className: PropTypes.Requireable<string>;
|
|
19
|
-
const title: PropTypes.Requireable<string>;
|
|
20
|
-
const headerPlacement: PropTypes.Requireable<string>;
|
|
21
|
-
const onSearch: PropTypes.Requireable<(...args: any[]) => any>;
|
|
22
|
-
const searchInputOnKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
23
|
-
const containerWidth: PropTypes.Requireable<number>;
|
|
24
|
-
const containerHeight: PropTypes.Requireable<number>;
|
|
25
|
-
const hideTitle: PropTypes.Requireable<boolean>;
|
|
26
|
-
const hideSearchInput: PropTypes.Requireable<boolean>;
|
|
27
|
-
const searchInputRef: PropTypes.Requireable<PropTypes.InferProps<{
|
|
28
|
-
current: PropTypes.Requireable<Element>;
|
|
29
|
-
}>>;
|
|
30
|
-
const children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
31
|
-
}
|
|
32
|
-
namespace defaultProps {
|
|
33
|
-
namespace anchorOrigin {
|
|
34
|
-
const vertical: string;
|
|
35
|
-
const horizontal: string;
|
|
36
|
-
}
|
|
37
|
-
namespace transformOrigin {
|
|
38
|
-
const vertical_1: string;
|
|
39
|
-
export { vertical_1 as vertical };
|
|
40
|
-
const horizontal_1: string;
|
|
41
|
-
export { horizontal_1 as horizontal };
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
import PropTypes from "prop-types";
|
|
@@ -21,45 +21,27 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
21
21
|
return t;
|
|
22
22
|
};
|
|
23
23
|
import React from 'react';
|
|
24
|
-
import PropTypes from 'prop-types';
|
|
25
24
|
import classnames from 'classnames';
|
|
26
25
|
import i18n from 'ui-i18n';
|
|
27
26
|
import Popover from '@material-ui/core/Popover';
|
|
28
27
|
import useStyles from './styles.js';
|
|
29
28
|
import SearchInput from '../SearchInput/SearchInput';
|
|
30
29
|
var SelectionPopup = function (_a) {
|
|
31
|
-
var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, _b = _a.headerPlacement, headerPlacement = _b === void 0 ? 'top' : _b, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef,
|
|
30
|
+
var title = _a.title, className = _a.className, onSearch = _a.onSearch, hideTitle = _a.hideTitle, hideSearchInput = _a.hideSearchInput, _b = _a.headerPlacement, headerPlacement = _b === void 0 ? 'top' : _b, containerWidth = _a.containerWidth, containerHeight = _a.containerHeight, searchInputOnKeyDown = _a.searchInputOnKeyDown, children = _a.children, searchInputRef = _a.searchInputRef, _c = _a.anchorOrigin, anchorOrigin = _c === void 0 ? {
|
|
31
|
+
vertical: 'top',
|
|
32
|
+
horizontal: 'right'
|
|
33
|
+
} : _c, _d = _a.transformOrigin, transformOrigin = _d === void 0 ? {
|
|
34
|
+
vertical: 'top',
|
|
35
|
+
horizontal: 'right'
|
|
36
|
+
} : _d, otherProps = __rest(_a, ["title", "className", "onSearch", "hideTitle", "hideSearchInput", "headerPlacement", "containerWidth", "containerHeight", "searchInputOnKeyDown", "children", "searchInputRef", "anchorOrigin", "transformOrigin"]);
|
|
32
37
|
var classes = useStyles({ containerWidth: containerWidth, containerHeight: containerHeight });
|
|
33
38
|
var header = (React.createElement(React.Fragment, null,
|
|
34
39
|
!hideTitle && React.createElement("div", { className: classes.header }, title),
|
|
35
40
|
!hideSearchInput && (React.createElement(SearchInput, { onSearch: onSearch, autofocus: true, onKeyDown: searchInputOnKeyDown, inputRef: searchInputRef, classes: { root: classes.searchInputContainer }, placeholder: i18n.text('Search & add attributes'), height: 40 }))));
|
|
36
|
-
return (React.createElement(Popover, __assign({}, otherProps),
|
|
41
|
+
return (React.createElement(Popover, __assign({ anchorOrigin: anchorOrigin, transformOrigin: transformOrigin }, otherProps),
|
|
37
42
|
React.createElement("div", { className: classnames(classes.container, className), style: { width: containerWidth } },
|
|
38
43
|
headerPlacement === 'top' && header,
|
|
39
44
|
React.createElement("div", { className: classes.list }, children),
|
|
40
45
|
headerPlacement === 'bottom' && header)));
|
|
41
46
|
};
|
|
42
|
-
SelectionPopup.propTypes = {
|
|
43
|
-
className: PropTypes.string,
|
|
44
|
-
title: PropTypes.string,
|
|
45
|
-
headerPlacement: PropTypes.oneOf(['top', 'bottom']),
|
|
46
|
-
onSearch: PropTypes.func,
|
|
47
|
-
searchInputOnKeyDown: PropTypes.func,
|
|
48
|
-
containerWidth: PropTypes.number,
|
|
49
|
-
containerHeight: PropTypes.number,
|
|
50
|
-
hideTitle: PropTypes.bool,
|
|
51
|
-
hideSearchInput: PropTypes.bool,
|
|
52
|
-
searchInputRef: PropTypes.shape({ current: PropTypes.instanceOf(Element) }),
|
|
53
|
-
children: PropTypes.node
|
|
54
|
-
};
|
|
55
|
-
SelectionPopup.defaultProps = {
|
|
56
|
-
anchorOrigin: {
|
|
57
|
-
vertical: 'top',
|
|
58
|
-
horizontal: 'right'
|
|
59
|
-
},
|
|
60
|
-
transformOrigin: {
|
|
61
|
-
vertical: 'top',
|
|
62
|
-
horizontal: 'right'
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
47
|
export default SelectionPopup;
|
|
@@ -1,36 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PaperProps } from '@material-ui/core/Paper';
|
|
3
|
+
declare type Props = {
|
|
4
|
+
open: boolean;
|
|
5
|
+
anchorEl: HTMLElement;
|
|
6
|
+
className?: string;
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
containerWidth: number;
|
|
9
|
+
containerHeight: number;
|
|
10
|
+
paperProps: Omit<PaperProps, 'evelation'>;
|
|
11
|
+
listContent?: React.ReactNode;
|
|
12
|
+
externalInputField?: React.ReactNode;
|
|
13
|
+
classes?: {
|
|
14
|
+
root?: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
declare const SelectionPopupPopper: ({ open, anchorEl, className, onClose, containerWidth, containerHeight, paperProps, listContent, externalInputField, classes }: Props) => JSX.Element;
|
|
1
18
|
export default SelectionPopupPopper;
|
|
2
|
-
declare function SelectionPopupPopper({ open, anchorEl, className, onClose, containerWidth, containerHeight, paperProps, listContent, externalInputField, classes }: {
|
|
3
|
-
open: any;
|
|
4
|
-
anchorEl: any;
|
|
5
|
-
className: any;
|
|
6
|
-
onClose: any;
|
|
7
|
-
containerWidth: any;
|
|
8
|
-
containerHeight: any;
|
|
9
|
-
paperProps: any;
|
|
10
|
-
listContent: any;
|
|
11
|
-
externalInputField: any;
|
|
12
|
-
classes?: {};
|
|
13
|
-
}): JSX.Element;
|
|
14
|
-
declare namespace SelectionPopupPopper {
|
|
15
|
-
namespace propTypes {
|
|
16
|
-
const open: PropTypes.Requireable<boolean>;
|
|
17
|
-
const anchorEl: PropTypes.Requireable<object>;
|
|
18
|
-
const className: PropTypes.Requireable<string>;
|
|
19
|
-
const onClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
20
|
-
const containerWidth: PropTypes.Requireable<number>;
|
|
21
|
-
const containerHeight: PropTypes.Requireable<number>;
|
|
22
|
-
const paperProps: PropTypes.Requireable<object>;
|
|
23
|
-
const listContent: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
24
|
-
const externalInputField: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
25
|
-
const classes: PropTypes.Requireable<PropTypes.InferProps<{
|
|
26
|
-
root: PropTypes.Requireable<string>;
|
|
27
|
-
}>>;
|
|
28
|
-
}
|
|
29
|
-
namespace defaultProps {
|
|
30
|
-
namespace popoverAnchorOrigin {
|
|
31
|
-
const vertical: string;
|
|
32
|
-
const horizontal: string;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
import PropTypes from "prop-types";
|