@leav/ui 0.4.0-c7f42b1 → 0.4.0-d00faf6
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/_gqlTypes/index.d.ts +939 -19
- package/dist/_gqlTypes/index.js +132 -3
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_queries/records/activateRecordsMutation.d.ts +1 -0
- package/dist/_queries/records/activateRecordsMutation.js +15 -0
- package/dist/_queries/records/activateRecordsMutation.js.map +1 -0
- package/dist/_queries/records/getRecordFormQuery.js +9 -0
- package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
- package/dist/components/Explorer/DataView.d.ts +2 -1
- package/dist/components/Explorer/DataView.js +13 -10
- package/dist/components/Explorer/DataView.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +5 -4
- package/dist/components/Explorer/Explorer.js +7 -5
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/_queries/useExplorerData.js +5 -1
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +4 -2
- package/dist/components/Explorer/_types.js.map +1 -1
- package/dist/components/Explorer/actions-item/{useRemoveItemAction.d.ts → useEditStatusItemAction.d.ts} +2 -2
- package/dist/components/Explorer/actions-item/{useRemoveItemAction.js → useEditStatusItemAction.js} +71 -24
- package/dist/components/Explorer/actions-item/useEditStatusItemAction.js.map +1 -0
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.d.ts +3 -1
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js +14 -6
- package/dist/components/Explorer/actions-primary/useCreatePrimaryAction.js.map +1 -1
- package/dist/components/Explorer/useViewSettingsReducer.js +6 -2
- package/dist/components/Explorer/useViewSettingsReducer.js.map +1 -1
- package/dist/components/LinkSelect/LinkSelect.d.ts +7 -4
- package/dist/components/LinkSelect/LinkSelect.js +60 -16
- package/dist/components/LinkSelect/LinkSelect.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +6 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-creation/useLinkRecordsInCreation.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.d.ts +3 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js +235 -48
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/link-record-in-edition/useLinkRecordsInEdition.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +4 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.d.ts +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/TreeNodeItem.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.d.ts +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/display-tree-node/useDisplayTreeNode.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/index.d.ts +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/index.js +2 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/index.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.d.ts +21 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +8 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +2 -1
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +2 -2
- package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/index.js.map +1 -1
- package/dist/contexts/LangContext/LangContext.d.ts +1 -2
- package/dist/contexts/LangContext/LangContext.js +2 -2
- package/dist/contexts/LangContext/LangContext.js.map +1 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js +1 -1
- package/dist/hooks/useGetRecordForm/useGetRecordForm.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/messageHandlers.d.ts +3 -2
- package/dist/hooks/useIFrameMessenger/messageHandlers.js +12 -5
- package/dist/hooks/useIFrameMessenger/messageHandlers.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/types.d.ts +78 -9
- package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.d.ts +2 -0
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js +32 -12
- package/dist/hooks/useIFrameMessenger/useIFrameMessenger.js.map +1 -1
- package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js +1 -1
- package/dist/hooks/useRedirectToLogin/useRedirectToLogin.js.map +1 -1
- package/dist/locales/en/shared.json +4 -0
- package/dist/locales/fr/shared.json +4 -0
- package/dist/types/attributes.d.ts +2 -1
- package/package.json +1 -1
- package/dist/components/Explorer/actions-item/useRemoveItemAction.js.map +0 -1
|
@@ -17,10 +17,12 @@ const _mappingLibrary = (data, libraryId, availableLangs) => {
|
|
|
17
17
|
return acc;
|
|
18
18
|
}, {})
|
|
19
19
|
: {};
|
|
20
|
-
const records = data.records.list.map(({ whoAmI, permissions, properties }) => ({
|
|
20
|
+
const records = data.records.list.map(({ whoAmI, active, permissions, properties }) => ({
|
|
21
21
|
libraryId,
|
|
22
22
|
key: whoAmI.id, // For <KitTable /> only
|
|
23
23
|
itemId: whoAmI.id, // For <KitTable /> only
|
|
24
|
+
active,
|
|
25
|
+
canActivate: permissions.create_record,
|
|
24
26
|
canDelete: permissions.delete_record,
|
|
25
27
|
whoAmI: {
|
|
26
28
|
label: null,
|
|
@@ -57,7 +59,9 @@ const _mappingLink = (data, libraryId, availableLangs) => {
|
|
|
57
59
|
// same link id can be duplicated, so we add the index to the key
|
|
58
60
|
key: linkValue.payload.whoAmI.id + index, // For <KitTable /> only
|
|
59
61
|
itemId: linkValue.payload.whoAmI.id, // For <KitTable /> only
|
|
62
|
+
canActivate: true,
|
|
60
63
|
canDelete: true,
|
|
64
|
+
active: true,
|
|
61
65
|
whoAmI: {
|
|
62
66
|
label: null,
|
|
63
67
|
subLabel: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExplorerData.js","sourceRoot":"","sources":["../../../../src/components/Explorer/_queries/useExplorerData.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,+BAA+B,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAEnE,OAAO,EAKH,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,MAAM,eAAe,GAAG,CACpB,IAA8B,EAC9B,SAAiB,EACjB,cAAwB,EACX,EAAE;IACf,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM;QACvC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACrD,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG;gBACxB,GAAG,QAAQ,CAAC,mBAAmB;gBAC/B,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC;aAClF,CAAC;YAEF,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC;QACR,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useExplorerData.js","sourceRoot":"","sources":["../../../../src/components/Explorer/_queries/useExplorerData.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,9 @@ export interface IItemData {
|
|
|
20
20
|
key: string;
|
|
21
21
|
itemId: string;
|
|
22
22
|
whoAmI: Required<RecordIdentityFragment['whoAmI']>;
|
|
23
|
+
canActivate: boolean;
|
|
23
24
|
canDelete: boolean;
|
|
25
|
+
active: boolean;
|
|
24
26
|
propertiesById: {
|
|
25
27
|
[attributeId: string]: PropertyValueFragment[];
|
|
26
28
|
};
|
|
@@ -31,8 +33,8 @@ export interface IItemData {
|
|
|
31
33
|
}
|
|
32
34
|
export interface IItemAction {
|
|
33
35
|
callback: (item: IItemData) => void;
|
|
34
|
-
icon: ReactElement;
|
|
35
|
-
label: string;
|
|
36
|
+
icon: ReactElement | ((item: IItemData) => ReactElement);
|
|
37
|
+
label: string | ((item: IItemData) => string);
|
|
36
38
|
iconOnly?: boolean;
|
|
37
39
|
isDanger?: boolean;
|
|
38
40
|
disabled?: boolean | ((item: IItemData) => boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../src/components/Explorer/_types.ts"],"names":[],"mappings":"AAIA,OAAO,EAGH,aAAa,EAMhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../src/components/Explorer/_types.ts"],"names":[],"mappings":"AAIA,OAAO,EAGH,aAAa,EAMhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AA+FxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAsB,EAAqC,EAAE,CAClG,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAsB,EAAiC,EAAE,CAC1F,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IACxF,MAAM,CAAC,SAAS,KAAK,sBAAsB,CAAC,OAAO,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAsB,EAAoC,EAAE,CAChG,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IACxF,MAAM,CAAC,SAAS,KAAK,sBAAsB,CAAC,OAAO,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { IViewSettingsAction, IViewSettingsState } from '../manage-view-settings
|
|
|
13
13
|
* @param entrypoint - represent the current entrypoint
|
|
14
14
|
* @param canDeleteLinkValues - check permission to delete link values
|
|
15
15
|
*/
|
|
16
|
-
export declare const
|
|
16
|
+
export declare const useEditStatusItemAction: ({ isEnabled, canDeleteLinkValues, store: { view, dispatch }, onRemove, entrypoint }: FeatureHook<{
|
|
17
17
|
store: {
|
|
18
18
|
view: IViewSettingsState;
|
|
19
19
|
dispatch: Dispatch<IViewSettingsAction>;
|
|
@@ -22,5 +22,5 @@ export declare const useRemoveItemAction: ({ isEnabled, canDeleteLinkValues, sto
|
|
|
22
22
|
onRemove?: IItemAction["callback"];
|
|
23
23
|
entrypoint: Entrypoint;
|
|
24
24
|
}>) => {
|
|
25
|
-
|
|
25
|
+
editStatusItemAction: IItemAction;
|
|
26
26
|
};
|
package/dist/components/Explorer/actions-item/{useRemoveItemAction.js → useEditStatusItemAction.js}
RENAMED
|
@@ -3,9 +3,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
// This file is released under LGPL V3
|
|
4
4
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
|
-
import { FaTrash } from 'react-icons/fa';
|
|
6
|
+
import { FaTrash, FaTrashRestore } from 'react-icons/fa';
|
|
7
7
|
import { KitModal } from 'aristid-ds';
|
|
8
|
-
import { useDeactivateRecordsMutation, useDeleteValueMutation } from '../../../_gqlTypes';
|
|
8
|
+
import { useActivateRecordsMutation, useDeactivateRecordsMutation, useDeleteValueMutation } from '../../../_gqlTypes';
|
|
9
9
|
import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
|
|
10
10
|
import { useValuesCacheUpdate } from '../../../hooks/useValuesCacheUpdate';
|
|
11
11
|
import { ViewSettingsActionTypes } from '../manage-view-settings';
|
|
@@ -22,7 +22,7 @@ import { MASS_SELECTION_ALL } from '../_constants';
|
|
|
22
22
|
* @param entrypoint - represent the current entrypoint
|
|
23
23
|
* @param canDeleteLinkValues - check permission to delete link values
|
|
24
24
|
*/
|
|
25
|
-
export const
|
|
25
|
+
export const useEditStatusItemAction = ({ isEnabled, canDeleteLinkValues, store: { view, dispatch }, onRemove, entrypoint }) => {
|
|
26
26
|
const { t } = useSharedTranslation();
|
|
27
27
|
const updateValuesCache = useValuesCacheUpdate();
|
|
28
28
|
const [deactivateRecordsMutation] = useDeactivateRecordsMutation({
|
|
@@ -44,6 +44,25 @@ export const useRemoveItemAction = ({ isEnabled, canDeleteLinkValues, store: { v
|
|
|
44
44
|
cache.gc();
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
+
const [activateRecordsMutation] = useActivateRecordsMutation({
|
|
48
|
+
update(cache, activatedRecords) {
|
|
49
|
+
activatedRecords.data?.activateRecords.forEach(record => {
|
|
50
|
+
cache.evict({
|
|
51
|
+
id: cache.identify(record)
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
cache.modify({
|
|
55
|
+
fields: {
|
|
56
|
+
records: prev => ({
|
|
57
|
+
...prev,
|
|
58
|
+
totalCount: prev.totalCount - 1
|
|
59
|
+
})
|
|
60
|
+
},
|
|
61
|
+
broadcast: false
|
|
62
|
+
});
|
|
63
|
+
cache.gc();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
47
66
|
const [deleteRecordLinkMutation] = useDeleteValueMutation({
|
|
48
67
|
update: (_, deletedRecord) => {
|
|
49
68
|
const parentRecord = {
|
|
@@ -55,38 +74,65 @@ export const useRemoveItemAction = ({ isEnabled, canDeleteLinkValues, store: { v
|
|
|
55
74
|
updateValuesCache(parentRecord, deletedRecord.data?.deleteValue ?? []);
|
|
56
75
|
}
|
|
57
76
|
});
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
77
|
+
const _deactivateItem = async (item) => {
|
|
78
|
+
const libRes = await deactivateRecordsMutation({
|
|
79
|
+
variables: {
|
|
80
|
+
libraryId: item.libraryId,
|
|
81
|
+
recordsIds: [item.itemId]
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
if (view.massSelection !== MASS_SELECTION_ALL) {
|
|
85
|
+
dispatch({
|
|
86
|
+
type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
|
|
87
|
+
payload: view.massSelection.filter(key => key !== item.itemId)
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
onRemove?.(item);
|
|
91
|
+
return libRes;
|
|
92
|
+
};
|
|
93
|
+
const _activateItem = async (item) => {
|
|
94
|
+
const libRes = await activateRecordsMutation({
|
|
95
|
+
variables: {
|
|
96
|
+
libraryId: item.libraryId,
|
|
97
|
+
recordsIds: [item.itemId]
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
if (view.massSelection !== MASS_SELECTION_ALL) {
|
|
101
|
+
dispatch({
|
|
102
|
+
type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
|
|
103
|
+
payload: view.massSelection.filter(key => key !== item.itemId)
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return libRes;
|
|
107
|
+
};
|
|
108
|
+
const _editStatusItemAction = useMemo(() => ({
|
|
109
|
+
label: (item) => entrypoint.type === 'library'
|
|
110
|
+
? item.active
|
|
111
|
+
? t('explorer.deactivate-item')
|
|
112
|
+
: t('explorer.activate-item')
|
|
113
|
+
: t('explorer.delete-item'),
|
|
114
|
+
icon: (item) => entrypoint.type === 'library' ? item.active ? _jsx(FaTrash, {}) : _jsx(FaTrashRestore, {}) : _jsx(FaTrash, {}),
|
|
61
115
|
isDanger: true,
|
|
62
|
-
disabled: (item) =>
|
|
116
|
+
disabled: (item) => entrypoint.type === 'link' ? !canDeleteLinkValues : item.active ? !item.canDelete : !item.canActivate,
|
|
63
117
|
callback: item => {
|
|
64
|
-
const { itemId,
|
|
118
|
+
const { itemId, id_value } = item;
|
|
65
119
|
KitModal.confirm({
|
|
66
120
|
type: 'confirm',
|
|
67
121
|
dangerConfirm: true,
|
|
68
122
|
content: entrypoint.type === 'library'
|
|
69
|
-
?
|
|
123
|
+
? item.active
|
|
124
|
+
? t('records_deactivation.confirm_one')
|
|
125
|
+
: t('records_activation.confirm_one')
|
|
70
126
|
: t('record_edition.delete_link_confirm'),
|
|
71
127
|
okText: t('global.submit') ?? undefined,
|
|
72
128
|
cancelText: t('global.cancel') ?? undefined,
|
|
73
129
|
onOk: async () => {
|
|
74
130
|
switch (entrypoint.type) {
|
|
75
131
|
case 'library':
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
libraryId,
|
|
79
|
-
recordsIds: [itemId]
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
if (view.massSelection !== MASS_SELECTION_ALL) {
|
|
83
|
-
dispatch({
|
|
84
|
-
type: ViewSettingsActionTypes.SET_SELECTED_KEYS,
|
|
85
|
-
payload: view.massSelection.filter(key => key !== itemId)
|
|
86
|
-
});
|
|
132
|
+
if (item.active) {
|
|
133
|
+
return _deactivateItem(item);
|
|
87
134
|
}
|
|
88
|
-
|
|
89
|
-
return libRes;
|
|
135
|
+
return _activateItem(item);
|
|
90
136
|
case 'link':
|
|
91
137
|
const linkRes = await deleteRecordLinkMutation({
|
|
92
138
|
variables: {
|
|
@@ -111,13 +157,14 @@ export const useRemoveItemAction = ({ isEnabled, canDeleteLinkValues, store: { v
|
|
|
111
157
|
t,
|
|
112
158
|
deactivateRecordsMutation,
|
|
113
159
|
deleteRecordLinkMutation,
|
|
160
|
+
activateRecordsMutation,
|
|
114
161
|
canDeleteLinkValues,
|
|
115
162
|
entrypoint.type,
|
|
116
163
|
view.massSelection,
|
|
117
164
|
dispatch
|
|
118
165
|
]);
|
|
119
166
|
return {
|
|
120
|
-
|
|
167
|
+
editStatusItemAction: isEnabled ? _editStatusItemAction : null
|
|
121
168
|
};
|
|
122
169
|
};
|
|
123
|
-
//# sourceMappingURL=
|
|
170
|
+
//# sourceMappingURL=useEditStatusItemAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEditStatusItemAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-item/useEditStatusItemAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAW,OAAO,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAGH,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAA0C,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AACzG,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAGjD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,SAAS,EACT,mBAAmB,EACnB,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,EACvB,QAAQ,EACR,UAAU,EASZ,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,MAAM,CAAC,yBAAyB,CAAC,GAAG,4BAA4B,CAAC;QAC7D,MAAM,CAAC,KAAK,EAAE,kBAAkB;YAC5B,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACxD,KAAK,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAC7B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC;gBACT,MAAM,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBACd,GAAG,IAAI;wBACP,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC;qBAClC,CAAC;iBACL;gBACD,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,CAAC,uBAAuB,CAAC,GAAG,0BAA0B,CAAC;QACzD,MAAM,CAAC,KAAK,EAAE,gBAAgB;YAC1B,gBAAgB,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACpD,KAAK,CAAC,KAAK,CAAC;oBACR,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAC7B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC;gBACT,MAAM,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBACd,GAAG,IAAI;wBACP,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC;qBAClC,CAAC;iBACL;gBACD,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC;QACtD,MAAM,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;YACzB,MAAM,YAAY,GAAG;gBACjB,EAAE,EAAG,UAA8B,CAAC,cAAc;gBAClD,OAAO,EAAE;oBACL,EAAE,EAAG,UAA8B,CAAC,eAAe;iBACtD;aACJ,CAAC;YACF,iBAAiB,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,KAAK,EAAE,IAAe,EAAmD,EAAE;QAC/F,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;YAC3C,SAAS,EAAE;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B;SACJ,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,KAAK,kBAAkB,EAAE,CAAC;YAC5C,QAAQ,CAAC;gBACL,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;gBAC/C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC;aACjE,CAAC,CAAC;QACP,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QAEjB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAe,EAAiD,EAAE;QAC3F,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YACzC,SAAS,EAAE;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5B;SACJ,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,KAAK,kBAAkB,EAAE,CAAC;YAC5C,QAAQ,CAAC;gBACL,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;gBAC/C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC;aACjE,CAAC,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAgB,OAAO,CAC9C,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,CAAC,IAAe,EAAE,EAAE,CACvB,UAAU,CAAC,IAAI,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI,CAAC,MAAM;gBACT,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;gBAC/B,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACjC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACnC,IAAI,EAAE,CAAC,IAAe,EAAE,EAAE,CACtB,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAC,OAAO,KAAG,CAAC,CAAC,CAAC,KAAC,cAAc,KAAG,CAAC,CAAC,CAAC,KAAC,OAAO,KAAG;QAChG,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC,IAAe,EAAE,EAAE,CAC1B,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;QACzG,QAAQ,EAAE,IAAI,CAAC,EAAE;YACb,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;YAEhC,QAAQ,CAAC,OAAO,CAAC;gBACb,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,IAAI;gBACnB,OAAO,EACH,UAAU,CAAC,IAAI,KAAK,SAAS;oBACzB,CAAC,CAAC,IAAI,CAAC,MAAM;wBACT,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC;wBACvC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC;oBACzC,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC;gBACjD,MAAM,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;gBACvC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,SAAS;gBAC3C,IAAI,EAAE,KAAK,IAAI,EAAE;oBACb,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;wBACtB,KAAK,SAAS;4BACV,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gCACd,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;4BACjC,CAAC;4BAED,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC/B,KAAK,MAAM;4BACP,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;gCAC3C,SAAS,EAAE;oCACP,OAAO,EAAE,UAAU,CAAC,eAAe;oCACnC,SAAS,EAAE,UAAU,CAAC,eAAe;oCACrC,QAAQ,EAAE,UAAU,CAAC,cAAc;oCACnC,KAAK,EAAE;wCACH,OAAO,EAAE,MAAM;wCACf,QAAQ;qCACX;iCACJ;6BACJ,CAAC,CAAC;4BACH,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;4BACjB,OAAO,OAAO,CAAC;wBACnB;4BACI,OAAO;oBACf,CAAC;gBACL,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,EACF;QACI,CAAC;QACD,yBAAyB;QACzB,wBAAwB;QACxB,uBAAuB;QACvB,mBAAmB;QACnB,UAAU,CAAC,IAAI;QACf,IAAI,CAAC,aAAa;QAClB,QAAQ;KACX,CACJ,CAAC;IAEF,OAAO;QACH,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;KACjE,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import { ISubmitMultipleResult } from '../../../components/RecordEdition/EditRecordContent/_types';
|
|
3
|
+
import { JoinLibraryContextFragment } from '../../../_gqlTypes';
|
|
3
4
|
import { FeatureHook, Entrypoint, IPrimaryAction } from '../_types';
|
|
4
5
|
/**
|
|
5
6
|
* Hook used to get the action for `<DataView />` component.
|
|
@@ -15,7 +16,7 @@ import { FeatureHook, Entrypoint, IPrimaryAction } from '../_types';
|
|
|
15
16
|
* @param onCreate - callback to let outside world known about creating item (and linking)
|
|
16
17
|
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
17
18
|
*/
|
|
18
|
-
export declare const useCreatePrimaryAction: ({ isEnabled, libraryId, entrypoint, totalCount, canCreateAndLinkValue, onCreate, formId, refetch }: FeatureHook<{
|
|
19
|
+
export declare const useCreatePrimaryAction: ({ isEnabled, libraryId, entrypoint, totalCount, canCreateAndLinkValue, onCreate, formId, joinLibraryContext, refetch }: FeatureHook<{
|
|
19
20
|
libraryId: string;
|
|
20
21
|
entrypoint: Entrypoint;
|
|
21
22
|
totalCount: number;
|
|
@@ -24,6 +25,7 @@ export declare const useCreatePrimaryAction: ({ isEnabled, libraryId, entrypoint
|
|
|
24
25
|
recordIdCreated: string;
|
|
25
26
|
saveValuesResultOnLink?: ISubmitMultipleResult;
|
|
26
27
|
}) => void;
|
|
28
|
+
joinLibraryContext?: JoinLibraryContextFragment;
|
|
27
29
|
formId?: string;
|
|
28
30
|
refetch: () => void;
|
|
29
31
|
}>) => {
|
|
@@ -24,7 +24,7 @@ import { CREATE_RECORD_MODAL_CLASSNAME } from '../_constants';
|
|
|
24
24
|
* @param onCreate - callback to let outside world known about creating item (and linking)
|
|
25
25
|
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
26
26
|
*/
|
|
27
|
-
export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, totalCount, canCreateAndLinkValue, onCreate, formId, refetch }) => {
|
|
27
|
+
export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, totalCount, canCreateAndLinkValue, onCreate, formId, joinLibraryContext, refetch }) => {
|
|
28
28
|
const { t } = useSharedTranslation();
|
|
29
29
|
const [isModalCreationVisible, setIsModalCreationVisible] = useState(false);
|
|
30
30
|
const [multipleValues, setIsMultivalues] = useState(false);
|
|
@@ -33,7 +33,7 @@ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, total
|
|
|
33
33
|
useExplorerLinkAttributeQuery({
|
|
34
34
|
skip: entrypoint.type !== 'link',
|
|
35
35
|
variables: {
|
|
36
|
-
id: entrypoint.linkAttributeId
|
|
36
|
+
id: joinLibraryContext?.mandatoryAttribute.id || entrypoint.linkAttributeId
|
|
37
37
|
},
|
|
38
38
|
onCompleted: data => {
|
|
39
39
|
const attributeData = data?.attributes?.list?.[0];
|
|
@@ -43,7 +43,14 @@ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, total
|
|
|
43
43
|
setIsMultivalues(attributeData.multiple_values);
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
-
const
|
|
46
|
+
const _getLibraryId = () => (joinLibraryContext?.mandatoryAttribute &&
|
|
47
|
+
'linked_library' in joinLibraryContext.mandatoryAttribute &&
|
|
48
|
+
joinLibraryContext.mandatoryAttribute.linked_library?.id) ||
|
|
49
|
+
libraryId;
|
|
50
|
+
const { data, loading, error } = useExplorerLibraryDetailsQuery({
|
|
51
|
+
variables: { libraryId: _getLibraryId() },
|
|
52
|
+
skip: !isEnabled
|
|
53
|
+
});
|
|
47
54
|
if (error || loading) {
|
|
48
55
|
return { createPrimaryAction: null, createModal: null };
|
|
49
56
|
}
|
|
@@ -71,21 +78,22 @@ export const useCreatePrimaryAction = ({ isEnabled, libraryId, entrypoint, total
|
|
|
71
78
|
let _createModal = null;
|
|
72
79
|
switch (data?.libraries?.list[0]?.behavior) {
|
|
73
80
|
case LibraryBehavior.files:
|
|
74
|
-
_createModal = (_jsx(UploadFiles, { libraryId:
|
|
81
|
+
_createModal = (_jsx(UploadFiles, { libraryId: _getLibraryId(), multiple: true, onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
|
|
75
82
|
refetch();
|
|
76
83
|
_notifyNewCreation();
|
|
77
84
|
setIsModalCreationVisible(false);
|
|
78
85
|
} }));
|
|
79
86
|
break;
|
|
80
87
|
case LibraryBehavior.directories:
|
|
81
|
-
_createModal = (_jsx(CreateDirectory, { libraryId:
|
|
88
|
+
_createModal = (_jsx(CreateDirectory, { libraryId: _getLibraryId(), onClose: () => setIsModalCreationVisible(false), onCompleted: () => {
|
|
82
89
|
refetch();
|
|
83
90
|
_notifyNewCreation();
|
|
84
91
|
setIsModalCreationVisible(false);
|
|
85
92
|
} }));
|
|
86
93
|
break;
|
|
87
94
|
case LibraryBehavior.standard:
|
|
88
|
-
|
|
95
|
+
case LibraryBehavior.join:
|
|
96
|
+
_createModal = (_jsx(EditRecordModal, { className: CREATE_RECORD_MODAL_CLASSNAME, open: true, record: null, library: _getLibraryId(), creationFormId: formId, onClose: () => {
|
|
89
97
|
setIsModalCreationVisible(false);
|
|
90
98
|
}, onCreate: newRecord => {
|
|
91
99
|
refetch();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAe,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,yBAAyB,MAAM,uFAAuF,CAAC;AAE9H,OAAO,
|
|
1
|
+
{"version":3,"file":"useCreatePrimaryAction.js","sourceRoot":"","sources":["../../../../src/components/Explorer/actions-primary/useCreatePrimaryAction.tsx"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,12 @@ export const useViewSettingsReducer = (entrypoint, defaultViewSettings = {}, ign
|
|
|
34
34
|
libraryId: libraryId
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
let userView;
|
|
38
|
+
if (defaultViewSettings?.viewId) {
|
|
39
|
+
userView = viewData?.views?.list?.find(viewItem => viewItem.id === defaultViewSettings.viewId);
|
|
40
|
+
}
|
|
41
|
+
// Take the last view from the array if not defined in defaultView Settings
|
|
42
|
+
userView = userView ?? viewData?.views?.list?.at(-1);
|
|
39
43
|
const userViewFilters = ignoreViewByDefault ? [] : toValidFilters(userView?.filters ?? []);
|
|
40
44
|
const preparedDefaultFilters = toValidFilters(defaultViewSettings.filters ?? []);
|
|
41
45
|
const userAttributesToHydrate = ignoreViewByDefault
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,oBAAoB,EACpB,SAAS,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE/D,OAAO,EAEH,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,+BAA+B,EAAC,MAAM,cAAc,CAAC;AAC7D,OAAO,EACH,uBAAuB,EAGvB,mBAAmB,EACtB,MAAM,oDAAoD,CAAC;AAG5D,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CACtD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,UAAsB,EACtB,sBAA2C,EAAE,EAC7C,mBAAmB,GAAG,KAAK,EAC7B,EAAE;IACA,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IACnF,MAAM,EAAC,kBAAkB,EAAC,GAAG,eAAe,EAAE,CAAC;IAC/C,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,MAAM,EAAC,iBAAiB,EAAE,cAAc,EAAC,GAAG,mBAAmB,EAAE,CAAC;IAElE,6BAA6B,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;QAChC,SAAS,EAAE;YACP,EAAE,EAAG,UAA8B,CAAC,eAAe;SACtD;QACD,WAAW,EAAE,IAAI,CAAC,EAAE;YAChB,MAAM,aAAa,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC;YACD,YAAY,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3G,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,EACF,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,SAAS,EACnB,GAAG,oBAAoB,CAAC;QACrB,IAAI,EAAE,mBAAmB,IAAI,SAAS,KAAK,IAAI;QAC/C,WAAW,EAAE,cAAc;QAC3B,SAAS,EAAE;YACP,SAAS,EAAE,SAAmB;SACjC;KACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useViewSettingsReducer.js","sourceRoot":"","sources":["../../../src/components/Explorer/useViewSettingsReducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,12 @@ interface ILinkSelectProps {
|
|
|
4
4
|
options: IKitOption[];
|
|
5
5
|
defaultValues: string[];
|
|
6
6
|
hideAdvancedSearch?: boolean;
|
|
7
|
-
onUpdateSelection
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
onUpdateSelection?: (value: string[]) => void;
|
|
8
|
+
onClickCreateButton?: (value: string) => void;
|
|
9
|
+
onBlur?: (itemsToLink: Set<string>, itemsToDelete: Set<string>) => void;
|
|
10
|
+
onParentDeselect?: (itemId: string) => any;
|
|
11
|
+
onAdvanceSearch?: () => void;
|
|
12
|
+
onSearch?: (searchValue: string) => Promise<void>;
|
|
10
13
|
}
|
|
11
|
-
declare function LinkSelect({ tagDisplay, options, defaultValues, hideAdvancedSearch, onUpdateSelection,
|
|
14
|
+
declare function LinkSelect({ tagDisplay, options, defaultValues, hideAdvancedSearch, onUpdateSelection, onClickCreateButton, onBlur, onAdvanceSearch, onSearch }: ILinkSelectProps): JSX.Element;
|
|
12
15
|
export default LinkSelect;
|
|
@@ -3,11 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
// This file is released under LGPL V3
|
|
4
4
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
5
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
6
|
-
import {
|
|
7
|
-
import { KitButton, KitDivider, KitSelect, KitSpace } from 'aristid-ds';
|
|
6
|
+
import { faMagnifyingGlass, faPlus } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import { KitButton, KitDivider, KitLoader, KitSelect, KitSpace } from 'aristid-ds';
|
|
8
8
|
import styled from 'styled-components';
|
|
9
|
-
import { useState } from 'react';
|
|
9
|
+
import { useEffect, useRef, useState } from 'react';
|
|
10
10
|
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
11
|
+
import { useDebouncedValue } from '../../hooks/useDebouncedValue';
|
|
12
|
+
import { FaChevronDown } from 'react-icons/fa';
|
|
11
13
|
const StyledDivider = styled(KitDivider) `
|
|
12
14
|
margin: calc(var(--general-spacing-xs) * 1px);
|
|
13
15
|
`;
|
|
@@ -16,29 +18,71 @@ const StyledContainer = styled.div `
|
|
|
16
18
|
justify-content: center;
|
|
17
19
|
`;
|
|
18
20
|
const StyledKitSelect = styled(KitSelect) `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
&.select-without-tags {
|
|
22
|
+
.ant-select-selection-overflow-item:not(.ant-select-selection-overflow-item-suffix) {
|
|
23
|
+
display: none;
|
|
24
|
+
}
|
|
21
25
|
}
|
|
22
26
|
`;
|
|
23
|
-
function LinkSelect({ tagDisplay, options, defaultValues, hideAdvancedSearch = false, onUpdateSelection,
|
|
27
|
+
function LinkSelect({ tagDisplay, options, defaultValues, hideAdvancedSearch = false, onUpdateSelection, onClickCreateButton, onBlur, onAdvanceSearch, onSearch }) {
|
|
24
28
|
const { t } = useSharedTranslation();
|
|
25
|
-
const
|
|
29
|
+
const itemsToLink = useRef(new Set());
|
|
30
|
+
const itemsToDelete = useRef(new Set());
|
|
31
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
26
32
|
const [currentSearch, setCurrentSearch] = useState('');
|
|
33
|
+
const debouncedSearch = useDebouncedValue(currentSearch, 500);
|
|
27
34
|
const [emptyResults, setEmptyResults] = useState(false);
|
|
35
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (!tagDisplay) {
|
|
38
|
+
setIsOpen(true);
|
|
39
|
+
}
|
|
40
|
+
}, [tagDisplay]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
// Call API search when debounced search value changes
|
|
43
|
+
onSearch?.(debouncedSearch).then(() => {
|
|
44
|
+
setIsLoading(false);
|
|
45
|
+
});
|
|
46
|
+
}, [debouncedSearch]);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (debouncedSearch === '') {
|
|
49
|
+
setEmptyResults(false);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
setEmptyResults(options.length === 0);
|
|
53
|
+
}
|
|
54
|
+
}, [options, debouncedSearch]);
|
|
28
55
|
const _handleChange = (selection) => {
|
|
29
|
-
onUpdateSelection(selection);
|
|
56
|
+
onUpdateSelection?.(selection);
|
|
30
57
|
};
|
|
31
58
|
const _handleSearch = (value) => {
|
|
59
|
+
setIsLoading(true);
|
|
32
60
|
setCurrentSearch(value);
|
|
33
|
-
const optionsFiltered = options.filter(option => option.label.toLowerCase().includes(value.toLowerCase()));
|
|
34
|
-
setEmptyResults(optionsFiltered.length === 0 && value !== '');
|
|
35
61
|
};
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
62
|
+
const _onClickCreateButton = () => {
|
|
63
|
+
onClickCreateButton?.(debouncedSearch);
|
|
64
|
+
};
|
|
65
|
+
const _onBlur = () => {
|
|
66
|
+
onBlur?.(itemsToLink.current, itemsToDelete.current);
|
|
67
|
+
setIsOpen(false);
|
|
68
|
+
};
|
|
69
|
+
const _onSelect = (itemId) => {
|
|
70
|
+
// remove itemToDelete if exists
|
|
71
|
+
itemsToDelete.current.delete(itemId);
|
|
72
|
+
itemsToLink.current.add(itemId);
|
|
73
|
+
};
|
|
74
|
+
const _onDeselect = (itemId) => {
|
|
75
|
+
if (itemsToLink.current.has(itemId)) {
|
|
76
|
+
// Remove item to link if exists
|
|
77
|
+
itemsToLink.current.delete(itemId);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
itemsToDelete.current.add(itemId);
|
|
81
|
+
};
|
|
82
|
+
const dropdownButtons = menu => (_jsxs("div", { className: "dropdown-custom", children: [menu, (emptyResults || !hideAdvancedSearch) && (_jsxs(_Fragment, { children: [_jsx(StyledDivider, {}), _jsx(StyledContainer, { children: isLoading ? (_jsx(KitLoader, {})) : (_jsxs(KitSpace, { align: "center", direction: "vertical", size: "xs", children: [emptyResults && (_jsx(KitButton, { type: "secondary", icon: _jsx(FontAwesomeIcon, { icon: faPlus }), onClick: _onClickCreateButton,
|
|
83
|
+
// @ts-ignore: required to avoid the click propagation that will automatically close the dropdown modal - https://aristid.atlassian.net/browse/DS-339
|
|
84
|
+
onMouseDown: e => e.preventDefault(), children: `${t('record_edition.new_record')} "${debouncedSearch}"` })), !hideAdvancedSearch && (_jsx(KitButton, { type: "tertiary", icon: _jsx(FontAwesomeIcon, { icon: faMagnifyingGlass }), onClick: () => onAdvanceSearch(), children: t('record_edition.advanced_search') }))] })) })] }))] }));
|
|
85
|
+
return (_jsx(StyledKitSelect, { className: tagDisplay ? undefined : 'select-without-tags', placeholder: t('record_edition.select'), mode: "multiple", open: isOpen, defaultValue: defaultValues, options: options, optionFilterProp: "label", filterOption: false, showSearch: true, onChange: _handleChange, onSearch: _handleSearch, onBlur: _onBlur, onFocus: () => setIsOpen(true), onDeselect: _onDeselect, onSelect: _onSelect, dropdownRender: dropdownButtons, autoFocus: !tagDisplay, allowClear: tagDisplay, suffixIcon: tagDisplay ? _jsx(FaChevronDown, {}) : _jsx("div", {}) }));
|
|
42
86
|
}
|
|
43
87
|
export default LinkSelect;
|
|
44
88
|
//# sourceMappingURL=LinkSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkSelect.js","sourceRoot":"","sources":["../../../src/components/LinkSelect/LinkSelect.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"LinkSelect.js","sourceRoot":"","sources":["../../../src/components/LinkSelect/LinkSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ const KitInputWrapperStyled = styled(KitInputWrapper) `
|
|
|
43
43
|
const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMultipleValues, onValueSubmit, onValueDelete, metadataEdit = false }) => {
|
|
44
44
|
const { state, dispatch } = useEditRecordReducer();
|
|
45
45
|
const { lang } = useLang();
|
|
46
|
-
const { settings, attribute } = element;
|
|
46
|
+
const { settings, attribute, joinLibraryContext } = element;
|
|
47
47
|
const attributesPendingDefaultValues = pendingValues?.[attribute.id]
|
|
48
48
|
? Object.values(pendingValues?.[attribute.id])
|
|
49
49
|
: [];
|
|
@@ -55,7 +55,7 @@ const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMul
|
|
|
55
55
|
const label = localizedTranslation(settings.label, lang);
|
|
56
56
|
const fieldErrors = form.getFieldError(attribute.id);
|
|
57
57
|
const columnsToDisplay = settings.columns?.map(({ id }) => id);
|
|
58
|
-
const isReadOnly = attribute.readonly || readonly;
|
|
58
|
+
const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly;
|
|
59
59
|
const isFieldInError = fieldErrors.length > 0;
|
|
60
60
|
useEffect(() => {
|
|
61
61
|
setAttributePendingValues(pendingValues?.[attribute.id]
|
|
@@ -75,7 +75,8 @@ const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMul
|
|
|
75
75
|
'.kit-modal-wrapper',
|
|
76
76
|
`.${CREATE_RECORD_MODAL_CLASSNAME}`,
|
|
77
77
|
`.${LINK_RECORDS_MODAL_CLASSNAME}`,
|
|
78
|
-
`.${EDIT_RECORD_MODAL_CLASSNAME}
|
|
78
|
+
`.${EDIT_RECORD_MODAL_CLASSNAME}`,
|
|
79
|
+
'.kit-select-dropdown-content'
|
|
79
80
|
]
|
|
80
81
|
});
|
|
81
82
|
const { UnlinkAllRecordsInCreation, LinkRecordsInCreation } = useLinkRecordsInCreation({
|
|
@@ -94,6 +95,7 @@ const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMul
|
|
|
94
95
|
libraryId: state.libraryId,
|
|
95
96
|
recordId: state.record?.id,
|
|
96
97
|
attribute,
|
|
98
|
+
joinLibraryContext,
|
|
97
99
|
columnsToDisplay,
|
|
98
100
|
backendValues,
|
|
99
101
|
setBackendValues,
|
|
@@ -106,7 +108,7 @@ const LinkField = ({ element, readonly, formIdToLoad, pendingValues, onDeleteMul
|
|
|
106
108
|
hasNoValue: backendValues.length === 0,
|
|
107
109
|
onDeleteMultipleValues
|
|
108
110
|
});
|
|
109
|
-
return (_jsx(Wrapper, { "$metadataEdit": metadataEdit, children: _jsx(AntForm.Item, { name: attribute.id, noStyle: true, children: _jsx(KitInputWrapperStyled, { id: LINK_FIELD_ID_PREFIX + attribute.id, label: label, required: attribute.required, bordered: true, disabled: isReadOnly, status: isFieldInError ? 'error' : undefined, helper: isFieldInError ? String(fieldErrors[0]) : undefined, extra: _jsxs(_Fragment, { children: [_jsx(KitInputExtraAlignLeft, { children: _jsx(ComputeIndicator, { calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags }) }), formIdToLoad === 'creation' ? UnlinkAllRecordsInCreation : UnlinkAllRecordsInEdition] }), children: formIdToLoad === 'creation' ? LinkRecordsInCreation : LinkRecordsInEditionExplorer }) }) }));
|
|
111
|
+
return (_jsx(Wrapper, { "$metadataEdit": metadataEdit, children: _jsx(AntForm.Item, { name: attribute.id, noStyle: true, children: _jsx(KitInputWrapperStyled, { id: LINK_FIELD_ID_PREFIX + attribute.id, "data-testid": "link-field", label: label, required: attribute.required, bordered: true, disabled: isReadOnly, status: isFieldInError ? 'error' : undefined, helper: isFieldInError ? String(fieldErrors[0]) : undefined, extra: _jsxs(_Fragment, { children: [_jsx(KitInputExtraAlignLeft, { children: _jsx(ComputeIndicator, { calculatedFlags: calculatedFlags, inheritedFlags: inheritedFlags }) }), formIdToLoad === 'creation' ? UnlinkAllRecordsInCreation : UnlinkAllRecordsInEdition] }), children: formIdToLoad === 'creation' ? LinkRecordsInCreation : LinkRecordsInEditionExplorer }) }) }));
|
|
110
112
|
};
|
|
111
113
|
export default LinkField;
|
|
112
114
|
//# sourceMappingURL=LinkField.js.map
|