Commit 34f8dd71 authored by jan.koester's avatar jan.koester
Browse files

test

parent b467c751
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
            <button id="btn-export-xml" data-i18n-title="I18N_TITLE_EXPORT_XML">&#x2B06; <span data-i18n="I18N_EXPORT_XML">Export XML</span></button>
            <button id="btn-import-html" data-i18n-title="I18N_IMPORT_HTML">&#x2B07; <span data-i18n="I18N_IMPORT_HTML">Import HTML</span></button>
            <button id="btn-export-html" data-i18n-title="I18N_EXPORT_HTML">&#x2B06; <span data-i18n="I18N_EXPORT_HTML">Export HTML</span></button>
            <button id="btn-publish" data-i18n-title="I18N_PUBLISH_TITLE">&#x1F310; <span data-i18n="I18N_PUBLISH">Veröffentlichen</span></button>
            <button id="btn-conn-manager" data-i18n-title="I18N_CONNECTIONS">&#x1F517; <span data-i18n="I18N_CONNECTIONS">Verbindungen</span></button>
        </div>
        <div class="toolbar-group">
            <button id="btn-ai" data-i18n-title="I18N_AI_TITLE">&#x1F916; <span data-i18n="I18N_AI">KI</span></button>
@@ -57,8 +57,10 @@
        <main id="preview-pane">
            <div id="preview-toolbar">
                <button id="btn-refresh-preview" data-i18n-title="I18N_TITLE_REFRESH_TREE">&#x1F504; <span data-i18n="I18N_VIEW">Vorschau</span></button>
                <select id="preview-publish-target" title="Publish Target" style="padding:0.2em 0.4em;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:0.8rem;cursor:pointer;display:none">
                <select id="preview-publish-target" title="Publish Target" style="padding:0.2em 0.4em;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:0.8rem;cursor:pointer" disabled>
                    <option value="">Nicht verbunden</option>
                </select>
                <button id="btn-publish-now" disabled style="padding:0.2em 0.6em;border-radius:4px;border:1px solid var(--border);background:var(--accent);color:var(--bg-primary);font-size:0.8rem;cursor:pointer;font-weight:600;opacity:0.4">&#x1F310; Publish</button>
                <select id="theme-select" title="Theme" style="margin-left:auto;padding:0.2em 0.4em;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:0.8rem;cursor:pointer">
                    <option value="dark">&#x1F319; Dark</option>
                    <option value="light">&#x2600; Light</option>
+57 −4
Original line number Diff line number Diff line
@@ -165,8 +165,12 @@
            openSettings();
        });

        document.getElementById('btn-publish').addEventListener('click', function() {
            openPublishDialog();
        document.getElementById('btn-conn-manager').addEventListener('click', function() {
            openConnectionManager();
        });

        document.getElementById('btn-publish-now').addEventListener('click', function() {
            publishFromToolbar();
        });

        document.getElementById('btn-ai').addEventListener('click', function() {
@@ -756,11 +760,15 @@
        currentPublishTargets = targets;
        var select = document.getElementById('preview-publish-target');
        var fieldsDiv = document.getElementById('preview-publish-fields');
        var publishBtn = document.getElementById('btn-publish-now');
        select.innerHTML = '';

        if (!targets || targets.length === 0) {
            select.style.display = 'none';
            select.disabled = true;
            select.innerHTML = '<option value="">Nicht verbunden</option>';
            fieldsDiv.style.display = 'none';
            publishBtn.disabled = true;
            publishBtn.style.opacity = '0.4';
            return;
        }

@@ -771,7 +779,9 @@
            select.appendChild(opt);
        }

        select.style.display = '';
        select.disabled = false;
        publishBtn.disabled = false;
        publishBtn.style.opacity = '1';
        renderPreviewPublishFields(targets[0].name);

        // Bind change event (only once)
@@ -832,6 +842,49 @@
        }
    }

    function publishFromToolbar() {
        var target = document.getElementById('preview-publish-target').value;
        if (!target) return;

        // Find connected connId
        var connId = null;
        for (var cid in connectedConnections) {
            if (connectedConnections[cid]) { connId = cid; break; }
        }
        if (!connId) return;

        // Collect dynamic fields from preview toolbar
        var params = {};
        var inputs = document.getElementById('preview-publish-fields').querySelectorAll('[data-publish-key]');
        for (var i = 0; i < inputs.length; i++) {
            var key = inputs[i].getAttribute('data-publish-key');
            if (inputs[i].type === 'checkbox') {
                params[key] = inputs[i].checked;
            } else {
                params[key] = inputs[i].value;
            }
        }

        if (!confirm(I18n.t('I18N_PUBLISH_CONFIRM', 'Dokument ver\u00f6ffentlichen?'))) return;

        var publishBtn = document.getElementById('btn-publish-now');
        var origText = publishBtn.innerHTML;
        publishBtn.disabled = true;
        publishBtn.innerHTML = '&#x23F3; ...';

        EditorApi.publishToConnection(connId, target, params).then(function() {
            publishBtn.innerHTML = '&#x2705; OK';
            setTimeout(function() {
                publishBtn.innerHTML = origText;
                publishBtn.disabled = false;
            }, 2000);
        }).catch(function(err) {
            alert(I18n.t('I18N_PUBLISH_FAILED', 'Fehler') + ': ' + (err.error || ''));
            publishBtn.innerHTML = origText;
            publishBtn.disabled = false;
        });
    }

    function loadConnectionList() {
        EditorApi.listConnections().then(function(resp) {
            renderConnectionList(resp.connections || []);