class DrawFlowOutputBinding extends Shiny.OutputBinding {
    find(scope) { 
        return scope.find(".shiny-drawflow-output");
    }

    renderValue(el, payload) { 
        const editor = new Drawflow(el);

        editor.reroute = payload.drawflow.reroute;
        editor.start();

    // Add demo node
    var html = `
      <div><input type="text" df-name></div>
    `;
    var data = { "name": 'Demo' };

    editor.addNode('', 0, 1, 150, 300, '', data, html);
    }
}
Shiny.outputBindings.register(
    new DrawFlowOutputBinding(),
    "shiny-drawflow-output"
);