@reltio/components 1.4.1928 → 1.4.1930

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 (63) 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/contexts/ProfileTablesContext/index.d.ts +6 -0
  5. package/cjs/contexts/ProfileTablesContext/index.js +8 -0
  6. package/cjs/helpers/basicTable.d.ts +3 -1
  7. package/cjs/helpers/basicTable.js +12 -1
  8. package/cjs/hooks/useMarkers/helpers.d.ts +8 -0
  9. package/cjs/hooks/useMarkers/helpers.js +56 -0
  10. package/cjs/hooks/useMarkers/index.d.ts +2 -0
  11. package/cjs/hooks/useMarkers/index.js +7 -0
  12. package/cjs/hooks/useMarkers/nestedHelpers.d.ts +2 -0
  13. package/cjs/hooks/useMarkers/nestedHelpers.js +31 -0
  14. package/cjs/hooks/useMarkers/nestedHelpers.test.d.ts +1 -0
  15. package/cjs/hooks/useMarkers/nestedHelpers.test.js +235 -0
  16. package/cjs/hooks/useMarkers/referenceHelpers.d.ts +2 -0
  17. package/cjs/hooks/useMarkers/referenceHelpers.js +180 -0
  18. package/cjs/hooks/useMarkers/referenceHelpers.test.d.ts +1 -0
  19. package/cjs/hooks/useMarkers/referenceHelpers.test.js +490 -0
  20. package/cjs/hooks/useMarkers/resolveHelpers.d.ts +8 -0
  21. package/cjs/hooks/useMarkers/resolveHelpers.js +70 -0
  22. package/cjs/hooks/useMarkers/useMarkers.d.ts +5 -0
  23. package/cjs/hooks/useMarkers/useMarkers.js +30 -0
  24. package/cjs/hooks/useSavedState/useSavedState.d.ts +1 -1
  25. package/cjs/hooks/useSavedStateForEntityType/useSavedStateForEntityType.d.ts +1 -1
  26. package/cjs/index.d.ts +5 -2
  27. package/cjs/index.js +9 -2
  28. package/cjs/test-utils/index.js +1 -1
  29. package/cjs/types/basicTable.d.ts +5 -0
  30. package/cjs/types/preferences.d.ts +8 -0
  31. package/cjs/types/preferences.js +2 -0
  32. package/esm/BasicTable/basicTableViewState.d.ts +63 -15
  33. package/esm/BasicTable/basicTableViewState.js +37 -19
  34. package/esm/BasicTable/basicTableViewState.test.js +20 -0
  35. package/esm/contexts/ProfileTablesContext/index.d.ts +6 -0
  36. package/esm/contexts/ProfileTablesContext/index.js +5 -0
  37. package/esm/helpers/basicTable.d.ts +3 -1
  38. package/esm/helpers/basicTable.js +10 -0
  39. package/esm/hooks/useMarkers/helpers.d.ts +8 -0
  40. package/esm/hooks/useMarkers/helpers.js +49 -0
  41. package/esm/hooks/useMarkers/index.d.ts +2 -0
  42. package/esm/hooks/useMarkers/index.js +2 -0
  43. package/esm/hooks/useMarkers/nestedHelpers.d.ts +2 -0
  44. package/esm/hooks/useMarkers/nestedHelpers.js +27 -0
  45. package/esm/hooks/useMarkers/nestedHelpers.test.d.ts +1 -0
  46. package/esm/hooks/useMarkers/nestedHelpers.test.js +233 -0
  47. package/esm/hooks/useMarkers/referenceHelpers.d.ts +2 -0
  48. package/esm/hooks/useMarkers/referenceHelpers.js +176 -0
  49. package/esm/hooks/useMarkers/referenceHelpers.test.d.ts +1 -0
  50. package/esm/hooks/useMarkers/referenceHelpers.test.js +488 -0
  51. package/esm/hooks/useMarkers/resolveHelpers.d.ts +8 -0
  52. package/esm/hooks/useMarkers/resolveHelpers.js +66 -0
  53. package/esm/hooks/useMarkers/useMarkers.d.ts +5 -0
  54. package/esm/hooks/useMarkers/useMarkers.js +26 -0
  55. package/esm/hooks/useSavedState/useSavedState.d.ts +1 -1
  56. package/esm/hooks/useSavedStateForEntityType/useSavedStateForEntityType.d.ts +1 -1
  57. package/esm/index.d.ts +5 -2
  58. package/esm/index.js +4 -1
  59. package/esm/test-utils/index.js +1 -1
  60. package/esm/types/basicTable.d.ts +5 -0
  61. package/esm/types/preferences.d.ts +8 -0
  62. package/esm/types/preferences.js +1 -0
  63. package/package.json +15 -12
