/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ /** * The settings for the selection functionality of the TreeList. [See example](slug:selection_treelist#toc-setup). */ export interface SelectableSettings { /** * Specifies the selection mode. */ mode?: 'cell' | 'row'; /** * Specifies if multiple selection is enabled. */ multiple?: boolean; /** * Specifies the drag selection options. */ drag?: boolean | { snap: boolean; }; /** * Specifies if the selection functionality is enabled. * Setting this option to `false` stops all selection-related functionality. * The end user cannot select or deselect rows or cells. * Items in the [selectedItems]({% slug api_treelist_selectabledirective %}#toc-selecteditems) collection are not rendered as selected. * The [isSelected]({% slug api_treelist_treelistcomponent %}#toc-isselected) callback is ignored. */ enabled?: boolean; /** * Determines if the selection is performed only through clicking a checkbox. * If enabled, clicking the row itself does not select the row. * Applicable if at least one checkbox column is present. */ checkboxOnly?: boolean; /** * Setting this option to `true` prevents the end user from selecting and deselecting items. * When the selection functionality is enabled and `readonly` is set to `true`, * programmatic selection is still possible by using the [selectedItems]({% slug api_treelist_selectabledirective %}#toc-selecteditems) collection * or the [isSelected]({% slug api_treelist_treelistcomponent %}#toc-isselected) callback. */ readonly?: boolean; }