UNPKG

@opentiny/vue-renderless

Version:

An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.

43 lines (42 loc) 1.25 kB
import "../chunk-G2ADBYYC.js"; const initUser = ({ api, props, state }) => (value) => { if (!value) { state.user = value; return; } api.getUsers(value).then((info) => { info.sort((a, b) => { return value.indexOf(a[state.valueField] + "") > value.indexOf(b[state.valueField] + "") ? 1 : -1; }); const list = info.map((user) => { return user[state.valueField]; }); state.options = info; state.user = props.multiple ? list : list[0]; props.cache && api.cacheUser(info); }); }; const showCard = ({ api, service, state }) => (e, user) => { e.preventDefault(); state.spinner = true; state.expand = false; service.fetchUser(user.employeeNumber).then((data) => { state.data = data; state.spinner = false; }); api.getUserImageUrl(user.employeeNumber).then((url) => { state.imgUrl = url; }); }; const showDetail = (state) => () => { state.expand = !state.expand; }; const computedTextField = ({ service, props }) => () => props.textField || service.textField || "userCN"; const computedValueField = ({ service, props }) => () => props.valueField || service.valueField || "userId"; export { computedTextField, computedValueField, initUser, showCard, showDetail };