@progress/kendo-angular-listbox
Version:
Kendo UI for Angular ListBox
39 lines (38 loc) • 1.19 kB
JavaScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { getter } from '@progress/kendo-common';
import { allTools } from './constants';
/**
* @hidden
*/
export const isPresent = (value) => value !== null && value !== undefined;
/**
* @hidden
*/
export const isObject = (value) => isPresent(value) && typeof value === 'object';
/**
* @hidden
*/
export const fieldAccessor = (dataItem, field) => {
if (!isPresent(dataItem)) {
return null;
}
if (!isPresent(field) || !isObject(dataItem)) {
return dataItem;
}
// creates a field accessor supporting nested fields processing
const valueFrom = getter(field);
return valueFrom(dataItem);
};
/**
* @hidden
*/
export const defaultItemDisabled = () => false;
/**
* @hidden
*/
export const getTools = (names) => {
return names.map(tool => allTools.find(meta => meta.name === tool));
};