@leav/ui 0.3.6-dee7a7f → 0.3.6-df40eff
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/attribute.js +2 -1
- package/dist/__mocks__/common/attribute.js.map +1 -1
- package/dist/__mocks__/common/form.js +2 -2
- package/dist/__mocks__/common/form.js.map +1 -1
- package/dist/_gqlTypes/index.d.ts +88 -0
- package/dist/_gqlTypes/index.js +41 -0
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_queries/records/getRecordFormQuery.js +2 -0
- package/dist/_queries/records/getRecordFormQuery.js.map +1 -1
- package/dist/_queries/records/recordFormAttributeFragment.js +2 -0
- package/dist/_queries/records/recordFormAttributeFragment.js.map +1 -1
- package/dist/components/Explorer/DataView.d.ts +2 -1
- package/dist/components/Explorer/DataView.js +8 -26
- package/dist/components/Explorer/DataView.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +6 -4
- package/dist/components/Explorer/Explorer.js +27 -8
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/ExplorerTitle.d.ts +7 -0
- package/dist/components/Explorer/ExplorerTitle.js +30 -0
- package/dist/components/Explorer/ExplorerTitle.js.map +1 -0
- package/dist/components/Explorer/TableCell.d.ts +7 -0
- package/dist/components/Explorer/TableCell.js +40 -0
- package/dist/components/Explorer/TableCell.js.map +1 -0
- package/dist/components/Explorer/_queries/useExplorerData.d.ts +2 -2
- package/dist/components/Explorer/_queries/useExplorerData.js +33 -14
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/_types.d.ts +11 -0
- package/dist/components/Explorer/edit-settings/ColumnItem.d.ts +12 -0
- package/dist/components/Explorer/edit-settings/ColumnItem.js +78 -0
- package/dist/components/Explorer/edit-settings/ColumnItem.js.map +1 -0
- package/dist/components/Explorer/edit-settings/DisplayMode.d.ts +5 -1
- package/dist/components/Explorer/edit-settings/DisplayMode.js +27 -3
- package/dist/components/Explorer/edit-settings/DisplayMode.js.map +1 -1
- package/dist/components/Explorer/edit-settings/DisplayModeTable.d.ts +6 -0
- package/dist/components/Explorer/edit-settings/DisplayModeTable.js +89 -0
- package/dist/components/Explorer/edit-settings/DisplayModeTable.js.map +1 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContext.d.ts +1 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContext.js +1 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContext.js.map +1 -1
- package/dist/components/Explorer/edit-settings/EditSettingsContextProvider.d.ts +6 -1
- package/dist/components/Explorer/edit-settings/EditSettingsContextProvider.js +2 -1
- package/dist/components/Explorer/edit-settings/EditSettingsContextProvider.js.map +1 -1
- package/dist/components/Explorer/edit-settings/SettingItem.d.ts +4 -2
- package/dist/components/Explorer/edit-settings/SettingItem.js.map +1 -1
- package/dist/components/Explorer/edit-settings/SettingsPanel.d.ts +5 -1
- package/dist/components/Explorer/edit-settings/SettingsPanel.js +2 -2
- package/dist/components/Explorer/edit-settings/SettingsPanel.js.map +1 -1
- package/dist/components/Explorer/edit-settings/ViewSetingsContext.d.ts +7 -0
- package/dist/components/Explorer/edit-settings/ViewSetingsContext.js +15 -0
- package/dist/components/Explorer/edit-settings/ViewSetingsContext.js.map +1 -0
- package/dist/components/Explorer/edit-settings/useGetLibraryColumns.d.ts +10 -0
- package/dist/components/Explorer/edit-settings/useGetLibraryColumns.js +24 -0
- package/dist/components/Explorer/edit-settings/useGetLibraryColumns.js.map +1 -0
- package/dist/components/Explorer/edit-settings/useOpenSettings.d.ts +1 -1
- package/dist/components/Explorer/edit-settings/useOpenSettings.js +2 -2
- package/dist/components/Explorer/edit-settings/useOpenSettings.js.map +1 -1
- package/dist/components/Explorer/edit-settings/useViewSettingsContext.d.ts +4 -0
- package/dist/components/Explorer/edit-settings/useViewSettingsContext.js +7 -0
- package/dist/components/Explorer/edit-settings/useViewSettingsContext.js.map +1 -0
- package/dist/components/Explorer/edit-settings/viewSettingsReducer.d.ts +43 -0
- package/dist/components/Explorer/edit-settings/viewSettingsReducer.js +58 -0
- package/dist/components/Explorer/edit-settings/viewSettingsReducer.js.map +1 -0
- package/dist/components/Explorer/{useCreateMainAction.d.ts → useCreateAction.d.ts} +3 -3
- package/dist/components/Explorer/{useCreateMainAction.js → useCreateAction.js} +11 -7
- package/dist/components/Explorer/useCreateAction.js.map +1 -0
- package/dist/components/Explorer/useEditAction.js +1 -1
- package/dist/components/Explorer/useEditAction.js.map +1 -1
- package/dist/components/Explorer/usePrimaryActions.d.ts +20 -0
- package/dist/components/Explorer/usePrimaryActions.js +29 -0
- package/dist/components/Explorer/usePrimaryActions.js.map +1 -0
- package/dist/components/RecordEdition/EditRecord/EditRecord.js +1 -1
- 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/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueDisplayHandler.js +2 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueDisplayHandler.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/MonoValueSelect.js +28 -6
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/MonoValueSelect.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/_types.d.ts +3 -0
- package/dist/locales/en/shared.json +10 -2
- package/dist/locales/fr/shared.json +10 -2
- package/package.json +3 -1
- package/dist/components/Explorer/useCreateMainAction.js.map +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
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 { useDebouncedValue } from '../../../hooks/useDebouncedValue/useDebouncedValue';
|
|
6
|
+
import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
|
|
7
|
+
import { KitInput, KitTypography } from 'aristid-ds';
|
|
8
|
+
import { useMemo, useState } from 'react';
|
|
9
|
+
import styled from 'styled-components';
|
|
10
|
+
import { closestCenter, DndContext, KeyboardSensor, PointerSensor, useSensor, useSensors } from '@dnd-kit/core';
|
|
11
|
+
import { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from '@dnd-kit/sortable';
|
|
12
|
+
import { FaGripLines } from 'react-icons/fa';
|
|
13
|
+
import { ColumnItem } from './ColumnItem';
|
|
14
|
+
import { useGetLibraryColumns } from './useGetLibraryColumns';
|
|
15
|
+
import { ViewSettingsActionTypes } from '../edit-settings/viewSettingsReducer';
|
|
16
|
+
import { useViewSettingsContext } from './useViewSettingsContext';
|
|
17
|
+
const StyledList = styled.ul `
|
|
18
|
+
padding: 0;
|
|
19
|
+
margin: 0;
|
|
20
|
+
list-style: none;
|
|
21
|
+
color: var(--general-utilities-text-primary);
|
|
22
|
+
`;
|
|
23
|
+
const StyledDivider = styled.hr `
|
|
24
|
+
display: block;
|
|
25
|
+
height: 1px;
|
|
26
|
+
border: 0;
|
|
27
|
+
border-top: 1px solid var(--general-utilities-main-light);
|
|
28
|
+
margin: 0 calc(var(--general-spacing-s) * 1px);
|
|
29
|
+
padding: 0;
|
|
30
|
+
`;
|
|
31
|
+
export const DisplayModeTable = ({ library }) => {
|
|
32
|
+
const { t } = useSharedTranslation();
|
|
33
|
+
const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
|
|
34
|
+
coordinateGetter: sortableKeyboardCoordinates
|
|
35
|
+
}));
|
|
36
|
+
const { view, dispatch } = useViewSettingsContext();
|
|
37
|
+
const { fields: orderedVisibleColumns } = view;
|
|
38
|
+
const [searchInput, setSearchInput] = useState('');
|
|
39
|
+
const debouncedSearchInput = useDebouncedValue(searchInput, 300);
|
|
40
|
+
const { attributeDetailsById } = useGetLibraryColumns(library);
|
|
41
|
+
const searchFilteredColumns = useMemo(() => {
|
|
42
|
+
const columnIds = Object.keys(attributeDetailsById);
|
|
43
|
+
if (columnIds.length === 0) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
if (searchInput === '') {
|
|
47
|
+
return attributeDetailsById;
|
|
48
|
+
}
|
|
49
|
+
return columnIds.reduce((acc, columnId) => {
|
|
50
|
+
if (attributeDetailsById[columnId].label.includes(searchInput) || columnId.includes(searchInput)) {
|
|
51
|
+
acc[columnId] = attributeDetailsById[columnId];
|
|
52
|
+
}
|
|
53
|
+
return acc;
|
|
54
|
+
}, {});
|
|
55
|
+
}, [debouncedSearchInput, attributeDetailsById]);
|
|
56
|
+
const searchFilteredColumnsIds = Object.keys(searchFilteredColumns);
|
|
57
|
+
const _onSearchChanged = (event) => {
|
|
58
|
+
const shouldIgnoreInputChange = event.target.value.length < 3 && searchInput.length < 3;
|
|
59
|
+
if (shouldIgnoreInputChange) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
setSearchInput(() => {
|
|
63
|
+
if (event.target.value.length > 2) {
|
|
64
|
+
return event.target.value;
|
|
65
|
+
}
|
|
66
|
+
return '';
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
const _toggleColumnVisibility = (columnId) => () => {
|
|
70
|
+
const actionType = orderedVisibleColumns.includes(columnId)
|
|
71
|
+
? ViewSettingsActionTypes.REMOVE_FIELD
|
|
72
|
+
: ViewSettingsActionTypes.ADD_FIELD;
|
|
73
|
+
dispatch({ type: actionType, payload: { field: columnId } });
|
|
74
|
+
};
|
|
75
|
+
const _handleDragEnd = ({ active: draggedElement, over: dropTarget }) => {
|
|
76
|
+
const indexFrom = orderedVisibleColumns.indexOf(String(draggedElement.id));
|
|
77
|
+
const indexTo = orderedVisibleColumns.indexOf(String(dropTarget?.id));
|
|
78
|
+
if (!dropTarget || indexFrom === indexTo || indexTo === -1) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
dispatch({ type: ViewSettingsActionTypes.MOVE_FIELD, payload: { indexFrom, indexTo } });
|
|
82
|
+
};
|
|
83
|
+
return (_jsxs("div", { children: [_jsx(KitTypography.Title, { level: "h4", children: t('items_list.columns') }), _jsx(KitInput, { placeholder: String(t('global.search')), onChange: _onSearchChanged, allowClear: true }), _jsxs("div", { children: [_jsx(StyledList, { children: _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: _handleDragEnd, children: _jsxs(SortableContext, { items: orderedVisibleColumns, strategy: verticalListSortingStrategy, children: [_jsx(ColumnItem, { itemId: "", title: t('record_edition.whoAmI'), visible: false, disabled: true }), orderedVisibleColumns
|
|
84
|
+
.filter(columnId => searchFilteredColumnsIds.includes(columnId))
|
|
85
|
+
.map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, title: attributeDetailsById[columnId].label, visible: true, onVisibilityClick: _toggleColumnVisibility(columnId), dragHandler: _jsx(FaGripLines, {}) }, columnId)))] }) }) }), _jsx(StyledDivider, {}), _jsx(StyledList, { children: searchFilteredColumnsIds
|
|
86
|
+
.filter(columnId => !orderedVisibleColumns.includes(columnId))
|
|
87
|
+
.map(columnId => (_jsx(ColumnItem, { itemId: attributeDetailsById[columnId].id, visible: false, title: attributeDetailsById[columnId].label, onVisibilityClick: _toggleColumnVisibility(columnId) }, attributeDetailsById[columnId].id))) })] })] }));
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=DisplayModeTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisplayModeTable.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/DisplayModeTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ interface IActiveSettings {
|
|
|
7
7
|
export interface IEditSettingsContext {
|
|
8
8
|
setActiveSettings: (params: IActiveSettings) => void;
|
|
9
9
|
activeSettings: null | IActiveSettings;
|
|
10
|
+
panelElement: Element | DocumentFragment | null;
|
|
10
11
|
onClose: () => void;
|
|
11
12
|
}
|
|
12
13
|
export declare const EditSettingsContext: import("react").Context<IEditSettingsContext>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditSettingsContext.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/EditSettingsContext.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EditSettingsContext.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/EditSettingsContext.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAY,MAAM,OAAO,CAAC;AAe/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAuB;IACnE,iBAAiB,EAAE,GAAG,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACD,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,GAAG,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
-
|
|
2
|
+
import { IEditSettingsContext } from './EditSettingsContext';
|
|
3
|
+
interface IEditSettingsContextProviderProps {
|
|
4
|
+
panelElement?: IEditSettingsContext['panelElement'];
|
|
5
|
+
}
|
|
6
|
+
export declare const EditSettingsContextProvider: FunctionComponent<IEditSettingsContextProviderProps>;
|
|
7
|
+
export {};
|
|
@@ -4,12 +4,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { EditSettingsContext } from './EditSettingsContext';
|
|
7
|
-
export const EditSettingsContextProvider = ({ children }) => {
|
|
7
|
+
export const EditSettingsContextProvider = ({ children, panelElement }) => {
|
|
8
8
|
const [activeSettings, setActiveSettings] = useState(null);
|
|
9
9
|
const onClose = () => setActiveSettings(null);
|
|
10
10
|
return (_jsx(EditSettingsContext.Provider, { value: {
|
|
11
11
|
activeSettings,
|
|
12
12
|
setActiveSettings,
|
|
13
|
+
panelElement: panelElement ?? null,
|
|
13
14
|
onClose
|
|
14
15
|
}, children: children }));
|
|
15
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditSettingsContextProvider.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/EditSettingsContextProvider.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAoB,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAuB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"EditSettingsContextProvider.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/EditSettingsContextProvider.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAoB,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAuB,MAAM,uBAAuB,CAAC;AAMhF,MAAM,CAAC,MAAM,2BAA2B,GAAyD,CAAC,EAC9F,QAAQ,EACR,YAAY,EACf,EAAE,EAAE;IACD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAyC,IAAI,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO,CACH,KAAC,mBAAmB,CAAC,QAAQ,IACzB,KAAK,EAAE;YACH,cAAc;YACd,iBAAiB;YACjB,YAAY,EAAE,YAAY,IAAI,IAAI;YAClC,OAAO;SACV,YAEA,QAAQ,GACkB,CAClC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { FunctionComponent, ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
interface ISettingItemProps {
|
|
3
3
|
icon: ReactNode;
|
|
4
4
|
title: string;
|
|
5
5
|
onClick: () => void;
|
|
6
6
|
value?: string;
|
|
7
|
-
}
|
|
7
|
+
}
|
|
8
|
+
export declare const SettingItem: FunctionComponent<ISettingItemProps>;
|
|
9
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingItem.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/SettingItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;cAwB3B,WAAW;;;;;;;;;;;;;;;;;;CAkBxB,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingItem.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/SettingItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;cAwB3B,WAAW;;;;;;;;;;;;;;;;;;CAkBxB,CAAC;AASF,MAAM,CAAC,MAAM,WAAW,GAAyC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,CACrG,KAAC,uBAAuB,cACpB,kBAAQ,OAAO,EAAE,OAAO,aACnB,IAAI,EACL,KAAC,aAAa,CAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YAC1D,KAAK,GACW,EACrB,KAAC,WAAW,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YACnD,KAAK,GACI,EACd,KAAC,cAAc,KAAG,IACb,GACa,CAC7B,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
2
|
export type SettingsPanelPages = 'view-configuration' | 'display-mode';
|
|
3
|
-
|
|
3
|
+
interface ISettingsPanelProps {
|
|
4
|
+
library: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const SettingsPanel: FunctionComponent<ISettingsPanelProps>;
|
|
7
|
+
export {};
|
|
@@ -18,7 +18,7 @@ const ContentWrapperStyledDiv = styled.div `
|
|
|
18
18
|
const ConfigurationStyledMenu = styled.menu `
|
|
19
19
|
padding: 0;
|
|
20
20
|
`;
|
|
21
|
-
export const SettingsPanel = () => {
|
|
21
|
+
export const SettingsPanel = ({ library }) => {
|
|
22
22
|
const { t } = useSharedTranslation();
|
|
23
23
|
const { setActiveSettings, activeSettings } = useEditSettings();
|
|
24
24
|
const [currentPage, setCurrentPage] = useState('view-configuration');
|
|
@@ -48,6 +48,6 @@ export const SettingsPanel = () => {
|
|
|
48
48
|
/* TODO: not implemented yet */
|
|
49
49
|
} }), _jsx(SettingItem, { icon: _jsx(FaSortAlphaDown, {}), title: t('explorer.sort'), onClick: () => {
|
|
50
50
|
/* TODO: not implemented yet */
|
|
51
|
-
} })] })] })), currentPage === 'display-mode' && _jsx(DisplayMode, {})] }));
|
|
51
|
+
} })] })] })), currentPage === 'display-mode' && _jsx(DisplayMode, { library: library })] }));
|
|
52
52
|
};
|
|
53
53
|
//# sourceMappingURL=SettingsPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/SettingsPanel.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAoB,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAIlD,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIzC,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAA;;CAE1C,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsPanel.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/SettingsPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Dispatch } from 'react';
|
|
2
|
+
import { IViewSettingsState, IViewSettingsAction } from './viewSettingsReducer';
|
|
3
|
+
export declare const viewSettingsInitialState: IViewSettingsState;
|
|
4
|
+
export declare const ViewSettingsContext: import("react").Context<{
|
|
5
|
+
view: IViewSettingsState;
|
|
6
|
+
dispatch: Dispatch<IViewSettingsAction>;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 { createContext } from 'react';
|
|
5
|
+
export const viewSettingsInitialState = {
|
|
6
|
+
displayMode: 'table',
|
|
7
|
+
fields: []
|
|
8
|
+
};
|
|
9
|
+
export const ViewSettingsContext = createContext({
|
|
10
|
+
view: null,
|
|
11
|
+
dispatch: () => {
|
|
12
|
+
throw new Error('useViewSettingsContext must be used inside a <ViewSettingsContext.Provider />');
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=ViewSetingsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewSetingsContext.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/ViewSetingsContext.tsx"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAW,MAAM,OAAO,CAAC;AAG9C,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IACxD,WAAW,EAAE,OAAO;IACpB,MAAM,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAG7C;IACC,IAAI,EAAE,IAAW;IACjB,QAAQ,EAAE,GAAG,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACrG,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AttributeDetailsFragment } from '../../../_gqlTypes';
|
|
2
|
+
interface IColumnsById {
|
|
3
|
+
[attributeId: string]: AttributeDetailsFragment;
|
|
4
|
+
}
|
|
5
|
+
export declare const useGetLibraryColumns: (library: string) => {
|
|
6
|
+
attributeDetailsById: IColumnsById;
|
|
7
|
+
error: import("@apollo/client").ApolloError;
|
|
8
|
+
loading: boolean;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
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 { useGetAttributesByLibQuery } from '../../../_gqlTypes';
|
|
5
|
+
import { useLang } from '../../../hooks';
|
|
6
|
+
import { localizedTranslation } from '@leav/utils';
|
|
7
|
+
const _mapping = (data, availableLangs) => data?.attributes?.list.reduce((acc, attribute) => {
|
|
8
|
+
acc[attribute.id] = {
|
|
9
|
+
...attribute,
|
|
10
|
+
label: localizedTranslation(attribute.label, availableLangs)
|
|
11
|
+
};
|
|
12
|
+
return acc;
|
|
13
|
+
}, {}) ?? {};
|
|
14
|
+
export const useGetLibraryColumns = (library) => {
|
|
15
|
+
const { lang: availableLangs } = useLang();
|
|
16
|
+
const { data, error, loading } = useGetAttributesByLibQuery({
|
|
17
|
+
variables: {
|
|
18
|
+
library
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const attributeDetailsById = _mapping(data, availableLangs);
|
|
22
|
+
return { attributeDetailsById, error, loading };
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useGetLibraryColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetLibraryColumns.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/useGetLibraryColumns.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAoD,0BAA0B,EAAC,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAMjD,MAAM,QAAQ,GAAG,CAAC,IAAyC,EAAE,cAAwB,EAAgB,EAAE,CACnG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;IAC7C,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG;QAChB,GAAG,SAAS;QACZ,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC;KAC/D,CAAC;IACF,OAAO,GAAG,CAAC;AACf,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAE,EAAE;IACpD,MAAM,EAAC,IAAI,EAAE,cAAc,EAAC,GAAG,OAAO,EAAE,CAAC;IACzC,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,0BAA0B,CAAC;QACtD,SAAS,EAAE;YACP,OAAO;SACV;KACJ,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAE5D,OAAO,EAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useOpenSettings: () => JSX.Element;
|
|
1
|
+
export declare const useOpenSettings: (library: string) => JSX.Element;
|
|
@@ -7,11 +7,11 @@ import { FaSlidersH } from 'react-icons/fa';
|
|
|
7
7
|
import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
|
|
8
8
|
import { SettingsPanel } from './SettingsPanel';
|
|
9
9
|
import { useEditSettings } from './useEditSettings';
|
|
10
|
-
export const useOpenSettings = () => {
|
|
10
|
+
export const useOpenSettings = (library) => {
|
|
11
11
|
const { setActiveSettings } = useEditSettings();
|
|
12
12
|
const { t } = useSharedTranslation();
|
|
13
13
|
const _openSettingsPanel = () => setActiveSettings({
|
|
14
|
-
content: _jsx(SettingsPanel, {}),
|
|
14
|
+
content: _jsx(SettingsPanel, { library: library }),
|
|
15
15
|
title: t('explorer.settings')
|
|
16
16
|
});
|
|
17
17
|
return (_jsx(KitButton, { type: "tertiary", color: "neutral", icon: _jsx(FaSlidersH, {}), onClick: _openSettingsPanel, title: String(t('explorer.settings')) /* TODO: avoid transform null to 'null' */ }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenSettings.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/useOpenSettings.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"useOpenSettings.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/useOpenSettings.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/C,MAAM,EAAC,iBAAiB,EAAC,GAAG,eAAe,EAAE,CAAC;IAC9C,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC5B,iBAAiB,CAAC;QACd,OAAO,EAAE,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,GAAI;QAC5C,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC;KAChC,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,SAAS,IACN,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,KAAC,UAAU,KAAG,EACpB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,0CAA0C,GAClF,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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 { useContext } from 'react';
|
|
5
|
+
import { ViewSettingsContext } from './ViewSetingsContext';
|
|
6
|
+
export const useViewSettingsContext = () => useContext(ViewSettingsContext);
|
|
7
|
+
//# sourceMappingURL=useViewSettingsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useViewSettingsContext.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/useViewSettingsContext.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AACjC,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type DisplayMode = 'table' | 'list' | 'timeline' | 'mosaic';
|
|
2
|
+
export declare const ViewSettingsActionTypes: {
|
|
3
|
+
readonly ADD_FIELD: "ADD_FIELD";
|
|
4
|
+
readonly REMOVE_FIELD: "REMOVE_FIELD";
|
|
5
|
+
readonly MOVE_FIELD: "MOVE_FIELD";
|
|
6
|
+
readonly RESET_FIELDS: "RESET_FIELDS";
|
|
7
|
+
readonly CHANGE_DISPLAY_MODE: "CHANGE_DISPLAY_MODE";
|
|
8
|
+
};
|
|
9
|
+
export interface IViewSettingsState {
|
|
10
|
+
displayMode: DisplayMode;
|
|
11
|
+
fields: string[];
|
|
12
|
+
}
|
|
13
|
+
interface IViewSettingsActionAddField {
|
|
14
|
+
type: typeof ViewSettingsActionTypes.ADD_FIELD;
|
|
15
|
+
payload: {
|
|
16
|
+
field: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
interface IViewSettingsActionRemoveField {
|
|
20
|
+
type: typeof ViewSettingsActionTypes.REMOVE_FIELD;
|
|
21
|
+
payload: {
|
|
22
|
+
field: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
interface IViewSettingsActionMoveField {
|
|
26
|
+
type: typeof ViewSettingsActionTypes.MOVE_FIELD;
|
|
27
|
+
payload: {
|
|
28
|
+
indexFrom: number;
|
|
29
|
+
indexTo: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
interface IViewSettingsActionChangeDisplayMode {
|
|
33
|
+
type: typeof ViewSettingsActionTypes.CHANGE_DISPLAY_MODE;
|
|
34
|
+
payload: {
|
|
35
|
+
displayMode: DisplayMode;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
interface IViewSettingsActionResetFields {
|
|
39
|
+
type: typeof ViewSettingsActionTypes.RESET_FIELDS;
|
|
40
|
+
}
|
|
41
|
+
export type IViewSettingsAction = IViewSettingsActionResetFields | IViewSettingsActionAddField | IViewSettingsActionRemoveField | IViewSettingsActionMoveField | IViewSettingsActionChangeDisplayMode;
|
|
42
|
+
declare const ViewSettingsReducer: (state: IViewSettingsState, action: IViewSettingsAction) => IViewSettingsState;
|
|
43
|
+
export default ViewSettingsReducer;
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
export const ViewSettingsActionTypes = {
|
|
5
|
+
ADD_FIELD: 'ADD_FIELD',
|
|
6
|
+
REMOVE_FIELD: 'REMOVE_FIELD',
|
|
7
|
+
MOVE_FIELD: 'MOVE_FIELD',
|
|
8
|
+
RESET_FIELDS: 'RESET_FIELDS',
|
|
9
|
+
CHANGE_DISPLAY_MODE: 'CHANGE_DISPLAY_MODE'
|
|
10
|
+
};
|
|
11
|
+
const addField = (state, payload) => ({
|
|
12
|
+
...state,
|
|
13
|
+
fields: [...state.fields, payload.field]
|
|
14
|
+
});
|
|
15
|
+
const removeField = (state, payload) => ({
|
|
16
|
+
...state,
|
|
17
|
+
fields: state.fields.filter(field => field !== payload.field)
|
|
18
|
+
});
|
|
19
|
+
const moveField = (state, payload) => {
|
|
20
|
+
const newFields = [...state.fields];
|
|
21
|
+
const [fieldToMove] = newFields.splice(payload.indexFrom, 1);
|
|
22
|
+
newFields.splice(payload.indexTo, 0, fieldToMove);
|
|
23
|
+
return {
|
|
24
|
+
...state,
|
|
25
|
+
fields: newFields
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
const resetFields = state => ({
|
|
29
|
+
...state,
|
|
30
|
+
fields: []
|
|
31
|
+
});
|
|
32
|
+
const changeDisplayMode = (state, payload) => ({
|
|
33
|
+
...state,
|
|
34
|
+
displayMode: payload.displayMode
|
|
35
|
+
});
|
|
36
|
+
const ViewSettingsReducer = (state, action) => {
|
|
37
|
+
switch (action.type) {
|
|
38
|
+
case ViewSettingsActionTypes.ADD_FIELD: {
|
|
39
|
+
return addField(state, action.payload);
|
|
40
|
+
}
|
|
41
|
+
case ViewSettingsActionTypes.REMOVE_FIELD: {
|
|
42
|
+
return removeField(state, action.payload);
|
|
43
|
+
}
|
|
44
|
+
case ViewSettingsActionTypes.MOVE_FIELD: {
|
|
45
|
+
return moveField(state, action.payload);
|
|
46
|
+
}
|
|
47
|
+
case ViewSettingsActionTypes.RESET_FIELDS: {
|
|
48
|
+
return resetFields(state);
|
|
49
|
+
}
|
|
50
|
+
case ViewSettingsActionTypes.CHANGE_DISPLAY_MODE: {
|
|
51
|
+
return changeDisplayMode(state, action.payload);
|
|
52
|
+
}
|
|
53
|
+
default:
|
|
54
|
+
return state;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
export default ViewSettingsReducer;
|
|
58
|
+
//# sourceMappingURL=viewSettingsReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewSettingsReducer.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/viewSettingsReducer.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AAItE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;CACpC,CAAC;AAsCX,MAAM,QAAQ,GAAoD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACnF,GAAG,KAAK;IACR,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,WAAW,GAAuD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACzF,GAAG,KAAK;IACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;CAChE,CAAC,CAAC;AAEH,MAAM,SAAS,GAAqD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACnF,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7D,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAClD,OAAO;QACH,GAAG,KAAK;QACR,MAAM,EAAE,SAAS;KACpB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAY,KAAK,CAAC,EAAE,CAAC,CAAC;IACnC,GAAG,KAAK;IACR,MAAM,EAAE,EAAE;CACb,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAA6D,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACrG,GAAG,KAAK;IACR,WAAW,EAAE,OAAO,CAAC,WAAW;CACnC,CAAC,CAAC;AASH,MAAM,mBAAmB,GAAG,CAAC,KAAyB,EAAE,MAA2B,EAAsB,EAAE;IACvG,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;YACrC,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,OAAO,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,uBAAuB,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC/C,OAAO,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionHook } from './_types';
|
|
1
|
+
import { ActionHook, IPrimaryAction } from './_types';
|
|
2
2
|
/**
|
|
3
3
|
* Hook used to get the action for `<DataView />` component.
|
|
4
4
|
*
|
|
@@ -10,10 +10,10 @@ import { ActionHook } 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
|
|
13
|
+
export declare const useCreateAction: ({ isEnabled, library, refetch }: ActionHook<{
|
|
14
14
|
library: string;
|
|
15
15
|
refetch: () => void;
|
|
16
16
|
}>) => {
|
|
17
|
-
|
|
17
|
+
createAction: IPrimaryAction;
|
|
18
18
|
createModal: JSX.Element;
|
|
19
19
|
};
|
|
@@ -3,7 +3,6 @@ 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 { useState } from 'react';
|
|
6
|
-
import { KitButton } from 'aristid-ds';
|
|
7
6
|
import { FaPlus } from 'react-icons/fa';
|
|
8
7
|
import { EditRecordModal } from '../../components';
|
|
9
8
|
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
@@ -18,19 +17,24 @@ import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
|
18
17
|
* @param library - the library's id to add new item
|
|
19
18
|
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
20
19
|
*/
|
|
21
|
-
export const
|
|
20
|
+
export const useCreateAction = ({ isEnabled, library, refetch }) => {
|
|
22
21
|
const { t } = useSharedTranslation();
|
|
23
22
|
const [isRecordCreationVisible, setRecordCreationVisible] = useState(false);
|
|
23
|
+
const createAction = {
|
|
24
|
+
callback: () => {
|
|
25
|
+
setRecordCreationVisible(true);
|
|
26
|
+
},
|
|
27
|
+
icon: _jsx(FaPlus, {}),
|
|
28
|
+
label: t('explorer.create-one')
|
|
29
|
+
};
|
|
24
30
|
return {
|
|
25
|
-
|
|
26
|
-
setRecordCreationVisible(true);
|
|
27
|
-
}, children: t('explorer.create-one') })) : null,
|
|
31
|
+
createAction: isEnabled ? createAction : null,
|
|
28
32
|
createModal: isRecordCreationVisible ? (_jsx(EditRecordModal, { open: true, record: null, library: library, onClose: () => {
|
|
29
33
|
setRecordCreationVisible(false);
|
|
30
|
-
}, onCreate:
|
|
34
|
+
}, onCreate: () => {
|
|
31
35
|
refetch();
|
|
32
36
|
setRecordCreationVisible(false);
|
|
33
37
|
}, submitButtons: ['create'] })) : null
|
|
34
38
|
};
|
|
35
39
|
};
|
|
36
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=useCreateAction.js.map
|
|
@@ -0,0 +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;AAGpE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC5B,SAAS,EACT,OAAO,EACP,OAAO,EAIT,EAAE,EAAE;IACF,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5E,MAAM,YAAY,GAAmB;QACjC,QAAQ,EAAE,GAAG,EAAE;YACX,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,EAAE,KAAC,MAAM,KAAG;QAChB,KAAK,EAAE,CAAC,CAAC,qBAAqB,CAAC;KAClC,CAAC;IAEF,OAAO;QACH,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QAC7C,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC,CACnC,KAAC,eAAe,IACZ,IAAI,QACJ,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,GAAG,EAAE;gBACV,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;gBACX,OAAO,EAAE,CAAC;gBACV,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,EACD,aAAa,EAAE,CAAC,QAAQ,CAAC,GAC3B,CACL,CAAC,CAAC,CAAC,IAAI;KACX,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { FaPen } from 'react-icons/fa';
|
|
7
7
|
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
8
|
-
import { EditRecordModal } from '../../components';
|
|
8
|
+
import { EditRecordModal } from '../../components/RecordEdition/EditRecordModal';
|
|
9
9
|
import { RecordFilterCondition, useExplorerLazyQuery } from '../../_gqlTypes';
|
|
10
10
|
/**
|
|
11
11
|
* Hook used to get the action for `<DataView />` component.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAction.js","sourceRoot":"","sources":["../../../src/components/Explorer/useEditAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"useEditAction.js","sourceRoot":"","sources":["../../../src/components/Explorer/useEditAction.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,eAAe,EAAC,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAG1E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,SAAS,EAAa,EAAE,EAAE;IACrD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,EAAC,WAAW,EAAE,cAAc,EAAC,CAAC,CAAC;IAE1E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAgB;QAC7B,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC;QAC9B,IAAI,EAAE,KAAC,KAAK,KAAG;QACf,QAAQ,EAAE,IAAI,CAAC,EAAE;YACb,cAAc,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;KACJ,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,IAAe,EAAE,EAAE;QAC9C,WAAW,CAAC;YACR,SAAS,EAAE;gBACP,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,CAAC,IAAI,CAAC;gBACpB,OAAO,EAAE;oBACL;wBACI,SAAS,EAAE,qBAAqB,CAAC,KAAK;wBACtC,KAAK,EAAE,IAAI;wBACX,KAAK,EAAE,IAAI,CAAC,MAAM;qBACrB;iBACJ;aACJ;SACJ,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACH,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QAC1C,SAAS,EACL,SAAS,IAAI,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,CAChC,KAAC,eAAe,IACZ,IAAI,QACJ,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,OAAO,EAAE,WAAW,CAAC,SAAS,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,GACnD,CACL,CAAC,CAAC,CAAC,IAAI;KACf,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IPrimaryAction } from './_types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook used to get the primary actions for `<DataView />` component.
|
|
4
|
+
*
|
|
5
|
+
* Based on default actions and custom actions, it returns a primary with first action as "main" action and the others
|
|
6
|
+
* in the dropdown accessible via a split button.
|
|
7
|
+
*
|
|
8
|
+
* When the creation is done, we refresh all data even if the new record will not be visible due to some filters.
|
|
9
|
+
*
|
|
10
|
+
* It returns also two parts : one for the call action button - one for displayed the modal required by the action.
|
|
11
|
+
* It also returns the modal required for default actions (like create record).
|
|
12
|
+
*
|
|
13
|
+
* TODO: change params to match to signature
|
|
14
|
+
* @param isEnabled - whether the action is present
|
|
15
|
+
* @param library - the library's id to add new item
|
|
16
|
+
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
17
|
+
*/
|
|
18
|
+
export declare const usePrimaryActionsButton: (actions: IPrimaryAction[]) => {
|
|
19
|
+
primaryButton: JSX.Element;
|
|
20
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { KitButton, KitSpace } from 'aristid-ds';
|
|
3
|
+
/**
|
|
4
|
+
* Hook used to get the primary actions for `<DataView />` component.
|
|
5
|
+
*
|
|
6
|
+
* Based on default actions and custom actions, it returns a primary with first action as "main" action and the others
|
|
7
|
+
* in the dropdown accessible via a split button.
|
|
8
|
+
*
|
|
9
|
+
* When the creation is done, we refresh all data even if the new record will not be visible due to some filters.
|
|
10
|
+
*
|
|
11
|
+
* It returns also two parts : one for the call action button - one for displayed the modal required by the action.
|
|
12
|
+
* It also returns the modal required for default actions (like create record).
|
|
13
|
+
*
|
|
14
|
+
* TODO: change params to match to signature
|
|
15
|
+
* @param isEnabled - whether the action is present
|
|
16
|
+
* @param library - the library's id to add new item
|
|
17
|
+
* @param refetch - method to call to refresh the list. New item will be visible if it matches filters and sorts
|
|
18
|
+
*/
|
|
19
|
+
export const usePrimaryActionsButton = (actions) => {
|
|
20
|
+
const [mainAction, ...dropdownActions] = actions;
|
|
21
|
+
return {
|
|
22
|
+
primaryButton: mainAction ? (_jsx(KitButton, { type: "primary", icon: mainAction.icon, onClick: mainAction.callback, items: dropdownActions.map((action, index) => ({
|
|
23
|
+
key: index,
|
|
24
|
+
label: (_jsxs(KitSpace, { size: 8, children: [action.icon, " ", action.label] })),
|
|
25
|
+
onClick: action.callback
|
|
26
|
+
})), children: mainAction.label })) : null
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=usePrimaryActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrimaryActions.js","sourceRoot":"","sources":["../../../src/components/Explorer/usePrimaryActions.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAyB,EAAE,EAAE;IACjE,MAAM,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,GAAG,OAAO,CAAC;IAEjD,OAAO;QACH,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CACxB,KAAC,SAAS,IACN,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,OAAO,EAAE,UAAU,CAAC,QAAQ,EAC5B,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3C,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE,CACH,MAAC,QAAQ,IAAC,IAAI,EAAE,CAAC,aACZ,MAAM,CAAC,IAAI,OAAG,MAAM,CAAC,KAAK,IACpB,CACd;gBACD,OAAO,EAAE,MAAM,CAAC,QAAQ;aAC3B,CAAC,CAAC,YAEF,UAAU,CAAC,KAAK,GACT,CACf,CAAC,CAAC,CAAC,IAAI;KACX,CAAC;AACN,CAAC,CAAC"}
|