@reltio/components 1.4.2040 → 1.4.2041

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.
@@ -8,7 +8,7 @@ import { AttributeTitle } from './components/AttributeTitle';
8
8
  import { SelectAttributesList } from '../SelectAttributesList';
9
9
  import { flattenGroupedItemsData } from '../VirtualGroupedList';
10
10
  import { filterSelectedAttributes, getAttributeIndex, getContainerWidth, getOnEnterHandler, prepareGroupsForSelectAttributeList } from './helpers';
11
- import { ATTRIBUTES_LIST_WIDTH, ATTRIBUTES_LIST_HEIGHT, ATTRIBUTES_POPUP_HEIGHT } from './constants';
11
+ import { ATTRIBUTES_LIST_WIDTH, ATTRIBUTES_LIST_HEIGHT, ATTRIBUTES_POPUP_HEIGHT, ATTRIBUTES_LIST_MAX_WIDTH } from './constants';
12
12
  import { useStyles } from './styles';
13
13
  var BasicAttributeSelector = function (_a) {
14
14
  var className = _a.className, itemsGroups = _a.itemsGroups, value = _a.value, getLabel = _a.getLabel, onSelect = _a.onSelect, _b = _a.onRestoreFocus, onRestoreFocus = _b === void 0 ? identity : _b, _c = _a.onOpenPopup, onOpenPopup = _c === void 0 ? identity : _c, _d = _a.disableRestoreFocus, disableRestoreFocus = _d === void 0 ? false : _d, _e = _a.disableEnforceFocus, disableEnforceFocus = _e === void 0 ? false : _e, _f = _a.single, single = _f === void 0 ? false : _f, _g = _a.ungroup, ungroup = _g === void 0 ? false : _g, _h = _a.disabled, disabled = _h === void 0 ? false : _h, _j = _a.hideCheckBox, hideCheckBox = _j === void 0 ? false : _j;
@@ -28,7 +28,9 @@ var BasicAttributeSelector = function (_a) {
28
28
  var items = useMemo(function () {
29
29
  return pipe(when(always(ungroup), chain(pipe(prop('items'), flatten, map(pick(['item', 'level']))))), flattenGroupedItemsData)(filteredItemsGroups);
30
30
  }, [ungroup, filteredItemsGroups]);
31
- var containerWidth = useMemo(function () { return Math.max(getContainerWidth(filteredItemsGroups), ATTRIBUTES_LIST_WIDTH); }, [filteredItemsGroups]);
31
+ var containerWidth = useMemo(function () {
32
+ return Math.min(Math.max(getContainerWidth(filteredItemsGroups), ATTRIBUTES_LIST_WIDTH), ATTRIBUTES_LIST_MAX_WIDTH);
33
+ }, [filteredItemsGroups]);
32
34
  var handleOnClose = pipe(tap(pipe(clearSelectedAttributes, clearFilterText, closePopup)), onRestoreFocus);
33
35
  var searchInputRef = useRef();
34
36
  var onListItemClick = useCallback(function (attribute, checked) {
@@ -1,3 +1,4 @@
1
1
  export declare const ATTRIBUTES_LIST_HEIGHT = 400;
2
2
  export declare const ATTRIBUTES_LIST_WIDTH = 308;
3
+ export declare const ATTRIBUTES_LIST_MAX_WIDTH = 620;
3
4
  export declare const ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -1,3 +1,4 @@
1
1
  export var ATTRIBUTES_LIST_HEIGHT = 400;
2
2
  export var ATTRIBUTES_LIST_WIDTH = 308;
3
+ export var ATTRIBUTES_LIST_MAX_WIDTH = 620;
3
4
  export var ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -28,17 +28,16 @@ import { Highlighter } from '../Highlighter';
28
28
  import { AttributeGroupIcon } from '../AttributeGroupIcon';
29
29
  import { useMdmMetadata } from '../contexts/MdmModuleContext';
30
30
  import { checkAttributeIncludes } from '../helpers/attributesView';
31
- import { useStyles } from './styles';
31
+ import styles from './SelectAttributesList.module.css';
32
32
  var ITEM_HEIGHT = 28;
33
33
  var ITEM_GROUP_TITLE_HEIGHT = 40;
34
34
  var SelectAttributesList = function (_a) {
35
35
  var selectedAttributes = _a.selectedAttributes, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, hideCheckBox = _a.hideCheckBox, otherProps = __rest(_a, ["selectedAttributes", "onItemClick", "focusIndex", "hideCheckBox"]);
36
- var styles = useStyles();
37
36
  var metadata = useMdmMetadata();
38
37
  var getItemSize = function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT); };
39
38
  var renderGroupTitle = function (style, item) { return (React.createElement(ListItem, { component: 'div', className: styles.subHeader, style: style, key: "group-".concat(item.item.id) },
40
39
  item.item.needGroupIcon && React.createElement(AttributeGroupIcon, { group: item.item, metadata: metadata }),
41
- item.item.title)); };
40
+ React.createElement("div", { className: styles.subHeaderTitle }, item.item.title))); };
42
41
  var renderItem = function (style, _a, index) {
43
42
  var item = _a.item, level = _a.level, groupId = _a.groupId, groupName = _a.groupName;
44
43
  var checked = checkAttributeIncludes(item, selectedAttributes);
@@ -0,0 +1,9 @@
1
+ const styles = {"subHeader":"SelectAttributesList-subHeader--3ac0v","subHeaderTitle":"SelectAttributesList-subHeaderTitle--Vazfd"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SelectAttributesList-subHeader--3ac0v{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.SelectAttributesList-subHeaderTitle--Vazfd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
7
+ head.appendChild(style);
8
+ }
9
+ export default styles;
@@ -56,7 +56,9 @@ var BasicAttributeSelector = function (_a) {
56
56
  var items = (0, react_1.useMemo)(function () {
57
57
  return (0, ramda_1.pipe)((0, ramda_1.when)((0, ramda_1.always)(ungroup), (0, ramda_1.chain)((0, ramda_1.pipe)((0, ramda_1.prop)('items'), ramda_1.flatten, (0, ramda_1.map)((0, ramda_1.pick)(['item', 'level']))))), VirtualGroupedList_1.flattenGroupedItemsData)(filteredItemsGroups);
58
58
  }, [ungroup, filteredItemsGroups]);
59
- var containerWidth = (0, react_1.useMemo)(function () { return Math.max((0, helpers_1.getContainerWidth)(filteredItemsGroups), constants_1.ATTRIBUTES_LIST_WIDTH); }, [filteredItemsGroups]);
59
+ var containerWidth = (0, react_1.useMemo)(function () {
60
+ return Math.min(Math.max((0, helpers_1.getContainerWidth)(filteredItemsGroups), constants_1.ATTRIBUTES_LIST_WIDTH), constants_1.ATTRIBUTES_LIST_MAX_WIDTH);
61
+ }, [filteredItemsGroups]);
60
62
  var handleOnClose = (0, ramda_1.pipe)((0, ramda_1.tap)((0, ramda_1.pipe)(clearSelectedAttributes, clearFilterText, closePopup)), onRestoreFocus);
61
63
  var searchInputRef = (0, react_1.useRef)();
62
64
  var onListItemClick = (0, react_1.useCallback)(function (attribute, checked) {
@@ -1,3 +1,4 @@
1
1
  export declare const ATTRIBUTES_LIST_HEIGHT = 400;
2
2
  export declare const ATTRIBUTES_LIST_WIDTH = 308;
3
+ export declare const ATTRIBUTES_LIST_MAX_WIDTH = 620;
3
4
  export declare const ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ATTRIBUTES_POPUP_HEIGHT = exports.ATTRIBUTES_LIST_WIDTH = exports.ATTRIBUTES_LIST_HEIGHT = void 0;
3
+ exports.ATTRIBUTES_POPUP_HEIGHT = exports.ATTRIBUTES_LIST_MAX_WIDTH = exports.ATTRIBUTES_LIST_WIDTH = exports.ATTRIBUTES_LIST_HEIGHT = void 0;
4
4
  exports.ATTRIBUTES_LIST_HEIGHT = 400;
5
5
  exports.ATTRIBUTES_LIST_WIDTH = 308;
6
+ exports.ATTRIBUTES_LIST_MAX_WIDTH = 620;
6
7
  exports.ATTRIBUTES_POPUP_HEIGHT = 507;
@@ -56,17 +56,16 @@ var Highlighter_1 = require("../Highlighter");
56
56
  var AttributeGroupIcon_1 = require("../AttributeGroupIcon");
57
57
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
58
58
  var attributesView_1 = require("../helpers/attributesView");
59
- var styles_1 = require("./styles");
59
+ var SelectAttributesList_module_css_1 = __importDefault(require("./SelectAttributesList.module.css"));
60
60
  var ITEM_HEIGHT = 28;
61
61
  var ITEM_GROUP_TITLE_HEIGHT = 40;
62
62
  var SelectAttributesList = function (_a) {
63
63
  var selectedAttributes = _a.selectedAttributes, onItemClick = _a.onItemClick, focusIndex = _a.focusIndex, hideCheckBox = _a.hideCheckBox, otherProps = __rest(_a, ["selectedAttributes", "onItemClick", "focusIndex", "hideCheckBox"]);
64
- var styles = (0, styles_1.useStyles)();
65
64
  var metadata = (0, MdmModuleContext_1.useMdmMetadata)();
66
65
  var getItemSize = function (i, item) { return (item.items ? ITEM_GROUP_TITLE_HEIGHT : ITEM_HEIGHT); };
67
- var renderGroupTitle = function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: styles.subHeader, style: style, key: "group-".concat(item.item.id) },
66
+ var renderGroupTitle = function (style, item) { return (react_1.default.createElement(ListItem_1.default, { component: 'div', className: SelectAttributesList_module_css_1.default.subHeader, style: style, key: "group-".concat(item.item.id) },
68
67
  item.item.needGroupIcon && react_1.default.createElement(AttributeGroupIcon_1.AttributeGroupIcon, { group: item.item, metadata: metadata }),
69
- item.item.title)); };
68
+ react_1.default.createElement("div", { className: SelectAttributesList_module_css_1.default.subHeaderTitle }, item.item.title))); };
70
69
  var renderItem = function (style, _a, index) {
71
70
  var item = _a.item, level = _a.level, groupId = _a.groupId, groupName = _a.groupName;
72
71
  var checked = (0, attributesView_1.checkAttributeIncludes)(item, selectedAttributes);
@@ -0,0 +1,9 @@
1
+ const styles = {"subHeader":"SelectAttributesList-subHeader--3ac0v","subHeaderTitle":"SelectAttributesList-subHeaderTitle--Vazfd"};
2
+ if (typeof document !== 'undefined') {
3
+ const head = document.head || document.getElementsByTagName('head')[0]
4
+ const style = document.createElement('style');
5
+ style.type = 'text/css'
6
+ style.innerHTML = `.SelectAttributesList-subHeader--3ac0v{align-items:center;background-color:#f5f5f5;color:rgba(0,0,0,.84);display:flex;font-size:14px;font-weight:500;margin:0;padding:0 16px}.SelectAttributesList-subHeaderTitle--Vazfd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`;
7
+ head.appendChild(style);
8
+ }
9
+ module.exports = styles;
@@ -2,11 +2,12 @@ import { Metadata } from '@reltio/mdm-sdk';
2
2
  import { ColumnData, GroupedColumnsData } from '../../types/basicTable';
3
3
  type MatchesColumnsDataProps<TColumnData> = {
4
4
  defaultColumnsData: TColumnData[];
5
+ defaultVisibleColumns?: string[];
5
6
  additionalColumnsData?: TColumnData[];
6
7
  metadata: Metadata;
7
8
  entityTypeUri: string;
8
9
  };
9
- export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
+ export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, defaultVisibleColumns, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
11
  allColumnsData: TColumnData[];
11
12
  groupedColumnsData: GroupedColumnsData<TColumnData>[];
12
13
  defaultColumns: string[];
@@ -6,7 +6,7 @@ var ramda_1 = require("ramda");
6
6
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
7
7
  var helpers_1 = require("./helpers");
8
8
  var useMatchesColumnsData = function (_a) {
9
- var defaultColumnsData = _a.defaultColumnsData, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
9
+ var defaultColumnsData = _a.defaultColumnsData, defaultVisibleColumns = _a.defaultVisibleColumns, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
10
10
  return (0, react_1.useMemo)(function () {
11
11
  var attrColumnsData = (0, helpers_1.getColumnsData)(metadata, entityTypeUri);
12
12
  var allColumnsData = defaultColumnsData
@@ -14,8 +14,8 @@ var useMatchesColumnsData = function (_a) {
14
14
  .concat(attrColumnsData);
15
15
  var matchAttributes = (0, mdm_sdk_1.getEntityTypeMatchAttributes)(metadata, entityTypeUri);
16
16
  var groupedColumnsData = (0, helpers_1.groupColumnsDataByMatchAttributes)(matchAttributes, allColumnsData);
17
- var defaultColumns = (0, ramda_1.pipe)(helpers_1.getMatchAttrColumns, (0, ramda_1.concat)(defaultColumnsData), (0, ramda_1.pluck)('id'))(matchAttributes, attrColumnsData);
17
+ var defaultColumns = (0, ramda_1.pipe)(helpers_1.getMatchAttrColumns, (0, ramda_1.pluck)('id'), (0, ramda_1.concat)(defaultVisibleColumns || (0, ramda_1.pluck)('id', defaultColumnsData)))(matchAttributes, attrColumnsData);
18
18
  return { allColumnsData: allColumnsData, groupedColumnsData: groupedColumnsData, defaultColumns: defaultColumns };
19
- }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri]);
19
+ }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri, defaultVisibleColumns]);
20
20
  };
