@object-ui/plugin-designer 3.0.3 → 3.1.1
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 -21
- package/dist/index.js +5122 -2359
- package/dist/index.umd.cjs +2 -2
- package/dist/plugin-designer/src/AppCreationWizard.d.ts +24 -0
- package/dist/plugin-designer/src/BrandingEditor.d.ts +18 -0
- package/dist/plugin-designer/src/DashboardEditor.d.ts +21 -0
- package/dist/plugin-designer/src/DashboardEditor.stories.d.ts +15 -0
- package/dist/plugin-designer/src/EditorModeToggle.d.ts +21 -0
- package/dist/plugin-designer/src/NavigationDesigner.d.ts +19 -0
- package/dist/plugin-designer/src/ObjectViewConfigurator.d.ts +41 -0
- package/dist/plugin-designer/src/PageCanvasEditor.d.ts +24 -0
- package/dist/plugin-designer/src/PageCanvasEditor.stories.d.ts +15 -0
- package/dist/plugin-designer/src/hooks/index.d.ts +3 -0
- package/dist/plugin-designer/src/hooks/useDesignerHistory.d.ts +23 -0
- package/dist/plugin-designer/src/hooks/useDesignerTranslation.d.ts +12 -0
- package/dist/plugin-designer/src/index.d.ts +16 -3
- package/package.json +13 -9
- package/dist/plugin-designer/src/ViewDesigner.d.ts +0 -67
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AppWizardDraft, ObjectSelection } from '../../types/src';
|
|
2
|
+
export interface AppCreationWizardProps {
|
|
3
|
+
/** Available business objects to select from */
|
|
4
|
+
availableObjects?: ObjectSelection[];
|
|
5
|
+
/** Available templates */
|
|
6
|
+
templates?: Array<{
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
}>;
|
|
11
|
+
/** Initial draft state (for editing existing apps) */
|
|
12
|
+
initialDraft?: Partial<AppWizardDraft>;
|
|
13
|
+
/** Callback when wizard completes */
|
|
14
|
+
onComplete?: (draft: AppWizardDraft) => void;
|
|
15
|
+
/** Callback when wizard is cancelled */
|
|
16
|
+
onCancel?: () => void;
|
|
17
|
+
/** Callback to save draft (partial progress) */
|
|
18
|
+
onSaveDraft?: (draft: AppWizardDraft) => void;
|
|
19
|
+
/** Read-only mode */
|
|
20
|
+
readOnly?: boolean;
|
|
21
|
+
/** CSS class */
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function AppCreationWizard({ availableObjects, templates, initialDraft, onComplete, onCancel, onSaveDraft, readOnly, className, }: AppCreationWizardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BrandingConfig } from '../../types/src';
|
|
2
|
+
export interface BrandingEditorProps {
|
|
3
|
+
/** Current branding configuration */
|
|
4
|
+
branding: BrandingConfig;
|
|
5
|
+
/** Callback when branding changes */
|
|
6
|
+
onChange: (branding: BrandingConfig) => void;
|
|
7
|
+
/** Application title for preview */
|
|
8
|
+
appTitle?: string;
|
|
9
|
+
/** Read-only mode */
|
|
10
|
+
readOnly?: boolean;
|
|
11
|
+
/** CSS class */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Callback to export branding config */
|
|
14
|
+
onExport?: (branding: BrandingConfig) => void;
|
|
15
|
+
/** Callback to import branding config */
|
|
16
|
+
onImport?: (branding: BrandingConfig) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function BrandingEditor({ branding: initialBranding, onChange, appTitle, readOnly, className, onExport, onImport, }: BrandingEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DashboardSchema } from '../../types/src';
|
|
2
|
+
export interface DashboardEditorProps {
|
|
3
|
+
/** Dashboard schema to edit */
|
|
4
|
+
schema: DashboardSchema;
|
|
5
|
+
/** Callback when schema changes */
|
|
6
|
+
onChange: (schema: DashboardSchema) => void;
|
|
7
|
+
/** Read-only mode */
|
|
8
|
+
readOnly?: boolean;
|
|
9
|
+
/** CSS class */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Callback when JSON is exported */
|
|
12
|
+
onExport?: (schema: DashboardSchema) => void;
|
|
13
|
+
/** Callback when JSON is imported */
|
|
14
|
+
onImport?: (schema: DashboardSchema) => void;
|
|
15
|
+
/** Externally controlled selected widget ID */
|
|
16
|
+
selectedWidgetId?: string | null;
|
|
17
|
+
/** Callback when widget selection changes (for external sync) */
|
|
18
|
+
onWidgetSelect?: (widgetId: string | null) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function DashboardEditor({ schema, onChange, readOnly, className, onExport, onImport, selectedWidgetId: externalSelectedWidgetId, onWidgetSelect, }: DashboardEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export default DashboardEditor;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StoryObj } from '@storybook/react';
|
|
2
|
+
import { DashboardEditor } from './DashboardEditor';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof DashboardEditor;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
tags: string[];
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof DashboardEditor>;
|
|
13
|
+
export declare const Default: Story;
|
|
14
|
+
export declare const WithWidgets: Story;
|
|
15
|
+
export declare const ReadOnly: Story;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EditorMode } from '../../types/src';
|
|
2
|
+
export interface EditorModeToggleProps {
|
|
3
|
+
/** Current mode */
|
|
4
|
+
mode: EditorMode;
|
|
5
|
+
/** Callback when mode changes */
|
|
6
|
+
onChange: (mode: EditorMode) => void;
|
|
7
|
+
/** Disable mode switching */
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
/** CSS class */
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Three-way toggle for Edit / Preview / Code modes.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <EditorModeToggle mode={mode} onChange={setMode} />
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function EditorModeToggle({ mode, onChange, disabled, className, }: EditorModeToggleProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export default EditorModeToggle;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NavigationItem } from '../../types/src';
|
|
2
|
+
export interface NavigationDesignerProps {
|
|
3
|
+
/** Navigation items to edit */
|
|
4
|
+
items: NavigationItem[];
|
|
5
|
+
/** Callback when items change */
|
|
6
|
+
onChange: (items: NavigationItem[]) => void;
|
|
7
|
+
/** Read-only mode */
|
|
8
|
+
readOnly?: boolean;
|
|
9
|
+
/** Show live preview sidebar */
|
|
10
|
+
showPreview?: boolean;
|
|
11
|
+
/** CSS class */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Callback to export navigation schema */
|
|
14
|
+
onExport?: (items: NavigationItem[]) => void;
|
|
15
|
+
/** Callback to import navigation schema */
|
|
16
|
+
onImport?: (items: NavigationItem[]) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function NavigationDesigner({ items, onChange, readOnly, showPreview, className, onExport, onImport, }: NavigationDesignerProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default NavigationDesigner;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
export type ViewType = 'grid' | 'kanban' | 'calendar' | 'gallery' | 'timeline' | 'map' | 'gantt';
|
|
9
|
+
export interface ViewColumn {
|
|
10
|
+
name: string;
|
|
11
|
+
label: string;
|
|
12
|
+
visible: boolean;
|
|
13
|
+
width?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ViewConfig {
|
|
16
|
+
viewType: ViewType;
|
|
17
|
+
columns: ViewColumn[];
|
|
18
|
+
showSearch: boolean;
|
|
19
|
+
showFilters: boolean;
|
|
20
|
+
showSort: boolean;
|
|
21
|
+
rowHeight: 'compact' | 'medium' | 'tall';
|
|
22
|
+
striped: boolean;
|
|
23
|
+
bordered: boolean;
|
|
24
|
+
groupBy?: string;
|
|
25
|
+
sortField?: string;
|
|
26
|
+
sortDirection?: 'asc' | 'desc';
|
|
27
|
+
}
|
|
28
|
+
export interface ObjectViewConfiguratorProps {
|
|
29
|
+
/** Current view configuration */
|
|
30
|
+
config: ViewConfig;
|
|
31
|
+
/** Callback when config changes */
|
|
32
|
+
onChange: (config: ViewConfig) => void;
|
|
33
|
+
/** Available view types */
|
|
34
|
+
availableViewTypes?: ViewType[];
|
|
35
|
+
/** Read-only mode */
|
|
36
|
+
readOnly?: boolean;
|
|
37
|
+
/** CSS class */
|
|
38
|
+
className?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function ObjectViewConfigurator({ config, onChange, availableViewTypes, readOnly, className, }: ObjectViewConfiguratorProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export default ObjectViewConfigurator;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PageSchema } from '../../types/src';
|
|
2
|
+
export interface PageCanvasEditorProps {
|
|
3
|
+
/** Page schema to edit */
|
|
4
|
+
schema: PageSchema;
|
|
5
|
+
/** Callback when schema changes */
|
|
6
|
+
onChange: (schema: PageSchema) => void;
|
|
7
|
+
/** Read-only mode */
|
|
8
|
+
readOnly?: boolean;
|
|
9
|
+
/** CSS class */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Callback when JSON is exported */
|
|
12
|
+
onExport?: (schema: PageSchema) => void;
|
|
13
|
+
/** Callback when JSON is imported */
|
|
14
|
+
onImport?: (schema: PageSchema) => void;
|
|
15
|
+
}
|
|
16
|
+
/** Simplified component entry for the canvas */
|
|
17
|
+
export interface CanvasComponent {
|
|
18
|
+
id: string;
|
|
19
|
+
type: string;
|
|
20
|
+
label: string;
|
|
21
|
+
props?: Record<string, unknown>;
|
|
22
|
+
}
|
|
23
|
+
export declare function PageCanvasEditor({ schema, onChange, readOnly, className, onExport, onImport, }: PageCanvasEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export default PageCanvasEditor;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StoryObj } from '@storybook/react';
|
|
2
|
+
import { PageCanvasEditor } from './PageCanvasEditor';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof PageCanvasEditor;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
tags: string[];
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof PageCanvasEditor>;
|
|
13
|
+
export declare const Default: Story;
|
|
14
|
+
export declare const WithComponents: Story;
|
|
15
|
+
export declare const ReadOnly: Story;
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { useUndoRedo } from './useUndoRedo';
|
|
9
9
|
export type { UndoRedoState, UndoRedoOptions } from './useUndoRedo';
|
|
10
|
+
export { useDesignerHistory } from './useDesignerHistory';
|
|
11
|
+
export type { DesignerHistoryState, DesignerHistoryOptions } from './useDesignerHistory';
|
|
10
12
|
export { useConfirmDialog } from './useConfirmDialog';
|
|
11
13
|
export type { ConfirmDialogState } from './useConfirmDialog';
|
|
12
14
|
export { useClipboard } from './useClipboard';
|
|
@@ -15,3 +17,4 @@ export { useMultiSelect } from './useMultiSelect';
|
|
|
15
17
|
export type { MultiSelectState } from './useMultiSelect';
|
|
16
18
|
export { useCanvasPanZoom } from './useCanvasPanZoom';
|
|
17
19
|
export type { PanZoomState, PanZoomOptions } from './useCanvasPanZoom';
|
|
20
|
+
export { useDesignerTranslation } from './useDesignerTranslation';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UndoRedoOptions, UndoRedoState } from './useUndoRedo';
|
|
2
|
+
/** Options for the designer history hook */
|
|
3
|
+
export interface DesignerHistoryOptions extends UndoRedoOptions {
|
|
4
|
+
}
|
|
5
|
+
/** Designer history state — command-pattern wrapper around undo/redo */
|
|
6
|
+
export interface DesignerHistoryState<T> extends UndoRedoState<T> {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Hook providing command-pattern undo/redo history for designer components.
|
|
10
|
+
*
|
|
11
|
+
* Wraps {@link useUndoRedo} with designer-specific naming conventions.
|
|
12
|
+
* Each `push()` call records a snapshot; `undo()` / `redo()` navigate
|
|
13
|
+
* the history stack. The `reset()` method clears all history.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const history = useDesignerHistory<DesignerState>(initialState, { maxHistory: 50 });
|
|
18
|
+
* history.push(newState);
|
|
19
|
+
* history.undo();
|
|
20
|
+
* history.redo();
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function useDesignerHistory<T>(initialState: T, options?: DesignerHistoryOptions): DesignerHistoryState<T>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useDesignerTranslation(): {
|
|
9
|
+
t: (key: string, options?: Record<string, unknown>) => string;
|
|
10
|
+
} | {
|
|
11
|
+
t: import('i18next').TFunction<string, undefined>;
|
|
12
|
+
};
|
|
@@ -3,10 +3,23 @@ import { DataModelDesigner } from './DataModelDesigner';
|
|
|
3
3
|
import { ProcessDesigner } from './ProcessDesigner';
|
|
4
4
|
import { ReportDesigner } from './ReportDesigner';
|
|
5
5
|
import { CollaborationProvider, ConnectionStatusIndicator } from './CollaborationProvider';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { AppCreationWizard } from './AppCreationWizard';
|
|
7
|
+
import { NavigationDesigner } from './NavigationDesigner';
|
|
8
|
+
import { EditorModeToggle } from './EditorModeToggle';
|
|
9
|
+
import { DashboardEditor } from './DashboardEditor';
|
|
10
|
+
import { PageCanvasEditor } from './PageCanvasEditor';
|
|
11
|
+
import { ObjectViewConfigurator } from './ObjectViewConfigurator';
|
|
12
|
+
import { BrandingEditor } from './BrandingEditor';
|
|
13
|
+
export { PageDesigner, DataModelDesigner, ProcessDesigner, ReportDesigner, CollaborationProvider, ConnectionStatusIndicator, AppCreationWizard, NavigationDesigner, EditorModeToggle, DashboardEditor, PageCanvasEditor, ObjectViewConfigurator, BrandingEditor, };
|
|
14
|
+
export type { AppCreationWizardProps } from './AppCreationWizard';
|
|
15
|
+
export type { NavigationDesignerProps } from './NavigationDesigner';
|
|
16
|
+
export type { EditorModeToggleProps } from './EditorModeToggle';
|
|
17
|
+
export type { DashboardEditorProps } from './DashboardEditor';
|
|
18
|
+
export type { PageCanvasEditorProps, CanvasComponent } from './PageCanvasEditor';
|
|
19
|
+
export type { ObjectViewConfiguratorProps, ViewConfig, ViewColumn, ViewType } from './ObjectViewConfigurator';
|
|
20
|
+
export type { BrandingEditorProps } from './BrandingEditor';
|
|
9
21
|
export { useUndoRedo } from './hooks/useUndoRedo';
|
|
22
|
+
export { useDesignerHistory } from './hooks/useDesignerHistory';
|
|
10
23
|
export { useConfirmDialog } from './hooks/useConfirmDialog';
|
|
11
24
|
export { useClipboard } from './hooks/useClipboard';
|
|
12
25
|
export { useMultiSelect } from './hooks/useMultiSelect';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@object-ui/plugin-designer",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Visual designer plugin for Object UI with page, data model, process, and report designers plus collaborative editing.",
|
|
@@ -20,19 +20,23 @@
|
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"react": "^18.0.0 || ^19.0.0",
|
|
22
22
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
23
|
-
"@object-ui/components": "3.
|
|
24
|
-
"@object-ui/core": "3.
|
|
25
|
-
"@object-ui/react": "3.
|
|
26
|
-
"@object-ui/types": "3.
|
|
23
|
+
"@object-ui/components": "3.1.1",
|
|
24
|
+
"@object-ui/core": "3.1.1",
|
|
25
|
+
"@object-ui/react": "3.1.1",
|
|
26
|
+
"@object-ui/types": "3.1.1"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"@dnd-kit/core": "^6.3.1",
|
|
30
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
31
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
29
32
|
"clsx": "^2.1.1",
|
|
30
|
-
"lucide-react": "^0.
|
|
31
|
-
"tailwind-merge": "^
|
|
33
|
+
"lucide-react": "^0.576.0",
|
|
34
|
+
"tailwind-merge": "^3.5.0",
|
|
35
|
+
"@object-ui/i18n": "3.1.1"
|
|
32
36
|
},
|
|
33
37
|
"devDependencies": {
|
|
34
|
-
"@types/node": "^25.
|
|
35
|
-
"@types/react": "19.2.
|
|
38
|
+
"@types/node": "^25.3.3",
|
|
39
|
+
"@types/react": "19.2.14",
|
|
36
40
|
"@types/react-dom": "19.2.3",
|
|
37
41
|
"@vitejs/plugin-react": "^5.1.4",
|
|
38
42
|
"vite": "^7.3.1",
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { ViewDesignerColumn } from '../../types/src';
|
|
2
|
-
type ViewType = 'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map';
|
|
3
|
-
export interface ViewDesignerProps {
|
|
4
|
-
/** Object name this view is for */
|
|
5
|
-
objectName: string;
|
|
6
|
-
/** View identifier (for editing existing views) */
|
|
7
|
-
viewId?: string;
|
|
8
|
-
/** Initial view label */
|
|
9
|
-
viewLabel?: string;
|
|
10
|
-
/** Initial view type */
|
|
11
|
-
viewType?: ViewType;
|
|
12
|
-
/** Initial columns configuration */
|
|
13
|
-
columns?: ViewDesignerColumn[];
|
|
14
|
-
/** Initial filter conditions */
|
|
15
|
-
filters?: Array<{
|
|
16
|
-
field: string;
|
|
17
|
-
operator: string;
|
|
18
|
-
value: any;
|
|
19
|
-
}>;
|
|
20
|
-
/** Initial sort configuration */
|
|
21
|
-
sort?: Array<{
|
|
22
|
-
field: string;
|
|
23
|
-
direction: 'asc' | 'desc';
|
|
24
|
-
}>;
|
|
25
|
-
/** Available fields from the object schema */
|
|
26
|
-
availableFields?: Array<{
|
|
27
|
-
name: string;
|
|
28
|
-
label: string;
|
|
29
|
-
type: string;
|
|
30
|
-
}>;
|
|
31
|
-
/** Type-specific options (kanban groupField, calendar startDateField, etc.) */
|
|
32
|
-
options?: Record<string, any>;
|
|
33
|
-
/** Read-only mode */
|
|
34
|
-
readOnly?: boolean;
|
|
35
|
-
/** Callback when save is clicked */
|
|
36
|
-
onSave?: (config: ViewDesignerConfig) => void;
|
|
37
|
-
/** Callback when cancel is clicked */
|
|
38
|
-
onCancel?: () => void;
|
|
39
|
-
/** Custom CSS class */
|
|
40
|
-
className?: string;
|
|
41
|
-
}
|
|
42
|
-
/** The output configuration from the view designer */
|
|
43
|
-
export interface ViewDesignerConfig {
|
|
44
|
-
viewId?: string;
|
|
45
|
-
viewLabel: string;
|
|
46
|
-
viewType: ViewType;
|
|
47
|
-
columns: ViewDesignerColumn[];
|
|
48
|
-
filters: Array<{
|
|
49
|
-
field: string;
|
|
50
|
-
operator: string;
|
|
51
|
-
value: any;
|
|
52
|
-
}>;
|
|
53
|
-
sort: Array<{
|
|
54
|
-
field: string;
|
|
55
|
-
direction: 'asc' | 'desc';
|
|
56
|
-
}>;
|
|
57
|
-
options: Record<string, any>;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Visual designer for creating and editing list views.
|
|
61
|
-
* Provides a 3-panel layout:
|
|
62
|
-
* - Left: Field palette (available fields to add)
|
|
63
|
-
* - Center: View layout preview (columns, order)
|
|
64
|
-
* - Right: Properties panel (view settings, filters, sort)
|
|
65
|
-
*/
|
|
66
|
-
export declare function ViewDesigner({ objectName, viewId, viewLabel: initialViewLabel, viewType: initialViewType, columns: initialColumns, filters: initialFilters, sort: initialSort, availableFields, options: initialOptions, readOnly, onSave, onCancel, className, }: ViewDesignerProps): import("react/jsx-runtime").JSX.Element;
|
|
67
|
-
export {};
|