@ibiz-template/mob-vue3-components 0.0.1 → 0.0.2

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