@reltio/components 1.4.1927 → 1.4.1929

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 (39) hide show
  1. package/cjs/BasicTable/basicTableViewState.d.ts +63 -15
  2. package/cjs/BasicTable/basicTableViewState.js +38 -20
  3. package/cjs/BasicTable/basicTableViewState.test.js +20 -0
  4. package/cjs/RCTree/RCTree.d.ts +0 -1
  5. package/cjs/RCTree/RCTree.js +0 -1
  6. package/cjs/RCTree/styles.d.ts +1 -1
  7. package/cjs/RCTree/styles.js +203 -8
  8. package/cjs/contexts/ProfileTablesContext/index.d.ts +6 -0
  9. package/cjs/contexts/ProfileTablesContext/index.js +8 -0
  10. package/cjs/helpers/basicTable.d.ts +3 -1
  11. package/cjs/helpers/basicTable.js +12 -1
  12. package/cjs/hooks/useSavedState/useSavedState.d.ts +1 -1
  13. package/cjs/hooks/useSavedStateForEntityType/useSavedStateForEntityType.d.ts +1 -1
  14. package/cjs/index.d.ts +4 -2
  15. package/cjs/index.js +6 -2
  16. package/cjs/test-utils/index.js +1 -1
  17. package/cjs/types/basicTable.d.ts +5 -0
  18. package/cjs/types/preferences.d.ts +8 -0
  19. package/cjs/types/preferences.js +2 -0
  20. package/esm/BasicTable/basicTableViewState.d.ts +63 -15
  21. package/esm/BasicTable/basicTableViewState.js +37 -19
  22. package/esm/BasicTable/basicTableViewState.test.js +20 -0
  23. package/esm/RCTree/RCTree.d.ts +0 -1
  24. package/esm/RCTree/RCTree.js +0 -1
  25. package/esm/RCTree/styles.d.ts +1 -1
  26. package/esm/RCTree/styles.js +203 -8
  27. package/esm/contexts/ProfileTablesContext/index.d.ts +6 -0
  28. package/esm/contexts/ProfileTablesContext/index.js +5 -0
  29. package/esm/helpers/basicTable.d.ts +3 -1
  30. package/esm/helpers/basicTable.js +10 -0
  31. package/esm/hooks/useSavedState/useSavedState.d.ts +1 -1
  32. package/esm/hooks/useSavedStateForEntityType/useSavedStateForEntityType.d.ts +1 -1
  33. package/esm/index.d.ts +4 -2
  34. package/esm/index.js +3 -1
  35. package/esm/test-utils/index.js +1 -1
  36. package/esm/types/basicTable.d.ts +5 -0
  37. package/esm/types/preferences.d.ts +8 -0
  38. package/esm/types/preferences.js +1 -0
  39. package/package.json +2 -2
