@ibiz-template/mob-vue3-components 0.0.5 → 0.0.7

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 (134) 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/_virtual/customParseFormat.mjs +3 -0
  5. package/es/common/index.mjs +6 -1
  6. package/es/common/preset-view-back/preset-view-back.css +1 -0
  7. package/es/common/preset-view-back/preset-view-back.d.ts +17 -0
  8. package/es/common/preset-view-back/preset-view-back.mjs +49 -0
  9. package/es/common/preset-view-header/preset-view-header.css +1 -0
  10. package/es/common/preset-view-header/preset-view-header.d.ts +20 -0
  11. package/es/common/preset-view-header/preset-view-header.mjs +47 -0
  12. package/es/control/app-menu/app-menu.css +1 -1
  13. package/es/control/app-menu/app-menu.d.ts +1 -3
  14. package/es/control/app-menu/app-menu.mjs +35 -134
  15. package/es/control/app-menu/index.d.ts +1 -3
  16. package/es/control/app-menu-icon-view/app-menu-icon-view.css +1 -0
  17. package/es/control/app-menu-icon-view/app-menu-icon-view.d.ts +38 -0
  18. package/es/control/app-menu-icon-view/app-menu-icon-view.mjs +76 -0
  19. package/es/control/app-menu-icon-view/app-menu-icon-view.provider.d.ts +13 -0
  20. package/es/control/app-menu-icon-view/app-menu-icon-view.provider.mjs +14 -0
  21. package/es/control/app-menu-icon-view/index.d.ts +35 -0
  22. package/es/control/app-menu-icon-view/index.mjs +18 -0
  23. package/es/control/app-menu-list-view/app-menu-list-view.css +1 -0
  24. package/es/control/app-menu-list-view/app-menu-list-view.d.ts +37 -0
  25. package/es/control/app-menu-list-view/app-menu-list-view.mjs +84 -0
  26. package/es/control/app-menu-list-view/app-menu-list-view.provider.d.ts +13 -0
  27. package/es/control/app-menu-list-view/app-menu-list-view.provider.mjs +14 -0
  28. package/es/control/app-menu-list-view/index.d.ts +34 -0
  29. package/es/control/app-menu-list-view/index.mjs +18 -0
  30. package/es/control/dashboard/portlet/menu-portlet/menu-portlet.mjs +1 -2
  31. package/es/control/form/form-detail/form-button/form-button.css +1 -1
  32. package/es/control/form/form-detail/form-button/form-button.mjs +2 -1
  33. package/es/control/form/form-detail/form-page/form-page-item/form-page-item.css +1 -1
  34. package/es/control/form/form-detail/form-page/form-page-item/form-page-item.mjs +1 -1
  35. package/es/control/form/form-detail/form-tab-page/form-tab-page.mjs +1 -1
  36. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  37. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +14 -6
  38. package/es/control/index.d.ts +2 -0
  39. package/es/control/index.mjs +2 -0
  40. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
  41. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
  42. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +1 -1
  43. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -1
  44. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.d.ts +1 -1
  45. package/es/editor/common/data-mpicker/ibiz-data-mpicker.css +1 -0
  46. package/es/editor/common/data-mpicker/ibiz-data-mpicker.d.ts +44 -0
  47. package/es/editor/common/data-mpicker/ibiz-data-mpicker.mjs +139 -0
  48. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  49. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +4 -3
  50. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +38 -31
  51. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +1 -1
  52. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -1
  53. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.d.ts +1 -1
  54. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  55. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.d.ts +1 -1
  56. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
  57. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +5 -1
  58. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
  59. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.d.ts +3 -6
  60. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.mjs +25 -103
  61. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.css +1 -1
  62. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +1 -1
  63. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +1 -1
  64. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +1 -1
  65. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +1 -1
  66. package/es/editor/span/span/span.d.ts +27 -1
  67. package/es/editor/span/span/span.mjs +78 -28
  68. package/es/editor/span/span-link/span-link.d.ts +1 -1
  69. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +1 -1
  70. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -1
  71. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  72. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +1 -1
  73. package/es/editor/text-box/input/input.d.ts +1 -1
  74. package/es/editor/upload/ibiz-carousel/ibiz-carousel.d.ts +1 -1
  75. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -1
  76. package/es/editor/upload/ibiz-image-select/ibiz-image-select.d.ts +1 -1
  77. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -1
  78. package/es/index.mjs +5 -1
  79. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.mjs +13 -0
  80. package/es/panel-component/panel-button/index.d.ts +1 -1
  81. package/es/panel-component/panel-button/panel-button.d.ts +1 -1
  82. package/es/panel-component/view-content-panel-container/view-content-panel-container.mjs +7 -2
  83. package/es/panel-component/view-header-panel-container/index.d.ts +1 -1
  84. package/es/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
  85. package/es/panel-component/view-header-panel-container/view-header-panel-container.d.ts +1 -1
  86. package/es/panel-component/view-header-panel-container/view-header-panel-container.mjs +6 -12
  87. package/es/util/store/view-stack/view-stack.d.ts +1 -1
  88. package/es/view-engine/mob-wf-dyna-action-view.engine.mjs +1 -1
  89. package/es/view-engine/mob-wf-dyna-start-view.engine.mjs +1 -1
  90. package/lib/_virtual/customParseFormat.cjs +5 -0
  91. package/lib/common/index.cjs +5 -0
  92. package/lib/common/preset-view-back/preset-view-back.cjs +51 -0
  93. package/lib/common/preset-view-back/preset-view-back.css +1 -0
  94. package/lib/common/preset-view-header/preset-view-header.cjs +49 -0
  95. package/lib/common/preset-view-header/preset-view-header.css +1 -0
  96. package/lib/control/app-menu/app-menu.cjs +34 -133
  97. package/lib/control/app-menu/app-menu.css +1 -1
  98. package/lib/control/app-menu-icon-view/app-menu-icon-view.cjs +78 -0
  99. package/lib/control/app-menu-icon-view/app-menu-icon-view.css +1 -0
  100. package/lib/control/app-menu-icon-view/app-menu-icon-view.provider.cjs +16 -0
  101. package/lib/control/app-menu-icon-view/index.cjs +23 -0
  102. package/lib/control/app-menu-list-view/app-menu-list-view.cjs +86 -0
  103. package/lib/control/app-menu-list-view/app-menu-list-view.css +1 -0
  104. package/lib/control/app-menu-list-view/app-menu-list-view.provider.cjs +16 -0
  105. package/lib/control/app-menu-list-view/index.cjs +23 -0
  106. package/lib/control/dashboard/portlet/menu-portlet/menu-portlet.cjs +1 -2
  107. package/lib/control/form/form-detail/form-button/form-button.cjs +2 -1
  108. package/lib/control/form/form-detail/form-button/form-button.css +1 -1
  109. package/lib/control/form/form-detail/form-page/form-page-item/form-page-item.cjs +1 -1
  110. package/lib/control/form/form-detail/form-page/form-page-item/form-page-item.css +1 -1
  111. package/lib/control/form/form-detail/form-tab-page/form-tab-page.cjs +1 -1
  112. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +14 -6
  113. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  114. package/lib/control/index.cjs +60 -56
  115. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
  116. package/lib/editor/common/data-mpicker/ibiz-data-mpicker.cjs +141 -0
  117. package/lib/editor/common/data-mpicker/ibiz-data-mpicker.css +1 -0
  118. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +38 -31
  119. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  120. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  121. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +5 -1
  122. package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.cjs +24 -102
  123. package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
  124. package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.css +1 -1
  125. package/lib/editor/span/span/span.cjs +77 -27
  126. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  127. package/lib/index.cjs +80 -74
  128. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.cjs +17 -0
  129. package/lib/panel-component/view-content-panel-container/view-content-panel-container.cjs +7 -2
  130. package/lib/panel-component/view-header-panel-container/view-header-panel-container.cjs +6 -12
  131. package/lib/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
  132. package/lib/view-engine/mob-wf-dyna-action-view.engine.cjs +1 -1
  133. package/lib/view-engine/mob-wf-dyna-start-view.engine.cjs +1 -1
  134. package/package.json +4 -4
