App-Mxpress-PDF
view release on metacpan or search on metacpan
public/javascripts/ui.js view on Meta::CPAN
var cb = id.replace('#', '');
if (App[cb]) App[cb]();
if (cb !== 'logout') App.changeTab(id);
};
App.content.querySelector('select[name="template"]').addEventListener('change', function (e) {
var templates = App.templateStore;
var value = e.target.options[e.target.selectedIndex].value;
var find = templates.find(function (t) {
return t.name === value;
});
var editor = ace.edit('generateParams');
editor.setValue(JSON.stringify(find.params, null, "\t"), -1);
});
App.content.querySelector('#setDefaultStyles').addEventListener('click', function (e) {
var editor = ace.edit('createTemplateStylesAce');
editor.setValue(JSON.stringify(App.defaultTemplateStyles, null, '\t'), -1);
});
App.content.querySelector('#setDefaultPodStyles').addEventListener('click', function (e) {
var editor = ace.edit('createPodStylesAce');
var clone = JSON.parse(JSON.stringify(App.defaultTemplateStyles));
clone.toc.levels = ["title", "h1", "h2", "h3", "h4", "h5", "h6"];
editor.setValue(JSON.stringify(clone, null, '\t'), -1);
});
App.content.querySelector('#generatePDF').addEventListener('submit', function (e) {
e.preventDefault();
var data = App.formData(e.target);
var find = JSON.parse(JSON.stringify(App.templateStore.find(function (t) {
return data.template === t.name;
})));
find.params = JSON.parse(data.params);
App.fileRequest('/api/generate/pdf', find, function (res) {
});
});
App.content.querySelector('#generatePODPDF').addEventListener('submit', function (e) {
e.preventDefault();
var data = App.formData(e.target);
if (!data.name) data.name = data.module ? data.module : data.distribution;
App.fileRequest('/api/generate/pod', data, function (res) {});
});
App.content.querySelector('#createTemplate').addEventListener('submit', function (e) {
e.preventDefault();
var data = App.formData(e.target);
App.postRequest('/api/create/template', data, function (res) {
var find = App.templateStore.find(function (a) {
return a.name === res.name;
});
if (!find) {
App.templateStore.push(res);
App.notify('success', 'Create Template', 'Successfully created a new template: ' + res.name)
} else {
for (key in res) {
find[key] = res[key]
}
App.notify('success', 'Update Template', 'Successfully updated template: ' + res.name)
}
App.templatesTable(App.templateStore);
});
});
App.content.querySelectorAll('input[data-validate="plain-text"]').forEach(function (e) {
e.addEventListener('keydown', function (n) {
if (n.key.match('[^a-zA-Z0-9\-\:]')) {
n.preventDefault();
}
});
});
App.content.querySelector('#createNewTemplate').addEventListener('click', function () {
document.querySelector('a[href="#manage"]').click();
App.setTemplateFormData({
name: '',
styles: '',
template: '',
size: 'A4'
});
});
App.content.querySelector('#loginForm').addEventListener('submit', function (e) {
console.log(e);
e.preventDefault();
var data = App.formData(e.target);
App.postRequest('/api/login', data, function (res) {
if (res.success) {
App.notify('success', 'Logged In', res.success);
App.session = true;
App.start();
} else {
App.notify('error', 'Login Failed', res.error);
}
});
});
App.getRequest('/api/session', {}, function (res) {
if (res.session == 1) {
App.session = true;
App.start();
}
});
}(this, this.document));
( run in 1.016 second using v1.01-cache-2.11-cpan-39bf76dae61 )