UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 3.3 kB
{"version":3,"file":"helper.mjs","sources":["../../src/select/helper.ts"],"sourcesContent":["import { InjectionKey, ComputedRef } from 'vue';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { TdSelectProps, TdOptionProps, SelectValue, SelectOption } from './type';\n\nexport const selectInjectKey: InjectionKey<\n ComputedRef<{\n hoverIndex: number;\n selectValue: TdSelectProps['value'];\n size: TdSelectProps['size'];\n max: TdSelectProps['max'];\n reserveKeyword: TdSelectProps['reserveKeyword'];\n multiple: TdSelectProps['multiple'];\n handleValueChange: TdSelectProps['onChange'];\n handleCreate: TdSelectProps['onCreate'];\n handlerInputChange: TdSelectProps['onInputChange'];\n handlePopupVisibleChange: TdSelectProps['onPopupVisibleChange'];\n popupContentRef: ComputedRef<HTMLElement>;\n indeterminate: boolean;\n isCheckAll: boolean;\n onCheckAllChange: (checked: boolean) => void;\n getSelectedOptions: (selectValue?: SelectValue[] | SelectValue) => TdOptionProps[];\n displayOptions: TdSelectProps['options'];\n }>\n> = Symbol('selectProvide');\n\nexport const getSingleContent = (\n value: TdSelectProps['value'],\n optionsMap: ComputedRef<Map<SelectValue<SelectOption>, TdOptionProps>>,\n): string => {\n const option = optionsMap.value.get(value);\n return option?.label || value?.toString();\n};\n\nexport const getMultipleContent = (\n value: SelectValue[],\n optionsMap: ComputedRef<Map<SelectValue<SelectOption>, TdOptionProps>>,\n) => {\n const res = [];\n for (const iterator of value) {\n const resLabel = getSingleContent(iterator, optionsMap);\n if (resLabel) {\n res.push(resLabel);\n }\n }\n return res;\n};\n\nexport const getNewMultipleValue = (innerValue: SelectValue[], optionValue: SelectValue) => {\n const value = cloneDeep(innerValue) as SelectValue[];\n const valueIndex = value.indexOf(optionValue);\n if (valueIndex < 0) {\n value.push(optionValue);\n } else {\n value.splice(valueIndex, 1);\n }\n return {\n value,\n isCheck: valueIndex < 0,\n };\n};\n"],"names":["res","_iterator","cloneDeep","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAA,eAAA,GAAA,MAAA,CAAA,eAAA,EAAA;AAqBA,IAAA,gBAAA,GAAA,SAAA,gBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;;AAKE,EAAA,OAAA,CAAA,MAAA,KAAA,IAAA,IAAA,MAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,MAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AACT,EAAA;AAEO,IAAA,kBAAA,GAAA,SAAA,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;;AAIQ,EAAA,IAAA,SAAA,GAAA,0BAAA,CAAA,KAAA,CAAA;;AACiB,EAAA,IAAA;;AAAA,MAAA,IAAA,QAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACtB,MAAA,IAAA,QAAA,GAAA,gBAAA,CAAA,QAAA,EAAA,UAAA,CAAA,CAAA;AACN,MAAA,IAAA,QAAA,EAAA;AACEA,QAAAA,GAAAA,CAAAA,IAAAA,CAAAA,QAAAA,CAAAA,CAAAA;AACF,OAAA;AACF,KAAA;AAAA,GAAA,CAAA,OAAA,GAAA,EAAA;;AAAA,GAAA,SAAA;AAAAC,IAAAA,SAAAA,CAAAA,CAAAA,EAAAA,CAAAA;AAAA,GAAA;AACO,EAAA,OAAA,GAAA,CAAA;AACT,EAAA;AAEO,IAAA,mBAAA,GAAA,SAAA,mBAAA,CAAA,UAAA,EAAA,WAAA,EAAA;AACC,EAAA,IAAA,KAAA,GAAAC,WAAA,CAAA,UAAA,CAAA,CAAA;AACA,EAAA,IAAA,UAAA,GAAA,KAAA,CAAA,OAAA,CAAA,WAAA,CAAA,CAAA;;AAEJC,IAAAA,KAAAA,CAAAA,IAAAA,CAAAA,WAAAA,CAAAA,CAAAA;AACF,GAAA,MAAA;AACQA,IAAAA,KAAAA,CAAAA,MAAAA,CAAAA,UAAAA,EAAAA,CAAAA,CAAAA,CAAAA;AACR,GAAA;;AAEEA,IAAAA,KAAAA,EAAAA,KAAAA;;;AAGJ;;;;"}