123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import { getDefaultFieldNames } from '../helpers/mixins/fieldNamesBehavior'
- const DEFAULT_FIELD_NAMES = getDefaultFieldNames()
- export function getRealIndex(value = 0, min = 0, max) {
- if (value <= min) return min
- if (value >= max) return max
- return value
- }
- export function getRealIndexes(indexes = [], cols = []) {
- return cols.reduce((acc, col, idx) => ([...acc, getRealIndex(indexes[idx], 0, col.length - 1)]), [])
- }
- export function getIndexFromValue(value, col = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return getRealIndex(col.map((v) => v[fieldNames.value]).indexOf(value), 0, col.length - 1)
- }
- export function getIndexesFromValues(values = [], cols = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return cols.reduce((acc, col, idx) => ([...acc, getIndexFromValue(values[idx], col, fieldNames)]), [])
- }
- export function getValueFromIndex(index, col = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return col[getRealIndex(index, 0, col.length - 1)][fieldNames.value]
- }
- export function getValuesFromIndexes(indexes = [], cols = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return cols.reduce((acc, col, idx) => ([...acc, getValueFromIndex(indexes[idx], col, fieldNames)]), [])
- }
- export function getRealValue(value = '', col = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return col.length > 0 ? col[getIndexFromValue(value, col, fieldNames)][fieldNames.value] : ''
- }
- export function getRealValues(values = [], cols = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return cols.length > 0 ? cols.reduce((acc, col, idx) => ([...acc, getRealValue(values[idx], col, fieldNames)]), []) : []
- }
- export function getLabelFromIndex(index, col = [], member) {
- return member ? col[index] && col[index][member] : col[index]
- }
- export function getLabelsFromIndexes(indexes, cols = [], member) {
- return cols.reduce((acc, col, idx) => ([...acc, getLabelFromIndex(indexes[idx], col, member)]), [])
- }
- export function isMultiPicker(data = []) {
- return !data ? false : Array.isArray(data[0])
- }
- export function getRealCol(data = [], fieldNames = DEFAULT_FIELD_NAMES) {
- return data.map((v) => {
- if (typeof v !== 'object') {
- return {
- [fieldNames.value]: v,
- [fieldNames.label]: v,
- }
- }
- return v
- })
- }
- export function getRealCols(data = [], fieldNames = DEFAULT_FIELD_NAMES) {
- const cols = isMultiPicker(data) ? data : [data]
- return cols.reduce((acc, col) => ([...acc, getRealCol(col, fieldNames)]), [])
- }
|