Source: out/tree_providers/ConnectionsTreeDataProvider.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConnectionsTreeDataProvider = void 0;
const vscode = require("vscode");
const NodeTreeItem_1 = require("./NodeTreeItem");
/**
 * TreeProvider class for a TreeView of requested and used-by nodes from visualization.
 */
class ConnectionsTreeDataProvider {
    /**
     * Inititalizes the provider.
     */
    constructor() {
        /**
         * Action executed when TreeView data changed.
         */
        this._onDidChangeTreeData = new vscode.EventEmitter();
        this.onDidChangeTreeData = this._onDidChangeTreeData.event;
        this.data = [];
    }
    /**
     * Refresh the TreeViev.
     */
    refresh() {
        this._onDidChangeTreeData.fire();
    }
    /**
     * Get the tree item (implemented because it is required by the interface).
     * @param element Element that is also returned.
     * @returns
     */
    getTreeItem(element) {
        return element;
    }
    /**
     * Get a list of childer of the element.
     * @returns All data elements as there is only one layer in the tree.
     */
    getChildren(element) {
        //if (element === undefined) {
        //    return this.data;
        //}
        //return element.children;
        return this.data;
    }
    /**
     * Adds new nodes to the TreeView.
     * @param nodeData List of nodes to be added.
     */
    updateNodes(nodeData) {
        nodeData.forEach(node => {
            this.data.push(new NodeTreeItem_1.NodeTreeItem(node.name, node.recipe, node.is_removed));
        });
    }
    /**
     * Clear the list of nodes.
     */
    clearAllNodes() {
        this.data = [];
    }
}
exports.ConnectionsTreeDataProvider = ConnectionsTreeDataProvider;
//# sourceMappingURL=ConnectionsTreeDataProvider.js.map