first commit
This commit is contained in:
+295
@@ -0,0 +1,295 @@
|
||||
"use strict";
|
||||
var common_vendor = require("../../../../common/vendor.js");
|
||||
var uni_modules_wotDesignUni_components_common_util = require("../common/util.js");
|
||||
var uni_modules_wotDesignUni_components_composables_useCell = require("../composables/useCell.js");
|
||||
var uni_modules_wotDesignUni_components_wdForm_types = require("../wd-form/types.js");
|
||||
var uni_modules_wotDesignUni_components_composables_useParent = require("../composables/useParent.js");
|
||||
var uni_modules_wotDesignUni_components_composables_useTranslate = require("../composables/useTranslate.js");
|
||||
var uni_modules_wotDesignUni_components_wdInput_types = require("./types.js");
|
||||
require("../common/AbortablePromise.js");
|
||||
require("../wd-cell-group/types.js");
|
||||
require("../common/props.js");
|
||||
require("../../locale/index.js");
|
||||
require("../../locale/lang/zh-CN.js");
|
||||
if (!Math) {
|
||||
wdIcon();
|
||||
}
|
||||
const wdIcon = () => "../wd-icon/wd-icon.js";
|
||||
const __default__ = {
|
||||
name: "wd-input",
|
||||
options: {
|
||||
virtualHost: true,
|
||||
addGlobalClass: true,
|
||||
styleIsolation: "shared"
|
||||
}
|
||||
};
|
||||
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
|
||||
...__default__,
|
||||
props: uni_modules_wotDesignUni_components_wdInput_types.inputProps,
|
||||
emits: [
|
||||
"update:modelValue",
|
||||
"clear",
|
||||
"blur",
|
||||
"focus",
|
||||
"input",
|
||||
"keyboardheightchange",
|
||||
"confirm",
|
||||
"clicksuffixicon",
|
||||
"clickprefixicon",
|
||||
"click"
|
||||
],
|
||||
setup(__props, { emit }) {
|
||||
const props = __props;
|
||||
const slots = common_vendor.useSlots();
|
||||
const { translate } = uni_modules_wotDesignUni_components_composables_useTranslate.useTranslate("input");
|
||||
const isPwdVisible = common_vendor.ref(false);
|
||||
const clearing = common_vendor.ref(false);
|
||||
const focused = common_vendor.ref(false);
|
||||
const focusing = common_vendor.ref(false);
|
||||
const inputValue = common_vendor.ref(getInitValue());
|
||||
const cell = uni_modules_wotDesignUni_components_composables_useCell.useCell();
|
||||
common_vendor.watch(
|
||||
() => props.focus,
|
||||
(newValue) => {
|
||||
focused.value = newValue;
|
||||
},
|
||||
{ immediate: true, deep: true }
|
||||
);
|
||||
common_vendor.watch(
|
||||
() => props.modelValue,
|
||||
(newValue) => {
|
||||
inputValue.value = uni_modules_wotDesignUni_components_common_util.isDef(newValue) ? String(newValue) : "";
|
||||
}
|
||||
);
|
||||
const { parent: form } = uni_modules_wotDesignUni_components_composables_useParent.useParent(uni_modules_wotDesignUni_components_wdForm_types.FORM_KEY);
|
||||
const placeholderValue = common_vendor.computed$1(() => {
|
||||
return uni_modules_wotDesignUni_components_common_util.isDef(props.placeholder) ? props.placeholder : translate("placeholder");
|
||||
});
|
||||
const showClear = common_vendor.computed$1(() => {
|
||||
const { disabled, readonly, clearable, clearTrigger } = props;
|
||||
if (clearable && !readonly && !disabled && inputValue.value && (clearTrigger === "always" || props.clearTrigger === "focus" && focusing.value)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
const showWordCount = common_vendor.computed$1(() => {
|
||||
const { disabled, readonly, maxlength, showWordLimit } = props;
|
||||
return Boolean(!disabled && !readonly && uni_modules_wotDesignUni_components_common_util.isDef(maxlength) && maxlength > -1 && showWordLimit);
|
||||
});
|
||||
const errorMessage = common_vendor.computed$1(() => {
|
||||
if (form && props.prop && form.errorMessages && form.errorMessages[props.prop]) {
|
||||
return form.errorMessages[props.prop];
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
});
|
||||
const isRequired = common_vendor.computed$1(() => {
|
||||
let formRequired = false;
|
||||
if (form && form.props.rules) {
|
||||
const rules = form.props.rules;
|
||||
for (const key in rules) {
|
||||
if (Object.prototype.hasOwnProperty.call(rules, key) && key === props.prop && Array.isArray(rules[key])) {
|
||||
formRequired = rules[key].some((rule) => rule.required);
|
||||
}
|
||||
}
|
||||
}
|
||||
return props.required || props.rules.some((rule) => rule.required) || formRequired;
|
||||
});
|
||||
const rootClass = common_vendor.computed$1(() => {
|
||||
return `wd-input ${props.label || slots.label ? "is-cell" : ""} ${props.center ? "is-center" : ""} ${cell.border.value ? "is-border" : ""} ${props.size ? "is-" + props.size : ""} ${props.error ? "is-error" : ""} ${props.disabled ? "is-disabled" : ""} ${inputValue.value && String(inputValue.value).length > 0 ? "is-not-empty" : ""} ${props.noBorder ? "is-no-border" : ""} ${props.customClass}`;
|
||||
});
|
||||
const labelClass = common_vendor.computed$1(() => {
|
||||
return `wd-input__label ${props.customLabelClass}`;
|
||||
});
|
||||
const inputPlaceholderClass = common_vendor.computed$1(() => {
|
||||
return `wd-input__placeholder ${props.placeholderClass}`;
|
||||
});
|
||||
const labelStyle = common_vendor.computed$1(() => {
|
||||
return props.labelWidth ? uni_modules_wotDesignUni_components_common_util.objToStyle({
|
||||
"min-width": props.labelWidth,
|
||||
"max-width": props.labelWidth
|
||||
}) : "";
|
||||
});
|
||||
function getInitValue() {
|
||||
const formatted = formatValue(props.modelValue);
|
||||
if (!isValueEqual(formatted, props.modelValue)) {
|
||||
emit("update:modelValue", formatted);
|
||||
}
|
||||
return formatted;
|
||||
}
|
||||
function formatValue(value) {
|
||||
const { maxlength } = props;
|
||||
if (uni_modules_wotDesignUni_components_common_util.isDef(maxlength) && maxlength !== -1 && String(value).length > maxlength) {
|
||||
return value.toString().slice(0, maxlength);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
function togglePwdVisible() {
|
||||
isPwdVisible.value = !isPwdVisible.value;
|
||||
}
|
||||
async function handleClear() {
|
||||
focusing.value = false;
|
||||
inputValue.value = "";
|
||||
if (props.focusWhenClear) {
|
||||
clearing.value = true;
|
||||
focused.value = false;
|
||||
}
|
||||
await uni_modules_wotDesignUni_components_common_util.pause();
|
||||
if (props.focusWhenClear) {
|
||||
focused.value = true;
|
||||
focusing.value = true;
|
||||
}
|
||||
emit("update:modelValue", inputValue.value);
|
||||
emit("clear");
|
||||
}
|
||||
async function handleBlur() {
|
||||
await uni_modules_wotDesignUni_components_common_util.pause(150);
|
||||
if (clearing.value) {
|
||||
clearing.value = false;
|
||||
return;
|
||||
}
|
||||
focusing.value = false;
|
||||
emit("blur", {
|
||||
value: inputValue.value
|
||||
});
|
||||
}
|
||||
function handleFocus({ detail }) {
|
||||
focusing.value = true;
|
||||
emit("focus", detail);
|
||||
}
|
||||
function handleInput({ detail }) {
|
||||
emit("update:modelValue", inputValue.value);
|
||||
emit("input", detail);
|
||||
}
|
||||
function handleKeyboardheightchange({ detail }) {
|
||||
emit("keyboardheightchange", detail);
|
||||
}
|
||||
function handleConfirm({ detail }) {
|
||||
emit("confirm", detail);
|
||||
}
|
||||
function onClickSuffixIcon() {
|
||||
emit("clicksuffixicon");
|
||||
}
|
||||
function onClickPrefixIcon() {
|
||||
emit("clickprefixicon");
|
||||
}
|
||||
function handleClick(event) {
|
||||
emit("click", event);
|
||||
}
|
||||
function isValueEqual(value1, value2) {
|
||||
return uni_modules_wotDesignUni_components_common_util.isEqual(String(value1), String(value2));
|
||||
}
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: _ctx.label || _ctx.$slots.label
|
||||
}, _ctx.label || _ctx.$slots.label ? common_vendor.e({
|
||||
b: common_vendor.unref(isRequired) && _ctx.markerSide === "before"
|
||||
}, common_vendor.unref(isRequired) && _ctx.markerSide === "before" ? {} : {}, {
|
||||
c: _ctx.prefixIcon || _ctx.$slots.prefix
|
||||
}, _ctx.prefixIcon || _ctx.$slots.prefix ? common_vendor.e({
|
||||
d: _ctx.prefixIcon && !_ctx.$slots.prefix
|
||||
}, _ctx.prefixIcon && !_ctx.$slots.prefix ? {
|
||||
e: common_vendor.o(onClickPrefixIcon),
|
||||
f: common_vendor.p({
|
||||
["custom-class"]: "wd-input__icon",
|
||||
name: _ctx.prefixIcon
|
||||
})
|
||||
} : {}) : {}, {
|
||||
g: _ctx.label && !_ctx.$slots.label
|
||||
}, _ctx.label && !_ctx.$slots.label ? {
|
||||
h: common_vendor.t(_ctx.label)
|
||||
} : _ctx.$slots.label ? {} : {}, {
|
||||
i: _ctx.$slots.label,
|
||||
j: common_vendor.unref(isRequired) && _ctx.markerSide === "after"
|
||||
}, common_vendor.unref(isRequired) && _ctx.markerSide === "after" ? {} : {}, {
|
||||
k: common_vendor.n(common_vendor.unref(labelClass)),
|
||||
l: common_vendor.s(common_vendor.unref(labelStyle))
|
||||
}) : {}, {
|
||||
m: (_ctx.prefixIcon || _ctx.$slots.prefix) && !_ctx.label
|
||||
}, (_ctx.prefixIcon || _ctx.$slots.prefix) && !_ctx.label ? common_vendor.e({
|
||||
n: _ctx.prefixIcon && !_ctx.$slots.prefix
|
||||
}, _ctx.prefixIcon && !_ctx.$slots.prefix ? {
|
||||
o: common_vendor.o(onClickPrefixIcon),
|
||||
p: common_vendor.p({
|
||||
["custom-class"]: "wd-input__icon",
|
||||
name: _ctx.prefixIcon
|
||||
})
|
||||
} : {}) : {}, {
|
||||
q: common_vendor.n(_ctx.prefixIcon ? "wd-input__inner--prefix" : ""),
|
||||
r: common_vendor.n(common_vendor.unref(showWordCount) ? "wd-input__inner--count" : ""),
|
||||
s: common_vendor.n(_ctx.alignRight ? "is-align-right" : ""),
|
||||
t: common_vendor.n(_ctx.customInputClass),
|
||||
v: _ctx.type,
|
||||
w: _ctx.showPassword && !isPwdVisible.value,
|
||||
x: common_vendor.unref(placeholderValue),
|
||||
y: _ctx.disabled || _ctx.readonly,
|
||||
z: _ctx.maxlength,
|
||||
A: focused.value,
|
||||
B: _ctx.confirmType,
|
||||
C: _ctx.confirmHold,
|
||||
D: _ctx.cursor,
|
||||
E: _ctx.cursorSpacing,
|
||||
F: _ctx.placeholderStyle,
|
||||
G: _ctx.selectionStart,
|
||||
H: _ctx.selectionEnd,
|
||||
I: _ctx.adjustPosition,
|
||||
J: _ctx.holdKeyboard,
|
||||
K: _ctx.alwaysEmbed,
|
||||
L: common_vendor.unref(inputPlaceholderClass),
|
||||
M: _ctx.ignoreCompositionEvent,
|
||||
N: _ctx.inputmode,
|
||||
O: common_vendor.o([($event) => inputValue.value = $event.detail.value, handleInput]),
|
||||
P: common_vendor.o(handleFocus),
|
||||
Q: common_vendor.o(handleBlur),
|
||||
R: common_vendor.o(handleConfirm),
|
||||
S: common_vendor.o(handleKeyboardheightchange),
|
||||
T: inputValue.value,
|
||||
U: props.readonly
|
||||
}, props.readonly ? {} : {}, {
|
||||
V: common_vendor.unref(showClear) || _ctx.showPassword || _ctx.suffixIcon || common_vendor.unref(showWordCount) || _ctx.$slots.suffix
|
||||
}, common_vendor.unref(showClear) || _ctx.showPassword || _ctx.suffixIcon || common_vendor.unref(showWordCount) || _ctx.$slots.suffix ? common_vendor.e({
|
||||
W: common_vendor.unref(showClear)
|
||||
}, common_vendor.unref(showClear) ? {
|
||||
X: common_vendor.o(handleClear),
|
||||
Y: common_vendor.p({
|
||||
["custom-class"]: "wd-input__clear",
|
||||
name: "error-fill"
|
||||
})
|
||||
} : {}, {
|
||||
Z: _ctx.showPassword
|
||||
}, _ctx.showPassword ? {
|
||||
aa: common_vendor.o(togglePwdVisible),
|
||||
ab: common_vendor.p({
|
||||
["custom-class"]: "wd-input__icon",
|
||||
name: isPwdVisible.value ? "view" : "eye-close"
|
||||
})
|
||||
} : {}, {
|
||||
ac: common_vendor.unref(showWordCount)
|
||||
}, common_vendor.unref(showWordCount) ? {
|
||||
ad: common_vendor.t(String(inputValue.value).length),
|
||||
ae: common_vendor.n(inputValue.value && String(inputValue.value).length > 0 ? "wd-input__count-current" : ""),
|
||||
af: common_vendor.n(String(inputValue.value).length > _ctx.maxlength ? "is-error" : ""),
|
||||
ag: common_vendor.t(_ctx.maxlength)
|
||||
} : {}, {
|
||||
ah: _ctx.suffixIcon && !_ctx.$slots.suffix
|
||||
}, _ctx.suffixIcon && !_ctx.$slots.suffix ? {
|
||||
ai: common_vendor.o(onClickSuffixIcon),
|
||||
aj: common_vendor.p({
|
||||
["custom-class"]: "wd-input__icon",
|
||||
name: _ctx.suffixIcon
|
||||
})
|
||||
} : {}) : {}, {
|
||||
ak: common_vendor.unref(errorMessage)
|
||||
}, common_vendor.unref(errorMessage) ? {
|
||||
al: common_vendor.t(common_vendor.unref(errorMessage))
|
||||
} : {}, {
|
||||
am: common_vendor.n(common_vendor.unref(rootClass)),
|
||||
an: common_vendor.s(_ctx.customStyle),
|
||||
ao: common_vendor.o(handleClick)
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7d365853"], ["__file", "D:/\u7F51\u6291\u4E91Time/\u79C1\u6D3B/2000\u7B97\u5366/src/uni_modules/wot-design-uni/components/wd-input/wd-input.vue"]]);
|
||||
wx.createComponent(Component);
|
||||
Reference in New Issue
Block a user