@reltio/components 1.4.1849 → 1.4.1851

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 (81) hide show
  1. package/cjs/EditModeAttributesList/EditModeAttributesList.js +6 -3
  2. package/cjs/EditModeAttributesView/EditModeAttributesView.test.js +218 -24
  3. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +4 -1
  4. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.js +1 -9
  5. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.test.js +113 -104
  6. package/cjs/SaveSegmentDialog/SaveSegmentDialog.d.ts +8 -0
  7. package/cjs/SaveSegmentDialog/SaveSegmentDialog.js +129 -0
  8. package/cjs/SaveSegmentDialog/SaveSegmentDialog.test.d.ts +1 -0
  9. package/cjs/SaveSegmentDialog/SaveSegmentDialog.test.js +214 -0
  10. package/cjs/SaveSegmentDialog/index.d.ts +1 -0
  11. package/cjs/SaveSegmentDialog/index.js +5 -0
  12. package/cjs/SaveSegmentDialog/styles.d.ts +1 -0
  13. package/cjs/SaveSegmentDialog/styles.js +15 -0
  14. package/cjs/contexts/MdmModuleContext/context.d.ts +6 -0
  15. package/cjs/contexts/MdmModuleContext/hooks.d.ts +4 -1
  16. package/cjs/contexts/MdmModuleContext/hooks.js +5 -1
  17. package/cjs/contexts/MdmModuleContext/index.d.ts +1 -1
  18. package/cjs/contexts/MdmModuleContext/index.js +2 -1
  19. package/cjs/hooks/index.d.ts +1 -0
  20. package/cjs/hooks/index.js +3 -1
  21. package/cjs/hooks/useHiddenAttributes/helpers.d.ts +7 -0
  22. package/cjs/hooks/useHiddenAttributes/helpers.js +22 -0
  23. package/cjs/hooks/useHiddenAttributes/useChangedAttributes.d.ts +2 -0
  24. package/cjs/hooks/useHiddenAttributes/useChangedAttributes.js +37 -0
  25. package/cjs/hooks/useHiddenAttributes/useHiddenAttributes.d.ts +1 -0
  26. package/cjs/hooks/useHiddenAttributes/useHiddenAttributes.js +61 -0
  27. package/cjs/hooks/useHiddenAttributes/useHiddenAttributes.test.d.ts +1 -0
  28. package/cjs/hooks/useHiddenAttributes/useHiddenAttributes.test.js +370 -0
  29. package/cjs/hooks/useSavedSearchesRequest/index.d.ts +1 -0
  30. package/cjs/hooks/useSavedSearchesRequest/index.js +5 -0
  31. package/cjs/hooks/useSavedSearchesRequest/requests.d.ts +6 -0
  32. package/cjs/hooks/useSavedSearchesRequest/requests.js +72 -0
  33. package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.d.ts +76 -0
  34. package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.js +255 -0
  35. package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.d.ts +1 -0
  36. package/cjs/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.js +743 -0
  37. package/cjs/index.d.ts +1 -0
  38. package/cjs/index.js +3 -1
  39. package/esm/EditModeAttributesList/EditModeAttributesList.js +6 -3
  40. package/esm/EditModeAttributesView/EditModeAttributesView.test.js +219 -25
  41. package/esm/ReadOnlyAttributesList/ReadOnlyAttributesList.js +4 -1
  42. package/esm/ReadOnlyAttributesView/ReadOnlyAttributesView.js +2 -10
  43. package/esm/ReadOnlyAttributesView/ReadOnlyAttributesView.test.js +114 -105
  44. package/esm/SaveSegmentDialog/SaveSegmentDialog.d.ts +8 -0
  45. package/esm/SaveSegmentDialog/SaveSegmentDialog.js +99 -0
  46. package/esm/SaveSegmentDialog/SaveSegmentDialog.test.d.ts +1 -0
  47. package/esm/SaveSegmentDialog/SaveSegmentDialog.test.js +209 -0
  48. package/esm/SaveSegmentDialog/index.d.ts +1 -0
  49. package/esm/SaveSegmentDialog/index.js +1 -0
  50. package/esm/SaveSegmentDialog/styles.d.ts +1 -0
  51. package/esm/SaveSegmentDialog/styles.js +12 -0
  52. package/esm/contexts/MdmModuleContext/context.d.ts +6 -0
  53. package/esm/contexts/MdmModuleContext/hooks.d.ts +4 -1
  54. package/esm/contexts/MdmModuleContext/hooks.js +3 -0
  55. package/esm/contexts/MdmModuleContext/index.d.ts +1 -1
  56. package/esm/contexts/MdmModuleContext/index.js +1 -1
  57. package/esm/hooks/index.d.ts +1 -0
  58. package/esm/hooks/index.js +1 -0
  59. package/esm/hooks/useHiddenAttributes/helpers.d.ts +7 -0
  60. package/esm/hooks/useHiddenAttributes/helpers.js +17 -0
  61. package/esm/hooks/useHiddenAttributes/useChangedAttributes.d.ts +2 -0
  62. package/esm/hooks/useHiddenAttributes/useChangedAttributes.js +33 -0
  63. package/esm/hooks/useHiddenAttributes/useHiddenAttributes.d.ts +1 -0
  64. package/esm/hooks/useHiddenAttributes/useHiddenAttributes.js +57 -0
  65. package/esm/hooks/useHiddenAttributes/useHiddenAttributes.test.d.ts +1 -0
  66. package/esm/hooks/useHiddenAttributes/useHiddenAttributes.test.js +368 -0
  67. package/esm/hooks/useSavedSearchesRequest/index.d.ts +1 -0
  68. package/esm/hooks/useSavedSearchesRequest/index.js +1 -0
  69. package/esm/hooks/useSavedSearchesRequest/requests.d.ts +6 -0
  70. package/esm/hooks/useSavedSearchesRequest/requests.js +68 -0
  71. package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.d.ts +76 -0
  72. package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.js +251 -0
  73. package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.d.ts +1 -0
  74. package/esm/hooks/useSavedSearchesRequest/useSavedSearchesRequest.test.js +738 -0
  75. package/esm/index.d.ts +1 -0
  76. package/esm/index.js +1 -0
  77. package/package.json +2 -2
  78. package/cjs/hooks/useSavedSearchesRequest.d.ts +0 -23
  79. package/cjs/hooks/useSavedSearchesRequest.js +0 -224
  80. package/esm/hooks/useSavedSearchesRequest.d.ts +0 -23
  81. package/esm/hooks/useSavedSearchesRequest.js +0 -220
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __importDefault = (this && this.__importDefault) || function (mod) {
62
+ return (mod && mod.__esModule) ? mod : { "default": mod };
63
+ };
64
+ Object.defineProperty(exports, "__esModule", { value: true });
65
+ exports.SaveSegmentDialog = void 0;
66
+ var react_1 = __importStar(require("react"));
67
+ var ui_i18n_1 = __importDefault(require("ui-i18n"));
68
+ var Dialog_1 = __importDefault(require("@mui/material/Dialog"));
69
+ var DialogTitle_1 = __importDefault(require("@mui/material/DialogTitle"));
70
+ var DialogContent_1 = __importDefault(require("@mui/material/DialogContent"));
71
+ var DialogActions_1 = __importDefault(require("@mui/material/DialogActions"));
72
+ var Button_1 = __importDefault(require("@mui/material/Button"));
73
+ var DropDownEditor_1 = require("../DropDownEditor");
74
+ var TextEditor_1 = require("../TextEditor");
75
+ var styles_1 = require("./styles");
76
+ var SharingOption;
77
+ (function (SharingOption) {
78
+ SharingOption["Public"] = "public";
79
+ SharingOption["Private"] = "private";
80
+ })(SharingOption || (SharingOption = {}));
81
+ var SHARING_OPTIONS = [
82
+ { label: ui_i18n_1.default.text('Only me'), value: SharingOption.Private },
83
+ { label: ui_i18n_1.default.text('All users'), value: SharingOption.Public }
84
+ ];
85
+ var SaveSegmentDialog = function (_a) {
86
+ var isOpen = _a.isOpen, isSaving = _a.isSaving, onClose = _a.onClose, onSave = _a.onSave;
87
+ var styles = (0, styles_1.useStyles)();
88
+ var _b = (0, react_1.useState)(''), name = _b[0], setName = _b[1];
89
+ var _c = (0, react_1.useState)(''), description = _c[0], setDescription = _c[1];
90
+ var _d = (0, react_1.useState)(SharingOption.Private), share = _d[0], setShare = _d[1];
91
+ var isValid = name.trim() !== '';
92
+ var handleChangeName = (0, react_1.useCallback)(function (event) {
93
+ setName(event.target.value);
94
+ }, []);
95
+ var handleChangeDescription = (0, react_1.useCallback)(function (event) {
96
+ setDescription(event.target.value);
97
+ }, []);
98
+ var handleChangeShareWith = (0, react_1.useCallback)(function (newValue) {
99
+ setShare(newValue);
100
+ }, []);
101
+ var handleSave = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
102
+ return __generator(this, function (_a) {
103
+ onSave(name, description, share === SharingOption.Public);
104
+ return [2 /*return*/];
105
+ });
106
+ }); }, [onSave, name, description, share]);
107
+ (0, react_1.useEffect)(function () {
108
+ if (isOpen) {
109
+ setName('');
110
+ setDescription('');
111
+ setShare(SharingOption.Private);
112
+ }
113
+ }, [isOpen]);
114
+ return (react_1.default.createElement(Dialog_1.default, { onClose: onClose, open: isOpen, PaperProps: { classes: { root: styles.root } } },
115
+ react_1.default.createElement(DialogTitle_1.default, null, ui_i18n_1.default.text('Save segment')),
116
+ react_1.default.createElement(DialogContent_1.default, { className: styles.dialogContent },
117
+ react_1.default.createElement(TextEditor_1.TextEditor, { label: ui_i18n_1.default.text('Name'), required: true, variant: "filled", onInput: handleChangeName, value: name, size: "small", autoFocus: true }),
118
+ react_1.default.createElement(TextEditor_1.TextEditor, { label: ui_i18n_1.default.text('Description (optional)'), multiline: true, variant: "filled", value: description, onInput: handleChangeDescription, size: "small", rows: 5 }),
119
+ react_1.default.createElement(DropDownEditor_1.DropDownEditor, { entries: SHARING_OPTIONS, TextFieldProps: {
120
+ required: true,
121
+ label: ui_i18n_1.default.text('Share with'),
122
+ variant: 'filled',
123
+ size: 'small'
124
+ }, value: share, onChange: handleChangeShareWith })),
125
+ react_1.default.createElement(DialogActions_1.default, null,
126
+ react_1.default.createElement(Button_1.default, { onClick: onClose }, ui_i18n_1.default.text('Cancel')),
127
+ react_1.default.createElement(Button_1.default, { color: "primary", onClick: handleSave, disabled: isSaving || !isValid }, ui_i18n_1.default.text('Save')))));
128
+ };
129
+ exports.SaveSegmentDialog = SaveSegmentDialog;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,214 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var react_1 = __importDefault(require("react"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
+ var SaveSegmentDialog_1 = require("../SaveSegmentDialog");
57
+ var defaultProps = {
58
+ isOpen: true,
59
+ isSaving: false,
60
+ onClose: jest.fn(),
61
+ onSave: jest.fn()
62
+ };
63
+ var setUp = function (props) {
64
+ if (props === void 0) { props = defaultProps; }
65
+ var user = user_event_1.default.setup();
66
+ var result = (0, react_2.render)(react_1.default.createElement(SaveSegmentDialog_1.SaveSegmentDialog, __assign({}, props)));
67
+ var rerender = function (props) { return result.rerender(react_1.default.createElement(SaveSegmentDialog_1.SaveSegmentDialog, __assign({}, defaultProps, props))); };
68
+ return __assign(__assign({}, result), { user: user, rerender: rerender });
69
+ };
70
+ describe('SaveSegmentDialog tests', function () {
71
+ beforeEach(function () {
72
+ jest.clearAllMocks();
73
+ });
74
+ it('should not render dialog if isOpen prop is false', function () { return __awaiter(void 0, void 0, void 0, function () {
75
+ var props, container;
76
+ return __generator(this, function (_a) {
77
+ props = __assign(__assign({}, defaultProps), { isOpen: false });
78
+ container = setUp(props).container;
79
+ expect(container).toBeEmptyDOMElement();
80
+ return [2 /*return*/];
81
+ });
82
+ }); });
83
+ it('should render main parts correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
84
+ return __generator(this, function (_a) {
85
+ setUp();
86
+ expect(react_2.screen.getByText('Save segment')).toBeInTheDocument();
87
+ expect(react_2.screen.getByText('Name')).toBeInTheDocument();
88
+ expect(react_2.screen.getByText('Description (optional)')).toBeInTheDocument();
89
+ expect(react_2.screen.getByText('Share with')).toBeInTheDocument();
90
+ expect(react_2.screen.getByText('Cancel')).toBeInTheDocument();
91
+ expect(react_2.screen.getByText('Save')).toBeInTheDocument();
92
+ return [2 /*return*/];
93
+ });
94
+ }); });
95
+ it('should clear all fields on close dialog', function () { return __awaiter(void 0, void 0, void 0, function () {
96
+ var _a, user, rerender;
97
+ return __generator(this, function (_b) {
98
+ switch (_b.label) {
99
+ case 0:
100
+ _a = setUp(), user = _a.user, rerender = _a.rerender;
101
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Name'))];
102
+ case 1:
103
+ _b.sent();
104
+ return [4 /*yield*/, user.keyboard('test name')];
105
+ case 2:
106
+ _b.sent();
107
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Description (optional)'))];
108
+ case 3:
109
+ _b.sent();
110
+ return [4 /*yield*/, user.keyboard('test description')];
111
+ case 4:
112
+ _b.sent();
113
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Only me'))];
114
+ case 5:
115
+ _b.sent();
116
+ return [4 /*yield*/, user.click(react_2.screen.getByText('All users'))];
117
+ case 6:
118
+ _b.sent();
119
+ rerender({ isOpen: false });
120
+ rerender({ isOpen: true });
121
+ expect(react_2.screen.queryByText('test name')).not.toBeInTheDocument();
122
+ expect(react_2.screen.queryByText('test description')).not.toBeInTheDocument();
123
+ react_2.screen.getByText('Only me');
124
+ return [2 /*return*/];
125
+ }
126
+ });
127
+ }); });
128
+ it('should disable "Save" button in case of name field is empty', function () { return __awaiter(void 0, void 0, void 0, function () {
129
+ var user;
130
+ return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0:
133
+ user = setUp().user;
134
+ expect(react_2.screen.getByText('Save')).toBeDisabled();
135
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Name'))];
136
+ case 1:
137
+ _a.sent();
138
+ return [4 /*yield*/, user.keyboard(' ')];
139
+ case 2:
140
+ _a.sent();
141
+ expect(react_2.screen.getByText('Save')).toBeDisabled();
142
+ return [4 /*yield*/, user.keyboard('test')];
143
+ case 3:
144
+ _a.sent();
145
+ expect(react_2.screen.getByText('Save')).toBeEnabled();
146
+ return [2 /*return*/];
147
+ }
148
+ });
149
+ }); });
150
+ it('should disable "Save" button in case of isSaving prop is true', function () { return __awaiter(void 0, void 0, void 0, function () {
151
+ var props, user;
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0:
155
+ props = __assign(__assign({}, defaultProps), { isSaving: true });
156
+ user = setUp(props).user;
157
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Name'))];
158
+ case 1:
159
+ _a.sent();
160
+ return [4 /*yield*/, user.keyboard('test')];
161
+ case 2:
162
+ _a.sent();
163
+ expect(react_2.screen.getByText('Save')).toBeDisabled();
164
+ return [2 /*return*/];
165
+ }
166
+ });
167
+ }); });
168
+ it('should call onSave callback with correct props on "Save" button click', function () { return __awaiter(void 0, void 0, void 0, function () {
169
+ var user;
170
+ return __generator(this, function (_a) {
171
+ switch (_a.label) {
172
+ case 0:
173
+ user = setUp().user;
174
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Name'))];
175
+ case 1:
176
+ _a.sent();
177
+ return [4 /*yield*/, user.keyboard('test name')];
178
+ case 2:
179
+ _a.sent();
180
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Description (optional)'))];
181
+ case 3:
182
+ _a.sent();
183
+ return [4 /*yield*/, user.keyboard('test description')];
184
+ case 4:
185
+ _a.sent();
186
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Only me'))];
187
+ case 5:
188
+ _a.sent();
189
+ return [4 /*yield*/, user.click(react_2.screen.getByText('All users'))];
190
+ case 6:
191
+ _a.sent();
192
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Save'))];
193
+ case 7:
194
+ _a.sent();
195
+ expect(defaultProps.onSave).toHaveBeenCalledWith('test name', 'test description', true);
196
+ return [2 /*return*/];
197
+ }
198
+ });
199
+ }); });
200
+ it('should call onClose callback on "Cancel" button click', function () { return __awaiter(void 0, void 0, void 0, function () {
201
+ var user;
202
+ return __generator(this, function (_a) {
203
+ switch (_a.label) {
204
+ case 0:
205
+ user = setUp().user;
206
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Cancel'))];
207
+ case 1:
208
+ _a.sent();
209
+ expect(defaultProps.onClose).toHaveBeenCalled();
210
+ return [2 /*return*/];
211
+ }
212
+ });
213
+ }); });
214
+ });
@@ -0,0 +1 @@
1
+ export { SaveSegmentDialog } from './SaveSegmentDialog';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaveSegmentDialog = void 0;
4
+ var SaveSegmentDialog_1 = require("./SaveSegmentDialog");
5
+ Object.defineProperty(exports, "SaveSegmentDialog", { enumerable: true, get: function () { return SaveSegmentDialog_1.SaveSegmentDialog; } });
@@ -0,0 +1 @@
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"root" | "dialogContent">;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = void 0;
4
+ var styles_1 = require("@mui/styles");
5
+ exports.useStyles = (0, styles_1.makeStyles)({
6
+ root: {
7
+ minWidth: '600px',
8
+ minHeight: '280px'
9
+ },
10
+ dialogContent: {
11
+ display: 'flex',
12
+ flexDirection: 'column',
13
+ gap: '20px'
14
+ }
15
+ });
@@ -32,6 +32,7 @@ export type MdmModuleValuesContextProps = Partial<{
32
32
  mode: Mode;
33
33
  isViewMode: boolean;
34
34
  isEditableMode: boolean;
35
+ hiddenAttributes: string[];
35
36
  historyDiff: HistoryDiff;
36
37
  historyMode: HistoryMode;
37
38
  historySlice: HistorySlice;
@@ -114,6 +115,8 @@ export type MdmModuleActionsContextProps = Partial<{
114
115
  errorsSet: (payload: AttributeError[]) => void;
115
116
  addRelation: (id: string, connection: Connection) => void;
116
117
  editRelation: (id: string, connection: Connection) => void;
118
+ updateHiddenAttributes: (uri: string, hiddenAttributes: string[]) => void;
119
+ resetHiddenAttributes: (uri: string) => void;
117
120
  }>;
118
121
  export type MdmModuleListenersContextProps = Partial<{
119
122
  expandInvalidRelatonsListener: (callback: () => void) => (action: any) => void;
@@ -180,6 +183,8 @@ export declare const MdmModuleActionsContext: import("@fluentui/react-context-se
180
183
  errorsSet: (payload: AttributeError[]) => void;
181
184
  addRelation: (id: string, connection: Connection) => void;
182
185
  editRelation: (id: string, connection: Connection) => void;
186
+ updateHiddenAttributes: (uri: string, hiddenAttributes: string[]) => void;
187
+ resetHiddenAttributes: (uri: string) => void;
183
188
  }>>;
184
189
  export declare const MdmModuleValuesContext: import("@fluentui/react-context-selector").Context<Partial<{
185
190
  autoCloseInterval: number;
@@ -213,6 +218,7 @@ export declare const MdmModuleValuesContext: import("@fluentui/react-context-sel
213
218
  mode: Mode;
214
219
  isViewMode: boolean;
215
220
  isEditableMode: boolean;
221
+ hiddenAttributes: string[];
216
222
  historyDiff: HistoryDiff;
217
223
  historyMode: HistoryMode;
218
224
  historySlice: HistorySlice;
@@ -71,7 +71,7 @@ export declare const useMdmDependentLookupEditorContext: (attributeValue: Simple
71
71
  };
72
72
  export declare const useMdmGlobalSearchRequestOptions: (omittingFields?: string[]) => import("@reltio/mdm-sdk").GlobalSearchRequestOptions;
73
73
  export declare const useMdmAuthoringItemsByEntityType: (entityTypeUri: string) => import("@reltio/mdm-sdk").AuthoringItem[];
74
- export declare const useMdmAction: <T extends "openSearch" | "openHistoryEvent" | "openConsoleApp" | "addAttributes" | "modifyAttribute" | "removeAttribute" | "entityDeleted" | "entityCreated" | "errorDeactivated" | "requestNextPageOfAttributeValues" | "openEntity" | "setDefaultProfilePicForModifiedEntity" | "setDefaultProfilePicForEntity" | "dependentLookupsEditorTouched" | "openPivotingPerspective" | "lookupsLoaded" | "lookupsForTypeResolved" | "errorSet" | "setHistoryMode" | "modeUpdated" | "setHistoryEvent" | "clearHistoryEvent" | "clearHistoryDiff" | "setHistoryDiff" | "setHistorySlice" | "updateSearchNavigationDataFields" | "openPerspective" | "entityDeletionFinished" | "loadEntity" | "updateSearchNavigationDataOnMerge" | "lookupsListResolved" | "relationsLoaded" | "setInitialInfo" | "setRelationType" | "closeRelationEditor" | "openRelationEditor" | "setRelationEntity" | "errorsSet" | "addRelation" | "editRelation">(action: T) => Partial<{
74
+ export declare const useMdmAction: <T extends "openSearch" | "openHistoryEvent" | "openConsoleApp" | "addAttributes" | "modifyAttribute" | "removeAttribute" | "entityDeleted" | "entityCreated" | "errorDeactivated" | "requestNextPageOfAttributeValues" | "openEntity" | "setDefaultProfilePicForModifiedEntity" | "setDefaultProfilePicForEntity" | "dependentLookupsEditorTouched" | "openPivotingPerspective" | "lookupsLoaded" | "lookupsForTypeResolved" | "errorSet" | "setHistoryMode" | "modeUpdated" | "setHistoryEvent" | "clearHistoryEvent" | "clearHistoryDiff" | "setHistoryDiff" | "setHistorySlice" | "updateSearchNavigationDataFields" | "openPerspective" | "entityDeletionFinished" | "loadEntity" | "updateSearchNavigationDataOnMerge" | "lookupsListResolved" | "relationsLoaded" | "setInitialInfo" | "setRelationType" | "closeRelationEditor" | "openRelationEditor" | "setRelationEntity" | "errorsSet" | "addRelation" | "editRelation" | "updateHiddenAttributes" | "resetHiddenAttributes">(action: T) => Partial<{
75
75
  openSearch: (payload: import("@reltio/mdm-sdk").SearchState) => void;
76
76
  openHistoryEvent: (payload: {
77
77
  entityUri: string;
@@ -131,9 +131,12 @@ export declare const useMdmAction: <T extends "openSearch" | "openHistoryEvent"
131
131
  errorsSet: (payload: import("@reltio/mdm-sdk").AttributeError[]) => void;
132
132
  addRelation: (id: string, connection: import("@reltio/mdm-sdk").Connection) => void;
133
133
  editRelation: (id: string, connection: import("@reltio/mdm-sdk").Connection) => void;
134
+ updateHiddenAttributes: (uri: string, hiddenAttributes: string[]) => void;
135
+ resetHiddenAttributes: (uri: string) => void;
134
136
  }>[T];
135
137
  export declare const useMdmListener: <T extends "expandInvalidRelatonsListener" | "cleanseLoadingListener" | "searchNavigationListener">(listener: T) => Partial<{
136
138
  expandInvalidRelatonsListener: (callback: () => void) => (action: any) => void;
137
139
  cleanseLoadingListener: (callback: (value: boolean) => void) => (action: import("../..").AnyAction) => void;
138
140
  searchNavigationListener: (action: import("../..").AnyAction, state: any, dispatch: (action: import("../..").AnyAction) => void) => void;
139
141
  }>[T];
142
+ export declare const useMdmHiddenAttributes: (uri?: string) => any;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMdmIsWorkflowEnabled = exports.useMdmIsCollaborationEnabled = exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = void 0;
4
- exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = void 0;
4
+ exports.useMdmHiddenAttributes = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmRelationsDrafts = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmIsSourcesScreenEnabled = exports.useMdmProfileErrors = void 0;
5
5
  var react_context_selector_1 = require("@fluentui/react-context-selector");
6
6
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
7
7
  var context_1 = require("./context");
@@ -220,3 +220,7 @@ var useMdmListener = function (listener) {
220
220
  return useMdmModuleListenersContext(function (context) { return context[listener]; });
221
221
  };
222
222
  exports.useMdmListener = useMdmListener;
223
+ var useMdmHiddenAttributes = function (uri) {
224
+ return useMdmModuleValuesContext(function (context) { var _a, _b; return ((_a = context.hiddenAttributes) === null || _a === void 0 ? void 0 : _a[uri || ((_b = context.entity) === null || _b === void 0 ? void 0 : _b.uri)]) || []; });
225
+ };
226
+ exports.useMdmHiddenAttributes = useMdmHiddenAttributes;
@@ -1,3 +1,3 @@
1
1
  export { MdmModuleProvider } from './provider';
2
- export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled } from './hooks';
2
+ export { useMdmAutoCloseInterval, useMdmUiError, useMdmWorkflowEnvironmentUrl, useMdmExportPath, useMdmAbsoluteImagePath, useMdmUiPath, useMdmDtssPath, useMdmServicesPath, useMdmWorkflowPath, useMdmImageServicePath, useMdmReltioPath, useMdmApiPath, useMdmCollaborationPath, useMdmImageAttributesFieldsOrder, useMdmShowEntityId, useMdmPivotingAttributes, useMdmDateMask, useMdmDateTimeMask, useMdmAttributesPresentation, useMdmMaxValuesInResponse, useMdmAttributesSortingStrategy, useMdmLookupAutocomplete, useMdmModifiedEntities, useMdmEntity, useMdmEntityUri, useMdmEntityWithDiff, useMdmEntityUriWithDataTenant, useMdmMode, useMdmIsViewMode, useMdmIsEditableMode, useMdmHistoryDiff, useMdmHistoryMode, useMdmHistorySlice, useMdmHistoryEvent, useMdmProfileLastLoadedTime, useMdmLookups, useMdmDependentLookups, useMdmMetadata, useMdmUser, useMdmUsername, useMdmUserRoles, useMdmTenantObject, useMdmTenant, useMdmTenantName, useMdmEnvironment, useMdmDataTenants, useMdmSearchNavigationData, useMdmSearchProviderData, useMdmIsCollaborationEnabled, useMdmIsWorkflowEnabled, useMdmProfileErrors, useMdmRelationsDrafts, useMdmModifiedEntityDefaultProfilePic, useMdmModifiedEntity, useMdmInitialConnectionTempEntity, useMdmInitialConnection, useMdmDependentLookupEditorState, useMdmActiveErrorsForAttributesPager, useMdmDependentLookupsStructureNode, useMdmAllRelationsToAddAndEdit, useMdmDependentLookupEditorContext, useMdmGlobalSearchRequestOptions, useMdmAuthoringItemsByEntityType, useMdmAction, useMdmListener, useMdmIsSourcesScreenEnabled, useMdmHiddenAttributes } from './hooks';
3
3
  export type { MdmModuleActionsContextProps, MdmModuleValuesContextProps, MdmModuleListenersContextProps } from './context';
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMdmIsCollaborationEnabled = exports.useMdmSearchProviderData = exports.useMdmSearchNavigationData = exports.useMdmDataTenants = exports.useMdmEnvironment = exports.useMdmTenantName = exports.useMdmTenant = exports.useMdmTenantObject = exports.useMdmUserRoles = exports.useMdmUsername = exports.useMdmUser = exports.useMdmMetadata = exports.useMdmDependentLookups = exports.useMdmLookups = exports.useMdmProfileLastLoadedTime = exports.useMdmHistoryEvent = exports.useMdmHistorySlice = exports.useMdmHistoryMode = exports.useMdmHistoryDiff = exports.useMdmIsEditableMode = exports.useMdmIsViewMode = exports.useMdmMode = exports.useMdmEntityUriWithDataTenant = exports.useMdmEntityWithDiff = exports.useMdmEntityUri = exports.useMdmEntity = exports.useMdmModifiedEntities = exports.useMdmLookupAutocomplete = exports.useMdmAttributesSortingStrategy = exports.useMdmMaxValuesInResponse = exports.useMdmAttributesPresentation = exports.useMdmDateTimeMask = exports.useMdmDateMask = exports.useMdmPivotingAttributes = exports.useMdmShowEntityId = exports.useMdmImageAttributesFieldsOrder = exports.useMdmCollaborationPath = exports.useMdmApiPath = exports.useMdmReltioPath = exports.useMdmImageServicePath = exports.useMdmWorkflowPath = exports.useMdmServicesPath = exports.useMdmDtssPath = exports.useMdmUiPath = exports.useMdmAbsoluteImagePath = exports.useMdmExportPath = exports.useMdmWorkflowEnvironmentUrl = exports.useMdmUiError = exports.useMdmAutoCloseInterval = exports.MdmModuleProvider = void 0;
4
- exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
4
+ exports.useMdmHiddenAttributes = exports.useMdmIsSourcesScreenEnabled = exports.useMdmListener = exports.useMdmAction = exports.useMdmAuthoringItemsByEntityType = exports.useMdmGlobalSearchRequestOptions = exports.useMdmDependentLookupEditorContext = exports.useMdmAllRelationsToAddAndEdit = exports.useMdmDependentLookupsStructureNode = exports.useMdmActiveErrorsForAttributesPager = exports.useMdmDependentLookupEditorState = exports.useMdmInitialConnection = exports.useMdmInitialConnectionTempEntity = exports.useMdmModifiedEntity = exports.useMdmModifiedEntityDefaultProfilePic = exports.useMdmRelationsDrafts = exports.useMdmProfileErrors = exports.useMdmIsWorkflowEnabled = void 0;
5
5
  var provider_1 = require("./provider");
6
6
  Object.defineProperty(exports, "MdmModuleProvider", { enumerable: true, get: function () { return provider_1.MdmModuleProvider; } });
7
7
  var hooks_1 = require("./hooks");
@@ -71,3 +71,4 @@ Object.defineProperty(exports, "useMdmAuthoringItemsByEntityType", { enumerable:
71
71
  Object.defineProperty(exports, "useMdmAction", { enumerable: true, get: function () { return hooks_1.useMdmAction; } });
72
72
  Object.defineProperty(exports, "useMdmListener", { enumerable: true, get: function () { return hooks_1.useMdmListener; } });
73
73
  Object.defineProperty(exports, "useMdmIsSourcesScreenEnabled", { enumerable: true, get: function () { return hooks_1.useMdmIsSourcesScreenEnabled; } });
74
+ Object.defineProperty(exports, "useMdmHiddenAttributes", { enumerable: true, get: function () { return hooks_1.useMdmHiddenAttributes; } });
@@ -30,3 +30,4 @@ export { useExpandInvalidRelations } from './useExpandInvalidRelations';
30
30
  export { useAutoFocus } from './useAutoFocus';
31
31
  export { useRequestDCRReview } from './useRequestDCRReview';
32
32
  export { useSavedSearchesRequest } from './useSavedSearchesRequest';
33
+ export { useHiddenAttributes } from './useHiddenAttributes/useHiddenAttributes';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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 = void 0;
3
+ 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 = void 0;
4
4
  var useScrollToAttributeError_1 = require("./useScrollToAttributeError/useScrollToAttributeError");
5
5
  Object.defineProperty(exports, "useScrollToAttributeError", { enumerable: true, get: function () { return useScrollToAttributeError_1.useScrollToAttributeError; } });
6
6
  var useMatchesColumnsData_1 = require("./useMatchesColumnsData/useMatchesColumnsData");
@@ -65,3 +65,5 @@ var useRequestDCRReview_1 = require("./useRequestDCRReview");
65
65
  Object.defineProperty(exports, "useRequestDCRReview", { enumerable: true, get: function () { return useRequestDCRReview_1.useRequestDCRReview; } });
66
66
  var useSavedSearchesRequest_1 = require("./useSavedSearchesRequest");
67
67
  Object.defineProperty(exports, "useSavedSearchesRequest", { enumerable: true, get: function () { return useSavedSearchesRequest_1.useSavedSearchesRequest; } });
68
+ var useHiddenAttributes_1 = require("./useHiddenAttributes/useHiddenAttributes");
69
+ Object.defineProperty(exports, "useHiddenAttributes", { enumerable: true, get: function () { return useHiddenAttributes_1.useHiddenAttributes; } });
@@ -0,0 +1,7 @@
1
+ import { parseRuleBasedAttribute } from '@reltio/mdm-sdk';
2
+ type ParsedRuleBasedAttribute = ReturnType<typeof parseRuleBasedAttribute> & {
3
+ showAttributeURIs: string[];
4
+ };
5
+ export declare const findShowAttributeURIs: (changedAttributes: string[], parsedRules: ParsedRuleBasedAttribute[]) => string[];
6
+ export declare const findRulesToCheck: (showAttributeURIs: string[], parsedRules: ParsedRuleBasedAttribute[]) => ParsedRuleBasedAttribute[];
7
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findRulesToCheck = exports.findShowAttributeURIs = void 0;
4
+ var ramda_1 = require("ramda");
5
+ var findShowAttributeURIs = function (changedAttributes, parsedRules) {
6
+ return (0, ramda_1.pipe)((0, ramda_1.reduce)(function (changedShowAttributeURIs, _a) {
7
+ var controlAttributes = _a.controlAttributes, showAttributeURIs = _a.showAttributeURIs;
8
+ var hasChangedControlAttributes = (controlAttributes === null || controlAttributes === void 0 ? void 0 : controlAttributes.length) &&
9
+ controlAttributes.some(function (controlAttribute) { return changedAttributes.includes(controlAttribute); });
10
+ return hasChangedControlAttributes
11
+ ? changedShowAttributeURIs.concat(showAttributeURIs)
12
+ : changedShowAttributeURIs;
13
+ }, []), ramda_1.flatten, ramda_1.uniq)(parsedRules);
14
+ };
15
+ exports.findShowAttributeURIs = findShowAttributeURIs;
16
+ var findRulesToCheck = function (showAttributeURIs, parsedRules) {
17
+ return parsedRules.filter(function (_a) {
18
+ var ruleShowAttributeURIs = _a.showAttributeURIs;
19
+ return ruleShowAttributeURIs.some(function (showAttributeUri) { return showAttributeURIs.includes(showAttributeUri); });
20
+ });
21
+ };
22
+ exports.findRulesToCheck = findRulesToCheck;
@@ -0,0 +1,2 @@
1
+ import { RecordAttributesType } from '@reltio/mdm-sdk';
2
+ export declare const useChangedAttributes: (attributes: RecordAttributesType, controlAttributes: string[]) => string[];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useChangedAttributes = void 0;
4
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
5
+ var ramda_1 = require("ramda");
6
+ var react_1 = require("react");
7
+ var getValues = function (controlAttribute, attributes) {
8
+ if (attributes === void 0) { attributes = {}; }
9
+ var searchUri = (0, mdm_sdk_1.attributeUriToSearchUri)(controlAttribute);
10
+ var attrPath = searchUri.replace('attributes.', '').split('.');
11
+ return (0, ramda_1.flatten)((0, mdm_sdk_1.getOvAttributeValuesByPathWithUri)(attrPath, attributes));
12
+ };
13
+ var getValuesHash = (0, ramda_1.pipe)((0, ramda_1.pluck)('value'), (0, ramda_1.join)('-'));
14
+ var useChangedAttributes = function (attributes, controlAttributes) {
15
+ var previousAttributesValues = (0, react_1.useRef)();
16
+ var attributeValues = (0, react_1.useMemo)(function () {
17
+ return controlAttributes.reduce(function (values, controlAttribute) {
18
+ values[controlAttribute] = (0, ramda_1.pipe)(getValues, getValuesHash)(controlAttribute, attributes);
19
+ return values;
20
+ }, {}) || [];
21
+ }, [controlAttributes, attributes]);
22
+ var changedAttributes = (0, react_1.useMemo)(function () {
23
+ var attributeUris = Object.keys(attributeValues);
24
+ return previousAttributesValues.current
25
+ ? attributeUris.reduce(function (changedAttributes, attributeUri) {
26
+ var attributeValue = attributeValues[attributeUri];
27
+ var previousAttributeValue = previousAttributesValues.current[attributeUri];
28
+ return (0, ramda_1.isNil)(previousAttributeValue) || previousAttributeValue !== attributeValue
29
+ ? changedAttributes.concat(attributeUri)
30
+ : changedAttributes;
31
+ }, []) || []
32
+ : attributeUris;
33
+ }, [attributeValues]);
34
+ previousAttributesValues.current = attributeValues;
35
+ return changedAttributes;
36
+ };
37
+ exports.useChangedAttributes = useChangedAttributes;
@@ -0,0 +1 @@
1
+ export declare const useHiddenAttributes: () => void;