@@ -1,34 +1,82 @@
1
- export namespace actions {
2
- let changeColumns: (payload: any) => {
1
+ import { createStandardAction } from '@reltio/mdm-sdk';
2
+ import { ColumnData, ColumnFilter, ColumnSize, Sorting } from '../types/basicTable';
3
+ export declare enum ActionTypes {
4
+ CHANGE_COLUMNS = "CHANGE_COLUMNS",
5
+ TOGGLE_FILTERS = "TOGGLE_FILTERS",
6
+ CHANGE_FILTER = "CHANGE_FILTER",
7
+ TOGGLE_SORT = "TOGGLE_SORT",
8
+ CHANGE_PAGE = "CHANGE_PAGE",
9
+ CHANGE_ROWS_PER_PAGE = "CHANGE_ROWS_PER_PAGE"
10
+ }
11
+ export type BasicTableState = {
12
+ visibleColumns: ColumnData['id'][];
13
+ columnsSize?: ColumnSize[];
14
+ filters?: Record<ColumnData['id'], ColumnFilter>;
15
+ sorting?: Sorting;
16
+ page: number;
17
+ rowsPerPage: number;
18
+ rowsPerPageOptions?: number[];
19
+ [key: string]: unknown;
20
+ };
21
+ export type BasicTableAction = ReturnType<ReturnType<typeof createStandardAction>>;
22
+ export type BasicTableReducer = <TableState extends BasicTableState, TableAction extends BasicTableAction>(state: TableState, action: TableAction) => TableState;
23
+ export declare const actions: {
24
+ changeColumns: (payload: any) => {
3
25
  type: any;
4
26
  payload: any;
5
27
  };
6
- let toggleFilters: (payload: any) => {
28
+ toggleFilters: (payload: any) => {
7
29
  type: any;
8
30
  payload: any;
9
31
  };
10
- let changeFilter: (payload: any) => {
32
+ changeFilter: (payload: any) => {
11
33
  type: any;
12
34
  payload: any;
13
35
  };
14
- let toggleSort: (payload: any) => {
36
+ toggleSort: (payload: any) => {
15
37
  type: any;
16
38
  payload: any;
17
39
  };
18
- let changePage: (payload: any) => {
40
+ changePage: (payload: any) => {
19
41
  type: any;
20
42
  payload: any;
21
43
  };
22
- let changeRowsPerPage: (payload: any) => {
44
+ changeRowsPerPage: (payload: any) => {
23
45
  type: any;
24
46
  payload: any;
25
47
  };
26
- }
27
- export function changeVisibleColumns(state: any, nextVisibleColumns: any): any;
28
- export function reducer(state: any, action: any): any;
29
- declare namespace _default {
30
- export { reducer };
31
- export { actions };
32
- export { changeVisibleColumns };
33
- }
48
+ };
49
+ export declare const changeVisibleColumns: (state: BasicTableState, nextVisibleColumns?: BasicTableState['visibleColumns']) => any;
50
+ export declare const reducer: BasicTableReducer;
51
+ declare const _default: {
52
+ reducer: BasicTableReducer;
53
+ actions: {
54
+ changeColumns: (payload: any) => {
55
+ type: any;
56
+ payload: any;
57
+ };
58
+ toggleFilters: (payload: any) => {
59
+ type: any;
60
+ payload: any;
61
+ };
62
+ changeFilter: (payload: any) => {
63
+ type: any;
64
+ payload: any;
65
+ };
66
+ toggleSort: (payload: any) => {
67
+ type: any;
68
+ payload: any;
69
+ };
70
+ changePage: (payload: any) => {
71
+ type: any;
72
+ payload: any;
73
+ };
74
+ changeRowsPerPage: (payload: any) => {
75
+ type: any;
76
+ payload: any;
77
+ };
78
+ };
79
+ ActionTypes: typeof ActionTypes;
80
+ changeVisibleColumns: (state: BasicTableState, nextVisibleColumns?: string[]) => any;
81
+ };
34
82
  export default _default;
@@ -11,28 +11,42 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.reducer = exports.changeVisibleColumns = exports.actions = void 0;
14
+ exports.reducer = exports.changeVisibleColumns = exports.actions = exports.ActionTypes = void 0;
15
15
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
16
16
  var ramda_1 = require("ramda");
17
- var CHANGE_COLUMNS = 'CHANGE_COLUMNS';
18
- var TOGGLE_FILTERS = 'TOGGLE_FILTERS';
19
- var CHANGE_FILTER = 'CHANGE_FILTER';
20
- var TOGGLE_SORT = 'TOGGLE_SORT';
21
- var CHANGE_PAGE = 'CHANGE_PAGE';
22
- var CHANGE_ROWS_PER_PAGE = 'CHANGE_ROWS_PER_PAGE';
17
+ var ActionTypes;
18
+ (function (ActionTypes) {
19
+ ActionTypes["CHANGE_COLUMNS"] = "CHANGE_COLUMNS";
20
+ ActionTypes["TOGGLE_FILTERS"] = "TOGGLE_FILTERS";
21
+ ActionTypes["CHANGE_FILTER"] = "CHANGE_FILTER";
22
+ ActionTypes["TOGGLE_SORT"] = "TOGGLE_SORT";
23
+ ActionTypes["CHANGE_PAGE"] = "CHANGE_PAGE";
24
+ ActionTypes["CHANGE_ROWS_PER_PAGE"] = "CHANGE_ROWS_PER_PAGE";
25
+ })(ActionTypes || (exports.ActionTypes = ActionTypes = {}));
23
26
  exports.actions = {
24
- changeColumns: (0, mdm_sdk_1.createStandardAction)(CHANGE_COLUMNS),
25
- toggleFilters: (0, mdm_sdk_1.createStandardAction)(TOGGLE_FILTERS),
26
- changeFilter: (0, mdm_sdk_1.createStandardAction)(CHANGE_FILTER),
27
- toggleSort: (0, mdm_sdk_1.createStandardAction)(TOGGLE_SORT),
28
- changePage: (0, mdm_sdk_1.createStandardAction)(CHANGE_PAGE),
29
- changeRowsPerPage: (0, mdm_sdk_1.createStandardAction)(CHANGE_ROWS_PER_PAGE)
27
+ changeColumns: (0, mdm_sdk_1.createStandardAction)(ActionTypes.CHANGE_COLUMNS),
28
+ toggleFilters: (0, mdm_sdk_1.createStandardAction)(ActionTypes.TOGGLE_FILTERS),
29
+ changeFilter: (0, mdm_sdk_1.createStandardAction)(ActionTypes.CHANGE_FILTER),
30
+ toggleSort: (0, mdm_sdk_1.createStandardAction)(ActionTypes.TOGGLE_SORT),
31
+ changePage: (0, mdm_sdk_1.createStandardAction)(ActionTypes.CHANGE_PAGE),
32
+ changeRowsPerPage: (0, mdm_sdk_1.createStandardAction)(ActionTypes.CHANGE_ROWS_PER_PAGE)
30
33
  };
31
34
  var changeVisibleColumns = function (state, nextVisibleColumns) {
35
+ if (nextVisibleColumns === void 0) { nextVisibleColumns = []; }
32
36
  var removedColumns = (0, ramda_1.difference)(state.visibleColumns, nextVisibleColumns);
33
37
  var isRemovedColumn = function (columnId) { return removedColumns.includes(columnId); };
34
38
  return (0, ramda_1.evolve)({
35
39
  visibleColumns: (0, ramda_1.always)(nextVisibleColumns),
40
+ columnsSize: function (columnsSize) {
41
+ if (columnsSize === void 0) { columnsSize = []; }
42
+ return nextVisibleColumns.map(function (columnId) {
43
+ var columnSize = columnsSize.find(function (_a) {
44
+ var id = _a.id;
45
+ return id === columnId;
46
+ });
47
+ return __assign({ id: columnId, size: (columnSize === null || columnSize === void 0 ? void 0 : columnSize.manuallyChanged) ? columnSize.size : 0 }, ((columnSize === null || columnSize === void 0 ? void 0 : columnSize.manuallyChanged) ? { manuallyChanged: true } : {}));
48
+ });
49
+ },
36
50
  sorting: (0, ramda_1.when)(function (sorting) {
37
51
  if (sorting === void 0) { sorting = {}; }
38
52
  return isRemovedColumn(sorting.field);
@@ -41,26 +55,29 @@ var changeVisibleColumns = function (state, nextVisibleColumns) {
41
55
  return { field: nextSortField, order: 'asc' };
42
56
  }),
43
57
  filters: function (filters) {
44
- return (0, ramda_1.keys)(filters).reduce(function (acc, columnId) { return (isRemovedColumn(columnId) ? (0, ramda_1.dissoc)(columnId, acc) : acc); }, filters);
58
+ if (filters === void 0) { filters = {}; }
59
+ return (0, ramda_1.keys)(filters).reduce(function (acc, columnId) {
60
+ return isRemovedColumn(columnId) ? (0, ramda_1.dissoc)(columnId, acc) : acc;
61
+ }, filters);
45
62
  }
46
63
  }, state);
47
64
  };
48
65
  exports.changeVisibleColumns = changeVisibleColumns;
49
66
  var reducer = function (state, action) {
50
67
  switch (action.type) {
51
- case CHANGE_COLUMNS: {
68
+ case ActionTypes.CHANGE_COLUMNS: {
52
69
  var columnIds = action.payload;
53
70
  return (0, exports.changeVisibleColumns)(state, columnIds);
54
71
  }
55
- case TOGGLE_FILTERS: {
72
+ case ActionTypes.TOGGLE_FILTERS: {
56
73
  var enableFilters = !state.filters;
57
74
  return __assign(__assign({}, state), { filters: enableFilters ? {} : null, page: enableFilters ? state.page : 0 });
58
75
  }
59
- case CHANGE_FILTER: {
76
+ case ActionTypes.CHANGE_FILTER: {
60
77
  var _a = action.payload, columnId = _a.columnId, filter = _a.filter;
61
78
  return (0, ramda_1.evolve)({ filters: filter ? (0, ramda_1.assoc)(columnId, filter) : (0, ramda_1.dissoc)(columnId), page: (0, ramda_1.always)(0) }, state);
62
79
  }
63
- case TOGGLE_SORT: {
80
+ case ActionTypes.TOGGLE_SORT: {
64
81
  var nextSortField = action.payload;
65
82
  var prevSortField = (0, ramda_1.path)(['sorting', 'field'], state);
66
83
  var prevSortOrder = (0, ramda_1.path)(['sorting', 'order'], state);
@@ -69,9 +86,9 @@ var reducer = function (state, action) {
69
86
  order: (0, mdm_sdk_1.toggleSortOrder)(nextSortField === prevSortField ? prevSortOrder : null)
70
87
  }, page: 0 });
71
88
  }
72
- case CHANGE_PAGE:
89
+ case ActionTypes.CHANGE_PAGE:
73
90
  return __assign(__assign({}, state), { page: action.payload });
74
- case CHANGE_ROWS_PER_PAGE:
91
+ case ActionTypes.CHANGE_ROWS_PER_PAGE:
75
92
  return __assign(__assign({}, state), { rowsPerPage: action.payload });
76
93
  default:
77
94
  return state;
@@ -81,5 +98,6 @@ exports.reducer = reducer;
81
98
  exports.default = {
82
99
  reducer: exports.reducer,
83
100
  actions: exports.actions,
101
+ ActionTypes: ActionTypes,
84
102
  changeVisibleColumns: exports.changeVisibleColumns
85
103
  };
@@ -13,6 +13,26 @@ describe('basicTableViewState tests', function () {
13
13
  };
14
14
  expect((0, basicTableViewState_1.changeVisibleColumns)(prevState, visibleColumns)).toEqual(nextState);
15
15
  });
16
+ it('should update columns size on changing visible columns', function () {
17
+ var prevState = {
18
+ visibleColumns: ['column1', 'column2', 'column3', 'column4'],
19
+ columnsSize: [
20
+ { id: 'column1', size: 100, manuallyChanged: true },
21
+ { id: 'column2', size: 200 },
22
+ { id: 'column3', size: 300, manuallyChanged: true },
23
+ { id: 'column4', size: 400 }
24
+ ]
25
+ };
26
+ var visibleColumns = ['column1', 'column4'];
27
+ var nextState = {
28
+ visibleColumns: visibleColumns,
29
+ columnsSize: [
30
+ { id: 'column1', size: 100, manuallyChanged: true },
31
+ { id: 'column4', size: 0 }
32
+ ]
33
+ };
34
+ expect((0, basicTableViewState_1.changeVisibleColumns)(prevState, visibleColumns)).toEqual(nextState);
35
+ });
16
36
  it('should remove filters for columns that are no longer visible', function () {
17
37
  var prevState = {
18
38
  visibleColumns: ['column1', 'column2'],
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { TreeNodeProps } from 'rc-tree';
3
- import 'rc-tree/assets/index.css';
4
3
  import { RCTreeNode } from './types';
5
4
  type Props = {
6
5
  treeData: RCTreeNode[];
@@ -30,7 +30,6 @@ exports.RCTree = void 0;
30
30
  var react_1 = __importStar(require("react"));
31
31
  var rc_tree_1 = __importDefault(require("rc-tree"));
32
32
  var classnames_1 = __importDefault(require("classnames"));
33
- require("rc-tree/assets/index.css");
34
33
  var DefaultSwitchRenderer_1 = require("./DefaultSwitchRenderer");
35
34
  var helper_1 = require("./helper");
36
35
  var styles_1 = require("./styles");
@@ -1 +1 @@
1
- export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "@global .rc-tree-node-content-wrapper" | "@global .rc-tree-treenode" | "@global .rc-tree-icon_loading">;
1
+ export declare const useStyles: (props?: any) => import("@mui/styles").ClassNameMap<"expandButton" | "collapseButton" | "switcherButtonWrapper" | "switcherButton" | "treeWrapper" | "@global">;
@@ -28,13 +28,208 @@ exports.useStyles = (0, styles_1.makeStyles)(function () { return ({
28
28
  treeWrapper: {
29
29
  border: 'none'
30
30
  },
31
- '@global .rc-tree-node-content-wrapper': {
32
- height: 'auto !important'
33
- },
34
- '@global .rc-tree-treenode': {
35
- display: 'flex'
36
- },
37
- '@global .rc-tree-icon_loading': {
38
- display: 'none !important'
31
+ /* rc-tree/assets/index.css */
32
+ '@global': {
33
+ '.rc-tree': {
34
+ margin: 0,
35
+ border: '1px solid transparent'
36
+ },
37
+ '.rc-tree-focused:not(.rc-tree-active-focused)': {
38
+ borderColor: 'cyan'
39
+ },
40
+ '.rc-tree .rc-tree-treenode': {
41
+ margin: 0,
42
+ padding: 0,
43
+ lineHeight: '24px',
44
+ whiteSpace: 'nowrap',
45
+ listStyle: 'none',
46
+ outline: 0
47
+ },
48
+ '.rc-tree .rc-tree-treenode .draggable': {
49
+ color: '#333',
50
+ userSelect: 'none'
51
+ },
52
+ '.rc-tree .rc-tree-treenode.dragging': {
53
+ background: 'rgba(100, 100, 255, 0.1)'
54
+ },
55
+ '.rc-tree .rc-tree-treenode.drop-container > .draggable::after': {
56
+ position: 'absolute',
57
+ top: 0,
58
+ right: 0,
59
+ bottom: 0,
60
+ left: 0,
61
+ boxShadow: 'inset 0 0 0 2px red',
62
+ content: "''"
63
+ },
64
+ '.rc-tree .rc-tree-treenode.drop-container ~ .rc-tree-treenode': {
65
+ borderLeft: '2px solid chocolate'
66
+ },
67
+ '.rc-tree .rc-tree-treenode.drop-target': {
68
+ backgroundColor: 'yellowgreen'
69
+ },
70
+ '.rc-tree .rc-tree-treenode.drop-target ~ .rc-tree-treenode': {
71
+ borderLeft: 'none'
72
+ },
73
+ '.rc-tree .rc-tree-treenode.filter-node > .rc-tree-node-content-wrapper': {
74
+ color: '#a60000 !important',
75
+ fontWeight: 'bold !important'
76
+ },
77
+ '.rc-tree .rc-tree-treenode ul': {
78
+ margin: 0,
79
+ padding: '0 0 0 18px'
80
+ },
81
+ '.rc-tree .rc-tree-treenode .rc-tree-node-content-wrapper': {
82
+ position: 'relative',
83
+ display: 'inline-block',
84
+ height: '24px',
85
+ margin: 0,
86
+ padding: 0,
87
+ textDecoration: 'none',
88
+ verticalAlign: 'top',
89
+ cursor: 'pointer'
90
+ },
91
+ '.rc-tree .rc-tree-treenode span.rc-tree-switcher, .rc-tree .rc-tree-treenode span.rc-tree-checkbox, .rc-tree .rc-tree-treenode span.rc-tree-iconEle': {
92
+ display: 'inline-block',
93
+ width: '16px',
94
+ height: '16px',
95
+ marginRight: '2px',
96
+ lineHeight: '16px',
97
+ verticalAlign: '-0.125em',
98
+ backgroundColor: 'transparent',
99
+ backgroundImage: "url('data:image/png;base64,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')",
100
+ backgroundRepeat: 'no-repeat',
101
+ backgroundAttachment: 'scroll',
102
+ border: '0 none',
103
+ outline: 'none',
104
+ cursor: 'pointer'
105
+ },
106
+ '.rc-tree .rc-tree-treenode span.rc-tree-switcher.rc-tree-icon__customize, .rc-tree .rc-tree-treenode span.rc-tree-checkbox.rc-tree-icon__customize, .rc-tree .rc-tree-treenode span.rc-tree-iconEle.rc-tree-icon__customize': {
107
+ backgroundImage: 'none'
108
+ },
109
+ '.rc-tree .rc-tree-treenode span.rc-tree-icon_loading': {
110
+ marginRight: '2px',
111
+ verticalAlign: 'top',
112
+ display: 'none!important'
113
+ },
114
+ '.rc-tree .rc-tree-treenode span.rc-tree-switcher.rc-tree-switcher-noop': {
115
+ cursor: 'auto'
116
+ },
117
+ '.rc-tree .rc-tree-treenode span.rc-tree-switcher.rc-tree-switcher_open': {
118
+ backgroundPosition: '-93px -56px'
119
+ },
120
+ '.rc-tree .rc-tree-treenode span.rc-tree-switcher.rc-tree-switcher_close': {
121
+ backgroundPosition: '-75px -56px'
122
+ },
123
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox': {
124
+ width: '13px',
125
+ height: '13px',
126
+ margin: '0 3px',
127
+ backgroundPosition: '0 0'
128
+ },
129
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox-checked': {
130
+ backgroundPosition: '-14px 0'
131
+ },
132
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox-indeterminate': {
133
+ backgroundPosition: '-14px -28px'
134
+ },
135
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox-disabled': {
136
+ backgroundPosition: '0 -56px'
137
+ },
138
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox.rc-tree-checkbox-checked.rc-tree-checkbox-disabled': {
139
+ backgroundPosition: '-14px -56px'
140
+ },
141
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox.rc-tree-checkbox-indeterminate.rc-tree-checkbox-disabled': {
142
+ position: 'relative',
143
+ background: '#ccc',
144
+ borderRadius: '3px'
145
+ },
146
+ '.rc-tree .rc-tree-treenode span.rc-tree-checkbox.rc-tree-checkbox-indeterminate.rc-tree-checkbox-disabled::after': {
147
+ position: 'absolute',
148
+ top: '5px',
149
+ left: '3px',
150
+ width: '5px',
151
+ height: 0,
152
+ border: '2px solid #fff',
153
+ borderTop: 0,
154
+ borderLeft: 0,
155
+ transform: 'scale(1)',
156
+ content: "' '"
157
+ },
158
+ '.rc-tree:not(.rc-tree-show-line) .rc-tree-treenode .rc-tree-switcher-noop': {
159
+ background: 'none'
160
+ },
161
+ '.rc-tree.rc-tree-show-line .rc-tree-treenode:not(:last-child) > ul': {
162
+ background: "url('data:image/gif;base64,R0lGODlhCQACAIAAAMzMzP///yH5BAEAAAEALAAAAAAJAAIAAAIEjI9pUAA7') 0 0 repeat-y"
163
+ },
164
+ '.rc-tree.rc-tree-show-line .rc-tree-treenode:not(:last-child) > .rc-tree-switcher-noop': {
165
+ backgroundPosition: '-56px -18px'
166
+ },
167
+ '.rc-tree.rc-tree-show-line .rc-tree-treenode:last-child > .rc-tree-switcher-noop': {
168
+ backgroundPosition: '-56px -36px'
169
+ },
170
+ '.rc-tree-child-tree': {
171
+ display: 'none'
172
+ },
173
+ '.rc-tree-child-tree-open': {
174
+ display: 'block'
175
+ },
176
+ '.rc-tree-treenode-disabled > span:not(.rc-tree-switcher), .rc-tree-treenode-disabled > a, .rc-tree-treenode-disabled > a span': {
177
+ color: '#767676',
178
+ cursor: 'not-allowed'
179
+ },
180
+ '.rc-tree-treenode-active': {
181
+ background: 'rgba(0, 0, 0, 0.1)'
182
+ },
183
+ '.rc-tree-node-selected': {
184
+ backgroundColor: '#ffe6b0',
185
+ boxShadow: '0 0 0 1px #ffb951',
186
+ opacity: 0.8
187
+ },
188
+ '.rc-tree-icon__open': {
189
+ marginRight: '2px',
190
+ verticalAlign: 'top',
191
+ backgroundPosition: '-110px -16px'
192
+ },
193
+ '.rc-tree-icon__close': {
194
+ marginRight: '2px',
195
+ verticalAlign: 'top',
196
+ backgroundPosition: '-110px 0'
197
+ },
198
+ '.rc-tree-icon__docu': {
199
+ marginRight: '2px',
200
+ verticalAlign: 'top',
201
+ backgroundPosition: '-110px -32px'
202
+ },
203
+ '.rc-tree-icon__customize': {
204
+ marginRight: '2px',
205
+ verticalAlign: 'top'
206
+ },
207
+ '.rc-tree-title': {
208
+ display: 'inline-block'
209
+ },
210
+ '.rc-tree-indent': {
211
+ display: 'inline-block',
212
+ height: 0,
213
+ verticalAlign: 'bottom'
214
+ },
215
+ '.rc-tree-indent-unit': {
216
+ display: 'inline-block',
217
+ width: '16px'
218
+ },
219
+ '.rc-tree-draggable-icon': {
220
+ display: 'inline-flex',
221
+ justifyContent: 'center',
222
+ width: '16px'
223
+ },
224
+ //Custom styles
225
+ '.rc-tree-node-content-wrapper': {
226
+ height: 'auto !important'
227
+ },
228
+ '.rc-tree-treenode': {
229
+ display: 'flex'
230
+ },
231
+ '.rc-tree-icon_loading': {
232
+ display: 'none !important'
233
+ }
39
234
  }
40
235
  }); });
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { ProfileTablesPreferences } from '../../types/preferences';
3
+ export declare const ProfileTablesContext: import("react").Context<{
4
+ profileTablesPreferences: ProfileTablesPreferences;
5
+ setProfileTablesPreferences: (profileTablesPreferences: ProfileTablesPreferences) => void;
6
+ }>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfileTablesContext = void 0;
4
+ var react_1 = require("react");
5
+ exports.ProfileTablesContext = (0, react_1.createContext)({
6
+ profileTablesPreferences: {},
7
+ setProfileTablesPreferences: function () { }
8
+ });
@@ -1,5 +1,6 @@
1
1
  import { FacetFilter } from '@reltio/mdm-sdk';
2
- import { ColumnData, ColumnFilter } from '../types/basicTable';
2
+ import { ColumnData, ColumnFilter, ColumnSize } from '../types/basicTable';
3
+ import { ColumnsSizeById } from '../types/preferences';
3
4
  export declare const defaultGetRowCellHeight: ({ columnData, cell }: {
4
5
  columnData: any;
5
6
  cell: any;
@@ -11,3 +12,4 @@ export declare const defaultRenderRowCell: ({ cell, CellValueRenderer, ...otherP
11
12
  }) => any;
12
13
  export declare const columnFilterToMdmFilter: (columnData: Pick<ColumnData, 'id' | 'dataTypeDefinition'>, columnFilter?: ColumnFilter) => FacetFilter;
13
14
  export declare const buildColumnsFilter: (columnsData: ColumnData[], filters?: Record<string, ColumnFilter>) => string;
15
+ export declare const buildColumnsSizeById: (columnsSize?: ColumnSize[]) => ColumnsSizeById;
@@ -25,7 +25,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
25
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.buildColumnsFilter = exports.columnFilterToMdmFilter = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = void 0;
28
+ exports.buildColumnsSizeById = exports.buildColumnsFilter = exports.columnFilterToMdmFilter = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = void 0;
29
29
  var react_1 = __importDefault(require("react"));
30
30
  var ramda_1 = require("ramda");
31
31
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
@@ -76,3 +76,14 @@ var buildColumnsFilter = function (columnsData, filters) {
76
76
  .orSome('');
77
77
  };
78
78
  exports.buildColumnsFilter = buildColumnsFilter;
79
+ var buildColumnsSizeById = function (columnsSize) {
80
+ if (columnsSize === void 0) { columnsSize = []; }
81
+ return columnsSize.reduce(function (columnsSizeById, _a) {
82
+ var id = _a.id, size = _a.size, manuallyChanged = _a.manuallyChanged;
83
+ if (manuallyChanged) {
84
+ columnsSizeById[id] = size;
85
+ }
86
+ return columnsSizeById;
87
+ }, {});
88
+ };
89
+ exports.buildColumnsSizeById = buildColumnsSizeById;
@@ -1,4 +1,4 @@
1
1
  export declare const useSavedState: <T>(getSavedState: () => Promise<T>) => {
2
2
  isLoaded: boolean;
3
- savedState: T | Record<string, never>;
3
+ savedState: Record<string, never> | T;
4
4
  };
@@ -1,5 +1,5 @@
1
1
  type SavedState<T> = {
2
- [entityType: string]: T;
2
+ [entityTypeUri: string]: T;
3
3
  };
4
4
  type Props<T> = {
5
5
  getSavedState: () => Promise<SavedState<T>>;
package/cjs/index.d.ts CHANGED
@@ -222,6 +222,7 @@ export { MaskedAttributesProvider, useMaskAttributeValue, useUnmaskAttributeValu
222
222
  export { RowCollapseContext as BasicTableRowCollapseContext } from './contexts/RowCollapseContext';
223
223
  export { BasicTableContext } from './contexts/BasicTableContext';
224
224
  export { HiddenAttributesContext } from './contexts/HiddenAttributesContext';
225
+ export { ProfileTablesContext } from './contexts/ProfileTablesContext';
225
226
  export { useScrollToAttributeError } from './hooks/useScrollToAttributeError';
226
227
  export { useMatchesColumnsData } from './hooks/useMatchesColumnsData';
227
228
  export { useActions } from './hooks/useActions';
@@ -260,7 +261,7 @@ export { useClickableChartStyle as useClickableStyle } from './hooks/useClickabl
260
261
  export { useDynamicRowCellHeight } from './hooks/useDynamicRowCellHeight';
261
262
  export { useKeyboardNavigation } from './hooks/useKeyboardNavigation';
262
263
  export { useMaskedAttribute } from './hooks/useMaskedAttribute';
263
- export { buildColumnsFilter, columnFilterToMdmFilter, defaultGetRowCellHeight, defaultRenderRowCell } from './helpers/basicTable';
264
+ export { buildColumnsFilter, buildColumnsSizeById, columnFilterToMdmFilter, defaultGetRowCellHeight, defaultRenderRowCell } from './helpers/basicTable';
264
265
  export { enrichDataWithPercents } from './helpers/charts';
265
266
  export { showDefaultErrorMessage, showErrorMessage } from './helpers/errors';
266
267
  export { getChecked, getValue, isControlOrCommandPressed } from './helpers/events';
@@ -268,7 +269,8 @@ export { mergeClasses } from './helpers/classes';
268
269
  export type { AttributeFiltersComponentProps } from './AttributesFiltersBuilder';
269
270
  export type { ChartData } from './types/charts';
270
271
  export type { AddInlineAttributeEvent, DeleteInlineAttributeEvent, EditInlineAttributeEvent, IgnoreInlineAttributeEvent, PinInlineAttributeEvent } from './types/inlineAttributes';
271
- export type { ColumnData, ColumnFilter, Sorting, GroupedColumnsData, GroupedColumns, RenderRowCellProps, RowId, ElementsRowsData, TableRowsData, RowValue } from './types/basicTable';
272
+ export type { ColumnData, ColumnSize, ColumnFilter, Sorting, GroupedColumnsData, GroupedColumns, RenderRowCellProps, RowId, ElementsRowsData, TableRowsData, RowValue } from './types/basicTable';
273
+ export * from './types/preferences';
272
274
  export * from './types';
273
275
  export * from './constants';
274
276
  export { TestPerspectivesSettingsProvider } from './test-utils/TestPerspectiveSettingsProvider';