254 lines
8.7 KiB
JavaScript
254 lines
8.7 KiB
JavaScript
|
"use strict";
|
||
|
var __defProp = Object.defineProperty;
|
||
|
var __defProps = Object.defineProperties;
|
||
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
||
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
||
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
||
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
||
|
var __spreadValues = (a, b) => {
|
||
|
for (var prop in b || (b = {}))
|
||
|
if (__hasOwnProp.call(b, prop))
|
||
|
__defNormalProp(a, prop, b[prop]);
|
||
|
if (__getOwnPropSymbols)
|
||
|
for (var prop of __getOwnPropSymbols(b)) {
|
||
|
if (__propIsEnum.call(b, prop))
|
||
|
__defNormalProp(a, prop, b[prop]);
|
||
|
}
|
||
|
return a;
|
||
|
};
|
||
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
||
|
const common_vendor = require("../../../../common/vendor.js");
|
||
|
if (!Array) {
|
||
|
const _easycom_wd_input2 = common_vendor.resolveComponent("wd-input");
|
||
|
const _easycom_wd_button2 = common_vendor.resolveComponent("wd-button");
|
||
|
const _easycom_wd_popup2 = common_vendor.resolveComponent("wd-popup");
|
||
|
(_easycom_wd_input2 + _easycom_wd_button2 + _easycom_wd_popup2)();
|
||
|
}
|
||
|
const _easycom_wd_input = () => "../wd-input/wd-input.js";
|
||
|
const _easycom_wd_button = () => "../wd-button/wd-button.js";
|
||
|
const _easycom_wd_popup = () => "../wd-popup/wd-popup.js";
|
||
|
if (!Math) {
|
||
|
(_easycom_wd_input + _easycom_wd_button + _easycom_wd_popup)();
|
||
|
}
|
||
|
const __default__ = {
|
||
|
name: "wd-message-box",
|
||
|
options: {
|
||
|
virtualHost: true,
|
||
|
addGlobalClass: true,
|
||
|
styleIsolation: "shared"
|
||
|
}
|
||
|
};
|
||
|
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent(__spreadProps(__spreadValues({}, __default__), {
|
||
|
props: common_vendor.messageBoxProps,
|
||
|
setup(__props) {
|
||
|
const props = __props;
|
||
|
const { translate } = common_vendor.useTranslate("message-box");
|
||
|
const rootClass = common_vendor.computed(() => {
|
||
|
return `wd-message-box__container ${props.customClass}`;
|
||
|
});
|
||
|
const bodyClass = common_vendor.computed(() => {
|
||
|
return `wd-message-box__body ${!title.value ? "is-no-title" : ""} ${type.value === "prompt" ? "is-prompt" : ""}`;
|
||
|
});
|
||
|
const messageOptionKey = props.selector ? common_vendor.messageDefaultOptionKey + props.selector : common_vendor.messageDefaultOptionKey;
|
||
|
const messageOption = common_vendor.inject(messageOptionKey, common_vendor.ref(common_vendor.defaultOptions$1));
|
||
|
const msg = common_vendor.ref("");
|
||
|
let onConfirm = null;
|
||
|
let onCancel = null;
|
||
|
let beforeConfirm = null;
|
||
|
const show = common_vendor.ref(false);
|
||
|
const title = common_vendor.ref("");
|
||
|
const showCancelButton = common_vendor.ref(false);
|
||
|
const closeOnClickModal = common_vendor.ref(true);
|
||
|
const confirmButtonText = common_vendor.ref("");
|
||
|
const cancelButtonText = common_vendor.ref("");
|
||
|
const type = common_vendor.ref("alert");
|
||
|
const inputType = common_vendor.ref("text");
|
||
|
const inputValue = common_vendor.ref("");
|
||
|
const inputPlaceholder = common_vendor.ref("");
|
||
|
const inputPattern = common_vendor.ref();
|
||
|
let inputValidate = null;
|
||
|
const inputError = common_vendor.ref("");
|
||
|
const showErr = common_vendor.ref(false);
|
||
|
const zIndex = common_vendor.ref(99);
|
||
|
const lazyRender = common_vendor.ref(true);
|
||
|
common_vendor.watch(
|
||
|
() => messageOption.value,
|
||
|
(newVal) => {
|
||
|
reset(newVal);
|
||
|
},
|
||
|
{
|
||
|
deep: true,
|
||
|
immediate: true
|
||
|
}
|
||
|
);
|
||
|
common_vendor.watch(
|
||
|
() => show.value,
|
||
|
(newValue) => {
|
||
|
resetErr(newValue);
|
||
|
},
|
||
|
{
|
||
|
deep: true,
|
||
|
immediate: true
|
||
|
}
|
||
|
);
|
||
|
function toggleModal(action) {
|
||
|
if (action === "modal" && !closeOnClickModal.value) {
|
||
|
return;
|
||
|
}
|
||
|
if (type.value === "prompt" && action === "confirm" && !validate()) {
|
||
|
return;
|
||
|
}
|
||
|
switch (action) {
|
||
|
case "confirm":
|
||
|
if (beforeConfirm) {
|
||
|
beforeConfirm({
|
||
|
resolve: (isPass) => {
|
||
|
if (isPass) {
|
||
|
handleConfirm({
|
||
|
action,
|
||
|
value: inputValue.value
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
} else {
|
||
|
handleConfirm({
|
||
|
action,
|
||
|
value: inputValue.value
|
||
|
});
|
||
|
}
|
||
|
break;
|
||
|
case "cancel":
|
||
|
handleCancel({
|
||
|
action
|
||
|
});
|
||
|
break;
|
||
|
default:
|
||
|
handleCancel({
|
||
|
action: "modal"
|
||
|
});
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
function handleConfirm(result) {
|
||
|
show.value = false;
|
||
|
if (common_vendor.isFunction(onConfirm)) {
|
||
|
onConfirm(result);
|
||
|
}
|
||
|
}
|
||
|
function handleCancel(result) {
|
||
|
show.value = false;
|
||
|
if (common_vendor.isFunction(onCancel)) {
|
||
|
onCancel(result);
|
||
|
}
|
||
|
}
|
||
|
function validate() {
|
||
|
if (inputPattern.value && !inputPattern.value.test(String(inputValue.value))) {
|
||
|
showErr.value = true;
|
||
|
return false;
|
||
|
}
|
||
|
if (typeof inputValidate === "function") {
|
||
|
const validateResult = inputValidate(inputValue.value);
|
||
|
if (!validateResult) {
|
||
|
showErr.value = true;
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
showErr.value = false;
|
||
|
return true;
|
||
|
}
|
||
|
function resetErr(val) {
|
||
|
if (val === false) {
|
||
|
showErr.value = false;
|
||
|
}
|
||
|
}
|
||
|
function inputValChange(value) {
|
||
|
if (value === "") {
|
||
|
showErr.value = false;
|
||
|
return;
|
||
|
}
|
||
|
inputValue.value = value;
|
||
|
}
|
||
|
function reset(option) {
|
||
|
if (option) {
|
||
|
title.value = common_vendor.isDef(option.title) ? option.title : "";
|
||
|
showCancelButton.value = common_vendor.isDef(option.showCancelButton) ? option.showCancelButton : false;
|
||
|
show.value = option.show;
|
||
|
closeOnClickModal.value = option.closeOnClickModal;
|
||
|
confirmButtonText.value = option.confirmButtonText;
|
||
|
cancelButtonText.value = option.cancelButtonText;
|
||
|
msg.value = option.msg;
|
||
|
type.value = option.type;
|
||
|
inputType.value = option.inputType;
|
||
|
inputValue.value = option.inputValue;
|
||
|
inputPlaceholder.value = option.inputPlaceholder;
|
||
|
inputPattern.value = option.inputPattern;
|
||
|
inputValidate = option.inputValidate;
|
||
|
onConfirm = option.onConfirm;
|
||
|
onCancel = option.onCancel;
|
||
|
beforeConfirm = option.beforeConfirm;
|
||
|
inputError.value = option.inputError;
|
||
|
showErr.value = option.showErr;
|
||
|
zIndex.value = option.zIndex;
|
||
|
lazyRender.value = option.lazyRender;
|
||
|
}
|
||
|
}
|
||
|
return (_ctx, _cache) => {
|
||
|
return common_vendor.e({
|
||
|
a: title.value
|
||
|
}, title.value ? {
|
||
|
b: common_vendor.t(title.value)
|
||
|
} : {}, {
|
||
|
c: type.value === "prompt"
|
||
|
}, type.value === "prompt" ? common_vendor.e({
|
||
|
d: common_vendor.o(inputValChange),
|
||
|
e: common_vendor.o(($event) => inputValue.value = $event),
|
||
|
f: common_vendor.p({
|
||
|
type: inputType.value,
|
||
|
size: "large",
|
||
|
placeholder: inputPlaceholder.value || "请输入",
|
||
|
modelValue: inputValue.value
|
||
|
}),
|
||
|
g: showErr.value
|
||
|
}, showErr.value ? {
|
||
|
h: common_vendor.t(inputError.value || common_vendor.unref(translate)("inputNoValidate"))
|
||
|
} : {}) : {}, {
|
||
|
i: common_vendor.t(msg.value),
|
||
|
j: common_vendor.n(bodyClass.value),
|
||
|
k: showCancelButton.value
|
||
|
}, showCancelButton.value ? {
|
||
|
l: common_vendor.t(cancelButtonText.value || common_vendor.unref(translate)("cancel")),
|
||
|
m: common_vendor.o(($event) => toggleModal("cancel")),
|
||
|
n: common_vendor.p({
|
||
|
type: "info",
|
||
|
block: true,
|
||
|
["custom-style"]: "margin-right: 16px;"
|
||
|
})
|
||
|
} : {}, {
|
||
|
o: common_vendor.t(confirmButtonText.value || common_vendor.unref(translate)("confirm")),
|
||
|
p: common_vendor.o(($event) => toggleModal("confirm")),
|
||
|
q: common_vendor.p({
|
||
|
block: true
|
||
|
}),
|
||
|
r: common_vendor.n(`wd-message-box__actions ${showCancelButton.value ? "wd-message-box__flex" : "wd-message-box__block"}`),
|
||
|
s: common_vendor.n(rootClass.value),
|
||
|
t: common_vendor.o(($event) => toggleModal("modal")),
|
||
|
v: common_vendor.o(($event) => show.value = $event),
|
||
|
w: common_vendor.p({
|
||
|
transition: "zoom-in",
|
||
|
["close-on-click-modal"]: closeOnClickModal.value,
|
||
|
["lazy-render"]: lazyRender.value,
|
||
|
["custom-class"]: "wd-message-box",
|
||
|
["z-index"]: zIndex.value,
|
||
|
duration: 200,
|
||
|
modelValue: show.value
|
||
|
})
|
||
|
});
|
||
|
};
|
||
|
}
|
||
|
}));
|
||
|
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-6a12ec76"]]);
|
||
|
wx.createComponent(Component);
|
||
|
//# sourceMappingURL=wd-message-box.js.map
|