@leav/ui 0.3.6-dd8d51c → 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/getRecordPropertiesQuery.js +2 -0
- package/dist/_queries/records/getRecordPropertiesQuery.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 +30 -9
- 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 +11 -0
- package/dist/components/Explorer/_queries/useExplorerData.js +42 -0
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -0
- package/dist/components/Explorer/{types.d.ts → _types.d.ts} +11 -0
- package/dist/components/Explorer/_types.js +2 -0
- package/dist/components/Explorer/_types.js.map +1 -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 +6 -0
- package/dist/components/Explorer/edit-settings/DisplayMode.js +34 -0
- package/dist/components/Explorer/edit-settings/DisplayMode.js.map +1 -0
- 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 +14 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContext.js +15 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContext.js.map +1 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContextProvider.d.ts +7 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContextProvider.js +17 -0
- package/dist/components/Explorer/edit-settings/EditSettingsContextProvider.js.map +1 -0
- package/dist/components/Explorer/edit-settings/SettingItem.d.ts +9 -0
- package/dist/components/Explorer/edit-settings/SettingItem.js +55 -0
- package/dist/components/Explorer/edit-settings/SettingItem.js.map +1 -0
- package/dist/components/Explorer/edit-settings/SettingsPanel.d.ts +7 -0
- package/dist/components/Explorer/edit-settings/SettingsPanel.js +53 -0
- package/dist/components/Explorer/edit-settings/SettingsPanel.js.map +1 -0
- package/dist/components/Explorer/edit-settings/SidePanel.d.ts +2 -0
- package/dist/components/Explorer/edit-settings/SidePanel.js +19 -0
- package/dist/components/Explorer/edit-settings/SidePanel.js.map +1 -0
- 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/useEditSettings.d.ts +1 -0
- package/dist/components/Explorer/edit-settings/useEditSettings.js +7 -0
- package/dist/components/Explorer/edit-settings/useEditSettings.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 -0
- package/dist/components/Explorer/edit-settings/useOpenSettings.js +19 -0
- package/dist/components/Explorer/edit-settings/useOpenSettings.js.map +1 -0
- 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/index.d.ts +11 -1
- package/dist/components/Explorer/index.js +8 -1
- package/dist/components/Explorer/index.js.map +1 -1
- 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/useDeactivateAction.d.ts +1 -1
- package/dist/components/Explorer/useDeactivateAction.js +1 -1
- package/dist/components/Explorer/useDeactivateAction.js.map +1 -1
- package/dist/components/Explorer/useEditAction.d.ts +1 -1
- package/dist/components/Explorer/useEditAction.js +2 -2
- 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/_types.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/hooks/useRunActionsListAndFormatOnValue.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/hooks/useRunActionsListAndFormatOnValue.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/reducers/standardFieldReducer/standardFieldReducer.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/reducers/standardFieldReducer/standardFieldReducer.js +3 -9
- package/dist/components/RecordEdition/EditRecordContent/reducers/standardFieldReducer/standardFieldReducer.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputEncryptedWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueDisplayHandler.d.ts +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueDisplayHandler.js +39 -29
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueDisplayHandler.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueRead/StandardFieldValueRead.js +5 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/StandardFieldValueDisplayHandler/StandardFieldValueRead/StandardFieldValueRead.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/MonoValueSelect.d.ts +3 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/MonoValueSelect.js +145 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/MonoValueSelect.js.map +1 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/_types.d.ts +17 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/_types.js +2 -0
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/_types.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/locales/en/shared.json +21 -3
- package/dist/locales/fr/shared.json +21 -3
- package/package.json +4 -2
- package/dist/components/Explorer/types.js +0 -2
- package/dist/components/Explorer/types.js.map +0 -1
- package/dist/components/Explorer/useCreateMainAction.js.map +0 -1
- package/dist/components/Explorer/useExplorerData.d.ts +0 -11
- package/dist/components/Explorer/useExplorerData.js +0 -23
- package/dist/components/Explorer/useExplorerData.js.map +0 -1
|
@@ -30,12 +30,14 @@ export const getRecordFormQuery = gql `
|
|
|
30
30
|
... on StandardStringValuesListConf {
|
|
31
31
|
enable
|
|
32
32
|
allowFreeEntry
|
|
33
|
+
allowListUpdate
|
|
33
34
|
values
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
... on StandardDateRangeValuesListConf {
|
|
37
38
|
enable
|
|
38
39
|
allowFreeEntry
|
|
40
|
+
allowListUpdate
|
|
39
41
|
dateRangeValues: values {
|
|
40
42
|
from
|
|
41
43
|
to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRecordFormQuery.js","sourceRoot":"","sources":["../../../src/_queries/records/getRecordFormQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;MAC/B,oBAAoB;MACpB,2BAA2B
|
|
1
|
+
{"version":3,"file":"getRecordFormQuery.js","sourceRoot":"","sources":["../../../src/_queries/records/getRecordFormQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;MAC/B,oBAAoB;MACpB,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDhC,CAAC"}
|
|
@@ -14,6 +14,8 @@ const _getFieldLinkedLibraryPart = (field) => field.linkedLibrary
|
|
|
14
14
|
const _getFieldQueryPart = (field) => `
|
|
15
15
|
${field.attributeId}: property(attribute: "${field.attributeId}") {
|
|
16
16
|
id_value
|
|
17
|
+
isInherited
|
|
18
|
+
isCalculated
|
|
17
19
|
created_at
|
|
18
20
|
modified_at
|
|
19
21
|
version {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRecordPropertiesQuery.js","sourceRoot":"","sources":["../../../src/_queries/records/getRecordPropertiesQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,6BAA6B,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,EAGH,qBAAqB,EAIxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AACxC,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAC,4BAA4B,EAAC,MAAM,iCAAiC,CAAC;AAkG7E,MAAM,0BAA0B,GAAG,CAAC,KAA6B,EAAU,EAAE,CACzE,KAAK,CAAC,aAAa;IACf,CAAC,CAAC,UAAU,6BAA6B,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;cAC3D,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;UAC3E;IACF,CAAC,CAAC,EAAE,CAAC;AAEb,MAAM,kBAAkB,GAAG,CAAC,KAA6B,EAAU,EAAE,CAAC;MAChE,KAAK,CAAC,WAAW,0BAA0B,KAAK,CAAC,WAAW
|
|
1
|
+
{"version":3,"file":"getRecordPropertiesQuery.js","sourceRoot":"","sources":["../../../src/_queries/records/getRecordPropertiesQuery.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,6BAA6B,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,EAGH,qBAAqB,EAIxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AACxC,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAC,4BAA4B,EAAC,MAAM,iCAAiC,CAAC;AAkG7E,MAAM,0BAA0B,GAAG,CAAC,KAA6B,EAAU,EAAE,CACzE,KAAK,CAAC,aAAa;IACf,CAAC,CAAC,UAAU,6BAA6B,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;cAC3D,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;UAC3E;IACF,CAAC,CAAC,EAAE,CAAC;AAEb,MAAM,kBAAkB,GAAG,CAAC,KAA6B,EAAU,EAAE,CAAC;MAChE,KAAK,CAAC,WAAW,0BAA0B,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;kBAyBhD,0BAA0B,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;CAmBlD,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAgC,EAAE,EAAE,CAAC,YAAY,CAAA;UAChF,sBAAsB;UACtB,4BAA4B;;;;;qDAKe,qBAAqB,CAAC,KAAK;;;;;;;;;;;sBAW1D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;;;;KAI/F,CAAC"}
|
|
@@ -65,6 +65,7 @@ export const recordFormAttributeFragment = gql `
|
|
|
65
65
|
linkValuesList: values_list {
|
|
66
66
|
enable
|
|
67
67
|
allowFreeEntry
|
|
68
|
+
allowListUpdate
|
|
68
69
|
values {
|
|
69
70
|
...RecordIdentity
|
|
70
71
|
}
|
|
@@ -79,6 +80,7 @@ export const recordFormAttributeFragment = gql `
|
|
|
79
80
|
treeValuesList: values_list {
|
|
80
81
|
enable
|
|
81
82
|
allowFreeEntry
|
|
83
|
+
allowListUpdate
|
|
82
84
|
values {
|
|
83
85
|
id
|
|
84
86
|
record {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordFormAttributeFragment.js","sourceRoot":"","sources":["../../../src/_queries/records/recordFormAttributeFragment.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"recordFormAttributeFragment.js","sourceRoot":"","sources":["../../../src/_queries/records/recordFormAttributeFragment.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AAEnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6F7C,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
-
import { IItemAction, IItemData } from './
|
|
2
|
+
import { IExplorerData, IItemAction, IItemData } from './_types';
|
|
3
3
|
interface IDataViewProps {
|
|
4
4
|
dataGroupedFilteredSorted: IItemData[];
|
|
5
5
|
itemActions: IItemAction[];
|
|
6
|
+
columnsLabels: IExplorerData['attributes'];
|
|
6
7
|
attributesToDisplay: string[];
|
|
7
8
|
}
|
|
8
9
|
export declare const DataView: FunctionComponent<IDataViewProps>;
|
|
@@ -6,7 +6,7 @@ import { cloneElement } from 'react';
|
|
|
6
6
|
import { KitButton, KitDropDown, KitIdCard, KitSpace, KitTable } from 'aristid-ds';
|
|
7
7
|
import { FaEllipsisH } from 'react-icons/fa';
|
|
8
8
|
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
9
|
-
import {
|
|
9
|
+
import { TableCell } from './TableCell';
|
|
10
10
|
const USELESS = '';
|
|
11
11
|
const _getIdCard = ({ id, label, library, preview, subLabel }) => {
|
|
12
12
|
const avatarProps = { label: label ?? undefined };
|
|
@@ -15,11 +15,11 @@ const _getIdCard = ({ id, label, library, preview, subLabel }) => {
|
|
|
15
15
|
}
|
|
16
16
|
return _jsx(KitIdCard, { avatarProps: avatarProps, title: label ?? id, description: subLabel ?? library.id });
|
|
17
17
|
};
|
|
18
|
-
export const DataView = ({ dataGroupedFilteredSorted, attributesToDisplay, itemActions }) => {
|
|
18
|
+
export const DataView = ({ dataGroupedFilteredSorted, attributesToDisplay, columnsLabels, itemActions }) => {
|
|
19
19
|
const { t } = useSharedTranslation();
|
|
20
20
|
const _getActionButtons = (actions) => {
|
|
21
21
|
const isLessThanFourActions = actions.length < 4;
|
|
22
|
-
return isLessThanFourActions ? (_jsx(KitSpace, { children: actions.map(({ label, icon, isDanger, callback }) => (_jsx(KitButton, { title: label, icon: icon, onClick: callback, danger: isDanger, children: label }))) })) : (_jsxs(_Fragment, { children: [_jsx(KitButton, { type: "tertiary", icon: actions[0].icon, onClick: actions[0].callback, title: actions[0].label, danger: actions[0].isDanger }), _jsx(KitButton, { type: "tertiary", icon: actions[1].icon, onClick: actions[1].callback, title: actions[1].label, danger: actions[1].isDanger }), _jsx(KitDropDown, { menu: {
|
|
22
|
+
return isLessThanFourActions ? (_jsx(KitSpace, { children: actions.map(({ label, icon, isDanger, callback }, index) => (_jsx(KitButton, { title: label, icon: icon, onClick: callback, danger: isDanger, children: label }, index))) })) : (_jsxs(_Fragment, { children: [_jsx(KitButton, { type: "tertiary", icon: actions[0].icon, onClick: actions[0].callback, title: actions[0].label, danger: actions[0].isDanger }), _jsx(KitButton, { type: "tertiary", icon: actions[1].icon, onClick: actions[1].callback, title: actions[1].label, danger: actions[1].isDanger }), _jsx(KitDropDown, { menu: {
|
|
23
23
|
items: actions.slice(2).map(({ callback, icon, label, isDanger }) => ({
|
|
24
24
|
key: label,
|
|
25
25
|
title: label,
|
|
@@ -30,31 +30,12 @@ export const DataView = ({ dataGroupedFilteredSorted, attributesToDisplay, itemA
|
|
|
30
30
|
}))
|
|
31
31
|
}, children: _jsx(KitButton, { title: t('explorer.more-actions') ?? undefined, type: "tertiary", icon: _jsx(FaEllipsisH, {}) }) })] }));
|
|
32
32
|
};
|
|
33
|
-
const
|
|
34
|
-
// TODO: handle inherited and calculated values
|
|
35
|
-
const isLinkValue = (v) => [AttributeType.simple_link, AttributeType.advanced_link].includes(v.attribute.type);
|
|
36
|
-
const isTreeValue = (v) => [AttributeType.tree].includes(v.attribute.type);
|
|
37
|
-
const isStandardValue = (v) => [AttributeType.simple, AttributeType.advanced].includes(v.attribute.type);
|
|
38
|
-
const defaultValue = '';
|
|
39
|
-
return propertiesById[attributeName]
|
|
40
|
-
.map(value => {
|
|
41
|
-
if (isStandardValue(value)) {
|
|
42
|
-
return value.valuePayload;
|
|
43
|
-
}
|
|
44
|
-
if (isTreeValue(value)) {
|
|
45
|
-
return value.treePayload?.record.id ?? defaultValue;
|
|
46
|
-
}
|
|
47
|
-
if (isLinkValue(value)) {
|
|
48
|
-
return value.linkPayload?.id ?? defaultValue;
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
.join(', ');
|
|
52
|
-
};
|
|
33
|
+
const _getColumnName = (attributeName) => columnsLabels?.[attributeName] ?? attributeName;
|
|
53
34
|
const columns = attributesToDisplay
|
|
54
35
|
.map(attributeName => ({
|
|
55
|
-
title: attributeName,
|
|
36
|
+
title: attributeName === 'whoAmI' ? '' : _getColumnName(attributeName),
|
|
56
37
|
dataIndex: USELESS,
|
|
57
|
-
render: (_, { whoAmI, propertiesById }) => attributeName === 'whoAmI' ? _getIdCard(whoAmI) :
|
|
38
|
+
render: (_, { whoAmI, propertiesById }) => attributeName === 'whoAmI' ? _getIdCard(whoAmI) : _jsx(TableCell, { values: propertiesById[attributeName] })
|
|
58
39
|
}))
|
|
59
40
|
.concat(itemActions.length === 0
|
|
60
41
|
? []
|
|
@@ -69,6 +50,7 @@ export const DataView = ({ dataGroupedFilteredSorted, attributesToDisplay, itemA
|
|
|
69
50
|
})))
|
|
70
51
|
}
|
|
71
52
|
]);
|
|
72
|
-
|
|
53
|
+
//TODO: handle columns width based on attribute type/format
|
|
54
|
+
return _jsx(KitTable, { columns: columns, pagination: false, dataSource: dataGroupedFilteredSorted, tableLayout: "fixed" });
|
|
73
55
|
};
|
|
74
56
|
//# sourceMappingURL=DataView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataView.js","sourceRoot":"","sources":["../../../src/components/Explorer/DataView.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,YAAY,EAA+B,MAAM,OAAO,CAAC;AACjE,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAGjF,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"DataView.js","sourceRoot":"","sources":["../../../src/components/Explorer/DataView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
|
-
import { IItemAction } from './
|
|
2
|
+
import { IItemAction, IPrimaryAction } from './_types';
|
|
3
3
|
interface IExplorerProps {
|
|
4
4
|
library: string;
|
|
5
|
-
itemActions
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
itemActions?: IItemAction[];
|
|
6
|
+
primaryActions?: IPrimaryAction[];
|
|
7
|
+
title?: string;
|
|
8
|
+
defaultActionsForItem?: Array<'edit' | 'deactivate'>;
|
|
9
|
+
defaultPrimaryActions?: Array<'create'>;
|
|
8
10
|
}
|
|
9
11
|
export declare const Explorer: FunctionComponent<IExplorerProps>;
|
|
10
12
|
export {};
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
|
|
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 { useReducer } from 'react';
|
|
6
|
+
import { KitSpace, KitTypography } from 'aristid-ds';
|
|
3
7
|
import styled from 'styled-components';
|
|
4
8
|
import { DataView } from './DataView';
|
|
5
|
-
import {
|
|
9
|
+
import { useOpenSettings } from './edit-settings/useOpenSettings';
|
|
10
|
+
import { useExplorerData } from './_queries/useExplorerData';
|
|
6
11
|
import { useDeactivateAction } from './useDeactivateAction';
|
|
7
12
|
import { useEditAction } from './useEditAction';
|
|
8
|
-
import {
|
|
13
|
+
import { usePrimaryActionsButton as usePrimaryActionsButton } from './usePrimaryActions';
|
|
14
|
+
import { ExplorerTitle } from './ExplorerTitle';
|
|
15
|
+
import { useCreateAction } from './useCreateAction';
|
|
16
|
+
import { createPortal } from 'react-dom';
|
|
17
|
+
import { SidePanel } from './edit-settings/SidePanel';
|
|
18
|
+
import { useEditSettings } from './edit-settings/useEditSettings';
|
|
19
|
+
import ViewSettingsReducer from './edit-settings/viewSettingsReducer';
|
|
20
|
+
import { ViewSettingsContext, viewSettingsInitialState } from './edit-settings/ViewSetingsContext';
|
|
9
21
|
const isNotEmpty = (union) => union.length > 0;
|
|
10
22
|
const ExplorerHeaderDivStyled = styled.div `
|
|
11
23
|
display: flex;
|
|
@@ -13,20 +25,29 @@ const ExplorerHeaderDivStyled = styled.div `
|
|
|
13
25
|
align-items: center;
|
|
14
26
|
padding-bottom: calc(var(--general-spacing-xs) * 1px);
|
|
15
27
|
`;
|
|
16
|
-
export const Explorer = ({ library, itemActions, defaultActionsForItem = ['edit', 'deactivate'],
|
|
17
|
-
const
|
|
18
|
-
const
|
|
28
|
+
export const Explorer = ({ library, itemActions, primaryActions, title, defaultActionsForItem = ['edit', 'deactivate'], defaultPrimaryActions = ['create'] }) => {
|
|
29
|
+
const { panelElement } = useEditSettings();
|
|
30
|
+
const [view, dispatch] = useReducer(ViewSettingsReducer, viewSettingsInitialState);
|
|
31
|
+
const { data, loading, refetch } = useExplorerData(library, view.fields); // TODO: refresh when go back on page
|
|
19
32
|
const { deactivateAction } = useDeactivateAction({
|
|
20
33
|
isEnabled: isNotEmpty(defaultActionsForItem) && defaultActionsForItem.includes('deactivate')
|
|
21
34
|
});
|
|
22
35
|
const { editAction, editModal } = useEditAction({
|
|
23
36
|
isEnabled: isNotEmpty(defaultActionsForItem) && defaultActionsForItem.includes('edit')
|
|
24
37
|
});
|
|
25
|
-
const {
|
|
26
|
-
isEnabled: isNotEmpty(
|
|
38
|
+
const { createAction, createModal } = useCreateAction({
|
|
39
|
+
isEnabled: isNotEmpty(defaultPrimaryActions) && defaultPrimaryActions.includes('create'),
|
|
27
40
|
library,
|
|
28
41
|
refetch
|
|
29
42
|
});
|
|
30
|
-
|
|
43
|
+
// TODO: move to `useCreateAction` directly?
|
|
44
|
+
const enabledDefaultActions = createAction ? [createAction] : [];
|
|
45
|
+
const { primaryButton } = usePrimaryActionsButton([...enabledDefaultActions, ...(primaryActions ?? [])]);
|
|
46
|
+
// TODO: harmonize to other hook signature that return only object
|
|
47
|
+
const settingsButton = useOpenSettings(library);
|
|
48
|
+
// TODO: remove SET
|
|
49
|
+
const dedupItemActions = [...new Set([editAction, deactivateAction, ...(itemActions ?? [])].filter(Boolean))];
|
|
50
|
+
return (_jsxs(ViewSettingsContext.Provider, { value: { view, dispatch }, children: [loading ? ('Loading...' // TODO: handle loading properly
|
|
51
|
+
) : (_jsxs(_Fragment, { children: [_jsxs(ExplorerHeaderDivStyled, { children: [_jsx(KitTypography.Title, { level: "h1", children: _jsx(ExplorerTitle, { library: library, title: title }) }), _jsxs(KitSpace, { size: "xs", children: [settingsButton, primaryButton] })] }), _jsx(DataView, { dataGroupedFilteredSorted: data?.records ?? [], itemActions: dedupItemActions, columnsLabels: data?.attributes ?? {}, attributesToDisplay: ['whoAmI', ...view.fields] })] })), panelElement && createPortal(_jsx(SidePanel, {}), panelElement), editModal, createModal] }));
|
|
31
52
|
};
|
|
32
53
|
//# sourceMappingURL=Explorer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Explorer.js","sourceRoot":"","sources":["../../../src/components/Explorer/Explorer.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Explorer.js","sourceRoot":"","sources":["../../../src/components/Explorer/Explorer.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAoB,UAAU,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,uBAAuB,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAChE,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,mBAAmB,EAAE,wBAAwB,EAAC,MAAM,oCAAoC,CAAC;AAWjG,MAAM,UAAU,GAAG,CAAsB,KAAQ,EAA2B,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAEhG,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKzC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAsC,CAAC,EACxD,OAAO,EACP,WAAW,EACX,cAAc,EACd,KAAK,EACL,qBAAqB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAC9C,qBAAqB,GAAG,CAAC,QAAQ,CAAC,EACrC,EAAE,EAAE;IACD,MAAM,EAAC,YAAY,EAAC,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IACnF,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qCAAqC;IAE7G,MAAM,EAAC,gBAAgB,EAAC,GAAG,mBAAmB,CAAC;QAC3C,SAAS,EAAE,UAAU,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC/F,CAAC,CAAC;IAEH,MAAM,EAAC,UAAU,EAAE,SAAS,EAAC,GAAG,aAAa,CAAC;QAC1C,SAAS,EAAE,UAAU,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC;KACzF,CAAC,CAAC;IAEH,MAAM,EAAC,YAAY,EAAE,WAAW,EAAC,GAAG,eAAe,CAAC;QAChD,SAAS,EAAE,UAAU,CAAC,qBAAqB,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxF,OAAO;QACP,OAAO;KACV,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,qBAAqB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,MAAM,EAAC,aAAa,EAAC,GAAG,uBAAuB,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvG,kEAAkE;IAClE,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEhD,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9G,OAAO,CACH,MAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,aAChD,OAAO,CAAC,CAAC,CAAC,CACP,YAAY,CAAC,gCAAgC;aAChD,CAAC,CAAC,CAAC,CACA,8BACI,MAAC,uBAAuB,eACpB,KAAC,aAAa,CAAC,KAAK,IAAC,KAAK,EAAC,IAAI,YAC3B,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAI,GAC/B,EACtB,MAAC,QAAQ,IAAC,IAAI,EAAC,IAAI,aACd,cAAc,EACd,aAAa,IACP,IACW,EAC1B,KAAC,QAAQ,IACL,yBAAyB,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAC9C,WAAW,EAAE,gBAAgB,EAC7B,aAAa,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,EACrC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GACjD,IACH,CACN,EACA,YAAY,IAAI,YAAY,CAAC,KAAC,SAAS,KAAG,EAAE,YAAY,CAAC,EACzD,SAAS,EACT,WAAW,IACe,CAClC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { localizedTranslation } from '@leav/utils';
|
|
6
|
+
import { useExplorerLibraryDataQuery } from '../../_gqlTypes';
|
|
7
|
+
import useLang from '../../hooks/useLang';
|
|
8
|
+
import { AntSkeleton } from 'aristid-ds';
|
|
9
|
+
// TODO: use <h1 /> tag
|
|
10
|
+
export const ExplorerTitle = ({ title, library }) => {
|
|
11
|
+
const { data, loading, error } = useExplorerLibraryDataQuery({ variables: { libraryId: library }, skip: !!title });
|
|
12
|
+
const { lang } = useLang();
|
|
13
|
+
if (title) {
|
|
14
|
+
return _jsx("span", { children: title });
|
|
15
|
+
}
|
|
16
|
+
if (loading) {
|
|
17
|
+
return _jsx(AntSkeleton.Input, { style: { width: 400 }, active: true });
|
|
18
|
+
}
|
|
19
|
+
// TODO: handle error and bad library ID
|
|
20
|
+
if (error) {
|
|
21
|
+
return _jsx("span", { children: error.message });
|
|
22
|
+
}
|
|
23
|
+
const libraryData = data?.libraries?.list[0];
|
|
24
|
+
if (!libraryData) {
|
|
25
|
+
// TODO: make it i18n
|
|
26
|
+
return _jsx("span", { children: "Unknown library" });
|
|
27
|
+
}
|
|
28
|
+
return _jsx("span", { children: localizedTranslation(libraryData.label, lang) });
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=ExplorerTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExplorerTitle.js","sourceRoot":"","sources":["../../../src/components/Explorer/ExplorerTitle.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,eAAe,CAAC;AAC1D,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAQvC,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAA2C,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IACtF,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,GAAG,2BAA2B,CAAC,EAAC,SAAS,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC;IAC7G,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IAEzB,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,yBAAO,KAAK,GAAQ,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,WAAW,CAAC,KAAK,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,MAAM,SAAG,CAAC;IAC7D,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,yBAAO,KAAK,CAAC,OAAO,GAAQ,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,qBAAqB;QACrB,OAAO,6CAA4B,CAAC;IACxC,CAAC;IAED,OAAO,yBAAO,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,GAAQ,CAAC;AACxE,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 { AttributeFormat, AttributeType } from '../../_gqlTypes';
|
|
6
|
+
import { useSharedTranslation } from '../../hooks/useSharedTranslation';
|
|
7
|
+
import { KitTag, KitTypography } from 'aristid-ds';
|
|
8
|
+
import styled from 'styled-components';
|
|
9
|
+
const isLinkValue = (v) => [AttributeType.simple_link, AttributeType.advanced_link].includes(v.attribute.type);
|
|
10
|
+
const isTreeValue = (v) => [AttributeType.tree].includes(v.attribute.type);
|
|
11
|
+
const isStandardValue = (v) => [AttributeType.simple, AttributeType.advanced].includes(v.attribute.type);
|
|
12
|
+
const StyledCenteringWrapper = styled.div `
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
`;
|
|
16
|
+
export const TableCell = ({ values }) => {
|
|
17
|
+
const { t } = useSharedTranslation();
|
|
18
|
+
return (_jsx(StyledCenteringWrapper, { children: values.map((value) => {
|
|
19
|
+
if (isStandardValue(value)) {
|
|
20
|
+
switch (value.attribute.format) {
|
|
21
|
+
case AttributeFormat.boolean:
|
|
22
|
+
const valueToDisplay = value.valuePayload ? t('global.yes') : t('global.no');
|
|
23
|
+
return (_jsx(KitTag, { type: !!value.valuePayload ? 'primary' : 'neutral', idCardProps: { description: valueToDisplay } }, value.attribute.id));
|
|
24
|
+
default:
|
|
25
|
+
const valueContent = value.attribute.format === AttributeFormat.encrypted
|
|
26
|
+
? '●●●●●●●●●●●●'
|
|
27
|
+
: value.valuePayload;
|
|
28
|
+
return (_jsx(KitTypography.Text, { ellipsis: { tooltip: valueContent }, children: valueContent }, value.attribute.id));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const defaultValue = '';
|
|
32
|
+
if (isTreeValue(value)) {
|
|
33
|
+
return value.treePayload?.record.id ?? defaultValue;
|
|
34
|
+
}
|
|
35
|
+
if (isLinkValue(value)) {
|
|
36
|
+
return value.linkPayload?.id ?? defaultValue;
|
|
37
|
+
}
|
|
38
|
+
}) }));
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=TableCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../../../src/components/Explorer/TableCell.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EACH,eAAe,EACf,aAAa,EAKhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAEjD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,WAAW,GAAG,CAAC,CAAwB,EAAuC,EAAE,CAClF,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACxF,MAAM,WAAW,GAAG,CAAC,CAAwB,EAAuC,EAAE,CAClF,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACpD,MAAM,eAAe,GAAG,CAAC,CAAwB,EAAmC,EAAE,CAClF,CAAC,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAE9E,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGxC,CAAC;AAMF,MAAM,CAAC,MAAM,SAAS,GAAuC,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;IACtE,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,OAAO,CACH,KAAC,sBAAsB,cAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAA4B,EAAE,EAAE;YACzC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC7B,KAAK,eAAe,CAAC,OAAO;wBACxB,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;wBAC7E,OAAO,CACH,KAAC,MAAM,IAEH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAClD,WAAW,EAAE,EAAC,WAAW,EAAE,cAAc,EAAC,IAFrC,KAAK,CAAC,SAAS,CAAC,EAAE,CAGzB,CACL,CAAC;oBACN;wBACI,MAAM,YAAY,GACd,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,SAAS;4BAChD,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC7B,OAAO,CACH,KAAC,aAAa,CAAC,IAAI,IAA0B,QAAQ,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,YACzE,YAAY,IADQ,KAAK,CAAC,SAAS,CAAC,EAAE,CAEtB,CACxB,CAAC;gBACV,CAAC;YACL,CAAC;YAED,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,YAAY,CAAC;YACxD,CAAC;YAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,YAAY,CAAC;YACjD,CAAC;QACL,CAAC,CAAC,GACmB,CAC5B,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IExplorerData } from '../_types';
|
|
2
|
+
import { ExplorerQuery } from '../../../_gqlTypes';
|
|
3
|
+
export declare const useExplorerData: (libraryId: string, attributeIds: string[]) => {
|
|
4
|
+
data: IExplorerData;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
refetch: (variables?: Partial<import("../../../_gqlTypes").Exact<{
|
|
7
|
+
libraryId: import("../../../_gqlTypes").Scalars["ID"];
|
|
8
|
+
attributeIds: Array<import("../../../_gqlTypes").Scalars["ID"]> | import("../../../_gqlTypes").Scalars["ID"];
|
|
9
|
+
filters?: import("../../../_gqlTypes").InputMaybe<Array<import("../../../_gqlTypes").InputMaybe<import("../../../_gqlTypes").RecordFilterInput>> | import("../../../_gqlTypes").InputMaybe<import("../../../_gqlTypes").RecordFilterInput>>;
|
|
10
|
+
}>>) => Promise<import("@apollo/client").ApolloQueryResult<ExplorerQuery>>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
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 { localizedTranslation } from '@leav/utils';
|
|
5
|
+
import { useExplorerQuery } from '../../../_gqlTypes';
|
|
6
|
+
import { useLang } from '../../../hooks';
|
|
7
|
+
const _mapping = (data, libraryId, availableLangs) => {
|
|
8
|
+
const attributes = {};
|
|
9
|
+
// TODO: can we use `Array.reduce` method?
|
|
10
|
+
if (data.records.list.length > 0) {
|
|
11
|
+
data.records.list[0].properties.forEach(({ attributeId, values }) => {
|
|
12
|
+
attributes[attributeId] = localizedTranslation(values[0].attribute.label, availableLangs);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const records = data.records.list.map(({ whoAmI, properties }) => ({
|
|
16
|
+
libraryId,
|
|
17
|
+
key: whoAmI.id, // For <KitTable /> only
|
|
18
|
+
itemId: whoAmI.id, // For <KitTable /> only
|
|
19
|
+
whoAmI: {
|
|
20
|
+
label: null,
|
|
21
|
+
subLabel: null,
|
|
22
|
+
color: null,
|
|
23
|
+
preview: null,
|
|
24
|
+
...whoAmI
|
|
25
|
+
},
|
|
26
|
+
propertiesById: properties.reduce((acc, { attributeId, values }) => ({ ...acc, [attributeId]: values }), {})
|
|
27
|
+
}));
|
|
28
|
+
return {
|
|
29
|
+
attributes,
|
|
30
|
+
records
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export const useExplorerData = (libraryId, attributeIds) => {
|
|
34
|
+
const { lang: availableLangs } = useLang();
|
|
35
|
+
const { data, loading, refetch } = useExplorerQuery({ variables: { libraryId, attributeIds } });
|
|
36
|
+
return {
|
|
37
|
+
data: data !== undefined ? _mapping(data, libraryId, availableLangs) : null,
|
|
38
|
+
loading,
|
|
39
|
+
refetch
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useExplorerData.js.map
|
|
@@ -0,0 +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;AAEjD,OAAO,EAAgB,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,QAAQ,GAAG,CAAC,IAAmB,EAAE,SAAiB,EAAE,cAAwB,EAAiB,EAAE;IACjG,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,0CAA0C;IAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,WAAW,EAAE,MAAM,EAAC,EAAE,EAAE;YAC9D,UAAU,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,SAAS;QACT,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,wBAAwB;QACxC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,wBAAwB;QAC3C,MAAM,EAAE;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,IAAI;YACb,GAAG,MAAM;SACZ;QACD,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAC,WAAW,EAAE,MAAM,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,EAAE,CAAC;KAC3G,CAAC,CAAC,CAAC;IAEJ,OAAO;QACH,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,YAAsB,EAAE,EAAE;IACzE,MAAM,EAAC,IAAI,EAAE,cAAc,EAAC,GAAG,OAAO,EAAE,CAAC;IACzC,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,GAAG,gBAAgB,CAAC,EAAC,SAAS,EAAE,EAAC,SAAS,EAAE,YAAY,EAAC,EAAC,CAAC,CAAC;IAE1F,OAAO;QACH,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3E,OAAO;QACP,OAAO;KACV,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { PropertyValueFragment, RecordIdentityFragment } from '../../_gqlTypes';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
3
|
export type ItemWhoAmI = Required<RecordIdentityFragment['whoAmI']>;
|
|
4
|
+
export interface IExplorerData {
|
|
5
|
+
attributes: {
|
|
6
|
+
[attributeId: string]: string;
|
|
7
|
+
};
|
|
8
|
+
records: IItemData[];
|
|
9
|
+
}
|
|
4
10
|
export interface IItemData {
|
|
5
11
|
libraryId: string;
|
|
6
12
|
key: string;
|
|
@@ -16,6 +22,11 @@ export interface IItemAction {
|
|
|
16
22
|
label: string;
|
|
17
23
|
isDanger?: boolean;
|
|
18
24
|
}
|
|
25
|
+
export interface IPrimaryAction {
|
|
26
|
+
callback: () => void;
|
|
27
|
+
icon: ReactElement;
|
|
28
|
+
label: string;
|
|
29
|
+
}
|
|
19
30
|
export type ActionHook<T = {}> = {
|
|
20
31
|
isEnabled: boolean;
|
|
21
32
|
} & T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_types.js","sourceRoot":"","sources":["../../../src/components/Explorer/_types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FunctionComponent, ReactNode } from 'react';
|
|
2
|
+
interface IColumnItemProps {
|
|
3
|
+
itemId: string;
|
|
4
|
+
dragHandler?: ReactNode;
|
|
5
|
+
visible: boolean;
|
|
6
|
+
title: string;
|
|
7
|
+
onVisibilityClick?: () => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
value?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const ColumnItem: FunctionComponent<IColumnItemProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
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 { KitTypography } from 'aristid-ds';
|
|
6
|
+
import { FaEye, FaEyeSlash } from 'react-icons/fa';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { useSortable } from '@dnd-kit/sortable';
|
|
9
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
10
|
+
import { useSharedTranslation } from '../../../hooks/useSharedTranslation';
|
|
11
|
+
const StyledValue = styled(KitTypography.Text) `
|
|
12
|
+
color: var(--general-utilities-disabled);
|
|
13
|
+
`;
|
|
14
|
+
const StyledConfigurationItem = styled.li `
|
|
15
|
+
list-style: none;
|
|
16
|
+
color: var(--general-utilities-text-primary);
|
|
17
|
+
display: flex;
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 40px;
|
|
20
|
+
padding: 0 calc(var(--general-spacing-xs) * 1px);
|
|
21
|
+
align-items: center;
|
|
22
|
+
gap: calc(var(--general-spacing-xs) * 1px);
|
|
23
|
+
border-radius: calc(var(--general-spacing-xs) * 1px);
|
|
24
|
+
text-align: left;
|
|
25
|
+
|
|
26
|
+
&:first-child {
|
|
27
|
+
margin-top: calc(var(--general-spacing-xs) * 1px);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:hover {
|
|
31
|
+
background: var(--general-utilities-main-light);
|
|
32
|
+
|
|
33
|
+
${StyledValue} {
|
|
34
|
+
color: var(--general-utilities-text-primary);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.title {
|
|
39
|
+
flex: 1 1 auto;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
> svg {
|
|
43
|
+
flex: 0 0 calc(var(--general-spacing-s) * 1px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
> button {
|
|
47
|
+
border: none;
|
|
48
|
+
background: transparent;
|
|
49
|
+
padding: 0;
|
|
50
|
+
&:not([disabled]) {
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
55
|
+
const StyledFaEye = styled(FaEye) `
|
|
56
|
+
color: currentColor;
|
|
57
|
+
`;
|
|
58
|
+
const StyledEyeSlash = styled(FaEyeSlash) `
|
|
59
|
+
color: var(--general-utilities-disabled);
|
|
60
|
+
`;
|
|
61
|
+
const StyledDragHandle = styled.span `
|
|
62
|
+
cursor: ${props => (props.$isDragging ? 'grabbing' : 'grab')};
|
|
63
|
+
`;
|
|
64
|
+
const StyledEmptyIcon = styled.div `
|
|
65
|
+
width: calc(var(--general-spacing-s) * 1px);
|
|
66
|
+
`;
|
|
67
|
+
export const ColumnItem = ({ itemId, dragHandler, title, disabled, visible, onVisibilityClick }) => {
|
|
68
|
+
const { t } = useSharedTranslation();
|
|
69
|
+
const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({ id: itemId });
|
|
70
|
+
const style = {
|
|
71
|
+
transform: CSS.Transform.toString(transform),
|
|
72
|
+
transition
|
|
73
|
+
};
|
|
74
|
+
const _handleClick = () => onVisibilityClick?.();
|
|
75
|
+
const visibilityButtonLabel = visible ? t('explorer.hide') : t('explorer.show');
|
|
76
|
+
return (_jsxs(StyledConfigurationItem, { className: disabled ? 'disabled' : '', ref: setNodeRef, style: style, children: [dragHandler ? (_jsx(StyledDragHandle, { ...attributes, ...listeners, "$isDragging": isDragging, children: dragHandler })) : (_jsx(StyledEmptyIcon, {})), _jsx(KitTypography.Text, { size: "fontSize5", ellipsis: true, className: "title", children: title }), _jsx("button", { disabled: disabled, onClick: _handleClick, title: visibilityButtonLabel, "aria-label": visibilityButtonLabel, children: visible ? _jsx(StyledFaEye, {}) : _jsx(StyledEyeSlash, {}) })] }));
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=ColumnItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnItem.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/ColumnItem.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;CAE7C,CAAC;AAEF,MAAM,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;UAmB/B,WAAW;;;;;;;;;;;;;;;;;;;;;CAqBpB,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;CAEhC,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;;CAExC,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAwB;cAC9C,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;CAC/D,CAAC;AAEF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;CAEjC,CAAC;AAYF,MAAM,CAAC,MAAM,UAAU,GAAwC,CAAC,EAC5D,MAAM,EACN,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,EACP,iBAAiB,EACpB,EAAE,EAAE;IACD,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAC,GAAG,WAAW,CAAC,EAAC,EAAE,EAAE,MAAM,EAAC,CAAC,CAAC;IACzG,MAAM,KAAK,GAAG;QACV,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,UAAU;KACb,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC;IAEjD,MAAM,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IAChF,OAAO,CACH,MAAC,uBAAuB,IAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,aACxF,WAAW,CAAC,CAAC,CAAC,CACX,KAAC,gBAAgB,OAAK,UAAU,KAAM,SAAS,iBAAe,UAAU,YACnE,WAAW,GACG,CACtB,CAAC,CAAC,CAAC,CACA,KAAC,eAAe,KAAG,CACtB,EACD,KAAC,aAAa,CAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,QAAQ,QAAC,SAAS,EAAC,OAAO,YAC1D,KAAK,GACW,EACrB,iBACI,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,qBAAqB,gBAChB,qBAAqB,YAEhC,OAAO,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,KAAC,cAAc,KAAG,GAC1C,IACa,CAC7B,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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 { useSharedTranslation } from '../../../hooks/useSharedTranslation';
|
|
6
|
+
import { KitRadio, KitSpace, KitTag } from 'aristid-ds';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { DisplayModeTable } from './DisplayModeTable';
|
|
9
|
+
import { ViewSettingsActionTypes } from './viewSettingsReducer';
|
|
10
|
+
import { useViewSettingsContext } from './useViewSettingsContext';
|
|
11
|
+
const StyledWrapperDiv = styled.div `
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
gap: calc(var(--general-spacing-l) * 1px);
|
|
15
|
+
|
|
16
|
+
.ant-radio-wrapper {
|
|
17
|
+
padding: calc(var(--general-spacing-xs) * 1px);
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
export const DisplayMode = ({ library }) => {
|
|
21
|
+
const { t } = useSharedTranslation();
|
|
22
|
+
const { view, dispatch } = useViewSettingsContext();
|
|
23
|
+
const _handleDisplayModeChange = (event) => {
|
|
24
|
+
dispatch({
|
|
25
|
+
type: ViewSettingsActionTypes.CHANGE_DISPLAY_MODE,
|
|
26
|
+
payload: {
|
|
27
|
+
displayMode: event.target.value
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const comingSoonTag = _jsx(KitTag, { type: "secondary", idCardProps: { description: String(t('explorer.coming-soon')) } });
|
|
32
|
+
return (_jsxs(StyledWrapperDiv, { children: [_jsx(KitRadio.Group, { value: view.displayMode, onChange: _handleDisplayModeChange, children: _jsxs(KitSpace, { direction: "vertical", size: 0, children: [_jsx(KitRadio, { value: "list", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.display-mode-list'), " ", comingSoonTag] }) }), _jsx(KitRadio, { value: "table", children: t('explorer.display-mode-table') }), _jsx(KitRadio, { value: "mosaic", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.display-mode-mosaic'), " ", comingSoonTag] }) }), _jsx(KitRadio, { value: "planning", disabled: true, children: _jsxs(KitSpace, { children: [t('explorer.display-mode-planning'), " ", comingSoonTag] }) })] }) }), view.displayMode === 'table' && _jsx(DisplayModeTable, { library: library })] }));
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=DisplayMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisplayMode.js","sourceRoot":"","sources":["../../../../src/components/Explorer/edit-settings/DisplayMode.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,YAAY,CAAC;AAGtD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQlC,CAAC;AAMF,MAAM,CAAC,MAAM,WAAW,GAAyC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;IAC3E,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,sBAAsB,EAAE,CAAC;IAElD,MAAM,wBAAwB,GAAG,CAAC,KAAuB,EAAE,EAAE;QACzD,QAAQ,CAAC;YACL,IAAI,EAAE,uBAAuB,CAAC,mBAAmB;YACjD,OAAO,EAAE;gBACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;aAClC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAC,MAAM,IAAC,IAAI,EAAC,WAAW,EAAC,WAAW,EAAE,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAC,GAAI,CAAC;IAEjH,OAAO,CACH,MAAC,gBAAgB,eACb,KAAC,QAAQ,CAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,wBAAwB,YACvE,MAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAE,CAAC,aAClC,KAAC,QAAQ,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,kBAC3B,MAAC,QAAQ,eACJ,CAAC,CAAC,4BAA4B,CAAC,OAAG,aAAa,IACzC,GACJ,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,YAAE,CAAC,CAAC,6BAA6B,CAAC,GAAY,EACrE,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,kBAC7B,MAAC,QAAQ,eACJ,CAAC,CAAC,8BAA8B,CAAC,OAAG,aAAa,IAC3C,GACJ,EACX,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,kBAC/B,MAAC,QAAQ,eACJ,CAAC,CAAC,gCAAgC,CAAC,OAAG,aAAa,IAC7C,GACJ,IACJ,GACE,EAChB,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,GAAI,IACxD,CACtB,CAAC;AACN,CAAC,CAAC"}
|