21
21
  exports.useMatchesColumnsData = useMatchesColumnsData;
@@ -2,11 +2,12 @@ import { Metadata } from '@reltio/mdm-sdk';
2
2
  import { ColumnData, GroupedColumnsData } from '../../types/basicTable';
3
3
  type MatchesColumnsDataProps<TColumnData> = {
4
4
  defaultColumnsData: TColumnData[];
5
+ defaultVisibleColumns?: string[];
5
6
  additionalColumnsData?: TColumnData[];
6
7
  metadata: Metadata;
7
8
  entityTypeUri: string;
8
9
  };
9
- export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
+ export declare const useMatchesColumnsData: <TColumnData extends ColumnData>({ defaultColumnsData, defaultVisibleColumns, additionalColumnsData, metadata, entityTypeUri }: MatchesColumnsDataProps<TColumnData>) => {
10
11
  allColumnsData: TColumnData[];
11
12
  groupedColumnsData: GroupedColumnsData<TColumnData>[];
12
13
  defaultColumns: string[];
@@ -3,7 +3,7 @@ import { concat, pipe, pluck } from 'ramda';
3
3
  import { getEntityTypeMatchAttributes } from '@reltio/mdm-sdk';
4
4
  import { getColumnsData, getMatchAttrColumns, groupColumnsDataByMatchAttributes } from './helpers';
5
5
  export var useMatchesColumnsData = function (_a) {
6
- var defaultColumnsData = _a.defaultColumnsData, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
6
+ var defaultColumnsData = _a.defaultColumnsData, defaultVisibleColumns = _a.defaultVisibleColumns, additionalColumnsData = _a.additionalColumnsData, metadata = _a.metadata, entityTypeUri = _a.entityTypeUri;
7
7
  return useMemo(function () {
8
8
  var attrColumnsData = getColumnsData(metadata, entityTypeUri);
9
9
  var allColumnsData = defaultColumnsData
@@ -11,7 +11,7 @@ export var useMatchesColumnsData = function (_a) {
11
11
  .concat(attrColumnsData);
12
12
  var matchAttributes = getEntityTypeMatchAttributes(metadata, entityTypeUri);
13
13
  var groupedColumnsData = groupColumnsDataByMatchAttributes(matchAttributes, allColumnsData);
14
- var defaultColumns = pipe(getMatchAttrColumns, concat(defaultColumnsData), pluck('id'))(matchAttributes, attrColumnsData);
14
+ var defaultColumns = pipe(getMatchAttrColumns, pluck('id'), concat(defaultVisibleColumns || pluck('id', defaultColumnsData)))(matchAttributes, attrColumnsData);
15
15
  return { allColumnsData: allColumnsData, groupedColumnsData: groupedColumnsData, defaultColumns: defaultColumns };
16
- }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri]);
16
+ }, [defaultColumnsData, additionalColumnsData, metadata, entityTypeUri, defaultVisibleColumns]);
17
17
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.2040",
3
+ "version": "1.4.2041",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./index.js",
@@ -1 +0,0 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"subHeader">;
@@ -1,13 +0,0 @@
1
- import { makeStyles } from '@mui/styles';
2
- export var useStyles = makeStyles({
3
- subHeader: {
4
- backgroundColor: '#f5f5f5',
5
- padding: '0 16px',
6
- margin: 0,
7
- display: 'flex',
8
- alignItems: 'center',
9
- color: 'rgba(0,0,0,0.84)',
10
- fontSize: '14px',
11
- fontWeight: 500
12
- }
13
- });
@@ -1 +0,0 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"subHeader">;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useStyles = void 0;
4
- var styles_1 = require("@mui/styles");
5
- exports.useStyles = (0, styles_1.makeStyles)({
6
- subHeader: {
7
- backgroundColor: '#f5f5f5',
8
- padding: '0 16px',
9
- margin: 0,
10
- display: 'flex',
11
- alignItems: 'center',
12
- color: 'rgba(0,0,0,0.84)',
13
- fontSize: '14px',
14
- fontWeight: 500
15
- }
16
- });