package/cjs/index.js CHANGED
@@ -19,8 +19,8 @@ exports.ErrorMessage = exports.ConfigureColumnsPopup = exports.ConnectionEditor
19
19
  exports.PotentialMatchReviewCard = exports.PopupWithArrow = 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 = void 0;
20
20
  exports.PivotingAttributeContext = exports.UsersContext = exports.InitialCollaborationContextValue = exports.CollaborationContextProvider = 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.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 = void 0;
21
21
  exports.BasicTableRowCollapseContext = exports.useUnmaskedAttributeValue = exports.useUnmaskAttributeValue = exports.useMaskAttributeValue = 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 = void 0;
22
- exports.getValue = exports.getChecked = exports.showErrorMessage = exports.showDefaultErrorMessage = exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsFilter = 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.HiddenAttributesContext = exports.BasicTableContext = 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 = void 0;
22
+ exports.enrichDataWithPercents = exports.defaultRenderRowCell = exports.defaultGetRowCellHeight = exports.columnFilterToMdmFilter = exports.buildColumnsSizeById = exports.buildColumnsFilter = 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 = 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 = 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; } });
@@ -500,6 +500,8 @@ var BasicTableContext_1 = require("./contexts/BasicTableContext");
500
500
  Object.defineProperty(exports, "BasicTableContext", { enumerable: true, get: function () { return BasicTableContext_1.BasicTableContext; } });
501
501
  var HiddenAttributesContext_1 = require("./contexts/HiddenAttributesContext");
502
502
  Object.defineProperty(exports, "HiddenAttributesContext", { enumerable: true, get: function () { return HiddenAttributesContext_1.HiddenAttributesContext; } });
503
+ var ProfileTablesContext_1 = require("./contexts/ProfileTablesContext");
504
+ Object.defineProperty(exports, "ProfileTablesContext", { enumerable: true, get: function () { return ProfileTablesContext_1.ProfileTablesContext; } });
503
505
  // hooks
504
506
  var useScrollToAttributeError_1 = require("./hooks/useScrollToAttributeError");
505
507
  Object.defineProperty(exports, "useScrollToAttributeError", { enumerable: true, get: function () { return useScrollToAttributeError_1.useScrollToAttributeError; } });
@@ -578,9 +580,13 @@ var useKeyboardNavigation_1 = require("./hooks/useKeyboardNavigation");
578
580
  Object.defineProperty(exports, "useKeyboardNavigation", { enumerable: true, get: function () { return useKeyboardNavigation_1.useKeyboardNavigation; } });
579
581
  var useMaskedAttribute_1 = require("./hooks/useMaskedAttribute");
580
582
  Object.defineProperty(exports, "useMaskedAttribute", { enumerable: true, get: function () { return useMaskedAttribute_1.useMaskedAttribute; } });
583
+ var useMarkers_1 = require("./hooks/useMarkers");
584
+ Object.defineProperty(exports, "useMarkers", { enumerable: true, get: function () { return useMarkers_1.useMarkers; } });
585
+ Object.defineProperty(exports, "resolveMarkers", { enumerable: true, get: function () { return useMarkers_1.resolveMarkers; } });
581
586
  // helpers
582
587
  var basicTable_1 = require("./helpers/basicTable");
583
588
  Object.defineProperty(exports, "buildColumnsFilter", { enumerable: true, get: function () { return basicTable_1.buildColumnsFilter; } });
589
+ Object.defineProperty(exports, "buildColumnsSizeById", { enumerable: true, get: function () { return basicTable_1.buildColumnsSizeById; } });
584
590
  Object.defineProperty(exports, "columnFilterToMdmFilter", { enumerable: true, get: function () { return basicTable_1.columnFilterToMdmFilter; } });
