viewof cypherRunner = {
const mainDiv = html`<div><div>`;
const editorDiv = html`<div style="border: 1px solid rgb(0, 0, 0);height: 200px;"></div>`;
const runButton = html`<button>Run Query</button>`;
mainDiv.append(editorDiv);
mainDiv.append(runButton);
mainDiv.value = [];
yield mainDiv;
let editor = CodeMirror(editorDiv, { mode: "application/x-cypher-query" });
editor.setValue(`MATCH (n) return n`);
editor.setSize(width - 20, 200);
runButton.onclick = e => {
const session = driver.session();
session
.run(editor.getValue())
.then(r => {
mainDiv.value = r.records.map(d => d.toObject());
mainDiv.dispatchEvent(new CustomEvent("input"));
session.close();
})
.catch(error => {
mainDiv.value = error;
mainDiv.dispatchEvent(new CustomEvent("input"));
});
};
return mainDiv;
}