UNPKG

dtable-utils

Version:

dtable common utils

57 lines (51 loc) 1.9 kB
import { getColumnOptions } from '../column/option.js'; /** * Get option by id * @param {array} options e.g. [{ id, name, ... }] * @param {string} optionId * @returns option, object */ var getOption = function getOption(options, optionId) { if (!Array.isArray(options) || !optionId) return null; return options.find(function (option) { return option.id === optionId; }); }; /** * Get option name of the given id * @param {array} options e.g. [ { id, color, name, ... } ] * @param {string} targetOptionId option id * @returns option name, string */ var getOptionName = function getOptionName(options, targetOptionId) { if (!targetOptionId || !Array.isArray(options)) return ''; var targetOption = getOption(options, targetOptionId); return targetOption ? targetOption.name : ''; }; /** * Get column option name by id * @param {object} column e.g. { data: { options, ... }, ... } * @param {string} optionId * @returns option name, string */ var getColumnOptionNameById = function getColumnOptionNameById(column, optionId) { var options = getColumnOptions(column); return getOptionName(options, optionId); }; /** * Get concatenated options names of given ids. * @param {array} options e.g. [ { id, color, name, ... }, ... ] * @param {array} targetOptionsIds e.g. [ option.id, ... ] * @returns concatenated options names, string. e.g. 'name1, name2' */ var getMultipleOptionName = function getMultipleOptionName(options, targetOptionsIds) { if (!Array.isArray(targetOptionsIds) || !Array.isArray(options)) return ''; var selectedOptions = options.filter(function (option) { return targetOptionsIds.includes(option.id); }); if (selectedOptions.length === 0) return ''; return selectedOptions.map(function (option) { return option.name; }).join(', '); }; export { getColumnOptionNameById, getMultipleOptionName, getOption, getOptionName };