tav-ui
Version:
76 lines (71 loc) • 2.14 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function useSelectRecord(param) {
const selectRecordRef = vue.ref(vue.unref(param.defaultValue).selectRecord);
const selectRecord = vue.computed(() => vue.unref(selectRecordRef));
const selectRecordFibersRef = vue.ref({
id: "",
pid: "",
fieldIndex: 0,
idPathSplitResult: []
});
const selectRecordFibers = vue.computed(() => vue.unref(selectRecordFibersRef));
function setSelectRecord(selectRecord2) {
setSelectRecordFibers(selectRecord2.idPath);
selectRecordRef.value = {
...selectRecord2,
fieldIndex: vue.unref(selectRecordFibers).fieldIndex
};
}
function setSelectRecordFibers(selectRecordIdPath) {
const idPath = vue.unref(selectRecordIdPath);
const fields = vue.unref(param.fields);
if (!idPath) {
selectRecordFibersRef.value = {
id: "",
pid: "",
fieldIndex: 0,
idPathSplitResult: []
};
} else {
const result = idPath.split("-");
if (result.length > fields.length) {
console.warn("CascadePro handleOptions has error.");
selectRecordFibersRef.value = {
id: "",
pid: "",
fieldIndex: 0,
idPathSplitResult: []
};
}
if (result.length === 1) {
if (result[0] === "") {
selectRecordFibersRef.value = {
id: "",
pid: "",
fieldIndex: 0,
idPathSplitResult: []
};
} else {
selectRecordFibersRef.value = {
id: result[0],
pid: "",
fieldIndex: 0,
idPathSplitResult: result
};
}
} else {
selectRecordFibersRef.value = {
id: result[result.length - 1],
pid: result[result.length - 1 - 1],
fieldIndex: result.length - 1,
idPathSplitResult: result
};
}
}
}
return { selectRecord, setSelectRecord, selectRecordFibers };
}
exports.useSelectRecord = useSelectRecord;
//# sourceMappingURL=use-select-record2.js.map