dtable-utils
Version:
dtable common utils
48 lines (45 loc) • 1.48 kB
JavaScript
import '../constants/column.js';
import '../constants/filter/filter-column-options.js';
import '../constants/filter/filter-modifier.js';
import '../constants/filter/filter-predicate.js';
import '../constants/filter/filter-is-within.js';
import '../constants/formula.js';
import { SELECT_OPTION_COLORS } from '../constants/select-option.js';
import '../constants/sort.js';
import '../constants/group.js';
import { generateOptionID } from '../column/option.js';
import '@babel/runtime/helpers/typeof';
var formatTextToSingleOption = function formatTextToSingleOption(value, column) {
var formatValue = typeof value === 'number' ? value + '' : value;
if (!formatValue || !formatValue.trim()) {
return null;
}
var optionName = formatValue;
var options;
if (column.data) {
options = column.data && column.data.options;
} else {
column.data = {};
}
if (!options || !Array.isArray(options)) {
column.data.options = [];
options = [];
}
var option = options.find(function (item) {
return item.name === optionName;
});
if (option) {
return option.id;
}
var random = Math.floor(Math.random() * (SELECT_OPTION_COLORS.length - 1));
var optionColor = SELECT_OPTION_COLORS[random];
var newOption = {
id: generateOptionID(options),
name: optionName,
color: optionColor.COLOR,
textColor: optionColor.TEXT_COLOR
};
column.data.options.push(newOption);
return newOption.id;
};
export { formatTextToSingleOption };