@reltio/components 1.4.1126 → 1.4.1128

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 (43) 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 +25 -15
  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/SpecialAttributes/Tags/Tag.js +2 -2
  22. package/esm/components/InternalLink/InternalLink.d.ts +3 -0
  23. package/esm/components/InternalLink/InternalLink.js +34 -0
  24. package/esm/components/InternalLink/styles.d.ts +1 -0
  25. package/esm/components/InternalLink/styles.js +7 -0
  26. package/esm/components/VerticalHeadingsTable/TableCell/TableCell.js +2 -1
  27. package/esm/components/VerticalHeadingsTable/TableCellWithDnd/TableCellWithDnd.js +2 -1
  28. package/esm/components/VerticalHeadingsTable/TableRow/TableRow.js +1 -1
  29. package/esm/components/VerticalHeadingsTable/TableRowWithDnd/TableRowWithDnd.js +1 -1
  30. package/esm/components/VerticalHeadingsTable/VerticalHeadingsTable.js +4 -3
  31. package/esm/components/attributes/inline/ReferenceAttribute/ReferenceAttribute.js +2 -1
  32. package/esm/components/attributes/inline/ReferenceAttribute/styles.d.ts +1 -1
  33. package/esm/components/attributes/inline/ReferenceAttribute/styles.js +0 -4
  34. package/esm/components/attributes/readMode/AttributeValuesBlock/AttributeValuesBlock.d.ts +5 -1
  35. package/esm/components/attributes/readMode/AttributeValuesBlock/AttributeValuesBlock.js +2 -2
  36. package/esm/components/attributes/readMode/AttributesPager/SpecialRenderer.js +1 -1
  37. package/esm/components/attributes/readMode/ComplexAttribute/ComplexAttribute.d.ts +3 -1
  38. package/esm/components/attributes/readMode/ComplexAttribute/ComplexAttribute.js +26 -16
  39. package/esm/components/attributes/readMode/ReferenceAttribute/ReferenceAttribute.js +2 -2
  40. package/esm/components/attributes/readMode/ReferenceAttribute/styles.d.ts +1 -1
  41. package/esm/components/attributes/readMode/ReferenceAttribute/styles.js +0 -4
  42. package/esm/components/attributes/readMode/SpecialAttributes/Tags/Tag.js +2 -2
  43. 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]; } });
@@ -35,7 +46,7 @@ var styles_1 = require("./styles");
35
46
  var contexts_1 = require("../../../../contexts");
36
47
  var ComplexAttribute = function (_a) {
37
48
  var _b;
38
- 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;
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;
39
50
  var styles = styles_1.useStyles();
40
51
  var uri = attributeValue.uri;
41
52
  var _d = react_1.useState(false), expanded = _d[0], setExpanded = _d[1];
@@ -44,25 +55,23 @@ var ComplexAttribute = function (_a) {
44
55
  setExpanded(expandedProp);
45
56
  }, [expandedProp]);
46
57
  var hasAnalyticValue = (attributeTypesList || []).some(function (attributeType) { return mdm_sdk_1.isAnalyticAttribute(attributeType); });
47
- var attributeListEntity = react_1.useMemo(function () { return ({
48
- attributes: hasAnalyticValue ? null : attributeValue.value,
49
- analyticsAttributes: hasAnalyticValue ? attributeValue.value : null
50
- }); }, [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]);
51
59
  var objectType = mdm_sdk_1.isRelationAttrType(attributeType)
52
60
  ? mdm_sdk_1.CollaborationObjectTypes.RELATION_ATTRIBUTE
53
61
  : mdm_sdk_1.CollaborationObjectTypes.ENTITY_ATTRIBUTE;
54
62
  return (react_1.default.createElement("div", { className: styles.complexContainer },
55
63
  react_1.default.createElement("div", { className: classnames_1.default(styles.labelContainer, classnames_2.COMMENTS_CONTAINER_VISIBILITY_AREA) },
56
64
  react_1.default.createElement(ArrowExpandButton_1.default, { onClick: function () { return setExpanded(function (value) { return !value; }); }, expanded: expanded }),
57
- react_1.default.createElement(Typography_1.default, { component: "span", variant: "body2", classes: { body2: styles.label }, className: classnames_1.default((_b = {},
58
- _b[highlightedClassName] = highlightedValuesUris.some(function (uri) {
59
- return mdm_sdk_1.areOneHierarchyUris(uri, attributeValue.uri);
60
- }),
61
- _b)), "data-reltio-id": "reltio-attribute-complex-label" }, label),
62
- react_1.default.createElement("div", { className: styles.spacer }),
63
- react_1.default.createElement(CommentsContainer_1.default, { uri: attributeValue.uri, relatedObjectUris: mdm_sdk_1.createRelatedObjectUris(objectType, {
64
- uri: attributeValue.uri
65
- }), 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 })))),
66
75
  expanded && (react_1.default.createElement(AttributesList_1.default, { attrTypes: attributeTypesList, entity: attributeListEntity, drawLines: true, parentUri: uri, showNonOv: showNonOv }, children))));
