@ibiz-template/vue3-components 0.6.2-dev.0 → 0.6.3
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/chart-IsmrW_d0.js +1 -0
- package/dist/index-9YFoUwI0.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-HHwgsM7j.js → xlsx-util-c9vmypX3.js} +1 -1
- package/es/common/action-toolbar/action-toolbar.css +1 -1
- package/es/common/action-toolbar/action-toolbar.mjs +6 -2
- package/es/common/carousel/carousel.css +1 -0
- package/es/common/carousel/carousel.d.ts +133 -0
- package/es/common/carousel/carousel.mjs +78 -0
- package/es/common/index.mjs +2 -0
- package/es/control/calendar/calendar.css +1 -1
- package/es/control/calendar/calendar.mjs +22 -19
- package/es/control/caption-bar/caption-bar.d.ts +1 -1
- package/es/control/caption-bar/caption-bar.mjs +3 -8
- package/es/control/chart/chart.css +1 -1
- package/es/control/chart/chart.mjs +5 -2
- package/es/control/dashboard/dashboard.mjs +3 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +7 -0
- package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
- package/es/control/form/form-detail/form-tab-panel/form-tab-panel.d.ts +1 -0
- package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +51 -12
- package/es/control/form/form-detail/form-tab-panel/index.d.ts +1 -0
- package/es/control/gantt/gantt.css +1 -1
- package/es/control/gantt/gantt.mjs +2 -1
- package/es/control/search-bar/index.d.ts +1 -0
- package/es/control/search-bar/search-bar.d.ts +1 -0
- package/es/control/search-bar/search-bar.mjs +10 -0
- package/es/control/tab-exp-panel/tab-exp-panel.mjs +16 -9
- package/es/editor/carousel/carousel-editor.controller.d.ts +10 -0
- package/es/editor/carousel/carousel-editor.controller.mjs +7 -0
- package/es/editor/carousel/carousel-editor.provider.d.ts +17 -0
- package/es/editor/carousel/carousel-editor.provider.mjs +22 -0
- package/es/editor/carousel/ibiz-carousel/ibiz-carousel.css +0 -0
- package/es/editor/carousel/ibiz-carousel/ibiz-carousel.d.ts +76 -0
- package/es/editor/carousel/ibiz-carousel/ibiz-carousel.mjs +64 -0
- package/es/editor/carousel/index.d.ts +3 -0
- package/es/editor/carousel/index.mjs +5 -0
- package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +20 -6
- package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +1 -0
- package/es/editor/index.mjs +8 -0
- package/es/panel-component/index.mjs +2 -0
- package/es/panel-component/panel-static-carousel/index.d.ts +31 -0
- package/es/panel-component/panel-static-carousel/index.mjs +18 -0
- package/es/panel-component/panel-static-carousel/panel-static-carousel.css +0 -0
- package/es/panel-component/panel-static-carousel/panel-static-carousel.d.ts +34 -0
- package/es/panel-component/panel-static-carousel/panel-static-carousel.mjs +80 -0
- package/es/panel-component/panel-static-carousel/panel-static-carousel.provider.d.ts +15 -0
- package/es/panel-component/panel-static-carousel/panel-static-carousel.provider.mjs +21 -0
- package/es/panel-component/user-message/index.d.ts +2 -2
- package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.css +1 -1
- package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.mjs +9 -3
- package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.d.ts +1 -0
- package/es/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.mjs +8 -1
- package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +20 -1
- package/es/panel-component/user-message/user-message.d.ts +2 -2
- package/es/panel-component/user-message/user-message.mjs +32 -5
- package/es/util/app-modal/app-modal-component.d.ts +1 -0
- package/es/util/app-modal/app-modal-component.mjs +1 -1
- package/es/util/notification-util/notification-util.d.ts +1 -0
- package/es/util/notification-util/notification-util.mjs +4 -0
- package/es/view-engine/calendar-view.engine.d.ts +3 -1
- package/es/view-engine/calendar-view.engine.mjs +11 -0
- package/es/view-engine/gantt-view.engine.d.ts +2 -1
- package/es/view-engine/gantt-view.engine.mjs +3 -0
- package/es/view-engine/opt-view.engine.mjs +1 -1
- package/es/view-engine/tree-grid-view.engine.d.ts +1 -0
- package/es/view-engine/tree-grid-view.engine.mjs +8 -0
- package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +2 -1
- package/lib/common/action-toolbar/action-toolbar.cjs +6 -2
- package/lib/common/action-toolbar/action-toolbar.css +1 -1
- package/lib/common/carousel/carousel.cjs +80 -0
- package/lib/common/carousel/carousel.css +1 -0
- package/lib/common/index.cjs +2 -0
- package/lib/control/calendar/calendar.cjs +22 -19
- package/lib/control/calendar/calendar.css +1 -1
- package/lib/control/caption-bar/caption-bar.cjs +3 -8
- package/lib/control/chart/chart.cjs +5 -2
- package/lib/control/chart/chart.css +1 -1
- package/lib/control/dashboard/dashboard.cjs +2 -0
- package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +50 -11
- package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
- package/lib/control/gantt/gantt.cjs +2 -1
- package/lib/control/gantt/gantt.css +1 -1
- package/lib/control/search-bar/search-bar.cjs +10 -0
- package/lib/control/tab-exp-panel/tab-exp-panel.cjs +15 -8
- package/lib/editor/carousel/carousel-editor.controller.cjs +9 -0
- package/lib/editor/carousel/carousel-editor.provider.cjs +24 -0
- package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.cjs +66 -0
- package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.css +0 -0
- package/lib/editor/carousel/index.cjs +11 -0
- package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +20 -6
- package/lib/editor/index.cjs +8 -0
- package/lib/panel-component/index.cjs +2 -0
- package/lib/panel-component/panel-static-carousel/index.cjs +23 -0
- package/lib/panel-component/panel-static-carousel/panel-static-carousel.cjs +82 -0
- package/lib/panel-component/panel-static-carousel/panel-static-carousel.css +0 -0
- package/lib/panel-component/panel-static-carousel/panel-static-carousel.provider.cjs +23 -0
- package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.cjs +8 -2
- package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.css +1 -1
- package/lib/panel-component/user-message/internal-message/common/internal-message-default/internal-message-default.provider.cjs +8 -1
- package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +19 -0
- package/lib/panel-component/user-message/user-message.cjs +30 -3
- package/lib/util/app-modal/app-modal-component.cjs +1 -1
- package/lib/util/notification-util/notification-util.cjs +4 -0
- package/lib/view-engine/calendar-view.engine.cjs +11 -0
- package/lib/view-engine/gantt-view.engine.cjs +3 -0
- package/lib/view-engine/opt-view.engine.cjs +1 -1
- package/lib/view-engine/tree-grid-view.engine.cjs +8 -0
- package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +2 -1
- package/package.json +8 -8
- package/dist/chart-fWcrZRts.js +0 -1
- package/dist/index-NdPkOMvL.js +0 -4
|
@@ -19,6 +19,7 @@ export declare const IBizSearchBarControl: import("@ibiz-template/vue3-util").Ty
|
|
|
19
19
|
ns: import("@ibiz-template/core").Namespace;
|
|
20
20
|
cssVars: import("vue").ComputedRef<Record<string, string>>;
|
|
21
21
|
filterButtonRef: import("vue").Ref<any>;
|
|
22
|
+
onClear: () => void;
|
|
22
23
|
onSearch: () => void;
|
|
23
24
|
onKeydown: (e: KeyboardEvent) => void;
|
|
24
25
|
onGroupClick: (item: import("@ibiz/model-core").ISearchBarGroup) => void;
|
|
@@ -23,6 +23,7 @@ export declare const SearchBarControl: import("vue").DefineComponent<{
|
|
|
23
23
|
ns: import("@ibiz-template/core").Namespace;
|
|
24
24
|
cssVars: import("vue").ComputedRef<Record<string, string>>;
|
|
25
25
|
filterButtonRef: import("vue").Ref<any>;
|
|
26
|
+
onClear: () => void;
|
|
26
27
|
onSearch: () => void;
|
|
27
28
|
onKeydown: (e: KeyboardEvent) => void;
|
|
28
29
|
onGroupClick: (item: ISearchBarGroup) => void;
|
|
@@ -27,9 +27,17 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
27
27
|
var _a;
|
|
28
28
|
const c = useControlController((...args) => new SearchBarController(...args));
|
|
29
29
|
const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
|
|
30
|
+
let isSearch = false;
|
|
30
31
|
const onSearch = () => {
|
|
32
|
+
isSearch = true;
|
|
31
33
|
c.onSearch();
|
|
32
34
|
};
|
|
35
|
+
const onClear = () => {
|
|
36
|
+
if (isSearch === true) {
|
|
37
|
+
isSearch = false;
|
|
38
|
+
c.onSearch();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
33
41
|
const onKeydown = (e) => {
|
|
34
42
|
if (e.code === "Enter") {
|
|
35
43
|
onSearch();
|
|
@@ -91,6 +99,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
91
99
|
ns,
|
|
92
100
|
cssVars,
|
|
93
101
|
filterButtonRef,
|
|
102
|
+
onClear,
|
|
94
103
|
onSearch,
|
|
95
104
|
onKeydown,
|
|
96
105
|
onGroupClick,
|
|
@@ -131,6 +140,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
131
140
|
"placeholder": this.c.placeHolder,
|
|
132
141
|
"clearable": true,
|
|
133
142
|
"onKeydown": this.onKeydown,
|
|
143
|
+
"onClear": this.onClear,
|
|
134
144
|
"suffix-icon": createVNode("ion-icon", {
|
|
135
145
|
"onClick": this.onSearch,
|
|
136
146
|
"class": this.ns.e("search-icon"),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isVNode, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
|
-
import { useControlController, useNamespace, route2routePath } from '@ibiz-template/vue3-util';
|
|
2
|
+
import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './tab-exp-panel.css';
|
|
4
4
|
import { TabExpPanelController } from '@ibiz-template/runtime';
|
|
5
5
|
import { useRoute } from 'vue-router';
|
|
@@ -40,17 +40,24 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
|
|
|
40
40
|
};
|
|
41
41
|
const tabPosition = ((_a = c.view.model.tabLayout) == null ? void 0 : _a.toLowerCase()) || "top";
|
|
42
42
|
const route = useRoute();
|
|
43
|
+
let expViewRoutePath = "";
|
|
44
|
+
if (c.routeDepth) {
|
|
45
|
+
expViewRoutePath = getNestedRoutePath(route, c.routeDepth);
|
|
46
|
+
}
|
|
43
47
|
watch(() => route.fullPath, (newVal, oldVal) => {
|
|
44
48
|
if (newVal !== oldVal) {
|
|
45
|
-
const depth = c.
|
|
49
|
+
const depth = c.routeDepth;
|
|
46
50
|
if (depth) {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
c.
|
|
51
|
+
const currentRoutePath = getNestedRoutePath(route, c.routeDepth);
|
|
52
|
+
if (currentRoutePath === expViewRoutePath) {
|
|
53
|
+
const routePath = route2routePath(route);
|
|
54
|
+
const {
|
|
55
|
+
srfnav
|
|
56
|
+
} = routePath.pathNodes[depth - 1];
|
|
57
|
+
if (srfnav && c.state.activeName && c.state.activeName !== srfnav) {
|
|
58
|
+
c.state.activeName = srfnav;
|
|
59
|
+
c.handleTabChange();
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EditorController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IFileUploader } from '@ibiz/model-core';
|
|
3
|
+
/**
|
|
4
|
+
* 轮播图控制器
|
|
5
|
+
* @return {*}
|
|
6
|
+
* @author: zhujiamin
|
|
7
|
+
* @Date: 2022-08-25 10:57:58
|
|
8
|
+
*/
|
|
9
|
+
export declare class CarouselEditorController extends EditorController<IFileUploader> {
|
|
10
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IEditorContainerController, IEditorProvider } from '@ibiz-template/runtime';
|
|
2
|
+
import { IFileUploader } from '@ibiz/model-core';
|
|
3
|
+
import { CarouselEditorController } from './carousel-editor.controller';
|
|
4
|
+
/**
|
|
5
|
+
* 轮播图适配器
|
|
6
|
+
*
|
|
7
|
+
* @author lxm
|
|
8
|
+
* @date 2022-09-19 22:09:03
|
|
9
|
+
* @export
|
|
10
|
+
* @class CarouselEditorProvider
|
|
11
|
+
* @implements {EditorProvider}
|
|
12
|
+
*/
|
|
13
|
+
export declare class CarouselEditorProvider implements IEditorProvider {
|
|
14
|
+
formEditor: string;
|
|
15
|
+
gridEditor: string;
|
|
16
|
+
createController(editorModel: IFileUploader, parentController: IEditorContainerController): Promise<CarouselEditorController>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CarouselEditorController } from './carousel-editor.controller.mjs';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => {
|
|
7
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
class CarouselEditorProvider {
|
|
11
|
+
constructor() {
|
|
12
|
+
__publicField(this, "formEditor", "IBizCarousel");
|
|
13
|
+
__publicField(this, "gridEditor", "IBizCarousel");
|
|
14
|
+
}
|
|
15
|
+
async createController(editorModel, parentController) {
|
|
16
|
+
const c = new CarouselEditorController(editorModel, parentController);
|
|
17
|
+
await c.init();
|
|
18
|
+
return c;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { CarouselEditorProvider };
|
|
File without changes
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import './ibiz-carousel.scss';
|
|
3
|
+
import { CarouselEditorController } from '../carousel-editor.controller';
|
|
4
|
+
export declare const IBizCarousel: import("vue").DefineComponent<{
|
|
5
|
+
value: (StringConstructor | NumberConstructor)[];
|
|
6
|
+
controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<CarouselEditorController>, undefined, undefined>;
|
|
7
|
+
data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
|
|
8
|
+
disabled: {
|
|
9
|
+
type: BooleanConstructor;
|
|
10
|
+
};
|
|
11
|
+
readonly: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
15
|
+
autoFocus: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
19
|
+
overflowMode: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
};
|
|
22
|
+
controlParams: {
|
|
23
|
+
type: ObjectConstructor;
|
|
24
|
+
required: boolean;
|
|
25
|
+
};
|
|
26
|
+
}, {
|
|
27
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
28
|
+
c: CarouselEditorController;
|
|
29
|
+
editorModel: import("@ibiz/model-core").IFileUploader;
|
|
30
|
+
downloadUrl: Ref<string>;
|
|
31
|
+
carouselData: Ref<{
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
imgUrl?: string | undefined;
|
|
35
|
+
}[]>;
|
|
36
|
+
isAuto: Ref<boolean>;
|
|
37
|
+
timeSpan: Ref<number>;
|
|
38
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
39
|
+
change: (_value: unknown, _name?: string | undefined) => boolean;
|
|
40
|
+
blur: (_event?: IData | undefined) => boolean;
|
|
41
|
+
focus: (_event?: IData | undefined) => boolean;
|
|
42
|
+
enter: (_event?: IData | undefined) => boolean;
|
|
43
|
+
infoTextChange: (_text: string) => boolean;
|
|
44
|
+
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
45
|
+
value: (StringConstructor | NumberConstructor)[];
|
|
46
|
+
controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<CarouselEditorController>, undefined, undefined>;
|
|
47
|
+
data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
|
|
48
|
+
disabled: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
};
|
|
51
|
+
readonly: {
|
|
52
|
+
type: BooleanConstructor;
|
|
53
|
+
default: boolean;
|
|
54
|
+
};
|
|
55
|
+
autoFocus: {
|
|
56
|
+
type: BooleanConstructor;
|
|
57
|
+
default: boolean;
|
|
58
|
+
};
|
|
59
|
+
overflowMode: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
};
|
|
62
|
+
controlParams: {
|
|
63
|
+
type: ObjectConstructor;
|
|
64
|
+
required: boolean;
|
|
65
|
+
};
|
|
66
|
+
}>> & {
|
|
67
|
+
onFocus?: ((_event?: IData | undefined) => any) | undefined;
|
|
68
|
+
onBlur?: ((_event?: IData | undefined) => any) | undefined;
|
|
69
|
+
onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
|
|
70
|
+
onInfoTextChange?: ((_text: string) => any) | undefined;
|
|
71
|
+
onEnter?: ((_event?: IData | undefined) => any) | undefined;
|
|
72
|
+
}, {
|
|
73
|
+
disabled: boolean;
|
|
74
|
+
autoFocus: boolean;
|
|
75
|
+
readonly: boolean;
|
|
76
|
+
}, {}>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { getDatePickerProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import './ibiz-carousel.css';
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
const IBizCarousel = /* @__PURE__ */ defineComponent({
|
|
7
|
+
name: "IBizCarousel",
|
|
8
|
+
props: getDatePickerProps(),
|
|
9
|
+
emits: getEditorEmits(),
|
|
10
|
+
setup(props) {
|
|
11
|
+
const ns = useNamespace("carousel");
|
|
12
|
+
const c = props.controller;
|
|
13
|
+
const editorModel = c.model;
|
|
14
|
+
const carouselData = ref([]);
|
|
15
|
+
const isAuto = ref(true);
|
|
16
|
+
const timeSpan = ref(3e3);
|
|
17
|
+
const downloadUrl = ref("");
|
|
18
|
+
watch(() => props.value, (newVal) => {
|
|
19
|
+
if (typeof newVal === "string") {
|
|
20
|
+
carouselData.value = !newVal ? [] : JSON.parse(newVal);
|
|
21
|
+
}
|
|
22
|
+
}, {
|
|
23
|
+
immediate: true
|
|
24
|
+
});
|
|
25
|
+
watch(() => props.data, (newVal) => {
|
|
26
|
+
if (newVal) {
|
|
27
|
+
const urls = ibiz.util.file.calcFileUpDownUrl(c.context, c.params, newVal, c.editorParams);
|
|
28
|
+
downloadUrl.value = urls.downloadUrl;
|
|
29
|
+
}
|
|
30
|
+
}, {
|
|
31
|
+
immediate: true,
|
|
32
|
+
deep: true
|
|
33
|
+
});
|
|
34
|
+
watch(carouselData, (newVal) => {
|
|
35
|
+
if ((newVal == null ? void 0 : newVal.length) && downloadUrl.value) {
|
|
36
|
+
newVal.forEach((carousel) => {
|
|
37
|
+
carousel.imgUrl = carousel.imgUrl || downloadUrl.value.replace("%fileId%", carousel.id);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}, {
|
|
41
|
+
immediate: true
|
|
42
|
+
});
|
|
43
|
+
return {
|
|
44
|
+
ns,
|
|
45
|
+
c,
|
|
46
|
+
editorModel,
|
|
47
|
+
downloadUrl,
|
|
48
|
+
carouselData,
|
|
49
|
+
isAuto,
|
|
50
|
+
timeSpan
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
render() {
|
|
54
|
+
return createVNode("div", {
|
|
55
|
+
"class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.e(this.editorModel.editorType)]
|
|
56
|
+
}, [createVNode(resolveComponent("iBizCarouselComponent"), {
|
|
57
|
+
"carouselData": this.carouselData,
|
|
58
|
+
"isAuto": this.isAuto,
|
|
59
|
+
"timeSpan": this.timeSpan
|
|
60
|
+
}, null)]);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
export { IBizCarousel };
|
|
@@ -198,6 +198,25 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
|
|
|
198
198
|
};
|
|
199
199
|
},
|
|
200
200
|
render() {
|
|
201
|
+
const itemContent = (item) => {
|
|
202
|
+
var _a;
|
|
203
|
+
const panel = (_a = this.c.deACMode) == null ? void 0 : _a.itemLayoutPanel;
|
|
204
|
+
const {
|
|
205
|
+
context,
|
|
206
|
+
params
|
|
207
|
+
} = this.c;
|
|
208
|
+
return panel ? createVNode(resolveComponent("iBizControlShell"), {
|
|
209
|
+
"data": item,
|
|
210
|
+
"modelData": panel,
|
|
211
|
+
"context": context,
|
|
212
|
+
"params": params
|
|
213
|
+
}, null) : createVNode("div", {
|
|
214
|
+
"class": this.ns.e("transfer-item"),
|
|
215
|
+
"onClick": () => {
|
|
216
|
+
this.onACSelect(item);
|
|
217
|
+
}
|
|
218
|
+
}, [item[this.c.textName]]);
|
|
219
|
+
};
|
|
201
220
|
const editContent = this.c.noAC ? createVNode(resolveComponent("el-input"), {
|
|
202
221
|
"ref": "editorRef",
|
|
203
222
|
"class": [this.ns.b("input")],
|
|
@@ -250,12 +269,7 @@ const IBizPicker = /* @__PURE__ */ defineComponent({
|
|
|
250
269
|
if (this.$slots.append) {
|
|
251
270
|
return this.$slots.append({});
|
|
252
271
|
}
|
|
253
|
-
return
|
|
254
|
-
"class": this.ns.e("transfer-item"),
|
|
255
|
-
"onClick": () => {
|
|
256
|
-
this.onACSelect(item);
|
|
257
|
-
}
|
|
258
|
-
}, [item[this.c.textName]]);
|
|
272
|
+
return itemContent(item);
|
|
259
273
|
},
|
|
260
274
|
suffix: () => {
|
|
261
275
|
if (this.c.noButton) {
|
|
@@ -31,6 +31,7 @@ export declare const IBizPickerEmbedView: import("vue").DefineComponent<{
|
|
|
31
31
|
[x: symbol]: any;
|
|
32
32
|
srfsessionid: string;
|
|
33
33
|
srfappid: string;
|
|
34
|
+
srfsimple?: boolean | undefined;
|
|
34
35
|
}>;
|
|
35
36
|
params: import("vue").Ref<IParams>;
|
|
36
37
|
onSelectionChange: (event: EventBase) => void;
|
package/es/editor/index.mjs
CHANGED
|
@@ -26,6 +26,7 @@ import './array/index.mjs';
|
|
|
26
26
|
import './cascader/index.mjs';
|
|
27
27
|
import './color-picker/index.mjs';
|
|
28
28
|
import './preset/index.mjs';
|
|
29
|
+
import './carousel/index.mjs';
|
|
29
30
|
import './user/ibiz-searchcond-edit/index.mjs';
|
|
30
31
|
import { IBizSpan } from './span/span/span.mjs';
|
|
31
32
|
import { IBizSpanLink } from './span/span-link/span-link.mjs';
|
|
@@ -61,6 +62,7 @@ import { IBizCascader } from './cascader/ibiz-cascader/ibiz-cascader.mjs';
|
|
|
61
62
|
import { IBizColorPicker } from './color-picker/ibiz-color-picker/ibiz-color-picker.mjs';
|
|
62
63
|
import { IBizPresetRawitem } from './preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.mjs';
|
|
63
64
|
import { IBizSearchCondEdit } from './user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs';
|
|
65
|
+
import { IBizCarousel } from './carousel/ibiz-carousel/ibiz-carousel.mjs';
|
|
64
66
|
import { SpanEditorProvider } from './span/span-editor.provider.mjs';
|
|
65
67
|
import { TextBoxEditorProvider } from './text-box/text-box-editor.provider.mjs';
|
|
66
68
|
import { DropDownListEditorProvider } from './dropdown-list/dropdown-list-editor.provider.mjs';
|
|
@@ -86,6 +88,7 @@ import { ArrayEditorProvider } from './array/array-editor.provider.mjs';
|
|
|
86
88
|
import { CascaderEditorProvider } from './cascader/cascader-editor.provider.mjs';
|
|
87
89
|
import { ColorPickerEditorProvider } from './color-picker/color-picker-editor.provider.mjs';
|
|
88
90
|
import { SearchCondEditEditorProvider } from './user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs';
|
|
91
|
+
import { CarouselEditorProvider } from './carousel/carousel-editor.provider.mjs';
|
|
89
92
|
|
|
90
93
|
"use strict";
|
|
91
94
|
const IBizEditor = {
|
|
@@ -125,6 +128,7 @@ const IBizEditor = {
|
|
|
125
128
|
v.component(IBizColorPicker.name, IBizColorPicker);
|
|
126
129
|
v.component(IBizPresetRawitem.name, IBizPresetRawitem);
|
|
127
130
|
v.component(IBizSearchCondEdit.name, IBizSearchCondEdit);
|
|
131
|
+
v.component(IBizCarousel.name, IBizCarousel);
|
|
128
132
|
v.component(
|
|
129
133
|
"IBizHtml",
|
|
130
134
|
defineAsyncComponent(() => import('./html/wang-editor/wang-editor.mjs'))
|
|
@@ -363,6 +367,10 @@ const IBizEditor = {
|
|
|
363
367
|
"AUTH_PASSWORD_PASSWORD",
|
|
364
368
|
() => textBoxEditorProvider
|
|
365
369
|
);
|
|
370
|
+
registerEditorProvider(
|
|
371
|
+
"FIELD_CAROUSEL_PICTURE",
|
|
372
|
+
() => new CarouselEditorProvider()
|
|
373
|
+
);
|
|
366
374
|
}
|
|
367
375
|
};
|
|
368
376
|
|
|
@@ -17,6 +17,7 @@ import { IBizIndexActions } from './index-actions/index.mjs';
|
|
|
17
17
|
import { IBizUserMessage } from './user-message/index.mjs';
|
|
18
18
|
import { IBizSearchFormButtons } from './searchform-buttons/index.mjs';
|
|
19
19
|
import { IBizViewMessage } from './view-message/index.mjs';
|
|
20
|
+
import { IBizPanelStaticCarousel } from './panel-static-carousel/index.mjs';
|
|
20
21
|
export { NavPosIndexState } from './nav-pos-index/nav-pos-index.state.mjs';
|
|
21
22
|
export { NavPosIndexController } from './nav-pos-index/nav-pos-index.controller.mjs';
|
|
22
23
|
export { PanelButtonController } from './panel-button/panel-button.controller.mjs';
|
|
@@ -57,6 +58,7 @@ const IBizPanelComponents = {
|
|
|
57
58
|
v.use(IBizSearchFormButtons);
|
|
58
59
|
v.use(IBizPanelItemRender);
|
|
59
60
|
v.use(IBizViewMessage);
|
|
61
|
+
v.use(IBizPanelStaticCarousel);
|
|
60
62
|
}
|
|
61
63
|
};
|
|
62
64
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare const IBizPanelStaticCarousel: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
|
|
2
|
+
modelData: {
|
|
3
|
+
type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
controller: {
|
|
7
|
+
type: typeof import("@ibiz-template/runtime").PanelItemController;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
}, {
|
|
11
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
12
|
+
carouselData: import("vue").Ref<{
|
|
13
|
+
id?: string | undefined;
|
|
14
|
+
name?: string | undefined;
|
|
15
|
+
imgUrl?: string | undefined;
|
|
16
|
+
linkPath?: string | undefined;
|
|
17
|
+
cssClass?: string | undefined;
|
|
18
|
+
}[]>;
|
|
19
|
+
isAuto: import("vue").Ref<boolean>;
|
|
20
|
+
timeSpan: import("vue").Ref<number>;
|
|
21
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
+
modelData: {
|
|
23
|
+
type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
controller: {
|
|
27
|
+
type: typeof import("@ibiz-template/runtime").PanelItemController;
|
|
28
|
+
required: true;
|
|
29
|
+
};
|
|
30
|
+
}>>, {}, {}>>;
|
|
31
|
+
export default IBizPanelStaticCarousel;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { withInstall } from '@ibiz-template/vue3-util';
|
|
2
|
+
import { registerPanelItemProvider } from '@ibiz-template/runtime';
|
|
3
|
+
import { PanelStaticCarousel } from './panel-static-carousel.mjs';
|
|
4
|
+
import { PanelStaticCarouselProvider } from './panel-static-carousel.provider.mjs';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
const IBizPanelStaticCarousel = withInstall(
|
|
8
|
+
PanelStaticCarousel,
|
|
9
|
+
function(v) {
|
|
10
|
+
v.component(PanelStaticCarousel.name, PanelStaticCarousel);
|
|
11
|
+
registerPanelItemProvider(
|
|
12
|
+
"RAWITEM_STATIC_CAROUSEL",
|
|
13
|
+
() => new PanelStaticCarouselProvider()
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
export { IBizPanelStaticCarousel, IBizPanelStaticCarousel as default };
|
|
File without changes
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IPanelRawItem } from '@ibiz/model-core';
|
|
3
|
+
import { PropType, Ref } from 'vue';
|
|
4
|
+
import './panel-static-carousel.scss';
|
|
5
|
+
export declare const PanelStaticCarousel: 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
|
+
carouselData: Ref<{
|
|
17
|
+
id?: string | undefined;
|
|
18
|
+
name?: string | undefined;
|
|
19
|
+
imgUrl?: string | undefined;
|
|
20
|
+
linkPath?: string | undefined;
|
|
21
|
+
cssClass?: string | undefined;
|
|
22
|
+
}[]>;
|
|
23
|
+
isAuto: Ref<boolean>;
|
|
24
|
+
timeSpan: Ref<number>;
|
|
25
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
26
|
+
modelData: {
|
|
27
|
+
type: PropType<IPanelRawItem>;
|
|
28
|
+
required: true;
|
|
29
|
+
};
|
|
30
|
+
controller: {
|
|
31
|
+
type: typeof PanelItemController;
|
|
32
|
+
required: true;
|
|
33
|
+
};
|
|
34
|
+
}>>, {}, {}>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ref, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
3
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
4
|
+
import './panel-static-carousel.css';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
const PanelStaticCarousel = /* @__PURE__ */ defineComponent({
|
|
8
|
+
name: "IBizPanelStaticCarousel",
|
|
9
|
+
props: {
|
|
10
|
+
modelData: {
|
|
11
|
+
type: Object,
|
|
12
|
+
required: true
|
|
13
|
+
},
|
|
14
|
+
controller: {
|
|
15
|
+
type: PanelItemController,
|
|
16
|
+
required: true
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
setup(props) {
|
|
20
|
+
var _a;
|
|
21
|
+
const ns = useNamespace("panel-static-carousel");
|
|
22
|
+
const model = props.modelData;
|
|
23
|
+
const carouselData = ref([]);
|
|
24
|
+
const isAuto = ref(true);
|
|
25
|
+
const timeSpan = ref(3e3);
|
|
26
|
+
const getSwipeConfig = (swipeData) => {
|
|
27
|
+
const autoPlay = swipeData.find((item) => Object.is(item.key, "autoplay"));
|
|
28
|
+
if (autoPlay) {
|
|
29
|
+
isAuto.value = !!Object.is(autoPlay.value, "1");
|
|
30
|
+
}
|
|
31
|
+
const span = swipeData.find((item) => Object.is(item.key, "timespan"));
|
|
32
|
+
if (span) {
|
|
33
|
+
timeSpan.value = Number(span.value) || 0;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
if ((_a = model.rawItem) == null ? void 0 : _a.rawItemParams) {
|
|
37
|
+
let swipeData = [];
|
|
38
|
+
const imgData = model.rawItem.rawItemParams;
|
|
39
|
+
const configItem = imgData.findIndex((item) => Object.is(item.key, "autoplay"));
|
|
40
|
+
if (configItem > -1) {
|
|
41
|
+
swipeData = imgData.slice(0, -2);
|
|
42
|
+
getSwipeConfig(imgData.slice(-2));
|
|
43
|
+
} else {
|
|
44
|
+
swipeData = imgData;
|
|
45
|
+
getSwipeConfig(imgData);
|
|
46
|
+
}
|
|
47
|
+
carouselData.value = swipeData.map((item) => {
|
|
48
|
+
const {
|
|
49
|
+
id,
|
|
50
|
+
key,
|
|
51
|
+
sysImage
|
|
52
|
+
} = item;
|
|
53
|
+
return {
|
|
54
|
+
id,
|
|
55
|
+
name: key,
|
|
56
|
+
imgUrl: sysImage == null ? void 0 : sysImage.imagePath,
|
|
57
|
+
cssClass: sysImage == null ? void 0 : sysImage.cssClass,
|
|
58
|
+
linkPath: item.linkPath
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
ns,
|
|
64
|
+
carouselData,
|
|
65
|
+
isAuto,
|
|
66
|
+
timeSpan
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
render() {
|
|
70
|
+
return createVNode("div", {
|
|
71
|
+
"class": this.ns.b()
|
|
72
|
+
}, [createVNode(resolveComponent("iBizCarouselComponent"), {
|
|
73
|
+
"carouselData": this.carouselData,
|
|
74
|
+
"isAuto": this.isAuto,
|
|
75
|
+
"timeSpan": this.timeSpan
|
|
76
|
+
}, null)]);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
export { PanelStaticCarousel };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IPanelRawItem } from '@ibiz/model-core';
|
|
3
|
+
/**
|
|
4
|
+
* 面板静态轮播图适配器
|
|
5
|
+
*
|
|
6
|
+
* @author lxm
|
|
7
|
+
* @date 2022-09-19 22:09:03
|
|
8
|
+
* @export
|
|
9
|
+
* @class PanelStaticCarouselProvider
|
|
10
|
+
* @implements {EditorProvider}
|
|
11
|
+
*/
|
|
12
|
+
export declare class PanelStaticCarouselProvider implements IPanelItemProvider {
|
|
13
|
+
component: string;
|
|
14
|
+
createController(panelItem: IPanelRawItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => {
|
|
7
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
class PanelStaticCarouselProvider {
|
|
11
|
+
constructor() {
|
|
12
|
+
__publicField(this, "component", "IBizPanelStaticCarousel");
|
|
13
|
+
}
|
|
14
|
+
async createController(panelItem, panel, parent) {
|
|
15
|
+
const c = new PanelItemController(panelItem, panel, parent);
|
|
16
|
+
await c.init();
|
|
17
|
+
return c;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { PanelStaticCarouselProvider };
|
|
@@ -4,7 +4,7 @@ export declare const IBizUserMessage: import("@ibiz-template/vue3-util").TypeWit
|
|
|
4
4
|
required: true;
|
|
5
5
|
};
|
|
6
6
|
controller: {
|
|
7
|
-
type:
|
|
7
|
+
type: import("vue").PropType<import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>>;
|
|
8
8
|
required: true;
|
|
9
9
|
};
|
|
10
10
|
}, {
|
|
@@ -26,7 +26,7 @@ export declare const IBizUserMessage: import("@ibiz-template/vue3-util").TypeWit
|
|
|
26
26
|
required: true;
|
|
27
27
|
};
|
|
28
28
|
controller: {
|
|
29
|
-
type:
|
|
29
|
+
type: import("vue").PropType<import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>>;
|
|
30
30
|
required: true;
|
|
31
31
|
};
|
|
32
32
|
}>>, {}, {}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-internal-message-container{position:relative}.ibiz-internal-message-container--clickable{cursor:pointer}.ibiz-internal-message-container:hover .ibiz-internal-message-container-toolbar{display:block}.ibiz-internal-message-container__unread-tag{position:absolute;top:8px;right:8px;display:none;align-self:flex-start;width:10px;height:10px;background-color:var(--ibiz-color-danger);border-radius:50%}.ibiz-internal-message-container--unread .ibiz-internal-message-container__unread-tag{display:block}.ibiz-internal-message-container--unread:hover .ibiz-internal-message-container__unread-tag{display:none}.ibiz-internal-message-container-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-container-toolbar__button{margin-left:10px;
|
|
1
|
+
.ibiz-internal-message-container{position:relative}.ibiz-internal-message-container--clickable{cursor:pointer}.ibiz-internal-message-container:hover .ibiz-internal-message-container-toolbar{display:block}.ibiz-internal-message-container__unread-tag{position:absolute;top:8px;right:8px;display:none;align-self:flex-start;width:10px;height:10px;background-color:var(--ibiz-color-danger);border-radius:50%}.ibiz-internal-message-container__click-tag{position:absolute;top:50%;right:4px;font-size:18px;transform:translateY(-50%)}.ibiz-internal-message-container--unread .ibiz-internal-message-container__unread-tag{display:block}.ibiz-internal-message-container--unread:hover .ibiz-internal-message-container__unread-tag{display:none}.ibiz-internal-message-container-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-container-toolbar__button{margin-left:10px;cursor:pointer}.ibiz-internal-message-container-toolbar__button:hover{color:var(--ibiz-color-primary)}
|