UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

129 lines 3.89 kB
import React, { createElement, Children } from "react"; import { isWeb } from '@uni/env'; import { findInArray, getDataSourceFromChildren, isUndef, isValidArray, windowHeight, isMiniappPlatform } from '../utils'; import SelectValue from './section/select-value'; export function removeItemFromArray() { var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var val = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return arr.filter(function (v) { return v.value !== val; }); } export function getInitValues(props) { var defaultValue = props.defaultValue, value = props.value; var initValues; if ('value' in props) { initValues = value; } else if (!isUndef(defaultValue)) { initValues = defaultValue; } if (!Array.isArray(initValues)) { if (!isUndef(initValues)) { initValues = [initValues]; } else { initValues = []; } } return initValues; } export function getPreviewValue(props) { var useDetailValue = props.useDetailValue, children = props.children, dataSource = props.dataSource, mode = props.mode; var initValues = getInitValues(props); var ds = dataSource || []; var arr = []; if (!dataSource && Children.count(children) > 0) { ds = getDataSourceFromChildren(children); } if (useDetailValue && isValidArray(initValues)) { arr = initValues; } else if (isValidArray(initValues)) { arr = initValues.map(function (v) { var rs = ds.find(function (it) { return it.value === v; }); return rs || { label: v, value: v }; }); } if (mode === 'single') { return isValidArray(arr) ? arr[0] : ''; } return arr; } export function getScrollHeight() { if (isWeb) { return "".concat((screen.availHeight - 200) / (screen.width / 750), "rpx"); } else if (isMiniappPlatform) { return windowHeight - 100; } return 0; } export function innerRenderSelection(items, values) { var labels = !Array.isArray(items) && items.label ? [items.label] : items.map(function (item) { return item.label; }); if (labels.length === 0) { return null; } return /*#__PURE__*/createElement(SelectValue, Object.assign(Object.assign({}, values), { items: labels })); } export function isSelected(curItems, value) { var rs = findInArray(curItems, function (item) { return item.value === value; }); return !!rs; } export function isEqualItems() { var arr1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var arr2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var strictMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; if (!Array.isArray(arr1) || !Array.isArray(arr2) || arr1.length !== arr2.length) { return false; } var filterFn = function filterFn(item) { return item.value; }; if (strictMode) { filterFn = function filterFn(item) { return item.label + item.value; }; } return arr1.map(filterFn).sort().toString() === arr2.map(filterFn).sort().toString(); } export function getValidEvtValues(_ref) { var selectedItems = _ref.selectedItems, useDetailValue = _ref.useDetailValue, isSingle = _ref.isSingle; var value = isSingle ? null : []; var items = isSingle ? {} : []; if (isValidArray(selectedItems)) { value = selectedItems[0].value; if (useDetailValue) { value = selectedItems; } else if (!isSingle) { value = selectedItems.map(function (item) { return item.value; }); } items = isSingle ? selectedItems[0] : selectedItems; } return { value: value, items: items }; } export function defaultLocalFilter(searchText, item) { try { return new RegExp(searchText).test(item.label); } catch (e) { return item.label.includes(searchText); } }