@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
@@ -0,0 +1,100 @@
1
+ import { isVNode, resolveComponent, createVNode, createTextVNode } from 'vue';
2
+
3
+ "use strict";
4
+ function _isSlot(s) {
5
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
6
+ }
7
+ function useListRender(props, c, ns) {
8
+ const isSelect = (row) => {
9
+ const findIndex = c.state.selectedData.findIndex((data) => {
10
+ return data.srfkey === row.srfkey;
11
+ });
12
+ return findIndex !== -1;
13
+ };
14
+ const calcItemClass = (row) => {
15
+ const select = isSelect(row);
16
+ const itemClass = [ns.b("item"), ns.is("active", select)];
17
+ return itemClass;
18
+ };
19
+ const renderRightSlot = (row) => {
20
+ const select = isSelect(row);
21
+ return createVNode(resolveComponent("van-radio"), {
22
+ "class": ns.bm("item", "right"),
23
+ "checked": select
24
+ }, null);
25
+ };
26
+ const renderIcon = (row) => {
27
+ return createVNode("img", {
28
+ "class": ns.b("image"),
29
+ "src": row.image,
30
+ "alt": ""
31
+ }, null);
32
+ };
33
+ const renderItemContent = (row) => {
34
+ const itemClass = calcItemClass(row);
35
+ const slotOption = {};
36
+ if (Object.prototype.hasOwnProperty.call(row, "image")) {
37
+ Object.assign(slotOption, {
38
+ icon: renderIcon(row)
39
+ });
40
+ }
41
+ if (props.mode === "SELECT") {
42
+ Object.assign(slotOption, {
43
+ "right-icon": renderRightSlot(row)
44
+ });
45
+ }
46
+ return createVNode(resolveComponent("van-cell"), {
47
+ "class": itemClass,
48
+ "is-link": true,
49
+ "title": row.srfmajortext || "",
50
+ "onClick": () => c.onRowClick(row)
51
+ }, _isSlot(slotOption) ? slotOption : {
52
+ default: () => [slotOption]
53
+ });
54
+ };
55
+ const renderPanelItem = (item, modelData) => {
56
+ const {
57
+ context,
58
+ params
59
+ } = c;
60
+ return createVNode(resolveComponent("iBizControlShell"), {
61
+ "data": item,
62
+ "modelData": modelData,
63
+ "context": context,
64
+ "params": params,
65
+ "onClick": () => c.onRowClick(item)
66
+ }, null);
67
+ };
68
+ const renderItem = (row) => {
69
+ const panel = c.model.itemLayoutPanel;
70
+ return panel ? renderPanelItem(row, panel) : renderItemContent(row);
71
+ };
72
+ const renderNoData = () => {
73
+ const {
74
+ isLoaded
75
+ } = c.state;
76
+ if (!isLoaded) {
77
+ return;
78
+ }
79
+ return isLoaded && createVNode(resolveComponent("iBizNoData"), {
80
+ "text": c.model.emptyText,
81
+ "emptyTextLanguageRes": c.model.emptyTextLanguageRes
82
+ }, null);
83
+ };
84
+ const renderLoadMore = () => {
85
+ if (props.loadMode === "auto" || c.state.total <= c.state.items.length) {
86
+ return;
87
+ }
88
+ return createVNode("div", {
89
+ "class": ns.b("load-more"),
90
+ "onClick": () => c.loadMore()
91
+ }, [createVNode("span", null, [createTextVNode("\u52A0\u8F7D\u66F4\u591A")])]);
92
+ };
93
+ return {
94
+ renderNoData,
95
+ renderItem,
96
+ renderLoadMore
97
+ };
98
+ }
99
+
100
+ export { useListRender };
@@ -32,6 +32,10 @@ export declare const IBizMDCtrlControl: import("@ibiz-template/vue3-util").TypeW
32
32
  type: StringConstructor;
33
33
  default: string;
34
34
  };