@@ -1,6 +1,8 @@
1
1
  import { ref, watch, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { getDataPickerProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-mpicker.css';
4
+ import { IBizDataMPicker } from '../../common/data-mpicker/ibiz-data-mpicker.mjs';
5
+ import { IBizCommonRightIcon } from '../../common/right-icon/right-icon.mjs';
4
6
 
5
7
  "use strict";
6
8
  const IBizMPicker = /* @__PURE__ */ defineComponent({
@@ -15,20 +17,26 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
15
17
  const curValue = ref([]);
16
18
  const items = ref([]);
17
19
  const selectItems = ref([]);
18
- const open = ref(false);
20
+ const showPicker = ref(false);
21
+ const formatter = (item) => {
22
+ return {
23
+ srfkey: item[c.keyName] || item.srfkey,
24
+ value: item[c.keyName] || item.srfkey,
25
+ srfmajortext: item[c.textName] || item.srfmajortext,
26
+ text: item[c.textName] || item.srfmajortext,
27
+ ...item
28
+ };
29
+ };
19
30
  watch(() => props.value, (newVal) => {
20
31
  curValue.value = [];
21
32
  selectItems.value = [];
22
33
  if (newVal) {
23
- selectItems.value = JSON.parse(newVal);
34
+ selectItems.value = JSON.parse(newVal).map(formatter);
24
35
  selectItems.value.forEach((item) => {
25
36
  curValue.value.push(item.srfkey);
26
37
  const index = items.value.findIndex((i) => Object.is(i.srfkey, item.srfkey));
27
38
  if (index < 0) {
28
- items.value.push({
29
- srfkey: item.srfkey,
30
- srfmajortext: item.srfmajortext
31
- });
39
+ items.value.push(formatter(item));
32
40
  }
33
41
  });
34
42
  }
@@ -40,10 +48,7 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
40
48
  const valArr = [];
41
49
  if (result && Array.isArray(result)) {
42
50
  result.forEach((select) => {
43
- const formattedItem = {
44
- srfkey: select[c.keyName] || select.srfkey,
45
- srfmajortext: select[c.textName] || select.srfmajortext
46
- };
51
+ const formattedItem = formatter(select);
47
52
  valArr.push(formattedItem);
48
53
  const index = items.value.findIndex((item) => Object.is(item[c.keyName], select[c.keyName]));
49
54
  if (index < 0) {
@@ -70,27 +75,22 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
70
75
  selects.forEach((select) => {
71
76
  const findItem = items.value.find((item) => Object.is(item.srfkey, select));
72
77
  if (findItem) {
73
- valArr.push({
74
- srfkey: findItem.srfkey,
75
- srfmajortext: findItem.srfmajortext
76
- });
78
+ valArr.push(formatter(findItem));
77
79
  }
78
80
  });
79
81
  const value = valArr.length > 0 ? JSON.stringify(valArr) : "";
82
+ selectItems.value = valArr;
80
83
  emit("change", value);
81
84
  } else {
82
85
  emit("change", "");
83
86
  }
84
87
  };
85
- const onSearch = async (query) => {
88
+ const onSearch = async (query = "") => {
86
89
  if (c.model.appDataEntityId) {
87
90
  const trimQuery = query.trim();
88
91
  const res = await c.getServiceData(trimQuery, props.data);
89
92
  if (res) {
90
- items.value = res.data.map((item) => ({
91
- srfkey: item[c.keyName],
92
- srfmajortext: item[c.textName]
93
- }));
93
+ items.value = res.data.map((item) => formatter(item));
94
94
  }
95
95
  }
96
96
  };
@@ -125,13 +125,6 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
125
125
  emit("change", value);
126
126
  }
127
127
  };
128
- const onOpenChange = (flag) => {
129
- open.value = flag;
130
- if (open.value) {
131
- items.value = [];
132
- onSearch("");
133
- }
134
- };
135
128
  const valueText = computed(() => {
136
129
  return selectItems.value.map((item) => {
137
130
  return item.srfmajortext;
@@ -143,6 +136,10 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
143
136
  const onBlur = () => {
144
137
  emit("blur");
145
138
  };
139
+ const openPicker = async () => {
140
+ showPicker.value = true;
141
+ onSearch();
142
+ };
146
143
  return {
147
144
  ns,
148
145
  c,
@@ -150,11 +147,12 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
150
147
  items,
151
148
  valueText,
152
149
  selectItems,
150
+ showPicker,
153
151
  onSearch,
154
152
  onRemove,
155
- onOpenChange,
156
153
  onSelect,
157
154
  openPickUpView,
155
+ openPicker,
158
156
  onFocus,
159
157
  onBlur
160
158
  };
@@ -162,6 +160,9 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
162
160
  render() {
163
161
  return createVNode("div", {
164
162
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : ""],
163
+ "onClick": () => {
164
+ this.openPicker();
165
+ },
165
166
  "ref": "editorRef"
166
167
  }, [this.readonly && this.valueText, !this.readonly && createVNode(resolveComponent("van-field"), {
167
168
  "ref": "editorRef",
@@ -184,23 +185,29 @@ const IBizMPicker = /* @__PURE__ */ defineComponent({
184
185
  });
185
186
  });
186
187
  },
187
- button: () => {
188
+ "right-icon": () => {
188
189
  if (this.$slots.append) {
189
190
  return this.$slots.append({});
190
191
  }
191
192
  if (this.disabled || this.readonly) {
192
193
  return null;
193
194
  }
194
- return [this.c.model.pickupAppViewId ? createVNode(resolveComponent("van-button"), {
195
+ return [this.c.model.pickupAppViewId && createVNode(resolveComponent("van-button"), {
195
196
  "size": "small",
196
197
  "onClick": this.openPickUpView
197
198
  }, {
198
199
  default: () => [createVNode("ion-icon", {
199
200
  "name": "search"
200
201
  }, null)]
201
- }) : null];
202
+ }), this.c.model.appDEDataSetId && createVNode(IBizCommonRightIcon, null, null)];
202
203
  }
203
- })]);
204
+ }), createVNode(IBizDataMPicker, {
205
+ "items": this.items,
206
+ "onChange": this.onSelect,
207
+ "showPicker": this.showPicker,
208
+ "onUpdate:showPicker": ($event) => this.showPicker = $event,
209
+ "value": this.curValue
210
+ }, null)]);
204
211
  }
205
212
  });
206
213
 
@@ -70,8 +70,8 @@ export declare const IBizPicker: import("vue").DefineComponent<{
70
70
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
71
71
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
72
72
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
73
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
74
73
  onInfoTextChange?: ((_text: string) => any) | undefined;
74
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
75
75
  }, {
76
76
  disabled: boolean;
77
77
  readonly: boolean;
@@ -74,8 +74,8 @@ export declare const IBizPickerSelectView: import("vue").DefineComponent<{
74
74
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
75
75
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
76
76
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
77
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
78
77
  onInfoTextChange?: ((_text: string) => any) | undefined;
78
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
79
79
  }, {
80
80
  disabled: boolean;
81
81
  readonly: boolean;
@@ -56,8 +56,8 @@ export declare const IBizDatePicker: import("vue").DefineComponent<{
56
56
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
57
57
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
58
58
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
59
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
60
59
  onInfoTextChange?: ((_text: string) => any) | undefined;
60
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
61
61
  }, {
62
62
  disabled: boolean;
63
63
  readonly: boolean;
@@ -1 +1 @@
1
- .ibiz-date-range-picker{display:flex;align-items:center;justify-content:center}.ibiz-date-range-picker input{width:100%;font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);text-align:center;background-color:transparent;border:none;border-color:var(--ibiz-form-item-border-color);box-shadow:none}.ibiz-date-range-picker--disabled{--van-field-input-text-color:var(--ibiz-form-item-disabled-color)}.ibiz-date-range-picker--disabled input{color:var(--ibiz-form-item-disabled-color)}.ibiz-date-range-picker--readonly{--van-field-input-text-color:var(--ibiz-form-item-readonly-color)}.ibiz-date-range-picker--readonly input{color:var(--ibiz-form-item-readonly-color)}
1
+ .ibiz-date-range-picker{display:flex;align-items:center;justify-content:center}.ibiz-date-range-picker .van-field::after{display:none}.ibiz-date-range-picker input{width:100%;font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color);text-align:center;background-color:transparent;border:none;border-color:var(--ibiz-form-item-border-color);box-shadow:none}.ibiz-date-range-picker--disabled{--van-field-input-text-color:var(--ibiz-form-item-disabled-color)}.ibiz-date-range-picker--disabled input{color:var(--ibiz-form-item-disabled-color)}.ibiz-date-range-picker--readonly{--van-field-input-text-color:var(--ibiz-form-item-readonly-color)}.ibiz-date-range-picker--readonly input{color:var(--ibiz-form-item-readonly-color)}
@@ -62,8 +62,8 @@ export declare const IBizDateRangePicker: import("vue").DefineComponent<{
62
62
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
63
63
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
64
64
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
65
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
66
65
  onInfoTextChange?: ((_text: string) => any) | undefined;
66
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
67
67
  }, {
68
68
  disabled: boolean;
69
69
  readonly: boolean;
@@ -62,8 +62,8 @@ export declare const IBizDropdown: import("vue").DefineComponent<{
62
62
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
63
63
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
64
64
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
65
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
66
65
  onInfoTextChange?: ((_text: string) => any) | undefined;
66
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
67
67
  }, {
68
68
  disabled: boolean;
69
69
  readonly: boolean;
@@ -58,7 +58,11 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
58
58
  immediate: true
59
59
  });
60
60
  const valueText = computed(() => {
61
- const index = items.value.findIndex((item) => Object.is(item.value, curValue.value));
61
+ const index = items.value.findIndex(
62
+ // 不匹配类型 兼容数值属性配置字符串代码表
63
+ // eslint-disable-next-line eqeqeq
64
+ (item) => item.value == curValue.value
65
+ );
62
66
  if (index !== -1) {
63
67
  return items.value[index].text;
64
68
  }
@@ -1 +1 @@
1
- .ibiz-dropdown-list{height:100%;--van-tag-radius:3.125rem}.ibiz-dropdown-list .van-field__control{gap:.5rem}.ibiz-dropdown-list .van-field__control .van-tag{height:100%;padding:.3125rem;--van-tag-font-size:var(--ibiz-form-item-font-size)}.ibiz-dropdown-list .van-picker .van-picker__mask{background-image:var(--ibiz-color-overlay-bg)}.ibiz-dropdown-list .ibiz-dropdown-list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--ibiz-spacing-base-tight)}.ibiz-dropdown-list .ibiz-dropdown-list-toolbar button{padding:0;background-color:transparent;border:none}.ibiz-dropdown-list-toolbar__confirm{color:var(--ibiz-color-primary)}.ibiz-dropdown-list-toolbar__cancel{color:var(--ibiz-color-text-3)}.ibiz-dropdown-list .ibiz-dropdown-list-columns{min-height:30vh;max-height:50vh;overflow:auto}.ibiz-dropdown-list .ibiz-dropdown-list-columns .van-cell-group{height:100%;overflow:auto}.ibiz-dropdown-list .ibiz-dropdown-list-columns .van-cell{padding:var(--ibiz-spacing-base-tight)}.ibiz-dropdown-list input:disabled{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color);-webkit-text-fill-color:var(--ibiz-form-item-disabled-color)}.ibiz-dropdown-list--disabled{opacity:.8}.ibiz-dropdown-list--readonly{color:var(--ibiz-form-item-readonly-color);-webkit-text-fill-color:var(--ibiz-form-item-readonly-color)}.ibiz-dropdown-list .van-cell-group--inset{margin:0}.ibiz-dropdown-list__select::after{display:none}
1
+ .ibiz-dropdown-list{height:100%;--van-tag-radius:3.125rem}.ibiz-dropdown-list .van-field__control{gap:.5rem}.ibiz-dropdown-list .van-field__control .van-tag{height:100%;padding:.3125rem;--van-tag-font-size:var(--ibiz-form-item-font-size)}.ibiz-dropdown-list .van-picker .van-picker__mask{background-image:var(--ibiz-color-overlay-bg)}.ibiz-dropdown-list .ibiz-dropdown-list-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--ibiz-spacing-base-tight)}.ibiz-dropdown-list .ibiz-dropdown-list-toolbar button{padding:0;background-color:transparent;border:none}.ibiz-dropdown-list-toolbar__confirm{color:var(--ibiz-color-primary)}.ibiz-dropdown-list-toolbar__cancel{color:var(--ibiz-color-text-3)}.ibiz-dropdown-list .ibiz-dropdown-list-columns{min-height:30vh;max-height:50vh;overflow:auto}.ibiz-dropdown-list .ibiz-dropdown-list-columns .van-cell-group{height:100%;overflow:auto}.ibiz-dropdown-list .ibiz-dropdown-list-columns .van-cell{padding:var(--ibiz-spacing-base-tight)}.ibiz-dropdown-list input:disabled{color:var(--ibiz-form-item-disabled-color);background-color:var(--ibiz-form-item-disabled-bg-color);border-color:var(--ibiz-form-item-disabled-border-color);-webkit-text-fill-color:var(--ibiz-form-item-disabled-color)}.ibiz-dropdown-list--disabled{opacity:.8}.ibiz-dropdown-list--readonly{color:var(--ibiz-form-item-readonly-color);-webkit-text-fill-color:var(--ibiz-form-item-readonly-color)}.ibiz-dropdown-list .van-cell-group--inset{margin:0}.ibiz-dropdown-list__select::after{display:none}.ibiz-dropdown-list .van-cell__title,.ibiz-dropdown-list .van-cell__value{text-align:left}
@@ -23,17 +23,14 @@ export declare const IBizDropdownList: import("vue").DefineComponent<{
23
23
  ns: import("@ibiz-template/core").Namespace;
24
24
  c: DropDownListEditorController;
25
25
  items: Ref<readonly IData[]>;
26
- curValue: import("vue").WritableComputedRef<string[]>;
27
26
  showPicker: Ref<boolean>;
28
27
  valueText: import("vue").ComputedRef<string>;
29
28
  selectItems: Ref<IData[]>;
30
- checkboxRefs: Ref<IData>;
29
+ selectKeys: Ref<string[]>;
31
30
  onBlur: () => void;
32
- toggle: (index: number) => void;
33
31
  onFocus: () => void;
34
- onCancel: () => void;
35
32
  onRemove: (item: IData) => void;
36
- onConfirm: () => void;
33
+ onConfirm: (selects: string[]) => void;
37
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
38
35
  change: (_value: unknown, _name?: string | undefined) => boolean;
39
36
  blur: (_event?: IData | undefined) => boolean;
@@ -62,8 +59,8 @@ export declare const IBizDropdownList: import("vue").DefineComponent<{
62
59
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
63
60
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
64
61
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
65
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
66
62
  onInfoTextChange?: ((_text: string) => any) | undefined;
63
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
67
64
  }, {
68
65
  disabled: boolean;
69
66
  readonly: boolean;
@@ -1,12 +1,10 @@
1
- import { isVNode, ref, computed, watch, createTextVNode, createVNode, resolveComponent, defineComponent } from 'vue';
1
+ import { ref, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { getDropdownProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-dropdown-list.css';
4
4
  import { IBizCommonRightIcon } from '../../common/right-icon/right-icon.mjs';
5
+ import { IBizDataMPicker } from '../../common/data-mpicker/ibiz-data-mpicker.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 IBizDropdownList = /* @__PURE__ */ defineComponent({
11
9
  name: "IBizDropdownList",
12
10
  props: getDropdownProps(),
@@ -24,31 +22,15 @@ const IBizDropdownList = /* @__PURE__ */ defineComponent({
24
22
  }
25
23
  return items.value.filter((item) => (props.value.split(",") || []).findIndex((value) => item.value === value) !== -1);
26
24
  });
27
- const localSelectValue = ref("");
28
- const curValue = computed({
29
- get() {
30
- var _a;
31
- if (localSelectValue.value) {
32
- return ((_a = localSelectValue.value) == null ? void 0 : _a.split(",")) || [];
33
- }
25
+ const selectKeys = computed(() => {
26
+ if (!props.value) {
34
27
  return [];
35
- },
36
- set(select) {
37
- if (Array.isArray(select)) {
38
- localSelectValue.value = select.length === 0 ? null : select.join(",");
39
- }
40
28
  }
29
+ return items.value.filter((item) => (props.value.split(",") || []).findIndex((value) => item.value === value) !== -1).map((item) => item.value);
41
30
  });
42
31
  c.loadCodeList(props.data).then((codeList) => {
43
32
  items.value = codeList;
44
33
  });
45
- watch(() => props.value, (newVal) => {
46
- if (newVal || newVal === null) {
47
- localSelectValue.value = newVal ? newVal.split(",").join(",") : null;
48
- }
49
- }, {
50
- immediate: true
51
- });
52
34
  const onFocus = () => {
53
35
  emit("focus");
54
36
  };
@@ -57,102 +39,43 @@ const IBizDropdownList = /* @__PURE__ */ defineComponent({
57
39
  emit("blur");
58
40
  }, 100);
59
41
  };
60
- const onConfirm = () => {
42
+ const onConfirm = (selects) => {
61
43
  showPicker.value = false;
62
- const value = localSelectValue.value ? localSelectValue.value.split(",").join(",") : null;
44
+ const valArr = [];
45
+ selects.forEach((select) => {
46
+ const findItem = items.value.find((item) => Object.is(item.value, select));
47
+ if (findItem) {
48
+ valArr.push(findItem);
49
+ }
50
+ });
51
+ const value = valArr.length > 0 ? valArr.map((item) => item.value).join(",") : "";
63
52
  emit("change", value);
64
53
  };
65
- const onCancel = () => {
66
- showPicker.value = false;
67
- localSelectValue.value = props.value;
68
- };
69
54
  const onRemove = (item) => {
70
55
  if (props.readonly || props.disabled) {
71
56
  return;
72
57
  }
73
- curValue.value = curValue.value.filter((value) => value !== item.value);
74
- onConfirm();
58
+ const curValue = selectKeys.value.filter((value) => value !== item.value);
59
+ onConfirm(curValue);
75
60
  };
76
61
  const valueText = computed(() => {
77
- return items.value.filter((item) => {
78
- let isInclude = false;
79
- curValue.value.forEach((val) => {
80
- if (val === item.value) {
81
- isInclude = true;
82
- }
83
- });
84
- return isInclude;
85
- }).map((item) => item.text).join(",");
62
+ return selectItems.value.map((item) => item.text).join(",");
86
63
  });
87
- const checkboxRefs = ref([]);
88
- const toggle = (index) => {
89
- checkboxRefs.value[index].toggle();
90
- };
91
64
  return {
92
65
  ns,
93
66
  c,
94
67
  items,
95
- curValue,
96
68
  showPicker,
97
69
  valueText,
98
70
  selectItems,
99
- checkboxRefs,
71
+ selectKeys,
100
72
  onBlur,
101
- toggle,
102
73
  onFocus,
103
- onCancel,
104
74
  onRemove,
105
75
  onConfirm
106
76
  };
107
77
  },
108
78
  render() {
109
- const renderToolbar = () => {
110
- return createVNode("div", {
111
- "class": this.ns.b("toolbar")
112
- }, [createVNode("button", {
113
- "type": "button",
114
- "class": this.ns.be("toolbar", "cancel"),
115
- "onClick": () => {
116
- this.onCancel();
117
- }
118
- }, [createTextVNode("\u53D6\u6D88")]), createVNode("button", {
119
- "type": "button",
120
- "class": this.ns.be("toolbar", "confirm"),
121
- "onClick": () => {
122
- this.onConfirm();
123
- }
124
- }, [createTextVNode("\u786E\u5B9A")])]);
125
- };
126
- const renderColumns = () => {
127
- let _slot;
128
- return createVNode(resolveComponent("van-checkbox-group"), {
129
- "class": this.ns.b("columns"),
130
- "modelValue": this.curValue,
131
- "onUpdate:modelValue": ($event) => this.curValue = $event
132
- }, {
133
- default: () => [createVNode(resolveComponent("van-cell-group"), {
134
- "inset": true
135
- }, _isSlot(_slot = this.items.map((item, index) => {
136
- return createVNode(resolveComponent("van-cell"), {
137
- "title": item.text,
138
- "clickable": true,
139
- "onClick": () => {
140
- this.toggle(index);
141
- }
142
- }, {
143
- "right-icon": () => {
144
- return createVNode(resolveComponent("van-checkbox"), {
145
- "ref": (el) => this.checkboxRefs[index] = el,
146
- "name": item.value,
147
- "onClick": (e) => e.stopPropagation()
148
- }, null);
149
- }
150
- });
151
- })) ? _slot : {
152
- default: () => [_slot]
153
- })]
154
- });
155
- };
156
79
  const editContent = [createVNode(resolveComponent("van-field"), {
157
80
  "ref": "editorRef",
158
81
  "clearable": true,
@@ -181,14 +104,13 @@ const IBizDropdownList = /* @__PURE__ */ defineComponent({
181
104
  });
182
105
  });
183
106
  }
184
- }), createVNode(resolveComponent("van-popup"), {
185
- "show": this.showPicker,
186
- "onUpdate:show": ($event) => this.showPicker = $event,
187
- "round": true,
188
- "position": "bottom"
189
- }, {
190
- default: () => [createVNode("div", null, [renderToolbar(), renderColumns()])]
191
- })];
107
+ }), createVNode(IBizDataMPicker, {
108
+ "items": this.items,
109
+ "onChange": this.onConfirm,
110
+ "showPicker": this.showPicker,
111
+ "onUpdate:showPicker": ($event) => this.showPicker = $event,
112
+ "value": this.selectKeys
113
+ }, null)];
192
114
  return createVNode("div", {
193
115
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : ""]
194
116
  }, [this.readonly ? this.valueText : editContent]);
