app/js/index-34aa487b.js

123 lines
3.3 KiB
JavaScript
Raw Permalink Normal View History

2025-02-13 08:26:53 +08:00
import {
H as e,
I as a,
ae as r,
ad as t,
v as n,
J as o,
K as l,
aE as s,
bm as i,
Q as d,
} from "./index-476be0bb.js";
const [m, u] = e("form");
const c = d(
a({
name: m,
props: {
colon: Boolean,
disabled: Boolean,
readonly: Boolean,
showError: Boolean,
labelWidth: o,
labelAlign: String,
inputAlign: String,
scrollToError: Boolean,
validateFirst: Boolean,
submitOnEnter: l,
showErrorMessage: l,
errorMessageAlign: String,
validateTrigger: { type: [String, Array], default: "onBlur" },
},
emits: ["submit", "failed"],
setup(e, { emit: a, slots: o }) {
const { children: l, linkChildren: d } = r(i),
m = (e) => (e ? l.filter((a) => e.includes(a.name)) : l),
c = (a) => {
return "string" == typeof a
? ((e) => {
const a = l.find((a) => a.name === e);
return a
? new Promise((e, r) => {
a.validate().then((a) => {
a ? r(a) : e();
});
})
: Promise.reject();
})(a)
: e.validateFirst
? ((r = a),
new Promise((e, a) => {
const t = [];
m(r)
.reduce(
(e, a) =>
e.then(() => {
if (!t.length)
return a.validate().then((e) => {
e && t.push(e);
});
}),
Promise.resolve()
)
.then(() => {
t.length ? a(t) : e();
});
}))
: ((e) =>
new Promise((a, r) => {
const t = m(e);
Promise.all(t.map((e) => e.validate())).then((e) => {
(e = e.filter(Boolean)).length ? r(e) : a();
});
}))(a);
var r;
},
g = (e, a) => {
l.some((r) => r.name === e && (r.$el.scrollIntoView(a), !0));
},
h = () =>
l.reduce(
(e, a) => (void 0 !== a.name && (e[a.name] = a.formValue.value), e),
{}
),
f = () => {
const r = h();
c()
.then(() => a("submit", r))
.catch((t) => {
a("failed", { values: r, errors: t }),
e.scrollToError && t[0].name && g(t[0].name);
});
},
v = (e) => {
s(e), f();
};
return (
d({ props: e }),
t({
submit: f,
validate: c,
getValues: h,
scrollToField: g,
resetValidation: (e) => {
"string" == typeof e && (e = [e]);
m(e).forEach((e) => {
e.resetValidation();
});
},
getValidationStatus: () =>
l.reduce((e, a) => ((e[a.name] = a.getValidationStatus()), e), {}),
}),
() => {
var e;
return n("form", { class: u(), onSubmit: v }, [
null == (e = o.default) ? void 0 : e.call(o),
]);
}
);
},
})
);
export { c as F };