bm-admin-ui 1.0.92-alpha → 1.0.93-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/cascader/index.js +2 -2
- package/es/components/form-create/index.js +389 -98
- package/es/components/form-designer/index.js +180 -122
- package/es/components/search-filter/index.d.ts +28 -0
- package/es/components/search-filter/index.js +70 -17
- package/es/components/search-filter/src/form-select-all.vue.d.ts +15 -0
- package/es/components/search-filter/src/search-filter.d.ts +16 -0
- package/es/components/search-filter/src/search-filter.vue.d.ts +28 -0
- package/es/components/search-filter/src/search-reset-btn.vue.d.ts +26 -0
- package/es/components/select-all/index.d.ts +2 -0
- package/es/components/select-all/index.js +33 -15
- package/es/components/select-all/src/selectAll.vue.d.ts +2 -0
- package/es/utils/uniqueId.js +2 -2
- package/lib/components/cascader/index.js +2 -2
- package/lib/components/form-create/index.js +389 -98
- package/lib/components/form-designer/index.js +174 -116
- package/lib/components/search-filter/index.d.ts +28 -0
- package/lib/components/search-filter/index.js +71 -17
- package/lib/components/search-filter/src/form-select-all.vue.d.ts +15 -0
- package/lib/components/search-filter/src/search-filter.d.ts +16 -0
- package/lib/components/search-filter/src/search-filter.vue.d.ts +28 -0
- package/lib/components/search-filter/src/search-reset-btn.vue.d.ts +26 -0
- package/lib/components/select-all/index.d.ts +2 -0
- package/lib/components/select-all/index.js +32 -14
- package/lib/components/select-all/src/selectAll.vue.d.ts +2 -0
- package/lib/utils/uniqueId.js +2 -2
- package/package.json +1 -1
- package/theme-chalk/form-designer.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/select-all.css +1 -1
- package/types/components/search-filter/index.d.ts +28 -0
- package/types/components/search-filter/src/form-select-all.vue.d.ts +15 -0
- package/types/components/search-filter/src/search-filter.d.ts +16 -0
- package/types/components/search-filter/src/search-filter.vue.d.ts +28 -0
- package/types/components/search-filter/src/search-reset-btn.vue.d.ts +26 -0
- package/types/components/select-all/index.d.ts +2 -0
- package/types/components/select-all/src/selectAll.vue.d.ts +2 -0
|
@@ -8,11 +8,13 @@ var FormCreateCtr = require('@form-create/ant-design-vue');
|
|
|
8
8
|
var iconsVue = require('@ant-design/icons-vue');
|
|
9
9
|
var ASelect = require('ant-design-vue/lib/select');
|
|
10
10
|
var lodashEs = require('lodash-es');
|
|
11
|
+
var Modal = require('ant-design-vue/lib/modal');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
14
|
|
|
14
15
|
var FormCreateCtr__default = /*#__PURE__*/_interopDefaultLegacy(FormCreateCtr);
|
|
15
16
|
var ASelect__default = /*#__PURE__*/_interopDefaultLegacy(ASelect);
|
|
17
|
+
var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
|
|
16
18
|
|
|
17
19
|
const searchResetBtnProps = {
|
|
18
20
|
showExpandBtn: {
|
|
@@ -47,6 +49,16 @@ const searchResetBtnProps = {
|
|
|
47
49
|
type: String,
|
|
48
50
|
default: '',
|
|
49
51
|
},
|
|
52
|
+
setDefaultConfirm: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: true,
|
|
55
|
+
},
|
|
56
|
+
setDefaultConfirmConfig: {
|
|
57
|
+
type: Object,
|
|
58
|
+
default() {
|
|
59
|
+
return {};
|
|
60
|
+
},
|
|
61
|
+
},
|
|
50
62
|
gutter: {
|
|
51
63
|
type: Array,
|
|
52
64
|
default() {
|
|
@@ -173,14 +185,19 @@ const _hoisted_3 = ["onClick"];
|
|
|
173
185
|
const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("span", { class: "checkbox-label" }, "\u5168\u9009", -1);
|
|
174
186
|
const _hoisted_5 = ["onClick"];
|
|
175
187
|
const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode("span", { class: "checkbox-label" }, "\u53CD\u9009", -1);
|
|
176
|
-
const _hoisted_7 = {
|
|
188
|
+
const _hoisted_7 = { key: 0 };
|
|
189
|
+
const _hoisted_8 = { class: "blue" };
|
|
177
190
|
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
178
191
|
__name: "form-select-all",
|
|
179
192
|
props: {
|
|
180
193
|
modelValue: {
|
|
181
194
|
type: Array || String || Number || void 0
|
|
182
195
|
},
|
|
183
|
-
disabled: Boolean
|
|
196
|
+
disabled: Boolean,
|
|
197
|
+
showSelectAll: {
|
|
198
|
+
type: Boolean,
|
|
199
|
+
default: true
|
|
200
|
+
}
|
|
184
201
|
},
|
|
185
202
|
emits: ["onSelectAll", "onChange", "update:modelValue"],
|
|
186
203
|
setup(__props, { emit }) {
|
|
@@ -190,7 +207,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
190
207
|
search: {
|
|
191
208
|
indeterminate: false,
|
|
192
209
|
checkedAll: false,
|
|
193
|
-
checkedReverse: false
|
|
210
|
+
checkedReverse: false,
|
|
211
|
+
searchList: []
|
|
194
212
|
}
|
|
195
213
|
});
|
|
196
214
|
let selectValue = vue.ref([]);
|
|
@@ -202,7 +220,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
202
220
|
state.search = {
|
|
203
221
|
indeterminate: false,
|
|
204
222
|
checkedAll: false,
|
|
205
|
-
checkedReverse: false
|
|
223
|
+
checkedReverse: false,
|
|
224
|
+
searchList: []
|
|
206
225
|
};
|
|
207
226
|
}
|
|
208
227
|
},
|
|
@@ -212,17 +231,20 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
212
231
|
);
|
|
213
232
|
const selectAll = (e) => {
|
|
214
233
|
let key = "value";
|
|
234
|
+
let list = [];
|
|
215
235
|
if (instance?.attrs.fieldNames || instance?.attrs["field-names"])
|
|
216
236
|
key = (instance?.attrs).fieldNames?.value || (instance?.attrs)["field-names"].value;
|
|
217
237
|
state.search.checkedAll = !state.search.checkedAll;
|
|
218
238
|
state.search.indeterminate = false;
|
|
219
239
|
state.search.checkedReverse = false;
|
|
240
|
+
if (state.search.searchList.length > 0)
|
|
241
|
+
list = state.search.searchList;
|
|
242
|
+
else
|
|
243
|
+
list = instance?.attrs.options;
|
|
220
244
|
if (state.search.checkedAll) {
|
|
221
|
-
selectValue.value =
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
);
|
|
245
|
+
selectValue.value = list.map((v) => {
|
|
246
|
+
return v[key];
|
|
247
|
+
});
|
|
226
248
|
} else {
|
|
227
249
|
selectValue.value = [];
|
|
228
250
|
}
|
|
@@ -265,6 +287,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
265
287
|
option
|
|
266
288
|
});
|
|
267
289
|
};
|
|
290
|
+
const onSearch = (val) => {
|
|
291
|
+
if (val) {
|
|
292
|
+
const key = (instance?.attrs).optionFilterProp || (instance?.attrs)["option-filter-prop"] || "value";
|
|
293
|
+
const list = (instance?.attrs).options.filter((ele) => {
|
|
294
|
+
return String(ele[key]).indexOf(String(val)) > -1;
|
|
295
|
+
});
|
|
296
|
+
state.search.searchList = list;
|
|
297
|
+
}
|
|
298
|
+
};
|
|
268
299
|
const VNodes = (_, { attrs }) => {
|
|
269
300
|
return vue.h(attrs.vnodes);
|
|
270
301
|
};
|
|
@@ -277,10 +308,12 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
277
308
|
class: "bm-select search"
|
|
278
309
|
}, _ctx.$attrs, {
|
|
279
310
|
mode: "multiple",
|
|
311
|
+
class: { w200: !props.showSelectAll },
|
|
280
312
|
disabled: props.disabled,
|
|
281
313
|
placeholder: vue.unref(instance)?.attrs.placeholder ? vue.unref(instance)?.attrs.placeholder : "\u8BF7\u9009\u62E9",
|
|
282
314
|
"get-popup-container": (nodes) => nodes.parentNode,
|
|
283
|
-
onChange
|
|
315
|
+
onChange,
|
|
316
|
+
onSearch
|
|
284
317
|
}), {
|
|
285
318
|
dropdownRender: vue.withCtx(({ menuNode: menu }) => [
|
|
286
319
|
vue.createElementVNode("div", _hoisted_1, [
|
|
@@ -312,16 +345,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
312
345
|
]),
|
|
313
346
|
_: 1
|
|
314
347
|
}),
|
|
315
|
-
vue.
|
|
348
|
+
__props.showSelectAll ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
|
|
316
349
|
vue.createTextVNode(" \u5DF2\u9009\u62E9 "),
|
|
317
|
-
vue.createElementVNode("span",
|
|
350
|
+
vue.createElementVNode("span", _hoisted_8, vue.toDisplayString(vue.unref(selectValue)?.length || 0), 1),
|
|
318
351
|
vue.createTextVNode(" \u9879 ")
|
|
319
|
-
])
|
|
352
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
320
353
|
]),
|
|
321
354
|
vue.createVNode(VNodes, { vnodes: menu }, null, 8, ["vnodes"])
|
|
322
355
|
]),
|
|
323
356
|
_: 1
|
|
324
|
-
}, 16, ["value", "disabled", "placeholder", "get-popup-container"]);
|
|
357
|
+
}, 16, ["value", "class", "disabled", "placeholder", "get-popup-container"]);
|
|
325
358
|
};
|
|
326
359
|
}
|
|
327
360
|
});
|
|
@@ -356,6 +389,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
356
389
|
showSetDefaultBtn: props.showSetDefaultBtn,
|
|
357
390
|
setDefaultText: props.setDefaultText,
|
|
358
391
|
setDefaultId: props.setDefaultId,
|
|
392
|
+
setDefaultConfirm: props.setDefaultConfirm,
|
|
393
|
+
setDefaultConfirmConfig: props.setDefaultConfirmConfig,
|
|
359
394
|
collapseText: props.collapseText,
|
|
360
395
|
gutter: props.gutter,
|
|
361
396
|
loading: props.loading
|
|
@@ -373,14 +408,33 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
373
408
|
emits("expand", value);
|
|
374
409
|
},
|
|
375
410
|
setDefault() {
|
|
376
|
-
if (props.setDefaultId) {
|
|
411
|
+
if (!props.setDefaultId) {
|
|
412
|
+
throw new Error("\u8BF7\u5148\u8BBE\u7F6E\u5B58\u50A8\u7684ID\uFF0C\u5426\u5219\u65E0\u6CD5\u5B58\u50A8\u5230 LocalStorage\uFF01");
|
|
413
|
+
}
|
|
414
|
+
function setDefault() {
|
|
377
415
|
window.localStorage.setItem(
|
|
378
416
|
props.setDefaultId,
|
|
379
417
|
JSON.stringify(fApi.value.formData())
|
|
380
418
|
);
|
|
419
|
+
emits("setDefault", fApi.value.formData());
|
|
420
|
+
updateRulesDefault(fApi.value.formData());
|
|
421
|
+
}
|
|
422
|
+
if (props.setDefaultConfirm) {
|
|
423
|
+
let defaultConfig = {
|
|
424
|
+
title: "\u786E\u5B9A\u8BBE\u7F6E\u5F53\u524D\u67E5\u8BE2\u6761\u4EF6\u4E3A\u9ED8\u8BA4\u67E5\u8BE2\u5417\uFF1F",
|
|
425
|
+
okText: "\u786E\u8BA4",
|
|
426
|
+
cancelText: "\u53D6\u6D88"
|
|
427
|
+
};
|
|
428
|
+
Modal__default["default"].confirm({
|
|
429
|
+
...defaultConfig,
|
|
430
|
+
...props.setDefaultConfirmConfig,
|
|
431
|
+
onOk() {
|
|
432
|
+
setDefault();
|
|
433
|
+
}
|
|
434
|
+
});
|
|
435
|
+
} else {
|
|
436
|
+
setDefault();
|
|
381
437
|
}
|
|
382
|
-
emits("setDefault", fApi.value.formData());
|
|
383
|
-
updateRulesDefault(fApi.value.formData());
|
|
384
438
|
}
|
|
385
439
|
}
|
|
386
440
|
}
|
|
@@ -3,6 +3,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3
3
|
type: ArrayConstructor;
|
|
4
4
|
};
|
|
5
5
|
disabled: BooleanConstructor;
|
|
6
|
+
showSelectAll: {
|
|
7
|
+
type: BooleanConstructor;
|
|
8
|
+
default: boolean;
|
|
9
|
+
};
|
|
6
10
|
}, {
|
|
7
11
|
instance: import("vue").ComponentInternalInstance | null;
|
|
8
12
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -10,6 +14,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
14
|
type: ArrayConstructor;
|
|
11
15
|
};
|
|
12
16
|
disabled: BooleanConstructor;
|
|
17
|
+
showSelectAll: {
|
|
18
|
+
type: BooleanConstructor;
|
|
19
|
+
default: boolean;
|
|
20
|
+
};
|
|
13
21
|
}>> & {
|
|
14
22
|
onOnChange?: ((...args: any[]) => any) | undefined;
|
|
15
23
|
onOnSelectAll?: ((...args: any[]) => any) | undefined;
|
|
@@ -20,6 +28,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
20
28
|
indeterminate: boolean;
|
|
21
29
|
checkedAll: boolean;
|
|
22
30
|
checkedReverse: boolean;
|
|
31
|
+
searchList: never[];
|
|
23
32
|
};
|
|
24
33
|
};
|
|
25
34
|
emit: (event: "onChange" | "onSelectAll" | "update:modelValue", ...args: any[]) => void;
|
|
@@ -27,6 +36,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
27
36
|
selectAll: (e: any) => void;
|
|
28
37
|
reverseAll: (e: any) => false | undefined;
|
|
29
38
|
onChange: (value: any, option: any) => void;
|
|
39
|
+
onSearch: (val: string | number) => void;
|
|
30
40
|
VNodes: (_: any, { attrs }: {
|
|
31
41
|
attrs: any;
|
|
32
42
|
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -731,11 +741,16 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
731
741
|
type: ArrayConstructor;
|
|
732
742
|
};
|
|
733
743
|
disabled: BooleanConstructor;
|
|
744
|
+
showSelectAll: {
|
|
745
|
+
type: BooleanConstructor;
|
|
746
|
+
default: boolean;
|
|
747
|
+
};
|
|
734
748
|
}>> & {
|
|
735
749
|
onOnChange?: ((...args: any[]) => any) | undefined;
|
|
736
750
|
onOnSelectAll?: ((...args: any[]) => any) | undefined;
|
|
737
751
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
738
752
|
}, {
|
|
739
753
|
disabled: boolean;
|
|
754
|
+
showSelectAll: boolean;
|
|
740
755
|
}>;
|
|
741
756
|
export default _default;
|
|
@@ -32,6 +32,14 @@ export declare const searchResetBtnProps: {
|
|
|
32
32
|
type: StringConstructor;
|
|
33
33
|
default: string;
|
|
34
34
|
};
|
|
35
|
+
setDefaultConfirm: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
39
|
+
setDefaultConfirmConfig: {
|
|
40
|
+
type: ObjectConstructor;
|
|
41
|
+
default(): {};
|
|
42
|
+
};
|
|
35
43
|
gutter: {
|
|
36
44
|
type: PropType<number[]>;
|
|
37
45
|
default(): number[];
|
|
@@ -74,6 +82,14 @@ export declare const searchFilterProps: {
|
|
|
74
82
|
type: StringConstructor;
|
|
75
83
|
default: string;
|
|
76
84
|
};
|
|
85
|
+
setDefaultConfirm: {
|
|
86
|
+
type: BooleanConstructor;
|
|
87
|
+
default: boolean;
|
|
88
|
+
};
|
|
89
|
+
setDefaultConfirmConfig: {
|
|
90
|
+
type: ObjectConstructor;
|
|
91
|
+
default(): {};
|
|
92
|
+
};
|
|
77
93
|
gutter: {
|
|
78
94
|
type: PropType<number[]>;
|
|
79
95
|
default(): number[];
|
|
@@ -31,6 +31,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
31
31
|
type: StringConstructor;
|
|
32
32
|
default: string;
|
|
33
33
|
};
|
|
34
|
+
setDefaultConfirm: {
|
|
35
|
+
type: BooleanConstructor;
|
|
36
|
+
default: boolean;
|
|
37
|
+
};
|
|
38
|
+
setDefaultConfirmConfig: {
|
|
39
|
+
type: ObjectConstructor;
|
|
40
|
+
default(): {};
|
|
41
|
+
};
|
|
34
42
|
gutter: {
|
|
35
43
|
type: import("vue").PropType<number[]>;
|
|
36
44
|
default(): number[];
|
|
@@ -99,6 +107,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
99
107
|
type: StringConstructor;
|
|
100
108
|
default: string;
|
|
101
109
|
};
|
|
110
|
+
setDefaultConfirm: {
|
|
111
|
+
type: BooleanConstructor;
|
|
112
|
+
default: boolean;
|
|
113
|
+
};
|
|
114
|
+
setDefaultConfirmConfig: {
|
|
115
|
+
type: ObjectConstructor;
|
|
116
|
+
default(): {};
|
|
117
|
+
};
|
|
102
118
|
gutter: {
|
|
103
119
|
type: import("vue").PropType<number[]>;
|
|
104
120
|
default(): number[];
|
|
@@ -151,6 +167,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
151
167
|
showSetDefaultBtn: boolean;
|
|
152
168
|
setDefaultText: string;
|
|
153
169
|
setDefaultId: string;
|
|
170
|
+
setDefaultConfirm: boolean;
|
|
171
|
+
setDefaultConfirmConfig: Record<string, any>;
|
|
154
172
|
collapseText: string;
|
|
155
173
|
gutter: number[];
|
|
156
174
|
loading: boolean;
|
|
@@ -219,6 +237,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
219
237
|
type: StringConstructor;
|
|
220
238
|
default: string;
|
|
221
239
|
};
|
|
240
|
+
setDefaultConfirm: {
|
|
241
|
+
type: BooleanConstructor;
|
|
242
|
+
default: boolean;
|
|
243
|
+
};
|
|
244
|
+
setDefaultConfirmConfig: {
|
|
245
|
+
type: ObjectConstructor;
|
|
246
|
+
default(): {};
|
|
247
|
+
};
|
|
222
248
|
gutter: {
|
|
223
249
|
type: import("vue").PropType<number[]>;
|
|
224
250
|
default(): number[];
|
|
@@ -271,6 +297,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
271
297
|
showSetDefaultBtn: boolean;
|
|
272
298
|
setDefaultText: string;
|
|
273
299
|
setDefaultId: string;
|
|
300
|
+
setDefaultConfirm: boolean;
|
|
301
|
+
setDefaultConfirmConfig: Record<string, any>;
|
|
274
302
|
gutter: number[];
|
|
275
303
|
userRule: unknown[];
|
|
276
304
|
ruleSpan: Record<string, any>;
|
|
@@ -31,6 +31,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
31
31
|
type: StringConstructor;
|
|
32
32
|
default: string;
|
|
33
33
|
};
|
|
34
|
+
setDefaultConfirm: {
|
|
35
|
+
type: BooleanConstructor;
|
|
36
|
+
default: boolean;
|
|
37
|
+
};
|
|
38
|
+
setDefaultConfirmConfig: {
|
|
39
|
+
type: ObjectConstructor;
|
|
40
|
+
default(): {};
|
|
41
|
+
};
|
|
34
42
|
gutter: {
|
|
35
43
|
type: import("vue").PropType<number[]>;
|
|
36
44
|
default(): number[];
|
|
@@ -73,6 +81,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
73
81
|
type: StringConstructor;
|
|
74
82
|
default: string;
|
|
75
83
|
};
|
|
84
|
+
setDefaultConfirm: {
|
|
85
|
+
type: BooleanConstructor;
|
|
86
|
+
default: boolean;
|
|
87
|
+
};
|
|
88
|
+
setDefaultConfirmConfig: {
|
|
89
|
+
type: ObjectConstructor;
|
|
90
|
+
default(): {};
|
|
91
|
+
};
|
|
76
92
|
gutter: {
|
|
77
93
|
type: import("vue").PropType<number[]>;
|
|
78
94
|
default(): number[];
|
|
@@ -133,6 +149,14 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
133
149
|
type: StringConstructor;
|
|
134
150
|
default: string;
|
|
135
151
|
};
|
|
152
|
+
setDefaultConfirm: {
|
|
153
|
+
type: BooleanConstructor;
|
|
154
|
+
default: boolean;
|
|
155
|
+
};
|
|
156
|
+
setDefaultConfirmConfig: {
|
|
157
|
+
type: ObjectConstructor;
|
|
158
|
+
default(): {};
|
|
159
|
+
};
|
|
136
160
|
gutter: {
|
|
137
161
|
type: import("vue").PropType<number[]>;
|
|
138
162
|
default(): number[];
|
|
@@ -156,6 +180,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
156
180
|
showSetDefaultBtn: boolean;
|
|
157
181
|
setDefaultText: string;
|
|
158
182
|
setDefaultId: string;
|
|
183
|
+
setDefaultConfirm: boolean;
|
|
184
|
+
setDefaultConfirmConfig: Record<string, any>;
|
|
159
185
|
gutter: number[];
|
|
160
186
|
}>;
|
|
161
187
|
export default _default;
|
|
@@ -28,6 +28,7 @@ declare const BmSelectAll: import("bm-admin-ui/es/utils/with-install").SFCWithIn
|
|
|
28
28
|
indeterminate: boolean;
|
|
29
29
|
checkedAll: boolean;
|
|
30
30
|
checkedReverse: boolean;
|
|
31
|
+
searchList: never[];
|
|
31
32
|
};
|
|
32
33
|
};
|
|
33
34
|
emit: (event: "onChange" | "update:value" | "onSelectAll", ...args: any[]) => void;
|
|
@@ -35,6 +36,7 @@ declare const BmSelectAll: import("bm-admin-ui/es/utils/with-install").SFCWithIn
|
|
|
35
36
|
selectAll: (e: any) => void;
|
|
36
37
|
reverseAll: (e: any) => false | undefined;
|
|
37
38
|
onChange: (value: any, option: any) => void;
|
|
39
|
+
onSearch: (val: string | number) => void;
|
|
38
40
|
VNodes: (_: any, { attrs }: {
|
|
39
41
|
attrs: any;
|
|
40
42
|
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -24,7 +24,8 @@ const _hoisted_3 = ["onClick"];
|
|
|
24
24
|
const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("span", { class: "checkbox-label" }, "\u5168\u9009", -1);
|
|
25
25
|
const _hoisted_5 = ["onClick"];
|
|
26
26
|
const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode("span", { class: "checkbox-label" }, "\u53CD\u9009", -1);
|
|
27
|
-
const _hoisted_7 = {
|
|
27
|
+
const _hoisted_7 = { key: 0 };
|
|
28
|
+
const _hoisted_8 = { class: "blue" };
|
|
28
29
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
29
30
|
__name: "selectAll",
|
|
30
31
|
props: {
|
|
@@ -34,7 +35,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
34
35
|
},
|
|
35
36
|
showSelectAll: {
|
|
36
37
|
type: Boolean,
|
|
37
|
-
default:
|
|
38
|
+
default: true
|
|
38
39
|
}
|
|
39
40
|
},
|
|
40
41
|
emits: ["onSelectAll", "update:value", "onChange"],
|
|
@@ -45,7 +46,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
46
|
search: {
|
|
46
47
|
indeterminate: false,
|
|
47
48
|
checkedAll: false,
|
|
48
|
-
checkedReverse: false
|
|
49
|
+
checkedReverse: false,
|
|
50
|
+
searchList: []
|
|
49
51
|
}
|
|
50
52
|
});
|
|
51
53
|
let selectValue = vue.ref([]);
|
|
@@ -57,7 +59,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
59
|
state.search = {
|
|
58
60
|
indeterminate: false,
|
|
59
61
|
checkedAll: false,
|
|
60
|
-
checkedReverse: false
|
|
62
|
+
checkedReverse: false,
|
|
63
|
+
searchList: []
|
|
61
64
|
};
|
|
62
65
|
}
|
|
63
66
|
},
|
|
@@ -67,17 +70,20 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
67
70
|
);
|
|
68
71
|
const selectAll = (e) => {
|
|
69
72
|
let key = "value";
|
|
73
|
+
let list = [];
|
|
70
74
|
if (instance?.attrs.fieldNames || instance?.attrs["field-names"])
|
|
71
75
|
key = (instance?.attrs).fieldNames?.value || (instance?.attrs)["field-names"].value;
|
|
72
76
|
state.search.checkedAll = !state.search.checkedAll;
|
|
73
77
|
state.search.indeterminate = false;
|
|
74
78
|
state.search.checkedReverse = false;
|
|
79
|
+
if (state.search.searchList.length > 0)
|
|
80
|
+
list = state.search.searchList;
|
|
81
|
+
else
|
|
82
|
+
list = instance?.attrs.options;
|
|
75
83
|
if (state.search.checkedAll) {
|
|
76
|
-
selectValue.value =
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
);
|
|
84
|
+
selectValue.value = list.map((v) => {
|
|
85
|
+
return v[key];
|
|
86
|
+
});
|
|
81
87
|
} else {
|
|
82
88
|
selectValue.value = [];
|
|
83
89
|
}
|
|
@@ -120,6 +126,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
120
126
|
option
|
|
121
127
|
});
|
|
122
128
|
};
|
|
129
|
+
const onSearch = (val) => {
|
|
130
|
+
if (val) {
|
|
131
|
+
const key = (instance?.attrs).optionFilterProp || (instance?.attrs)["option-filter-prop"] || "value";
|
|
132
|
+
console.log(key);
|
|
133
|
+
const list = (instance?.attrs).options.filter((ele) => {
|
|
134
|
+
return String(ele[key]).indexOf(String(val)) > -1;
|
|
135
|
+
});
|
|
136
|
+
state.search.searchList = list;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
123
139
|
const VNodes = (_, { attrs }) => {
|
|
124
140
|
return vue.h(attrs.vnodes);
|
|
125
141
|
};
|
|
@@ -130,10 +146,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
130
146
|
"onUpdate:value": _cache[4] || (_cache[4] = ($event) => vue.isRef(selectValue) ? selectValue.value = $event : selectValue = $event),
|
|
131
147
|
class: "bm-select"
|
|
132
148
|
}, _ctx.$attrs, {
|
|
149
|
+
class: { w200: !props.showSelectAll },
|
|
133
150
|
mode: "multiple",
|
|
134
151
|
placeholder: vue.unref(instance)?.attrs.placeholder ? vue.unref(instance)?.attrs.placeholder : "\u8BF7\u9009\u62E9",
|
|
135
152
|
"get-popup-container": (nodes) => nodes.parentNode,
|
|
136
|
-
onChange
|
|
153
|
+
onChange,
|
|
154
|
+
onSearch
|
|
137
155
|
}), {
|
|
138
156
|
dropdownRender: vue.withCtx(({ menuNode: menu }) => [
|
|
139
157
|
vue.createElementVNode("div", _hoisted_1, [
|
|
@@ -160,16 +178,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
160
178
|
_hoisted_6
|
|
161
179
|
], 40, _hoisted_5)
|
|
162
180
|
]),
|
|
163
|
-
vue.
|
|
181
|
+
__props.showSelectAll ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
|
|
164
182
|
vue.createTextVNode(" \u5DF2\u9009\u62E9 "),
|
|
165
|
-
vue.createElementVNode("span",
|
|
183
|
+
vue.createElementVNode("span", _hoisted_8, vue.toDisplayString(vue.unref(selectValue)?.length || 0), 1),
|
|
166
184
|
vue.createTextVNode(" \u9879 ")
|
|
167
|
-
])
|
|
185
|
+
])) : vue.createCommentVNode("v-if", true)
|
|
168
186
|
]),
|
|
169
187
|
vue.createVNode(VNodes, { vnodes: menu }, null, 8, ["vnodes"])
|
|
170
188
|
]),
|
|
171
189
|
_: 1
|
|
172
|
-
}, 16, ["value", "placeholder", "get-popup-container"]);
|
|
190
|
+
}, 16, ["value", "class", "placeholder", "get-popup-container"]);
|
|
173
191
|
};
|
|
174
192
|
}
|
|
175
193
|
});
|
|
@@ -28,6 +28,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
28
28
|
indeterminate: boolean;
|
|
29
29
|
checkedAll: boolean;
|
|
30
30
|
checkedReverse: boolean;
|
|
31
|
+
searchList: never[];
|
|
31
32
|
};
|
|
32
33
|
};
|
|
33
34
|
emit: (event: "onChange" | "update:value" | "onSelectAll", ...args: any[]) => void;
|
|
@@ -35,6 +36,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
35
36
|
selectAll: (e: any) => void;
|
|
36
37
|
reverseAll: (e: any) => false | undefined;
|
|
37
38
|
onChange: (value: any, option: any) => void;
|
|
39
|
+
onSearch: (val: string | number) => void;
|
|
38
40
|
VNodes: (_: any, { attrs }: {
|
|
39
41
|
attrs: any;
|
|
40
42
|
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
package/lib/utils/uniqueId.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
let id = 0;
|
|
4
4
|
function uniqueId() {
|
|
5
|
-
return
|
|
6
|
-
Number(`${Date.now()}${++id}`).toString(36)
|
|
5
|
+
return `bm${Math.random().toString(36).substring(3, 6) +
|
|
6
|
+
Number(`${Date.now()}${++id}`).toString(36)}`;
|
|
7
7
|
}
|
|
8
8
|
exports.default = uniqueId;
|