@firecms/core 3.0.0-canary.11 → 3.0.0-canary.111
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/README.md +1 -1
- package/dist/app/AppBar.d.ts +12 -0
- package/dist/app/Drawer.d.ts +17 -0
- package/dist/app/Scaffold.d.ts +30 -0
- package/dist/app/index.d.ts +4 -0
- package/dist/app/useApp.d.ts +16 -0
- package/dist/components/CircularProgressCenter.d.ts +1 -1
- package/dist/components/ClearFilterSortButton.d.ts +5 -0
- package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +11 -12
- package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +1 -1
- package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +5 -3
- package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +1 -0
- package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
- package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +2 -0
- package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
- package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
- package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +2 -2
- package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +12 -2
- package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
- package/dist/components/EntityPreview.d.ts +5 -4
- package/dist/components/ErrorView.d.ts +1 -1
- package/dist/components/HomePage/DefaultHomePage.d.ts +1 -1
- package/dist/components/HomePage/NavigationCardBinding.d.ts +1 -1
- package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
- package/dist/components/ReferenceWidget.d.ts +3 -1
- package/dist/components/SelectableTable/SelectableTable.d.ts +1 -1
- package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
- package/dist/components/VirtualTable/VirtualTableProps.d.ts +15 -12
- package/dist/components/VirtualTable/types.d.ts +3 -3
- package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -1
- package/dist/components/common/index.d.ts +1 -0
- package/dist/components/common/table_height.d.ts +5 -0
- package/dist/components/common/types.d.ts +4 -6
- package/dist/components/common/useColumnsIds.d.ts +2 -1
- package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +3 -0
- package/dist/components/index.d.ts +3 -1
- package/dist/{components/FireCMSAppBar.d.ts → core/DefaultAppBar.d.ts} +6 -9
- package/dist/core/DefaultDrawer.d.ts +19 -0
- package/dist/core/DrawerNavigationItem.d.ts +9 -0
- package/dist/core/EntityEditView.d.ts +18 -4
- package/dist/core/FireCMS.d.ts +1 -1
- package/dist/core/NavigationRoutes.d.ts +3 -3
- package/dist/core/index.d.ts +3 -4
- package/dist/form/PropertyFieldBinding.d.ts +1 -1
- package/dist/form/components/ErrorFocus.d.ts +1 -1
- package/dist/form/components/FieldHelperText.d.ts +3 -3
- package/dist/form/components/LabelWithIcon.d.ts +1 -1
- package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
- package/dist/form/components/StorageItemPreview.d.ts +4 -4
- package/dist/form/components/index.d.ts +1 -0
- package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
- package/dist/form/field_bindings/MultiSelectBinding.d.ts +1 -1
- package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
- package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +3 -5
- package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
- package/dist/form/index.d.ts +2 -4
- package/dist/hooks/data/save.d.ts +1 -2
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useBuildNavigationController.d.ts +1 -2
- package/dist/hooks/useProjectLog.d.ts +2 -2
- package/dist/hooks/useValidateAuthenticator.d.ts +4 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +15632 -12442
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +19871 -587
- package/dist/index.umd.js.map +1 -1
- package/dist/internal/useBuildDataSource.d.ts +1 -16
- package/dist/preview/PropertyPreviewProps.d.ts +6 -1
- package/dist/preview/components/EnumValuesChip.d.ts +1 -1
- package/dist/preview/components/ReferencePreview.d.ts +2 -1
- package/dist/preview/components/StorageThumbnail.d.ts +2 -1
- package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
- package/dist/types/auth.d.ts +3 -3
- package/dist/types/collections.d.ts +39 -5
- package/dist/types/datasource.d.ts +45 -31
- package/dist/types/entities.d.ts +6 -1
- package/dist/types/entity_actions.d.ts +14 -0
- package/dist/types/fields.d.ts +45 -39
- package/dist/types/index.d.ts +0 -1
- package/dist/types/navigation.d.ts +6 -5
- package/dist/types/plugins.d.ts +14 -4
- package/dist/types/properties.d.ts +32 -19
- package/dist/types/storage.d.ts +11 -3
- package/dist/util/entities.d.ts +1 -1
- package/dist/util/icon_list.d.ts +5 -1
- package/dist/util/icon_synonyms.d.ts +1 -97
- package/dist/util/icons.d.ts +2 -2
- package/dist/util/index.d.ts +1 -0
- package/dist/util/navigation_utils.d.ts +2 -2
- package/dist/util/objects.d.ts +1 -1
- package/dist/util/plurals.d.ts +0 -2
- package/dist/util/resolutions.d.ts +14 -13
- package/dist/util/storage.d.ts +23 -2
- package/dist/util/useStorageUploadController.d.ts +1 -1
- package/package.json +128 -119
- package/src/app/AppBar.tsx +18 -0
- package/src/app/Drawer.tsx +25 -0
- package/src/app/Scaffold.tsx +245 -0
- package/src/app/index.ts +4 -0
- package/src/app/useApp.tsx +32 -0
- package/src/components/ArrayContainer.tsx +9 -7
- package/src/components/CircularProgressCenter.tsx +1 -1
- package/src/components/ClearFilterSortButton.tsx +41 -0
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +12 -19
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +21 -20
- package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +10 -6
- package/src/components/EntityCollectionTable/PropertyTableCell.tsx +41 -35
- package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
- package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +22 -12
- package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +14 -6
- package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +29 -34
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +17 -13
- package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +19 -7
- package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +7 -10
- package/src/components/EntityCollectionView/EntityCollectionView.tsx +75 -51
- package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
- package/src/components/EntityCollectionView/useSelectionController.tsx +19 -7
- package/src/components/EntityPreview.tsx +21 -15
- package/src/components/EntityView.tsx +5 -5
- package/src/components/ErrorView.tsx +1 -1
- package/src/components/HomePage/DefaultHomePage.tsx +24 -15
- package/src/components/HomePage/NavigationCard.tsx +3 -3
- package/src/components/HomePage/NavigationCardBinding.tsx +1 -1
- package/src/components/HomePage/SmallNavigationCard.tsx +5 -6
- package/src/components/PropertyIdCopyTooltip.tsx +48 -0
- package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +2 -5
- package/src/components/ReferenceWidget.tsx +22 -12
- package/src/components/SearchIconsView.tsx +11 -7
- package/src/components/SelectableTable/SelectableTable.tsx +7 -7
- package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +22 -7
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +28 -6
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +35 -15
- package/src/components/VirtualTable/VirtualTable.tsx +70 -37
- package/src/components/VirtualTable/VirtualTableCell.tsx +1 -1
- package/src/components/VirtualTable/VirtualTableHeader.tsx +4 -4
- package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
- package/src/components/VirtualTable/VirtualTableProps.tsx +18 -14
- package/src/components/VirtualTable/VirtualTableRow.tsx +4 -5
- package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +1 -1
- package/src/components/VirtualTable/types.tsx +2 -3
- package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +2 -2
- package/src/components/common/index.ts +1 -0
- package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
- package/src/components/common/types.tsx +4 -6
- package/src/components/common/useColumnsIds.tsx +23 -2
- package/src/components/common/useDataSourceEntityCollectionTableController.tsx +11 -0
- package/src/components/common/useTableSearchHelper.ts +53 -12
- package/src/components/index.tsx +3 -1
- package/src/contexts/DialogsProvider.tsx +2 -2
- package/src/{components/FireCMSAppBar.tsx → core/DefaultAppBar.tsx} +52 -37
- package/src/core/DefaultDrawer.tsx +177 -0
- package/src/core/DrawerNavigationItem.tsx +64 -0
- package/src/core/EntityEditView.tsx +702 -137
- package/src/core/EntitySidePanel.tsx +1 -2
- package/src/core/FireCMS.tsx +39 -44
- package/src/core/NavigationRoutes.tsx +7 -8
- package/src/core/SideDialogs.tsx +4 -0
- package/src/core/field_configs.tsx +4 -5
- package/src/core/index.tsx +3 -4
- package/src/form/PropertyFieldBinding.tsx +53 -21
- package/src/form/components/CustomIdField.tsx +4 -2
- package/src/form/components/FieldHelperText.tsx +4 -4
- package/src/form/components/LabelWithIcon.tsx +27 -19
- package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
- package/src/form/components/StorageItemPreview.tsx +21 -11
- package/src/form/components/StorageUploadProgress.tsx +3 -4
- package/src/form/components/index.tsx +1 -0
- package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +15 -11
- package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +26 -21
- package/src/form/field_bindings/BlockFieldBinding.tsx +13 -12
- package/src/form/field_bindings/DateTimeFieldBinding.tsx +17 -14
- package/src/form/field_bindings/KeyValueFieldBinding.tsx +52 -46
- package/src/form/field_bindings/MapFieldBinding.tsx +15 -15
- package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +138 -0
- package/src/form/field_bindings/MultiSelectBinding.tsx +9 -5
- package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +11 -16
- package/src/form/field_bindings/ReferenceFieldBinding.tsx +37 -27
- package/src/form/field_bindings/RepeatFieldBinding.tsx +20 -16
- package/src/form/field_bindings/SelectFieldBinding.tsx +47 -41
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +31 -52
- package/src/form/field_bindings/SwitchFieldBinding.tsx +9 -5
- package/src/form/field_bindings/TextFieldBinding.tsx +26 -22
- package/src/form/index.tsx +6 -6
- package/src/form/validation.ts +1 -17
- package/src/hooks/data/save.ts +6 -1
- package/src/hooks/data/useDataSource.tsx +1 -1
- package/src/hooks/index.tsx +1 -0
- package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
- package/src/hooks/useBuildModeController.tsx +11 -5
- package/src/hooks/useBuildNavigationController.tsx +94 -32
- package/src/hooks/useProjectLog.tsx +19 -8
- package/src/hooks/useResolvedNavigationFrom.tsx +1 -1
- package/src/hooks/useValidateAuthenticator.tsx +21 -41
- package/src/index.ts +1 -0
- package/src/internal/useBuildDataSource.ts +84 -62
- package/src/internal/useBuildSideEntityController.tsx +90 -21
- package/src/internal/useUnsavedChangesDialog.tsx +3 -1
- package/src/preview/PropertyPreview.tsx +10 -17
- package/src/preview/PropertyPreviewProps.tsx +7 -1
- package/src/preview/components/BooleanPreview.tsx +2 -2
- package/src/preview/components/EnumValuesChip.tsx +2 -2
- package/src/preview/components/ImagePreview.tsx +24 -34
- package/src/preview/components/ReferencePreview.tsx +23 -23
- package/src/preview/components/StorageThumbnail.tsx +5 -1
- package/src/preview/components/UrlComponentPreview.tsx +44 -11
- package/src/preview/property_previews/ArrayOfMapsPreview.tsx +0 -1
- package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +3 -2
- package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +1 -2
- package/src/preview/property_previews/ArrayOfStringsPreview.tsx +0 -1
- package/src/preview/property_previews/ArrayOneOfPreview.tsx +3 -4
- package/src/preview/property_previews/ArrayPropertyPreview.tsx +3 -4
- package/src/preview/property_previews/MapPropertyPreview.tsx +6 -6
- package/src/preview/property_previews/SkeletonPropertyComponent.tsx +2 -2
- package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
- package/src/preview/util.ts +2 -2
- package/src/types/auth.tsx +3 -3
- package/src/types/collections.ts +48 -7
- package/src/types/customization_controller.tsx +0 -1
- package/src/types/datasource.ts +53 -39
- package/src/types/entities.ts +11 -1
- package/src/types/entity_actions.tsx +16 -3
- package/src/types/fields.tsx +49 -43
- package/src/types/index.ts +0 -1
- package/src/types/navigation.ts +7 -7
- package/src/types/plugins.tsx +16 -6
- package/src/types/properties.ts +37 -20
- package/src/types/storage.ts +12 -3
- package/src/util/entities.ts +5 -4
- package/src/util/enums.ts +1 -1
- package/src/util/icon_list.ts +15 -10
- package/src/util/icon_synonyms.ts +3 -99
- package/src/util/index.ts +1 -0
- package/src/util/navigation_utils.ts +6 -6
- package/src/util/objects.ts +25 -28
- package/src/util/permissions.ts +1 -0
- package/src/util/plurals.ts +0 -2
- package/src/util/references.ts +3 -0
- package/src/util/resolutions.ts +44 -39
- package/src/util/storage.ts +76 -22
- package/src/util/strings.ts +2 -2
- package/src/util/useStorageUploadController.tsx +22 -4
- package/src/util/useTraceUpdate.tsx +1 -0
- package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
- package/dist/components/VirtualTable/common.d.ts +0 -2
- package/dist/core/Drawer.d.ts +0 -23
- package/dist/core/Scaffold.d.ts +0 -55
- package/dist/core/SideEntityView.d.ts +0 -7
- package/dist/form/EntityForm.d.ts +0 -77
- package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
- package/dist/internal/useBuildCustomizationController.d.ts +0 -2
- package/dist/internal/useLocaleConfig.d.ts +0 -1
- package/dist/types/appcheck.d.ts +0 -26
- package/src/components/PropertyIdCopyTooltipContent.tsx +0 -28
- package/src/core/Drawer.tsx +0 -191
- package/src/core/Scaffold.tsx +0 -281
- package/src/core/SideEntityView.tsx +0 -38
- package/src/form/EntityForm.tsx +0 -728
- package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
- package/src/internal/useBuildCustomizationController.tsx +0 -5
- package/src/internal/useLocaleConfig.tsx +0 -18
- package/src/types/appcheck.ts +0 -29
|
@@ -1,43 +1,45 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { ResolvedStringProperty } from "../../types";
|
|
4
4
|
import { PreviewSize, PropertyPreview } from "../../preview";
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { cls, DescriptionIcon, IconButton, paperMixin, RemoveIcon, Tooltip } from "@firecms/ui";
|
|
7
7
|
import { ErrorBoundary } from "../../components";
|
|
8
8
|
|
|
9
9
|
interface StorageItemPreviewProps {
|
|
10
10
|
name: string;
|
|
11
11
|
property: ResolvedStringProperty;
|
|
12
12
|
value: string,
|
|
13
|
-
entity: Entity<any>,
|
|
14
13
|
onRemove: (value: string) => void;
|
|
15
14
|
size: PreviewSize;
|
|
16
15
|
disabled: boolean;
|
|
17
|
-
|
|
16
|
+
placeholder?: boolean;
|
|
17
|
+
className?: string;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export function StorageItemPreview({
|
|
21
21
|
name,
|
|
22
22
|
property,
|
|
23
23
|
value,
|
|
24
|
-
entity,
|
|
25
24
|
onRemove,
|
|
26
25
|
disabled,
|
|
27
26
|
size,
|
|
28
|
-
|
|
27
|
+
placeholder,
|
|
28
|
+
className
|
|
29
29
|
}: StorageItemPreviewProps) {
|
|
30
30
|
|
|
31
31
|
return (
|
|
32
|
-
<div className={
|
|
32
|
+
<div className={cls(paperMixin,
|
|
33
33
|
"relative m-4 border-box flex items-center justify-center",
|
|
34
|
-
size === "medium" ? "min-w-[220px] min-h-[220px] max-w-[220px]" : "min-w-[118px] min-h-[118px] max-w-[118px]"
|
|
34
|
+
size === "medium" ? "min-w-[220px] min-h-[220px] max-w-[220px]" : "min-w-[118px] min-h-[118px] max-w-[118px]",
|
|
35
|
+
className)}>
|
|
35
36
|
|
|
36
|
-
{!disabled &&
|
|
37
|
+
{!placeholder && !disabled &&
|
|
37
38
|
<div
|
|
38
39
|
className="absolute rounded-full -top-2 -right-2 z-10 bg-white dark:bg-gray-900">
|
|
39
40
|
|
|
40
41
|
<Tooltip
|
|
42
|
+
asChild={true}
|
|
41
43
|
title="Remove">
|
|
42
44
|
<IconButton
|
|
43
45
|
size={"small"}
|
|
@@ -51,16 +53,24 @@ export function StorageItemPreview({
|
|
|
51
53
|
</div>
|
|
52
54
|
}
|
|
53
55
|
|
|
54
|
-
{value &&
|
|
56
|
+
{!placeholder && value &&
|
|
55
57
|
<ErrorBoundary>
|
|
56
58
|
<PropertyPreview propertyKey={name}
|
|
57
59
|
value={value}
|
|
58
60
|
property={property}
|
|
59
|
-
|
|
61
|
+
interactive={false}
|
|
60
62
|
size={size}/>
|
|
61
63
|
</ErrorBoundary>
|
|
62
64
|
}
|
|
63
65
|
|
|
66
|
+
{placeholder &&
|
|
67
|
+
<div
|
|
68
|
+
onClick={(e) => e.stopPropagation()}
|
|
69
|
+
className="flex flex-col items-center justify-center w-full h-full">
|
|
70
|
+
<DescriptionIcon className="text-gray-700 dark:text-gray-300"/>
|
|
71
|
+
</div>
|
|
72
|
+
}
|
|
73
|
+
|
|
64
74
|
|
|
65
75
|
</div>
|
|
66
76
|
);
|
|
@@ -3,8 +3,7 @@ import React, { useCallback } from "react";
|
|
|
3
3
|
import { useSnackbarController, useStorageSource } from "../../hooks";
|
|
4
4
|
import { StorageFieldItem } from "../../util/useStorageUploadController";
|
|
5
5
|
import { ErrorView } from "../../components";
|
|
6
|
-
import {
|
|
7
|
-
import { EntityCollection, StorageSource } from "../../types";
|
|
6
|
+
import { cls, paperMixin, Skeleton } from "@firecms/ui";
|
|
8
7
|
|
|
9
8
|
export interface StorageUploadItemProps {
|
|
10
9
|
storagePath: string;
|
|
@@ -49,7 +48,7 @@ export function StorageUploadProgress({
|
|
|
49
48
|
metadata
|
|
50
49
|
})
|
|
51
50
|
.then(async ({ path }) => {
|
|
52
|
-
console.debug("Upload successful");
|
|
51
|
+
console.debug("Upload successful", path);
|
|
53
52
|
await onFileUploadComplete(path, entry, metadata);
|
|
54
53
|
if (mounted.current)
|
|
55
54
|
setLoading(false);
|
|
@@ -88,7 +87,7 @@ export function StorageUploadProgress({
|
|
|
88
87
|
}
|
|
89
88
|
return (
|
|
90
89
|
|
|
91
|
-
<div className={
|
|
90
|
+
<div className={cls(paperMixin,
|
|
92
91
|
"relative m-4 border-box flex items-center justify-center",
|
|
93
92
|
`min-w-[${imageSize}px] min-h-[${imageSize}px]`)}>
|
|
94
93
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FieldProps } from "../../types";
|
|
3
|
-
import { FieldHelperText,
|
|
3
|
+
import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
4
4
|
import { PropertyFieldBinding } from "../PropertyFieldBinding";
|
|
5
|
-
import { ExpandablePanel } from "@firecms/ui";
|
|
5
|
+
import { ExpandablePanel, Typography } from "@firecms/ui";
|
|
6
6
|
import { getIconForProperty } from "../../util";
|
|
7
7
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ export function ArrayCustomShapedFieldBinding<T extends Array<any>>({
|
|
|
20
20
|
showError,
|
|
21
21
|
isSubmitting,
|
|
22
22
|
setValue,
|
|
23
|
-
|
|
23
|
+
minimalistView,
|
|
24
24
|
property,
|
|
25
25
|
includeDescription,
|
|
26
26
|
underlyingValueHasChanged,
|
|
@@ -39,10 +39,15 @@ export function ArrayCustomShapedFieldBinding<T extends Array<any>>({
|
|
|
39
39
|
setValue
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
-
const title =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
const title = (<>
|
|
43
|
+
<LabelWithIconAndTooltip
|
|
44
|
+
propertyKey={propertyKey}
|
|
45
|
+
icon={getIconForProperty(property, "small")}
|
|
46
|
+
required={property.validation?.required}
|
|
47
|
+
title={property.name}
|
|
48
|
+
className={"flex-grow text-text-secondary dark:text-text-secondary-dark"}/>
|
|
49
|
+
{Array.isArray(value) && <Typography variant={"caption"} className={"px-4"}>({value.length})</Typography>}
|
|
50
|
+
</>);
|
|
46
51
|
|
|
47
52
|
const body = property.resolvedProperties.map((childProperty, index) => {
|
|
48
53
|
const fieldProps = {
|
|
@@ -52,9 +57,8 @@ export function ArrayCustomShapedFieldBinding<T extends Array<any>>({
|
|
|
52
57
|
includeDescription,
|
|
53
58
|
underlyingValueHasChanged,
|
|
54
59
|
context,
|
|
55
|
-
tableMode: false,
|
|
56
60
|
partOfArray: true,
|
|
57
|
-
|
|
61
|
+
minimalistView: false,
|
|
58
62
|
autoFocus: false
|
|
59
63
|
};
|
|
60
64
|
return <div key={`custom_shaped_array_${index}`} className="pb-4">
|
|
@@ -66,14 +70,14 @@ export function ArrayCustomShapedFieldBinding<T extends Array<any>>({
|
|
|
66
70
|
|
|
67
71
|
<>
|
|
68
72
|
|
|
69
|
-
{!
|
|
73
|
+
{!minimalistView &&
|
|
70
74
|
<ExpandablePanel initiallyExpanded={expanded}
|
|
71
75
|
title={title}
|
|
72
76
|
className={"px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2"}>
|
|
73
77
|
{body}
|
|
74
78
|
</ExpandablePanel>}
|
|
75
79
|
|
|
76
|
-
{
|
|
80
|
+
{minimalistView && body}
|
|
77
81
|
|
|
78
82
|
<FieldHelperText includeDescription={includeDescription}
|
|
79
83
|
showError={showError}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { useCallback, useMemo } from "react";
|
|
2
2
|
import { Entity, EntityCollection, EntityReference, FieldProps, ResolvedProperty } from "../../types";
|
|
3
3
|
import { ReferencePreview } from "../../preview";
|
|
4
|
-
import { FieldHelperText, FormikArrayContainer,
|
|
4
|
+
import { FieldHelperText, FormikArrayContainer, LabelWithIconAndTooltip } from "../components";
|
|
5
5
|
import { ErrorView } from "../../components";
|
|
6
6
|
import { getIconForProperty, getReferenceFrom } from "../../util";
|
|
7
7
|
|
|
8
8
|
import { useNavigationController, useReferenceDialog } from "../../hooks";
|
|
9
|
-
import { Button,
|
|
9
|
+
import { Button, cls, ExpandablePanel, fieldBackgroundMixin, Typography } from "@firecms/ui";
|
|
10
10
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
11
11
|
|
|
12
12
|
type ArrayOfReferencesFieldProps = FieldProps<EntityReference[]>;
|
|
@@ -25,7 +25,7 @@ export function ArrayOfReferencesFieldBinding({
|
|
|
25
25
|
showError,
|
|
26
26
|
disabled,
|
|
27
27
|
isSubmitting,
|
|
28
|
-
|
|
28
|
+
minimalistView,
|
|
29
29
|
property,
|
|
30
30
|
includeDescription,
|
|
31
31
|
setValue,
|
|
@@ -80,24 +80,29 @@ export function ArrayOfReferencesFieldBinding({
|
|
|
80
80
|
if (!entryValue)
|
|
81
81
|
return <div>Internal ERROR</div>;
|
|
82
82
|
return (
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
<ReferencePreview
|
|
84
|
+
key={internalId}
|
|
85
|
+
disabled={!ofProperty.path}
|
|
86
|
+
previewProperties={ofProperty.previewProperties}
|
|
87
|
+
size={"medium"}
|
|
88
|
+
onClick={onEntryClick}
|
|
89
|
+
hover={!disabled}
|
|
90
|
+
reference={entryValue}
|
|
91
|
+
includeId={ofProperty.includeId}
|
|
92
|
+
includeEntityLink={ofProperty.includeEntityLink}
|
|
93
|
+
/>
|
|
92
94
|
);
|
|
93
95
|
}, [ofProperty.path, ofProperty.previewProperties, value]);
|
|
94
96
|
|
|
95
|
-
const title = (
|
|
96
|
-
<
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
const title = (<>
|
|
98
|
+
<LabelWithIconAndTooltip
|
|
99
|
+
propertyKey={propertyKey}
|
|
100
|
+
icon={getIconForProperty(property, "small")}
|
|
101
|
+
required={property.validation?.required}
|
|
102
|
+
title={property.name}
|
|
103
|
+
className={"flex-grow text-text-secondary dark:text-text-secondary-dark"}/>
|
|
104
|
+
{Array.isArray(value) && <Typography variant={"caption"} className={"px-4"}>({value.length})</Typography>}
|
|
105
|
+
</>);
|
|
101
106
|
|
|
102
107
|
const body = <>
|
|
103
108
|
{!collection && <ErrorView
|
|
@@ -127,16 +132,16 @@ export function ArrayOfReferencesFieldBinding({
|
|
|
127
132
|
return (
|
|
128
133
|
<>
|
|
129
134
|
|
|
130
|
-
{!
|
|
135
|
+
{!minimalistView &&
|
|
131
136
|
<ExpandablePanel
|
|
132
137
|
titleClassName={fieldBackgroundMixin}
|
|
133
|
-
className={
|
|
138
|
+
className={cls("px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2", fieldBackgroundMixin)}
|
|
134
139
|
initiallyExpanded={expanded}
|
|
135
140
|
title={title}>
|
|
136
141
|
{body}
|
|
137
142
|
</ExpandablePanel>}
|
|
138
143
|
|
|
139
|
-
{
|
|
144
|
+
{minimalistView && body}
|
|
140
145
|
|
|
141
146
|
<FieldHelperText includeDescription={includeDescription}
|
|
142
147
|
showError={showError}
|
|
@@ -2,13 +2,13 @@ import React, { useCallback, useEffect, useState } from "react";
|
|
|
2
2
|
|
|
3
3
|
import { Field, useFormex } from "@firecms/formex";
|
|
4
4
|
|
|
5
|
-
import { FieldHelperText, FormikArrayContainer,
|
|
5
|
+
import { FieldHelperText, FormikArrayContainer, LabelWithIconAndTooltip } from "../components";
|
|
6
6
|
import { PropertyFieldBinding } from "../PropertyFieldBinding";
|
|
7
7
|
import { EnumValuesChip } from "../../preview";
|
|
8
8
|
import { FieldProps, FormContext, PropertyFieldBindingProps, PropertyOrBuilder } from "../../types";
|
|
9
9
|
import { getDefaultValueFor, getIconForProperty, } from "../../util";
|
|
10
10
|
import { DEFAULT_ONE_OF_TYPE, DEFAULT_ONE_OF_VALUE } from "../../util/common";
|
|
11
|
-
import {
|
|
11
|
+
import { cls, ExpandablePanel, paperMixin, Select, SelectItem, Typography } from "@firecms/ui";
|
|
12
12
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -27,7 +27,7 @@ export function BlockFieldBinding<T extends Array<any>>({
|
|
|
27
27
|
isSubmitting,
|
|
28
28
|
setValue,
|
|
29
29
|
setFieldValue,
|
|
30
|
-
|
|
30
|
+
minimalistView,
|
|
31
31
|
property,
|
|
32
32
|
includeDescription,
|
|
33
33
|
underlyingValueHasChanged,
|
|
@@ -61,10 +61,12 @@ export function BlockFieldBinding<T extends Array<any>>({
|
|
|
61
61
|
}, [context, lastAddedId, property.oneOf, propertyKey, value]);
|
|
62
62
|
|
|
63
63
|
const title = (
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
<LabelWithIconAndTooltip
|
|
65
|
+
propertyKey={propertyKey}
|
|
66
|
+
icon={getIconForProperty(property, "small")}
|
|
67
|
+
required={property.validation?.required}
|
|
68
|
+
title={property.name}
|
|
69
|
+
className={"text-text-secondary dark:text-text-secondary-dark"}/>
|
|
68
70
|
);
|
|
69
71
|
|
|
70
72
|
const firstOneOfKey = Object.keys(property.oneOf.properties)[0];
|
|
@@ -84,7 +86,7 @@ export function BlockFieldBinding<T extends Array<any>>({
|
|
|
84
86
|
|
|
85
87
|
<>
|
|
86
88
|
|
|
87
|
-
{!
|
|
89
|
+
{!minimalistView &&
|
|
88
90
|
<ExpandablePanel
|
|
89
91
|
className={"px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2"}
|
|
90
92
|
initiallyExpanded={expanded}
|
|
@@ -92,7 +94,7 @@ export function BlockFieldBinding<T extends Array<any>>({
|
|
|
92
94
|
{body}
|
|
93
95
|
</ExpandablePanel>}
|
|
94
96
|
|
|
95
|
-
{
|
|
97
|
+
{minimalistView && body}
|
|
96
98
|
|
|
97
99
|
<FieldHelperText includeDescription={includeDescription}
|
|
98
100
|
showError={showError}
|
|
@@ -179,8 +181,7 @@ function BlockEntry({
|
|
|
179
181
|
context,
|
|
180
182
|
autoFocus,
|
|
181
183
|
partOfArray: false,
|
|
182
|
-
|
|
183
|
-
tableMode: false
|
|
184
|
+
minimalistView: true
|
|
184
185
|
}
|
|
185
186
|
: undefined;
|
|
186
187
|
|
|
@@ -193,7 +194,7 @@ function BlockEntry({
|
|
|
193
194
|
};
|
|
194
195
|
|
|
195
196
|
return (
|
|
196
|
-
<div className={
|
|
197
|
+
<div className={cls(paperMixin, "bg-transparent p-2 mb-4")}>
|
|
197
198
|
|
|
198
199
|
<Field
|
|
199
200
|
name={typeFieldName}
|
|
@@ -7,6 +7,7 @@ import { useCustomizationController } from "../../hooks";
|
|
|
7
7
|
import { getIconForProperty } from "../../util";
|
|
8
8
|
import { DateTimeField } from "@firecms/ui";
|
|
9
9
|
import { useClearRestoreValue } from "../useClearRestoreValue";
|
|
10
|
+
import { PropertyIdCopyTooltip } from "../../components";
|
|
10
11
|
|
|
11
12
|
type DateTimeFieldProps = FieldProps<Date>;
|
|
12
13
|
|
|
@@ -41,20 +42,22 @@ export function DateTimeFieldBinding({
|
|
|
41
42
|
|
|
42
43
|
return (
|
|
43
44
|
<>
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
45
|
+
<PropertyIdCopyTooltip propertyKey={propertyKey}>
|
|
46
|
+
<DateTimeField
|
|
47
|
+
value={internalValue}
|
|
48
|
+
onChange={(dateValue) => setValue(dateValue)}
|
|
49
|
+
size={"medium"}
|
|
50
|
+
mode={property.mode}
|
|
51
|
+
clearable={property.clearable}
|
|
52
|
+
locale={locale}
|
|
53
|
+
error={showError}
|
|
54
|
+
label={<LabelWithIcon
|
|
55
|
+
icon={getIconForProperty(property, "small")}
|
|
56
|
+
required={property.validation?.required}
|
|
57
|
+
className={showError ? "text-red-500 dark:text-red-500" : "text-text-secondary dark:text-text-secondary-dark"}
|
|
58
|
+
title={property.name}/>}
|
|
59
|
+
/>
|
|
60
|
+
</PropertyIdCopyTooltip>
|
|
58
61
|
|
|
59
62
|
<FieldHelperText includeDescription={includeDescription}
|
|
60
63
|
showError={showError}
|
|
@@ -2,13 +2,13 @@ import React, { useEffect, useState } from "react";
|
|
|
2
2
|
import { DataType, FieldProps, GeoPoint } from "../../types";
|
|
3
3
|
|
|
4
4
|
import { ArrayContainer } from "../../components";
|
|
5
|
-
import { FieldHelperText,
|
|
5
|
+
import { FieldHelperText, LabelWithIconAndTooltip } from "../components";
|
|
6
6
|
import {
|
|
7
7
|
AddIcon,
|
|
8
8
|
ArrowDropDownIcon,
|
|
9
9
|
BooleanSwitchWithLabel,
|
|
10
10
|
Button,
|
|
11
|
-
|
|
11
|
+
cls,
|
|
12
12
|
DateTimeField,
|
|
13
13
|
defaultBorderMixin,
|
|
14
14
|
ExpandablePanel,
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
} from "@firecms/ui";
|
|
22
22
|
import { getDefaultValueForDataType, getIconForProperty } from "../../util";
|
|
23
23
|
import { useCustomizationController } from "../../hooks";
|
|
24
|
+
import { getIn } from "@firecms/formex";
|
|
24
25
|
|
|
25
26
|
type MapEditViewRowState = [number, {
|
|
26
27
|
key: string,
|
|
@@ -40,7 +41,7 @@ export function KeyValueFieldBinding({
|
|
|
40
41
|
disabled,
|
|
41
42
|
property,
|
|
42
43
|
setValue,
|
|
43
|
-
|
|
44
|
+
minimalistView,
|
|
44
45
|
includeDescription,
|
|
45
46
|
underlyingValueHasChanged,
|
|
46
47
|
autoFocus,
|
|
@@ -52,12 +53,17 @@ export function KeyValueFieldBinding({
|
|
|
52
53
|
if (!property.keyValue) {
|
|
53
54
|
throw Error(`Your property ${propertyKey} needs to have the 'keyValue' prop in order to use this field binding`);
|
|
54
55
|
}
|
|
56
|
+
|
|
57
|
+
const initialValues = getIn(context.formex.initialValues, propertyKey);
|
|
58
|
+
|
|
55
59
|
const mapFormView = <MapEditView value={value}
|
|
56
60
|
setValue={setValue}
|
|
57
61
|
disabled={disabled}
|
|
62
|
+
initialValue={initialValues}
|
|
58
63
|
fieldName={property.name ?? propertyKey}/>;
|
|
59
64
|
|
|
60
|
-
const title = <
|
|
65
|
+
const title = <LabelWithIconAndTooltip
|
|
66
|
+
propertyKey={propertyKey}
|
|
61
67
|
icon={getIconForProperty(property, "small")}
|
|
62
68
|
required={property.validation?.required}
|
|
63
69
|
title={property.name}
|
|
@@ -66,11 +72,11 @@ export function KeyValueFieldBinding({
|
|
|
66
72
|
return (
|
|
67
73
|
<>
|
|
68
74
|
|
|
69
|
-
{!
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
{!minimalistView && <ExpandablePanel initiallyExpanded={expanded}
|
|
76
|
+
title={title}
|
|
77
|
+
className={"px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2"}>{mapFormView}</ExpandablePanel>}
|
|
72
78
|
|
|
73
|
-
{
|
|
79
|
+
{minimalistView && mapFormView}
|
|
74
80
|
|
|
75
81
|
<FieldHelperText includeDescription={includeDescription}
|
|
76
82
|
showError={showError}
|
|
@@ -84,6 +90,7 @@ export function KeyValueFieldBinding({
|
|
|
84
90
|
|
|
85
91
|
interface MapEditViewParams<T extends Record<string, any>> {
|
|
86
92
|
value?: T;
|
|
93
|
+
initialValue?: T;
|
|
87
94
|
setValue: (value: (T | null)) => void;
|
|
88
95
|
fieldName?: string,
|
|
89
96
|
disabled?: boolean
|
|
@@ -91,14 +98,15 @@ interface MapEditViewParams<T extends Record<string, any>> {
|
|
|
91
98
|
|
|
92
99
|
function MapEditView<T extends Record<string, any>>({
|
|
93
100
|
value,
|
|
101
|
+
initialValue,
|
|
94
102
|
setValue,
|
|
95
103
|
fieldName,
|
|
96
104
|
disabled
|
|
97
105
|
}: MapEditViewParams<T>) {
|
|
98
106
|
const [internalState, setInternalState] = React.useState<MapEditViewRowState[]>(
|
|
99
|
-
Object.keys(
|
|
107
|
+
Object.keys(initialValue ?? {}).map((key) => [getRandomId(), {
|
|
100
108
|
key,
|
|
101
|
-
dataType: getDataType(
|
|
109
|
+
dataType: getDataType(initialValue?.[key]) ?? "string"
|
|
102
110
|
}])
|
|
103
111
|
);
|
|
104
112
|
|
|
@@ -121,8 +129,6 @@ function MapEditView<T extends Record<string, any>>({
|
|
|
121
129
|
setInternalState(newRowIds);
|
|
122
130
|
}, [value]);
|
|
123
131
|
|
|
124
|
-
const originalValue = React.useRef<T>(value ?? {} as T);
|
|
125
|
-
|
|
126
132
|
const updateDataType = (rowId: number, dataType: DataType) => {
|
|
127
133
|
if (!rowId) {
|
|
128
134
|
console.warn("No key selected for data type update");
|
|
@@ -168,7 +174,7 @@ function MapEditView<T extends Record<string, any>>({
|
|
|
168
174
|
}
|
|
169
175
|
|
|
170
176
|
const newValue = { ...(value ?? {}) } as T;
|
|
171
|
-
if (typeof
|
|
177
|
+
if (typeof initialValue === "object" && fieldKey in initialValue) {
|
|
172
178
|
// @ts-ignore
|
|
173
179
|
newValue[fieldKey] = undefined; // set to undefined to remove from the object, the datasource will remove it from the backend
|
|
174
180
|
} else {
|
|
@@ -186,7 +192,7 @@ function MapEditView<T extends Record<string, any>>({
|
|
|
186
192
|
value={value ?? {} as T}
|
|
187
193
|
onDeleteClick={() => {
|
|
188
194
|
const newValue = { ...(value ?? {}) as T };
|
|
189
|
-
if (
|
|
195
|
+
if (initialValue && fieldKey in initialValue) {
|
|
190
196
|
// @ts-ignore
|
|
191
197
|
newValue[fieldKey] = undefined;
|
|
192
198
|
} else {
|
|
@@ -305,7 +311,7 @@ function MapKeyValueRow<T extends Record<string, any>>({
|
|
|
305
311
|
}}/>;
|
|
306
312
|
} else if (dataType === "boolean") {
|
|
307
313
|
return <BooleanSwitchWithLabel value={entryValue}
|
|
308
|
-
size={"
|
|
314
|
+
size={"medium"}
|
|
309
315
|
position={"start"}
|
|
310
316
|
disabled={disabled || !fieldKey}
|
|
311
317
|
onValueChange={(newValue) => {
|
|
@@ -316,7 +322,7 @@ function MapKeyValueRow<T extends Record<string, any>>({
|
|
|
316
322
|
}}/>;
|
|
317
323
|
} else if (dataType === "array") {
|
|
318
324
|
return <div
|
|
319
|
-
className={
|
|
325
|
+
className={cls(defaultBorderMixin, "ml-2 pl-2 border-l border-solid")}>
|
|
320
326
|
<ArrayContainer value={entryValue}
|
|
321
327
|
newDefaultEntry={""}
|
|
322
328
|
droppableId={rowId.toString()}
|
|
@@ -349,7 +355,7 @@ function MapKeyValueRow<T extends Record<string, any>>({
|
|
|
349
355
|
</div>;
|
|
350
356
|
} else if (dataType === "map") {
|
|
351
357
|
return <div
|
|
352
|
-
className={
|
|
358
|
+
className={cls(defaultBorderMixin, "ml-2 pl-2 border-l border-solid")}>
|
|
353
359
|
<MapEditView value={entryValue}
|
|
354
360
|
fieldName={fieldKey}
|
|
355
361
|
setValue={(updatedValue) => {
|
|
@@ -375,7 +381,7 @@ function MapKeyValueRow<T extends Record<string, any>>({
|
|
|
375
381
|
<Typography key={rowId.toString()}
|
|
376
382
|
component={"div"}
|
|
377
383
|
className="font-mono flex flex-row gap-1">
|
|
378
|
-
<div className="w-[
|
|
384
|
+
<div className="w-[300px] max-w-[30%]">
|
|
379
385
|
<TextField
|
|
380
386
|
value={fieldKey}
|
|
381
387
|
placeholder={"key"}
|
|
@@ -389,32 +395,32 @@ function MapKeyValueRow<T extends Record<string, any>>({
|
|
|
389
395
|
<div className="flex-grow">
|
|
390
396
|
{(dataType !== "map" && dataType !== "array") && buildInput(entryValue, fieldKey, dataType)}
|
|
391
397
|
</div>
|
|
392
|
-
<
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
</
|
|
398
|
+
<div className={"flex flex-col"}>
|
|
399
|
+
<Menu
|
|
400
|
+
trigger={<IconButton size={"smallest"}>
|
|
401
|
+
<ArrowDropDownIcon size={"small"}/>
|
|
402
|
+
</IconButton>}
|
|
403
|
+
>
|
|
404
|
+
<MenuItem dense
|
|
405
|
+
onClick={() => doUpdateDataType("string")}>string</MenuItem>
|
|
406
|
+
<MenuItem dense
|
|
407
|
+
onClick={() => doUpdateDataType("number")}>number</MenuItem>
|
|
408
|
+
<MenuItem dense
|
|
409
|
+
onClick={() => doUpdateDataType("boolean")}>boolean</MenuItem>
|
|
410
|
+
<MenuItem dense
|
|
411
|
+
onClick={() => doUpdateDataType("date")}>date</MenuItem>
|
|
412
|
+
<MenuItem dense
|
|
413
|
+
onClick={() => doUpdateDataType("map")}>map</MenuItem>
|
|
414
|
+
<MenuItem dense
|
|
415
|
+
onClick={() => doUpdateDataType("array")}>array</MenuItem>
|
|
416
|
+
</Menu>
|
|
417
|
+
|
|
418
|
+
<IconButton aria-label="delete"
|
|
419
|
+
size={"smallest"}
|
|
420
|
+
onClick={onDeleteClick}>
|
|
421
|
+
<RemoveIcon size={"smallest"}/>
|
|
422
|
+
</IconButton>
|
|
423
|
+
</div>
|
|
418
424
|
</Typography>
|
|
419
425
|
|
|
420
426
|
{(dataType === "map" || dataType === "array") && buildInput(entryValue, fieldKey, dataType)}
|
|
@@ -472,7 +478,7 @@ function ArrayKeyValueRow<T>({
|
|
|
472
478
|
}}/>;
|
|
473
479
|
} else if (dataType === "boolean") {
|
|
474
480
|
return <BooleanSwitchWithLabel value={entryValue}
|
|
475
|
-
size={"
|
|
481
|
+
size={"medium"}
|
|
476
482
|
position={"start"}
|
|
477
483
|
onValueChange={(v) => {
|
|
478
484
|
setValue(v as T);
|
|
@@ -482,7 +488,7 @@ function ArrayKeyValueRow<T>({
|
|
|
482
488
|
Arrays of arrays are not supported.
|
|
483
489
|
</Typography>;
|
|
484
490
|
} else if (dataType === "map") {
|
|
485
|
-
return <div className={
|
|
491
|
+
return <div className={cls(defaultBorderMixin, "ml-2 pl-2 border-l border-solid")}>
|
|
486
492
|
<MapEditView value={entryValue}
|
|
487
493
|
setValue={(updatedValue) => {
|
|
488
494
|
setValue(updatedValue);
|