UNPKG

dtable-utils

Version:

dtable common utils

64 lines (56 loc) 2.07 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var option = require('../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 = option.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(', '); }; exports.getColumnOptionNameById = getColumnOptionNameById; exports.getMultipleOptionName = getMultipleOptionName; exports.getOption = getOption; exports.getOptionName = getOptionName;