35
+ loadDefault: {
36
+ type: BooleanConstructor;
37
+ default: boolean;
38
+ };
35
39
  }, {
36
40
  c: import("@ibiz-template/runtime").MDCtrlController;
37
41
  ns: import("@ibiz-template/core").Namespace;
@@ -72,11 +76,16 @@ export declare const IBizMDCtrlControl: import("@ibiz-template/vue3-util").TypeW
72
76
  type: StringConstructor;
73
77
  default: string;
74
78
  };
79
+ loadDefault: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
75
83
  }>>, {
76
84
  mode: string;
77
85
  params: IParams;
86
+ loadMode: string;
78
87
  mdctrlActiveMode: number;
79
88
  singleSelect: boolean;
80
- loadMode: string;
89
+ loadDefault: boolean;
81
90
  }, {}>>;
82
91
  export default IBizMDCtrlControl;
@@ -0,0 +1 @@
1
+ .ibiz-control-mobmdctrl{--ibiz-control-mobmdctrl-text-color:var(--ibiz-color-text-0);--ibiz-control-mobmdctrl-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-mobmdctrl-active-bg-color:#D1D1D5;--ibiz-control-mobmdctrl-active-color:var(--ibiz-color-bg-1);--ibiz-control-mobmdctrl-img-width:var(--ibiz-width-icon-extra-large);--ibiz-control-mobmdctrl-img-radius:var(--ibiz-border-radius-extra-small);--ibiz-control-mobmdctrl-padding:var(--ibiz-spacing-base) 0 var(--ibiz-spacing-base) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-font:var(--ibiz-font-size-regular);--ibiz-control-mobmdctrl-icon-color:#A0A5AA;--ibiz-control-mobmdctrl-group-caption-color:#9A9B9F;--ibiz-control-mobmdctrl-load-more-font-size:var(--ibiz-font-size-small);--ibiz-control-mobmdctrl-font-size:var(--ibiz-font-size-header-5);--ibiz-control-mobmdctrl-right-icon-margin-right:1.3125rem;--van-cell-font-size:var(--ibiz-control-mobmdctrl-font-size);height:100%}.ibiz-control-mobmdctrl .van-list{height:100%}.ibiz-control-mobmdctrl .van-list .van-cell{padding:var(--ibiz-control-mobmdctrl-padding)}.ibiz-control-mobmdctrl .van-cell__right-icon{margin-right:var(--ibiz-control-mobmdctrl-right-icon-margin-right);color:var(--ibiz-control-mobmdctrl-icon-color)}.ibiz-control-mobmdctrl .van-cell--clickable:active{color:inherit;background-color:var(--ibiz-control-mobmdctrl-active-bg-color)}.ibiz-control-mobmdctrl .van-cell::after{width:100%}.ibiz-control-mobmdctrl .ibiz-control-panel{height:auto}.ibiz-control-mobmdctrl-item{--ibiz-control-mobmdctrl-text-color:var(--ibiz-color-text-0);--ibiz-control-mobmdctrl-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-mobmdctrl-active-bg-color:#D1D1D5;--ibiz-control-mobmdctrl-active-color:var(--ibiz-color-bg-1);--ibiz-control-mobmdctrl-img-width:var(--ibiz-width-icon-extra-large);--ibiz-control-mobmdctrl-img-radius:var(--ibiz-border-radius-extra-small);--ibiz-control-mobmdctrl-padding:var(--ibiz-spacing-base) 0 var(--ibiz-spacing-base) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-font:var(--ibiz-font-size-regular);--ibiz-control-mobmdctrl-icon-color:#A0A5AA;--ibiz-control-mobmdctrl-group-caption-color:#9A9B9F;--ibiz-control-mobmdctrl-load-more-font-size:var(--ibiz-font-size-small);--ibiz-control-mobmdctrl-font-size:var(--ibiz-font-size-header-5);--ibiz-control-mobmdctrl-right-icon-margin-right:1.3125rem}.ibiz-control-mobmdctrl-item--right{margin-right:var(--ibiz-control-mobmdctrl-right-icon-margin-right)}.ibiz-control-mobmdctrl-image{--ibiz-control-mobmdctrl-text-color:var(--ibiz-color-text-0);--ibiz-control-mobmdctrl-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-mobmdctrl-active-bg-color:#D1D1D5;--ibiz-control-mobmdctrl-active-color:var(--ibiz-color-bg-1);--ibiz-control-mobmdctrl-img-width:var(--ibiz-width-icon-extra-large);--ibiz-control-mobmdctrl-img-radius:var(--ibiz-border-radius-extra-small);--ibiz-control-mobmdctrl-padding:var(--ibiz-spacing-base) 0 var(--ibiz-spacing-base) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-font:var(--ibiz-font-size-regular);--ibiz-control-mobmdctrl-icon-color:#A0A5AA;--ibiz-control-mobmdctrl-group-caption-color:#9A9B9F;--ibiz-control-mobmdctrl-load-more-font-size:var(--ibiz-font-size-small);--ibiz-control-mobmdctrl-font-size:var(--ibiz-font-size-header-5);--ibiz-control-mobmdctrl-right-icon-margin-right:1.3125rem;width:var(--ibiz-control-mobmdctrl-img-width);margin-right:var(--ibiz-control-mobmdctrl-padding);border-radius:var(--ibiz-control-mobmdctrl-img-radius)}.ibiz-control-mobmdctrl-group-caption{--ibiz-control-mobmdctrl-text-color:var(--ibiz-color-text-0);--ibiz-control-mobmdctrl-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-mobmdctrl-active-bg-color:#D1D1D5;--ibiz-control-mobmdctrl-active-color:var(--ibiz-color-bg-1);--ibiz-control-mobmdctrl-img-width:var(--ibiz-width-icon-extra-large);--ibiz-control-mobmdctrl-img-radius:var(--ibiz-border-radius-extra-small);--ibiz-control-mobmdctrl-padding:var(--ibiz-spacing-base) 0 var(--ibiz-spacing-base) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-mobmdctrl-group-font:var(--ibiz-font-size-regular);--ibiz-control-mobmdctrl-icon-color:#A0A5AA;--ibiz-control-mobmdctrl-group-caption-color:#9A9B9F;--ibiz-control-mobmdctrl-load-more-font-size:var(--ibiz-font-size-small);--ibiz-control-mobmdctrl-font-size:var(--ibiz-font-size-header-5);--ibiz-control-mobmdctrl-right-icon-margin-right:1.3125rem;padding:var(--ibiz-control-mobmdctrl-group-padding);font-size:var(--ibiz-control-mobmdctrl-group-font);color:var(--ibiz-control-mobmdctrl-group-caption-color)}.ibiz-control-mobmdctrl-load-more{display:flex;justify-content:center;padding:var(--ibiz-spacing-tight);font-size:var(--ibiz-control-mobmdctrl-load-more-font-size);color:var(--ibiz-color-text-2)}.ibiz-control-mobmdctrl-load-more span{padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-base);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-full)}
@@ -1,4 +1,4 @@
1
- import { PropType, VNode } from 'vue';
1
+ import { PropType } from 'vue';
2
2
  import { IDEMobMDCtrl } from '@ibiz/model-core';
3
3
  import { MDCtrlController } from '@ibiz-template/runtime';
4
4
  import './md-ctrl.scss';
@@ -50,11 +50,17 @@ export declare const MDCtrlControl: import("vue").DefineComponent<{
50
50
  type: StringConstructor;
51
51
  default: string;
52
52
  };
53
+ loadDefault: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
53
57
  }, {
54
58
  c: MDCtrlController;
55
59
  ns: import("@ibiz-template/core").Namespace;
56
60
  renderMDContent: () => JSX.Element;
57
- renderNoData: () => VNode | undefined;
61
+ renderNoData: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
62
+ [key: string]: any;
63
+ }> | undefined;
58
64
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
59
65
  modelData: {
60
66
  type: PropType<IDEMobMDCtrl>;
@@ -103,10 +109,15 @@ export declare const MDCtrlControl: import("vue").DefineComponent<{
103
109
  type: StringConstructor;
104
110
  default: string;
105
111
  };
112
+ loadDefault: {
113
+ type: BooleanConstructor;
114
+ default: boolean;
115
+ };
106
116
  }>>, {
107
117
  mode: string;
108
118
  params: IParams;
119
+ loadMode: string;
109
120
  mdctrlActiveMode: number;
110
121
  singleSelect: boolean;
111
- loadMode: string;
122
+ loadDefault: boolean;
112
123
  }, {}>;