585
591
  Object.defineProperty(exports, "defaultGetRowCellHeight", { enumerable: true, get: function () { return basicTable_1.defaultGetRowCellHeight; } });
586
592
  Object.defineProperty(exports, "defaultRenderRowCell", { enumerable: true, get: function () { return basicTable_1.defaultRenderRowCell; } });
@@ -595,6 +601,7 @@ Object.defineProperty(exports, "getValue", { enumerable: true, get: function ()
595
601
  Object.defineProperty(exports, "isControlOrCommandPressed", { enumerable: true, get: function () { return events_1.isControlOrCommandPressed; } });
596
602
  var classes_1 = require("./helpers/classes");
597
603
  Object.defineProperty(exports, "mergeClasses", { enumerable: true, get: function () { return classes_1.mergeClasses; } });
604
+ __exportStar(require("./types/preferences"), exports);
598
605
  __exportStar(require("./types"), exports);
599
606
  // constants
600
607
  __exportStar(require("./constants"), exports);
@@ -131,7 +131,7 @@ var mockElementSizes = function (element, defaults) {
131
131
  };
132
132
  exports.mockElementSizes = mockElementSizes;
133
133
  var mockBasicTableSizing = function (_a) {
134
- var _b = _a === void 0 ? {} : _a, _c = _b.width, width = _c === void 0 ? 2000 : _c, _d = _b.height, height = _d === void 0 ? 1000 : _d;
134
+ var _b = _a === void 0 ? {} : _a, _c = _b.width, width = _c === void 0 ? 2100 : _c, _d = _b.height, height = _d === void 0 ? 1000 : _d;
135
135
  var _e = (0, exports.mockElementSizes)(window.HTMLElement.prototype, { offsetHeight: height, offsetWidth: width }), mock = _e.mock, unmock = _e.unmock;
136
136
  mock();
137
137
  return unmock;
@@ -33,6 +33,11 @@ export type ColumnData = {
33
33
  filterOptions?: ColumnFilterOptions;
34
34
  [key: string]: unknown;
35
35
  };
36
+ export type ColumnSize = {
37
+ id: string;
38
+ size: number;
39
+ manuallyChanged?: boolean;
40
+ };
36
41
  export type GroupedColumns<TColumnData = ColumnData> = {
37
42
  id: string;
38
43
  label: string;
@@ -0,0 +1,8 @@
1
+ import { BaseProfileViewConfig } from '@reltio/mdm-sdk';
2
+ import { ColumnData, ColumnSize } from './basicTable';
3
+ export type ColumnsSizeById = Record<ColumnSize['id'], ColumnSize['size']>;
4
+ export type TablePreferences = {
5
+ visibleColumns?: ColumnData['id'][];
6
+ columnsSizeById?: ColumnsSizeById;
7
+ };
8
+ export type ProfileTablesPreferences = Record<BaseProfileViewConfig['id'], TablePreferences>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,25 +11,39 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { toggleSortOrder, createStandardAction } from '@reltio/mdm-sdk';
13
13
  import { always, assoc, difference, dissoc, evolve, keys, path, when } from 'ramda';
14
- var CHANGE_COLUMNS = 'CHANGE_COLUMNS';
15
- var TOGGLE_FILTERS = 'TOGGLE_FILTERS';
16
- var CHANGE_FILTER = 'CHANGE_FILTER';
17
- var TOGGLE_SORT = 'TOGGLE_SORT';
18
- var CHANGE_PAGE = 'CHANGE_PAGE';
19
- var CHANGE_ROWS_PER_PAGE = 'CHANGE_ROWS_PER_PAGE';
14
+ export var ActionTypes;
15
+ (function (ActionTypes) {
16
+ ActionTypes["CHANGE_COLUMNS"] = "CHANGE_COLUMNS";
17
+ ActionTypes["TOGGLE_FILTERS"] = "TOGGLE_FILTERS";
18
+ ActionTypes["CHANGE_FILTER"] = "CHANGE_FILTER";
19
+ ActionTypes["TOGGLE_SORT"] = "TOGGLE_SORT";
20
+ ActionTypes["CHANGE_PAGE"] = "CHANGE_PAGE";
21
+ ActionTypes["CHANGE_ROWS_PER_PAGE"] = "CHANGE_ROWS_PER_PAGE";
22
+ })(ActionTypes || (ActionTypes = {}));
20
23
  export var actions = {
21
- changeColumns: createStandardAction(CHANGE_COLUMNS),
22
- toggleFilters: createStandardAction(TOGGLE_FILTERS),
23
- changeFilter: createStandardAction(CHANGE_FILTER),
24
- toggleSort: createStandardAction(TOGGLE_SORT),
25
- changePage: createStandardAction(CHANGE_PAGE),
26
- changeRowsPerPage: createStandardAction(CHANGE_ROWS_PER_PAGE)
24
+ changeColumns: createStandardAction(ActionTypes.CHANGE_COLUMNS),
25
+ toggleFilters: createStandardAction(ActionTypes.TOGGLE_FILTERS),
26
+ changeFilter: createStandardAction(ActionTypes.CHANGE_FILTER),
27
+ toggleSort: createStandardAction(ActionTypes.TOGGLE_SORT),
28
+ changePage: createStandardAction(ActionTypes.CHANGE_PAGE),
29
+ changeRowsPerPage: createStandardAction(ActionTypes.CHANGE_ROWS_PER_PAGE)
27
30
  };
28
31
  export var changeVisibleColumns = function (state, nextVisibleColumns) {
32
+ if (nextVisibleColumns === void 0) { nextVisibleColumns = []; }
29
33
  var removedColumns = difference(state.visibleColumns, nextVisibleColumns);
30
34
  var isRemovedColumn = function (columnId) { return removedColumns.includes(columnId); };
31
35
  return evolve({
32
36
  visibleColumns: always(nextVisibleColumns),
37
+ columnsSize: function (columnsSize) {
38
+ if (columnsSize === void 0) { columnsSize = []; }
39
+ return nextVisibleColumns.map(function (columnId) {
40
+ var columnSize = columnsSize.find(function (_a) {
41
+ var id = _a.id;
42
+ return id === columnId;
43
+ });
44
+ 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 } : {}));
45
+ });
46
+ },
33
47
  sorting: when(function (sorting) {
34
48
  if (sorting === void 0) { sorting = {}; }
35
49
  return isRemovedColumn(sorting.field);
@@ -38,25 +52,28 @@ export var changeVisibleColumns = function (state, nextVisibleColumns) {
38
52
  return { field: nextSortField, order: 'asc' };
39
53
  }),
40
54
  filters: function (filters) {
41
- return keys(filters).reduce(function (acc, columnId) { return (isRemovedColumn(columnId) ? dissoc(columnId, acc) : acc); }, filters);
55
+ if (filters === void 0) { filters = {}; }
56
+ return keys(filters).reduce(function (acc, columnId) {
57
+ return isRemovedColumn(columnId) ? dissoc(columnId, acc) : acc;
58
+ }, filters);
42
59
  }
43
60
  }, state);
44
61
  };
45
62
  export var reducer = function (state, action) {
46
63
  switch (action.type) {
47
- case CHANGE_COLUMNS: {
64
+ case ActionTypes.CHANGE_COLUMNS: {
48
65
  var columnIds = action.payload;
49
66
  return changeVisibleColumns(state, columnIds);
50
67
  }
51
- case TOGGLE_FILTERS: {
68
+ case ActionTypes.TOGGLE_FILTERS: {
52
69
  var enableFilters = !state.filters;
53
70
  return __assign(__assign({}, state), { filters: enableFilters ? {} : null, page: enableFilters ? state.page : 0 });
54
71
  }
55
- case CHANGE_FILTER: {
72
+ case ActionTypes.CHANGE_FILTER: {
56
73
  var _a = action.payload, columnId = _a.columnId, filter = _a.filter;
57
74
  return evolve({ filters: filter ? assoc(columnId, filter) : dissoc(columnId), page: always(0) }, state);
58
75
  }
59
- case TOGGLE_SORT: {
76
+ case ActionTypes.TOGGLE_SORT: {
60
77
  var nextSortField = action.payload;
61
78
  var prevSortField = path(['sorting', 'field'], state);
62
79
  var prevSortOrder = path(['sorting', 'order'], state);
@@ -65,9 +82,9 @@ export var reducer = function (state, action) {
65
82
  order: toggleSortOrder(nextSortField === prevSortField ? prevSortOrder : null)
66
83
  }, page: 0 });
67
84
  }
68
- case CHANGE_PAGE:
85
+ case ActionTypes.CHANGE_PAGE:
69
86
  return __assign(__assign({}, state), { page: action.payload });
70
- case CHANGE_ROWS_PER_PAGE:
87
+ case ActionTypes.CHANGE_ROWS_PER_PAGE:
71
88
  return __assign(__assign({}, state), { rowsPerPage: action.payload });
72
89
  default:
73
90
  return state;
@@ -76,5 +93,6 @@ export var reducer = function (state, action) {
76
93
  export default {
77
94
  reducer: reducer,
78
95
  actions: actions,
96
+ ActionTypes: ActionTypes,
79
97
  changeVisibleColumns: changeVisibleColumns
80
98
  };
@@ -11,6 +11,26 @@ describe('basicTableViewState tests', function () {
11
11
  };
12
12
  expect(changeVisibleColumns(prevState, visibleColumns)).toEqual(nextState);
13
13
  });
14
+ it('should update columns size on changing visible columns', function () {
15
+ var prevState = {
16
+ visibleColumns: ['column1', 'column2', 'column3', 'column4'],
17
+ columnsSize: [
18
+ { id: 'column1', size: 100, manuallyChanged: true },
19
+ { id: 'column2', size: 200 },
20
+ { id: 'column3', size: 300, manuallyChanged: true },
21
+ { id: 'column4', size: 400 }
22
+ ]
23
+ };
24
+ var visibleColumns = ['column1', 'column4'];
25
+ var nextState = {
26
+ visibleColumns: visibleColumns,
27
+ columnsSize: [
28
+ { id: 'column1', size: 100, manuallyChanged: true },
29
+ { id: 'column4', size: 0 }
30
+ ]
31
+ };
32
+ expect(changeVisibleColumns(prevState, visibleColumns)).toEqual(nextState);
33
+ });
14
34
  it('should remove filters for columns that are no longer visible', function () {
15
35
  var prevState = {
16
36
  visibleColumns: ['column1', 'column2'],
@@ -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,5 @@
1
+ import { createContext } from 'react';
2
+ export var ProfileTablesContext = createContext({
3
+ profileTablesPreferences: {},
4
+ setProfileTablesPreferences: function () { }
5
+ });
@@ -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;
@@ -66,3 +66,13 @@ export var buildColumnsFilter = function (columnsData, filters) {
66
66
  .map(buildFilterQueryString())
67
67
  .orSome('');
68
68
  };
69
+ export var buildColumnsSizeById = function (columnsSize) {
70
+ if (columnsSize === void 0) { columnsSize = []; }
71
+ return columnsSize.reduce(function (columnsSizeById, _a) {
72
+ var id = _a.id, size = _a.size, manuallyChanged = _a.manuallyChanged;
73
+ if (manuallyChanged) {
74
+ columnsSizeById[id] = size;
75
+ }
76
+ return columnsSizeById;
77
+ }, {});
78
+ };
@@ -0,0 +1,8 @@
1
+ import { Entity, GeoPoint, Metadata, Point, PrimitiveValue, TEntityType } from '@reltio/mdm-sdk';
2
+ export declare const filterWrongLat: any;
3
+ export declare const isEqualGeoPoints: (aPoint: GeoPoint, bPoint: GeoPoint) => boolean;
4
+ export declare const isSet: (variable: Array<unknown>) => boolean;
5
+ export declare const getAttributeValuesByUri: (entity: Entity, attrTypeUri: string) => PrimitiveValue[];
6
+ type GeoAttribute = TEntityType['geoLocationAttributes'][0];
7
+ export declare const getPointsFromAttributes: (metadata: Metadata, entity: Entity, geoAttr: GeoAttribute) => Point[];
8
+ export {};
@@ -0,0 +1,49 @@
1
+ import { isOv } from '@reltio/mdm-sdk';
2
+ import { hasMaskingByUris } from '@reltio/mdm-sdk';
3
+ import { both, gt, lt, path, pipe, is, identity, zipWith } from 'ramda';
4
+ var getAttributeValue = function (attr) {
5
+ var value = attr.label || attr.value || '';
6
+ if (Array.isArray(value)) {
7
+ value = value.join(', ');
8
+ }
9
+ else if (is(Object, value)) {
10
+ value = '';
11
+ }
12
+ return value;
13
+ };
14
+ var parseAttributeValues = function (attributes, attrTypeUri) {
15
+ return Object.values(attributes)
16
+ .filter(Array.isArray)
17
+ .flat(Infinity)
18
+ .filter(isOv)
19
+ .flatMap(function (attribute) {
20
+ var result;
21
+ if (attribute.type == attrTypeUri) {
22
+ result = [getAttributeValue(attribute)];
23
+ }
24
+ if (is(Object, attribute.value)) {
25
+ result = (result || []).concat(parseAttributeValues(attribute.value, attrTypeUri));
26
+ }
27
+ return result;
28
+ });
29
+ };
30
+ export var filterWrongLat = pipe(path(['point', 'lat']), both(gt(90), lt(-90)));
31
+ export var isEqualGeoPoints = function (aPoint, bPoint) {
32
+ return (aPoint.entity === bPoint.entity &&
33
+ aPoint.point.lat === bPoint.point.lat &&
34
+ aPoint.point.lng === bPoint.point.lng);
35
+ };
36
+ export var isSet = function (variable) { return variable && variable.length > 0; };
37
+ export var getAttributeValuesByUri = function (entity, attrTypeUri) {
38
+ return [].concat((entity === null || entity === void 0 ? void 0 : entity.attributes) ? parseAttributeValues(entity.attributes, attrTypeUri) : []).filter(identity);
39
+ };
40
+ export var getPointsFromAttributes = function (metadata, entity, geoAttr) {
41
+ if (hasMaskingByUris(metadata, [geoAttr.latitude, geoAttr.longitude]))
42
+ return null;
43
+ var lat = getAttributeValuesByUri(entity, geoAttr.latitude);
44
+ var lng = getAttributeValuesByUri(entity, geoAttr.longitude);
45
+ if (isSet(lat) && isSet(lng)) {
46
+ return zipWith(function (lat, lng) { return ({ lat: Number(lat), lng: Number(lng) }); }, lat, lng);
47
+ }
48
+ return null;
49
+ };
@@ -0,0 +1,2 @@
1
+ export { useMarkers } from './useMarkers';
2
+ export { resolveMarkers } from './resolveHelpers';
@@ -0,0 +1,2 @@
1
+ export { useMarkers } from './useMarkers';
2
+ export { resolveMarkers } from './resolveHelpers';
@@ -0,0 +1,2 @@
1
+ import { Entity, GeoPoint, Metadata } from '@reltio/mdm-sdk';
2
+ export declare const getPointsFromNested: (metadata: Metadata, entities?: Entity[]) => GeoPoint[];
@@ -0,0 +1,27 @@
1
+ import { findAttributeTypeByUri, getEntityType } from '@reltio/mdm-sdk';
2
+ import { chain, filter, identity, pipe, prop, uniqBy } from 'ramda';
3
+ import { getPointsFromAttributes } from './helpers';
4
+ export var getPointsFromNested = function (metadata, entities) {
5
+ if (entities === void 0) { entities = []; }
6
+ return pipe(chain(function (entity) {
7
+ var entityType = getEntityType(metadata, entity.type);
8
+ return ((entityType === null || entityType === void 0 ? void 0 : entityType.geoLocationAttributes) || []).flatMap(function (geoAttr) {
9
+ if (findAttributeTypeByUri(metadata, geoAttr.latitude, entity.type) &&
10
+ findAttributeTypeByUri(metadata, geoAttr.longitude, entity.type)) {
11
+ var points = getPointsFromAttributes(metadata, entity, geoAttr);
12
+ return points === null || points === void 0 ? void 0 : points.map(function (_a) {
13
+ var lat = _a.lat, lng = _a.lng;
14
+ return ({
15
+ id: "".concat(entity.uri, "_nested_").concat(lat, "_").concat(lng),
16
+ entity: entity,
17
+ label: entity.label,
18
+ point: {
19
+ lat: Number(lat),
20
+ lng: Number(lng)
21
+ }
22
+ });
23
+ });
24
+ }
25
+ });
26
+ }), filter(identity), uniqBy(prop('id')))(entities);
27
+ };
@@ -0,0 +1 @@
1
+ export {};