67
76
  };
68
77
  ComplexAttribute.propTypes = {
@@ -72,6 +81,7 @@ ComplexAttribute.propTypes = {
72
81
  attributeValue: prop_types_1.default.oneOfType([mdm_sdk_1.NestedAttributeValueType, mdm_sdk_1.ReferenceAttributeValueType]),
73
82
  expanded: prop_types_1.default.bool,
74
83
  showNonOv: prop_types_1.default.bool,
75
- attributeType: mdm_sdk_1.AttributeTypeType
84
+ attributeType: mdm_sdk_1.AttributeTypeType,
85
+ LabelRenderer: prop_types_1.default.func
76
86
  };
77
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
@@ -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,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,7 +1,18 @@
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
+ };
1
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, areOneHierarchyUris } 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';
@@ -11,7 +22,7 @@ import { useStyles } from './styles';
11
22
  import { HighlightedValuesContext } from '../../../../contexts';
12
23
  var ComplexAttribute = function (_a) {
13
24
  var _b;
14
- 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;
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;
15
26
  var styles = useStyles();
16
27
  var uri = attributeValue.uri;
17
28
  var _d = useState(false), expanded = _d[0], setExpanded = _d[1];
@@ -20,25 +31,23 @@ var ComplexAttribute = function (_a) {
20
31
  setExpanded(expandedProp);
21
32
  }, [expandedProp]);
22
33
  var hasAnalyticValue = (attributeTypesList || []).some(function (attributeType) { return isAnalyticAttribute(attributeType); });
23
- var attributeListEntity = useMemo(function () { return ({
24
- attributes: hasAnalyticValue ? null : attributeValue.value,
25
- analyticsAttributes: hasAnalyticValue ? attributeValue.value : null
26
- }); }, [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]);
27
35
  var objectType = isRelationAttrType(attributeType)
28
36
  ? CollaborationObjectTypes.RELATION_ATTRIBUTE
29
37
  : CollaborationObjectTypes.ENTITY_ATTRIBUTE;
30
38
  return (React.createElement("div", { className: styles.complexContainer },
31
39
  React.createElement("div", { className: classnames(styles.labelContainer, COMMENTS_CONTAINER_VISIBILITY_AREA) },
32
40
  React.createElement(ArrowExpandButton, { onClick: function () { return setExpanded(function (value) { return !value; }); }, expanded: expanded }),
33
- React.createElement(Typography, { component: "span", variant: "body2", classes: { body2: styles.label }, className: classnames((_b = {},
34
- _b[highlightedClassName] = highlightedValuesUris.some(function (uri) {
35
- return areOneHierarchyUris(uri, attributeValue.uri);
36
- }),
37
- _b)), "data-reltio-id": "reltio-attribute-complex-label" }, label),
38
- React.createElement("div", { className: styles.spacer }),
39
- React.createElement(CommentsContainer, { uri: attributeValue.uri, relatedObjectUris: createRelatedObjectUris(objectType, {
40
- uri: attributeValue.uri
41
- }), 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 })))),
42
51
  expanded && (React.createElement(AttributesList, { attrTypes: attributeTypesList, entity: attributeListEntity, drawLines: true, parentUri: uri, showNonOv: showNonOv }, children))));
43
52
  };
44
53
  ComplexAttribute.propTypes = {
@@ -48,6 +57,7 @@ ComplexAttribute.propTypes = {
48
57
  attributeValue: PropTypes.oneOfType([NestedAttributeValueType, ReferenceAttributeValueType]),
49
58
  expanded: PropTypes.bool,
50
59
  showNonOv: PropTypes.bool,
51
- attributeType: AttributeTypeType
60
+ attributeType: AttributeTypeType,
61
+ LabelRenderer: PropTypes.func
52
62
  };
53
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
@@ -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
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@reltio/components",
3
- "version": "1.4.1126",
3
+ "version": "1.4.1128",
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.1126",
11
- "@reltio/mdm-sdk": "^1.4.1126",
10
+ "@reltio/mdm-module": "^1.4.1128",
11
+ "@reltio/mdm-sdk": "^1.4.1128",
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",