@reltio/components 1.4.1124 → 1.4.1128-hf

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.
Files changed (57) hide show
  1. package/cjs/components/InternalLink/InternalLink.d.ts +3 -0
  2. package/cjs/components/InternalLink/InternalLink.js +39 -0
  3. package/cjs/components/InternalLink/styles.d.ts +1 -0
  4. package/cjs/components/InternalLink/styles.js +10 -0
  5. package/cjs/components/VerticalHeadingsTable/TableCell/TableCell.js +2 -1
  6. package/cjs/components/VerticalHeadingsTable/TableCellWithDnd/TableCellWithDnd.js +2 -1
  7. package/cjs/components/VerticalHeadingsTable/TableRow/TableRow.js +1 -1
  8. package/cjs/components/VerticalHeadingsTable/TableRowWithDnd/TableRowWithDnd.js +1 -1
  9. package/cjs/components/VerticalHeadingsTable/VerticalHeadingsTable.js +4 -3
  10. package/cjs/components/attributes/inline/ReferenceAttribute/ReferenceAttribute.js +2 -1
  11. package/cjs/components/attributes/inline/ReferenceAttribute/styles.d.ts +1 -1
  12. package/cjs/components/attributes/inline/ReferenceAttribute/styles.js +0 -4
  13. package/cjs/components/attributes/readMode/AttributeValuesBlock/AttributeValuesBlock.d.ts +5 -1
  14. package/cjs/components/attributes/readMode/AttributeValuesBlock/AttributeValuesBlock.js +2 -2
  15. package/cjs/components/attributes/readMode/AttributesPager/SpecialRenderer.js +1 -1
  16. package/cjs/components/attributes/readMode/ComplexAttribute/ComplexAttribute.d.ts +3 -1
  17. package/cjs/components/attributes/readMode/ComplexAttribute/ComplexAttribute.js +29 -12
  18. package/cjs/components/attributes/readMode/ReferenceAttribute/ReferenceAttribute.js +2 -2
  19. package/cjs/components/attributes/readMode/ReferenceAttribute/styles.d.ts +1 -1
  20. package/cjs/components/attributes/readMode/ReferenceAttribute/styles.js +0 -4
  21. package/cjs/components/attributes/readMode/SimpleAttribute/SimpleAttribute.js +11 -5
  22. package/cjs/components/attributes/readMode/SpecialAttributes/Tags/Tag.js +2 -2
  23. package/cjs/contexts/HighlightedValuesContext/index.d.ts +5 -0
  24. package/cjs/contexts/HighlightedValuesContext/index.js +12 -0
  25. package/cjs/contexts/index.d.ts +1 -0
  26. package/cjs/contexts/index.js +3 -1
  27. package/cjs/hooks/useMatchesLoader.d.ts +2 -1
  28. package/cjs/hooks/useMatchesLoader.js +3 -1
  29. package/esm/components/InternalLink/InternalLink.d.ts +3 -0
  30. package/esm/components/InternalLink/InternalLink.js +34 -0
  31. package/esm/components/InternalLink/styles.d.ts +1 -0
  32. package/esm/components/InternalLink/styles.js +7 -0
  33. package/esm/components/VerticalHeadingsTable/TableCell/TableCell.js +2 -1
  34. package/esm/components/VerticalHeadingsTable/TableCellWithDnd/TableCellWithDnd.js +2 -1
  35. package/esm/components/VerticalHeadingsTable/TableRow/TableRow.js +1 -1
  36. package/esm/components/VerticalHeadingsTable/TableRowWithDnd/TableRowWithDnd.js +1 -1
  37. package/esm/components/VerticalHeadingsTable/VerticalHeadingsTable.js +4 -3
  38. package/esm/components/attributes/inline/ReferenceAttribute/ReferenceAttribute.js +2 -1
  39. package/esm/components/attributes/inline/ReferenceAttribute/styles.d.ts +1 -1
  40. package/esm/components/attributes/inline/ReferenceAttribute/styles.js +0 -4
  41. package/esm/components/attributes/readMode/AttributeValuesBlock/AttributeValuesBlock.d.ts +5 -1
  42. package/esm/components/attributes/readMode/AttributeValuesBlock/AttributeValuesBlock.js +2 -2
  43. package/esm/components/attributes/readMode/AttributesPager/SpecialRenderer.js +1 -1
  44. package/esm/components/attributes/readMode/ComplexAttribute/ComplexAttribute.d.ts +3 -1
  45. package/esm/components/attributes/readMode/ComplexAttribute/ComplexAttribute.js +31 -14
  46. package/esm/components/attributes/readMode/ReferenceAttribute/ReferenceAttribute.js +2 -2
  47. package/esm/components/attributes/readMode/ReferenceAttribute/styles.d.ts +1 -1
  48. package/esm/components/attributes/readMode/ReferenceAttribute/styles.js +0 -4
  49. package/esm/components/attributes/readMode/SimpleAttribute/SimpleAttribute.js +11 -5
  50. package/esm/components/attributes/readMode/SpecialAttributes/Tags/Tag.js +2 -2
  51. package/esm/contexts/HighlightedValuesContext/index.d.ts +5 -0
  52. package/esm/contexts/HighlightedValuesContext/index.js +6 -0
  53. package/esm/contexts/index.d.ts +1 -0
  54. package/esm/contexts/index.js +1 -0
  55. package/esm/hooks/useMatchesLoader.d.ts +2 -1
  56. package/esm/hooks/useMatchesLoader.js +3 -1
  57. package/package.json +4 -3
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const InternalLink: (props: React.AnchorHTMLAttributes<HTMLAnchorElement>) => JSX.Element;
3
+ export default InternalLink;
@@ -0,0 +1,39 @@
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
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var react_router_dom_1 = require("react-router-dom");
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var styles_1 = require("./styles");
32
+ var InternalLink = function (props) {
33
+ var styles = styles_1.useStyles();
34
+ var inRouterContext = react_router_dom_1.useInRouterContext();
35
+ var href = props.href, className = props.className, otherProps = __rest(props, ["href", "className"]);
36
+ var linkClassName = classnames_1.default(styles.link, className);
37
+ return inRouterContext ? (react_1.default.createElement(react_router_dom_1.Link, __assign({ to: href === null || href === void 0 ? void 0 : href.replace(window.location.origin, ''), className: linkClassName }, otherProps))) : (react_1.default.createElement("a", __assign({ href: href, className: linkClassName }, otherProps)));
38
+ };
39
+ exports.default = InternalLink;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"link">;
@@ -0,0 +1,10 @@
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 (theme) { return ({
6
+ link: {
7
+ color: theme.palette.primary.main,
8
+ textDecoration: 'none'
9
+ }
10
+ }); });
@@ -9,7 +9,8 @@ var helpers_1 = require("../helpers");
9
9
  var TableCell = function (_a) {
10
10
  var columnValue = _a.columnValue, rowData = _a.rowData, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn;
11
11
  var CellRenderer = rowData.cellRenderer || helpers_1.DefaultCellRenderer;
12
- return (react_1.default.createElement("td", { onMouseOver: function () { return setHoveredColumn(columnValue); }, onMouseLeave: resetHoveredColumn },
12
+ var onMouseOver = setHoveredColumn ? function () { return setHoveredColumn(columnValue); } : undefined;
13
+ return (react_1.default.createElement("td", { onMouseOver: onMouseOver, onMouseLeave: resetHoveredColumn },
13
14
  react_1.default.createElement(CellRenderer, { value: columnValue[rowData.id] })));
14
15
  };
15
16
  exports.TableCell = TableCell;
@@ -81,7 +81,8 @@ var TableCellWithDnd = function (_a) {
81
81
  drop(dropRef);
82
82
  drag(dragRef);
83
83
  }, []);
84
- return (react_1.default.createElement("td", { style: { opacity: opacity }, ref: dropRef, className: styles.tableData, "data-source-id": sourceId, "data-target-id": targetId, onMouseOver: function () { return setHoveredColumn(columnValue); }, onMouseLeave: resetHoveredColumn },
84
+ var onMouseOver = setHoveredColumn ? function () { return setHoveredColumn(columnValue); } : undefined;
85
+ return (react_1.default.createElement("td", { style: { opacity: opacity }, ref: dropRef, className: styles.tableData, "data-source-id": sourceId, "data-target-id": targetId, onMouseOver: onMouseOver, onMouseLeave: resetHoveredColumn },
85
86
  shouldRenderDragIndicator && (react_1.default.createElement("div", { ref: dragRef, className: styles.dragIndicator },
86
87
  react_1.default.createElement(DragIndicator_1.default, { className: styles.dragIndicatorIcon }))),
87
88
  react_1.default.createElement(CellRenderer, { value: columnValue[rowData.id] })));
@@ -16,7 +16,7 @@ var TableRow = function (_a) {
16
16
  columnsData.map(function (columnValue, index) {
17
17
  var isDraggableColumn = columnValue.isDraggable;
18
18
  var shouldRenderDragIndicator = isFirstRow && isDraggableColumn;
19
- return onMoveColumn ? (react_1.default.createElement(TableCellWithDnd_1.TableCellWithDnd, { key: columnValue.id, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: shouldRenderDragIndicator, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableCell_1.TableCell, { key: columnValue.id, rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
19
+ return onMoveColumn ? (react_1.default.createElement(TableCellWithDnd_1.TableCellWithDnd, { key: columnValue.id || index, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: shouldRenderDragIndicator, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableCell_1.TableCell, { key: columnValue.id || index, rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
20
20
  })));
21
21
  };
22
22
  exports.TableRow = TableRow;
@@ -72,7 +72,7 @@ var TableRowWithDnd = function (_a) {
72
72
  return (react_1.default.createElement("tr", { className: rowData.rowClassName, style: { opacity: opacity }, ref: dropRef, "data-target-id": targetId, "data-source-id": sourceId },
73
73
  react_1.default.createElement(TableHeadCell_1.TableHeadCell, { rowData: rowData, isDraggable: true, dragRef: dragRef }),
74
74
  columnsData.map(function (columnValue, index) {
75
- return onMoveColumn ? (react_1.default.createElement(TableCellWithDnd_1.TableCellWithDnd, { key: columnValue.id, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: false, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableCell_1.TableCell, { key: columnValue.id, columnValue: columnValue, rowData: rowData, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
75
+ return onMoveColumn ? (react_1.default.createElement(TableCellWithDnd_1.TableCellWithDnd, { key: columnValue.id || index, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: false, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableCell_1.TableCell, { key: columnValue.id || index, columnValue: columnValue, rowData: rowData, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
76
76
  })));
77
77
  };
78
78
  exports.TableRowWithDnd = TableRowWithDnd;
@@ -28,12 +28,13 @@ var VerticalHeadingsTable = function (_a) {
28
28
  var className = _a.className, rowsData = _a.rowsData, columnsData = _a.columnsData, _c = _a.theadRowsNumber, theadRowsNumber = _c === void 0 ? 0 : _c, onMoveRow = _a.onMoveRow, onMoveColumn = _a.onMoveColumn, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn;
29
29
  var tableRef = react_1.useRef(null);
30
30
  var tableHeight = (_b = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight;
31
+ var isDNDActive = !!onMoveRow || !!onMoveColumn;
31
32
  return (react_1.default.createElement(react_1.default.Fragment, null,
32
- react_1.default.createElement(TableColumnDragLayer_1.TableColumnDragLayer, { columnHeight: tableHeight }),
33
+ isDNDActive && react_1.default.createElement(TableColumnDragLayer_1.TableColumnDragLayer, { columnHeight: tableHeight }),
33
34
  react_1.default.createElement("table", { ref: tableRef, className: className },
34
- theadRowsNumber > 0 && (react_1.default.createElement("thead", null, rowsData.slice(0, theadRowsNumber).map(function (rowData, index) { return (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id, rowData: rowData, columnsData: columnsData, index: index, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })); }))),
35
+ theadRowsNumber > 0 && (react_1.default.createElement("thead", null, rowsData.slice(0, theadRowsNumber).map(function (rowData, index) { return (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id || index, rowData: rowData, columnsData: columnsData, index: index, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })); }))),
35
36
  react_1.default.createElement("tbody", null, rowsData.slice(theadRowsNumber).map(function (rowData, index) {
36
- return onMoveRow ? (react_1.default.createElement(TableRowWithDnd_1.TableRowWithDnd, { key: rowData.id, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveRow: onMoveRow, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
37
+ return onMoveRow ? (react_1.default.createElement(TableRowWithDnd_1.TableRowWithDnd, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveRow: onMoveRow, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (react_1.default.createElement(TableRow_1.TableRow, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
37
38
  })))));
38
39
  };
39
40
  exports.default = react_1.memo(VerticalHeadingsTable);
@@ -32,6 +32,7 @@ var mdm_sdk_1 = require("@reltio/mdm-sdk");
32
32
  var ComplexAttribute_1 = __importDefault(require("../ComplexAttribute/ComplexAttribute"));
33
33
  var ramda_1 = require("ramda");
34
34
  var ComplexAttributeLabel_1 = require("../common/ComplexAttributeLabel");
35
+ var InternalLink_1 = __importDefault(require("../../../InternalLink/InternalLink"));
35
36
  var styles_1 = require("./styles");
36
37
  var ReferenceAttribute = function (_a) {
37
38
  var attributeValue = _a.attributeValue, attributeType = _a.attributeType, other = __rest(_a, ["attributeValue", "attributeType"]);
@@ -39,7 +40,7 @@ var ReferenceAttribute = function (_a) {
39
40
  var metadata = react_redux_1.useSelector(mdm_module_1.default.selectors.getMetadata);
40
41
  var uiPath = react_redux_1.useSelector(mdm_module_1.default.selectors.getUIPath);
41
42
  var entityLabel = (react_1.default.createElement(ComplexAttributeLabel_1.ComplexAttributeLabel, null,
42
- react_1.default.createElement("a", { href: mdm_sdk_1.getEntityLink({ uiPath: uiPath, uri: mdm_sdk_1.getReferencedEntityUriFromAttrValue(attributeValue) }), className: styles.label },
43
+ react_1.default.createElement(InternalLink_1.default, { href: mdm_sdk_1.getEntityLink({ uiPath: uiPath, uri: mdm_sdk_1.getReferencedEntityUriFromAttrValue(attributeValue) }) },
43
44
  mdm_sdk_1.getLabel(attributeValue.label),
44
45
  attributeValue.relationshipLabel && (react_1.default.createElement("span", { className: styles.relationshipLabel }, attributeValue.relationshipLabel)))));
45
46
  var attributeTypesList = ramda_1.pipe(mdm_sdk_1.getReferencedRelationAttrTypesUris, ramda_1.map(function (attrTypeUri) { return mdm_sdk_1.findAttributeTypeByUri(metadata, attrTypeUri); }), ramda_1.reject(ramda_1.isNil))(attributeType);
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "relationshipLabel">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"relationshipLabel">;
@@ -3,10 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useStyles = void 0;
4
4
  var styles_1 = require("@material-ui/core/styles");
5
5
  exports.useStyles = styles_1.makeStyles(function (theme) { return ({
6
- label: {
7
- color: theme.palette.primary.main,
8
- textDecoration: 'none'
9
- },
10
6
  relationshipLabel: {
11
7
  marginLeft: '4px',
12
8
  color: theme.palette.text.primary
@@ -5,6 +5,10 @@ declare type Props = {
5
5
  attributeType: AttributeType;
6
6
  expanded?: boolean;
7
7
  valueContainerClassName?: string;
8
+ LabelRenderer?: ({ attributeType: AttributeType, attributeValue: AttributeValue }: {
9
+ attributeType: any;
10
+ attributeValue: any;
11
+ }) => JSX.Element;
8
12
  };
9
- declare const _default: React.MemoExoticComponent<({ expanded, ...props }: Props) => JSX.Element>;
13
+ declare const _default: React.MemoExoticComponent<({ expanded, LabelRenderer, ...props }: Props) => JSX.Element>;
10
14
  export default _default;
@@ -54,12 +54,12 @@ var renderAttributesList = function (_a) {
54
54
  react_1.default.createElement(__1.ReadOnlyAttribute, __assign({ attributeValue: attributeValue }, props)))); })));
55
55
  };
56
56
  var AttributeValuesBlock = function (_a) {
57
- var expanded = _a.expanded, props = __rest(_a, ["expanded"]);
57
+ var expanded = _a.expanded, LabelRenderer = _a.LabelRenderer, props = __rest(_a, ["expanded", "LabelRenderer"]);
58
58
  var attributeType = props.attributeType, values = props.values, valueContainerClassName = props.valueContainerClassName;
59
59
  switch (attributeType.type) {
60
60
  case mdm_sdk_1.DataTypes.TYPE_NESTED:
61
61
  case mdm_sdk_1.DataTypes.TYPE_REFERENCE: {
62
- return renderAttributesList(__assign({ expanded: expanded }, props));
62
+ return renderAttributesList(__assign({ expanded: expanded, LabelRenderer: LabelRenderer }, props));
63
63
  }
64
64
  case mdm_sdk_1.DataTypes.TYPE_IMAGE: {
65
65
  return (react_1.default.createElement("div", { className: valueContainerClassName },
@@ -27,7 +27,7 @@ var SpecialRenderer = function (_a) {
27
27
  return react_1.default.createElement(Roles_1.default, { className: className, values: values });
28
28
  }
29
29
  default: {
30
- //startDate, endDate
30
+ //startDate, endDate, "crosswalk" fake nested subattibutes
31
31
  return (react_1.default.createElement(Attribute_1.default, { className: className, attributeValue: { value: values[0] }, attributeType: attributeType, inlined: true }));
32
32
  }
33
33
  }
@@ -1,5 +1,5 @@
1
1
  export default ComplexAttribute;
2
- declare function ComplexAttribute({ attributeTypesList, attributeValue, label, expanded: expandedProp, children, showNonOv, attributeType }: {
2
+ declare function ComplexAttribute({ attributeTypesList, attributeValue, label, expanded: expandedProp, children, showNonOv, attributeType, LabelRenderer }: {
3
3
  attributeTypesList: any;
4
4
  attributeValue: any;
5
5
  label: any;
@@ -7,6 +7,7 @@ declare function ComplexAttribute({ attributeTypesList, attributeValue, label, e
7
7
  children: any;
8
8
  showNonOv: any;
9
9
  attributeType: any;
10
+ LabelRenderer: any;
10
11
  }): JSX.Element;
11
12
  declare namespace ComplexAttribute {
12
13
  namespace propTypes {
@@ -36,6 +37,7 @@ declare namespace ComplexAttribute {
36
37
  export const expanded: PropTypes.Requireable<boolean>;
37
38
  export const showNonOv: PropTypes.Requireable<boolean>;
38
39
  export { AttributeTypeType as attributeType };
40
+ export const LabelRenderer: PropTypes.Requireable<(...args: any[]) => any>;
39
41
  }
40
42
  }
41
43
  import PropTypes from "prop-types";
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -32,30 +43,35 @@ var ArrowExpandButton_1 = __importDefault(require("../../../ArrowExpandButton/Ar
32
43
  var CommentsContainer_1 = __importDefault(require("../../../CommentsContainer/CommentsContainer"));
33
44
  var classnames_2 = require("../../../../constants/classnames");
34
45
  var styles_1 = require("./styles");
46
+ var contexts_1 = require("../../../../contexts");
35
47
  var ComplexAttribute = function (_a) {
36
- var attributeTypesList = _a.attributeTypesList, attributeValue = _a.attributeValue, label = _a.label, _b = _a.expanded, expandedProp = _b === void 0 ? false : _b, children = _a.children, showNonOv = _a.showNonOv, attributeType = _a.attributeType;
48
+ var _b;
49
+ var attributeTypesList = _a.attributeTypesList, attributeValue = _a.attributeValue, label = _a.label, _c = _a.expanded, expandedProp = _c === void 0 ? false : _c, children = _a.children, showNonOv = _a.showNonOv, attributeType = _a.attributeType, LabelRenderer = _a.LabelRenderer;
37
50
  var styles = styles_1.useStyles();
38
51
  var uri = attributeValue.uri;
39
- var _c = react_1.useState(false), expanded = _c[0], setExpanded = _c[1];
52
+ var _d = react_1.useState(false), expanded = _d[0], setExpanded = _d[1];
53
+ var _e = react_1.useContext(contexts_1.HighlightedValuesContext), _f = _e.highlightedValuesUris, highlightedValuesUris = _f === void 0 ? [] : _f, highlightedClassName = _e.highlightedClassName;
40
54
  react_1.useEffect(function () {
41
55
  setExpanded(expandedProp);
42
56
  }, [expandedProp]);
43
57
  var hasAnalyticValue = (attributeTypesList || []).some(function (attributeType) { return mdm_sdk_1.isAnalyticAttribute(attributeType); });
44
- var attributeListEntity = react_1.useMemo(function () { return ({
45
- attributes: hasAnalyticValue ? null : attributeValue.value,
46
- analyticsAttributes: hasAnalyticValue ? attributeValue.value : null
47
- }); }, [attributeValue, hasAnalyticValue]);
58
+ var attributeListEntity = react_1.useMemo(function () { return (__assign({ attributes: hasAnalyticValue ? null : attributeValue.value, analyticsAttributes: hasAnalyticValue ? attributeValue.value : null }, (mdm_sdk_1.isSpecialAttribute(attributeType) ? attributeValue.value : {}))); }, [attributeValue, hasAnalyticValue, attributeType]);
48
59
  var objectType = mdm_sdk_1.isRelationAttrType(attributeType)
49
60
  ? mdm_sdk_1.CollaborationObjectTypes.RELATION_ATTRIBUTE
50
61
  : mdm_sdk_1.CollaborationObjectTypes.ENTITY_ATTRIBUTE;
51
62
  return (react_1.default.createElement("div", { className: styles.complexContainer },
52
63
  react_1.default.createElement("div", { className: classnames_1.default(styles.labelContainer, classnames_2.COMMENTS_CONTAINER_VISIBILITY_AREA) },
53
64
  react_1.default.createElement(ArrowExpandButton_1.default, { onClick: function () { return setExpanded(function (value) { return !value; }); }, expanded: expanded }),
54
- react_1.default.createElement(Typography_1.default, { component: "span", variant: "body2", classes: { body2: styles.label }, "data-reltio-id": "reltio-attribute-complex-label" }, label),
55
- react_1.default.createElement("div", { className: styles.spacer }),
56
- react_1.default.createElement(CommentsContainer_1.default, { uri: attributeValue.uri, relatedObjectUris: mdm_sdk_1.createRelatedObjectUris(objectType, {
57
- uri: attributeValue.uri
58
- }), objectType: objectType })),
65
+ LabelRenderer ? (react_1.default.createElement(LabelRenderer, { attributeType: attributeType, attributeValue: attributeValue })) : (react_1.default.createElement(react_1.default.Fragment, null,
66
+ react_1.default.createElement(Typography_1.default, { component: "span", variant: "body2", classes: { body2: styles.label }, className: classnames_1.default((_b = {},
67
+ _b[highlightedClassName] = highlightedValuesUris.some(function (uri) {
68
+ return mdm_sdk_1.areOneHierarchyUris(uri, attributeValue.uri);
69
+ }),
70
+ _b)), "data-reltio-id": "reltio-attribute-complex-label" }, label),
71
+ react_1.default.createElement("div", { className: styles.spacer }),
72
+ react_1.default.createElement(CommentsContainer_1.default, { uri: attributeValue.uri, relatedObjectUris: mdm_sdk_1.createRelatedObjectUris(objectType, {
73
+ uri: attributeValue.uri
74
+ }), objectType: objectType })))),
59
75
  expanded && (react_1.default.createElement(AttributesList_1.default, { attrTypes: attributeTypesList, entity: attributeListEntity, drawLines: true, parentUri: uri, showNonOv: showNonOv }, children))));
60
76
  };
61
77
  ComplexAttribute.propTypes = {
@@ -65,6 +81,7 @@ ComplexAttribute.propTypes = {
65
81
  attributeValue: prop_types_1.default.oneOfType([mdm_sdk_1.NestedAttributeValueType, mdm_sdk_1.ReferenceAttributeValueType]),
66
82
  expanded: prop_types_1.default.bool,
67
83
  showNonOv: prop_types_1.default.bool,
68
- attributeType: mdm_sdk_1.AttributeTypeType
84
+ attributeType: mdm_sdk_1.AttributeTypeType,
85
+ LabelRenderer: prop_types_1.default.func
69
86
  };
70
87
  exports.default = ComplexAttribute;
@@ -45,11 +45,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
45
45
  };
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
47
  var react_1 = __importStar(require("react"));
48
- var classnames_1 = __importDefault(require("classnames"));
49
48
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
50
49
  var contexts_1 = require("../../../../contexts");
51
50
  var ComplexAttribute_1 = __importDefault(require("../ComplexAttribute/ComplexAttribute"));
52
51
  var historyAppearance_1 = require("../helpers/historyAppearance");
52
+ var InternalLink_1 = __importDefault(require("../../../InternalLink/InternalLink"));
53
53
  var styles_1 = __importDefault(require("./styles"));
54
54
  var ReferenceAttribute = function (_a) {
55
55
  var attributeValue = _a.attributeValue, metadata = _a.metadata, attributeType = _a.attributeType, uiPath = _a.uiPath, otherProps = __rest(_a, ["attributeValue", "metadata", "attributeType", "uiPath"]);
@@ -63,7 +63,7 @@ var ReferenceAttribute = function (_a) {
63
63
  var entityLabel = react_1.useMemo(function () {
64
64
  var attributeAppearance = historyAppearance_1.getHistoryAppearanceByUri(attributeValue.uri, appearance);
65
65
  var historyAttributesClassName = historyAppearance_1.getHistoryAttributeClassName(attributeAppearance);
66
- return (react_1.default.createElement("a", { href: mdm_sdk_1.isEmptyValue(appearance) ? mdm_sdk_1.getEntityLink({ uiPath: uiPath, uri: refEntityURI }) : undefined, className: classnames_1.default(styles.label, styles[historyAttributesClassName]) },
66
+ return (react_1.default.createElement(InternalLink_1.default, { href: mdm_sdk_1.isEmptyValue(appearance) ? mdm_sdk_1.getEntityLink({ uiPath: uiPath, uri: refEntityURI }) : undefined, className: styles[historyAttributesClassName] },
67
67
  mdm_sdk_1.getLabel(attributeValue.label),
68
68
  attributeValue.relationshipLabel && (react_1.default.createElement("span", { className: styles.relationshipLabel }, attributeValue.relationshipLabel))));
69
69
  }, [
@@ -1,2 +1,2 @@
1
1
  export default styles;
2
- declare const styles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "relationshipLabel" | "updateAttribute" | "insertAttribute" | "deleteAttribute">;
2
+ declare const styles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"relationshipLabel" | "updateAttribute" | "insertAttribute" | "deleteAttribute">;
@@ -14,10 +14,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var styles_1 = require("@material-ui/core/styles");
15
15
  var historyAppearance_1 = require("../helpers/historyAppearance");
16
16
  var styles = styles_1.makeStyles(function (theme) { return ({
17
- label: {
18
- color: theme.palette.primary.main,
19
- textDecoration: 'none'
20
- },
21
17
  relationshipLabel: {
22
18
  marginLeft: '4px',
23
19
  color: theme.palette.text.primary
@@ -32,10 +32,12 @@ var DataTypeValue_1 = __importDefault(require("../../../DataTypeValue/DataTypeVa
32
32
  var PivotingTooltip_1 = require("../../PivotingAttributes/PivotingTooltip");
33
33
  var historyAppearance_1 = require("../helpers/historyAppearance");
34
34
  var styles_1 = require("./styles");
35
+ var contexts_1 = require("../../../../contexts");
35
36
  var SimpleAttribute = function (_a) {
36
- var _b;
37
- var className = _a.className, _c = _a.attributeType, attributeType = _c === void 0 ? null : _c, attributeValue = _a.attributeValue, inlined = _a.inlined;
37
+ var _b, _c, _d;
38
+ var className = _a.className, _e = _a.attributeType, attributeType = _e === void 0 ? null : _e, attributeValue = _a.attributeValue, inlined = _a.inlined;
38
39
  var styles = styles_1.useStyles();
40
+ var _f = react_1.useContext(contexts_1.HighlightedValuesContext), _g = _f.highlightedValuesUris, highlightedValuesUris = _g === void 0 ? [] : _g, highlightedClassName = _f.highlightedClassName;
39
41
  var appearance = react_1.useContext(HistoryAppearanceContext_1.HistoryDiffContext).appearance;
40
42
  var attributeAppearance = historyAppearance_1.getHistoryAppearanceByUri(attributeValue.uri, appearance);
41
43
  var historyClassName = historyAppearance_1.getHistoryAttributeClassName(attributeAppearance);
@@ -43,9 +45,13 @@ var SimpleAttribute = function (_a) {
43
45
  var objectType = mdm_sdk_1.isRelationAttrType(attributeType)
44
46
  ? mdm_sdk_1.CollaborationObjectTypes.RELATION_ATTRIBUTE
45
47
  : mdm_sdk_1.CollaborationObjectTypes.ENTITY_ATTRIBUTE;
46
- return inlined || historyClassName ? (react_1.default.createElement("div", { className: className },
47
- react_1.default.createElement(PivotingTooltip_1.PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri, className: classnames_1.default((_b = {}, _b[styles.multilineAttribute] = !inlined, _b)) },
48
- react_1.default.createElement("span", { className: styles[historyClassName], "data-reltio-id": "reltio-attribute-value" }, dataTypeValue)))) : (react_1.default.createElement("div", { className: classnames_1.default(className, styles.root, classnames_2.COMMENTS_CONTAINER_VISIBILITY_AREA) },
48
+ return inlined || historyClassName ? (react_1.default.createElement("div", { className: classnames_1.default(className, (_b = {},
49
+ _b[highlightedClassName] = highlightedValuesUris.includes(attributeValue.uri),
50
+ _b)) },
51
+ react_1.default.createElement(PivotingTooltip_1.PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri, className: classnames_1.default((_c = {}, _c[styles.multilineAttribute] = !inlined, _c)) },
52
+ react_1.default.createElement("span", { className: styles[historyClassName], "data-reltio-id": "reltio-attribute-value" }, dataTypeValue)))) : (react_1.default.createElement("div", { className: classnames_1.default(className, styles.root, classnames_2.COMMENTS_CONTAINER_VISIBILITY_AREA, (_d = {},
53
+ _d[highlightedClassName] = highlightedValuesUris.includes(attributeValue.uri),
54
+ _d)) },
49
55
  react_1.default.createElement(PivotingTooltip_1.PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri },
50
56
  react_1.default.createElement("span", { className: styles.attributeValue, "data-reltio-id": "reltio-attribute-value" }, dataTypeValue)),
51
57
  react_1.default.createElement(CommentsContainer_1.default, { className: styles.commentsContainer, uri: attributeValue.uri, relatedObjectUris: mdm_sdk_1.createRelatedObjectUris(objectType, {
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  var react_1 = __importStar(require("react"));
26
- var Link_1 = __importDefault(require("@material-ui/core/Link"));
26
+ var InternalLink_1 = __importDefault(require("../../../../InternalLink/InternalLink"));
27
27
  var react_redux_1 = require("react-redux");
28
28
  var mdm_module_1 = __importDefault(require("@reltio/mdm-module"));
29
29
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
@@ -40,7 +40,7 @@ var Tag = function (_a) {
40
40
  var attributeAppearance = historyAppearance_1.getHistoryAppearanceBySpecialAttributeValue('tags', value, appearance);
41
41
  var historyClassName = historyAppearance_1.getHistoryAttributeClassName(attributeAppearance);
42
42
  var entity = ownEntity || currentEntity;
43
- return (react_1.default.createElement(Link_1.default, { underline: "none", className: styles[historyClassName], href: mdm_sdk_1.getTagLink({
43
+ return (react_1.default.createElement(InternalLink_1.default, { className: styles[historyClassName], href: mdm_sdk_1.getTagLink({
44
44
  uiPath: uiPath,
45
45
  tag: value,
46
46
  entityUri: entity.dataTenant ? mdm_sdk_1.getDataTenantEntityUri(entity) : entity.uri
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const HighlightedValuesContext: React.Context<{
3
+ highlightedValuesUris: string[];
4
+ highlightedClassName: string;
5
+ }>;
@@ -0,0 +1,12 @@
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
+ exports.HighlightedValuesContext = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ exports.HighlightedValuesContext = react_1.default.createContext({
9
+ highlightedValuesUris: [],
10
+ highlightedClassName: ''
11
+ });
12
+ exports.HighlightedValuesContext.displayName = 'HighlightedValuesContext';
@@ -19,3 +19,4 @@ export { SandboxAPIContext } from './SandboxAPIContext';
19
19
  export { useReloadAllFacets, ReloadFacetProvider, useReloadFacet } from './ReloadFacetContext';
20
20
  export { SearchFiltersContext } from './SearchFiltersContext';
21
21
  export { SnackbarContext } from './SnackbarContext';
22
+ export { HighlightedValuesContext } from './HighlightedValuesContext';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.PivotingAttributeContext = exports.UsersContext = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.ViewIdContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = void 0;
3
+ exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.PivotingAttributeContext = exports.UsersContext = exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.ViewIdContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = void 0;
4
4
  var AsyncMountContext_1 = require("./AsyncMountContext");
5
5
  Object.defineProperty(exports, "AsyncMountContext", { enumerable: true, get: function () { return AsyncMountContext_1.AsyncMountContext; } });
6
6
  var HistoryAppearanceContext_1 = require("./HistoryAppearanceContext");
@@ -50,3 +50,5 @@ var SearchFiltersContext_1 = require("./SearchFiltersContext");
50
50
  Object.defineProperty(exports, "SearchFiltersContext", { enumerable: true, get: function () { return SearchFiltersContext_1.SearchFiltersContext; } });
51
51
  var SnackbarContext_1 = require("./SnackbarContext");
52
52
  Object.defineProperty(exports, "SnackbarContext", { enumerable: true, get: function () { return SnackbarContext_1.SnackbarContext; } });
53
+ var HighlightedValuesContext_1 = require("./HighlightedValuesContext");
54
+ Object.defineProperty(exports, "HighlightedValuesContext", { enumerable: true, get: function () { return HighlightedValuesContext_1.HighlightedValuesContext; } });
@@ -15,8 +15,9 @@ declare type Props = {
15
15
  order: string;
16
16
  field: string;
17
17
  };
18
+ markMatchedValues?: boolean;
18
19
  };
19
- export declare const useMatchesLoader: ({ enabled, entity, filter, onFinishLoading, onStartLoading, options, page, rowsPerPage, sorting }: Props) => {
20
+ export declare const useMatchesLoader: ({ enabled, entity, filter, onFinishLoading, onStartLoading, options, page, rowsPerPage, sorting, markMatchedValues }: Props) => {
20
21
  total: number;
21
22
  matches: PotentialMatch[];
22
23
  entitiesMap: {
@@ -12,7 +12,7 @@ var usePagingSimulator_1 = require("./usePagingSimulator");
12
12
  var useSafePromise_1 = require("./useSafePromise");
13
13
  var ramda_1 = require("ramda");
14
14
  var useMatchesLoader = function (_a) {
15
- var enabled = _a.enabled, entity = _a.entity, filter = _a.filter, onFinishLoading = _a.onFinishLoading, onStartLoading = _a.onStartLoading, options = _a.options, page = _a.page, rowsPerPage = _a.rowsPerPage, sorting = _a.sorting;
15
+ var enabled = _a.enabled, entity = _a.entity, filter = _a.filter, onFinishLoading = _a.onFinishLoading, onStartLoading = _a.onStartLoading, options = _a.options, page = _a.page, rowsPerPage = _a.rowsPerPage, sorting = _a.sorting, markMatchedValues = _a.markMatchedValues;
16
16
  var _b = sorting || {}, order = _b.order, field = _b.field;
17
17
  var _c = react_1.useState(0), total = _c[0], setTotal = _c[1];
18
18
  var _d = react_1.useState([]), matches = _d[0], setMatches = _d[1];
@@ -67,6 +67,7 @@ var useMatchesLoader = function (_a) {
67
67
  sort: field,
68
68
  order: order,
69
69
  force: force,
70
+ markMatchedValues: markMatchedValues,
70
71
  deep: options.showTransitiveMatches ? undefined : 1,
71
72
  activeness: activeness
72
73
  }))
@@ -90,6 +91,7 @@ var useMatchesLoader = function (_a) {
90
91
  entityUri,
91
92
  field,
92
93
  filter,
94
+ markMatchedValues,
93
95
  getPagedMatchesForDataTenantEntity,
94
96
  getTransitiveMatchesWithPaging,
95
97
  onFinishLoading,
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const InternalLink: (props: React.AnchorHTMLAttributes<HTMLAnchorElement>) => JSX.Element;
3
+ export default InternalLink;
@@ -0,0 +1,34 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import React from 'react';
24
+ import { useInRouterContext, Link } from 'react-router-dom';
25
+ import classnames from 'classnames';
26
+ import { useStyles } from './styles';
27
+ var InternalLink = function (props) {
28
+ var styles = useStyles();
29
+ var inRouterContext = useInRouterContext();
30
+ var href = props.href, className = props.className, otherProps = __rest(props, ["href", "className"]);
31
+ var linkClassName = classnames(styles.link, className);
32
+ return inRouterContext ? (React.createElement(Link, __assign({ to: href === null || href === void 0 ? void 0 : href.replace(window.location.origin, ''), className: linkClassName }, otherProps))) : (React.createElement("a", __assign({ href: href, className: linkClassName }, otherProps)));
33
+ };
34
+ export default InternalLink;
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"link">;
@@ -0,0 +1,7 @@
1
+ import { makeStyles } from '@material-ui/core/styles';
2
+ export var useStyles = makeStyles(function (theme) { return ({
3
+ link: {
4
+ color: theme.palette.primary.main,
5
+ textDecoration: 'none'
6
+ }
7
+ }); });
@@ -3,6 +3,7 @@ import { DefaultCellRenderer } from '../helpers';
3
3
  export var TableCell = function (_a) {
4
4
  var columnValue = _a.columnValue, rowData = _a.rowData, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn;
5
5
  var CellRenderer = rowData.cellRenderer || DefaultCellRenderer;
6
- return (React.createElement("td", { onMouseOver: function () { return setHoveredColumn(columnValue); }, onMouseLeave: resetHoveredColumn },
6
+ var onMouseOver = setHoveredColumn ? function () { return setHoveredColumn(columnValue); } : undefined;
7
+ return (React.createElement("td", { onMouseOver: onMouseOver, onMouseLeave: resetHoveredColumn },
7
8
  React.createElement(CellRenderer, { value: columnValue[rowData.id] })));
8
9
  };
@@ -56,7 +56,8 @@ export var TableCellWithDnd = function (_a) {
56
56
  drop(dropRef);
57
57
  drag(dragRef);
58
58
  }, []);
59
- return (React.createElement("td", { style: { opacity: opacity }, ref: dropRef, className: styles.tableData, "data-source-id": sourceId, "data-target-id": targetId, onMouseOver: function () { return setHoveredColumn(columnValue); }, onMouseLeave: resetHoveredColumn },
59
+ var onMouseOver = setHoveredColumn ? function () { return setHoveredColumn(columnValue); } : undefined;
60
+ return (React.createElement("td", { style: { opacity: opacity }, ref: dropRef, className: styles.tableData, "data-source-id": sourceId, "data-target-id": targetId, onMouseOver: onMouseOver, onMouseLeave: resetHoveredColumn },
60
61
  shouldRenderDragIndicator && (React.createElement("div", { ref: dragRef, className: styles.dragIndicator },
61
62
  React.createElement(DragIndicatorIcon, { className: styles.dragIndicatorIcon }))),
62
63
  React.createElement(CellRenderer, { value: columnValue[rowData.id] })));
@@ -10,6 +10,6 @@ export var TableRow = function (_a) {
10
10
  columnsData.map(function (columnValue, index) {
11
11
  var isDraggableColumn = columnValue.isDraggable;
12
12
  var shouldRenderDragIndicator = isFirstRow && isDraggableColumn;
13
- return onMoveColumn ? (React.createElement(TableCellWithDnd, { key: columnValue.id, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: shouldRenderDragIndicator, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (React.createElement(TableCell, { key: columnValue.id, rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
13
+ return onMoveColumn ? (React.createElement(TableCellWithDnd, { key: columnValue.id || index, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: shouldRenderDragIndicator, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (React.createElement(TableCell, { key: columnValue.id || index, rowData: rowData, columnValue: columnValue, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
14
14
  })));
15
15
  };
@@ -50,6 +50,6 @@ export var TableRowWithDnd = function (_a) {
50
50
  return (React.createElement("tr", { className: rowData.rowClassName, style: { opacity: opacity }, ref: dropRef, "data-target-id": targetId, "data-source-id": sourceId },
51
51
  React.createElement(TableHeadCell, { rowData: rowData, isDraggable: true, dragRef: dragRef }),
52
52
  columnsData.map(function (columnValue, index) {
53
- return onMoveColumn ? (React.createElement(TableCellWithDnd, { key: columnValue.id, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: false, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (React.createElement(TableCell, { key: columnValue.id, columnValue: columnValue, rowData: rowData, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
53
+ return onMoveColumn ? (React.createElement(TableCellWithDnd, { key: columnValue.id || index, columnValue: columnValue, rowData: rowData, index: index, onMoveColumn: onMoveColumn, shouldRenderDragIndicator: false, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (React.createElement(TableCell, { key: columnValue.id || index, columnValue: columnValue, rowData: rowData, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
54
54
  })));
55
55
  };
@@ -7,12 +7,13 @@ var VerticalHeadingsTable = function (_a) {
7
7
  var className = _a.className, rowsData = _a.rowsData, columnsData = _a.columnsData, _c = _a.theadRowsNumber, theadRowsNumber = _c === void 0 ? 0 : _c, onMoveRow = _a.onMoveRow, onMoveColumn = _a.onMoveColumn, setHoveredColumn = _a.setHoveredColumn, resetHoveredColumn = _a.resetHoveredColumn;
8
8
  var tableRef = useRef(null);
9
9
  var tableHeight = (_b = tableRef === null || tableRef === void 0 ? void 0 : tableRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight;
10
+ var isDNDActive = !!onMoveRow || !!onMoveColumn;
10
11
  return (React.createElement(React.Fragment, null,
11
- React.createElement(TableColumnDragLayer, { columnHeight: tableHeight }),
12
+ isDNDActive && React.createElement(TableColumnDragLayer, { columnHeight: tableHeight }),
12
13
  React.createElement("table", { ref: tableRef, className: className },
13
- theadRowsNumber > 0 && (React.createElement("thead", null, rowsData.slice(0, theadRowsNumber).map(function (rowData, index) { return (React.createElement(TableRow, { key: rowData.id, rowData: rowData, columnsData: columnsData, index: index, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })); }))),
14
+ theadRowsNumber > 0 && (React.createElement("thead", null, rowsData.slice(0, theadRowsNumber).map(function (rowData, index) { return (React.createElement(TableRow, { key: rowData.id || index, rowData: rowData, columnsData: columnsData, index: index, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })); }))),
14
15
  React.createElement("tbody", null, rowsData.slice(theadRowsNumber).map(function (rowData, index) {
15
- return onMoveRow ? (React.createElement(TableRowWithDnd, { key: rowData.id, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveRow: onMoveRow, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (React.createElement(TableRow, { key: rowData.id, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
16
+ return onMoveRow ? (React.createElement(TableRowWithDnd, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveRow: onMoveRow, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn })) : (React.createElement(TableRow, { key: rowData.id || index, index: index + theadRowsNumber, rowData: rowData, columnsData: columnsData, onMoveColumn: onMoveColumn, setHoveredColumn: setHoveredColumn, resetHoveredColumn: resetHoveredColumn }));
16
17
  })))));
17
18
  };
18
19
  export default memo(VerticalHeadingsTable);
@@ -27,6 +27,7 @@ import { findAttributeTypeByUri, getEntityLink, getLabel, getReferencedEntityUri
27
27
  import ComplexAttribute from '../ComplexAttribute/ComplexAttribute';
28
28
  import { isNil, map, pipe, reject } from 'ramda';
29
29
  import { ComplexAttributeLabel } from '../common/ComplexAttributeLabel';
30
+ import InternalLink from '../../../InternalLink/InternalLink';
30
31
  import { useStyles } from './styles';
31
32
  var ReferenceAttribute = function (_a) {
32
33
  var attributeValue = _a.attributeValue, attributeType = _a.attributeType, other = __rest(_a, ["attributeValue", "attributeType"]);
@@ -34,7 +35,7 @@ var ReferenceAttribute = function (_a) {
34
35
  var metadata = useSelector(mdmModule.selectors.getMetadata);
35
36
  var uiPath = useSelector(mdmModule.selectors.getUIPath);
36
37
  var entityLabel = (React.createElement(ComplexAttributeLabel, null,
37
- React.createElement("a", { href: getEntityLink({ uiPath: uiPath, uri: getReferencedEntityUriFromAttrValue(attributeValue) }), className: styles.label },
38
+ React.createElement(InternalLink, { href: getEntityLink({ uiPath: uiPath, uri: getReferencedEntityUriFromAttrValue(attributeValue) }) },
38
39
  getLabel(attributeValue.label),
39
40
  attributeValue.relationshipLabel && (React.createElement("span", { className: styles.relationshipLabel }, attributeValue.relationshipLabel)))));
40
41
  var attributeTypesList = pipe(getReferencedRelationAttrTypesUris, map(function (attrTypeUri) { return findAttributeTypeByUri(metadata, attrTypeUri); }), reject(isNil))(attributeType);
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "relationshipLabel">;
1
+ export declare const useStyles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"relationshipLabel">;
@@ -1,9 +1,5 @@
1
1
  import { makeStyles } from '@material-ui/core/styles';
2
2
  export var useStyles = makeStyles(function (theme) { return ({
3
- label: {
4
- color: theme.palette.primary.main,
5
- textDecoration: 'none'
6
- },
7
3
  relationshipLabel: {
8
4
  marginLeft: '4px',
9
5
  color: theme.palette.text.primary
@@ -5,6 +5,10 @@ declare type Props = {
5
5
  attributeType: AttributeType;
6
6
  expanded?: boolean;
7
7
  valueContainerClassName?: string;
8
+ LabelRenderer?: ({ attributeType: AttributeType, attributeValue: AttributeValue }: {
9
+ attributeType: any;
10
+ attributeValue: any;
11
+ }) => JSX.Element;
8
12
  };
9
- declare const _default: React.MemoExoticComponent<({ expanded, ...props }: Props) => JSX.Element>;
13
+ declare const _default: React.MemoExoticComponent<({ expanded, LabelRenderer, ...props }: Props) => JSX.Element>;
10
14
  export default _default;
@@ -30,12 +30,12 @@ var renderAttributesList = function (_a) {
30
30
  React.createElement(ReadOnlyAttribute, __assign({ attributeValue: attributeValue }, props)))); })));
31
31
  };
32
32
  var AttributeValuesBlock = function (_a) {
33
- var expanded = _a.expanded, props = __rest(_a, ["expanded"]);
33
+ var expanded = _a.expanded, LabelRenderer = _a.LabelRenderer, props = __rest(_a, ["expanded", "LabelRenderer"]);
34
34
  var attributeType = props.attributeType, values = props.values, valueContainerClassName = props.valueContainerClassName;
35
35
  switch (attributeType.type) {
36
36
  case DataTypes.TYPE_NESTED:
37
37
  case DataTypes.TYPE_REFERENCE: {
38
- return renderAttributesList(__assign({ expanded: expanded }, props));
38
+ return renderAttributesList(__assign({ expanded: expanded, LabelRenderer: LabelRenderer }, props));
39
39
  }
40
40
  case DataTypes.TYPE_IMAGE: {
41
41
  return (React.createElement("div", { className: valueContainerClassName },
@@ -22,7 +22,7 @@ var SpecialRenderer = function (_a) {
22
22
  return React.createElement(Roles, { className: className, values: values });
23
23
  }
24
24
  default: {
25
- //startDate, endDate
25
+ //startDate, endDate, "crosswalk" fake nested subattibutes
26
26
  return (React.createElement(Attribute, { className: className, attributeValue: { value: values[0] }, attributeType: attributeType, inlined: true }));
27
27
  }
28
28
  }
@@ -1,5 +1,5 @@
1
1
  export default ComplexAttribute;
2
- declare function ComplexAttribute({ attributeTypesList, attributeValue, label, expanded: expandedProp, children, showNonOv, attributeType }: {
2
+ declare function ComplexAttribute({ attributeTypesList, attributeValue, label, expanded: expandedProp, children, showNonOv, attributeType, LabelRenderer }: {
3
3
  attributeTypesList: any;
4
4
  attributeValue: any;
5
5
  label: any;
@@ -7,6 +7,7 @@ declare function ComplexAttribute({ attributeTypesList, attributeValue, label, e
7
7
  children: any;
8
8
  showNonOv: any;
9
9
  attributeType: any;
10
+ LabelRenderer: any;
10
11
  }): JSX.Element;
11
12
  declare namespace ComplexAttribute {
12
13
  namespace propTypes {
@@ -36,6 +37,7 @@ declare namespace ComplexAttribute {
36
37
  export const expanded: PropTypes.Requireable<boolean>;
37
38
  export const showNonOv: PropTypes.Requireable<boolean>;
38
39
  export { AttributeTypeType as attributeType };
40
+ export const LabelRenderer: PropTypes.Requireable<(...args: any[]) => any>;
39
41
  }
40
42
  }
41
43
  import PropTypes from "prop-types";
@@ -1,37 +1,53 @@
1
- import React, { useEffect, useMemo, useState } from 'react';
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, { useContext, useEffect, useMemo, useState } from 'react';
2
13
  import PropTypes from 'prop-types';
3
14
  import classnames from 'classnames';
4
- import { AttributeTypeType, isAnalyticAttribute, NestedAttributeValueType, ReferenceAttributeValueType, CollaborationObjectTypes, createRelatedObjectUris, isRelationAttrType } from '@reltio/mdm-sdk';
15
+ import { AttributeTypeType, areOneHierarchyUris, isAnalyticAttribute, NestedAttributeValueType, ReferenceAttributeValueType, CollaborationObjectTypes, createRelatedObjectUris, isRelationAttrType, isSpecialAttribute } from '@reltio/mdm-sdk';
5
16
  import Typography from '@material-ui/core/Typography';
6
17
  import AttributesList from '../AttributesList/AttributesList';
7
18
  import ArrowExpandButton from '../../../ArrowExpandButton/ArrowExpandButton';
8
19
  import CommentsContainer from '../../../CommentsContainer/CommentsContainer';
9
20
  import { COMMENTS_CONTAINER_VISIBILITY_AREA } from '../../../../constants/classnames';
10
21
  import { useStyles } from './styles';
22
+ import { HighlightedValuesContext } from '../../../../contexts';
11
23
  var ComplexAttribute = function (_a) {
12
- var attributeTypesList = _a.attributeTypesList, attributeValue = _a.attributeValue, label = _a.label, _b = _a.expanded, expandedProp = _b === void 0 ? false : _b, children = _a.children, showNonOv = _a.showNonOv, attributeType = _a.attributeType;
24
+ var _b;
25
+ var attributeTypesList = _a.attributeTypesList, attributeValue = _a.attributeValue, label = _a.label, _c = _a.expanded, expandedProp = _c === void 0 ? false : _c, children = _a.children, showNonOv = _a.showNonOv, attributeType = _a.attributeType, LabelRenderer = _a.LabelRenderer;
13
26
  var styles = useStyles();
14
27
  var uri = attributeValue.uri;
15
- var _c = useState(false), expanded = _c[0], setExpanded = _c[1];
28
+ var _d = useState(false), expanded = _d[0], setExpanded = _d[1];
29
+ var _e = useContext(HighlightedValuesContext), _f = _e.highlightedValuesUris, highlightedValuesUris = _f === void 0 ? [] : _f, highlightedClassName = _e.highlightedClassName;
16
30
  useEffect(function () {
17
31
  setExpanded(expandedProp);
18
32
  }, [expandedProp]);
19
33
  var hasAnalyticValue = (attributeTypesList || []).some(function (attributeType) { return isAnalyticAttribute(attributeType); });
20
- var attributeListEntity = useMemo(function () { return ({
21
- attributes: hasAnalyticValue ? null : attributeValue.value,
22
- analyticsAttributes: hasAnalyticValue ? attributeValue.value : null
23
- }); }, [attributeValue, hasAnalyticValue]);
34
+ var attributeListEntity = useMemo(function () { return (__assign({ attributes: hasAnalyticValue ? null : attributeValue.value, analyticsAttributes: hasAnalyticValue ? attributeValue.value : null }, (isSpecialAttribute(attributeType) ? attributeValue.value : {}))); }, [attributeValue, hasAnalyticValue, attributeType]);
24
35
  var objectType = isRelationAttrType(attributeType)
25
36
  ? CollaborationObjectTypes.RELATION_ATTRIBUTE
26
37
  : CollaborationObjectTypes.ENTITY_ATTRIBUTE;
27
38
  return (React.createElement("div", { className: styles.complexContainer },
28
39
  React.createElement("div", { className: classnames(styles.labelContainer, COMMENTS_CONTAINER_VISIBILITY_AREA) },
29
40
  React.createElement(ArrowExpandButton, { onClick: function () { return setExpanded(function (value) { return !value; }); }, expanded: expanded }),
30
- React.createElement(Typography, { component: "span", variant: "body2", classes: { body2: styles.label }, "data-reltio-id": "reltio-attribute-complex-label" }, label),
31
- React.createElement("div", { className: styles.spacer }),
32
- React.createElement(CommentsContainer, { uri: attributeValue.uri, relatedObjectUris: createRelatedObjectUris(objectType, {
33
- uri: attributeValue.uri
34
- }), objectType: objectType })),
41
+ LabelRenderer ? (React.createElement(LabelRenderer, { attributeType: attributeType, attributeValue: attributeValue })) : (React.createElement(React.Fragment, null,
42
+ React.createElement(Typography, { component: "span", variant: "body2", classes: { body2: styles.label }, className: classnames((_b = {},
43
+ _b[highlightedClassName] = highlightedValuesUris.some(function (uri) {
44
+ return areOneHierarchyUris(uri, attributeValue.uri);
45
+ }),
46
+ _b)), "data-reltio-id": "reltio-attribute-complex-label" }, label),
47
+ React.createElement("div", { className: styles.spacer }),
48
+ React.createElement(CommentsContainer, { uri: attributeValue.uri, relatedObjectUris: createRelatedObjectUris(objectType, {
49
+ uri: attributeValue.uri
50
+ }), objectType: objectType })))),
35
51
  expanded && (React.createElement(AttributesList, { attrTypes: attributeTypesList, entity: attributeListEntity, drawLines: true, parentUri: uri, showNonOv: showNonOv }, children))));
36
52
  };
37
53
  ComplexAttribute.propTypes = {
@@ -41,6 +57,7 @@ ComplexAttribute.propTypes = {
41
57
  attributeValue: PropTypes.oneOfType([NestedAttributeValueType, ReferenceAttributeValueType]),
42
58
  expanded: PropTypes.bool,
43
59
  showNonOv: PropTypes.bool,
44
- attributeType: AttributeTypeType
60
+ attributeType: AttributeTypeType,
61
+ LabelRenderer: PropTypes.func
45
62
  };
46
63
  export default ComplexAttribute;
@@ -21,11 +21,11 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import React, { memo, useContext, useMemo } from 'react';
24
- import classnames from 'classnames';
25
24
  import { getAttributeTypeSubAttributes, getEntityLink, getLabel, getReferencedEntityUriFromAttrValue, isEmptyValue, ReferenceAttributeType } from '@reltio/mdm-sdk';
26
25
  import { HistoryDiffContext } from '../../../../contexts';
27
26
  import ComplexAttribute from '../ComplexAttribute/ComplexAttribute';
28
27
  import { getHistoryAppearanceByUri, getHistoryAttributeClassName } from '../helpers/historyAppearance';
28
+ import InternalLink from '../../../InternalLink/InternalLink';
29
29
  import useStyles from './styles';
30
30
  var ReferenceAttribute = function (_a) {
31
31
  var attributeValue = _a.attributeValue, metadata = _a.metadata, attributeType = _a.attributeType, uiPath = _a.uiPath, otherProps = __rest(_a, ["attributeValue", "metadata", "attributeType", "uiPath"]);
@@ -39,7 +39,7 @@ var ReferenceAttribute = function (_a) {
39
39
  var entityLabel = useMemo(function () {
40
40
  var attributeAppearance = getHistoryAppearanceByUri(attributeValue.uri, appearance);
41
41
  var historyAttributesClassName = getHistoryAttributeClassName(attributeAppearance);
42
- return (React.createElement("a", { href: isEmptyValue(appearance) ? getEntityLink({ uiPath: uiPath, uri: refEntityURI }) : undefined, className: classnames(styles.label, styles[historyAttributesClassName]) },
42
+ return (React.createElement(InternalLink, { href: isEmptyValue(appearance) ? getEntityLink({ uiPath: uiPath, uri: refEntityURI }) : undefined, className: styles[historyAttributesClassName] },
43
43
  getLabel(attributeValue.label),
44
44
  attributeValue.relationshipLabel && (React.createElement("span", { className: styles.relationshipLabel }, attributeValue.relationshipLabel))));
45
45
  }, [
@@ -1,2 +1,2 @@
1
1
  export default styles;
2
- declare const styles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"label" | "relationshipLabel" | "updateAttribute" | "insertAttribute" | "deleteAttribute">;
2
+ declare const styles: (props?: any) => import("@material-ui/core/styles/withStyles").ClassNameMap<"relationshipLabel" | "updateAttribute" | "insertAttribute" | "deleteAttribute">;
@@ -12,10 +12,6 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { makeStyles } from '@material-ui/core/styles';
13
13
  import { HistoryOperations, historyPalettes } from '../helpers/historyAppearance';
14
14
  var styles = makeStyles(function (theme) { return ({
15
- label: {
16
- color: theme.palette.primary.main,
17
- textDecoration: 'none'
18
- },
19
15
  relationshipLabel: {
20
16
  marginLeft: '4px',
21
17
  color: theme.palette.text.primary
@@ -8,10 +8,12 @@ import DataTypeValue from '../../../DataTypeValue/DataTypeValue';
8
8
  import { PivotingTooltip } from '../../PivotingAttributes/PivotingTooltip';
9
9
  import { getHistoryAppearanceByUri, getHistoryAttributeClassName } from '../helpers/historyAppearance';
10
10
  import { useStyles } from './styles';
11
+ import { HighlightedValuesContext } from '../../../../contexts';
11
12
  var SimpleAttribute = function (_a) {
12
- var _b;
13
- var className = _a.className, _c = _a.attributeType, attributeType = _c === void 0 ? null : _c, attributeValue = _a.attributeValue, inlined = _a.inlined;
13
+ var _b, _c, _d;
14
+ var className = _a.className, _e = _a.attributeType, attributeType = _e === void 0 ? null : _e, attributeValue = _a.attributeValue, inlined = _a.inlined;
14
15
  var styles = useStyles();
16
+ var _f = useContext(HighlightedValuesContext), _g = _f.highlightedValuesUris, highlightedValuesUris = _g === void 0 ? [] : _g, highlightedClassName = _f.highlightedClassName;
15
17
  var appearance = useContext(HistoryDiffContext).appearance;
16
18
  var attributeAppearance = getHistoryAppearanceByUri(attributeValue.uri, appearance);
17
19
  var historyClassName = getHistoryAttributeClassName(attributeAppearance);
@@ -19,9 +21,13 @@ var SimpleAttribute = function (_a) {
19
21
  var objectType = isRelationAttrType(attributeType)
20
22
  ? CollaborationObjectTypes.RELATION_ATTRIBUTE
21
23
  : CollaborationObjectTypes.ENTITY_ATTRIBUTE;
22
- return inlined || historyClassName ? (React.createElement("div", { className: className },
23
- React.createElement(PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri, className: classnames((_b = {}, _b[styles.multilineAttribute] = !inlined, _b)) },
24
- React.createElement("span", { className: styles[historyClassName], "data-reltio-id": "reltio-attribute-value" }, dataTypeValue)))) : (React.createElement("div", { className: classnames(className, styles.root, COMMENTS_CONTAINER_VISIBILITY_AREA) },
24
+ return inlined || historyClassName ? (React.createElement("div", { className: classnames(className, (_b = {},
25
+ _b[highlightedClassName] = highlightedValuesUris.includes(attributeValue.uri),
26
+ _b)) },
27
+ React.createElement(PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri, className: classnames((_c = {}, _c[styles.multilineAttribute] = !inlined, _c)) },
28
+ React.createElement("span", { className: styles[historyClassName], "data-reltio-id": "reltio-attribute-value" }, dataTypeValue)))) : (React.createElement("div", { className: classnames(className, styles.root, COMMENTS_CONTAINER_VISIBILITY_AREA, (_d = {},
29
+ _d[highlightedClassName] = highlightedValuesUris.includes(attributeValue.uri),
30
+ _d)) },
25
31
  React.createElement(PivotingTooltip, { value: attributeValue, attributeType: attributeType, key: attributeValue.uri },
26
32
  React.createElement("span", { className: styles.attributeValue, "data-reltio-id": "reltio-attribute-value" }, dataTypeValue)),
27
33
  React.createElement(CommentsContainer, { className: styles.commentsContainer, uri: attributeValue.uri, relatedObjectUris: createRelatedObjectUris(objectType, {
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from 'react';
2
- import Link from '@material-ui/core/Link';
2
+ import InternalLink from '../../../../InternalLink/InternalLink';
3
3
  import { useSelector } from 'react-redux';
4
4
  import mdmModule from '@reltio/mdm-module';
5
5
  import { getDataTenantEntityUri, getTagLink } from '@reltio/mdm-sdk';
@@ -16,7 +16,7 @@ var Tag = function (_a) {
16
16
  var attributeAppearance = getHistoryAppearanceBySpecialAttributeValue('tags', value, appearance);
17
17
  var historyClassName = getHistoryAttributeClassName(attributeAppearance);
18
18
  var entity = ownEntity || currentEntity;
19
- return (React.createElement(Link, { underline: "none", className: styles[historyClassName], href: getTagLink({
19
+ return (React.createElement(InternalLink, { className: styles[historyClassName], href: getTagLink({
20
20
  uiPath: uiPath,
21
21
  tag: value,
22
22
  entityUri: entity.dataTenant ? getDataTenantEntityUri(entity) : entity.uri
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const HighlightedValuesContext: React.Context<{
3
+ highlightedValuesUris: string[];
4
+ highlightedClassName: string;
5
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export var HighlightedValuesContext = React.createContext({
3
+ highlightedValuesUris: [],
4
+ highlightedClassName: ''
5
+ });
6
+ HighlightedValuesContext.displayName = 'HighlightedValuesContext';
@@ -19,3 +19,4 @@ export { SandboxAPIContext } from './SandboxAPIContext';
19
19
  export { useReloadAllFacets, ReloadFacetProvider, useReloadFacet } from './ReloadFacetContext';
20
20
  export { SearchFiltersContext } from './SearchFiltersContext';
21
21
  export { SnackbarContext } from './SnackbarContext';
22
+ export { HighlightedValuesContext } from './HighlightedValuesContext';
@@ -19,3 +19,4 @@ export { SandboxAPIContext } from './SandboxAPIContext';
19
19
  export { useReloadAllFacets, ReloadFacetProvider, useReloadFacet } from './ReloadFacetContext';
20
20
  export { SearchFiltersContext } from './SearchFiltersContext';
21
21
  export { SnackbarContext } from './SnackbarContext';
22
+ export { HighlightedValuesContext } from './HighlightedValuesContext';
@@ -15,8 +15,9 @@ declare type Props = {
15
15
  order: string;
16
16
  field: string;
17
17
  };
18
+ markMatchedValues?: boolean;
18
19
  };
19
- export declare const useMatchesLoader: ({ enabled, entity, filter, onFinishLoading, onStartLoading, options, page, rowsPerPage, sorting }: Props) => {
20
+ export declare const useMatchesLoader: ({ enabled, entity, filter, onFinishLoading, onStartLoading, options, page, rowsPerPage, sorting, markMatchedValues }: Props) => {
20
21
  total: number;
21
22
  matches: PotentialMatch[];
22
23
  entitiesMap: {
@@ -6,7 +6,7 @@ import { usePagingSimulator } from './usePagingSimulator';
6
6
  import { useSafePromise } from './useSafePromise';
7
7
  import { prop } from 'ramda';
8
8
  export var useMatchesLoader = function (_a) {
9
- var enabled = _a.enabled, entity = _a.entity, filter = _a.filter, onFinishLoading = _a.onFinishLoading, onStartLoading = _a.onStartLoading, options = _a.options, page = _a.page, rowsPerPage = _a.rowsPerPage, sorting = _a.sorting;
9
+ var enabled = _a.enabled, entity = _a.entity, filter = _a.filter, onFinishLoading = _a.onFinishLoading, onStartLoading = _a.onStartLoading, options = _a.options, page = _a.page, rowsPerPage = _a.rowsPerPage, sorting = _a.sorting, markMatchedValues = _a.markMatchedValues;
10
10
  var _b = sorting || {}, order = _b.order, field = _b.field;
11
11
  var _c = useState(0), total = _c[0], setTotal = _c[1];
12
12
  var _d = useState([]), matches = _d[0], setMatches = _d[1];
@@ -61,6 +61,7 @@ export var useMatchesLoader = function (_a) {
61
61
  sort: field,
62
62
  order: order,
63
63
  force: force,
64
+ markMatchedValues: markMatchedValues,
64
65
  deep: options.showTransitiveMatches ? undefined : 1,
65
66
  activeness: activeness
66
67
  }))
@@ -84,6 +85,7 @@ export var useMatchesLoader = function (_a) {
84
85
  entityUri,
85
86
  field,
86
87
  filter,
88
+ markMatchedValues,
87
89
  getPagedMatchesForDataTenantEntity,
88
90
  getTransitiveMatchesWithPaging,
89
91
  onFinishLoading,
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1124",
3
+ "version": "1.4.1128-hf",
4
4
  "license": "SEE LICENSE IN LICENSE FILE",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
7
7
  "dependencies": {
8
8
  "@date-io/moment": "^1.3.5",
9
9
  "@react-google-maps/api": "2.7.0",
10
- "@reltio/mdm-module": "^1.4.1124",
11
- "@reltio/mdm-sdk": "^1.4.1124",
10
+ "@reltio/mdm-module": "^1.4.1128-hf",
11
+ "@reltio/mdm-sdk": "^1.4.1128-hf",
12
12
  "classnames": "^2.2.5",
13
13
  "d3-cloud": "^1.2.5",
14
14
  "d3-geo": "^2.0.1",
@@ -29,6 +29,7 @@
29
29
  "react-number-format": "^4.3.0",
30
30
  "react-redux": "^7.2.3",
31
31
  "react-resize-detector": "^4.2.0",
32
+ "react-router-dom": "^6.2.1",
32
33
  "react-select": "^3.0.4",
33
34
  "react-simple-maps": "^2.3.0",
34
35
  "react-split-pane": "^0.1.89",