Show template load errors
This commit is contained in:
parent
90113a6514
commit
2681d7d5ba
|
|
@ -15,6 +15,7 @@ export const state = {
|
||||||
docusignAccountSelectionRequired: false,
|
docusignAccountSelectionRequired: false,
|
||||||
},
|
},
|
||||||
templates: [], // [{ adobe_id, name, status, blockers, warnings, ... }]
|
templates: [], // [{ adobe_id, name, status, blockers, warnings, ... }]
|
||||||
|
templatesError: null, // Visible error state for template loading failures
|
||||||
selectedIds: new Set(),
|
selectedIds: new Set(),
|
||||||
lastMigrationResults: null, // final batch job results
|
lastMigrationResults: null, // final batch job results
|
||||||
issueCount: 0, // blocked template count (drives nav badge)
|
issueCount: 0, // blocked template count (drives nav badge)
|
||||||
|
|
|
||||||
|
|
@ -30,15 +30,20 @@ function readiness(t) {
|
||||||
export async function refreshTemplates() {
|
export async function refreshTemplates() {
|
||||||
if (!state.auth.adobe || !state.auth.docusign) {
|
if (!state.auth.adobe || !state.auth.docusign) {
|
||||||
setState('templates', []);
|
setState('templates', []);
|
||||||
|
setState('templatesError', null);
|
||||||
updateDerivedState();
|
updateDerivedState();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const data = await api.templates.status();
|
const data = await api.templates.status();
|
||||||
setState('templates', data.templates || []);
|
setState('templates', data.templates || []);
|
||||||
|
setState('templatesError', null);
|
||||||
updateDerivedState();
|
updateDerivedState();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn('refreshTemplates failed:', e.message);
|
console.warn('refreshTemplates failed:', e.message);
|
||||||
|
setState('templates', []);
|
||||||
|
setState('templatesError', e.data?.error || e.message || 'Failed to load templates.');
|
||||||
|
updateDerivedState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -84,6 +89,13 @@ function _render() {
|
||||||
</div>
|
</div>
|
||||||
` : ''}
|
` : ''}
|
||||||
|
|
||||||
|
${state.templatesError ? `
|
||||||
|
<div class="callout error">
|
||||||
|
<span class="callout-icon">❌</span>
|
||||||
|
Template loading failed: ${escHtml(state.templatesError)}
|
||||||
|
</div>
|
||||||
|
` : ''}
|
||||||
|
|
||||||
<!-- Filter bar -->
|
<!-- Filter bar -->
|
||||||
<div class="filter-bar">
|
<div class="filter-bar">
|
||||||
<input type="search" class="search-input" id="template-search"
|
<input type="search" class="search-input" id="template-search"
|
||||||
|
|
@ -131,7 +143,7 @@ function _render() {
|
||||||
<div class="empty-state">
|
<div class="empty-state">
|
||||||
<div class="empty-state-icon">📄</div>
|
<div class="empty-state-icon">📄</div>
|
||||||
<div class="empty-state-title">${state.templates.length ? 'No templates match your filter' : 'No templates found'}</div>
|
<div class="empty-state-title">${state.templates.length ? 'No templates match your filter' : 'No templates found'}</div>
|
||||||
<div class="empty-state-sub">${state.templates.length ? 'Try clearing the search or filter.' : 'Connect Adobe Sign to load templates.'}</div>
|
<div class="empty-state-sub">${state.templates.length ? 'Try clearing the search or filter.' : (state.templatesError ? 'The template load failed. Check the error message above.' : 'Connect Adobe Sign to load templates.')}</div>
|
||||||
</div>
|
</div>
|
||||||
</td></tr>`
|
</td></tr>`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue