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 )