UNPKG

ant-design-vue

Version:

An enterprise-class UI design language and Vue-based implementation

107 lines (88 loc) 2.55 kB
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; export function toArray(value) { if (Array.isArray(value)) { return value; } return value !== undefined ? [value] : []; } /** * Convert outer props value into internal value */ export function toInnerValue(value, _ref) { var labelInValue = _ref.labelInValue, combobox = _ref.combobox; var valueMap = new Map(); if (value === undefined || value === '' && combobox) { return [[], valueMap]; } var values = Array.isArray(value) ? value : [value]; var rawValues = values; if (labelInValue) { rawValues = values.filter(function (item) { return item !== null; }).map(function (itemValue) { var key = itemValue.key, val = itemValue.value; var finalVal = val !== undefined ? val : key; valueMap.set(finalVal, itemValue); return finalVal; }); } return [rawValues, valueMap]; } /** * Convert internal value into out event value */ export function toOuterValues(valueList, _ref2) { var optionLabelProp = _ref2.optionLabelProp, labelInValue = _ref2.labelInValue, prevValueMap = _ref2.prevValueMap, options = _ref2.options, getLabeledValue = _ref2.getLabeledValue; var values = valueList; if (labelInValue) { values = values.map(function (val) { return getLabeledValue(val, { options: options, prevValueMap: prevValueMap, labelInValue: labelInValue, optionLabelProp: optionLabelProp }); }); } return values; } export function removeLastEnabledValue(measureValues, values) { var newValues = _toConsumableArray(values); var removeIndex; for (removeIndex = measureValues.length - 1; removeIndex >= 0; removeIndex -= 1) { if (!measureValues[removeIndex].disabled) { break; } } var removedValue = null; if (removeIndex !== -1) { removedValue = newValues[removeIndex]; newValues.splice(removeIndex, 1); } return { values: newValues, removedValue: removedValue }; } export var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement; /** Is client side and not jsdom */ export var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient; var uuid = 0; /** Get unique id for accessibility usage */ export function getUUID() { var retId; // Test never reach /* istanbul ignore if */ if (isBrowserClient) { retId = uuid; uuid += 1; } else { retId = 'TEST_OR_SSR'; } return retId; }