Delete preset-ui.js
This commit is contained in:
parent
429771bbd5
commit
a34754a95b
1 changed files with 0 additions and 81 deletions
81
preset-ui.js
81
preset-ui.js
|
|
@ -1,81 +0,0 @@
|
|||
// preset-ui.js
|
||||
window.PresetUI = {
|
||||
renderTable() {
|
||||
const tableBody = document.querySelector('#sortable-tbody');
|
||||
if (!tableBody) return;
|
||||
tableBody.innerHTML = '';
|
||||
|
||||
window.PresetManager.presets.forEach((preset, index) => {
|
||||
const row = document.createElement('tr');
|
||||
row.setAttribute('data-index', index);
|
||||
row.innerHTML = `
|
||||
<td class="drag-handle">☰</td>
|
||||
<td><input type="text" value="${preset.name}" onchange="PresetUI.changeName(${index}, this.value)"></td>
|
||||
<td><input type="text" value="${preset.url}" onchange="PresetUI.changeURL(${index}, this.value)"></td>
|
||||
<td><button class="delete-btn" onclick="PresetUI.deletePreset(${index})"><i class="fas fa-trash-alt"></i></button></td>
|
||||
`;
|
||||
tableBody.appendChild(row);
|
||||
});
|
||||
this.updateExportFields();
|
||||
},
|
||||
|
||||
async updateExportFields() {
|
||||
const exportField = document.getElementById('export-string-field');
|
||||
if (!exportField || !window.PresetManager) return;
|
||||
const dataString = await window.PresetManager.generateExportCode(false);
|
||||
const baseUrl = window.location.origin + window.location.pathname;
|
||||
exportField.value = baseUrl + '#' + dataString;
|
||||
},
|
||||
|
||||
copyShareLink() {
|
||||
const exportField = document.getElementById('export-string-field');
|
||||
if (!exportField || !exportField.value) return;
|
||||
|
||||
if (navigator.clipboard && window.isSecureContext) {
|
||||
navigator.clipboard.writeText(exportField.value)
|
||||
.catch(() => this.fallbackCopy(exportField));
|
||||
} else {
|
||||
this.fallbackCopy(exportField);
|
||||
}
|
||||
},
|
||||
|
||||
fallbackCopy(field) {
|
||||
field.select();
|
||||
field.setSelectionRange(0, 99999);
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
} catch (err) {
|
||||
window.UI.showAlert("Fehler", "Link bitte manuell kopieren.");
|
||||
}
|
||||
},
|
||||
|
||||
addPreset() {
|
||||
// Hier Umlaute vermeiden oder Entities nutzen beim Default-Namen
|
||||
window.PresetManager.presets.push({ name: 'Neuer Sender', url: '' });
|
||||
this.renderTable();
|
||||
},
|
||||
|
||||
deletePreset(index) {
|
||||
// "Löschen" -> "Löschen" zur Sicherheit
|
||||
window.UI.showConfirm("Löschen", "Sender wirklich entfernen?", (conf) => {
|
||||
if (conf) {
|
||||
window.PresetManager.presets.splice(index, 1);
|
||||
this.renderTable();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
changeName(i, v) {
|
||||
window.PresetManager.presets[i].name = v;
|
||||
this.updateExportFields();
|
||||
},
|
||||
|
||||
changeURL(i, v) {
|
||||
window.PresetManager.presets[i].url = v;
|
||||
this.updateExportFields();
|
||||
}
|
||||
};
|
||||
|
||||
window.addPreset = () => window.PresetUI.addPreset();
|
||||
window.deletePreset = (i) => window.PresetUI.deletePreset(i);
|
||||
window.copyShareLink = () => window.PresetUI.copyShareLink();
|
||||
Loading…
Reference in a new issue