"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserInterfaceInternalApi = void 0;
const ApiBase_1 = require("../Implementation/ApiBase");
class UserInterfaceInternalApi extends ApiBase_1.ApiBase {
    prepareAdaptableIconDef(icon) {
        if (icon && 'name' in icon) {
            let customIcon = icon && 'name' in icon ? this.getCustomIconDefinition(icon.name) : null;
            if (customIcon) {
                icon = customIcon;
            }
        }
        return icon;
    }
    getCustomIconDefinition(iconName) {
        let customIcon = undefined;
        const customIcons = this.getUserInterfaceApi().getCustomIcons();
        customIcon = customIcons.find((icon) => icon.name === iconName);
        if (customIcon) {
            return customIcon.icon;
        }
        return customIcon;
    }
    shouldShowSelectCellEditor(column) {
        const showSelectCellEditor = this.getEditOptions().showSelectCellEditor;
        if (showSelectCellEditor) {
            const columnColumnContext = {
                column,
                ...this.getAdaptableInternalApi().buildBaseContext(),
            };
            return showSelectCellEditor(columnColumnContext);
        }
        return false;
    }
}
exports.UserInterfaceInternalApi = UserInterfaceInternalApi;
