@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.
- package/cjs/BasicTable/basicTableViewState.d.ts +63 -15
- package/cjs/BasicTable/basicTableViewState.js +38 -20
- package/cjs/BasicTable/basicTableViewState.test.js +20 -0
- package/cjs/contexts/ProfileTablesContext/index.d.ts +6 -0
- package/cjs/contexts/ProfileTablesContext/index.js +8 -0
- package/cjs/helpers/basicTable.d.ts +3 -1
- package/cjs/helpers/basicTable.js +12 -1
- package/cjs/hooks/useMarkers/helpers.d.ts +8 -0
- package/cjs/hooks/useMarkers/helpers.js +56 -0
- package/cjs/hooks/useMarkers/index.d.ts +2 -0
- package/cjs/hooks/useMarkers/index.js +7 -0
- package/cjs/hooks/useMarkers/nestedHelpers.d.ts +2 -0
- package/cjs/hooks/useMarkers/nestedHelpers.js +31 -0
- package/cjs/hooks/useMarkers/nestedHelpers.test.d.ts +1 -0
- package/cjs/hooks/useMarkers/nestedHelpers.test.js +235 -0
- package/cjs/hooks/useMarkers/referenceHelpers.d.ts +2 -0
- package/cjs/hooks/useMarkers/referenceHelpers.js +180 -0
- package/cjs/hooks/useMarkers/referenceHelpers.test.d.ts +1 -0
- package/cjs/hooks/useMarkers/referenceHelpers.test.js +490 -0
- package/cjs/hooks/useMarkers/resolveHelpers.d.ts +8 -0
- package/cjs/hooks/useMarkers/resolveHelpers.js +70 -0
- package/cjs/hooks/useMarkers/useMarkers.d.ts +5 -0
- package/cjs/hooks/useMarkers/useMarkers.js +30 -0
- package/cjs/hooks/useSavedState/useSavedState.d.ts +1 -1
- package/cjs/hooks/useSavedStateForEntityType/useSavedStateForEntityType.d.ts +1 -1
- package/cjs/index.d.ts +5 -2
- package/cjs/index.js +9 -2
- package/cjs/test-utils/index.js +1 -1
- package/cjs/types/basicTable.d.ts +5 -0
- package/cjs/types/preferences.d.ts +8 -0
- package/cjs/types/preferences.js +2 -0
- package/esm/BasicTable/basicTableViewState.d.ts +63 -15
- package/esm/BasicTable/basicTableViewState.js +37 -19
- package/esm/BasicTable/basicTableViewState.test.js +20 -0
- package/esm/contexts/ProfileTablesContext/index.d.ts +6 -0
- package/esm/contexts/ProfileTablesContext/index.js +5 -0
- package/esm/helpers/basicTable.d.ts +3 -1
- package/esm/helpers/basicTable.js +10 -0
- package/esm/hooks/useMarkers/helpers.d.ts +8 -0
- package/esm/hooks/useMarkers/helpers.js +49 -0
- package/esm/hooks/useMarkers/index.d.ts +2 -0
- package/esm/hooks/useMarkers/index.js +2 -0
- package/esm/hooks/useMarkers/nestedHelpers.d.ts +2 -0
- package/esm/hooks/useMarkers/nestedHelpers.js +27 -0
- package/esm/hooks/useMarkers/nestedHelpers.test.d.ts +1 -0
- package/esm/hooks/useMarkers/nestedHelpers.test.js +233 -0
- package/esm/hooks/useMarkers/referenceHelpers.d.ts +2 -0
- package/esm/hooks/useMarkers/referenceHelpers.js +176 -0
- package/esm/hooks/useMarkers/referenceHelpers.test.d.ts +1 -0
- package/esm/hooks/useMarkers/referenceHelpers.test.js +488 -0
- package/esm/hooks/useMarkers/resolveHelpers.d.ts +8 -0
- package/esm/hooks/useMarkers/resolveHelpers.js +66 -0
- package/esm/hooks/useMarkers/useMarkers.d.ts +5 -0
- package/esm/hooks/useMarkers/useMarkers.js +26 -0
- package/esm/hooks/useSavedState/useSavedState.d.ts +1 -1
- package/esm/hooks/useSavedStateForEntityType/useSavedStateForEntityType.d.ts +1 -1
- package/esm/index.d.ts +5 -2
- package/esm/index.js +4 -1
- package/esm/test-utils/index.js +1 -1
- package/esm/types/basicTable.d.ts +5 -0
- package/esm/types/preferences.d.ts +8 -0
- package/esm/types/preferences.js +1 -0
- 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.
|
|
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);
|
package/cjs/test-utils/index.js
CHANGED
|
@@ -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 ?
|
|
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>;
|
|
@@ -1,34 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
28
|
+
toggleFilters: (payload: any) => {
|
|
7
29
|
type: any;
|
|
8
30
|
payload: any;
|
|
9
31
|
};
|
|
10
|
-
|
|
32
|
+
changeFilter: (payload: any) => {
|
|
11
33
|
type: any;
|
|
12
34
|
payload: any;
|
|
13
35
|
};
|
|
14
|
-
|
|
36
|
+
toggleSort: (payload: any) => {
|
|
15
37
|
type: any;
|
|
16
38
|
payload: any;
|
|
17
39
|
};
|
|
18
|
-
|
|
40
|
+
changePage: (payload: any) => {
|
|
19
41
|
type: any;
|
|
20
42
|
payload: any;
|
|
21
43
|
};
|
|
22
|
-
|
|
44
|
+
changeRowsPerPage: (payload: any) => {
|
|
23
45
|
type: any;
|
|
24
46
|
payload: any;
|
|
25
47
|
};
|
|
26
|
-
}
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
declare
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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
|
+
}>;
|
|
@@ -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,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 {};
|