@leav/ui 0.3.6-193534c → 0.3.6-1c86fa6
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/dist/__mocks__/common/form.d.ts +1 -0
- package/dist/__mocks__/common/form.js +15 -0
- package/dist/__mocks__/common/form.js.map +1 -1
- package/dist/_gqlTypes/index.d.ts +124 -0
- package/dist/_gqlTypes/index.js +75 -7
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_queries/attributes/getAttributesByLib.js +7 -5
- package/dist/_queries/attributes/getAttributesByLib.js.map +1 -1
- package/dist/_queries/records/getRecordsFromLibraryQuery.js +1 -0
- package/dist/_queries/records/getRecordsFromLibraryQuery.js.map +1 -1
- package/dist/_utils/attributeType.d.ts +3 -0
- package/dist/_utils/attributeType.js +7 -0
- package/dist/_utils/attributeType.js.map +1 -0
- package/dist/antdTheme/index.d.ts +0 -3
- package/dist/antdTheme/index.js +3 -42
- package/dist/antdTheme/index.js.map +1 -1
- package/dist/components/Explorer/DataView.d.ts +6 -1
- package/dist/components/Explorer/DataView.js +66 -18
- package/dist/components/Explorer/DataView.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +6 -3
- package/dist/components/Explorer/Explorer.js +52 -12
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/ExplorerToolbar.d.ts +5 -0
- package/dist/components/Explorer/ExplorerToolbar.js +45 -0
- package/dist/components/Explorer/ExplorerToolbar.js.map +1 -0
- package/dist/components/Explorer/TableCell.js +15 -6
- package/dist/components/Explorer/TableCell.js.map +1 -1
- package/dist/components/Explorer/_constants.d.ts +1 -0
- package/dist/components/Explorer/_constants.js +1 -0
- package/dist/components/Explorer/_constants.js.map +1 -1
- package/dist/components/Explorer/_queries/prepareFiltersForRequest.d.ts +4 -0
- package/dist/components/Explorer/_queries/prepareFiltersForRequest.js +99 -0
- package/dist/components/Explorer/_queries/prepareFiltersForRequest.js.map +1 -0
- package/dist/components/Explorer/_queries/useExplorerData.d.ts +4 -4
- package/dist/components/Explorer/_queries/useExplorerData.js +7 -93
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +41 -11
- package/dist/components/Explorer/_types.js +7 -1
- package/dist/components/Explorer/_types.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.d.ts +3 -2
- package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.js +1 -1
- package/dist/components/Explorer/manage-view-settings/_shared/CommonFilterItem.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.d.ts +3 -1
- package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.js +9 -3
- package/dist/components/Explorer/manage-view-settings/_shared/useAttributeDetailsData.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js +13 -3
- package/dist/components/Explorer/manage-view-settings/filter-items/FilterItems.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/BooleanAttributeDropdown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/BooleanAttributeDropdown.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ColorAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateAttributeDropDown.js +2 -2
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateAttributeDropDown.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/DateRangeAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/EncryptedAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/ExtendedAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js +2 -38
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropDown.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.d.ts +7 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.js +40 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/FilterDropdownContent.js.map +1 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/LinkAttributeDropdown.d.ts +3 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/LinkAttributeDropdown.js +79 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/LinkAttributeDropdown.js.map +1 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/NumericAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TextAttributeDropDown.d.ts +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TextAttributeDropDown.js +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/TextAttributeDropDown.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/_types.d.ts +10 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/_types.js +2 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/_types.js.map +1 -0
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/useConditionOptionsByType.d.ts +6 -5
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/useConditionOptionsByType.js +12 -4
- package/dist/components/Explorer/manage-view-settings/filter-items/filter-type/useConditionOptionsByType.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/open-view-settings/SidePanel.js +1 -1
- package/dist/components/Explorer/manage-view-settings/open-view-settings/SidePanel.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js +12 -5
- package/dist/components/Explorer/manage-view-settings/router-menu/SettingsPanel.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js +6 -2
- package/dist/components/Explorer/manage-view-settings/sort-items/SortItems.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js +1 -0
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsInitialState.js.map +1 -1
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts +22 -8
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js +40 -7
- package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map +1 -1
- package/dist/components/Explorer/useColumnWidth.d.ts +6 -0
- package/dist/components/Explorer/useColumnWidth.js +48 -0
- package/dist/components/Explorer/useColumnWidth.js.map +1 -0
- package/dist/components/Explorer/useCreateAction.d.ts +4 -2
- package/dist/components/Explorer/useCreateAction.js +35 -2
- package/dist/components/Explorer/useCreateAction.js.map +1 -1
- package/dist/components/Explorer/useDeactivateMassAction.d.ts +27 -0
- package/dist/components/Explorer/useDeactivateMassAction.js +71 -0
- package/dist/components/Explorer/useDeactivateMassAction.js.map +1 -0
- package/dist/components/Explorer/useMassActions.d.ts +27 -0
- package/dist/components/Explorer/useMassActions.js +109 -0
- package/dist/components/Explorer/useMassActions.js.map +1 -0
- package/dist/components/Explorer/usePrimaryActions.js +14 -7
- package/dist/components/Explorer/usePrimaryActions.js.map +1 -1
- package/dist/components/Explorer/useRemoveAction.d.ts +23 -0
- package/dist/components/Explorer/useRemoveAction.js +109 -0
- package/dist/components/Explorer/useRemoveAction.js.map +1 -0
- package/dist/components/Explorer/useSearchInput.d.ts +10 -4
- package/dist/components/Explorer/useSearchInput.js +8 -0
- package/dist/components/Explorer/useSearchInput.js.map +1 -1
- package/dist/components/Explorer/useViewSettingsReducer.js +100 -17
- package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js +7 -2
- package/dist/components/LibraryItemsList/LibraryItemsListTable/Cell/StandardCell/StandardCell.js.map +1 -1
- package/dist/components/RecordEdition/EditRecord/EditRecord.js +53 -57
- package/dist/components/RecordEdition/EditRecord/EditRecord.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js +1 -1
- package/dist/components/RecordEdition/EditRecordContent/EditRecordContent.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/_types.d.ts +1 -1
- package/dist/components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/ComputeIndicator.js +1 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/ComputeIndicator.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +81 -25
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +47 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +9 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js +16 -8
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js +6 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +7 -14
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +9 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +6 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js +4 -15
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValue.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +5 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/_types.d.ts +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/calculatedInheritedFlags.js +3 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/calculatedInheritedFlags.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js +0 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/AttributeSummary.d.ts +7 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/AttributeSummary.js +9 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/AttributeSummary.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/index.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/index.js +6 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/index.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/useAttributeInformations.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/useAttributeInformations.js +25 -0
- package/dist/components/RecordEdition/EditRecordSidebar/AttributeSummary/useAttributeInformations.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.d.ts +3 -0
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js +53 -0
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/Breadcrumb.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/index.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/index.js +6 -0
- package/dist/components/RecordEdition/EditRecordSidebar/Breacrumb/index.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +6 -4
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/ValueDetails/ValueDetails.js +1 -13
- package/dist/components/RecordEdition/EditRecordSidebar/ValueDetails/ValueDetails.js.map +1 -1
- package/dist/components/RecordEdition/{EditRecordContent → EditRecordSkeleton}/EditRecordSkeleton.d.ts +1 -1
- package/dist/components/RecordEdition/{EditRecordContent → EditRecordSkeleton}/EditRecordSkeleton.js +2 -2
- package/dist/components/RecordEdition/EditRecordSkeleton/EditRecordSkeleton.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordSkeleton/index.d.ts +2 -0
- package/dist/components/RecordEdition/EditRecordSkeleton/index.js +6 -0
- package/dist/components/RecordEdition/EditRecordSkeleton/index.js.map +1 -0
- package/dist/components/RecordEdition/index.d.ts +1 -0
- package/dist/components/RecordEdition/index.js +1 -0
- package/dist/components/RecordEdition/index.js.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/locales/en/shared.json +30 -10
- package/dist/locales/fr/shared.json +32 -12
- package/package.json +2 -2
- package/dist/components/Explorer/display-view-filters/ExplorerToolBar.d.ts +0 -4
- package/dist/components/Explorer/display-view-filters/ExplorerToolBar.js +0 -47
- package/dist/components/Explorer/display-view-filters/ExplorerToolBar.js.map +0 -1
- package/dist/components/Explorer/useDeactivateAction.d.ts +0 -12
- package/dist/components/Explorer/useDeactivateAction.js +0 -52
- package/dist/components/Explorer/useDeactivateAction.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/EditRecordSkeleton.js.map +0 -1
- package/dist/components/RecordEdition/EditRecordContent/shared/ValueDetailsBtn/useValueDetailsButton.d.ts +0 -8
- package/dist/components/RecordEdition/EditRecordContent/shared/ValueDetailsBtn/useValueDetailsButton.js +0 -23
- package/dist/components/RecordEdition/EditRecordContent/shared/ValueDetailsBtn/useValueDetailsButton.js.map +0 -1
package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { SortOrder } from '../../../../_gqlTypes';
|
|
2
|
-
import { Entrypoint,
|
|
2
|
+
import { Entrypoint, ExplorerFilter } from '../../_types';
|
|
3
|
+
import { MASS_SELECTION_ALL } from '../../_constants';
|
|
3
4
|
export type ViewType = 'table' | 'list' | 'timeline' | 'mosaic';
|
|
5
|
+
export type MassSelection = string[] | typeof MASS_SELECTION_ALL;
|
|
4
6
|
export declare const ViewSettingsActionTypes: {
|
|
5
7
|
readonly RESET: "RESET";
|
|
6
8
|
readonly ADD_ATTRIBUTE: "ADD_ATTRIBUTE";
|
|
@@ -20,6 +22,7 @@ export declare const ViewSettingsActionTypes: {
|
|
|
20
22
|
readonly REMOVE_FILTER: "REMOVE_FILTER";
|
|
21
23
|
readonly MOVE_FILTER: "MOVE_FILTER";
|
|
22
24
|
readonly CHANGE_FILTER_CONFIG: "CHANGE_FILTER_CONFIG";
|
|
25
|
+
readonly SET_SELECTED_KEYS: "SET_SELECTED_KEYS";
|
|
23
26
|
readonly RESTORE_INITIAL_VIEW_SETTINGS: "RESTORE_INITIAL_VIEW_SETTINGS";
|
|
24
27
|
};
|
|
25
28
|
export interface IViewSettingsState {
|
|
@@ -34,9 +37,10 @@ export interface IViewSettingsState {
|
|
|
34
37
|
order: SortOrder;
|
|
35
38
|
}>;
|
|
36
39
|
pageSize: number;
|
|
37
|
-
filters:
|
|
40
|
+
filters: ExplorerFilter[];
|
|
38
41
|
maxFilters: number;
|
|
39
42
|
initialViewSettings: Pick<IViewSettingsState, 'viewType' | 'attributesIds' | 'sort' | 'pageSize' | 'filters'>;
|
|
43
|
+
massSelection: MassSelection;
|
|
40
44
|
}
|
|
41
45
|
interface IViewSettingsActionChangePageSize {
|
|
42
46
|
type: typeof ViewSettingsActionTypes.CHANGE_PAGE_SIZE;
|
|
@@ -110,19 +114,19 @@ interface IViewSettingsActionClearFulltextSearch {
|
|
|
110
114
|
}
|
|
111
115
|
interface IViewSettingsActionAddFilter {
|
|
112
116
|
type: typeof ViewSettingsActionTypes.ADD_FILTER;
|
|
113
|
-
payload: Omit<
|
|
117
|
+
payload: Omit<ExplorerFilter, 'id' | 'value' | 'condition'>;
|
|
114
118
|
}
|
|
115
119
|
interface IViewSettingsActionResetFilter {
|
|
116
120
|
type: typeof ViewSettingsActionTypes.RESET_FILTER;
|
|
117
|
-
payload: Pick<
|
|
121
|
+
payload: Pick<ExplorerFilter, 'id'>;
|
|
118
122
|
}
|
|
119
123
|
interface IViewSettingsActionRemoveFilter {
|
|
120
124
|
type: typeof ViewSettingsActionTypes.REMOVE_FILTER;
|
|
121
|
-
payload: Pick<
|
|
125
|
+
payload: Pick<ExplorerFilter, 'id'>;
|
|
122
126
|
}
|
|
123
127
|
interface IViewSettingsActionChangeFilterConfig {
|
|
124
128
|
type: typeof ViewSettingsActionTypes.CHANGE_FILTER_CONFIG;
|
|
125
|
-
payload:
|
|
129
|
+
payload: ExplorerFilter;
|
|
126
130
|
}
|
|
127
131
|
interface IViewSettingsActionMoveFilter {
|
|
128
132
|
type: typeof ViewSettingsActionTypes.MOVE_FILTER;
|
|
@@ -135,11 +139,21 @@ interface IViewSettingsActionReset {
|
|
|
135
139
|
type: typeof ViewSettingsActionTypes.RESET;
|
|
136
140
|
payload: IViewSettingsState;
|
|
137
141
|
}
|
|
142
|
+
interface IViewSettingsActionSetSelectedKeys {
|
|
143
|
+
type: typeof ViewSettingsActionTypes.SET_SELECTED_KEYS;
|
|
144
|
+
payload: MassSelection;
|
|
145
|
+
}
|
|
138
146
|
interface IViewSettingsActionRestoreInitialViewSettings {
|
|
139
147
|
type: typeof ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS;
|
|
140
148
|
}
|
|
141
|
-
type Reducer<PAYLOAD
|
|
149
|
+
type Reducer<PAYLOAD extends {
|
|
150
|
+
type: keyof typeof ViewSettingsActionTypes;
|
|
151
|
+
payload?: unknown;
|
|
152
|
+
} = {
|
|
153
|
+
type: any;
|
|
154
|
+
payload: 'no_payload';
|
|
155
|
+
}> = PAYLOAD['payload'] extends 'no_payload' ? (state: IViewSettingsState) => IViewSettingsState : (state: IViewSettingsState, payload: PAYLOAD['payload']) => IViewSettingsState;
|
|
142
156
|
export declare const clearFulltextSearch: Reducer;
|
|
143
|
-
export type IViewSettingsAction = IViewSettingsActionResetAttributes | IViewSettingsActionAddAttribute | IViewSettingsActionRemoveAttribute | IViewSettingsActionMoveAttribute | IViewSettingsActionChangeViewType | IViewSettingsActionAddSort | IViewSettingsActionRemoveSort | IViewSettingsActionChangeSortOrder | IViewSettingsActionMoveSort | IViewSettingsActionChangePageSize | IViewSettingsActionChangeFulltextSearch | IViewSettingsActionClearFulltextSearch | IViewSettingsActionAddFilter | IViewSettingsActionResetFilter | IViewSettingsActionRemoveFilter | IViewSettingsActionChangeFilterConfig | IViewSettingsActionMoveFilter | IViewSettingsActionReset | IViewSettingsActionRestoreInitialViewSettings;
|
|
157
|
+
export type IViewSettingsAction = IViewSettingsActionResetAttributes | IViewSettingsActionAddAttribute | IViewSettingsActionRemoveAttribute | IViewSettingsActionMoveAttribute | IViewSettingsActionChangeViewType | IViewSettingsActionAddSort | IViewSettingsActionRemoveSort | IViewSettingsActionChangeSortOrder | IViewSettingsActionMoveSort | IViewSettingsActionChangePageSize | IViewSettingsActionChangeFulltextSearch | IViewSettingsActionClearFulltextSearch | IViewSettingsActionAddFilter | IViewSettingsActionResetFilter | IViewSettingsActionRemoveFilter | IViewSettingsActionChangeFilterConfig | IViewSettingsActionMoveFilter | IViewSettingsActionReset | IViewSettingsActionSetSelectedKeys | IViewSettingsActionRestoreInitialViewSettings;
|
|
144
158
|
export declare const viewSettingsReducer: (state: IViewSettingsState, action: IViewSettingsAction) => IViewSettingsState;
|
|
145
159
|
export {};
|
package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
1
4
|
import { v4 as uuid } from 'uuid';
|
|
5
|
+
import { AttributeFormat } from '../../../../_gqlTypes';
|
|
6
|
+
import { isExplorerFilterLink, isExplorerFilterStandard, isExplorerFilterThrough } from '../../_types';
|
|
2
7
|
import { hasOnlyNoValueConditions } from '../../conditionsHelper';
|
|
3
8
|
import { conditionsByFormat } from '../filter-items/filter-type/useConditionOptionsByType';
|
|
9
|
+
import { ThroughConditionFilter } from '../../../../types';
|
|
4
10
|
export const ViewSettingsActionTypes = {
|
|
5
11
|
RESET: 'RESET',
|
|
6
12
|
ADD_ATTRIBUTE: 'ADD_ATTRIBUTE',
|
|
@@ -20,6 +26,7 @@ export const ViewSettingsActionTypes = {
|
|
|
20
26
|
REMOVE_FILTER: 'REMOVE_FILTER',
|
|
21
27
|
MOVE_FILTER: 'MOVE_FILTER',
|
|
22
28
|
CHANGE_FILTER_CONFIG: 'CHANGE_FILTER_CONFIG',
|
|
29
|
+
SET_SELECTED_KEYS: 'SET_SELECTED_KEYS',
|
|
23
30
|
RESTORE_INITIAL_VIEW_SETTINGS: 'RESTORE_INITIAL_VIEW_SETTINGS'
|
|
24
31
|
};
|
|
25
32
|
const changePageSize = (state, payload) => ({
|
|
@@ -100,13 +107,32 @@ const resetFilter = (state, payload) => ({
|
|
|
100
107
|
filters: state.filters.map(filter => {
|
|
101
108
|
if (filter.id === payload.id) {
|
|
102
109
|
const initialViewFilter = state.initialViewSettings.filters.find(({ id }) => id === payload.id);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
if (initialViewFilter) {
|
|
111
|
+
return initialViewFilter;
|
|
112
|
+
}
|
|
113
|
+
if (isExplorerFilterStandard(filter)) {
|
|
114
|
+
return {
|
|
115
|
+
...filter,
|
|
116
|
+
condition: hasOnlyNoValueConditions(filter.attribute.format)
|
|
117
|
+
? null
|
|
118
|
+
: conditionsByFormat[filter.attribute.format][0],
|
|
119
|
+
value: null
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
if (isExplorerFilterThrough(filter)) {
|
|
123
|
+
return {
|
|
124
|
+
...filter,
|
|
125
|
+
condition: ThroughConditionFilter.THROUGH,
|
|
126
|
+
value: null
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
if (isExplorerFilterLink(filter)) {
|
|
130
|
+
return {
|
|
131
|
+
...filter,
|
|
132
|
+
condition: conditionsByFormat[AttributeFormat.text][0],
|
|
133
|
+
value: null
|
|
134
|
+
};
|
|
135
|
+
}
|
|
110
136
|
}
|
|
111
137
|
return filter;
|
|
112
138
|
})
|
|
@@ -129,6 +155,10 @@ const moveFilter = (state, payload) => {
|
|
|
129
155
|
};
|
|
130
156
|
};
|
|
131
157
|
const reset = (_, payload) => payload;
|
|
158
|
+
const setSelectedKeys = (state, payload) => ({
|
|
159
|
+
...state,
|
|
160
|
+
massSelection: payload
|
|
161
|
+
});
|
|
132
162
|
const restoreInitialViewSettings = state => ({
|
|
133
163
|
...state,
|
|
134
164
|
...state.initialViewSettings
|
|
@@ -189,6 +219,9 @@ export const viewSettingsReducer = (state, action) => {
|
|
|
189
219
|
case ViewSettingsActionTypes.RESET: {
|
|
190
220
|
return reset(state, action.payload);
|
|
191
221
|
}
|
|
222
|
+
case ViewSettingsActionTypes.SET_SELECTED_KEYS: {
|
|
223
|
+
return setSelectedKeys(state, action.payload);
|
|
224
|
+
}
|
|
192
225
|
case ViewSettingsActionTypes.RESTORE_INITIAL_VIEW_SETTINGS: {
|
|
193
226
|
return restoreInitialViewSettings(state);
|
|
194
227
|
}
|
package/dist/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewSettingsReducer.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"viewSettingsReducer.js","sourceRoot":"","sources":["../../../../../src/components/Explorer/manage-view-settings/store-view-settings/viewSettingsReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
2
|
+
// This file is released under LGPL V3
|
|
3
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
4
|
+
import { isTypeStandard } from '@leav/utils';
|
|
5
|
+
import { useEffect, useRef, useState } from 'react';
|
|
6
|
+
import { AttributeFormat } from '../../_gqlTypes';
|
|
7
|
+
const FieldColumnWidth = {
|
|
8
|
+
TINY: 125,
|
|
9
|
+
SMALL: 150,
|
|
10
|
+
MEDIUM: 250,
|
|
11
|
+
LARGE: 300
|
|
12
|
+
};
|
|
13
|
+
const _getFieldColumWidth = (field) => {
|
|
14
|
+
if (!field || !isTypeStandard(field.type) || field.multiple_values) {
|
|
15
|
+
return FieldColumnWidth.LARGE;
|
|
16
|
+
}
|
|
17
|
+
switch (field.format) {
|
|
18
|
+
case AttributeFormat.boolean:
|
|
19
|
+
return FieldColumnWidth.TINY;
|
|
20
|
+
case AttributeFormat.numeric:
|
|
21
|
+
case AttributeFormat.date:
|
|
22
|
+
return FieldColumnWidth.SMALL;
|
|
23
|
+
case AttributeFormat.date_range:
|
|
24
|
+
return FieldColumnWidth.LARGE;
|
|
25
|
+
default:
|
|
26
|
+
return FieldColumnWidth.MEDIUM;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const useColumnWidth = () => {
|
|
30
|
+
const ref = useRef(null);
|
|
31
|
+
const [columnWidth, setColumnWidth] = useState(FieldColumnWidth.TINY);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (ref.current) {
|
|
34
|
+
const columnElement = ref.current;
|
|
35
|
+
const columnElementtWidth = columnElement.getBoundingClientRect().width;
|
|
36
|
+
const lastColumnsInlinePadding = 36;
|
|
37
|
+
if (columnElementtWidth !== columnWidth - lastColumnsInlinePadding) {
|
|
38
|
+
setColumnWidth(columnElementtWidth + lastColumnsInlinePadding);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, [ref.current]);
|
|
42
|
+
return {
|
|
43
|
+
ref,
|
|
44
|
+
getFieldColumnWidth: _getFieldColumWidth,
|
|
45
|
+
columnWidth
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=useColumnWidth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnWidth.js","sourceRoot":"","sources":["../../../src/components/Explorer/useColumnWidth.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,gBAAgB,GAAG;IACrB,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAA0C,EAAU,EAAE;IAC/E,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACjE,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,eAAe,CAAC,OAAO;YACxB,OAAO,gBAAgB,CAAC,IAAI,CAAC;QACjC,KAAK,eAAe,CAAC,OAAO,CAAC;QAC7B,KAAK,eAAe,CAAC,IAAI;YACrB,OAAO,gBAAgB,CAAC,KAAK,CAAC;QAClC,KAAK,eAAe,CAAC,UAAU;YAC3B,OAAO,gBAAgB,CAAC,KAAK,CAAC;QAClC;YACI,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACvC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;YAClC,MAAM,mBAAmB,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YACxE,MAAM,wBAAwB,GAAG,EAAE,CAAC;YAEpC,IAAI,mBAAmB,KAAK,WAAW,GAAG,wBAAwB,EAAE,CAAC;gBACjE,cAAc,CAAC,mBAAmB,GAAG,wBAAwB,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAElB,OAAO;QACH,GAAG;QACH,mBAAmB,EAAE,mBAAmB;QACxC,WAAW;KACd,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionHook, IPrimaryAction } from './_types';
|
|
1
|
+
import { ActionHook, Entrypoint, IPrimaryAction } from './_types';
|
|
2
2
|
/**
|
|
3
3
|
* Hook used to get the action for `<DataView />` component.
|
|
4
4
|
*
|
|
@@ -10,8 +10,10 @@ import { ActionHook, IPrimaryAction } from './_types';
|
|
|
10
10
|
* @param library - the library's id to add new item
|
|
11
11
|
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
12
12
|
*/
|
|
13
|
-
export declare const useCreateAction: ({ isEnabled, library, refetch }: ActionHook<{
|
|
13
|
+
export declare const useCreateAction: ({ isEnabled, library, entrypoint, itemsCount, refetch }: ActionHook<{
|
|
14
14
|
library: string;
|
|
15
|
+
entrypoint: Entrypoint;
|
|
16
|
+
itemsCount: number;
|
|
15
17
|
refetch: () => void;
|
|
16
18
|
}>) => {
|
|
17
19
|
createAction: IPrimaryAction;
|
|
@@ -6,6 +6,8 @@ import { useState } from 'react';
|
|
|
6
6
|
import { FaPlus } from 'react-icons/fa';
|
|
7
7
|
import { EditRecordModal } from '../../components';
|
|
8
8
|
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
9
|
+
import useSaveValueBatchMutation from '../../components/RecordEdition/EditRecordContent/hooks/useExecuteSaveValueBatchMutation';
|
|
10
|
+
import { useExplorerLinkAttributeQuery } from '../../_gqlTypes';
|
|
9
11
|
/**
|
|
10
12
|
* Hook used to get the action for `<DataView />` component.
|
|
11
13
|
*
|
|
@@ -17,23 +19,54 @@ import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
|
17
19
|
* @param library - the library's id to add new item
|
|
18
20
|
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
19
21
|
*/
|
|
20
|
-
export const useCreateAction = ({ isEnabled, library, refetch }) => {
|
|
22
|
+
export const useCreateAction = ({ isEnabled, library, entrypoint, itemsCount, refetch }) => {
|
|
21
23
|
const { t } = useSharedTranslation();
|
|
22
24
|
const [isRecordCreationVisible, setRecordCreationVisible] = useState(false);
|
|
25
|
+
const [multipleValues, setIsMultivalues] = useState(false);
|
|
26
|
+
const { saveValues } = useSaveValueBatchMutation();
|
|
27
|
+
useExplorerLinkAttributeQuery({
|
|
28
|
+
skip: entrypoint.type !== 'link',
|
|
29
|
+
variables: {
|
|
30
|
+
id: entrypoint.linkAttributeId
|
|
31
|
+
},
|
|
32
|
+
onCompleted: data => {
|
|
33
|
+
const attributeData = data?.attributes?.list?.[0];
|
|
34
|
+
if (!attributeData) {
|
|
35
|
+
throw new Error('Unknown link attribute');
|
|
36
|
+
}
|
|
37
|
+
setIsMultivalues(attributeData.multiple_values);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const canCreateRecord = entrypoint.type === 'library' ? true : multipleValues || itemsCount === 0;
|
|
23
41
|
const createAction = {
|
|
24
42
|
callback: () => {
|
|
25
43
|
setRecordCreationVisible(true);
|
|
26
44
|
},
|
|
27
45
|
icon: _jsx(FaPlus, {}),
|
|
46
|
+
disabled: !canCreateRecord,
|
|
28
47
|
label: t('explorer.create-one')
|
|
29
48
|
};
|
|
30
49
|
return {
|
|
31
50
|
createAction: isEnabled ? createAction : null,
|
|
32
51
|
createModal: isRecordCreationVisible ? (_jsx(EditRecordModal, { open: true, record: null, library: library, onClose: () => {
|
|
33
52
|
setRecordCreationVisible(false);
|
|
34
|
-
}, onCreate:
|
|
53
|
+
}, onCreate: newRecord => {
|
|
35
54
|
refetch();
|
|
36
55
|
setRecordCreationVisible(false);
|
|
56
|
+
if (entrypoint.type === 'link') {
|
|
57
|
+
saveValues({
|
|
58
|
+
id: entrypoint.parentRecordId,
|
|
59
|
+
library: {
|
|
60
|
+
id: entrypoint.parentLibraryId
|
|
61
|
+
}
|
|
62
|
+
}, [
|
|
63
|
+
{
|
|
64
|
+
attribute: entrypoint.linkAttributeId,
|
|
65
|
+
idValue: null,
|
|
66
|
+
value: newRecord.id
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
37
70
|
}, submitButtons: ['create'] })) : null
|
|
38
71
|
};
|
|
39
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateAction.js","sourceRoot":"","sources":["../../../src/components/Explorer/useCreateAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"useCreateAction.js","sourceRoot":"","sources":["../../../src/components/Explorer/useCreateAction.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Dispatch } from 'react';
|
|
2
|
+
import { ActionHook, IMassActions } from './_types';
|
|
3
|
+
import { IViewSettingsAction, IViewSettingsState } from './manage-view-settings';
|
|
4
|
+
import type { useExplorerData } from './_queries/useExplorerData';
|
|
5
|
+
/**
|
|
6
|
+
* Hook used to get the action for mass actions only available on selection.
|
|
7
|
+
*
|
|
8
|
+
* When the mutation for deactivation is done, the Apollo cache will be clean (`Record` and `RecordIdentity`)
|
|
9
|
+
* from deactivated record.
|
|
10
|
+
*
|
|
11
|
+
* @param isEnabled - whether the action is present
|
|
12
|
+
* @param view - represent the current view
|
|
13
|
+
* @param dispatch - method to change the current view
|
|
14
|
+
* @param libraryId - concerned library
|
|
15
|
+
* @param allVisibleKeys - list of all visible keys used to know if we need to change page
|
|
16
|
+
* @param refetch - method to get fresh data when we delete last page
|
|
17
|
+
*/
|
|
18
|
+
export declare const useDeactivateMassAction: ({ isEnabled, store: { view, dispatch }, allVisibleKeys, refetch }: ActionHook<{
|
|
19
|
+
store: {
|
|
20
|
+
view: IViewSettingsState;
|
|
21
|
+
dispatch: Dispatch<IViewSettingsAction>;
|
|
22
|
+
};
|
|
23
|
+
allVisibleKeys: string[];
|
|
24
|
+
refetch: ReturnType<typeof useExplorerData>["refetch"];
|
|
25
|
+
}>) => {
|
|
26
|
+
deactivateMassAction: IMassActions;
|
|
27
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
3
|
+
// This file is released under LGPL V3
|
|
4
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
|
+
import { useMemo } from 'react';
|
|
6
|
+
import { FaTrash } from 'react-icons/fa';
|
|
7
|
+
import { KitModal } from 'aristid-ds';
|
|
8
|
+
import { useDeactivateRecordsMutation } from '../../_gqlTypes';
|
|
9
|
+
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
10
|
+
import { ViewSettingsActionTypes } from './manage-view-settings';
|
|
11
|
+
import { MASS_SELECTION_ALL } from './_constants';
|
|
12
|
+
/**
|
|
13
|
+
* Hook used to get the action for mass actions only available on selection.
|
|
14
|
+
*
|
|
15
|
+
* When the mutation for deactivation is done, the Apollo cache will be clean (`Record` and `RecordIdentity`)
|
|
16
|
+
* from deactivated record.
|
|
17
|
+
*
|
|
18
|
+
* @param isEnabled - whether the action is present
|
|
19
|
+
* @param view - represent the current view
|
|
20
|
+
* @param dispatch - method to change the current view
|
|
21
|
+
* @param libraryId - concerned library
|
|
22
|
+
* @param allVisibleKeys - list of all visible keys used to know if we need to change page
|
|
23
|
+
* @param refetch - method to get fresh data when we delete last page
|
|
24
|
+
*/
|
|
25
|
+
export const useDeactivateMassAction = ({ isEnabled, store: { view, dispatch }, allVisibleKeys, refetch }) => {
|
|
26
|
+
const { t } = useSharedTranslation();
|
|
27
|
+
const [deactivateRecordsMutation] = useDeactivateRecordsMutation();
|
|
28
|
+
const _deactivateMassAction = useMemo(() => ({
|
|
29
|
+
label: t('explorer.massAction.deactivate'),
|
|
30
|
+
icon: _jsx(FaTrash, {}),
|
|
31
|
+
callback: massSelectionFilter => {
|
|
32
|
+
KitModal.confirm({
|
|
33
|
+
type: 'confirm',
|
|
34
|
+
dangerConfirm: true,
|
|
35
|
+
content: t('records_deactivation.confirm', {
|
|
36
|
+
count: view.massSelection === MASS_SELECTION_ALL ? Infinity : view.massSelection.length
|
|
37
|
+
}),
|
|
38
|
+
okText: t('global.submit') ?? undefined,
|
|
39
|
+
cancelText: t('global.cancel') ?? undefined,
|
|
40
|
+
onOk: async () => {
|
|
41
|
+
await deactivateRecordsMutation({
|
|
42
|
+
variables: {
|
|
43
|
+
libraryId: view.libraryId,
|
|
44
|
+
filters: massSelectionFilter
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
if (view.massSelection === MASS_SELECTION_ALL ||
|
|
48
|
+
allVisibleKeys.every(key => view.massSelection.includes(key))) {
|
|
49
|
+
await refetch({
|
|
50
|
+
pagination: {
|
|
51
|
+
limit: view.pageSize,
|
|
52
|
+
offset: 0
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
await refetch();
|
|
58
|
+
}
|
|
59
|
+
dispatch({
|
|
60
|
+
type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
|
|
61
|
+
payload: []
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}), [t, deactivateRecordsMutation, view.massSelection, dispatch, view.libraryId, allVisibleKeys, refetch]);
|
|
67
|
+
return {
|
|
68
|
+
deactivateMassAction: isEnabled ? _deactivateMassAction : null
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=useDeactivateMassAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeactivateMassAction.js","sourceRoot":"","sources":["../../../src/components/Explorer/useDeactivateMassAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAW,OAAO,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAA0C,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAGhD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,SAAS,EACT,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EACvB,cAAc,EACd,OAAO,EAQT,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,yBAAyB,CAAC,GAAG,4BAA4B,EAAE,CAAC;IAEnE,MAAM,qBAAqB,GAAiB,OAAO,CAC/C,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC;QAC1C,IAAI,EAAE,KAAC,OAAO,KAAG;QACjB,QAAQ,EAAE,mBAAmB,CAAC,EAAE;YAC5B,QAAQ,CAAC,OAAO,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,CAAC,CAAC,8BAA8B,EAAE;oBACvC,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;iBAC1F,CAAC;gBACF,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;gBACvC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;gBAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;oBACb,MAAM,yBAAyB,CAAC;wBAC5B,SAAS,EAAE;4BACP,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,OAAO,EAAE,mBAAmB;yBAC/B;qBACJ,CAAC,CAAC;oBACH,IACI,IAAI,CAAC,aAAa,KAAK,kBAAkB;wBACzC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC/D,CAAC;wBACC,MAAM,OAAO,CAAC;4BACV,UAAU,EAAE;gCACR,KAAK,EAAE,IAAI,CAAC,QAAQ;gCACpB,MAAM,EAAE,CAAC;6BACZ;yBACJ,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,MAAM,OAAO,EAAE,CAAC;oBACpB,CAAC;oBACD,QAAQ,CAAC;wBACL,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;wBAC/C,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,EACF,CAAC,CAAC,EAAE,yBAAyB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CACxG,CAAC;IAEF,OAAO;QACH,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;KACjE,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Dispatch } from 'react';
|
|
2
|
+
import { IMassActions } from './_types';
|
|
3
|
+
import { IViewSettingsAction, IViewSettingsState } from './manage-view-settings';
|
|
4
|
+
import { MassSelection } from './manage-view-settings/store-view-settings/viewSettingsReducer';
|
|
5
|
+
/**
|
|
6
|
+
* Hook used to manage mass selection as the snackbar and all kind of selection (manual, all in page, all in filters)
|
|
7
|
+
*
|
|
8
|
+
* @param isEnabled - whether the selection is present
|
|
9
|
+
* @param view - represent the current view
|
|
10
|
+
* @param dispatch - method to change the current view
|
|
11
|
+
* @param totalCount - used for display purpose only
|
|
12
|
+
* @param allVisibleKeys - list of all ids currently selected
|
|
13
|
+
* @param massActions - array of all actions available on mass selection
|
|
14
|
+
*/
|
|
15
|
+
export declare const useMassActions: ({ isEnabled, store: { dispatch, view }, totalCount, allVisibleKeys, massActions }: {
|
|
16
|
+
isEnabled: boolean;
|
|
17
|
+
store: {
|
|
18
|
+
view: IViewSettingsState;
|
|
19
|
+
dispatch: Dispatch<IViewSettingsAction>;
|
|
20
|
+
};
|
|
21
|
+
totalCount: number;
|
|
22
|
+
allVisibleKeys: string[];
|
|
23
|
+
massActions: IMassActions[];
|
|
24
|
+
}) => {
|
|
25
|
+
selectAllButton: JSX.Element;
|
|
26
|
+
setSelectedKeys: (keys: MassSelection) => void;
|
|
27
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06
|
|
3
|
+
// This file is released under LGPL V3
|
|
4
|
+
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
|
+
import { closeKitSnackBar, KitCheckbox, KitDropDown, KitSpace, openKitSnackBar } from 'aristid-ds';
|
|
6
|
+
import { useCallback, useEffect } from 'react';
|
|
7
|
+
import { FaChevronDown } from 'react-icons/fa';
|
|
8
|
+
import { RecordFilterCondition, RecordFilterOperator } from '../../_gqlTypes';
|
|
9
|
+
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
10
|
+
import { interleaveElement } from '../../_utils/interleaveElement';
|
|
11
|
+
import { MASS_SELECTION_ALL } from './_constants';
|
|
12
|
+
import { ViewSettingsActionTypes } from './manage-view-settings';
|
|
13
|
+
import { prepareFiltersForRequest } from './_queries/prepareFiltersForRequest';
|
|
14
|
+
/**
|
|
15
|
+
* Hook used to manage mass selection as the snackbar and all kind of selection (manual, all in page, all in filters)
|
|
16
|
+
*
|
|
17
|
+
* @param isEnabled - whether the selection is present
|
|
18
|
+
* @param view - represent the current view
|
|
19
|
+
* @param dispatch - method to change the current view
|
|
20
|
+
* @param totalCount - used for display purpose only
|
|
21
|
+
* @param allVisibleKeys - list of all ids currently selected
|
|
22
|
+
* @param massActions - array of all actions available on mass selection
|
|
23
|
+
*/
|
|
24
|
+
export const useMassActions = ({ isEnabled, store: { dispatch, view }, totalCount, allVisibleKeys, massActions }) => {
|
|
25
|
+
const { t } = useSharedTranslation();
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (view.massSelection === MASS_SELECTION_ALL || view.massSelection.length !== 0) {
|
|
28
|
+
openKitSnackBar({
|
|
29
|
+
duration: 0,
|
|
30
|
+
closable: true,
|
|
31
|
+
onClose: () => _setSelectedKeys([]),
|
|
32
|
+
message: t('explorer.massAction.selectedItems', {
|
|
33
|
+
count: view.massSelection === MASS_SELECTION_ALL ? totalCount : view.massSelection.length
|
|
34
|
+
}),
|
|
35
|
+
actions: massActions.map(({ label, icon, callback }, index) => ({
|
|
36
|
+
key: index,
|
|
37
|
+
label,
|
|
38
|
+
icon,
|
|
39
|
+
onClick: async () => {
|
|
40
|
+
await callback(view.massSelection === MASS_SELECTION_ALL
|
|
41
|
+
? prepareFiltersForRequest(view.filters)
|
|
42
|
+
: interleaveElement({ operator: RecordFilterOperator.OR }, view.massSelection.map(key => [
|
|
43
|
+
{
|
|
44
|
+
field: 'id',
|
|
45
|
+
condition: RecordFilterCondition.EQUAL,
|
|
46
|
+
value: key
|
|
47
|
+
}
|
|
48
|
+
])));
|
|
49
|
+
dispatch({
|
|
50
|
+
type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
|
|
51
|
+
payload: []
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}))
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
closeKitSnackBar();
|
|
59
|
+
}
|
|
60
|
+
}, [view.massSelection, view.filters, totalCount]);
|
|
61
|
+
const isOnePage = view.pageSize > totalCount;
|
|
62
|
+
const hasSelectedAllAvailableItems = view.massSelection === MASS_SELECTION_ALL || view.massSelection.length === totalCount;
|
|
63
|
+
const hasSelectedSomeItems = view.massSelection !== MASS_SELECTION_ALL &&
|
|
64
|
+
view.massSelection.length > 0 &&
|
|
65
|
+
view.massSelection.length < totalCount;
|
|
66
|
+
const _selectAllButton = isOnePage ? (_jsx(KitCheckbox, { indeterminate: hasSelectedSomeItems, checked: hasSelectedAllAvailableItems, onChange: _ => {
|
|
67
|
+
if (hasSelectedAllAvailableItems) {
|
|
68
|
+
_setSelectedKeys([]);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
_setSelectedKeys(allVisibleKeys);
|
|
72
|
+
}
|
|
73
|
+
}, children: t('explorer.massAction.itemsTotal', { count: totalCount }) })) : (_jsx(KitDropDown, { trigger: ['click'], menu: {
|
|
74
|
+
items: [
|
|
75
|
+
hasSelectedAllAvailableItems
|
|
76
|
+
? null
|
|
77
|
+
: {
|
|
78
|
+
key: 'toggle_page_selection',
|
|
79
|
+
label: t('explorer.massAction.toggle_selection.select_page', { count: view.pageSize }),
|
|
80
|
+
onClick: () => {
|
|
81
|
+
_setSelectedKeys([...new Set([...view.massSelection, ...allVisibleKeys])]);
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
key: 'toggle_all_selection',
|
|
86
|
+
label: hasSelectedAllAvailableItems
|
|
87
|
+
? t('explorer.massAction.toggle_selection.deselect_all', { count: totalCount })
|
|
88
|
+
: t('explorer.massAction.toggle_selection.select_all', { count: totalCount }),
|
|
89
|
+
onClick: async () => {
|
|
90
|
+
if (hasSelectedAllAvailableItems) {
|
|
91
|
+
_setSelectedKeys([]);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
_setSelectedKeys(MASS_SELECTION_ALL);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}, children: _jsx(KitCheckbox, { indeterminate: hasSelectedSomeItems, checked: hasSelectedAllAvailableItems, children: _jsxs(KitSpace, { size: "s", children: [t('explorer.massAction.itemsTotal', { count: totalCount }), _jsx(FaChevronDown, {})] }) }) }));
|
|
100
|
+
const _setSelectedKeys = useCallback((keys) => dispatch({
|
|
101
|
+
type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
|
|
102
|
+
payload: keys
|
|
103
|
+
}), [dispatch]);
|
|
104
|
+
return {
|
|
105
|
+
selectAllButton: isEnabled ? _selectAllButton : null,
|
|
106
|
+
setSelectedKeys: isEnabled ? _setSelectedKeys : null
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=useMassActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMassActions.js","sourceRoot":"","sources":["../../../src/components/Explorer/useMassActions.tsx"],"names":[],"mappings":"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"}
|