@@ -1,12 +1,10 @@
1
- import { isVNode, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { MDCtrlController } from '@ibiz-template/runtime';
4
4
  import './md-ctrl.css';
5
+ import { useListRender } from '../list-render-util.mjs';
5
6
 
6
7
  "use strict";
7
- function _isSlot(s) {
8
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
9
- }
10
8
  const MDCtrlControl = /* @__PURE__ */ defineComponent({
11
9
  name: "IBizMDCtrlControl",
12
10
  props: {
@@ -56,84 +54,22 @@ const MDCtrlControl = /* @__PURE__ */ defineComponent({
56
54
  loadMode: {
57
55
  type: String,
58
56
  default: "auto"
57
+ },
58
+ loadDefault: {
59
+ type: Boolean,
60
+ default: true
59
61
  }
60
62
  },
61
63
  setup(props) {
62
64
  const c = useControlController((...args) => new MDCtrlController(...args));
63
65
  const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
66
+ const {
67
+ renderItem,
68
+ renderNoData,
69
+ renderLoadMore
70
+ } = useListRender(props, c, ns);
64
71
  const leftSlidingActionGroup = c.model.deuiactionGroup;
65
72
  const rightSlidingActionGroup = c.model.deuiactionGroup2;
66
- const renderPanelItem = (item, modelData) => {
67
- const {
68
- context,
69
- params
70
- } = c;
71
- return createVNode(resolveComponent("iBizControlShell"), {
72
- "data": item,
73
- "modelData": modelData,
74
- "context": context,
75
- "params": params,
76
- "onClick": () => c.onRowClick(item)
77
- }, null);
78
- };
79
- const isSelect = (row) => {
80
- const findIndex = c.state.selectedData.findIndex((data) => {
81
- return data.srfkey === row.data.srfkey;
82
- });
83
- return findIndex !== -1;
84
- };
85
- const calcItemClass = (row) => {
86
- const select = isSelect(row);
87
- const itemClass = [ns.b("item"), ns.is("active", select)];
88
- return itemClass;
89
- };
90
- const renderIcon = (row) => {
91
- return createVNode("img", {
92
- "class": ns.b("image"),
93
- "src": row.data.image,
94
- "alt": ""
95
- }, null);
96
- };
97
- const renderRightSlot = (row) => {
98
- const select = isSelect(row);
99
- return createVNode(resolveComponent("van-radio"), {
100
- "checked": select
101
- }, null);
102
- };
103
- const renderItemContent = (row) => {
104
- const itemClass = calcItemClass(row);
105
- const slotOption = {};
106
- if (Object.prototype.hasOwnProperty.call(row.data, "image")) {
107
- Object.assign(slotOption, {
108
- icon: renderIcon(row)
109
- });
110
- }
111
- if (props.mode === "SELECT") {
112
- Object.assign(slotOption, {
113
- "right-icon": renderRightSlot(row)
114
- });
115
- }
116
- return createVNode(resolveComponent("van-cell"), {
117
- "class": itemClass,
118
- "is-link": true,
119
- "title": row.data.srfmajortext || "",
120
- "onClick": () => c.onRowClick(row.data)
121
- }, _isSlot(slotOption) ? slotOption : {
122
- default: () => [slotOption]
123
- });
124
- };
125
- const renderNoData = () => {
126
- const {
127
- isLoaded
128
- } = c.state;
129
- if (!isLoaded) {
130
- return;
131
- }
132
- return isLoaded && createVNode(resolveComponent("iBizNoData"), {
133
- "text": c.model.emptyText,
134
- "emptyTextLanguageRes": c.model.emptyTextLanguageRes
135
- }, null);
136
- };
137
73
  const renderSlidingActionGroup = (group, row) => {
138
74
  const groupDetails = group.uiactionGroupDetails || [];
139
75
  if (!groupDetails || groupDetails.length === 0) {
@@ -155,7 +91,6 @@ const MDCtrlControl = /* @__PURE__ */ defineComponent({
155
91
  });
156
92
  };
157
93
  const renderDefaultItem = (row) => {
158
- const panel = props.modelData.itemLayoutPanel;
159
94
  const isItemSliding = !!(leftSlidingActionGroup || rightSlidingActionGroup);
160
95
  if (isItemSliding) {
161
96
  return createVNode(resolveComponent("van-swipe-cell"), {
@@ -164,11 +99,11 @@ const MDCtrlControl = /* @__PURE__ */ defineComponent({
164
99
  left: rightSlidingActionGroup ? () => renderSlidingActionGroup(rightSlidingActionGroup, row) : null,
165
100
  right: leftSlidingActionGroup ? () => renderSlidingActionGroup(leftSlidingActionGroup, row) : null,
166
101
  default: () => {
167
- return panel ? renderPanelItem(row.data, panel) : renderItemContent(row);
102
+ return renderItem(row.data);
168
103
  }
169
104
  });
170
105
  }
171
- return panel ? renderPanelItem(row.data, panel) : renderItemContent(row);
106
+ return renderItem(row.data);
172
107
  };
173
108
  const renderDefault = () => {
174
109
  return c.state.rows.map((item) => {
@@ -186,15 +121,6 @@ const MDCtrlControl = /* @__PURE__ */ defineComponent({
186
121
  })]);
187
122
  });
188
123
  };
189
- const renderLoadMore = () => {
190
- if (props.loadMode === "auto" || c.state.total <= c.state.rows.length) {
191
- return;
192
- }
193
- return createVNode("div", {
194
- "class": ns.b("load-more"),
195
- "onClick": () => c.loadMore()
196
- }, [createVNode("span", null, [createTextVNode("\u52A0\u8F7D\u66F4\u591A")])]);
197
- };
198
124
  const renderMDContent = () => {
199
125
  return createVNode(resolveComponent("van-list"), {
200
126
  "finished": c.state.total <= c.state.rows.length,
@@ -16,7 +16,7 @@ export declare const IBizToolbarControl: import("@ibiz-template/vue3-util").Type
16
16
  btnSize: import("vue").ComputedRef<string>;
17
17
  ns: import("@ibiz-template/core").Namespace;
18
18
  position: string;
19
- handleClick: (item: import("@ibiz/model-core").IDEToolbarItem, event: MouseEvent) => Promise<void>;
19
+ handleClick: (item: import("@ibiz/model-core").IDEToolbarItem | import("@ibiz-template/runtime").IExtraButton, event: MouseEvent) => Promise<void>;
20
20
  renderExtraButtons: (extraButtons: import("@ibiz-template/runtime").IExtraButton[]) => JSX.Element[];
21
21
  renderToolbarItem: (item: import("@ibiz/model-core").IDEToolbarItem) => JSX.Element | null;
22
22
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -20,7 +20,7 @@ export declare const ToolbarControl: import("vue").DefineComponent<{
20
20
  btnSize: import("vue").ComputedRef<string>;
21
21
  ns: import("@ibiz-template/core").Namespace;
22
22
  position: string;
23
- handleClick: (item: IDEToolbarItem, event: MouseEvent) => Promise<void>;
23
+ handleClick: (item: IDEToolbarItem | IExtraButton, event: MouseEvent) => Promise<void>;
24
24
  renderExtraButtons: (extraButtons: IExtraButton[]) => JSX.Element[];
25
25
  renderToolbarItem: (item: IDEToolbarItem) => JSX.Element | null;
26
26
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -62,6 +62,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
62
62
  if (index !== -1) {
63
63
  return items.value[index].text;
64
64
  }
65
+ return "";
65
66
  });
66
67
  const editorRef = ref();
67
68
  if (props.autoFocus) {
package/es/index.mjs CHANGED
@@ -8,13 +8,13 @@ import { IBizPanelComponents } from './panel-component/index.mjs';
8
8
  import { IBizViewEngine } from './view-engine/index.mjs';
9
9
  import './util/index.mjs';
10
10
  import './view/index.mjs';
11
- import { IBizMDCtrlControl } from './control/md-ctrl/index.mjs';
11
+ import { IBizMDCtrlControl } from './control/list/md-ctrl/index.mjs';
12
12
  import { IBizAppMenuControl } from './control/app-menu/index.mjs';
13
13
  import { IBizFormControl } from './control/form/form/index.mjs';
14
14
  import { IBizSearchFormControl } from './control/form/search-form/index.mjs';
15
15
  import { IBizEditFormControl } from './control/form/edit-form/index.mjs';
16
16
  import { IBizPickupViewPanelControl } from './control/pickup-view-panel/index.mjs';
17
- import { IBizListControl } from './control/list/index.mjs';
17
+ import { IBizListControl } from './control/list/list/index.mjs';
18
18
  import { IBizTabExpPanelControl } from './control/tab-exp-panel/index.mjs';
19
19
  import { IBizToolbarControl } from './control/toolbar/index.mjs';
20
20
  import { IBizCaptionBarControl } from './control/caption-bar/index.mjs';
@@ -36,6 +36,7 @@ export { NotificationUtil } from './util/notification-util/notification-util.mjs
36
36
  export { OpenViewUtil } from './util/open-view-util/open-view-util.mjs';
37
37
  export { OverlayController } from './util/overlay-controller/overlay-controller.mjs';
38
38
  export { loadingDirective } from './util/directive/loading.mjs';
39
+ export { ConfirmUtil } from './util/confirm-util/confirm-util.mjs';
39
40
  export { calcUniqueKey, useViewStack } from './util/store/view-stack/view-stack.mjs';
40
41
  export { View404 } from './view/404-view/404-view.mjs';
41
42
  export { LoginView } from './view/login-view/login-view.mjs';
@@ -1,4 +1,4 @@
1
- import { IBizPanelContainer, IBizPanelCtrlPos, IBizNavPos, IBizPanelField, IBizGridContainer, IBizPanelRawItem, IBizSingleDataContainer, IBizMultiDataContainer, IBizPanelContainerImage, IBizScrollContainer } from '@ibiz-template/vue3-util';
1
+ import { IBizPanelContainer, IBizPanelCtrlPos, IBizNavPos, IBizPanelField, IBizGridContainer, IBizPanelRawItem, IBizSingleDataContainer, IBizMultiDataContainer, IBizPanelTabPage, IBizPanelContainerGroup, IBizPanelContainerImage, IBizScrollContainer } from '@ibiz-template/vue3-util';
2
2
  import { IBizViewContentPanelContainer } from './view-content-panel-container/index.mjs';
3
3
  import { IBizViewHeaderPanelContainer } from './view-header-panel-container/index.mjs';
4
4
  import { IBizViewFooterPanelContainer } from './view-footer-panel-container/index.mjs';
@@ -26,7 +26,9 @@ const IBizPanelComponents = {
26
26
  v.use(IBizWFActionButton);
27
27
  v.use(IBizSingleDataContainer);
28
28
  v.use(IBizMultiDataContainer);
29
+ v.use(IBizPanelTabPage);
29
30
  v.use(IBizPanelTabPanel);
31
+ v.use(IBizPanelContainerGroup);
30
32
  v.use(IBizPanelContainerImage);
31
33
  v.use(IBizScrollContainer);
32
34
  }
@@ -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 };
@@ -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生命周期执行逻辑
@@ -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;