@duxweb/dvha-pro 1.0.25 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/component.cjs +1 -1
- package/dist/cjs/components/chart/echart.cjs +1 -1
- package/dist/cjs/components/crop/imageCrop.cjs +1 -1
- package/dist/cjs/components/data/dynamicSelect.cjs +1 -1
- package/dist/cjs/components/data/selectModal.cjs +1 -1
- package/dist/cjs/components/designEditor/components/grid.cjs +1 -0
- package/dist/cjs/components/designEditor/editor/hook.cjs +1 -0
- package/dist/cjs/components/designEditor/editor/preview.cjs +1 -0
- package/dist/cjs/components/designEditor/editor/setting.cjs +1 -0
- package/dist/cjs/components/designEditor/editor.cjs +1 -0
- package/dist/cjs/components/form/drawerForm.cjs +1 -1
- package/dist/cjs/components/form/formItem.cjs +1 -1
- package/dist/cjs/components/form/formLayout.cjs +1 -1
- package/dist/cjs/components/form/modalForm.cjs +1 -1
- package/dist/cjs/components/form/pageForm.cjs +1 -1
- package/dist/cjs/components/form/settingForm.cjs +1 -1
- package/dist/cjs/components/formEditor/base/base.cjs +1 -0
- package/dist/cjs/components/formEditor/base/json.cjs +1 -0
- package/dist/cjs/components/formEditor/base/options.cjs +1 -0
- package/dist/cjs/components/formEditor/base/setting.cjs +1 -0
- package/dist/cjs/components/formEditor/components/cascader.cjs +1 -0
- package/dist/cjs/components/formEditor/components/cascaderAsync.cjs +1 -0
- package/dist/cjs/components/formEditor/components/checkbox.cjs +1 -0
- package/dist/cjs/components/formEditor/components/color.cjs +1 -0
- package/dist/cjs/components/formEditor/components/date.cjs +1 -0
- package/dist/cjs/components/formEditor/components/dynamicInput.cjs +1 -0
- package/dist/cjs/components/formEditor/components/dynamicTags.cjs +1 -0
- package/dist/cjs/components/formEditor/components/editor.cjs +1 -0
- package/dist/cjs/components/formEditor/components/input.cjs +1 -0
- package/dist/cjs/components/formEditor/components/inputNumber.cjs +1 -0
- package/dist/cjs/components/formEditor/components/mentionAsync.cjs +1 -0
- package/dist/cjs/components/formEditor/components/radio.cjs +1 -0
- package/dist/cjs/components/formEditor/components/region.cjs +1 -0
- package/dist/cjs/components/formEditor/components/select.cjs +1 -0
- package/dist/cjs/components/formEditor/components/selectAsync.cjs +1 -0
- package/dist/cjs/components/formEditor/components/sider.cjs +1 -0
- package/dist/cjs/components/formEditor/components/switch.cjs +1 -0
- package/dist/cjs/components/formEditor/components/time.cjs +1 -0
- package/dist/cjs/components/formEditor/components/transferAsync.cjs +1 -0
- package/dist/cjs/components/formEditor/components/treeSelect.cjs +1 -0
- package/dist/cjs/components/formEditor/components/treeSelectAsync.cjs +1 -0
- package/dist/cjs/components/formEditor/editor.cjs +1 -0
- package/dist/cjs/components/formEditor/json.cjs +1 -0
- package/dist/cjs/components/formEditor/preview.cjs +1 -0
- package/dist/cjs/components/formEditor/renderer.cjs +1 -0
- package/dist/cjs/components/icon/icon.cjs +1 -1
- package/dist/cjs/components/layout/grid.cjs +1 -0
- package/dist/cjs/components/layout/list.cjs +1 -1
- package/dist/cjs/components/layout/table.cjs +1 -1
- package/dist/cjs/components/level/level.cjs +1 -1
- package/dist/cjs/components/posterEditor/pages/RightPanel.cjs +1 -0
- package/dist/cjs/components/posterEditor/posterEditor.cjs +1 -0
- package/dist/cjs/components/table/table.cjs +1 -1
- package/dist/cjs/components/upload/file.cjs +1 -1
- package/dist/cjs/components/upload/image.cjs +1 -1
- package/dist/cjs/components/upload/manage/item.cjs +1 -1
- package/dist/cjs/components/upload/manager.cjs +1 -1
- package/dist/cjs/hooks/dialog.cjs +1 -1
- package/dist/cjs/hooks/drawer.cjs +1 -1
- package/dist/cjs/hooks/modal.cjs +1 -1
- package/dist/cjs/hooks/table/image.cjs +1 -1
- package/dist/cjs/hooks/table/media.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/langs/en-US.json.cjs +1 -1
- package/dist/cjs/langs/zh-CN.json.cjs +1 -1
- package/dist/cjs/pages/authLayout.cjs +1 -1
- package/dist/cjs/pages/layout/page.cjs +1 -1
- package/dist/cjs/pages/login.cjs +1 -1
- package/dist/cjs/pages/menu/avatar.cjs +1 -1
- package/dist/cjs/pages/menu/button.cjs +1 -1
- package/dist/cjs/pages/menu/cmd.cjs +1 -1
- package/dist/cjs/pages/menu/main.cjs +1 -1
- package/dist/cjs/pages/menu/mobile.cjs +1 -1
- package/dist/cjs/pages/page404.cjs +1 -1
- package/dist/cjs/pages/pageStatus.cjs +1 -1
- package/dist/cjs/theme/uno.css.cjs +34 -2
- package/dist/esm/component.js +33 -31
- package/dist/esm/components/chart/echart.js +6 -5
- package/dist/esm/components/crop/imageCrop.js +7 -6
- package/dist/esm/components/data/dynamicSelect.js +8 -7
- package/dist/esm/components/data/selectModal.js +6 -5
- package/dist/esm/components/designEditor/components/grid.js +175 -0
- package/dist/esm/components/designEditor/editor/hook.js +87 -0
- package/dist/esm/components/designEditor/editor/preview.js +65 -0
- package/dist/esm/components/designEditor/editor/setting.js +98 -0
- package/dist/esm/components/designEditor/editor.js +161 -0
- package/dist/esm/components/form/drawerForm.js +8 -7
- package/dist/esm/components/form/formItem.js +33 -33
- package/dist/esm/components/form/formLayout.js +11 -11
- package/dist/esm/components/form/modalForm.js +18 -17
- package/dist/esm/components/form/pageForm.js +11 -10
- package/dist/esm/components/form/settingForm.js +5 -4
- package/dist/esm/components/formEditor/base/base.js +117 -0
- package/dist/esm/components/formEditor/base/json.js +39 -0
- package/dist/esm/components/formEditor/base/options.js +48 -0
- package/dist/esm/components/formEditor/base/setting.js +108 -0
- package/dist/esm/components/formEditor/components/cascader.js +219 -0
- package/dist/esm/components/formEditor/components/cascaderAsync.js +213 -0
- package/dist/esm/components/formEditor/components/checkbox.js +212 -0
- package/dist/esm/components/formEditor/components/color.js +156 -0
- package/dist/esm/components/formEditor/components/date.js +197 -0
- package/dist/esm/components/formEditor/components/dynamicInput.js +227 -0
- package/dist/esm/components/formEditor/components/dynamicTags.js +150 -0
- package/dist/esm/components/formEditor/components/editor.js +139 -0
- package/dist/esm/components/formEditor/components/input.js +211 -0
- package/dist/esm/components/formEditor/components/inputNumber.js +188 -0
- package/dist/esm/components/formEditor/components/mentionAsync.js +180 -0
- package/dist/esm/components/formEditor/components/radio.js +212 -0
- package/dist/esm/components/formEditor/components/region.js +167 -0
- package/dist/esm/components/formEditor/components/select.js +203 -0
- package/dist/esm/components/formEditor/components/selectAsync.js +214 -0
- package/dist/esm/components/formEditor/components/sider.js +168 -0
- package/dist/esm/components/formEditor/components/switch.js +153 -0
- package/dist/esm/components/formEditor/components/time.js +171 -0
- package/dist/esm/components/formEditor/components/transferAsync.js +193 -0
- package/dist/esm/components/formEditor/components/treeSelect.js +207 -0
- package/dist/esm/components/formEditor/components/treeSelectAsync.js +179 -0
- package/dist/esm/components/formEditor/editor.js +162 -0
- package/dist/esm/components/formEditor/json.js +24 -0
- package/dist/esm/components/formEditor/preview.js +38 -0
- package/dist/esm/components/formEditor/renderer.js +151 -0
- package/dist/esm/components/icon/icon.js +7 -6
- package/dist/esm/components/layout/grid.js +24 -0
- package/dist/esm/components/layout/list.js +17 -16
- package/dist/esm/components/layout/table.js +15 -14
- package/dist/esm/components/level/level.js +6 -5
- package/dist/esm/components/{image → posterEditor}/pages/RightPanel.js +5 -4
- package/dist/esm/components/{image → posterEditor}/posterEditor.js +5 -4
- package/dist/esm/components/table/table.js +6 -5
- package/dist/esm/components/upload/file.js +10 -9
- package/dist/esm/components/upload/image.js +16 -15
- package/dist/esm/components/upload/manage/item.js +6 -5
- package/dist/esm/components/upload/manager.js +6 -5
- package/dist/esm/hooks/dialog.js +7 -6
- package/dist/esm/hooks/drawer.js +7 -6
- package/dist/esm/hooks/modal.js +6 -5
- package/dist/esm/hooks/table/image.js +6 -5
- package/dist/esm/hooks/table/media.js +6 -5
- package/dist/esm/index.js +218 -201
- package/dist/esm/langs/en-US.json.js +10 -10
- package/dist/esm/langs/zh-CN.json.js +8 -8
- package/dist/esm/pages/authLayout.js +7 -6
- package/dist/esm/pages/layout/page.js +6 -5
- package/dist/esm/pages/login.js +6 -5
- package/dist/esm/pages/menu/avatar.js +11 -10
- package/dist/esm/pages/menu/button.js +6 -5
- package/dist/esm/pages/menu/cmd.js +6 -5
- package/dist/esm/pages/menu/main.js +6 -5
- package/dist/esm/pages/menu/mobile.js +6 -5
- package/dist/esm/pages/page404.js +4 -3
- package/dist/esm/pages/pageStatus.js +9 -8
- package/dist/esm/theme/uno.css.js +34 -2
- package/dist/types/components/designEditor/components/grid.d.ts +2 -0
- package/dist/types/components/designEditor/components/index.d.ts +1 -0
- package/dist/types/components/designEditor/editor/hook.d.ts +57 -0
- package/dist/types/components/designEditor/editor/index.d.ts +3 -0
- package/dist/types/components/designEditor/editor/preview.d.ts +15 -0
- package/dist/types/components/designEditor/editor/setting.d.ts +14 -0
- package/dist/types/components/designEditor/editor.d.ts +19 -0
- package/dist/types/components/designEditor/index.d.ts +3 -0
- package/dist/types/components/form/drawerForm.d.ts +2 -2
- package/dist/types/components/form/formLayout.d.ts +2 -2
- package/dist/types/components/form/modalForm.d.ts +2 -2
- package/dist/types/components/formEditor/base/base.d.ts +26 -0
- package/dist/types/components/formEditor/base/index.d.ts +4 -0
- package/dist/types/components/formEditor/base/json.d.ts +18 -0
- package/dist/types/components/formEditor/base/options.d.ts +23 -0
- package/dist/types/components/formEditor/base/setting.d.ts +13 -0
- package/dist/types/components/formEditor/components/cascader.d.ts +2 -0
- package/dist/types/components/formEditor/components/cascaderAsync.d.ts +2 -0
- package/dist/types/components/formEditor/components/checkbox.d.ts +2 -0
- package/dist/types/components/formEditor/components/color.d.ts +2 -0
- package/dist/types/components/formEditor/components/date.d.ts +2 -0
- package/dist/types/components/formEditor/components/dynamicInput.d.ts +2 -0
- package/dist/types/components/formEditor/components/dynamicTags.d.ts +2 -0
- package/dist/types/components/formEditor/components/editor.d.ts +2 -0
- package/dist/types/components/formEditor/components/index.d.ts +21 -0
- package/dist/types/components/formEditor/components/input.d.ts +2 -0
- package/dist/types/components/formEditor/components/inputNumber.d.ts +2 -0
- package/dist/types/components/formEditor/components/mentionAsync.d.ts +2 -0
- package/dist/types/components/formEditor/components/radio.d.ts +2 -0
- package/dist/types/components/formEditor/components/region.d.ts +2 -0
- package/dist/types/components/formEditor/components/select.d.ts +2 -0
- package/dist/types/components/formEditor/components/selectAsync.d.ts +2 -0
- package/dist/types/components/formEditor/components/sider.d.ts +2 -0
- package/dist/types/components/formEditor/components/switch.d.ts +2 -0
- package/dist/types/components/formEditor/components/time.d.ts +2 -0
- package/dist/types/components/formEditor/components/transferAsync.d.ts +2 -0
- package/dist/types/components/formEditor/components/treeSelect.d.ts +2 -0
- package/dist/types/components/formEditor/components/treeSelectAsync.d.ts +2 -0
- package/dist/types/components/formEditor/editor.d.ts +22 -0
- package/dist/types/components/formEditor/index.d.ts +2 -0
- package/dist/types/components/formEditor/json.d.ts +14 -0
- package/dist/types/components/formEditor/preview.d.ts +25 -0
- package/dist/types/components/formEditor/renderer.d.ts +58 -0
- package/dist/types/components/index.d.ts +3 -1
- package/dist/types/components/layout/filterLayout.d.ts +1 -1
- package/dist/types/components/layout/grid.d.ts +22 -0
- package/dist/types/components/layout/index.d.ts +1 -0
- package/package.json +4 -3
- package/dist/cjs/components/image/pages/RightPanel.cjs +0 -1
- package/dist/cjs/components/image/posterEditor.cjs +0 -1
- /package/dist/cjs/components/{image → posterEditor}/components/CanvasRuler.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/elements/circle.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/elements/image.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/elements/index.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/elements/rect.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/elements/text.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/hooks/usePosterEditor.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/pages/LeftToolbar.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/pages/Panel.cjs +0 -0
- /package/dist/cjs/components/{image → posterEditor}/pages/PanelItem.cjs +0 -0
- /package/dist/esm/components/{image → posterEditor}/components/CanvasRuler.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/elements/circle.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/elements/image.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/elements/index.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/elements/rect.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/elements/text.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/hooks/usePosterEditor.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/pages/LeftToolbar.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/pages/Panel.js +0 -0
- /package/dist/esm/components/{image → posterEditor}/pages/PanelItem.js +0 -0
- /package/dist/types/components/{image → posterEditor}/components/CanvasRuler.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/components/index.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/elements/circle.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/elements/image.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/elements/index.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/elements/rect.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/elements/text.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/elements/types.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/hooks/index.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/hooks/usePosterEditor.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/index.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/pages/LeftToolbar.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/pages/Panel.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/pages/PanelItem.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/pages/RightPanel.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/pages/index.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/posterEditor.d.ts +0 -0
- /package/dist/types/components/{image → posterEditor}/types/editor.d.ts +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { JsonSchemaNode } from '@duxweb/dvha-core';
|
|
2
|
+
import type { ComputedRef, Ref } from 'vue';
|
|
3
|
+
export interface PageEditorJsonProps {
|
|
4
|
+
options?: Record<string, any>;
|
|
5
|
+
children?: PageEditorData[] | PageEditorData[][];
|
|
6
|
+
model?: Record<string, any>;
|
|
7
|
+
convertToJsonSchema?: (children: PageEditorData[] | PageEditorData[][], childModel?: Record<string, any>) => JsonSchemaNode[];
|
|
8
|
+
}
|
|
9
|
+
export interface PageEditorComponent {
|
|
10
|
+
name: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
group?: string;
|
|
13
|
+
label?: string;
|
|
14
|
+
component: (props?: Record<string, any>) => any;
|
|
15
|
+
setting?: (props?: Record<string, any>) => any;
|
|
16
|
+
nested?: boolean;
|
|
17
|
+
settingDefault?: Record<string, any>;
|
|
18
|
+
json?: (props?: PageEditorJsonProps) => JsonSchemaNode;
|
|
19
|
+
}
|
|
20
|
+
export interface PageEditorGroup {
|
|
21
|
+
name: string;
|
|
22
|
+
label: string;
|
|
23
|
+
icon: string;
|
|
24
|
+
children?: PageEditorComponent[];
|
|
25
|
+
}
|
|
26
|
+
export interface PageEditorData {
|
|
27
|
+
key: string;
|
|
28
|
+
name: string;
|
|
29
|
+
options?: Record<string, any>;
|
|
30
|
+
children?: PageEditorData[];
|
|
31
|
+
}
|
|
32
|
+
export interface PageEditorSettingPage {
|
|
33
|
+
component?: (props?: Record<string, any>) => any;
|
|
34
|
+
default?: Record<string, any>;
|
|
35
|
+
}
|
|
36
|
+
export interface UseEditorResult {
|
|
37
|
+
clearComponent: () => void;
|
|
38
|
+
addComponent: (data: PageEditorComponent) => void;
|
|
39
|
+
clearGroup: () => void;
|
|
40
|
+
addGroup: (data: PageEditorGroup) => void;
|
|
41
|
+
getData: (key?: string) => PageEditorData | undefined;
|
|
42
|
+
copyData: (key: string, index: number) => void;
|
|
43
|
+
deleteData: (key: string, index: number) => void;
|
|
44
|
+
tree: ComputedRef<PageEditorGroup[]>;
|
|
45
|
+
components: Ref<PageEditorComponent[]>;
|
|
46
|
+
group: Ref<PageEditorGroup[]>;
|
|
47
|
+
selected: Ref<string | undefined>;
|
|
48
|
+
value: Ref<UseEditorValue>;
|
|
49
|
+
settingPage: PageEditorSettingPage | undefined;
|
|
50
|
+
}
|
|
51
|
+
export interface UseEditorValue {
|
|
52
|
+
config: Record<string, any>;
|
|
53
|
+
data: PageEditorData[];
|
|
54
|
+
}
|
|
55
|
+
export declare function useEditor({ settingPage }: {
|
|
56
|
+
settingPage?: PageEditorSettingPage;
|
|
57
|
+
}): UseEditorResult;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { PageEditorData } from './hook';
|
|
3
|
+
export declare const DuxWidgetEditorPreview: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
class: StringConstructor;
|
|
5
|
+
select: StringConstructor;
|
|
6
|
+
modelValue: PropType<PageEditorData[]>;
|
|
7
|
+
onUpdate: FunctionConstructor;
|
|
8
|
+
onSelect: FunctionConstructor;
|
|
9
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10
|
+
class: StringConstructor;
|
|
11
|
+
select: StringConstructor;
|
|
12
|
+
modelValue: PropType<PageEditorData[]>;
|
|
13
|
+
onUpdate: FunctionConstructor;
|
|
14
|
+
onSelect: FunctionConstructor;
|
|
15
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PropType, VNode } from 'vue';
|
|
2
|
+
import type { UseEditorResult } from './hook';
|
|
3
|
+
export declare const WidgetEditorSetting: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
actionRender: PropType<(editor?: UseEditorResult) => VNode>;
|
|
5
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
6
|
+
actionRender: PropType<(editor?: UseEditorResult) => VNode>;
|
|
7
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
8
|
+
export declare const WidgetEditorSettingCard: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
9
|
+
title: StringConstructor;
|
|
10
|
+
icon: StringConstructor;
|
|
11
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
title: StringConstructor;
|
|
13
|
+
icon: StringConstructor;
|
|
14
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PropType, VNode } from 'vue';
|
|
2
|
+
import type { PageEditorComponent, PageEditorGroup, PageEditorSettingPage, UseEditorResult, UseEditorValue } from './editor/hook';
|
|
3
|
+
export declare const DuxDesignEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
data: PropType<UseEditorValue | undefined>;
|
|
5
|
+
onUpdateData: PropType<(data: UseEditorValue) => void>;
|
|
6
|
+
groups: PropType<PageEditorGroup[]>;
|
|
7
|
+
components: PropType<PageEditorComponent[]>;
|
|
8
|
+
settingPage: PropType<PageEditorSettingPage>;
|
|
9
|
+
actionRender: PropType<(editor?: UseEditorResult) => VNode>;
|
|
10
|
+
previewWrapper: PropType<(preview: VNode, editor?: UseEditorResult) => VNode>;
|
|
11
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
12
|
+
data: PropType<UseEditorValue | undefined>;
|
|
13
|
+
onUpdateData: PropType<(data: UseEditorValue) => void>;
|
|
14
|
+
groups: PropType<PageEditorGroup[]>;
|
|
15
|
+
components: PropType<PageEditorComponent[]>;
|
|
16
|
+
settingPage: PropType<PageEditorSettingPage>;
|
|
17
|
+
actionRender: PropType<(editor?: UseEditorResult) => VNode>;
|
|
18
|
+
previewWrapper: PropType<(preview: VNode, editor?: UseEditorResult) => VNode>;
|
|
19
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -69,10 +69,10 @@ export declare const DuxDrawerForm: import("vue").DefineComponent<import("vue").
|
|
|
69
69
|
default: boolean;
|
|
70
70
|
};
|
|
71
71
|
}>> & Readonly<{}>, {
|
|
72
|
-
inline: boolean;
|
|
73
|
-
labelAlign: "left" | "right";
|
|
74
72
|
labelPlacement: "left" | "top" | "page" | "setting";
|
|
75
73
|
divider: boolean;
|
|
74
|
+
inline: boolean;
|
|
75
|
+
labelAlign: "left" | "right";
|
|
76
76
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
77
77
|
id: {
|
|
78
78
|
type: PropType<string | number>;
|
|
@@ -40,8 +40,8 @@ export declare const DuxFormLayout: import("vue").DefineComponent<import("vue").
|
|
|
40
40
|
default: boolean;
|
|
41
41
|
};
|
|
42
42
|
}>> & Readonly<{}>, {
|
|
43
|
-
inline: boolean;
|
|
44
|
-
labelAlign: "left" | "right";
|
|
45
43
|
labelPlacement: "left" | "top" | "page" | "setting";
|
|
46
44
|
divider: boolean;
|
|
45
|
+
inline: boolean;
|
|
46
|
+
labelAlign: "left" | "right";
|
|
47
47
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -69,10 +69,10 @@ export declare const DuxModalForm: import("vue").DefineComponent<import("vue").E
|
|
|
69
69
|
default: boolean;
|
|
70
70
|
};
|
|
71
71
|
}>> & Readonly<{}>, {
|
|
72
|
-
inline: boolean;
|
|
73
|
-
labelAlign: "left" | "right";
|
|
74
72
|
labelPlacement: "left" | "top" | "page" | "setting";
|
|
75
73
|
divider: boolean;
|
|
74
|
+
inline: boolean;
|
|
75
|
+
labelAlign: "left" | "right";
|
|
76
76
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
77
77
|
id: {
|
|
78
78
|
type: PropType<string | number>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const DuxFormEditorItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
value: {
|
|
3
|
+
type: ObjectConstructor;
|
|
4
|
+
default: never[];
|
|
5
|
+
};
|
|
6
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
|
+
value: {
|
|
8
|
+
type: ObjectConstructor;
|
|
9
|
+
default: never[];
|
|
10
|
+
};
|
|
11
|
+
}>> & Readonly<{}>, {
|
|
12
|
+
value: Record<string, any>;
|
|
13
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
14
|
+
export declare const DuxFormEditorRule: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
15
|
+
value: {
|
|
16
|
+
type: ArrayConstructor;
|
|
17
|
+
default: never[];
|
|
18
|
+
};
|
|
19
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
20
|
+
value: {
|
|
21
|
+
type: ArrayConstructor;
|
|
22
|
+
default: never[];
|
|
23
|
+
};
|
|
24
|
+
}>> & Readonly<{}>, {
|
|
25
|
+
value: unknown[];
|
|
26
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare const DuxFormEditorJson: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
value: {
|
|
3
|
+
type: StringConstructor;
|
|
4
|
+
default: never[];
|
|
5
|
+
};
|
|
6
|
+
onChange: FunctionConstructor;
|
|
7
|
+
desc: StringConstructor;
|
|
8
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
+
value: {
|
|
10
|
+
type: StringConstructor;
|
|
11
|
+
default: never[];
|
|
12
|
+
};
|
|
13
|
+
onChange: FunctionConstructor;
|
|
14
|
+
desc: StringConstructor;
|
|
15
|
+
}>> & Readonly<{}>, {
|
|
16
|
+
value: string;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
18
|
+
export default DuxFormEditorJson;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
interface OptionItem {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
declare const DuxFormEditorOptions: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
7
|
+
value: {
|
|
8
|
+
type: ArrayConstructor;
|
|
9
|
+
default: never[];
|
|
10
|
+
};
|
|
11
|
+
onChange: FunctionConstructor;
|
|
12
|
+
options: PropType<OptionItem[]>;
|
|
13
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
14
|
+
value: {
|
|
15
|
+
type: ArrayConstructor;
|
|
16
|
+
default: never[];
|
|
17
|
+
};
|
|
18
|
+
onChange: FunctionConstructor;
|
|
19
|
+
options: PropType<OptionItem[]>;
|
|
20
|
+
}>> & Readonly<{}>, {
|
|
21
|
+
value: unknown[];
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
23
|
+
export default DuxFormEditorOptions;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const DuxFormEditorSettingPage: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
value: {
|
|
3
|
+
type: ObjectConstructor;
|
|
4
|
+
default: () => {};
|
|
5
|
+
};
|
|
6
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
|
+
value: {
|
|
8
|
+
type: ObjectConstructor;
|
|
9
|
+
default: () => {};
|
|
10
|
+
};
|
|
11
|
+
}>> & Readonly<{}>, {
|
|
12
|
+
value: Record<string, any>;
|
|
13
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './cascader';
|
|
2
|
+
export * from './cascaderAsync';
|
|
3
|
+
export * from './checkbox';
|
|
4
|
+
export * from './color';
|
|
5
|
+
export * from './date';
|
|
6
|
+
export * from './dynamicInput';
|
|
7
|
+
export * from './dynamicTags';
|
|
8
|
+
export * from './editor';
|
|
9
|
+
export * from './input';
|
|
10
|
+
export * from './inputNumber';
|
|
11
|
+
export * from './mentionAsync';
|
|
12
|
+
export * from './radio';
|
|
13
|
+
export * from './region';
|
|
14
|
+
export * from './sider';
|
|
15
|
+
export * from './switch';
|
|
16
|
+
export * from './time';
|
|
17
|
+
export * from './transferAsync';
|
|
18
|
+
export * from './treeSelect';
|
|
19
|
+
export * from './treeSelectAsync';
|
|
20
|
+
export * from './select';
|
|
21
|
+
export * from './selectAsync';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { PageEditorComponent, PageEditorGroup, UseEditorResult } from '../designEditor';
|
|
2
|
+
export declare const DuxFormEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
+
onSave: FunctionConstructor;
|
|
4
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
5
|
+
data: import("vue").PropType<import("..").UseEditorValue | undefined>;
|
|
6
|
+
onUpdateData: import("vue").PropType<(data: import("..").UseEditorValue) => void>;
|
|
7
|
+
groups: import("vue").PropType<PageEditorGroup[]>;
|
|
8
|
+
components: import("vue").PropType<PageEditorComponent[]>;
|
|
9
|
+
settingPage: import("vue").PropType<import("..").PageEditorSettingPage>;
|
|
10
|
+
actionRender: import("vue").PropType<(editor?: UseEditorResult) => import("vue").VNode>;
|
|
11
|
+
previewWrapper: import("vue").PropType<(preview: import("vue").VNode, editor?: UseEditorResult) => import("vue").VNode>;
|
|
12
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
|
+
data: import("vue").PropType<import("..").UseEditorValue | undefined>;
|
|
14
|
+
onUpdateData: import("vue").PropType<(data: import("..").UseEditorValue) => void>;
|
|
15
|
+
groups: import("vue").PropType<PageEditorGroup[]>;
|
|
16
|
+
components: import("vue").PropType<PageEditorComponent[]>;
|
|
17
|
+
settingPage: import("vue").PropType<import("..").PageEditorSettingPage>;
|
|
18
|
+
actionRender: import("vue").PropType<(editor?: UseEditorResult) => import("vue").VNode>;
|
|
19
|
+
previewWrapper: import("vue").PropType<(preview: import("vue").VNode, editor?: UseEditorResult) => import("vue").VNode>;
|
|
20
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
onSave: FunctionConstructor;
|
|
22
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
value: {
|
|
3
|
+
type: ObjectConstructor;
|
|
4
|
+
default: () => {};
|
|
5
|
+
};
|
|
6
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
7
|
+
value: {
|
|
8
|
+
type: ObjectConstructor;
|
|
9
|
+
default: () => {};
|
|
10
|
+
};
|
|
11
|
+
}>> & Readonly<{}>, {
|
|
12
|
+
value: Record<string, any>;
|
|
13
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { PageEditorData } from '../designEditor';
|
|
3
|
+
export declare const DuxFormPreview: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
+
data: {
|
|
5
|
+
type: PropType<PageEditorData[]>;
|
|
6
|
+
default: () => never[];
|
|
7
|
+
};
|
|
8
|
+
config: {
|
|
9
|
+
type: PropType<Record<string, any>>;
|
|
10
|
+
default: () => {};
|
|
11
|
+
};
|
|
12
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
|
+
data: {
|
|
14
|
+
type: PropType<PageEditorData[]>;
|
|
15
|
+
default: () => never[];
|
|
16
|
+
};
|
|
17
|
+
config: {
|
|
18
|
+
type: PropType<Record<string, any>>;
|
|
19
|
+
default: () => {};
|
|
20
|
+
};
|
|
21
|
+
}>> & Readonly<{}>, {
|
|
22
|
+
data: PageEditorData[];
|
|
23
|
+
config: Record<string, any>;
|
|
24
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
25
|
+
export default DuxFormPreview;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { PageEditorData } from '../designEditor';
|
|
3
|
+
export interface FormData {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
export interface FormConfig {
|
|
7
|
+
labelPlacement?: 'left' | 'top';
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
export declare const DuxFormRenderer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
11
|
+
data: {
|
|
12
|
+
type: PropType<PageEditorData[]>;
|
|
13
|
+
default: () => never[];
|
|
14
|
+
};
|
|
15
|
+
value: {
|
|
16
|
+
type: PropType<FormData>;
|
|
17
|
+
default: () => {};
|
|
18
|
+
};
|
|
19
|
+
config: {
|
|
20
|
+
type: PropType<FormConfig>;
|
|
21
|
+
default: () => {};
|
|
22
|
+
};
|
|
23
|
+
readonly: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
disabled: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
32
|
+
data: {
|
|
33
|
+
type: PropType<PageEditorData[]>;
|
|
34
|
+
default: () => never[];
|
|
35
|
+
};
|
|
36
|
+
value: {
|
|
37
|
+
type: PropType<FormData>;
|
|
38
|
+
default: () => {};
|
|
39
|
+
};
|
|
40
|
+
config: {
|
|
41
|
+
type: PropType<FormConfig>;
|
|
42
|
+
default: () => {};
|
|
43
|
+
};
|
|
44
|
+
readonly: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
disabled: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
}>> & Readonly<{}>, {
|
|
53
|
+
data: PageEditorData[];
|
|
54
|
+
value: FormData;
|
|
55
|
+
disabled: boolean;
|
|
56
|
+
readonly: boolean;
|
|
57
|
+
config: FormConfig;
|
|
58
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -5,19 +5,21 @@ export * from './code';
|
|
|
5
5
|
export * from './crop';
|
|
6
6
|
export * from './dashboard';
|
|
7
7
|
export * from './data';
|
|
8
|
+
export * from './designEditor';
|
|
8
9
|
export * from './dialog';
|
|
9
10
|
export * from './draw';
|
|
10
11
|
export * from './drawer';
|
|
11
12
|
export * from './editor';
|
|
12
13
|
export * from './form';
|
|
14
|
+
export * from './formEditor';
|
|
13
15
|
export * from './icon';
|
|
14
|
-
export * from './image';
|
|
15
16
|
export * from './layout';
|
|
16
17
|
export * from './level';
|
|
17
18
|
export * from './list';
|
|
18
19
|
export * from './media';
|
|
19
20
|
export * from './modal';
|
|
20
21
|
export * from './panel';
|
|
22
|
+
export * from './posterEditor';
|
|
21
23
|
export * from './select';
|
|
22
24
|
export * from './stats';
|
|
23
25
|
export * from './status';
|
|
@@ -27,6 +27,6 @@ export declare const DuxFilterLayout: import("vue").DefineComponent<import("vue"
|
|
|
27
27
|
};
|
|
28
28
|
}>> & Readonly<{}>, {
|
|
29
29
|
horizontal: boolean;
|
|
30
|
-
labelPlacement: "left" | "top";
|
|
31
30
|
showLabel: boolean;
|
|
31
|
+
labelPlacement: "left" | "top";
|
|
32
32
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const DuxGrid: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
cols: {
|
|
3
|
+
type: NumberConstructor;
|
|
4
|
+
default: number;
|
|
5
|
+
};
|
|
6
|
+
spac: {
|
|
7
|
+
type: NumberConstructor;
|
|
8
|
+
default: number;
|
|
9
|
+
};
|
|
10
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
cols: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
default: number;
|
|
14
|
+
};
|
|
15
|
+
spac: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
default: number;
|
|
18
|
+
};
|
|
19
|
+
}>> & Readonly<{}>, {
|
|
20
|
+
cols: number;
|
|
21
|
+
spac: number;
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duxweb/dvha-pro",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.26",
|
|
5
5
|
"author": "DuxWeb",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@ant-design/colors": "^7.2.1",
|
|
36
|
-
"@duxweb/dvha-core": "^1.0.
|
|
37
|
-
"@duxweb/dvha-naiveui": "^1.0.
|
|
36
|
+
"@duxweb/dvha-core": "^1.0.26",
|
|
37
|
+
"@duxweb/dvha-naiveui": "^1.0.26",
|
|
38
38
|
"@iconify-json/tabler": "^1.2.18",
|
|
39
39
|
"@overlastic/vue": "^0.8.1",
|
|
40
40
|
"@tanstack/vue-query": "^5.80.7",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"naive-ui": "^2.42.0",
|
|
62
62
|
"pinia": "^3.0.3",
|
|
63
63
|
"pinia-plugin-persistedstate": "^4.3.0",
|
|
64
|
+
"short-unique-id": "^5.3.2",
|
|
64
65
|
"unocss": "^66.2.1",
|
|
65
66
|
"vee-validate": "^4.15.1",
|
|
66
67
|
"vue": "^3.5.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("naive-ui");require("@duxweb/dvha-core");require("@vueuse/core");require("mime");require("vue-router");require("@overlastic/vue");require("clsx");require("vue-echarts");require("vue3-ace-editor");require("ace-builds/src-noconflict/mode-vue");require("ace-builds/src-noconflict/mode-javascript");require("ace-builds/src-noconflict/mode-html");require("ace-builds/src-noconflict/mode-json");require("ace-builds/src-noconflict/mode-json5");require("ace-builds/src-noconflict/theme-tomorrow_night");require("ace-builds/src-noconflict/theme-tomorrow");require("ace-builds/src-noconflict/ext-searchbox");require("ace-builds/src-noconflict/ext-language_tools");require("ace-builds/src-noconflict/mode-snippets");require("vue-cropper");require("jinrishici");require("lodash-es");require("vue-draggable-plus");require("aieditor");require("vee-validate");require("@vee-validate/i18n");require("colorizr");require("echarts");require("@ant-design/colors");require("@unocss/preset-icons/browser");require("@unocss/preset-typography");require("unocss/preset-wind4");require("@vee-validate/i18n/dist/locale/en.json");require("@vee-validate/i18n/dist/locale/zh_CN.json");require("vue-command-palette");require("@duxweb/dvha-naiveui");require("../../../pages/page404.cjs");require("@iconify-json/tabler/icons.json");require("../elements/index.cjs");require("fabric");const o=require("./Panel.cjs"),n=require("./PanelItem.cjs");require("dayjs");require("@tanstack/vue-query");require("pinia");const d=require("../../upload/image.cjs");function c(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const N=e.defineComponent({name:"RightPanel",props:{hasMultipleSelection:{type:Boolean,required:!0},selectedElementsCount:{type:Number,required:!0},currentElementData:{type:Object},currentElementConfig:{type:Object},canMoveUp:{type:Boolean,required:!0},canMoveDown:{type:Boolean,required:!0},canMoveToFront:{type:Boolean,required:!0},canMoveToBack:{type:Boolean,required:!0},canvasWidth:{type:Number,required:!0},canvasHeight:{type:Number,required:!0},canvasBackgroundColor:{type:String,required:!0},canvasBackgroundImage:{type:String},onDeleteSelectedElements:{type:Function,required:!0},onAlignElements:{type:Function,required:!0},onUpdateElementProperty:{type:Function,required:!0},onUpdateCanvasSize:{type:Function,required:!0},onUpdateCanvasBackground:{type:Function,required:!0},onUpdateCanvasBackgroundImage:{type:Function,required:!0},onSaveData:{type:Function,required:!0},onExportJson:{type:Function,required:!0},onRenderToolbarControl:{type:Function,required:!0},onClearCanvas:{type:Function,required:!0},canvasScale:{type:Number,required:!0}},setup(t){const i=()=>{if(t.hasMultipleSelection)return e.createVNode(o.Panel,{title:"多选操作"},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(n.PanelItem,{title:"对齐"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("left"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-left"},null)},null),default:()=>"左对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("right"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-right"},null)},null),default:()=>"右对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("top"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-top"},null)},null),default:()=>"顶部对齐"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("bottom"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-bottom"},null)},null),default:()=>"底部对齐"})])]}),e.createVNode(n.PanelItem,{title:"居中"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-center"},null)},null),default:()=>"水平居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-middle"},null)},null),default:()=>"垂直居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("distribute-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-horizontal"},null)},null),default:()=>"水平分布"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("distribute-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-vertical"},null)},null),default:()=>"垂直分布"})])]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{block:!0,onClick:t.onDeleteSelectedElements,type:"error"},{icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null),default:()=>"删除"})])});if(t.currentElementData&&t.currentElementConfig){const l=t.currentElementConfig.getToolbarControls(t.currentElementData);return e.createVNode(o.Panel,{title:"元素设置"},{default:()=>e.createVNode(e.Fragment,null,[l.map(a=>{let u;return e.createVNode(n.PanelItem,{key:a.key,title:a.label},c(u=t.onRenderToolbarControl(a))?u:{default:()=>[u]})}),e.createVNode(n.PanelItem,{title:"X"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.left,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"left",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"Y"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.top,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"top",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"角度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.currentElementData?.angle,min:-180,max:180,"onUpdate:value":a=>t.onUpdateElementProperty(t.currentElementData.id,"angle",a||0)},null)]}),e.createVNode(n.PanelItem,{title:"对齐"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-3 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-horizontal"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-center"},null)},null),default:()=>"水平居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-vertical"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-align-middle"},null)},null),default:()=>"垂直居中"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{onClick:()=>t.onAlignElements("center-both"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:layout-distribute-horizontal"},null)},null),default:()=>"居中"})])]}),e.createVNode(n.PanelItem,{title:"层级"},{default:()=>[e.createVNode("div",{class:"grid grid-cols-4 gap-2"},[e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveUp,onClick:()=>t.onAlignElements("move-up"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-narrow-up"},null)},null),default:()=>"上移一层"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveDown,onClick:()=>t.onAlignElements("move-down"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-narrow-down"},null)},null),default:()=>"下移一层"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveToFront,onClick:()=>t.onAlignElements("move-to-front"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-bar-to-up"},null)},null),default:()=>"移到最前"}),e.createVNode(r.NTooltip,null,{trigger:()=>e.createVNode(r.NButton,{disabled:!t.canMoveToBack,onClick:()=>t.onAlignElements("move-to-back"),renderIcon:()=>e.createVNode("div",{class:"i-tabler:arrow-bar-to-down"},null)},null),default:()=>"移到最后"})])]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{block:!0,onClick:t.onDeleteSelectedElements,type:"error"},{icon:()=>e.createVNode("div",{class:"i-tabler:trash"},null),default:()=>"删除"})])})}else return e.createVNode(o.Panel,{title:"画布设置"},{default:()=>e.createVNode(e.Fragment,null,[e.createVNode(n.PanelItem,{title:"宽度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.canvasWidth,min:100,max:2e3,"onUpdate:value":l=>t.onUpdateCanvasSize(l||800,t.canvasHeight)},null)]}),e.createVNode(n.PanelItem,{title:"高度"},{default:()=>[e.createVNode(r.NInputNumber,{value:t.canvasHeight,min:100,max:2e3,"onUpdate:value":l=>t.onUpdateCanvasSize(t.canvasWidth,l||600)},null)]}),e.createVNode(n.PanelItem,{title:"背景颜色"},{default:()=>[e.createVNode(r.NColorPicker,{value:t.canvasBackgroundColor,"onUpdate:value":l=>t.onUpdateCanvasBackground(l)},null)]}),e.createVNode(n.PanelItem,{title:"背景图片"},{default:()=>[e.createVNode(d.DuxImageUpload,{value:t.canvasBackgroundImage||"",onUpdateValue:l=>t.onUpdateCanvasBackgroundImage(typeof l=="string"?l:Array.isArray(l)&&l[0]||"")},null)]})]),footer:()=>e.createVNode(e.Fragment,null,[e.createVNode(r.NButton,{type:"primary",block:!0,onClick:t.onSaveData},{default:()=>[e.createTextVNode("保存")]}),e.createVNode(r.NButton,{block:!0,onClick:t.onExportJson},{default:()=>[e.createTextVNode("导出 JSON")]}),e.createVNode(r.NButton,{block:!0,onClick:t.onClearCanvas},{default:()=>[e.createTextVNode("清空画布")]})])})};return()=>e.createVNode("div",{class:"w-60 bg-default border-l border-default"},[i()])}});exports.RightPanel=N;
|