mvframe 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2054 -5
- package/package.json +1 -1
- package/dist/cpt/BtnGroup.js +0 -65
- package/dist/cpt/Form.js +0 -90
- package/dist/cpt/Frame.js +0 -78
- package/dist/cpt/Icon.js +0 -34
- package/dist/cpt/Input.js +0 -68
- package/dist/cpt/Page.js +0 -55
- package/dist/cpt/Select.js +0 -186
- package/dist/cpt/SelectV2.js +0 -189
- package/dist/cpt/Table.js +0 -334
- package/dist/cpt/Tabs.js +0 -80
- package/dist/cpt/Textarea.js +0 -103
- package/dist/cpt/chip.js +0 -809
- package/dist/vendor.js +0 -61
package/package.json
CHANGED
package/dist/cpt/BtnGroup.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { computed as o, openBlock as s, createElementBlock as i, normalizeClass as d, unref as c, Fragment as y, renderList as v, toDisplayString as S } from "vue";
|
|
2
|
-
/* empty css */
|
|
3
|
-
import { _ as z } from "../vendor.js";
|
|
4
|
-
const h = ["disabled", "onClick"], O = /* @__PURE__ */ Object.assign({
|
|
5
|
-
name: "MvcBtnGroup",
|
|
6
|
-
inheritAttrs: !1
|
|
7
|
-
}, {
|
|
8
|
-
__name: "index",
|
|
9
|
-
props: {
|
|
10
|
-
modelValue: {
|
|
11
|
-
type: [String, Number, Boolean],
|
|
12
|
-
default: void 0
|
|
13
|
-
},
|
|
14
|
-
options: {
|
|
15
|
-
type: Array,
|
|
16
|
-
default: () => []
|
|
17
|
-
},
|
|
18
|
-
valueKey: {
|
|
19
|
-
type: String,
|
|
20
|
-
default: "value"
|
|
21
|
-
},
|
|
22
|
-
labelKey: {
|
|
23
|
-
type: String,
|
|
24
|
-
default: "label"
|
|
25
|
-
},
|
|
26
|
-
disabled: {
|
|
27
|
-
type: Boolean,
|
|
28
|
-
default: !1
|
|
29
|
-
},
|
|
30
|
-
size: {
|
|
31
|
-
type: String,
|
|
32
|
-
default: "default",
|
|
33
|
-
validator: (a) => ["default", "small", "large"].includes(a)
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
emits: ["update:modelValue", "change"],
|
|
37
|
-
setup(a, { emit: g }) {
|
|
38
|
-
const t = a, u = g, r = (e) => e == null ? e : ["Object", "Array"].includes(globalThis.$getType(e)) ? e[t.valueKey] : e, m = (e) => e == null ? "" : ["Object", "Array"].includes(globalThis.$getType(e)) ? e[t.labelKey] : String(e), f = (e) => {
|
|
39
|
-
const l = r(e);
|
|
40
|
-
return l === t.modelValue && (l !== void 0 || t.modelValue !== void 0);
|
|
41
|
-
}, p = (e) => {
|
|
42
|
-
if (t.disabled) return;
|
|
43
|
-
const l = r(e);
|
|
44
|
-
u("update:modelValue", l), u("change", l);
|
|
45
|
-
}, _ = o(() => ({ small: "g4", default: "g6", large: "g8" })[t.size] ?? "g6"), b = o(() => t.size === "small" ? "sizeSmall" : t.size === "large" ? "sizeLarge" : "");
|
|
46
|
-
return (e, l) => (s(), i("div", {
|
|
47
|
-
class: d(["MvcBtnGroup flexMode", [c(_), c(b)]]),
|
|
48
|
-
role: "group"
|
|
49
|
-
}, [
|
|
50
|
-
(s(!0), i(y, null, v(t.options, (n) => (s(), i("button", {
|
|
51
|
-
key: r(n),
|
|
52
|
-
type: "button",
|
|
53
|
-
class: d(["btnItem", { isActive: f(n) }]),
|
|
54
|
-
disabled: t.disabled,
|
|
55
|
-
onClick: (A) => p(n)
|
|
56
|
-
}, S(m(n)), 11, h))), 128))
|
|
57
|
-
], 2));
|
|
58
|
-
}
|
|
59
|
-
}), x = /* @__PURE__ */ z(O, [["__scopeId", "data-v-19946018"]]), k = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
60
|
-
__proto__: null,
|
|
61
|
-
default: x
|
|
62
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
63
|
-
export {
|
|
64
|
-
k as _
|
|
65
|
-
};
|
package/dist/cpt/Form.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { reactive as v, getCurrentInstance as y, computed as j, watch as n, resolveComponent as O, openBlock as h, createElementBlock as w, createVNode as m, unref as a, withCtx as c, renderSlot as x } from "vue";
|
|
2
|
-
import { f as z } from "./chip.js";
|
|
3
|
-
import { deepEqual as u } from "../composition.js";
|
|
4
|
-
const V = { class: "MvcForm" }, S = /* @__PURE__ */ Object.assign({
|
|
5
|
-
name: "MvcForm"
|
|
6
|
-
}, {
|
|
7
|
-
__name: "index",
|
|
8
|
-
props: {
|
|
9
|
-
modelValue: {
|
|
10
|
-
type: Object,
|
|
11
|
-
default: /* @__PURE__ */ Object.create(null)
|
|
12
|
-
},
|
|
13
|
-
rules: {
|
|
14
|
-
type: Object,
|
|
15
|
-
default: /* @__PURE__ */ Object.create(null)
|
|
16
|
-
},
|
|
17
|
-
size: {
|
|
18
|
-
type: String,
|
|
19
|
-
default: "large"
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
setup(f, { expose: i, emit: d }) {
|
|
23
|
-
const t = f, r = v({
|
|
24
|
-
form: {}
|
|
25
|
-
}), { proxy: s } = y(), p = d, _ = async () => {
|
|
26
|
-
var e;
|
|
27
|
-
try {
|
|
28
|
-
return (e = s.$refs) != null && e.form ? (await s.$refs.form.validate(), g()) : !1;
|
|
29
|
-
} catch {
|
|
30
|
-
return !1;
|
|
31
|
-
}
|
|
32
|
-
}, g = () => r.form, b = j(() => {
|
|
33
|
-
const e = {};
|
|
34
|
-
for (let l in t.rules)
|
|
35
|
-
e[l] = t.rules[l].map((o) => ({
|
|
36
|
-
...o,
|
|
37
|
-
...o.message && { message: window.$l(o.message) }
|
|
38
|
-
}));
|
|
39
|
-
return e;
|
|
40
|
-
});
|
|
41
|
-
return n(
|
|
42
|
-
() => r.form,
|
|
43
|
-
(e) => {
|
|
44
|
-
e && !u(e, t.modelValue) && p("update:modelValue", e);
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
deep: !0
|
|
48
|
-
}
|
|
49
|
-
), n(
|
|
50
|
-
() => t.modelValue,
|
|
51
|
-
(e) => {
|
|
52
|
-
e && !u(e, r.form) && (r.form = e);
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
immediate: !0,
|
|
56
|
-
deep: !0
|
|
57
|
-
}
|
|
58
|
-
), i({
|
|
59
|
-
validate: _
|
|
60
|
-
}), (e, l) => {
|
|
61
|
-
const o = O("el-form");
|
|
62
|
-
return h(), w("div", V, [
|
|
63
|
-
m(o, {
|
|
64
|
-
ref: "form",
|
|
65
|
-
model: a(r).form,
|
|
66
|
-
rules: a(b),
|
|
67
|
-
size: t.size,
|
|
68
|
-
"validate-on-rule-change": !1,
|
|
69
|
-
"label-position": "top"
|
|
70
|
-
}, {
|
|
71
|
-
default: c(() => [
|
|
72
|
-
m(a(z), null, {
|
|
73
|
-
default: c(() => [
|
|
74
|
-
x(e.$slots, "default")
|
|
75
|
-
]),
|
|
76
|
-
_: 3
|
|
77
|
-
})
|
|
78
|
-
]),
|
|
79
|
-
_: 3
|
|
80
|
-
}, 8, ["model", "rules", "size"])
|
|
81
|
-
]);
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}), F = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
85
|
-
__proto__: null,
|
|
86
|
-
default: S
|
|
87
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
88
|
-
export {
|
|
89
|
-
F as _
|
|
90
|
-
};
|
package/dist/cpt/Frame.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { reactive as v, inject as h, onMounted as j, resolveComponent as y, openBlock as l, createElementBlock as O, createVNode as r, normalizeProps as d, guardReactiveProps as u, createSlots as T, withCtx as f, renderSlot as m, createElementVNode as $, unref as k, createBlock as M, createCommentVNode as C } from "vue";
|
|
2
|
-
import { M as I, T as B, F as E } from "./chip.js";
|
|
3
|
-
/* empty css */
|
|
4
|
-
import { _ as F } from "../vendor.js";
|
|
5
|
-
const P = { class: "MvcFrame" }, S = { class: "PageArea" }, w = /* @__PURE__ */ Object.assign({
|
|
6
|
-
name: "MvcFrame",
|
|
7
|
-
inheritAttrs: !1
|
|
8
|
-
}, {
|
|
9
|
-
__name: "index",
|
|
10
|
-
props: {
|
|
11
|
-
/* menu包含:
|
|
12
|
-
@params
|
|
13
|
-
options: vue-router的路由表
|
|
14
|
-
iconClass: 菜单图标样式名,iconfont创建时的样式名或其它自定义规则
|
|
15
|
-
logo: 菜单logo, vue dom
|
|
16
|
-
logomini: 菜单logo缩小时的样子, vue dom
|
|
17
|
-
*/
|
|
18
|
-
menu: {
|
|
19
|
-
type: Object,
|
|
20
|
-
default: /* @__PURE__ */ Object.create(null)
|
|
21
|
-
},
|
|
22
|
-
page: {
|
|
23
|
-
type: Object,
|
|
24
|
-
default: /* @__PURE__ */ Object.create(null)
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
setup(p) {
|
|
28
|
-
const c = p;
|
|
29
|
-
v({});
|
|
30
|
-
const _ = h("store").tab();
|
|
31
|
-
j(() => {
|
|
32
|
-
g();
|
|
33
|
-
});
|
|
34
|
-
const g = () => {
|
|
35
|
-
b();
|
|
36
|
-
}, b = () => {
|
|
37
|
-
var e, n, o, i, s, a;
|
|
38
|
-
if ((n = (e = globalThis.$config) == null ? void 0 : e.iconfont) != null && n.url) {
|
|
39
|
-
const t = document.createElement("script");
|
|
40
|
-
if (t.id = "iconfont", t.type = "text/javascript", t.src = (i = (o = globalThis.$config) == null ? void 0 : o.iconfont) == null ? void 0 : i.url, document.getElementById("iconfont"))
|
|
41
|
-
return;
|
|
42
|
-
document.head.appendChild(t), (a = (s = globalThis.$config) == null ? void 0 : s.iconfont) == null || delete a.url;
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return (e, n) => {
|
|
46
|
-
const o = y("router-view");
|
|
47
|
-
return l(), O("div", P, [
|
|
48
|
-
r(I, d(u(c.menu)), T({ _: 2 }, [
|
|
49
|
-
e.$slots.logo ? {
|
|
50
|
-
name: "logo",
|
|
51
|
-
fn: f(() => [
|
|
52
|
-
m(e.$slots, "logo", {}, void 0, !0)
|
|
53
|
-
]),
|
|
54
|
-
key: "0"
|
|
55
|
-
} : void 0,
|
|
56
|
-
e.$slots.logomini ? {
|
|
57
|
-
name: "logomini",
|
|
58
|
-
fn: f(() => [
|
|
59
|
-
m(e.$slots, "logomini", {}, void 0, !0)
|
|
60
|
-
]),
|
|
61
|
-
key: "1"
|
|
62
|
-
} : void 0
|
|
63
|
-
]), 1040),
|
|
64
|
-
$("div", S, [
|
|
65
|
-
k(_).useTab ? (l(), M(B, { key: 0 })) : C("", !0),
|
|
66
|
-
r(o, d(u(c.page)), null, 16),
|
|
67
|
-
r(E)
|
|
68
|
-
])
|
|
69
|
-
]);
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
}), x = /* @__PURE__ */ F(w, [["__scopeId", "data-v-d0100e71"]]), D = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
73
|
-
__proto__: null,
|
|
74
|
-
default: x
|
|
75
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
76
|
-
export {
|
|
77
|
-
D as _
|
|
78
|
-
};
|
package/dist/cpt/Icon.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { reactive as c, onMounted as i, openBlock as r, createElementBlock as l, createElementVNode as a, unref as s } from "vue";
|
|
2
|
-
const _ = {
|
|
3
|
-
class: "MvcIcon",
|
|
4
|
-
"aria-hidden": "true"
|
|
5
|
-
}, f = ["xlink:href"], p = /* @__PURE__ */ Object.assign({
|
|
6
|
-
name: "MvcIcon"
|
|
7
|
-
}, {
|
|
8
|
-
__name: "index",
|
|
9
|
-
props: {
|
|
10
|
-
name: {
|
|
11
|
-
type: String,
|
|
12
|
-
default: "cloud"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
setup(o) {
|
|
16
|
-
const t = c({
|
|
17
|
-
prefix: "imc"
|
|
18
|
-
});
|
|
19
|
-
return i(() => {
|
|
20
|
-
var e, n;
|
|
21
|
-
(n = (e = globalThis.$config) == null ? void 0 : e.iconfont) != null && n.prefix && (t.prefix = globalThis.$config.iconfont.prefix);
|
|
22
|
-
}), (e, n) => (r(), l("svg", _, [
|
|
23
|
-
a("use", {
|
|
24
|
-
"xlink:href": `#${s(t).prefix}-${o.name}`
|
|
25
|
-
}, null, 8, f)
|
|
26
|
-
]));
|
|
27
|
-
}
|
|
28
|
-
}), d = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
29
|
-
__proto__: null,
|
|
30
|
-
default: p
|
|
31
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
32
|
-
export {
|
|
33
|
-
d as _
|
|
34
|
-
};
|
package/dist/cpt/Input.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { ref as C, reactive as S, getCurrentInstance as b, onMounted as y, nextTick as V, computed as v, watch as w, onUnmounted as E, resolveComponent as I, openBlock as L, createBlock as k, mergeProps as M, unref as s } from "vue";
|
|
2
|
-
const $ = /* @__PURE__ */ Object.assign({
|
|
3
|
-
name: "MvcInput"
|
|
4
|
-
}, {
|
|
5
|
-
__name: "index",
|
|
6
|
-
props: {
|
|
7
|
-
modelValue: {
|
|
8
|
-
type: [String, Number],
|
|
9
|
-
default: ""
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
emits: [
|
|
13
|
-
"update:modelValue",
|
|
14
|
-
"input",
|
|
15
|
-
"change",
|
|
16
|
-
"blur",
|
|
17
|
-
"focus"
|
|
18
|
-
],
|
|
19
|
-
setup(f, { emit: g }) {
|
|
20
|
-
const _ = f, a = C(null);
|
|
21
|
-
let e = null;
|
|
22
|
-
const n = S({
|
|
23
|
-
val: "",
|
|
24
|
-
isComposing: !1
|
|
25
|
-
}), l = g, { proxy: u } = b();
|
|
26
|
-
y(() => {
|
|
27
|
-
var o, i, r;
|
|
28
|
-
const t = (o = a.value) == null ? void 0 : o.$el;
|
|
29
|
-
e = ((i = t == null ? void 0 : t.querySelector) == null ? void 0 : i.call(t, "input")) || ((r = t == null ? void 0 : t.querySelector) == null ? void 0 : r.call(t, "textarea")), e && (e.addEventListener("compositionstart", m), e.addEventListener("compositionend", p));
|
|
30
|
-
});
|
|
31
|
-
const m = () => {
|
|
32
|
-
n.isComposing = !0;
|
|
33
|
-
}, p = () => {
|
|
34
|
-
n.isComposing = !1, V(() => c(n.val));
|
|
35
|
-
}, x = (t) => {
|
|
36
|
-
n.isComposing || c(t);
|
|
37
|
-
}, c = (t) => {
|
|
38
|
-
l("update:modelValue", t), l("input", t);
|
|
39
|
-
}, h = v(() => !!(u.$attrs.maxlength || d.value)), d = v(() => u.$attrs.max);
|
|
40
|
-
return w(
|
|
41
|
-
() => _.modelValue,
|
|
42
|
-
(t) => {
|
|
43
|
-
const o = String(t ?? "");
|
|
44
|
-
String(n.val) !== o && (n.val = o);
|
|
45
|
-
},
|
|
46
|
-
{ immediate: !0 }
|
|
47
|
-
), E(() => {
|
|
48
|
-
e && (e.removeEventListener("compositionstart", m), e.removeEventListener("compositionend", p), e = null);
|
|
49
|
-
}), (t, o) => {
|
|
50
|
-
const i = I("el-input");
|
|
51
|
-
return L(), k(i, M({
|
|
52
|
-
ref_key: "inputRef",
|
|
53
|
-
ref: a,
|
|
54
|
-
modelValue: s(n).val,
|
|
55
|
-
"onUpdate:modelValue": o[0] || (o[0] = (r) => s(n).val = r),
|
|
56
|
-
"show-word-limit": s(h),
|
|
57
|
-
maxlength: s(d),
|
|
58
|
-
class: "MvcInput"
|
|
59
|
-
}, t.$attrs, { onInput: x }), null, 16, ["modelValue", "show-word-limit", "maxlength"]);
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}), B = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
63
|
-
__proto__: null,
|
|
64
|
-
default: $
|
|
65
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
66
|
-
export {
|
|
67
|
-
B as _
|
|
68
|
-
};
|
package/dist/cpt/Page.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { getCurrentInstance as _, inject as p, computed as i, openBlock as o, createElementBlock as r, createElementVNode as s, renderSlot as a, unref as g, Fragment as h, toDisplayString as d, createCommentVNode as n } from "vue";
|
|
2
|
-
/* empty css */
|
|
3
|
-
import { _ as f } from "../vendor.js";
|
|
4
|
-
const m = { class: "MvcPage" }, b = {
|
|
5
|
-
key: 0,
|
|
6
|
-
class: "PageHeader"
|
|
7
|
-
}, v = { class: "PageHeaderLeft" }, y = { class: "PageHeaderTitle" }, P = { class: "PageHeaderSubTitle" }, H = { class: "PageHeaderRight" }, S = { class: "PageBody" }, k = /* @__PURE__ */ Object.assign({
|
|
8
|
-
name: "MvcPage",
|
|
9
|
-
inheritAttrs: !1
|
|
10
|
-
}, {
|
|
11
|
-
__name: "index",
|
|
12
|
-
props: {
|
|
13
|
-
title: {
|
|
14
|
-
type: String,
|
|
15
|
-
default: ""
|
|
16
|
-
},
|
|
17
|
-
subtitle: {
|
|
18
|
-
type: String,
|
|
19
|
-
default: ""
|
|
20
|
-
},
|
|
21
|
-
noheader: {
|
|
22
|
-
type: Boolean,
|
|
23
|
-
default: !1
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
setup(l) {
|
|
27
|
-
const e = l, { proxy: $ } = _(), c = p("store").tab(), u = i(() => e.title || e.subtitle);
|
|
28
|
-
return i(() => c.useTab ? {
|
|
29
|
-
minHeight: "calc(100vh - 48px - 36px)"
|
|
30
|
-
} : {
|
|
31
|
-
minHeight: "calc(100vh - 48px)"
|
|
32
|
-
}), (t, x) => (o(), r("div", m, [
|
|
33
|
-
e.noheader ? n("", !0) : (o(), r("div", b, [
|
|
34
|
-
s("div", v, [
|
|
35
|
-
t.$slots.header ? a(t.$slots, "header", { key: 0 }, void 0, !0) : g(u) ? (o(), r(h, { key: 1 }, [
|
|
36
|
-
s("h3", y, d(e.title), 1),
|
|
37
|
-
s("p", P, d(e.subtitle), 1)
|
|
38
|
-
], 64)) : n("", !0)
|
|
39
|
-
]),
|
|
40
|
-
s("div", H, [
|
|
41
|
-
t.$slots.right ? a(t.$slots, "right", { key: 0 }, void 0, !0) : n("", !0)
|
|
42
|
-
])
|
|
43
|
-
])),
|
|
44
|
-
s("div", S, [
|
|
45
|
-
a(t.$slots, "default", {}, void 0, !0)
|
|
46
|
-
])
|
|
47
|
-
]));
|
|
48
|
-
}
|
|
49
|
-
}), T = /* @__PURE__ */ f(k, [["__scopeId", "data-v-7d18d3b1"]]), C = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
50
|
-
__proto__: null,
|
|
51
|
-
default: T
|
|
52
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
53
|
-
export {
|
|
54
|
-
C as _
|
|
55
|
-
};
|
package/dist/cpt/Select.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { ref as c, computed as r, useAttrs as U, watch as C, resolveComponent as b, openBlock as A, createBlock as T, mergeProps as F, unref as u, createSlots as W, withCtx as i, renderSlot as $, createElementVNode as V, isRef as q, createTextVNode as w, toDisplayString as v, createElementBlock as G, createVNode as H } from "vue";
|
|
2
|
-
const I = { class: "flexMode hb vc" }, L = { key: 1 }, Q = { class: "tag" }, X = { class: "flexMode hr" }, Y = /* @__PURE__ */ Object.assign({
|
|
3
|
-
name: "MvcSelect",
|
|
4
|
-
inheritAttrs: !1
|
|
5
|
-
}, {
|
|
6
|
-
__name: "index",
|
|
7
|
-
props: {
|
|
8
|
-
modelValue: {
|
|
9
|
-
type: [String, Number, Array],
|
|
10
|
-
default: void 0
|
|
11
|
-
},
|
|
12
|
-
multiple: {
|
|
13
|
-
type: Boolean,
|
|
14
|
-
default: !1
|
|
15
|
-
},
|
|
16
|
-
filterable: {
|
|
17
|
-
type: Boolean,
|
|
18
|
-
default: !1
|
|
19
|
-
},
|
|
20
|
-
options: {
|
|
21
|
-
type: Array,
|
|
22
|
-
default: () => []
|
|
23
|
-
},
|
|
24
|
-
valueKey: {
|
|
25
|
-
type: String,
|
|
26
|
-
default: "value"
|
|
27
|
-
},
|
|
28
|
-
labelKey: {
|
|
29
|
-
type: String,
|
|
30
|
-
default: "label"
|
|
31
|
-
},
|
|
32
|
-
selectAllTxt: {
|
|
33
|
-
type: String,
|
|
34
|
-
default: "All"
|
|
35
|
-
},
|
|
36
|
-
confirmTxt: {
|
|
37
|
-
type: String,
|
|
38
|
-
default: "Confirm"
|
|
39
|
-
},
|
|
40
|
-
nowrap: {
|
|
41
|
-
type: Boolean,
|
|
42
|
-
default: !1
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
emits: ["update:modelValue", "change"],
|
|
46
|
-
setup(g, { emit: O }) {
|
|
47
|
-
const l = g, h = c(null), a = c([]), s = c(!1), p = c(!1), _ = c(!1), f = O, B = (e) => {
|
|
48
|
-
l.multiple ? (a.value = Array.isArray(e) ? [...e] : [], m()) : (f("update:modelValue", e), f("change", e));
|
|
49
|
-
}, M = (e) => {
|
|
50
|
-
if (s.value = e, e && l.multiple) {
|
|
51
|
-
const t = l.modelValue;
|
|
52
|
-
a.value = Array.isArray(t) ? [...t] : t ? [t] : [], m();
|
|
53
|
-
}
|
|
54
|
-
}, d = () => {
|
|
55
|
-
var o;
|
|
56
|
-
if (!l.filterable || !s.value) return S();
|
|
57
|
-
const e = h.value, t = ((o = e == null ? void 0 : e.optionsArray) == null ? void 0 : o.value) ?? (e == null ? void 0 : e.optionsArray) ?? [];
|
|
58
|
-
return Array.isArray(t) ? t.filter((n) => n.visible && !n.isDisabled).map((n) => n.value) : S();
|
|
59
|
-
}, N = (e) => {
|
|
60
|
-
_.value = !1;
|
|
61
|
-
const t = d();
|
|
62
|
-
if (e)
|
|
63
|
-
a.value = [.../* @__PURE__ */ new Set([...a.value, ...t])];
|
|
64
|
-
else {
|
|
65
|
-
const o = new Set(t);
|
|
66
|
-
a.value = a.value.filter((n) => !o.has(n));
|
|
67
|
-
}
|
|
68
|
-
}, K = () => {
|
|
69
|
-
var e, t;
|
|
70
|
-
l.multiple && (f("update:modelValue", a.value), f("change", a.value), (t = (e = h.value) == null ? void 0 : e.blur) == null || t.call(e));
|
|
71
|
-
}, S = () => {
|
|
72
|
-
const e = l.valueKey;
|
|
73
|
-
return (l.options || []).map((t) => typeof t == "object" ? t[e] : t);
|
|
74
|
-
}, m = () => {
|
|
75
|
-
const e = d(), t = new Set(a.value ?? []), o = e.filter((y) => t.has(y)).length, n = e.length;
|
|
76
|
-
p.value = n > 0 && o === n, _.value = o > 0 && o < n;
|
|
77
|
-
}, j = r(() => l.multiple && s.value ? a.value : l.modelValue), P = r(() => {
|
|
78
|
-
const {
|
|
79
|
-
modelValue: e,
|
|
80
|
-
valueKey: t,
|
|
81
|
-
labelKey: o,
|
|
82
|
-
selectAllTxt: n,
|
|
83
|
-
confirmTxt: y,
|
|
84
|
-
nowrap: x,
|
|
85
|
-
...k
|
|
86
|
-
} = l, J = k.props ?? {};
|
|
87
|
-
return {
|
|
88
|
-
...k,
|
|
89
|
-
props: {
|
|
90
|
-
...J,
|
|
91
|
-
value: t,
|
|
92
|
-
label: o
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}), R = r(
|
|
96
|
-
() => l.nowrap ? {
|
|
97
|
-
collapseTags: !0,
|
|
98
|
-
collapseTagsTooltip: !0,
|
|
99
|
-
maxCollapseTags: 1,
|
|
100
|
-
tagTooltip: { popperStyle: { maxWidth: "400px" } }
|
|
101
|
-
} : {}
|
|
102
|
-
), z = r(() => ({
|
|
103
|
-
...R.value,
|
|
104
|
-
...U(),
|
|
105
|
-
...P.value
|
|
106
|
-
})), D = r(() => {
|
|
107
|
-
const e = l.multiple && s.value ? a.value : l.modelValue, t = Array.isArray(e) ? e : e ? [e] : [];
|
|
108
|
-
if (!l.filterable || !s.value) return t.length;
|
|
109
|
-
const o = d();
|
|
110
|
-
return t.filter((n) => o.includes(n)).length;
|
|
111
|
-
}), E = r(() => d().length);
|
|
112
|
-
return C(a, () => m(), { deep: !0 }), C(
|
|
113
|
-
() => l.modelValue,
|
|
114
|
-
(e) => {
|
|
115
|
-
if (l.multiple && s.value) {
|
|
116
|
-
const t = Array.isArray(e) ? [...e] : e ? [e] : [];
|
|
117
|
-
JSON.stringify(t) !== JSON.stringify(a.value) && (a.value = t, m());
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
), (e, t) => {
|
|
121
|
-
const o = b("el-checkbox"), n = b("el-button"), y = b("el-select");
|
|
122
|
-
return A(), T(y, F({
|
|
123
|
-
ref_key: "selectRef",
|
|
124
|
-
ref: h,
|
|
125
|
-
"model-value": u(j),
|
|
126
|
-
"tag-effect": "plain",
|
|
127
|
-
class: "MvcSelect"
|
|
128
|
-
}, u(z), {
|
|
129
|
-
"onUpdate:modelValue": B,
|
|
130
|
-
onVisibleChange: M
|
|
131
|
-
}), W({
|
|
132
|
-
default: i(() => [
|
|
133
|
-
$(e.$slots, "default")
|
|
134
|
-
]),
|
|
135
|
-
_: 2
|
|
136
|
-
}, [
|
|
137
|
-
l.filterable ? {
|
|
138
|
-
name: "header",
|
|
139
|
-
fn: i(() => [
|
|
140
|
-
V("div", I, [
|
|
141
|
-
l.multiple ? (A(), T(o, {
|
|
142
|
-
key: 0,
|
|
143
|
-
modelValue: u(p),
|
|
144
|
-
"onUpdate:modelValue": t[0] || (t[0] = (x) => q(p) ? p.value = x : null),
|
|
145
|
-
indeterminate: u(_),
|
|
146
|
-
class: "h24",
|
|
147
|
-
onChange: N
|
|
148
|
-
}, {
|
|
149
|
-
default: i(() => [
|
|
150
|
-
w(v(g.selectAllTxt), 1)
|
|
151
|
-
]),
|
|
152
|
-
_: 1
|
|
153
|
-
}, 8, ["modelValue", "indeterminate"])) : (A(), G("span", L)),
|
|
154
|
-
V("span", Q, v(u(D)) + "/" + v(u(E)), 1)
|
|
155
|
-
])
|
|
156
|
-
]),
|
|
157
|
-
key: "0"
|
|
158
|
-
} : void 0,
|
|
159
|
-
l.multiple ? {
|
|
160
|
-
name: "footer",
|
|
161
|
-
fn: i(() => [
|
|
162
|
-
V("div", X, [
|
|
163
|
-
H(n, {
|
|
164
|
-
type: "primary",
|
|
165
|
-
size: "small",
|
|
166
|
-
onClick: K
|
|
167
|
-
}, {
|
|
168
|
-
default: i(() => [
|
|
169
|
-
w(v(g.confirmTxt), 1)
|
|
170
|
-
]),
|
|
171
|
-
_: 1
|
|
172
|
-
})
|
|
173
|
-
])
|
|
174
|
-
]),
|
|
175
|
-
key: "1"
|
|
176
|
-
} : void 0
|
|
177
|
-
]), 1040, ["model-value"]);
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
}), ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
181
|
-
__proto__: null,
|
|
182
|
-
default: Y
|
|
183
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
184
|
-
export {
|
|
185
|
-
ee as _
|
|
186
|
-
};
|