Commit 776f8a29 authored by jan.koester's avatar jan.koester
Browse files

tuned

parent 60301226
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ WEBEDIT:
    - "/usr/lib/blogi/plugins/webedit"
  HTMLDIR: "/usr/share/blogi-editor/html"
  PREFIX: ""
  LANGUAGE: "DE"
  AUTHDB:
    - URL: "https://localhost:8443"
      CLIENTNAME: "blogi-editor"
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ WEBEDIT:
    - "../build/editor/widgets"
  HTMLDIR: "/usr/local/share/blogi-webedit/html"
  PREFIX: ""
  LANGUAGE: "DE"
  AUTHDB:
    - URL: "https://localhost:8443"
      CLIENTNAME: "blogi-editor"
+21 −0
Original line number Diff line number Diff line
@@ -451,6 +451,27 @@ dialog label {
    border-radius: 3px;
}

.doc-item-actions {
    display: flex;
    gap: 4px;
    align-items: center;
}

.doc-item-revisions {
    color: var(--accent);
    cursor: pointer;
    padding: 2px 8px;
    border: 1px solid var(--border);
    background: transparent;
    font-size: 12px;
    border-radius: 3px;
}

.doc-item-revisions:hover {
    background: var(--accent);
    color: var(--bg-primary);
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px;
+37 −28
Original line number Diff line number Diff line
@@ -3,26 +3,26 @@
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Blogi WebEditor</title>
    <title data-i18n="I18N_BLOGI_WEBEDITOR">Blogi WebEditor</title>
    <link rel="stylesheet" href="css/editor.css">
</head>
<body>
    <!-- Toolbar -->
    <header id="toolbar">
        <div class="toolbar-group">
            <button id="btn-new" title="Neues Dokument">&#x1F4C4; Neu</button>
            <button id="btn-save" title="Speichern">&#x1F4BE; Speichern</button>
            <button id="btn-open" title="Öffnen">&#x1F4C2; Öffnen</button>
            <button id="btn-new" data-i18n-title="I18N_TITLE_NEW_TEMPLATE">&#x1F4C4; <span data-i18n="I18N_NEW">Neu</span></button>
            <button id="btn-save" data-i18n-title="I18N_TITLE_SAVE_TO_DB">&#x1F4BE; <span data-i18n="I18N_SAVE">Speichern</span></button>
            <button id="btn-open" data-i18n-title="I18N_TEMPLATES">&#x1F4C2; <span data-i18n="I18N_TEMPLATES">Öffnen</span></button>
        </div>
        <div class="toolbar-group">
            <button id="btn-import-xml" title="XML Importieren">&#x2B07; Import XML</button>
            <button id="btn-export-xml" title="XML Exportieren">&#x2B06; Export XML</button>
            <button id="btn-import-xml" data-i18n-title="I18N_TITLE_IMPORT_XML">&#x2B07; <span data-i18n="I18N_IMPORT_XML">Import XML</span></button>
            <button id="btn-export-xml" data-i18n-title="I18N_TITLE_EXPORT_XML">&#x2B06; <span data-i18n="I18N_EXPORT_XML">Export XML</span></button>
        </div>
        <div class="toolbar-group">
            <span id="doc-name" class="doc-name">Untitled</span>
        </div>
        <div class="toolbar-group" style="margin-left:auto">
            <button id="btn-logout" title="Abmelden">&#x1F6AA; Abmelden</button>
            <button id="btn-logout" data-i18n-title="Logout">&#x1F6AA; <span data-i18n="Logout">Abmelden</span></button>
        </div>
    </header>

@@ -30,17 +30,17 @@
        <!-- Left Sidebar: Widget Palette + Document Tree -->
        <aside id="sidebar-left">
            <div id="widget-palette">
                <h3>Widgets</h3>
                <h3 data-i18n="I18N_TOOLBOX">Widgets</h3>
                <div id="widget-list"></div>
            </div>
            <div id="document-tree-panel">
                <h3>Dokumentbaum</h3>
                <h3 data-i18n="I18N_CONTENT_INDEX">Dokumentbaum</h3>
                <div id="tree-actions">
                    <button id="btn-move-up" title="Nach oben">&#x2191;</button>
                    <button id="btn-move-down" title="Nach unten">&#x2193;</button>
                    <button id="btn-indent" title="Einrücken">&#x2192;</button>
                    <button id="btn-outdent" title="Ausrücken">&#x2190;</button>
                    <button id="btn-remove" title="Löschen">&#x2716;</button>
                    <button id="btn-move-up" data-i18n-title="I18N_MOVE_UP">&#x2191;</button>
                    <button id="btn-move-down" data-i18n-title="I18N_MOVE_DOWN">&#x2193;</button>
                    <button id="btn-indent" data-i18n-title="I18N_INDENT">&#x2192;</button>
                    <button id="btn-outdent" data-i18n-title="I18N_OUTDENT">&#x2190;</button>
                    <button id="btn-remove" data-i18n-title="I18N_REMOVE_ELEMENT">&#x2716;</button>
                </div>
                <div id="document-tree"></div>
            </div>
@@ -49,7 +49,7 @@
        <!-- Center: Preview -->
        <main id="preview-pane">
            <div id="preview-toolbar">
                <button id="btn-refresh-preview" title="Vorschau aktualisieren">&#x1F504; Vorschau</button>
                <button id="btn-refresh-preview" data-i18n-title="I18N_TITLE_REFRESH_TREE">&#x1F504; <span data-i18n="I18N_VIEW">Vorschau</span></button>
            </div>
            <iframe id="preview-frame" sandbox="allow-same-origin"></iframe>
        </main>
@@ -57,9 +57,9 @@
        <!-- Right Sidebar: Properties -->
        <aside id="sidebar-right">
            <div id="properties-panel">
                <h3>Eigenschaften</h3>
                <h3 data-i18n="I18N_WIDGET_PROPERTIES">Eigenschaften</h3>
                <div id="properties-content">
                    <p class="hint">Element auswählen um Eigenschaften zu bearbeiten.</p>
                    <p class="hint" data-i18n="I18N_SELECT_WIDGET">Element auswählen um Eigenschaften zu bearbeiten.</p>
                </div>
            </div>
        </aside>
@@ -67,40 +67,49 @@

    <!-- Dialogs -->
    <dialog id="open-dialog">
        <h3>Dokument öffnen</h3>
        <h3 data-i18n="I18N_TEMPLATES">Dokument öffnen</h3>
        <div id="doc-list"></div>
        <div class="dialog-actions">
            <button id="btn-open-cancel">Abbrechen</button>
            <button id="btn-open-cancel" data-i18n="I18N_CANCEL">Abbrechen</button>
        </div>
    </dialog>

    <dialog id="save-dialog">
        <h3>Dokument speichern</h3>
        <label>Name: <input type="text" id="save-name" placeholder="Dokumentname"></label>
        <h3 data-i18n="I18N_SAVE_TPL_TITLE">Dokument speichern</h3>
        <label><span data-i18n="I18N_TPL_NAME_LABEL">Name</span>: <input type="text" id="save-name" data-i18n-placeholder="I18N_TPL_NAME_PLACEHOLDER" placeholder="Dokumentname"></label>
        <div class="dialog-actions">
            <button id="btn-save-confirm">Speichern</button>
            <button id="btn-save-cancel">Abbrechen</button>
            <button id="btn-save-confirm" data-i18n="I18N_SAVE">Speichern</button>
            <button id="btn-save-cancel" data-i18n="I18N_CANCEL">Abbrechen</button>
        </div>
    </dialog>

    <dialog id="import-dialog">
        <h3>XML importieren</h3>
        <h3 data-i18n="I18N_IMPORT_XML">XML importieren</h3>
        <textarea id="import-xml-content" rows="15" placeholder="XML hier einfügen..."></textarea>
        <div class="dialog-actions">
            <button id="btn-import-confirm">Importieren</button>
            <button id="btn-import-cancel">Abbrechen</button>
            <button id="btn-import-confirm" data-i18n="I18N_IMPORT_XML">Importieren</button>
            <button id="btn-import-cancel" data-i18n="I18N_CANCEL">Abbrechen</button>
        </div>
    </dialog>

    <dialog id="export-dialog">
        <h3>XML exportieren</h3>
        <h3 data-i18n="I18N_EXPORT_XML">XML exportieren</h3>
        <textarea id="export-xml-content" rows="15" readonly></textarea>
        <div class="dialog-actions">
            <button id="btn-export-copy">Kopieren</button>
            <button id="btn-export-close">Schließen</button>
            <button id="btn-export-close" data-i18n="Close">Schließen</button>
        </div>
    </dialog>

    <dialog id="revisions-dialog">
        <h3 data-i18n="I18N_REVISIONS">Versionen</h3>
        <div id="revisions-list"></div>
        <div class="dialog-actions">
            <button id="btn-revisions-close" data-i18n="Close">Schließen</button>
        </div>
    </dialog>

    <script src="js/i18n.js"></script>
    <script src="js/api.js"></script>
    <script src="js/tree.js"></script>
    <script src="js/properties.js"></script>
+15 −0
Original line number Diff line number Diff line
@@ -138,6 +138,21 @@ var EditorApi = (function() {

        deleteDocument: function(id) {
            return request('DELETE', '/api/document/delete/' + id);
        },

        listRevisions: function(docId) {
            return request('GET', '/api/document/revisions/' + docId);
        },

        loadRevision: function(revisionId) {
            return request('GET', '/api/document/revision/load/' + revisionId);
        },

        restoreRevision: function(documentId, revisionId) {
            return request('POST', '/api/document/revision/restore', {
                documentId: documentId,
                revisionId: revisionId
            });
        }
    };
})();
Loading