81 lines
2.3 KiB
JavaScript
81 lines
2.3 KiB
JavaScript
(function (app) {
|
|
'use strict';
|
|
|
|
var dom = app.dom;
|
|
var json = app.json;
|
|
var filesModule = app.modules.files;
|
|
var security = app.modules.security;
|
|
|
|
function originalEmptyData() {
|
|
return {
|
|
envelope: {
|
|
version: 1,
|
|
digestAlgorithm: app.constants.digestAlgorithm,
|
|
digest: '',
|
|
digestedAt: '',
|
|
signatureAlgorithm: app.constants.signatureAlgorithm,
|
|
signatures: []
|
|
},
|
|
payload: {
|
|
version: 1,
|
|
type: 'Transmittal',
|
|
title: '',
|
|
client: '',
|
|
project: '',
|
|
projectNumber: '',
|
|
date: '',
|
|
trackingNumber: '',
|
|
from: '',
|
|
to: '',
|
|
purpose: '',
|
|
responseDue: '',
|
|
subject: '',
|
|
remarks: '',
|
|
files: []
|
|
},
|
|
presentation: {
|
|
leftLogo: '',
|
|
rightLogo: '',
|
|
theme: 'default',
|
|
customCss: ''
|
|
}
|
|
};
|
|
}
|
|
|
|
async function handleReset() {
|
|
if (!confirm('Reset will clear all data. Continue?')) {
|
|
return;
|
|
}
|
|
json.setData(originalEmptyData());
|
|
|
|
// Clear logos in DOM
|
|
var leftLogo = dom.qs('#left-logo');
|
|
var rightLogo = dom.qs('#right-logo');
|
|
if (leftLogo) { leftLogo.src = ''; }
|
|
if (rightLogo) { rightLogo.src = ''; }
|
|
|
|
// Clear runtime state
|
|
app.data.files = [];
|
|
app.data.selectedDirHandle = null;
|
|
app.data.selectedDirName = '';
|
|
|
|
filesModule.loadFromJson();
|
|
app.state.mode = 'edit';
|
|
app.state.published = false;
|
|
app.state.dirty = false;
|
|
if (security.renderSignaturesList) {
|
|
security.renderSignaturesList();
|
|
}
|
|
if (app.modules.mode && app.modules.mode.refresh) {
|
|
app.modules.mode.refresh();
|
|
}
|
|
app.state.apply();
|
|
if (app.modules.liveDigest && app.modules.liveDigest.schedule) {
|
|
app.modules.liveDigest.schedule();
|
|
}
|
|
}
|
|
|
|
app.modules.reset = {
|
|
handleReset: handleReset
|
|
};
|
|
})(window.transmittalApp);
|