UNPKG

dtable-utils

Version:

dtable common utils

87 lines (81 loc) 2.69 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('../constants/column.js'); require('../constants/filter/filter-column-options.js'); require('../constants/filter/filter-modifier.js'); require('../constants/filter/filter-predicate.js'); require('../constants/filter/filter-is-within.js'); require('../constants/formula.js'); var selectOption = require('../constants/select-option.js'); require('../constants/sort.js'); require('../constants/group.js'); var option = require('../column/option.js'); require('@babel/runtime/helpers/typeof'); var singleSelect = require('./single-select.js'); var formatTextToMultipleOption = function formatTextToMultipleOption(value, column) { var formatValue = typeof value === 'number' ? value + '' : value; if (!formatValue || !formatValue.trim()) { return null; } var optionName = formatValue.trim(); var options = null; if (column.data) { options = column.data && column.data.options; } else { column.data = {}; } if (!options || !Array.isArray(options)) { column.data.options = []; options = []; } // is exist var option = options.find(function (item) { return item.name === optionName; }); if (option) { return [option.id]; } // not exist var optionNames = optionName.split(' '); var optionIds = optionNames.map(function (item) { return singleSelect.formatTextToSingleOption(item, column); }); return optionIds; }; var formatValueToMultipleOption = function formatValueToMultipleOption(value, column) { if (!value || !Array.isArray(value)) { return null; } var options; if (column.data) { options = column.data && column.data.options; } else { column.data = {}; } if (!options || !Array.isArray(options)) { column.data.options = []; options = []; } var selectOptions = value.map(function (optionName) { var option$1 = options.find(function (item) { return item.name === optionName; }); if (option$1) return option$1; var random = Math.floor(Math.random() * (selectOption.SELECT_OPTION_COLORS.length - 1)); var optionColor = selectOption.SELECT_OPTION_COLORS[random]; var newOption = { id: option.generateOptionID(options), name: optionName, color: optionColor.COLOR, textColor: optionColor.TEXT_COLOR }; column.data.options.push(newOption); return newOption; }); var optionIds = selectOptions.map(function (option) { return option.id; }); return optionIds.length > 0 ? optionIds : null; }; exports.formatTextToMultipleOption = formatTextToMultipleOption; exports.formatValueToMultipleOption = formatValueToMultipleOption;