';
}
}
async function restoreBackup() {
if (!state.leftVersion) return;
- const confirmed = confirm(
- `Restaurer "${state.path}" à la version du ${formatTimestamp(state.leftVersion)} ?\n\n` +
- `La version actuelle sera sauvegardée avant la restauration.`
+ var confirmed = confirm(
+ 'Restaurer "' + state.path + '" a la version du ' + formatTimestamp(state.leftVersion) + ' ?\n\n' +
+ 'La version actuelle sera sauvegardee avant la restauration.'
);
if (!confirmed) return;
- const restoreBtn = document.getElementById('backup-restore-btn');
+ var restoreBtn = document.getElementById('backup-restore-btn');
if (restoreBtn) {
restoreBtn.disabled = true;
restoreBtn.textContent = 'Restauration...';
}
try {
- const resp = await api(
- `/api/file/${encodeURIComponent(state.vault)}/restore?path=${encodeURIComponent(state.path)}`,
+ var resp = await api(
+ '/api/file/' + encodeURIComponent(state.vault) + '/restore?path=' + encodeURIComponent(state.path),
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
@@ -329,17 +328,17 @@ async function restoreBackup() {
);
if (resp && resp.success) {
- showToast('Fichier restauré avec succès', 'success');
+ showToast('Fichier restaure avec succes', 'success');
await refreshSidebarTreePreservingState();
close();
if (typeof TabManager !== 'undefined' && TabManager.reloadCurrent) {
TabManager.reloadCurrent();
}
} else {
- showToast('Échec de la restauration', 'error');
+ showToast('Echec de la restauration', 'error');
}
} catch (err) {
- showToast(`Erreur: ${err?.detail || err?.message || 'Unknown'}`, 'error');
+ showToast('Erreur: ' + ((err && err.detail) || (err && err.message) || 'Unknown'), 'error');
} finally {
if (restoreBtn) {
restoreBtn.disabled = false;
@@ -355,21 +354,22 @@ async function restoreBackup() {
function renderDiff(diffText) {
if (!diffText) {
- return '
Aucune différence — les versions sont identiques.
';
+ return '
Aucune difference - les versions sont identiques.
';
}
- let html = '
';
- const lines = diffText.split('\n');
+ var html = '
';
+ var lines = diffText.split('\n');
- for (const line of lines) {
- let cssClass = 'diff-context';
- let prefix = ' ';
- if (line.startsWith('@@')) { cssClass = 'diff-hunk'; prefix = ''; }
- else if (line.startsWith('+')) { cssClass = 'diff-add'; prefix = '+'; }
- else if (line.startsWith('-')) { cssClass = 'diff-del'; prefix = '-'; }
- else if (line.startsWith('---') || line.startsWith('+++')) { cssClass = 'diff-header-line'; prefix = ''; }
+ for (var i = 0; i < lines.length; i++) {
+ var line = lines[i];
+ var cssClass = 'diff-context';
+ var prefix = ' ';
+ if (line.indexOf('@@') === 0) { cssClass = 'diff-hunk'; prefix = ''; }
+ else if (line.indexOf('+') === 0) { cssClass = 'diff-add'; prefix = '+'; }
+ else if (line.indexOf('-') === 0) { cssClass = 'diff-del'; prefix = '-'; }
+ else if (line.indexOf('---') === 0 || line.indexOf('+++') === 0) { cssClass = 'diff-header-line'; prefix = ''; }
- html += `
${prefix}
${escapeHtml(line)}
`;
+ html += '
' + prefix + '
' + escapeHtml(line) + '
';
}
html += '
';
@@ -382,40 +382,40 @@ function renderDiff(diffText) {
function renderDiffSideBySide(leftText, rightText) {
if (!leftText && !rightText) {
- return '
Aucune différence — les versions sont identiques.
';
+ return '
Aucune difference - les versions sont identiques.
';
}
- const leftLines = (leftText || '').split('\n');
- const rightLines = (rightText || '').split('\n');
+ var leftLines = (leftText || '').split('\n');
+ var rightLines = (rightText || '').split('\n');
+ var sm = new DifflibSeqMatcher(leftLines, rightLines);
+ var ops = sm.getOpcodes();
- // Compute matching opcodes using difflib-style SequenceMatcher
- // We build two arrays of line groups: equal, delete (left-only), insert (right-only), replace
- const sm = new difflibSeqMatcher(leftLines, rightLines);
- const ops = sm.getOpcodes();
+ var html = '
';
- let html = '
';
+ for (var oi = 0; oi < ops.length; oi++) {
+ var op = ops[oi];
+ var tag = op[0], i1 = op[1], i2 = op[2], j1 = op[3], j2 = op[4];
- for (const [tag, i1, i2, j1, j2] of ops) {
if (tag === 'equal') {
- for (let k = 0; k < (i2 - i1); k++) {
- html += `
${escapeHtml(leftLines[i1 + k])}
${escapeHtml(rightLines[j1 + k])}
`;
+ for (var k = 0; k < (i2 - i1); k++) {
+ html += '
' + escapeHtml(leftLines[i1 + k]) + '
' + escapeHtml(rightLines[j1 + k]) + '
';
}
} else if (tag === 'delete') {
- for (let k = i1; k < i2; k++) {
- html += `
${escapeHtml(leftLines[k])}
`;
+ for (var k2 = i1; k2 < i2; k2++) {
+ html += '
' + escapeHtml(leftLines[k2]) + '
';
}
} else if (tag === 'insert') {
- for (let k = j1; k < j2; k++) {
- html += `
${escapeHtml(rightLines[k])}
`;
+ for (var k3 = j1; k3 < j2; k3++) {
+ html += '
' + escapeHtml(rightLines[k3]) + '
';
}
} else if (tag === 'replace') {
- const maxLen = Math.max(i2 - i1, j2 - j1);
- for (let k = 0; k < maxLen; k++) {
- const leftLine = (i1 + k < i2) ? escapeHtml(leftLines[i1 + k]) : '';
- const rightLine = (j1 + k < j2) ? escapeHtml(rightLines[j1 + k]) : '';
- const leftClass = (i1 + k < i2) ? 'diff-del' : 'diff-empty-cell';
- const rightClass = (j1 + k < j2) ? 'diff-add' : 'diff-empty-cell';
- html += `