datagraph/views/pages/app.gotmpl
2025-08-08 18:15:13 +02:00

76 lines
3 KiB
Go Template

{{ define "page" }}
<link rel="stylesheet" type="text/css" href="/css/{{ .VERSION }}/json_editor.css">
<script type="importmap">
{
"imports": {
"@mbus": "/js/{{ .VERSION }}/mbus.mjs",
"@component": "/js/{{ .VERSION }}/component.mjs",
"@editor": "/js/{{ .VERSION }}/editor.mjs",
"@select_node": "/js/{{ .VERSION }}/select_node.mjs"
}
}
</script>
<script src="/js/{{ .VERSION }}/lib/jsoneditor.js"></script>
<script type="module" defer>
import {App, TreeNode} from '/js/{{ .VERSION }}/app.mjs'
window._VERSION = '{{ .VERSION }}'
window._app = new App()
</script>
<div id="layout">
<div class="page section" id="menu">
<div class="item" id="logo"><img src="/images/{{ .VERSION }}/logo.svg" /></div>
<div class="item" data-section='node' onclick="mbus.dispatch('MENU_ITEM_SELECTED', 'node')">Nodes</div>
<div class="item" data-section='type' onclick="mbus.dispatch('MENU_ITEM_SELECTED', 'type')">Types</div>
<div class="item" data-section='script' onclick="mbus.dispatch('MENU_ITEM_SELECTED', 'script')">Scripts</div>
<div class="item" data-section='script-execution' onclick="mbus.dispatch('MENU_ITEM_SELECTED', 'script-execution')">Script executions</div>
</div>
<div class="page section" id="nodes"></div>
<div class="page" id="editor-node" style="display: none">
<div class="section ops">
<img onclick="mbus.dispatch('NODE_EDIT_NAME')" src="/images/{{ .VERSION }}/node_modules/@mdi/svg/svg/tag-text-outline.svg" />
<div onclick="mbus.dispatch('NODE_EDIT_NAME')" id="editor-node-name"></div>
<div class="tooltip left" data-tooltip="Create new nodes under this one">
<img onclick="mbus.dispatch('NODE_CREATE_DIALOG')" src="/images/{{ .VERSION }}/node_modules/@mdi/svg/svg/plus-box.svg" />
</div>
<div class="tooltip left" data-tooltip="Delete this node">
<img onclick="mbus.dispatch('NODE_DELETE')" src="/images/{{ .VERSION }}/node_modules/@mdi/svg/svg/trash-can.svg" />
</div>
<div class="tooltip left" data-tooltip="Move nodes under this one">
<img onclick="mbus.dispatch('NODE_MOVE')" src="/images/{{ .VERSION }}/node_modules/@mdi/svg/svg/file-move-outline.svg" />
</div>
<div class="tooltip left" data-tooltip="Copy path to JSON">
<img style="display: relative" class="copy-path" onclick="mbus.dispatch('NODE_COPY_PATH', _app.currentNode.ID)" src="/images/{{ .VERSION }}/node_modules/@mdi/svg/svg/protocol.svg" />
</div>
</div>
<div class="section">
<div class="editor"></div>
<div class="controls">
<button onclick="mbus.dispatch('EDITOR_NODE_SAVE')">Save</button>
</div>
</div>
<div class="section" id="connected-nodes"></div>
<div class="section" id="script-hooks"></div>
</div>
<div class="page section" id="types"></div>
<div class="page section" id="editor-type-schema"></div>
<div class="page section" id="scripts"></div>
<div class="page section" id="editor-script"></div>
<div class="page section" id="script-executions"></div>
</div>
{{ end }}