diff --git a/js/nc_connector_edit_v2.js b/js/nc_connector_edit_v2.js index a2d4c01..15787a0 100644 --- a/js/nc_connector_edit_v2.js +++ b/js/nc_connector_edit_v2.js @@ -1,236 +1,6 @@ (function () { 'use strict'; - - function ready(callback) { - if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', callback); - else callback(); - } - - ready(function () { - var section = document.getElementById('nc-connector'); - if (!section) return; - - var tokenInput = section.querySelector('input[name="pwg_token"]'); - var pwgToken = tokenInput ? tokenInput.value : ''; - - var technicalButton = document.getElementById('bratonien-nc-technical-open'); - if (technicalButton) technicalButton.remove(); - var technicalCreate = document.getElementById('bratonien-nc-technical-create'); - if (technicalCreate) technicalCreate.remove(); - - var statusHeading = Array.prototype.find.call(section.querySelectorAll('h4'), function (heading) { - return heading.textContent.trim() === 'Status'; - }); - var statusCard = statusHeading ? statusHeading.closest('.bratonien-card') : null; - if (statusCard && pwgToken && !statusCard.querySelector('[data-nc-run-now]')) { - var runForm = document.createElement('form'); - runForm.method = 'post'; - runForm.className = 'bratonien-actions'; - runForm.style.marginTop = '1rem'; - runForm.setAttribute('data-nc-run-now', '1'); - runForm.innerHTML = '' - + ''; - runForm.addEventListener('submit', function () { - var button = runForm.querySelector('button'); - if (button) { - button.disabled = true; - button.textContent = 'Abgleich wird gestartet …'; - } - }); - statusCard.appendChild(runForm); - } - - function escapeHtml(value) { - return String(value == null ? '' : value).replace(/[&<>"']/g, function (c) { - return {'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]; - }); - } - - function loadConnection(id) { - return fetch('plugins/bratonien_tools/nc-connector-edit-data.php?connection_id='+encodeURIComponent(id)+'&_='+Date.now(), { - credentials:'same-origin', cache:'no-store', headers:{'Accept':'application/json'} - }).then(function (response) { - return response.json().then(function (data) { - if (!response.ok) throw new Error(data.error || ('HTTP '+response.status)); - return data; - }); - }); - } - - function createPostForm(label, tool, id) { - var form = document.createElement('form'); - form.method = 'post'; - form.style.display = 'inline'; - form.innerHTML = '' - + '' - + ''; - return form; - } - - function dialog() { - var node = document.getElementById('bratonien-nc-connection-edit-v2'); - if (node) return node; - node = document.createElement('dialog'); - node.id = 'bratonien-nc-connection-edit-v2'; - node.className = 'bratonien-edit-dialog'; - node.innerHTML = '
Die Einstellungen gelten nur für diese Verbindung.
Verbindung wird geladen …
'; - if (typeof editDialog.showModal === 'function') editDialog.showModal(); - else editDialog.setAttribute('open', 'open'); - - loadConnection(id).then(function (data) { - if (data.adapter !== 'local') throw new Error('Diese Verbindung wird über den WebDAV-Assistenten bearbeitet.'); - var legacy = data.legacy || {}; - var webdav = data.webdav || {}; - var storages = Array.isArray(legacy.storages) ? legacy.storages : []; - var rows = storages.map(storageRow).join('') || storageRow({}); - - content.innerHTML = ''; - - var form = content.querySelector('[data-edit-form]'); - form.querySelector('[data-cancel]').addEventListener('click', function () { editDialog.close(); }); - form.querySelector('[data-add-storage]').addEventListener('click', function () { - form.querySelector('[data-storage-list]').insertAdjacentHTML('beforeend', storageRow({})); - }); - form.addEventListener('click', function (event) { - var remove = event.target.closest('[data-remove-storage]'); - if (remove) { - var row = remove.closest('[data-storage-row]'); - if (row) row.remove(); - } - }); - form.addEventListener('submit', function (event) { - event.preventDefault(); - submitLocal(form, editDialog); - }); - }).catch(function (error) { - content.innerHTML = 'Bearbeiten nicht möglich: '+escapeHtml(error.message || String(error))+'
'; - }); - } - - [].slice.call(section.querySelectorAll('button[value="nc_connector_edit_start"]')).forEach(function (button) { - var form = button.closest('form'); - if (form) form.remove(); - }); - - [].slice.call(section.querySelectorAll('button[value="nc_connector_migrate_start"]')).forEach(function (button) { - var form = button.closest('form'); - if (form) form.remove(); - }); - - [].slice.call(section.querySelectorAll('button[value="nc_connector_delete"]')).forEach(function (deleteButton) { - var deleteForm = deleteButton.closest('form'); - if (!deleteForm || !deleteForm.parentElement) return; - var idInput = deleteForm.querySelector('input[name="connection_id"]'); - if (!idInput) return; - var id = idInput.value; - var actions = deleteForm.parentElement; - - loadConnection(id).then(function (data) { - var edit; - if (data.adapter === 'local') { - edit = document.createElement('button'); - edit.type = 'button'; - edit.className = 'buttonLike'; - edit.textContent = 'Bearbeiten'; - edit.addEventListener('click', function () { openLocalEditor(id); }); - } else { - edit = createPostForm('Bearbeiten', 'nc_connector_edit_start', id); - } - actions.insertBefore(edit, deleteForm); - }).catch(function (error) { - var info = document.createElement('span'); - info.className = 'bratonien-main-cache__warning'; - info.textContent = 'Verbindung konnte nicht geladen werden: '+(error.message || String(error)); - actions.insertBefore(info, deleteForm); - }); - }); - }); + // 0.9.7.18: Die parallele AJAX-Editor-Schicht ist absichtlich deaktiviert. + // Der NC Connector benutzt wieder ausschliesslich die vorhandenen + // Piwigo-Formulare, die Tool-Registry und den WebDAV-Wizard. })();