@@ -1 +1 @@
1
- .ibiz-number-range-picker{width:100%;display:flex;align-items:center;justify-content:center}.ibiz-number-range-picker .van-field{flex:1}.ibiz-number-range-picker .van-field__control{text-align:center}.ibiz-number-range-picker--disabled{--van-field-input-text-color:var(--ibiz-form-item-disabled-color);color:var(--ibiz-form-item-disabled-color)}.ibiz-number-range-picker--readonly{--van-field-input-text-color:var(--ibiz-form-item-readonly-color);color:var(--ibiz-form-item-disabled-color)}
1
+ .ibiz-number-range-picker{width:100%;display:flex;align-items:center;justify-content:center}.ibiz-number-range-picker .van-field{flex:1;font-size:var(--ibiz-form-item-font-size)}.ibiz-number-range-picker .van-field::after{display:none}.ibiz-number-range-picker .van-field__control{text-align:center}.ibiz-number-range-picker--disabled{--van-field-input-text-color:var(--ibiz-form-item-disabled-color);color:var(--ibiz-form-item-disabled-color)}.ibiz-number-range-picker--readonly{--van-field-input-text-color:var(--ibiz-form-item-readonly-color);color:var(--ibiz-form-item-disabled-color)}
@@ -62,8 +62,8 @@ export declare const IBizNumberRangePicker: import("vue").DefineComponent<{
62
62
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
63
63
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
64
64
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
65
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
66
65
  onInfoTextChange?: ((_text: string) => any) | undefined;
66
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
67
67
  }, {
68
68
  disabled: boolean;
69
69
  readonly: boolean;
@@ -53,8 +53,8 @@ export declare const IBizRadio: import("vue").DefineComponent<{
53
53
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
54
54
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
55
55
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
56
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
57
56
  onInfoTextChange?: ((_text: string) => any) | undefined;
57
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
58
58
  }, {
59
59
  disabled: boolean;
60
60
  readonly: boolean;
@@ -52,8 +52,8 @@ export declare const IBizRate: import("vue").DefineComponent<{
52
52
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
53
53
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
54
54
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
55
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
56
55
  onInfoTextChange?: ((_text: string) => any) | undefined;
56
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
57
57
  }, {
58
58
  disabled: boolean;
59
59
  readonly: boolean;
@@ -55,8 +55,8 @@ export declare const IBizSlider: import("vue").DefineComponent<{
55
55
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
56
56
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
57
57
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
58
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
59
58
  onInfoTextChange?: ((_text: string) => any) | undefined;
59
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
60
60
  }, {
61
61
  disabled: boolean;
62
62
  readonly: boolean;
@@ -21,9 +21,35 @@ export declare const IBizSpan: import("vue").DefineComponent<{
21
21
  };
22
22
  }, {
23
23
  ns: import("@ibiz-template/core").Namespace;
24
+ c: SpanEditorController;
24
25
  text: Ref<string>;
25
- codeListText: import("vue").ComputedRef<string | undefined>;
26
26
  editorRef: Ref<any>;
27
+ items: Ref<readonly {
28
+ value: string | number;
29
+ text: string;
30
+ id: string;
31
+ color?: string | undefined;
32
+ children?: any[] | undefined;
33
+ textCls?: string | undefined;
34
+ disableSelect?: boolean | undefined;
35
+ sysImage?: {
36
+ codeName?: string | undefined;
37
+ cssClass?: string | undefined;
38
+ cssClassX?: string | undefined;
39
+ glyph?: string | undefined;
40
+ height?: number | undefined;
41
+ imagePath?: string | undefined;
42
+ imagePathX?: string | undefined;
43
+ rawContent?: string | undefined;
44
+ width?: number | undefined;
45
+ appId: string;
46
+ id?: string | undefined;
47
+ name?: string | undefined;
48
+ userParam?: Record<string, string> | undefined;
49
+ } | undefined;
50
+ data?: IData | undefined;
51
+ tooltip?: string | undefined;
52
+ }[]>;
27
53
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
54
  value: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
29
55
  controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<SpanEditorController>, undefined, undefined>;