UNPKG

yanzhen-design-vue

Version:

48 lines (47 loc) 1.29 kB
import "../../../_utils/index.mjs"; import { User, userTypes } from "../constants/user.mjs"; import { Contacts } from "../constants/contacts.mjs"; import { ListMode } from "../constants/list-mode.mjs"; import { createContactsDefaultRef } from "./createContactsDefaultRef.mjs"; import { $enum } from "ts-enum-util"; import { handleUndefined } from "../../../_utils/enum-utils.mjs"; const userEnum = $enum(User); function getUserLabel(user) { return $enum.mapValue(user).with({ [User.INTERNAL]: "内部", [User.OUTSIDE]: "外部", [User.GROUP]: "群组", [User.ROLE]: "角色", [handleUndefined]: "Unspecified" }); } function getUserListMode(user) { return $enum.mapValue(user).with({ [User.INTERNAL]: ListMode.TREE, [User.OUTSIDE]: ListMode.LIST, [User.GROUP]: ListMode.TREE, [User.ROLE]: ListMode.TREE, [handleUndefined]: "Unspecified" }); } const getUserTypesMaps = () => { return userTypes.map((k) => { return { value: k, label: getUserLabel(k) }; }); }; function getUserDefaultRefs() { return userTypes.reduce((prev, key) => { prev[key] = createContactsDefaultRef(Contacts.USER, key); return prev; }, {}); } export { getUserDefaultRefs, getUserLabel, getUserListMode, getUserTypesMaps, userEnum };