@ibiz-template/mob-vue3-components 0.0.1 → 0.0.2
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 +6 -6
- package/dist/index.system.min.js.map +1 -1
- package/es/control/dashboard/index.mjs +4 -1
- package/es/control/dashboard/portlet/container-portlet/container-portlet.provider.mjs +1 -5
- package/es/control/dashboard/portlet/index.d.ts +1 -0
- package/es/control/dashboard/portlet/index.mjs +2 -0
- package/es/control/dashboard/portlet/menu-portlet/menu-portlet.provider.mjs +1 -5
- package/es/control/dashboard/portlet/view-portlet/index.d.ts +24 -0
- package/es/control/dashboard/portlet/view-portlet/index.mjs +12 -0
- package/es/control/dashboard/portlet/view-portlet/view-portlet.d.ts +25 -0
- package/es/control/dashboard/portlet/view-portlet/view-portlet.mjs +50 -0
- package/es/control/dashboard/portlet/view-portlet/view-portlet.provider.d.ts +15 -0
- package/es/control/dashboard/portlet/view-portlet/view-portlet.provider.mjs +21 -0
- package/es/control/form/edit-form/edit-form.d.ts +1 -1
- package/es/control/form/edit-form/index.d.ts +1 -1
- package/es/control/form/form-detail/form-druipart/form-druipart.mjs +1 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.mjs +4 -4
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -1
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +2 -2
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +1 -1
- package/es/control/index.d.ts +2 -2
- package/es/control/index.mjs +6 -4
- package/es/control/list/{index.d.ts → list/index.d.ts} +23 -3
- package/es/control/list/list/list.css +1 -0
- package/es/control/list/{list.d.ts → list/list.d.ts} +23 -3
- package/es/control/list/{list.mjs → list/list.mjs} +37 -18
- package/es/control/list/list-render-util.d.ts +23 -0
- package/es/control/list/list-render-util.mjs +100 -0
- package/es/control/{md-ctrl → list/md-ctrl}/index.d.ts +10 -1
- package/es/control/list/md-ctrl/md-ctrl.css +1 -0
- package/es/control/{md-ctrl → list/md-ctrl}/md-ctrl.d.ts +14 -3
- package/es/control/{md-ctrl → list/md-ctrl}/md-ctrl.mjs +13 -87
- package/es/control/toolbar/index.d.ts +1 -1
- package/es/control/toolbar/toolbar.d.ts +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +1 -0
- package/es/index.mjs +3 -2
- package/es/panel-component/index.mjs +3 -1
- package/es/util/confirm-util/confirm-util.d.ts +17 -0
- package/es/util/confirm-util/confirm-util.mjs +77 -0
- package/es/util/index.d.ts +1 -0
- package/es/util/index.mjs +1 -0
- package/es/view-engine/mob-mpickup-view-engine.mjs +2 -0
- package/lib/control/dashboard/index.cjs +5 -0
- package/lib/control/dashboard/portlet/container-portlet/container-portlet.provider.cjs +1 -5
- package/lib/control/dashboard/portlet/index.cjs +4 -0
- package/lib/control/dashboard/portlet/menu-portlet/menu-portlet.provider.cjs +1 -5
- package/lib/control/dashboard/portlet/view-portlet/index.cjs +18 -0
- package/lib/control/dashboard/portlet/view-portlet/view-portlet.cjs +52 -0
- package/lib/control/dashboard/portlet/view-portlet/view-portlet.provider.cjs +23 -0
- package/lib/control/form/form-detail/form-druipart/form-druipart.cjs +1 -1
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.cjs +4 -4
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -1
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -1
- package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +1 -1
- package/lib/control/index.cjs +14 -10
- package/lib/control/list/{list.cjs → list/list.cjs} +36 -17
- package/lib/control/list/list/list.css +1 -0
- package/lib/control/list/list-render-util.cjs +102 -0
- package/lib/control/{md-ctrl → list/md-ctrl}/md-ctrl.cjs +12 -86
- package/lib/control/list/md-ctrl/md-ctrl.css +1 -0
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +1 -0
- package/lib/index.cjs +4 -2
- package/lib/panel-component/index.cjs +2 -0
- package/lib/util/confirm-util/confirm-util.cjs +79 -0
- package/lib/util/index.cjs +2 -0
- package/lib/view-engine/mob-mpickup-view-engine.cjs +2 -0
- package/package.json +6 -6
- package/es/control/list/list.css +0 -1
- package/es/control/md-ctrl/md-ctrl.css +0 -1
- package/lib/control/list/list.css +0 -1
- package/lib/control/md-ctrl/md-ctrl.css +0 -1
- /package/es/control/list/{index.mjs → list/index.mjs} +0 -0
- /package/es/control/list/{list.provider.d.ts → list/list.provider.d.ts} +0 -0
- /package/es/control/list/{list.provider.mjs → list/list.provider.mjs} +0 -0
- /package/es/control/{md-ctrl → list/md-ctrl}/index.mjs +0 -0
- /package/es/control/{md-ctrl → list/md-ctrl}/md-ctrl.provider.d.ts +0 -0
- /package/es/control/{md-ctrl → list/md-ctrl}/md-ctrl.provider.mjs +0 -0
- /package/lib/control/list/{index.cjs → list/index.cjs} +0 -0
- /package/lib/control/list/{list.provider.cjs → list/list.provider.cjs} +0 -0
- /package/lib/control/{md-ctrl → list/md-ctrl}/index.cjs +0 -0
- /package/lib/control/{md-ctrl → list/md-ctrl}/md-ctrl.provider.cjs +0 -0
|
@@ -6,11 +6,13 @@ import './portlet/index.mjs';
|
|
|
6
6
|
import { PortletLayout } from './portlet/portlet-layout/portlet-layout.mjs';
|
|
7
7
|
import { IBizContainerPortlet } from './portlet/container-portlet/index.mjs';
|
|
8
8
|
import { IBizMenuPortlet } from './portlet/menu-portlet/index.mjs';
|
|
9
|
+
import { IBizViewPortlet } from './portlet/view-portlet/index.mjs';
|
|
9
10
|
export { PortletPartState } from './portlet/portlet-part/portlet-part.state.mjs';
|
|
10
11
|
export { ContainerPortletProvider } from './portlet/container-portlet/container-portlet.provider.mjs';
|
|
11
12
|
export { ContainerPortlet } from './portlet/container-portlet/container-portlet.mjs';
|
|
12
13
|
export { MenuPortletProvider } from './portlet/menu-portlet/menu-portlet.provider.mjs';
|
|
13
14
|
export { MenuPortlet } from './portlet/menu-portlet/menu-portlet.mjs';
|
|
15
|
+
export { ViewPortlet } from './portlet/view-portlet/view-portlet.mjs';
|
|
14
16
|
|
|
15
17
|
"use strict";
|
|
16
18
|
const IBizDashboardControl = withInstall(
|
|
@@ -24,7 +26,8 @@ const IBizDashboardControl = withInstall(
|
|
|
24
26
|
v.component(PortletLayout.name, PortletLayout);
|
|
25
27
|
v.use(IBizContainerPortlet);
|
|
26
28
|
v.use(IBizMenuPortlet);
|
|
29
|
+
v.use(IBizViewPortlet);
|
|
27
30
|
}
|
|
28
31
|
);
|
|
29
32
|
|
|
30
|
-
export { DashboardProvider, IBizContainerPortlet, IBizDashboardControl, IBizMenuPortlet, PortletLayout, IBizDashboardControl as default };
|
|
33
|
+
export { DashboardProvider, IBizContainerPortlet, IBizDashboardControl, IBizMenuPortlet, IBizViewPortlet, PortletLayout, IBizDashboardControl as default };
|
|
@@ -12,11 +12,7 @@ class ContainerPortletProvider {
|
|
|
12
12
|
__publicField(this, "component", "IBizContainerPortlet");
|
|
13
13
|
}
|
|
14
14
|
async createController(portletModel, dashboard, parent) {
|
|
15
|
-
const c = new ContainerPortletController(
|
|
16
|
-
portletModel,
|
|
17
|
-
dashboard,
|
|
18
|
-
parent
|
|
19
|
-
);
|
|
15
|
+
const c = new ContainerPortletController(portletModel, dashboard, parent);
|
|
20
16
|
await c.init();
|
|
21
17
|
return c;
|
|
22
18
|
}
|
|
@@ -2,10 +2,12 @@ import './portlet-part/index.mjs';
|
|
|
2
2
|
export { IBizContainerPortlet } from './container-portlet/index.mjs';
|
|
3
3
|
export { PortletLayout } from './portlet-layout/portlet-layout.mjs';
|
|
4
4
|
export { IBizMenuPortlet } from './menu-portlet/index.mjs';
|
|
5
|
+
export { IBizViewPortlet } from './view-portlet/index.mjs';
|
|
5
6
|
export { PortletPartState } from './portlet-part/portlet-part.state.mjs';
|
|
6
7
|
export { ContainerPortletProvider } from './container-portlet/container-portlet.provider.mjs';
|
|
7
8
|
export { ContainerPortlet } from './container-portlet/container-portlet.mjs';
|
|
8
9
|
export { MenuPortletProvider } from './menu-portlet/menu-portlet.provider.mjs';
|
|
9
10
|
export { MenuPortlet } from './menu-portlet/menu-portlet.mjs';
|
|
11
|
+
export { ViewPortlet } from './view-portlet/view-portlet.mjs';
|
|
10
12
|
|
|
11
13
|
"use strict";
|
|
@@ -12,11 +12,7 @@ class MenuPortletProvider {
|
|
|
12
12
|
__publicField(this, "component", "IBizMenuPortlet");
|
|
13
13
|
}
|
|
14
14
|
async createController(portletModel, dashboard, parent) {
|
|
15
|
-
const c = new MenuPortletController(
|
|
16
|
-
portletModel,
|
|
17
|
-
dashboard,
|
|
18
|
-
parent
|
|
19
|
-
);
|
|
15
|
+
const c = new MenuPortletController(portletModel, dashboard, parent);
|
|
20
16
|
await c.init();
|
|
21
17
|
return c;
|
|
22
18
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from './view-portlet';
|
|
2
|
+
export declare const IBizViewPortlet: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
|
|
3
|
+
modelData: {
|
|
4
|
+
type: import("vue").PropType<import("@ibiz/model-core").IDBAppViewPortletPart>;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
controller: {
|
|
8
|
+
type: typeof import("@ibiz-template/runtime").ViewPortletController;
|
|
9
|
+
required: true;
|
|
10
|
+
};
|
|
11
|
+
}, {
|
|
12
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
13
|
+
view: import("@ibiz/model-core").IAppView | undefined;
|
|
14
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
15
|
+
modelData: {
|
|
16
|
+
type: import("vue").PropType<import("@ibiz/model-core").IDBAppViewPortletPart>;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
controller: {
|
|
20
|
+
type: typeof import("@ibiz-template/runtime").ViewPortletController;
|
|
21
|
+
required: true;
|
|
22
|
+
};
|
|
23
|
+
}>>, {}, {}>>;
|
|
24
|
+
export default IBizViewPortlet;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { registerPortletProvider } from '@ibiz-template/runtime';
|
|
2
|
+
import { withInstall } from '@ibiz-template/vue3-util';
|
|
3
|
+
import { ViewPortlet } from './view-portlet.mjs';
|
|
4
|
+
import { ViewPortletProvider } from './view-portlet.provider.mjs';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
const IBizViewPortlet = withInstall(ViewPortlet, function(v) {
|
|
8
|
+
v.component(ViewPortlet.name, ViewPortlet);
|
|
9
|
+
registerPortletProvider("VIEW", () => new ViewPortletProvider());
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export { IBizViewPortlet, ViewPortlet, IBizViewPortlet as default };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IDBAppViewPortletPart } from '@ibiz/model-core';
|
|
3
|
+
import { ViewPortletController } from '@ibiz-template/runtime';
|
|
4
|
+
export declare const ViewPortlet: import("vue").DefineComponent<{
|
|
5
|
+
modelData: {
|
|
6
|
+
type: PropType<IDBAppViewPortletPart>;
|
|
7
|
+
required: true;
|
|
8
|
+
};
|
|
9
|
+
controller: {
|
|
10
|
+
type: typeof ViewPortletController;
|
|
11
|
+
required: true;
|
|
12
|
+
};
|
|
13
|
+
}, {
|
|
14
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
15
|
+
view: import("@ibiz/model-core").IAppView | undefined;
|
|
16
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
|
+
modelData: {
|
|
18
|
+
type: PropType<IDBAppViewPortletPart>;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
controller: {
|
|
22
|
+
type: typeof ViewPortletController;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
}>>, {}, {}>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { isVNode, resolveComponent, h, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import { ViewPortletController } from '@ibiz-template/runtime';
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
function _isSlot(s) {
|
|
7
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
8
|
+
}
|
|
9
|
+
const ViewPortlet = /* @__PURE__ */ defineComponent({
|
|
10
|
+
name: "IBizViewPortlet",
|
|
11
|
+
props: {
|
|
12
|
+
modelData: {
|
|
13
|
+
type: Object,
|
|
14
|
+
required: true
|
|
15
|
+
},
|
|
16
|
+
controller: {
|
|
17
|
+
type: ViewPortletController,
|
|
18
|
+
required: true
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
setup(props) {
|
|
22
|
+
var _a;
|
|
23
|
+
const ns = useNamespace(`portlet-${(_a = props.modelData.portletType) == null ? void 0 : _a.toLowerCase()}`);
|
|
24
|
+
const view = props.modelData.portletAppView;
|
|
25
|
+
return {
|
|
26
|
+
ns,
|
|
27
|
+
view
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
render() {
|
|
31
|
+
let _slot;
|
|
32
|
+
const classArr = [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass];
|
|
33
|
+
const {
|
|
34
|
+
context,
|
|
35
|
+
params
|
|
36
|
+
} = this.controller;
|
|
37
|
+
return createVNode(resolveComponent("iBizPortletLayout"), {
|
|
38
|
+
"controller": this.controller,
|
|
39
|
+
"class": classArr
|
|
40
|
+
}, _isSlot(_slot = h(resolveComponent("IBizViewShell"), {
|
|
41
|
+
context,
|
|
42
|
+
params,
|
|
43
|
+
modelData: this.view
|
|
44
|
+
})) ? _slot : {
|
|
45
|
+
default: () => [_slot]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
export { ViewPortlet };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IDashboardController, IPortletContainerController, IPortletProvider, ViewPortletController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IDBPortletPart } from '@ibiz/model-core';
|
|
3
|
+
/**
|
|
4
|
+
* 数据看板视图适配器
|
|
5
|
+
*
|
|
6
|
+
* @author zk
|
|
7
|
+
* @date 2023-07-12 08:07:58
|
|
8
|
+
* @export
|
|
9
|
+
* @class ViewPortletProvider
|
|
10
|
+
* @implements {IPortletProvider}
|
|
11
|
+
*/
|
|
12
|
+
export declare class ViewPortletProvider implements IPortletProvider {
|
|
13
|
+
component: string;
|
|
14
|
+
createController(portletModel: IDBPortletPart, dashboard: IDashboardController, parent?: IPortletContainerController): Promise<ViewPortletController>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ViewPortletController } 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 ViewPortletProvider {
|
|
11
|
+
constructor() {
|
|
12
|
+
__publicField(this, "component", "IBizViewPortlet");
|
|
13
|
+
}
|
|
14
|
+
async createController(portletModel, dashboard, parent) {
|
|
15
|
+
const c = new ViewPortletController(portletModel, dashboard, parent);
|
|
16
|
+
await c.init();
|
|
17
|
+
return c;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { ViewPortletProvider };
|
|
@@ -44,7 +44,7 @@ const FormDRUIPart = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
46
|
let header = null;
|
|
47
|
-
if (this.modelData.showCaption) {
|
|
47
|
+
if (this.modelData.showCaption && this.captionText) {
|
|
48
48
|
header = createVNode("div", {
|
|
49
49
|
"class": [this.ns.b("header")]
|
|
50
50
|
}, [createVNode("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-mdctrl-md-content{flex-grow:1}.ibiz-form-mdctrl-md-actions{flex-
|
|
1
|
+
.ibiz-form-mdctrl-md{display:flex;flex-direction:column;height:100%}.ibiz-form-mdctrl-md-content{flex-grow:1;margin:0 var(--ibiz-spacing-tight)}.ibiz-form-mdctrl-md-actions{display:flex;gap:var(--ibiz-spacing-tight);padding:var(--ibiz-spacing-tight) 0;margin:0 var(--ibiz-spacing-tight)}.ibiz-form-mdctrl-md-actions .van-button+.van-button{margin-left:0}.ibiz-form-mdctrl-md-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2)}
|
|
@@ -55,6 +55,8 @@ const FormMDCtrlMD = /* @__PURE__ */ defineComponent({
|
|
|
55
55
|
}
|
|
56
56
|
return createVNode("div", {
|
|
57
57
|
"class": this.ns.b()
|
|
58
|
+
}, [this.showActions && createVNode("div", {
|
|
59
|
+
"class": this.ns.b("actions")
|
|
58
60
|
}, [this.controller.enableCreate && createVNode(resolveComponent("van-button"), {
|
|
59
61
|
"class": [this.ns.be("actions", "create"), this.ns.be("actions", "btn")],
|
|
60
62
|
"size": "small",
|
|
@@ -62,9 +64,7 @@ const FormMDCtrlMD = /* @__PURE__ */ defineComponent({
|
|
|
62
64
|
"onClick": () => this.controller.create()
|
|
63
65
|
}, {
|
|
64
66
|
default: () => [createTextVNode("\u6DFB\u52A0")]
|
|
65
|
-
}),
|
|
66
|
-
"class": this.ns.b("actions")
|
|
67
|
-
}, [this.controller.enableDelete && createVNode(resolveComponent("van-button"), {
|
|
67
|
+
}), this.controller.enableDelete && createVNode(resolveComponent("van-button"), {
|
|
68
68
|
"type": "danger",
|
|
69
69
|
"size": "small",
|
|
70
70
|
"disabled": !this.isSelected,
|
|
@@ -72,7 +72,7 @@ const FormMDCtrlMD = /* @__PURE__ */ defineComponent({
|
|
|
72
72
|
"onClick": () => this.controller.remove()
|
|
73
73
|
}, {
|
|
74
74
|
default: () => [createTextVNode("\u5220\u9664")]
|
|
75
|
-
})])]);
|
|
75
|
+
})]), controlComponent]);
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-mdctrl{--ibiz-form-mdctrl-header-height:32px;--ibiz-form-mdctrl-header-bg-color:var(--ibiz-color-bg-1);--ibiz-form-mdctrl-header-padding:var(--ibiz-spacing-base);--ibiz-form-mdctrl-header-border-color:var(--ibiz-color-border);--ibiz-form-mdctrl-caption-text-color:var(--ibiz-color-text-0);--ibiz-form-mdctrl-caption-font-size:var(--ibiz-font-size-header-6);--ibiz-form-mdctrl-caption-font-weight:var(--ibiz-font-weight-bold)}.ibiz-form-mdctrl__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-form-mdctrl-caption-font-size);font-weight:var(--ibiz-form-mdctrl-caption-font-weight);color:var(--ibiz-form-mdctrl-caption-text-color)}.ibiz-form-mdctrl-header{padding:var(--ibiz-form-mdctrl-header-padding);line-height:var(--ibiz-form-mdctrl-header-height)}
|
|
1
|
+
.ibiz-form-mdctrl{--ibiz-form-mdctrl-header-height:32px;--ibiz-form-mdctrl-header-bg-color:var(--ibiz-color-bg-1);--ibiz-form-mdctrl-header-padding:var(--ibiz-spacing-base);--ibiz-form-mdctrl-header-border-color:var(--ibiz-color-border);--ibiz-form-mdctrl-caption-text-color:var(--ibiz-color-text-0);--ibiz-form-mdctrl-caption-font-size:var(--ibiz-font-size-header-6);--ibiz-form-mdctrl-caption-font-weight:var(--ibiz-font-weight-bold);height:100%}.ibiz-form-mdctrl__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-form-mdctrl-caption-font-size);font-weight:var(--ibiz-form-mdctrl-caption-font-weight);color:var(--ibiz-form-mdctrl-caption-text-color)}.ibiz-form-mdctrl-header{padding:var(--ibiz-form-mdctrl-header-padding);line-height:var(--ibiz-form-mdctrl-header-height)}
|
|
@@ -20,7 +20,7 @@ export declare const MDCtrlContainer: import("vue").DefineComponent<{
|
|
|
20
20
|
renderRemoveBtn: (item: IData, index: number) => JSX.Element | null;
|
|
21
21
|
renderBottomBtn: (item: IData, index: number) => (JSX.Element | null)[];
|
|
22
22
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
|
-
addClick: (
|
|
23
|
+
addClick: (_index?: number) => true;
|
|
24
24
|
removeClick: (_data: IData, _index: number) => true;
|
|
25
25
|
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
26
26
|
enableCreate: {
|
|
@@ -37,5 +37,5 @@ export declare const MDCtrlContainer: import("vue").DefineComponent<{
|
|
|
37
37
|
};
|
|
38
38
|
}>> & {
|
|
39
39
|
onRemoveClick?: ((_data: IData, _index: number) => any) | undefined;
|
|
40
|
-
onAddClick?: ((
|
|
40
|
+
onAddClick?: ((_index?: number | undefined) => any) | undefined;
|
|
41
41
|
}, {}, {}>;
|
package/es/control/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * from './md-ctrl';
|
|
1
|
+
export * from './list/md-ctrl';
|
|
2
2
|
export * from './app-menu';
|
|
3
3
|
export * from './form';
|
|
4
4
|
export * from './pickup-view-panel';
|
|
5
|
-
export * from './list';
|
|
5
|
+
export * from './list/list';
|
|
6
6
|
export * from './tab-exp-panel';
|
|
7
7
|
export * from './toolbar';
|
|
8
8
|
export * from './caption-bar';
|
package/es/control/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { IBizMDCtrlControl } from './md-ctrl/index.mjs';
|
|
1
|
+
export { IBizMDCtrlControl } from './list/md-ctrl/index.mjs';
|
|
2
2
|
export { IBizAppMenuControl } from './app-menu/index.mjs';
|
|
3
3
|
import './form/index.mjs';
|
|
4
4
|
export { IBizPickupViewPanelControl } from './pickup-view-panel/index.mjs';
|
|
5
|
-
export { IBizListControl } from './list/index.mjs';
|
|
5
|
+
export { IBizListControl } from './list/list/index.mjs';
|
|
6
6
|
export { IBizTabExpPanelControl } from './tab-exp-panel/index.mjs';
|
|
7
7
|
export { IBizToolbarControl } from './toolbar/index.mjs';
|
|
8
8
|
export { IBizCaptionBarControl } from './caption-bar/index.mjs';
|
|
@@ -14,7 +14,7 @@ export { IBizDashboardControl } from './dashboard/index.mjs';
|
|
|
14
14
|
export { IBizChartControl } from './chart/index.mjs';
|
|
15
15
|
export { IBizCalendarControl } from './calendar/index.mjs';
|
|
16
16
|
export { IBizWizardPanelControl } from './wizard-panel/index.mjs';
|
|
17
|
-
export { MDCtrlProvider } from './md-ctrl/md-ctrl.provider.mjs';
|
|
17
|
+
export { MDCtrlProvider } from './list/md-ctrl/md-ctrl.provider.mjs';
|
|
18
18
|
export { AppMenuProvider } from './app-menu/app-menu.provider.mjs';
|
|
19
19
|
export { SearchFormProvider } from './form/search-form/search-form.provider.mjs';
|
|
20
20
|
export { IBizSearchFormControl } from './form/search-form/index.mjs';
|
|
@@ -41,7 +41,7 @@ export { IBizEditFormControl } from './form/edit-form/index.mjs';
|
|
|
41
41
|
export { IBizFormControl } from './form/form/index.mjs';
|
|
42
42
|
export { PickupViewPanelProvider } from './pickup-view-panel/pickup-view-panel.provider.mjs';
|
|
43
43
|
export { PickupViewPanelController } from './pickup-view-panel/pickup-view-panel.controller.mjs';
|
|
44
|
-
export { ListProvider } from './list/list.provider.mjs';
|
|
44
|
+
export { ListProvider } from './list/list/list.provider.mjs';
|
|
45
45
|
export { TabExpPanelProvider } from './tab-exp-panel/tab-exp-panel.provider.mjs';
|
|
46
46
|
export { CaptionBarProvider } from './caption-bar/caption-bar.provider.mjs';
|
|
47
47
|
export { SearchBarProvider } from './search-bar/search-bar.provider.mjs';
|
|
@@ -58,6 +58,8 @@ export { PortletLayout } from './dashboard/portlet/portlet-layout/portlet-layout
|
|
|
58
58
|
export { MenuPortletProvider } from './dashboard/portlet/menu-portlet/menu-portlet.provider.mjs';
|
|
59
59
|
export { MenuPortlet } from './dashboard/portlet/menu-portlet/menu-portlet.mjs';
|
|
60
60
|
export { IBizMenuPortlet } from './dashboard/portlet/menu-portlet/index.mjs';
|
|
61
|
+
export { ViewPortlet } from './dashboard/portlet/view-portlet/view-portlet.mjs';
|
|
62
|
+
export { IBizViewPortlet } from './dashboard/portlet/view-portlet/index.mjs';
|
|
61
63
|
export { CalendarProvider } from './calendar/calendar.provider.mjs';
|
|
62
64
|
|
|
63
65
|
"use strict";
|
|
@@ -28,12 +28,22 @@ export declare const IBizListControl: import("@ibiz-template/vue3-util").TypeWit
|
|
|
28
28
|
type: NumberConstructor;
|
|
29
29
|
default: number;
|
|
30
30
|
};
|
|
31
|
+
loadDefault: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
35
|
+
mode: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
31
39
|
}, {
|
|
32
40
|
c: import("@ibiz-template/runtime").ListController;
|
|
33
41
|
ns: import("@ibiz-template/core").Namespace;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
ns2: import("@ibiz-template/core").Namespace;
|
|
43
|
+
renderSelectList: () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
}> | (JSX.Element | null)[] | undefined)[];
|
|
46
|
+
renderDefaultList: () => JSX.Element;
|
|
37
47
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
38
48
|
modelData: {
|
|
39
49
|
type: import("vue").PropType<import("@ibiz/model-core").IDEList>;
|
|
@@ -63,10 +73,20 @@ export declare const IBizListControl: import("@ibiz-template/vue3-util").TypeWit
|
|
|
63
73
|
type: NumberConstructor;
|
|
64
74
|
default: number;
|
|
65
75
|
};
|
|
76
|
+
loadDefault: {
|
|
77
|
+
type: BooleanConstructor;
|
|
78
|
+
default: boolean;
|
|
79
|
+
};
|
|
80
|
+
mode: {
|
|
81
|
+
type: StringConstructor;
|
|
82
|
+
default: string;
|
|
83
|
+
};
|
|
66
84
|
}>>, {
|
|
85
|
+
mode: string;
|
|
67
86
|
params: IParams;
|
|
68
87
|
mdctrlActiveMode: number;
|
|
69
88
|
singleSelect: boolean;
|
|
89
|
+
loadDefault: boolean;
|
|
70
90
|
rowsCount: number;
|
|
71
91
|
columnsCount: number;
|
|
72
92
|
}, {}>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-control-list-item{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-list-active-bg-color:var(--ibiz-color-primary);--ibiz-control-list-padding:0.625rem;cursor:pointer}.ibiz-control-list-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list{height:100%;overflow:scroll}.ibiz-control-list__load-more{text-align:center;cursor:pointer}.ibiz-control-list__tag{display:flex;justify-content:space-between;width:100%;height:100%}.ibiz-control-list__item-icon{color:var(--ibiz-color-danger)}.ibiz-control-list__item-text{padding-right:var(--ibiz-spacing-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-list-simplelist{display:flex;flex-wrap:wrap}.ibiz-control-list-simplelist .van-tag__close{position:absolute;right:.3125rem;margin-left:.125rem}.ibiz-control-list-simplelist .ibiz-control-list-item{min-width:0;padding:.3125rem}.ibiz-control-list-item__delete{display:inline-block;margin-left:.3125rem}.ibiz-control-list-simplelist .ibiz-control-list-item:hover{background-color:transparent}.ibiz-control-list-simplelist .ibiz-control-list-item.is-active{background-color:transparent}.ibiz-control-list-popup-header{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-list-active-bg-color:var(--ibiz-color-primary);--ibiz-control-list-padding:0.625rem;padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list-popup{height:50vh}.ibiz-control-list-item-expand{flex-grow:1;min-width:0;min-height:0;color:var(--ibiz-color-primary);text-align:center}.ibiz-control-list-popup-container{display:flex;flex-flow:column nowrap;height:100%}.ibiz-control-list-popup-content{flex-grow:1;min-width:0;min-height:0;overflow-y:scroll}
|
|
@@ -46,12 +46,22 @@ export declare const ListControl: import("vue").DefineComponent<{
|
|
|
46
46
|
type: NumberConstructor;
|
|
47
47
|
default: number;
|
|
48
48
|
};
|
|
49
|
+
loadDefault: {
|
|
50
|
+
type: BooleanConstructor;
|
|
51
|
+
default: boolean;
|
|
52
|
+
};
|
|
53
|
+
mode: {
|
|
54
|
+
type: StringConstructor;
|
|
55
|
+
default: string;
|
|
56
|
+
};
|
|
49
57
|
}, {
|
|
50
58
|
c: ListController;
|
|
51
59
|
ns: import("@ibiz-template/core").Namespace;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
ns2: import("@ibiz-template/core").Namespace;
|
|
61
|
+
renderSelectList: () => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
}> | (JSX.Element | null)[] | undefined)[];
|
|
64
|
+
renderDefaultList: () => JSX.Element;
|
|
55
65
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
56
66
|
modelData: {
|
|
57
67
|
type: PropType<IDEList>;
|
|
@@ -96,10 +106,20 @@ export declare const ListControl: import("vue").DefineComponent<{
|
|
|
96
106
|
type: NumberConstructor;
|
|
97
107
|
default: number;
|
|
98
108
|
};
|
|
109
|
+
loadDefault: {
|
|
110
|
+
type: BooleanConstructor;
|
|
111
|
+
default: boolean;
|
|
112
|
+
};
|
|
113
|
+
mode: {
|
|
114
|
+
type: StringConstructor;
|
|
115
|
+
default: string;
|
|
116
|
+
};
|
|
99
117
|
}>>, {
|
|
118
|
+
mode: string;
|
|
100
119
|
params: IParams;
|
|
101
120
|
mdctrlActiveMode: number;
|
|
102
121
|
singleSelect: boolean;
|
|
122
|
+
loadDefault: boolean;
|
|
103
123
|
rowsCount: number;
|
|
104
124
|
columnsCount: number;
|
|
105
125
|
}, {}>;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { ref, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, ref, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './list.css';
|
|
4
4
|
import { ListController } from '@ibiz-template/runtime';
|
|
5
|
+
import { useListRender } from '../list-render-util.mjs';
|
|
5
6
|
|
|
6
7
|
"use strict";
|
|
8
|
+
function _isSlot(s) {
|
|
9
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
10
|
+
}
|
|
7
11
|
const ListControl = /* @__PURE__ */ defineComponent({
|
|
8
12
|
name: "IBizListControl",
|
|
9
13
|
props: {
|
|
@@ -51,21 +55,29 @@ const ListControl = /* @__PURE__ */ defineComponent({
|
|
|
51
55
|
columnsCount: {
|
|
52
56
|
type: Number,
|
|
53
57
|
default: 5
|
|
58
|
+
},
|
|
59
|
+
loadDefault: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
default: true
|
|
62
|
+
},
|
|
63
|
+
mode: {
|
|
64
|
+
type: String,
|
|
65
|
+
default: "LIST"
|
|
54
66
|
}
|
|
55
67
|
},
|
|
56
68
|
setup(props) {
|
|
57
69
|
const c = useControlController((...args) => new ListController(...args));
|
|
58
70
|
const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
|
|
71
|
+
const ns2 = useNamespace(`control-mobmdctrl`);
|
|
72
|
+
const {
|
|
73
|
+
renderItem,
|
|
74
|
+
renderNoData,
|
|
75
|
+
renderLoadMore
|
|
76
|
+
} = useListRender(props, c, ns2);
|
|
59
77
|
const showPicker = ref(false);
|
|
60
78
|
const openReviewList = () => {
|
|
61
79
|
showPicker.value = true;
|
|
62
80
|
};
|
|
63
|
-
const renderNoData = () => {
|
|
64
|
-
return createVNode(resolveComponent("iBizNoData"), {
|
|
65
|
-
"text": c.model.emptyText,
|
|
66
|
-
"emptyTextLanguageRes": c.model.emptyTextLanguageRes
|
|
67
|
-
}, null);
|
|
68
|
-
};
|
|
69
81
|
const renderDefaultItem = (item) => {
|
|
70
82
|
const findIndex = c.state.selectedData.findIndex((data) => {
|
|
71
83
|
return data.srfkey === item.srfkey;
|
|
@@ -141,12 +153,6 @@ const ListControl = /* @__PURE__ */ defineComponent({
|
|
|
141
153
|
return renderReViewDefaultItem(item);
|
|
142
154
|
});
|
|
143
155
|
};
|
|
144
|
-
const renderLoadMore = () => {
|
|
145
|
-
return c.state.total > c.state.items.length ? createVNode("div", {
|
|
146
|
-
"onClick": () => c.loadMore(),
|
|
147
|
-
"class": ns.e("load-more")
|
|
148
|
-
}, [createTextVNode("\u52A0\u8F7D\u66F4\u591A")]) : null;
|
|
149
|
-
};
|
|
150
156
|
const renderReviewList = () => {
|
|
151
157
|
return createVNode(resolveComponent("van-popup"), {
|
|
152
158
|
"round": true,
|
|
@@ -164,20 +170,33 @@ const ListControl = /* @__PURE__ */ defineComponent({
|
|
|
164
170
|
}, [renderReViewListContent()])])]
|
|
165
171
|
});
|
|
166
172
|
};
|
|
173
|
+
const renderDefaultList = () => {
|
|
174
|
+
let _slot;
|
|
175
|
+
return createVNode(resolveComponent("van-list"), {
|
|
176
|
+
"finished": c.state.total <= c.state.items.length
|
|
177
|
+
}, _isSlot(_slot = c.state.items.map((item) => {
|
|
178
|
+
return renderItem(item);
|
|
179
|
+
})) ? _slot : {
|
|
180
|
+
default: () => [_slot]
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
const renderSelectList = () => {
|
|
184
|
+
return [renderListContent(), renderReviewList(), renderLoadMore()];
|
|
185
|
+
};
|
|
167
186
|
return {
|
|
168
187
|
c,
|
|
169
188
|
ns,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
189
|
+
ns2,
|
|
190
|
+
renderSelectList,
|
|
191
|
+
renderDefaultList
|
|
173
192
|
};
|
|
174
193
|
},
|
|
175
194
|
render() {
|
|
176
195
|
return createVNode(resolveComponent("iBizControlBase"), {
|
|
177
196
|
"controller": this.c,
|
|
178
|
-
"class": this.ns.b(this.c.model.name)
|
|
197
|
+
"class": (this.ns.b(this.c.model.name), this.ns2.b())
|
|
179
198
|
}, {
|
|
180
|
-
default: () => [this.c.state.isCreated &&
|
|
199
|
+
default: () => [this.c.state.isCreated && this.mode === "LIST" ? this.renderDefaultList() : this.renderSelectList()]
|
|
181
200
|
});
|
|
182
201
|
}
|
|
183
202
|
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Namespace } from '@ibiz-template/core';
|
|
2
|
+
import { ListController, MDCtrlController } from '@ibiz-template/runtime';
|
|
3
|
+
import { VNode } from 'vue';
|
|
4
|
+
/**
|
|
5
|
+
* 列表绘制工具
|
|
6
|
+
*
|
|
7
|
+
* @author zk
|
|
8
|
+
* @date 2023-12-06 03:12:00
|
|
9
|
+
* @export
|
|
10
|
+
* @param {IData} props
|
|
11
|
+
* @param {(IMobMDCtrlController | IListController)} c
|
|
12
|
+
* @param {Namespace} ns
|
|
13
|
+
* @return {*} {({
|
|
14
|
+
* renderItem: (row: IData) => VNode | undefined;
|
|
15
|
+
* render: () => VNode | null;
|
|
16
|
+
* renderNoData: () => VNode | undefined;
|
|
17
|
+
* })}
|
|
18
|
+
*/
|
|
19
|
+
export declare function useListRender(props: IData, c: MDCtrlController | ListController, ns: Namespace): {
|
|
20
|
+
renderItem: (row: IData) => VNode | undefined;
|
|
21
|
+
renderNoData: () => VNode | undefined;
|
|
22
|
+
renderLoadMore: () => VNode | undefined;
|
|
23
|
+
};
|