"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OjDiagramBase = void 0;
const __1 = require("../");
/**
 * This is the base class for oj-diagram WebElement, and is generated from the
 * component's metadata. Do not modify these contents since they'll be replaced
 * during the next generation.
 * Put overrides into the WebElements's subclass, OjDiagram.ts.
 */
class OjDiagramBase extends __1.OjWebElement {
    /**
     * Gets the value of <code>animationOnDataChange</code> property.
     * Specifies the animation that is applied on data changes.
     * @return The value of <code>animationOnDataChange</code> property.
     *
     */
    getAnimationOnDataChange() {
        return this.getProperty('animationOnDataChange');
    }
    /**
     * Gets the value of <code>animationOnDisplay</code> property.
     * Specifies the animation that is shown on initial display.
     * @return The value of <code>animationOnDisplay</code> property.
     *
     */
    getAnimationOnDisplay() {
        return this.getProperty('animationOnDisplay');
    }
    /**
     * Gets the value of <code>as</code> property.
     * An alias for the '$current' context variable passed to slot content for the nodeTemplate or linkTemplate slots.
     * @return The value of <code>as</code> property.
     * @deprecated Since 6.2.0. Set the alias directly on the template element using the data-oj-as attribute instead.
     */
    getAs() {
        return this.getProperty('as');
    }
    /**
     * Sets the value of <code>currentItem</code> property.
     * Specifies the node or link that should receive focus.
     * @param currentItem The value to set for <code>currentItem</code>
     *
     */
    changeCurrentItem(currentItem) {
        return this.setProperty('currentItem', currentItem);
    }
    /**
     * Gets the value of <code>currentItem</code> property.
     * Specifies the node or link that should receive focus.
     * @return The value of <code>currentItem</code> property.
     *
     */
    getCurrentItem() {
        return this.getProperty('currentItem');
    }
    /**
     * Gets the value of <code>dnd</code> property.
     * Used to customize the drag and drop features.
     * @return The value of <code>dnd</code> property.
     *
     */
    getDnd() {
        return this.getProperty('dnd');
    }
    /**
     * Gets the value of <code>focusRenderer</code> property.
     * Specifies custom renderer for the diagram nodes used for focus updates.
     * @return The value of <code>focusRenderer</code> property.
     * @deprecated Since 8.0.0. Use nodeContent.focusRenderer instead.
     */
    getFocusRenderer() {
        return this.getProperty('focusRenderer');
    }
    /**
     * Sets the value of <code>hiddenCategories</code> property.
     * Specifies categories used for filtering.
     * @param hiddenCategories The value to set for <code>hiddenCategories</code>
     *
     */
    changeHiddenCategories(hiddenCategories) {
        return this.setProperty('hiddenCategories', hiddenCategories);
    }
    /**
     * Gets the value of <code>hiddenCategories</code> property.
     * Specifies categories used for filtering.
     * @return The value of <code>hiddenCategories</code> property.
     *
     */
    getHiddenCategories() {
        return this.getProperty('hiddenCategories');
    }
    /**
     * Gets the value of <code>highlightMatch</code> property.
     * Specifies matching condition used for category highlighting.
     * @return The value of <code>highlightMatch</code> property.
     *
     */
    getHighlightMatch() {
        return this.getProperty('highlightMatch');
    }
    /**
     * Sets the value of <code>highlightedCategories</code> property.
     * Specifies categories used for highlighting.
     * @param highlightedCategories The value to set for <code>highlightedCategories</code>
     *
     */
    changeHighlightedCategories(highlightedCategories) {
        return this.setProperty('highlightedCategories', highlightedCategories);
    }
    /**
     * Gets the value of <code>highlightedCategories</code> property.
     * Specifies categories used for highlighting.
     * @return The value of <code>highlightedCategories</code> property.
     *
     */
    getHighlightedCategories() {
        return this.getProperty('highlightedCategories');
    }
    /**
     * Gets the value of <code>hoverBehavior</code> property.
     * Defines the behavior applied when hovering over diagram nodes and links.
     * @return The value of <code>hoverBehavior</code> property.
     *
     */
    getHoverBehavior() {
        return this.getProperty('hoverBehavior');
    }
    /**
     * Gets the value of <code>hoverRenderer</code> property.
     * Specifies custom renderer for the diagram nodes used for hover updates.
     * @return The value of <code>hoverRenderer</code> property.
     * @deprecated Since 8.0.0. Use nodeContent.hoverRenderer instead.
     */
    getHoverRenderer() {
        return this.getProperty('hoverRenderer');
    }
    /**
     * Gets the value of <code>layout</code> property.
     * Specifies layout callback used to position nodes and links.
     * @return The value of <code>layout</code> property.
     *
     */
    getLayout() {
        return this.getProperty('layout');
    }
    /**
     * Gets the value of <code>linkContent</code> property.
     * An object containing an optional callbacks function for link customization.
     * @return The value of <code>linkContent</code> property.
     *
     */
    getLinkContent() {
        return this.getProperty('linkContent');
    }
    /**
     * Gets the value of <code>linkHighlightMode</code> property.
     * Defines link highlighting mode.
     * @return The value of <code>linkHighlightMode</code> property.
     *
     */
    getLinkHighlightMode() {
        return this.getProperty('linkHighlightMode');
    }
    /**
     * Gets the value of <code>linkProperties</code> property.
     * Optional callback for customizing link appearance based on link data.
     * @return The value of <code>linkProperties</code> property.
     * @deprecated Since 6.0.0. See nodeData and linkData usage.
     */
    getLinkProperties() {
        return this.getProperty('linkProperties');
    }
    /**
     * Gets the value of <code>maxZoom</code> property.
     * Specifies the maximum zoom level for this diagram.
     * @return The value of <code>maxZoom</code> property.
     *
     */
    getMaxZoom() {
        return this.getProperty('maxZoom');
    }
    /**
     * Gets the value of <code>minZoom</code> property.
     * Specifies the minimum zoom level for this diagram.
     * @return The value of <code>minZoom</code> property.
     *
     */
    getMinZoom() {
        return this.getProperty('minZoom');
    }
    /**
     * Gets the value of <code>nodeContent</code> property.
     * An object containing an optional callbacks function for node customization.
     * @return The value of <code>nodeContent</code> property.
     *
     */
    getNodeContent() {
        return this.getProperty('nodeContent');
    }
    /**
     * Gets the value of <code>nodeHighlightMode</code> property.
     * Defines node highlighting mode.
     * @return The value of <code>nodeHighlightMode</code> property.
     *
     */
    getNodeHighlightMode() {
        return this.getProperty('nodeHighlightMode');
    }
    /**
     * Gets the value of <code>nodeProperties</code> property.
     * Optional callback for customizing node appearance based on node data.
     * @return The value of <code>nodeProperties</code> property.
     * @deprecated Since 6.0.0. See nodeData and linkData usage.
     */
    getNodeProperties() {
        return this.getProperty('nodeProperties');
    }
    /**
     * Gets the value of <code>overview</code> property.
     * An object, used to define a diagram overview. If not specified, no overview will be shown.
     * @return The value of <code>overview</code> property.
     *
     */
    getOverview() {
        return this.getProperty('overview');
    }
    /**
     * Gets the value of <code>panDirection</code> property.
     * Specifies if panning allowed in horizontal and vertical directions.
     * @return The value of <code>panDirection</code> property.
     *
     */
    getPanDirection() {
        return this.getProperty('panDirection');
    }
    /**
     * Sets the value of <code>panZoomState</code> property.
     * A writeback object that contains properties zoom, centerX, and centerY that represent the panZoomState
     * @param panZoomState The value to set for <code>panZoomState</code>
     *
     */
    changePanZoomState(panZoomState) {
        return this.setProperty('panZoomState', panZoomState);
    }
    /**
     * Gets the value of <code>panZoomState</code> property.
     * A writeback object that contains properties zoom, centerX, and centerY that represent the panZoomState
     * @return The value of <code>panZoomState</code> property.
     *
     */
    getPanZoomState() {
        return this.getProperty('panZoomState');
    }
    /**
     * Gets the value of <code>panning</code> property.
     * Specifies whether panning is allowed in Diagram.
     * @return The value of <code>panning</code> property.
     *
     */
    getPanning() {
        return this.getProperty('panning');
    }
    /**
     * Gets the value of <code>promotedLinkBehavior</code> property.
     * Defines promoted link behavior for the component.
     * @return The value of <code>promotedLinkBehavior</code> property.
     *
     */
    getPromotedLinkBehavior() {
        return this.getProperty('promotedLinkBehavior');
    }
    /**
     * Gets the value of <code>renderer</code> property.
     * Specifies custom renderer for the diagram nodes used for initial rendering.
     * @return The value of <code>renderer</code> property.
     * @deprecated Since 8.0.0. Use nodeContent.renderer instead.
     */
    getRenderer() {
        return this.getProperty('renderer');
    }
    /**
     * Sets the value of <code>selection</code> property.
     * An array containing the ids of the selected nodes and links.
     * @param selection The value to set for <code>selection</code>
     *
     */
    changeSelection(selection) {
        return this.setProperty('selection', selection);
    }
    /**
     * Gets the value of <code>selection</code> property.
     * An array containing the ids of the selected nodes and links.
     * @return The value of <code>selection</code> property.
     *
     */
    getSelection() {
        return this.getProperty('selection');
    }
    /**
     * Gets the value of <code>selectionMode</code> property.
     * Specifies the selection behavior on the diagram. See the Help documentation for more information.
     * @return The value of <code>selectionMode</code> property.
     *
     */
    getSelectionMode() {
        return this.getProperty('selectionMode');
    }
    /**
     * Gets the value of <code>selectionRenderer</code> property.
     * Specifies custom renderer for the diagram nodes used for selection updates.
     * @return The value of <code>selectionRenderer</code> property.
     * @deprecated Since 8.0.0. Use nodeContent.selectionRenderer instead.
     */
    getSelectionRenderer() {
        return this.getProperty('selectionRenderer');
    }
    /**
     * Gets the value of <code>styleDefaults</code> property.
     * An object defining the style defaults for this diagram.
     * @return The value of <code>styleDefaults</code> property.
     *
     */
    getStyleDefaults() {
        return this.getProperty('styleDefaults');
    }
    /**
     * Gets the value of <code>tooltip</code> property.
     * An object containing an optional callback function for tooltip customization.
     * @return The value of <code>tooltip</code> property.
     *
     */
    getTooltip() {
        return this.getProperty('tooltip');
    }
    /**
     * Gets the value of <code>touchResponse</code> property.
     * Specifies touch response behavior.
     * @return The value of <code>touchResponse</code> property.
     *
     */
    getTouchResponse() {
        return this.getProperty('touchResponse');
    }
    /**
     * Gets the value of <code>trackResize</code> property.
     * Defines whether the element will automatically render in response to changes in size. See the Help documentation for more information.
     * @return The value of <code>trackResize</code> property.
     *
     */
    getTrackResize() {
        return this.getProperty('trackResize');
    }
    /**
     * Gets the value of <code>translations</code> property.
     * A collection of translated resources from the translation bundle, or null if this component has no resources.
     * @return The value of <code>translations</code> property.
     *
     */
    getTranslations() {
        return this.getProperty('translations');
    }
    /**
     * Gets the value of <code>zoomRenderer</code> property.
     * Specifies custom renderer for the diagram nodes used for zoom updates.
     * @return The value of <code>zoomRenderer</code> property.
     * @deprecated Since 8.0.0. Use nodeContent.zoomRenderer instead.
     */
    getZoomRenderer() {
        return this.getProperty('zoomRenderer');
    }
    /**
     * Gets the value of <code>zooming</code> property.
     * Specifies whether zooming is allowed in Diagram.
     * @return The value of <code>zooming</code> property.
     *
     */
    getZooming() {
        return this.getProperty('zooming');
    }
}
exports.OjDiagramBase = OjDiagramBase;
//# sourceMappingURL=OjDiagramBase.js.map