@ibiz-template/mob-vue3-components 0.0.1-alpha.23 → 0.0.1-alpha.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +5 -5
- package/dist/index.system.min.js.map +1 -1
- package/es/control/calendar/calendar.d.ts +1 -1
- package/es/control/calendar/index.d.ts +1 -1
- package/es/control/caption-bar/caption-bar.css +1 -1
- package/es/control/chart/chart.d.ts +1 -1
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
- package/es/control/data-view/data-view.css +1 -1
- package/es/control/data-view/data-view.d.ts +1 -1
- package/es/control/data-view/index.d.ts +1 -1
- package/es/control/form/edit-form/edit-form.d.ts +16 -1
- package/es/control/form/edit-form/edit-form.mjs +26 -8
- package/es/control/form/edit-form/index.d.ts +15 -0
- package/es/control/form/form/form.d.ts +1 -5
- package/es/control/form/form/form.mjs +39 -15
- package/es/control/form/form/index.mjs +2 -0
- package/es/control/form/form-detail/form-button/form-button.css +1 -1
- package/es/control/form/form-detail/form-group-panel/form-group-panel.css +1 -1
- package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/es/control/form/form-detail/form-item/form-item.css +1 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.css +1 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.d.ts +18 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +73 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.d.ts +19 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.mjs +79 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.d.ts +15 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs +50 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.d.ts +19 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +59 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.css +1 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.d.ts +29 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.mjs +54 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl.d.ts +28 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl.mjs +67 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl.provider.d.ts +15 -0
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl.provider.mjs +40 -0
- package/es/control/form/form-detail/form-mdctrl/index.d.ts +24 -0
- package/es/control/form/form-detail/form-mdctrl/index.mjs +20 -0
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -0
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +40 -0
- package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +94 -0
- package/es/control/form/form-detail/form-page/form-page.css +1 -1
- package/es/control/form/form-detail/index.d.ts +1 -0
- package/es/control/form/form-detail/index.mjs +1 -0
- package/es/control/form/index.mjs +1 -0
- package/es/control/index.d.ts +0 -1
- package/es/control/index.mjs +1 -5
- package/es/control/md-ctrl/md-ctrl.css +1 -1
- package/es/control/search-bar/search-bar.css +1 -1
- package/es/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
- package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +2 -2
- package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
- package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +3 -0
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -1
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +6 -6
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +7 -8
- package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.mjs +3 -0
- package/es/editor/span/span/span.css +1 -1
- package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +2 -2
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.css +1 -1
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +2 -0
- package/es/editor/upload/upload-editor.controller.mjs +2 -17
- package/es/index.mjs +1 -3
- package/es/panel-component/panel-button/index.d.ts +1 -1
- package/es/panel-component/panel-button/panel-button.d.ts +1 -1
- package/es/panel-component/view-content-panel-container/view-content-panel-container.css +1 -1
- package/es/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
- package/es/view/login-view/login-view.mjs +1 -1
- package/lib/control/caption-bar/caption-bar.css +1 -1
- package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
- package/lib/control/data-view/data-view.css +1 -1
- package/lib/control/form/edit-form/edit-form.cjs +26 -8
- package/lib/control/form/form/form.cjs +38 -14
- package/lib/control/form/form/index.cjs +2 -0
- package/lib/control/form/form-detail/form-button/form-button.css +1 -1
- package/lib/control/form/form-detail/form-group-panel/form-group-panel.css +1 -1
- package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
- package/lib/control/form/form-detail/form-item/form-item.css +1 -1
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +75 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.css +1 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.cjs +81 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.css +1 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.cjs +52 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.cjs +61 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.cjs +56 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.css +1 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.cjs +72 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -0
- package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.provider.cjs +42 -0
- package/lib/control/form/form-detail/form-mdctrl/index.cjs +25 -0
- package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +96 -0
- package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -0
- package/lib/control/form/form-detail/form-page/form-page.css +1 -1
- package/lib/control/form/form-detail/index.cjs +2 -0
- package/lib/control/form/index.cjs +6 -4
- package/lib/control/index.cjs +58 -65
- package/lib/control/md-ctrl/md-ctrl.css +1 -1
- package/lib/control/search-bar/search-bar.css +1 -1
- package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +2 -2
- package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
- package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +3 -0
- package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
- package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +6 -6
- package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.css +1 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +7 -8
- package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.cjs +3 -0
- package/lib/editor/span/span/span.css +1 -1
- package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +2 -2
- package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +2 -0
- package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.css +1 -1
- package/lib/editor/upload/upload-editor.controller.cjs +1 -16
- package/lib/index.cjs +38 -40
- package/lib/panel-component/view-content-panel-container/view-content-panel-container.css +1 -1
- package/lib/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
- package/lib/view/login-view/login-view.cjs +1 -1
- package/package.json +1 -1
- package/es/control/panel/index.d.ts +0 -2
- package/es/control/panel/index.mjs +0 -6
- package/es/control/panel/panel/index.d.ts +0 -51
- package/es/control/panel/panel/index.mjs +0 -12
- package/es/control/panel/panel/panel.css +0 -1
- package/es/control/panel/panel/panel.d.ts +0 -56
- package/es/control/panel/panel/panel.mjs +0 -130
- package/es/control/panel/panel/panel.provider.d.ts +0 -13
- package/es/control/panel/panel/panel.provider.mjs +0 -14
- package/es/control/panel/view-layout-panel/index.d.ts +0 -36
- package/es/control/panel/view-layout-panel/index.mjs +0 -18
- package/es/control/panel/view-layout-panel/view-layout-panel.css +0 -1
- package/es/control/panel/view-layout-panel/view-layout-panel.d.ts +0 -41
- package/es/control/panel/view-layout-panel/view-layout-panel.mjs +0 -109
- package/es/control/panel/view-layout-panel/view-layout-panel.provider.d.ts +0 -13
- package/es/control/panel/view-layout-panel/view-layout-panel.provider.mjs +0 -14
- package/lib/control/panel/index.cjs +0 -13
- package/lib/control/panel/panel/index.cjs +0 -18
- package/lib/control/panel/panel/panel.cjs +0 -132
- package/lib/control/panel/panel/panel.css +0 -1
- package/lib/control/panel/panel/panel.provider.cjs +0 -16
- package/lib/control/panel/view-layout-panel/index.cjs +0 -24
- package/lib/control/panel/view-layout-panel/view-layout-panel.cjs +0 -111
- package/lib/control/panel/view-layout-panel/view-layout-panel.css +0 -1
- package/lib/control/panel/view-layout-panel/view-layout-panel.provider.cjs +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-captionbar{--ibiz-control-captionbar-color:var(--ibiz-color-text-0);--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-5);--ibiz-control-captionbar-sub-main-font-size:var(--ibiz-font-size-header-6);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-captionbar-line-height:
|
|
1
|
+
.ibiz-control-captionbar{--ibiz-control-captionbar-color:var(--ibiz-color-text-0);--ibiz-control-captionbar-font-size:var(--ibiz-font-size-header-5);--ibiz-control-captionbar-sub-main-font-size:var(--ibiz-font-size-header-6);--ibiz-control-captionbar-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-captionbar-line-height:1.625rem;--ibiz-control-captionbar-text-align:center;--ibiz-control-captionbar-min-height:var(--ibiz-spacing-super-loose);--ibiz-control-captionbar-sub-caption-font-size:var(--ibiz-font-size-regular);--ibiz-control-captionbar-sub-caption-color:var(--ibiz-color-text-2);--ibiz-control-captionbar-padding:var(--ibiz-spacing-tight) 0;position:relative;display:flex;flex-direction:column;align-items:center;height:100%;min-height:var(--ibiz-control-captionbar-min-height);padding:var(--ibiz-control-captionbar-padding)}.ibiz-control-captionbar.is-hasSub .ibiz-control-captionbar-caption{font-size:var(--ibiz-control-captionbar-sub-main-font-size)}.ibiz-control-captionbar .ibiz-control-captionbar-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;width:100%;height:100%;font-size:var(--ibiz-control-captionbar-font-size);font-weight:var(--ibiz-control-captionbar-font-weight);line-height:var(--ibiz-control-captionbar-line-height);color:var(--ibiz-control-captionbar-color);text-align:var(--ibiz-control-captionbar-text-align)}.ibiz-control-captionbar .ibiz-control-captionbar-sub-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--ibiz-control-captionbar-sub-caption-font-size);color:var(--ibiz-control-captionbar-sub-caption-color);text-align:var(--ibiz-control-captionbar-text-align)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-portlet-layout{--ibiz-portlet-layout-bg-color:
|
|
1
|
+
.ibiz-portlet-layout{--ibiz-portlet-layout-bg-color:transparent;--ibiz-portlet-layout-header-height:2.5rem;--ibiz-portlet-layout-header-padding:1rem;--ibiz-portlet-layout-header-margin:0;--ibiz-portlet-layout-header-bg-color:transparent;--ibiz-portlet-layout-header-border-bottom:0.0625rem solid var(--ibiz-color-border);--ibiz-portlet-layout-caption-max-width:18.75rem;--ibiz-portlet-layout-caption-font-weight:600;--ibiz-portlet-layout-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-portlet-layout-caption-color:var(--ibiz-color-text-1);--ibiz-portlet-layout-content-bg-color:transparent;--ibiz-portlet-layout-content-padding:0;--ibiz-portlet-layout-content-margin:0;--ibiz-portlet-layout-border-radius:var(--ibiz-border-radius-medium);width:100%;height:100%;background-color:var(--ibiz-portlet-layout-bg-color);border-radius:var(--ibiz-portlet-layout-border-radius)}.ibiz-portlet-layout__caption{max-width:var(--ibiz-portlet-layout-caption-max-width)}.ibiz-portlet-layout__caption-text{font-size:var(--ibiz-portlet-layout-caption-font-size);font-weight:var(--ibiz-portlet-layout-caption-font-weight);color:var(--ibiz-portlet-layout-caption-color)}.ibiz-portlet-layout.is-no-header>.ibiz-portlet-layout-content{height:100%}.ibiz-portlet-layout-header{display:flex;justify-content:space-between;height:var(--ibiz-portlet-layout-header-height);padding-left:var(--ibiz-portlet-layout-header-padding);margin:var(--ibiz-portlet-layout-header-margin);line-height:var(--ibiz-portlet-layout-header-height);background-color:var(--ibiz-portlet-layout-header-bg-color)}.ibiz-portlet-layout-content{height:calc(100% - var(--ibiz-portlet-layout-header-height));padding:var(--ibiz-portlet-layout-content-padding);margin:var(--ibiz-portlet-layout-content-margin);background-color:var(--ibiz-portlet-layout-content-bg-color)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-dataview-item{padding:var(--ibiz-control-dataview-padding)
|
|
1
|
+
.ibiz-control-dataview-item{padding:var(--ibiz-control-dataview-padding)}.ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-padding:0.625rem;--ibiz-control-dataview-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);--ibiz-control-dataview-card-margin:var(--ibiz-spacing-base-tight);height:100%;--van-card-thumb-size:auto}.ibiz-control-dataview .van-list{display:flex;flex-direction:column;height:100%;margin:var(--ibiz-control-dataview-margin)}.ibiz-control-dataview .van-list .van-cell{padding:var(--ibiz-control-dataview-padding)}.ibiz-control-dataview .van-card:not(:first-child){margin-top:var(--ibiz-control-dataview-card-margin)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EditFormController } from '@ibiz-template/runtime';
|
|
1
|
+
import { EditFormController, IControlProvider } from '@ibiz-template/runtime';
|
|
2
2
|
import { IDEEditForm } from '@ibiz/model-core';
|
|
3
3
|
import { PropType } from 'vue';
|
|
4
4
|
export declare const EditFormControl: import("vue").DefineComponent<{
|
|
@@ -14,6 +14,9 @@ export declare const EditFormControl: import("vue").DefineComponent<{
|
|
|
14
14
|
type: PropType<IParams>;
|
|
15
15
|
default: () => {};
|
|
16
16
|
};
|
|
17
|
+
provider: {
|
|
18
|
+
type: PropType<IControlProvider>;
|
|
19
|
+
};
|
|
17
20
|
isSimple: {
|
|
18
21
|
type: BooleanConstructor;
|
|
19
22
|
required: false;
|
|
@@ -22,6 +25,10 @@ export declare const EditFormControl: import("vue").DefineComponent<{
|
|
|
22
25
|
type: PropType<IData>;
|
|
23
26
|
required: false;
|
|
24
27
|
};
|
|
28
|
+
loadDefault: {
|
|
29
|
+
type: BooleanConstructor;
|
|
30
|
+
default: boolean;
|
|
31
|
+
};
|
|
25
32
|
}, {
|
|
26
33
|
c: EditFormController;
|
|
27
34
|
ns: import("@ibiz-template/core").Namespace;
|
|
@@ -38,6 +45,9 @@ export declare const EditFormControl: import("vue").DefineComponent<{
|
|
|
38
45
|
type: PropType<IParams>;
|
|
39
46
|
default: () => {};
|
|
40
47
|
};
|
|
48
|
+
provider: {
|
|
49
|
+
type: PropType<IControlProvider>;
|
|
50
|
+
};
|
|
41
51
|
isSimple: {
|
|
42
52
|
type: BooleanConstructor;
|
|
43
53
|
required: false;
|
|
@@ -46,7 +56,12 @@ export declare const EditFormControl: import("vue").DefineComponent<{
|
|
|
46
56
|
type: PropType<IData>;
|
|
47
57
|
required: false;
|
|
48
58
|
};
|
|
59
|
+
loadDefault: {
|
|
60
|
+
type: BooleanConstructor;
|
|
61
|
+
default: boolean;
|
|
62
|
+
};
|
|
49
63
|
}>>, {
|
|
50
64
|
params: IParams;
|
|
51
65
|
isSimple: boolean;
|
|
66
|
+
loadDefault: boolean;
|
|
52
67
|
}, {}>;
|
|
@@ -18,6 +18,9 @@ const EditFormControl = /* @__PURE__ */ defineComponent({
|
|
|
18
18
|
type: Object,
|
|
19
19
|
default: () => ({})
|
|
20
20
|
},
|
|
21
|
+
provider: {
|
|
22
|
+
type: Object
|
|
23
|
+
},
|
|
21
24
|
isSimple: {
|
|
22
25
|
type: Boolean,
|
|
23
26
|
required: false
|
|
@@ -25,17 +28,32 @@ const EditFormControl = /* @__PURE__ */ defineComponent({
|
|
|
25
28
|
data: {
|
|
26
29
|
type: Object,
|
|
27
30
|
required: false
|
|
31
|
+
},
|
|
32
|
+
loadDefault: {
|
|
33
|
+
type: Boolean,
|
|
34
|
+
default: true
|
|
28
35
|
}
|
|
29
36
|
},
|
|
30
|
-
setup() {
|
|
31
|
-
const c = useControlController((...args) => new EditFormController(...args)
|
|
32
|
-
|
|
33
|
-
if (newVal && newVal !== oldVal) {
|
|
34
|
-
c.state.isLoaded = true;
|
|
35
|
-
}
|
|
36
|
-
}, {
|
|
37
|
-
immediate: true
|
|
37
|
+
setup(props) {
|
|
38
|
+
const c = useControlController((...args) => new EditFormController(...args), {
|
|
39
|
+
excludePropsKeys: ["data"]
|
|
38
40
|
});
|
|
41
|
+
if (props.isSimple) {
|
|
42
|
+
c.evt.on("onMounted", () => {
|
|
43
|
+
c.setSimpleData(props.data || {});
|
|
44
|
+
});
|
|
45
|
+
watch(() => props.data, (newVal) => {
|
|
46
|
+
const changeVal = newVal || {};
|
|
47
|
+
const find = Object.keys(c.data).find((key) => {
|
|
48
|
+
return changeVal[key] !== c.data[key];
|
|
49
|
+
});
|
|
50
|
+
if (find) {
|
|
51
|
+
c.setSimpleData(changeVal);
|
|
52
|
+
}
|
|
53
|
+
}, {
|
|
54
|
+
deep: true
|
|
55
|
+
});
|
|
56
|
+
}
|
|
39
57
|
const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
|
|
40
58
|
c.evt.on("onCreated", () => {
|
|
41
59
|
const keys = Object.keys(c.details);
|
|
@@ -11,6 +11,9 @@ export declare const IBizEditFormControl: import("@ibiz-template/vue3-util").Typ
|
|
|
11
11
|
type: import("vue").PropType<IParams>;
|
|
12
12
|
default: () => {};
|
|
13
13
|
};
|
|
14
|
+
provider: {
|
|
15
|
+
type: import("vue").PropType<import("@ibiz-template/runtime").IControlProvider>;
|
|
16
|
+
};
|
|
14
17
|
isSimple: {
|
|
15
18
|
type: BooleanConstructor;
|
|
16
19
|
required: false;
|
|
@@ -19,6 +22,10 @@ export declare const IBizEditFormControl: import("@ibiz-template/vue3-util").Typ
|
|
|
19
22
|
type: import("vue").PropType<IData>;
|
|
20
23
|
required: false;
|
|
21
24
|
};
|
|
25
|
+
loadDefault: {
|
|
26
|
+
type: BooleanConstructor;
|
|
27
|
+
default: boolean;
|
|
28
|
+
};
|
|
22
29
|
}, {
|
|
23
30
|
c: import("@ibiz-template/runtime").EditFormController;
|
|
24
31
|
ns: import("@ibiz-template/core").Namespace;
|
|
@@ -35,6 +42,9 @@ export declare const IBizEditFormControl: import("@ibiz-template/vue3-util").Typ
|
|
|
35
42
|
type: import("vue").PropType<IParams>;
|
|
36
43
|
default: () => {};
|
|
37
44
|
};
|
|
45
|
+
provider: {
|
|
46
|
+
type: import("vue").PropType<import("@ibiz-template/runtime").IControlProvider>;
|
|
47
|
+
};
|
|
38
48
|
isSimple: {
|
|
39
49
|
type: BooleanConstructor;
|
|
40
50
|
required: false;
|
|
@@ -43,8 +53,13 @@ export declare const IBizEditFormControl: import("@ibiz-template/vue3-util").Typ
|
|
|
43
53
|
type: import("vue").PropType<IData>;
|
|
44
54
|
required: false;
|
|
45
55
|
};
|
|
56
|
+
loadDefault: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: boolean;
|
|
59
|
+
};
|
|
46
60
|
}>>, {
|
|
47
61
|
params: IParams;
|
|
48
62
|
isSimple: boolean;
|
|
63
|
+
loadDefault: boolean;
|
|
49
64
|
}, {}>>;
|
|
50
65
|
export default IBizEditFormControl;
|
|
@@ -13,11 +13,7 @@ export declare const FormControl: import("vue").DefineComponent<{
|
|
|
13
13
|
FormDetail: {
|
|
14
14
|
(_props: {
|
|
15
15
|
modelData: IDEFormDetail | IDEFormDetail[];
|
|
16
|
-
}): (VNode
|
|
17
|
-
[key: string]: any;
|
|
18
|
-
}> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
|
-
[key: string]: any;
|
|
20
|
-
}>[] | undefined)[];
|
|
16
|
+
}): (VNode | VNode[] | undefined)[];
|
|
21
17
|
props: string[];
|
|
22
18
|
};
|
|
23
19
|
slotProps: IData;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { renderSlot, createTextVNode, createVNode, resolveComponent, h, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, renderSlot, createTextVNode, createVNode, resolveComponent, h, defineComponent } from 'vue';
|
|
2
2
|
import { findChildFormDetails } from '@ibiz-template/runtime';
|
|
3
3
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
4
4
|
import './form.css';
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
|
+
function _isSlot(s) {
|
|
8
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
9
|
+
}
|
|
7
10
|
const FormControl = /* @__PURE__ */ defineComponent({
|
|
8
11
|
name: "IBizFormControl",
|
|
9
12
|
props: {
|
|
@@ -77,23 +80,44 @@ const FormControl = /* @__PURE__ */ defineComponent({
|
|
|
77
80
|
};
|
|
78
81
|
},
|
|
79
82
|
render() {
|
|
83
|
+
const {
|
|
84
|
+
state,
|
|
85
|
+
model,
|
|
86
|
+
controlPanel
|
|
87
|
+
} = this.c;
|
|
88
|
+
const {
|
|
89
|
+
isCreated
|
|
90
|
+
} = state;
|
|
91
|
+
const slots = {};
|
|
92
|
+
if (isCreated) {
|
|
93
|
+
if (this.$slots.default) {
|
|
94
|
+
slots.default = () => {
|
|
95
|
+
return this.$slots.default({
|
|
96
|
+
...this.slotProps
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
} else {
|
|
100
|
+
const key = controlPanel ? model.name : "default";
|
|
101
|
+
slots[key] = () => {
|
|
102
|
+
return createVNode(resolveComponent("iBizFormPage"), {
|
|
103
|
+
"modelData": this.c.model,
|
|
104
|
+
"controller": this.c
|
|
105
|
+
}, {
|
|
106
|
+
default: () => {
|
|
107
|
+
var _a;
|
|
108
|
+
return [(_a = this.c.model.deformPages) == null ? void 0 : _a.map((page) => {
|
|
109
|
+
return this.renderByDetailType(page);
|
|
110
|
+
})];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
80
116
|
return createVNode(resolveComponent("iBizControlBase"), {
|
|
81
117
|
"class": [this.ns.b()],
|
|
82
118
|
"controller": this.c
|
|
83
|
-
}, {
|
|
84
|
-
default: () => [
|
|
85
|
-
...this.slotProps
|
|
86
|
-
}) : createVNode(resolveComponent("iBizFormPage"), {
|
|
87
|
-
"modelData": this.c.model,
|
|
88
|
-
"controller": this.c
|
|
89
|
-
}, {
|
|
90
|
-
default: () => {
|
|
91
|
-
var _a;
|
|
92
|
-
return [(_a = this.c.model.deformPages) == null ? void 0 : _a.map((page) => {
|
|
93
|
-
return this.renderByDetailType(page);
|
|
94
|
-
})];
|
|
95
|
-
}
|
|
96
|
-
}), this.$slots.searchFooter && this.$slots.searchFooter({})]]
|
|
119
|
+
}, _isSlot(slots) ? slots : {
|
|
120
|
+
default: () => [slots]
|
|
97
121
|
});
|
|
98
122
|
}
|
|
99
123
|
});
|
|
@@ -9,6 +9,7 @@ import { IBizFormDRUIPart } from '../form-detail/form-druipart/index.mjs';
|
|
|
9
9
|
import { IBizFormRawItem } from '../form-detail/form-rawitem/index.mjs';
|
|
10
10
|
import { IBizFormTabPanel } from '../form-detail/form-tab-panel/index.mjs';
|
|
11
11
|
import { IBizFormTabPage } from '../form-detail/form-tab-page/index.mjs';
|
|
12
|
+
import { IBizFormMDCtrl } from '../form-detail/form-mdctrl/index.mjs';
|
|
12
13
|
|
|
13
14
|
"use strict";
|
|
14
15
|
const IBizFormControl = withInstall(FormControl, function(v) {
|
|
@@ -21,6 +22,7 @@ const IBizFormControl = withInstall(FormControl, function(v) {
|
|
|
21
22
|
v.use(IBizFormRawItem);
|
|
22
23
|
v.use(IBizFormTabPanel);
|
|
23
24
|
v.use(IBizFormTabPage);
|
|
25
|
+
v.use(IBizFormMDCtrl);
|
|
24
26
|
});
|
|
25
27
|
|
|
26
28
|
export { IBizFormControl, IBizFormControl as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-button{width:100%;height:100%}
|
|
1
|
+
.ibiz-form-button{--ibiz-form-button-icon-margin:var(--ibiz-spacing-extra-tight);--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);width:100%;height:100%;padding:var(--ibiz-spacing-tight);overflow:hidden}.ibiz-form-button .van-button{width:100%;height:100%}.ibiz-form-button .van-button .ibiz-form-button-content{display:flex;align-items:center;justify-content:flex-start}.ibiz-form-button .van-button .ibiz-form-button-content i,.ibiz-form-button .van-button .ibiz-form-button-content img{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height)}.ibiz-form-button .van-button .ibiz-form-button-content .ibiz-icon+.ibiz-form-button-content--caption{margin-left:var(--ibiz-form-button-icon-margin)}.ibiz-form-button.is-loading .van-button .ibiz-icon{display:none}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-group{--ibiz-form-group-bg-color:transparent;--ibiz-form-group-footer-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-form-group-show-more-color:var(--ibiz-color-primary);--ibiz-form-group-header-bg-color:
|
|
1
|
+
.ibiz-form-group{--ibiz-form-group-bg-color:transparent;--ibiz-form-group-footer-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-form-group-show-more-color:var(--ibiz-color-primary);--ibiz-form-group-header-bg-color:transparent;--ibiz-form-group-header-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-form-group-header-border-color:var(--ibiz-color-border);--ibiz-form-group-caption-text-color:var(--ibiz-color-text-2);--ibiz-form-group-caption-font-size:var(--ibiz-font-size-header-6);--ibiz-form-group-caption-font-weight:var(--ibiz-font-weight-regular);--ibiz-form-group-content-bg-color:transparent;--ibiz-form-group-content-padding:var(--ibiz-spacing-tight);--ibiz-form-group-content-margin:0}.ibiz-form-group{width:100%;height:100%;overflow:hidden;background-color:var(--ibiz-form-group-bg-color);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-group__caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-form-group-caption-font-size);font-weight:var(--ibiz-form-group-caption-font-weight);color:var(--ibiz-form-group-caption-text-color)}.ibiz-form-group__toolbar{text-align:right}.ibiz-form-group .ibiz-form-item-container{border-radius:0}.ibiz-form-group-collapse>.ibiz-form-group-content{display:block}.ibiz-form-group-collapse.is-collapse>.ibiz-form-group-content{display:none}.ibiz-form-group-header{display:flex;align-items:center;padding:var(--ibiz-form-group-header-padding);background-color:var(--ibiz-form-group-header-bg-color)}.ibiz-form-group-header__left,.ibiz-form-group-header__right{display:inline-block;width:50%}.ibiz-form-group-header__right{display:flex;align-items:center;justify-content:end;height:100%}.ibiz-form-group-header__right .van-button{height:100%;color:var(--ibiz-color-link);border:none}.ibiz-form-group--show-header>.ibiz-form-group-content{margin-bottom:var(--ibiz-form-group-content-margin);background-color:var(--ibiz-form-group-content-bg-color)}.ibiz-form-group-footer{padding:var(--ibiz-form-group-footer-padding)}.ibiz-form-group-footer__show-more-button{display:inline-block;color:var(--ibiz-form-group-show-more-color)}
|
|
@@ -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-
|
|
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-5);--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);line-height:var(--ibiz-form-item-label-line-height);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)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-form-item{--ibiz-form-item-label-color:var(--ibiz-color-text-0);--ibiz-form-item-text-color:var(--ibiz-color-text-0);--ibiz-form-item-bg-color:var(--ibiz-color-fill-0);--ibiz-form-item-hover-color:var(--ibiz-color-text-0);--ibiz-form-item-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-form-item-readonly-color:var(--ibiz-color-text-2);--ibiz-form-item-border-color:transparent;--ibiz-form-item-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-error-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-error-color:var(--ibiz-color-danger);--ibiz-form-item-placeholder-color:var(--ibiz-color-text-3);--ibiz-form-item-disabled-color:var(--ibiz-color-text-3);--ibiz-form-item-disabled-bg-color:transparent;--ibiz-form-item-disabled-border-color:var(--ibiz-color-disabled-border);--ibiz-form-item-active-bg:var(--ibiz-color-fill-2);--ibiz-form-item-active-border:var(--ibiz-active-bg);--ibiz-form-item-focus-bg:var(--ibiz-color-fill-0);--ibiz-form-item-focus-border:var(--ibiz-color-focus-border);--ibiz-form-item-line-height:
|
|
1
|
+
.ibiz-form-item{--ibiz-form-item-label-color:var(--ibiz-color-text-0);--ibiz-form-item-text-color:var(--ibiz-color-text-0);--ibiz-form-item-bg-color:var(--ibiz-color-fill-0);--ibiz-form-item-hover-color:var(--ibiz-color-text-0);--ibiz-form-item-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-form-item-readonly-color:var(--ibiz-color-text-2);--ibiz-form-item-border-color:transparent;--ibiz-form-item-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-error-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-error-color:var(--ibiz-color-danger);--ibiz-form-item-placeholder-color:var(--ibiz-color-text-3);--ibiz-form-item-disabled-color:var(--ibiz-color-text-3);--ibiz-form-item-disabled-bg-color:transparent;--ibiz-form-item-disabled-border-color:var(--ibiz-color-disabled-border);--ibiz-form-item-active-bg:var(--ibiz-color-fill-2);--ibiz-form-item-active-border:var(--ibiz-active-bg);--ibiz-form-item-focus-bg:var(--ibiz-color-fill-0);--ibiz-form-item-focus-border:var(--ibiz-color-focus-border);--ibiz-form-item-line-height:1.25rem;--ibiz-form-item-caption-color:var(--ibiz-form-item-text-color);--ibiz-form-item-caption-font-size:var(--ibiz-form-item-font-size);--ibiz-editor-default-line-height:1.25rem}.ibiz-form-item .van-field{height:100%}.ibiz-form-item .van-field__body{height:100%}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-form-mdctrl-form-item{display:flex}.ibiz-form-mdctrl-form-item__form{flex-grow:1}.ibiz-form-mdctrl-form-item-actions{flex-shrink:0;width:80px;text-align:center}.ibiz-form-mdctrl-form-item-actions .el-button+.el-button{margin-left:0}.ibiz-form-mdctrl-form-item-actions__btn{margin-top:var(--ibiz-spacing-tight)}.ibiz-form-mdctrl-form-no-data{width:100%;display:flex;justify-content:flex-end}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventBase, FormMDCtrlFormController } from '@ibiz-template/runtime';
|
|
2
|
+
import './form-mdctrl-form.scss';
|
|
3
|
+
export declare const FormMDCtrlForm: import("vue").DefineComponent<{
|
|
4
|
+
controller: {
|
|
5
|
+
type: typeof FormMDCtrlFormController;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
}, {
|
|
9
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
10
|
+
showActions: import("vue").ComputedRef<boolean>;
|
|
11
|
+
onCreated: (id: string, event: EventBase) => void;
|
|
12
|
+
renderAddBtn: () => JSX.Element;
|
|
13
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
14
|
+
controller: {
|
|
15
|
+
type: typeof FormMDCtrlFormController;
|
|
16
|
+
required: true;
|
|
17
|
+
};
|
|
18
|
+
}>>, {}, {}>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { computed, resolveComponent, createTextVNode, createVNode, h, defineComponent } from 'vue';
|
|
2
|
+
import { FormMDCtrlFormController } from '@ibiz-template/runtime';
|
|
3
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
4
|
+
import './form-mdctrl-form.css';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
const FormMDCtrlForm = /* @__PURE__ */ defineComponent({
|
|
8
|
+
name: "IBizFormMDCtrlForm",
|
|
9
|
+
props: {
|
|
10
|
+
controller: {
|
|
11
|
+
type: FormMDCtrlFormController,
|
|
12
|
+
required: true
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
setup(props) {
|
|
16
|
+
const ns = useNamespace("form-mdctrl-form");
|
|
17
|
+
const showActions = computed(() => {
|
|
18
|
+
return props.controller.enableCreate || props.controller.enableDelete;
|
|
19
|
+
});
|
|
20
|
+
const renderAddBtn = () => {
|
|
21
|
+
return createVNode(resolveComponent("van-button"), {
|
|
22
|
+
"class": [ns.be("item-actions", "create"), ns.be("item-actions", "btn")],
|
|
23
|
+
"onClick": () => props.controller.create()
|
|
24
|
+
}, {
|
|
25
|
+
default: () => [createTextVNode("\u6DFB\u52A0")]
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const onCreated = (id, event) => {
|
|
29
|
+
props.controller.setFormController(id, event.ctrl);
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
ns,
|
|
33
|
+
showActions,
|
|
34
|
+
onCreated,
|
|
35
|
+
renderAddBtn
|
|
36
|
+
};
|
|
37
|
+
},
|
|
38
|
+
render() {
|
|
39
|
+
const {
|
|
40
|
+
state,
|
|
41
|
+
formProvider,
|
|
42
|
+
model
|
|
43
|
+
} = this.controller;
|
|
44
|
+
return createVNode(resolveComponent("iBizMDCtrlContainer"), {
|
|
45
|
+
"class": this.ns.b(),
|
|
46
|
+
"items": state.items || [],
|
|
47
|
+
"enableCreate": this.controller.enableCreate,
|
|
48
|
+
"enableDelete": this.controller.enableDelete,
|
|
49
|
+
"onAddClick": () => this.controller.create(),
|
|
50
|
+
"onRemoveClick": (item) => this.controller.remove(item.id)
|
|
51
|
+
}, {
|
|
52
|
+
item: ({
|
|
53
|
+
data
|
|
54
|
+
}) => {
|
|
55
|
+
if (!formProvider) {
|
|
56
|
+
return createVNode("div", null, [createTextVNode("\u672A\u627E\u5230\u8868\u5355\u7684\u9002\u914D\u5668")]);
|
|
57
|
+
}
|
|
58
|
+
const formComponent = h(resolveComponent(formProvider.component), {
|
|
59
|
+
class: this.ns.be("item", "form"),
|
|
60
|
+
modelData: model.contentControl,
|
|
61
|
+
context: data.context,
|
|
62
|
+
params: data.params,
|
|
63
|
+
onCreated: (event) => {
|
|
64
|
+
this.onCreated(data.id, event);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return formComponent;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export { FormMDCtrlForm };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-form-mdctrl-md-content{flex-grow:1}.ibiz-form-mdctrl-md-actions{flex-shrink:0;text-align:center}.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);margin:0 var(--ibiz-spacing-base)}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EventBase, FormMDCtrlMDController } from '@ibiz-template/runtime';
|
|
2
|
+
import './form-mdctrl-md.scss';
|
|
3
|
+
export declare const FormMDCtrlMD: import("vue").DefineComponent<{
|
|
4
|
+
controller: {
|
|
5
|
+
type: typeof FormMDCtrlMDController;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
}, {
|
|
9
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
10
|
+
showActions: import("vue").ComputedRef<boolean>;
|
|
11
|
+
isSelected: import("vue").Ref<boolean>;
|
|
12
|
+
onCreated: (event: EventBase) => void;
|
|
13
|
+
onSelectionChange: (event: EventBase) => void;
|
|
14
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
15
|
+
controller: {
|
|
16
|
+
type: typeof FormMDCtrlMDController;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
}>>, {}, {}>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { computed, ref, resolveComponent, h, createTextVNode, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { FormMDCtrlMDController } from '@ibiz-template/runtime';
|
|
3
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
4
|
+
import './form-mdctrl-md.css';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
const FormMDCtrlMD = /* @__PURE__ */ defineComponent({
|
|
8
|
+
name: "IBizFormMDCtrlMD",
|
|
9
|
+
props: {
|
|
10
|
+
controller: {
|
|
11
|
+
type: FormMDCtrlMDController,
|
|
12
|
+
required: true
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
setup(props) {
|
|
16
|
+
const ns = useNamespace("form-mdctrl-md");
|
|
17
|
+
const showActions = computed(() => {
|
|
18
|
+
return props.controller.enableCreate || props.controller.enableDelete;
|
|
19
|
+
});
|
|
20
|
+
const onCreated = (event) => {
|
|
21
|
+
props.controller.setMDControl(event.ctrl);
|
|
22
|
+
};
|
|
23
|
+
const isSelected = ref(false);
|
|
24
|
+
const onSelectionChange = (event) => {
|
|
25
|
+
isSelected.value = event.data.length > 0;
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
ns,
|
|
29
|
+
showActions,
|
|
30
|
+
isSelected,
|
|
31
|
+
onCreated,
|
|
32
|
+
onSelectionChange
|
|
33
|
+
};
|
|
34
|
+
},
|
|
35
|
+
render() {
|
|
36
|
+
const {
|
|
37
|
+
mdProvider,
|
|
38
|
+
model
|
|
39
|
+
} = this.controller;
|
|
40
|
+
const isLoaded = this.controller.form.state.isLoaded;
|
|
41
|
+
let controlComponent = null;
|
|
42
|
+
if (isLoaded) {
|
|
43
|
+
const controlProps = {
|
|
44
|
+
class: this.ns.b("content"),
|
|
45
|
+
modelData: model.contentControl,
|
|
46
|
+
context: this.controller.form.context,
|
|
47
|
+
params: this.controller.form.params,
|
|
48
|
+
onCreated: this.onCreated,
|
|
49
|
+
onSelectionChange: this.onSelectionChange
|
|
50
|
+
};
|
|
51
|
+
if (model.contentType === "GRID") {
|
|
52
|
+
controlProps.rowEditOpen = true;
|
|
53
|
+
}
|
|
54
|
+
controlComponent = h(resolveComponent(mdProvider.component), controlProps);
|
|
55
|
+
}
|
|
56
|
+
return createVNode("div", {
|
|
57
|
+
"class": this.ns.b()
|
|
58
|
+
}, [this.controller.enableCreate && createVNode(resolveComponent("van-button"), {
|
|
59
|
+
"class": [this.ns.be("actions", "create"), this.ns.be("actions", "btn")],
|
|
60
|
+
"size": "small",
|
|
61
|
+
"type": "primary",
|
|
62
|
+
"onClick": () => this.controller.create()
|
|
63
|
+
}, {
|
|
64
|
+
default: () => [createTextVNode("\u6DFB\u52A0")]
|
|
65
|
+
}), controlComponent, this.showActions && createVNode("div", {
|
|
66
|
+
"class": this.ns.b("actions")
|
|
67
|
+
}, [this.controller.enableDelete && createVNode(resolveComponent("van-button"), {
|
|
68
|
+
"type": "danger",
|
|
69
|
+
"size": "small",
|
|
70
|
+
"disabled": !this.isSelected,
|
|
71
|
+
"class": [this.ns.be("actions", "remove"), this.ns.be("actions", "btn")],
|
|
72
|
+
"onClick": () => this.controller.remove()
|
|
73
|
+
}, {
|
|
74
|
+
default: () => [createTextVNode("\u5220\u9664")]
|
|
75
|
+
})])]);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
export { FormMDCtrlMD };
|
package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FormMDCtrlRepeaterController } from '@ibiz-template/runtime';
|
|
2
|
+
export declare const FormMDCtrlRepeater: import("vue").DefineComponent<{
|
|
3
|
+
controller: {
|
|
4
|
+
type: typeof FormMDCtrlRepeaterController;
|
|
5
|
+
required: true;
|
|
6
|
+
};
|
|
7
|
+
}, {
|
|
8
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
9
|
+
onDataChange: (data: IData | IData[] | null) => void;
|
|
10
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
controller: {
|
|
12
|
+
type: typeof FormMDCtrlRepeaterController;
|
|
13
|
+
required: true;
|
|
14
|
+
};
|
|
15
|
+
}>>, {}, {}>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createTextVNode, createVNode, defineComponent } from 'vue';
|
|
2
|
+
import { FormMDCtrlRepeaterController } from '@ibiz-template/runtime';
|
|
3
|
+
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
4
|
+
import { RepeaterSingleForm } from './repeater-single-form/repeater-single-form.mjs';
|
|
5
|
+
import { RepeaterMultiForm } from './repeater-multi-form/repeater-multi-form.mjs';
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
const FormMDCtrlRepeater = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "IBizFormMDCtrlRepeater",
|
|
10
|
+
props: {
|
|
11
|
+
controller: {
|
|
12
|
+
type: FormMDCtrlRepeaterController,
|
|
13
|
+
required: true
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
setup(props) {
|
|
17
|
+
const ns = useNamespace("form-mdctrl-repeater");
|
|
18
|
+
const onDataChange = (data) => {
|
|
19
|
+
props.controller.setValue(data);
|
|
20
|
+
};
|
|
21
|
+
return {
|
|
22
|
+
ns,
|
|
23
|
+
onDataChange
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
render() {
|
|
27
|
+
const classNames = [this.ns.b()];
|
|
28
|
+
switch (this.controller.repeaterStyle) {
|
|
29
|
+
case "MultiForm":
|
|
30
|
+
return createVNode(RepeaterMultiForm, {
|
|
31
|
+
"class": classNames,
|
|
32
|
+
"onChange": this.onDataChange,
|
|
33
|
+
"controller": this.controller
|
|
34
|
+
}, null);
|
|
35
|
+
case "SingleForm":
|
|
36
|
+
return createVNode(RepeaterSingleForm, {
|
|
37
|
+
"class": classNames,
|
|
38
|
+
"data": this.controller.value,
|
|
39
|
+
"controller": this.controller,
|
|
40
|
+
"onChange": this.onDataChange
|
|
41
|
+
}, null);
|
|
42
|
+
default:
|
|
43
|
+
return createVNode("div", {
|
|
44
|
+
"class": classNames
|
|
45
|
+
}, [createTextVNode("\u6682\u672A\u652F\u6301\u91CD\u590D\u5668\u6837\u5F0F"), this.controller.repeaterStyle]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
export { FormMDCtrlRepeater };
|