@reltio/components 1.4.1964 → 1.4.1966
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ChartsFactory/BasicChartsFactory.d.ts +8 -0
- package/cjs/ChartsFactory/BasicChartsFactory.js +37 -0
- package/cjs/ChartsFactory/ChartsFactory.js +3 -4
- package/cjs/ChartsFactory/index.d.ts +1 -0
- package/cjs/ChartsFactory/index.js +3 -1
- package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +52 -23
- package/cjs/SimpleAttributeEditor/useAttributeValuePermissions.js +8 -2
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +8 -7
- package/esm/ChartsFactory/BasicChartsFactory.d.ts +8 -0
- package/esm/ChartsFactory/BasicChartsFactory.js +31 -0
- package/esm/ChartsFactory/ChartsFactory.js +3 -4
- package/esm/ChartsFactory/index.d.ts +1 -0
- package/esm/ChartsFactory/index.js +1 -0
- package/esm/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +52 -23
- package/esm/SimpleAttributeEditor/useAttributeValuePermissions.js +8 -2
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BarChart } from '../BarChart';
|
|
3
|
+
import { PieChart } from '../PieChart';
|
|
4
|
+
type ChartProps = React.ComponentProps<typeof BarChart> | React.ComponentProps<typeof PieChart>;
|
|
5
|
+
export declare class BasicChartsFactory {
|
|
6
|
+
static build(props: ChartProps): React.JSX.Element;
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.BasicChartsFactory = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
20
|
+
var BarChart_1 = require("../BarChart");
|
|
21
|
+
var PieChart_1 = require("../PieChart");
|
|
22
|
+
var BasicChartsFactory = /** @class */ (function () {
|
|
23
|
+
function BasicChartsFactory() {
|
|
24
|
+
}
|
|
25
|
+
BasicChartsFactory.build = function (props) {
|
|
26
|
+
switch (props.chartType) {
|
|
27
|
+
case mdm_sdk_1.ChartType.BAR:
|
|
28
|
+
return react_1.default.createElement(BarChart_1.BarChart, __assign({}, props));
|
|
29
|
+
case mdm_sdk_1.ChartType.PIE:
|
|
30
|
+
return react_1.default.createElement(PieChart_1.PieChart, __assign({}, props));
|
|
31
|
+
default:
|
|
32
|
+
return react_1.default.createElement("div", null);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return BasicChartsFactory;
|
|
36
|
+
}());
|
|
37
|
+
exports.BasicChartsFactory = BasicChartsFactory;
|
|
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.ChartsFactory = void 0;
|
|
18
18
|
var react_1 = __importDefault(require("react"));
|
|
19
19
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
20
|
-
var BarChart_1 = require("../BarChart");
|
|
21
20
|
var PieChart_1 = require("../PieChart");
|
|
22
21
|
var TreeChart_1 = require("../TreeChart");
|
|
23
22
|
var TableWithBars_1 = require("../TableWithBars");
|
|
@@ -25,17 +24,17 @@ var BubbleChart_1 = require("../BubbleChart");
|
|
|
25
24
|
var LineChart_1 = require("../LineChart");
|
|
26
25
|
var MapChart_1 = require("../MapChart");
|
|
27
26
|
var CloudChart_1 = require("../CloudChart");
|
|
27
|
+
var BasicChartsFactory_1 = require("./BasicChartsFactory");
|
|
28
28
|
var ChartsFactory = /** @class */ (function () {
|
|
29
29
|
function ChartsFactory() {
|
|
30
30
|
}
|
|
31
31
|
ChartsFactory.build = function (props) {
|
|
32
32
|
switch (props.chartType) {
|
|
33
33
|
case mdm_sdk_1.ChartType.BAR:
|
|
34
|
-
|
|
34
|
+
case mdm_sdk_1.ChartType.PIE:
|
|
35
|
+
return BasicChartsFactory_1.BasicChartsFactory.build(props);
|
|
35
36
|
case mdm_sdk_1.ChartType.DONUT:
|
|
36
37
|
return react_1.default.createElement(PieChart_1.PieChart, __assign({ isDonut: true }, props));
|
|
37
|
-
case mdm_sdk_1.ChartType.PIE:
|
|
38
|
-
return react_1.default.createElement(PieChart_1.PieChart, __assign({}, props));
|
|
39
38
|
case mdm_sdk_1.ChartType.TREE:
|
|
40
39
|
return react_1.default.createElement(TreeChart_1.TreeChart, __assign({}, props));
|
|
41
40
|
case mdm_sdk_1.ChartType.TABLE:
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChartsFactory = void 0;
|
|
3
|
+
exports.BasicChartsFactory = exports.ChartsFactory = void 0;
|
|
4
4
|
var ChartsFactory_1 = require("./ChartsFactory");
|
|
5
5
|
Object.defineProperty(exports, "ChartsFactory", { enumerable: true, get: function () { return ChartsFactory_1.ChartsFactory; } });
|
|
6
|
+
var BasicChartsFactory_1 = require("./BasicChartsFactory");
|
|
7
|
+
Object.defineProperty(exports, "BasicChartsFactory", { enumerable: true, get: function () { return BasicChartsFactory_1.BasicChartsFactory; } });
|
|
@@ -15,23 +15,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var react_2 = require("@testing-library/react");
|
|
18
19
|
var SimpleAttributeEditor_1 = __importDefault(require("./SimpleAttributeEditor"));
|
|
19
|
-
var enzyme_1 = require("enzyme");
|
|
20
20
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
21
21
|
var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
|
|
22
|
+
var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
|
|
22
23
|
jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { checkMetadataPermission: function () { return false; } })); });
|
|
23
24
|
var mdmValues = {
|
|
24
25
|
dependentLookups: {
|
|
25
26
|
editors: {}
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
|
-
var findActionButtons = function (component) {
|
|
29
|
-
return component.findWhere(function (n) { return n.prop('className') && n.prop('className').includes('editor-actions'); }).children();
|
|
30
|
-
};
|
|
31
29
|
describe('SimpleAttributeEditor without permissions', function () {
|
|
32
30
|
var onAddFn = jest.fn();
|
|
33
31
|
var onDeleteFn = jest.fn();
|
|
34
32
|
var onChangeFn = jest.fn();
|
|
33
|
+
var defaultProps = {
|
|
34
|
+
mode: mdm_sdk_1.Mode.Editing,
|
|
35
|
+
isReltioCrosswalk: true,
|
|
36
|
+
onAddAttributes: onAddFn,
|
|
37
|
+
onDeleteAttribute: onDeleteFn,
|
|
38
|
+
onChangeAttribute: onChangeFn
|
|
39
|
+
};
|
|
40
|
+
var setUp = function (_a) {
|
|
41
|
+
var props = _a.props, _b = _a.alwaysVisibleAttributes, alwaysVisibleAttributes = _b === void 0 ? [] : _b;
|
|
42
|
+
return (0, react_2.render)(react_1.default.createElement(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext.Provider, { value: alwaysVisibleAttributes },
|
|
43
|
+
react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
|
|
44
|
+
react_1.default.createElement(SimpleAttributeEditor_1.default, __assign({}, defaultProps, props)))));
|
|
45
|
+
};
|
|
35
46
|
it('should render just text, if there is only READ permission', function () {
|
|
36
47
|
var props = {
|
|
37
48
|
attributeValue: {
|
|
@@ -42,17 +53,11 @@ describe('SimpleAttributeEditor without permissions', function () {
|
|
|
42
53
|
access: ['READ'],
|
|
43
54
|
type: 'String',
|
|
44
55
|
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
45
|
-
}
|
|
46
|
-
mode: mdm_sdk_1.Mode.Editing,
|
|
47
|
-
isReltioCrosswalk: true,
|
|
48
|
-
onAddAttributes: onAddFn,
|
|
49
|
-
onDeleteAttribute: onDeleteFn,
|
|
50
|
-
onChangeAttribute: onChangeFn
|
|
56
|
+
}
|
|
51
57
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
expect(
|
|
55
|
-
expect(findActionButtons(simpleAttributeEditor).length).toBe(0);
|
|
58
|
+
setUp({ props: props });
|
|
59
|
+
expect(react_2.screen.getByText('some string')).toBeInTheDocument();
|
|
60
|
+
expect(react_2.screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
|
|
56
61
|
});
|
|
57
62
|
it('should render text and DELETE button, if there are only READ and DELETE permission', function () {
|
|
58
63
|
var props = {
|
|
@@ -64,16 +69,40 @@ describe('SimpleAttributeEditor without permissions', function () {
|
|
|
64
69
|
access: ['READ', 'DELETE'],
|
|
65
70
|
type: 'String',
|
|
66
71
|
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
setUp({ props: props });
|
|
75
|
+
expect(react_2.screen.getByText('some string')).toBeInTheDocument();
|
|
76
|
+
expect(react_2.screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
|
|
77
|
+
});
|
|
78
|
+
it('should render always visible attribute without value correct, if there are only READ permission', function () {
|
|
79
|
+
var props = {
|
|
80
|
+
attributeValue: {
|
|
81
|
+
uri: 'uri$$'
|
|
67
82
|
},
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
83
|
+
attributeType: {
|
|
84
|
+
access: ['READ'],
|
|
85
|
+
type: 'String',
|
|
86
|
+
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
|
|
90
|
+
expect(react_2.screen.queryByRole('textbox')).not.toBeInTheDocument();
|
|
91
|
+
expect(react_2.screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
|
|
92
|
+
});
|
|
93
|
+
it('should render always visible attribute without value correct, if there are only READ and DELETE permission', function () {
|
|
94
|
+
var props = {
|
|
95
|
+
attributeValue: {
|
|
96
|
+
uri: 'uri$$'
|
|
97
|
+
},
|
|
98
|
+
attributeType: {
|
|
99
|
+
access: ['READ', 'DELETE'],
|
|
100
|
+
type: 'String',
|
|
101
|
+
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
102
|
+
}
|
|
73
103
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
expect(
|
|
77
|
-
expect(findActionButtons(simpleAttributeEditor).length).toBe(1);
|
|
104
|
+
setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
|
|
105
|
+
expect(react_2.screen.queryByRole('textbox')).not.toBeInTheDocument();
|
|
106
|
+
expect(react_2.screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
|
|
78
107
|
});
|
|
79
108
|
});
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useAttributeValuePermissions = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
4
5
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
5
6
|
var ConfigPermissionsContext_1 = require("../contexts/ConfigPermissionsContext");
|
|
7
|
+
var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
|
|
6
8
|
var useAttributeValuePermissions = function (_a) {
|
|
7
9
|
var attributeType = _a.attributeType, attributeValue = _a.attributeValue, isReltioCrosswalk = _a.isReltioCrosswalk, mode = _a.mode;
|
|
8
10
|
var _b = (0, ConfigPermissionsContext_1.useAttributeValueConfigPermissions)(attributeValue.uri), configCanCreate = _b.canCreate, configCanUpdate = _b.canUpdate, configCanDelete = _b.canDelete;
|
|
11
|
+
var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
|
|
12
|
+
var isAlwaysVisible = (0, react_1.useMemo)(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
|
|
9
13
|
var canCreate = configCanCreate && (0, mdm_sdk_1.checkCanCreateAttribute)({ attributeType: attributeType, mode: mode });
|
|
10
|
-
var canEdit = configCanUpdate &&
|
|
11
|
-
|
|
14
|
+
var canEdit = configCanUpdate &&
|
|
15
|
+
(0, mdm_sdk_1.checkCanEditAttribute)({ attributeType: attributeType, attributeValue: attributeValue, mode: mode, isReltioCrosswalk: isReltioCrosswalk, isAlwaysVisible: isAlwaysVisible });
|
|
16
|
+
var canDelete = configCanDelete &&
|
|
17
|
+
(0, mdm_sdk_1.checkCanDeleteAttribute)({ attributeType: attributeType, attributeValue: attributeValue, mode: mode, isReltioCrosswalk: isReltioCrosswalk, isAlwaysVisible: isAlwaysVisible });
|
|
12
18
|
return { canCreate: canCreate, canEdit: canEdit, canDelete: canDelete };
|
|
13
19
|
};
|
|
14
20
|
exports.useAttributeValuePermissions = useAttributeValuePermissions;
|
package/cjs/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { BasicViewContent } from './BasicViewContent';
|
|
|
20
20
|
export { BasicViewHeader } from './BasicViewHeader';
|
|
21
21
|
export { BranchDecorator } from './BranchDecorator';
|
|
22
22
|
export { CardinalityMessage } from './CardinalityMessage';
|
|
23
|
-
export { ChartsFactory } from './ChartsFactory';
|
|
23
|
+
export { ChartsFactory, BasicChartsFactory } from './ChartsFactory';
|
|
24
24
|
export { CollapseRowButton } from './CollapseRowButton';
|
|
25
25
|
export { ColorBar } from './ColorBar';
|
|
26
26
|
export { ColumnsSettings, ColumnsSettingsPopup } from './ColumnsSettings';
|
package/cjs/index.js
CHANGED
|
@@ -14,13 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = void 0;
|
|
17
|
+
exports.NestedAttributeEditor = exports.NestedAttribute = exports.MoreAttributesButton = exports.InlineReferenceAttribute = exports.InlineNestedAttribute = exports.InlineImageAttribute = exports.InlineAttributesPager = exports.InfoIcon = exports.EditableImageAttributesLine = exports.FilterButton = exports.FacetViewHeader = exports.ExpandedValueTooltip = exports.EntitySelector = exports.EntityCreator = exports.AttributesPager = exports.AttributesList = exports.EditableAttribute = exports.DropDownMenuButton = exports.DescriptionIcon = exports.DefaultCellValueRenderer = exports.ControlAttributeIcon = exports.ColumnsSettingsPopup = exports.ColumnsSettings = exports.ColorBar = exports.CollapseRowButton = exports.BasicChartsFactory = exports.ChartsFactory = exports.CardinalityMessage = exports.BranchDecorator = exports.BasicViewHeader = exports.BasicViewContent = exports.BasicView = exports.BasicTablePagination = exports.basicTableViewState = exports.BasicTable = exports.BasicAttributeSelector = exports.BarChart = exports.AvatarWithFallback = exports.AutoSizeList = exports.AttributesView = exports.AttributesValuesEditor = exports.AttributesFiltersButton = exports.AttributesFiltersBuilder = exports.AttributesFilterSelector = exports.AttributesErrorsPanel = exports.AttributeListItem = exports.AttributeGroupIcon = exports.ArrowExpandButton = exports.ActionsPanel = exports.ActionButton = void 0;
|
|
18
|
+
exports.ConnectionEditor = exports.DropDownSelector = exports.ReactSelectOptionWithCheckIcon = exports.ReactSelectMenuWithPopper = exports.ReactSelectMenuList = exports.ReactSelectLoadMoreButton = exports.ReactSelectDropdownIndicatorWithIconButton = exports.ReactSelectDropdownIndicator = exports.Highlighter = exports.HierarchyNodeTitle = exports.HierarchicalAttributeTooltip = exports.HideOnShrink = exports.ExpandableSearchInput = exports.ErrorPopup = exports.ErrorBoundary = exports.EntityUriLink = exports.EntityTypesSelector = exports.EntityTypeIcon = exports.EntityTypeBadge = exports.EntityAvatar = exports.EMPTY_STATE_VARIANTS = exports.EMPTY_STATE_ICONS = exports.EmptyState = exports.Drawer = exports.DataTypeValue = exports.DataTenantBadge = exports.ConnectionRelationTypeSelector = exports.CollaborationItem = exports.ConfirmationDialog = exports.CommentsContainer = exports.ColoredSourceIcon = exports.CollapseButton = exports.TreeChart = exports.TableWithBars = exports.SourceIcon = exports.SmallIconButtonWithTooltip = exports.SmallIconButton = exports.SimpleAttributeEditor = exports.SimpleAttribute = exports.RowCellAutoSizer = exports.RelationTypeSelector = exports.ReferenceAttributeEditor = exports.ReferenceAttribute = exports.ImageAttributesLine = exports.ReadOnlyAttributesPager = exports.ReadOnlyAttributesList = exports.ReadOnlyAttribute = exports.ReadOnlyAttributeValuesBlock = exports.PieChart = exports.OvIcon = void 0;
|
|
19
|
+
exports.Popper = exports.MultipleInput = exports.ModeSwitcherSelect = exports.ModeSwitcher = exports.TransitiveMatchBlock = exports.SimpleMatchRulesBuilder = exports.SimpleMatchRulesBlock = exports.SimpleMatchRules = exports.MatchRulesBlock = exports.LoadingSpinner = exports.Link = exports.LinearLoadIndicator = exports.ImportButton = exports.ReadableSearchQuery = exports.LogicOperator = exports.TableSkeleton = exports.StepNavigation = exports.TenantLabel = exports.RelevanceScoreBadge = exports.RequiredMark = exports.SettingsMenu = exports.TenantsDropDownSelector = exports.TenantIcon = exports.SourceSystemsSelector = exports.MatchRulesSelector = exports.MultiValueSelector = exports.ProfilesList = exports.NotMatchButton = exports.MergeButton = exports.ProfileMatchCard = exports.ImageGalleryDialog = exports.RelationTypesSelector = exports.ScreenProfileBand = exports.ProfileBandNavigation = exports.EmptyStub = exports.SaveSegmentDialog = exports.MaskingSwitcher = exports.FileTypeEditor = exports.EmptySearchResult = exports.DropDownEditor = exports.FilterValueEditor = exports.MultiValueChip = exports.TextEditor = exports.DateRangeEditor = exports.NumberEditor = exports.DataTypeValueEditor = exports.DateEditor = exports.ErrorWrapper = exports.ErrorMessage = exports.ConfigureColumnsPopup = void 0;
|
|
20
|
+
exports.CollaborationContext = exports.BlockImageGalleryDialogContext = exports.PopupBoundariesContext = exports.HistoryDiffContext = exports.AsyncMountContext = exports.MdmModuleProvider = exports.withTableContext = exports.withFilterAtBottom = exports.withPercents = exports.withContext = exports.withDateRangeSelector = exports.withDragHandle = exports.withAsyncMount = exports.withTooltip = exports.DateRangeSelector = exports.UpSetChart = exports.GaugeChart = exports.RelationEditor = exports.ReltioMap = exports.Marginator = exports.LightArrowTooltip = exports.ScrollableTabs = exports.VirtualGroupedList = exports.ViewMoreToggle = exports.VerticalHeadingsTable = exports.VerticalDivider = exports.AttributeTitle = exports.Spacer = exports.SimpleDropDownSelector = exports.SidePanelContentHeader = exports.SidePanel = exports.SidePanelEmptyState = exports.SideButtonsPanel = exports.SelectorWithOnlyOptionAutoSelect = exports.SelectionPopup = exports.WhiteSearchInput = exports.SearchInput = exports.ProfileResizablePanes = exports.ResizablePanes = exports.ReltioGridLayout = exports.RCTree = exports.reactSortableTreeHelpers = exports.ReactSortableTree = exports.MultiSelect = exports.QueryBuilderRowsGroup = exports.QueryBuilderRow = exports.ProfileCard = exports.ProfileBand = exports.PotentialMatchReviewCard = exports.PopupWithArrow = void 0;
|
|
21
|
+
exports.MaskedAttributesProvider = exports.SegmentationContext = exports.useReloadData = exports.ReloadDataProvider = exports.useAttributeValueConfigPermissions = exports.ConfigPermissionsContextProvider = exports.ConfigPermissionsContext = exports.useActionsHook = exports.ActionsHookProvider = exports.PageRequestsAbortingContext = exports.DependentLookupAutopopulationContext = exports.FeaturesContext = exports.LabelsContext = exports.UrlGeneratorsContext = exports.isHighlightedAttributeType = exports.isHighlightedErrorType = exports.ScrollType = exports.ScrollToElementProvider = exports.ScrollToElementContext = exports.SearchValueContext = exports.InterceptHandlersContext = exports.HighlightedValuesContext = exports.SnackbarContext = exports.SearchFiltersContext = exports.useReloadFacet = exports.ReloadFacetProvider = exports.useReloadAllFacets = exports.SandboxAPIContext = exports.EntityContext = exports.RelatedObjectUrisContext = exports.WorkflowTasksContext = exports.useEntityLoadingIndication = exports.EntityLoadingIndicationProvider = exports.EntityMarkerContext = exports.useAttributeExpanded = exports.ExpandedAttributesProvider = exports.useHighlightedCrosswalks = exports.useCrosswalkHighlight = exports.useCrosswalkFocus = exports.useCrosswalkColor = exports.CrosswalksDisplayProvider = exports.EntitiesMapContext = exports.IdContext = exports.ProfilePerspectiveViewContext = exports.usePerspectivesSettings = exports.PerspectivesSettingsContext = exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = void 0;
|
|
22
|
+
exports.useSegmentationRequest = exports.resolveMarkers = exports.useMarkers = exports.useMaskedAttribute = exports.useKeyboardNavigation = exports.useDynamicRowCellHeight = exports.useClickableStyle = exports.BasicTableCellRenderer = exports.useBasicTableCellRenderer = exports.useHiddenAttributes = exports.useSavedSearchesRequest = exports.useRequestDCRReview = exports.useAutoFocus = exports.useExpandInvalidRelations = exports.useLayoutResetter = exports.useIsMountedRef = exports.useSnackbar = exports.useSavedStateForEntityType = exports.useReadableSearchState = exports.useEditableConnection = exports.useCustomScripts = exports.useMarkAsNotMatchRequest = exports.useMergeAllRequest = exports.usePagingSimulator = exports.useMatchesLoader = exports.useConfigPermissions = exports.useWhyDidYouUpdate = exports.useUsers = exports.useSavedState = exports.useSafePromise = exports.useRunOnceAfterValueInitialization = exports.useRelationsLoader = exports.useRelationTypeSelector = exports.usePrevious = exports.useDidUpdateEffect = exports.useCommentsEntitiesMap = exports.useCollaboration = exports.useAsyncMount = exports.useAPI = exports.useActions = exports.useMatchesColumnsData = exports.useScrollToAttributeError = exports.ProfileTablesContext = exports.HiddenAttributesContext = exports.BasicTableContext = exports.BasicTableRowCollapseContext = exports.useDeleteUnmaskedAttributeForRelation = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = void 0;
|
|
23
|
+
exports.FakeMouseEvent = exports.rerenderWrapper = exports.mockElementSizes = exports.fixClicksOnResizablePanes = exports.mockBasicTableSizing = exports.getMuiIconsByName = exports.getMuiIconByName = exports.delayPromise = exports.deepFreeze = exports.awaitMockPromises = exports.TestStylesProvider = exports.TestPerspectivesSettingsProvider = exports.mergeClasses = exports.isControlOrCommandPressed = exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = void 0;
|
|
24
24
|
// components
|
|
25
25
|
var ActionButton_1 = require("./ActionButton");
|
|
26
26
|
Object.defineProperty(exports, "ActionButton", { enumerable: true, get: function () { return ActionButton_1.ActionButton; } });
|
|
@@ -69,6 +69,7 @@ var CardinalityMessage_1 = require("./CardinalityMessage");
|
|
|
69
69
|
Object.defineProperty(exports, "CardinalityMessage", { enumerable: true, get: function () { return CardinalityMessage_1.CardinalityMessage; } });
|
|
70
70
|
var ChartsFactory_1 = require("./ChartsFactory");
|
|
71
71
|
Object.defineProperty(exports, "ChartsFactory", { enumerable: true, get: function () { return ChartsFactory_1.ChartsFactory; } });
|
|
72
|
+
Object.defineProperty(exports, "BasicChartsFactory", { enumerable: true, get: function () { return ChartsFactory_1.BasicChartsFactory; } });
|
|
72
73
|
var CollapseRowButton_1 = require("./CollapseRowButton");
|
|
73
74
|
Object.defineProperty(exports, "CollapseRowButton", { enumerable: true, get: function () { return CollapseRowButton_1.CollapseRowButton; } });
|
|
74
75
|
var ColorBar_1 = require("./ColorBar");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BarChart } from '../BarChart';
|
|
3
|
+
import { PieChart } from '../PieChart';
|
|
4
|
+
type ChartProps = React.ComponentProps<typeof BarChart> | React.ComponentProps<typeof PieChart>;
|
|
5
|
+
export declare class BasicChartsFactory {
|
|
6
|
+
static build(props: ChartProps): React.JSX.Element;
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
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 from 'react';
|
|
13
|
+
import { ChartType } from '@reltio/mdm-sdk';
|
|
14
|
+
import { BarChart } from '../BarChart';
|
|
15
|
+
import { PieChart } from '../PieChart';
|
|
16
|
+
var BasicChartsFactory = /** @class */ (function () {
|
|
17
|
+
function BasicChartsFactory() {
|
|
18
|
+
}
|
|
19
|
+
BasicChartsFactory.build = function (props) {
|
|
20
|
+
switch (props.chartType) {
|
|
21
|
+
case ChartType.BAR:
|
|
22
|
+
return React.createElement(BarChart, __assign({}, props));
|
|
23
|
+
case ChartType.PIE:
|
|
24
|
+
return React.createElement(PieChart, __assign({}, props));
|
|
25
|
+
default:
|
|
26
|
+
return React.createElement("div", null);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
return BasicChartsFactory;
|
|
30
|
+
}());
|
|
31
|
+
export { BasicChartsFactory };
|
|
@@ -11,7 +11,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import { ChartType } from '@reltio/mdm-sdk';
|
|
14
|
-
import { BarChart } from '../BarChart';
|
|
15
14
|
import { PieChart } from '../PieChart';
|
|
16
15
|
import { TreeChart } from '../TreeChart';
|
|
17
16
|
import { TableWithBars } from '../TableWithBars';
|
|
@@ -19,17 +18,17 @@ import { BubbleChart } from '../BubbleChart';
|
|
|
19
18
|
import { LineChart } from '../LineChart';
|
|
20
19
|
import { MapChart } from '../MapChart';
|
|
21
20
|
import { CloudChart } from '../CloudChart';
|
|
21
|
+
import { BasicChartsFactory } from './BasicChartsFactory';
|
|
22
22
|
var ChartsFactory = /** @class */ (function () {
|
|
23
23
|
function ChartsFactory() {
|
|
24
24
|
}
|
|
25
25
|
ChartsFactory.build = function (props) {
|
|
26
26
|
switch (props.chartType) {
|
|
27
27
|
case ChartType.BAR:
|
|
28
|
-
|
|
28
|
+
case ChartType.PIE:
|
|
29
|
+
return BasicChartsFactory.build(props);
|
|
29
30
|
case ChartType.DONUT:
|
|
30
31
|
return React.createElement(PieChart, __assign({ isDonut: true }, props));
|
|
31
|
-
case ChartType.PIE:
|
|
32
|
-
return React.createElement(PieChart, __assign({}, props));
|
|
33
32
|
case ChartType.TREE:
|
|
34
33
|
return React.createElement(TreeChart, __assign({}, props));
|
|
35
34
|
case ChartType.TABLE:
|
|
@@ -10,23 +10,34 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
|
+
import { render, screen } from '@testing-library/react';
|
|
13
14
|
import SimpleAttributeEditor from './SimpleAttributeEditor';
|
|
14
|
-
import { mount } from 'enzyme';
|
|
15
15
|
import { Mode } from '@reltio/mdm-sdk';
|
|
16
16
|
import { MdmModuleProvider } from '../contexts/MdmModuleContext';
|
|
17
|
+
import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
|
|
17
18
|
jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { checkMetadataPermission: function () { return false; } })); });
|
|
18
19
|
var mdmValues = {
|
|
19
20
|
dependentLookups: {
|
|
20
21
|
editors: {}
|
|
21
22
|
}
|
|
22
23
|
};
|
|
23
|
-
var findActionButtons = function (component) {
|
|
24
|
-
return component.findWhere(function (n) { return n.prop('className') && n.prop('className').includes('editor-actions'); }).children();
|
|
25
|
-
};
|
|
26
24
|
describe('SimpleAttributeEditor without permissions', function () {
|
|
27
25
|
var onAddFn = jest.fn();
|
|
28
26
|
var onDeleteFn = jest.fn();
|
|
29
27
|
var onChangeFn = jest.fn();
|
|
28
|
+
var defaultProps = {
|
|
29
|
+
mode: Mode.Editing,
|
|
30
|
+
isReltioCrosswalk: true,
|
|
31
|
+
onAddAttributes: onAddFn,
|
|
32
|
+
onDeleteAttribute: onDeleteFn,
|
|
33
|
+
onChangeAttribute: onChangeFn
|
|
34
|
+
};
|
|
35
|
+
var setUp = function (_a) {
|
|
36
|
+
var props = _a.props, _b = _a.alwaysVisibleAttributes, alwaysVisibleAttributes = _b === void 0 ? [] : _b;
|
|
37
|
+
return render(React.createElement(AlwaysVisibleAttributesContext.Provider, { value: alwaysVisibleAttributes },
|
|
38
|
+
React.createElement(MdmModuleProvider, { values: mdmValues },
|
|
39
|
+
React.createElement(SimpleAttributeEditor, __assign({}, defaultProps, props)))));
|
|
40
|
+
};
|
|
30
41
|
it('should render just text, if there is only READ permission', function () {
|
|
31
42
|
var props = {
|
|
32
43
|
attributeValue: {
|
|
@@ -37,17 +48,11 @@ describe('SimpleAttributeEditor without permissions', function () {
|
|
|
37
48
|
access: ['READ'],
|
|
38
49
|
type: 'String',
|
|
39
50
|
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
40
|
-
}
|
|
41
|
-
mode: Mode.Editing,
|
|
42
|
-
isReltioCrosswalk: true,
|
|
43
|
-
onAddAttributes: onAddFn,
|
|
44
|
-
onDeleteAttribute: onDeleteFn,
|
|
45
|
-
onChangeAttribute: onChangeFn
|
|
51
|
+
}
|
|
46
52
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
expect(
|
|
50
|
-
expect(findActionButtons(simpleAttributeEditor).length).toBe(0);
|
|
53
|
+
setUp({ props: props });
|
|
54
|
+
expect(screen.getByText('some string')).toBeInTheDocument();
|
|
55
|
+
expect(screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
|
|
51
56
|
});
|
|
52
57
|
it('should render text and DELETE button, if there are only READ and DELETE permission', function () {
|
|
53
58
|
var props = {
|
|
@@ -59,16 +64,40 @@ describe('SimpleAttributeEditor without permissions', function () {
|
|
|
59
64
|
access: ['READ', 'DELETE'],
|
|
60
65
|
type: 'String',
|
|
61
66
|
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
setUp({ props: props });
|
|
70
|
+
expect(screen.getByText('some string')).toBeInTheDocument();
|
|
71
|
+
expect(screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
|
|
72
|
+
});
|
|
73
|
+
it('should render always visible attribute without value correct, if there are only READ permission', function () {
|
|
74
|
+
var props = {
|
|
75
|
+
attributeValue: {
|
|
76
|
+
uri: 'uri$$'
|
|
62
77
|
},
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
attributeType: {
|
|
79
|
+
access: ['READ'],
|
|
80
|
+
type: 'String',
|
|
81
|
+
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
|
|
85
|
+
expect(screen.queryByRole('textbox')).not.toBeInTheDocument();
|
|
86
|
+
expect(screen.queryByTestId('reltio-delete-simple-attribute-button')).not.toBeInTheDocument();
|
|
87
|
+
});
|
|
88
|
+
it('should render always visible attribute without value correct, if there are only READ and DELETE permission', function () {
|
|
89
|
+
var props = {
|
|
90
|
+
attributeValue: {
|
|
91
|
+
uri: 'uri$$'
|
|
92
|
+
},
|
|
93
|
+
attributeType: {
|
|
94
|
+
access: ['READ', 'DELETE'],
|
|
95
|
+
type: 'String',
|
|
96
|
+
uri: 'configuration/entityTypes/HCA/attributes/InternalCustomer'
|
|
97
|
+
}
|
|
68
98
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
expect(
|
|
72
|
-
expect(findActionButtons(simpleAttributeEditor).length).toBe(1);
|
|
99
|
+
setUp({ props: props, alwaysVisibleAttributes: ['configuration/entityTypes/HCA/attributes/InternalCustomer'] });
|
|
100
|
+
expect(screen.queryByRole('textbox')).not.toBeInTheDocument();
|
|
101
|
+
expect(screen.getByTestId('reltio-delete-simple-attribute-button')).toBeInTheDocument();
|
|
73
102
|
});
|
|
74
103
|
});
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
1
2
|
import { checkCanCreateAttribute, checkCanDeleteAttribute, checkCanEditAttribute } from '@reltio/mdm-sdk';
|
|
2
3
|
import { useAttributeValueConfigPermissions } from '../contexts/ConfigPermissionsContext';
|
|
4
|
+
import { AlwaysVisibleAttributesContext } from '../contexts/AllwaysVisibleAttributesContext';
|
|
3
5
|
export var useAttributeValuePermissions = function (_a) {
|
|
4
6
|
var attributeType = _a.attributeType, attributeValue = _a.attributeValue, isReltioCrosswalk = _a.isReltioCrosswalk, mode = _a.mode;
|
|
5
7
|
var _b = useAttributeValueConfigPermissions(attributeValue.uri), configCanCreate = _b.canCreate, configCanUpdate = _b.canUpdate, configCanDelete = _b.canDelete;
|
|
8
|
+
var alwaysVisibleAttributes = useContext(AlwaysVisibleAttributesContext);
|
|
9
|
+
var isAlwaysVisible = useMemo(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
|
|
6
10
|
var canCreate = configCanCreate && checkCanCreateAttribute({ attributeType: attributeType, mode: mode });
|
|
7
|
-
var canEdit = configCanUpdate &&
|
|
8
|
-
|
|
11
|
+
var canEdit = configCanUpdate &&
|
|
12
|
+
checkCanEditAttribute({ attributeType: attributeType, attributeValue: attributeValue, mode: mode, isReltioCrosswalk: isReltioCrosswalk, isAlwaysVisible: isAlwaysVisible });
|
|
13
|
+
var canDelete = configCanDelete &&
|
|
14
|
+
checkCanDeleteAttribute({ attributeType: attributeType, attributeValue: attributeValue, mode: mode, isReltioCrosswalk: isReltioCrosswalk, isAlwaysVisible: isAlwaysVisible });
|
|
9
15
|
return { canCreate: canCreate, canEdit: canEdit, canDelete: canDelete };
|
|
10
16
|
};
|
package/esm/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { BasicViewContent } from './BasicViewContent';
|
|
|
20
20
|
export { BasicViewHeader } from './BasicViewHeader';
|
|
21
21
|
export { BranchDecorator } from './BranchDecorator';
|
|
22
22
|
export { CardinalityMessage } from './CardinalityMessage';
|
|
23
|
-
export { ChartsFactory } from './ChartsFactory';
|
|
23
|
+
export { ChartsFactory, BasicChartsFactory } from './ChartsFactory';
|
|
24
24
|
export { CollapseRowButton } from './CollapseRowButton';
|
|
25
25
|
export { ColorBar } from './ColorBar';
|
|
26
26
|
export { ColumnsSettings, ColumnsSettingsPopup } from './ColumnsSettings';
|
package/esm/index.js
CHANGED
|
@@ -21,7 +21,7 @@ export { BasicViewContent } from './BasicViewContent';
|
|
|
21
21
|
export { BasicViewHeader } from './BasicViewHeader';
|
|
22
22
|
export { BranchDecorator } from './BranchDecorator';
|
|
23
23
|
export { CardinalityMessage } from './CardinalityMessage';
|
|
24
|
-
export { ChartsFactory } from './ChartsFactory';
|
|
24
|
+
export { ChartsFactory, BasicChartsFactory } from './ChartsFactory';
|
|
25
25
|
export { CollapseRowButton } from './CollapseRowButton';
|
|
26
26
|
export { ColorBar } from './ColorBar';
|
|
27
27
|
export { ColumnsSettings, ColumnsSettingsPopup } from './ColumnsSettings';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reltio/components",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1966",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE FILE",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@fluentui/react-context-selector": "^9.1.26",
|
|
9
9
|
"@react-google-maps/api": "2.7.0",
|
|
10
10
|
"@react-sigma/core": "3.4.0",
|
|
11
|
-
"@reltio/mdm-sdk": "^1.4.
|
|
11
|
+
"@reltio/mdm-sdk": "^1.4.1870",
|
|
12
12
|
"d3-cloud": "^1.2.5",
|
|
13
13
|
"d3-geo": "^2.0.1",
|
|
14
14
|
"d3-hierarchy": "^2.0.0",
|