@ibiz-template/mob-vue3-components 0.0.2 → 0.0.4
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/index.min.css +1 -1
- package/dist/index.system.min.js +5 -5
- package/dist/index.system.min.js.map +1 -1
- package/es/common/carousel/carousel.css +1 -0
- package/es/common/carousel/carousel.d.ts +52 -0
- package/es/common/carousel/carousel.mjs +61 -0
- package/es/common/index.mjs +2 -0
- package/es/control/calendar/calendar.css +1 -1
- package/es/control/calendar/calendar.d.ts +4 -3
- package/es/control/calendar/calendar.mjs +94 -12
- package/es/control/calendar/index.d.ts +2 -1
- package/es/control/dashboard/dashboard.css +1 -1
- package/es/control/form/form-detail/form-group-panel/form-group-panel.css +1 -1
- package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/es/control/form/form-detail/form-item/form-item.mjs +5 -1
- package/es/control/list/md-ctrl/md-ctrl.css +1 -1
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +2 -1
- package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.d.ts +2 -0
- package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.mjs +17 -4
- package/es/editor/index.mjs +10 -0
- package/es/editor/text-box/input/input.css +1 -1
- package/es/editor/upload/ibiz-carousel/ibiz-carousel.css +1 -0
- package/es/editor/upload/ibiz-carousel/ibiz-carousel.d.ts +65 -0
- package/es/editor/upload/ibiz-carousel/ibiz-carousel.mjs +71 -0
- package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.css +1 -1
- package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +3 -0
- package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +40 -9
- package/es/editor/upload/ibiz-image-select/ibiz-image-select.css +1 -1
- package/es/editor/upload/ibiz-image-select/ibiz-image-select.d.ts +1 -2
- package/es/editor/upload/ibiz-image-select/ibiz-image-select.mjs +12 -5
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.css +1 -1
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -4
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +13 -13
- package/es/editor/upload/index.d.ts +1 -0
- package/es/editor/upload/index.mjs +1 -0
- package/es/editor/upload/upload-editor.controller.d.ts +8 -0
- package/es/editor/upload/upload-editor.controller.mjs +50 -0
- package/es/editor/upload/upload-editor.provider.mjs +3 -0
- package/es/editor/upload/use/use-van-upload.mjs +3 -14
- package/es/index.mjs +8 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +29 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.mjs +66 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.provider.d.ts +15 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.provider.mjs +21 -0
- package/es/panel-component/auth-userinfo/index.d.ts +26 -0
- package/es/panel-component/auth-userinfo/index.mjs +15 -0
- package/es/panel-component/index.mjs +6 -0
- package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +1 -1
- package/es/panel-component/panel-button/panel-button.controller.mjs +12 -8
- package/es/panel-component/panel-carousel/index.d.ts +20 -0
- package/es/panel-component/panel-carousel/index.mjs +16 -0
- package/es/panel-component/panel-carousel/panel-carousel.controller.d.ts +50 -0
- package/es/panel-component/panel-carousel/panel-carousel.controller.mjs +76 -0
- package/es/panel-component/panel-carousel/panel-carousel.css +1 -0
- package/es/panel-component/panel-carousel/panel-carousel.d.ts +20 -0
- package/es/panel-component/panel-carousel/panel-carousel.mjs +42 -0
- package/es/panel-component/panel-carousel/panel-carousel.provider.d.ts +14 -0
- package/es/panel-component/panel-carousel/panel-carousel.provider.mjs +21 -0
- package/es/panel-component/panel-video-player/index.d.ts +22 -0
- package/es/panel-component/panel-video-player/index.mjs +19 -0
- package/es/panel-component/panel-video-player/panel-video-player.controller.d.ts +50 -0
- package/es/panel-component/panel-video-player/panel-video-player.controller.mjs +81 -0
- package/es/panel-component/panel-video-player/panel-video-player.css +1 -0
- package/es/panel-component/panel-video-player/panel-video-player.d.ts +22 -0
- package/es/panel-component/panel-video-player/panel-video-player.mjs +59 -0
- package/es/panel-component/panel-video-player/panel-video-player.provider.d.ts +14 -0
- package/es/panel-component/panel-video-player/panel-video-player.provider.mjs +21 -0
- package/es/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
- package/es/platform/index.d.ts +1 -0
- package/es/platform/index.mjs +3 -0
- package/es/platform/vue-browser-platform-provider.d.ts +20 -0
- package/es/platform/vue-browser-platform-provider.mjs +20 -0
- package/lib/common/carousel/carousel.cjs +63 -0
- package/lib/common/carousel/carousel.css +1 -0
- package/lib/common/index.cjs +2 -0
- package/lib/control/calendar/calendar.cjs +94 -12
- package/lib/control/calendar/calendar.css +1 -1
- package/lib/control/dashboard/dashboard.css +1 -1
- package/lib/control/form/form-detail/form-group-panel/form-group-panel.css +1 -1
- package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/lib/control/form/form-detail/form-item/form-item.cjs +5 -1
- package/lib/control/list/md-ctrl/md-ctrl.css +1 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +2 -1
- package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.cjs +17 -4
- package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
- package/lib/editor/index.cjs +10 -0
- package/lib/editor/text-box/input/input.css +1 -1
- package/lib/editor/upload/ibiz-carousel/ibiz-carousel.cjs +73 -0
- package/lib/editor/upload/ibiz-carousel/ibiz-carousel.css +1 -0
- package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +39 -8
- package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.css +1 -1
- package/lib/editor/upload/ibiz-image-select/ibiz-image-select.cjs +12 -5
- package/lib/editor/upload/ibiz-image-select/ibiz-image-select.css +1 -1
- package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +12 -12
- package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.css +1 -1
- package/lib/editor/upload/index.cjs +2 -0
- package/lib/editor/upload/upload-editor.controller.cjs +50 -0
- package/lib/editor/upload/upload-editor.provider.cjs +3 -0
- package/lib/editor/upload/use/use-van-upload.cjs +3 -14
- package/lib/index.cjs +8 -0
- package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +68 -0
- package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -0
- package/lib/panel-component/auth-userinfo/auth-userinfo.provider.cjs +23 -0
- package/lib/panel-component/auth-userinfo/index.cjs +20 -0
- package/lib/panel-component/index.cjs +6 -0
- package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +1 -1
- package/lib/panel-component/panel-button/panel-button.controller.cjs +12 -8
- package/lib/panel-component/panel-carousel/index.cjs +23 -0
- package/lib/panel-component/panel-carousel/panel-carousel.cjs +47 -0
- package/lib/panel-component/panel-carousel/panel-carousel.controller.cjs +78 -0
- package/lib/panel-component/panel-carousel/panel-carousel.css +1 -0
- package/lib/panel-component/panel-carousel/panel-carousel.provider.cjs +23 -0
- package/lib/panel-component/panel-video-player/index.cjs +26 -0
- package/lib/panel-component/panel-video-player/panel-video-player.cjs +64 -0
- package/lib/panel-component/panel-video-player/panel-video-player.controller.cjs +83 -0
- package/lib/panel-component/panel-video-player/panel-video-player.css +1 -0
- package/lib/panel-component/panel-video-player/panel-video-player.provider.cjs +23 -0
- package/lib/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
- package/lib/platform/index.cjs +7 -0
- package/lib/platform/vue-browser-platform-provider.cjs +22 -0
- package/package.json +5 -5
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import './ibiz-carousel.scss';
|
|
2
|
+
import { UploadEditorController } from '../upload-editor.controller';
|
|
3
|
+
export declare const IBizEditorCarousel: import("vue").DefineComponent<{
|
|
4
|
+
value: StringConstructor;
|
|
5
|
+
controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<UploadEditorController>, undefined, undefined>;
|
|
6
|
+
data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
|
|
7
|
+
disabled: {
|
|
8
|
+
type: BooleanConstructor;
|
|
9
|
+
};
|
|
10
|
+
readonly: {
|
|
11
|
+
type: BooleanConstructor;
|
|
12
|
+
default: boolean;
|
|
13
|
+
};
|
|
14
|
+
autoFocus: {
|
|
15
|
+
type: BooleanConstructor;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
18
|
+
overflowMode: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
};
|
|
21
|
+
}, {
|
|
22
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
23
|
+
c: UploadEditorController;
|
|
24
|
+
images: import("vue").ComputedRef<{
|
|
25
|
+
rawContent: string | undefined;
|
|
26
|
+
}[]>;
|
|
27
|
+
autoplay: number;
|
|
28
|
+
duration: number;
|
|
29
|
+
showIndicators: boolean;
|
|
30
|
+
touchable: boolean;
|
|
31
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
32
|
+
change: (_value: unknown, _name?: string | undefined) => boolean;
|
|
33
|
+
blur: (_event?: IData | undefined) => boolean;
|
|
34
|
+
focus: (_event?: IData | undefined) => boolean;
|
|
35
|
+
enter: (_event?: IData | undefined) => boolean;
|
|
36
|
+
infoTextChange: (_text: string) => boolean;
|
|
37
|
+
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
38
|
+
value: StringConstructor;
|
|
39
|
+
controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<UploadEditorController>, undefined, undefined>;
|
|
40
|
+
data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
|
|
41
|
+
disabled: {
|
|
42
|
+
type: BooleanConstructor;
|
|
43
|
+
};
|
|
44
|
+
readonly: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
autoFocus: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
overflowMode: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
};
|
|
55
|
+
}>> & {
|
|
56
|
+
onFocus?: ((_event?: IData | undefined) => any) | undefined;
|
|
57
|
+
onBlur?: ((_event?: IData | undefined) => any) | undefined;
|
|
58
|
+
onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
|
|
59
|
+
onEnter?: ((_event?: IData | undefined) => any) | undefined;
|
|
60
|
+
onInfoTextChange?: ((_text: string) => any) | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
disabled: boolean;
|
|
63
|
+
readonly: boolean;
|
|
64
|
+
autoFocus: boolean;
|
|
65
|
+
}, {}>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { computed, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { getUploadProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import './ibiz-carousel.css';
|
|
4
|
+
import { toNumber } from 'lodash-es';
|
|
5
|
+
import { useVanUpload } from '../use/use-van-upload.mjs';
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
const IBizEditorCarousel = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "IBizEditorCarousel",
|
|
10
|
+
props: getUploadProps(),
|
|
11
|
+
emits: getEditorEmits(),
|
|
12
|
+
setup(props, {
|
|
13
|
+
emit
|
|
14
|
+
}) {
|
|
15
|
+
const ns = useNamespace("carousel");
|
|
16
|
+
const c = props.controller;
|
|
17
|
+
const {
|
|
18
|
+
files
|
|
19
|
+
} = useVanUpload(props, (value) => {
|
|
20
|
+
emit("change", value);
|
|
21
|
+
}, c);
|
|
22
|
+
const editorModel = c.model;
|
|
23
|
+
let autoplay = 3e3;
|
|
24
|
+
let duration = 500;
|
|
25
|
+
let showIndicators = true;
|
|
26
|
+
let touchable = true;
|
|
27
|
+
if (editorModel.editorParams) {
|
|
28
|
+
if (editorModel.editorParams.autoplay) {
|
|
29
|
+
autoplay = toNumber(editorModel.editorParams.autoplay);
|
|
30
|
+
}
|
|
31
|
+
if (editorModel.editorParams.duration) {
|
|
32
|
+
duration = toNumber(editorModel.editorParams.duration);
|
|
33
|
+
}
|
|
34
|
+
if (editorModel.editorParams.showIndicators) {
|
|
35
|
+
showIndicators = editorModel.editorParams.showIndicators === "true";
|
|
36
|
+
}
|
|
37
|
+
if (editorModel.editorParams.touchable) {
|
|
38
|
+
touchable = editorModel.editorParams.touchable === "true";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const images = computed(() => {
|
|
42
|
+
return files.value.map((item) => {
|
|
43
|
+
return {
|
|
44
|
+
rawContent: item.url
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
ns,
|
|
50
|
+
c,
|
|
51
|
+
images,
|
|
52
|
+
autoplay,
|
|
53
|
+
duration,
|
|
54
|
+
showIndicators,
|
|
55
|
+
touchable
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
render() {
|
|
59
|
+
return createVNode("div", {
|
|
60
|
+
"class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : ""]
|
|
61
|
+
}, [createVNode(resolveComponent("iBizCarousel"), {
|
|
62
|
+
"images": this.images,
|
|
63
|
+
"autoplay": this.autoplay,
|
|
64
|
+
"duration": this.duration,
|
|
65
|
+
"showIndicators": this.showIndicators,
|
|
66
|
+
"touchable": this.touchable
|
|
67
|
+
}, null)]);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
export { IBizEditorCarousel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-file-upload{width:100%}.ibiz-file-upload .van-uploader__preview{display:none}.ibiz-file-upload .
|
|
1
|
+
.ibiz-file-upload{display:flex;flex-direction:column;width:100%}.ibiz-file-upload .van-uploader__preview{display:none}.ibiz-file-upload .van-uploader{width:100%}.ibiz-file-upload .ibiz-file-upload-button{width:1.25rem;height:1.25rem;font-size:var(--ibiz-font-size-header-4);color:var(--ibiz-color-text-2);background:0 0;border:none;border-radius:50%}.ibiz-file-upload .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-file-upload .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-file-upload .ibiz-file-upload-item-cover{position:absolute;top:0;bottom:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;font-size:.75rem;line-height:initial;color:#fff;text-align:center;background:var(--ibiz-color-overlay-bg)}.ibiz-file-upload .ibiz-file-upload-preview{width:100%;margin-top:.625rem}.ibiz-file-upload .ibiz-file-upload-preview-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 var(--ibiz-spacing-tight);margin-bottom:var(--ibiz-spacing-tight);background:var(--ibiz-color-disabled-bg);border-radius:var(--ibiz-border-radius-small)}.ibiz-file-upload .ibiz-file-upload-preview-item:last-child{margin:0;border-width:0}.ibiz-file-upload .ibiz-file-upload-preview-item-img{flex-shrink:0;width:2.5rem;min-width:2.5rem;height:2.5rem;padding:.375rem}.ibiz-file-upload .ibiz-file-upload-preview-item-img img{width:100%;height:100%;border-radius:.25rem}.ibiz-file-upload .ibiz-file-upload-preview-item-left{display:flex;flex-grow:1;align-items:center;width:calc(100% - 1.25rem)}.ibiz-file-upload .ibiz-file-upload-preview-item-text{display:flex;flex:1;align-items:center;width:calc(100% - 2.5rem);padding-left:var(--ibiz-spacing-tight);font-size:.875rem}.ibiz-file-upload .ibiz-file-upload-preview-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-file-upload .ibiz-file-upload-preview-item-action{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;width:1.25rem;color:var(--ibiz-color-overlay-bg);text-align:right}.ibiz-file-upload .van-uploader__input-wrapper{width:100%;text-align:right}.ibiz-form-item-container--top .ibiz-file-upload .van-uploader{position:absolute;top:0;right:0;width:100%}.ibiz-file-upload--readonly .ibiz-file-upload-preview{margin-top:0}.ibiz-file-upload--disabled .ibiz-file-upload-preview{margin-top:0}
|
|
@@ -32,6 +32,9 @@ export declare const IBizFileUpload: import("vue").DefineComponent<{
|
|
|
32
32
|
beforeUpload: () => void;
|
|
33
33
|
onDownload: (file: IData) => void;
|
|
34
34
|
afterRead: (file: IData | IData[]) => Promise<void>;
|
|
35
|
+
getFileSuffix: (name: string) => string;
|
|
36
|
+
getFileName: (filename: string) => string;
|
|
37
|
+
getPreviewImg: (name: string) => string;
|
|
35
38
|
limit: import("vue").ComputedRef<1 | 9999>;
|
|
36
39
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
37
40
|
change: (_value: unknown, _name?: string | undefined) => boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveComponent,
|
|
1
|
+
import { resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
2
2
|
import { getUploadProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './ibiz-file-upload.css';
|
|
4
4
|
import { useVanUpload } from '../use/use-van-upload.mjs';
|
|
@@ -25,6 +25,27 @@ const IBizFileUpload = /* @__PURE__ */ defineComponent({
|
|
|
25
25
|
} = useVanUpload(props, (value) => {
|
|
26
26
|
emit("change", value);
|
|
27
27
|
}, c);
|
|
28
|
+
const getFileSuffix = (name) => {
|
|
29
|
+
const lastDotIndex = name.lastIndexOf(".");
|
|
30
|
+
if (lastDotIndex === -1) {
|
|
31
|
+
return "";
|
|
32
|
+
}
|
|
33
|
+
const extension = name.substring(lastDotIndex + 1).toLowerCase();
|
|
34
|
+
return extension;
|
|
35
|
+
};
|
|
36
|
+
const getFileName = (filename) => {
|
|
37
|
+
const lastDotIndex = filename.lastIndexOf(".");
|
|
38
|
+
if (lastDotIndex === -1) {
|
|
39
|
+
return filename;
|
|
40
|
+
}
|
|
41
|
+
const name = filename.substring(0, lastDotIndex);
|
|
42
|
+
return name;
|
|
43
|
+
};
|
|
44
|
+
const getPreviewImg = (name) => {
|
|
45
|
+
const suffix = getFileSuffix(name);
|
|
46
|
+
const type = c.fileTypeMap.get(suffix) || "unknown";
|
|
47
|
+
return `./assets/img/file/${type}.svg`;
|
|
48
|
+
};
|
|
28
49
|
return {
|
|
29
50
|
ns,
|
|
30
51
|
c,
|
|
@@ -35,6 +56,9 @@ const IBizFileUpload = /* @__PURE__ */ defineComponent({
|
|
|
35
56
|
beforeUpload,
|
|
36
57
|
onDownload,
|
|
37
58
|
afterRead,
|
|
59
|
+
getFileSuffix,
|
|
60
|
+
getFileName,
|
|
61
|
+
getPreviewImg,
|
|
38
62
|
limit
|
|
39
63
|
};
|
|
40
64
|
},
|
|
@@ -53,17 +77,17 @@ const IBizFileUpload = /* @__PURE__ */ defineComponent({
|
|
|
53
77
|
}, {
|
|
54
78
|
default: () => {
|
|
55
79
|
return !this.readonly && !this.disabled && createVNode(resolveComponent("van-button"), {
|
|
56
|
-
"class": this.ns.b("button")
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
});
|
|
80
|
+
"class": this.ns.b("button"),
|
|
81
|
+
"icon": "add-o",
|
|
82
|
+
"type": "primary"
|
|
83
|
+
}, null);
|
|
60
84
|
},
|
|
61
85
|
"preview-cover": (file) => {
|
|
62
86
|
return createVNode("div", {
|
|
63
87
|
"class": this.ns.b("item-cover")
|
|
64
88
|
}, [file.name]);
|
|
65
89
|
}
|
|
66
|
-
}), createVNode("div", {
|
|
90
|
+
}), this.files.length > 0 && createVNode("div", {
|
|
67
91
|
"class": this.ns.b("preview")
|
|
68
92
|
}, [this.files.map((item) => {
|
|
69
93
|
return createVNode("div", {
|
|
@@ -71,18 +95,25 @@ const IBizFileUpload = /* @__PURE__ */ defineComponent({
|
|
|
71
95
|
"onClick": () => {
|
|
72
96
|
this.onDownload(item);
|
|
73
97
|
}
|
|
98
|
+
}, [createVNode("div", {
|
|
99
|
+
"class": this.ns.b("preview-item-left")
|
|
74
100
|
}, [createVNode("div", {
|
|
75
101
|
"class": this.ns.b("preview-item-img")
|
|
76
102
|
}, [createVNode("img", {
|
|
77
|
-
"src":
|
|
103
|
+
"src": this.getPreviewImg(item.name),
|
|
78
104
|
"alt": ""
|
|
79
105
|
}, null)]), createVNode("div", {
|
|
80
106
|
"class": this.ns.b("preview-item-text")
|
|
81
|
-
}, [
|
|
107
|
+
}, [createVNode("div", {
|
|
108
|
+
"class": this.ns.b("preview-item-name")
|
|
109
|
+
}, [this.getFileName(item.name)]), this.getFileSuffix(item.name) && createVNode("div", {
|
|
110
|
+
"class": this.ns.b("preview-item-suffix")
|
|
111
|
+
}, [createTextVNode("."), this.getFileSuffix(item.name)])])]), !this.readonly && !this.disabled && createVNode("div", {
|
|
82
112
|
"class": this.ns.b("preview-item-action")
|
|
83
113
|
}, [createVNode(resolveComponent("van-icon"), {
|
|
84
114
|
"name": "cross",
|
|
85
|
-
"onClick": () => {
|
|
115
|
+
"onClick": (e) => {
|
|
116
|
+
e.stopPropagation();
|
|
86
117
|
this.onRemove(item);
|
|
87
118
|
}
|
|
88
119
|
}, null)])]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-image-select .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-image-select .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-image-select .ibiz-image-select-item-cover{position:absolute;top:0;bottom:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;font-size:.12rem;line-height:initial;color:#fff;text-align:center;background:0 0}.ibiz-image-select .ibiz-image-select-item-cover img{width:100%;height:100%;border-radius:.04rem}
|
|
1
|
+
.ibiz-image-select .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-image-select .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-image-select .ibiz-image-select-item-cover{position:absolute;top:0;bottom:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;font-size:.12rem;line-height:initial;color:#fff;text-align:center;background:0 0}.ibiz-image-select .ibiz-image-select-item-cover img{width:100%;height:100%;border-radius:.04rem}.ibiz-image-select .van-uploader__preview{width:100%;height:100%}.ibiz-image-select .van-uploader{width:var(--van-uploader-size);height:100%}
|
|
@@ -27,8 +27,7 @@ export declare const IBizImageSelect: import("vue").DefineComponent<{
|
|
|
27
27
|
url?: string | undefined;
|
|
28
28
|
}[]>;
|
|
29
29
|
svg: import("vue").Ref<string>;
|
|
30
|
-
|
|
31
|
-
dialogVisible: import("vue").Ref<boolean>;
|
|
30
|
+
onPreview: (_file: IData) => void;
|
|
32
31
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
33
32
|
change: (_value: unknown, _name?: string | undefined) => boolean;
|
|
34
33
|
blur: (_event?: IData | undefined) => boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ref, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { getUploadProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './ibiz-image-select.css';
|
|
4
|
+
import { showImagePreview } from 'vant';
|
|
4
5
|
import { useVanUpload } from '../use/use-van-upload.mjs';
|
|
5
6
|
|
|
6
7
|
"use strict";
|
|
@@ -13,21 +14,23 @@ const IBizImageSelect = /* @__PURE__ */ defineComponent({
|
|
|
13
14
|
}) {
|
|
14
15
|
const ns = useNamespace("image-select");
|
|
15
16
|
const c = props.controller;
|
|
16
|
-
const dialogVisible = ref(false);
|
|
17
|
-
const dialogImageUrl = ref("");
|
|
18
17
|
const svg = ref("");
|
|
19
18
|
const {
|
|
20
19
|
files
|
|
21
20
|
} = useVanUpload(props, (value) => {
|
|
22
21
|
emit("change", value);
|
|
23
22
|
}, c);
|
|
23
|
+
const onPreview = (_file) => {
|
|
24
|
+
showImagePreview({
|
|
25
|
+
images: files.value.map((item) => item.url)
|
|
26
|
+
});
|
|
27
|
+
};
|
|
24
28
|
return {
|
|
25
29
|
ns,
|
|
26
30
|
c,
|
|
27
31
|
files,
|
|
28
32
|
svg,
|
|
29
|
-
|
|
30
|
-
dialogVisible
|
|
33
|
+
onPreview
|
|
31
34
|
};
|
|
32
35
|
},
|
|
33
36
|
render() {
|
|
@@ -44,7 +47,11 @@ const IBizImageSelect = /* @__PURE__ */ defineComponent({
|
|
|
44
47
|
}, {
|
|
45
48
|
"preview-cover": (file) => {
|
|
46
49
|
return createVNode("div", {
|
|
47
|
-
"class": this.ns.b("item-cover")
|
|
50
|
+
"class": this.ns.b("item-cover"),
|
|
51
|
+
"onClick": (e) => {
|
|
52
|
+
e.stopPropagation();
|
|
53
|
+
this.onPreview(file);
|
|
54
|
+
}
|
|
48
55
|
}, [createVNode("img", {
|
|
49
56
|
"src": file.url
|
|
50
57
|
}, null)]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-image-upload .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-image-upload .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-image-upload .ibiz-image-upload-item-cover{position:absolute;top:0;bottom:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;font-size:.75rem;line-height:initial;color:#fff;text-align:center;background:0 0}.ibiz-image-upload .ibiz-image-upload-item-cover img{width:100%;height:100%;border-radius:.25rem}.van-uploader__preview-delete--shadow{top:-.3125rem;right:-.3125rem;display:flex;align-items:center;justify-content:center;width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);text-align:center;background:var(--van-uploader-delete-background);border-radius:50%;opacity:.6}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;font-size:var(--van-uploader-delete-icon-size);color:var(--van-uploader-delete-color);transform:scale(.7) translate(0,-10%)}.van-uploader__upload{background:0 0;border:var(--ibiz-color-border) .0625rem solid;border-radius:.25rem}.van-uploader__upload--readonly{display:none}
|
|
1
|
+
.ibiz-image-upload .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-image-upload .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-image-upload .ibiz-image-upload-item-cover{position:absolute;top:0;bottom:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;font-size:.75rem;line-height:initial;color:#fff;text-align:center;background:0 0}.ibiz-image-upload .ibiz-image-upload-item-cover img{width:100%;height:100%;border-radius:.25rem}.van-uploader__preview-delete--shadow{top:-.3125rem;right:-.3125rem;display:flex;align-items:center;justify-content:center;width:var(--van-uploader-delete-icon-size);height:var(--van-uploader-delete-icon-size);text-align:center;background:var(--van-uploader-delete-background);border-radius:50%;opacity:.6}.van-uploader__preview-delete-icon{position:absolute;top:0;right:0;font-size:var(--van-uploader-delete-icon-size);color:var(--van-uploader-delete-color);transform:scale(.7) translate(0,-10%)}.van-uploader__upload{background:0 0;border:var(--ibiz-color-border) .0625rem solid;border-radius:.25rem}.van-uploader__upload--readonly{display:none}.ibiz-panel-field .ibiz-panel-field-content{height:100%}.ibiz-panel-field .ibiz-panel-field-content .van-uploader{width:100%;height:100%}.ibiz-panel-field .ibiz-panel-field-content .van-uploader__wrapper{height:100%}
|
|
@@ -29,12 +29,9 @@ export declare const IBizImageUpload: import("vue").DefineComponent<{
|
|
|
29
29
|
limit: import("vue").ComputedRef<1 | 9999>;
|
|
30
30
|
headers: import("vue").Ref<IData>;
|
|
31
31
|
uploadUrl: import("vue").Ref<string>;
|
|
32
|
-
dialogImageUrl: import("vue").Ref<string>;
|
|
33
|
-
dialogVisible: import("vue").Ref<boolean>;
|
|
34
32
|
beforeUpload: () => void;
|
|
35
33
|
onRemove: (file: IData) => void;
|
|
36
|
-
|
|
37
|
-
onPreview: (file: IData) => void;
|
|
34
|
+
onPreview: (_file: IData) => void;
|
|
38
35
|
afterRead: (file: IData | IData[]) => Promise<void>;
|
|
39
36
|
onDownload: (file: IData) => void;
|
|
40
37
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { getUploadProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './ibiz-image-upload.css';
|
|
4
|
+
import { showImagePreview } from 'vant';
|
|
4
5
|
import { useVanUpload } from '../use/use-van-upload.mjs';
|
|
5
6
|
|
|
6
7
|
"use strict";
|
|
@@ -25,14 +26,12 @@ const IBizImageUpload = /* @__PURE__ */ defineComponent({
|
|
|
25
26
|
} = useVanUpload(props, (value) => {
|
|
26
27
|
emit("change", value);
|
|
27
28
|
}, c);
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
dialogImageUrl.value = file.url;
|
|
35
|
-
dialogVisible.value = true;
|
|
29
|
+
const onPreview = (_file) => {
|
|
30
|
+
const index = files.value.findIndex((item) => item.id === _file.id);
|
|
31
|
+
showImagePreview({
|
|
32
|
+
images: files.value.map((item) => item.url),
|
|
33
|
+
startPosition: index
|
|
34
|
+
});
|
|
36
35
|
};
|
|
37
36
|
return {
|
|
38
37
|
ns,
|
|
@@ -41,11 +40,8 @@ const IBizImageUpload = /* @__PURE__ */ defineComponent({
|
|
|
41
40
|
limit,
|
|
42
41
|
headers,
|
|
43
42
|
uploadUrl,
|
|
44
|
-
dialogImageUrl,
|
|
45
|
-
dialogVisible,
|
|
46
43
|
beforeUpload,
|
|
47
44
|
onRemove,
|
|
48
|
-
onDialogVisibleChange,
|
|
49
45
|
onPreview,
|
|
50
46
|
afterRead,
|
|
51
47
|
onDownload
|
|
@@ -68,7 +64,11 @@ const IBizImageUpload = /* @__PURE__ */ defineComponent({
|
|
|
68
64
|
}, {
|
|
69
65
|
"preview-cover": (file) => {
|
|
70
66
|
return createVNode("div", {
|
|
71
|
-
"class": this.ns.b("item-cover")
|
|
67
|
+
"class": this.ns.b("item-cover"),
|
|
68
|
+
"onClick": (e) => {
|
|
69
|
+
e.stopPropagation();
|
|
70
|
+
this.onPreview(file);
|
|
71
|
+
}
|
|
72
72
|
}, [createVNode("img", {
|
|
73
73
|
"src": file.url
|
|
74
74
|
}, null)]);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { IBizFileUpload } from './ibiz-file-upload/ibiz-file-upload';
|
|
2
2
|
export { IBizImageUpload } from './ibiz-image-upload/ibiz-image-upload';
|
|
3
3
|
export { IBizImageSelect } from './ibiz-image-select/ibiz-image-select';
|
|
4
|
+
export { IBizEditorCarousel } from './ibiz-carousel/ibiz-carousel';
|
|
4
5
|
export * from './upload-editor.controller';
|
|
5
6
|
export * from './upload-editor.provider';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { IBizFileUpload } from './ibiz-file-upload/ibiz-file-upload.mjs';
|
|
2
2
|
export { IBizImageUpload } from './ibiz-image-upload/ibiz-image-upload.mjs';
|
|
3
3
|
export { IBizImageSelect } from './ibiz-image-select/ibiz-image-select.mjs';
|
|
4
|
+
export { IBizEditorCarousel } from './ibiz-carousel/ibiz-carousel.mjs';
|
|
4
5
|
export { UploadEditorController } from './upload-editor.controller.mjs';
|
|
5
6
|
export { FileUploaderEditorProvider } from './upload-editor.provider.mjs';
|
|
6
7
|
|
|
@@ -27,6 +27,14 @@ export declare class UploadEditorController extends EditorController<IFileUpload
|
|
|
27
27
|
* 下载参数
|
|
28
28
|
*/
|
|
29
29
|
exportParams?: IParams;
|
|
30
|
+
/**
|
|
31
|
+
* 文件类型
|
|
32
|
+
*
|
|
33
|
+
* @author zk
|
|
34
|
+
* @date 2023-12-07 03:12:25
|
|
35
|
+
* @memberof UploadEditorController
|
|
36
|
+
*/
|
|
37
|
+
fileTypeMap: Map<string, string>;
|
|
30
38
|
protected onInit(): Promise<void>;
|
|
31
39
|
/**
|
|
32
40
|
* 计算文件的上传路径和下载路径
|
|
@@ -32,6 +32,56 @@ class UploadEditorController extends EditorController {
|
|
|
32
32
|
* 下载参数
|
|
33
33
|
*/
|
|
34
34
|
__publicField(this, "exportParams");
|
|
35
|
+
/**
|
|
36
|
+
* 文件类型
|
|
37
|
+
*
|
|
38
|
+
* @author zk
|
|
39
|
+
* @date 2023-12-07 03:12:25
|
|
40
|
+
* @memberof UploadEditorController
|
|
41
|
+
*/
|
|
42
|
+
__publicField(this, "fileTypeMap", /* @__PURE__ */ new Map([
|
|
43
|
+
// word文档
|
|
44
|
+
["docx", "docx"],
|
|
45
|
+
["doc", "docx"],
|
|
46
|
+
["dotx", "docx"],
|
|
47
|
+
["dot", "docx"],
|
|
48
|
+
// pdf
|
|
49
|
+
["pdf", "pdf"],
|
|
50
|
+
// text
|
|
51
|
+
["txt", "text"],
|
|
52
|
+
//
|
|
53
|
+
["xlsx", "excel"],
|
|
54
|
+
["xls", "excel"],
|
|
55
|
+
["xlsm", "excel"],
|
|
56
|
+
["xlsb", "excel"],
|
|
57
|
+
["csv", "excel"],
|
|
58
|
+
// ppt
|
|
59
|
+
["pptx", "ppt"],
|
|
60
|
+
// 图片
|
|
61
|
+
["jpg", "img"],
|
|
62
|
+
["png", "img"],
|
|
63
|
+
["gif", "img"],
|
|
64
|
+
["bmp", "img"],
|
|
65
|
+
["svg", "img"],
|
|
66
|
+
// 音频
|
|
67
|
+
["mp3", "audio"],
|
|
68
|
+
["wav", "audio"],
|
|
69
|
+
["aac", "audio"],
|
|
70
|
+
["flac", "audio"],
|
|
71
|
+
["wma", "audio"],
|
|
72
|
+
// 视频
|
|
73
|
+
["mp4", "video"],
|
|
74
|
+
["avi", "video"],
|
|
75
|
+
["mov", "video"],
|
|
76
|
+
["mkv", "video"],
|
|
77
|
+
["wmv", "video"],
|
|
78
|
+
// 压缩
|
|
79
|
+
["zip", "zip"],
|
|
80
|
+
["rar", "zip"],
|
|
81
|
+
["7z", "zip"],
|
|
82
|
+
["gz", "zip"],
|
|
83
|
+
["tar", "zip"]
|
|
84
|
+
]));
|
|
35
85
|
}
|
|
36
86
|
async onInit() {
|
|
37
87
|
var _a;
|
|
@@ -10,11 +10,6 @@ function useVanUpload(props, valueChange, c) {
|
|
|
10
10
|
});
|
|
11
11
|
const uploadUrl = ref("");
|
|
12
12
|
const downloadUrl = ref("");
|
|
13
|
-
const uploadCache = {
|
|
14
|
-
count: 0,
|
|
15
|
-
cacheFiles: []
|
|
16
|
-
// iview上传过程中不能改default-file-list,所以需要缓存
|
|
17
|
-
};
|
|
18
13
|
watch(
|
|
19
14
|
() => props.value,
|
|
20
15
|
(newVal) => {
|
|
@@ -56,34 +51,28 @@ function useVanUpload(props, valueChange, c) {
|
|
|
56
51
|
{ immediate: true }
|
|
57
52
|
);
|
|
58
53
|
const emitValue = () => {
|
|
59
|
-
const _files = [...files.value
|
|
54
|
+
const _files = [...files.value];
|
|
60
55
|
const value = _files.length > 0 ? JSON.stringify(_files.map((file) => ({ name: file.name, id: file.id }))) : null;
|
|
61
|
-
uploadCache.cacheFiles = [];
|
|
62
56
|
valueChange(value);
|
|
63
57
|
};
|
|
64
58
|
const beforeUpload = () => {
|
|
65
59
|
if (!c.multiple && files.value.length === 1) {
|
|
66
60
|
return false;
|
|
67
61
|
}
|
|
68
|
-
uploadCache.count += 1;
|
|
69
62
|
return true;
|
|
70
63
|
};
|
|
71
64
|
const onSuccess = (response) => {
|
|
72
65
|
if (!response) {
|
|
73
66
|
return;
|
|
74
67
|
}
|
|
75
|
-
|
|
68
|
+
files.value.push({
|
|
76
69
|
name: response.filename,
|
|
77
70
|
id: response.fileid
|
|
78
71
|
});
|
|
79
|
-
|
|
80
|
-
if (uploadCache.count === 0) {
|
|
81
|
-
emitValue();
|
|
82
|
-
}
|
|
72
|
+
emitValue();
|
|
83
73
|
};
|
|
84
74
|
const onError = (...args) => {
|
|
85
75
|
const error = args[0];
|
|
86
|
-
uploadCache.count -= 1;
|
|
87
76
|
throw new HttpError({
|
|
88
77
|
response: { data: JSON.parse(error.message), status: error.status }
|
|
89
78
|
});
|
package/es/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlatformType, registerPlatformProvider } from '@ibiz-template/runtime';
|
|
1
2
|
import { IBizView, IBizViewLayoutPanelControl, IBizPortalView, IBizPanelControl } from '@ibiz-template/vue3-util';
|
|
2
3
|
import { IBizCommonComponents } from './common/index.mjs';
|
|
3
4
|
import './control/index.mjs';
|
|
@@ -5,9 +6,11 @@ import { IBizEditor } from './editor/index.mjs';
|
|
|
5
6
|
import { iBizI18n } from './locale/index.mjs';
|
|
6
7
|
export { i18n } from './locale/index.mjs';
|
|
7
8
|
import { IBizPanelComponents } from './panel-component/index.mjs';
|
|
9
|
+
import './platform/index.mjs';
|
|
8
10
|
import { IBizViewEngine } from './view-engine/index.mjs';
|
|
9
11
|
import './util/index.mjs';
|
|
10
12
|
import './view/index.mjs';
|
|
13
|
+
import { VueBrowserPlatformProvider } from './platform/vue-browser-platform-provider.mjs';
|
|
11
14
|
import { IBizMDCtrlControl } from './control/list/md-ctrl/index.mjs';
|
|
12
15
|
import { IBizAppMenuControl } from './control/app-menu/index.mjs';
|
|
13
16
|
import { IBizFormControl } from './control/form/form/index.mjs';
|
|
@@ -45,6 +48,11 @@ export { LoginView } from './view/login-view/login-view.mjs';
|
|
|
45
48
|
var index = {
|
|
46
49
|
install: (v) => {
|
|
47
50
|
ibiz.i18n = iBizI18n;
|
|
51
|
+
const browserPlatformProvider = new VueBrowserPlatformProvider();
|
|
52
|
+
registerPlatformProvider(
|
|
53
|
+
PlatformType.BROWSER,
|
|
54
|
+
() => browserPlatformProvider
|
|
55
|
+
);
|
|
48
56
|
v.use(IBizCommonComponents);
|
|
49
57
|
v.use(IBizViewEngine);
|
|
50
58
|
v.use(IBizView);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-user-info{--ibiz-user-info-color:var(--ibiz-color-text-0);--ibiz-user-info-img-size:3.125rem;--ibiz-user-info-img-radius:0.5rem;--ibiz-user-info-bg-color:transparent;--ibiz-user-info-padding:var(--ibiz-spacing-tight);display:flex;gap:var(--ibiz-user-info-padding);align-items:center;padding:var(--ibiz-user-info-padding);color:var(--ibiz-user-info-color);background-color:var(--ibiz-user-info-bg-color)}.ibiz-user-info__username{font-size:.875rem;font-weight:600}.ibiz-user-info__org{font-size:.75rem;color:var(--ibiz-color-text-3)}.ibiz-user-info .van-image{width:var(--ibiz-user-info-img-size);height:var(--ibiz-user-info-img-size);overflow:hidden;border-radius:var(--ibiz-user-info-img-radius)}.ibiz-user-info .van-image .van-image__loading{font-size:1.5625rem}.ibiz-user-info .ibiz-user-info-center{display:flex;flex-direction:column;flex-grow:1;gap:var(--ibiz-user-info-padding)}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import './auth-userinfo.scss';
|
|
3
|
+
import { IPanelRawItem } from '@ibiz/model-core';
|
|
4
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
5
|
+
export declare const AuthUserinfo: import("vue").DefineComponent<{
|
|
6
|
+
modelData: {
|
|
7
|
+
type: PropType<IPanelRawItem>;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
controller: {
|
|
11
|
+
type: typeof PanelItemController;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
14
|
+
}, {
|
|
15
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
16
|
+
c: PanelItemController<import("@ibiz/model-core").IPanelItem>;
|
|
17
|
+
srfusername: any;
|
|
18
|
+
srfpersonname: any;
|
|
19
|
+
srforgname: any;
|
|
20
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
21
|
+
modelData: {
|
|
22
|
+
type: PropType<IPanelRawItem>;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
controller: {
|
|
26
|
+
type: typeof PanelItemController;
|
|
27
|
+
required: true;
|
|
28
|
+
};
|
|
29
|
+
}>>, {}, {}>;
|