Community Outreach Production Tool
Dashboard
Planning Topics by Tag
No active topic tags found.
What would you like to create?
Annual Report
Host Organization Details
";
const sourceHTML = header + document.getElementById("reportContent").innerHTML + footer;
const source = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(sourceHTML);
const fileDownload = document.createElement("a");
document.body.appendChild(fileDownload);
fileDownload.href = source;
fileDownload.download = 'Annual-Report.doc';
fileDownload.click();
document.body.removeChild(fileDownload);
},
// --- INITIALIZATION ---
init() {
// Static button listeners
document.getElementById('newItemBtn').addEventListener('click', () => this.openModal('newItemModal'));
document.getElementById('importBtn').addEventListener('click', () => this.openModal('importModal'));
document.getElementById('generateReportBtn').addEventListener('click', () => this.generateReport());
document.getElementById('saveWorkBtn').addEventListener('click', () => {
this.saveWork();
const btn = document.getElementById('saveWorkBtn');
btn.innerHTML = '
Saved!';
setTimeout(() => { btn.innerHTML = '
Save Work'; }, 2000);
});
// Modal-specific listeners
document.querySelectorAll('.modal-close-btn').forEach(btn => btn.addEventListener('click', (e) => this.closeModal(e.target.closest('.modal').id)));
document.querySelectorAll('.form-select-btn').forEach(btn => btn.addEventListener('click', (e) => {
document.getElementById('newItemTypeSelection').classList.add('hidden');
const formId = e.currentTarget.dataset.form === 'event' ? 'newEventForm' : 'newTopicForm';
document.getElementById(formId).classList.remove('hidden');
}));
document.getElementById('createEventBtn').addEventListener('click', () => this.createNewCard('event'));
document.getElementById('createTopicBtn').addEventListener('click', () => this.createNewCard('topic'));
document.getElementById('scanDocBtn').addEventListener('click', () => this.handleFileUpload());
document.getElementById('printReportBtn').addEventListener('click', () => window.print());
document.getElementById('downloadDocBtn').addEventListener('click', () => this.downloadDoc());
window.addEventListener('keydown', (event) => { if (event.key === 'Escape') { document.querySelectorAll('.modal').forEach(m => m.classList.remove('is-open')); } });
// Load initial or saved data
this.loadWork();
}
};
document.addEventListener('DOMContentLoaded', () => {
App.init();
});
//]]>