UNPKG

@senntyou/mint-ui

Version:
80 lines (79 loc) 1.99 kB
/* eslint-disable import/prefer-default-export */ /** * make slots for picker * @param items * @param divider * @param firstValue * @param secondValue * @returns {*} */ export var makePickerSlots = function makePickerSlots(_ref) { var items = _ref.items, divider = _ref.divider, firstValue = _ref.firstValue, secondValue = _ref.secondValue; var slots = []; var valuesCollection = []; var initResult = []; if (!items || !items.length) return { slots: slots, valuesCollection: valuesCollection, initResult: initResult }; var firstValues = items.map(function (i) { return i.value; }); slots.push({ flex: 1, values: firstValues }); valuesCollection.push(firstValues); initResult.push(firstValues[0]); var secondItems = firstValue ? items.find(function (i) { return i.value === firstValue; }).children : items[0].children; if (!secondItems || !secondItems.length) return { slots: slots, valuesCollection: valuesCollection, initResult: initResult }; if (divider) slots.push({ divider: true, content: '-' }); var secondValues = secondItems.map(function (i) { return i.value; }); slots.push({ flex: 1, values: secondValues }); valuesCollection.push(secondValues); initResult.push(secondValues[0]); var thirdItems = secondValue ? secondItems.find(function (i) { return i.value === secondValue; }).children : secondItems[0].children; if (!thirdItems || !thirdItems.length) return { slots: slots, valuesCollection: valuesCollection, initResult: initResult }; if (divider) slots.push({ divider: true, content: '-' }); var thirdValues = thirdItems.map(function (i) { return i.value; }); slots.push({ flex: 1, values: thirdValues }); valuesCollection.push(thirdValues); initResult.push(thirdValues[0]); return { slots: slots, valuesCollection: valuesCollection, initResult: initResult }; };