tav-ui
Version:
67 lines (62 loc) • 2.19 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var lodashEs = require('lodash-es');
var dateUtil = require('../../../../utils/dateUtil2.js');
var is = require('../../../../utils/is2.js');
function useFormValues({
defaultValueRef,
getSchema,
formModel,
getProps
}) {
function handleFormValues(values) {
if (!is.isObject(values))
return {};
const res = {};
for (const item of Object.entries(values)) {
let [, value] = item;
const [key] = item;
if (!key || is.isArray(value) && value.length === 0 || is.isFunction(value))
continue;
const transformDateFunc = vue.unref(getProps).transformDateFunc;
if (is.isObject(value))
value = transformDateFunc?.(value);
if (is.isArray(value) && value[0]?._isAMomentObject && value[1]?._isAMomentObject)
value = value.map((item2) => transformDateFunc?.(item2));
if (is.isString(value))
value = value.trim();
lodashEs.set(res, key, value);
}
return handleRangeTimeValue(res);
}
function handleRangeTimeValue(values) {
const fieldMapToTime = vue.unref(getProps).fieldMapToTime;
if (!fieldMapToTime || !Array.isArray(fieldMapToTime))
return values;
for (const [field, [startTimeKey, endTimeKey], format = "YYYY-MM-DD"] of fieldMapToTime) {
if (!field || !startTimeKey || !endTimeKey || !values[field])
continue;
const [startTime, endTime] = values[field];
values[startTimeKey] = dateUtil.dateUtil(startTime).format(format);
values[endTimeKey] = dateUtil.dateUtil(endTime).format(format);
Reflect.deleteProperty(values, field);
}
return values;
}
function initDefault() {
const schemas = vue.unref(getSchema);
const obj = {};
schemas.forEach((item) => {
const { defaultValue } = item;
if (!is.isNullOrUnDef(defaultValue)) {
obj[item.field] = defaultValue;
formModel[item.field] = defaultValue;
}
});
defaultValueRef.value = obj;
}
return { handleFormValues, initDefault };
}
exports.useFormValues = useFormValues;
//# sourceMappingURL=useFormValues2.js.map