@ibiz-template/mob-vue3-components 0.0.1-alpha.25 → 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/common/col/col.mjs +0 -3
- package/es/common/rawitem/rawitem.mjs +1 -1
- package/es/control/calendar/calendar.mjs +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-item/form-item-container/form-item-container.css +1 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.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-repeater/repeater-multi-form/repeater-multi-form.d.ts +1 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +15 -3
- 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.css +1 -1
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +4 -3
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +14 -6
- 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 +7 -1
- package/es/panel-component/panel-tab-panel/index.d.ts +23 -0
- package/es/panel-component/panel-tab-panel/index.mjs +12 -0
- package/es/panel-component/panel-tab-panel/panel-tab-panel.css +1 -0
- package/es/panel-component/panel-tab-panel/panel-tab-panel.d.ts +26 -0
- package/es/panel-component/panel-tab-panel/panel-tab-panel.mjs +70 -0
- package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.d.ts +13 -0
- package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.mjs +21 -0
- 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/common/col/col.cjs +0 -3
- package/lib/common/rawitem/rawitem.cjs +1 -1
- package/lib/control/calendar/calendar.cjs +1 -1
- 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-item/form-item-container/form-item-container.css +1 -1
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.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-repeater/repeater-multi-form/repeater-multi-form.cjs +15 -3
- 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 +14 -6
- package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +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 +6 -0
- package/lib/panel-component/panel-tab-panel/index.cjs +17 -0
- package/lib/panel-component/panel-tab-panel/panel-tab-panel.cjs +72 -0
- package/lib/panel-component/panel-tab-panel/panel-tab-panel.css +1 -0
- package/lib/panel-component/panel-tab-panel/panel-tab-panel.provider.cjs +23 -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/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/Calendar.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarDate.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarScrollContainer.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarTime.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarYearMonth.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/img.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/index.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/index.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-expose.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-mounted-or-activated.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-rect.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/index.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/cn.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/en.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/index.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/basic.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/index.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/props.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/validate.mjs +0 -0
- /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/with-install.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
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/Calendar.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarDate.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarScrollContainer.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarTime.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarYearMonth.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/img.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/index.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/index.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-expose.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-mounted-or-activated.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-rect.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/index.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/cn.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/en.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/index.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/basic.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/index.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/props.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/validate.cjs +0 -0
- /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/with-install.cjs +0 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { isVNode, computed, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
4
|
+
import './panel-tab-panel.css';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
function _isSlot(s) {
|
|
8
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
9
|
+
}
|
|
10
|
+
const PanelTabPanel = /* @__PURE__ */ defineComponent({
|
|
11
|
+
name: "IBizPanelTabPanel",
|
|
12
|
+
props: {
|
|
13
|
+
modelData: {
|
|
14
|
+
type: Object,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
controller: {
|
|
18
|
+
type: PanelItemController,
|
|
19
|
+
required: true
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
setup(props) {
|
|
23
|
+
const ns = useNamespace("panel-tab-panel");
|
|
24
|
+
const classArr = computed(() => {
|
|
25
|
+
const {
|
|
26
|
+
id
|
|
27
|
+
} = props.modelData;
|
|
28
|
+
const result = [ns.b(), ns.m(id)];
|
|
29
|
+
result.push(...props.controller.containerClass);
|
|
30
|
+
return result;
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
ns,
|
|
34
|
+
classArr
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
render() {
|
|
38
|
+
var _a, _b, _c;
|
|
39
|
+
let _slot;
|
|
40
|
+
if (!this.controller.state.visible) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
|
|
44
|
+
return createVNode(resolveComponent("van-tabs"), {
|
|
45
|
+
"class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
|
|
46
|
+
"lazy-render": true,
|
|
47
|
+
"model-value": (_c = this.modelData.panelTabPages) == null ? void 0 : _c[0].id
|
|
48
|
+
}, _isSlot(_slot = defaultSlots.map((slot) => {
|
|
49
|
+
const props = slot.props;
|
|
50
|
+
if (!props || !props.controller) {
|
|
51
|
+
return slot;
|
|
52
|
+
}
|
|
53
|
+
const c = props.controller;
|
|
54
|
+
if (!c.state.visible && !c.state.keepAlive) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return createVNode(resolveComponent("van-tab"), {
|
|
58
|
+
"class": this.ns.b("tab-item"),
|
|
59
|
+
"title": c.model.caption,
|
|
60
|
+
"name": c.model.id
|
|
61
|
+
}, _isSlot(slot) ? slot : {
|
|
62
|
+
default: () => [slot]
|
|
63
|
+
});
|
|
64
|
+
})) ? _slot : {
|
|
65
|
+
default: () => [_slot]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
export { PanelTabPanel };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IPanelItem } from '@ibiz/model-core';
|
|
3
|
+
/**
|
|
4
|
+
* 面板分页面板适配器
|
|
5
|
+
*
|
|
6
|
+
* @export
|
|
7
|
+
* @class PanelTabPanelController
|
|
8
|
+
* @implements {IPanelItemProvider}
|
|
9
|
+
*/
|
|
10
|
+
export declare class PanelTabPanelProvider implements IPanelItemProvider {
|
|
11
|
+
component: string;
|
|
12
|
+
createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
|
|
13
|
+
}
|
|
@@ -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 PanelTabPanelProvider {
|
|
11
|
+
constructor() {
|
|
12
|
+
__publicField(this, "component", "IBizPanelTabPanel");
|
|
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 { PanelTabPanelProvider };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IConfirmUtil, ConfirmParams } from '@ibiz-template/runtime';
|
|
2
|
+
/**
|
|
3
|
+
* 确认操作框
|
|
4
|
+
*
|
|
5
|
+
* @author zk
|
|
6
|
+
* @date 2023-12-05 10:12:05
|
|
7
|
+
* @export
|
|
8
|
+
* @class ConfirmUtil
|
|
9
|
+
* @implements {IConfirmUtil}
|
|
10
|
+
*/
|
|
11
|
+
export declare class ConfirmUtil implements IConfirmUtil {
|
|
12
|
+
private ns;
|
|
13
|
+
info(params: ConfirmParams): Promise<boolean>;
|
|
14
|
+
success(params: ConfirmParams): Promise<boolean>;
|
|
15
|
+
warning(params: ConfirmParams): Promise<boolean>;
|
|
16
|
+
error(params: ConfirmParams): Promise<boolean>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Namespace } from '@ibiz-template/core';
|
|
2
|
+
import { showConfirmDialog } from 'vant';
|
|
3
|
+
|
|
4
|
+
"use strict";
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __publicField = (obj, key, value) => {
|
|
8
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
|
+
return value;
|
|
10
|
+
};
|
|
11
|
+
class ConfirmUtil {
|
|
12
|
+
constructor() {
|
|
13
|
+
__publicField(this, "ns", new Namespace("confirm"));
|
|
14
|
+
}
|
|
15
|
+
async info(params) {
|
|
16
|
+
const { title, desc, options } = params;
|
|
17
|
+
return new Promise((resolve) => {
|
|
18
|
+
showConfirmDialog({
|
|
19
|
+
title,
|
|
20
|
+
message: desc,
|
|
21
|
+
className: `${this.ns.b()} ${this.ns.e("info")}`,
|
|
22
|
+
...options
|
|
23
|
+
}).then(() => {
|
|
24
|
+
resolve(true);
|
|
25
|
+
}).catch(() => {
|
|
26
|
+
resolve(false);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async success(params) {
|
|
31
|
+
const { title, desc, options } = params;
|
|
32
|
+
return new Promise((resolve) => {
|
|
33
|
+
showConfirmDialog({
|
|
34
|
+
title,
|
|
35
|
+
message: desc,
|
|
36
|
+
className: `${this.ns.b()} ${this.ns.e("success")}`,
|
|
37
|
+
...options
|
|
38
|
+
}).then(() => {
|
|
39
|
+
resolve(true);
|
|
40
|
+
}).catch(() => {
|
|
41
|
+
resolve(false);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async warning(params) {
|
|
46
|
+
const { title, desc, options } = params;
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
showConfirmDialog({
|
|
49
|
+
title,
|
|
50
|
+
message: desc,
|
|
51
|
+
className: `${this.ns.b()} ${this.ns.e("warning")}`,
|
|
52
|
+
...options
|
|
53
|
+
}).then(() => {
|
|
54
|
+
resolve(true);
|
|
55
|
+
}).catch(() => {
|
|
56
|
+
resolve(false);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async error(params) {
|
|
61
|
+
const { title, desc, options } = params;
|
|
62
|
+
return new Promise((resolve) => {
|
|
63
|
+
showConfirmDialog({
|
|
64
|
+
title,
|
|
65
|
+
message: desc,
|
|
66
|
+
className: `${this.ns.b()} ${this.ns.e("error")}`,
|
|
67
|
+
...options
|
|
68
|
+
}).then(() => {
|
|
69
|
+
resolve(true);
|
|
70
|
+
}).catch(() => {
|
|
71
|
+
resolve(false);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { ConfirmUtil };
|
package/es/util/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { NotificationUtil } from './notification-util/notification-util';
|
|
|
5
5
|
export { OpenViewUtil } from './open-view-util/open-view-util';
|
|
6
6
|
export { OverlayController } from './overlay-controller/overlay-controller';
|
|
7
7
|
export { loadingDirective } from './directive/loading';
|
|
8
|
+
export { ConfirmUtil } from './confirm-util/confirm-util';
|
|
8
9
|
export * from './store';
|
package/es/util/index.mjs
CHANGED
|
@@ -5,6 +5,7 @@ export { NotificationUtil } from './notification-util/notification-util.mjs';
|
|
|
5
5
|
export { OpenViewUtil } from './open-view-util/open-view-util.mjs';
|
|
6
6
|
export { OverlayController } from './overlay-controller/overlay-controller.mjs';
|
|
7
7
|
export { loadingDirective } from './directive/loading.mjs';
|
|
8
|
+
export { ConfirmUtil } from './confirm-util/confirm-util.mjs';
|
|
8
9
|
import './store/index.mjs';
|
|
9
10
|
export { calcUniqueKey, useViewStack } from './store/view-stack/view-stack.mjs';
|
|
10
11
|
|
|
@@ -50,6 +50,8 @@ class MobMPickupViewEngine extends MobPickupViewEngine {
|
|
|
50
50
|
this.view.slotProps.pickupviewpanel.selectedData = this.selectedData;
|
|
51
51
|
this.view.slotProps.simplelist.singleSelect = false;
|
|
52
52
|
this.view.slotProps.simplelist.mdctrlActiveMode = 2;
|
|
53
|
+
this.view.slotProps.simplelist.mode = "SELECT";
|
|
54
|
+
this.view.slotProps.simplelist.loadDefault = false;
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
55
57
|
* 视图mounted生命周期执行逻辑
|
package/lib/common/col/col.cjs
CHANGED
|
@@ -23,9 +23,6 @@ const IBizCol = /* @__PURE__ */ vue.defineComponent({
|
|
|
23
23
|
const spacingClass = vue.computed(() => {
|
|
24
24
|
const ns2 = vue3Util.useNamespace("spacing");
|
|
25
25
|
const classArr = [];
|
|
26
|
-
if (props.layoutPos.layout !== "FLEX") {
|
|
27
|
-
return classArr;
|
|
28
|
-
}
|
|
29
26
|
const spacings = {
|
|
30
27
|
top: props.layoutPos.spacingTop,
|
|
31
28
|
bottom: props.layoutPos.spacingBottom,
|
|
@@ -43,7 +43,7 @@ const IBizRawItem = /* @__PURE__ */ vue.defineComponent({
|
|
|
43
43
|
rawItemContent.value = rawItem.content;
|
|
44
44
|
}
|
|
45
45
|
} else if (["VIDEO", "DIVIDER", "INFO", "WARNING", "ERROR"].includes(contentType)) {
|
|
46
|
-
rawItemContent.value = props.content;
|
|
46
|
+
rawItemContent.value = props.content || rawItem.rawContent;
|
|
47
47
|
} else if (contentType === "IMAGE" && sysImage) {
|
|
48
48
|
rawItemContent.value = sysImage;
|
|
49
49
|
}
|
|
@@ -6,7 +6,7 @@ require('./calendar.css');
|
|
|
6
6
|
var runtime = require('@ibiz-template/runtime');
|
|
7
7
|
var ramda = require('ramda');
|
|
8
8
|
var dayjs = require('dayjs');
|
|
9
|
-
var index = require('../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.
|
|
9
|
+
var index = require('../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.9/node_modules/vue3-hash-calendar/es/index.cjs');
|
|
10
10
|
require('vue3-hash-calendar/es/index.css');
|
|
11
11
|
|
|
12
12
|
"use strict";
|
|
@@ -10,11 +10,13 @@ require('./portlet/index.cjs');
|
|
|
10
10
|
var portletLayout = require('./portlet/portlet-layout/portlet-layout.cjs');
|
|
11
11
|
var index = require('./portlet/container-portlet/index.cjs');
|
|
12
12
|
var index$1 = require('./portlet/menu-portlet/index.cjs');
|
|
13
|
+
var index$2 = require('./portlet/view-portlet/index.cjs');
|
|
13
14
|
var portletPart_state = require('./portlet/portlet-part/portlet-part.state.cjs');
|
|
14
15
|
var containerPortlet_provider = require('./portlet/container-portlet/container-portlet.provider.cjs');
|
|
15
16
|
var containerPortlet = require('./portlet/container-portlet/container-portlet.cjs');
|
|
16
17
|
var menuPortlet_provider = require('./portlet/menu-portlet/menu-portlet.provider.cjs');
|
|
17
18
|
var menuPortlet = require('./portlet/menu-portlet/menu-portlet.cjs');
|
|
19
|
+
var viewPortlet = require('./portlet/view-portlet/view-portlet.cjs');
|
|
18
20
|
|
|
19
21
|
"use strict";
|
|
20
22
|
const IBizDashboardControl = vue3Util.withInstall(
|
|
@@ -28,6 +30,7 @@ const IBizDashboardControl = vue3Util.withInstall(
|
|
|
28
30
|
v.component(portletLayout.PortletLayout.name, portletLayout.PortletLayout);
|
|
29
31
|
v.use(index.IBizContainerPortlet);
|
|
30
32
|
v.use(index$1.IBizMenuPortlet);
|
|
33
|
+
v.use(index$2.IBizViewPortlet);
|
|
31
34
|
}
|
|
32
35
|
);
|
|
33
36
|
|
|
@@ -35,10 +38,12 @@ exports.DashboardProvider = dashboard_provider.DashboardProvider;
|
|
|
35
38
|
exports.PortletLayout = portletLayout.PortletLayout;
|
|
36
39
|
exports.IBizContainerPortlet = index.IBizContainerPortlet;
|
|
37
40
|
exports.IBizMenuPortlet = index$1.IBizMenuPortlet;
|
|
41
|
+
exports.IBizViewPortlet = index$2.IBizViewPortlet;
|
|
38
42
|
exports.PortletPartState = portletPart_state.PortletPartState;
|
|
39
43
|
exports.ContainerPortletProvider = containerPortlet_provider.ContainerPortletProvider;
|
|
40
44
|
exports.ContainerPortlet = containerPortlet.ContainerPortlet;
|
|
41
45
|
exports.MenuPortletProvider = menuPortlet_provider.MenuPortletProvider;
|
|
42
46
|
exports.MenuPortlet = menuPortlet.MenuPortlet;
|
|
47
|
+
exports.ViewPortlet = viewPortlet.ViewPortlet;
|
|
43
48
|
exports.IBizDashboardControl = IBizDashboardControl;
|
|
44
49
|
exports.default = IBizDashboardControl;
|
|
@@ -14,11 +14,7 @@ class ContainerPortletProvider {
|
|
|
14
14
|
__publicField(this, "component", "IBizContainerPortlet");
|
|
15
15
|
}
|
|
16
16
|
async createController(portletModel, dashboard, parent) {
|
|
17
|
-
const c = new runtime.ContainerPortletController(
|
|
18
|
-
portletModel,
|
|
19
|
-
dashboard,
|
|
20
|
-
parent
|
|
21
|
-
);
|
|
17
|
+
const c = new runtime.ContainerPortletController(portletModel, dashboard, parent);
|
|
22
18
|
await c.init();
|
|
23
19
|
return c;
|
|
24
20
|
}
|
|
@@ -4,19 +4,23 @@ require('./portlet-part/index.cjs');
|
|
|
4
4
|
var index = require('./container-portlet/index.cjs');
|
|
5
5
|
var portletLayout = require('./portlet-layout/portlet-layout.cjs');
|
|
6
6
|
var index$1 = require('./menu-portlet/index.cjs');
|
|
7
|
+
var index$2 = require('./view-portlet/index.cjs');
|
|
7
8
|
var portletPart_state = require('./portlet-part/portlet-part.state.cjs');
|
|
8
9
|
var containerPortlet_provider = require('./container-portlet/container-portlet.provider.cjs');
|
|
9
10
|
var containerPortlet = require('./container-portlet/container-portlet.cjs');
|
|
10
11
|
var menuPortlet_provider = require('./menu-portlet/menu-portlet.provider.cjs');
|
|
11
12
|
var menuPortlet = require('./menu-portlet/menu-portlet.cjs');
|
|
13
|
+
var viewPortlet = require('./view-portlet/view-portlet.cjs');
|
|
12
14
|
|
|
13
15
|
"use strict";
|
|
14
16
|
|
|
15
17
|
exports.IBizContainerPortlet = index.IBizContainerPortlet;
|
|
16
18
|
exports.PortletLayout = portletLayout.PortletLayout;
|
|
17
19
|
exports.IBizMenuPortlet = index$1.IBizMenuPortlet;
|
|
20
|
+
exports.IBizViewPortlet = index$2.IBizViewPortlet;
|
|
18
21
|
exports.PortletPartState = portletPart_state.PortletPartState;
|
|
19
22
|
exports.ContainerPortletProvider = containerPortlet_provider.ContainerPortletProvider;
|
|
20
23
|
exports.ContainerPortlet = containerPortlet.ContainerPortlet;
|
|
21
24
|
exports.MenuPortletProvider = menuPortlet_provider.MenuPortletProvider;
|
|
22
25
|
exports.MenuPortlet = menuPortlet.MenuPortlet;
|
|
26
|
+
exports.ViewPortlet = viewPortlet.ViewPortlet;
|
|
@@ -14,11 +14,7 @@ class MenuPortletProvider {
|
|
|
14
14
|
__publicField(this, "component", "IBizMenuPortlet");
|
|
15
15
|
}
|
|
16
16
|
async createController(portletModel, dashboard, parent) {
|
|
17
|
-
const c = new runtime.MenuPortletController(
|
|
18
|
-
portletModel,
|
|
19
|
-
dashboard,
|
|
20
|
-
parent
|
|
21
|
-
);
|
|
17
|
+
const c = new runtime.MenuPortletController(portletModel, dashboard, parent);
|
|
22
18
|
await c.init();
|
|
23
19
|
return c;
|
|
24
20
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var runtime = require('@ibiz-template/runtime');
|
|
6
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
7
|
+
var viewPortlet = require('./view-portlet.cjs');
|
|
8
|
+
var viewPortlet_provider = require('./view-portlet.provider.cjs');
|
|
9
|
+
|
|
10
|
+
"use strict";
|
|
11
|
+
const IBizViewPortlet = vue3Util.withInstall(viewPortlet.ViewPortlet, function(v) {
|
|
12
|
+
v.component(viewPortlet.ViewPortlet.name, viewPortlet.ViewPortlet);
|
|
13
|
+
runtime.registerPortletProvider("VIEW", () => new viewPortlet_provider.ViewPortletProvider());
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
exports.ViewPortlet = viewPortlet.ViewPortlet;
|
|
17
|
+
exports.IBizViewPortlet = IBizViewPortlet;
|
|
18
|
+
exports.default = IBizViewPortlet;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
var runtime = require('@ibiz-template/runtime');
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
function _isSlot(s) {
|
|
9
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
|
|
10
|
+
}
|
|
11
|
+
const ViewPortlet = /* @__PURE__ */ vue.defineComponent({
|
|
12
|
+
name: "IBizViewPortlet",
|
|
13
|
+
props: {
|
|
14
|
+
modelData: {
|
|
15
|
+
type: Object,
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
controller: {
|
|
19
|
+
type: runtime.ViewPortletController,
|
|
20
|
+
required: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
setup(props) {
|
|
24
|
+
var _a;
|
|
25
|
+
const ns = vue3Util.useNamespace(`portlet-${(_a = props.modelData.portletType) == null ? void 0 : _a.toLowerCase()}`);
|
|
26
|
+
const view = props.modelData.portletAppView;
|
|
27
|
+
return {
|
|
28
|
+
ns,
|
|
29
|
+
view
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
render() {
|
|
33
|
+
let _slot;
|
|
34
|
+
const classArr = [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass];
|
|
35
|
+
const {
|
|
36
|
+
context,
|
|
37
|
+
params
|
|
38
|
+
} = this.controller;
|
|
39
|
+
return vue.createVNode(vue.resolveComponent("iBizPortletLayout"), {
|
|
40
|
+
"controller": this.controller,
|
|
41
|
+
"class": classArr
|
|
42
|
+
}, _isSlot(_slot = vue.h(vue.resolveComponent("IBizViewShell"), {
|
|
43
|
+
context,
|
|
44
|
+
params,
|
|
45
|
+
modelData: this.view
|
|
46
|
+
})) ? _slot : {
|
|
47
|
+
default: () => [_slot]
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
exports.ViewPortlet = ViewPortlet;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var runtime = require('@ibiz-template/runtime');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
class ViewPortletProvider {
|
|
13
|
+
constructor() {
|
|
14
|
+
__publicField(this, "component", "IBizViewPortlet");
|
|
15
|
+
}
|
|
16
|
+
async createController(portletModel, dashboard, parent) {
|
|
17
|
+
const c = new runtime.ViewPortletController(portletModel, dashboard, parent);
|
|
18
|
+
await c.init();
|
|
19
|
+
return c;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
exports.ViewPortletProvider = ViewPortletProvider;
|
|
@@ -48,7 +48,7 @@ const FormDRUIPart = /* @__PURE__ */ vue.defineComponent({
|
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
50
|
let header = null;
|
|
51
|
-
if (this.modelData.showCaption) {
|
|
51
|
+
if (this.modelData.showCaption && this.captionText) {
|
|
52
52
|
header = vue.createVNode("div", {
|
|
53
53
|
"class": [this.ns.b("header")]
|
|
54
54
|
}, [vue.createVNode("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-
|
|
1
|
+
.ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.00625rem;content:"";background-color:var(--ibiz-color-border)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
|
|
@@ -48,7 +48,7 @@ const FormMDCtrlForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
48
48
|
"items": state.items || [],
|
|
49
49
|
"enableCreate": this.controller.enableCreate,
|
|
50
50
|
"enableDelete": this.controller.enableDelete,
|
|
51
|
-
"onAddClick": () => this.controller.create(),
|
|
51
|
+
"onAddClick": (index) => this.controller.create(index),
|
|
52
52
|
"onRemoveClick": (item) => this.controller.remove(item.id)
|
|
53
53
|
}, {
|
|
54
54
|
item: ({
|
|
@@ -57,6 +57,8 @@ const FormMDCtrlMD = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
57
|
}
|
|
58
58
|
return vue.createVNode("div", {
|
|
59
59
|
"class": this.ns.b()
|
|
60
|
+
}, [this.showActions && vue.createVNode("div", {
|
|
61
|
+
"class": this.ns.b("actions")
|
|
60
62
|
}, [this.controller.enableCreate && vue.createVNode(vue.resolveComponent("van-button"), {
|
|
61
63
|
"class": [this.ns.be("actions", "create"), this.ns.be("actions", "btn")],
|
|
62
64
|
"size": "small",
|
|
@@ -64,9 +66,7 @@ const FormMDCtrlMD = /* @__PURE__ */ vue.defineComponent({
|
|
|
64
66
|
"onClick": () => this.controller.create()
|
|
65
67
|
}, {
|
|
66
68
|
default: () => [vue.createTextVNode("\u6DFB\u52A0")]
|
|
67
|
-
}),
|
|
68
|
-
"class": this.ns.b("actions")
|
|
69
|
-
}, [this.controller.enableDelete && vue.createVNode(vue.resolveComponent("van-button"), {
|
|
69
|
+
}), this.controller.enableDelete && vue.createVNode(vue.resolveComponent("van-button"), {
|
|
70
70
|
"type": "danger",
|
|
71
71
|
"size": "small",
|
|
72
72
|
"disabled": !this.isSelected,
|
|
@@ -74,7 +74,7 @@ const FormMDCtrlMD = /* @__PURE__ */ vue.defineComponent({
|
|
|
74
74
|
"onClick": () => this.controller.remove()
|
|
75
75
|
}, {
|
|
76
76
|
default: () => [vue.createTextVNode("\u5220\u9664")]
|
|
77
|
-
})])]);
|
|
77
|
+
})]), controlComponent]);
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
80
|
|
|
@@ -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)}
|
|
@@ -26,9 +26,19 @@ const RepeaterMultiForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
26
26
|
arrData[index] = value;
|
|
27
27
|
emit("change", arrData);
|
|
28
28
|
};
|
|
29
|
+
const removeClick = async (index) => {
|
|
30
|
+
const confirm = await ibiz.modal.confirm({
|
|
31
|
+
title: "\u786E\u8BA4",
|
|
32
|
+
desc: "\u662F\u5426\u5220\u9664\u9009\u4E2D\u9879?"
|
|
33
|
+
});
|
|
34
|
+
if (confirm) {
|
|
35
|
+
props.controller.remove(index);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
29
38
|
return {
|
|
30
39
|
ns,
|
|
31
|
-
onValueChange
|
|
40
|
+
onValueChange,
|
|
41
|
+
removeClick
|
|
32
42
|
};
|
|
33
43
|
},
|
|
34
44
|
render() {
|
|
@@ -38,8 +48,10 @@ const RepeaterMultiForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
48
|
"items": items,
|
|
39
49
|
"enableCreate": this.controller.enableCreate,
|
|
40
50
|
"enableDelete": this.controller.enableDelete,
|
|
41
|
-
"onAddClick": () => this.controller.create(),
|
|
42
|
-
"onRemoveClick": (_item, index) =>
|
|
51
|
+
"onAddClick": (index) => this.controller.create(index),
|
|
52
|
+
"onRemoveClick": (_item, index) => {
|
|
53
|
+
this.removeClick(index);
|
|
54
|
+
}
|
|
43
55
|
}, {
|
|
44
56
|
item: ({
|
|
45
57
|
data,
|
|
@@ -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)}
|
|
@@ -22,7 +22,7 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
emits: {
|
|
25
|
-
addClick: () => true,
|
|
25
|
+
addClick: (_index) => true,
|
|
26
26
|
removeClick: (_data, _index) => true
|
|
27
27
|
},
|
|
28
28
|
setup(props, {
|
|
@@ -32,11 +32,14 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
32
32
|
const showActions = vue.computed(() => {
|
|
33
33
|
return props.enableCreate || props.enableDelete;
|
|
34
34
|
});
|
|
35
|
-
const renderAddBtn = () => {
|
|
35
|
+
const renderAddBtn = (index) => {
|
|
36
|
+
if (!props.enableCreate) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
36
39
|
return vue.createVNode(vue.resolveComponent("van-button"), {
|
|
37
40
|
"class": [ns.be("item-actions", "create"), ns.be("item-actions", "btn")],
|
|
38
41
|
"size": "small",
|
|
39
|
-
"onClick": () => emit("addClick"),
|
|
42
|
+
"onClick": () => emit("addClick", index === void 0 ? void 0 : index + 1),
|
|
40
43
|
"type": "primary"
|
|
41
44
|
}, {
|
|
42
45
|
default: () => [vue.createTextVNode("\u6DFB\u52A0")]
|
|
@@ -69,11 +72,15 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
69
72
|
default: () => [vue.createTextVNode("\u5220\u9664")]
|
|
70
73
|
});
|
|
71
74
|
};
|
|
75
|
+
const renderBottomBtn = (item, index) => {
|
|
76
|
+
return [renderAddBtn(index), renderRemoveBtn(item, index)];
|
|
77
|
+
};
|
|
72
78
|
return {
|
|
73
79
|
ns,
|
|
74
80
|
showActions,
|
|
75
81
|
renderAddBtn,
|
|
76
|
-
renderRemoveBtn
|
|
82
|
+
renderRemoveBtn,
|
|
83
|
+
renderBottomBtn
|
|
77
84
|
};
|
|
78
85
|
},
|
|
79
86
|
render() {
|
|
@@ -85,10 +92,11 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
|
|
|
85
92
|
index
|
|
86
93
|
}) : vue.createVNode("div", null, [vue.createTextVNode("\u672A\u63D0\u4F9Bitem\u63D2\u69FD")]);
|
|
87
94
|
return vue.createVNode("div", {
|
|
88
|
-
"class": this.ns.b("item")
|
|
95
|
+
"class": this.ns.b("item"),
|
|
96
|
+
"key": item.id
|
|
89
97
|
}, [formComponent, this.showActions && vue.createVNode("div", {
|
|
90
98
|
"class": this.ns.b("item-actions")
|
|
91
|
-
}, [this.
|
|
99
|
+
}, [this.renderBottomBtn(item, index)])]);
|
|
92
100
|
})]);
|
|
93
101
|
}
|
|
94
102
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-mdctrl-container{display:flex;flex-direction:column;
|
|
1
|
+
.ibiz-mdctrl-container{display:flex;flex-direction:column;padding:var(--ibiz-spacing-tight) 0;background-color:var(--ibiz-color-bg-1)}.ibiz-mdctrl-container-item{margin:0 var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight);overflow:hidden;border:solid 1px var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-medium)}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item-actions{display:flex;flex-shrink:0;width:100%;padding:10px 0;text-align:center}.ibiz-mdctrl-container-item-actions .van-button+.van-button{margin-left:0}.ibiz-mdctrl-container-item-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2);margin:0 var(--ibiz-spacing-base)}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}
|