@vertesia/ui 0.65.0 → 0.67.0
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/lib/esm/core/components/EmptyCollection.js +2 -2
- package/lib/esm/core/components/EmptyCollection.js.map +1 -1
- package/lib/esm/core/components/InputList.js +2 -2
- package/lib/esm/core/components/InputList.js.map +1 -1
- package/lib/esm/core/components/SidePanel.js +1 -1
- package/lib/esm/core/components/SidePanel.js.map +1 -1
- package/lib/esm/core/components/Switch.js +2 -2
- package/lib/esm/core/components/Switch.js.map +1 -1
- package/lib/esm/core/components/shadcn/calendar.js +0 -1
- package/lib/esm/core/components/shadcn/calendar.js.map +1 -1
- package/lib/esm/core/components/shadcn/checkbox.js +0 -1
- package/lib/esm/core/components/shadcn/checkbox.js.map +1 -1
- package/lib/esm/core/components/shadcn/command.js +0 -1
- package/lib/esm/core/components/shadcn/command.js.map +1 -1
- package/lib/esm/core/components/shadcn/dialog.js +0 -1
- package/lib/esm/core/components/shadcn/dialog.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox.js +18 -0
- package/lib/esm/core/components/shadcn/filters/comboBox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +38 -17
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filters.js +11 -5
- package/lib/esm/core/components/shadcn/filters/filters.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/selectFilter.js +1 -1
- package/lib/esm/core/components/shadcn/filters/selectFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/stringListFilter.js +24 -0
- package/lib/esm/core/components/shadcn/filters/stringListFilter.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/textFilter.js +2 -1
- package/lib/esm/core/components/shadcn/filters/textFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/label.js +0 -1
- package/lib/esm/core/components/shadcn/label.js.map +1 -1
- package/lib/esm/features/agent/PayloadBuilder.js +27 -0
- package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +1 -1
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +3 -3
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/esm/features/facets/VEnvironmentFacet.js +24 -0
- package/lib/esm/features/facets/VEnvironmentFacet.js.map +1 -0
- package/lib/esm/features/facets/VFacetsNav.js +69 -26
- package/lib/esm/features/facets/VFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/VInteractionFacet.js +45 -0
- package/lib/esm/features/facets/VInteractionFacet.js.map +1 -0
- package/lib/esm/features/facets/VStringFacet.js +6 -5
- package/lib/esm/features/facets/VStringFacet.js.map +1 -1
- package/lib/esm/features/facets/VUserFacet.js +6 -6
- package/lib/esm/features/facets/VUserFacet.js.map +1 -1
- package/lib/esm/features/layout/GenericPageNavHeader.js +1 -1
- package/lib/esm/features/magic-pdf/TextPageView.js +1 -2
- package/lib/esm/features/magic-pdf/TextPageView.js.map +1 -1
- package/lib/esm/features/store/collections/CollectionsTable.js +9 -5
- package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
- package/lib/esm/features/store/collections/{CollectionsView.js → CreateCollection.js} +6 -14
- package/lib/esm/features/store/collections/CreateCollection.js.map +1 -0
- package/lib/esm/features/store/collections/EditCollectionView.js +1 -1
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/SelectCollection.js +24 -0
- package/lib/esm/features/store/collections/SelectCollection.js.map +1 -0
- package/lib/esm/features/store/collections/index.js +2 -2
- package/lib/esm/features/store/collections/index.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentSearchResults.js +6 -3
- package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentOverview.js +17 -16
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/esm/features/store/objects/components/DocumentIcon.js +7 -10
- package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
- package/lib/esm/features/store/objects/components/DocumentInput.js +1 -2
- package/lib/esm/features/store/objects/components/DocumentInput.js.map +1 -1
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +4 -2
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +1 -2
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SelectDocument.js +9 -3
- package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
- package/lib/esm/features/store/objects/components/SelectDocumentModal.js +2 -2
- package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +1 -1
- package/lib/esm/features/store/objects/layout/documentLayout.js +2 -2
- package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js +4 -2
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
- package/lib/esm/features/store/objects/selection/SelectionActions.js +1 -1
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +7 -10
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +1 -1
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +2 -2
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +1 -1
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js +2 -3
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesTable.js +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +2 -2
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
- package/lib/esm/features/store/types/ObjectSchemaEditor.js +2 -3
- package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
- package/lib/esm/features/store/types/TableLayoutEditor.js +1 -1
- package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
- package/lib/esm/features/store/types/index.js +0 -2
- package/lib/esm/features/store/types/index.js.map +1 -1
- package/lib/esm/features/user/UserInfo.js +1 -2
- package/lib/esm/features/user/UserInfo.js.map +1 -1
- package/lib/esm/features/utils/rendition.js +22 -2
- package/lib/esm/features/utils/rendition.js.map +1 -1
- package/lib/esm/layout/FullHeightLayout.js +2 -4
- package/lib/esm/layout/FullHeightLayout.js.map +1 -1
- package/lib/esm/session/UserSession.js +2 -2
- package/lib/esm/session/UserSession.js.map +1 -1
- package/lib/esm/session/auth/composable.js +1 -1
- package/lib/esm/session/auth/composable.js.map +1 -1
- package/lib/esm/session/constants.js +3 -0
- package/lib/esm/session/constants.js.map +1 -0
- package/lib/esm/widgets/codemirror/CodeMirrorEditor.js +2 -2
- package/lib/esm/widgets/codemirror/CodeMirrorEditor.js.map +1 -1
- package/lib/esm/widgets/properties/PropertiesView.js +4 -2
- package/lib/esm/widgets/properties/PropertiesView.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +1 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/InputList.d.ts +2 -1
- package/lib/types/core/components/Switch.d.ts +2 -1
- package/lib/types/core/components/shadcn/filters/comboBox.d.ts +5 -0
- package/lib/types/core/components/shadcn/filters/stringListFilter.d.ts +10 -0
- package/lib/types/core/components/shadcn/filters/types.d.ts +3 -3
- package/lib/types/features/agent/PayloadBuilder.d.ts +8 -1
- package/lib/types/features/facets/VEnvironmentFacet.d.ts +11 -0
- package/lib/types/features/facets/VFacetsNav.d.ts +9 -1
- package/lib/types/features/facets/VInteractionFacet.d.ts +14 -0
- package/lib/types/features/facets/VStringFacet.d.ts +3 -2
- package/lib/types/features/facets/VUserFacet.d.ts +3 -2
- package/lib/types/features/store/collections/{CollectionsView.d.ts → CreateCollection.d.ts} +5 -3
- package/lib/types/features/store/collections/SelectCollection.d.ts +14 -0
- package/lib/types/features/store/collections/index.d.ts +2 -2
- package/lib/types/features/store/objects/components/ContentOverview.d.ts +2 -1
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
- package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts +2 -1
- package/lib/types/features/store/objects/layout/documentLayout.d.ts +1 -1
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +3 -2
- package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts +2 -1
- package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts +2 -1
- package/lib/types/features/store/types/index.d.ts +0 -2
- package/lib/types/features/utils/rendition.d.ts +1 -1
- package/lib/types/session/UserSession.d.ts +2 -2
- package/lib/types/session/constants.d.ts +2 -0
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-layout.js +1 -1
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/package.json +4 -4
- package/src/core/components/EmptyCollection.tsx +26 -24
- package/src/core/components/InputList.tsx +3 -1
- package/src/core/components/SidePanel.tsx +2 -2
- package/src/core/components/Switch.tsx +4 -3
- package/src/core/components/shadcn/calendar.tsx +0 -2
- package/src/core/components/shadcn/checkbox.tsx +0 -2
- package/src/core/components/shadcn/command.tsx +0 -2
- package/src/core/components/shadcn/dialog.tsx +0 -2
- package/src/core/components/shadcn/filters/comboBox.tsx +73 -0
- package/src/core/components/shadcn/filters/filterBar.tsx +41 -17
- package/src/core/components/shadcn/filters/filters.tsx +30 -14
- package/src/core/components/shadcn/filters/selectFilter.tsx +3 -3
- package/src/core/components/shadcn/filters/stringListFilter.tsx +58 -0
- package/src/core/components/shadcn/filters/textFilter.tsx +2 -1
- package/src/core/components/shadcn/filters/types.ts +3 -3
- package/src/core/components/shadcn/label.tsx +0 -2
- package/src/features/agent/PayloadBuilder.tsx +34 -1
- package/src/features/agent/chat/ModernAgentConversation.tsx +639 -639
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +12 -13
- package/src/features/facets/VEnvironmentFacet.tsx +42 -0
- package/src/features/facets/VFacetsNav.tsx +87 -29
- package/src/features/facets/VInteractionFacet.tsx +73 -0
- package/src/features/facets/VStringFacet.tsx +7 -6
- package/src/features/facets/VUserFacet.tsx +7 -6
- package/src/features/layout/GenericPageNavHeader.tsx +1 -1
- package/src/features/magic-pdf/TextPageView.tsx +1 -2
- package/src/features/store/collections/CollectionsTable.tsx +49 -40
- package/src/features/store/collections/{CollectionsView.tsx → CreateCollection.tsx} +15 -42
- package/src/features/store/collections/EditCollectionView.tsx +1 -1
- package/src/features/store/collections/SelectCollection.tsx +46 -0
- package/src/features/store/collections/index.ts +2 -2
- package/src/features/store/objects/DocumentSearchResults.tsx +6 -3
- package/src/features/store/objects/components/ContentOverview.tsx +38 -98
- package/src/features/store/objects/components/DocumentIcon.tsx +27 -14
- package/src/features/store/objects/components/DocumentInput.tsx +1 -2
- package/src/features/store/objects/components/PropertiesEditorModal.tsx +7 -3
- package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +2 -2
- package/src/features/store/objects/components/SelectDocument.tsx +18 -3
- package/src/features/store/objects/components/SelectDocumentModal.tsx +6 -6
- package/src/features/store/objects/layout/documentLayout.tsx +2 -2
- package/src/features/store/objects/search/DocumentSearchContext.ts +6 -3
- package/src/features/store/objects/selection/ObjectsActionContext.tsx +1 -1
- package/src/features/store/objects/selection/SelectionActions.tsx +0 -1
- package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +10 -21
- package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +1 -1
- package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +2 -2
- package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +1 -1
- package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +1 -1
- package/src/features/store/types/ContentObjectTypesSearch.tsx +3 -4
- package/src/features/store/types/ContentObjectTypesTable.tsx +3 -1
- package/src/features/store/types/CreateOrUpdateTypeModal.tsx +2 -9
- package/src/features/store/types/ObjectSchemaEditor.tsx +4 -5
- package/src/features/store/types/TableLayoutEditor.tsx +4 -4
- package/src/features/store/types/index.ts +0 -2
- package/src/features/user/UserInfo.tsx +1 -2
- package/src/features/utils/rendition.ts +23 -1
- package/src/layout/FullHeightLayout.tsx +2 -2
- package/src/session/UserSession.ts +2 -2
- package/src/session/auth/composable.ts +1 -1
- package/src/session/constants.ts +2 -0
- package/src/widgets/codemirror/CodeMirrorEditor.tsx +2 -2
- package/src/widgets/properties/PropertiesView.tsx +10 -2
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +1 -1
- package/lib/esm/features/store/collections/CollectionView.js +0 -53
- package/lib/esm/features/store/collections/CollectionView.js.map +0 -1
- package/lib/esm/features/store/collections/CollectionsView.js.map +0 -1
- package/lib/esm/features/store/types/ContentObjectTypeView.js +0 -158
- package/lib/esm/features/store/types/ContentObjectTypeView.js.map +0 -1
- package/lib/esm/features/store/types/ContentObjectTypesView.js +0 -55
- package/lib/esm/features/store/types/ContentObjectTypesView.js.map +0 -1
- package/lib/types/features/store/collections/CollectionView.d.ts +0 -5
- package/lib/types/features/store/types/ContentObjectTypeView.d.ts +0 -5
- package/lib/types/features/store/types/ContentObjectTypesView.d.ts +0 -8
- package/src/features/store/collections/CollectionView.tsx +0 -94
- package/src/features/store/types/ContentObjectTypeView.tsx +0 -244
- package/src/features/store/types/ContentObjectTypesView.tsx +0 -71
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useToast } from "@vertesia/ui/core";
|
|
2
2
|
import { useUserSession } from "@vertesia/ui/session";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
|
-
import { SelectContentTypeModal } from "
|
|
4
|
+
import { SelectContentTypeModal } from "../../../types";
|
|
5
5
|
import { useObjectsActionCallback } from "../ObjectsActionContext";
|
|
6
6
|
import { ActionComponentTypeProps, ObjectsActionSpec } from "../ObjectsActionSpec";
|
|
7
7
|
|
|
@@ -4,12 +4,12 @@ import { useToast } from '@vertesia/ui/core';
|
|
|
4
4
|
import { useNavigate } from "@vertesia/ui/router";
|
|
5
5
|
import { useUserSession } from '@vertesia/ui/session';
|
|
6
6
|
|
|
7
|
-
import { useDocumentSearch } from '
|
|
7
|
+
import { useDocumentSearch } from '../../search/DocumentSearchContext';
|
|
8
8
|
import { useObjectsActionContext } from '../ObjectsActionContext';
|
|
9
9
|
import { ActionComponentTypeProps, ObjectsActionSpec } from '../ObjectsActionSpec';
|
|
10
10
|
import ConfirmAction from './ConfirmAction';
|
|
11
11
|
|
|
12
|
-
function DeleteObjectsActionComponent({ action, objectIds, children }: ActionComponentTypeProps) {
|
|
12
|
+
export function DeleteObjectsActionComponent({ action, objectIds, children }: ActionComponentTypeProps) {
|
|
13
13
|
const ctx = useObjectsActionContext();
|
|
14
14
|
|
|
15
15
|
const toast = useToast();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useToast } from "@vertesia/ui/core";
|
|
2
2
|
import { useUserSession } from "@vertesia/ui/session";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
|
-
import { ExportPropertiesModal, ExportTypes } from "
|
|
4
|
+
import { ExportPropertiesModal, ExportTypes } from "../../ExportPropertiesModal";
|
|
5
5
|
import { useObjectsActionCallback } from "../ObjectsActionContext";
|
|
6
6
|
import { ActionComponentTypeProps, ObjectsActionSpec } from "../ObjectsActionSpec";
|
|
7
7
|
|
|
@@ -8,7 +8,7 @@ import { useObjectsActionContext } from '../ObjectsActionContext';
|
|
|
8
8
|
import { ActionComponentTypeProps, ObjectsActionSpec } from '../ObjectsActionSpec';
|
|
9
9
|
import ConfirmAction from './ConfirmAction';
|
|
10
10
|
|
|
11
|
-
function RemoveFromCollectionActionComponent({ action, objectIds, collectionId }: ActionComponentTypeProps) {
|
|
11
|
+
export function RemoveFromCollectionActionComponent({ action, objectIds, collectionId }: ActionComponentTypeProps) {
|
|
12
12
|
const ctx = useObjectsActionContext();
|
|
13
13
|
|
|
14
14
|
const toast = useToast();
|
|
@@ -3,8 +3,7 @@ import { useEffect, useRef, useState } from 'react';
|
|
|
3
3
|
import { ContentObjectTypesTable } from './ContentObjectTypesTable';
|
|
4
4
|
import { useWatchSearchResult } from './search/ObjectTypeSearchContext';
|
|
5
5
|
import { useUserSession } from '@vertesia/ui/session';
|
|
6
|
-
import { EmptyCollection, ErrorBox, Input, SelectBox, useToast } from '@vertesia/ui/core';
|
|
7
|
-
import { useDebounce, useIntersectionObserver } from '@vertesia/ui/core';
|
|
6
|
+
import { EmptyCollection, ErrorBox, Input, SelectBox, useToast, useDebounce, useIntersectionObserver } from '@vertesia/ui/core';
|
|
8
7
|
|
|
9
8
|
import { CreateOrUpdateTypeModal, CreateOrUpdateTypePayload } from './CreateOrUpdateTypeModal';
|
|
10
9
|
|
|
@@ -90,12 +89,12 @@ export function ContentObjectTypesSearch({ isDirty = false }: ContentObjectTypes
|
|
|
90
89
|
};
|
|
91
90
|
|
|
92
91
|
return (
|
|
93
|
-
<div>
|
|
92
|
+
<div className='flex flex-col gap-4 h-full'>
|
|
94
93
|
<div className="flex gap-4">
|
|
95
94
|
<Input placeholder="Filter by Name" value={searchTerm} onChange={setSearchTerm} />
|
|
96
95
|
<SelectBox className="w-60" isClearable options={Object.values(ChunkableOptions)} value={chunkable} onChange={onChunkableChange} placeholder={"Is Chunkable"} />
|
|
97
96
|
</div>
|
|
98
|
-
<div className="
|
|
97
|
+
<div className="flex-1">
|
|
99
98
|
{
|
|
100
99
|
(!isLoading && objects?.length === 0) ?
|
|
101
100
|
<EmptyCollection title="No Type" buttonLabel='Create Type' onClick={onOpenCreateModal}>
|
|
@@ -19,7 +19,8 @@ export function ContentObjectTypesTable({ objects, isLoading }: ContentObjectTyp
|
|
|
19
19
|
<thead>
|
|
20
20
|
<tr>
|
|
21
21
|
<th>Name</th>
|
|
22
|
-
<th>
|
|
22
|
+
<th>Strict Mode</th>
|
|
23
|
+
<th>Semantic Chunking</th>
|
|
23
24
|
<th>Updated At</th>
|
|
24
25
|
</tr>
|
|
25
26
|
</thead>
|
|
@@ -27,6 +28,7 @@ export function ContentObjectTypesTable({ objects, isLoading }: ContentObjectTyp
|
|
|
27
28
|
{objects?.map((obj: any) => (
|
|
28
29
|
<tr key={obj.id} onClick={() => navigate(`/types/${obj.id}`)} className='cursor-pointer hover:bg-muted'>
|
|
29
30
|
<td>{obj.name}</td>
|
|
31
|
+
<td>{obj.strict_mode ? 'Yes' : 'No'}</td>
|
|
30
32
|
<td>{obj.is_chunkable ? 'Yes' : 'No'}</td>
|
|
31
33
|
<td>{dayjs(obj.updated_at).fromNow()}</td>
|
|
32
34
|
</tr>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
|
|
3
|
-
import { Button, Input, Modal, ModalBody, ModalFooter, ModalTitle,
|
|
3
|
+
import { Button, Input, Modal, ModalBody, ModalFooter, ModalTitle, useToast, Textarea } from '@vertesia/ui/core';
|
|
4
4
|
|
|
5
5
|
export interface CreateOrUpdateTypePayload {
|
|
6
6
|
name: string;
|
|
@@ -48,14 +48,7 @@ export function CreateOrUpdateTypeModal({ title, isOpen, onClose, okLabel, initi
|
|
|
48
48
|
</div>
|
|
49
49
|
<div>
|
|
50
50
|
<label className="block text-sm font-medium text-muted">Description</label>
|
|
51
|
-
<
|
|
52
|
-
</div>
|
|
53
|
-
<div className="flex items-center justify-between">
|
|
54
|
-
<label className="block text-sm font-medium text-muted-foreground">Strict Mode</label>
|
|
55
|
-
<Switch value={strictMode} onChange={setStrictMode} />
|
|
56
|
-
</div>
|
|
57
|
-
<div className="text-xs text-muted-foreground">
|
|
58
|
-
When enabled, objects will be validated against the schema at generation and save time.
|
|
51
|
+
<Textarea value={description} onChange={setDescription} />
|
|
59
52
|
</div>
|
|
60
53
|
</div>
|
|
61
54
|
</ModalBody>
|
|
@@ -3,9 +3,8 @@ import { useMemo, useRef, useState } from 'react';
|
|
|
3
3
|
|
|
4
4
|
import { useUserSession } from '@vertesia/ui/session';
|
|
5
5
|
import { json } from '@codemirror/lang-json';
|
|
6
|
-
import { CodeMirrorEditor, EditorApi } from '@vertesia/ui/widgets';
|
|
6
|
+
import { CodeMirrorEditor, EditorApi, SchemaEditor, useSchema } from '@vertesia/ui/widgets';
|
|
7
7
|
import { Button, useToast } from '@vertesia/ui/core';
|
|
8
|
-
import { SchemaEditor, useSchema } from '@vertesia/ui/widgets';
|
|
9
8
|
import { ContentObjectType } from '@vertesia/common';
|
|
10
9
|
|
|
11
10
|
const CODE_MIRROR_EXTENSIONS = [basicSetup, json()];
|
|
@@ -85,9 +84,9 @@ export function ObjectSchemaEditor({ objectType, onSchemaUpdate }: ObjectSchemaE
|
|
|
85
84
|
};
|
|
86
85
|
|
|
87
86
|
return (
|
|
88
|
-
<div className="mx-2 my-2 rounded-
|
|
89
|
-
<div className="flex items-center rounded-t-md border-b gap-x-2 py-2
|
|
90
|
-
<div className="text-
|
|
87
|
+
<div className="mx-2 my-2 rounded-2xl border border-solid shadow-md border-spacing-2">
|
|
88
|
+
<div className="flex items-center rounded-t-md border-b gap-x-2 py-2 pl-4 pr-2">
|
|
89
|
+
<div className="text-base font-semibold">Schema Editor</div>
|
|
91
90
|
<div>
|
|
92
91
|
<Button variant="outline" size="sm" onClick={handleOnSave}>
|
|
93
92
|
{
|
|
@@ -81,11 +81,11 @@ export function TableLayoutEditor({ objectType, onLayoutUpdate }: TableLayoutEdi
|
|
|
81
81
|
|
|
82
82
|
|
|
83
83
|
return (
|
|
84
|
-
<div className="mx-2 my-2 rounded-
|
|
85
|
-
<div className="flex items-center rounded-t-md gap-x-2
|
|
86
|
-
<div className="text-
|
|
84
|
+
<div className="mx-2 my-2 rounded-2xl border border-solid shadow-xs">
|
|
85
|
+
<div className="flex items-center rounded-t-md border-b gap-x-2 py-2 pl-4 pr-2">
|
|
86
|
+
<div className="text-base font-semibold ">Table Layout Editor</div>
|
|
87
87
|
<div className="ml-auto flex gap-x-2">
|
|
88
|
-
<Button isLoading={isUpdating} variant="
|
|
88
|
+
<Button isLoading={isUpdating} variant="outline" size="sm" onClick={onSave}>Save Changes</Button>
|
|
89
89
|
</div>
|
|
90
90
|
</div>
|
|
91
91
|
<div className="px-4 py-2">
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export * from "./ContentObjectTypesSearch";
|
|
2
2
|
export * from "./ContentObjectTypesTable";
|
|
3
|
-
export * from "./ContentObjectTypesView";
|
|
4
|
-
export * from "./ContentObjectTypeView";
|
|
5
3
|
export * from "./CreateOrUpdateTypeModal";
|
|
6
4
|
export * from "./ObjectSchemaEditor";
|
|
7
5
|
export * from "./search";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { useUserSession } from "@vertesia/ui/session";
|
|
2
2
|
import { ApiKey, ApiKeyTypes, PrincipalType, User } from "@vertesia/common";
|
|
3
|
-
import { Avatar, Table, Popover, PopoverContent, PopoverTrigger } from "@vertesia/ui/core";
|
|
4
|
-
import { useFetch } from "@vertesia/ui/core";
|
|
3
|
+
import { Avatar, Table, Popover, PopoverContent, PopoverTrigger, useFetch } from "@vertesia/ui/core";
|
|
5
4
|
import { ReactNode } from "react";
|
|
6
5
|
|
|
7
6
|
//TODO use a real cache
|
|
@@ -18,6 +18,7 @@ export async function retrieveRendition(
|
|
|
18
18
|
doc: ContentObjectItem,
|
|
19
19
|
setRenditionUrl: (url: string) => void,
|
|
20
20
|
setRenditionAlt: (alt: string) => void,
|
|
21
|
+
setRenditionStatus: (status: string) => void,
|
|
21
22
|
) {
|
|
22
23
|
if (
|
|
23
24
|
!doc?.content?.type ||
|
|
@@ -27,9 +28,11 @@ export async function retrieveRendition(
|
|
|
27
28
|
isPdf(doc.content.type)
|
|
28
29
|
)
|
|
29
30
|
) {
|
|
31
|
+
setRenditionStatus("No preview available");
|
|
30
32
|
return;
|
|
31
33
|
}
|
|
32
34
|
|
|
35
|
+
setRenditionStatus("Preparing preview...");
|
|
33
36
|
const currentTime = new Date().getTime() / 1000;
|
|
34
37
|
|
|
35
38
|
const savedId = localStorage.getItem(
|
|
@@ -46,16 +49,27 @@ export async function retrieveRendition(
|
|
|
46
49
|
) {
|
|
47
50
|
setRenditionUrl(savedId);
|
|
48
51
|
setRenditionAlt(`${doc.name} Rendition`);
|
|
52
|
+
setRenditionStatus("ready");
|
|
49
53
|
return savedId;
|
|
50
54
|
}
|
|
51
55
|
|
|
56
|
+
setRenditionStatus("Preparing preview...");
|
|
52
57
|
client.objects.getRendition(doc.id, RENDITION_OPTIONS).then((response) => {
|
|
53
58
|
if (response.status === "generating") {
|
|
54
|
-
|
|
59
|
+
setRenditionStatus("Preparing preview...");
|
|
60
|
+
setRenditionUrl("");
|
|
61
|
+
setRenditionAlt("");
|
|
62
|
+
setTimeout(() => retrieveRendition(client, doc, setRenditionUrl, setRenditionAlt, setRenditionStatus), 60000);
|
|
55
63
|
} else if (response.status === "failed") {
|
|
64
|
+
setRenditionStatus("No preview available");
|
|
65
|
+
setRenditionUrl("");
|
|
66
|
+
setRenditionAlt("");
|
|
56
67
|
return;
|
|
57
68
|
} else {
|
|
58
69
|
if (!response?.renditions?.length) {
|
|
70
|
+
setRenditionStatus("No preview available");
|
|
71
|
+
setRenditionUrl("");
|
|
72
|
+
setRenditionAlt("");
|
|
59
73
|
return;
|
|
60
74
|
}
|
|
61
75
|
const rendition = response.renditions[0];
|
|
@@ -70,6 +84,14 @@ export async function retrieveRendition(
|
|
|
70
84
|
);
|
|
71
85
|
setRenditionUrl(rendition);
|
|
72
86
|
setRenditionAlt(`${doc.name} Rendition`);
|
|
87
|
+
setRenditionStatus("ready");
|
|
88
|
+
console.log(`Rendition for document ${doc.id} retrieved successfully: ${rendition}`);
|
|
73
89
|
}
|
|
90
|
+
}).catch((error) => {
|
|
91
|
+
|
|
92
|
+
setRenditionStatus("No preview available");
|
|
93
|
+
console.warn("Failed to retrieve rendition:", error);
|
|
94
|
+
setRenditionUrl("");
|
|
95
|
+
setRenditionAlt("");
|
|
74
96
|
});
|
|
75
97
|
}
|
|
@@ -12,7 +12,7 @@ export function FullHeightLayout({ className, children }: FlexibleHeightLayoutPr
|
|
|
12
12
|
"flex flex-col",
|
|
13
13
|
"h-full",
|
|
14
14
|
"overflow-y-auto",
|
|
15
|
-
|
|
15
|
+
"px-2",
|
|
16
16
|
className
|
|
17
17
|
)}
|
|
18
18
|
>
|
|
@@ -50,7 +50,7 @@ FullHeightLayout.Body = function Body({ className, children }: BodyProps) {
|
|
|
50
50
|
className={clsx(
|
|
51
51
|
"grow overflow-auto",
|
|
52
52
|
"min-h-0",
|
|
53
|
-
"
|
|
53
|
+
"p-2",
|
|
54
54
|
className
|
|
55
55
|
)}
|
|
56
56
|
>
|
|
@@ -9,8 +9,8 @@ import { getComposableToken } from './auth/composable';
|
|
|
9
9
|
import { getFirebaseAuth } from './auth/firebase';
|
|
10
10
|
import { TypeRegistry } from './TypeRegistry';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
export
|
|
12
|
+
import { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY } from './constants';
|
|
13
|
+
export { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY };
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class UserSession {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { AuthTokenPayload } from "@vertesia/common";
|
|
5
5
|
import { jwtDecode } from "jwt-decode";
|
|
6
6
|
import { Env } from '@vertesia/ui/env';
|
|
7
|
-
import { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY } from '../
|
|
7
|
+
import { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY } from '../constants';
|
|
8
8
|
import { getFirebaseAuth, getFirebaseAuthToken } from './firebase';
|
|
9
9
|
|
|
10
10
|
let AUTH_TOKEN_RAW: string | undefined;
|
|
@@ -30,8 +30,8 @@ const customTheme = EditorView.theme({
|
|
|
30
30
|
".cm-gutters": { backgroundColor: "transparent", color: "#ddd" },
|
|
31
31
|
".cm-focused": { outline: "none" },
|
|
32
32
|
".cm-cursor": {
|
|
33
|
-
borderLeft: "2px solid #
|
|
34
|
-
borderLeftColor: "#
|
|
33
|
+
borderLeft: "2px solid #808080",
|
|
34
|
+
borderLeftColor: "#808080",
|
|
35
35
|
animation: "blink 1.2s step-start infinite"
|
|
36
36
|
},
|
|
37
37
|
"@keyframes blink": { "50%": { opacity: 0 } }
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Table } from "@vertesia/ui/core";
|
|
1
|
+
import { Table, VTooltip } from "@vertesia/ui/core";
|
|
2
|
+
import { Info } from "lucide-react";
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
interface PropertiesViewProps {
|
|
@@ -12,8 +13,15 @@ export function PropertiesView({ className, properties }: PropertiesViewProps) {
|
|
|
12
13
|
{
|
|
13
14
|
properties.map((property) => (
|
|
14
15
|
<tr key={property.name}>
|
|
15
|
-
<td className='w-1/3 font-semibold' >
|
|
16
|
+
<td className='w-1/3 font-semibold gap-2' >
|
|
16
17
|
<span>{property.name}</span>
|
|
18
|
+
{property.description &&
|
|
19
|
+
<VTooltip
|
|
20
|
+
description={property.description}
|
|
21
|
+
placement="top">
|
|
22
|
+
<Info className="size-3 ml-2 text-muted-foreground" />
|
|
23
|
+
</VTooltip>
|
|
24
|
+
}
|
|
17
25
|
</td>
|
|
18
26
|
<td className='w-2/3'>{property.value ?? 'undefined'}</td>
|
|
19
27
|
</tr>
|
|
@@ -154,7 +154,7 @@ function AddPropertyButton({ parent }: AddPropertyButtonProps) {
|
|
|
154
154
|
parent.reloadTree();
|
|
155
155
|
}
|
|
156
156
|
return (
|
|
157
|
-
<Button variant="
|
|
157
|
+
<Button variant="ghost" onClick={add}>
|
|
158
158
|
<Plus className='size-4' />Add property
|
|
159
159
|
</Button>
|
|
160
160
|
)
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { ErrorBox, Spinner, useFetch, VTabs, VTabsBar, VTabsPanel } from "@vertesia/ui/core";
|
|
3
|
-
import { FullHeightLayout } from "@vertesia/ui/layout";
|
|
4
|
-
import { NavLink } from "@vertesia/ui/router";
|
|
5
|
-
import { useUserSession } from "@vertesia/ui/session";
|
|
6
|
-
import { PanelErrorBoundary } from "../../errors";
|
|
7
|
-
import { GenericPageNavHeader } from "../../layout";
|
|
8
|
-
import { DocumentSearchProvider, DocumentSelectionProvider } from "../../store";
|
|
9
|
-
import { SelectionActions, UploadObjectsButton } from "../objects/selection/SelectionActions";
|
|
10
|
-
import { BrowseCollectionView } from "./BrowseCollectionView";
|
|
11
|
-
import { EditCollectionView } from "./EditCollectionView";
|
|
12
|
-
const facets = [
|
|
13
|
-
{
|
|
14
|
-
name: 'status',
|
|
15
|
-
field: 'status'
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: 'type',
|
|
19
|
-
field: 'type'
|
|
20
|
-
}
|
|
21
|
-
];
|
|
22
|
-
export function CollectionView({ collectionId }) {
|
|
23
|
-
const { client } = useUserSession();
|
|
24
|
-
const { data: collection, error, refetch, isLoading } = useFetch(() => client.store.collections.retrieve(collectionId), [collectionId]);
|
|
25
|
-
if (error) {
|
|
26
|
-
return _jsx(ErrorBox, { title: 'Collection fetch failed', children: error.message });
|
|
27
|
-
}
|
|
28
|
-
const actions = [
|
|
29
|
-
_jsx(SelectionActions, {}, 'selection'),
|
|
30
|
-
_jsx(UploadObjectsButton, { collectionId: collectionId ?? '' }, "upload")
|
|
31
|
-
];
|
|
32
|
-
const title = (_jsx("div", { className: 'flex gap-x-1 items-center', children: _jsx("div", { children: collection?.name || '' }) }));
|
|
33
|
-
const breadcrumbs = [
|
|
34
|
-
_jsx(NavLink, { href: '/collections', children: "Collections" }, 'collections'),
|
|
35
|
-
_jsx("span", { children: "Collection Detail" }, 'collection-detail')
|
|
36
|
-
];
|
|
37
|
-
const tabs = [
|
|
38
|
-
{
|
|
39
|
-
name: 'browse',
|
|
40
|
-
label: 'Browse',
|
|
41
|
-
content: _jsx(BrowseCollectionView, { collection: collection })
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'metadata',
|
|
45
|
-
label: 'Metadata',
|
|
46
|
-
content: _jsx(EditCollectionView, { collection: collection, refetch: refetch })
|
|
47
|
-
}
|
|
48
|
-
];
|
|
49
|
-
return (_jsx(FullHeightLayout, { children: _jsx(DocumentSearchProvider, { facets: facets, collectionId: collectionId, children: _jsxs(DocumentSelectionProvider, { collectionId: collectionId, children: [_jsx(GenericPageNavHeader, { title: title, description: collection?.description || '', actions: actions, breadcrumbs: breadcrumbs }), _jsxs(VTabs, { defaultValue: "browse", tabs: tabs, children: [_jsx(VTabsBar, { className: "px-4" }), isLoading ?
|
|
50
|
-
_jsx("div", { className: "w-full flex justify-center", children: _jsx(Spinner, {}) }) :
|
|
51
|
-
_jsx("div", { className: "h-[calc(100vh-165px)] overflow-auto px-4 py-2", children: _jsx(PanelErrorBoundary, { children: _jsx(VTabsPanel, {}) }) })] })] }) }) }));
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=CollectionView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionView.js","sourceRoot":"","sources":["../../../../../src/features/store/collections/CollectionView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionsView.js","sourceRoot":"","sources":["../../../../../src/features/store/collections/CollectionsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import dayjs from 'dayjs';
|
|
3
|
-
import LocalizedFormat from 'dayjs/plugin/localizedFormat';
|
|
4
|
-
import { useState } from 'react';
|
|
5
|
-
import { Button, Center, ErrorBox, Popover, PopoverContent, PopoverTrigger, Spinner, Switch, Tabs, TabsBar, TabsPanel, useFetch, useToast } from '@vertesia/ui/core';
|
|
6
|
-
import { FullHeightLayout } from '@vertesia/ui/layout';
|
|
7
|
-
import { useLocation, useNavigate } from "@vertesia/ui/router";
|
|
8
|
-
import { useUserSession } from '@vertesia/ui/session';
|
|
9
|
-
import { PropertiesView } from '@vertesia/ui/widgets';
|
|
10
|
-
import { EllipsisVertical, SquarePen, Trash2 } from 'lucide-react';
|
|
11
|
-
import { GenericPageNavHeader } from "../../layout";
|
|
12
|
-
import { UserInfo } from '../../user/UserInfo';
|
|
13
|
-
import { CreateOrUpdateTypeModal } from './CreateOrUpdateTypeModal';
|
|
14
|
-
import { ObjectSchemaEditor } from './ObjectSchemaEditor';
|
|
15
|
-
import { TableLayoutEditor } from './TableLayoutEditor';
|
|
16
|
-
dayjs.extend(LocalizedFormat);
|
|
17
|
-
export function ContentObjectTypeView({ typeId }) {
|
|
18
|
-
const { store, user } = useUserSession();
|
|
19
|
-
const { hash } = useLocation();
|
|
20
|
-
const currentTab = hash ? hash.substring(1) : undefined;
|
|
21
|
-
let { data: objectType, isLoading, error, refetch } = useFetch(() => {
|
|
22
|
-
if (user) {
|
|
23
|
-
return store.types.retrieve(typeId);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return Promise.resolve(undefined);
|
|
27
|
-
}
|
|
28
|
-
}, [user]);
|
|
29
|
-
if (error) {
|
|
30
|
-
return _jsx(ErrorBox, { title: "Error", children: error.message });
|
|
31
|
-
}
|
|
32
|
-
if (isLoading) {
|
|
33
|
-
return _jsx(Center, { className: "py-10", children: _jsx(Spinner, { size: 'lg' }) });
|
|
34
|
-
}
|
|
35
|
-
if (!objectType) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
const actions = [
|
|
39
|
-
_jsx(DeleteTypeButton, { objectType: objectType }, "delete")
|
|
40
|
-
];
|
|
41
|
-
const onSchemaUpdate = (value) => {
|
|
42
|
-
objectType.object_schema = value.schema;
|
|
43
|
-
};
|
|
44
|
-
const onLayoutUpdate = (value) => {
|
|
45
|
-
objectType.table_layout = value;
|
|
46
|
-
};
|
|
47
|
-
const tabs = [
|
|
48
|
-
{ name: 'metadata', label: "Metadata", href: "#metadata", content: _jsx(MetadataView, { objectType: objectType }) },
|
|
49
|
-
{ name: 'schema', label: "Object Schema", href: "#schema", content: _jsx(ObjectSchemaEditor, { objectType: objectType, onSchemaUpdate: onSchemaUpdate }) },
|
|
50
|
-
{ name: 'layout', label: "Table Layout", href: "#layout", content: _jsx(TableLayoutEditor, { objectType: objectType, onLayoutUpdate: onLayoutUpdate }) },
|
|
51
|
-
];
|
|
52
|
-
const breadcrumbs = [breadcrumb()];
|
|
53
|
-
const title = pageTitle(objectType, refetch);
|
|
54
|
-
const description = objectType.description;
|
|
55
|
-
return (_jsxs(FullHeightLayout, { children: [_jsx(GenericPageNavHeader, { title: title, description: description, actions: [actions], breadcrumbs: breadcrumbs }), _jsxs(Tabs, { tabs: tabs, current: currentTab, children: [_jsx(TabsBar, {}), _jsx(FullHeightLayout.Body, { children: _jsx("div", { className: "h-[calc(100vh-187px)] overflow-auto", children: _jsx(TabsPanel, {}) }) })] })] }));
|
|
56
|
-
}
|
|
57
|
-
function breadcrumb() {
|
|
58
|
-
return _jsx("span", { children: "Content Type" });
|
|
59
|
-
}
|
|
60
|
-
function pageTitle(objectType, refetch) {
|
|
61
|
-
return _jsx(PageTitle, { objectType: objectType, refetch: refetch });
|
|
62
|
-
}
|
|
63
|
-
function PageTitle({ objectType, refetch }) {
|
|
64
|
-
const toast = useToast();
|
|
65
|
-
const session = useUserSession();
|
|
66
|
-
const { store } = session;
|
|
67
|
-
const [showEditModal, setShowEditModal] = useState(false);
|
|
68
|
-
const onCloseEditModal = (payload) => {
|
|
69
|
-
if (!payload) {
|
|
70
|
-
setShowEditModal(false);
|
|
71
|
-
return Promise.resolve();
|
|
72
|
-
}
|
|
73
|
-
return store.types.update(objectType.id, payload).then(() => {
|
|
74
|
-
toast({
|
|
75
|
-
status: 'success',
|
|
76
|
-
title: 'Type updated',
|
|
77
|
-
duration: 2000
|
|
78
|
-
});
|
|
79
|
-
return refetch().finally(() => session.reloadTypes());
|
|
80
|
-
}).catch(err => {
|
|
81
|
-
toast({
|
|
82
|
-
status: 'error',
|
|
83
|
-
title: 'Error updating type',
|
|
84
|
-
description: err.message,
|
|
85
|
-
duration: 5000
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
return _jsxs(_Fragment, { children: [_jsxs("div", { className: 'flex items-center gap-x-2', children: [objectType.name, " ", _jsx(Button, { variant: "ghost", size: "sm", title: "Edit", onClick: () => setShowEditModal(true), children: _jsx(SquarePen, { className: "size-4" }) })] }), _jsx(CreateOrUpdateTypeModal, { okLabel: "Save Changes", title: "Edit Type", isOpen: showEditModal, onClose: onCloseEditModal, initialPayload: objectType })] });
|
|
90
|
-
}
|
|
91
|
-
function MetadataView({ objectType }) {
|
|
92
|
-
return (_jsx(PropertiesView, { className: 'w-full', properties: [
|
|
93
|
-
{ name: "Id", value: objectType.id },
|
|
94
|
-
{ name: "Name", value: objectType.name },
|
|
95
|
-
{ name: "Is Chunkable", value: _jsx(ChunkableSwitch, { objectType: objectType }) },
|
|
96
|
-
{ name: "Strict Mode", value: _jsx(StrictModeSwitch, { objectType: objectType }) },
|
|
97
|
-
{ name: 'Created By', value: _jsx(UserInfo, { userRef: objectType.created_by }) },
|
|
98
|
-
{ name: 'Created At', value: dayjs(objectType.created_at).format('LLL') },
|
|
99
|
-
{ name: 'Updated By', value: _jsx(UserInfo, { userRef: objectType.updated_by }) },
|
|
100
|
-
{ name: 'Updated At', value: dayjs(objectType.updated_at).format('LLL') },
|
|
101
|
-
] }));
|
|
102
|
-
}
|
|
103
|
-
function TypeSwitch({ objectType, field, initialValue }) {
|
|
104
|
-
const [value, setValue] = useState(initialValue ?? false);
|
|
105
|
-
const toast = useToast();
|
|
106
|
-
const { store } = useUserSession();
|
|
107
|
-
const onChange = (value) => {
|
|
108
|
-
store.types.update(objectType.id, {
|
|
109
|
-
[field]: value
|
|
110
|
-
}).then(() => {
|
|
111
|
-
setValue(value);
|
|
112
|
-
toast({
|
|
113
|
-
status: 'success',
|
|
114
|
-
title: 'Successfully Updated.',
|
|
115
|
-
duration: 2000
|
|
116
|
-
});
|
|
117
|
-
}).catch((err) => {
|
|
118
|
-
toast({
|
|
119
|
-
status: 'error',
|
|
120
|
-
title: 'Failed to update.',
|
|
121
|
-
description: err.message,
|
|
122
|
-
duration: 5000
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
return (_jsx(Switch, { value: value, onChange: onChange }));
|
|
127
|
-
}
|
|
128
|
-
function ChunkableSwitch({ objectType }) {
|
|
129
|
-
return (_jsx(TypeSwitch, { objectType: objectType, field: "is_chunkable", initialValue: objectType.is_chunkable ?? false }));
|
|
130
|
-
}
|
|
131
|
-
function StrictModeSwitch({ objectType }) {
|
|
132
|
-
return (_jsx(TypeSwitch, { objectType: objectType, field: "strict_mode", initialValue: objectType.strict_mode ?? false }));
|
|
133
|
-
}
|
|
134
|
-
function DeleteTypeButton({ objectType }) {
|
|
135
|
-
const toast = useToast();
|
|
136
|
-
const navigate = useNavigate();
|
|
137
|
-
const { store } = useUserSession();
|
|
138
|
-
const onDelete = () => {
|
|
139
|
-
confirm('Are you sure you want to delete this rule?') &&
|
|
140
|
-
store.types.delete(objectType.id).then(() => {
|
|
141
|
-
toast({
|
|
142
|
-
status: 'success',
|
|
143
|
-
title: `Object type ${objectType.name} deleted`,
|
|
144
|
-
duration: 2000
|
|
145
|
-
});
|
|
146
|
-
navigate('/types');
|
|
147
|
-
}).catch(err => {
|
|
148
|
-
toast({
|
|
149
|
-
status: 'error',
|
|
150
|
-
title: 'Failed to delete rule',
|
|
151
|
-
description: err.message,
|
|
152
|
-
duration: 5000
|
|
153
|
-
});
|
|
154
|
-
});
|
|
155
|
-
};
|
|
156
|
-
return (_jsxs(Popover, { hover: true, children: [_jsx(PopoverTrigger, { children: _jsx("div", { className: 'cursor-pointer hover:bg-muted p-2 rounded-md', children: _jsx(Button, { variant: "ghost", size: 'sm', title: 'More actions', children: _jsx(EllipsisVertical, {}) }) }) }), _jsx(PopoverContent, { className: 'p-0 w-35', align: 'end', children: _jsx("div", { className: "py-2 px-1.5 flex justify-center w-full", children: _jsxs(Button, { variant: "ghost", onClick: onDelete, className: 'w-full', children: [_jsx(Trash2, { className: 'size-4' }), " Delete"] }) }) })] }));
|
|
157
|
-
}
|
|
158
|
-
//# sourceMappingURL=ContentObjectTypeView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentObjectTypeView.js","sourceRoot":"","sources":["../../../../../src/features/store/types/ContentObjectTypeView.tsx"],"names":[],"mappings":"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"}
|