var e2pdf = { //e2pdf.helper helper: { //e2pdf.helper.color color: { close: function (el) { var color_panel = jQuery(el).parent(); color_panel.find('.wp-color-result').click(); } }, //e2pdf.helper.image image: { //e2pdf.helper.image.load load: function (el) { el.addClass('e2pdf-loader'); var image = new Image(); image.src = e2pdf.properties.getValue(el, 'value'); var children = e2pdf.element.children(el); image.onload = function () { el.removeClass('e2pdf-loader'); el.find('.e2pdf-image').attr('src', e2pdf.properties.getValue(el, 'value')); if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH) { var o_width = this.width; var o_height = this.height; var dimension = parseFloat(children.css('width')) / o_width; var height = o_height * dimension; var add_height = parseFloat(el.css('height')) - parseFloat(children.css('height')); el.css('height', height + add_height); el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true; } else if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT) { var o_width = this.width; var o_height = this.height; var dimension = parseFloat(children.css('height')) / o_height; var width = o_width * dimension; var add_width = parseFloat(el.css('width')) - parseFloat(children.css('width')); el.css('width', width + add_width); el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true; } else { el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false; } children.removeClass('e2pdf-image-blank'); }; image.onerror = function () { el.removeClass('e2pdf-loader'); children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank'); if (el.data('data-type') === 'e2pdf-image' && (e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH || e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT)) { el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true; } else { el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false; } }; } }, //e2pdf.helper.convert convertPxToFloat: function (value) { return parseFloat(value.replace('px', '')); }, //e2pdf.helper.ajaxurl ajaxurl: function (action) { if (action) { var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']; } else { var url = ajaxurl + '?e2pdf_check=true&_nonce=' + e2pdfParams['nonce']; } return url; } }, //e2pdf.url url: { //e2pdf.url.change change: function (page, path) { if (window.history && window.history.pushState) { var url = window.location.pathname; if (page) { url += '?page=' + page; } if (path) { url += '&' + path; } history.pushState({urlPath: url}, "", url); } }, //e2pdf.url.build build: function (page, path, nonce) { var url = window.location.pathname; if (page) { url += '?page=' + page; } if (path) { url += '&' + path; } if (nonce) { url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce'] } return url; }, //e2pdf.url.get get: function (name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) { return null; } if (!results[2]) { return ''; } return decodeURIComponent(results[2].replace(/\+/g, " ")); }, pluginsUrl: function () { return e2pdfParams['plugins_url']; }, uploadUrl: function () { return e2pdfParams['upload_url']; } }, //e2pdf.shortcode shortcode: { //e2pdf.shortcode.get get: function (template_id, dataset_id) { if (template_id && dataset_id) { var shortcode = '[e2pdf-download id="' + template_id + '" dataset="' + dataset_id + '"]'; } else if (template_id) { var shortcode = '[e2pdf-download id="' + template_id + '"]'; } else { var shortcode = false; } return shortcode; } }, //e2pdf.guide guide: { //e2pdf.guide.calc calc: function (el, pos, w, h, g) { if (el != null) { if (g) { w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom; h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom; pos = jQuery(el).offset(); if (jQuery(el).hasClass('e2pdf-page')) { pos = { left: pos.left + 1, top: pos.top + 1 }; } } else { w = parseFloat(jQuery(el).css('width')); h = parseFloat(jQuery(el).css('height')); if (jQuery(el).hasClass('e2pdf-page')) { pos = { left: 0, top: 0 }; } else { pos = { left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')), top: parseFloat(e2pdf.properties.getValue(jQuery(el), 'top')) }; } } } return [ {type: "h", left: pos.left, top: pos.top}, {type: "h", left: pos.left, top: pos.top + h}, {type: "v", left: pos.left, top: pos.top}, {type: "v", left: pos.left + w, top: pos.top}, {type: "h", left: pos.left, top: pos.top + h / 2}, {type: "v", left: pos.left + w / 2, top: pos.top} ]; } }, //e2pdf.pdf pdf: { //e2pdf.pdf.settings settings: { options: [], //e2pdf.pdf.settings.change change: function (key, value) { e2pdf.pdf.settings.options[key] = value; if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) { jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value); } else { var input = jQuery('', { 'type': 'hidden', 'name': key, 'value': value, }); jQuery('.e2pdf-form-builder').append(input); } if (key == 'extension') { e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), value); } }, //e2pdf.pdf.settings.set set: function (key, value) { e2pdf.pdf.settings.options[key] = value; }, //e2pdf.pdf.settings.get get: function (key) { if (typeof e2pdf.pdf.settings.options[key] === 'undefined') { return null; } else { return e2pdf.pdf.settings.options[key]; } } } }, //e2pdf.static static: { //e2pdf.static.unsaved unsaved: false, //e2pdf.static.mediaUploader mediaUploader: false, //e2pdf.static.autoloadExport autoloadExport: false, //e2pdf.static.selectionRange selectionRange: null, //e2pdf.static.guide guide: { //e2pdf.static.guide.guides guides: [], //e2pdf.static.guide.distance distance: 5, x: 0, y: 0 }, //e2pdf.static.drag drag: { //e2pdf.static.drag.min_top min_top: 0, //e2pdf.static.drag.max_top max_top: 0, //e2pdf.static.drag.min_left min_left: 0, //e2pdf.static.drag.max_left max_left: 0, //e2pdf.static.drag.page page: null, }, //e2pdf.static.const const: { 'WIDTH_HEIGHT': '0', 'WIDTH': '1', 'HEIGHT': '2' } }, //e2pdf.event event: { //e2pdf.event.fire fire: function (event, action, el) { if (event === 'after.pages.deletePage' || event === 'after.createPdf' || event === 'after.pages.createPage.newpage' || event === 'after.element.create' || event === 'after.element.delete' || event === 'after.settings.style.change' || event === 'after.settings.template.change' || event === 'after.wysiwyg.apply' || event === 'after.request.submitLocal' || event === 'after.mediaUploader.select' || event === 'after.element.moved' || event === 'after.pages.movePage' ) { e2pdf.static.unsaved = true; } if (event === 'before.request.submitForm') { e2pdf.static.unsaved = false; } if (event === 'after.dialog.create' || event === 'after.actions.change') { jQuery('.e2pdf-color-picker-load').each(function () { jQuery(this).wpColorPicker( { defaultColor: function () { var el = jQuery(event.target).parent().find('.e2pdf-color-picker'); if (el.attr('data-default')) { return el.attr('data-default'); } else { return; } }, change: function (event, ui) { jQuery(this).val(ui.color.toString()).change(); } } ).removeClass('e2pdf-color-picker-load'); }); } if (event === 'after.dialog.create') { e2pdf.element.unselect(); } if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') { jQuery('#e2pdf-zoom').trigger('change'); } if (event === 'before.request.submitRequest') { el.attr('disabled', 'disabled'); if (action === 'e2pdf_auto') { el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled'); } if (action === 'e2pdf_extension') { el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled'); } if (action === 'e2pdf_templates') { el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled'); el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled'); } if (action === 'e2pdf_dataset') { el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled'); el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled'); } } if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') { el.attr('disabled', false); if (action === 'e2pdf_auto') { el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false); } if (action === 'e2pdf_extension') { el.closest('form').find('#e2pdf-item').find('option').remove(); el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', false); } if (action === 'e2pdf_get_styles') { jQuery('link[id^="e2pdf-dynamic-style-"]').remove(); } } if (event === 'before.request.upload') { el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled'); } if (event === 'after.request.upload.error' || event === 'after.request.upload.success') { el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false); el.closest('form').find('#e2pdf-upload-pdf').replaceWith( jQuery('', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'}) ); el.closest('form').find('#e2pdf-reupload-pdf').replaceWith( jQuery('', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'}) ); } } }, //e2pdf.form form: { //e2pdf.form.serializeObject serializeObject: function (form) { var o = {}; var a = form.serializeArray(); jQuery.each(a, function () { if (this.name.endsWith('[]')) { var name = this.name; name = name.substring(0, this.name.length - 2); if (!(name in o)) { o[name] = []; } o[name].push(this.value); } else if (this.name.endsWith(']')) { var name = this.name; var path = name.split(/[\[\]]+/); var curItem = o; for (var j = 0; j < path.length - 2; j++) { if (!(path[j] in curItem)) { curItem[path[j]] = {}; } curItem = curItem[path[j]]; } curItem[path[j]] = this.value || ''; } else { o[this.name] = this.value || ''; } }); return o; }, //e2pdf.form.serializeElements serializeElements: function () { var o = {}; jQuery('.e2pdf-element').each( function (index) { var el = {}; el.type = jQuery(this).data('data-type'); el.properties = e2pdf.properties.get(jQuery(this), true); el.actions = e2pdf.actions.get(jQuery(this)); el.top = jQuery(this).css('top'); el.left = jQuery(this).css('left'); el.width = jQuery(this).css('width'); el.height = jQuery(this).css('height'); if (jQuery(this).data('data-type') == 'e2pdf-html') { el.value = jQuery(this).find('.e2pdf-html').html(); } else if (jQuery(this).data('data-type') == 'e2pdf-input') { el.value = jQuery(this).find('.e2pdf-input').val(); } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') { el.value = jQuery(this).find('.e2pdf-textarea').val(); } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') { el.value = e2pdf.properties.getValue(jQuery(this), 'value'); } else if (jQuery(this).data('data-type') == 'e2pdf-radio') { el.value = e2pdf.properties.getValue(jQuery(this), 'value'); } else if (jQuery(this).data('data-type') == 'e2pdf-select') { el.value = e2pdf.properties.getValue(jQuery(this), 'value'); } else if (jQuery(this).data('data-type') == 'e2pdf-image') { el.value = e2pdf.properties.getValue(jQuery(this), 'value'); } else if (jQuery(this).data('data-type') == 'e2pdf-link') { el.value = e2pdf.properties.getValue(jQuery(this), 'value'); } else if (jQuery(this).data('data-type') == 'e2pdf-signature') { el.value = e2pdf.properties.getValue(jQuery(this), 'value'); } else { el.value = jQuery(this).html(); } el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id'); el.element_id = jQuery(this).attr('data-element_id'); o[index] = el; }); return o; } }, //e2pdf.font font: { //e2pdf.font.load load: function (el) { if (el.is('select')) { var name = el.val(); var value = el.find('option:selected').attr('path'); } else if (el.is('div')) { var name = el.attr('name'); var value = el.attr('path'); } if (jQuery("head").find('style[name="' + name + '"]').length === 0) { jQuery("head").append(""); } }, //e2pdf.font.apply apply: function (el, font) { var font_name = font.find('option:selected').html(); if (font_name) { el.css('font-family', font_name); } else { el.css('font-family', ''); } }, //e2pdf.font.size size: function (el, size) { var font_size = size.find('option:selected').html(); el.css({'font-size': font_size}); }, //e2pdf.font.line line: function (el, height) { var line_height = height.find('option:selected').html(); el.css({'line-height': line_height}); }, //e2pdf.font.color fontcolor: function (el, color) { var font_color = color.val(); el.css({'color': font_color}); }, //e2pdf.font.delete delete: function (el) { var font = el.attr('data-font'); e2pdf.request.submitRequest('e2pdf_delete_font', el, font); } }, //e2pdf.request request: { //e2pdf.request.upload upload: function (action, el) { if (el.attr('disabled')) { return; } var data = new FormData(el.closest('form')[0]); e2pdf.event.fire('before.request.upload', action, el); var loader = el.closest('form').find('.e2pdf-form-loader .spinner'); loader.css('visibility', 'visible').fadeIn(); jQuery.ajax({ url: e2pdf.helper.ajaxurl(action), type: 'POST', data: data, cache: false, contentType: false, processData: false, success: function (response) { loader.css('visibility', 'hidden').fadeOut(); e2pdf.event.fire('after.request.upload.success', action, el); if (response.redirect !== undefined) { // recheck if redirect fires in other cases when not upload pdf e2pdf.static.unsaved = false; location.href = response.redirect; } else if (response.error !== undefined) { alert(response.error); } else if (response.content) { e2pdf.request.callBack(action, response.content); } }, error: function (response) { loader.css('visibility', 'hidden').fadeOut(); e2pdf.event.fire('after.request.upload.success', action, el); } }); }, //e2pdf.request.submitForm submitForm: function (el) { if (el.attr('disabled')) { return; } el.attr('disabled', 'disabled'); var loader = el.closest('form').find('.e2pdf-form-loader .spinner'); loader.css('visibility', 'visible').fadeIn(); e2pdf.event.fire('before.request.submitForm'); var form_id = el.attr('form-id'); var form = jQuery(document.getElementById(form_id)); var data = e2pdf.form.serializeObject(form); if (form_id === 'e2pdf_build_form') { var elements = e2pdf.form.serializeElements(); data.pages = {}; jQuery('.e2pdf-page').each(function () { var page_id = jQuery(this).attr('data-page_id'); data.pages[page_id] = {}; var properties = {}; var page_elements = []; properties['width'] = jQuery(this).css('width').replace('px', ''); properties['height'] = jQuery(this).css('height').replace('px', ''); data.pages[page_id]['properties'] = properties; data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this)); data.pages[page_id]['elements'] = page_elements; }); for (var key in elements) { data.pages[elements[key].page_id]['elements'].push(elements[key]); } data = JSON.stringify(data); } if (form_id === 'e2pdf-email') { jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader'); data = {}; data['email'] = form.find('input[name="email"]').val(); if (form.find('input[name="email_code"]').length > 0) { data['email_code'] = form.find('input[name="email_code"]').val(); } } var action = el.attr('action'); el.parent().find('.spinner').css('visibility', 'visible').fadeIn(); if (el.attr('target') === '_blank') { var post_form = jQuery('
', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append( jQuery('