PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.51
E2Pdf – Export Pdf Tool for WordPress v1.32.51
1.32.51 1.32.49 1.32.48 1.32.43 1.32.40 1.32.34 1.32.32 1.32.31 1.32.26 1.32.22 1.32.23 1.32.18 1.32.17 1.32.15 trunk 1.00.00 1.00.13 1.01.01 1.02.02 1.03.07 1.04.07 1.05.03 1.06.02 1.07.11 1.08.00 All 73 releases
← All changes | js/e2pdf.backend.js +8299 -3156 1.05.031.32.51 View file →
@@ -1,8 +1,8 @@
1 1 var e2pdf = {
2 -//e2pdf.helper
2 +// e2pdf.helper
3 3 helper: {
4 -//e2pdf.helper.color
4 +// e2pdf.helper.color
5 5 color: {
6 6 close: function (el) {
7 7 var color_panel = jQuery(el).parent();
8 8 color_panel.find('.wp-color-result').click();
@@ -7,71 +7,284 @@
7 7 var color_panel = jQuery(el).parent();
8 8 color_panel.find('.wp-color-result').click();
9 9 }
10 10 },
11 - //e2pdf.helper.image
11 + // e2pdf.helper.font
12 + font: {
13 + fonts: function (field = '') {
14 + var options = [];
15 + jQuery('.e2pdf-wysiwyg-font').find('option').each(function () {
16 + var option = {};
17 + option[jQuery(this).attr('value')] = jQuery(this).html();
18 + options.push(option);
19 + });
20 + return options;
21 + },
22 + sizes: function (field = '', properties = []) {
23 + var options = [];
24 + jQuery('.e2pdf-wysiwyg-fontsize').find('option').each(function () {
25 + var option = {};
26 + option[jQuery(this).attr('value')] = jQuery(this).html();
27 + options.push(option);
28 + if (jQuery(this).attr('value') === '' && properties.hasOwnProperty('text_font_size') && properties['text_font_size'] == '-1') {
29 + option = {};
30 + option['-1'] = e2pdf.lang.get('Auto');
31 + options.push(option);
32 + }
33 + });
34 + return options;
35 + },
36 + lines: function (field = '') {
37 + var options = [];
38 + var option = {};
39 + option[''] = '-';
40 + options.push(option);
41 + jQuery('#e2pdf-line-height').find('option').each(function () {
42 + var option = {};
43 + option[jQuery(this).attr('value')] = jQuery(this).html();
44 + options.push(option);
45 + });
46 + return options;
47 + }
48 + },
49 + // e2pdf.helper.image
12 50 image: {
13 - //e2pdf.helper.image.load
51 + // e2pdf.helper.image.load
14 52 load: function (el) {
15 53 el.addClass('e2pdf-loader');
16 - var value = e2pdf.properties.getValue(el, 'value');
54 + var properties = e2pdf.properties.get(el);
55 + var value = e2pdf.helper.getString(properties['value']);
17 56 var image = new Image();
18 - if (typeof value === 'string' && !value.trim().startsWith("https://") && !value.trim().startsWith("http://")) {
19 - value = e2pdf.url.pluginsUrl() + '/img/upload.png';
57 + switch (el.data('data-type')) {
58 + case 'e2pdf-qrcode':
59 + value = e2pdf.url.pluginsUrl() + '/img/qrcode.svg';
60 + break;
61 + case 'e2pdf-barcode':
62 + value = e2pdf.url.pluginsUrl() + '/img/barcode.svg';
63 + break;
64 + case 'e2pdf-graph':
65 + value = e2pdf.url.pluginsUrl() + '/img/graph.svg';
66 + break;
67 + case 'e2pdf-signature':
68 + if (typeof value === 'string' && (value.trim().startsWith("https://") || !value.trim().startsWith("http://"))) {
69 + } else {
70 + value = e2pdf.url.pluginsUrl() + '/img/signature.svg';
71 + }
72 + break;
73 + case 'e2pdf-image':
74 + if (typeof value === 'string' && (value.trim().startsWith("https://") || value.trim().startsWith("http://"))) {
75 + } else {
76 + value = e2pdf.url.pluginsUrl() + '/img/upload.svg';
77 + }
78 + break;
20 79 }
21 - image.src = value;
80 +
22 81 var children = e2pdf.element.children(el);
82 + children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
23 83 image.onload = function ()
24 84 {
25 85 el.removeClass('e2pdf-loader');
26 - if (value === e2pdf.url.pluginsUrl() + '/img/upload.png') {
27 - children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank');
28 - 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)) {
86 + switch (el.data('data-type')) {
87 + case 'e2pdf-qrcode':
88 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
29 89 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
30 - } else {
90 + e2pdf.helper.image.aspectRatio(el, this, properties);
91 + break;
92 + case 'e2pdf-barcode':
93 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
31 94 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
32 - }
33 - } else {
34 - el.find('.e2pdf-image').attr('src', value);
35 - if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH) {
36 - var o_width = this.width;
37 - var o_height = this.height;
38 - var dimension = parseFloat(children.css('width')) / o_width;
39 - var height = o_height * dimension;
40 - var add_height = parseFloat(el.css('height')) - parseFloat(children.css('height'));
41 - el.css('height', height + add_height);
42 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
43 - } else if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT) {
44 - var o_width = this.width;
45 - var o_height = this.height;
46 - var dimension = parseFloat(children.css('height')) / o_height;
47 - var width = o_width * dimension;
48 - var add_width = parseFloat(el.css('width')) - parseFloat(children.css('width'));
49 - el.css('width', width + add_width);
50 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
51 - } else {
95 + break;
96 + case 'e2pdf-graph':
97 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
52 98 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
53 - }
54 - children.removeClass('e2pdf-image-blank');
99 + break;
100 + case 'e2pdf-image':
101 + case 'e2pdf-signature':
102 + el.removeClass('e2pdf-aspect-ratio e2pdf-align-left e2pdf-align-center e2pdf-align-bottom e2pdf-valign-left e2pdf-valign-middle e2pdf-valign-bottom');
103 + if (value === e2pdf.url.pluginsUrl() + '/img/upload.svg') {
104 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
105 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
106 + } else if (value === e2pdf.url.pluginsUrl() + '/img/signature.svg') {
107 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
108 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
109 + } else {
110 + children.attr('src', value);
111 + if (e2pdf.helper.getCheckbox(properties['dimension']) == '1') {
112 + el.addClass('e2pdf-aspect-ratio');
113 + switch (e2pdf.helper.getString(properties['horizontal'])) {
114 + case 'center':
115 + el.addClass('e2pdf-align-center');
116 + break;
117 + case 'right':
118 + el.addClass('e2pdf-align-right');
119 + break;
120 + default:
121 + el.addClass('e2pdf-align-left');
122 + break;
123 + }
124 + switch (e2pdf.helper.getString(properties['vertical'])) {
125 + case 'top':
126 + el.addClass('e2pdf-valign-top');
127 + break;
128 + case 'middle':
129 + el.addClass('e2pdf-valign-middle');
130 + break;
131 + default:
132 + el.addClass('e2pdf-valign-bottom');
133 + break;
134 + }
135 + if (e2pdf.helper.getCheckbox(properties['block_dimension']) == '1') {
136 + e2pdf.helper.image.aspectRatio(el, this, properties);
137 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = true;
138 + } else {
139 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
140 + }
141 +
142 + } else {
143 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
144 + }
145 + children.removeClass('e2pdf-image-blank');
146 + }
147 + break;
55 148 }
56 149 };
57 150 image.onerror = function ()
58 151 {
59 152 el.removeClass('e2pdf-loader');
60 - children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank');
61 - 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)) {
62 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
63 - } else {
64 - el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
153 + switch (el.data('data-type')) {
154 + case 'e2pdf-qrcode':
155 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
156 + el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
157 + break;
158 + case 'e2pdf-barcode':
159 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
160 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
161 + break;
162 + case 'e2pdf-graph':
163 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
164 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
165 + break;
166 + case 'e2pdf-signature':
167 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
168 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
169 + break;
170 + case 'e2pdf-image':
171 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
172 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
173 + break;
65 174 }
66 175 };
176 + image.src = value;
177 + },
178 + // e2pdf.helper.image.aspectRatio
179 + aspectRatio: function (el, img, properties) {
180 +
181 + var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
182 + var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
183 + var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
184 + var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
185 + var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
186 + var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
187 + var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
188 + var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
189 + var maxWidth = el.width();
190 + var maxHeight = el.height();
191 + var ratio = 0;
192 + var width = img.naturalWidth * 100000;
193 + var height = img.naturalHeight * 100000;
194 + if (width > maxWidth) {
195 + ratio = maxWidth / width;
196 + height = height * ratio;
197 + width = width * ratio;
198 + }
199 + if (height > maxHeight) {
200 + ratio = maxHeight / height;
201 + width = width * ratio;
202 + height = height * ratio;
203 + }
204 + switch (e2pdf.helper.getString(properties['vertical'])) {
205 + case 'middle':
206 + if (el.height() > height) {
207 + var top = Math.max(0, (((e2pdf.helper.getFloat(el.css('top'))) + (el.height()) / 2)) - (height / 2));
208 + e2pdf.properties.set(el, 'top', top);
209 + el.css('top', top);
210 + }
211 + break;
212 + case 'bottom':
213 + if (el.height() > height) {
214 + var top = Math.max(0, e2pdf.helper.getFloat(el.css('top')) + (el.height() - height));
215 + e2pdf.properties.set(el, 'top', top);
216 + el.css('top', top);
217 + }
218 + break;
219 + }
220 + switch (e2pdf.helper.getString(properties['horizontal'])) {
221 + case 'center':
222 + if (el.width() > width) {
223 + var left = Math.max(0, (((e2pdf.helper.getFloat(el.css('left'))) + (el.width()) / 2)) - (width / 2));
224 + e2pdf.properties.set(el, 'left', left);
225 + el.css('left', left);
226 + }
227 + break;
228 + case 'right':
229 + if (el.width() > width) {
230 + var left = Math.max(0, e2pdf.helper.getFloat(el.css('left')) + (el.width() - width));
231 + e2pdf.properties.set(el, 'left', left);
232 + el.css('left', left);
233 + }
234 + break;
235 + }
236 + e2pdf.properties.set(el, 'width', width + border_left + border_right + padding_left + padding_right);
237 + e2pdf.properties.set(el, 'height', height + border_top + border_bottom + padding_top + padding_bottom);
238 + el.width(width);
239 + el.height(height);
67 240 }
68 241 },
69 - //e2pdf.helper.pxToFloat
70 - pxToFloat: function (value) {
71 - return parseFloat(value.replace('px', ''));
242 + getFloat: function (value, def = 0, units = '') {
243 + const val = parseFloat(value);
244 + if (units) {
245 + return isNaN(val) ? def : val + units;
246 + } else {
247 + return isNaN(val) ? def : val;
248 + }
72 249 },
73 - //e2pdf.helper.sizeToFloat
250 + getInt: function (value, def = 0, units = '') {
251 + const val = parseInt(value);
252 + if (units) {
253 + return isNaN(val) ? def : val + units;
254 + } else {
255 + return isNaN(val) ? def : val;
256 + }
257 +
258 + },
259 + getString: function (value, def = '', units = '') {
260 + const val = value;
261 + if (units) {
262 + return typeof val === 'undefined' ? def : val + units;
263 + } else {
264 + return typeof val === 'undefined' ? def : val;
265 + }
266 + },
267 + getCheckbox: function (value, def = '', units = '') {
268 + const val = value;
269 + if (units) {
270 + return typeof val === 'undefined' || val != '1' ? def : val + units;
271 + } else {
272 + return typeof val === 'undefined' || val != '1' ? def : val;
273 + }
274 + },
275 + // e2pdf.helper.toHtml
276 + toHtml: function (value) {
277 + var div = document.createElement('div');
278 + div.innerHTML = value;
279 + return (div.innerHTML);
280 + },
281 + stripHTML: function (html, ...args) {
282 + return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 + return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 + }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 + },
286 + // e2pdf.helper.sizeToFloat
74 287 sizeToFloat: function (value, width) {
75 288 if (typeof value === 'string' && value.search("%") > 0) {
76 289 return parseFloat(width) * (parseFloat(value.replace('%', '')) / 100);
77 290 } else {
@@ -77,27 +290,288 @@
77 290 } else {
78 291 return parseFloat(value);
79 292 }
80 293 },
81 - //e2pdf.helper.ajaxurl
82 - ajaxurl: function (action) {
83 -
294 + // e2pdf.helper.ajaxurl
295 + ajaxurl: function (action, _wpnonce) {
84 296 if (action) {
85 - var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
297 + var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
86 298 } else {
87 - var url = ajaxurl + '?e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
299 + var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
88 300 }
89 -
90 301 return url;
302 + },
303 + // e2pdf.helper.css
304 + css: function (element_id, css) {
305 + if (typeof css === 'string') {
306 + css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
307 + return '#poststuff .e2pdf-element[data-element_id="' + element_id + '"] .e2pdf-html ' + match;
308 + });
309 + var style = jQuery('#e2pdf-html-css-' + element_id);
310 + if (style.length !== 0) {
311 + style.remove();
312 + }
313 + if (css.trim()) {
314 + var el = document.createElement('style');
315 + el.id = 'e2pdf-html-css-' + element_id;
316 + el.type = 'text/css';
317 + el.appendChild(document.createTextNode(css.trim()));
318 + document.head.appendChild(el);
319 + }
320 + }
321 + },
322 + // e2pdf.helper.cssGlobal
323 + cssGlobal: function (css) {
324 + if (typeof css === 'string') {
325 + css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
326 + return '#poststuff .e2pdf-element .e2pdf-html ' + match;
327 + });
328 + var style = jQuery('#e2pdf-html-css');
329 + if (style.length !== 0) {
330 + style.remove();
331 + }
332 + if (css.trim()) {
333 + var el = document.createElement('style');
334 + el.id = 'e2pdf-html-css';
335 + el.type = 'text/css';
336 + el.appendChild(document.createTextNode(css.trim()));
337 + document.head.appendChild(el);
338 + }
339 + }
340 + },
341 + // e2pdf.helper.sanitizeHTML
342 + sanitizeHTML: function (html) {
343 + if (typeof html === 'string') {
344 + if (window.DOMPurify) {
345 + try {
346 + return window.DOMPurify.sanitize(html, {
347 + ADD_ATTR: [
348 + "after", "align", "ascender", "background", "before", "block-height", "block-width",
349 + "border", "border-bottom", "border-bottom-color", "border-bottom-width", "border-left",
350 + "border-left-color", "border-left-width", "border-right", "border-right-color",
351 + "border-right-width", "border-top", "border-top-color", "border-top-width", "border-width",
352 + "bordercolor", "cellpadding", "char-fill", "char-fill-color", "char-fill-size", "chunkbgcolor",
353 + "class", "color", "colspan", "complex-encoding", "descender", "direction", "display",
354 + "dir", "disable-border-top", "encoding", "extraparaspace", "face", "float", "font-family",
355 + "font-size", "font-style", "font-weight", "header-rows", "height", "href", "html-height",
356 + "html-worker", "html-width", "hyphenation", "keep-together", "letter-spacing", "leading",
357 + "line-fill", "line-fill-color", "line-fill-size", "list-style-image", "list-style-image-height",
358 + "list-style-image-size", "list-style-image-width", "list-style-type", "list-style-type-color",
359 + "list-style-type-size", "margin-bottom", "margin-left", "margin-right", "margin-top",
360 + "max-height", "max-width", "nowrap", "padding-bottom", "padding-left", "padding-right",
361 + "padding-top", "page-break-after", "page-break-before", "rotate", "rtl", "size", "split",
362 + "split-border", "split-late", "split-padding", "split-rows", "style", "text-align",
363 + "text-decoration", "text-indent", "text-transform", "valign", "width"
364 + ]
365 + });
366 + } catch (err) {
367 + }
368 + }
369 + }
370 + return html;
91 371 }
92 372 },
93 - //e2pdf.url
373 + // e2pdf.select2
374 + select2: {
375 + // e2pdf.select2.init
376 + init: function (el) {
377 + el.val('');
378 + var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
379 + var placeholder = e2pdf.lang.get('--- Select ---');
380 + if (val) {
381 + placeholder = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
382 + }
383 + el.attr('placeholder', placeholder);
384 + var select2 = document.createElement('div');
385 + select2.className = 'e2pdf-select2-dropdown';
386 + var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
387 + if (wrapper) {
388 + var select = wrapper.querySelector('select');
389 + if (select) {
390 + Array.from(select.children).forEach(function (option) {
391 + var optionDiv = document.createElement('div');
392 + optionDiv.setAttribute('value', option.value);
393 + optionDiv.innerHTML = option.textContent;
394 + select2.appendChild(optionDiv);
395 + });
396 + }
397 + el.get(0).insertAdjacentElement('afterend', select2);
398 + }
399 + },
400 + // e2pdf.select2.filter
401 + filter: function (el) {
402 + var search = el.val();
403 + var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
404 + if (wrapper) {
405 + var dropdownItems = wrapper.querySelectorAll('.e2pdf-select2-dropdown > div');
406 + dropdownItems.forEach(function (item) {
407 + if (!search) {
408 + item.style.display = "block";
409 + } else {
410 + var textContent = item.textContent.toLowerCase();
411 + var valueAttr = item.getAttribute('value') ? item.getAttribute('value').toLowerCase() : '';
412 + if (textContent.includes(search.toLowerCase()) || valueAttr.includes(search.toLowerCase()) || valueAttr === '') {
413 + item.style.display = "block";
414 + } else {
415 + item.style.display = "none";
416 + }
417 + }
418 + });
419 + }
420 + },
421 + // e2pdf.select2.update
422 + update: function (el) {
423 + var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
424 + var text = '';
425 + if (val) {
426 + text = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
427 + } else {
428 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('placeholder', e2pdf.lang.get('--- Select ---'));
429 + }
430 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().val(text);
431 + },
432 + // e2pdf.select2.click
433 + click: function (el) {
434 + el.closest('.e2pdf-select2-wrapper').find('select').first().val(el.attr('value')).trigger('change');
435 + e2pdf.select2.close(el);
436 + },
437 + // e2pdf.select2.val
438 + val: function (el, value) {
439 + el.closest('.e2pdf-select2-wrapper').find('select').first().val(value).trigger('change');
440 + e2pdf.select2.update(el);
441 + },
442 + // e2pdf.select2.disable
443 + disable: function (el) {
444 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', 'disabled');
445 + },
446 + // e2pdf.select2.enable
447 + enable: function (el) {
448 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', false);
449 + },
450 + // e2pdf.select2.close
451 + close: function (el) {
452 + e2pdf.select2.update(el);
453 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2-dropdown').remove();
454 + }
455 + },
456 + // e2pdf.hooks
457 + hooks: {
458 + // e2pdf.hooks.get
459 + get: function () {
460 + var hooks = {};
461 + switch (e2pdf.pdf.settings.get('extension')) {
462 + case 'formidable':
463 + hooks = {
464 + 'hook_formidable_entry_view': e2pdf.lang.get('WP Admin Entry View'),
465 + 'hook_formidable_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
466 + 'hook_formidable_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
467 + };
468 + break;
469 + case 'gravity':
470 + hooks = {
471 + 'hook_gravity_entry_view': e2pdf.lang.get('WP Admin Entry View'),
472 + 'hook_gravity_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
473 + };
474 + break;
475 + case 'jetformbuilder':
476 + hooks = {
477 + 'hook_jetformbuilder_entry_view': e2pdf.lang.get('WP Admin Entry View')
478 + };
479 + break;
480 + case 'woocommerce':
481 + if (e2pdf.pdf.settings.get('item') == 'shop_order') {
482 + hooks = {
483 + 'hook_woocommerce_order_edit': e2pdf.lang.get('WP Admin Order Details'),
484 + 'hook_woocommerce_order_row_actions': e2pdf.lang.get('WP Admin Order List Actions'),
485 + 'hook_woocommerce_order_row_column': e2pdf.lang.get('WP Admin Order List Column'),
486 + 'hook_woocommerce_my_account_my_orders_actions': e2pdf.lang.get('User Order List'),
487 + 'hook_woocommerce_order_details_before_order_table': e2pdf.lang.get('User Order Details (Before Order Table)'),
488 + 'hook_woocommerce_order_details_before_order_table_items': e2pdf.lang.get('User Order Details (Before Order Table Items)'),
489 + 'hook_woocommerce_order_details_after_order_table_items': e2pdf.lang.get('User Order Details (After Order Table Items)'),
490 + 'hook_woocommerce_order_details_after_order_table': e2pdf.lang.get('User Order Details (After Order Table)'),
491 + 'hook_woocommerce_after_order_details': e2pdf.lang.get('User Order Details (After Order Details)'),
492 + };
493 + } else if (e2pdf.pdf.settings.get('item') == 'shop_subscription') {
494 + hooks = {
495 + 'hook_woocommerce_subscription_edit': e2pdf.lang.get('WP Admin Subscription Details'),
496 + 'hook_woocommerce_subscription_row_column': e2pdf.lang.get('WP Admin Order List Column'),
497 + 'hook_woocommerce_subscription_before_actions': e2pdf.lang.get('User Subscription (Before Actions)'),
498 + 'hook_woocommerce_subscription_after_actions': e2pdf.lang.get('User Subscription (After Actions)'),
499 + 'hook_wcs_subscription_details_table_before_dates': e2pdf.lang.get('User Subscription (Before Dates)'),
500 + 'hook_wcs_subscription_details_table_after_dates': e2pdf.lang.get('User Subscription (After Dates)'),
501 + 'hook_wcs_subscription_details_table_before_payment_method': e2pdf.lang.get('User Subscription (Before Payment Method)'),
502 + 'hook_wcs_view_subscription_actions': e2pdf.lang.get('User Subscrition (Actions)'),
503 + };
504 + } else if (e2pdf.pdf.settings.get('item') == 'cart') {
505 + hooks = {
506 + 'hook_woocommerce_proceed_to_checkout': e2pdf.lang.get('User Cart'),
507 + 'hook_woocommerce_review_order_before_submit': e2pdf.lang.get('User Checkout (Before Submit)'),
508 + 'hook_woocommerce_review_order_after_submit': e2pdf.lang.get('User Checkout (After Submit)'),
509 + };
510 + }
511 + break;
512 + case 'wordpress':
513 + if (e2pdf.pdf.settings.get('item') == '-3') {
514 + hooks = {
515 + 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin User Row Actions')
516 + };
517 + } else {
518 + hooks = {
519 + 'hook_wordpress_page_edit': e2pdf.lang.get('WP Admin Page Edit'),
520 + 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin Page Row Actions')
521 + };
522 + }
523 + break;
524 + case 'wpforms':
525 + hooks = {
526 + 'hook_wpforms_entry_view': e2pdf.lang.get('WP Admin Entry View'),
527 + 'hook_wpforms_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
528 + 'hook_wpforms_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
529 + };
530 + break;
531 + case 'everest':
532 + hooks = {
533 + 'hook_everest_entry_view': e2pdf.lang.get('WP Admin Entry View'),
534 + 'hook_everest_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
535 + };
536 + break;
537 + case 'metform':
538 + hooks = {
539 + 'hook_metform_entry_view': e2pdf.lang.get('WP Admin Entry View'),
540 + 'hook_metform_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions'),
541 + 'hook_metform_entry_row_column': e2pdf.lang.get('WP Admin Entry List Column')
542 + };
543 + break;
544 + default:
545 + break;
546 + }
547 + return hooks;
548 + },
549 + getChecked: function () {
550 + var hooks = [];
551 + if (e2pdf.pdf.settings.get('hooks')) {
552 + hooks = e2pdf.pdf.settings.get('hooks').split(',');
553 + }
554 + return hooks;
555 + }
556 + },
557 + // e2pdf.lang
558 + lang: {
559 + // e2pdf.lang.get
560 + get: function (key) {
561 + if (typeof e2pdf_lang[key] === 'undefined') {
562 + return key;
563 + } else {
564 + return e2pdf_lang[key];
565 + }
566 + }
567 + },
568 + // e2pdf.url
94 569 url: {
95 - //e2pdf.url.change
570 + // e2pdf.url.change
96 571 change: function (page, path) {
97 572 if (window.history && window.history.pushState) {
98 573 var url = window.location.pathname;
99 -
100 574 if (page) {
101 575 url += '?page=' + page;
102 576 }
103 577
@@ -106,12 +580,11 @@
106 580 }
107 581 history.pushState({urlPath: url}, "", url);
108 582 }
109 583 },
110 - //e2pdf.url.build
111 - build: function (page, path, nonce) {
584 + // e2pdf.url.build
585 + build: function (page, path, _wpnonce) {
112 586 var url = window.location.pathname;
113 -
114 587 if (page) {
115 588 url += '?page=' + page;
116 589 }
117 590 if (path) {
@@ -116,25 +589,26 @@
116 589 }
117 590 if (path) {
118 591 url += '&' + path;
119 592 }
120 -
121 - if (nonce) {
122 - url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']
593 + if (_wpnonce) {
594 + url += '&_wpnonce=' + _wpnonce;
123 595 }
124 -
125 596 return url;
126 597 },
127 - //e2pdf.url.get
598 + // e2pdf.url.get
128 599 get: function (name, url) {
129 - if (!url)
600 + if (!url) {
130 601 url = window.location.href;
602 + }
603 + if (!name) {
604 + return url;
605 + }
131 606 name = name.replace(/[\[\]]/g, "\\$&");
132 607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
133 608 if (!results) {
134 609 return null;
135 610 }
136 -
137 611 if (!results[2]) {
138 612 return '';
139 613 }
140 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
@@ -139,38 +613,22 @@
139 613 }
140 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
141 615 },
142 616 pluginsUrl: function () {
143 - return e2pdfParams['plugins_url'];
617 + return e2pdf_params['plugins_url'];
144 618 },
145 619 uploadUrl: function () {
146 - return e2pdfParams['upload_url'];
620 + return e2pdf_params['upload_url'];
147 621 }
148 622 },
149 - //e2pdf.shortcode
150 - shortcode: {
151 - //e2pdf.shortcode.get
152 - get: function (template_id, dataset_id) {
153 -
154 - if (template_id && dataset_id) {
155 - var shortcode = '[e2pdf-download id="' + template_id + '" dataset="' + dataset_id + '"]';
156 - } else if (template_id) {
157 - var shortcode = '[e2pdf-download id="' + template_id + '"]';
158 - } else {
159 - var shortcode = false;
160 - }
161 - return shortcode;
162 - }
163 - },
164 - //e2pdf.guide
623 + // e2pdf.guide
165 624 guide: {
166 - //e2pdf.guide.calc
625 + // e2pdf.guide.calc
167 626 calc: function (el, pos, w, h, g) {
168 -
169 627 if (el != null) {
170 628 if (g) {
171 - w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
172 - h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
629 + w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.scale;
630 + h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.scale;
173 631 pos = jQuery(el).offset();
174 632 if (jQuery(el).hasClass('e2pdf-page')) {
175 633 pos = {
176 634 left: pos.left + 1,
@@ -177,12 +635,10 @@
177 635 top: pos.top + 1
178 636 };
179 637 }
180 638 } else {
181 -
182 639 w = parseFloat(jQuery(el).css('width'));
183 640 h = parseFloat(jQuery(el).css('height'));
184 -
185 641 if (jQuery(el).hasClass('e2pdf-page')) {
186 642 pos = {
187 643 left: 0,
188 644 top: 0
@@ -188,10 +644,10 @@
188 644 top: 0
189 645 };
190 646 } else {
191 647 pos = {
192 - left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')),
193 - top: parseFloat(e2pdf.properties.getValue(jQuery(el), 'top'))
648 + left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
649 + top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
194 650 };
195 651 }
196 652 }
197 653 }
@@ -205,44 +661,30 @@
205 661 {type: "v", left: pos.left + w / 2, top: pos.top}
206 662 ];
207 663 }
208 664 },
209 - //e2pdf.pdf
665 + // e2pdf.bulk
666 + bulk: {
667 + // e2pdf.bulk.progress
668 + progress: function () {
669 + setTimeout(function () {
670 + var data = {};
671 + data['bulks'] = [];
672 + jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
673 + data['bulks'].push(jQuery(this).attr('bulk'));
674 + });
675 + e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
676 + e2pdf.bulk.progress();
677 + }, 5000);
678 + }
679 + },
680 + // e2pdf.pdf
210 681 pdf: {
211 - //e2pdf.pdf.settings
682 + // e2pdf.pdf.settings
212 683 settings: {
213 684 options: [],
214 - //e2pdf.pdf.settings.change
685 + // e2pdf.pdf.settings.change
215 686 change: function (key, value) {
216 - if (key == 'activated') {
217 - jQuery('.e2pdf-post-activated').remove();
218 - var activation_link = jQuery('#e2pdf-post-activation > .e2pdf-link');
219 - if (value == '1') {
220 - if (e2pdf.pdf.settings.get('activated') == '0') {
221 - e2pdf.pdf.settings.change('templates_limit', parseInt(e2pdf.pdf.settings.get('templates_limit')) - 1);
222 - }
223 - if (activation_link.attr('disabled')) {
224 - activation_link.html(e2pdfLang['Activated']);
225 - } else if (activation_link.hasClass('e2pdf-activate-template')) {
226 - activation_link.after(
227 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-post-activated', 'disabled': 'disabled'}).text(' (' + e2pdfLang['Activated'] + ')')
228 - );
229 - }
230 - } else {
231 - if (e2pdf.pdf.settings.get('activated') == '1') {
232 - e2pdf.pdf.settings.change('templates_limit', parseInt(e2pdf.pdf.settings.get('templates_limit')) + 1);
233 - }
234 -
235 - if (activation_link.attr('disabled')) {
236 - activation_link.html(e2pdfLang['Not Activated']);
237 - } else if (activation_link.hasClass('e2pdf-deactivate-template')) {
238 - activation_link.after(
239 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-post-activated', 'disabled': 'disabled'}).text(' (' + e2pdfLang['Not Activated'] + ')')
240 - );
241 - }
242 - }
243 - }
244 -
245 687 e2pdf.pdf.settings.options[key] = value;
246 688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
247 689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
248 690 } else {
@@ -249,22 +691,31 @@
249 691 var input = jQuery('<input>',
250 692 {
251 693 'type': 'hidden',
252 694 'name': key,
253 - 'value': value,
695 + 'value': value
254 696 });
255 697 jQuery('.e2pdf-form-builder').append(input);
256 698 }
257 699
258 - if (key == 'extension') {
259 - e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), value);
700 + if (key == 'item') {
701 + var data = {};
702 + data['extension'] = e2pdf.pdf.settings.get('extension');
703 + data['item'] = e2pdf.pdf.settings.get('item');
704 + e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
260 705 }
261 706 },
262 - //e2pdf.pdf.settings.set
707 + // e2pdf.pdf.settings.set
263 708 set: function (key, value) {
264 709 e2pdf.pdf.settings.options[key] = value;
710 + if (key == 'item') {
711 + var data = {};
712 + data['extension'] = e2pdf.pdf.settings.get('extension');
713 + data['item'] = e2pdf.pdf.settings.get('item');
714 + e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
715 + }
265 716 },
266 - //e2pdf.pdf.settings.get
717 + // e2pdf.pdf.settings.get
267 718 get: function (key) {
268 719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
269 720 return null;
270 721 } else {
@@ -272,63 +723,69 @@
272 723 }
273 724 }
274 725 }
275 726 },
276 - //e2pdf.static
727 + // e2pdf.static
277 728 static: {
278 - //e2pdf.static.unsaved
729 + // e2pdf.static.unsaved
279 730 unsaved: false,
280 - //e2pdf.static.mediaUploader
731 + // e2pdf.static.mediaUploader
281 732 mediaUploader: false,
282 - //e2pdf.static.autoloadExport
733 + // e2pdf.static.autoloadExport
283 734 autoloadExport: false,
284 - //e2pdf.static.selectionRange
735 + // e2pdf.static.selectionRange
285 736 selectionRange: null,
286 - //e2pdf.static.guide
737 + // e2pdf.static.observer
738 + observer: null,
739 + // e2pdf.static.vm
740 + vm: {
741 + // e2pdf.static.vm.hidden
742 + hidden: false,
743 + // e2pdf.static.vm.replace
744 + replace: true,
745 + // e2pdf.static.vm.close
746 + close: true
747 + },
748 + // e2pdf.static.guide
287 749 guide: {
288 - //e2pdf.static.guide.guides
750 + // e2pdf.static.guide.guides
289 751 guides: [],
290 - //e2pdf.static.guide.distance
752 + // e2pdf.static.guide.distance
291 753 distance: 5,
292 754 x: 0,
293 755 y: 0
294 756 },
295 - //e2pdf.static.drag
757 + // e2pdf.static.drag
296 758 drag: {
297 - //e2pdf.static.drag.min_top
759 + // e2pdf.static.drag.min_top
298 760 min_top: 0,
299 - //e2pdf.static.drag.max_top
761 + // e2pdf.static.drag.max_top
300 762 max_top: 0,
301 - //e2pdf.static.drag.min_left
763 + // e2pdf.static.drag.min_left
302 764 min_left: 0,
303 - //e2pdf.static.drag.max_left
765 + // e2pdf.static.drag.max_left
304 766 max_left: 0,
305 - //e2pdf.static.drag.page
306 - page: null,
307 - },
308 - //e2pdf.static.const
309 - const: {
310 - 'WIDTH_HEIGHT': '0',
311 - 'WIDTH': '1',
312 - 'HEIGHT': '2'
767 + // e2pdf.static.drag.page
768 + page: null
313 769 }
314 770 },
315 - //e2pdf.event
771 + // e2pdf.event
316 772 event: {
317 - //e2pdf.event.fire
773 + // e2pdf.event.fire
318 774 fire: function (event, action, el) {
319 - if (event === 'after.pages.deletePage'
320 - || event === 'after.createPdf'
321 - || event === 'after.pages.createPage.newpage'
322 - || event === 'after.element.create'
323 - || event === 'after.element.delete'
324 - || event === 'after.settings.style.change'
325 - || event === 'after.settings.template.change'
326 - || event === 'after.wysiwyg.apply'
327 - || event === 'after.request.submitLocal'
328 - || event === 'after.mediaUploader.select'
329 - || event === 'after.element.moved'
330 - || event === 'after.pages.movePage'
775 + if (
776 + event === 'after.pages.deletePage' ||
777 + event === 'after.createPdf' ||
778 + event === 'after.pages.createPage.newpage' ||
779 + event === 'after.element.create' ||
780 + event === 'after.element.delete' ||
781 + event === 'after.settings.style.change' ||
782 + event === 'after.settings.template.change' ||
783 + event === 'after.wysiwyg.apply' ||
784 + event === 'after.request.submitLocal' ||
785 + event === 'after.mediaUploader.select' ||
786 + event === 'after.element.moved' ||
787 + event === 'after.pages.movePage'
331 788 ) {
332 789 e2pdf.static.unsaved = true;
333 790 }
334 791
@@ -354,76 +811,98 @@
354 811 ).removeClass('e2pdf-color-picker-load');
355 812 });
356 813 }
357 814
358 - if (event === 'after.dialog.create') {
359 - e2pdf.element.unselect();
360 - }
361 -
362 - if (event === 'after.pages.deletePage'
363 - || event === 'after.pages.createPage.newpage') {
815 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
364 816 jQuery('#e2pdf-zoom').trigger('change');
365 817 }
366 818
367 819 if (event === 'before.request.submitRequest') {
368 820 el.attr('disabled', 'disabled');
369 -
370 - if (action === 'e2pdf_auto') {
371 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled');
821 + switch (action) {
822 + case 'e2pdf_auto':
823 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
824 + break;
825 + case 'e2pdf_extension':
826 + el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
827 + break;
828 + case 'e2pdf_templates':
829 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
830 + jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
831 + jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
832 + jQuery('.e2pdf-export-dataset').data('options', []).empty();
833 + jQuery('.e2pdf-fieldset-filter').val('');
834 + e2pdf.select2.disable(el);
835 + break;
836 + case 'e2pdf_dataset':
837 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
838 + jQuery('.e2pdf-dataset-shortcode-wr').hide();
839 + el.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions').empty();
840 + e2pdf.select2.disable(el);
841 + break;
842 + case 'e2pdf_datasets_refresh':
843 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-export-dataset').data('options', []).empty();
844 + e2pdf.select2.disable(el);
845 + break;
846 + case 'e2pdf_delete_item':
847 + case 'e2pdf_delete_items':
848 + e2pdf.select2.disable(el);
849 + break;
850 + default:
851 + break;
372 852 }
373 - if (action === 'e2pdf_extension') {
374 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled');
375 - }
376 -
377 - if (action === 'e2pdf_templates') {
378 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
379 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
380 - }
381 -
382 - if (action === 'e2pdf_dataset') {
383 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
384 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
385 - }
386 853 }
387 854
388 855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
389 - el.attr('disabled', false);
390 - if (action === 'e2pdf_auto') {
391 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
856 + if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
857 + el.attr('disabled', false);
392 858 }
393 - if (action === 'e2pdf_extension') {
394 - el.closest('form').find('#e2pdf-item').find('option').remove();
395 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', false);
859 + switch (action) {
860 + case 'e2pdf_auto':
861 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', false);
862 + break;
863 + case 'e2pdf_extension':
864 + el.closest('form').find('.e2pdf-items').find('option').remove();
865 + el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', false);
866 + break;
867 + case 'e2pdf_get_styles':
868 + jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
869 + jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
870 + break;
871 + case 'e2pdf_templates':
872 + case 'e2pdf_delete_item':
873 + case 'e2pdf_delete_items':
874 + e2pdf.select2.enable(el);
875 + break;
876 + default:
877 + break;
396 878 }
397 - if (action === 'e2pdf_get_styles') {
398 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
399 - jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
400 - }
401 879 }
402 880
403 881 if (event === 'before.request.upload') {
404 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled');
882 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
405 883 }
406 884
407 885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
408 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
409 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
410 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
886 + if (event === 'after.request.upload.error') {
887 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', false);
888 + }
889 + el.closest('form').find('.e2pdf-upload-pdf').replaceWith(
890 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
411 891 );
412 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
413 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
892 + el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
893 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
414 894 );
415 895 }
416 896 }
417 897 },
418 - //e2pdf.form
898 + // e2pdf.form
419 899 form: {
420 - //e2pdf.form.serializeObject
900 + // e2pdf.form.serializeObject
421 901 serializeObject: function (form) {
422 902
423 903 var o = {};
424 904 var a = form.serializeArray();
425 -
426 905 jQuery.each(a, function () {
427 906 if (this.name.endsWith('[]')) {
428 907
429 908 var name = this.name;
@@ -436,9 +915,8 @@
436 915
437 916 var name = this.name;
438 917 var path = name.split(/[\[\]]+/);
439 918 var curItem = o;
440 -
441 919 for (var j = 0; j < path.length - 2; j++)
442 920 {
443 921 if (!(path[j] in curItem))
444 922 {
@@ -447,9 +925,8 @@
447 925 curItem = curItem[path[j]];
448 926 }
449 927
450 928 curItem[path[j]] = this.value || '';
451 -
452 929 } else {
453 930 o[this.name] = this.value || '';
454 931 }
455 932 });
@@ -454,9 +931,9 @@
454 931 }
455 932 });
456 933 return o;
457 934 },
458 - //e2pdf.form.serializeElements
935 + // e2pdf.form.serializeElements
459 936 serializeElements: function () {
460 937 var o = {};
461 938 jQuery('.e2pdf-element').each(
462 939 function (index) {
@@ -461,102 +938,123 @@
461 938 jQuery('.e2pdf-element').each(
462 939 function (index) {
463 940 var el = {};
464 941 el.type = jQuery(this).data('data-type');
465 - el.properties = e2pdf.properties.get(jQuery(this), true);
942 + el.properties = e2pdf.properties.get(jQuery(this));
466 943 el.actions = e2pdf.actions.get(jQuery(this));
467 944 el.top = jQuery(this).css('top');
468 945 el.left = jQuery(this).css('left');
469 946 el.width = jQuery(this).css('width');
470 947 el.height = jQuery(this).css('height');
471 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
472 - el.value = jQuery(this).find('.e2pdf-html').html();
473 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
474 - el.value = jQuery(this).find('.e2pdf-input').val();
475 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
476 - el.value = jQuery(this).find('.e2pdf-textarea').val();
477 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
478 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
479 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
480 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
481 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
482 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
483 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
484 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
485 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
486 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
487 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
488 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
489 - } else {
490 - el.value = jQuery(this).html();
948 + switch (jQuery(this).data('data-type')) {
949 + case 'e2pdf-rectangle':
950 + el.value = '';
951 + break;
952 + case 'e2pdf-html':
953 + if (jQuery(this).find('.e2pdf-html').is('textarea')) {
954 + el.value = jQuery(this).find('.e2pdf-html').val();
955 + } else {
956 + el.value = jQuery(this).find('.e2pdf-html').html();
957 + }
958 + break;
959 + case 'e2pdf-input':
960 + el.value = jQuery(this).find('.e2pdf-input').val();
961 + break;
962 + case 'e2pdf-textarea':
963 + el.value = jQuery(this).find('.e2pdf-textarea').val();
964 + break;
965 + case 'e2pdf-page-number':
966 + case 'e2pdf-checkbox':
967 + case 'e2pdf-radio':
968 + case 'e2pdf-select':
969 + case 'e2pdf-image':
970 + case 'e2pdf-qrcode':
971 + case 'e2pdf-barcode':
972 + case 'e2pdf-graph':
973 + case 'e2pdf-link':
974 + case 'e2pdf-signature':
975 + el.value = e2pdf.helper.getString(el.properties['value']);
976 + break;
977 + default:
978 + el.value = jQuery(this).html();
979 + break;
491 980 }
981 + el.name = e2pdf.helper.getString(el.properties['name']);
492 982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
493 983 el.element_id = jQuery(this).attr('data-element_id');
984 + delete el.properties['width'];
985 + delete el.properties['height'];
986 + delete el.properties['value'];
987 + delete el.properties['top'];
988 + delete el.properties['left'];
989 + delete el.properties['name'];
990 + delete el.properties['element_type'];
991 + delete el.properties['element_id'];
992 + delete el.properties['page_id'];
494 993 o[index] = el;
495 994 });
496 995 return o;
497 996 }
498 997 },
499 - //e2pdf.font
998 + // e2pdf.font
500 999 font: {
501 - //e2pdf.font.load
1000 + // e2pdf.font.load
502 1001 load: function (el) {
1002 + var name, value;
503 1003 if (el.is('select')) {
504 - var name = el.val();
505 - var value = el.find('option:selected').attr('path');
1004 + name = el.val();
1005 + value = el.find('option:selected').attr('path');
506 1006 } else if (el.is('div')) {
507 - var name = el.attr('name');
508 - var value = el.attr('path');
1007 + name = el.attr('name');
1008 + value = el.attr('path');
509 1009 }
510 -
511 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
512 - jQuery("head").append("<style name='" + name + "' type='text/css'>@font-face {font-family: " + name + "; src: url('" + e2pdf.url.uploadUrl() + "/fonts/" + value + "')}</style>");
1010 + if (jQuery("head").find('style[name="' + CSS.escape(name) + '"]').length === 0) {
1011 + jQuery("head").append(
1012 + jQuery("<style>")
1013 + .attr('name', name)
1014 + .attr('type', 'text/css')
1015 + .text(`@font-face {font-family: "${CSS.escape(name)}"; src: url("${e2pdf.url.uploadUrl()}/fonts/${encodeURIComponent(value)}")}`)
1016 + );
513 1017 }
514 1018 },
515 - //e2pdf.font.apply
1019 + // e2pdf.font.apply
516 1020 apply: function (el, font) {
517 - var font_name = font.find('option:selected').html();
518 - if (font_name) {
519 - el.css('font-family', font_name);
520 - } else {
521 - el.css('font-family', '');
522 - }
1021 + let font_name = font.find('option:selected').html();
1022 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
523 1023 },
524 - //e2pdf.font.size
1024 + // e2pdf.font.size
525 1025 size: function (el, size) {
526 - var font_size = size.find('option:selected').html();
527 - el.css({'font-size': font_size});
1026 + var font_size = size.val();
1027 + el.css({'font-size': font_size + "px"});
528 1028 },
529 - //e2pdf.font.line
1029 + // e2pdf.font.line
530 1030 line: function (el, height) {
531 - var line_height = height.find('option:selected').html();
532 - el.css({'line-height': line_height});
1031 + var line_height = height.val();
1032 + el.css({'line-height': line_height + "px"});
533 1033 },
534 - //e2pdf.font.color
1034 + // e2pdf.font.color
535 1035 fontcolor: function (el, color) {
536 1036 var font_color = color.val();
537 1037 el.css({'color': font_color});
538 1038 },
539 - //e2pdf.font.delete
1039 + // e2pdf.font.delete
540 1040 delete: function (el) {
541 1041 var font = el.attr('data-font');
542 1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
543 1043 }
544 1044 },
545 - //e2pdf.request
1045 + // e2pdf.request
546 1046 request: {
547 - //e2pdf.request.upload
1047 + // e2pdf.request.upload
548 1048 upload: function (action, el) {
549 1049 if (el.attr('disabled')) {
550 1050 return;
551 1051 }
552 -
553 1052 var data = new FormData(el.closest('form')[0]);
554 1053 e2pdf.event.fire('before.request.upload', action, el);
555 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
556 - loader.css('visibility', 'visible').fadeIn();
1054 + jQuery('html').addClass('e2pdf-loading');
557 1055 jQuery.ajax({
558 - url: e2pdf.helper.ajaxurl(action),
1056 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
559 1057 type: 'POST',
560 1058 data: data,
561 1059 cache: false,
562 1060 contentType: false,
@@ -561,516 +1059,743 @@
561 1059 cache: false,
562 1060 contentType: false,
563 1061 processData: false,
564 1062 success: function (response) {
565 - loader.css('visibility', 'hidden').fadeOut();
566 - e2pdf.event.fire('after.request.upload.success', action, el);
567 1063 if (response.redirect !== undefined) {
568 - // recheck if redirect fires in other cases when not upload pdf
1064 + e2pdf.event.fire('after.request.upload.success', action, el);
569 1065 e2pdf.static.unsaved = false;
570 1066 location.href = response.redirect;
571 1067 } else if (response.error !== undefined) {
1068 + jQuery('html').removeClass('e2pdf-loading');
1069 + e2pdf.event.fire('after.request.upload.error', action, el);
572 1070 alert(response.error);
573 - } else if (response.content) {
574 - e2pdf.request.callBack(action, response.content);
1071 + } else {
1072 + jQuery('html').removeClass('e2pdf-loading');
1073 + e2pdf.event.fire('after.request.upload.error', action, el);
575 1074 }
576 1075 },
577 1076 error: function (response) {
578 - loader.css('visibility', 'hidden').fadeOut();
579 - e2pdf.event.fire('after.request.upload.success', action, el);
1077 + jQuery('html').removeClass('e2pdf-loading');
1078 + e2pdf.event.fire('after.request.upload.error', action, el);
580 1079 }
581 1080 });
582 1081 },
583 - //e2pdf.request.submitForm
1082 + // e2pdf.request.submitForm
584 1083 submitForm: function (el) {
585 1084 if (el.attr('disabled')) {
586 1085 return;
587 1086 }
588 1087 el.attr('disabled', 'disabled');
589 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
590 - loader.css('visibility', 'visible').fadeIn();
1088 + jQuery('html').addClass('e2pdf-loading');
591 1089 e2pdf.event.fire('before.request.submitForm');
592 1090 var form_id = el.attr('form-id');
593 1091 var form = jQuery(document.getElementById(form_id));
594 1092 var data = e2pdf.form.serializeObject(form);
595 - if (form_id === 'e2pdf-build-form') {
596 - var elements = e2pdf.form.serializeElements();
597 - data.pages = {};
598 - jQuery('.e2pdf-page').each(function () {
599 - var page_id = jQuery(this).attr('data-page_id');
600 - data.pages[page_id] = {};
601 - var properties = {};
602 - var page_elements = [];
603 - properties['width'] = jQuery(this).attr('data-width');
604 - properties['height'] = jQuery(this).attr('data-height');
605 - data.pages[page_id]['properties'] = properties;
606 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
607 - data.pages[page_id]['elements'] = page_elements;
608 - });
609 - for (var key in elements) {
610 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
611 - }
612 - data = JSON.stringify(data);
1093 + var action = el.attr('action');
1094 + var _wpnonce = el.attr('_wpnonce');
1095 + switch (form_id) {
1096 + case 'e2pdf-build-form':
1097 + var elements = e2pdf.form.serializeElements();
1098 + data.pages = {};
1099 + jQuery('.e2pdf-page').each(function () {
1100 + var page_id = jQuery(this).attr('data-page_id');
1101 + data.pages[page_id] = {};
1102 + var properties = e2pdf.properties.get(jQuery(this));
1103 + properties['width'] = jQuery(this).attr('data-width');
1104 + properties['height'] = jQuery(this).attr('data-height');
1105 + delete properties['page_id'];
1106 + delete properties['element_type'];
1107 + delete properties['preset'];
1108 + var page_elements = [];
1109 + data.pages[page_id]['properties'] = properties;
1110 + data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
1111 + data.pages[page_id]['elements'] = page_elements;
1112 + });
1113 + for (var key in elements) {
1114 + data.pages[elements[key].page_id]['elements'].push(elements[key]);
1115 + }
1116 + data.actions = e2pdf.actions.get(jQuery('.e2pdf-tpl'));
1117 + data.properties = e2pdf.properties.get(jQuery('.e2pdf-tpl'));
1118 + data = JSON.stringify(data);
1119 + break;
1120 + case 'e2pdf-export-form':
1121 + data = JSON.stringify(data);
1122 + break;
1123 + case 'e2pdf-email':
1124 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
1125 + data = {};
1126 + data['email'] = form.find('input[name="email"]').val();
1127 + if (form.find('input[name="email_code"]').length > 0) {
1128 + data['email_code'] = form.find('input[name="email_code"]').val();
1129 + }
1130 + break;
613 1131 }
614 -
615 - if (form_id === 'e2pdf-email') {
616 -
617 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
618 - data = {};
619 - data['email'] = form.find('input[name="email"]').val();
620 - if (form.find('input[name="email_code"]').length > 0) {
621 - data['email_code'] = form.find('input[name="email_code"]').val();
622 - }
623 - }
624 -
625 - var action = el.attr('action');
626 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1132 + jQuery('html').addClass('e2pdf-loading');
627 1133 if (el.attr('target') === '_blank') {
628 1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
629 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1135 + jQuery('<textarea>', {'name': 'preview'}).val(data)
630 1136 ).hide();
631 1137 jQuery('body').append(post_form);
632 1138 post_form.submit();
633 1139 post_form.remove();
634 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
635 - loader.css('visibility', 'hidden').fadeOut();
1140 + jQuery('html').removeClass('e2pdf-loading');
636 1141 el.attr('disabled', false);
637 1142 return false;
638 1143 }
639 -
640 1144 jQuery.ajax({
641 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1145 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
642 1146 data: {action: action, data: data},
643 1147 success: function (response) {
644 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
645 - loader.css('visibility', 'hidden').fadeOut();
646 - el.attr('disabled', false);
647 1148 if (response.redirect !== undefined) {
648 1149 location.href = response.redirect;
649 - } else if (response.error !== undefined) {
650 - alert(response.error);
651 - } else if (response.content) {
652 - e2pdf.request.callBack(action, response.content, el);
1150 + } else {
1151 + el.attr('disabled', false);
1152 + if (response.error !== undefined) {
1153 + jQuery('html').removeClass('e2pdf-loading');
1154 + alert(response.error);
1155 + } else if (response.content) {
1156 + e2pdf.request.callBack(action, response.content, el);
1157 + jQuery('html').removeClass('e2pdf-loading');
1158 + } else {
1159 + jQuery('html').removeClass('e2pdf-loading');
1160 + }
653 1161 }
654 1162 },
655 1163 error: function (response) {
656 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
657 - loader.css('visibility', 'hidden').fadeOut();
1164 + jQuery('html').removeClass('e2pdf-loading');
658 1165 el.attr('disabled', false);
659 1166 }
660 1167 });
661 1168 },
662 - //e2pdf.request.submitRequest
1169 + // e2pdf.request.submitRequest
663 1170 submitRequest: function (action, el, value) {
664 1171 if (el.attr('disabled')) {
665 1172 return;
666 1173 }
667 -
668 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1174 + if (action !== 'e2pdf_bulk_progress') {
1175 + jQuery('html').addClass('e2pdf-loading');
1176 + }
669 1177 if (!value) {
670 1178 var value = el.val();
671 1179 }
672 - loader.css('visibility', 'visible').fadeIn();
1180 + var _wpnonce = el.attr('_wpnonce');
1181 + if (action == 'e2pdf_bulk_progress') {
1182 + _wpnonce = e2pdf_params['nonce']['e2pdf'];
1183 + }
1184 +
673 1185 e2pdf.event.fire('before.request.submitRequest', action, el);
674 1186 jQuery.ajax({
675 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1187 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
676 1188 data: {action: action, data: value},
677 1189 success: function (response) {
678 - loader.css('visibility', 'hidden').fadeOut();
679 1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
680 1191 if (response.redirect !== undefined) {
681 1192 location.href = response.redirect;
682 1193 } else if (response.error !== undefined) {
1194 + jQuery('html').removeClass('e2pdf-loading');
683 1195 alert(response.error);
684 1196 } else if (response.content) {
685 1197 e2pdf.request.callBack(action, response.content, el);
1198 + jQuery('html').removeClass('e2pdf-loading');
1199 + } else {
1200 + jQuery('html').removeClass('e2pdf-loading');
686 1201 }
687 1202 },
688 1203 error: function (response) {
689 - loader.css('visibility', 'hidden').fadeOut();
1204 + jQuery('html').removeClass('e2pdf-loading');
690 1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
691 1206 }
692 1207 });
693 1208 },
694 - //e2pdf.request.submitLocal
695 - submitLocal: function (el) {
1209 + // e2pdf.request.submitLocal
1210 + submitLocal: function (el, noclose = false) {
696 1211 var form_id = el.attr('form-id');
697 1212 var form = jQuery(document.getElementById(form_id));
698 1213 var data = e2pdf.form.serializeObject(form);
699 -
700 - if (form_id === 'e2pdf-page-options') {
701 - var width = data['width'];
702 - var height = data['height'];
703 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
704 - e2pdf.actions.apply(page, data['actions']);
705 - e2pdf.pages.changePageSize(page, width, height);
706 - e2pdf.event.fire('after.request.submitLocal', false, page);
707 - } else {
708 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
709 -
710 - e2pdf.actions.apply(element, data['actions']);
711 - delete data['actions'];
712 -
713 - e2pdf.properties.apply(element, data);
714 - e2pdf.properties.render(element);
715 - e2pdf.dialog.close();
716 - e2pdf.event.fire('after.request.submitLocal', false, el);
717 - }
718 -
719 - e2pdf.dialog.close();
720 - },
721 - //e2pdf.request.callBack
722 - callBack: function (action, result, el) {
723 - if (action === 'e2pdf_email') {
724 - if (result === 'subscribed') {
725 - jQuery('.e2pdf-email-lock').remove();
726 - } else {
727 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
728 - var form_id = el.attr('form-id');
729 - var form = jQuery(document.getElementById(form_id));
730 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
731 - form.find('input[name="email"]').attr('type', 'hidden');
732 - jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
733 - }
734 - }
735 -
736 - if (action === 'e2pdf_extension') {
737 - for (var key in result) {
738 - var option = jQuery('<option>',
739 - {
740 - 'value': result[key]['id']
741 - }).html(result[key]['name']);
742 - if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
743 - option.attr('selected', 'selected');
1214 + switch (form_id) {
1215 + case 'e2pdf-page-options':
1216 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1217 + var action_error = false;
1218 + for (var action in data['actions']) {
1219 + for (var condition in data['actions'][action]['conditions']) {
1220 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1221 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1222 + action_element.addClass('e2pdf-action-error');
1223 + action_error = true;
1224 + }
1225 + }
744 1226 }
745 - option.data('data-item', result[key]);
746 - jQuery('#e2pdf-item').append(option);
747 -
748 - }
749 - }
750 -
751 - if (action === 'e2pdf_get_styles') {
752 - for (var key in result) {
753 - if (result[key].split('.').pop() == 'js') {
754 - jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
755 - } else {
756 - jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1227 + if (action_error) {
1228 + setTimeout(function () {
1229 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1230 + }, 0);
1231 + return;
757 1232 }
758 - }
759 - }
760 - if (action === 'e2pdf_visual_mapper') {
761 - el.html(result);
762 - e2pdf.visual.mapper.markup();
763 -
764 - var images = el.find('img');
765 - var counter = 0;
766 - counter = images.length;
767 - images.each(function () {
768 - var img = new Image();
769 - img.onload = function () {
770 - counter--;
771 - if (counter === 0) {
772 - e2pdf.visual.mapper.rebuild();
1233 + var width = data['width'];
1234 + var height = data['height'];
1235 + var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1236 + e2pdf.actions.apply(page, data['actions']);
1237 + e2pdf.pages.changePageSize(page, width, height);
1238 + e2pdf.properties.apply(page, data);
1239 + e2pdf.event.fire('after.request.submitLocal', false, page);
1240 + break;
1241 + case 'e2pdf-tpl-actions':
1242 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1243 + var action_error = false;
1244 + for (var action in data['actions']) {
1245 + for (var condition in data['actions'][action]['conditions']) {
1246 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1247 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1248 + action_element.addClass('e2pdf-action-error');
1249 + action_error = true;
1250 + }
773 1251 }
774 - };
775 - img.onerror = function () {
776 - counter--;
777 - if (counter === 0) {
778 - e2pdf.visual.mapper.rebuild();
779 - }
780 - };
781 - img.src = jQuery(this).attr('src');
782 - });
783 - }
784 - if (action === 'e2pdf_templates') {
785 - var dataset_field = jQuery('#e2pdf-export-dataset');
786 - dataset_field.attr('disabled', 'disabled').find('option').remove();
787 - for (var key in result['datasets']) {
788 - var option = jQuery('<option>',
789 - {
790 - 'value': result['datasets'][key]['key']
791 - }).html(result['datasets'][key]['value']);
792 - dataset_field.append(option);
793 - }
794 -
795 - dataset_field.val('');
796 - if (Object.keys(result['datasets']).length > 1) {
797 - dataset_field.attr('disabled', false);
798 - }
799 -
800 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
801 - options.hide();
802 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
803 - options.find('select').val('0').attr('disabled', 'disabled');
804 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
805 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
806 - jQuery('#e2pdf-dataset-shortcode').val('');
807 - jQuery('#e2pdf-template-shortcode').val('');
808 - if (Object.keys(result['options']).length > 0) {
809 - for (var key in result['options']) {
810 - var field = options.find('[name="options[' + key + ']"]');
811 - if (field.attr('type') === 'text' || field.is("select")) {
812 - field.val(result['options'][key]);
813 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
814 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
815 - checkbox.attr('checked', 'checked');
816 - }
817 1252 }
818 -
819 - var template_id = jQuery('#e2pdf-export-template').val();
820 - options.find('input[type="text"]').attr('disabled', false);
821 - options.find('input[type="checkbox"]').attr('disabled', false);
822 - options.find('select').attr('disabled', false);
823 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
824 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
825 - if (result['delete_items']) {
826 - jQuery('#e2pdf-delete-items').attr({'template': template_id, 'disabled': false});
1253 + if (action_error) {
1254 + setTimeout(function () {
1255 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1256 + }, 0);
1257 + return;
827 1258 }
828 -
829 - options.slideDown();
830 - if (e2pdf.static.autoloadExport) {
831 - if (e2pdf.url.get('dataset_id')) {
832 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
833 - dataset_field.val(e2pdf.url.get('dataset_id')).change();
1259 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1260 + break;
1261 + case 'e2pdf-tpl-properties':
1262 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1263 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1264 + break;
1265 + case 'e2pdf-tpl-hooks':
1266 + var hooks = data['hooks'];
1267 + if (hooks) {
1268 + e2pdf.pdf.settings.change('hooks', hooks.join(','));
1269 + } else {
1270 + e2pdf.pdf.settings.change('hooks', '');
1271 + }
1272 + break;
1273 + default:
1274 + var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1275 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1276 + var action_error = false;
1277 + for (var action in data['actions']) {
1278 + for (var condition in data['actions'][action]['conditions']) {
1279 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1280 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1281 + action_element.addClass('e2pdf-action-error');
1282 + action_error = true;
834 1283 }
835 1284 }
836 - e2pdf.static.autoloadExport = false;
1285 + }
1286 + if (action_error) {
1287 + setTimeout(function () {
1288 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1289 + }, 0);
1290 + return;
1291 + }
1292 + var history = [];
1293 + history.push(element.clone(true));
1294 + e2pdf.history.set('element_change', history);
1295 + e2pdf.actions.apply(element, data['actions']);
1296 + delete data['actions'];
1297 + e2pdf.properties.apply(element, data);
1298 + e2pdf.properties.render(element);
1299 + e2pdf.event.fire('after.request.submitLocal', false, el);
1300 + break;
1301 + }
1302 + if (!noclose) {
1303 + e2pdf.dialog.close();
1304 + }
1305 + },
1306 + // e2pdf.request.callBack
1307 + callBack: function (action, result, el) {
1308 + switch (action) {
1309 + case 'e2pdf_email':
1310 + if (result === 'subscribed') {
1311 + jQuery('.e2pdf-email-lock').remove();
837 1312 } else {
838 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
1313 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1314 + var form_id = el.attr('form-id');
1315 + var form = jQuery(document.getElementById(form_id));
1316 + form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1317 + form.find('input[name="email"]').attr('type', 'hidden');
1318 + jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
839 1319 }
840 - dataset_field.change();
841 - } else {
842 - e2pdf.url.change('e2pdf');
843 - }
844 - }
845 -
846 - if (action === 'e2pdf_dataset') {
847 - var template_id = jQuery('#e2pdf-export-template').val();
848 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
849 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
850 - jQuery('#e2pdf-dataset-shortcode').val('');
851 - if (dataset_id && dataset_id != "0") {
852 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
853 - jQuery('#e2pdf-dataset-shortcode-wr').show();
854 - }
855 -
856 - if (result['export']) {
857 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
858 - jQuery('#e2pdf-export-form').attr('action', export_url);
859 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
860 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
861 - } else {
862 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
863 - }
864 -
865 - if (result['view'] && result['dataset']) {
866 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
867 - }
868 -
869 - if (result['delete_item'] && result['dataset']) {
870 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
871 - }
872 - }
873 -
874 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
875 - if (action === 'e2pdf_activate_template') {
876 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
877 - if (el.parent().attr('id') == 'e2pdf-post-activation') {
878 - e2pdf.pdf.settings.change('activated', '1');
1320 + break;
1321 + case 'e2pdf_extension':
1322 + for (var key in result) {
1323 + var option = jQuery('<option>',
1324 + {
1325 + 'value': result[key]['id']
1326 + }).html(result[key]['name']);
1327 + if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1328 + option.attr('selected', 'selected');
1329 + }
1330 + option.data('data-item', result[key]);
1331 + jQuery('.e2pdf-item').append(option);
879 1332 }
880 - } else {
881 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
882 - if (el.parent().attr('id') == 'e2pdf-post-activation') {
883 - e2pdf.pdf.settings.change('activated', '0');
1333 + for (var key in result) {
1334 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1335 + var option = jQuery('<option>',
1336 + {
1337 + 'value': result[key]['id']
1338 + }).html(result[key]['name']);
1339 + if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1340 + option.attr('selected', 'selected');
1341 + }
1342 + option.data('data-item', result[key]);
1343 + jQuery('.e2pdf-item1').append(option);
1344 + }
884 1345 }
885 - }
886 - }
887 -
888 - if (action === 'e2pdf_auto') {
889 - var elements = result.elements;
890 - var width = parseFloat(e2pdf.pdf.settings.get('width'));
891 - var height = parseFloat(e2pdf.pdf.settings.get('height'));
892 - e2pdf.pages.changeTplSize(width, height);
893 - e2pdf.pages.createPage();
894 - jQuery('.ui-dialog-content').dialog('close');
895 -
896 - var i = 1;
897 - var page = jQuery('.e2pdf-page').last();
898 -
899 - var auto = {
900 - 'block': {
901 - 'top': 0,
902 - 'left': 0,
903 - 'right': 0,
904 - 'bottom': 0,
905 - 'width': 0,
906 - 'page': page.attr('data-page_id')
907 - },
908 - 'element': {
909 - 'top': 0,
910 - 'left': 0,
911 - 'right': 0,
912 - 'bottom': 0,
913 - 'width': 0,
914 - 'properties': {}
915 - },
916 - page: {
917 - 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
918 - 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
919 - 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
920 - 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0,
1346 + for (var key in result) {
1347 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1348 + var option = jQuery('<option>',
1349 + {
1350 + 'value': result[key]['id']
1351 + }).html(result[key]['name']);
1352 + if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1353 + option.attr('selected', 'selected');
1354 + }
1355 + option.data('data-item', result[key]);
1356 + jQuery('.e2pdf-item2').append(option);
1357 + }
921 1358 }
922 - };
923 -
924 - for (var key in elements) {
925 - var element = elements[key];
926 - var type = element.type;
927 - var properties = {};
928 -
929 - //fix empty values
930 - element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
931 - element['block'] = typeof element.block === 'undefined' ? false : element.block;
932 - element['float'] = typeof element.float === 'undefined' ? false : element.float;
933 - element.properties['width'] = typeof element.properties.width === 'undefined' ? 0 : element.properties.width;
934 - element.properties['height'] = typeof element.properties.height === 'undefined' ? 0 : element.properties.height;
935 - element.properties['top'] = typeof element.properties.top === 'undefined' ? 0 : element.properties.top;
936 - element.properties['left'] = typeof element.properties.left === 'undefined' ? 0 : element.properties.left;
937 - element.properties['right'] = typeof element.properties.right === 'undefined' ? 0 : element.properties.right;
938 -
939 - //assing properties to element
940 - for (var property in element.properties) {
941 - properties[property] = element.properties[property];
1359 + el.closest('form').find('.e2pdf-item').trigger('change');
1360 + break;
1361 + case 'e2pdf_get_styles':
1362 + for (var key in result) {
1363 + if (result[key].split('.').pop() == 'js') {
1364 + jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
1365 + } else {
1366 + jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1367 + }
942 1368 }
943 -
944 - //calculate width
945 - if (element.block) {
946 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1369 + break;
1370 + case 'e2pdf_visual_mapper':
1371 + el.html(result);
1372 + var height = el.outerHeight();
1373 + e2pdf.visual.mapper.markup();
1374 + if (window.ResizeObserver) {
1375 + e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1376 + for (var mutation of mutationsList) {
1377 + if (el.outerHeight() != height) {
1378 + e2pdf.visual.mapper.rebuild();
1379 + }
1380 + }
1381 + });
1382 + e2pdf.static.observer.observe(el[0]);
947 1383 }
1384 + var images = el.find('img');
1385 + var counter = 0;
1386 + counter = images.length;
1387 + images.each(function () {
1388 + var img = new Image();
1389 + img.onload = function () {
1390 + counter--;
1391 + if (counter === 0) {
1392 + e2pdf.visual.mapper.rebuild();
1393 + }
1394 + };
1395 + img.onerror = function () {
1396 + counter--;
1397 + if (counter === 0) {
1398 + e2pdf.visual.mapper.rebuild();
1399 + }
1400 + };
1401 + img.src = jQuery(this).attr('src');
1402 + });
1403 + break;
1404 + case 'e2pdf_templates':
1405 + var template_id = result['id'];
1406 + if (template_id) {
1407 + jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1408 + for (var key in result['datasets']) {
1409 + var options = [];
1410 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1411 + dataset_field.closest('.e2pdf-export-item').show();
1412 + for (var subkey in result['datasets'][key]) {
1413 + var option = {
1414 + key: result['datasets'][key][subkey]['key'].toString(),
1415 + value: result['datasets'][key][subkey]['value'].toString()
1416 + };
1417 + options.push(option);
1418 + if (e2pdf.url.get('action') == 'bulk') {
1419 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1420 + } else {
1421 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1422 + }
1423 + }
1424 + dataset_field.data('options', options);
1425 + if (e2pdf.url.get('action') == 'bulk') {
1426 + dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1427 + if (Object.keys(result['datasets'][key]).length > 1) {
1428 + dataset_field.attr('disabled', false);
1429 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1430 + } else {
1431 + dataset_field.attr('disabled', 'disabled');
1432 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1433 + }
1434 + } else {
1435 + dataset_field.val('');
1436 + e2pdf.select2.update(dataset_field);
1437 + e2pdf.select2.enable(dataset_field);
1438 + }
1439 + }
1440 + if (result['actions']) {
1441 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1442 + for (var key in result['actions']) {
1443 + ul.append(jQuery('<li>').html(result['actions'][key]));
1444 + }
1445 + jQuery('.e2pdf-export-template-actions').append(ul);
1446 + }
1447 + jQuery('.e2pdf-export-option').each(function () {
1448 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1449 + var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1450 + if (result['options'].hasOwnProperty(key)) {
1451 + jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1452 + if (result['options'][key]) {
1453 + jQuery(this).val(result['options'][key]);
1454 + } else {
1455 + if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1456 + jQuery(this).val('[e2pdf-dataset]');
1457 + } else {
1458 + if (key == 'args') {
1459 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1460 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1461 + }
1462 + jQuery(this).val('');
1463 + }
1464 + }
1465 + } else {
1466 + jQuery(this).val('');
1467 + }
1468 + if (jQuery(this).attr('name') == 'options[name]') {
1469 + if (e2pdf.url.get('action') == 'bulk') {
1470 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1471 + }
1472 + }
1473 + });
1474 + if (e2pdf.static.autoloadExport) {
1475 + var datasets = [
1476 + 'dataset',
1477 + 'dataset2'
1478 + ];
1479 + for (var key in datasets) {
1480 + if (e2pdf.url.get(datasets[key])) {
1481 + jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1482 + }
1483 + }
1484 + for (var key in datasets) {
1485 + if (e2pdf.url.get(datasets[key])) {
1486 + e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1487 + }
1488 + }
1489 + e2pdf.static.autoloadExport = false;
1490 + } else {
1491 + var url = '';
1492 + if (e2pdf.url.get('action')) {
1493 + url += 'action=' + e2pdf.url.get('action') + '&';
1494 + }
1495 + url += 'id=' + template_id;
1496 + e2pdf.url.change('e2pdf', url);
1497 + }
948 1498
949 - if (element.block) {
950 - if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
951 - page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
952 - properties['left'] = auto.block.right + parseFloat(properties.left);
953 - properties['top'] = auto.block.top;
1499 + if (e2pdf.url.get('action') == 'bulk') {
1500 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1501 + }
1502 + jQuery('.e2pdf-export-options').slideDown();
1503 + } else {
1504 + if (e2pdf.url.get('action') == 'bulk') {
1505 + e2pdf.url.change('e2pdf', 'action=bulk');
954 1506 } else {
955 - page = jQuery('.e2pdf-page').last();
956 - auto.block['bottom'] = 0;
957 - page.find('.e2pdf-element').each(function () {
958 - auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
959 - });
960 - properties['left'] = parseFloat(properties.left);
961 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1507 + e2pdf.url.change('e2pdf');
962 1508 }
963 - } else {
964 - if (element.float) {
965 - if (element.properties.width !== 'auto') {
966 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
967 - if (auto.element.properties.width === 'auto') {
968 - properties['width'] = properties['width'] - auto.element.width;
1509 + }
1510 + break;
1511 + case 'e2pdf_dataset':
1512 + var template_id = result['id'];
1513 + var url = 'id=' + template_id;
1514 + var shortcode = '[e2pdf-download id="' + template_id + '"';
1515 + if (result['datasets']) {
1516 + for (var key in result['datasets']) {
1517 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1518 + var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1519 + e2pdf.select2.enable(dataset_field);
1520 + if (result['datasets'][key]['id'] == '') {
1521 + dataset_field.val('');
1522 + e2pdf.select2.update(dataset_field);
1523 + } else {
1524 + url += '&' + key + '=' + result['datasets'][key]['id'];
1525 + shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1526 + }
1527 + if (result['datasets'][key]['actions']) {
1528 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1529 + for (var dkey in result['datasets'][key]['actions']) {
1530 + ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
969 1531 }
1532 + actions.empty().append(ul);
970 1533 }
971 - properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
972 - properties['top'] = auto.element.top;
1534 + }
1535 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1536 + }
1537 + shortcode += "]";
1538 + if (result['export']) {
1539 + jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1540 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1541 + jQuery('.e2pdf-dataset-shortcode-wr').show();
1542 + }
1543 + e2pdf.url.change('e2pdf', url);
1544 + break;
1545 + case 'e2pdf_datasets_refresh':
1546 + var options = [];
1547 + var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1548 + for (var key in result['datasets']) {
1549 + var option = {
1550 + key: result['datasets'][key]['key'].toString(),
1551 + value: result['datasets'][key]['value'].toString()
1552 + };
1553 + options.push(option);
1554 + if (e2pdf.url.get('action') == 'bulk') {
1555 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
973 1556 } else {
974 - if (element.properties.width !== 'auto') {
975 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
976 - }
977 - properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
978 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1557 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
979 1558 }
980 1559 }
981 -
982 - var obj = e2pdf.element.create(type, page, properties, false, true);
983 - e2pdf.properties.render(obj);
984 - page.append(obj);
985 -
986 - if (element.properties.height === 'auto') {
987 - e2pdf.properties.set(obj, 'height', obj.height());
988 - e2pdf.properties.render(obj);
1560 + dataset_field.data('options', options);
1561 + e2pdf.select2.val(dataset_field, result['dataset']);
1562 + break;
1563 + case 'e2pdf_delete_item':
1564 + case 'e2pdf_delete_items':
1565 + jQuery('.e2pdf-export-template').trigger('change');
1566 + break;
1567 + case 'e2pdf_activate_template':
1568 + case 'e2pdf_deactivate_template':
1569 + if (result == 'activated') {
1570 + el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1571 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1572 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1573 + }
1574 + } else {
1575 + el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1576 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1577 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1578 + }
989 1579 }
1580 + break;
1581 + case 'e2pdf_auto':
1582 + var hidden_elements = [];
1583 + var elements = result.elements;
1584 + var width = parseFloat(e2pdf.pdf.settings.get('width'));
1585 + var height = parseFloat(e2pdf.pdf.settings.get('height'));
1586 + e2pdf.pages.changeTplSize(width, height);
1587 + e2pdf.pages.createPage();
1588 + jQuery('.ui-dialog-content').dialog('close');
1589 + var i = 1;
1590 + var page = jQuery('.e2pdf-page').last();
1591 + var auto = {
1592 + 'block': {
1593 + 'top': 0,
1594 + 'left': 0,
1595 + 'right': 0,
1596 + 'bottom': 0,
1597 + 'width': 0,
1598 + 'page': page.attr('data-page_id')
1599 + },
1600 + 'element': {
1601 + 'top': 0,
1602 + 'left': 0,
1603 + 'right': 0,
1604 + 'bottom': 0,
1605 + 'width': 0,
1606 + 'properties': {}
1607 + },
1608 + page: {
1609 + 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1610 + 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1611 + 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1612 + 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1613 + }
1614 + };
1615 + for (var key in elements) {
1616 + var element = elements[key];
1617 + var type = element.type;
1618 + var properties = {};
1619 + element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1620 + element['block'] = typeof element.block === 'undefined' ? false : element.block;
1621 + element['float'] = typeof element.float === 'undefined' ? false : element.float;
1622 + element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1623 + element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1624 + element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1625 + element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1626 + element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1627 + element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1628 + for (var property in element.properties) {
1629 + properties[property] = element.properties[property];
1630 + }
990 1631
991 - if (!element.block
992 - && element.float
993 - && auto.block.width > 0
994 - && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
995 - e2pdf.properties.set(obj, 'left', auto.block.left);
996 - e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
997 - e2pdf.properties.render(obj);
998 - }
999 -
1000 - if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1001 - if (page.is(':last-child')) {
1002 - if (e2pdfParams['license_type'] == 'FREE') {
1003 - obj.remove();
1004 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
1005 - return;
1006 - }
1007 -
1008 - if (page.find('.e2pdf-element').not(obj).length > 0) {
1009 - e2pdf.pages.createPage();
1632 + if (element.block) {
1633 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1634 + if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
1635 + page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1636 + properties['left'] = auto.block.right + parseFloat(properties.left);
1637 + properties['top'] = auto.block.top;
1638 + } else {
1010 1639 page = jQuery('.e2pdf-page').last();
1640 + auto.block['bottom'] = 0;
1641 + page.find('.e2pdf-element').each(function () {
1642 + auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
1643 + });
1644 + properties['left'] = parseFloat(properties.left);
1645 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
1011 1646 }
1012 1647 } else {
1013 - if (page.find('.e2pdf-element').not(obj).length > 0) {
1014 - page = page.next('.e2pdf-page');
1648 + if (element.float) {
1649 + if (element.properties.width !== 'auto') {
1650 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1651 + if (auto.element.properties.width === 'auto') {
1652 + properties['width'] = properties['width'] - auto.element.width;
1653 + }
1654 + }
1655 + properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1656 + properties['top'] = auto.element.top;
1657 + } else {
1658 + if (element.properties.width !== 'auto') {
1659 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1660 + }
1661 + properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1662 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
1015 1663 }
1016 1664 }
1017 1665
1018 - e2pdf.element.delete(obj);
1019 -
1020 - if (element.properties.height === 'auto') {
1021 - properties['height'] = element.properties.height;
1022 - }
1023 -
1024 - auto.block['bottom'] = auto.page.top;
1025 - properties['top'] = auto.block.bottom;
1026 -
1027 - obj = e2pdf.element.create(type, page, properties, false, true);
1666 + var obj = e2pdf.element.create(type, page, properties, false, true);
1028 1667 e2pdf.properties.render(obj);
1029 1668 page.append(obj);
1669 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1670 + e2pdf.actions.apply(obj, element.actions);
1671 + }
1030 1672
1031 1673 if (element.properties.height === 'auto') {
1032 1674 e2pdf.properties.set(obj, 'height', obj.height());
1033 1675 e2pdf.properties.render(obj);
1676 + } else if (element.properties.height === 'max') {
1677 + e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1678 + e2pdf.properties.render(obj);
1034 1679 }
1035 1680
1681 + if (!element.block
1682 + && element.float
1683 + && auto.block.width > 0
1684 + && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1685 + e2pdf.properties.set(obj, 'left', auto.block.left);
1686 + e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1687 + e2pdf.properties.render(obj);
1688 + }
1689 +
1036 1690 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1037 - e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1691 + if (page.is(':last-child')) {
1692 + if (e2pdf_params['license_type'] == 'FREE') {
1693 + obj.remove();
1694 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1695 + return;
1696 + }
1697 +
1698 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1699 + e2pdf.pages.createPage();
1700 + page = jQuery('.e2pdf-page').last();
1701 + }
1702 + } else {
1703 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1704 + page = page.next('.e2pdf-page');
1705 + }
1706 + }
1707 +
1708 + e2pdf.element.delete(obj);
1709 + if (element.properties.height === 'auto') {
1710 + properties['height'] = element.properties.height;
1711 + }
1712 +
1713 + auto.block['bottom'] = auto.page.top;
1714 + properties['top'] = auto.block.bottom;
1715 + obj = e2pdf.element.create(type, page, properties, false, true);
1038 1716 e2pdf.properties.render(obj);
1039 - e2pdf.properties.set(obj, 'top', properties['top']);
1040 - e2pdf.properties.render(obj);
1717 + page.append(obj);
1718 + if (element.properties.height === 'auto') {
1719 + e2pdf.properties.set(obj, 'height', obj.height());
1720 + e2pdf.properties.render(obj);
1721 + }
1722 +
1723 + if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1724 + e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1725 + e2pdf.properties.render(obj);
1726 + e2pdf.properties.set(obj, 'top', properties['top']);
1727 + e2pdf.properties.render(obj);
1728 + }
1041 1729 }
1042 - }
1043 1730
1044 - auto.element = {
1045 - 'top': e2pdf.properties.getValue(obj, 'top'),
1046 - 'left': e2pdf.properties.getValue(obj, 'left'),
1047 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1048 - 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1049 - 'width': e2pdf.properties.getValue(obj, 'width'),
1050 - 'properties': element.properties
1051 - };
1052 -
1053 - if (element.block) {
1054 - auto.block = {
1731 + auto.element = {
1055 1732 'top': e2pdf.properties.getValue(obj, 'top'),
1056 1733 'left': e2pdf.properties.getValue(obj, 'left'),
1057 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1734 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1058 1735 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1059 1736 'width': e2pdf.properties.getValue(obj, 'width'),
1060 - 'page': page.attr('data-page_id')
1737 + 'properties': element.properties
1061 1738 };
1062 - } else {
1063 - auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1739 + if (element.block) {
1740 + auto.block = {
1741 + 'top': e2pdf.properties.getValue(obj, 'top'),
1742 + 'left': e2pdf.properties.getValue(obj, 'left'),
1743 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1744 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1745 + 'width': e2pdf.properties.getValue(obj, 'width'),
1746 + 'page': page.attr('data-page_id')
1747 + };
1748 + } else {
1749 + auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1750 + }
1751 + if (element.hidden) {
1752 + hidden_elements.push(obj);
1753 + }
1754 + i++;
1064 1755 }
1065 - i++;
1066 - }
1756 + hidden_elements.forEach(function (element) {
1757 + e2pdf.element.delete(element);
1758 + });
1759 + break;
1760 + case 'e2pdf_bulk_action':
1761 + if (result.action == 'delete') {
1762 + el.closest('.e2pdf-bulk').remove();
1763 + if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1764 + jQuery('.e2pdf-bulks-list').remove();
1765 + }
1766 + } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1767 + el.closest('.e2pdf-bulk').attr('status', 'stop');
1768 + el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1769 + } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1770 + el.closest('.e2pdf-bulk').attr('status', 'pending');
1771 + el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1772 + }
1773 + break;
1774 + case 'e2pdf_bulk_progress':
1775 + for (var key in result.bulks) {
1776 + var bulk = result.bulks[key];
1777 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1778 + if (bulk['status'] == 'completed') {
1779 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1780 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1781 + jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1782 + jQuery('<i>', {'class': 'dashicons dashicons-download'})
1783 + ));
1784 + }
1785 + }
1786 + break;
1787 + default:
1788 + break;
1067 1789 }
1068 1790 }
1069 1791 },
1070 - //e2pdf.dialog
1792 + // e2pdf.dialog
1071 1793 dialog: {
1072 - //e2pdf.dialog.create
1794 + top: null,
1795 + left: null,
1796 + center: true,
1797 + // e2pdf.dialog.create
1073 1798 create: function (el) {
1074 1799 e2pdf.dialog.close();
1075 1800 var modal = el.attr('data-modal');
1076 1801 var title = el.attr('data-modal-title');
@@ -1077,21 +1802,21 @@
1077 1802 var noclose = false;
1078 1803 var width = '600';
1079 1804 var height = '600';
1080 1805 if (modal === 'license-key') {
1081 - width = '300';
1806 + width = '400';
1082 1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1083 - jQuery('<form>', {'id': 'license_key'}).append(
1808 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1084 1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1085 1810 jQuery('<span>', {'class': 'spinner'})
1086 1811 ),
1087 1812 jQuery('<ul>').append(
1088 1813 jQuery('<li>').append(
1089 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1090 - jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100'})
1814 + jQuery('<label>', {'class': 'e2pdf-mb5'}).html(e2pdf.lang.get('License Key') + ':'),
1815 + jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100 e2pdf-enter'})
1091 1816 ),
1092 1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1093 - jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdfLang['Submit']})
1818 + jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdf.lang.get('Apply'), '_wpnonce': e2pdf_params['nonce']['e2pdf_license']})
1094 1819 )
1095 1820 )
1096 1821 )
1097 1822 );
@@ -1096,22 +1821,21 @@
1096 1821 )
1097 1822 );
1098 1823 } else if (modal === 'properties') {
1099 1824 for (var key in e2pdf.element.selected) {
1100 - var title = e2pdfLang['Properties'];
1825 + var title = e2pdf.lang.get('Properties');
1101 1826 var selected = e2pdf.element.selected[key];
1102 - var properties = e2pdf.properties.get(selected);
1103 1827 var fields = e2pdf.properties.renderFields(selected);
1104 1828 var content = jQuery('<div>').append(
1105 1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1106 1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1107 1831 fields
1108 - ),
1109 1832 )
1833 + )
1110 1834 );
1111 1835 }
1112 1836 } else if (modal === 'page-options') {
1113 - var title = e2pdfLang['Page Options'];
1837 + var title = e2pdf.lang.get('Page Options');
1114 1838 var page = el.closest('.e2pdf-page');
1115 1839 var readonly_size = false;
1116 1840 if (e2pdf.pdf.settings.get('pdf')) {
1117 1841 readonly_size = true;
@@ -1121,49 +1845,66 @@
1121 1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1122 1846 jQuery('<span>', {'class': 'spinner'})
1123 1847 ),
1124 1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1125 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1849 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1126 1850 )),
1127 1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1128 1852 jQuery('<span>', {'class': 'spinner'})
1129 1853 ));
1130 -
1131 1854 var fields = e2pdf.properties.renderFields(page);
1132 -
1133 1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1134 1856 fields
1135 1857 ));
1136 -
1858 + } else if (modal === 'tpl-actions') {
1859 + width = '600';
1860 + var title = e2pdf.lang.get('Global Actions');
1861 + var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'));
1862 + var content = jQuery('<div>').append(
1863 + jQuery('<form>', {'id': 'e2pdf-tpl-actions'}).append(
1864 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1865 + fields
1866 + )
1867 + )
1868 + );
1869 + } else if (modal === 'tpl-properties') {
1870 + width = '600';
1871 + var title = e2pdf.lang.get('Global Properties');
1872 + var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'), false);
1873 + var content = jQuery('<div>').append(
1874 + jQuery('<form>', {'id': 'e2pdf-tpl-properties'}).append(
1875 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1876 + fields
1877 + )
1878 + )
1879 + );
1137 1880 } else if (modal === 'tpl-options') {
1138 - var noclose = false;
1139 1881 width = '500';
1140 - var title = e2pdfLang['PDF Options'];
1882 + var title = e2pdf.lang.get('Options');
1141 1883 var readonly_size = false;
1142 1884 if (e2pdf.pdf.settings.get('pdf')) {
1143 1885 readonly_size = true;
1144 1886 }
1145 -
1146 1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1147 1888 jQuery('<option>',
1148 1889 {
1149 - 'value': '',
1150 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1890 + 'value': ''
1891 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1151 1892 );
1152 - for (var size in e2pdfTemplateSizes) {
1893 + for (var size in e2pdf_params['template_sizes']) {
1153 1894 var option = jQuery('<option>',
1154 1895 {
1155 - 'value': size,
1156 - }).html(size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')');
1896 + 'value': size
1897 + }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1157 1898 sizes.append(option);
1158 1899 }
1159 1900
1160 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1161 - for (var extension in e2pdfTemplateExtensions) {
1901 + var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
1902 + for (var extension in e2pdf_params['extensions']) {
1162 1903 var option = jQuery('<option>',
1163 1904 {
1164 - 'value': extension,
1165 - }).html(e2pdfTemplateExtensions[extension]);
1905 + 'value': extension
1906 + }).html(e2pdf_params['extensions'][extension]);
1166 1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1167 1908 option.attr('selected', 'selected');
1168 1909 }
1169 1910 extensions.append(option);
@@ -1173,9 +1914,9 @@
1173 1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1174 1915 jQuery('<span>', {'class': 'spinner'})
1175 1916 ),
1176 1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1177 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1918 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1178 1919 )),
1179 1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1180 1921 jQuery('<span>', {'class': 'spinner'})
1181 1922 ));
@@ -1190,10 +1931,10 @@
1190 1931 }
1191 1932
1192 1933 content.find('form').append(
1193 1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1194 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1195 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
1935 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
1936 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1196 1937 ),
1197 1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1198 1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1199 1940 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
@@ -1202,18 +1943,16 @@
1202 1943 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1203 1944 )
1204 1945 )
1205 1946 );
1206 -
1207 1947 content.find('form').append(
1208 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1948 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1209 1949 sizes);
1210 -
1211 1950 content.find('form').append(
1212 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1213 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1214 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1215 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
1951 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1952 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1953 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1954 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1216 1955 ),
1217 1956 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1218 1957 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1219 1958 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1225,26 +1964,76 @@
1225 1964 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1226 1965 )
1227 1966 )
1228 1967 );
1229 -
1230 1968 content.find('form').append(
1231 - jQuery('<label>', {'class': 'e2pdf-mt10'}).html(e2pdfLang['Extension'] + ':'),
1969 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1970 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1971 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1972 + ),
1973 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1974 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1975 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1976 + ),
1977 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1978 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1979 + e2pdf.lang.get('RTL')
1980 + )
1981 + )
1982 + );
1983 + content.find('form').append(
1984 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1232 1985 extensions,
1233 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1234 - jQuery('<select>', {'id': 'e2pdf-item', 'name': 'item', 'class': 'e2pdf-item e2pdf-w100'})
1986 + jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1987 + jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1235 1988 );
1236 -
1237 1989 content.find('form').append(
1238 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
1990 + jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1991 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1992 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1993 + ),
1994 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1995 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1996 + jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1997 + jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
1998 + jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
1999 + jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2000 + ).val('0'),
2001 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2002 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2003 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2004 + e2pdf.lang.get('Shortcodes')
2005 + )
2006 + )
2007 + )
2008 + )
2009 + )
1239 2010 );
1240 -
2011 + content.find('form').append(
2012 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2013 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2014 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2015 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2016 + ),
2017 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2018 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2019 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2020 + ),
2021 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2022 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2023 + )
2024 + )
2025 + )
2026 + );
2027 + content.find('form').append(
2028 + jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2029 + );
1241 2030 if (e2pdf.pdf.settings.get('pdf')) {
1242 2031 content.find('form').append(
1243 - jQuery('<ul>').append(
2032 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1244 2033 jQuery('<li>'),
1245 2034 jQuery('<li>').append(
1246 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
2035 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
1247 2036 ),
1248 2037 jQuery('<li>')
1249 2038 )
1250 2039 );
@@ -1249,47 +2038,76 @@
1249 2038 )
1250 2039 );
1251 2040 } else {
1252 2041 content.find('form').append(
1253 - jQuery('<ul>').append(
2042 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1254 2043 jQuery('<li>').append(
1255 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
2044 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
1256 2045 ),
1257 2046 jQuery('<li>'),
1258 2047 jQuery('<li>').append(
1259 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
2048 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
1260 2049 )
1261 2050 )
1262 2051 );
1263 2052 }
1264 2053
2054 + } else if (modal === 'tpl-hooks') {
2055 + width = '600';
2056 + var title = e2pdf.lang.get('Integration Hooks');
2057 + var hooks = e2pdf.hooks.get();
2058 + var checked = e2pdf.hooks.getChecked();
2059 + var fields = jQuery('<div>');
2060 + fields.append(jQuery('<p>', {'class': 'e2pdf-bold'}).html(e2pdf.lang.get('Display PDF Download') + ':'));
2061 + for (var hook in hooks) {
2062 + var option = jQuery('<label>', {'class': 'e2pdf-label e2pdf-w50'}).append(
2063 + jQuery(
2064 + '<input>', {
2065 + 'type': 'checkbox', 'name': 'hooks[]',
2066 + 'class': 'e2pdf-ib',
2067 + 'value': hook,
2068 + 'checked': jQuery.inArray(hook, checked) !== -1 ? 'checked' : false
2069 + }
2070 + )
2071 + ).append(hooks[hook]);
2072 + fields.append(option);
2073 + }
2074 + if (Object.keys(hooks).length === 0) {
2075 + fields.append(jQuery('<p>').html(e2pdf.lang.get('No hooks are available for this extension')));
2076 + }
2077 + var content = jQuery('<div>').append(
2078 + jQuery('<form>', {'id': 'e2pdf-tpl-hooks'}).append(
2079 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
2080 + fields
2081 + )
2082 + )
2083 + );
1265 2084 } else if (modal === 'welcome-screen') {
1266 2085 var noclose = true;
1267 2086 width = '500';
1268 - var title = e2pdfLang['Create PDF'];
2087 + var title = e2pdf.lang.get('Create PDF');
1269 2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1270 2089 jQuery('<option>',
1271 2090 {
1272 - 'value': '',
1273 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2091 + 'value': ''
2092 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1274 2093 );
1275 -
1276 - for (var size in e2pdfTemplateSizes) {
2094 + for (var size in e2pdf_params['template_sizes']) {
1277 2095 var option = jQuery('<option>',
1278 2096 {
1279 2097 'value': size,
1280 - 'data-width': e2pdfTemplateSizes[size]['width'],
1281 - 'data-height': e2pdfTemplateSizes[size]['height']
1282 - }).html(size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')');
2098 + 'data-width': e2pdf_params['template_sizes'][size]['width'],
2099 + 'data-height': e2pdf_params['template_sizes'][size]['height']
2100 + }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1283 2101 sizes.append(option);
1284 2102 }
1285 2103
1286 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1287 - for (var extension in e2pdfTemplateExtensions) {
2104 + var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
2105 + for (var extension in e2pdf_params['extensions']) {
1288 2106 var option = jQuery('<option>',
1289 2107 {
1290 - 'value': extension,
1291 - }).html(e2pdfTemplateExtensions[extension]);
2108 + 'value': extension
2109 + }).html(e2pdf_params['extensions'][extension]);
1292 2110 if (e2pdf.pdf.settings.get('extension') === extension) {
1293 2111 option.attr('selected', 'selected');
1294 2112 }
1295 2113 extensions.append(option);
@@ -1299,14 +2117,13 @@
1299 2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1300 2118 jQuery('<span>', {'class': 'spinner'})
1301 2119 ),
1302 2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1303 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2121 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1304 2122 )),
1305 2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1306 2124 jQuery('<span>', {'class': 'spinner'})
1307 2125 ));
1308 -
1309 2126 var default_width = '595';
1310 2127 if (e2pdf.pdf.settings.get('width')) {
1311 2128 var default_width = e2pdf.pdf.settings.get('width');
1312 2129 }
@@ -1315,35 +2132,22 @@
1315 2132 if (e2pdf.pdf.settings.get('height')) {
1316 2133 var default_height = e2pdf.pdf.settings.get('height');
1317 2134 }
1318 2135
1319 - var disabled_activation = false;
1320 - if (parseInt(e2pdf.pdf.settings.get('templates_limit')) <= 0 && e2pdf.pdf.settings.get('activated') != '1') {
1321 - disabled_activation = 'disabled';
1322 - }
1323 -
1324 2136 content.find('form').append(
1325 2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1326 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w70 e2pdf-pr10'}).html(e2pdfLang['Title'] + ':'),
1327 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10'}).html(e2pdfLang['Status'] + ':')
2138 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
1328 2139 ),
1329 2140 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1330 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w70 e2pdf-pr10'}).append(
2141 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1331 2142 jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
1332 - ),
1333 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10'}).append(
1334 - jQuery('<select>', {'id': 'e2pdf-activated', 'class': 'e2pdf-w100', 'name': 'activated'}).append(
1335 - jQuery('<option>', {'value': '0'}).text(e2pdfLang['Not Activated']),
1336 - jQuery('<option>', {'value': '1', 'disabled': disabled_activation}).text(e2pdfLang['Activated']),
1337 - ).val(e2pdf.pdf.settings.get('activated'))
1338 2143 )
1339 2144 )
1340 2145 );
1341 -
1342 2146 content.find('form').append(
1343 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1344 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1345 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
2147 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2148 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2149 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1346 2150 ),
1347 2151 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1348 2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1349 2153 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
@@ -1352,18 +2156,16 @@
1352 2156 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
1353 2157 )
1354 2158 )
1355 2159 );
1356 -
1357 2160 content.find('form').append(
1358 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2161 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1359 2162 sizes);
1360 -
1361 2163 content.find('form').append(
1362 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1363 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1364 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1365 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
2164 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2165 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2166 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2167 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
1366 2168 ),
1367 2169 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1368 2170 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1369 2171 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1375,24 +2177,73 @@
1375 2177 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1376 2178 )
1377 2179 )
1378 2180 );
1379 -
1380 2181 content.find('form').append(
1381 - jQuery('<label>', {'class': 'e2pdf-mt10'}).html(e2pdfLang['Extension'] + ':'),
2182 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2183 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2184 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2185 + ),
2186 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2187 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2188 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2189 + ),
2190 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2191 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2192 + e2pdf.lang.get('RTL')
2193 + )
2194 + )
2195 + );
2196 + content.find('form').append(
2197 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1382 2198 extensions,
1383 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1384 - jQuery('<select>', {'id': 'e2pdf-item', 'name': 'item', 'class': 'e2pdf-item e2pdf-w100'})
2199 + jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2200 + jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1385 2201 );
1386 -
1387 2202 content.find('form').append(
1388 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2203 + jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
2204 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2205 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
2206 + ),
2207 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2208 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2209 + jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
2210 + jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
2211 + jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
2212 + jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2213 + ).val('0'),
2214 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2215 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2216 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2217 + e2pdf.lang.get('Shortcodes')
2218 + )
2219 + )
2220 + )
2221 + )
2222 + )
1389 2223 );
1390 -
1391 2224 content.find('form').append(
2225 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2226 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2227 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2228 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2229 + ),
2230 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2231 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2232 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2233 + ),
2234 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2235 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2236 + )
2237 + )
2238 + )
2239 + );
2240 + content.find('form').append(
2241 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2242 + );
2243 + content.find('form').append(
1392 2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1393 2245 );
1394 -
1395 2246 if (e2pdf.pdf.settings.get('ID')) {
1396 2247 content.find('form').append(
1397 2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1398 2249 );
@@ -1398,48 +2249,50 @@
1398 2249 );
1399 2250 }
1400 2251
1401 2252 content.find('form').append(
1402 - jQuery('<ul>').append(
2253 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1403 2254 jQuery('<li>').append(
1404 - jQuery('<a>', {'id': 'e2pdf-w-empty', 'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Empty PDF'])
2255 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-w-empty e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Empty PDF'))
1405 2256 ),
1406 2257 jQuery('<li>').append(
1407 - jQuery('<a>', {'id': 'e2pdf-w-upload', 'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Upload PDF'])
2258 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-w-upload e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF')).append(jQuery('<span>').html(e2pdf.lang.get('Max Upload File Size') + ": " + e2pdf_params['upload_max_filesize']))
1408 2259 ),
1409 2260 jQuery('<li>').append(
1410 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
2261 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
1411 2262 )
1412 2263 )
1413 2264 );
1414 2265 } else if (modal === 'visual-mapper') {
1415 - var title = e2pdfLang['Visual Mapper'];
1416 - var content = jQuery('<div>', {'id': 'visual-mapper', 'class': 'visual-mapper'}).append(
2266 + var title = e2pdf.lang.get('Visual Mapper');
2267 + var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
1417 2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1418 2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1419 2270 jQuery('<span>', {'class': 'spinner'})
1420 2271 )).append(
1421 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1422 - jQuery('<div>', {'id': 'e2pdf-vm-content', 'class': 'e2pdf-vm-content e2pdf-rel'})
2272 + jQuery('<div>', {'class': 'e2pdf-popup-inner'}).append(
2273 + jQuery('<div>', {'class': 'e2pdf-vm-content e2pdf-rel', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).append(
2274 + jQuery('<span>', {'class': 'spinner'})
1423 2275 )
2276 + )
1424 2277 ));
1425 2278 } else if (modal === 'pdf-reupload') {
1426 - var title = e2pdfLang['PDF Upload'];
2279 + var title = e2pdf.lang.get('PDF Upload');
1427 2280 width = '500';
1428 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2281 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2282 + jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
1429 2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1430 2284 jQuery('<span>', {'class': 'spinner'})
1431 2285 ),
1432 2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1433 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2287 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1434 2288 )),
1435 2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1436 2290 jQuery('<span>', {'class': 'spinner'})
1437 2291 ));
1438 2292 content.find('form').append(
1439 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2293 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
1440 2294 );
1441 -
1442 2295 if (e2pdf.pdf.settings.get('ID')) {
1443 2296 content.find('form').append(
1444 2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1445 2298 );
@@ -1447,26 +2300,30 @@
1447 2300
1448 2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1449 2302 pages.append(
1450 2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1451 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1452 - jQuery('<label>').text(e2pdfLang['Page ID'])
2304 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2305 + jQuery('<label>').text(e2pdf.lang.get('Page ID'))
1453 2306 ),
1454 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1455 - jQuery('<label>').text(e2pdfLang['New Position'])
2307 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2308 + jQuery('<label>').text(e2pdf.lang.get('Page ID inside Upload PDF'))
1456 2309 ),
1457 2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1458 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2311 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1459 2312 ),
1460 2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1461 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2314 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1462 2315 )));
1463 -
1464 2316 jQuery('.e2pdf-page').each(function () {
1465 2317 var page_id = jQuery(this).attr('data-page_id');
1466 2318 pages.append(
1467 2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1468 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).text(page_id),
2320 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).text(page_id),
2321 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w5 e2pdf-center'}).append(
2322 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-delete-reupload-page'}).append(
2323 + jQuery('<i>', {'class': 'dashicons dashicons-no'})
2324 + )
2325 + ),
1469 2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1470 2327 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
1471 2328 ),
1472 2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
@@ -1483,9 +2340,9 @@
1483 2340 jQuery('<ul>').append(
1484 2341 jQuery('<li>').append(
1485 2342 ),
1486 2343 jQuery('<li>').append(
1487 - jQuery('<a>', {'id': 'e2pdf-w-reupload', 'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Upload PDF'])
2344 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF'))
1488 2345 ),
1489 2346 jQuery('<li>').append(
1490 2347 )
1491 2348 )
@@ -1494,56 +2351,134 @@
1494 2351 var content = jQuery('<div>');
1495 2352 }
1496 2353
1497 2354 if (typeof content !== 'undefined') {
2355 +
2356 + var dialog_class = 'e2pdf-dialog';
2357 + if (modal === 'visual-mapper') {
2358 + dialog_class += ' e2pdf-dialog-visual-mapper';
2359 + } else if (modal === 'properties') {
2360 + dialog_class += ' e2pdf-dialog-element-properties';
2361 + dialog_class += ' for-' + selected.data('data-type');
2362 + }
1498 2363 content.dialog({
1499 2364 title: title,
1500 - dialogClass: 'e2pdf-dialog',
2365 + dialogClass: dialog_class,
1501 2366 modal: true,
1502 2367 width: width,
1503 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1504 - resizable: false,
1505 - minHeight: 0,
1506 - my: "center",
1507 - at: "center",
2368 + height: Math.min(height, jQuery(window).height() - 200),
2369 + resizable: modal === 'visual-mapper' || modal === 'properties' || modal === 'page-options' || modal === 'tpl-actions' || modal === 'tpl-properties' ? true : false,
2370 + minWidth: 200,
2371 + closeText: '',
2372 + my: 'center',
2373 + at: 'center',
2374 + of: window,
1508 2375 open: function (event, ui) {
2376 + jQuery('html').css('overflow', 'hidden');
2377 + jQuery('.e2pdf-dialog').css('min-height', '150');
1509 2378 if (noclose) {
1510 - jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).remove();
2379 + jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
2380 + location.href = e2pdf.url.build('e2pdf-templates');
2381 + e.preventDefault();
2382 + });
1511 2383 } else {
1512 2384 jQuery('.ui-widget-overlay').bind('click', function ()
1513 2385 {
2386 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2387 + return;
2388 + }
1514 2389 content.dialog('close');
1515 2390 });
1516 2391 }
1517 2392
1518 - var dialog_height = jQuery('.e2pdf-dialog').height();
1519 -
1520 2393 if (modal === 'properties') {
1521 2394 jQuery(".ui-dialog-titlebar").after(
1522 2395 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1523 - jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2396 + jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-noclose', 'value': e2pdf.lang.get('Apply')}),
2397 + jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-ml5', 'value': e2pdf.lang.get('Save')})
1524 2398 )
1525 2399 );
2400 + } else if (modal === 'tpl-actions') {
2401 + jQuery(".ui-dialog-titlebar").after(
2402 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2403 + jQuery('<input>', {'form-id': "e2pdf-tpl-actions", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2404 + )
2405 + );
2406 + } else if (modal === 'tpl-properties') {
2407 + jQuery(".ui-dialog-titlebar").after(
2408 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2409 + jQuery('<input>', {'form-id': "e2pdf-tpl-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2410 + )
2411 + );
2412 + } else if (modal === 'tpl-hooks') {
2413 + jQuery(".ui-dialog-titlebar").after(
2414 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2415 + jQuery('<input>', {'form-id': "e2pdf-tpl-hooks", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2416 + )
2417 + );
2418 + } else if (modal === 'visual-mapper') {
2419 + jQuery(".ui-dialog-titlebar").after(
2420 + jQuery('<div>', {'class': 'e2pdf-dialog-over'}).append(
2421 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2422 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w40 e2pdf-pr10'}).append(
2423 + jQuery('<input>', {'type': 'text', 'name': 'vm_search', 'class': 'e2pdf-ib e2pdf-w100 e2pdf-hide', 'value': '', 'placeholder': e2pdf.lang.get('Filter...')})
2424 + ),
2425 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-align-right'}).append(
2426 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pr10'}).append(
2427 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_hidden', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.hidden ? 'checked' : false})
2428 + ).append(e2pdf.lang.get('Hidden Fields')),
2429 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10 e2pdf-pr10'}).append(
2430 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_replace', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.replace ? 'checked' : false})
2431 + ).append(e2pdf.lang.get('Replace Value')),
2432 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10'}).append(
2433 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_close', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.close ? 'checked' : false})
2434 + ).append(e2pdf.lang.get('Auto-Close'))
2435 + )
2436 + )
2437 + )
2438 + );
1526 2439 } else if (modal === 'page-options') {
1527 2440 jQuery(".ui-dialog-titlebar").after(
1528 2441 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1529 - jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2442 + jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
1530 2443 )
1531 2444 );
1532 2445 }
1533 -
1534 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1535 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1536 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
2446 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
1537 2447 },
1538 2448 closeOnEscape: modal === 'welcome-screen' || modal === 'tpl-options' ? false : true,
2449 + beforeClose: function (event, ui) {
2450 + e2pdf.dialog.center = true;
2451 + },
2452 + dragStop: function (event, ui) {
2453 + e2pdf.dialog.center = false;
2454 + },
2455 + resizeStart: function (event, ui) {
2456 + },
2457 + resize: function (event, ui) {
2458 + var max_height = jQuery('.e2pdf-dialog').height();
2459 + var min_height = 0;
2460 + if (jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').length > 0) {
2461 + min_height += jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').outerHeight();
2462 + }
2463 + if (jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').length > 0) {
2464 + min_height += jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').outerHeight();
2465 + }
2466 + jQuery('.e2pdf-dialog').css('min-height', Math.max(150, min_height + 50));
2467 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': max_height - min_height});
2468 + },
2469 + resizeStop: function (event, ui) {
2470 + e2pdf.dialog.center = false;
2471 + },
1539 2472 close: function (event, ui)
1540 2473 {
2474 + jQuery('html').css('overflow', 'auto');
1541 2475 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1542 2476 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1543 2477 jQuery(this).click();
1544 2478 });
1545 2479 }
2480 + e2pdf.visual.mapper.selected = null;
1546 2481 jQuery(this).remove();
1547 2482 }
1548 2483 });
1549 2484 }
@@ -1548,54 +2483,58 @@
1548 2483 });
1549 2484 }
1550 2485
1551 2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1552 - jQuery('#e2pdf-extension').trigger('change');
1553 - } else if (modal === 'properties') {
1554 - jQuery('.e2pdf-scale-field').each(function () {
1555 - jQuery(this).trigger('change');
1556 - });
2487 + jQuery('.e2pdf-extension').trigger('change');
1557 2488 } else if (modal === 'visual-mapper') {
1558 2489 var data = {};
1559 2490 data['extension'] = e2pdf.pdf.settings.get('extension');
1560 2491 data['item'] = e2pdf.pdf.settings.get('item');
1561 - e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('#e2pdf-vm-content'), data);
2492 + data['item1'] = e2pdf.pdf.settings.get('item1');
2493 + data['item2'] = e2pdf.pdf.settings.get('item2');
2494 + e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('.e2pdf-vm-content'), data);
1562 2495 }
2496 +
2497 + if (modal !== 'visual-mapper') {
2498 + e2pdf.dialog.rebuild();
2499 + }
2500 +
1563 2501 e2pdf.event.fire('after.dialog.create');
1564 2502 },
1565 - //e2pdf.dialog.close
2503 + // e2pdf.dialog.close
1566 2504 close: function () {
1567 2505 if (jQuery('.e2pdf-dialog').length > 0) {
1568 2506 jQuery('.ui-dialog-content').dialog('close');
1569 2507 }
1570 2508 },
1571 - //e2pdf.dialog.rebuild
2509 + // e2pdf.dialog.rebuild
2510 +
1572 2511 rebuild: function () {
1573 - if (jQuery('.e2pdf-dialog').length > 0) {
1574 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1575 - var width = dialog.data("ui-dialog").options.width;
1576 - var height = 600;
1577 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1578 - var dialog_height = jQuery('.e2pdf-dialog').height();
1579 -
1580 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1581 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1582 -
2512 + if (jQuery('.e2pdf-dialog').not('.ui-dialog-resizing').length > 0) {
2513 + if (jQuery('.e2pdf-dialog').width() > jQuery(window).width()) {
2514 + jQuery('.e2pdf-dialog').width(jQuery(window).width() - 100);
2515 + }
2516 + if (e2pdf.dialog.center) {
2517 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').dialog('option', 'position', {my: 'center', at: 'center', of: window});
2518 + }
1583 2519 e2pdf.visual.mapper.rebuild();
1584 2520 }
1585 2521 }
1586 2522 },
1587 - //e2pdf.mediaUploader
2523 + // e2pdf.mediaUploader
1588 2524 mediaUploader: {
1589 - //e2pdf.mediaUploader.init
2525 + // e2pdf.mediaUploader.init
1590 2526 init: function (el) {
1591 2527 var mediaUploader;
1592 2528 mediaUploader = wp.media.frames.file_frame = wp.media({
1593 - title: e2pdfLang['Choose Image'],
2529 + title: e2pdf.lang.get('Media Library'),
1594 2530 button: {
1595 - text: e2pdfLang['Choose Image']
2531 + text: e2pdf.lang.get('Select')
1596 2532 }, multiple: false});
1597 2533 mediaUploader.on('select', function () {
2534 + var history = [];
2535 + history.push(el.clone(true));
2536 + e2pdf.history.set('element_change', history);
1598 2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
1599 2538 e2pdf.properties.set(el, 'value', attachment.url);
1600 2539 e2pdf.properties.render(el);
1601 2540 e2pdf.event.fire('after.mediaUploader.select');
@@ -1602,12 +2541,12 @@
1602 2541 });
1603 2542 mediaUploader.open();
1604 2543 }
1605 2544 },
1606 - //e2pdf.actions
2545 + // e2pdf.actions
1607 2546 actions: {
1608 - //e2pdf.actions.add
1609 - add: function (el, target) {
2547 + // e2pdf.actions.add
2548 + add: function (el, target, action) {
1610 2549 var last_id = -1;
1611 2550 target.find('.e2pdf-action').each(function () {
1612 2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1613 2552 if (num_id > last_id) {
@@ -1614,41 +2553,66 @@
1614 2553 last_id = num_id;
1615 2554 }
1616 2555 });
1617 2556 var action_id = parseInt(last_id + 1);
1618 - target.append(e2pdf.actions.renderField(el, action_id));
2557 + if (action) {
2558 + target.append(e2pdf.actions.renderField(el, action_id, action));
2559 + } else {
2560 + target.append(e2pdf.actions.renderField(el, action_id));
2561 + }
2562 +
1619 2563 },
1620 - //e2pdf.actions.change
1621 - change: function (action) {
2564 + // e2pdf.actions.change
2565 + change: function (action, trigger) {
1622 2566 var action_id = action.attr("data-action_id");
1623 2567 var form = action.closest('form');
1624 2568 var data = e2pdf.form.serializeObject(form);
1625 2569 var el = false;
1626 -
1627 2570 if (form.attr('id') === 'e2pdf-page-options') {
1628 2571 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2572 + } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2573 + el = jQuery('.e2pdf-tpl');
1629 2574 } else {
1630 2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1631 2576 }
1632 2577
1633 - data['actions'][action_id]['change'] = '';
2578 + var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2579 + if (!formatRegex.test(trigger.attr('name'))) {
2580 + data['actions'][action_id]['change'] = '';
2581 + }
1634 2582
1635 2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1636 -
1637 2584 e2pdf.event.fire('after.actions.change');
1638 2585 },
1639 - //e2pdf.actions.delete
2586 + // e2pdf.actions.duplicate
2587 + duplicate: function (action) {
2588 + var actions = action.closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
2589 + var action_id = action.attr("data-action_id");
2590 + var form = action.closest('form');
2591 + var data = e2pdf.form.serializeObject(form);
2592 + var el = false;
2593 + if (form.attr('id') === 'e2pdf-page-options') {
2594 + el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2595 + } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2596 + el = jQuery('.e2pdf-tpl');
2597 + } else {
2598 + el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2599 + }
2600 + e2pdf.actions.add(el, actions, data['actions'][action_id]);
2601 + e2pdf.event.fire('after.actions.change');
2602 + },
2603 + // e2pdf.actions.delete
2604 +
1640 2605 delete: function (action) {
1641 2606 action.remove();
1642 2607 },
1643 - //e2pdf.actions.conditions
2608 + // e2pdf.actions.conditions
1644 2609 conditions: {
1645 - //e2pdf.actions.conditions.add
2610 + // e2pdf.actions.conditions.add
1646 2611 add: function (el, target) {
1647 2612 var action = target.closest('.e2pdf-action');
1648 2613 var action_id = action.attr('data-action_id');
1649 2614 var last_id = -1;
1650 -
1651 2615 target.find('.e2pdf-condition').each(function () {
1652 2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1653 2617 if (num_id > last_id) {
1654 2618 last_id = num_id;
@@ -1654,14 +2618,13 @@
1654 2618 last_id = num_id;
1655 2619 }
1656 2620 });
1657 2621 var condition_id = parseInt(last_id + 1);
1658 -
1659 2622 action.find('.e2pdf-conditions').append(
1660 2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1661 2624 );
1662 2625 },
1663 - //e2pdf.actions.conditions.getFields
2626 + // e2pdf.actions.conditions.getFields
1664 2627 getFields: function (el, action_id, condition_id, condition) {
1665 2628 var obj = {
1666 2629 'condition': {
1667 2630 'fields': [
@@ -1666,31 +2629,29 @@
1666 2629 'condition': {
1667 2630 'fields': [
1668 2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1669 2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1670 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2633 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1671 2634 ],
1672 2635 'classes': [
1673 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2636 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1674 2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1675 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1676 - ],
1677 - },
1678 -
2638 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 + ]
2640 + }
1679 2641 };
1680 2642 return obj;
1681 2643 },
1682 - //e2pdf.actions.conditions.getField
2644 + // e2pdf.actions.conditions.getField
1683 2645 getField: function (field, el, action_id, condition_id, condition) {
1684 2646 var obj = false;
1685 -
1686 2647 switch (field) {
1687 2648 case 'if':
1688 2649 var value = condition ? condition.if : '';
1689 2650 obj = {
1690 - 'name': e2pdfLang['If'],
2651 + 'name': e2pdf.lang.get('If'),
1691 2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1692 - 'type': 'text',
2653 + 'type': 'textarea',
1693 2654 'value': value,
1694 2655 'atts': []
1695 2656 };
1696 2657 break;
@@ -1695,11 +2656,10 @@
1695 2656 };
1696 2657 break;
1697 2658 case 'condition':
1698 2659 var value = condition ? condition.condition : '=';
1699 -
1700 2660 obj = {
1701 - 'name': e2pdfLang['Condition'],
2661 + 'name': e2pdf.lang.get('Condition'),
1702 2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1703 2663 'type': 'select',
1704 2664 'value': value,
1705 2665 'options': [
@@ -1708,10 +2668,16 @@
1708 2668 {'>': '>'},
1709 2669 {'>=': '>='},
1710 2670 {'<': '<'},
1711 2671 {'<=': '<='},
1712 - {'like': 'LIKE'},
1713 - {'not_like': 'NOT LIKE'}
2672 + {'like': e2pdf.lang.get('Contains')},
2673 + {'not_like': e2pdf.lang.get('Not Contains')},
2674 + {'in_array': e2pdf.lang.get('In Array')},
2675 + {'not_in_array': e2pdf.lang.get('Not In Array')},
2676 + {'in_list': e2pdf.lang.get('In List')},
2677 + {'not_in_list': e2pdf.lang.get('Not In List')},
2678 + {'array_key_exists': e2pdf.lang.get('Array Key Exists')},
2679 + {'array_key_not_exists': e2pdf.lang.get('Array Key Not Exists')}
1714 2680 ],
1715 2681 'atts': []
1716 2682 };
1717 2683 break;
@@ -1717,33 +2683,30 @@
1717 2683 break;
1718 2684 case 'value':
1719 2685 var value = condition ? condition.value : '';
1720 2686 obj = {
1721 - 'name': e2pdfLang['Value'],
2687 + 'name': e2pdf.lang.get('Value'),
1722 2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1723 - 'type': 'text',
2689 + 'type': 'textarea',
1724 2690 'value': value,
1725 2691 'atts': []
1726 2692 };
1727 2693 break;
1728 2694 }
1729 -
1730 2695 return obj;
1731 2696 },
1732 - //e2pdf.actions.conditions.delete
2697 + // e2pdf.actions.conditions.delete
1733 2698 delete: function (condition) {
1734 2699 condition.remove();
1735 2700 },
1736 - //e2pdf.actions.conditions.renderField
2701 + // e2pdf.actions.conditions.renderField
1737 2702 renderField: function (el, action_id, condition_id, condition) {
1738 2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1739 -
1740 2704 if (groups) {
1741 2705 for (var group_key in groups) {
1742 2706
1743 2707 var group = groups[group_key];
1744 2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1745 -
1746 2709 for (var field_key in group.fields) {
1747 2710 var group_field = group.fields[field_key];
1748 2711 var classes = '';
1749 2712 if (group.classes) {
@@ -1754,9 +2717,8 @@
1754 2717
1755 2718 var field = '';
1756 2719 var label = '';
1757 2720 var wrap = '';
1758 -
1759 2721 if (group_field.type === 'text') {
1760 2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1761 2723 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1762 2724 } else if (group_field.type === 'hidden') {
@@ -1767,17 +2729,14 @@
1767 2729 } else if (group_field.type === 'checkbox') {
1768 2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1769 2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1770 2732 if (group_field.value == group_field.option) {
1771 - field.attr('checked', 'checked');
2733 + field.prop('checked', true);
1772 2734 }
1773 2735 } else if (group_field.type === 'color') {
1774 2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1775 2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1776 2738 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1777 - if (group_field.key === 'border_color') {
1778 - field.attr('data-default', '#000000');
1779 - }
1780 2739 } else if (group_field.type === 'select') {
1781 2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1782 2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1783 2742 for (var option_key in group_field.options) {
@@ -1796,9 +2755,9 @@
1796 2755 }
1797 2756 }
1798 2757 }
1799 2758
1800 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w15 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2759 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
1801 2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1802 2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1803 2762 ),
1804 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1803,26 +2762,26 @@
1803 2762 ),
1804 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1805 2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1806 2765 )));
1807 -
1808 - var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition', 'data-condition_id': condition_id}).append(
2766 + var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition e2pdf-w100', 'data-condition_id': condition_id}).append(
2767 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
2768 + jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
2769 + ),
1809 2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1810 2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1811 2772 ),
1812 2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1813 - grid,
2774 + grid
1814 2775 )
1815 2776 );
1816 2777 return new_condition;
1817 2778 }
1818 2779 },
1819 -
1820 - //e2pdf.actions.get
2780 + // e2pdf.actions.get
1821 2781 get: function (el) {
1822 2782 var actions = [];
1823 -
1824 - if (typeof el.data('data-properties') !== 'undefined') {
2783 + if (typeof el.data('data-actions') !== 'undefined') {
1825 2784 actions = JSON.parse(el.data('data-actions'));
1826 2785 actions = Object.values(actions).sort(function (a, b) {
1827 2786 if (parseInt(a.order) === parseInt(b.order)) {
1828 2787 return 0;
@@ -1831,9 +2790,9 @@
1831 2790 });
1832 2791 }
1833 2792 return actions;
1834 2793 },
1835 - //e2pdf.actions.apply
2794 + // e2pdf.actions.apply
1836 2795 apply: function (el, data) {
1837 2796 if (!data) {
1838 2797 data = [];
1839 2798 }
@@ -1838,18 +2797,16 @@
1838 2797 data = [];
1839 2798 }
1840 2799 el.data('data-actions', JSON.stringify(data));
1841 2800 },
1842 - //e2pdf.actions.getField
2801 + // e2pdf.actions.getField
1843 2802 getField: function (field, el, action_id, action) {
1844 -
1845 2803 var obj = false;
1846 -
1847 2804 switch (field) {
1848 2805 case 'order':
1849 2806 var value = action ? action.order : '0';
1850 2807 obj = {
1851 - 'name': e2pdfLang['Order'],
2808 + 'name': e2pdf.lang.get('Sort'),
1852 2809 'key': 'actions[' + action_id + '][order]',
1853 2810 'type': 'text',
1854 2811 'value': value,
1855 2812 'atts': ['number']
@@ -1854,74 +2811,228 @@
1854 2811 'value': value,
1855 2812 'atts': ['number']
1856 2813 };
1857 2814 break;
2815 + case 'format':
2816 + var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2817 + obj = {
2818 + 'name': e2pdf.lang.get('Format'),
2819 + 'key': 'actions[' + action_id + '][format]',
2820 + 'type': 'select',
2821 + 'value': value,
2822 + 'options': [
2823 + {'insert_before': e2pdf.lang.get('Insert Before')},
2824 + {'insert_after': e2pdf.lang.get('Insert After')},
2825 + {'replace': e2pdf.lang.get('Full Replacement')},
2826 + {'search': e2pdf.lang.get('Search / Replace')},
2827 + ],
2828 + 'atts': []
2829 + };
2830 + break;
2831 + case 'search':
2832 + var value = action && typeof action.search !== 'undefined' ? action.search : '';
2833 + obj = {
2834 + 'name': 'Search',
2835 + 'key': 'actions[' + action_id + '][search]',
2836 + 'type': 'textarea',
2837 + 'value': value,
2838 + 'atts': []
2839 + };
2840 + break;
2841 + case 'pre_replace':
2842 + var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2843 + obj = {
2844 + 'name': e2pdf.lang.get('Pre-Replace'),
2845 + 'key': 'actions[' + action_id + '][pre_replace]',
2846 + 'type': 'select',
2847 + 'value': value,
2848 + 'options': [
2849 + {'': '-'},
2850 + {'render': e2pdf.lang.get('Render Value')}
2851 + ],
2852 + 'atts': []
2853 + };
2854 + break;
1858 2855 case 'action':
1859 - var value = action ? action.action : 'hide';
2856 + if (el.data('data-type') == 'e2pdf-tpl') {
2857 + var value = action ? action.action : 'access_by_url';
2858 + // backward compatibility
2859 + value = value.replace('restrict_process_shortcode_', '');
2860 + value = value.replace('process_shortcode_', '');
2861 + value = value.replace('restrict_process_', '');
2862 + value = value.replace('process_', '');
2863 + value = value.replace('restrict_', '');
2864 + var options = [
2865 + {'access_by_url': e2pdf.lang.get('PDF Access By URL')},
2866 + {'redirect_access_by_url': e2pdf.lang.get('Redirect Access By URL')},
2867 + {'shortcodes': e2pdf.lang.get('Shortcodes: All')},
2868 + {'e2pdf_download': e2pdf.lang.get('Shortcode: e2pdf-download')},
2869 + {'e2pdf_attachment': e2pdf.lang.get('Shortcode: e2pdf-attachment')},
2870 + {'e2pdf_view': e2pdf.lang.get('Shortcode: e2pdf-view')},
2871 + {'e2pdf_save': e2pdf.lang.get('Shortcode: e2pdf-save')},
2872 + {'e2pdf_zapier': e2pdf.lang.get('Shortcode: e2pdf-zapier')},
2873 + {'e2pdf_adobesign': e2pdf.lang.get('Shortcode: e2pdf-adobesign')},
2874 + ];
2875 + var hooks = e2pdf.hooks.get();
2876 + if (Object.keys(hooks).length > 0) {
2877 + options.push({'hooks': 'Hooks: All'});
2878 + for (var hook in hooks) {
2879 + options.push({[hook]: 'Hook: ' + hooks[hook]});
2880 + }
2881 + }
2882 + if (!options.some(opt => Object.keys(opt)[0] === value)) {
2883 + options.push({[value]: value});
2884 + }
2885 + } else if (el.data('data-type') == 'e2pdf-page') {
2886 + var value = action ? action.action : 'hide';
2887 + var options = [
2888 + {'hide': e2pdf.lang.get('Hide Page')},
2889 + {'show': e2pdf.lang.get('Show Page')},
2890 + {'change': e2pdf.lang.get('Change Property')}
2891 + ];
2892 + } else {
2893 + var value = action ? action.action : 'hide';
2894 + var options = [
2895 + {'hide': e2pdf.lang.get('Hide Element')},
2896 + {'show': e2pdf.lang.get('Show Element')},
2897 + {'change': e2pdf.lang.get('Change Property')}
2898 + ];
2899 + }
1860 2900 obj = {
1861 - 'name': e2pdfLang['Action'],
2901 + 'name': e2pdf.lang.get('Action'),
1862 2902 'key': 'actions[' + action_id + '][action]',
1863 2903 'type': 'select',
1864 2904 'value': value,
1865 - 'options': [
1866 - {'hide': e2pdfLang['Hide']},
1867 - {'show': e2pdfLang['Show']},
1868 - {'change': e2pdfLang['Change']},
1869 - ],
2905 + 'options': options,
1870 2906 'atts': []
1871 2907 };
1872 2908 break;
1873 - case 'property':
1874 - var value = action ? action.property : '';
1875 -
1876 - if (action && action.action === 'change') {
1877 - var options = [];
1878 - var option = {
1879 - '': e2pdfLang['--- Select ---']
2909 + case 'error_message':
2910 + if (el.data('data-type') == 'e2pdf-tpl') {
2911 + var value = action ? action.error_message : '';
2912 + obj = {
2913 + 'name': e2pdf.lang.get('Error Message'),
2914 + 'key': 'actions[' + action_id + '][error_message]',
2915 + 'type': 'textarea',
2916 + 'value': value,
2917 + 'atts': []
1880 2918 };
1881 - options.push(option);
1882 -
1883 - var groups = e2pdf.properties.getFields(el);
1884 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1885 -
1886 - if (el.data('data-type') !== 'e2pdf-page') {
1887 - var option = {
1888 - 'page_id': e2pdfLang['Page ID']
1889 - }
1890 - options.push(option);
2919 + }
2920 + break;
2921 + case 'redirect_error_message':
2922 + if (el.data('data-type') == 'e2pdf-tpl') {
2923 + var value = action ? action.redirect_error_message : '';
2924 + if (!value) {
2925 + value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
1891 2926 }
2927 + obj = {
2928 + 'name': e2pdf.lang.get('Error Message'),
2929 + 'key': 'actions[' + action_id + '][redirect_error_message]',
2930 + 'type': 'textarea',
2931 + 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2932 + 'value': value,
2933 + 'atts': []
2934 + };
2935 + }
2936 + break;
2937 + case 'redirect_url':
2938 + if (el.data('data-type') == 'e2pdf-tpl') {
2939 + var value = action ? action.redirect_url : '';
2940 + obj = {
2941 + 'name': e2pdf.lang.get('Redirect URL'),
2942 + 'key': 'actions[' + action_id + '][redirect_url]',
2943 + 'type': 'text',
2944 + 'value': value,
2945 + 'atts': []
2946 + };
2947 + }
2948 + break;
2949 + case 'else':
2950 + if (el.data('data-type') == 'e2pdf-page') {
2951 + var options = [
2952 + {'': '-'},
2953 + {'hide': e2pdf.lang.get('Hide Page')}
2954 + ];
2955 + } else {
2956 + var options = [
2957 + {'': '-'},
2958 + {'hide': e2pdf.lang.get('Hide Element')}
2959 + ];
2960 + }
1892 2961
1893 - for (var group_key in groups) {
1894 - var group = groups[group_key];
1895 -
1896 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1897 - for (var field_key in group.fields) {
1898 - var group_field = group.fields[field_key];
1899 - var option = {};
1900 -
1901 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1902 - option[group_field.key] = group.name;
1903 - } else {
1904 - option[group_field.key] = group.name + ' ' + group_field.name;
1905 - }
1906 - options.push(option);
1907 - }
2962 + var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2963 + obj = {
2964 + 'name': e2pdf.lang.get('Else'),
2965 + 'key': 'actions[' + action_id + '][else]',
2966 + 'type': 'select',
2967 + 'options': options,
2968 + 'value': value,
2969 + 'atts': []
2970 + };
2971 + break;
2972 + case 'property':
2973 + if (el.data('data-type') == 'e2pdf-tpl') {
2974 + // backward compatibility
2975 + if (action && !action.property && action.action) {
2976 + if (action.action.includes('restrict_')) {
2977 + var value = 'disable';
2978 + } else {
2979 + var value = 'enable';
1908 2980 }
2981 + } else {
2982 + var value = action && action.property ? action.property : 'enable';
1909 2983 }
1910 -
2984 + var options = [
2985 + {'enable': e2pdf.lang.get('Enable')},
2986 + {'disable': e2pdf.lang.get('Disable')},
2987 + ];
1911 2988 obj = {
1912 - 'name': e2pdfLang['Property'],
2989 + 'name': e2pdf.lang.get('State'),
1913 2990 'key': 'actions[' + action_id + '][property]',
1914 - 'type': 'select',
2991 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1915 2992 'value': value,
1916 2993 'options': options,
1917 2994 'atts': []
1918 2995 };
2996 + } else {
2997 + var value = action ? action.property : '';
2998 + if (action && action.action === 'change') {
2999 + var options = [];
3000 + var option = {
3001 + '': e2pdf.lang.get('--- Select ---')
3002 + };
3003 + options.push(option);
3004 + var groups = e2pdf.properties.getFields(el);
3005 + for (var group_key in groups) {
3006 + var group = groups[group_key];
3007 + for (var field_key in group.fields) {
3008 + var group_field = group.fields[field_key];
3009 + if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
3010 + var option = {};
3011 + if (group_field.key == 'g_multiline') {
3012 + option[group_field.key] = e2pdf.lang.get('Type');
3013 + } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
3014 + option[group_field.key] = group.name;
3015 + } else {
3016 + option[group_field.key] = group.name + ' ' + group_field.name;
3017 + }
3018 + options.push(option);
3019 + }
3020 + }
3021 + }
3022 + obj = {
3023 + 'name': e2pdf.lang.get('Property'),
3024 + 'key': 'actions[' + action_id + '][property]',
3025 + 'type': 'select',
3026 + 'value': value,
3027 + 'options': options,
3028 + 'atts': []
3029 + };
3030 + }
1919 3031 }
1920 3032 break;
1921 3033 case 'change':
1922 3034 var value = action ? action.change : '';
1923 -
1924 3035 if (
1925 3036 action
1926 3037 && typeof action.action !== 'undefined'
1927 3038 && action.action === 'change'
@@ -1929,17 +3040,20 @@
1929 3040 && action.property !== ''
1930 3041 ) {
1931 3042
1932 3043 var property = e2pdf.properties.getField(action.property, el);
1933 -
1934 3044 if (property) {
1935 - property.name = e2pdfLang['Change'];
3045 + if (action.property == 'value'
3046 + && typeof action.format !== 'undefined'
3047 + && (action.format == 'insert_before' || action.format == 'insert_after')) {
3048 + property.name = e2pdf.lang.get('Value');
3049 + } else if (property.type != 'checkbox') {
3050 + property.name = e2pdf.lang.get('Change to');
3051 + }
1936 3052 property.key = 'actions[' + action_id + '][change]';
1937 -
1938 - if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('changeable', property.atts) !== -1) {
3053 + if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
1939 3054 property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
1940 3055 }
1941 -
1942 3056 if (jQuery.inArray('readonly', property.atts) === -1) {
1943 3057 if (property.type === 'select') {
1944 3058 for (var key in property.options) {
1945 3059 if (Object.keys(property.options[key])[0] == value) {
@@ -1963,15 +3077,15 @@
1963 3077 break;
1964 3078 case 'apply':
1965 3079 var value = action ? action.apply : 'any';
1966 3080 obj = {
1967 - 'name': e2pdfLang['Apply If'],
3081 + 'name': e2pdf.lang.get('Apply If'),
1968 3082 'key': 'actions[' + action_id + '][apply]',
1969 3083 'type': 'select',
1970 3084 'value': value,
1971 3085 'options': [
1972 - {'any': e2pdfLang['Any']},
1973 - {'all': e2pdfLang['All']},
3086 + {'any': e2pdf.lang.get('Any')},
3087 + {'all': e2pdf.lang.get('All')}
1974 3088 ],
1975 3089 'atts': []
1976 3090 };
1977 3091 break;
@@ -1977,9 +3091,9 @@
1977 3091 break;
1978 3092 }
1979 3093 return obj;
1980 3094 },
1981 - //e2pdf.actions.getFields
3095 + // e2pdf.actions.getFields
1982 3096 getFields: function (el, action_id, action) {
1983 3097 var obj = {
1984 3098 'action': {
1985 3099 'fields': [
@@ -1985,27 +3099,68 @@
1985 3099 'fields': [
1986 3100 e2pdf.actions.getField('order', el, action_id, action),
1987 3101 e2pdf.actions.getField('action', el, action_id, action),
1988 3102 e2pdf.actions.getField('property', el, action_id, action),
1989 - e2pdf.actions.getField('change', el, action_id, action),
1990 - e2pdf.actions.getField('apply', el, action_id, action),
3103 + e2pdf.actions.getField('apply', el, action_id, action)
1991 3104 ],
1992 3105 'classes': [
1993 3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1994 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1995 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1996 - 'e2pdf-w20 e2pdf-pl5 e2pdf-pr5 e2pdf-action-change',
3107 + el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w50 e2pdf-pr5 e2pdf-action-action' : 'e2pdf-w35 e2pdf-pr5 e2pdf-action-action',
3108 + el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w25 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property' : 'e2pdf-w40 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1997 3109 'e2pdf-w15 e2pdf-pl5'
1998 - ],
1999 - },
3110 + ]
3111 + }
2000 3112 };
3113 + if (
3114 + action
3115 + && typeof action.action !== 'undefined'
3116 + && action.action === 'change'
3117 + && typeof action.property !== 'undefined'
3118 + && action.property !== ''
3119 + ) {
3120 + if (action.property == 'value' && typeof action.format !== 'undefined' && action.format == 'search') {
3121 + obj.action.fields.push(e2pdf.actions.getField('pre_replace', el, action_id, action));
3122 + obj.action.classes.push('e2pdf-w100');
3123 + obj.action.fields.push(e2pdf.actions.getField('search', el, action_id, action));
3124 + obj.action.classes.push('e2pdf-w100');
3125 + }
3126 +
3127 + obj.action.fields.push(e2pdf.actions.getField('change', el, action_id, action));
3128 + obj.action.classes.push('e2pdf-w100 e2pdf-action-change');
3129 + if (action.property == 'value') {
3130 + obj.action.fields.push(e2pdf.actions.getField('format', el, action_id, action));
3131 + obj.action.classes.push('e2pdf-w100 e2pdf-action-format');
3132 + }
3133 + }
3134 +
3135 + if (action && action.action == 'show') {
3136 + obj.action.fields.push(e2pdf.actions.getField('else', el, action_id, action));
3137 + obj.action.classes.push('e2pdf-w100');
3138 + }
3139 +
3140 + if (el.data('data-type') == 'e2pdf-tpl') {
3141 + if (!action || (action && (action.action == 'access_by_url' || action.action == 'restrict_access_by_url'))) {
3142 + obj.action.fields.push(e2pdf.actions.getField('error_message', el, action_id, action));
3143 + obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3144 + } else if (action && action.action == 'redirect_access_by_url') {
3145 + obj.action.fields.push(e2pdf.actions.getField('redirect_url', el, action_id, action));
3146 + obj.action.classes.push('e2pdf-w100 e2pdf-action-redirect-url');
3147 + obj.action.fields.push(e2pdf.actions.getField('redirect_error_message', el, action_id, action));
3148 + obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3149 + }
3150 + }
3151 +
2001 3152 return obj;
2002 3153 },
2003 - //e2pdf.actions.renderField
3154 + // e2pdf.actions.renderField
2004 3155 renderField: function (el, action_id, action) {
2005 -
2006 3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
2007 3157 if (action) {
3158 + // backward compatibility for Merge option
3159 + if (typeof action.action !== 'undefined' && action.action == 'merge') {
3160 + action.action = 'change';
3161 + action.format = 'insert_after';
3162 + }
2008 3163 for (var condition in action.conditions) {
2009 3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
2010 3165 }
2011 3166 } else {
@@ -2017,9 +3172,8 @@
2017 3172 for (var group_key in groups) {
2018 3173
2019 3174 var group = groups[group_key];
2020 3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2021 -
2022 3176 for (var field_key in group.fields) {
2023 3177 var group_field = group.fields[field_key];
2024 3178 var classes = '';
2025 3179 if (group.classes) {
@@ -2030,9 +3184,9 @@
2030 3184
2031 3185 var field = '';
2032 3186 var label = '';
2033 3187 var wrap = '';
2034 -
3188 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
2035 3189 if (group_field.type === 'text') {
2036 3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2037 3191 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2038 3192 } else if (group_field.type === 'hidden') {
@@ -2038,22 +3192,19 @@
2038 3192 } else if (group_field.type === 'hidden') {
2039 3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2040 3194 } else if (group_field.type === 'textarea') {
2041 3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2042 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
3196 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
2043 3197 } else if (group_field.type === 'checkbox') {
2044 - label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3198 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
2045 3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
2046 3200 if (group_field.value == group_field.option) {
2047 - field.attr('checked', 'checked');
3201 + field.prop('checked', true);
2048 3202 }
2049 3203 } else if (group_field.type === 'color') {
2050 3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2051 3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2052 3206 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2053 - if (group_field.key === 'border_color') {
2054 - field.attr('data-default', '#000000');
2055 - }
2056 3207 } else if (group_field.type === 'select') {
2057 3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2058 3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2059 3210 for (var option_key in group_field.options) {
@@ -2063,9 +3214,8 @@
2063 3214 }
2064 3215
2065 3216 for (var att_key in group_field.atts) {
2066 3217 var att = group_field.atts[att_key];
2067 -
2068 3218 switch (att) {
2069 3219 case 'readonly':
2070 3220 field.attr('readonly', 'readonly');
2071 3221 break;
@@ -2083,14 +3233,11 @@
2083 3233 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2084 3234 },
2085 3235 classes: {
2086 3236 "ui-autocomplete": "e2pdf-autocomplete"
2087 - },
3237 + }
2088 3238 });
2089 3239 break;
2090 - case 'scale':
2091 - field.addClass('e2pdf-scale-field');
2092 - break;
2093 3240 }
2094 3241 }
2095 3242
2096 3243 if (!wrap) {
@@ -2104,8 +3251,11 @@
2104 3251 }
2105 3252 }
2106 3253
2107 3254 var new_action = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-rel e2pdf-w100 e2pdf-action', 'data-action_id': action_id}).append(
3255 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
3256 + jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
3257 + ),
2108 3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2109 3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2110 3260 ),
2111 3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2112,565 +3262,653 @@
2112 3262 grid
2113 3263 ),
2114 3264 conditions
2115 3265 );
2116 -
2117 3266 return new_action;
2118 3267 },
2119 - //e2pdf.actions.renderFields
3268 + // e2pdf.actions.renderFields
2120 3269 renderFields: function (el) {
3270 +
2121 3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2122 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html("Add Action")
3272 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
2123 3273 );
2124 -
2125 3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2126 3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2127 3276 var actions = e2pdf.actions.get(el);
2128 -
2129 3277 for (var action in actions) {
3278 + // Backward compatiability Show Element / Page
3279 + if (actions[action].action == 'show') {
3280 + if (typeof actions[action].else === 'undefined') {
3281 + actions[action].else = '';
3282 + }
3283 + }
2130 3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2131 3285 }
2132 3286
2133 3287 block.append(action_wrapper, add_action);
2134 -
2135 3288 return block;
2136 3289 }
2137 3290 },
2138 - //e2pdf.properties
3291 + // e2pdf.properties
2139 3292 properties: {
2140 - //e2pdf.properties.getField
3293 + // e2pdf.properties.getLink
3294 + getLink: function (title, href, classes, collapse) {
3295 + obj = {
3296 + 'name': title,
3297 + 'key': 'link',
3298 + 'type': 'link',
3299 + 'value': href,
3300 + 'classes': classes,
3301 + 'collapse': collapse,
3302 + 'atts': [
3303 + 'readonly',
3304 + 'collapse'
3305 + ]
3306 + };
3307 + return obj;
3308 + },
3309 + // e2pdf.properties.getField
2141 3310 getField: function (field, el) {
2142 3311
2143 3312 var obj = false;
2144 3313 var properties = e2pdf.properties.get(el);
2145 3314 var children = e2pdf.element.children(el);
2146 -
2147 3315 switch (field) {
2148 - case 'element_id':
2149 - var value = el.attr('data-element_id');
3316 + case 'page_id':
2150 3317 obj = {
2151 - 'name': e2pdfLang['ID'],
2152 - 'key': 'element_id',
3318 + 'name': e2pdf.lang.get('Page ID'),
2153 3319 'type': 'text',
2154 - 'value': value ? value : 0,
3320 + 'value': el.data('data-type') === 'e2pdf-page' ? e2pdf.helper.getInt(el.attr('data-page_id')) : e2pdf.helper.getInt(el.closest('.e2pdf-page').attr('data-page_id')),
2155 3321 'atts': [
2156 - 'readonly'
3322 + 'readonly',
3323 + 'number'
2157 3324 ]
2158 3325 };
3326 + if (el.data('data-type') !== 'e2pdf-page') {
3327 + obj.atts.push('editable');
3328 + }
2159 3329 break;
2160 - case 'element_type':
2161 - var value = el.data('data-type');
3330 + case 'element_id':
2162 3331 obj = {
2163 - 'name': e2pdfLang['Type'],
2164 - 'key': 'element_type',
3332 + 'name': 'ID',
2165 3333 'type': 'text',
2166 - 'value': value,
2167 - 'atts': [
2168 - 'readonly'
2169 - ]
3334 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 + 'atts': ['readonly']
2170 3336 };
2171 3337 break;
2172 - case 'page_id':
2173 - if (el.data('data-type') == 'e2pdf-page') {
2174 - var value = el.attr('data-page_id');
2175 - } else {
2176 - var value = el.closest('.e2pdf-page').attr('data-page_id');
2177 - }
3338 + case 'element_type':
2178 3339 obj = {
2179 - 'name': e2pdfLang['Page ID'],
2180 - 'key': 'page_id',
3340 + 'name': e2pdf.lang.get('Type'),
2181 3341 'type': 'text',
2182 - 'value': value ? value : 0,
2183 - 'atts': [
2184 - 'readonly',
2185 - 'changeable',
2186 - 'number'
2187 - ]
3342 + 'value': el.data('data-type'),
3343 + 'atts': ['readonly']
2188 3344 };
2189 3345 break;
2190 3346 case 'width':
2191 - if (el.data('data-type') == 'e2pdf-page') {
2192 - var value = el.attr('data-width');
2193 - } else {
2194 - var value = e2pdf.helper.pxToFloat(el.css('width'));
2195 - }
2196 -
2197 3347 obj = {
2198 - 'name': e2pdfLang['Width'],
2199 - 'key': 'width',
3348 + 'name': e2pdf.lang.get('Width'),
2200 3349 'type': 'text',
2201 - 'value': value,
2202 - 'atts': [
2203 - 'number'
2204 - ]
3350 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 + 'atts': ['number']
2205 3352 };
2206 -
2207 - if (el.data('data-type') == 'e2pdf-page') {
2208 - if (e2pdf.pdf.settings.get('pdf')) {
2209 - obj.atts.push('readonly')
2210 - }
3353 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 + obj.atts.push('readonly');
2211 3355 }
2212 3356 break;
2213 3357 case 'height':
2214 - if (el.data('data-type') == 'e2pdf-page') {
2215 - var value = el.attr('data-height');
2216 - } else {
2217 - var value = e2pdf.helper.pxToFloat(el.css('height'));
2218 - }
2219 -
2220 3358 obj = {
2221 - 'name': e2pdfLang['Height'],
2222 - 'key': 'height',
3359 + 'name': e2pdf.lang.get('Height'),
2223 3360 'type': 'text',
2224 - 'value': value,
2225 - 'atts': [
2226 - 'number'
2227 - ]
3361 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 + 'atts': ['number']
2228 3363 };
2229 -
2230 - if (el.data('data-type') == 'e2pdf-page') {
2231 - if (e2pdf.pdf.settings.get('pdf')) {
2232 - obj.atts.push('readonly')
2233 - }
3364 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 + obj.atts.push('readonly');
2234 3366 }
2235 3367 break;
2236 3368 case 'top':
2237 - var value = parseFloat(el.css('top'));
2238 3369 obj = {
2239 - 'name': e2pdfLang['Top'],
2240 - 'key': 'top',
3370 + 'name': e2pdf.lang.get('Position Top'),
2241 3371 'type': 'text',
2242 - 'value': value,
2243 - 'atts': [
2244 - 'number'
2245 - ]
3372 + 'value': e2pdf.helper.getFloat(el.css('top')),
3373 + 'atts': ['number', 'keep']
2246 3374 };
2247 3375 break;
2248 3376 case 'left':
2249 - var value = parseFloat(el.css('left'));
2250 3377 obj = {
2251 - 'name': e2pdfLang['Left'],
2252 - 'key': 'left',
3378 + 'name': e2pdf.lang.get('Position Left'),
2253 3379 'type': 'text',
2254 - 'value': value,
2255 - 'atts': [
2256 - 'number'
2257 - ]
3380 + 'value': e2pdf.helper.getFloat(el.css('left')),
3381 + 'atts': ['number', 'keep']
2258 3382 };
2259 3383 break;
3384 + case 'name':
3385 + obj = {
3386 + 'name': e2pdf.lang.get('Field Name'),
3387 + 'type': 'text',
3388 + 'value': e2pdf.helper.getString(properties[field])
3389 + };
3390 + break;
3391 + case 'field_name':
3392 + obj = {
3393 + 'name': e2pdf.lang.get('As Field Name'),
3394 + 'type': 'checkbox',
3395 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3396 + 'option': '1'
3397 + };
3398 + break;
2260 3399 case 'dynamic_height':
2261 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2262 3400 obj = {
2263 - 'name': e2pdfLang['Dynamic Height'],
2264 - 'key': 'dynamic_height',
3401 + 'name': e2pdf.lang.get('Dynamic Height'),
2265 3402 'type': 'checkbox',
2266 - 'value': value,
2267 - 'option': 1,
2268 - 'atts': []
3403 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3404 + 'option': '1'
2269 3405 };
2270 3406 break;
3407 + case 'multipage':
3408 + obj = {
3409 + 'name': e2pdf.lang.get('Multipage'),
3410 + 'type': 'checkbox',
3411 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3412 + 'option': '1'
3413 + };
3414 + break;
3415 + case 'hide_if_empty':
3416 + obj = {
3417 + 'name': e2pdf.lang.get('Hide (If Empty)'),
3418 + 'type': 'checkbox',
3419 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3420 + 'option': '1'
3421 + };
3422 + break;
3423 + case 'hide_page_if_empty':
3424 + obj = {
3425 + 'name': e2pdf.lang.get('Hide Page (If Empty)'),
3426 + 'type': 'checkbox',
3427 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3428 + 'option': '1'
3429 + };
3430 + break;
3431 + case 'nl2br':
3432 + obj = {
3433 + 'name': e2pdf.lang.get('New Lines to BR'),
3434 + 'type': 'checkbox',
3435 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3436 + 'option': '1'
3437 + };
3438 + break;
3439 + case 'preload_img':
3440 + obj = {
3441 + 'name': e2pdf.lang.get('Preload Images'),
3442 + 'type': 'checkbox',
3443 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3444 + 'option': '1'
3445 + };
3446 + break;
2271 3447 case 'text_color':
2272 - var value = properties['text_color'];
2273 3448 obj = {
2274 - 'name': e2pdfLang['Color'],
2275 - 'key': 'text_color',
3449 + 'name': e2pdf.lang.get('Font Color'),
2276 3450 'type': 'color',
2277 - 'value': value,
2278 - 'atts': []
3451 + 'value': e2pdf.helper.getString(properties[field])
2279 3452 };
2280 3453 break;
3454 + case 'color':
3455 + obj = {
3456 + 'name': e2pdf.lang.get('Color'),
3457 + 'type': 'color',
3458 + 'value': e2pdf.helper.getString(properties[field])
3459 + };
3460 + break;
2281 3461 case 'text_type':
2282 - var value = properties['text_type'];
2283 3462 obj = {
2284 - 'name': e2pdfLang['Type'],
2285 - 'key': 'text_type',
3463 + 'name': e2pdf.lang.get('Type'),
2286 3464 'type': 'select',
2287 - 'value': value,
3465 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2288 3466 'options': [
2289 - {'check': e2pdfLang['Check']},
2290 - {'circle': e2pdfLang['Circle']},
2291 - {'cross': e2pdfLang['Cross']},
2292 - {'diamond': e2pdfLang['Diamond']},
2293 - {'square': e2pdfLang['Square']},
2294 - {'star': e2pdfLang['Star']},
2295 - ],
2296 - 'atts': []
3467 + {'check': 'Check'},
3468 + {'circle': 'Circle'},
3469 + {'cross': 'Cross'},
3470 + {'diamond': 'Diamond'},
3471 + {'square': 'Square'},
3472 + {'star': 'Star'}
3473 + ]
2297 3474 };
2298 3475 break;
2299 3476 case 'text_font':
2300 - var options = [];
2301 - jQuery('#e2pdf-wysiwyg-font').find('option').each(function () {
2302 - var option = {};
2303 - option[jQuery(this).attr('value')] = jQuery(this).html();
2304 - options.push(option);
2305 - });
2306 - var value = '';
2307 - if (properties['text_font']) {
2308 - value = properties['text_font'];
3477 + obj = {
3478 + 'name': e2pdf.lang.get('Font'),
3479 + 'type': 'select',
3480 + 'value': e2pdf.helper.getString(properties[field]),
3481 + 'options': e2pdf.helper.font.fonts(field)
3482 + };
3483 + break;
3484 + case 'text_auto_font_size':
3485 + if ((el.data('data-type') == 'e2pdf-textarea' || el.data('data-type') == 'e2pdf-input' || el.data('data-type') == 'e2pdf-select') && e2pdf.helper.getString(properties['text_font_size']) == '-1') {
3486 + var value = '1';
3487 + } else {
3488 + var value = e2pdf.helper.getCheckbox(properties[field]);
2309 3489 }
2310 3490 obj = {
2311 - 'name': e2pdfLang['Font'],
2312 - 'key': 'text_font',
2313 - 'type': 'select',
3491 + 'name': e2pdf.lang.get('Auto Font Size'),
3492 + 'type': 'checkbox',
2314 3493 'value': value,
2315 - 'options': options,
2316 - 'atts': []
3494 + 'option': '1'
2317 3495 };
2318 3496 break;
2319 3497 case 'text_font_size':
2320 - var options = [];
2321 - jQuery('#e2pdf-wysiwyg-fontsize').find('option').each(function () {
2322 - var option = {};
2323 - option[jQuery(this).attr('value')] = jQuery(this).html();
2324 - options.push(option);
2325 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2326 - option = {};
2327 - option['-1'] = e2pdfLang['Auto'];
2328 - options.push(option);
2329 - }
2330 - });
2331 - var value = '';
2332 - if (properties['text_font_size']) {
2333 - value = properties['text_font_size'];
2334 - }
2335 3498 obj = {
2336 - 'name': e2pdfLang['Size'],
2337 - 'key': 'text_font_size',
3499 + 'name': e2pdf.lang.get('Font Size'),
2338 3500 'type': 'select',
2339 - 'value': value,
2340 - 'options': options,
2341 - 'atts': []
3501 + 'value': e2pdf.helper.getString(properties[field]),
3502 + 'options': e2pdf.helper.font.sizes(field, properties)
2342 3503 };
2343 3504 break;
2344 3505 case 'text_line_height':
2345 - var options = [];
2346 - var value = '';
2347 - if (properties['text_line_height']) {
2348 - value = properties['text_line_height'];
2349 - }
2350 -
2351 - var option = {};
2352 - option[''] = '-';
2353 - options.push(option);
2354 -
2355 - jQuery('#e2pdf-line-height').find('option').each(function () {
2356 - var option = {};
2357 - option[jQuery(this).attr('value')] = jQuery(this).html();
2358 - options.push(option);
2359 - });
2360 -
2361 3506 obj = {
2362 - 'name': e2pdfLang['Line Height'],
2363 - 'key': 'text_line_height',
3507 + 'name': e2pdf.lang.get('Line Height'),
2364 3508 'type': 'select',
2365 - 'value': value,
2366 - 'options': options,
2367 - 'atts': []
3509 + 'value': e2pdf.helper.getString(properties[field]),
3510 + 'options': e2pdf.helper.font.lines(field)
2368 3511 };
2369 3512 break;
3513 + case 'text_letter_spacing':
3514 + obj = {
3515 + 'name': e2pdf.lang.get('Char Spacing'),
3516 + 'type': 'text',
3517 + 'value': e2pdf.helper.getFloat(properties[field]),
3518 + 'atts': ['number']
3519 + };
3520 + break;
2370 3521 case 'z_index':
2371 - var value = properties['z_index'];
2372 3522 obj = {
2373 - 'name': e2pdfLang['Z-index'],
2374 - 'key': 'z_index',
3523 + 'name': 'Z-index',
2375 3524 'type': 'text',
2376 - 'value': value,
2377 - 'atts': ['number']
3525 + 'value': e2pdf.helper.getInt(properties[field]),
3526 + 'atts': ['number', 'number-negative']
2378 3527 };
2379 3528 break;
2380 3529 case 'background':
2381 - var value = properties['background'];
2382 3530 obj = {
2383 - 'name': e2pdfLang['Background'],
3531 + 'name': e2pdf.lang.get('Background'),
2384 3532 'key': 'background',
2385 3533 'type': 'color',
2386 - 'value': value,
2387 - 'atts': []
3534 + 'value': e2pdf.helper.getString(properties[field])
2388 3535 };
2389 3536 break;
2390 3537 case 'border':
2391 - var value = properties['border'];
2392 3538 obj = {
2393 - 'name': e2pdfLang['Border'],
2394 - 'key': 'border',
3539 + 'name': e2pdf.lang.get('Border'),
2395 3540 'type': 'text',
2396 - 'value': value,
3541 + 'value': e2pdf.helper.getInt(properties[field]),
2397 3542 'atts': ['number']
2398 3543 };
2399 3544 break;
2400 3545 case 'border_top':
2401 - var value = properties['border_top'];
2402 3546 obj = {
2403 - 'name': e2pdfLang['Top'],
2404 - 'key': 'border_top',
3547 + 'name': e2pdf.lang.get('Border Top'),
2405 3548 'type': 'text',
2406 - 'value': value,
3549 + 'value': e2pdf.helper.getInt(properties[field]),
2407 3550 'atts': ['number']
2408 3551 };
2409 3552 break;
2410 3553 case 'border_left':
2411 - var value = properties['border_left'];
2412 3554 obj = {
2413 - 'name': e2pdfLang['Left'],
2414 - 'key': 'border_left',
3555 + 'name': e2pdf.lang.get('Border Left'),
2415 3556 'type': 'text',
2416 - 'value': value,
3557 + 'value': e2pdf.helper.getInt(properties[field]),
2417 3558 'atts': ['number']
2418 3559 };
2419 3560 break;
2420 3561 case 'border_right':
2421 - var value = properties['border_right'];
2422 3562 obj = {
2423 - 'name': e2pdfLang['Right'],
2424 - 'key': 'border_right',
3563 + 'name': e2pdf.lang.get('Border Right'),
2425 3564 'type': 'text',
2426 - 'value': value,
3565 + 'value': e2pdf.helper.getInt(properties[field]),
2427 3566 'atts': ['number']
2428 3567 };
2429 3568 break;
2430 3569 case 'border_bottom':
2431 - var value = properties['border_bottom'];
2432 3570 obj = {
2433 - 'name': e2pdfLang['Bottom'],
2434 - 'key': 'border_bottom',
3571 + 'name': e2pdf.lang.get('Border Bottom'),
2435 3572 'type': 'text',
2436 - 'value': value,
3573 + 'value': e2pdf.helper.getInt(properties[field]),
2437 3574 'atts': ['number']
2438 3575 };
2439 3576 break;
3577 + case 'border_radius':
3578 + obj = {
3579 + 'name': e2pdf.lang.get('Border Radius'),
3580 + 'type': 'text',
3581 + 'value': e2pdf.helper.getInt(properties[field]),
3582 + 'atts': ['number']
3583 + };
3584 + break;
2440 3585 case 'border_color':
2441 - var value = properties['border_color'];
2442 3586 obj = {
2443 - 'name': e2pdfLang['Color'],
2444 - 'key': 'border_color',
3587 + 'name': e2pdf.lang.get('Border Color'),
2445 3588 'type': 'color',
2446 - 'value': value ? value : "#000000",
3589 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2447 3590 };
2448 3591 break;
2449 3592 case 'padding_top':
2450 - var value = properties['padding_top'];
2451 3593 obj = {
2452 - 'name': e2pdfLang['Top'],
2453 - 'key': 'padding_top',
3594 + 'name': e2pdf.lang.get('Padding Top'),
2454 3595 'type': 'text',
2455 - 'value': value,
3596 + 'value': e2pdf.helper.getInt(properties[field]),
2456 3597 'atts': ['number']
2457 3598 };
2458 3599 break;
2459 3600 case 'padding_left':
2460 - var value = properties['padding_left'];
2461 3601 obj = {
2462 - 'name': e2pdfLang['Left'],
2463 - 'key': 'padding_left',
3602 + 'name': e2pdf.lang.get('Padding Left'),
2464 3603 'type': 'text',
2465 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2466 3605 'atts': ['number']
2467 3606 };
2468 3607 break;
2469 3608 case 'padding_right':
2470 - var value = properties['padding_right'];
2471 3609 obj = {
2472 - 'name': e2pdfLang['Right'],
2473 - 'key': 'padding_right',
3610 + 'name': e2pdf.lang.get('Padding Right'),
2474 3611 'type': 'text',
2475 - 'value': value,
3612 + 'value': e2pdf.helper.getInt(properties[field]),
2476 3613 'atts': ['number']
2477 3614 };
2478 3615 break;
2479 3616 case 'padding_bottom':
2480 - var value = properties['padding_bottom'];
2481 3617 obj = {
2482 - 'name': e2pdfLang['Bottom'],
2483 - 'key': 'padding_bottom',
3618 + 'name': e2pdf.lang.get('Padding Bottom'),
2484 3619 'type': 'text',
2485 - 'value': value,
3620 + 'value': e2pdf.helper.getInt(properties[field]),
2486 3621 'atts': ['number']
2487 3622 };
2488 3623 break;
3624 + case 'margin_top':
3625 + obj = {
3626 + 'name': e2pdf.lang.get('Margin Top'),
3627 + 'type': 'text',
3628 + 'value': e2pdf.helper.getInt(properties[field]),
3629 + 'atts': ['number']
3630 + };
3631 + if (el.data('data-type') == 'e2pdf-barcode') {
3632 + obj.atts.push('keep');
3633 + }
3634 + break;
3635 + case 'margin_left':
3636 + obj = {
3637 + 'name': e2pdf.lang.get('Margin Left'),
3638 + 'type': 'text',
3639 + 'value': e2pdf.helper.getInt(properties[field]),
3640 + 'atts': ['number']
3641 + };
3642 + if (el.data('data-type') == 'e2pdf-barcode') {
3643 + obj.atts.push('keep');
3644 + }
3645 + break;
3646 + case 'margin_right':
3647 + obj = {
3648 + 'name': e2pdf.lang.get('Margin Right'),
3649 + 'type': 'text',
3650 + 'value': e2pdf.helper.getInt(properties[field]),
3651 + 'atts': ['number']
3652 + };
3653 + if (el.data('data-type') == 'e2pdf-barcode') {
3654 + obj.atts.push('keep');
3655 + }
3656 + break;
3657 + case 'margin_bottom':
3658 + obj = {
3659 + 'name': e2pdf.lang.get('Margin Bottom'),
3660 + 'type': 'text',
3661 + 'value': e2pdf.helper.getInt(properties[field]),
3662 + 'atts': ['number']
3663 + };
3664 + if (el.data('data-type') == 'e2pdf-barcode') {
3665 + obj.atts.push('keep');
3666 + }
3667 + break;
2489 3668 case 'length':
2490 - var value = properties['length'];
2491 3669 obj = {
2492 - 'name': e2pdfLang['Length'],
2493 - 'key': 'length',
3670 + 'name': e2pdf.lang.get('Length'),
2494 3671 'type': 'text',
2495 - 'value': value,
3672 + 'value': e2pdf.helper.getInt(properties[field]),
2496 3673 'atts': ['number']
2497 3674 };
2498 3675 break;
2499 3676 case 'comb':
2500 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2501 3677 obj = {
2502 - 'name': e2pdfLang['Comb'],
2503 - 'key': 'comb',
3678 + 'name': e2pdf.lang.get('Comb'),
2504 3679 'type': 'checkbox',
2505 - 'option': 1,
2506 - 'value': value,
2507 - 'atts': []
3680 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3681 + 'option': '1'
2508 3682 };
2509 3683 break;
2510 3684 case 'rtl':
2511 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2512 3685 obj = {
2513 - 'name': e2pdfLang['RTL'],
2514 - 'key': 'rtl',
2515 - 'type': 'checkbox',
2516 - 'option': 1,
2517 - 'value': value,
2518 - 'atts': []
3686 + 'name': e2pdf.lang.get('Direction'),
3687 + 'type': 'select',
3688 + 'value': e2pdf.helper.getString(properties[field]),
3689 + 'options':
3690 + [
3691 + {'': '-'},
3692 + {'0': 'LTR'},
3693 + {'1': 'RTL'}
3694 + ]
2519 3695 };
2520 3696 break;
2521 3697 case 'required':
2522 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2523 3698 obj = {
2524 - 'name': e2pdfLang['Required'],
2525 - 'key': 'required',
3699 + 'name': e2pdf.lang.get('Required'),
2526 3700 'type': 'checkbox',
2527 - 'option': 1,
2528 - 'value': value,
2529 - 'atts': []
3701 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3702 + 'option': '1'
2530 3703 };
2531 3704 break;
2532 3705 case 'readonly':
2533 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2534 3706 obj = {
2535 - 'name': e2pdfLang['Readonly'],
2536 - 'key': 'readonly',
3707 + 'name': e2pdf.lang.get('Read-Only'),
2537 3708 'type': 'checkbox',
2538 - 'option': 1,
2539 - 'value': value,
2540 - 'atts': []
3709 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3710 + 'option': '1'
2541 3711 };
2542 3712 break;
2543 3713 case 'pass':
2544 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2545 3714 obj = {
2546 - 'name': e2pdfLang['Password'],
2547 - 'key': 'pass',
3715 + 'name': e2pdf.lang.get('Password'),
2548 3716 'type': 'checkbox',
2549 - 'option': 1,
2550 - 'value': value,
2551 - 'atts': []
3717 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3718 + 'option': '1'
2552 3719 };
2553 3720 break;
2554 3721 case 'multiline':
2555 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2556 3722 obj = {
2557 - 'name': e2pdfLang['Multiline'],
2558 - 'key': 'multiline',
3723 + 'name': e2pdf.lang.get('Multiline'),
2559 3724 'type': 'checkbox',
2560 - 'option': 1,
2561 - 'value': value,
3725 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3726 + 'option': '1'
3727 + };
3728 + break;
3729 + case 'dimension':
3730 + obj = {
3731 + 'name': e2pdf.lang.get('Keep Image Ratio'),
3732 + 'type': 'checkbox',
3733 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3734 + 'option': '1'
3735 + };
3736 + break;
3737 + case 'block_dimension':
3738 + obj = {
3739 + 'name': e2pdf.lang.get('Lock Aspect Ratio'),
3740 + 'type': 'checkbox',
3741 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3742 + 'option': '1',
2562 3743 'atts': []
2563 3744 };
3745 + if (el.data('data-type') === 'e2pdf-image') {
3746 + obj.atts.push('keep');
3747 + }
2564 3748 break;
2565 - case 'dimension':
2566 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3749 + case 'keep_lower_size':
2567 3750 obj = {
2568 - 'name': e2pdfLang['Keep dimension'],
2569 - 'key': 'dimension',
3751 + 'name': e2pdf.lang.get('Keep Lower Size'),
2570 3752 'type': 'checkbox',
2571 - 'option': 1,
3753 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3754 + 'option': '1'
3755 + };
3756 + break;
3757 + case 'fill_image':
3758 + obj = {
3759 + 'name': e2pdf.lang.get('Fill Image'),
3760 + 'type': 'checkbox',
3761 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3762 + 'option': '1'
3763 + };
3764 + break;
3765 + case 'pdf_page':
3766 + obj = {
3767 + 'name': e2pdf.lang.get('Page'),
3768 + 'type': 'text',
3769 + 'value': e2pdf.helper.getInt(properties[field]),
3770 + 'atts': ['number']
3771 + };
3772 + break;
3773 + case 'pdf_resample':
3774 + var value = e2pdf.helper.getString(properties[field], '-1');
3775 + if (value == '100') {
3776 + value = '150';
3777 + }
3778 + obj = {
3779 + 'name': e2pdf.lang.get('Resolution'),
3780 + 'type': 'select',
2572 3781 'value': value,
2573 - 'atts': []
3782 + 'options':
3783 + [
3784 + {'-1': e2pdf.lang.get('Auto')},
3785 + {'72': '72dpi'},
3786 + {'125': '90dpi'},
3787 + {'150': '108dpi'},
3788 + {'175': '126dpi'},
3789 + {'200': '144dpi'}
3790 + ]
2574 3791 };
2575 3792 break;
3793 + case 'pdf_append':
3794 + obj = {
3795 + 'name': e2pdf.lang.get('Append'),
3796 + 'type': 'select',
3797 + 'value': e2pdf.helper.getString(properties[field], 'vertical'),
3798 + 'options':
3799 + [
3800 + {'vertical': e2pdf.lang.get('Vertical')},
3801 + {'horizontal': e2pdf.lang.get('Horizontal')},
3802 + {'grid': e2pdf.lang.get('Grid')}
3803 + ]
3804 + };
3805 + break;
3806 + case 'pdf_space':
3807 + obj = {
3808 + 'name': e2pdf.lang.get('Space'),
3809 + 'type': 'text',
3810 + 'value': e2pdf.helper.getInt(properties[field]),
3811 + 'atts': ['number']
3812 + };
3813 + break;
3814 + case 'pdf_border':
3815 + obj = {
3816 + 'name': e2pdf.lang.get('Border'),
3817 + 'type': 'text',
3818 + 'value': e2pdf.helper.getInt(properties[field]),
3819 + 'atts': ['number']
3820 + };
3821 + break;
3822 + case 'hl':
3823 + obj = {
3824 + 'name': e2pdf.lang.get('Hide Label'),
3825 + 'type': 'checkbox',
3826 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3827 + 'option': '1'
3828 + };
3829 + break;
3830 + case 'only_image':
3831 + obj = {
3832 + 'name': e2pdf.lang.get('Disable Text to Image'),
3833 + 'type': 'checkbox',
3834 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3835 + 'option': '1'
3836 + };
3837 + break;
2576 3838 case 'esig':
2577 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2578 3839 obj = {
2579 - 'name': e2pdfLang['E-signature'],
2580 - 'key': 'esig',
3840 + 'name': e2pdf.lang.get('E-Signature'),
2581 3841 'type': 'checkbox',
2582 - 'option': 1,
2583 - 'value': value,
2584 - 'atts': []
3842 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3843 + 'option': '1'
2585 3844 };
2586 3845 break;
2587 3846 case 'esig_contact':
2588 - var value = properties['esig_contact'];
2589 3847 obj = {
2590 - 'name': e2pdfLang['Contact'],
2591 - 'key': 'esig_contact',
3848 + 'name': e2pdf.lang.get('Contact'),
2592 3849 'type': 'text',
2593 - 'value': value,
2594 - 'atts': []
3850 + 'value': e2pdf.helper.getString(properties[field])
2595 3851 };
2596 3852 break;
2597 3853 case 'esig_location':
2598 - var value = properties['esig_location'];
2599 3854 obj = {
2600 - 'name': e2pdfLang['Location'],
2601 - 'key': 'esig_location',
3855 + 'name': e2pdf.lang.get('Location'),
2602 3856 'type': 'text',
2603 - 'value': value,
2604 - 'atts': []
3857 + 'value': e2pdf.helper.getString(properties[field])
2605 3858 };
2606 3859 break;
2607 3860 case 'esig_reason':
2608 - var value = properties['esig_reason'];
2609 3861 obj = {
2610 - 'name': e2pdfLang['Reason'],
2611 - 'key': 'esig_reason',
3862 + 'name': e2pdf.lang.get('Reason'),
2612 3863 'type': 'text',
2613 - 'value': value,
2614 - 'atts': []
3864 + 'value': e2pdf.helper.getString(properties[field])
2615 3865 };
2616 3866 break;
2617 3867 case 'placeholder':
2618 - var value = properties['placeholder'];
2619 3868 obj = {
2620 - 'name': e2pdfLang['Placeholder'],
2621 - 'key': 'placeholder',
3869 + 'name': e2pdf.lang.get('Placeholder'),
2622 3870 'type': 'text',
2623 - 'value': value,
2624 - 'atts': []
3871 + 'value': e2pdf.helper.getString(properties[field])
2625 3872 };
2626 3873 break;
2627 3874 case 'horizontal':
2628 - var value = properties['horizontal'];
2629 3875 obj = {
2630 - 'name': e2pdfLang['Horizontal align'],
2631 - 'key': 'horizontal',
3876 + 'name': e2pdf.lang.get('Horizontal Align'),
2632 3877 'type': 'select',
2633 - 'value': value,
3878 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2634 3879 'options':
2635 3880 [
2636 - {'left': e2pdfLang['Left']},
2637 - {'center': e2pdfLang['Center']},
2638 - {'right': e2pdfLang['Right']},
3881 + {'left': e2pdf.lang.get('Left')},
3882 + {'center': e2pdf.lang.get('Center')},
3883 + {'right': e2pdf.lang.get('Right')}
2639 3884 ]
2640 - ,
2641 - 'atts': []
2642 3885 };
2643 3886 break;
2644 3887 case 'vertical':
2645 - var value = properties['vertical'];
2646 3888 obj = {
2647 - 'name': e2pdfLang['Vertical align'],
2648 - 'key': 'vertical',
3889 + 'name': e2pdf.lang.get('Vertical Align'),
2649 3890 'type': 'select',
2650 - 'value': value,
3891 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2651 3892 'options':
2652 3893 [
2653 - {'top': e2pdfLang['Top']},
2654 - {'middle': e2pdfLang['Middle']},
2655 - {'bottom': e2pdfLang['Bottom']},
3894 + {'top': e2pdf.lang.get('Top')},
3895 + {'middle': e2pdf.lang.get('Middle')},
3896 + {'bottom': e2pdf.lang.get('Bottom')}
2656 3897 ]
2657 - ,
2658 - 'atts': []
2659 3898 };
2660 3899 break;
2661 3900 case 'scale':
2662 - var value = properties['scale'];
2663 3901 obj = {
2664 - 'name': e2pdfLang['Scale'],
2665 - 'key': 'scale',
3902 + 'name': e2pdf.lang.get('Scale'),
2666 3903 'type': 'select',
2667 - 'value': value,
3904 + 'value': e2pdf.helper.getString(properties[field], '0'),
2668 3905 'options':
2669 3906 [
2670 - {'0': e2pdfLang['Width&Height']},
2671 - {'1': e2pdfLang['Width']},
2672 - {'2': e2pdfLang['Height']},
3907 + {'0': e2pdf.lang.get('Auto')},
3908 + {'1': e2pdf.lang.get('Width&Height')},
3909 + {'2': e2pdf.lang.get('Width')},
3910 + {'3': e2pdf.lang.get('Height')}
2673 3911 ]
2674 3912 ,
2675 3913 'atts': ['scale']
2676 3914 };
@@ -2675,56 +3913,162 @@
2675 3913 'atts': ['scale']
2676 3914 };
2677 3915 break;
2678 3916 case 'text_align':
2679 - var value = properties['text_align'];
2680 3917 obj = {
2681 - 'name': e2pdfLang['Text Align'],
2682 - 'key': 'text_align',
3918 + 'name': e2pdf.lang.get('Text Align'),
2683 3919 'type': 'select',
2684 - 'value': value,
3920 + 'value': e2pdf.helper.getString(properties[field]),
2685 3921 'options':
2686 3922 [
2687 - {'left': e2pdfLang['Left']},
2688 - {'center': e2pdfLang['Center']},
2689 - {'right': e2pdfLang['Right']},
3923 + {'': '-'},
3924 + {'left': e2pdf.lang.get('Left')},
3925 + {'center': e2pdf.lang.get('Center')},
3926 + {'right': e2pdf.lang.get('Right')}
2690 3927 ]
2691 - ,
2692 - 'atts': []
2693 3928 };
3929 + if (el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
3930 + obj.options.push(
3931 + {'justify': e2pdf.lang.get('Justify')},
3932 + {'justify-all': e2pdf.lang.get('Justify All')}
3933 + );
3934 + }
2694 3935 break;
3936 + case 'page_number':
3937 + obj = {
3938 + 'name': e2pdf.lang.get('Adjust Page Number'),
3939 + 'type': 'text',
3940 + 'value': e2pdf.helper.getInt(properties[field]),
3941 + 'atts': ['number', 'number-negative']
3942 + };
3943 + break;
3944 + case 'page_total':
3945 + obj = {
3946 + 'name': e2pdf.lang.get('Adjust Page Total'),
3947 + 'type': 'text',
3948 + 'value': e2pdf.helper.getInt(properties[field]),
3949 + 'atts': ['number', 'number-negative']
3950 + };
3951 + break;
3952 + case 'precision':
3953 + obj = {
3954 + 'name': e2pdf.lang.get('Precision'),
3955 + 'type': 'select',
3956 + 'value': e2pdf.helper.getString(properties[field], 'qrl'),
3957 + 'options':
3958 + [
3959 + {'qrl': e2pdf.lang.get('L - Smallest')},
3960 + {'qrm': e2pdf.lang.get('M - Medium')},
3961 + {'qrq': e2pdf.lang.get('Q - High')},
3962 + {'qrh': e2pdf.lang.get('H - Best')}
3963 + ]
3964 + };
3965 + break;
3966 + case 'wq':
3967 + obj = {
3968 + 'name': e2pdf.lang.get('Quiet Zone Size'),
3969 + 'type': 'text',
3970 + 'value': e2pdf.helper.getInt(properties[field]),
3971 + 'atts': ['number', 'keep']
3972 + };
3973 + break;
3974 + case 'format':
3975 + obj = {
3976 + 'name': e2pdf.lang.get('Format'),
3977 + 'type': 'select',
3978 + 'value': e2pdf.helper.getString(properties[field], 'upc-a'),
3979 + 'options':
3980 + [
3981 + {'upc-a': 'UPC-A'},
3982 + {'upc-e': 'UPC-E'},
3983 + {'ean-8': 'EAN-8'},
3984 + {'ean-13': 'EAN-13'},
3985 + {'ean-13-pad': 'EAN-13 PAD'},
3986 + {'ean-13-nopad': 'EAN-13 NOPAD'},
3987 + {'ean-128': 'EAN-128'},
3988 + {'code-39': 'CODE-39'},
3989 + {'code-39-ascii': 'CODE-39 ASCII'},
3990 + {'code-93': 'CODE-93'},
3991 + {'code-93-ascii': 'CODE-93 ASCII'},
3992 + {'code-128': 'CODE-128'},
3993 + {'codabar': 'CODEBAR'},
3994 + {'itf': 'ITF'},
3995 + {'dmtx': 'DMTX'},
3996 + {'dmtx-s': 'DMTX S'},
3997 + {'dmtx-r': 'DMTX R'},
3998 + {'gs1-dmtx': 'GS1 DMTX'},
3999 + {'gs1-dmtx-s': 'GS1 DMTX S'},
4000 + {'gs1-dmtx-r': 'GS1 DMTX R'}
4001 + ]
4002 + };
4003 + break;
4004 + case 'rotation':
4005 + obj = {
4006 + 'name': e2pdf.lang.get('Rotation'),
4007 + 'type': 'select',
4008 + 'value': e2pdf.helper.getString(properties[field], '0'),
4009 + 'options':
4010 + [
4011 + {'0': '0'},
4012 + {'90': '90'},
4013 + {'180': '180'},
4014 + {'270': '270'}
4015 + ]
4016 + };
4017 + break;
4018 + case 'quality':
4019 + obj = {
4020 + 'name': e2pdf.lang.get('Optimization'),
4021 + 'type': 'select',
4022 + 'value': e2pdf.helper.getInt(properties[field], '0'),
4023 + 'options':
4024 + [
4025 + {'0': e2pdf.lang.get('Inherit')},
4026 + {'-1': e2pdf.lang.get('Not Optimized')},
4027 + {'1': e2pdf.lang.get('Low Quality')},
4028 + {'2': e2pdf.lang.get('Basic Quality')},
4029 + {'3': e2pdf.lang.get('Good Quality')},
4030 + {'4': e2pdf.lang.get('Best Quality')},
4031 + {'5': e2pdf.lang.get('Ultra Quality')},
4032 + ]
4033 + };
4034 + break;
4035 + case 'opacity':
4036 + obj = {
4037 + 'name': e2pdf.lang.get('Opacity'),
4038 + 'type': 'text',
4039 + 'value': e2pdf.helper.getFloat(properties[field]),
4040 + 'atts': ['number', 'keep']
4041 + };
4042 + break;
2695 4043 case 'parent':
2696 - var value = properties['parent'];
2697 - var source = [
4044 + var options = [
4045 + {'': e2pdf.lang.get('--- Select ---')}
2698 4046 ];
2699 4047 if (el.data('data-type') === 'e2pdf-html') {
2700 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
4048 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2701 4049 if (!jQuery(this).is(children)) {
2702 4050 var parent = jQuery(this).parent().attr('data-element_id');
2703 - if (source.indexOf(parent) === -1) {
2704 - source.push(parent);
2705 - }
4051 + options.push({[parent]: parent});
2706 4052 }
2707 4053 });
2708 4054 }
2709 -
4055 + options.sort(function (a, b) {
4056 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
4057 + });
2710 4058 obj = {
2711 - 'name': e2pdfLang['Parent'],
2712 - 'key': 'parent',
2713 - 'type': 'text',
2714 - 'value': value,
2715 - 'source': source,
2716 - 'atts': ['autocomplete']
4059 + 'name': e2pdf.lang.get('Parent'),
4060 + 'type': 'select',
4061 + 'value': e2pdf.helper.getString(properties[field]),
4062 + 'options': options
2717 4063 };
2718 4064 break;
2719 4065 case 'group':
2720 - var value = properties['group'];
2721 - var source = [
2722 - ];
2723 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
4066 + var source = [];
4067 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2724 4068 if (!jQuery(this).is(children)) {
2725 4069 var radio = jQuery(this).parent();
2726 - var group = e2pdf.properties.getValue(radio, 'group');
4070 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2727 4071 if (source.indexOf(group) === -1) {
2728 4072 source.push(group);
2729 4073 }
2730 4074 }
@@ -2729,628 +4073,3042 @@
2729 4073 }
2730 4074 }
2731 4075 });
2732 4076 obj = {
2733 - 'name': e2pdfLang['Group'],
2734 - 'key': 'group',
4077 + 'name': e2pdf.lang.get('Group'),
2735 4078 'type': 'text',
2736 - 'value': value,
4079 + 'value': e2pdf.helper.getString(properties[field]),
2737 4080 'source': source,
2738 4081 'atts': ['autocomplete']
2739 4082 };
2740 4083 break;
2741 4084 case 'option':
2742 - var value = properties['option'];
2743 4085 obj = {
2744 - 'name': e2pdfLang['Option'],
2745 - 'key': 'option',
4086 + 'name': e2pdf.lang.get('Option'),
2746 4087 'type': 'textarea',
2747 - 'value': value,
2748 - 'atts': []
4088 + 'value': e2pdf.helper.getString(properties[field])
2749 4089 };
2750 4090 break;
2751 4091 case 'options':
2752 - var value = properties['options'];
2753 4092 obj = {
2754 - 'name': e2pdfLang['Options'],
2755 - 'key': 'options',
4093 + 'name': e2pdf.lang.get('Options'),
2756 4094 'type': 'textarea',
2757 - 'value': value,
2758 - 'atts': []
4095 + 'value': e2pdf.helper.getString(properties[field])
2759 4096 };
2760 4097 break;
2761 4098 case 'value':
2762 - value = '';
2763 4099 if (el.data('data-type') === 'e2pdf-html') {
2764 - value = children.html();
4100 + if (children.is('textarea')) {
4101 + var value = children.val();
4102 + } else {
4103 + var value = children.html();
4104 + }
2765 4105 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2766 - value = children.val();
4106 + var value = children.val();
2767 4107 } else {
2768 - value = properties['value'];
4108 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2769 4109 }
2770 -
4110 + var name = e2pdf.lang.get('Value');
4111 + if (el.data('data-type') === 'e2pdf-image') {
4112 + name = e2pdf.lang.get('Image');
4113 + } else if (el.data('data-type') === 'e2pdf-link') {
4114 + name = e2pdf.lang.get('Link URL');
4115 + }
2771 4116 obj = {
2772 - 'name': e2pdfLang['Value'],
2773 - 'key': 'value',
4117 + 'name': name,
2774 4118 'type': 'textarea',
2775 - 'value': value,
2776 - 'atts': []
4119 + 'value': value
2777 4120 };
2778 4121 break;
4122 + case 'css':
4123 + obj = {
4124 + 'name': 'CSS',
4125 + 'type': 'textarea',
4126 + 'value': e2pdf.helper.getString(properties[field])
4127 + };
4128 + break;
2779 4129 case 'preset':
2780 - var value = '';
2781 4130 var options = [];
2782 4131 var option = {
2783 - '': e2pdfLang['--- Select ---']
4132 + '': e2pdf.lang.get('--- Select ---')
2784 4133 };
2785 4134 options.push(option);
2786 -
2787 - for (var size in e2pdfTemplateSizes) {
4135 + for (var size in e2pdf_params['template_sizes']) {
2788 4136 var option = {};
2789 - option[size] = size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')';
4137 + option[size] = size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')';
2790 4138 options.push(option);
2791 4139 }
2792 -
2793 4140 obj = {
2794 - 'name': e2pdfLang['Size Preset'],
2795 - 'key': 'preset',
4141 + 'name': e2pdf.lang.get('Size'),
2796 4142 'type': 'select',
2797 - 'value': value,
4143 + 'value': '',
2798 4144 'options': options,
2799 - 'atts': [],
4145 + 'atts': [
4146 + 'uneditable'
4147 + ]
2800 4148 };
2801 -
2802 4149 if (e2pdf.pdf.settings.get('pdf')) {
2803 4150 obj.atts.push('disabled');
2804 4151 }
2805 -
2806 4152 break;
2807 4153 case 'highlight':
2808 - var value = properties['highlight'];
2809 4154 obj = {
2810 - 'name': e2pdfLang['Highlight'],
2811 - 'key': 'highlight',
4155 + 'name': e2pdf.lang.get('Highlight'),
2812 4156 'type': 'select',
2813 - 'value': value,
4157 + 'value': e2pdf.helper.getString(properties[field], 'none'),
2814 4158 'options': [
2815 - {'none': e2pdfLang['None']},
2816 - {'invert': e2pdfLang['Invert']},
2817 - {'outline': e2pdfLang['Outline']},
2818 - {'push': e2pdfLang['Push']},
2819 - ],
2820 - 'atts': []
4159 + {'none': e2pdf.lang.get('None')},
4160 + {'invert': e2pdf.lang.get('Invert')},
4161 + {'outline': e2pdf.lang.get('Outline')},
4162 + {'push': e2pdf.lang.get('Push')}
4163 + ]
2821 4164 };
2822 4165 break;
4166 + case 'link_url':
4167 + obj = {
4168 + 'name': e2pdf.lang.get('Link URL'),
4169 + 'type': 'text',
4170 + 'value': e2pdf.helper.getString(properties[field], ''),
4171 + };
4172 + break;
4173 + case 'link_type':
4174 + obj = {
4175 + 'name': e2pdf.lang.get('Link Type'),
4176 + 'type': 'select',
4177 + 'value': e2pdf.helper.getString(properties[field], ''),
4178 + 'options': [
4179 + {'': e2pdf.lang.get('Url')},
4180 + {'attachment': e2pdf.lang.get('Attachment')},
4181 + ]
4182 + };
4183 + break;
4184 + case 'link_label':
4185 + obj = {
4186 + 'name': e2pdf.lang.get('Link Label'),
4187 + 'type': 'text',
4188 + 'value': e2pdf.helper.getString(properties[field], ''),
4189 + };
4190 + break;
4191 + case 'underline':
4192 + obj = {
4193 + 'name': e2pdf.lang.get('Underline'),
4194 + 'type': 'checkbox',
4195 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4196 + 'option': '1'
4197 + };
4198 + break;
4199 + case 'underline':
4200 + obj = {
4201 + 'name': e2pdf.lang.get('Underline'),
4202 + 'type': 'checkbox',
4203 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4204 + 'option': '1'
4205 + };
4206 + break;
4207 + case 'preg_pattern':
4208 + obj = {
4209 + 'name': e2pdf.lang.get('Preg Replace Pattern'),
4210 + 'type': 'text',
4211 + 'value': e2pdf.helper.getString(properties[field])
4212 + };
4213 + break;
4214 + case 'preg_replacement':
4215 + obj = {
4216 + 'name': e2pdf.lang.get('Preg Replace Replacement'),
4217 + 'type': 'text',
4218 + 'value': e2pdf.helper.getString(properties[field])
4219 + };
4220 + break;
4221 + case 'preg_match_all_pattern':
4222 + obj = {
4223 + 'name': e2pdf.lang.get('Preg Match All Pattern'),
4224 + 'type': 'text',
4225 + 'value': e2pdf.helper.getString(properties[field])
4226 + };
4227 + break;
4228 + case 'preg_match_all_output':
4229 + obj = {
4230 + 'name': e2pdf.lang.get('Preg Match All Output'),
4231 + 'type': 'text',
4232 + 'value': e2pdf.helper.getString(properties[field])
4233 + };
4234 + break;
4235 + case 'css_priority':
4236 + obj = {
4237 + 'name': e2pdf.lang.get('CSS Priority'),
4238 + 'type': 'checkbox',
4239 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4240 + 'option': '1'
4241 + };
4242 + break;
4243 + case 'css_style':
4244 + var options = [];
4245 + var option = {
4246 + '': '--- ' + e2pdf.lang.get('CSS Style') + ' ---'
4247 + };
4248 + options.push(option);
4249 + e2pdf_params['css_styles'].forEach(function (css_style) {
4250 + var option = {};
4251 + option[css_style] = css_style;
4252 + options.push(option);
4253 + });
4254 + obj = {
4255 + 'name': e2pdf.lang.get('CSS Style'),
4256 + 'type': 'select',
4257 + 'value': e2pdf.helper.getString(properties[field], ''),
4258 + 'options': options
4259 + };
4260 + break;
4261 + case 'html_worker':
4262 + obj = {
4263 + 'name': 'HTML Worker',
4264 + 'type': 'select',
4265 + 'value': e2pdf.helper.getString(properties[field], ''),
4266 + 'options': [
4267 + {'': 'HTML Worker: v1'},
4268 + {'1': 'HTML Worker: v2'},
4269 + {'3': 'HTML Worker: v3 (BETA)'}
4270 + ]
4271 + };
4272 + break;
4273 + case 'wysiwyg_disable':
4274 + obj = {
4275 + 'name': e2pdf.lang.get('Disable WYSIWYG Editor'),
4276 + 'type': 'checkbox',
4277 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4278 + 'option': '1'
4279 + };
4280 + break;
4281 + case 'g_type':
4282 + obj = {
4283 + 'name': e2pdf.lang.get('Type'),
4284 + 'type': 'select',
4285 + 'value': e2pdf.helper.getString(properties[field], 'BarGraph'),
4286 + 'options':
4287 + [
4288 + {'BarGraph': 'BarGraph'},
4289 + {'Bar3DGraph': 'Bar3DGraph'},
4290 + {'BarAndLineGraph': 'BarAndLineGraph'},
4291 + {'BoxAndWhiskerGraph': 'BoxAndWhiskerGraph'},
4292 + {'BubbleGraph': 'BubbleGraph'},
4293 + {'CylinderGraph': 'CylinderGraph'},
4294 + {'CandlestickGraph': 'CandlestickGraph'},
4295 + {'DonutGraph': 'DonutGraph'},
4296 + {'Donut3DGraph': 'Donut3DGraph'},
4297 + {'ExplodedPieGraph': 'ExplodedPieGraph'},
4298 + {'ExplodedPie3DGraph': 'ExplodedPie3DGraph'},
4299 + {'ExplodedDonutGraph': 'ExplodedDonutGraph'},
4300 + {'ExplodedDonut3DGraph': 'ExplodedDonut3DGraph'},
4301 + {'ExplodedSemiDonutGraph': 'ExplodedSemiDonutGraph'},
4302 + {'ExplodedSemiDonut3DGraph': 'ExplodedSemiDonut3DGraph'},
4303 + {'FloatingBarGraph': 'FloatingBarGraph'},
4304 + {'GroupedBarGraph': 'GroupedBarGraph'},
4305 + {'GroupedBar3DGraph': 'GroupedBar3DGraph'},
4306 + {'GroupedCylinderGraph': 'GroupedCylinderGraph'},
4307 + {'Histogram': 'Histogram'},
4308 + {'HorizontalBarGraph': 'HorizontalBarGraph'},
4309 + {'HorizontalBar3DGraph': 'HorizontalBar3DGraph'},
4310 + {'HorizontalStackedBarGraph': 'HorizontalStackedBarGraph'},
4311 + {'HorizontalStackedBar3DGraph': 'HorizontalStackedBar3DGraph'},
4312 + {'HorizontalGroupedBarGraph': 'HorizontalGroupedBarGraph'},
4313 + {'HorizontalGroupedBar3DGraph': 'HorizontalGroupedBar3DGraph'},
4314 + {'HorizontalFloatingBarGraph': 'HorizontalFloatingBarGraph'},
4315 + {'LineGraph': 'LineGraph'},
4316 + {'MultiLineGraph': 'MultiLineGraph'},
4317 + {'MultiRadarGraph': 'MultiRadarGraph'},
4318 + {'MultiScatterGraph': 'MultiScatterGraph'},
4319 + {'MultiSteppedLineGraph': 'MultiSteppedLineGraph'},
4320 + {'ParetoChart': 'ParetoChart'},
4321 + {'PieGraph': 'PieGraph'},
4322 + {'Pie3DGraph': 'Pie3DGraph'},
4323 + {'PolarAreaGraph': 'PolarAreaGraph'},
4324 + {'PolarArea3DGraph': 'PolarArea3DGraph'},
4325 + {'PopulationPyramid': 'PopulationPyramid'},
4326 + {'RadarGraph': 'RadarGraph'},
4327 + {'ScatterGraph': 'ScatterGraph'},
4328 + {'SemiDonutGraph': 'SemiDonutGraph'},
4329 + {'SemiDonut3DGraph': 'SemiDonut3DGraph'},
4330 + {'SteppedLineGraph': 'SteppedLineGraph'},
4331 + {'StackedBarGraph': 'StackedBarGraph'},
4332 + {'StackedBar3DGraph': 'StackedBar3DGraph'},
4333 + {'StackedBarAndLineGraph': 'StackedBarAndLineGraph'},
4334 + {'StackedCylinderGraph': 'StackedCylinderGraph'},
4335 + {'StackedLineGraph': 'StackedLineGraph'},
4336 + {'StackedGroupedBarGraph': 'StackedGroupedBarGraph'},
4337 + {'StackedGroupedBar3DGraph': 'StackedGroupedBar3DGraph'},
4338 + {'StackedGroupedCylinderGraph': 'StackedGroupedCylinderGraph'}
4339 + ]
4340 + };
4341 + break;
4342 + case 'g_palette':
4343 + obj = {
4344 + 'name': e2pdf.lang.get('Palette'),
4345 + 'type': 'color',
4346 + 'value': e2pdf.helper.getString(properties[field])
4347 + };
4348 + break;
4349 + case 'g_stroke_colour':
4350 + obj = {
4351 + 'name': e2pdf.lang.get('Line / Stroke Color'),
4352 + 'type': 'color',
4353 + 'value': e2pdf.helper.getString(properties[field])
4354 + };
4355 + break;
4356 + case 'g_stroke_width':
4357 + obj = {
4358 + 'name': e2pdf.lang.get('Width'),
4359 + 'type': 'text',
4360 + 'value': e2pdf.helper.getInt(properties[field]),
4361 + 'atts': ['number']
4362 + };
4363 + break;
4364 + case 'g_graph_title':
4365 + obj = {
4366 + 'name': e2pdf.lang.get('Title'),
4367 + 'type': 'text',
4368 + 'value': e2pdf.helper.getString(properties[field])
4369 + };
4370 + break;
4371 + case 'g_graph_title_font_size':
4372 + obj = {
4373 + 'name': e2pdf.lang.get('Font Size'),
4374 + 'type': 'select',
4375 + 'value': e2pdf.helper.getString(properties[field]),
4376 + 'options': e2pdf.helper.font.sizes(field)
4377 + };
4378 + break;
4379 + case 'g_label_font_size':
4380 + obj = {
4381 + 'name': e2pdf.lang.get('Font Size'),
4382 + 'type': 'select',
4383 + 'value': e2pdf.helper.getString(properties[field]),
4384 + 'options': e2pdf.helper.font.sizes(field)
4385 + };
4386 + break;
4387 + case 'g_graph_title_space':
4388 + obj = {
4389 + 'name': e2pdf.lang.get('Space'),
4390 + 'type': 'text',
4391 + 'value': e2pdf.helper.getInt(properties[field]),
4392 + 'atts': ['number']
4393 + };
4394 + break;
4395 + case 'g_label_space':
4396 + obj = {
4397 + 'name': e2pdf.lang.get('Space'),
4398 + 'type': 'text',
4399 + 'value': e2pdf.helper.getInt(properties[field]),
4400 + 'atts': ['number']
4401 + };
4402 + break;
4403 + case 'g_graph_title_colour':
4404 + obj = {
4405 + 'name': e2pdf.lang.get('Color'),
4406 + 'type': 'color',
4407 + 'value': e2pdf.helper.getString(properties[field])
4408 + };
4409 + break;
4410 + case 'g_label_colour':
4411 + obj = {
4412 + 'name': e2pdf.lang.get('Color'),
4413 + 'type': 'color',
4414 + 'value': e2pdf.helper.getString(properties[field])
4415 + };
4416 + break;
4417 + case 'g_graph_title_position':
4418 + obj = {
4419 + 'name': e2pdf.lang.get('Position'),
4420 + 'type': 'select',
4421 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4422 + 'options':
4423 + [
4424 + {'top': e2pdf.lang.get('Top')},
4425 + {'left': e2pdf.lang.get('Left')},
4426 + {'right': e2pdf.lang.get('Right')},
4427 + {'bottom': e2pdf.lang.get('Bottom')}
4428 + ]
4429 + };
4430 + break;
4431 + case 'g_label_v':
4432 + obj = {
4433 + 'name': e2pdf.lang.get('Vertical Label'),
4434 + 'type': 'text',
4435 + 'value': e2pdf.helper.getString(properties[field])
4436 + };
4437 + break;
4438 + case 'g_label_h':
4439 + obj = {
4440 + 'name': e2pdf.lang.get('Horizontal Label'),
4441 + 'type': 'text',
4442 + 'value': e2pdf.helper.getString(properties[field])
4443 + };
4444 + break;
4445 + case 'g_data_label_type':
4446 + obj = {
4447 + 'name': e2pdf.lang.get('Type'),
4448 + 'type': 'select',
4449 + 'value': e2pdf.helper.getString(properties[field], 'plain'),
4450 + 'options':
4451 + [
4452 + {'plain': 'Plain'},
4453 + {'box': 'Box'},
4454 + {'bubble': 'Bubble'},
4455 + {'line': 'Line'},
4456 + {'circle': 'Circle'},
4457 + {'square': 'Square'},
4458 + {'linecircle': 'LineCircle'},
4459 + {'linebox': 'LineBox'},
4460 + {'linesquare': 'LineSquare'},
4461 + {'line2': 'Line2'}
4462 + ]
4463 + };
4464 + break;
4465 + case 'g_key_sep':
4466 + obj = {
4467 + 'name': 'Key Separator',
4468 + 'type': 'text',
4469 + 'value': properties.hasOwnProperty('g_key_sep') && properties['g_key_sep'] ? properties['g_key_sep'] : ' => '
4470 + };
4471 + break;
4472 + case 'g_array_sep':
4473 + obj = {
4474 + 'name': 'Array Separator',
4475 + 'type': 'text',
4476 + 'value': properties.hasOwnProperty('g_array_sep') && properties['g_array_sep'] ? properties['g_array_sep'] : ', '
4477 + };
4478 + break;
4479 + case 'g_sub_array_sep':
4480 + obj = {
4481 + 'name': 'Sub Array Separator',
4482 + 'type': 'text',
4483 + 'value': properties.hasOwnProperty('g_sub_array_sep') && properties['g_sub_array_sep'] ? properties['g_sub_array_sep'] : '|'
4484 + };
4485 + break;
4486 + case 'g_structure_key':
4487 + obj = {
4488 + 'name': 'Key',
4489 + 'type': 'text',
4490 + 'value': e2pdf.helper.getString(properties[field])
4491 + };
4492 + break;
4493 + case 'g_structure_value':
4494 + obj = {
4495 + 'name': 'Value',
4496 + 'type': 'text',
4497 + 'value': e2pdf.helper.getString(properties[field])
4498 + };
4499 + break;
4500 + case 'g_structure_colour':
4501 + obj = {
4502 + 'name': 'Color',
4503 + 'type': 'text',
4504 + 'value': e2pdf.helper.getString(properties[field])
4505 + };
4506 + break;
4507 + case 'g_structure_axis_text':
4508 + obj = {
4509 + 'name': 'Axis Text',
4510 + 'type': 'text',
4511 + 'value': e2pdf.helper.getString(properties[field])
4512 + };
4513 + break;
4514 + case 'g_structure_legend_text':
4515 + obj = {
4516 + 'name': 'Legend Text',
4517 + 'type': 'text',
4518 + 'value': e2pdf.helper.getString(properties[field])
4519 + };
4520 + break;
4521 + case 'g_structure_label':
4522 + obj = {
4523 + 'name': 'Label',
4524 + 'type': 'text',
4525 + 'value': e2pdf.helper.getString(properties[field])
4526 + };
4527 + break;
4528 + case 'g_structure_area':
4529 + obj = {
4530 + 'name': 'Area',
4531 + 'type': 'text',
4532 + 'value': e2pdf.helper.getString(properties[field])
4533 + };
4534 + break;
4535 + case 'g_structure_open':
4536 + obj = {
4537 + 'name': 'Open',
4538 + 'type': 'text',
4539 + 'value': e2pdf.helper.getString(properties[field])
4540 + };
4541 + break;
4542 + case 'g_structure_end':
4543 + obj = {
4544 + 'name': 'End',
4545 + 'type': 'text',
4546 + 'value': e2pdf.helper.getString(properties[field])
4547 + };
4548 + break;
4549 + case 'g_structure_outliers':
4550 + obj = {
4551 + 'name': 'Outliers',
4552 + 'type': 'text',
4553 + 'value': e2pdf.helper.getString(properties[field])
4554 + };
4555 + break;
4556 + case 'g_structure_top':
4557 + obj = {
4558 + 'name': 'Top',
4559 + 'type': 'text',
4560 + 'value': e2pdf.helper.getString(properties[field])
4561 + };
4562 + break;
4563 + case 'g_structure_bottom':
4564 + obj = {
4565 + 'name': 'Bottom',
4566 + 'type': 'text',
4567 + 'value': e2pdf.helper.getString(properties[field])
4568 + };
4569 + break;
4570 + case 'g_structure_wtop':
4571 + obj = {
4572 + 'name': 'Wtop',
4573 + 'type': 'text',
4574 + 'value': e2pdf.helper.getString(properties[field])
4575 + };
4576 + break;
4577 + case 'g_structure_wbottom':
4578 + obj = {
4579 + 'name': 'Wbottom',
4580 + 'type': 'text',
4581 + 'value': e2pdf.helper.getString(properties[field])
4582 + };
4583 + break;
4584 + case 'g_structure_high':
4585 + obj = {
4586 + 'name': 'High',
4587 + 'type': 'text',
4588 + 'value': e2pdf.helper.getString(properties[field])
4589 + };
4590 + break;
4591 + case 'g_structure_low':
4592 + obj = {
4593 + 'name': 'Low',
4594 + 'type': 'text',
4595 + 'value': e2pdf.helper.getString(properties[field])
4596 + };
4597 + break;
4598 + case 'g_structured_data':
4599 + obj = {
4600 + 'name': 'Structured Data',
4601 + 'type': 'checkbox',
4602 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4603 + 'option': '1'
4604 + };
4605 + break;
4606 + case 'g_axis_font_size':
4607 + obj = {
4608 + 'name': e2pdf.lang.get('Font Size'),
4609 + 'key': 'g_axis_font_size',
4610 + 'type': 'select',
4611 + 'value': e2pdf.helper.getString(properties[field]),
4612 + 'options': e2pdf.helper.font.sizes(field)
4613 + };
4614 + break;
4615 + case 'g_axis_font_size_h':
4616 + obj = {
4617 + 'name': e2pdf.lang.get('Font Size'),
4618 + 'key': 'g_axis_font_size_h',
4619 + 'type': 'select',
4620 + 'value': e2pdf.helper.getString(properties[field]),
4621 + 'options': e2pdf.helper.font.sizes(field)
4622 + };
4623 + break;
4624 + case 'g_axis_font_size_v':
4625 + obj = {
4626 + 'name': e2pdf.lang.get('Font Size'),
4627 + 'key': 'g_axis_font_size_v',
4628 + 'type': 'select',
4629 + 'value': e2pdf.helper.getString(properties[field]),
4630 + 'options': e2pdf.helper.font.sizes(field)
4631 + };
4632 + break;
4633 + case 'g_axis_overlap':
4634 + obj = {
4635 + 'name': e2pdf.lang.get('Axis Overlap'),
4636 + 'type': 'text',
4637 + 'value': e2pdf.helper.getInt(properties[field]),
4638 + 'atts': ['number']
4639 + };
4640 + break;
4641 + case 'g_axis_stroke_width_v':
4642 + obj = {
4643 + 'name': e2pdf.lang.get('Width'),
4644 + 'type': 'text',
4645 + 'value': e2pdf.helper.getInt(properties[field]),
4646 + 'atts': ['number']
4647 + };
4648 + break;
4649 + case 'g_axis_stroke_width_h':
4650 + obj = {
4651 + 'name': e2pdf.lang.get('Width'),
4652 + 'type': 'text',
4653 + 'value': e2pdf.helper.getInt(properties[field]),
4654 + 'atts': ['number']
4655 + };
4656 + break;
4657 + case 'g_minimum_grid_spacing':
4658 + obj = {
4659 + 'name': e2pdf.lang.get('Grid Spacing'),
4660 + 'type': 'text',
4661 + 'value': e2pdf.helper.getInt(properties[field]),
4662 + 'atts': ['number']
4663 + };
4664 + break;
4665 + case 'g_minimum_grid_spacing_v':
4666 + obj = {
4667 + 'name': e2pdf.lang.get('Grid Spacing (V)'),
4668 + 'type': 'text',
4669 + 'value': e2pdf.helper.getInt(properties[field]),
4670 + 'atts': ['number']
4671 + };
4672 + break;
4673 + case 'g_minimum_grid_spacing_h':
4674 + obj = {
4675 + 'name': e2pdf.lang.get('Grid Spacing (H)'),
4676 + 'type': 'text',
4677 + 'value': e2pdf.helper.getInt(properties[field]),
4678 + 'atts': ['number']
4679 + };
4680 + break;
4681 + case 'g_grid_division_v':
4682 + obj = {
4683 + 'name': e2pdf.lang.get('Grid Division (V)'),
4684 + 'type': 'text',
4685 + 'value': e2pdf.helper.getFloat(properties[field]),
4686 + 'atts': ['number']
4687 + };
4688 + break;
4689 + case 'g_grid_division_h':
4690 + obj = {
4691 + 'name': e2pdf.lang.get('Grid Division (H)'),
4692 + 'type': 'text',
4693 + 'value': e2pdf.helper.getFloat(properties[field]),
4694 + 'atts': ['number']
4695 + };
4696 + break;
4697 + case 'g_axis_colour':
4698 + obj = {
4699 + 'name': e2pdf.lang.get('Axis Color'),
4700 + 'type': 'color',
4701 + 'value': e2pdf.helper.getString(properties[field])
4702 + };
4703 + break;
4704 + case 'g_axis_colour_h':
4705 + obj = {
4706 + 'name': e2pdf.lang.get('Axis Color'),
4707 + 'type': 'color',
4708 + 'value': e2pdf.helper.getString(properties[field])
4709 + };
4710 + break;
4711 + case 'g_axis_colour_v':
4712 + obj = {
4713 + 'name': e2pdf.lang.get('Axis Color'),
4714 + 'type': 'color',
4715 + 'value': e2pdf.helper.getString(properties[field])
4716 + };
4717 + break;
4718 + case 'g_grid_colour':
4719 + obj = {
4720 + 'name': e2pdf.lang.get('Grid Color'),
4721 + 'key': 'g_grid_colour',
4722 + 'type': 'color',
4723 + 'value': e2pdf.helper.getString(properties[field])
4724 + };
4725 + break;
4726 + case 'g_bar_width':
4727 + obj = {
4728 + 'name': e2pdf.lang.get('Width'),
4729 + 'type': 'text',
4730 + 'value': e2pdf.helper.getInt(properties[field]),
4731 + 'atts': ['number']
4732 + };
4733 + break;
4734 + case 'g_bar_width_min':
4735 + obj = {
4736 + 'name': e2pdf.lang.get('Min Width'),
4737 + 'type': 'text',
4738 + 'value': e2pdf.helper.getInt(properties[field]),
4739 + 'atts': ['number']
4740 + };
4741 + break;
4742 + case 'g_bar_space':
4743 + obj = {
4744 + 'name': e2pdf.lang.get('Space'),
4745 + 'type': 'text',
4746 + 'value': e2pdf.helper.getInt(properties[field]),
4747 + 'atts': ['number', 'keep']
4748 + };
4749 + break;
4750 + case 'g_bar_label_colour':
4751 + obj = {
4752 + 'name': e2pdf.lang.get('Bar Label Color'),
4753 + 'type': 'color',
4754 + 'value': e2pdf.helper.getString(properties[field])
4755 + };
4756 + break;
4757 + case 'g_bar_label_font_size':
4758 + obj = {
4759 + 'name': e2pdf.lang.get('Font Size'),
4760 + 'type': 'select',
4761 + 'value': e2pdf.helper.getString(properties[field]),
4762 + 'options': e2pdf.helper.font.sizes(field)
4763 + };
4764 + break;
4765 + case 'g_bar_label_space':
4766 + obj = {
4767 + 'name': e2pdf.lang.get('Space'),
4768 + 'type': 'text',
4769 + 'value': e2pdf.helper.getInt(properties[field]),
4770 + 'atts': ['number']
4771 + };
4772 + break;
4773 + case 'g_bar_label_position_vertical':
4774 + obj = {
4775 + 'name': e2pdf.lang.get('Position (V)'),
4776 + 'type': 'select',
4777 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4778 + 'options':
4779 + [
4780 + {'top': e2pdf.lang.get('Top')},
4781 + {'centre': e2pdf.lang.get('Middle')},
4782 + {'bottom': e2pdf.lang.get('Bottom')}
4783 + ]
4784 + };
4785 + break;
4786 + case 'g_bar_label_position_horizontal':
4787 + obj = {
4788 + 'name': e2pdf.lang.get('Position (H)'),
4789 + 'type': 'select',
4790 + 'value': e2pdf.helper.getString(properties[field], 'centre'),
4791 + 'options':
4792 + [
4793 + {'left': e2pdf.lang.get('Left')},
4794 + {'centre': e2pdf.lang.get('Center')},
4795 + {'right': e2pdf.lang.get('Right')}
4796 + ]
4797 + };
4798 + break;
4799 + case 'g_bar_label_position_join':
4800 + obj = {
4801 + 'name': e2pdf.lang.get('Position'),
4802 + 'type': 'select',
4803 + 'value': e2pdf.helper.getString(properties[field], 'outer'),
4804 + 'options':
4805 + [
4806 + {'inner': 'Inner'},
4807 + {'outer': 'Outer'}
4808 + ]
4809 + };
4810 + break;
4811 + case 'g_show_bar_labels':
4812 + obj = {
4813 + 'name': e2pdf.lang.get('Bar Labels'),
4814 + 'type': 'checkbox',
4815 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4816 + 'option': '1'
4817 + };
4818 + break;
4819 + case 'g_show_labels':
4820 + obj = {
4821 + 'name': e2pdf.lang.get('Labels'),
4822 + 'type': 'checkbox',
4823 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4824 + 'option': '1',
4825 + 'atts': ['keep'],
4826 + };
4827 + break;
4828 + case 'g_show_label_key':
4829 + obj = {
4830 + 'name': e2pdf.lang.get('Key Labels'),
4831 + 'type': 'checkbox',
4832 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4833 + 'option': '1',
4834 + 'atts': ['keep'],
4835 + };
4836 + break;
4837 + case 'g_show_label_amount':
4838 + obj = {
4839 + 'name': e2pdf.lang.get('Amount Labels'),
4840 + 'type': 'checkbox',
4841 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4842 + 'option': '1'
4843 + };
4844 + break;
4845 + case 'g_show_label_percent':
4846 + obj = {
4847 + 'name': e2pdf.lang.get('Percent Labels'),
4848 + 'type': 'checkbox',
4849 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4850 + 'option': '1'
4851 + };
4852 + break;
4853 + case 'g_marker_type':
4854 + obj = {
4855 + 'name': e2pdf.lang.get('Marker'),
4856 + 'type': 'select',
4857 + 'value': e2pdf.helper.getString(properties[field], 'circle'),
4858 + 'options':
4859 + [
4860 + {'circle': 'Circle'},
4861 + {'square': 'Square'},
4862 + {'triangle': 'Triangle'},
4863 + {'cross': 'Cross'},
4864 + {'x': 'X'},
4865 + {'pentagon': 'Pentagon'},
4866 + {'diamond': 'Diamond'},
4867 + {'hexagon': 'Hexagon'},
4868 + {'octagon': 'Octagon'},
4869 + {'asterisk': 'Asterisk'},
4870 + {'star': 'Star'},
4871 + {'threestar': 'Threestar'},
4872 + {'fourstar': 'Fourstar'},
4873 + {'eightstar': 'Eightstar'}
4874 + ]
4875 + };
4876 + break;
4877 + case 'g_marker_colour':
4878 + obj = {
4879 + 'name': e2pdf.lang.get('Color'),
4880 + 'type': 'color',
4881 + 'value': e2pdf.helper.getString(properties[field])
4882 + };
4883 + break;
4884 + case 'g_marker_size':
4885 + obj = {
4886 + 'name': e2pdf.lang.get('Size'),
4887 + 'type': 'text',
4888 + 'value': e2pdf.helper.getInt(properties[field]),
4889 + 'atts': ['number']
4890 + };
4891 + break;
4892 + case 'g_marker_dynamic_colour':
4893 + obj = {
4894 + 'name': e2pdf.lang.get('Dynamic Marker Color'),
4895 + 'type': 'checkbox',
4896 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4897 + 'option': '1'
4898 + };
4899 + break;
4900 + case 'g_grid_subdivision_colour':
4901 + obj = {
4902 + 'name': e2pdf.lang.get('Grid Subdivision Color'),
4903 + 'type': 'color',
4904 + 'value': e2pdf.helper.getString(properties[field])
4905 + };
4906 + break;
4907 + case 'g_show_subdivisions':
4908 + obj = {
4909 + 'name': e2pdf.lang.get('Sub Divisions'),
4910 + 'type': 'checkbox',
4911 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4912 + 'option': '1'
4913 + };
4914 + break;
4915 + case 'g_show_grid':
4916 + obj = {
4917 + 'name': e2pdf.lang.get('Grid'),
4918 + 'type': 'checkbox',
4919 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4920 + 'option': '1'
4921 + };
4922 + break;
4923 + case 'g_show_axis_v':
4924 + obj = {
4925 + 'name': e2pdf.lang.get('Axis (V)'),
4926 + 'type': 'checkbox',
4927 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4928 + 'option': '1'
4929 + };
4930 + break;
4931 + case 'g_show_axis_text_v':
4932 + obj = {
4933 + 'name': e2pdf.lang.get('Text'),
4934 + 'type': 'checkbox',
4935 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4936 + 'option': '1'
4937 + };
4938 + break;
4939 + case 'g_show_axis_h':
4940 + obj = {
4941 + 'name': e2pdf.lang.get('Axis (H)'),
4942 + 'type': 'checkbox',
4943 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4944 + 'option': '1'
4945 + };
4946 + break;
4947 + case 'g_show_axis_text_h':
4948 + obj = {
4949 + 'name': e2pdf.lang.get('Text'),
4950 + 'type': 'checkbox',
4951 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4952 + 'option': '1'
4953 + };
4954 + break;
4955 + case 'g_axis_min_h':
4956 + obj = {
4957 + 'name': e2pdf.lang.get('Min'),
4958 + 'type': 'text',
4959 + 'value': e2pdf.helper.getInt(properties[field]),
4960 + 'atts': ['number', 'number-negative']
4961 + };
4962 + break;
4963 + case 'g_axis_max_h':
4964 + obj = {
4965 + 'name': e2pdf.lang.get('Max'),
4966 + 'type': 'text',
4967 + 'value': e2pdf.helper.getInt(properties[field]),
4968 + 'atts': ['number', 'number-negative']
4969 + };
4970 + break;
4971 + case 'g_axis_min_max_h':
4972 + obj = {
4973 + 'name': e2pdf.lang.get('Enable'),
4974 + 'type': 'checkbox',
4975 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4976 + 'option': '1'
4977 + };
4978 + break;
4979 + case 'g_axis_min_v':
4980 + obj = {
4981 + 'name': e2pdf.lang.get('Min'),
4982 + 'type': 'text',
4983 + 'value': e2pdf.helper.getInt(properties[field]),
4984 + 'atts': ['number', 'number-negative']
4985 + };
4986 + break;
4987 + case 'g_axis_max_v':
4988 + obj = {
4989 + 'name': e2pdf.lang.get('Max'),
4990 + 'type': 'text',
4991 + 'value': e2pdf.helper.getInt(properties[field]),
4992 + 'atts': ['number', 'number-negative']
4993 + };
4994 + break;
4995 + case 'g_axis_min_max_v':
4996 + obj = {
4997 + 'name': e2pdf.lang.get('Enable'),
4998 + 'type': 'checkbox',
4999 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5000 + 'option': '1'
5001 + };
5002 + break;
5003 + case 'g_show_grid_subdivisions':
5004 + obj = {
5005 + 'name': e2pdf.lang.get('Sub Divisions'),
5006 + 'type': 'checkbox',
5007 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5008 + 'option': '1'
5009 + };
5010 + break;
5011 + case 'g_fill_under':
5012 + obj = {
5013 + 'name': e2pdf.lang.get('Fill Under'),
5014 + 'type': 'checkbox',
5015 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5016 + 'option': '1'
5017 + };
5018 + break;
5019 + case 'g_reverse':
5020 + obj = {
5021 + 'name': e2pdf.lang.get('Reverse'),
5022 + 'type': 'checkbox',
5023 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5024 + 'option': '1'
5025 + };
5026 + break;
5027 + case 'g_stroke_dynamic_colour':
5028 + obj = {
5029 + 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
5030 + 'type': 'checkbox',
5031 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5032 + 'option': '1'
5033 + };
5034 + break;
5035 + case 'g_sort':
5036 + obj = {
5037 + 'name': e2pdf.lang.get('Sort'),
5038 + 'type': 'checkbox',
5039 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5040 + 'option': '1'
5041 + };
5042 + break;
5043 + case 'g_percentage':
5044 + obj = {
5045 + 'name': e2pdf.lang.get('Percentage'),
5046 + 'type': 'checkbox',
5047 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5048 + 'option': '1'
5049 + };
5050 + break;
5051 + case 'g_legend_title':
5052 + obj = {
5053 + 'name': e2pdf.lang.get('Title'),
5054 + 'type': 'text',
5055 + 'value': e2pdf.helper.getString(properties[field])
5056 + };
5057 + break;
5058 + case 'g_legend_title_font_size':
5059 + obj = {
5060 + 'name': e2pdf.lang.get('Font Size'),
5061 + 'type': 'select',
5062 + 'value': e2pdf.helper.getString(properties[field]),
5063 + 'options': e2pdf.helper.font.sizes(field)
5064 + };
5065 + break;
5066 + case 'g_legend_font_size':
5067 + obj = {
5068 + 'name': e2pdf.lang.get('Font Size'),
5069 + 'type': 'select',
5070 + 'value': e2pdf.helper.getString(properties[field]),
5071 + 'options': e2pdf.helper.font.sizes(field)
5072 + };
5073 + break;
5074 + case 'g_legend_position_vertical':
5075 + obj = {
5076 + 'name': e2pdf.lang.get('Position (V)'),
5077 + 'key': 'g_legend_position_vertical',
5078 + 'type': 'select',
5079 + 'value': e2pdf.helper.getString(properties[field], 'top'),
5080 + 'options':
5081 + [
5082 + {'top': e2pdf.lang.get('Top')},
5083 + {'middle': e2pdf.lang.get('Middle')},
5084 + {'bottom': e2pdf.lang.get('Bottom')}
5085 + ]
5086 + };
5087 + break;
5088 + case 'g_legend_position_horizontal':
5089 + obj = {
5090 + 'name': e2pdf.lang.get('Position (H)'),
5091 + 'type': 'select',
5092 + 'value': e2pdf.helper.getString(properties[field], 'right'),
5093 + 'options':
5094 + [
5095 + {'left': e2pdf.lang.get('Left')},
5096 + {'center': e2pdf.lang.get('Center')},
5097 + {'right': e2pdf.lang.get('Right')}
5098 + ]
5099 + };
5100 + break;
5101 + case 'g_legend_position_join':
5102 + obj = {
5103 + 'name': e2pdf.lang.get('Position'),
5104 + 'type': 'select',
5105 + 'value': e2pdf.helper.getString(properties[field], 'inner'),
5106 + 'options':
5107 + [
5108 + {'inner': e2pdf.lang.get('Inner')},
5109 + {'outer': e2pdf.lang.get('Outer')}
5110 + ]
5111 + };
5112 + break;
5113 + case 'g_legend_position_vertical_margin':
5114 + obj = {
5115 + 'name': e2pdf.lang.get('Margin (V)'),
5116 + 'type': 'text',
5117 + 'value': e2pdf.helper.getFloat(properties[field]),
5118 + 'atts': ['number', 'number-negative']
5119 + };
5120 + break;
5121 + case 'g_legend_position_horizontal_margin':
5122 + obj = {
5123 + 'name': e2pdf.lang.get('Margin (H)'),
5124 + 'type': 'text',
5125 + 'value': e2pdf.helper.getFloat(properties[field]),
5126 + 'atts': ['number', 'number-negative']
5127 + };
5128 + break;
5129 + case 'g_legend_text_side':
5130 + obj = {
5131 + 'name': e2pdf.lang.get('Legend Text Side'),
5132 + 'type': 'select',
5133 + 'value': e2pdf.helper.getString(properties[field], 'left'),
5134 + 'options':
5135 + [
5136 + {'left': e2pdf.lang.get('Left')},
5137 + {'right': e2pdf.lang.get('Right')}
5138 + ]
5139 + };
5140 + break;
5141 + case 'g_legend_columns':
5142 + obj = {
5143 + 'name': e2pdf.lang.get('Columns'),
5144 + 'type': 'text',
5145 + 'value': e2pdf.helper.getInt(properties[field], 1),
5146 + 'atts': ['number']
5147 + };
5148 + break;
5149 + case 'g_legend_entry_width':
5150 + obj = {
5151 + 'name': e2pdf.lang.get('Width'),
5152 + 'type': 'text',
5153 + 'value': e2pdf.helper.getInt(properties[field]),
5154 + 'atts': ['number']
5155 + };
5156 + break;
5157 + case 'g_legend_entry_height':
5158 + obj = {
5159 + 'name': e2pdf.lang.get('Height'),
5160 + 'type': 'text',
5161 + 'value': e2pdf.helper.getInt(properties[field]),
5162 + 'atts': ['number', 'keep']
5163 + };
5164 + break;
5165 + case 'g_legend_padding_x':
5166 + obj = {
5167 + 'name': e2pdf.lang.get('Padding (X)'),
5168 + 'type': 'text',
5169 + 'value': e2pdf.helper.getInt(properties[field]),
5170 + 'atts': ['number']
5171 + };
5172 + break;
5173 + case 'g_legend_padding_y':
5174 + obj = {
5175 + 'name': e2pdf.lang.get('Padding (Y)'),
5176 + 'type': 'text',
5177 + 'value': e2pdf.helper.getInt(properties[field]),
5178 + 'atts': ['number']
5179 + };
5180 + break;
5181 + case 'g_legend_stroke_colour':
5182 + obj = {
5183 + 'name': e2pdf.lang.get('Stroke Color'),
5184 + 'type': 'color',
5185 + 'value': e2pdf.helper.getString(properties[field])
5186 + };
5187 + break;
5188 + case 'g_legend_stroke_width':
5189 + obj = {
5190 + 'name': e2pdf.lang.get('Stroke Width'),
5191 + 'type': 'text',
5192 + 'value': e2pdf.helper.getInt(properties[field]),
5193 + 'atts': ['number']
5194 + };
5195 + break;
5196 + case 'g_legend_back_colour':
5197 + obj = {
5198 + 'name': e2pdf.lang.get('Background'),
5199 + 'type': 'color',
5200 + 'value': e2pdf.helper.getString(properties[field])
5201 + };
5202 + break;
5203 + case 'g_legend_colour':
5204 + obj = {
5205 + 'name': e2pdf.lang.get('Color'),
5206 + 'type': 'color',
5207 + 'value': e2pdf.helper.getString(properties[field])
5208 + };
5209 + break;
5210 + case 'g_show_legend':
5211 + obj = {
5212 + 'name': e2pdf.lang.get('Legend'),
5213 + 'type': 'checkbox',
5214 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5215 + 'option': '1'
5216 + };
5217 + break;
5218 + case 'g_bubble_scale':
5219 + obj = {
5220 + 'name': e2pdf.lang.get('Bubble Scale'),
5221 + 'type': 'text',
5222 + 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5223 + 'atts': ['number']
5224 + };
5225 + break;
5226 + case 'g_increment':
5227 + obj = {
5228 + 'name': e2pdf.lang.get('Increment'),
5229 + 'type': 'text',
5230 + 'value': e2pdf.helper.getInt(properties[field]),
5231 + 'atts': ['number']
5232 + };
5233 + break;
5234 + case 'g_stack_group':
5235 + obj = {
5236 + 'name': e2pdf.lang.get('Stack Group'),
5237 + 'type': 'text',
5238 + 'value': e2pdf.helper.getString(properties[field])
5239 + };
5240 + break;
5241 + case 'g_line_dataset':
5242 + obj = {
5243 + 'name': e2pdf.lang.get('Line Dataset'),
5244 + 'type': 'text',
5245 + 'value': e2pdf.helper.getString(properties[field])
5246 + };
5247 + break;
5248 + case 'g_project_angle':
5249 + obj = {
5250 + 'name': e2pdf.lang.get('Project Angle'),
5251 + 'type': 'text',
5252 + 'value': e2pdf.helper.getInt(properties[field]),
5253 + 'atts': ['number']
5254 + };
5255 + break;
5256 + case 'g_depth':
5257 + obj = {
5258 + 'name': e2pdf.lang.get('Depth'),
5259 + 'type': 'text',
5260 + 'value': e2pdf.helper.getInt(properties[field]),
5261 + 'atts': ['number']
5262 + };
5263 + break;
5264 + case 'g_aspect_ratio':
5265 + obj = {
5266 + 'name': e2pdf.lang.get('Aspect Ratio'),
5267 + 'type': 'text',
5268 + 'value': e2pdf.helper.getFloat(properties[field]),
5269 + 'atts': ['number']
5270 + };
5271 + break;
5272 + case 'g_line_curve':
5273 + obj = {
5274 + 'name': e2pdf.lang.get('Line Curve'),
5275 + 'type': 'text',
5276 + 'value': e2pdf.helper.getString(properties[field])
5277 + };
5278 + break;
5279 + case 'g_units_y':
5280 + obj = {
5281 + 'name': e2pdf.lang.get('Units'),
5282 + 'type': 'text',
5283 + 'value': e2pdf.helper.getString(properties[field])
5284 + };
5285 + break;
5286 + case 'g_units_x':
5287 + obj = {
5288 + 'name': e2pdf.lang.get('Units'),
5289 + 'type': 'text',
5290 + 'value': e2pdf.helper.getString(properties[field])
5291 + };
5292 + break;
5293 + case 'g_axis_text_position_v':
5294 + obj = {
5295 + 'name': e2pdf.lang.get('Position'),
5296 + 'type': 'select',
5297 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5298 + 'options':
5299 + [
5300 + {'outside': e2pdf.lang.get('Outer')},
5301 + {'inside': e2pdf.lang.get('Inner')}
5302 + ]
5303 + };
5304 + break;
5305 + case 'g_axis_text_position_h':
5306 + obj = {
5307 + 'name': e2pdf.lang.get('Position'),
5308 + 'type': 'select',
5309 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5310 + 'options':
5311 + [
5312 + {'outside': e2pdf.lang.get('Outer')},
5313 + {'inside': e2pdf.lang.get('Inner')}
5314 + ]
5315 + };
5316 + break;
5317 + case 'g_axis_text_align_v':
5318 + obj = {
5319 + 'name': e2pdf.lang.get('Align'),
5320 + 'type': 'select',
5321 + 'value': e2pdf.helper.getString(properties[field], ''),
5322 + 'options':
5323 + [
5324 + {'': e2pdf.lang.get('Auto')},
5325 + {'left': e2pdf.lang.get('Left')},
5326 + {'centre': e2pdf.lang.get('Center')},
5327 + {'right': e2pdf.lang.get('Right')}
5328 + ]
5329 + };
5330 + break;
5331 + case 'g_axis_text_align_h':
5332 + obj = {
5333 + 'name': e2pdf.lang.get('Align'),
5334 + 'type': 'select',
5335 + 'value': e2pdf.helper.getString(properties[field], ''),
5336 + 'options':
5337 + [
5338 + {'': e2pdf.lang.get('Auto')},
5339 + {'left': e2pdf.lang.get('Left')},
5340 + {'centre': e2pdf.lang.get('Center')},
5341 + {'right': e2pdf.lang.get('Right')}
5342 + ]
5343 + };
5344 + break;
5345 + case 'g_axis_text_space_v':
5346 + obj = {
5347 + 'name': e2pdf.lang.get('Space'),
5348 + 'type': 'text',
5349 + 'value': e2pdf.helper.getInt(properties[field], 2),
5350 + 'atts': ['number', 'number-negative', 'keep']
5351 + };
5352 + break;
5353 + case 'g_axis_text_space_h':
5354 + obj = {
5355 + 'name': e2pdf.lang.get('Space'),
5356 + 'type': 'text',
5357 + 'value': e2pdf.helper.getInt(properties[field], 2),
5358 + 'atts': ['number', 'number-negative', 'keep']
5359 + };
5360 + break;
5361 + case 'g_axis_text_offset_x_v':
5362 + obj = {
5363 + 'name': e2pdf.lang.get('Offset (X)'),
5364 + 'type': 'text',
5365 + 'value': e2pdf.helper.getInt(properties[field]),
5366 + 'atts': ['number', 'number-negative']
5367 + };
5368 + break;
5369 + case 'g_axis_text_offset_y_v':
5370 + obj = {
5371 + 'name': e2pdf.lang.get('Offset (Y)'),
5372 + 'type': 'text',
5373 + 'value': e2pdf.helper.getInt(properties[field]),
5374 + 'atts': ['number', 'number-negative']
5375 + };
5376 + break;
5377 + case 'g_axis_text_offset_x_h':
5378 + obj = {
5379 + 'name': e2pdf.lang.get('Offset (X)'),
5380 + 'type': 'text',
5381 + 'value': e2pdf.helper.getInt(properties[field]),
5382 + 'atts': ['number', 'number-negative']
5383 + };
5384 + break;
5385 + case 'g_axis_text_offset_y_h':
5386 + obj = {
5387 + 'name': e2pdf.lang.get('Offset (Y)'),
5388 + 'type': 'text',
5389 + 'value': e2pdf.helper.getInt(properties[field]),
5390 + 'atts': ['number', 'number-negative']
5391 + };
5392 + break;
5393 + case 'g_units_label':
5394 + obj = {
5395 + 'name': e2pdf.lang.get('Units Label'),
5396 + 'type': 'text',
5397 + 'value': e2pdf.helper.getString(properties[field])
5398 + };
5399 + break;
5400 + case 'g_reverse_data':
5401 + obj = {
5402 + 'name': 'Reverse Data',
5403 + 'type': 'checkbox',
5404 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5405 + 'option': '1'
5406 + };
5407 + break;
5408 + case 'g_multiline':
5409 + obj = {
5410 + 'name': 'Lines',
5411 + 'type': 'select',
5412 + 'value': e2pdf.helper.getString(properties[field]),
5413 + 'options':
5414 + [
5415 + {'0': 'Unsorted Data'},
5416 + {'2': 'Single Array Data'},
5417 + {'1': 'Multi Array Data'}
5418 + ]
5419 + };
5420 + break;
5421 + case 'g_legends':
5422 + obj = {
5423 + 'name': e2pdf.lang.get('Legends'),
5424 + 'type': 'textarea',
5425 + 'value': e2pdf.helper.getString(properties[field])
5426 + };
5427 + break;
5428 + case 'g_axis_text_callback_y':
5429 + obj = {
5430 + 'name': e2pdf.lang.get('Custom Labels (Y-Axis)'),
5431 + 'type': 'textarea',
5432 + 'value': e2pdf.helper.getString(properties[field])
5433 + };
5434 + break;
5435 + case 'g_axis_text_callback_x':
5436 + obj = {
5437 + 'name': e2pdf.lang.get('Custom Labels (X-Axis)'),
5438 + 'type': 'textarea',
5439 + 'value': e2pdf.helper.getString(properties[field])
5440 + };
5441 + break;
5442 + case 'g_colors':
5443 + obj = {
5444 + 'name': e2pdf.lang.get('Colors'),
5445 + 'type': 'textarea',
5446 + 'value': e2pdf.helper.getString(properties[field])
5447 + };
5448 + break;
5449 + case 'g_inner_radius':
5450 + obj = {
5451 + 'name': e2pdf.lang.get('Inner Radius'),
5452 + 'type': 'text',
5453 + 'value': e2pdf.helper.getFloat(properties[field]),
5454 + 'atts': ['number', 'keep']
5455 + };
5456 + break;
5457 + case 'g_start_angle':
5458 + obj = {
5459 + 'name': e2pdf.lang.get('Start Angle'),
5460 + 'type': 'text',
5461 + 'value': e2pdf.helper.getFloat(properties[field]),
5462 + 'atts': ['number']
5463 + };
5464 + break;
5465 + case 'g_grid_straight':
5466 + obj = {
5467 + 'name': e2pdf.lang.get('Straight'),
5468 + 'type': 'checkbox',
5469 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5470 + 'option': '1',
5471 + };
5472 + break;
5473 + case 'g_grid_dash':
5474 + obj = {
5475 + 'name': e2pdf.lang.get('Grid Dash'),
5476 + 'type': 'text',
5477 + 'value': e2pdf.helper.getFloat(properties[field]),
5478 + 'atts': ['number']
5479 + };
5480 + break;
5481 + case 'g_grid_dash_h':
5482 + obj = {
5483 + 'name': e2pdf.lang.get('Grid Dash (H)'),
5484 + 'type': 'text',
5485 + 'value': e2pdf.helper.getFloat(properties[field]),
5486 + 'atts': ['number']
5487 + };
5488 + break;
5489 + case 'g_grid_dash_v':
5490 + obj = {
5491 + 'name': e2pdf.lang.get('Grid Dash (V)'),
5492 + 'type': 'text',
5493 + 'value': e2pdf.helper.getFloat(properties[field]),
5494 + 'atts': ['number']
5495 + };
5496 + break;
5497 + case 'g_fill_opacity':
5498 + obj = {
5499 + 'name': e2pdf.lang.get('Fill Opacity'),
5500 + 'type': 'text',
5501 + 'value': e2pdf.helper.getFloat(properties[field]),
5502 + 'atts': ['number', 'keep']
5503 + };
5504 + break;
5505 + case 'g_axis_font_weight_h':
5506 + obj = {
5507 + 'name': e2pdf.lang.get('Bold'),
5508 + 'type': 'checkbox',
5509 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5510 + 'option': '1'
5511 + };
5512 + break;
5513 + case 'g_axis_font_weight_v':
5514 + obj = {
5515 + 'name': e2pdf.lang.get('Bold'),
5516 + 'type': 'checkbox',
5517 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5518 + 'option': '1'
5519 + };
5520 + break;
2823 5521 }
2824 -
5522 + if (!obj.hasOwnProperty('key')) {
5523 + obj['key'] = field;
5524 + }
5525 + if (!obj.hasOwnProperty('atts')) {
5526 + obj['atts'] = [];
5527 + }
2825 5528 return obj;
2826 5529 },
2827 - //e2pdf.properties.getFields
5530 + // e2pdf.properties.getFields
2828 5531 getFields: function (el, actions) {
2829 - if (el.data('data-type') === 'e2pdf-page') {
5532 +
5533 + if (el.data('data-type') === 'e2pdf-tpl') {
5534 + var obj = {};
5535 + } else if (el.data('data-type') === 'e2pdf-page') {
2830 5536 var obj = {
2831 5537 'page_id': {
2832 5538 'name': '',
2833 5539 'fields': [
2834 5540 e2pdf.properties.getField('page_id', el),
2835 - e2pdf.properties.getField('element_type', el),
5541 + e2pdf.properties.getField('element_type', el)
2836 5542 ],
2837 5543 'position': 'top',
2838 5544 'classes': [
2839 5545 'e2pdf-w50 e2pdf-pr10',
2840 - 'e2pdf-w50 e2pdf-pl10',
2841 - ],
5546 + 'e2pdf-w50 e2pdf-pl10'
5547 + ]
2842 5548 },
2843 5549 'size': {
2844 - 'name': e2pdfLang['Size'],
5550 + 'name': e2pdf.lang.get('Size'),
2845 5551 'fields': [
2846 5552 e2pdf.properties.getField('width', el),
2847 5553 e2pdf.properties.getField('height', el),
5554 + e2pdf.properties.getField('preset', el)
2848 5555 ],
2849 5556 'position': 'top',
2850 5557 'classes': [
2851 5558 'e2pdf-w50 e2pdf-pr10',
2852 - 'e2pdf-w50 e2pdf-pl10'
2853 - ],
2854 - },
2855 - 'preset': {
2856 - 'name': e2pdfLang['Size Preset'],
2857 - 'fields': [
2858 - e2pdf.properties.getField('preset', el),
2859 - ],
2860 - 'position': 'top',
2861 - 'classes': [
2862 - 'e2pdf-w100 e2pdf-hide-label'
5559 + 'e2pdf-w50 e2pdf-pl10',
5560 + 'e2pdf-w100'
2863 5561 ]
2864 5562 }
2865 5563 };
2866 5564 } else {
2867 5565 var obj = {
2868 - 'element_id': {
2869 - 'name': '',
5566 + 'element': {
5567 + 'name': e2pdf.lang.get('Element'),
2870 5568 'fields': [
2871 5569 e2pdf.properties.getField('element_id', el),
2872 5570 e2pdf.properties.getField('page_id', el),
2873 5571 e2pdf.properties.getField('element_type', el),
5572 + e2pdf.properties.getField('left', el),
5573 + e2pdf.properties.getField('top', el),
5574 + e2pdf.properties.getField('width', el),
5575 + e2pdf.properties.getField('height', el)
2874 5576 ],
2875 5577 'position': 'top',
2876 5578 'classes': [
2877 - 'e2pdf-w25 e2pdf-pr10',
5579 + 'e2pdf-w25',
2878 5580 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
2879 5581 'e2pdf-w50 e2pdf-pl10',
2880 - ],
2881 - },
2882 - 'position': {
2883 - 'name': e2pdfLang['Position'],
2884 - 'fields': [
2885 - e2pdf.properties.getField('left', el),
2886 - e2pdf.properties.getField('top', el)
2887 - ],
2888 - 'position': 'right',
2889 - 'classes': [
2890 - 'e2pdf-w50 e2pdf-pr10',
2891 - 'e2pdf-w50 e2pdf-pl10'
2892 - ],
2893 - },
5582 + 'e2pdf-w25',
5583 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5584 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5585 + 'e2pdf-w25'
5586 + ]
5587 + }
2894 5588 };
5589 + if (el.data('data-type') === 'e2pdf-input') {
2895 5590
2896 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2897 - obj['size'] = {
2898 - 'name': e2pdfLang['Size'],
5591 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5592 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5593 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5594 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5595 + obj['field'] = {
5596 + 'name': e2pdf.lang.get('Field'),
2899 5597 'fields': [
2900 - e2pdf.properties.getField('width', el),
2901 - e2pdf.properties.getField('height', el),
2902 - e2pdf.properties.getField('length', el)
5598 + e2pdf.properties.getField('text_color', el),
5599 + e2pdf.properties.getField('text_font', el),
5600 + e2pdf.properties.getField('text_font_size', el),
5601 + e2pdf.properties.getField('text_letter_spacing', el),
5602 + e2pdf.properties.getField('text_auto_font_size', el),
5603 + e2pdf.properties.getField('text_align', el),
5604 + e2pdf.properties.getField('rotation', el),
5605 + e2pdf.properties.getField('length', el),
5606 + e2pdf.properties.getField('rtl', el),
5607 + e2pdf.properties.getField('comb', el),
5608 + e2pdf.properties.getField('required', el),
5609 + e2pdf.properties.getField('readonly', el),
5610 + e2pdf.properties.getField('pass', el)
2903 5611 ],
2904 5612 'position': 'left',
2905 5613 'classes': [
2906 - 'e2pdf-w50 e2pdf-pr10',
5614 + 'e2pdf-w100',
5615 + 'e2pdf-w100',
5616 + 'e2pdf-w50',
2907 5617 'e2pdf-w50 e2pdf-pl10',
5618 + 'e2pdf-w100',
5619 + 'e2pdf-w50',
5620 + 'e2pdf-w50 e2pdf-pl10',
5621 + 'e2pdf-w70',
5622 + 'e2pdf-w30 e2pdf-pl10',
5623 + 'e2pdf-pr10',
5624 + 'e2pdf-pr10',
5625 + 'e2pdf-pr10',
5626 + 'e2pdf-pr10'
5627 + ]
5628 + };
5629 + obj['style'] = {
5630 + 'name': e2pdf.lang.get('Style'),
5631 + 'fields': [
5632 + e2pdf.properties.getField('background', el),
5633 + e2pdf.properties.getField('border_color', el),
5634 + e2pdf.properties.getField('border', el),
5635 + e2pdf.properties.getField('z_index', el)
5636 + ],
5637 + 'position': 'right',
5638 + 'classes': [
5639 + 'e2pdf-w100',
5640 + 'e2pdf-w70',
5641 + 'e2pdf-w30 e2pdf-pl10',
2908 5642 'e2pdf-w100'
2909 - ],
5643 + ]
2910 5644 };
2911 - } else {
2912 - obj['size'] = {
2913 - 'name': e2pdfLang['Size'],
5645 + obj['value'] = {
5646 + 'name': e2pdf.lang.get('Value'),
2914 5647 'fields': [
2915 - e2pdf.properties.getField('width', el),
2916 - e2pdf.properties.getField('height', el),
5648 + e2pdf.properties.getField('value', el),
5649 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5650 + e2pdf.properties.getField('preg_pattern', el),
5651 + e2pdf.properties.getField('preg_replacement', el),
5652 + e2pdf.properties.getField('preg_match_all_pattern', el),
5653 + e2pdf.properties.getField('preg_match_all_output', el)
2917 5654 ],
2918 - 'position': 'left',
5655 + 'position': 'bottom',
2919 5656 'classes': [
2920 - 'e2pdf-w50 e2pdf-pr10',
2921 - 'e2pdf-w50 e2pdf-pl10'
2922 - ],
5657 + 'e2pdf-w100 e2pdf-hide-label',
5658 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5659 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5660 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5661 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5662 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5663 + ]
2923 5664 };
2924 5665 }
2925 5666
2926 - if (el.data('data-type') === 'e2pdf-html'
2927 - || el.data('data-type') === 'e2pdf-textarea'
2928 - ) {
2929 - obj['font'] = {
2930 - 'name': e2pdfLang['Font'],
5667 + if (el.data('data-type') === 'e2pdf-textarea') {
5668 +
5669 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5670 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5671 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5672 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5673 + obj['field'] = {
5674 + 'name': e2pdf.lang.get('Field'),
2931 5675 'fields': [
2932 5676 e2pdf.properties.getField('text_color', el),
2933 5677 e2pdf.properties.getField('text_font', el),
2934 5678 e2pdf.properties.getField('text_font_size', el),
5679 + e2pdf.properties.getField('text_letter_spacing', el),
5680 + e2pdf.properties.getField('text_auto_font_size', el),
2935 5681 e2pdf.properties.getField('text_line_height', el),
5682 + e2pdf.properties.getField('text_align', el),
5683 + e2pdf.properties.getField('rotation', el),
5684 + e2pdf.properties.getField('length', el),
5685 + e2pdf.properties.getField('rtl', el),
5686 + e2pdf.properties.getField('comb', el),
5687 + e2pdf.properties.getField('required', el),
5688 + e2pdf.properties.getField('readonly', el),
5689 + e2pdf.properties.getField('pass', el)
2936 5690 ],
2937 5691 'position': 'left',
2938 5692 'classes': [
2939 5693 'e2pdf-w100',
2940 5694 'e2pdf-w100',
2941 - 'e2pdf-w50 e2pdf-pr10',
2942 - 'e2pdf-w50 e2pdf-pl10'
5695 + 'e2pdf-w50',
5696 + 'e2pdf-w50 e2pdf-pl10',
5697 + 'e2pdf-w100',
5698 + 'e2pdf-w100',
5699 + 'e2pdf-w50',
5700 + 'e2pdf-w50 e2pdf-pl10',
5701 + 'e2pdf-w70',
5702 + 'e2pdf-w30 e2pdf-pl10',
5703 + 'e2pdf-pr10',
5704 + 'e2pdf-pr10',
5705 + 'e2pdf-pr10',
5706 + 'e2pdf-pr10'
5707 + ]
5708 + };
5709 + obj['style'] = {
5710 + 'name': e2pdf.lang.get('Style'),
5711 + 'fields': [
5712 + e2pdf.properties.getField('background', el),
5713 + e2pdf.properties.getField('border_color', el),
5714 + e2pdf.properties.getField('border', el),
5715 + e2pdf.properties.getField('z_index', el)
2943 5716 ],
5717 + 'position': 'right',
5718 + 'classes': [
5719 + 'e2pdf-w100',
5720 + 'e2pdf-w70',
5721 + 'e2pdf-w30 e2pdf-pl10',
5722 + 'e2pdf-w100'
5723 + ]
2944 5724 };
5725 + obj['value'] = {
5726 + 'name': e2pdf.lang.get('Value'),
5727 + 'fields': [
5728 + e2pdf.properties.getField('value', el),
5729 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5730 + e2pdf.properties.getField('preg_pattern', el),
5731 + e2pdf.properties.getField('preg_replacement', el),
5732 + e2pdf.properties.getField('preg_match_all_pattern', el),
5733 + e2pdf.properties.getField('preg_match_all_output', el)
5734 + ],
5735 + 'position': 'bottom',
5736 + 'classes': [
5737 + 'e2pdf-w100 e2pdf-hide-label',
5738 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5739 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5740 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5741 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5742 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5743 + ]
5744 + };
2945 5745 }
2946 5746
2947 - // Font
2948 - if (el.data('data-type') === 'e2pdf-input'
2949 - || el.data('data-type') === 'e2pdf-select'
2950 - || el.data('data-type') === 'e2pdf-signature'
2951 - ) {
2952 - obj['font'] = {
2953 - 'name': e2pdfLang['Font'],
5747 + if (el.data('data-type') === 'e2pdf-checkbox') {
5748 +
5749 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5750 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5751 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5752 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5753 + obj['field'] = {
5754 + 'name': e2pdf.lang.get('Field'),
2954 5755 'fields': [
2955 5756 e2pdf.properties.getField('text_color', el),
2956 - e2pdf.properties.getField('text_font', el),
2957 - e2pdf.properties.getField('text_font_size', el),
5757 + e2pdf.properties.getField('text_type', el),
5758 + e2pdf.properties.getField('rotation', el),
5759 + e2pdf.properties.getField('rtl', el),
5760 + e2pdf.properties.getField('required', el),
5761 + e2pdf.properties.getField('readonly', el)
2958 5762 ],
2959 5763 'position': 'left',
2960 5764 'classes': [
2961 5765 'e2pdf-w100',
2962 - 'e2pdf-w70 e2pdf-pr10',
2963 - 'e2pdf-w30 e2pdf-pl10'
5766 + 'e2pdf-w100',
5767 + 'e2pdf-w70',
5768 + 'e2pdf-w30 e2pdf-pl10',
5769 + 'e2pdf-pr10',
5770 + 'e2pdf-pr10'
5771 + ]
5772 + };
5773 + obj['style'] = {
5774 + 'name': e2pdf.lang.get('Style'),
5775 + 'fields': [
5776 + e2pdf.properties.getField('background', el),
5777 + e2pdf.properties.getField('border_color', el),
5778 + e2pdf.properties.getField('border', el),
5779 + e2pdf.properties.getField('z_index', el)
2964 5780 ],
5781 + 'position': 'right',
5782 + 'classes': [
5783 + 'e2pdf-w100',
5784 + 'e2pdf-w70',
5785 + 'e2pdf-w30 e2pdf-pl10',
5786 + 'e2pdf-w100'
5787 + ]
2965 5788 };
2966 - }
2967 -
2968 - // Text align
2969 - if (el.data('data-type') === 'e2pdf-html'
2970 - || el.data('data-type') === 'e2pdf-input'
2971 - || el.data('data-type') === 'e2pdf-textarea'
2972 - ) {
2973 - obj['text_align'] = {
2974 - 'name': e2pdfLang['Text Align'],
5789 + obj['value'] = {
5790 + 'name': '',
2975 5791 'fields': [
2976 - e2pdf.properties.getField('text_align', el),
5792 + e2pdf.properties.getField('option', el),
5793 + e2pdf.properties.getField('value', el),
5794 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5795 + e2pdf.properties.getField('preg_pattern', el),
5796 + e2pdf.properties.getField('preg_replacement', el),
5797 + e2pdf.properties.getField('preg_match_all_pattern', el),
5798 + e2pdf.properties.getField('preg_match_all_output', el)
2977 5799 ],
2978 - 'position': 'left',
5800 + 'position': 'bottom',
2979 5801 'classes': [
2980 - 'e2pdf-w100 e2pdf-hide-label',
5802 + 'e2pdf-w100 e2pdf-strong-label',
5803 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5804 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5805 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5806 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5807 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5808 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
2981 5809 ]
2982 5810 };
2983 5811 }
2984 5812
2985 - // Settings
2986 - if (el.data('data-type') === 'e2pdf-html') {
2987 - obj['settings'] = {
2988 - 'name': e2pdfLang['Settings'],
5813 + if (el.data('data-type') === 'e2pdf-radio') {
5814 +
5815 + obj['field'] = {
5816 + 'name': e2pdf.lang.get('Field'),
2989 5817 'fields': [
5818 + e2pdf.properties.getField('text_color', el),
5819 + e2pdf.properties.getField('text_type', el),
5820 + e2pdf.properties.getField('rotation', el),
2990 5821 e2pdf.properties.getField('rtl', el),
2991 - e2pdf.properties.getField('dynamic_height', el),
5822 + e2pdf.properties.getField('required', el),
5823 + e2pdf.properties.getField('readonly', el)
2992 5824 ],
2993 5825 'position': 'left',
2994 5826 'classes': [
2995 5827 'e2pdf-w100',
2996 5828 'e2pdf-w100',
5829 + 'e2pdf-w70',
5830 + 'e2pdf-w30 e2pdf-pl10',
5831 + 'e2pdf-pr10',
5832 + 'e2pdf-pr10',
5833 + 'e2pdf-pr10'
2997 5834 ]
2998 5835 };
5836 + obj['style'] = {
5837 + 'name': e2pdf.lang.get('Style'),
5838 + 'fields': [
5839 + e2pdf.properties.getField('background', el),
5840 + e2pdf.properties.getField('border_color', el),
5841 + e2pdf.properties.getField('border', el),
5842 + e2pdf.properties.getField('z_index', el)
5843 + ],
5844 + 'position': 'right',
5845 + 'classes': [
5846 + 'e2pdf-w100',
5847 + 'e2pdf-w70',
5848 + 'e2pdf-w30 e2pdf-pl10',
5849 + 'e2pdf-w100'
5850 + ]
5851 + };
5852 + obj['value'] = {
5853 + 'name': '',
5854 + 'fields': [
5855 + e2pdf.properties.getField('group', el),
5856 + e2pdf.properties.getField('field_name', el),
5857 + e2pdf.properties.getField('option', el),
5858 + e2pdf.properties.getField('value', el),
5859 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5860 + e2pdf.properties.getField('preg_pattern', el),
5861 + e2pdf.properties.getField('preg_replacement', el),
5862 + e2pdf.properties.getField('preg_match_all_pattern', el),
5863 + e2pdf.properties.getField('preg_match_all_output', el)
5864 + ],
5865 + 'position': 'bottom',
5866 + 'classes': [
5867 + 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5868 + 'e2pdf-w25 e2pdf-mt-label',
5869 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5870 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5871 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5872 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5873 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5874 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5875 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5876 + ]
5877 + };
2999 5878 }
3000 5879
3001 - // Settings
3002 - if (el.data('data-type') === 'e2pdf-input'
3003 - || el.data('data-type') === 'e2pdf-textarea'
3004 - ) {
3005 - obj['settings'] = {
3006 - 'name': e2pdfLang['Settings'],
5880 + if (el.data('data-type') === 'e2pdf-select') {
5881 +
5882 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5883 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5884 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5885 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5886 + obj['field'] = {
5887 + 'name': e2pdf.lang.get('Field'),
3007 5888 'fields': [
5889 + e2pdf.properties.getField('text_color', el),
5890 + e2pdf.properties.getField('text_font', el),
5891 + e2pdf.properties.getField('text_font_size', el),
5892 + e2pdf.properties.getField('text_letter_spacing', el),
5893 + e2pdf.properties.getField('text_auto_font_size', el),
5894 + e2pdf.properties.getField('rotation', el),
3008 5895 e2pdf.properties.getField('rtl', el),
5896 + e2pdf.properties.getField('multiline', el),
3009 5897 e2pdf.properties.getField('required', el),
3010 - e2pdf.properties.getField('readonly', el),
3011 - e2pdf.properties.getField('pass', el),
3012 - e2pdf.properties.getField('comb', el),
5898 + e2pdf.properties.getField('readonly', el)
3013 5899 ],
3014 5900 'position': 'left',
3015 5901 'classes': [
3016 5902 'e2pdf-w100',
3017 5903 'e2pdf-w100',
5904 + 'e2pdf-w50',
5905 + 'e2pdf-w50 e2pdf-pl10',
3018 5906 'e2pdf-w100',
5907 + 'e2pdf-w70',
5908 + 'e2pdf-w30 e2pdf-pl10',
5909 + 'e2pdf-pr10',
5910 + 'e2pdf-pr10',
5911 + 'e2pdf-pr10'
5912 + ]
5913 + };
5914 + obj['style'] = {
5915 + 'name': e2pdf.lang.get('Style'),
5916 + 'fields': [
5917 + e2pdf.properties.getField('background', el),
5918 + e2pdf.properties.getField('border_color', el),
5919 + e2pdf.properties.getField('border', el),
5920 + e2pdf.properties.getField('z_index', el)
5921 + ],
5922 + 'position': 'right',
5923 + 'classes': [
3019 5924 'e2pdf-w100',
3020 - 'e2pdf-w100',
5925 + 'e2pdf-w70',
5926 + 'e2pdf-w30 e2pdf-pl10',
5927 + 'e2pdf-w100'
3021 5928 ]
3022 5929 };
5930 + obj['value'] = {
5931 + 'name': '',
5932 + 'fields': [
5933 + e2pdf.properties.getField('options', el),
5934 + e2pdf.properties.getField('value', el),
5935 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5936 + e2pdf.properties.getField('preg_pattern', el),
5937 + e2pdf.properties.getField('preg_replacement', el),
5938 + e2pdf.properties.getField('preg_match_all_pattern', el),
5939 + e2pdf.properties.getField('preg_match_all_output', el)
5940 + ],
5941 + 'position': 'bottom',
5942 + 'classes': [
5943 + 'e2pdf-w100 e2pdf-strong-label',
5944 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5945 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5946 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5947 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5948 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5949 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5950 + ]
5951 + };
3023 5952 }
3024 5953
3025 - // Settings Signature
3026 5954 if (el.data('data-type') === 'e2pdf-signature') {
3027 - obj['placeholder'] = {
3028 - 'name': e2pdfLang['Placeholder'],
5955 +
5956 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5957 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5958 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5959 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5960 + obj['field'] = {
5961 + 'name': e2pdf.lang.get('Field'),
3029 5962 'fields': [
5963 + e2pdf.properties.getField('text_color', el),
5964 + e2pdf.properties.getField('text_font', el),
5965 + e2pdf.properties.getField('text_font_size', el),
3030 5966 e2pdf.properties.getField('placeholder', el),
5967 + e2pdf.properties.getField('esig', el),
5968 + e2pdf.properties.getField('required', el),
5969 + e2pdf.properties.getField('horizontal', el),
5970 + e2pdf.properties.getField('vertical', el),
5971 + e2pdf.properties.getField('rotation', el),
5972 + e2pdf.properties.getField('opacity', el),
5973 + e2pdf.properties.getField('dimension', el),
5974 + e2pdf.properties.getField('block_dimension', el),
5975 + e2pdf.properties.getField('keep_lower_size', el),
5976 + e2pdf.properties.getField('fill_image', el)
3031 5977 ],
3032 5978 'position': 'left',
3033 5979 'classes': [
5980 + 'e2pdf-w100',
5981 + 'e2pdf-w60 e2pdf-pr10',
5982 + 'e2pdf-w40',
5983 + 'e2pdf-w100',
5984 + 'e2pdf-w50',
5985 + 'e2pdf-w50 e2pdf-pl10',
5986 + 'e2pdf-w50',
5987 + 'e2pdf-w50 e2pdf-pl10',
5988 + 'e2pdf-w50',
5989 + 'e2pdf-w50 e2pdf-pl10',
5990 + 'e2pdf-w50',
5991 + 'e2pdf-w50 e2pdf-pl10',
5992 + 'e2pdf-w50',
5993 + 'e2pdf-w50 e2pdf-pl10'
5994 + ]
5995 + };
5996 + obj['style'] = {
5997 + 'name': e2pdf.lang.get('Style'),
5998 + 'fields': [
5999 + e2pdf.properties.getField('background', el),
6000 + e2pdf.properties.getField('padding_top', el),
6001 + e2pdf.properties.getField('padding_left', el),
6002 + e2pdf.properties.getField('padding_right', el),
6003 + e2pdf.properties.getField('padding_bottom', el),
6004 + e2pdf.properties.getField('border_color', el),
6005 + e2pdf.properties.getField('border_radius', el),
6006 + e2pdf.properties.getField('border_top', el),
6007 + e2pdf.properties.getField('border_left', el),
6008 + e2pdf.properties.getField('border_right', el),
6009 + e2pdf.properties.getField('border_bottom', el),
6010 + e2pdf.properties.getField('z_index', el)
6011 + ],
6012 + 'position': 'right',
6013 + 'classes': [
6014 + 'e2pdf-w100',
6015 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6016 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6017 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6018 + 'e2pdf-w25 e2pdf-fnl',
6019 + 'e2pdf-w100',
6020 + 'e2pdf-w100',
6021 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6022 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6023 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6024 + 'e2pdf-w25 e2pdf-fnl',
6025 + 'e2pdf-w100'
6026 + ]
6027 + };
6028 + obj['value'] = {
6029 + 'name': e2pdf.lang.get('Value'),
6030 + 'fields': [
6031 + e2pdf.properties.getField('value', el),
6032 + e2pdf.properties.getField('only_image', el),
6033 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6034 + e2pdf.properties.getField('preg_pattern', el),
6035 + e2pdf.properties.getField('preg_replacement', el),
6036 + e2pdf.properties.getField('preg_match_all_pattern', el),
6037 + e2pdf.properties.getField('preg_match_all_output', el)
6038 + ],
6039 + 'position': 'bottom',
6040 + 'classes': [
3034 6041 'e2pdf-w100 e2pdf-hide-label',
6042 + 'e2pdf-w50 e2pdf-pr10',
6043 + 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6044 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6045 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6046 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6047 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
3035 6048 ]
3036 6049 };
6050 + }
3037 6051
3038 - obj['settings'] = {
3039 - 'name': e2pdfLang['Settings'],
6052 + if (el.data('data-type') === 'e2pdf-html') {
6053 + obj['field'] = {
6054 + 'name': e2pdf.lang.get('Field'),
3040 6055 'fields': [
3041 - e2pdf.properties.getField('esig', el),
6056 + e2pdf.properties.getField('text_color', el),
6057 + e2pdf.properties.getField('text_font', el),
6058 + e2pdf.properties.getField('text_font_size', el),
6059 + e2pdf.properties.getField('text_letter_spacing', el),
6060 + e2pdf.properties.getField('text_line_height', el),
6061 + e2pdf.properties.getField('text_align', el),
6062 + e2pdf.properties.getField('rotation', el),
6063 + e2pdf.properties.getField('vertical', el),
6064 + e2pdf.properties.getField('rtl', el),
6065 + e2pdf.properties.getField('multipage', el),
6066 + e2pdf.properties.getField('nl2br', el),
6067 + e2pdf.properties.getField('preload_img', el),
6068 + e2pdf.properties.getField('hide_if_empty', el),
6069 + e2pdf.properties.getField('hide_page_if_empty', el)
3042 6070 ],
3043 6071 'position': 'left',
3044 6072 'classes': [
3045 6073 'e2pdf-w100',
6074 + 'e2pdf-w100',
6075 + 'e2pdf-w50',
6076 + 'e2pdf-w50 e2pdf-pl10',
6077 + 'e2pdf-w100',
6078 + 'e2pdf-w50',
6079 + 'e2pdf-w50 e2pdf-pl10',
6080 + 'e2pdf-w70',
6081 + 'e2pdf-w30 e2pdf-pl10',
6082 + 'e2pdf-pr10',
6083 + 'e2pdf-pr10',
6084 + 'e2pdf-pr10',
6085 + 'e2pdf-pr10',
6086 + 'e2pdf-pr10'
3046 6087 ]
3047 6088 };
3048 - }
6089 + if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6090 + obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6091 + obj['field'].classes.push('e2pdf-pr10');
6092 + }
3049 6093
3050 - // Settings
3051 - if (el.data('data-type') === 'e2pdf-checkbox'
3052 - || el.data('data-type') === 'e2pdf-radio'
3053 - ) {
3054 - obj['settings'] = {
3055 - 'name': e2pdfLang['Settings'],
6094 + obj['style'] = {
6095 + 'name': e2pdf.lang.get('Style'),
3056 6096 'fields': [
3057 - e2pdf.properties.getField('required', el),
3058 - e2pdf.properties.getField('readonly', el),
6097 + e2pdf.properties.getField('background', el),
6098 + e2pdf.properties.getField('padding_top', el),
6099 + e2pdf.properties.getField('padding_left', el),
6100 + e2pdf.properties.getField('padding_right', el),
6101 + e2pdf.properties.getField('padding_bottom', el),
6102 + e2pdf.properties.getField('border_color', el),
6103 + e2pdf.properties.getField('border_top', el),
6104 + e2pdf.properties.getField('border_left', el),
6105 + e2pdf.properties.getField('border_right', el),
6106 + e2pdf.properties.getField('border_bottom', el),
6107 + e2pdf.properties.getField('z_index', el)
3059 6108 ],
3060 - 'position': 'left',
6109 + 'position': 'right',
3061 6110 'classes': [
3062 6111 'e2pdf-w100',
6112 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6113 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6114 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6115 + 'e2pdf-w25 e2pdf-fnl',
3063 6116 'e2pdf-w100',
6117 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6118 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6119 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6120 + 'e2pdf-w25 e2pdf-fnl',
6121 + 'e2pdf-w100'
3064 6122 ]
3065 6123 };
6124 + obj['value'] = {
6125 + 'name': '',
6126 + 'fields': [
6127 + e2pdf.properties.getField('parent', el),
6128 + e2pdf.properties.getField('css', el),
6129 + e2pdf.properties.getField('css_priority', el),
6130 + e2pdf.properties.getField('value', el),
6131 + e2pdf.properties.getField('html_worker', el),
6132 + e2pdf.properties.getField('wysiwyg_disable', el),
6133 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6134 + e2pdf.properties.getField('preg_pattern', el),
6135 + e2pdf.properties.getField('preg_replacement', el),
6136 + e2pdf.properties.getField('preg_match_all_pattern', el),
6137 + e2pdf.properties.getField('preg_match_all_output', el)
6138 + ],
6139 + 'position': 'bottom',
6140 + 'classes': [
6141 + 'e2pdf-w100 e2pdf-strong-label',
6142 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6143 + 'e2pdf-w20 e2pdf-pr10',
6144 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6145 + 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6146 + 'e2pdf-w50 e2pdf-pr10',
6147 + 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6148 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6149 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6150 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6151 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6152 + ]
6153 + };
3066 6154 }
3067 6155
3068 - // Settings
3069 - if (el.data('data-type') === 'e2pdf-select') {
3070 - obj['settings'] = {
3071 - 'name': e2pdfLang['Settings'],
6156 + if (el.data('data-type') === 'e2pdf-page-number') {
6157 + obj['field'] = {
6158 + 'name': e2pdf.lang.get('Field'),
3072 6159 'fields': [
3073 - e2pdf.properties.getField('rtl', el),
3074 - e2pdf.properties.getField('required', el),
3075 - e2pdf.properties.getField('readonly', el),
3076 - e2pdf.properties.getField('multiline', el),
6160 + e2pdf.properties.getField('text_color', el),
6161 + e2pdf.properties.getField('text_font', el),
6162 + e2pdf.properties.getField('text_font_size', el),
6163 + e2pdf.properties.getField('text_letter_spacing', el),
6164 + e2pdf.properties.getField('text_line_height', el),
6165 + e2pdf.properties.getField('text_align', el),
6166 + e2pdf.properties.getField('rotation', el),
6167 + e2pdf.properties.getField('vertical', el),
6168 + e2pdf.properties.getField('rtl', el)
3077 6169 ],
3078 6170 'position': 'left',
3079 6171 'classes': [
3080 6172 'e2pdf-w100',
3081 6173 'e2pdf-w100',
6174 + 'e2pdf-w50',
6175 + 'e2pdf-w50 e2pdf-pl10',
3082 6176 'e2pdf-w100',
3083 - 'e2pdf-w100',
6177 + 'e2pdf-w50',
6178 + 'e2pdf-w50 e2pdf-pl10',
6179 + 'e2pdf-w70',
6180 + 'e2pdf-w30 e2pdf-pl10'
3084 6181 ]
3085 6182 };
3086 - }
3087 -
3088 - // Selector
3089 - if (el.data('data-type') === 'e2pdf-checkbox'
3090 - || el.data('data-type') === 'e2pdf-radio'
3091 - ) {
3092 - obj['selector'] = {
3093 - 'name': e2pdfLang['Selector'],
6183 + obj['page_number'] = {
6184 + 'name': e2pdf.lang.get('Page Number'),
3094 6185 'fields': [
3095 - e2pdf.properties.getField('text_color', el),
3096 - e2pdf.properties.getField('text_type', el),
6186 + e2pdf.properties.getField('page_number', el),
6187 + e2pdf.properties.getField('page_total', el),
3097 6188 ],
3098 6189 'position': 'left',
3099 6190 'classes': [
6191 + 'e2pdf-w50',
6192 + 'e2pdf-w50 e2pdf-pl10',
6193 + ]
6194 + };
6195 + obj['style'] = {
6196 + 'name': e2pdf.lang.get('Style'),
6197 + 'fields': [
6198 + e2pdf.properties.getField('background', el),
6199 + e2pdf.properties.getField('padding_top', el),
6200 + e2pdf.properties.getField('padding_left', el),
6201 + e2pdf.properties.getField('padding_right', el),
6202 + e2pdf.properties.getField('padding_bottom', el),
6203 + e2pdf.properties.getField('border_color', el),
6204 + e2pdf.properties.getField('border_top', el),
6205 + e2pdf.properties.getField('border_left', el),
6206 + e2pdf.properties.getField('border_right', el),
6207 + e2pdf.properties.getField('border_bottom', el)
6208 + ],
6209 + 'position': 'right',
6210 + 'classes': [
3100 6211 'e2pdf-w100',
6212 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6213 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6214 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6215 + 'e2pdf-w25 e2pdf-fnl',
3101 6216 'e2pdf-w100',
6217 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6218 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6219 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6220 + 'e2pdf-w25 e2pdf-fnl'
3102 6221 ]
3103 6222 };
3104 - }
3105 -
3106 - // Background
3107 - if (el.data('data-type') === 'e2pdf-html'
3108 - || el.data('data-type') === 'e2pdf-input'
3109 - || el.data('data-type') === 'e2pdf-textarea'
3110 - || el.data('data-type') === 'e2pdf-image'
3111 - || el.data('data-type') === 'e2pdf-rectangle'
3112 - || el.data('data-type') === 'e2pdf-signature'
3113 - ) {
3114 - obj['background'] = {
3115 - 'name': e2pdfLang['Background'],
6223 + obj['value'] = {
6224 + 'name': '',
3116 6225 'fields': [
3117 - e2pdf.properties.getField('background', el)
6226 + e2pdf.properties.getField('css', el),
6227 + e2pdf.properties.getField('value', el),
6228 + e2pdf.properties.getField('html_worker', el)
3118 6229 ],
3119 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6230 + 'position': 'bottom',
3120 6231 'classes': [
3121 - 'e2pdf-w100 e2pdf-hide-label',
6232 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6233 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6234 + 'e2pdf-w30 e2pdf-pr10'
3122 6235 ]
3123 6236 };
3124 6237 }
3125 6238
3126 - // Resize
3127 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3128 - obj['resize'] = {
3129 - 'name': e2pdfLang['Resize'],
6239 + if (el.data('data-type') === 'e2pdf-image') {
6240 +
6241 + obj['field'] = {
6242 + 'name': e2pdf.lang.get('Field'),
3130 6243 'fields': [
3131 - e2pdf.properties.getField('scale', el),
6244 + e2pdf.properties.getField('text_color', el),
6245 + e2pdf.properties.getField('text_font', el),
6246 + e2pdf.properties.getField('text_font_size', el),
3132 6247 e2pdf.properties.getField('horizontal', el),
3133 6248 e2pdf.properties.getField('vertical', el),
6249 + e2pdf.properties.getField('rotation', el),
6250 + e2pdf.properties.getField('opacity', el),
6251 + e2pdf.properties.getField('quality', el),
3134 6252 e2pdf.properties.getField('dimension', el),
6253 + e2pdf.properties.getField('block_dimension', el),
6254 + e2pdf.properties.getField('keep_lower_size', el),
6255 + e2pdf.properties.getField('fill_image', el),
6256 + e2pdf.properties.getField('hide_page_if_empty', el)
3135 6257 ],
3136 6258 'position': 'left',
3137 6259 'classes': [
3138 6260 'e2pdf-w100',
3139 - 'e2pdf-w50 e2pdf-pr10',
6261 + 'e2pdf-w60 e2pdf-pr10',
6262 + 'e2pdf-w40',
6263 + 'e2pdf-w50',
3140 6264 'e2pdf-w50 e2pdf-pl10',
3141 - 'e2pdf-w100 e2pdf-mt5'
6265 + 'e2pdf-w50',
6266 + 'e2pdf-w50 e2pdf-pl10',
6267 + 'e2pdf-w100',
6268 + 'e2pdf-pr10',
6269 + 'e2pdf-pr10',
6270 + 'e2pdf-pr10',
6271 + 'e2pdf-pr10',
6272 + 'e2pdf-pr10'
3142 6273 ]
3143 6274 };
3144 - }
3145 -
3146 - // Border
3147 - if (el.data('data-type') === 'e2pdf-input'
3148 - || el.data('data-type') === 'e2pdf-textarea'
3149 - || el.data('data-type') === 'e2pdf-checkbox'
3150 - || el.data('data-type') === 'e2pdf-radio'
3151 - || el.data('data-type') === 'e2pdf-select'
3152 - ) {
3153 - obj['border'] = {
3154 - 'name': e2pdfLang['Border'],
6275 + obj['pdf'] = {
6276 + 'name': 'Pdf',
3155 6277 'fields': [
3156 - e2pdf.properties.getField('border', el),
3157 - e2pdf.properties.getField('border_color', el)
6278 + e2pdf.properties.getField('pdf_page', el),
6279 + e2pdf.properties.getField('pdf_resample', el),
6280 + e2pdf.properties.getField('pdf_append', el),
6281 + e2pdf.properties.getField('pdf_space', el),
6282 + e2pdf.properties.getField('pdf_border', el)
3158 6283 ],
6284 + 'position': 'left',
6285 + 'classes': [
6286 + 'e2pdf-w50',
6287 + 'e2pdf-w50 e2pdf-pl10',
6288 + 'e2pdf-w100',
6289 + 'e2pdf-w50',
6290 + 'e2pdf-w50 e2pdf-pl10'
6291 + ]
6292 + };
6293 + obj['style'] = {
6294 + 'name': e2pdf.lang.get('Style'),
6295 + 'fields': [
6296 + e2pdf.properties.getField('background', el),
6297 + e2pdf.properties.getField('padding_top', el),
6298 + e2pdf.properties.getField('padding_left', el),
6299 + e2pdf.properties.getField('padding_right', el),
6300 + e2pdf.properties.getField('padding_bottom', el),
6301 + e2pdf.properties.getField('border_color', el),
6302 + e2pdf.properties.getField('border_radius', el),
6303 + e2pdf.properties.getField('border_top', el),
6304 + e2pdf.properties.getField('border_left', el),
6305 + e2pdf.properties.getField('border_right', el),
6306 + e2pdf.properties.getField('border_bottom', el),
6307 + e2pdf.properties.getField('z_index', el)
6308 + ],
3159 6309 'position': 'right',
3160 6310 'classes': [
3161 - 'e2pdf-w25 e2pdf-pr10',
6311 + 'e2pdf-w100',
6312 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6313 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6314 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6315 + 'e2pdf-w25 e2pdf-fnl',
6316 + 'e2pdf-w100',
6317 + 'e2pdf-w100',
6318 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6319 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6320 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6321 + 'e2pdf-w25 e2pdf-fnl',
3162 6322 'e2pdf-w100'
6323 + ]
6324 + };
6325 + obj['value'] = {
6326 + 'name': '',
6327 + 'fields': [
6328 + e2pdf.properties.getField('link_url', el),
6329 + e2pdf.properties.getField('link_type', el),
6330 + e2pdf.properties.getField('highlight', el),
6331 + e2pdf.properties.getField('value', el),
6332 + e2pdf.properties.getField('only_image', el),
6333 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6334 + e2pdf.properties.getField('preg_pattern', el),
6335 + e2pdf.properties.getField('preg_replacement', el),
6336 + e2pdf.properties.getField('preg_match_all_pattern', el),
6337 + e2pdf.properties.getField('preg_match_all_output', el)
3163 6338 ],
6339 + 'position': 'bottom',
6340 + 'classes': [
6341 + 'e2pdf-w50 e2pdf-pr10',
6342 + 'e2pdf-w25 e2pdf-pr10',
6343 + 'e2pdf-w25',
6344 + 'e2pdf-w100',
6345 + 'e2pdf-w50 e2pdf-pr10',
6346 + 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6347 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6348 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6349 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6350 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6351 + ]
3164 6352 };
3165 6353 }
3166 6354
3167 - // Border
3168 - if (el.data('data-type') === 'e2pdf-html'
3169 - || el.data('data-type') === 'e2pdf-image'
3170 - || el.data('data-type') === 'e2pdf-signature'
3171 - ) {
3172 - obj['border'] = {
3173 - 'name': e2pdfLang['Border'],
6355 + if (el.data('data-type') === 'e2pdf-qrcode') {
6356 +
6357 + obj['qrcode'] = {
6358 + 'name': e2pdf.lang.get('QR Code'),
3174 6359 'fields': [
6360 + e2pdf.properties.getField('color', el),
6361 + e2pdf.properties.getField('precision', el),
6362 + e2pdf.properties.getField('wq', el)
6363 + ],
6364 + 'position': 'left',
6365 + 'classes': [
6366 + 'e2pdf-w100',
6367 + 'e2pdf-w50',
6368 + 'e2pdf-w50 e2pdf-pl10'
6369 + ]
6370 + };
6371 + obj['style'] = {
6372 + 'name': e2pdf.lang.get('Style'),
6373 + 'fields': [
6374 + e2pdf.properties.getField('background', el),
6375 + e2pdf.properties.getField('margin_top', el),
6376 + e2pdf.properties.getField('margin_left', el),
6377 + e2pdf.properties.getField('margin_right', el),
6378 + e2pdf.properties.getField('margin_bottom', el),
6379 + e2pdf.properties.getField('padding_top', el),
6380 + e2pdf.properties.getField('padding_left', el),
6381 + e2pdf.properties.getField('padding_right', el),
6382 + e2pdf.properties.getField('padding_bottom', el),
6383 + e2pdf.properties.getField('border_color', el),
3175 6384 e2pdf.properties.getField('border_top', el),
3176 6385 e2pdf.properties.getField('border_left', el),
3177 6386 e2pdf.properties.getField('border_right', el),
3178 6387 e2pdf.properties.getField('border_bottom', el),
3179 - e2pdf.properties.getField('border_color', el)
6388 + e2pdf.properties.getField('z_index', el)
3180 6389 ],
3181 6390 'position': 'right',
3182 6391 'classes': [
3183 - 'e2pdf-w25 e2pdf-pr10',
3184 - 'e2pdf-w25 e2pdf-pr10',
3185 - 'e2pdf-w25 e2pdf-pr10',
3186 - 'e2pdf-w25',
6392 + 'e2pdf-w100',
6393 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6394 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6395 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6396 + 'e2pdf-w25 e2pdf-fnl',
6397 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6398 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6399 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6400 + 'e2pdf-w25 e2pdf-fnl',
6401 + 'e2pdf-w100',
6402 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6403 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6404 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6405 + 'e2pdf-w25 e2pdf-fnl',
3187 6406 'e2pdf-w100'
6407 + ]
6408 + };
6409 + obj['value'] = {
6410 + 'name': e2pdf.lang.get('Value'),
6411 + 'fields': [
6412 + e2pdf.properties.getField('value', el),
6413 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6414 + e2pdf.properties.getField('preg_pattern', el),
6415 + e2pdf.properties.getField('preg_replacement', el),
6416 + e2pdf.properties.getField('preg_match_all_pattern', el),
6417 + e2pdf.properties.getField('preg_match_all_output', el)
3188 6418 ],
6419 + 'position': 'bottom',
6420 + 'classes': [
6421 + 'e2pdf-w100 e2pdf-hide-label',
6422 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6423 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6424 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6425 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6426 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6427 + ]
3189 6428 };
3190 6429 }
3191 6430
3192 - // Padding
3193 - if (el.data('data-type') === 'e2pdf-html'
3194 - || el.data('data-type') === 'e2pdf-image'
3195 - || el.data('data-type') === 'e2pdf-signature'
3196 - ) {
3197 - obj['padding'] = {
3198 - 'name': e2pdfLang['Padding'],
6431 + if (el.data('data-type') === 'e2pdf-barcode') {
6432 + obj['barcode'] = {
6433 + 'name': e2pdf.lang.get('Barcode'),
3199 6434 'fields': [
6435 + e2pdf.properties.getField('text_color', el),
6436 + e2pdf.properties.getField('text_font', el),
6437 + e2pdf.properties.getField('text_font_size', el),
6438 + e2pdf.properties.getField('text_line_height', el),
6439 + e2pdf.properties.getField('color', el),
6440 + e2pdf.properties.getField('format', el),
6441 + e2pdf.properties.getField('wq', el),
6442 + e2pdf.properties.getField('horizontal', el),
6443 + e2pdf.properties.getField('vertical', el),
6444 + e2pdf.properties.getField('scale', el),
6445 + e2pdf.properties.getField('rotation', el),
6446 + e2pdf.properties.getField('dimension', el),
6447 + e2pdf.properties.getField('hl', el)
6448 + ],
6449 + 'position': 'left',
6450 + 'classes': [
6451 + 'e2pdf-w100',
6452 + 'e2pdf-w60 e2pdf-pr10',
6453 + 'e2pdf-w40',
6454 + 'e2pdf-w100',
6455 + 'e2pdf-w100',
6456 + 'e2pdf-w50',
6457 + 'e2pdf-w50 e2pdf-pl10',
6458 + 'e2pdf-w50',
6459 + 'e2pdf-w50 e2pdf-pl10',
6460 + 'e2pdf-w50',
6461 + 'e2pdf-w50 e2pdf-pl10',
6462 + 'e2pdf-pr10',
6463 + 'e2pdf-pr10'
6464 + ]
6465 + };
6466 + obj['style'] = {
6467 + 'name': e2pdf.lang.get('Style'),
6468 + 'fields': [
6469 + e2pdf.properties.getField('background', el),
6470 + e2pdf.properties.getField('margin_top', el),
6471 + e2pdf.properties.getField('margin_left', el),
6472 + e2pdf.properties.getField('margin_right', el),
6473 + e2pdf.properties.getField('margin_bottom', el),
3200 6474 e2pdf.properties.getField('padding_top', el),
3201 6475 e2pdf.properties.getField('padding_left', el),
3202 6476 e2pdf.properties.getField('padding_right', el),
3203 - e2pdf.properties.getField('padding_bottom', el)
6477 + e2pdf.properties.getField('padding_bottom', el),
6478 + e2pdf.properties.getField('border_color', el),
6479 + e2pdf.properties.getField('border_top', el),
6480 + e2pdf.properties.getField('border_left', el),
6481 + e2pdf.properties.getField('border_right', el),
6482 + e2pdf.properties.getField('border_bottom', el),
6483 + e2pdf.properties.getField('z_index', el)
3204 6484 ],
3205 6485 'position': 'right',
3206 6486 'classes': [
3207 - 'e2pdf-w25 e2pdf-pr10',
3208 - 'e2pdf-w25 e2pdf-pr10',
3209 - 'e2pdf-w25 e2pdf-pr10',
3210 - 'e2pdf-w25',
6487 + 'e2pdf-w100',
6488 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6489 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6490 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6491 + 'e2pdf-w25 e2pdf-fnl',
6492 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6493 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6494 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6495 + 'e2pdf-w25 e2pdf-fnl',
6496 + 'e2pdf-w100',
6497 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6498 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6499 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6500 + 'e2pdf-w25 e2pdf-fnl',
6501 + 'e2pdf-w100'
3211 6502 ]
3212 6503 };
6504 + obj['value'] = {
6505 + 'name': e2pdf.lang.get('Value'),
6506 + 'fields': [
6507 + e2pdf.properties.getField('value', el),
6508 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6509 + e2pdf.properties.getField('preg_pattern', el),
6510 + e2pdf.properties.getField('preg_replacement', el),
6511 + e2pdf.properties.getField('preg_match_all_pattern', el),
6512 + e2pdf.properties.getField('preg_match_all_output', el)
6513 + ],
6514 + 'position': 'bottom',
6515 + 'classes': [
6516 + 'e2pdf-w100 e2pdf-hide-label',
6517 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6518 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6519 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6520 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6521 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6522 + ]
6523 + };
3213 6524 }
3214 6525
3215 - if (el.data('data-type') === 'e2pdf-link') {
3216 - obj['highlight'] = {
3217 - 'name': e2pdfLang['Highlight'],
6526 + if (el.data('data-type') === 'e2pdf-graph') {
6527 + obj['graph'] = {
6528 + 'name': e2pdf.lang.get('Graph'),
3218 6529 'fields': [
3219 - e2pdf.properties.getField('highlight', el)
6530 + e2pdf.properties.getField('g_type', el),
6531 + e2pdf.properties.getField('text_font', el),
6532 + e2pdf.properties.getField('g_palette', el),
6533 + e2pdf.properties.getField('g_stroke_colour', el),
6534 + e2pdf.properties.getField('g_stroke_width', el),
6535 + e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6536 + e2pdf.properties.getField('g_sort', el),
6537 + e2pdf.properties.getField('g_fill_under', el),
6538 + e2pdf.properties.getField('g_reverse', el),
6539 + e2pdf.properties.getField('g_percentage', el),
3220 6540 ],
3221 6541 'position': 'left',
3222 6542 'classes': [
3223 - 'e2pdf-w100 e2pdf-hide-label',
6543 + 'e2pdf-w100',
6544 + 'e2pdf-w100',
6545 + 'e2pdf-w100',
6546 + 'e2pdf-w70 e2pdf-pr10',
6547 + 'e2pdf-w30',
6548 + 'e2pdf-pr10',
6549 + 'e2pdf-pr10',
6550 + 'e2pdf-pr10',
6551 + 'e2pdf-pr10',
6552 + 'e2pdf-pr10',
3224 6553 ]
3225 6554 };
3226 - }
3227 -
3228 - // Z-index
3229 - obj['z_index'] = {
3230 - 'name': e2pdfLang['Z-index'],
3231 - 'fields': [
3232 - e2pdf.properties.getField('z_index', el)
3233 - ],
3234 - 'position': 'right',
3235 - 'classes': [
3236 - 'e2pdf-w100 e2pdf-hide-label',
3237 - ]
3238 - };
3239 -
3240 - // Parent
3241 - if (el.data('data-type') === 'e2pdf-html') {
3242 - obj['parent'] = {
3243 - 'name': e2pdfLang['Parent'],
6555 + obj['title'] = {
6556 + 'name': e2pdf.lang.get('Title'),
3244 6557 'fields': [
3245 - e2pdf.properties.getField('parent', el),
6558 + e2pdf.properties.getField('g_graph_title_colour', el),
6559 + e2pdf.properties.getField('g_graph_title', el),
6560 + e2pdf.properties.getField('g_graph_title_font_size', el),
6561 + e2pdf.properties.getField('g_graph_title_position', el),
6562 + e2pdf.properties.getField('g_graph_title_space', el),
3246 6563 ],
3247 - 'position': 'bottom',
6564 + 'position': 'left',
3248 6565 'classes': [
3249 - 'e2pdf-w100 e2pdf-hide-label',
6566 + 'e2pdf-w100',
6567 + 'e2pdf-w60 e2pdf-pr10',
6568 + 'e2pdf-w40',
6569 + 'e2pdf-w70 e2pdf-pr10',
6570 + 'e2pdf-w30',
6571 + ]
6572 + };
6573 + obj['labels'] = {
6574 + 'name': e2pdf.lang.get('Labels'),
6575 + 'fields': [
6576 + e2pdf.properties.getField('g_label_colour', el),
6577 + e2pdf.properties.getField('g_label_font_size', el),
6578 + e2pdf.properties.getField('g_label_space', el),
6579 + e2pdf.properties.getField('g_label_v', el),
6580 + e2pdf.properties.getField('g_label_h', el),
6581 + e2pdf.properties.getField('g_show_labels', el),
6582 + e2pdf.properties.getField('g_show_label_key', el),
6583 + e2pdf.properties.getField('g_show_label_amount', el),
6584 + e2pdf.properties.getField('g_show_label_percent', el),
3250 6585 ],
6586 + 'position': 'left',
6587 + 'classes': [
6588 + 'e2pdf-w100',
6589 + 'e2pdf-w70 e2pdf-pr10',
6590 + 'e2pdf-w30',
6591 + 'e2pdf-w50 e2pdf-pr10',
6592 + 'e2pdf-w50',
6593 + 'e2pdf-pr10',
6594 + 'e2pdf-pr10',
6595 + 'e2pdf-pr10',
6596 + 'e2pdf-pr10',
6597 + ]
3251 6598 };
3252 - }
3253 -
3254 - if (el.data('data-type') === 'e2pdf-radio') {
3255 - obj['group'] = {
3256 - 'name': e2pdfLang['Group'],
6599 + obj['marker'] = {
6600 + 'name': e2pdf.lang.get('Markers'),
3257 6601 'fields': [
3258 - e2pdf.properties.getField('group', el),
6602 + e2pdf.properties.getField('g_marker_colour', el),
6603 + e2pdf.properties.getField('g_marker_size', el),
6604 + e2pdf.properties.getField('g_marker_dynamic_colour', el),
6605 + e2pdf.properties.getField('g_marker_type', el),
3259 6606 ],
6607 + 'position': 'left',
6608 + 'classes': [
6609 + 'e2pdf-w70 e2pdf-pr10',
6610 + 'e2pdf-w30',
6611 + 'e2pdf-w100',
6612 + 'e2pdf-w100'
6613 + ]
6614 + };
6615 + obj['legend'] = {
6616 + 'name': e2pdf.lang.get('Legend'),
6617 + 'fields': [
6618 + e2pdf.properties.getField('g_legend_back_colour', el),
6619 + e2pdf.properties.getField('g_legend_stroke_colour', el),
6620 + e2pdf.properties.getField('g_legend_stroke_width', el),
6621 + e2pdf.properties.getField('g_legend_entry_width', el),
6622 + e2pdf.properties.getField('g_legend_entry_height', el),
6623 + e2pdf.properties.getField('g_legend_padding_x', el),
6624 + e2pdf.properties.getField('g_legend_padding_y', el),
6625 + e2pdf.properties.getField('g_legend_colour', el),
6626 + e2pdf.properties.getField('g_legend_title', el),
6627 + e2pdf.properties.getField('g_legend_title_font_size', el),
6628 + e2pdf.properties.getField('g_legend_font_size', el),
6629 + e2pdf.properties.getField('g_legend_position_horizontal', el),
6630 + e2pdf.properties.getField('g_legend_position_vertical', el),
6631 + e2pdf.properties.getField('g_legend_position_join', el),
6632 + e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6633 + e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6634 + e2pdf.properties.getField('g_legend_text_side', el),
6635 + e2pdf.properties.getField('g_legend_columns', el),
6636 + e2pdf.properties.getField('g_show_legend', el),
6637 + ],
6638 + 'position': 'left',
6639 + 'classes': [
6640 + 'e2pdf-w100',
6641 + 'e2pdf-w60 e2pdf-pr10',
6642 + 'e2pdf-w40',
6643 + 'e2pdf-w50',
6644 + 'e2pdf-w50 e2pdf-pl10',
6645 + 'e2pdf-w50',
6646 + 'e2pdf-w50 e2pdf-pl10',
6647 + 'e2pdf-w100',
6648 + 'e2pdf-w70 e2pdf-pr10',
6649 + 'e2pdf-w30',
6650 + 'e2pdf-w100',
6651 + 'e2pdf-w33 e2pdf-pr10',
6652 + 'e2pdf-w33',
6653 + 'e2pdf-w33 e2pdf-pl10',
6654 + 'e2pdf-w50 e2pdf-pr10',
6655 + 'e2pdf-w50',
6656 + 'e2pdf-w70 e2pdf-pr10',
6657 + 'e2pdf-w30',
6658 + 'e2pdf-pr10'
6659 + ]
6660 + };
6661 + obj['additional'] = {
6662 + 'name': 'Additional',
6663 + 'fields': [
6664 + e2pdf.properties.getField('g_bubble_scale', el),
6665 + e2pdf.properties.getField('g_increment', el),
6666 + e2pdf.properties.getField('g_stack_group', el),
6667 + e2pdf.properties.getField('g_line_dataset', el),
6668 + e2pdf.properties.getField('g_project_angle', el),
6669 + e2pdf.properties.getField('g_line_curve', el),
6670 + e2pdf.properties.getField('g_depth', el),
6671 + e2pdf.properties.getField('g_aspect_ratio', el),
6672 + e2pdf.properties.getField('g_inner_radius', el),
6673 + e2pdf.properties.getField('g_start_angle', el),
6674 + e2pdf.properties.getField('g_fill_opacity', el)
6675 + ],
6676 + 'position': 'left',
6677 + 'classes': [
6678 + 'e2pdf-w50 e2pdf-pr10',
6679 + 'e2pdf-w50',
6680 + 'e2pdf-w50 e2pdf-pr10',
6681 + 'e2pdf-w50',
6682 + 'e2pdf-w50 e2pdf-pr10',
6683 + 'e2pdf-w50',
6684 + 'e2pdf-w50 e2pdf-pr10',
6685 + 'e2pdf-w50',
6686 + 'e2pdf-w50 e2pdf-pr10',
6687 + 'e2pdf-w50',
6688 + 'e2pdf-w50 e2pdf-pr10',
6689 + ]
6690 + };
6691 + obj['grid'] = {
6692 + 'name': e2pdf.lang.get('Grid'),
6693 + 'fields': [
6694 + e2pdf.properties.getField('g_grid_colour', el),
6695 + e2pdf.properties.getField('g_grid_subdivision_colour', el),
6696 + e2pdf.properties.getField('g_minimum_grid_spacing', el),
6697 + e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6698 + e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6699 + e2pdf.properties.getField('g_grid_dash', el),
6700 + e2pdf.properties.getField('g_grid_dash_h', el),
6701 + e2pdf.properties.getField('g_grid_dash_v', el),
6702 + e2pdf.properties.getField('g_grid_division_h', el),
6703 + e2pdf.properties.getField('g_grid_division_v', el),
6704 + e2pdf.properties.getField('g_show_grid', el),
6705 + e2pdf.properties.getField('g_show_grid_subdivisions', el),
6706 + e2pdf.properties.getField('g_grid_straight', el)
6707 + ],
6708 + 'position': 'right',
6709 + 'classes': [
6710 + 'e2pdf-w100',
6711 + 'e2pdf-w100',
6712 + 'e2pdf-w100',
6713 + 'e2pdf-w50 e2pdf-pr10',
6714 + 'e2pdf-w50',
6715 + 'e2pdf-w100',
6716 + 'e2pdf-w50 e2pdf-pr10',
6717 + 'e2pdf-w50',
6718 + 'e2pdf-w50 e2pdf-pr10',
6719 + 'e2pdf-w50',
6720 + 'e2pdf-pr10',
6721 + 'e2pdf-pr10',
6722 + 'e2pdf-pr10'
6723 + ]
6724 + };
6725 + obj['axis'] = {
6726 + 'name': e2pdf.lang.get('Axis'),
6727 + 'fields': [
6728 + e2pdf.properties.getField('g_axis_colour', el),
6729 + e2pdf.properties.getField('g_axis_font_size', el),
6730 + e2pdf.properties.getField('g_axis_overlap', el),
6731 + e2pdf.properties.getField('g_show_subdivisions', el),
6732 + ],
6733 + 'position': 'right',
6734 + 'classes': [
6735 + 'e2pdf-w60 e2pdf-pr10',
6736 + 'e2pdf-w40',
6737 + 'e2pdf-w100',
6738 + 'e2pdf-w50 e2pdf-pr10',
6739 + ]
6740 + };
6741 + obj['axis_v'] = {
6742 + 'name': e2pdf.lang.get('Axis (V)'),
6743 + 'fields': [
6744 + e2pdf.properties.getField('g_axis_colour_v', el),
6745 + e2pdf.properties.getField('g_axis_font_size_v', el),
6746 + e2pdf.properties.getField('g_axis_font_weight_v', el),
6747 + e2pdf.properties.getField('g_axis_stroke_width_v', el),
6748 + e2pdf.properties.getField('g_show_axis_v', el),
6749 + e2pdf.properties.getField('g_show_axis_text_v', el),
6750 + e2pdf.properties.getField('g_axis_min_v', el),
6751 + e2pdf.properties.getField('g_axis_max_v', el),
6752 + e2pdf.properties.getField('g_axis_min_max_v', el),
6753 + e2pdf.properties.getField('g_axis_text_position_v', el),
6754 + e2pdf.properties.getField('g_axis_text_align_v', el),
6755 + e2pdf.properties.getField('g_axis_text_space_v', el),
6756 + e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6757 + e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6758 + e2pdf.properties.getField('g_units_x', el),
6759 + ],
6760 + 'position': 'right',
6761 + 'classes': [
6762 + 'e2pdf-w60 e2pdf-pr10',
6763 + 'e2pdf-w40',
6764 + 'e2pdf-w100',
6765 + 'e2pdf-w33 e2pdf-pr10',
6766 + 'e2pdf-w33 e2pdf-sublabel',
6767 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6768 + 'e2pdf-w33 e2pdf-pr10',
6769 + 'e2pdf-w33',
6770 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6771 + 'e2pdf-w33 e2pdf-pr10',
6772 + 'e2pdf-w33',
6773 + 'e2pdf-w33 e2pdf-pl10',
6774 + 'e2pdf-w33 e2pdf-pr10',
6775 + 'e2pdf-w33',
6776 + 'e2pdf-w33 e2pdf-pl10',
6777 + ]
6778 + };
6779 + obj['axis_h'] = {
6780 + 'name': e2pdf.lang.get('Axis (H)'),
6781 + 'fields': [
6782 + e2pdf.properties.getField('g_axis_colour_h', el),
6783 + e2pdf.properties.getField('g_axis_font_size_h', el),
6784 + e2pdf.properties.getField('g_axis_font_weight_h', el),
6785 + e2pdf.properties.getField('g_axis_stroke_width_h', el),
6786 + e2pdf.properties.getField('g_show_axis_h', el),
6787 + e2pdf.properties.getField('g_show_axis_text_h', el),
6788 + e2pdf.properties.getField('g_axis_min_h', el),
6789 + e2pdf.properties.getField('g_axis_max_h', el),
6790 + e2pdf.properties.getField('g_axis_min_max_h', el),
6791 + e2pdf.properties.getField('g_axis_text_position_h', el),
6792 + e2pdf.properties.getField('g_axis_text_align_h', el),
6793 + e2pdf.properties.getField('g_axis_text_space_h', el),
6794 + e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6795 + e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6796 + e2pdf.properties.getField('g_units_y', el),
6797 + ],
6798 + 'position': 'right',
6799 + 'classes': [
6800 + 'e2pdf-w60 e2pdf-pr10',
6801 + 'e2pdf-w40',
6802 + 'e2pdf-w100',
6803 + 'e2pdf-w33 e2pdf-pr10',
6804 + 'e2pdf-w33 e2pdf-sublabel',
6805 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6806 + 'e2pdf-w33 e2pdf-pr10',
6807 + 'e2pdf-w33',
6808 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6809 + 'e2pdf-w33 e2pdf-pr10',
6810 + 'e2pdf-w33',
6811 + 'e2pdf-w33 e2pdf-pl10',
6812 + 'e2pdf-w33 e2pdf-pr10',
6813 + 'e2pdf-w33',
6814 + 'e2pdf-w33 e2pdf-pl10',
6815 + ]
6816 + };
6817 + obj['bar'] = {
6818 + 'name': 'Bar',
6819 + 'fields': [
6820 + e2pdf.properties.getField('g_bar_width', el),
6821 + e2pdf.properties.getField('g_bar_width_min', el),
6822 + e2pdf.properties.getField('g_bar_space', el),
6823 + ],
6824 + 'position': 'right',
6825 + 'classes': [
6826 + 'e2pdf-w33 e2pdf-pr10',
6827 + 'e2pdf-w33',
6828 + 'e2pdf-w33 e2pdf-pl10',
6829 + ]
6830 + };
6831 + obj['barlabel'] = {
6832 + 'name': 'Bar Label',
6833 + 'fields': [
6834 + e2pdf.properties.getField('g_bar_label_colour', el),
6835 + e2pdf.properties.getField('g_bar_label_font_size', el),
6836 + e2pdf.properties.getField('g_units_label', el),
6837 + e2pdf.properties.getField('g_data_label_type', el),
6838 + e2pdf.properties.getField('g_bar_label_space', el),
6839 + e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6840 + e2pdf.properties.getField('g_bar_label_position_vertical', el),
6841 + e2pdf.properties.getField('g_bar_label_position_join', el),
6842 + e2pdf.properties.getField('g_show_bar_labels', el),
6843 + ],
6844 + 'position': 'right',
6845 + 'classes': [
6846 + 'e2pdf-w70 e2pdf-pr10',
6847 + 'e2pdf-w30',
6848 + 'e2pdf-w100',
6849 + 'e2pdf-w50 e2pdf-pr10',
6850 + 'e2pdf-w50',
6851 + 'e2pdf-w33 e2pdf-pr10',
6852 + 'e2pdf-w33',
6853 + 'e2pdf-w33 e2pdf-pl10',
6854 + 'e2pdf-pr10',
6855 + ]
6856 + };
6857 + obj['style'] = {
6858 + 'name': e2pdf.lang.get('Style'),
6859 + 'fields': [
6860 + e2pdf.properties.getField('background', el),
6861 + e2pdf.properties.getField('margin_top', el),
6862 + e2pdf.properties.getField('margin_left', el),
6863 + e2pdf.properties.getField('margin_right', el),
6864 + e2pdf.properties.getField('margin_bottom', el),
6865 + e2pdf.properties.getField('padding_top', el),
6866 + e2pdf.properties.getField('padding_left', el),
6867 + e2pdf.properties.getField('padding_right', el),
6868 + e2pdf.properties.getField('padding_bottom', el),
6869 + e2pdf.properties.getField('border_color', el),
6870 + e2pdf.properties.getField('border_top', el),
6871 + e2pdf.properties.getField('border_left', el),
6872 + e2pdf.properties.getField('border_right', el),
6873 + e2pdf.properties.getField('border_bottom', el),
6874 + e2pdf.properties.getField('z_index', el),
6875 + ],
6876 + 'position': 'right',
6877 + 'classes': [
6878 + 'e2pdf-w100',
6879 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6880 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6881 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6882 + 'e2pdf-w25 e2pdf-fnl',
6883 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6884 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6885 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6886 + 'e2pdf-w25 e2pdf-fnl',
6887 + 'e2pdf-w100',
6888 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6889 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6890 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6891 + 'e2pdf-w25 e2pdf-fnl',
6892 + 'e2pdf-w100',
6893 + ]
6894 + };
6895 + obj['structure'] = {
6896 + 'name': e2pdf.lang.get('Structure'),
6897 + 'fields': [
6898 + e2pdf.properties.getField('g_structure_key', el),
6899 + e2pdf.properties.getField('g_structure_value', el),
6900 + e2pdf.properties.getField('g_structure_colour', el),
6901 + e2pdf.properties.getField('g_structure_axis_text', el),
6902 + e2pdf.properties.getField('g_structure_legend_text', el),
6903 + e2pdf.properties.getField('g_structure_label', el),
6904 + e2pdf.properties.getField('g_structure_area', el),
6905 + e2pdf.properties.getField('g_structure_open', el),
6906 + e2pdf.properties.getField('g_structure_end', el),
6907 + e2pdf.properties.getField('g_structure_outliers', el),
6908 + e2pdf.properties.getField('g_structure_top', el),
6909 + e2pdf.properties.getField('g_structure_bottom', el),
6910 + e2pdf.properties.getField('g_structure_wtop', el),
6911 + e2pdf.properties.getField('g_structure_wbottom', el),
6912 + e2pdf.properties.getField('g_structure_high', el),
6913 + e2pdf.properties.getField('g_structure_low', el),
6914 + e2pdf.properties.getField('g_structured_data', el),
6915 + ],
3260 6916 'position': 'bottom',
3261 6917 'classes': [
3262 - 'e2pdf-w100 e2pdf-hide-label',
6918 + 'e2pdf-w33 e2pdf-pr10',
6919 + 'e2pdf-w33',
6920 + 'e2pdf-w33 e2pdf-pl10',
6921 + 'e2pdf-w33 e2pdf-pr10',
6922 + 'e2pdf-w33',
6923 + 'e2pdf-w33 e2pdf-pl10',
6924 + 'e2pdf-w33 e2pdf-pr10',
6925 + 'e2pdf-w33',
6926 + 'e2pdf-w33 e2pdf-pl10',
6927 + 'e2pdf-w33 e2pdf-pr10',
6928 + 'e2pdf-w33',
6929 + 'e2pdf-w33 e2pdf-pl10',
6930 + 'e2pdf-w33 e2pdf-pr10',
6931 + 'e2pdf-w33',
6932 + 'e2pdf-w33 e2pdf-pl10',
6933 + 'e2pdf-w33 e2pdf-pr10',
6934 + 'e2pdf-w33 e2pdf-sublabel',
3263 6935 ]
3264 6936 };
3265 - }
3266 -
3267 - if (el.data('data-type') === 'e2pdf-radio'
3268 - || el.data('data-type') === 'e2pdf-checkbox'
3269 - ) {
3270 - obj['option'] = {
3271 - 'name': e2pdfLang['Option'],
6937 + obj['value'] = {
6938 + 'name': '',
3272 6939 'fields': [
3273 - e2pdf.properties.getField('option', el),
6940 + e2pdf.properties.getField('g_key_sep', el),
6941 + e2pdf.properties.getField('g_array_sep', el),
6942 + e2pdf.properties.getField('g_sub_array_sep', el),
6943 + e2pdf.properties.getField('g_axis_text_callback_y', el),
6944 + e2pdf.properties.getField('g_axis_text_callback_x', el),
6945 + e2pdf.properties.getField('g_legends', el),
6946 + e2pdf.properties.getField('g_colors', el),
6947 + e2pdf.properties.getField('value', el),
6948 + e2pdf.properties.getField('g_multiline', el),
6949 + e2pdf.properties.getField('g_reverse_data', el),
6950 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6951 + e2pdf.properties.getField('preg_pattern', el),
6952 + e2pdf.properties.getField('preg_replacement', el),
6953 + e2pdf.properties.getField('preg_match_all_pattern', el),
6954 + e2pdf.properties.getField('preg_match_all_output', el),
3274 6955 ],
3275 6956 'position': 'bottom',
3276 6957 'classes': [
3277 - 'e2pdf-w100 e2pdf-hide-label',
6958 + 'e2pdf-w33 e2pdf-pr10',
6959 + 'e2pdf-w33',
6960 + 'e2pdf-w33 e2pdf-pl10',
6961 + 'e2pdf-w50 e2pdf-pr10',
6962 + 'e2pdf-w50',
6963 + 'e2pdf-w50 e2pdf-pr10',
6964 + 'e2pdf-w50',
6965 + 'e2pdf-w100 e2pdf-strong-label',
6966 + 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6967 + 'e2pdf-w30 e2pdf-pr10',
6968 + 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6969 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6970 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6971 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6972 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
3278 6973 ]
3279 6974 };
3280 6975 }
3281 6976
3282 - // Options
3283 - if (el.data('data-type') === 'e2pdf-select') {
3284 - obj['options'] = {
3285 - 'name': e2pdfLang['Options'],
6977 + if (el.data('data-type') === 'e2pdf-rectangle') {
6978 + obj['style'] = {
6979 + 'name': e2pdf.lang.get('Style'),
3286 6980 'fields': [
3287 - e2pdf.properties.getField('options', el),
6981 + e2pdf.properties.getField('background', el),
6982 + e2pdf.properties.getField('z_index', el),
3288 6983 ],
3289 6984 'position': 'bottom',
3290 6985 'classes': [
3291 - 'e2pdf-w100 e2pdf-hide-label',
6986 + 'e2pdf-w50 e2pdf-pr10',
6987 + 'e2pdf-w50 e2pdf-pl10',
3292 6988 ]
3293 6989 };
3294 6990 }
3295 6991
3296 - // Value
3297 - if (el.data('data-type') === 'e2pdf-html'
3298 - || el.data('data-type') === 'e2pdf-input'
3299 - || el.data('data-type') === 'e2pdf-textarea'
3300 - || el.data('data-type') === 'e2pdf-radio'
3301 - || el.data('data-type') === 'e2pdf-checkbox'
3302 - || el.data('data-type') === 'e2pdf-select'
3303 - || el.data('data-type') === 'e2pdf-image'
3304 - || el.data('data-type') === 'e2pdf-link'
3305 - || el.data('data-type') === 'e2pdf-signature'
3306 - ) {
6992 + if (el.data('data-type') === 'e2pdf-link') {
6993 + obj['field'] = {
6994 + 'name': e2pdf.lang.get('Field'),
6995 + 'fields': [
6996 + e2pdf.properties.getField('text_color', el),
6997 + e2pdf.properties.getField('text_font', el),
6998 + e2pdf.properties.getField('text_font_size', el),
6999 + e2pdf.properties.getField('text_letter_spacing', el),
7000 + e2pdf.properties.getField('text_line_height', el),
7001 + e2pdf.properties.getField('text_align', el),
7002 + e2pdf.properties.getField('vertical', el),
7003 + e2pdf.properties.getField('rtl', el),
7004 + e2pdf.properties.getField('underline', el),
7005 + ],
7006 + 'position': 'left',
7007 + 'classes': [
7008 + 'e2pdf-w100',
7009 + 'e2pdf-w100',
7010 + 'e2pdf-w50',
7011 + 'e2pdf-w50 e2pdf-pl10',
7012 + 'e2pdf-w50',
7013 + 'e2pdf-w50 e2pdf-pl10',
7014 + 'e2pdf-w70',
7015 + 'e2pdf-w30 e2pdf-pl10',
7016 + 'e2pdf-w33'
7017 + ]
7018 + };
7019 + obj['style'] = {
7020 + 'name': e2pdf.lang.get('Style'),
7021 + 'fields': [
7022 + e2pdf.properties.getField('z_index', el)
7023 + ],
7024 + 'position': 'right',
7025 + 'classes': [
7026 + 'e2pdf-w100'
7027 + ]
7028 + };
3307 7029 obj['value'] = {
3308 - 'name': e2pdfLang['Value'],
7030 + 'name': e2pdf.lang.get('Value'),
3309 7031 'fields': [
7032 + e2pdf.properties.getField('link_label', el),
7033 + e2pdf.properties.getField('link_type', el),
7034 + e2pdf.properties.getField('highlight', el),
3310 7035 e2pdf.properties.getField('value', el),
7036 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
7037 + e2pdf.properties.getField('preg_pattern', el),
7038 + e2pdf.properties.getField('preg_replacement', el),
7039 + e2pdf.properties.getField('preg_match_all_pattern', el),
7040 + e2pdf.properties.getField('preg_match_all_output', el)
3311 7041 ],
3312 7042 'position': 'bottom',
3313 7043 'classes': [
3314 - 'e2pdf-w100 e2pdf-hide-label',
7044 + 'e2pdf-w50 e2pdf-pr10',
7045 + 'e2pdf-w25 e2pdf-pr10',
7046 + 'e2pdf-w25',
7047 + 'e2pdf-w100',
7048 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
7049 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7050 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
7051 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7052 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
3315 7053 ]
3316 7054 };
3317 7055 }
3318 7056 }
3319 7057
3320 - if (actions) {
3321 - // actions
3322 - obj['actions'] = {
3323 - 'name': e2pdfLang['Actions'],
3324 - 'fields': e2pdf.actions.renderFields(el),
3325 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3326 - };
7058 + // tpl-properties
7059 + if (el.data('data-type') === 'e2pdf-tpl') {
7060 + if (actions) {
7061 + if (actions) {
7062 + obj['actions'] = {
7063 + 'name': e2pdf.lang.get('Actions'),
7064 + 'fields': e2pdf.actions.renderFields(el),
7065 + 'position': 'bottom'
7066 + };
7067 + }
7068 + } else {
7069 + obj['value'] = {
7070 + 'name': '',
7071 + 'fields': [
7072 + e2pdf.properties.getField('css', el),
7073 + ],
7074 + 'position': 'bottom',
7075 + 'classes': [
7076 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
7077 + ]
7078 + };
7079 + }
7080 + } else {
7081 + if (actions) {
7082 + obj['actions'] = {
7083 + 'name': e2pdf.lang.get('Actions'),
7084 + 'fields': e2pdf.actions.renderFields(el),
7085 + 'position': 'bottom'
7086 + };
7087 + }
3327 7088 }
3328 -
3329 7089 return obj;
3330 7090 },
3331 - //e2pdf.properties.renderFields
3332 - renderFields: function (el) {
3333 -
3334 - var actions = true;
7091 + // e2pdf.properties.renderFields
7092 + renderFields: function (el, actions = true) {
3335 7093 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3336 7094 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3337 7095 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3338 7096 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3339 7097 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3340 -
3341 - if (el.data('data-type') == 'e2pdf-page') {
7098 + if (el.data('data-type') == 'e2pdf-tpl') {
7099 + fields_top = '';
3342 7100 fields_left = '';
3343 7101 fields_right = '';
3344 - fields_bottom = '';
7102 + } else if (el.data('data-type') == 'e2pdf-page') {
7103 + fields_left = '';
7104 + fields_right = '';
3345 7105 }
3346 7106
3347 7107 var groups = e2pdf.properties.getFields(el, actions);
3348 7108 if (groups) {
3349 7109 for (var group_key in groups) {
3350 -
3351 7110 if (group_key === 'actions') {
3352 -
3353 7111 var group = groups[group_key];
3354 7112 var block = jQuery('<div>');
3355 7113 if (group.name) {
3356 7114 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3356,9 +7114,8 @@
3356 7114 block.append(jQuery('<label>').html(group.name + ':'));
3357 7115 }
3358 7116 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3359 7117 grid.append(group.fields);
3360 -
3361 7118 block.append(grid);
3362 7119 if (group.position === 'top') {
3363 7120 fields_top.append(block);
3364 7121 } else if (group.position === 'left') {
@@ -3367,9 +7124,8 @@
3367 7124 fields_right.append(block);
3368 7125 } else {
3369 7126 fields_bottom.append(block);
3370 7127 }
3371 -
3372 7128 } else {
3373 7129 var group = groups[group_key];
3374 7130 var block = jQuery('<div>');
3375 7131 if (group.name) {
@@ -3384,12 +7140,12 @@
3384 7140 if (group.classes[field_key]) {
3385 7141 classes = group.classes[field_key];
3386 7142 }
3387 7143 }
3388 -
3389 7144 var field = '';
3390 7145 var label = '';
3391 7146 var wrap = '';
7147 + var hidden = '';
3392 7148 if (group_field.type === 'text') {
3393 7149 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3394 7150 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3395 7151 } else if (group_field.type === 'hidden') {
@@ -3395,23 +7151,31 @@
3395 7151 } else if (group_field.type === 'hidden') {
3396 7152 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3397 7153 } else if (group_field.type === 'textarea') {
3398 7154 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3399 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
7155 + var rows = '5';
7156 + if (group_field.key == 'g_legends' || group_field.key == 'g_colors' || group_field.key == 'g_axis_text_callback_x' || group_field.key == 'g_axis_text_callback_y') {
7157 + rows = '3';
7158 + }
7159 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
3400 7160 } else if (group_field.type === 'checkbox') {
3401 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3402 - label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
7161 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7162 + label = group_field.name;
3403 7163 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3404 7164 if (group_field.value == group_field.option) {
3405 - field.attr('checked', 'checked');
7165 + field.prop('checked', true);
3406 7166 }
7167 + if (jQuery.inArray('keep', group_field.atts) !== -1) {
7168 + hidden = jQuery('<input>', {
7169 + type: 'hidden',
7170 + name: group_field.key,
7171 + value: '0'
7172 + });
7173 + }
3407 7174 } else if (group_field.type === 'color') {
3408 7175 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3409 7176 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3410 7177 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3411 - if (group_field.key === 'border_color') {
3412 - field.attr('data-default', '#000000');
3413 - }
3414 7178 } else if (group_field.type === 'select') {
3415 7179 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3416 7180 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3417 7181 for (var option_key in group_field.options) {
@@ -3417,13 +7181,13 @@
3417 7181 for (var option_key in group_field.options) {
3418 7182 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3419 7183 }
3420 7184 field.val(group_field.value);
7185 + } else if (group_field.type === 'link') {
7186 + field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
3421 7187 }
3422 -
3423 7188 for (var att_key in group_field.atts) {
3424 7189 var att = group_field.atts[att_key];
3425 -
3426 7190 switch (att) {
3427 7191 case 'readonly':
3428 7192 field.attr('readonly', 'readonly');
3429 7193 break;
@@ -3432,8 +7196,11 @@
3432 7196 break;
3433 7197 case 'number':
3434 7198 field.addClass('e2pdf-numbers');
3435 7199 break;
7200 + case 'number-negative':
7201 + field.addClass('e2pdf-number-negative');
7202 + break;
3436 7203 case 'autocomplete':
3437 7204 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3438 7205 field.addClass('e2pdf-autocomplete-cl');
3439 7206 field.autocomplete({
@@ -3444,26 +7211,36 @@
3444 7211 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3445 7212 },
3446 7213 classes: {
3447 7214 "ui-autocomplete": "e2pdf-autocomplete"
3448 - },
7215 + }
3449 7216 });
3450 7217 break;
3451 - case 'scale':
3452 - field.addClass('e2pdf-scale-field');
7218 + case 'collapse':
7219 + field.attr('data-collapse', group_field.collapse);
3453 7220 break;
3454 7221 }
3455 7222 }
3456 -
3457 7223 if (!wrap) {
3458 7224 wrap = field;
3459 7225 } else {
3460 7226 wrap.prepend(field);
3461 7227 }
3462 -
3463 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7228 + if (group_field.type === 'checkbox') {
7229 + if (hidden) {
7230 + wrap.prepend(hidden);
7231 + }
7232 + wrap.append(" " + label);
7233 + if (classes.includes('e2pdf-sublabel')) {
7234 + var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7235 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7236 + } else {
7237 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7238 + }
7239 + } else {
7240 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7241 + }
3464 7242 }
3465 -
3466 7243 block.append(grid);
3467 7244 if (group.position === 'top') {
3468 7245 fields_top.append(block);
3469 7246 } else if (group.position === 'left') {
@@ -3475,84 +7252,94 @@
3475 7252 }
3476 7253 }
3477 7254 }
3478 7255 }
3479 -
3480 7256 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3481 7257 return fields;
3482 7258 },
3483 - //e2pdf.properties.apply
3484 - apply: function (el, data) {
7259 + // e2pdf.properties.apply
7260 + apply: function (el, data, onload) {
7261 + if (onload !== true) {
7262 + var groups = e2pdf.properties.getFields(el);
7263 + for (var group_key in groups) {
7264 + var group = groups[group_key];
7265 + for (var field_key in group.fields) {
7266 + var group_field = group.fields[field_key];
7267 + var property = group_field['key'];
7268 + if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7269 + switch (group_field['type']) {
7270 + case 'text':
7271 + if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7272 + delete data[property];
7273 + }
7274 + break;
7275 + case 'color':
7276 + case 'select':
7277 + case 'textarea':
7278 + if (!data[property]) {
7279 + delete data[property];
7280 + }
7281 + break;
7282 + }
7283 + }
7284 + }
7285 + }
7286 + }
3485 7287 el.data('data-properties', JSON.stringify(data));
3486 7288 },
3487 - //e2pdf.properties.set
7289 + // e2pdf.properties.set
3488 7290 set: function (el, key, value) {
3489 7291 var properties = e2pdf.properties.get(el);
3490 7292 properties[key] = value;
3491 7293 e2pdf.properties.apply(el, properties);
3492 7294 },
3493 - //e2pdf.properties.getValue
3494 - getValue: function (el, key) {
7295 + // e2pdf.properties.getValue
7296 + getValue: function (el, key, type = '') {
3495 7297 var properties = e2pdf.properties.get(el);
3496 - return properties[key];
7298 + if (type) {
7299 + if (type == 'string') {
7300 + return e2pdf.helper.getString(properties[key]);
7301 + } else if (type == 'checkbox') {
7302 + return e2pdf.helper.getCheckbox(properties[key]);
7303 + } else if (type == 'int') {
7304 + return e2pdf.helper.getInt(properties[key]);
7305 + } else if (type == 'float') {
7306 + return e2pdf.helper.getFloat(properties[key]);
7307 + } else {
7308 + return '';
7309 + }
7310 + } else if (properties.hasOwnProperty(key)) {
7311 + if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7312 + return e2pdf.helper.toHtml(properties[key]);
7313 + } else {
7314 + return properties[key];
7315 + }
7316 + } else {
7317 + return '';
7318 + }
3497 7319 },
3498 - //e2pdf.properties.get
3499 - get: function (el, submit) {
3500 -
7320 + // e2pdf.properties.get
7321 + get: function (el) {
3501 7322 var properties = [];
3502 -
3503 7323 if (typeof el.data('data-properties') !== 'undefined') {
3504 7324 properties = JSON.parse(el.data('data-properties'));
3505 -
3506 - if (el.data('data-type') !== 'e2pdf-page') {
3507 - if (!("width" in properties)) {
3508 - properties['width'] = parseFloat(el.css('width'));
3509 - } else {
3510 - properties['width'] = parseFloat(properties['width']);
3511 - }
3512 -
3513 - if (!("height" in properties)) {
3514 - properties['height'] = parseFloat(el.css('height'));
3515 - } else {
3516 - properties['height'] = parseFloat(properties['height']);
3517 - }
3518 -
3519 - if (!("top" in properties)) {
3520 - properties['top'] = parseFloat(el.css('top'));
3521 - } else {
3522 - properties['top'] = parseFloat(properties['top']);
3523 - }
3524 -
3525 - if (!("left" in properties)) {
3526 - properties['left'] = parseFloat(el.css('left'));
3527 - } else {
3528 - properties['left'] = parseFloat(properties['left']);
3529 - }
3530 -
3531 - if (submit) {
3532 - delete properties['width'];
3533 - delete properties['height'];
3534 - delete properties['value'];
3535 - delete properties['top'];
3536 - delete properties['left'];
3537 - delete properties['element_type'];
3538 - delete properties['element_id'];
3539 - delete properties['page_id'];
3540 - }
7325 + if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7326 + properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7327 + properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7328 + properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7329 + properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
3541 7330 }
3542 7331 }
3543 -
3544 7332 return properties;
3545 7333 },
3546 - //e2pdf.properties.render
7334 + // e2pdf.properties.render
3547 7335 render: function (el) {
3548 7336 var properties = e2pdf.properties.get(el);
3549 7337 var children = e2pdf.element.children(el);
3550 - if (properties.hasOwnProperty("options")) {
3551 - var property = "options";
7338 + if (properties.hasOwnProperty('options')) {
3552 7339 if (el.data('data-type') === 'e2pdf-select') {
3553 7340 children.find('option').remove();
3554 - var options = properties[property].split("\n");
7341 + var options = properties['options'].split("\n");
3555 7342 if (typeof options !== 'undefined' && options.length > 0) {
3556 7343 for (var key in options) {
3557 7344 children.append(
3558 7345 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3560,281 +7347,199 @@
3560 7347 }
3561 7348 }
3562 7349 }
3563 7350 }
3564 -
3565 - // value render
3566 - if (properties.hasOwnProperty("value")) {
3567 - var property = "value";
3568 - if (el.data('data-type') === 'e2pdf-html') {
3569 - children.html(properties[property]);
3570 - } else if (el.data('data-type') === 'e2pdf-input') {
3571 - children.val(properties[property]);
3572 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3573 - children.val(properties[property]);
3574 - } else if (el.data('data-type') === 'e2pdf-select') {
3575 - children.val(properties[property]);
3576 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3577 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3578 - children.attr('checked', 'checked');
7351 + switch (el.data('data-type')) {
7352 + case 'e2pdf-html':
7353 + var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7354 + if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7355 + children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7356 + children = e2pdf.element.children(el);
7357 + } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7358 + children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7359 + children = e2pdf.element.children(el);
7360 + }
7361 + if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7362 + e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7363 + children.val(e2pdf.helper.getString(properties['value']));
3579 7364 } else {
3580 - children.attr('checked', false);
7365 + e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7366 + children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
3581 7367 }
3582 - } else if (el.data('data-type') === 'e2pdf-image') {
7368 + break;
7369 + case 'e2pdf-page-number':
7370 + children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7371 + break;
7372 + case 'e2pdf-link':
7373 + children.text(e2pdf.helper.getString(properties['link_label']));
7374 + break;
7375 + case 'e2pdf-input':
7376 + case 'e2pdf-textarea':
7377 + case 'e2pdf-select':
7378 + children.val(e2pdf.helper.getString(properties['value']));
7379 + break;
7380 + case 'e2pdf-checkbox':
7381 + if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7382 + children.prop('checked', true);
7383 + } else {
7384 + children.prop('checked', false);
7385 + }
7386 + break;
7387 + case 'e2pdf-radio':
7388 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7389 + var radio = jQuery(this).parent();
7390 + var radio_properties = e2pdf.properties.get(radio);
7391 + if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7392 + e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7393 + e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7394 + e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7395 + if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7396 + jQuery(this).prop('checked', true);
7397 + } else {
7398 + jQuery(this).prop('checked', false);
7399 + }
7400 + }
7401 + });
7402 + break;
7403 + case 'e2pdf-image':
7404 + case 'e2pdf-qrcode':
7405 + case 'e2pdf-barcode':
7406 + case 'e2pdf-signature':
7407 + case 'e2pdf-graph':
3583 7408 e2pdf.helper.image.load(el);
3584 - }
7409 + break;
3585 7410 }
3586 7411
3587 - if (properties.hasOwnProperty("group")) {
3588 - var property = "group";
3589 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3590 - var radio = jQuery(this).parent();
3591 - var group = e2pdf.properties.getValue(radio, 'group');
3592 - if (group === properties[property]) {
3593 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3594 - e2pdf.properties.set(radio, 'required', properties['required']);
3595 - e2pdf.properties.set(radio, 'value', properties['value']);
3596 - var option = e2pdf.properties.getValue(radio, 'option');
3597 - if (properties['value'] === option) {
3598 - jQuery(this).attr('checked', 'checked');
3599 - } else {
3600 - jQuery(this).attr('checked', false);
3601 - }
3602 - }
3603 - });
3604 - }
3605 -
3606 - // multiline
3607 7412 if (el.data('data-type') === 'e2pdf-select') {
3608 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3609 - var property = "multiline";
3610 - children.attr('multiple', true);
3611 - } else {
3612 - children.attr('multiple', false);
3613 - }
7413 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3614 7414 }
3615 7415
3616 - // z_index render
3617 - if (properties.hasOwnProperty("z_index")) {
3618 - var property = "z_index";
3619 - el.css('z-index', properties[property]);
7416 + if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7417 + children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
3620 7418 }
3621 7419
3622 - // rtl
3623 - if (el.data('data-type') === 'e2pdf-select'
3624 - || el.data('data-type') === 'e2pdf-input'
3625 - || el.data('data-type') === 'e2pdf-textarea'
3626 - || el.data('data-type') === 'e2pdf-html') {
3627 - if (properties.hasOwnProperty("rtl")) {
3628 - children.attr('dir', 'rtl');
7420 + el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7421 + if (el.data('data-type') === 'e2pdf-select' ||
7422 + el.data('data-type') === 'e2pdf-input' ||
7423 + el.data('data-type') === 'e2pdf-textarea' ||
7424 + el.data('data-type') === 'e2pdf-html' ||
7425 + el.data('data-type') === 'e2pdf-page-number') {
7426 + if (e2pdf.helper.getString(properties['rtl']) != '') {
7427 + children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
3629 7428 } else {
3630 7429 children.attr('dir', false);
3631 7430 }
3632 7431 }
3633 7432
3634 - // background render
3635 - if (properties.hasOwnProperty("background")) {
3636 - var property = "background";
3637 - if (el.data('data-type') === 'e2pdf-radio'
3638 - || el.data('data-type') === 'e2pdf-checkbox'
3639 - ) {
3640 - children.css('background', properties[property]);
3641 - } else {
3642 - el.css('background', properties[property]);
3643 - }
7433 + if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7434 + children.css('background', e2pdf.helper.getString(properties['background']));
7435 + } else {
7436 + el.css('background', e2pdf.helper.getString(properties['background']));
3644 7437 }
3645 7438
3646 - if (properties.hasOwnProperty("border_top")) {
3647 - var property = "border_top";
3648 - // border_top render
3649 - if (properties[property] != '0') {
3650 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3651 - } else {
3652 - el.css('border-top', '');
3653 - }
7439 + if (el.data('data-type') === 'e2pdf-input' ||
7440 + el.data('data-type') === 'e2pdf-textarea' ||
7441 + el.data('data-type') === 'e2pdf-select' ||
7442 + el.data('data-type') === 'e2pdf-radio' ||
7443 + el.data('data-type') === 'e2pdf-checkbox'
7444 + ) {
7445 + children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7446 + } else {
7447 + el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7448 + el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7449 + el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7450 + el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
3654 7451 }
3655 7452
3656 - if (properties.hasOwnProperty("border_left")) {
3657 - var property = "border_left";
3658 - // border_left render
3659 - if (properties[property] != '0') {
3660 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
3661 - } else {
3662 - el.css('border-left', '');
3663 - }
7453 + el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7454 + el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7455 + el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7456 + el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7457 + if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7458 + el.css('color', e2pdf.helper.getString(properties['text_color']));
7459 + } else if (el.data('data-type') === 'e2pdf-input' ||
7460 + el.data('data-type') === 'e2pdf-textarea' ||
7461 + el.data('data-type') === 'e2pdf-select' ||
7462 + el.data('data-type') === 'e2pdf-radio' ||
7463 + el.data('data-type') === 'e2pdf-checkbox'
7464 + ) {
7465 + children.css('color', e2pdf.helper.getString(properties['text_color']));
3664 7466 }
3665 7467
3666 - if (properties.hasOwnProperty("border_right")) {
3667 - var property = "border_right";
3668 - // border_right render
3669 - if (properties[property] != '0') {
3670 - el.css('border-right', properties[property] + 'px solid ' + properties['border_color']);
7468 + var font = e2pdf.helper.getString(properties['text_font']);
7469 + if (font) {
7470 + var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7471 + if (typeof path === 'undefined') {
7472 + el.css('font-family', '');
3671 7473 } else {
3672 - el.css('border-right', '');
3673 - }
3674 - }
3675 -
3676 - if (properties.hasOwnProperty("border_bottom")) {
3677 - var property = "border_bottom";
3678 - // border_bottom render
3679 - if (properties[property] != '0') {
3680 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
3681 - } else {
3682 - el.css('border-bottom', '');
3683 - }
3684 - }
3685 -
3686 - if (properties.hasOwnProperty("padding_top")) {
3687 - var property = "padding_top";
3688 - el.css('padding-top', properties[property] + 'px');
3689 - }
3690 -
3691 - if (properties.hasOwnProperty("padding_left")) {
3692 - var property = "padding_left";
3693 - el.css('padding-left', properties[property] + 'px');
3694 - }
3695 -
3696 - if (properties.hasOwnProperty("padding_right")) {
3697 - var property = "padding_right";
3698 - el.css('padding-right', properties[property] + 'px');
3699 - }
3700 -
3701 - if (properties.hasOwnProperty("padding_bottom")) {
3702 - var property = "padding_bottom";
3703 - el.css('padding-bottom', properties[property] + 'px');
3704 - }
3705 -
3706 - if (properties.hasOwnProperty("border")) {
3707 - var property = "border";
3708 - if (el.data('data-type') === 'e2pdf-input'
3709 - || el.data('data-type') === 'e2pdf-textarea'
3710 - || el.data('data-type') === 'e2pdf-select'
3711 - || el.data('data-type') === 'e2pdf-radio'
3712 - || el.data('data-type') === 'e2pdf-checkbox'
3713 - ) {
3714 - if (properties[property] != '0') {
3715 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
3716 - } else {
3717 - children.css('border', '');
3718 - }
3719 - }
3720 - }
3721 -
3722 - if (properties.hasOwnProperty("text_color")) {
3723 - var property = "text_color";
3724 - if (el.data('data-type') === 'e2pdf-html') {
3725 - el.css('color', properties[property]);
3726 - } else if (el.data('data-type') === 'e2pdf-input'
3727 - || el.data('data-type') === 'e2pdf-textarea'
3728 - || el.data('data-type') === 'e2pdf-select'
3729 - || el.data('data-type') === 'e2pdf-radio'
3730 - || el.data('data-type') === 'e2pdf-checkbox'
3731 - ) {
3732 - children.css('color', properties[property]);
3733 - }
3734 - }
3735 -
3736 - if (properties.hasOwnProperty("text_font")) {
3737 - var property = "text_font";
3738 - if (properties[property] && properties[property] !== "") {
3739 - var path = jQuery('#e2pdf-wysiwyg-font').find("[value='" + properties[property] + "']").attr('path');
3740 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
7474 + var tmp = jQuery('<div>', {'name': font, 'path': path});
3741 7475 e2pdf.font.load(tmp);
3742 - el.css('font-family', properties[property]);
3743 - } else {
3744 - el.css('font-family', '');
7476 + el.css('font-family', CSS.escape(font));
3745 7477 }
7478 + } else {
7479 + el.css('font-family', '');
3746 7480 }
3747 7481
3748 - if (properties.hasOwnProperty("text_font_size")) {
3749 - var property = "text_font_size";
3750 - if (properties[property] !== '') {
3751 - el.css('font-size', properties[property] + "px");
3752 - } else {
3753 - el.css('font-size', '');
3754 - }
7482 + el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7483 + el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7484 + children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7485 + if (el.data('data-type') === 'e2pdf-textarea') {
7486 + children.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
7487 + } else {
7488 + el.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
3755 7489 }
3756 7490
3757 - if (properties.hasOwnProperty("text_line_height")) {
3758 - var property = "text_line_height";
3759 - //backward compatiability with input
3760 - if (properties[property] !== '' && properties[property] !== '0') {
3761 - if (el.data('data-type') === 'e2pdf-textarea') {
3762 - children.css('line-height', properties[property] + "px");
3763 - } else {
3764 - el.css('line-height', properties[property] + "px");
3765 - }
7491 + if (el.closest('.e2pdf-page').length > 0) {
7492 + var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7493 + var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7494 + var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7495 + if (height > page_h) {
7496 + var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7497 + el.css('top', top + 'px');
3766 7498 } else {
3767 - if (el.data('data-type') === 'e2pdf-textarea') {
3768 - children.css('line-height', '');
3769 - } else {
3770 - el.css('line-height', '');
3771 - }
7499 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3772 7500 }
3773 - }
3774 7501
3775 - if (properties.hasOwnProperty("top")) {
3776 - var property = "top";
3777 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3778 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3779 - var top = page_height - parseFloat(el.css('height'));
3780 - el.css('top', top + "px");
3781 - } else if (properties[property] >= 0) {
3782 - el.css('top', properties[property] + "px");
3783 - }
3784 - }
3785 -
3786 - if (properties.hasOwnProperty("left")) {
3787 - var property = "left";
3788 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3789 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3790 - var left = page_width - parseFloat(el.css('width'));
7502 + var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7503 + if (width > page_w) {
7504 + var left = page_w - e2pdf.helper.getFloat(el.css('width'));
3791 7505 el.css('left', left + "px");
3792 - } else if (properties[property] >= 0) {
3793 - el.css('left', properties[property] + "px");
7506 + } else {
7507 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3794 7508 }
3795 - }
3796 7509
3797 - if (properties.hasOwnProperty("text_align")) {
3798 - var property = "text_align";
3799 - children.css('text-align', properties[property]);
3800 - }
3801 -
3802 - // width render
3803 - if (properties.hasOwnProperty("width")) {
3804 - var property = "width";
3805 - var width = parseFloat(properties[property]);
3806 - var left = parseFloat(el.css('left'));
3807 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
7510 + var width = e2pdf.helper.getFloat(properties['width']);
7511 + var left = e2pdf.helper.getFloat(el.css('left'));
3808 7512 if (width > 0) {
3809 - if (width > page_width - left) {
3810 - el.css('width', page_width - left);
3811 - e2pdf.properties.set(el, 'width', page_width - left);
7513 + if (width > page_w - left) {
7514 + el.css('width', page_w - left);
7515 + e2pdf.properties.set(el, 'width', page_w - left);
3812 7516 } else {
3813 - el.css('width', properties[property]);
7517 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
3814 7518 }
3815 7519 }
3816 - }
3817 7520
3818 - // height render
3819 - if (properties.hasOwnProperty("height")) {
3820 - var property = "height";
3821 - // height render
3822 - var height = parseFloat(properties[property]);
3823 - var top = parseFloat(el.css('top'));
3824 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
7521 + var height = e2pdf.helper.getFloat(properties['height']);
7522 + var top = e2pdf.helper.getFloat(el.css('top'));
3825 7523 if (height > 0) {
3826 - if (height > page_height - top) {
3827 - el.css('height', page_height - top);
3828 - e2pdf.properties.set(el, 'width', page_height - top);
7524 + if (height > page_h - top) {
7525 + el.css('height', page_h - top);
7526 + e2pdf.properties.set(el, 'height', page_h - top);
3829 7527 } else {
3830 - el.css('height', properties[property]);
7528 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
3831 7529 }
3832 7530 }
3833 7531 }
7532 +
7533 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7534 + el.addClass('e2pdf-locked');
7535 + } else {
7536 + el.removeClass('e2pdf-locked');
7537 + }
3834 7538 }
7539 +
3835 7540 },
3836 - //e2pdf.welcomeScreen
7541 + // e2pdf.welcomeScreen
3837 7542 welcomeScreen: function () {
3838 7543 if (jQuery('.e2pdf-page').length === 0) {
3839 7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3840 7545 e2pdf.dialog.create(el);
@@ -3839,41 +7544,55 @@
3839 7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3840 7545 e2pdf.dialog.create(el);
3841 7546 }
3842 7547 },
3843 - //e2pdf.createPdf
7548 + // e2pdf.createPdf
3844 7549 createPdf: function (el) {
3845 7550 var item = false;
7551 + var item1 = false;
7552 + var item2 = false;
3846 7553 var action = el.attr('data-action');
3847 7554 var data = e2pdf.form.serializeObject(el.closest('form'));
7555 + if (action !== 'upload') {
7556 + var disabled_settings = [
7557 + 'title', 'preset', 'font', 'font_size', 'line_height'
7558 + ];
7559 + for (var key in data) {
7560 + if (jQuery.inArray(key, disabled_settings) === -1) {
7561 + if (key == 'activated') {
7562 + e2pdf.pdf.settings.change(key, data[key]);
7563 + } else {
7564 + e2pdf.pdf.settings.change(key, data[key]);
7565 + }
7566 + }
3848 7567
3849 - var disabled_settings = [
3850 - 'title', 'preset', 'font', 'font_size', 'line_height'
3851 - ];
7568 + if (key === 'font') {
7569 + jQuery('#e2pdf-font').val(data[key]);
7570 + }
3852 7571
3853 - for (var key in data) {
3854 - if (jQuery.inArray(key, disabled_settings) === -1) {
3855 - if (key == 'activated') {
3856 - e2pdf.pdf.settings.change(key, data[key]);
3857 - } else {
3858 - e2pdf.pdf.settings.change(key, data[key]);
7572 + if (key === 'font_size') {
7573 + jQuery('#e2pdf-font-size').val(data[key]);
3859 7574 }
3860 - }
3861 7575
3862 - if (key === 'font') {
3863 - jQuery('#e2pdf-font').val(data[key]);
3864 - }
7576 + if (key === 'line_height') {
7577 + jQuery('#e2pdf-line-height').val(data[key]);
7578 + }
3865 7579
3866 - if (key === 'font_size') {
3867 - jQuery('#e2pdf-font-size').val(data[key]);
3868 - }
7580 + if (key === 'title') {
7581 + jQuery('#e2pdf-title').val(data[key]);
7582 + }
3869 7583
3870 - if (key === 'line_height') {
3871 - jQuery('#e2pdf-line-height').val(data[key]);
7584 + if (key === 'text_align') {
7585 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7586 + }
7587 +
7588 + if (key === 'rtl') {
7589 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7590 + }
3872 7591 }
3873 7592
3874 - if (key === 'title') {
3875 - jQuery('#e2pdf-title').val(data[key]);
7593 + if (!data['rtl']) {
7594 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3876 7595 }
3877 7596 }
3878 7597
3879 7598 if (action === 'apply') {
@@ -3878,15 +7597,15 @@
3878 7597
3879 7598 if (action === 'apply') {
3880 7599 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3881 7600 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3882 - var option = el.closest('form').find('#e2pdf-item option:selected');
7601 + var option = el.closest('form').find('.e2pdf-item option:selected');
3883 7602 if (option && typeof option.data('data-item') !== 'undefined') {
3884 7603 item = option.data('data-item');
3885 7604 }
3886 7605
3887 7606 if (item && item.id == '-1') {
3888 - if (!confirm(e2pdfLang['All Field Values will be overwritten! Are you sure want to continue?'])) {
7607 + if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
3889 7608 return false;
3890 7609 }
3891 7610 el.attr('form-id', 'e2pdf-build-form');
3892 7611 el.attr('action', 'e2pdf_save_form');
@@ -3893,14 +7612,33 @@
3893 7612 e2pdf.static.unsaved = false;
3894 7613 e2pdf.request.submitForm(el);
3895 7614 return;
3896 7615 } else {
7616 + if (item && item.id == '-2') {
7617 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7618 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7619 + item1 = option1.data('data-item');
7620 + if (item1.id == '-1') {
7621 + item1 = false;
7622 + }
7623 + }
7624 +
7625 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7626 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7627 + item2 = option2.data('data-item');
7628 + if (item2.id == '-1') {
7629 + item2 = false;
7630 + }
7631 + }
7632 + }
7633 +
7634 + e2pdf.pages.changeTplSize(width, height);
3897 7635 jQuery('.ui-dialog-content').dialog('close');
3898 7636 }
3899 7637 } else if (action === 'empty') {
3900 7638 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3901 7639 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3902 - var option = el.closest('form').find('#e2pdf-item option:selected');
7640 + var option = el.closest('form').find('.e2pdf-item option:selected');
3903 7641 if (option && typeof option.data('data-item') !== 'undefined') {
3904 7642 item = option.data('data-item');
3905 7643 if (item.id == '-1') {
3906 7644 item = false;
@@ -3905,14 +7643,31 @@
3905 7643 if (item.id == '-1') {
3906 7644 item = false;
3907 7645 }
3908 7646 }
7647 + if (item && item.id == '-2') {
7648 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7649 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7650 + item1 = option1.data('data-item');
7651 + if (item1.id == '-1') {
7652 + item1 = false;
7653 + }
7654 + }
7655 +
7656 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7657 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7658 + item2 = option2.data('data-item');
7659 + if (item2.id == '-1') {
7660 + item2 = false;
7661 + }
7662 + }
7663 + }
3909 7664 e2pdf.pages.changeTplSize(width, height);
3910 7665 e2pdf.pages.createPage();
3911 7666 jQuery('.ui-dialog-content').dialog('close');
3912 7667 } else if (action === 'auto') {
3913 - var extension = el.closest('form').find('#e2pdf-extension').val();
3914 - var option = el.closest('form').find('#e2pdf-item option:selected');
7668 + var extension = el.closest('form').find('.e2pdf-extension').val();
7669 + var option = el.closest('form').find('.e2pdf-item option:selected');
3915 7670 if (option && typeof option.data('data-item') !== 'undefined') {
3916 7671 item = option.data('data-item');
3917 7672 if (item.id == '-1') {
3918 7673 item = false;
@@ -3917,149 +7672,145 @@
3917 7672 if (item.id == '-1') {
3918 7673 item = false;
3919 7674 }
3920 7675 }
7676 + if (item && item.id == '-2') {
7677 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7678 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7679 + item1 = option1.data('data-item');
7680 + if (item1.id == '-1') {
7681 + item1 = false;
7682 + }
7683 + }
7684 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7685 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7686 + item2 = option2.data('data-item');
7687 + if (item2.id == '-1') {
7688 + item2 = false;
7689 + }
7690 + }
7691 + }
3921 7692 var data = {};
3922 7693 data['extension'] = extension;
3923 7694 data['item'] = item ? item.id : '';
7695 + data['item1'] = item1 ? item1.id : '';
7696 + data['item2'] = item2 ? item2.id : '';
7697 + data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7698 + data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
3924 7699 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3925 7700 } else if (action === 'upload') {
3926 7701 if (e2pdf.pdf.settings.get('ID')) {
3927 - if (!confirm(e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'])) {
7702 + if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
3928 7703 return false;
3929 7704 }
3930 7705 }
3931 - jQuery('#e2pdf-upload-pdf').click();
7706 + jQuery('.e2pdf-upload-pdf').click();
3932 7707 }
3933 -
3934 7708 if (action === 'apply' || action === 'empty' || action === 'auto') {
3935 7709 var link = jQuery('<a>', {
3936 7710 'href': 'javascript:void(0);',
3937 - 'class': 'e2pdf-link e2pdf-modal',
7711 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
3938 7712 'data-modal': 'tpl-options'
3939 - }).html(e2pdfLang['None']);
3940 -
7713 + }).html(e2pdf.lang.get('Not linked'));
3941 7714 if (item && item.id) {
3942 - link = jQuery('<a>', {
3943 - 'target': '_blank',
3944 - 'href': item.url,
3945 - 'class': 'e2pdf-link',
3946 - }).html(item.name);
7715 + if (item.id == '-2') {
7716 + if ((item1 && item1.id) || (item2 && item2.id)) {
7717 + var link = jQuery('<span>');
7718 + if (item1 && item1.id) {
7719 + link.append(jQuery('<a>', {
7720 + 'target': '_blank',
7721 + 'href': item1.url,
7722 + 'class': 'e2pdf-link'
7723 + }).html(item1.name));
7724 + }
7725 + if (item1 && item1.id && item2 && item2.id) {
7726 + link.append(' | ');
7727 + }
7728 + if (item2 && item2.id) {
7729 + link.append(jQuery('<a>', {
7730 + 'target': '_blank',
7731 + 'href': item2.url,
7732 + 'class': 'e2pdf-link'
7733 + }).html(item2.name));
7734 + }
7735 + link.removeClass('e2pdf-color-red');
7736 + }
7737 + } else {
7738 + link = jQuery('<a>', {
7739 + 'target': '_blank',
7740 + 'href': item.url,
7741 + 'class': 'e2pdf-link'
7742 + }).html(item.name);
7743 + link.removeClass('e2pdf-color-red');
7744 + }
3947 7745 }
3948 7746 jQuery('#e2pdf-post-item').html(link);
3949 7747 }
3950 7748
7749 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3951 7750 e2pdf.font.load(jQuery('#e2pdf-font'));
3952 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3953 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3954 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3955 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7751 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7752 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7753 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7754 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
3956 7755 e2pdf.event.fire('after.createPdf');
3957 7756 },
3958 - //e2pdf.pages
7757 + // e2pdf.pages
3959 7758 pages: {
3960 - //e2pdf.pages.rebuildPages
3961 - rebuildPages: function () {
3962 - jQuery('.e2pdf-page').each(function (index) {
3963 -
3964 - if (!e2pdf.pdf.settings.get('pdf')) {
3965 - if (index + 1 === 1) {
3966 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3967 - } else {
3968 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3969 - }
3970 -
3971 - if (index + 1 === jQuery('.e2pdf-page').length) {
3972 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3973 - } else {
3974 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3975 - }
7759 + // e2pdf.pages.initEvents
7760 + initEvents: function (page) {
7761 + page.off('contextmenu');
7762 + page.contextmenu(function (e) {
7763 + if (jQuery(e.target).hasClass('e2pdf-page')) {
7764 + e2pdf.contextMenu(e, page);
7765 + e.preventDefault();
3976 7766 }
3977 -
3978 - jQuery(this).attr('data-page_id', index + 1);
3979 7767 });
3980 - e2pdf.welcomeScreen();
3981 - },
3982 - //e2pdf.pages.createPage
3983 - createPage: function (page, properties, actions) {
3984 - e2pdf.pages.rebuildPages();
3985 - var newpage = true;
3986 - if (page) {
3987 - var newpage = false;
3988 - }
7768 + if (page.hasClass('ui-droppable')) {
7769 + try {
7770 + page.droppable('destroy');
7771 + page.removeData('ui-droppable');
7772 + } catch (e) {
3989 7773
3990 - if (!properties) {
3991 - var properties = {};
7774 + }
3992 7775 }
3993 -
3994 - if (!actions) {
3995 - var actions = {};
3996 - }
3997 -
3998 - if (newpage) {
3999 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
4000 - var page = jQuery('<div>', {
4001 - 'class': 'e2pdf-page ui-droppable',
4002 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
4003 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
4004 - 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
4005 - 'data-height': jQuery('.e2pdf-tpl').attr('data-height'),
4006 - }).attr('data-page_id', page_id).append(
4007 - jQuery('<div>', {'class': 'page-options-icons'}).append(
4008 - jQuery('<a>', {
4009 - 'href': 'javascript:void(0);',
4010 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
4011 - }).append(
4012 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
4013 - ),
4014 - jQuery('<a>', {
4015 - 'href': 'javascript:void(0);',
4016 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
4017 - }).append(
4018 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
4019 - ),
4020 - jQuery('<a>', {
4021 - 'href': 'javascript:void(0);',
4022 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
4023 - 'data-modal': 'page-options'
4024 - }).append(
4025 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
4026 - ),
4027 - jQuery('<a>', {
4028 - 'href': 'javascript:void(0);',
4029 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
4030 - }).append(
4031 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
4032 - ),
4033 - ),
4034 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
4035 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
4036 - );
4037 - }
4038 -
4039 - page.data('data-type', 'e2pdf-page');
4040 -
4041 - e2pdf.properties.apply(page, properties);
4042 - e2pdf.actions.apply(page, actions);
4043 -
4044 7776 page.droppable({
4045 7777 over: function (ev, ui) {
4046 7778 e2pdf.static.drag.page = jQuery(this);
4047 7779 e2pdf.static.guide.guides = [];
7780 + if ((jQuery(ui.draggable).attr('data-type') == 'e2pdf-qrcode' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-barcode' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-graph' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-signature' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-image') && !jQuery(ui.helper).data('original-width') && (jQuery(ui.helper).width() > e2pdf.static.drag.page.width() || jQuery(ui.helper).height() > e2pdf.static.drag.page.height())) {
7781 + jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7782 + jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7783 + var coeff = 1;
7784 + if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7785 + coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7786 + } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7787 + coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7788 + }
7789 + jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7790 + jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7791 + }
4048 7792
4049 7793 if (ui.draggable.hasClass('e2pdf-clone')) {
4050 - jQuery(this).find(".e2pdf-element").each(function () {
7794 + jQuery(this).find('.e2pdf-element').each(function () {
4051 7795 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
4052 7796 });
4053 7797 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
4054 7798 } else {
4055 - e2pdf.static.guide.guides = jQuery.map(jQuery(this).find(".e2pdf-element").not('.e2pdf-selected'), e2pdf.guide.calc);
7799 + e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
4056 7800 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
4057 7801 }
4058 7802 },
4059 - out: function (ev) {
7803 + out: function (ev, ui) {
4060 7804 e2pdf.static.drag.page = null;
4061 7805 e2pdf.static.guide.guides = [];
7806 + if (jQuery(ui.helper).data('original-width')) {
7807 + jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7808 + jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7809 + jQuery(ui.helper).removeData('original-width');
7810 + jQuery(ui.helper).removeData('original-height');
7811 + }
7812 +
4062 7813 },
4063 7814 deactivate: function (ev) {
4064 7815 e2pdf.static.drag.page = null;
4065 7816 e2pdf.static.guide.guides = [];
@@ -4068,13 +7819,12 @@
4068 7819 if (ui.draggable.hasClass('e2pdf-clone')) {
4069 7820 var type = jQuery(ui.draggable).attr('data-type');
4070 7821 var page = jQuery(this).closest('.e2pdf-page');
4071 7822 var pos = {
4072 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
4073 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
4074 - right: Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.zoom),
7823 + top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.scale - 1)),
7824 + left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.scale - 1)),
7825 + right: Math.round(Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.scale))
4075 7826 };
4076 -
4077 7827 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
4078 7828 return false;
4079 7829 }
4080 7830
@@ -4082,23 +7832,25 @@
4082 7832 properties['width'] = jQuery(ui.helper).css('width');
4083 7833 properties['height'] = jQuery(ui.helper).css('height');
4084 7834 properties['top'] = pos.top;
4085 7835 properties['left'] = pos.left;
4086 - properties['value'] = jQuery(ui.draggable).attr('data-value');
4087 - //changed
4088 7836 var el = e2pdf.element.create(type, page, properties, false, true);
4089 7837 jQuery(this).append(el);
4090 7838 e2pdf.properties.render(el);
7839 + var history = [];
7840 + history.push(el.clone(true));
7841 + e2pdf.history.set('element_create', history);
4091 7842 }
4092 7843 e2pdf.static.drag.page = null;
4093 7844 }
4094 7845 });
4095 - page.contextmenu(function (e) {
4096 - if (jQuery(e.target).hasClass('e2pdf-page')) {
4097 - e2pdf.contextMenu(e, page);
4098 - e.preventDefault();
7846 + if (page.hasClass('ui-selectable')) {
7847 + try {
7848 + page.selectable('destroy');
7849 + page.removeData('selectable');
7850 + } catch (e) {
4099 7851 }
4100 - });
7852 + }
4101 7853 page.selectable(
4102 7854 {
4103 7855 filter: '.e2pdf-element',
4104 7856 cancel: 'a,.e2pdf-element',
@@ -4103,21 +7855,114 @@
4103 7855 filter: '.e2pdf-element',
4104 7856 cancel: 'a,.e2pdf-element',
4105 7857 distance: 10,
4106 7858 selecting: function (event, ui) {
4107 - jQuery(ui.selecting).addClass('e2pdf-selected');
7859 + if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7860 + jQuery(ui.selecting).addClass('e2pdf-selected');
7861 + }
4108 7862 },
4109 7863 unselecting: function (event, ui) {
4110 7864 jQuery(ui.unselecting).removeClass('e2pdf-selected');
4111 7865 },
4112 7866 selected: function (event, ui) {
4113 - e2pdf.element.select(jQuery(ui.selected));
7867 + if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7868 + e2pdf.element.select(jQuery(ui.selected));
7869 + }
4114 7870 },
4115 7871 unselected: function (event, ui) {
4116 7872 e2pdf.element.unselect(jQuery(ui.unselected));
4117 7873 }
4118 - });
7874 + }
7875 + );
7876 + },
7877 + // e2pdf.pages.source
7878 + source: function (page_id) {
7879 + var page = jQuery('<div>', {
7880 + 'class': 'e2pdf-page ui-droppable',
7881 + 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7882 + 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7883 + 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7884 + 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7885 + }).attr('data-page_id', page_id).append(
7886 + jQuery('<div>', {'class': 'page-options-icons'}).append(
7887 + jQuery('<a>', {
7888 + 'href': 'javascript:void(0);',
7889 + 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7890 + }).append(
7891 + jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7892 + ),
7893 + jQuery('<a>', {
7894 + 'href': 'javascript:void(0);',
7895 + 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7896 + }).append(
7897 + jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7898 + ),
7899 + jQuery('<a>', {
7900 + 'href': 'javascript:void(0);',
7901 + 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7902 + 'data-modal': 'page-options'
7903 + }).append(
7904 + jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7905 + ),
7906 + jQuery('<a>', {
7907 + 'href': 'javascript:void(0);',
7908 + 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7909 + }).append(
7910 + jQuery('<i>', {'class': 'dashicons dashicons-no'})
7911 + )
7912 + ),
7913 + jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7914 + jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7915 + );
7916 + return page;
7917 + },
7918 + // e2pdf.pages.rebuildPages
7919 + rebuildPages: function () {
7920 + jQuery('.e2pdf-page').each(function (index) {
7921 + if (!e2pdf.pdf.settings.get('pdf')) {
7922 + if (index + 1 === 1) {
7923 + jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7924 + } else {
7925 + jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7926 + }
7927 +
7928 + if (index + 1 === jQuery('.e2pdf-page').length) {
7929 + jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7930 + } else {
7931 + jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7932 + }
7933 + }
7934 + jQuery(this).attr('data-page_id', index + 1);
7935 + });
7936 + e2pdf.welcomeScreen();
7937 + },
7938 + // e2pdf.pages.createPage
7939 + createPage: function (page, properties, actions, onload) {
7940 + e2pdf.pages.rebuildPages();
7941 + var newpage = true;
7942 + if (page) {
7943 + var newpage = false;
7944 + }
7945 + if (!properties) {
7946 + properties = {};
7947 + }
7948 + if (!actions) {
7949 + actions = {};
7950 + }
4119 7951 if (newpage) {
7952 + var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7953 + var page = e2pdf.pages.source(page_id);
7954 + }
7955 + page.data('data-type', 'e2pdf-page');
7956 + e2pdf.properties.apply(page, properties, onload);
7957 + e2pdf.actions.apply(page, actions);
7958 + e2pdf.pages.initEvents(page);
7959 + if (newpage) {
7960 + if (!onload) {
7961 + var history = [];
7962 + history.push(page.clone(true));
7963 + e2pdf.history.set('element_create', history);
7964 + }
4120 7965 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
4121 7966 e2pdf.pages.rebuildPages();
4122 7967 e2pdf.event.fire('after.pages.createPage.newpage');
4123 7968 return true;
@@ -4124,11 +7969,10 @@
4124 7969 } else {
4125 7970 return false;
4126 7971 }
4127 7972 },
4128 - //e2pdf.pages.movePage
7973 + // e2pdf.pages.movePage
4129 7974 movePage: function (el, direction) {
4130 -
4131 7975 if (e2pdf.pdf.settings.get('pdf')) {
4132 7976 return false;
4133 7977 }
4134 7978 if (direction === 'up') {
@@ -4138,21 +7982,19 @@
4138 7982 }
4139 7983 e2pdf.event.fire('after.pages.movePage');
4140 7984 e2pdf.pages.rebuildPages();
4141 7985 },
4142 - //e2pdf.pages.deletePage
7986 + // e2pdf.pages.deletePage
4143 7987 deletePage: function (el) {
4144 7988 el.closest('.e2pdf-page').remove();
4145 7989 e2pdf.event.fire('after.pages.deletePage');
4146 7990 e2pdf.pages.rebuildPages();
4147 7991 },
4148 - //e2pdf.pages.changeTplSize
7992 + // e2pdf.pages.changeTplSize
4149 7993 changeTplSize: function (width, height) {
4150 7994 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
4151 7995 },
4152 7996 changePageSize: function (el, width, height) {
4153 - var set_width = true;
4154 - var set_height = true;
4155 7997 var prev_width = parseFloat(el.css('width'));
4156 7998 var prev_height = parseFloat(el.css('height'));
4157 7999 var width_diff = width / prev_width;
4158 8000 var height_diff = height / prev_height;
@@ -4158,24 +8000,13 @@
4158 8000 var height_diff = height / prev_height;
4159 8001 el.find(".e2pdf-element").each(function () {
4160 8002 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
4161 8003 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
4162 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
4163 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
4164 - if (scale === e2pdf.static.const.WIDTH) {
4165 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
4166 - set_height = false;
4167 - } else if (scale === e2pdf.static.const.HEIGHT) {
4168 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
4169 - set_width = false;
4170 - }
4171 - }
4172 -
4173 - if (set_width) {
8004 + if (jQuery(this).data('data-type') === 'e2pdf-qrcode' || (e2pdf.properties.getValue(jQuery(this), 'dimension', 'checkbox') == '1' && (jQuery(this).data('data-type') === 'e2pdf-image' || jQuery(this).data('data-type') === 'e2pdf-barcode' || jQuery(this).data('data-type') === 'e2pdf-graph' || jQuery(this).data('data-type') === 'e2pdf-signature'))) {
4174 8005 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4175 - }
4176 -
4177 - if (set_height) {
8006 + jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
8007 + } else {
8008 + jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4178 8009 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
4179 8010 }
4180 8011 });
4181 8012 el.css('width', width);
@@ -4183,27 +8014,28 @@
4183 8014 el.attr('data-width', width);
4184 8015 el.attr('data-height', height);
4185 8016 }
4186 8017 },
4187 - //e2pdf.contextMenu
8018 + // e2pdf.contextMenu
4188 8019 contextMenu: function (e, el) {
4189 8020 e2pdf.delete('.e2pdf-context');
8021 + jQuery('.e2pdf-page').css('z-index', '');
4190 8022 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
4191 8023 if (el.hasClass('e2pdf-page')) {
4192 8024 var parent = el;
4193 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
8025 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8026 + menu.find('ul.e2pdf-context-menu').append(
4194 8027 jQuery('<li>').append(
4195 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste'])
8028 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste'))
4196 8029 ),
4197 8030 jQuery('<li>').append(
4198 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-pasteinplace e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste in Place'])
8031 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements-in-place', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste in Place'))
8032 + ),
8033 + jQuery('<li>').append(
8034 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
4199 8035 )
4200 - ));
4201 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4202 - menu.find('a').attr('disabled', false);
4203 - }
8036 + );
4204 8037 } else {
4205 -
4206 8038 if (!el.hasClass('e2pdf-selected')) {
4207 8039 e2pdf.element.unselect();
4208 8040 e2pdf.element.select(el);
4209 8041 }
@@ -4208,644 +8040,1069 @@
4208 8040 e2pdf.element.select(el);
4209 8041 }
4210 8042
4211 8043 var parent = el.closest('.e2pdf-page');
8044 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8045 + if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
8046 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
8047 + menu.find('ul.e2pdf-context-menu').append(
8048 + jQuery('<li>').append(
8049 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
8050 + ));
8051 + } else {
8052 + menu.find('ul.e2pdf-context-menu').append(
8053 + jQuery('<li>').append(
8054 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
8055 + ));
8056 + }
8057 + }
4212 8058
4213 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
8059 + if (Object.keys(e2pdf.element.selected).length == 1 && (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-link' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig', 'checkbox')))) {
8060 + menu.find('ul.e2pdf-context-menu').append(
8061 + jQuery('<li>').append(
8062 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
8063 + ));
8064 + }
8065 +
8066 + menu.find('ul.e2pdf-context-menu').append(
8067 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8068 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8069 + ,
8070 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
4214 8071 jQuery('<li>').append(
4215 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdfLang['Show'] : e2pdfLang['Hide'])
8072 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
4216 8073 ),
4217 8074 jQuery('<li>').append(
4218 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy'}).html(e2pdfLang['Copy'])
8075 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
4219 8076 ),
4220 8077 jQuery('<li>').append(
4221 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdfLang['Cut'])
8078 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
4222 8079 ),
4223 8080 jQuery('<li>').append(
4224 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete', }).html(e2pdfLang['Delete'])
8081 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8082 + )
8083 + )
4225 8084 ),
8085 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8086 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8087 + ,
8088 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
8089 + jQuery('<li>').append(
8090 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-locked') ? 'e2pdf-unlock' : 'e2pdf-lock'}).html(el.hasClass('e2pdf-locked') ? e2pdf.lang.get('Unlock') : e2pdf.lang.get('Lock'))
8091 + ),
8092 + jQuery('<li>').append(
8093 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdf.lang.get('Unhide') : e2pdf.lang.get('Hide'))
8094 + ))
4226 8095 ));
8096 + menu.find('ul.e2pdf-context-menu').append(
8097 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8098 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8099 + ,
8100 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
8101 + jQuery('<li>').append(
8102 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'elements'}).html(Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements') : e2pdf.lang.get('Element'))
8103 + ))
8104 + ),
8105 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8106 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8107 + ,
8108 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
8109 + ),
8110 + jQuery('<li>').append(
8111 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
8112 + ),
8113 + jQuery('<li>').append(
8114 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
8115 + ),
8116 + jQuery('<li>').append(
8117 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
8118 + ));
8119 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
8120 + if (Object.keys(e2pdf.element.selected).length == 1) {
8121 + menu.find('ul.e2pdf-copy-menu').append(
8122 + jQuery('<li>').append(
8123 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8124 + ));
8125 + }
8126 + if (e2pdf.storage.get('style') !== null) {
8127 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8128 + menu.find('ul.e2pdf-paste-menu').append(
8129 + jQuery('<li>').append(
8130 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8131 + ));
8132 + }
8133 + }
4227 8134
4228 - if (Object.keys(e2pdf.element.selected).length == 1) {
4229 - menu.find('ul').append(
4230 - jQuery('<li>').append(
4231 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4232 - ));
4233 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4234 - menu.find('ul').prepend(
8135 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8136 + if (Object.keys(e2pdf.element.selected).length == 1) {
8137 + menu.find('ul.e2pdf-copy-menu').append(
4235 8138 jQuery('<li>').append(
4236 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdfLang['Choose Image'])
8139 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
4237 8140 ));
4238 8141 }
8142 + if (e2pdf.storage.get('width') != null) {
8143 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8144 + menu.find('ul.e2pdf-paste-menu').append(
8145 + jQuery('<li>').append(
8146 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8147 + ));
8148 + }
8149 + }
4239 8150
4240 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4241 - menu.find('ul').prepend(jQuery('<li>').append(
4242 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdfLang['Map Field'])
8151 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8152 +
8153 + if (Object.keys(e2pdf.element.selected).length == 1) {
8154 + menu.find('ul.e2pdf-copy-menu').append(
8155 + jQuery('<li>').append(
8156 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
4243 8157 ));
4244 8158 }
8159 +
8160 + if (e2pdf.storage.get('height') != null) {
8161 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8162 + menu.find('ul.e2pdf-paste-menu').append(
8163 + jQuery('<li>').append(
8164 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8165 + ));
8166 + }
4245 8167 }
8168 +
8169 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
8170 +
8171 + if (Object.keys(e2pdf.element.selected).length == 1) {
8172 + menu.find('ul.e2pdf-copy-menu').append(
8173 + jQuery('<li>').append(
8174 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8175 + ));
8176 + }
8177 +
8178 + if (e2pdf.storage.get('actions') !== null) {
8179 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8180 + menu.find('ul.e2pdf-paste-menu').append(
8181 + jQuery('<li>').append(
8182 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8183 + ));
8184 + }
8185 + }
8186 +
8187 + if (Object.keys(e2pdf.element.selected).length == 1) {
8188 + menu.find('ul.e2pdf-context-menu').append(
8189 + jQuery('<li>').append(
8190 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8191 + ));
8192 + }
4246 8193 }
4247 -
4248 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4249 - var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8194 + parent.css('z-index', '1');
8195 + menu.hide().appendTo(parent);
8196 + var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.scale;
8197 + if ((parent.closest('.e2pdf-tpl').width() - 20 < e.pageX - parent.closest('.e2pdf-tpl').offset().left + menu.width()) && (e.pageX - parent.closest('.e2pdf-tpl').offset().left > menu.width())) {
8198 + pos_x = pos_x - (menu.width() / e2pdf.zoom.scale);
8199 + menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8200 + }
8201 + var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.scale;
8202 + if ((parent.closest('.e2pdf-tpl').height() - 20 < e.pageY - parent.closest('.e2pdf-tpl').offset().top + menu.height()) && (e.pageY - parent.closest('.e2pdf-tpl').offset().top > menu.height())) {
8203 + pos_y = pos_y - (menu.height() / e2pdf.zoom.scale);
8204 + menu.addClass('e2pdf-context-bottom');
8205 + }
4250 8206 menu.css({top: pos_y + "px", left: pos_x + "px"});
4251 - menu.appendTo(parent);
8207 + menu.show();
4252 8208 },
4253 - //e2pdf.delete
8209 + // e2pdf.delete
4254 8210 delete: function (el) {
4255 8211 jQuery(el).remove();
4256 8212 },
4257 - //e2pdf.element
8213 + // e2pdf.element
4258 8214 element: {
4259 - //e2pdf.element.buffered
4260 - buffered: [],
4261 - //e2pdf.element.selected
8215 + // e2pdf.element.selected
4262 8216 selected: [],
4263 - //e2pdf.element.init
8217 + // e2pdf.element.init
4264 8218 init: function (el) {
4265 -
4266 8219 if (el.data('data-type') === 'e2pdf-html') {
4267 - e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8220 + if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8221 + e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8222 + } else {
8223 + e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8224 + }
4268 8225 } else if (el.data('data-type') === 'e2pdf-input') {
4269 8226 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4270 8227 } else if (el.data('data-type') === 'e2pdf-textarea') {
4271 8228 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4272 8229 }
4273 -
8230 + e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8231 + e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8232 + e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
4274 8233 },
4275 - //e2pdf.element.create
4276 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4277 -
4278 - var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
4279 - var aspect = false;
8234 + // e2pdf.element.initEvents
8235 + initEvents: function (element, page) {
8236 + var min_width = 2;
4280 8237 var min_height = 2;
4281 - var min_width = 2;
4282 - if (!properties) {
4283 - properties = {};
8238 + if (element.data('data-type') == 'e2pdf-rectangle') {
8239 + min_height = 1;
8240 + min_width = 1;
4284 8241 }
4285 -
4286 - if (!actions) {
4287 - actions = {};
8242 + if (!page) {
8243 + page = element.closest('.e2pdf-page');
4288 8244 }
8245 + element.off('contextmenu');
8246 + element.contextmenu(function (e) {
8247 + e2pdf.contextMenu(e, element);
8248 + e.preventDefault();
8249 + });
8250 + if (element.hasClass('ui-draggable')) {
8251 + try {
8252 + element.draggable('destroy');
8253 + element.removeData('ui-draggable');
8254 + } catch (e) {
4289 8255
4290 - if (!properties['value']) {
4291 - properties['value'] = '';
4292 - }
4293 -
4294 - // Switch element types
4295 - if (type === 'e2pdf-html') {
4296 -
4297 - if (!properties['width']) {
4298 - properties['width'] = '200';
4299 - } else if (properties['width'] === 'auto') {
4300 - properties['width'] = size;
4301 8256 }
4302 -
4303 - if (!properties['height']) {
4304 - properties['height'] = size;
4305 -
4306 - } else if (properties['height'] === 'auto') {
4307 - delete properties['height'];
4308 - }
4309 -
4310 - var element =
4311 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4312 - jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4313 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4314 - );
4315 - } else if (type === 'e2pdf-input') {
4316 -
4317 - if (!properties['width'] || properties['width'] === 'auto') {
4318 - properties['width'] = '200';
4319 - }
4320 -
4321 - if (!properties['height'] || properties['height'] === 'auto') {
4322 - properties['height'] = size;
4323 - }
4324 -
4325 - var element =
4326 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4327 - jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4328 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4329 - );
4330 - } else if (type === 'e2pdf-textarea') {
4331 -
4332 - if (!properties['width'] || properties['width'] === 'auto') {
4333 - properties['width'] = '200';
4334 - }
4335 -
4336 - if (!properties['height'] || properties['height'] === 'auto') {
4337 - properties['height'] = '100';
4338 - }
4339 -
4340 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4341 - jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4342 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4343 - );
4344 - } else if (type === 'e2pdf-checkbox') {
4345 -
4346 - if (!properties['width'] || properties['width'] === 'auto') {
4347 - properties['width'] = size;
4348 - }
4349 -
4350 - if (!properties['height'] || properties['height'] === 'auto') {
4351 - properties['height'] = size;
4352 - }
4353 -
4354 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4355 - jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4356 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4357 - );
4358 - } else if (type === 'e2pdf-radio') {
4359 -
4360 - if (!properties['width'] || properties['width'] === 'auto') {
4361 - properties['width'] = size;
4362 - }
4363 -
4364 - if (!properties['height'] || properties['height'] === 'auto') {
4365 - properties['height'] = size;
4366 - }
4367 -
4368 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4369 - jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4370 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4371 - );
4372 - var aspect = false;
4373 - } else if (type === 'e2pdf-select') {
4374 -
4375 - if (!properties['width'] || properties['width'] === 'auto') {
4376 - properties['width'] = '200';
4377 - }
4378 -
4379 - if (!properties['height'] || properties['height'] === 'auto') {
4380 - properties['height'] = size;
4381 - }
4382 -
4383 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4384 - jQuery('<select>', {'class': 'e2pdf-select'}).append(
4385 - ),
4386 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4387 - );
4388 - } else if (type === 'e2pdf-image') {
4389 -
4390 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4391 - jQuery('<img>', {'class': 'e2pdf-image'}),
4392 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4393 - );
4394 - } else if (type === 'e2pdf-rectangle') {
4395 -
4396 - if (!properties['width'] || properties['width'] === 'auto') {
4397 - properties['width'] = '200';
4398 - }
4399 -
4400 - if (!properties['height'] || properties['height'] === 'auto') {
4401 - properties['height'] = '5';
4402 - }
4403 -
4404 - var min_height = 1;
4405 - var min_width = 1;
4406 - var element =
4407 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4408 - jQuery('<div>', {'class': 'content e2pdf-rectangle'}),
4409 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4410 - );
4411 - } else if (type === 'e2pdf-link') {
4412 -
4413 - if (!properties['width'] || properties['width'] === 'auto') {
4414 - properties['width'] = '200';
4415 - }
4416 -
4417 - if (!properties['height'] || properties['height'] === 'auto') {
4418 - properties['height'] = size;
4419 - }
4420 -
4421 - var element =
4422 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4423 - jQuery('<div>', {'class': 'content e2pdf-link'}),
4424 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4425 - );
4426 - } else if (type === 'e2pdf-signature') {
4427 -
4428 - if (!properties['width'] || properties['width'] === 'auto') {
4429 - properties['width'] = '200';
4430 - }
4431 -
4432 - if (!properties['height'] || properties['height'] === 'auto') {
4433 - properties['height'] = size;
4434 - }
4435 -
4436 - if (!properties['dimension']) {
4437 - if (default_properties) {
4438 - properties['dimension'] = '1';
4439 - }
4440 - }
4441 -
4442 - var element =
4443 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4444 - jQuery('<div>', {'class': 'content e2pdf-signature'}),
4445 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4446 - );
4447 8257 }
4448 -
4449 - // If element exists
4450 - if (typeof element !== "undefined") {
4451 - element.contextmenu(function (e) {
4452 - e2pdf.contextMenu(e, element);
4453 - e.preventDefault();
4454 - });
4455 - if (!element_id) {
4456 - var last_id = 0;
4457 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4458 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4459 - if (num_id > last_id) {
4460 - last_id = num_id;
8258 + element.draggable({
8259 + cancel: '.no-drag',
8260 + handle: '.e2pdf-drag',
8261 + containment: jQuery(page),
8262 + stop: function (ev, ui) {
8263 + var page = jQuery(this).closest('.e2pdf-page');
8264 + for (var key in e2pdf.element.selected) {
8265 + var selected = e2pdf.element.selected[key];
8266 + if (selected.hasClass('e2pdf-width-auto')) {
8267 + selected.css({'width': 'auto'});
4461 8268 }
4462 - });
4463 - element_id = parseInt(last_id + 1);
4464 - }
4465 - element.addClass('e2pdf-element');
4466 - element.attr('data-element_id', element_id);
4467 - if (type === 'e2pdf-select') {
4468 - if (!properties['options']) {
4469 - if (default_properties) {
4470 - properties['options'] = '';
8269 + if (selected.hasClass('e2pdf-height-auto')) {
8270 + selected.css({'height': 'auto'});
4471 8271 }
8272 + e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8273 + e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
4472 8274 }
4473 - }
4474 -
4475 - if (!properties['z_index']) {
4476 - properties['z_index'] = '0';
4477 - }
4478 -
4479 - if (type === 'e2pdf-input'
4480 - || type === 'e2pdf-textarea'
4481 - || type === 'e2pdf-select'
4482 - || type === 'e2pdf-radio'
4483 - || type === 'e2pdf-checkbox'
4484 - ) {
4485 - if (!properties['border']) {
4486 - if (default_properties) {
4487 - properties['border'] = '1';
8275 + jQuery('.page-options-icons').css('z-index', '');
8276 + e2pdf.event.fire('after.element.moved');
8277 + e2pdf.element.unselect();
8278 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8279 + },
8280 + drag: function (ev, ui) {
8281 + var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.scale;
8282 + var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.scale;
8283 + left = Math.min(left, e2pdf.static.drag.max_left);
8284 + top = Math.min(top, e2pdf.static.drag.max_top);
8285 + ui.position = {
8286 + left: Math.max(e2pdf.static.drag.min_left, left),
8287 + top: Math.max(e2pdf.static.drag.min_top, top)
8288 + };
8289 + var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8290 + var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8291 + for (var key in e2pdf.element.selected) {
8292 + var selected = e2pdf.element.selected[key];
8293 + if (!selected.is(jQuery(this))) {
8294 + selected.finish().animate({
8295 + left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8296 + top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8297 + }, 0);
4488 8298 }
4489 8299 }
4490 - }
4491 -
4492 - if (type === 'e2pdf-image'
4493 - || type === 'e2pdf-signature') {
4494 - if (!properties['scale']) {
4495 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4496 - }
4497 - if (!properties['horizontal']) {
4498 - properties['horizontal'] = 'left';
4499 - }
4500 - if (!properties['vertical']) {
4501 - properties['vertical'] = 'bottom';
4502 - }
4503 - }
4504 -
4505 - if (type === 'e2pdf-html'
4506 - || type === 'e2pdf-image'
4507 - || type === 'e2pdf-signature'
4508 - ) {
4509 -
4510 - if (!properties['border_top']) {
4511 - properties['border_top'] = '0';
4512 - }
4513 -
4514 - if (!properties['border_left']) {
4515 - properties['border_left'] = '0';
4516 - }
4517 -
4518 - if (!properties['border_right']) {
4519 - properties['border_right'] = '0';
4520 - }
4521 -
4522 - if (!properties['border_bottom']) {
4523 - properties['border_bottom'] = '0';
4524 - }
4525 -
4526 - if (!properties['padding_top']) {
4527 - properties['padding_top'] = '0';
4528 - }
4529 -
4530 - if (!properties['padding_left']) {
4531 - properties['padding_left'] = '0';
4532 - }
4533 -
4534 - if (!properties['padding_right']) {
4535 - properties['padding_right'] = '0';
4536 - }
4537 -
4538 - if (!properties['padding_bottom']) {
4539 - properties['padding_bottom'] = '0';
4540 - }
4541 - }
4542 -
4543 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4544 - if (!properties['length']) {
4545 - properties['length'] = '0';
4546 - }
4547 - }
4548 -
4549 - if (type !== 'e2pdf-rectangle') {
4550 - if (!properties['border_color']) {
4551 - properties['border_color'] = '#000000';
4552 - }
4553 - }
4554 -
4555 - if (type !== 'e2pdf-image') {
4556 -
4557 - if (!properties['text_color']) {
4558 - properties['text_color'] = '';
4559 - }
4560 -
4561 - if (!properties['text_font']) {
4562 - properties['text_font'] = '';
4563 - }
4564 -
4565 - if (!properties['text_font_size']) {
4566 - properties['text_font_size'] = '';
4567 - }
4568 -
4569 - if (!properties['text_line_height']) {
4570 - properties['text_line_height'] = '';
4571 - }
4572 - }
4573 -
4574 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4575 - if (!properties['option']) {
4576 - if (default_properties) {
4577 - properties['option'] = "option" + element_id;
8300 + var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8301 + var w = parseFloat(jQuery(this).css('width'));
8302 + var h = parseFloat(jQuery(this).css('height'));
8303 + var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8304 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8305 + jQuery.each(el_guides, function (i, elemGuide) {
8306 + if (guide.type == elemGuide.type) {
8307 + var prop = guide.type == "h" ? "top" : "left";
8308 + var d = Math.abs(elemGuide[prop] - guide[prop]);
8309 + if (d < guides[prop].dist) {
8310 + guides[prop].dist = d;
8311 + guides[prop].offset = elemGuide[prop] - ui.position[prop];
8312 + guides[prop].guide = guide;
8313 + }
8314 + }
8315 + });
8316 + });
8317 + if (guides.top.dist <= e2pdf.static.guide.distance) {
8318 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8319 + var snap_top = guides.top.guide.top - guides.top.offset;
8320 + if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8321 + ui.position.top = snap_top;
8322 + var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8323 + for (var key in e2pdf.element.selected) {
8324 + var selected = e2pdf.element.selected[key];
8325 + if (!selected.is(jQuery(this))) {
8326 + selected.finish().animate({
8327 + top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8328 + }, 0);
8329 + }
8330 + }
4578 8331 }
8332 + } else {
8333 + jQuery('.e2pdf-guide-h').hide();
4579 8334 }
4580 -
4581 - if (!properties['text_type']) {
4582 - if (default_properties) {
4583 - if (type === 'e2pdf-radio') {
4584 - properties['text_type'] = 'circle';
4585 - } else if (type === 'e2pdf-checkbox') {
4586 - properties['text_type'] = 'check';
8335 + if (guides.left.dist <= e2pdf.static.guide.distance) {
8336 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8337 + var snap_left = guides.left.guide.left - guides.left.offset;
8338 + if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8339 + ui.position.left = snap_left;
8340 + var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8341 + for (var key in e2pdf.element.selected) {
8342 + var selected = e2pdf.element.selected[key];
8343 + if (!selected.is(jQuery(this))) {
8344 + selected.finish().animate({
8345 + left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8346 + }, 0);
8347 + }
4587 8348 }
4588 8349 }
8350 + } else {
8351 + jQuery('.e2pdf-guide-v').hide();
4589 8352 }
4590 - }
4591 -
4592 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4593 - if (!properties['text_align']) {
4594 - properties['text_align'] = 'left';
8353 + },
8354 + start: function (ev, ui) {
8355 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8356 + return false;
4595 8357 }
4596 - }
4597 -
4598 - if (type === 'e2pdf-radio') {
4599 - if (!properties['group']) {
4600 - if (default_properties) {
4601 - properties['group'] = "group";
8358 + e2pdf.element.select(jQuery(this));
8359 + e2pdf.static.drag.min_left = 0;
8360 + e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8361 + e2pdf.static.drag.min_top = 0;
8362 + e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8363 + var history = [];
8364 + for (var key in e2pdf.element.selected) {
8365 + var selected = e2pdf.element.selected[key];
8366 + history.push(selected.clone(true));
8367 + if (selected.hasClass('e2pdf-width-auto')) {
8368 + selected.css({"width": "auto"});
4602 8369 }
4603 - }
4604 - }
4605 -
4606 - element.data('data-type', type);
4607 - if (properties['width']) {
4608 - element.css({"width": properties['width']});
4609 - }
4610 -
4611 - if (properties['height']) {
4612 - element.css({"height": properties['height']});
4613 - }
4614 -
4615 - if (type === 'e2pdf-rectangle') {
4616 - if (!properties['background']) {
4617 - if (default_properties) {
4618 - properties['background'] = '#000000';
8370 + if (selected.hasClass('e2pdf-height-auto')) {
8371 + selected.css({"height": "auto"});
4619 8372 }
8373 + var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8374 + var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8375 + var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8376 + var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8377 + var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8378 + var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8379 + var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8380 + var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8381 + e2pdf.static.drag.min_left = Math.max(e2pdf.properties.getValue(jQuery(this), 'left', 'float') - e2pdf.properties.getValue(selected, 'left', 'float'), e2pdf.static.drag.min_left);
8382 + e2pdf.static.drag.min_top = Math.max(e2pdf.properties.getValue(jQuery(this), 'top', 'float') - e2pdf.properties.getValue(selected, 'top', 'float'), e2pdf.static.drag.min_top);
8383 + e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (e2pdf.properties.getValue(jQuery(this), 'left', 'float') - e2pdf.properties.getValue(selected, 'left', 'float')), e2pdf.static.drag.max_left);
8384 + e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (e2pdf.properties.getValue(jQuery(this), 'top', 'float') - e2pdf.properties.getValue(selected, 'top', 'float')), e2pdf.static.drag.max_top);
4620 8385 }
8386 + e2pdf.history.set('element_change', history);
8387 + e2pdf.zoom.click.x = ev.clientX;
8388 + e2pdf.zoom.click.y = ev.clientY;
8389 + jQuery('.page-options-icons').css('z-index', -1);
4621 8390 }
8391 + });
8392 + if (element.hasClass('e2pdf-resizable')) {
8393 + if (element.hasClass('ui-resizable')) {
8394 + try {
8395 + element.resizable('destroy');
8396 + element.removeData('ui-resizable');
8397 + } catch (e) {
4622 8398
4623 - if (type === 'e2pdf-link') {
4624 - if (!properties['highlight']) {
4625 - properties['highlight'] = 'none';
4626 8399 }
4627 8400 }
4628 -
4629 - if (properties['top'] && properties['left']) {
4630 - element.css({"top": properties['top'], "left": properties['left']});
4631 - }
4632 -
4633 - element.css({"position": "absolute"});
4634 - e2pdf.properties.apply(element, properties);
4635 - e2pdf.actions.apply(element, actions);
4636 - // If element draggable
4637 - element.draggable({
4638 - cancel: '.no-drag',
4639 - handle: ".e2pdf-drag",
4640 - containment: jQuery(page),
4641 - stop: function (ev, ui) {
4642 - var page = jQuery(this).closest('.e2pdf-page');
4643 - for (var key in e2pdf.element.selected) {
4644 - var selected = e2pdf.element.selected[key];
4645 - if (selected.hasClass('e2pdf-width-auto')) {
4646 - selected.css({'width': 'auto'});
8401 + element.resizable({
8402 + handles: 'n, e, s, w, ne, se, sw, nw',
8403 + aspectRatio: false,
8404 + minHeight: min_height,
8405 + minWidth: min_width,
8406 + start: function (ev, ui) {
8407 + var _process = function (el, resize) {
8408 + var left = e2pdf.helper.getFloat(el.css('left'));
8409 + var top = e2pdf.helper.getFloat(el.css('top'));
8410 + var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8411 + var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8412 + var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8413 + var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8414 + var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8415 + var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8416 + var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8417 + var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8418 + var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8419 + var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8420 + var width = e2pdf.helper.getFloat(el.css('width'));
8421 + var height = e2pdf.helper.getFloat(el.css('height'));
8422 + el.resizable("option", "maxWidth", page_width - left);
8423 + el.resizable("option", "maxHeight", page_height - top);
8424 + if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8425 + el.resizable("option", "maxWidth", left + width);
8426 + } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8427 + el.resizable("option", "maxHeight", top + height);
8428 + } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8429 + el.resizable("option", "maxWidth", left + width);
8430 + el.resizable("option", "maxHeight", top + height);
4647 8431 }
4648 - if (selected.hasClass('e2pdf-height-auto')) {
4649 - selected.css({'height': 'auto'});
8432 + if (resize) {
8433 + ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8434 + ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4650 8435 }
4651 -
4652 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.pxToFloat(selected.css('top'))));
4653 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.pxToFloat(selected.css('left'))));
4654 - }
4655 -
4656 - jQuery('.page-options-icons').css('z-index', '');
4657 - e2pdf.event.fire('after.element.moved');
4658 - e2pdf.element.unselect();
4659 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
8436 + };
8437 + _process(jQuery(this), true);
8438 + e2pdf.zoom.click.x = ev.clientX;
8439 + e2pdf.zoom.click.y = ev.clientY;
8440 + var history = [];
8441 + history.push(jQuery(this).clone(true));
8442 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8443 + var selected = jQuery(this);
8444 + history.push(selected.clone(true));
8445 + var width = e2pdf.helper.getFloat(selected.css('width'));
8446 + var height = e2pdf.helper.getFloat(selected.css('height'));
8447 + selected.data("ui-resizable-alsoresize", {
8448 + width: width,
8449 + height: height,
8450 + left: e2pdf.helper.getFloat(selected.css('left')),
8451 + top: e2pdf.helper.getFloat(selected.css('top'))
8452 + });
8453 + _process(jQuery(this), false);
8454 + });
8455 + e2pdf.history.set('element_change', history);
8456 + e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8457 + e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
4660 8458 },
4661 - drag: function (ev, ui) {
4662 -
4663 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4664 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4665 -
4666 - left = Math.min(left, e2pdf.static.drag.max_left);
4667 - top = Math.min(top, e2pdf.static.drag.max_top);
4668 -
4669 - ui.position = {
4670 - left: Math.max(e2pdf.static.drag.min_left, left),
4671 - top: Math.max(e2pdf.static.drag.min_top, top)
4672 - };
4673 -
4674 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4675 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4676 - for (var key in e2pdf.element.selected) {
4677 - var selected = e2pdf.element.selected[key];
4678 - if (!selected.is(jQuery(this))) {
4679 - selected.finish().animate({
4680 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4681 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4682 - }, 0);
8459 + resize: function (ev, ui) {
8460 + if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8461 + var axis = ui.element.data("ui-resizable").axis;
8462 + if (axis != 'nw' && axis != 'sw') {
8463 + ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8464 + ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
4683 8465 }
4684 8466 }
4685 -
4686 - var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8467 + var delta = {
8468 + height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8469 + width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8470 + top: (ui.position.top - ui.originalPosition.top) || 0,
8471 + left: (ui.position.left - ui.originalPosition.left) || 0
8472 + };
8473 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8474 + var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8475 + var style = {};
8476 + var css = ["width", "height", "top", "left"];
8477 + jQuery.each(css, function (i, prop) {
8478 + var sum = (start[prop] || 0) + (delta[prop] || 0);
8479 + if (sum) {
8480 + if (prop == 'width') {
8481 + if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8482 + style[prop] = sum;
8483 + }
8484 + } else if (prop == 'height') {
8485 + if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8486 + style[prop] = sum;
8487 + }
8488 + } else if (prop == 'left') {
8489 + if (sum >= 0) {
8490 + style[prop] = sum;
8491 + }
8492 + } else if (prop == 'top') {
8493 + if (sum >= 0) {
8494 + style[prop] = sum;
8495 + }
8496 + }
8497 + }
8498 + });
8499 + el.css(style);
8500 + });
8501 + var handle = ui.element.data("ui-resizable").axis;
8502 + jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
4687 8503 var w = parseFloat(jQuery(this).css('width'));
4688 8504 var h = parseFloat(jQuery(this).css('height'));
4689 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4690 -
4691 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4692 - jQuery.each(el_guides, function (i, elemGuide) {
4693 - if (guide.type == elemGuide.type) {
4694 - var prop = guide.type == "h" ? "top" : "left";
4695 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4696 - if (d < guides[prop].dist) {
4697 - guides[prop].dist = d;
4698 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4699 - guides[prop].guide = guide;
8505 + if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8506 + var hGuides = {dist: e2pdf.static.guide.distance + 1};
8507 + var hPosition = ui.position.top;
8508 + var hEdgeValue = ui.position.top;
8509 + if (handle.indexOf('s') !== -1) {
8510 + hEdgeValue = ui.position.top + h;
8511 + }
8512 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8513 + if (guide.type == "h") {
8514 + var d = Math.abs(hEdgeValue - guide.top);
8515 + if (d < hGuides.dist) {
8516 + hGuides.dist = d;
8517 + hGuides.guide = guide;
8518 + hGuides.offset = hEdgeValue - hPosition;
4700 8519 }
4701 8520 }
4702 8521 });
4703 - });
4704 -
4705 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4706 -
4707 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4708 -
4709 - var snap_top = guides.top.guide.top - guides.top.offset;
4710 -
4711 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4712 - ui.position.top = snap_top;
4713 -
4714 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4715 -
4716 - for (var key in e2pdf.element.selected) {
4717 - var selected = e2pdf.element.selected[key];
4718 - if (!selected.is(jQuery(this))) {
4719 - selected.finish().animate({
4720 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4721 - }, 0);
8522 + if (hGuides.dist <= e2pdf.static.guide.distance) {
8523 + jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8524 + var snap_top = hGuides.guide.top - hGuides.offset;
8525 + if (handle.indexOf('n') !== -1) {
8526 + var heightDiff = ui.position.top - snap_top;
8527 + ui.position.top = snap_top;
8528 + ui.size.height += heightDiff;
8529 + } else if (handle.indexOf('s') !== -1) {
8530 + var newHeight = hGuides.guide.top - ui.position.top;
8531 + if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8532 + ui.size.height = newHeight;
4722 8533 }
4723 8534 }
4724 8535 }
4725 - } else {
4726 - jQuery(".e2pdf-guide-h").hide();
4727 8536 }
4728 -
4729 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4730 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4731 -
4732 - var snap_left = guides.left.guide.left - guides.left.offset;
4733 -
4734 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4735 - ui.position.left = snap_left;
4736 -
4737 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4738 -
4739 - for (var key in e2pdf.element.selected) {
4740 - var selected = e2pdf.element.selected[key];
4741 - if (!selected.is(jQuery(this))) {
4742 - selected.finish().animate({
4743 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4744 - }, 0);
8537 + if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8538 + var vGuides = {dist: e2pdf.static.guide.distance + 1};
8539 + var vPosition = ui.position.left;
8540 + var vEdgeValue = ui.position.left;
8541 + if (handle.indexOf('e') !== -1) {
8542 + vEdgeValue = ui.position.left + w;
8543 + }
8544 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8545 + if (guide.type == "v") {
8546 + var d = Math.abs(vEdgeValue - guide.left);
8547 + if (d < vGuides.dist) {
8548 + vGuides.dist = d;
8549 + vGuides.guide = guide;
8550 + vGuides.offset = vEdgeValue - vPosition;
4745 8551 }
4746 8552 }
8553 + });
8554 + if (vGuides.dist <= e2pdf.static.guide.distance) {
8555 + jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8556 + var snap_left = vGuides.guide.left - vGuides.offset;
8557 + if (handle.indexOf('w') !== -1) {
8558 + var widthDiff = ui.position.left - snap_left;
8559 + ui.position.left = snap_left;
8560 + ui.size.width += widthDiff;
8561 + } else if (handle.indexOf('e') !== -1) {
8562 + var newWidth = vGuides.guide.left - ui.position.left;
8563 + if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8564 + ui.size.width = newWidth;
8565 + }
8566 + }
4747 8567 }
4748 - } else {
4749 - jQuery(".e2pdf-guide-v").hide();
4750 8568 }
4751 -
4752 8569 },
4753 - start: function (ev, ui) {
4754 -
4755 - e2pdf.element.select(jQuery(this));
4756 -
4757 - e2pdf.static.drag.min_left = 0;
4758 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4759 - e2pdf.static.drag.min_top = 0;
4760 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4761 -
4762 - for (var key in e2pdf.element.selected) {
4763 - var selected = e2pdf.element.selected[key];
4764 -
4765 - if (selected.hasClass('e2pdf-width-auto')) {
4766 - selected.css({"width": "auto"});
8570 + stop: function (event, ui) {
8571 + ui.size.width = Math.round(ui.size.width);
8572 + ui.size.height = Math.round(ui.size.height);
8573 + var _process = function (el, width, height) {
8574 + if (el.data('data-type') === 'e2pdf-signature' || el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-qrcode' || el.data('data-type') === 'e2pdf-graph') {
8575 + width += el.outerWidth() - el.width();
8576 + height += el.outerWidth() - el.width();
4767 8577 }
4768 -
4769 - if (selected.hasClass('e2pdf-height-auto')) {
4770 - selected.css({"height": "auto"});
8578 + e2pdf.properties.set(el, 'width', width);
8579 + e2pdf.properties.set(el, 'height', height);
8580 + e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8581 + e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8582 + if (el.data('data-type') === 'e2pdf-signature' || el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-qrcode' || el.data('data-type') === 'e2pdf-graph') {
8583 + e2pdf.properties.render(el);
4771 8584 }
8585 + };
8586 + _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8587 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8588 + _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8589 + jQuery(this).removeData("resizable-alsoresize");
8590 + });
8591 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8592 + }
8593 + });
8594 + }
8595 + },
8596 + // e2pdf.element.create
8597 + create: function (type, page, properties, actions, default_properties, onload, element_id) {
8598 + var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8599 + var min_height = 2;
8600 + var min_width = 2;
8601 + if (!properties) {
8602 + properties = {};
8603 + }
8604 + if (!actions) {
8605 + actions = {};
8606 + }
8607 + switch (type) {
8608 + case 'e2pdf-input':
8609 + if (default_properties) {
8610 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8611 + properties['width'] = '200';
8612 + }
8613 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8614 + properties['height'] = size;
8615 + }
8616 + if (!properties.hasOwnProperty('border')) {
8617 + properties['border'] = '1';
8618 + }
8619 + if (!properties.hasOwnProperty('border_color')) {
8620 + properties['border_color'] = '#000000';
8621 + }
8622 + }
8623 + var element =
8624 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8625 + jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8626 + jQuery('<i>', {'class': 'e2pdf-drag'})
8627 + );
8628 + break;
8629 + case 'e2pdf-textarea':
8630 + if (default_properties) {
8631 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8632 + properties['width'] = '200';
8633 + }
8634 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8635 + properties['height'] = '100';
8636 + }
8637 + if (!properties.hasOwnProperty('border')) {
8638 + properties['border'] = '1';
8639 + }
8640 + if (!properties.hasOwnProperty('border_color')) {
8641 + properties['border_color'] = '#000000';
8642 + }
8643 + }
8644 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8645 + jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8646 + jQuery('<i>', {'class': 'e2pdf-drag'})
8647 + );
8648 + break;
8649 + case 'e2pdf-checkbox':
8650 + if (default_properties) {
8651 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8652 + properties['width'] = size;
8653 + }
8654 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8655 + properties['height'] = size;
8656 + }
8657 + if (!properties.hasOwnProperty('option')) {
8658 + properties['option'] = 'option';
8659 + }
8660 + if (!properties.hasOwnProperty('border')) {
8661 + properties['border'] = '1';
8662 + }
8663 + if (!properties.hasOwnProperty('border_color')) {
8664 + properties['border_color'] = '#000000';
8665 + }
8666 + }
8667 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8668 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8669 + jQuery('<i>', {'class': 'e2pdf-drag'})
8670 + );
8671 + break;
8672 + case 'e2pdf-radio':
8673 + if (default_properties) {
8674 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8675 + properties['width'] = size;
8676 + }
8677 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8678 + properties['height'] = size;
8679 + }
8680 + if (!properties.hasOwnProperty('group')) {
8681 + properties['group'] = 'group';
8682 + }
8683 + if (!properties.hasOwnProperty('option')) {
8684 + properties['option'] = 'option';
8685 + }
8686 + if (!properties.hasOwnProperty('border')) {
8687 + properties['border'] = '1';
8688 + }
8689 + if (!properties.hasOwnProperty('border_color')) {
8690 + properties['border_color'] = '#000000';
8691 + }
8692 + if (!properties.hasOwnProperty('text_type')) {
8693 + properties['text_type'] = 'circle';
8694 + }
4772 8695
4773 - var padding_top = e2pdf.helper.pxToFloat(selected.css('padding-top'));
4774 - var padding_left = e2pdf.helper.pxToFloat(selected.css('padding-left'));
4775 - var padding_right = e2pdf.helper.pxToFloat(selected.css('padding-right'));
4776 - var padding_bottom = e2pdf.helper.pxToFloat(selected.css('padding-bottom'));
4777 - var border_top = e2pdf.helper.pxToFloat(selected.css('border-top-width'));
4778 - var border_left = e2pdf.helper.pxToFloat(selected.css('border-left-width'));
4779 - var border_right = e2pdf.helper.pxToFloat(selected.css('border-right-width'));
4780 - var border_bottom = e2pdf.helper.pxToFloat(selected.css('border-bottom-width'));
4781 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4782 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4783 - e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - parseFloat(e2pdf.properties.getValue(selected, 'left'))), e2pdf.static.drag.max_left);
4784 - e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - parseFloat(e2pdf.properties.getValue(selected, 'top'))), e2pdf.static.drag.max_top);
8696 + }
8697 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8698 + jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8699 + jQuery('<i>', {'class': 'e2pdf-drag'})
8700 + );
8701 + break;
8702 + case 'e2pdf-select':
8703 + if (default_properties) {
8704 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8705 + properties['width'] = '200';
4785 8706 }
8707 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8708 + properties['height'] = size;
8709 + }
8710 + if (!properties.hasOwnProperty('options')) {
8711 + properties['options'] = '';
8712 + }
8713 + if (!properties.hasOwnProperty('border')) {
8714 + properties['border'] = '1';
8715 + }
8716 + if (!properties.hasOwnProperty('border_color')) {
8717 + properties['border_color'] = '#000000';
8718 + }
8719 + }
8720 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8721 + jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8722 + ),
8723 + jQuery('<i>', {'class': 'e2pdf-drag'})
8724 + );
8725 + break;
8726 + case 'e2pdf-signature':
8727 + if (default_properties) {
8728 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8729 + properties['width'] = '200';
8730 + }
8731 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8732 + properties['height'] = '75';
8733 + }
8734 + if (!properties.hasOwnProperty('vertical')) {
8735 + properties['vertical'] = 'bottom';
8736 + }
8737 + if (!properties.hasOwnProperty('block_dimension')) {
8738 + properties['block_dimension'] = '1';
8739 + }
8740 + if (!properties.hasOwnProperty('dimension')) {
8741 + properties['dimension'] = '1';
8742 + }
8743 + if (!properties.hasOwnProperty('opacity')) {
8744 + properties['opacity'] = '1';
8745 + }
8746 + } else {
8747 + // backward compatibility
8748 + if (!properties.hasOwnProperty('opacity')) {
8749 + properties['opacity'] = '1';
8750 + }
8751 + }
8752 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8753 + jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8754 + jQuery('<i>', {'class': 'e2pdf-drag'})
8755 + );
8756 + break;
8757 + case 'e2pdf-html':
8758 + if (default_properties) {
8759 + if (!properties.hasOwnProperty('width')) {
8760 + properties['width'] = '200';
8761 + } else if (properties['width'] === 'auto') {
8762 + properties['width'] = size;
8763 + }
8764 + if (!properties.hasOwnProperty('height')) {
8765 + properties['height'] = size;
8766 + } else if (properties['height'] === 'auto') {
8767 + delete properties['height'];
8768 + }
8769 + if (!properties.hasOwnProperty('html_worker')) {
8770 + properties['html_worker'] = '1';
8771 + }
8772 + if (!properties.hasOwnProperty('css_priority')) {
8773 + properties['css_priority'] = '1';
8774 + }
8775 + }
8776 + if (properties['wysiwyg_disable'] == '1') {
8777 + var element =
8778 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8779 + jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8780 + jQuery('<i>', {'class': 'e2pdf-drag'})
8781 + );
8782 + } else {
8783 + var element =
8784 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8785 + jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8786 + jQuery('<i>', {'class': 'e2pdf-drag'})
8787 + );
8788 + }
8789 + break;
8790 + case 'e2pdf-image':
8791 + if (default_properties) {
8792 + if (!properties.hasOwnProperty('dimension')) {
8793 + properties['dimension'] = '1';
8794 + }
8795 + if (!properties.hasOwnProperty('opacity')) {
8796 + properties['opacity'] = '1';
8797 + }
8798 + if (!properties.hasOwnProperty('block_dimension')) {
8799 + properties['block_dimension'] = '1';
8800 + }
8801 + if (!properties.hasOwnProperty('vertical')) {
8802 + properties['vertical'] = 'bottom';
8803 + }
8804 + if (!properties.hasOwnProperty('pdf_resample')) {
8805 + properties['pdf_resample'] = '-1';
8806 + }
8807 + } else {
8808 + // backward compatibility
8809 + if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8810 + properties['block_dimension'] = '1';
8811 + }
8812 + if (!properties.hasOwnProperty('opacity')) {
8813 + properties['opacity'] = '1';
8814 + }
8815 + if (!properties.hasOwnProperty('pdf_resample')) {
8816 + properties['pdf_resample'] = '150';
8817 + }
8818 + }
8819 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8820 + jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8821 + jQuery('<i>', {'class': 'e2pdf-drag'})
8822 + );
8823 + break;
8824 + case 'e2pdf-rectangle':
8825 + if (default_properties) {
8826 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8827 + properties['width'] = '200';
8828 + }
8829 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8830 + properties['height'] = '5';
8831 + }
8832 + if (!properties.hasOwnProperty('background')) {
8833 + properties['background'] = '#000000';
8834 + }
8835 + }
8836 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8837 + jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8838 + jQuery('<i>', {'class': 'e2pdf-drag'})
8839 + );
8840 + break;
8841 + case 'e2pdf-link':
8842 + if (default_properties) {
8843 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8844 + properties['width'] = '200';
8845 + }
4786 8846
4787 - e2pdf.zoom.click.x = ev.clientX;
4788 - e2pdf.zoom.click.y = ev.clientY;
4789 - jQuery('.page-options-icons').css('z-index', -1);
8847 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8848 + properties['height'] = size;
8849 + }
4790 8850 }
4791 - });
4792 - // If element resizable
4793 - if (element.hasClass('e2pdf-resizable')) {
4794 - element.resizable({
4795 - aspectRatio: aspect,
4796 - minHeight: min_height,
4797 - minWidth: min_width,
4798 - start: function (ev, ui) {
4799 - var left = parseFloat(jQuery(this).css('left'));
4800 - var top = parseFloat(jQuery(this).css('top'));
4801 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4802 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4803 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4804 - jQuery(this).resizable("option", "maxHeight", page_height - top);
8851 + var element =
8852 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8853 + jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8854 + jQuery('<i>', {'class': 'e2pdf-drag'})
8855 + );
8856 + break;
8857 + case 'e2pdf-qrcode':
8858 + if (default_properties) {
8859 + if (!properties.hasOwnProperty('color')) {
8860 + properties['color'] = '#000000';
8861 + }
8862 + if (!properties.hasOwnProperty('background')) {
8863 + properties['background'] = '#ffffff';
8864 + }
8865 + if (!properties.hasOwnProperty('wq')) {
8866 + properties['wq'] = '1';
8867 + }
8868 + }
8869 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8870 + jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8871 + jQuery('<i>', {'class': 'e2pdf-drag'})
8872 + );
8873 + break;
8874 + case 'e2pdf-barcode':
8875 + if (default_properties) {
8876 + if (!properties.hasOwnProperty('color')) {
8877 + properties['color'] = '#000000';
8878 + }
8879 + if (!properties.hasOwnProperty('text_color')) {
8880 + properties['text_color'] = '#000000';
8881 + }
8882 + if (!properties.hasOwnProperty('vertical')) {
8883 + properties['vertical'] = 'middle';
8884 + }
8885 + if (!properties.hasOwnProperty('horizontal')) {
8886 + properties['horizontal'] = 'center';
8887 + }
8888 + if (!properties.hasOwnProperty('wq')) {
8889 + properties['wq'] = '1';
8890 + }
8891 + if (!properties.hasOwnProperty('dimension')) {
8892 + properties['dimension'] = '1';
8893 + }
8894 + if (!properties.hasOwnProperty('background')) {
8895 + properties['background'] = '#ffffff';
8896 + }
8897 + if (!properties.hasOwnProperty('margin_top')) {
8898 + properties['margin_top'] = '10';
8899 + }
8900 + if (!properties.hasOwnProperty('margin_left')) {
8901 + properties['margin_left'] = '10';
8902 + }
8903 + if (!properties.hasOwnProperty('margin_right')) {
8904 + properties['margin_right'] = '10';
8905 + }
8906 + if (!properties.hasOwnProperty('margin_bottom')) {
8907 + properties['margin_bottom'] = '10';
8908 + }
8909 + } else {
8910 + // backward compatibility
8911 + if (!properties.hasOwnProperty('scale')) {
8912 + properties['scale'] = '1';
8913 + }
8914 + if (!properties.hasOwnProperty('margin_top')) {
8915 + properties['margin_top'] = '10';
8916 + }
8917 + if (!properties.hasOwnProperty('margin_left')) {
8918 + properties['margin_left'] = '10';
8919 + }
8920 + if (!properties.hasOwnProperty('margin_right')) {
8921 + properties['margin_right'] = '10';
8922 + }
8923 + if (!properties.hasOwnProperty('margin_bottom')) {
8924 + properties['margin_bottom'] = '10';
8925 + }
8926 + }
8927 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8928 + jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8929 + jQuery('<i>', {'class': 'e2pdf-drag'})
8930 + );
8931 + break;
8932 + case 'e2pdf-page-number':
8933 + if (default_properties) {
8934 + if (!properties.hasOwnProperty('width')) {
8935 + properties['width'] = '100';
8936 + } else if (properties['width'] === 'auto') {
8937 + properties['width'] = '100';
8938 + }
8939 + if (!properties.hasOwnProperty('height')) {
8940 + properties['height'] = size;
8941 + } else if (properties['height'] === 'auto') {
8942 + delete properties['height'];
8943 + }
8944 + if (!properties.hasOwnProperty('text_align')) {
8945 + properties['text_align'] = 'center';
8946 + }
8947 + if (!properties.hasOwnProperty('html_worker')) {
8948 + properties['html_worker'] = '1';
8949 + }
8950 + if (!properties.hasOwnProperty('value')) {
8951 + properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8952 + }
8953 + }
8954 + var value = properties['value'] ? properties['value'] : '';
8955 + var element =
8956 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8957 + jQuery('<div>', {'class': 'content e2pdf-page-number e2pdf-inner-element'}).html(e2pdf.helper.sanitizeHTML(value.replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2'))),
8958 + jQuery('<i>', {'class': 'e2pdf-drag'})
8959 + );
8960 + break;
8961 + case 'e2pdf-graph':
8962 + if (default_properties) {
8963 + // Graph
8964 + properties['g_palette'] = '#1e73be';
8965 + properties['g_stroke_colour'] = '#000000';
8966 + properties['g_stroke_width'] = '1';
8967 + properties['g_sort'] = '1';
8968 + // Titles
8969 + properties['g_graph_title_colour'] = '#000000';
8970 + properties['g_graph_title_space'] = '10';
8971 + // Labels
8972 + properties['g_label_colour'] = '#000000';
8973 + properties['g_label_font_size'] = '10';
8974 + properties['g_label_space'] = '10';
8975 + // Markers
8976 + properties['g_marker_colour'] = '#000000';
8977 + properties['g_marker_size'] = '3';
8978 + // Legend
8979 + properties['g_legend_back_colour'] = '#ffffff';
8980 + properties['g_legend_stroke_colour'] = '#000000';
8981 + properties['g_legend_stroke_width'] = '1';
8982 + properties['g_legend_entry_width'] = '20';
8983 + properties['g_legend_entry_height'] = '20';
8984 + properties['g_legend_padding_x'] = '5';
8985 + properties['g_legend_padding_y'] = '5';
8986 + properties['g_legend_colour'] = '#000000';
8987 + properties['g_legend_font_size'] = '10';
8988 + properties['g_show_legend'] = '1';
8989 + // Grid
8990 + properties['g_grid_colour'] = '#eeeeee';
8991 + properties['g_grid_subdivision_colour'] = '#eeeeee';
8992 + properties['g_minimum_grid_spacing'] = '20';
8993 + properties['g_show_grid'] = '1';
8994 + properties['g_show_grid_subdivisions'] = '1';
8995 + // Axis
8996 + properties['g_axis_colour'] = '#000000';
8997 + properties['g_axis_font_size'] = '12';
8998 + properties['g_show_axis_v'] = '1';
8999 + properties['g_show_axis_text_v'] = '1';
9000 + properties['g_show_axis_h'] = '1';
9001 + properties['g_show_axis_text_h'] = '1';
9002 + properties['g_show_subdivisions'] = '1';
9003 + properties['g_axis_overlap'] = '5';
9004 + properties['g_axis_stroke_width_v'] = '1';
9005 + properties['g_axis_stroke_width_h'] = '1';
9006 + // Bar Label
9007 + properties['g_bar_label_colour'] = '#000000';
9008 + properties['g_bar_label_font_size'] = '10';
9009 + properties['g_bar_label_space'] = '3';
9010 + properties['g_show_bar_labels'] = '1';
9011 + properties['g_project_angle'] = '45';
9012 + properties['g_depth'] = '20';
9013 + properties['g_aspect_ratio'] = '1';
9014 + properties['margin_top'] = '10';
9015 + properties['margin_left'] = '10';
9016 + properties['margin_right'] = '10';
9017 + properties['margin_bottom'] = '10';
9018 + properties['g_multiline'] = '2';
9019 + // Bar
9020 + properties['g_bar_width'] = '0';
9021 + properties['g_bar_width_min'] = '1';
9022 + properties['g_bar_space'] = '10';
9023 + properties['g_show_labels'] = '1';
9024 + properties['g_show_label_key'] = '1';
9025 + properties['g_inner_radius'] = '0.5';
9026 + properties['g_fill_opacity'] = '1';
9027 + properties['g_axis_text_space_v'] = '2';
9028 + properties['g_axis_text_space_h'] = '2';
9029 + } else {
9030 + // backward compatibility
9031 + if (!properties.hasOwnProperty('g_depth')) {
9032 + properties['g_depth'] = '40';
9033 + }
9034 + if (!properties.hasOwnProperty('g_aspect_ratio')) {
9035 + properties['g_aspect_ratio'] = '1';
9036 + }
9037 + if (!properties.hasOwnProperty('g_legend_entry_height')) {
9038 + properties['g_legend_entry_height'] = '20';
9039 + }
9040 + if (!properties.hasOwnProperty('g_bar_width')) {
9041 + properties['g_bar_width'] = '0';
9042 + }
9043 + if (!properties.hasOwnProperty('g_bar_width_min')) {
9044 + properties['g_bar_width_min'] = '1';
9045 + }
9046 + if (!properties.hasOwnProperty('g_bar_space')) {
9047 + properties['g_bar_space'] = '10';
9048 + }
9049 + // backward compatibility
9050 + if (!properties.hasOwnProperty('g_show_labels')) {
9051 + properties['g_show_labels'] = '1';
9052 + }
9053 + if (!properties.hasOwnProperty('g_show_label_key')) {
9054 + properties['g_show_label_key'] = '1';
9055 + }
9056 + if (!properties.hasOwnProperty('g_inner_radius')) {
9057 + properties['g_inner_radius'] = '0.5';
9058 + }
9059 + if (!properties.hasOwnProperty('g_fill_opacity')) {
9060 + properties['g_fill_opacity'] = '1';
9061 + }
9062 + if (!properties.hasOwnProperty('g_axis_text_space_v')) {
9063 + properties['g_axis_text_space_v'] = '2';
9064 + }
9065 + if (!properties.hasOwnProperty('g_axis_text_space_h')) {
9066 + properties['g_axis_text_space_h'] = '2';
9067 + }
9068 + }
9069 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
9070 + jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
9071 + jQuery('<i>', {'class': 'e2pdf-drag'})
9072 + );
9073 + break;
9074 + default:
9075 + break;
9076 + }
4805 9077
4806 - var padding_top = e2pdf.helper.pxToFloat(jQuery(this).css('padding-top'));
4807 - var padding_left = e2pdf.helper.pxToFloat(jQuery(this).css('padding-left'));
4808 - var padding_right = e2pdf.helper.pxToFloat(jQuery(this).css('padding-right'));
4809 - var padding_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('padding-bottom'));
4810 - var border_top = e2pdf.helper.pxToFloat(jQuery(this).css('border-top-width'));
4811 - var border_left = e2pdf.helper.pxToFloat(jQuery(this).css('border-left-width'));
4812 - var border_right = e2pdf.helper.pxToFloat(jQuery(this).css('border-right-width'));
4813 - var border_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('border-bottom-width'));
4814 -
4815 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4816 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4817 -
4818 - e2pdf.zoom.click.x = ev.clientX;
4819 - e2pdf.zoom.click.y = ev.clientY;
4820 - },
4821 - resize: function (ev, ui) {
4822 - },
4823 - stop: function (event, ui) {
4824 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4825 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
9078 + if (typeof element !== 'undefined') {
9079 + if (!element_id) {
9080 + var last_id = 0;
9081 + jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
9082 + var num_id = parseInt(jQuery(this).attr("data-element_id"));
9083 + if (num_id > last_id) {
9084 + last_id = num_id;
4826 9085 }
4827 9086 });
4828 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4829 - element.resizable({
4830 - handles: 'e, w, se',
4831 - minHeight: min_height,
4832 - minWidth: min_width,
4833 - resize: function (e, ui) {
4834 - jQuery(this).css('height', 'auto');
4835 - },
4836 - start: function (e, ui) {
4837 - var left = parseFloat(jQuery(this).css('left'));
4838 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4839 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4840 - },
4841 - stop: function (event, ui) {
4842 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4843 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4844 - }
4845 - }
4846 - );
9087 + element_id = parseInt(last_id + 1);
4847 9088 }
9089 + element.addClass('e2pdf-element');
9090 + element.attr('data-element_id', element_id);
9091 + element.data('data-type', type);
9092 + if (properties.hasOwnProperty('width')) {
9093 + element.css({'width': properties['width']});
9094 + }
9095 + if (properties.hasOwnProperty('height')) {
9096 + element.css({'height': properties['height']});
9097 + }
9098 + if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
9099 + element.css({'top': properties['top'], 'left': properties['left']});
9100 + }
9101 + element.css({"position": "absolute"});
9102 + e2pdf.properties.apply(element, properties, onload);
9103 + e2pdf.actions.apply(element, actions);
9104 + e2pdf.element.initEvents(element, page);
4848 9105 if (!onload) {
4849 9106 e2pdf.event.fire('after.element.create');
4850 9107 }
4851 9108 return element;
@@ -4852,44 +9109,14 @@
4852 9109 } else {
4853 9110 return false;
4854 9111 }
4855 9112 },
4856 - //e2pdf.element.children
9113 + // e2pdf.element.children
4857 9114 children: function (el) {
4858 -
4859 - var children = false;
4860 -
4861 - if (el.data('data-type') === 'e2pdf-html') {
4862 - children = el.find('.e2pdf-html');
4863 - } else if (el.data('data-type') === 'e2pdf-input') {
4864 - children = el.find('.e2pdf-input');
4865 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4866 - children = el.find('.e2pdf-textarea');
4867 - } else if (el.data('data-type') === 'e2pdf-select') {
4868 - children = el.find('.e2pdf-select');
4869 - } else if (el.data('data-type') === 'e2pdf-radio') {
4870 - children = el.find('.e2pdf-radio');
4871 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4872 - children = el.find('.e2pdf-checkbox');
4873 - } else if (el.data('data-type') === 'e2pdf-image') {
4874 - children = el.find('.e2pdf-image');
4875 - } else if (el.data('data-type') === 'e2pdf-signature') {
4876 - children = el.find('.e2pdf-signature');
4877 - }
9115 + var children = el.find('.' + el.data('data-type'));
4878 9116 return children;
4879 9117 },
4880 - //e2pdf.element.copy
4881 - copy: function (el) {
4882 - e2pdf.element.init(el);
4883 - e2pdf.element.buffer(el.clone(true));
4884 - },
4885 - //e2pdf.element.cut
4886 - cut: function (el) {
4887 - e2pdf.element.init(el);
4888 - e2pdf.element.buffer(el.clone(true));
4889 - e2pdf.element.delete(el);
4890 - },
4891 - //e2pdf.element.select
9118 + // e2pdf.element.select
4892 9119 select: function (el) {
4893 9120 var selected = false;
4894 9121 for (var key in e2pdf.element.selected) {
4895 9122 if (e2pdf.element.selected[key].is(el)) {
@@ -4900,9 +9127,9 @@
4900 9127 el.addClass('e2pdf-selected');
4901 9128 e2pdf.element.selected.push(el);
4902 9129 }
4903 9130 },
4904 - //e2pdf.element.unselect
9131 + // e2pdf.element.unselect
4905 9132 unselect: function (el) {
4906 9133 if (!el) {
4907 9134 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4908 9135 e2pdf.element.selected = [];
@@ -4914,150 +9141,457 @@
4914 9141 }
4915 9142 }
4916 9143 }
4917 9144 },
4918 - //e2pdf.element.buffer
4919 - buffer: function (el) {
4920 - var buffered = false;
4921 - for (var key in e2pdf.element.buffered) {
4922 - if (e2pdf.element.buffered[key].is(el)) {
4923 - buffered = true;
4924 - }
9145 + // e2pdf.element.unfocus
9146 + unfocus: function (el) {
9147 + e2pdf.wysiwyg.helper.dropSelection();
9148 + if (!el) {
9149 + jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9150 + jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9151 + jQuery(this).blur();
9152 + });
9153 + } else {
9154 + el.find('.e2pdf-inner-element').blur();
9155 + el.removeClass('e2pdf-focused');
4925 9156 }
4926 - if (!buffered) {
4927 - e2pdf.element.buffered.push(el);
4928 - }
4929 9157 },
4930 - //e2pdf.element.unbuffer
4931 - unbuffer: function (el) {
4932 - if (!el) {
4933 - e2pdf.element.buffered = [];
4934 - } else {
4935 - for (var key in e2pdf.element.buffered) {
4936 - if (e2pdf.element.buffered[key].is(el)) {
4937 - delete e2pdf.element.buffered[key];
9158 + // e2pdf.element.focus
9159 + focus: function (el) {
9160 + el.one('beforeinput', function (e) {
9161 + var history = [];
9162 + history.push(el.clone(true));
9163 + e2pdf.history.set('element_change', history);
9164 + });
9165 + var el_inner = el.find('.e2pdf-inner-element');
9166 + if (el_inner.is('div.e2pdf-html')) {
9167 + var node = el_inner.get(0);
9168 + if (node) {
9169 + node.focus();
9170 + if (window.getSelection && document.createRange) {
9171 + var range = document.createRange();
9172 + var selection = window.getSelection();
9173 + range.selectNodeContents(node);
9174 + range.collapse(false);
9175 + selection.removeAllRanges();
9176 + selection.addRange(range);
4938 9177 }
9178 + } else {
9179 + el_inner.focus();
4939 9180 }
9181 + } else {
9182 + el_inner.focus();
4940 9183 }
9184 + el.addClass('e2pdf-focused');
4941 9185 },
4942 - //e2pdf.element.hide
9186 + // e2pdf.element.hide
4943 9187 hide: function (el) {
4944 9188 el.addClass('e2pdf-hide');
4945 9189 },
4946 - //e2pdf.element.show
9190 + // e2pdf.element.show
4947 9191 show: function (el) {
4948 9192 el.removeClass('e2pdf-hide');
4949 9193 },
4950 - //e2pdf.element.paste
4951 - paste: function (keep_position) {
4952 - e2pdf.element.unselect();
4953 - var min_top = 99999999;
4954 - var min_left = 9999999;
4955 - var left_correction = 0;
4956 - var top_correction = 0;
4957 - if (!keep_position) {
4958 - for (var key in e2pdf.element.buffered) {
4959 - var buffered = e2pdf.element.buffered[key];
4960 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4961 - min_left = Math.min(e2pdf.properties.getValue(buffered, 'left'), min_left);
9194 + // e2pdf.element.delete
9195 + delete: function (el) {
9196 + el.remove();
9197 + e2pdf.event.fire('after.element.delete');
9198 + }
9199 + },
9200 + // e2pdf.storage
9201 + storage: {
9202 + get: function (key) {
9203 + return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9204 + },
9205 + set: function (key, data) {
9206 + localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9207 + },
9208 + delete: function (key) {
9209 + localStorage.removeItem('e2pdf_' + key);
9210 + }
9211 + },
9212 + // e2pdf.history
9213 + history: {
9214 + // e2pdf.history.set
9215 + set: function (action, elements, data) {
9216 + if (elements && elements.length > 0) {
9217 + var history = {
9218 + 'action': action,
9219 + 'elements': elements,
9220 + 'data': data,
9221 + };
9222 + e2pdf.history.undoStack.push(history);
9223 + if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9224 + e2pdf.history.undoStack.shift();
4962 9225 }
9226 + if (e2pdf.history.undoStack.length > 0) {
9227 + jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9228 + }
9229 + }
9230 + },
9231 + // e2pdf.history.undo
9232 + undo: function () {
9233 + var history = e2pdf.history.undoStack.pop();
9234 + if (history) {
9235 + e2pdf.element.unselect();
9236 + if (history.action == 'element_change') {
9237 + for (var key in history.elements) {
9238 + var buffered = history.elements[key];
9239 + jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9240 + e2pdf.element.initEvents(buffered);
9241 + e2pdf.element.select(buffered);
9242 + }
9243 + } else if (history.action == 'element_create') {
9244 + for (var key in history.elements) {
9245 + var buffered = history.elements[key];
9246 + if (buffered.hasClass('e2pdf-page')) {
9247 + jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9248 + if (jQuery('.e2pdf-page').length == 0) {
9249 + e2pdf.history.undo();
9250 + }
9251 + } else {
9252 + jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9253 + }
9254 + }
9255 + } else if (history.action == 'element_delete') {
9256 + for (var key in history.elements) {
9257 + var buffered = history.elements[key];
9258 + var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9259 + page.append(buffered);
9260 + e2pdf.element.initEvents(buffered, page);
9261 + e2pdf.element.select(buffered);
9262 + }
9263 + } else if (history.action == 'page_change') {
9264 + for (var key in history.elements) {
9265 + var buffered = history.elements[key];
9266 + var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9267 + page.data('data-type', 'e2pdf-page');
9268 + jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9269 + if (buffered.css('background-image')) {
9270 + page.css('background-image', buffered.css('background-image'));
9271 + }
9272 + buffered.find('.e2pdf-element').each(function () {
9273 + page.append(jQuery(this));
9274 + e2pdf.element.initEvents(jQuery(this), page);
9275 + });
9276 + e2pdf.pages.initEvents(page);
9277 + e2pdf.pages.rebuildPages();
9278 + }
9279 + if (history.data) {
9280 + jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9281 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9282 + }
9283 + } else if (history.action == 'page_delete') {
9284 + for (var key in history.elements) {
9285 + var buffered = history.elements[key];
9286 + var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9287 + page.data('data-type', 'e2pdf-page');
9288 + e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9289 + e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9290 + if (buffered.attr('data-page_id') == '1') {
9291 + jQuery('.e2pdf-tpl-inner').prepend(page);
9292 + } else {
9293 + page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9294 + }
9295 + if (buffered.css('background-image')) {
9296 + page.css('background-image', buffered.css('background-image'));
9297 + }
9298 + buffered.find('.e2pdf-element').each(function () {
9299 + page.append(jQuery(this));
9300 + e2pdf.element.initEvents(jQuery(this), page);
9301 + });
9302 + e2pdf.pages.initEvents(page);
9303 + e2pdf.pages.rebuildPages();
9304 + }
9305 + if (history.data) {
9306 + jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9307 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9308 + }
9309 + } else if (history.action == 'wysiwyg') {
9310 + for (var key in history.elements) {
9311 + var buffered = history.elements[key];
9312 + buffered.focus();
9313 + document.execCommand('undo');
9314 + }
9315 + }
9316 + if (e2pdf.history.undoStack.length == 0) {
9317 + jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9318 + }
9319 + }
9320 + },
9321 + // e2pdf.history.redo
9322 + redo: function () {
4963 9323
4964 - for (var key in e2pdf.element.buffered) {
4965 - var buffered = e2pdf.element.buffered[key];
9324 + },
9325 + clear: function () {
9326 + e2pdf.history.undoStack = [];
9327 + jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9328 + },
9329 + // e2pdf.history.undoStack
9330 + undoStack: []
9331 + },
9332 + // e2pdf.copy
9333 + copy: function (key, el) {
9334 + e2pdf.element.init(el);
9335 + switch (key) {
9336 + case 'style':
9337 + var data = {
9338 + 'type': el.data('data-type'),
9339 + 'fields': e2pdf.properties.getFields(el)
9340 + };
9341 + e2pdf.storage.set(key, data);
9342 + break;
9343 + case 'width':
9344 + var data = {
9345 + 'width': e2pdf.properties.getValue(el, 'width', 'float')
9346 + };
9347 + e2pdf.storage.set(key, data);
9348 + break;
9349 + case 'height':
9350 + var data = {
9351 + 'height': e2pdf.properties.getValue(el, 'height', 'float')
9352 + };
9353 + e2pdf.storage.set(key, data);
9354 + break;
9355 + case 'elements':
9356 + var elements = e2pdf.storage.get('elements');
9357 + if (elements == null) {
9358 + elements = [];
9359 + }
9360 + var data = {
9361 + 'type': el.data('data-type'),
9362 + 'top': el.css('top'),
9363 + 'left': el.css('left'),
9364 + 'width': el.css('width'),
9365 + 'height': el.css('height'),
9366 + 'fields': e2pdf.properties.getFields(el),
9367 + 'properties': e2pdf.properties.get(el),
9368 + 'actions': e2pdf.actions.get(el)
9369 + };
9370 + elements.push(data);
9371 + e2pdf.storage.set(key, elements);
9372 + break;
9373 + case 'actions':
9374 + var data = {
9375 + 'actions': e2pdf.actions.get(el)
9376 + };
9377 + e2pdf.storage.set(key, data);
9378 + break;
9379 + }
9380 + },
9381 + // e2pdf.paste
9382 + paste: function (key, el) {
9383 + if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9384 + switch (key) {
9385 + case 'style':
9386 + if (e2pdf.storage.get('style').type == el.data('data-type')) {
9387 + e2pdf.element.init(el);
9388 + var groups = e2pdf.storage.get('style').fields;
9389 + for (var group_key in groups) {
9390 + var group = groups[group_key];
9391 + for (var field_key in group.fields) {
9392 + var group_field = group.fields[field_key];
9393 + if (group_field.type != 'link') {
9394 + if (jQuery.inArray(group_field.key, [
9395 + 'page_id',
9396 + 'element_id',
9397 + 'element_type',
9398 + 'width',
9399 + 'height',
9400 + 'top',
9401 + 'left',
9402 + 'name',
9403 + 'field_name',
9404 + 'z_index',
9405 + 'group',
9406 + 'option',
9407 + 'options',
9408 + 'css',
9409 + 'parent',
9410 + 'value',
9411 + 'preg_pattern',
9412 + 'preg_replacement',
9413 + 'preg_match_all_pattern',
9414 + 'preg_match_all_output',
9415 + 'wysiwyg_disable',
9416 + 'multipage',
9417 + 'dynamic_height',
9418 + 'nl2br',
9419 + 'hide_if_empty',
9420 + 'hide_page_if_empty',
9421 + 'css_priority',
9422 + 'pdf_resample',
9423 + 'pdf_append',
9424 + 'html_worker',
9425 + 'esig',
9426 + 'dimension',
9427 + 'block_dimension',
9428 + 'keep_lower_size',
9429 + 'fill_image',
9430 + 'only_image',
9431 + 'hl',
9432 + 'placeholder',
9433 + 'pdf_page',
9434 + 'format',
9435 + 'g_type',
9436 + 'g_structure_key',
9437 + 'g_structure_value',
9438 + 'g_structure_colour',
9439 + 'g_structure_axis_text',
9440 + 'g_structure_legend_text',
9441 + 'g_structure_label',
9442 + 'g_structure_area',
9443 + 'g_structure_open',
9444 + 'g_structure_end',
9445 + 'g_structure_outliers',
9446 + 'g_structure_top',
9447 + 'g_structure_bottom',
9448 + 'g_structure_wtop',
9449 + 'g_structure_wbottom',
9450 + 'g_structure_high',
9451 + 'g_structure_low',
9452 + 'g_structured_data',
9453 + 'g_key_sep',
9454 + 'g_array_sep',
9455 + 'g_sub_array_sep',
9456 + 'g_graph_title',
9457 + 'g_label_v',
9458 + 'g_label_h',
9459 + 'g_legend_title'
9460 + ]) === -1) {
9461 + e2pdf.properties.set(el, group_field.key, group_field.value);
9462 + }
9463 + }
9464 + }
9465 + }
9466 + e2pdf.properties.render(el);
9467 + }
9468 + break;
9469 + case 'elements':
9470 + case 'elements-in-place':
9471 + e2pdf.element.unselect();
4966 9472 var context = jQuery('.e2pdf-context');
4967 - var properties = e2pdf.properties.get(buffered);
4968 - var width = parseFloat(properties['width']);
4969 - var height = parseFloat(properties['height']);
4970 9473 var page = context.closest('.e2pdf-page');
4971 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4972 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4973 - if ((left + width) > parseFloat(page.css('width'))) {
4974 - var correction = left - (parseFloat(page.css('width')) - width);
4975 - left_correction = Math.max(correction, left_correction);
9474 + var min_top = 99999999;
9475 + var min_left = 99999999;
9476 + var left_correction = 0;
9477 + var top_correction = 0;
9478 + if (key !== 'elements-in-place') {
9479 + for (var element in e2pdf.storage.get('elements')) {
9480 + var buffered = e2pdf.storage.get('elements')[element];
9481 + var properties = buffered.properties;
9482 + min_top = Math.min(parseFloat(properties['top']), min_top);
9483 + min_left = Math.min(parseFloat(properties['left']), min_left);
9484 + }
9485 + for (var element in e2pdf.storage.get('elements')) {
9486 + var buffered = e2pdf.storage.get('elements')[element];
9487 + var properties = buffered.properties;
9488 + var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9489 + if (context.hasClass('e2pdf-context-bottom')) {
9490 + top += context.height();
9491 + }
9492 + var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9493 + if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9494 + var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9495 + left_correction = Math.max(correction, left_correction);
9496 + }
9497 + if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9498 + var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9499 + top_correction = Math.max(correction, top_correction);
9500 + }
9501 + }
4976 9502 }
4977 9503
4978 - if ((top + height) > parseFloat(page.css('height'))) {
4979 - var correction = top - (parseFloat(page.css('height')) - height);
4980 - top_correction = Math.max(correction, top_correction);
9504 + var history = [];
9505 + for (var element in e2pdf.storage.get('elements')) {
9506 + var buffered = e2pdf.storage.get('elements')[element];
9507 + var properties = buffered.properties;
9508 + var actions = buffered.actions;
9509 + if (key !== 'elements-in-place') {
9510 + var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9511 + if (context.hasClass('e2pdf-context-bottom')) {
9512 + top += context.height();
9513 + }
9514 + var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9515 + properties['top'] = top;
9516 + properties['left'] = left;
9517 + }
9518 + var el = e2pdf.element.create(buffered.type, page, properties, actions);
9519 + page.append(el);
9520 + e2pdf.properties.render(el);
9521 + e2pdf.element.select(el);
9522 + history.push(el.clone(true));
4981 9523 }
4982 - }
9524 + e2pdf.history.set('element_create', history);
9525 + e2pdf.event.fire('after.element.paste');
9526 + break;
9527 + case 'actions':
9528 + e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9529 + break;
9530 + case 'width':
9531 + e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9532 + e2pdf.properties.render(el);
9533 + break;
9534 + case 'height':
9535 + e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9536 + e2pdf.properties.render(el);
9537 + break;
4983 9538 }
4984 -
4985 - for (var key in e2pdf.element.buffered) {
4986 - var buffered = e2pdf.element.buffered[key];
4987 - var context = jQuery('.e2pdf-context');
4988 - var properties = e2pdf.properties.get(buffered);
4989 - var actions = e2pdf.actions.get(buffered);
4990 - var width = parseFloat(properties['width']);
4991 - var height = parseFloat(properties['height']);
4992 - var page = context.closest('.e2pdf-page');
4993 - var type = buffered.data('data-type');
4994 -
4995 - if (!keep_position) {
4996 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4997 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4998 - properties['top'] = top;
4999 - properties['left'] = left;
5000 - }
5001 - //changed
5002 - var el = e2pdf.element.create(type, page, properties, actions);
5003 - page.append(el);
5004 - e2pdf.properties.render(el);
5005 - e2pdf.element.select(el);
5006 - }
5007 -
5008 - e2pdf.event.fire('after.element.paste');
5009 - },
5010 - //e2pdf.element.delete
5011 - delete: function (el) {
5012 - el.remove();
5013 - e2pdf.event.fire('after.element.delete');
5014 9539 }
5015 9540 },
5016 - //e2pdf.wysiwyg
9541 + // e2pdf.wysiwyg
5017 9542 wysiwyg: {
5018 - //e2pdf.wysiwyg.apply
9543 + // e2pdf.wysiwyg.apply
5019 9544 apply: function (el) {
9545 + var history = [];
9546 + history.push(el);
9547 + e2pdf.history.set('wysiwyg', history);
9548 + var html = '';
5020 9549 var command = el.attr('data-command');
9550 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5021 9551 if (command === 'H1') {
5022 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5023 9552 if (node.is("h1") && document.getSelection().toString() === node.text()) {
5024 9553 e2pdf.wysiwyg.clear('h1');
5025 9554 } else {
5026 - var html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9555 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
5027 9556 document.execCommand('insertHTML', false, html);
5028 9557 }
5029 9558 } else if (command === 'H2') {
5030 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5031 9559 if (node.is("h2") && document.getSelection().toString() === node.text()) {
5032 9560 e2pdf.wysiwyg.clear('h2');
5033 9561 } else {
5034 - var html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9562 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
5035 9563 document.execCommand('insertHTML', false, html);
5036 9564 }
5037 9565 } else if (command === 'createlink') {
5038 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9566 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
5039 9567 document.execCommand(command, false, url);
5040 9568 } else if (command === 'font-size') {
5041 9569 var font_size = el.find('option:selected').html();
5042 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5043 9570 if (node.is("span") && document.getSelection().toString() === node.text()) {
5044 - var html = node.css('font-size', font_size).prop('outerHTML');
9571 + html = node.css('font-size', font_size + "px").prop('outerHTML');
5045 9572 } else {
5046 - var html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size).prop('outerHTML');
9573 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
5047 9574 }
5048 9575 document.execCommand('insertHTML', false, html);
5049 9576 el.val('');
9577 + } else if (command === 'line-height') {
9578 + var font_size = el.find('option:selected').html();
9579 + if (node.is("span") && document.getSelection().toString() === node.text()) {
9580 + html = node.css('line-height', font_size + "px").prop('outerHTML');
9581 + } else {
9582 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9583 + }
9584 + document.execCommand('insertHTML', false, html);
9585 + el.val('');
5050 9586 } else if (command === 'font') {
5051 9587 e2pdf.font.load(el);
5052 - var font = el.find('option:selected').html();
5053 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9588 + var font = CSS.escape(el.find('option:selected').html());
5054 9589 if (node.is("span") && document.getSelection().toString() === node.text()) {
5055 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9590 + html = node.css('font-family', font).prop('outerHTML');
5056 9591 } else {
5057 - var html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', '"' + font + '"').prop('outerHTML');
9592 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
5058 9593 }
5059 -
5060 9594 document.execCommand('insertHTML', false, html);
5061 9595 el.val('');
5062 9596 } else if (command === 'color') {
5063 9597 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -5066,14 +9600,14 @@
5066 9600 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5067 9601 } else if (command === 'clear') {
5068 9602 document.execCommand("removeformat", false, "");
5069 9603 e2pdf.wysiwyg.clear();
5070 - } else {
9604 + } else if (command) {
5071 9605 document.execCommand(command, false, null);
5072 9606 }
5073 -
5074 9607 e2pdf.event.fire('after.wysiwyg.apply');
5075 9608 },
9609 + // e2pdf.wysiwyg.clear
5076 9610 clear: function (tags) {
5077 9611 if (!tags) {
5078 9612 var tags = "h1,h2";
5079 9613 }
@@ -5084,9 +9618,11 @@
5084 9618 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
5085 9619 }
5086 9620 });
5087 9621 },
9622 + // e2pdf.wysiwyg.helper
5088 9623 helper: {
9624 + // e2pdf.wysiwyg.helper.getSelectedNodes
5089 9625 getSelectedNodes: function () {
5090 9626 var nodes = [];
5091 9627 if (window.getSelection) {
5092 9628 var sel = window.getSelection();
@@ -5095,8 +9631,9 @@
5095 9631 }
5096 9632 }
5097 9633 return nodes;
5098 9634 },
9635 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
5099 9636 replaceWithOwnChildren: function (el) {
5100 9637 var parent = el.parentNode;
5101 9638 while (el.hasChildNodes()) {
5102 9639 parent.insertBefore(el.firstChild, el);
@@ -5102,8 +9639,9 @@
5102 9639 parent.insertBefore(el.firstChild, el);
5103 9640 }
5104 9641 parent.removeChild(el);
5105 9642 },
9643 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
5106 9644 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
5107 9645 var node = range.startContainer;
5108 9646 var endNode = range.endContainer;
5109 9647 var rangeNodes = [];
@@ -5129,8 +9667,9 @@
5129 9667 }
5130 9668
5131 9669 return rangeNodes;
5132 9670 },
9671 + // e2pdf.wysiwyg.helper.getSelectedNode
5133 9672 getSelectedNode: function () {
5134 9673 var node, selection;
5135 9674 if (window.getSelection) {
5136 9675 selection = getSelection();
@@ -5136,9 +9675,9 @@
5136 9675 selection = getSelection();
5137 9676 node = selection.anchorNode;
5138 9677 }
5139 9678 if (!node && document.selection) {
5140 - selection = document.selection
9679 + selection = document.selection;
5141 9680 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
5142 9681 node = range.commonAncestorContainer ? range.commonAncestorContainer :
5143 9682 range.parentElement ? range.parentElement() : range.item(0);
5144 9683 }
@@ -5145,8 +9684,9 @@
5145 9684 if (node) {
5146 9685 return (node.nodeName === "#text" ? node.parentNode : node);
5147 9686 }
5148 9687 },
9688 + // e2pdf.wysiwyg.helper.nextNode
5149 9689 nextNode: function (node) {
5150 9690 if (node.hasChildNodes()) {
5151 9691 return node.firstChild;
5152 9692 } else {
@@ -5158,11 +9698,12 @@
5158 9698 }
5159 9699 return node.nextSibling;
5160 9700 }
5161 9701 },
9702 + // e2pdf.wysiwyg.helper.getSelectionHtml
5162 9703 getSelectionHtml: function () {
5163 9704 var html = "";
5164 - if (typeof window.getSelection != "undefined") {
9705 + if (typeof window.getSelection != 'undefined') {
5165 9706 var sel = window.getSelection();
5166 9707 if (sel.rangeCount) {
5167 9708 var container = document.createElement("div");
5168 9709 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -5169,9 +9710,9 @@
5169 9710 container.appendChild(sel.getRangeAt(i).cloneContents());
5170 9711 }
5171 9712 html = container.innerHTML;
5172 9713 }
5173 - } else if (typeof document.selection != "undefined") {
9714 + } else if (typeof document.selection != 'undefined') {
5174 9715 if (document.selection.type === "Text") {
5175 9716 html = document.selection.createRange().htmlText;
5176 9717 }
5177 9718 }
@@ -5176,8 +9717,9 @@
5176 9717 }
5177 9718 }
5178 9719 return html;
5179 9720 },
9721 + // e2pdf.wysiwyg.helper.saveSelection
5180 9722 saveSelection: function () {
5181 9723 if (window.getSelection) {
5182 9724 sel = window.getSelection();
5183 9725 if (sel.getRangeAt && sel.rangeCount) {
@@ -5187,8 +9729,9 @@
5187 9729 return document.selection.createRange();
5188 9730 }
5189 9731 return null;
5190 9732 },
9733 + // e2pdf.wysiwyg.helper.restoreSelection
5191 9734 restoreSelection: function (range) {
5192 9735 if (range) {
5193 9736 if (window.getSelection) {
5194 9737 sel = window.getSelection();
@@ -5197,48 +9740,99 @@
5197 9740 } else if (document.selection && range.select) {
5198 9741 range.select();
5199 9742 }
5200 9743 }
9744 + },
9745 + // e2pdf.wysiwyg.helper.dropSelection
9746 + dropSelection: function () {
9747 + if (window.getSelection) {
9748 + sel = window.getSelection();
9749 + sel.removeAllRanges();
9750 + }
5201 9751 }
5202 9752 }
5203 9753 },
5204 - //e2pdf.visual
9754 + // e2pdf.visual
5205 9755 visual: {
5206 - //e2pdf.visual.mapper
9756 + // e2pdf.visual.mapper
5207 9757 mapper: {
9758 + cursorPosStart: null,
9759 + cursorPosEnd: null,
9760 + cursorRange: null,
5208 9761 selected: null,
5209 - //e2pdf.visual.mapper.init
9762 + // e2pdf.visual.mapper.init
5210 9763 init: function (el) {
9764 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9765 + if (el.find('.e2pdf-inner-element').is('div')) {
9766 + if (window.getSelection) {
9767 + sel = window.getSelection();
9768 + if (sel.getRangeAt && sel.rangeCount) {
9769 + e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9770 + }
9771 + } else if (document.selection && document.selection.createRange) {
9772 + e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9773 + }
9774 + e2pdf.visual.mapper.cursorPosStart = null;
9775 + e2pdf.visual.mapper.cursorPosEnd = null;
9776 + } else {
9777 + e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9778 + e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9779 + e2pdf.visual.mapper.cursorRange = null;
9780 + }
9781 + } else {
9782 + e2pdf.visual.mapper.cursorPosStart = null;
9783 + e2pdf.visual.mapper.cursorPosEnd = null;
9784 + e2pdf.visual.mapper.cursorRange = null;
9785 + }
9786 +
5211 9787 e2pdf.visual.mapper.selected = el;
5212 9788 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5213 9789 e2pdf.dialog.create(modal);
5214 9790 },
5215 - //e2pdf.visual.mapper.markup
9791 + // e2pdf.visual.mapper.markup
5216 9792 markup: function () {
5217 9793 e2pdf.dialog.rebuild();
5218 9794 },
5219 - //e2pdf.visual.mapper.rebuild
9795 + // e2pdf.visual.mapper.rebuild
5220 9796 rebuild: function () {
5221 - if (jQuery('#e2pdf-vm-content').length > 0) {
5222 - var vc_content = jQuery('#e2pdf-vm-content');
5223 -
9797 + if (jQuery('.e2pdf-vm-content').length > 0) {
9798 + var vc_content = jQuery('.e2pdf-vm-content');
5224 9799 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5225 9800 jQuery('.e2pdf-vm-wrapper').remove();
5226 9801 }
9802 + vc_content.find('input[type="hidden"]').each(function () {
9803 + if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9804 + jQuery(this).attr('e2pdf-vm-hidden', 'true');
9805 + jQuery(this).attr('value', jQuery(this).attr('name'));
9806 + }
9807 + });
9808 + if (e2pdf.static.vm.hidden) {
9809 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9810 + jQuery(this).attr('type', 'text');
9811 + });
9812 + } else {
9813 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9814 + jQuery(this).attr('type', 'hidden');
9815 + });
9816 + }
5227 9817
5228 9818 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
5229 - vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], button[type="upload"], textarea, select').each(function () {
9819 + vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="time"], button[type="upload"], textarea, select').each(function () {
5230 9820 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5231 9821 });
5232 9822 vc_content.append(vc_wrapper);
9823 + if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9824 + jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9825 + }
5233 9826 }
5234 9827 },
5235 - //e2pdf.visual.mapper.clear
9828 + // e2pdf.visual.mapper.clear
5236 9829 clear: function () {
5237 9830 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5238 9831 jQuery('.e2pdf-vm-wrapper').remove();
5239 9832 }
5240 9833 },
9834 + // e2pdf.visual.mapper.load
5241 9835 load: function (el) {
5242 9836 var loaded = false;
5243 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5244 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5243,10 +9837,10 @@
5243 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5244 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5245 9839 var width = el.css('width');
5246 9840 var height = el.css('height');
5247 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5248 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
9841 + var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9842 + var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
5249 9843 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5250 9844 'width': width, 'height': height, 'top': top, 'left': left
5251 9845 });
5252 9846 var name = el.attr('name');
@@ -5251,9 +9845,9 @@
5251 9845 });
5252 9846 var name = el.attr('name');
5253 9847 var type = el.attr('type');
5254 9848 var value = el.attr('value');
5255 - if (el.is("select")) {
9849 + if (el.is('select')) {
5256 9850 type = 'select';
5257 9851 value = '';
5258 9852 el.find('option').each(function () {
5259 9853 value += jQuery(this).attr('value');
@@ -5269,72 +9863,114 @@
5269 9863 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5270 9864 }
5271 9865 return loaded;
5272 9866 },
9867 + // e2pdf.visual.mapper.apply
5273 9868 apply: function (el) {
5274 9869 if (e2pdf.visual.mapper.selected) {
9870 + var history = [];
9871 + history.push(e2pdf.visual.mapper.selected.clone(true));
9872 + e2pdf.history.set('element_change', history);
5275 9873 var name = el.data('name');
9874 + var group = el.data('name');
5276 9875 var value = el.data('value');
5277 - var type = el.data('type');
5278 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5279 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5280 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5281 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5282 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5283 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5284 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5285 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5286 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5287 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5288 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5289 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9876 + if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9877 + var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9878 + var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9879 + var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9880 + var final = textBefore + name + textAfter;
9881 + if (!e2pdf.static.vm.replace) {
9882 + e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9883 + e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9884 + } else {
9885 + e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9886 + }
9887 + name = final;
9888 + } else if (e2pdf.visual.mapper.cursorRange !== null) {
9889 + e2pdf.visual.mapper.cursorRange.deleteContents();
9890 + var node = document.createTextNode(name);
9891 + e2pdf.visual.mapper.cursorRange.insertNode(node);
5290 9892 } else {
5291 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9893 + if (!e2pdf.static.vm.replace) {
9894 + e2pdf.element.init(e2pdf.visual.mapper.selected);
9895 + name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9896 + }
5292 9897 }
5293 -
5294 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5295 - e2pdf.visual.mapper.selected = null;
9898 + switch (e2pdf.visual.mapper.selected.data('data-type')) {
9899 + case 'e2pdf-checkbox':
9900 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9901 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9902 + break;
9903 + case 'e2pdf-radio':
9904 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9905 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9906 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9907 + break;
9908 + case 'e2pdf-select':
9909 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9910 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9911 + break;
9912 + case 'e2pdf-image':
9913 + case 'e2pdf-qrcode':
9914 + case 'e2pdf-barcode':
9915 + case 'e2pdf-graph':
9916 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9917 + break;
9918 + default:
9919 + if (e2pdf.visual.mapper.cursorRange === null) {
9920 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9921 + }
9922 + break;
9923 + }
9924 + if (e2pdf.visual.mapper.cursorRange === null) {
9925 + e2pdf.properties.render(e2pdf.visual.mapper.selected);
9926 + }
5296 9927 }
5297 - e2pdf.dialog.close();
9928 + if (e2pdf.static.vm.close) {
9929 + e2pdf.dialog.close();
9930 + }
5298 9931 }
5299 9932 }
5300 9933 },
5301 9934 zoom: {
5302 - zoom: 1,
9935 + scale: 1,
5303 9936 click: {
5304 9937 x: 0,
5305 9938 y: 0
5306 9939 },
5307 9940 apply: function (el) {
5308 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5309 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5310 - });
5311 - if (el.val() !== '100') {
5312 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5313 - }
5314 -
5315 - e2pdf.zoom.zoom = el.val() / 100;
5316 - jQuery('#e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('#e2pdf-tpl').width()) / 2);
9941 + const scale = Number(el.val()) / 100;
9942 + e2pdf.zoom.scale = scale;
9943 + const tpl = jQuery('.e2pdf-tpl');
9944 + const inner = jQuery('.e2pdf-tpl-inner');
9945 + document.documentElement.style.setProperty('--e2pdf-scale', scale);
9946 + document.documentElement.style.setProperty('--e2pdf-scale-width', `${Math.max(100, 100 / scale)}%`);
9947 + tpl.toggleClass('e2pdf-zoom', scale !== 1);
9948 + tpl.scrollLeft(((inner.width() * e2pdf.zoom.scale) - tpl.width()) / 2);
5317 9949 }
5318 9950 }
5319 9951 };
5320 -
5321 -
5322 -
5323 9952 jQuery(window).resize(function () {
5324 9953 e2pdf.visual.mapper.clear();
5325 - if (this.e2pdfResizeTO)
9954 + if (e2pdf.static.observer !== null) {
9955 + e2pdf.static.observer.disconnect();
9956 + e2pdf.static.observer = null;
9957 + }
9958 + if (this.e2pdfResizeTO) {
5326 9959 clearTimeout(this.e2pdfResizeTO);
9960 + }
5327 9961 this.e2pdfResizeTO = setTimeout(function () {
5328 9962 jQuery(this).trigger('e2pdfResizeEnd');
5329 9963 }, 500);
5330 9964 });
5331 -
9965 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9966 + jQuery(this).parent().addClass('e2pdf-hide');
9967 + jQuery(this).trigger('e2pdfResizeEnd');
9968 +});
5332 9969 jQuery(window).bind('e2pdfResizeEnd', function () {
5333 9970 e2pdf.dialog.rebuild();
5334 9971 });
5335 -
5336 -jQuery(' input.e2pdf-collapse[type="checkbox"]').live('change', function (e) {
9972 +jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
5337 9973 var collapse = jQuery(this).attr('data-collapse');
5338 9974 if (collapse) {
5339 9975 if (jQuery(this).is(':checked')) {
5340 9976 jQuery('.' + collapse).removeClass('e2pdf-hide');
@@ -5342,83 +9978,196 @@
5342 9978 jQuery('.' + collapse).addClass('e2pdf-hide');
5343 9979 }
5344 9980 }
5345 9981 });
9982 +jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
5346 9983
9984 + const form = jQuery(this).closest('form');
9985 + const value = jQuery(this).val();
9986 + jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9987 + if (value == '1') {
9988 + form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9989 + } else if (value == '2') {
9990 + form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9991 + }
9992 +
9993 + form.off('submit.confirmOverwrite');
9994 + if (value == '1' || value == '2' || value == '3') {
9995 + form.on('submit.confirmOverwrite', function (e) {
9996 + let message = '';
9997 + if (value == '3') {
9998 + message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9999 + } else {
10000 + const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
10001 + if (!template_id) {
10002 + return true;
10003 + }
10004 + message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
10005 + }
10006 + if (!confirm(message)) {
10007 + e.preventDefault();
10008 + return false;
10009 + }
10010 + });
10011 + }
10012 +});
10013 +jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
10014 + if (jQuery(this).val() == 'attachment') {
10015 + jQuery(this).closest('form').removeAttr('target');
10016 + } else {
10017 + jQuery(this).closest('form').attr('target', '_blank');
10018 + }
10019 +});
10020 +jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
10021 + var collapse = jQuery(this).attr('data-collapse');
10022 + if (collapse) {
10023 + if (jQuery(this).hasClass('e2pdf-collapsed')) {
10024 + jQuery('.' + collapse).addClass('e2pdf-hide');
10025 + jQuery(this).removeClass('e2pdf-collapsed');
10026 + } else {
10027 + jQuery('.' + collapse).removeClass('e2pdf-hide');
10028 + jQuery(this).addClass('e2pdf-collapsed');
10029 + }
10030 + }
10031 +});
5347 10032 jQuery(document).ready(function () {
5348 -
5349 - jQuery('a.e2pdf-link[disabled="disabled"]').live('click', function (e) {
10033 + jQuery('body').removeClass('e2pdf-loading');
10034 + if (jQuery('.e2pdf-select2').length > 0) {
10035 + jQuery('.e2pdf-select2').attr('disabled', false);
10036 + }
10037 + jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
5350 10038 e.stopPropagation();
5351 10039 e.preventDefault();
5352 10040 e.stopImmediatePropagation();
5353 10041 return false;
5354 10042 });
5355 -
5356 - jQuery('.e2pdf-action-add').live('click', function (e) {
10043 + jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
10044 + var parent = jQuery(this).closest('.e2pdf-grid');
10045 + var argument = parent.find('.e2pdf-argument').first().clone();
10046 + var index = parent.find('.e2pdf-argument').length + 1;
10047 + argument.find('input').val('').attr('placeholder', 'arg' + index);
10048 + argument.appendTo(parent.find('.e2pdf-arguments'));
10049 + });
10050 + jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
10051 + var parent = jQuery(this).closest('.e2pdf-grid');
10052 + if (parent.find('.e2pdf-argument').length > 1) {
10053 + parent.find('.e2pdf-argument').last().remove();
10054 + }
10055 + });
10056 + jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
10057 + var parent = jQuery('.e2pdf-search-replaces').first();
10058 + var search_replace = parent.find('.e2pdf-search-replace').first().clone();
10059 + search_replace.find('textarea').val('');
10060 + search_replace.appendTo(parent);
10061 + });
10062 + jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
10063 + var parent = jQuery(this).closest('.e2pdf-search-replace');
10064 + if (parent) {
10065 + parent.remove();
10066 + }
10067 + });
10068 + jQuery(document).on('click', '.e2pdf-action-add', function (e) {
5357 10069 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5358 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
10070 + var form = jQuery(this).closest('form');
10071 + if (form.attr('id') === 'e2pdf-tpl-actions') {
10072 + var element = jQuery('.e2pdf-tpl');
10073 + } else if (form.attr('id') === 'e2pdf-page-options') {
10074 + var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
10075 + } else {
10076 + var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10077 + }
5359 10078 e2pdf.actions.add(element, actions);
5360 - jQuery(this).trigger('e2pdfResizeEnd');
5361 10079 });
10080 + jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
10081 + var action_conditions = jQuery(this).closest('.e2pdf-action');
10082 + var form = jQuery(this).closest('form');
10083 + if (form.attr('id') === 'e2pdf-tpl-actions') {
10084 + var element = jQuery('.e2pdf-tpl');
10085 + } else if (form.attr('id') === 'e2pdf-page-options') {
10086 + var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
10087 + } else {
10088 + var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10089 + }
5362 10090
5363 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5364 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5365 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5366 10091 e2pdf.actions.conditions.add(element, action_conditions);
5367 - jQuery(this).trigger('e2pdfResizeEnd');
5368 10092 });
5369 -
5370 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5371 - if (!confirm(e2pdfLang['Action will be removed! Are you sure want to continue?'])) {
10093 + jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
10094 + if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
5372 10095 return false;
5373 10096 }
5374 10097 var action = jQuery(this).closest('.e2pdf-action');
5375 10098 e2pdf.actions.delete(action);
5376 10099 });
5377 -
5378 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10100 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5379 10101 var action = jQuery(this).closest('.e2pdf-action');
10102 + e2pdf.actions.duplicate(action);
10103 + });
10104 + jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
10105 + var action = jQuery(this).closest('.e2pdf-action');
5380 10106 if (action.find('.e2pdf-condition').length === 1) {
5381 - alert(e2pdfLang["Last condition can't be removed"]);
10107 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5382 10108 return false;
5383 10109 }
5384 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10110 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5385 10111 return false;
5386 10112 }
5387 10113 var condition = jQuery(this).closest('.e2pdf-condition');
5388 10114 e2pdf.actions.conditions.delete(condition);
5389 10115 });
5390 -
5391 - jQuery('#e2pdf-zoom').live('change', function () {
10116 + jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
10117 + jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
10118 + });
10119 + jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
10120 + if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
10121 + return false;
10122 + }
10123 + var history = [];
10124 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10125 + var el = jQuery(this);
10126 + history.push(el.clone(true));
10127 + el.css('background', '');
10128 + });
10129 + e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
10130 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
10131 + });
10132 + jQuery(document).on('change', '#e2pdf-zoom', function (e) {
5392 10133 e2pdf.zoom.apply(jQuery(this));
5393 10134 });
5394 -
5395 - jQuery('#e2pdf-extension').live('change', function () {
10135 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5396 10136 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5397 10137 });
5398 -
5399 - jQuery('#e2pdf-item').live('change', function () {
10138 + jQuery(document).on('change', '.e2pdf-item', function (e) {
5400 10139 if (jQuery(this).val() == '-1') {
5401 - jQuery(this).closest('form').find('#e2pdf-w-empty,#e2pdf-w-auto').attr('disabled', 'disabled');
10140 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10141 + jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10142 + jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10143 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10144 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10145 + } else if (jQuery(this).val() == '-2') {
10146 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10147 + jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10148 + jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10149 + jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10150 + jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
5402 10151 } else {
5403 - jQuery(this).closest('form').find('#e2pdf-w-empty,#e2pdf-w-auto').attr('disabled', false);
10152 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10153 + jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10154 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10155 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
5404 10156 }
5405 10157 });
5406 -
5407 - jQuery('.e2pdf-action-action select, .e2pdf-action-property select').live('change', function () {
10158 + jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
5408 10159 var action = jQuery(this).closest('.e2pdf-action');
5409 - e2pdf.actions.change(action);
10160 + e2pdf.actions.change(action, jQuery(this));
5410 10161 });
5411 -
5412 - jQuery('.e2pdf-tabs a').live('click', function () {
5413 - jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide()
10162 + jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10163 + jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
5414 10164 var tab = jQuery(this);
5415 10165 tab.closest('ul').find('li').removeClass('active');
5416 10166 tab.parent('li').addClass('active');
5417 10167 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5418 10168 });
5419 -
5420 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10169 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5421 10170 var parent = jQuery(this).closest('.e2pdf-closed');
5422 10171 if (parent.hasClass('e2pdf-opened')) {
5423 10172 parent.removeClass('e2pdf-opened');
5424 10173 } else {
@@ -5427,197 +10176,358 @@
5427 10176 });
5428 10177 parent.addClass('e2pdf-opened');
5429 10178 }
5430 10179 });
5431 -
5432 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10180 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5433 10181 e.preventDefault();
5434 10182 var el = jQuery(this);
10183 + if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10184 + if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10185 + return false;
10186 + }
10187 + }
10188 + if (el.attr('form-id') == 'license_key') {
10189 + if (el.closest('form').find('input[name="license_key"]').val().trim() == '' && !confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10190 + return false;
10191 + }
10192 + }
5435 10193 e2pdf.request.submitForm(el);
5436 10194 });
5437 -
5438 - jQuery('.e2pdf-submit-local').live('click', function () {
10195 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5439 10196 var el = jQuery(this);
5440 - e2pdf.request.submitLocal(el);
10197 + if (el.hasClass('e2pdf-noclose')) {
10198 + e2pdf.request.submitLocal(el, true);
10199 + } else {
10200 + e2pdf.request.submitLocal(el);
10201 + }
5441 10202 });
5442 -
5443 - jQuery('.e2pdf-delete').live('click', function () {
5444 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
10203 + jQuery(document).on('click', '.e2pdf-delete', function (e) {
10204 + var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements will be removed! Continue?') : e2pdf.lang.get('Element will be removed! Continue?');
5445 10205 if (!confirm(message)) {
5446 10206 e2pdf.delete('.e2pdf-context');
5447 10207 return false;
5448 10208 }
10209 + var history = [];
5449 10210 for (var key in e2pdf.element.selected) {
5450 10211 var selected = e2pdf.element.selected[key];
10212 + e2pdf.element.init(selected);
10213 + history.push(selected.clone(true));
5451 10214 e2pdf.element.delete(selected);
5452 10215 }
5453 -
10216 + e2pdf.history.set('element_delete', history);
5454 10217 e2pdf.element.unselect();
5455 10218 });
5456 -
5457 - jQuery('.e2pdf-copy').live('click', function () {
5458 - e2pdf.element.unbuffer();
5459 -
10219 + jQuery(document).on('click', '.e2pdf-copy', function (e) {
10220 + var type = jQuery(this).attr('type');
10221 + if (type == 'elements') {
10222 + e2pdf.storage.delete('elements');
10223 + }
5460 10224 for (var key in e2pdf.element.selected) {
5461 10225 var selected = e2pdf.element.selected[key];
5462 - e2pdf.element.copy(selected);
10226 + e2pdf.copy(type, selected);
5463 10227 }
5464 10228 });
5465 -
5466 - jQuery('.e2pdf-hidden').live('click', function () {
10229 + jQuery(document).on('click', '.e2pdf-paste', function (e) {
10230 + var type = jQuery(this).attr('type');
10231 + if (type == 'elements' || type == 'elements-in-place') {
10232 + e2pdf.paste(type);
10233 + } else {
10234 + var history = [];
10235 + for (var key in e2pdf.element.selected) {
10236 + var selected = e2pdf.element.selected[key];
10237 + history.push(selected.clone(true));
10238 + e2pdf.paste(type, selected);
10239 + }
10240 + e2pdf.history.set('element_change', history);
10241 + }
10242 + });
10243 + jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10244 + var history = [];
5467 10245 for (var key in e2pdf.element.selected) {
5468 10246 var selected = e2pdf.element.selected[key];
10247 + if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10248 + history.push(selected.clone(true));
10249 + e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10250 + }
10251 + }
10252 + e2pdf.history.set('element_change', history);
10253 + });
10254 + jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10255 + var history = [];
10256 + for (var key in e2pdf.element.selected) {
10257 + var selected = e2pdf.element.selected[key];
10258 + if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10259 + history.push(selected.clone(true));
10260 + e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10261 + e2pdf.properties.render(selected);
10262 + } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10263 + history.push(selected.clone(true));
10264 + e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10265 + e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10266 + e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10267 + e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10268 + e2pdf.properties.render(selected);
10269 + }
10270 + }
10271 + e2pdf.history.set('element_change', history);
10272 + });
10273 + jQuery(document).on('click', '.e2pdf-cut', function (e) {
10274 + e2pdf.storage.delete('elements');
10275 + var history = [];
10276 + for (var key in e2pdf.element.selected) {
10277 + var selected = e2pdf.element.selected[key];
10278 + e2pdf.element.init(selected);
10279 + history.push(selected.clone(true));
10280 + e2pdf.copy('elements', selected);
10281 + e2pdf.element.delete(selected);
10282 + }
10283 + e2pdf.history.set('element_delete', history);
10284 + });
10285 + jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10286 + e.preventDefault();
10287 + e.stopPropagation();
10288 + e.stopImmediatePropagation();
10289 + });
10290 + jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10291 + jQuery(this).find('ul').show();
10292 + });
10293 + jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10294 + jQuery(this).find('ul').hide();
10295 + });
10296 + jQuery(document).on('click', '.e2pdf-resize', function (e) {
10297 + for (var key in e2pdf.element.selected) {
10298 + var selected = e2pdf.element.selected[key];
10299 + selected.addClass('e2pdf-focused');
10300 + }
10301 + });
10302 + jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10303 + for (var key in e2pdf.element.selected) {
10304 + var selected = e2pdf.element.selected[key];
5469 10305 e2pdf.element.hide(selected);
5470 10306 }
5471 10307 });
5472 -
5473 - jQuery('.e2pdf-unhidden').live('click', function () {
10308 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5474 10309 for (var key in e2pdf.element.selected) {
5475 10310 var selected = e2pdf.element.selected[key];
5476 10311 e2pdf.element.show(selected);
5477 10312 }
5478 10313 });
5479 -
5480 - jQuery('.e2pdf-cut').live('click', function () {
5481 - e2pdf.element.unbuffer();
10314 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5482 10315 for (var key in e2pdf.element.selected) {
5483 10316 var selected = e2pdf.element.selected[key];
5484 - e2pdf.element.cut(selected);
10317 + e2pdf.properties.set(selected, 'locked', '1');
10318 + selected.addClass('e2pdf-locked');
5485 10319 }
5486 10320 });
5487 -
5488 - jQuery('.e2pdf-paste').live('click', function () {
5489 - e2pdf.element.paste(false);
10321 + jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10322 + for (var key in e2pdf.element.selected) {
10323 + var selected = e2pdf.element.selected[key];
10324 + e2pdf.properties.set(selected, 'locked', '0');
10325 + selected.removeClass('e2pdf-locked');
10326 + }
5490 10327 });
5491 -
5492 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5493 - e2pdf.element.paste(true);
10328 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10329 + return false;
5494 10330 });
5495 -
5496 - jQuery('.e2pdf-checkbox').live('click', function () {
10331 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5497 10332 return false;
5498 10333 });
5499 -
5500 - jQuery('.e2pdf-radio').live('click', function () {
5501 - return false;
10334 + jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10335 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10336 + jQuery('html').addClass('e2pdf-show-all-elements');
10337 + jQuery(this).removeClass('e2pdf-inactive');
10338 + } else {
10339 + jQuery('html').removeClass('e2pdf-show-all-elements');
10340 + jQuery(this).addClass('e2pdf-inactive');
10341 + }
5502 10342 });
5503 -
5504 - jQuery('.e2pdf-hide-controls').live('click', function () {
5505 -
10343 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5506 10344 if (jQuery(this).hasClass('e2pdf-inactive')) {
5507 - jQuery('html').removeClass('e2pdf-hide-markup');
10345 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5508 10346 jQuery(this).removeClass('e2pdf-inactive');
5509 10347 } else {
5510 - jQuery('html').addClass('e2pdf-hide-markup');
10348 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5511 10349 jQuery(this).addClass('e2pdf-inactive');
5512 10350 }
5513 10351 });
5514 -
5515 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10352 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5516 10353 if (jQuery(this).hasClass('e2pdf-inactive')) {
5517 - jQuery('html').addClass('e2pdf-show-all-elements');
5518 10354 jQuery(this).removeClass('e2pdf-inactive');
5519 10355 } else {
5520 - jQuery('html').removeClass('e2pdf-show-all-elements');
5521 10356 jQuery(this).addClass('e2pdf-inactive');
5522 10357 }
10358 + jQuery('.e2pdf-html').each(function () {
10359 + var el = jQuery(this).parent();
10360 + var children = jQuery(this);
10361 + if (children.is('textarea')) {
10362 + e2pdf.properties.set(el, 'value', children.val());
10363 + } else {
10364 + e2pdf.properties.set(el, 'value', children.html());
10365 + }
10366 + e2pdf.properties.render(el);
10367 + });
5523 10368 });
5524 -
5525 - jQuery('.e2pdf-add-page').live('click', function () {
10369 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5526 10370 if (e2pdf.pdf.settings.get('pdf')) {
5527 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5528 - } else if (e2pdfParams['license_type'] == 'FREE') {
5529 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
10371 + alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10372 + } else if (e2pdf_params['license_type'] == 'FREE') {
10373 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
5530 10374 } else {
5531 10375 e2pdf.pages.createPage();
5532 10376 }
5533 10377 });
5534 -
5535 - jQuery('.e2pdf-create-pdf').live('click', function () {
10378 + jQuery(document).on('click', '.e2pdf-undo', function (e) {
10379 + e2pdf.history.undo();
10380 + });
10381 + jQuery(document).on('click', '.e2pdf-redo', function (e) {
10382 + e2pdf.history.redo();
10383 + });
10384 + jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10385 + if (e2pdf.url.get('revision_id')) {
10386 + alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10387 + return false;
10388 + }
5536 10389 e2pdf.createPdf(jQuery(this));
5537 10390 });
5538 -
5539 - jQuery('.e2pdf-up-page').live('click', function () {
10391 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5540 10392 e2pdf.pages.movePage(jQuery(this), 'up');
5541 10393 });
5542 -
5543 - jQuery('.e2pdf-down-page').live('click', function () {
10394 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5544 10395 e2pdf.pages.movePage(jQuery(this), 'down');
5545 10396 });
5546 -
5547 - jQuery('.e2pdf-delete-page').live('click', function () {
10397 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5548 10398 if (e2pdf.pdf.settings.get('pdf')) {
5549 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10399 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5550 10400 return false;
5551 10401 }
5552 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10402 + var history = [];
10403 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5553 10404 var el = jQuery(this);
10405 + history.push(el.closest('.e2pdf-page').clone(true));
5554 10406 e2pdf.pages.deletePage(el);
5555 10407 });
10408 + history.reverse();
10409 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5556 10410 } else {
5557 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10411 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5558 10412 return false;
5559 10413 }
5560 10414 var el = jQuery(jQuery(this));
10415 + var history = [];
10416 + history.push(el.closest('.e2pdf-page').clone(true));
10417 + e2pdf.history.set('page_delete', history);
5561 10418 e2pdf.pages.deletePage(el);
5562 10419 }
5563 10420 });
5564 -
5565 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5566 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10421 + jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10422 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5567 10423 return false;
5568 10424 }
5569 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10425 + var history = [];
10426 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5570 10427 var el = jQuery(this);
10428 + history.push(el.closest('.e2pdf-page').clone(true));
5571 10429 e2pdf.pages.deletePage(el);
5572 10430 });
10431 + history.reverse();
10432 + if (e2pdf.pdf.settings.get('pdf')) {
10433 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10434 + } else {
10435 + e2pdf.history.set('page_delete', history);
10436 + }
5573 10437 });
5574 -
5575 - jQuery('.e2pdf-delete-font').live('click', function () {
5576 - if (!confirm(e2pdfLang['Are you sure want to remove font?'])) {
10438 + jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10439 + if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
5577 10440 return false;
5578 10441 }
5579 10442 var el = jQuery(jQuery(this));
5580 10443 e2pdf.font.delete(el);
5581 10444 });
5582 -
5583 - jQuery('.e2pdf-modal').live('click', function () {
10445 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5584 10446 e2pdf.dialog.create(jQuery(this));
5585 10447 });
5586 -
5587 - jQuery('body').live('click', function (e) {
10448 + jQuery(document).on('click', 'body', function (e) {
5588 10449 e2pdf.delete('.e2pdf-context');
5589 10450 });
5590 -
5591 - jQuery('#e2pdf-font').live('change', function () {
5592 - e2pdf.font.load(jQuery(this));
5593 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery(this));
10451 + jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10452 + e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
5594 10453 });
5595 -
5596 - jQuery('#e2pdf-export-template').live('change', function () {
5597 - e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10454 + jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10455 + if (jQuery(this).is('select')) {
10456 + var data = {};
10457 + data['id'] = jQuery('.e2pdf-export-template').val();
10458 + data['datasets'] = {};
10459 + jQuery('.e2pdf-export-dataset').each(function () {
10460 + data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10461 + });
10462 + e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10463 + }
5598 10464 });
5599 -
5600 - jQuery('#e2pdf-export-dataset').live('change', function () {
10465 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5601 10466 var data = {};
5602 - data['template'] = jQuery('#e2pdf-export-template').val();
5603 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5604 - e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10467 + data['id'] = jQuery('.e2pdf-export-template').val();
10468 + data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10469 + data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10470 + e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
5605 10471 });
10472 + jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10473 + if (jQuery(this).is(':checked')) {
10474 + if (jQuery(this).val() == '') {
10475 + jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10476 + }
10477 + } else {
10478 + if (jQuery(this).val() == '') {
10479 + jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10480 + } else {
10481 + jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10482 + }
10483 + }
5606 10484
5607 - jQuery('#e2pdf-font-size').live('change', function () {
5608 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery(this));
10485 + if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10486 + jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10487 + }
10488 +
10489 + if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10490 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10491 + } else {
10492 + jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10493 + }
5609 10494 });
5610 -
5611 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5612 - if (jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10495 + jQuery(document).on('change', '#e2pdf-font', function (e) {
10496 + e2pdf.font.load(jQuery(this));
10497 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10498 + });
10499 + jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10500 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10501 + });
10502 + jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10503 + var text_align = jQuery(this).val();
10504 + jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10505 + if (
10506 + jQuery(this).data('data-type') == 'e2pdf-input'
10507 + || jQuery(this).data('data-type') == 'e2pdf-textarea'
10508 + || jQuery(this).data('data-type') == 'e2pdf-html'
10509 + || jQuery(this).data('data-type') == 'e2pdf-page-number'
10510 + || jQuery(this).data('data-type') == 'e2pdf-link'
10511 + ) {
10512 + if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10513 + var children = e2pdf.element.children(jQuery(this));
10514 + children.css('text-align', text_align);
10515 + }
10516 + }
10517 + });
10518 + });
10519 + jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10520 + if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10521 + jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
5613 10522 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5614 10523 (e.shiftKey === true && e.keyCode === 187) ||
5615 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10524 + (e.keyCode >= 35 && e.keyCode <= 40)
10525 + ) {
5616 10526
5617 - if ((e.keyCode === 109 || e.keyCode === 189) && !jQuery(this).hasClass('e2pdf-number-negative')) {
10527 + if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
5618 10528 e.preventDefault();
5619 - } else if ((e.keyCode === 187 || e.keyCode === 107) && !jQuery(this).hasClass('e2pdf-number-positive')) {
10529 + } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
5620 10530 e.preventDefault();
5621 10531 } else {
5622 10532 return;
5623 10533 }
@@ -5625,10 +10535,19 @@
5625 10535 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5626 10536 e.preventDefault();
5627 10537 }
5628 10538 });
5629 -
5630 - jQuery('.e2pdf-numbers').live('change', function (e) {
10539 + jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10540 + if (e.which == 13) {
10541 + e.preventDefault();
10542 + if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10543 + jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10544 + } else {
10545 + jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10546 + }
10547 + }
10548 + });
10549 + jQuery(document).on('change', '.e2pdf-numbers', function (e) {
5631 10550 var value = jQuery(this).val().trim();
5632 10551 var prefix = '';
5633 10552 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5634 10553 prefix = '+';
@@ -5638,18 +10557,22 @@
5638 10557 value = 0;
5639 10558 }
5640 10559 jQuery(this).val(prefix + value);
5641 10560 });
5642 -
5643 - jQuery('#e2pdf-font-color').live('change', function () {
5644 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10561 + jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10562 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
5645 10563 });
5646 -
5647 - jQuery('#e2pdf-line-height').live('change', function () {
5648 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery(this));
10564 + jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10565 + if (jQuery(this).is(':checked')) {
10566 + jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10567 + } else {
10568 + jQuery('.e2pdf-tpl').attr('dir', false);
10569 + }
5649 10570 });
5650 -
5651 - jQuery('.e2pdf-upload').live('click', function (e) {
10571 + jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10572 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10573 + });
10574 + jQuery(document).on('click', '.e2pdf-upload', function (e) {
5652 10575 e.preventDefault();
5653 10576 for (var key in e2pdf.element.selected) {
5654 10577 var selected = e2pdf.element.selected[key];
5655 10578 e2pdf.mediaUploader.init(selected);
@@ -5654,25 +10577,43 @@
5654 10577 var selected = e2pdf.element.selected[key];
5655 10578 e2pdf.mediaUploader.init(selected);
5656 10579 }
5657 10580 });
5658 -
5659 - jQuery('.e2pdf-visual').live('click', function (e) {
10581 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5660 10582 for (var key in e2pdf.element.selected) {
5661 10583 var selected = e2pdf.element.selected[key];
5662 10584 e2pdf.visual.mapper.init(selected);
5663 10585 }
5664 10586 });
5665 -
5666 - jQuery('.e2pdf-apply-wysiwyg').live('click', function () {
10587 + document.addEventListener('selectionchange', function () {
10588 + if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10589 + jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10590 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10591 + const selection = window.getSelection();
10592 + if (selection && selection.toString().length == 0) {
10593 + jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10594 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10595 + }
10596 + } else {
10597 + jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10598 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10599 + }
10600 + });
10601 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10602 + e.preventDefault();
10603 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10604 + return;
10605 + }
5667 10606 e2pdf.wysiwyg.apply(jQuery(this));
5668 10607 });
5669 -
5670 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5671 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10608 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5672 10609 e.preventDefault();
5673 10610 e.stopPropagation();
5674 10611 e.stopImmediatePropagation();
10612 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10613 + return;
10614 + }
10615 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5675 10616 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5676 10617 if (!color_panel.hasClass('wp-picker-active')) {
5677 10618 color_panel.find('.wp-color-result').click();
5678 10619 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5683,32 +10624,84 @@
5683 10624 color_panel.append(close);
5684 10625 }
5685 10626 }
5686 10627 });
5687 -
5688 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5689 - e2pdf.wysiwyg.apply(jQuery(this));
10628 + jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10629 + e.preventDefault();
10630 + e.stopPropagation();
10631 + e.stopImmediatePropagation();
10632 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10633 + return;
10634 + }
10635 + var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10636 + if (gridContainer.hasClass('e2pdf-hide')) {
10637 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10638 + gridContainer.removeClass('e2pdf-hide').empty();
10639 + for (let i = 0; i < 100; i++) {
10640 + let gridItem = jQuery('<div>');
10641 + gridItem.on('mouseover', function () {
10642 + let rowCol = calculateRowCol(i);
10643 + highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10644 + });
10645 + gridItem.on('mouseout', function () {
10646 + highlightGrid(gridContainer, 0, 0);
10647 + });
10648 + gridItem.on('click', function () {
10649 + e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10650 + let rowCol = calculateRowCol(i);
10651 + let html = '<table>\n';
10652 + for (let r = 0; r < rowCol.rows; r++) {
10653 + html += '<tr>\n';
10654 + for (let c = 0; c < rowCol.cols; c++) {
10655 + html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10656 + }
10657 + html += '</tr>\n';
10658 + }
10659 + html += '</table>\n';
10660 + document.execCommand('insertHTML', false, html);
10661 + gridContainer.addClass('e2pdf-hide');
10662 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10663 + });
10664 + gridContainer.append(gridItem);
10665 + }
10666 + gridContainer.append(jQuery('<span>').text('0x0'));
10667 + } else {
10668 + gridContainer.addClass('e2pdf-hide');
10669 + }
10670 + function calculateRowCol(index) {
10671 + let rows = Math.floor(index / 10) + 1;
10672 + let cols = (index % 10) + 1;
10673 + return {rows, cols};
10674 + }
10675 + function highlightGrid(gridContainer, rows, cols) {
10676 + gridContainer.find('div').each(function (idx) {
10677 + let itemRowCol = calculateRowCol(idx);
10678 + gridContainer.find('span').text(rows + 'x' + cols);
10679 + if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10680 + jQuery(this).addClass('e2pdf-highlight');
10681 + } else {
10682 + jQuery(this).removeClass('e2pdf-highlight');
10683 + }
10684 + });
10685 + }
5690 10686 });
5691 -
5692 - jQuery('#e2pdf-wysiwyg-fontsize').live('change', function () {
10687 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5693 10688 e2pdf.wysiwyg.apply(jQuery(this));
5694 10689 });
5695 -
5696 - jQuery('#e2pdf-wysiwyg-font').live('change', function () {
5697 - e2pdf.wysiwyg.apply(jQuery(this));
10690 + jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10691 + e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
5698 10692 });
10693 + jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10694 + if (e2pdf.url.get('revision_id')) {
10695 + alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10696 + return false;
10697 + }
5699 10698
5700 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5701 - e2pdf.request.upload('e2pdf_upload', jQuery('#e2pdf-w-upload'));
5702 - });
5703 -
5704 - jQuery('#e2pdf-w-reupload').live('click', function () {
5705 10699 var message = "";
5706 10700 if (e2pdf.static.unsaved) {
5707 - message += e2pdfLang['WARNING: Template has changes after last save! Changes will be lost!'] + "\r\n";
10701 + message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
5708 10702 }
5709 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5710 -
10703 + message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
5711 10704 jQuery(this).attr('disabled', 'disabled');
5712 10705 jQuery(this).closest('form').append(
5713 10706 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
5714 10707 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
@@ -5713,79 +10706,128 @@
5713 10706 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
5714 10707 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
5715 10708 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
5716 10709 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
5717 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdfLang['Confirm'])
10710 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
5718 10711 ),
5719 10712 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
5720 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdfLang['Cancel'])
10713 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
5721 10714 )
5722 10715 )
5723 10716 )
5724 10717 );
5725 10718 });
5726 -
5727 - jQuery('.e2pdf-confirmation-confirm').live('click', function () {
10719 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
10720 + if (e2pdf.static.unsaved) {
10721 + if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10722 + var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10723 + jQuery(this).val(revision_id);
10724 + return false;
10725 + }
10726 + }
10727 + e2pdf.static.unsaved = false;
10728 + var revision_id = jQuery(this).val();
10729 + var template_id = e2pdf.pdf.settings.get('ID');
10730 + var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10731 + if (revision_id === '0') {
10732 + url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10733 + }
10734 + jQuery(this).attr('disabled', 'disabled');
10735 + location.href = url;
10736 + });
10737 + jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10738 + if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10739 + return false;
10740 + }
10741 + jQuery('html').addClass('e2pdf-loading');
10742 + var data = {};
10743 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10744 + });
10745 + jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10746 + if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10747 + return false;
10748 + }
10749 + jQuery('html').addClass('e2pdf-loading');
10750 + var data = {};
10751 + e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10752 + });
10753 + jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
5728 10754 jQuery(this).closest('.e2pdf-confirmation').remove();
5729 - jQuery('#e2pdf-w-reupload').attr('disabled', false);
5730 - jQuery('#e2pdf-reupload-pdf').click();
10755 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10756 + jQuery('.e2pdf-reupload-pdf').click();
5731 10757 });
5732 -
5733 - jQuery('.e2pdf-confirmation-cancel').live('click', function () {
10758 + jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
5734 10759 jQuery(this).closest('.e2pdf-confirmation').remove();
5735 - jQuery('#e2pdf-w-reupload').attr('disabled', false);
10760 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
5736 10761 });
5737 -
5738 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5739 - e2pdf.request.upload('e2pdf_reupload', jQuery('#e2pdf-w-reupload'));
10762 + jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10763 + e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
5740 10764 });
5741 -
5742 - jQuery('.e2pdf-scale-field').live('change', function () {
5743 - var value = jQuery(this).val();
5744 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5745 - fields.find('input[name="height"]').attr('readonly', false);
5746 - fields.find('input[name="width"]').attr('readonly', false);
5747 - var image = new Image();
5748 - image.src = fields.find('*[name="value"]').val();
5749 - image.onload = function ()
5750 - {
5751 - if (value === e2pdf.static.const.WIDTH) {
5752 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5753 - } else if (value === e2pdf.static.const.HEIGHT) {
5754 - fields.find('input[name="width"]').attr('readonly', 'readonly');
10765 + jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10766 + jQuery(this).autocomplete("search", "");
10767 + });
10768 + jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10769 + if (!jQuery(this).is(':checked')) {
10770 + if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10771 + return false;
5755 10772 }
5756 - };
10773 + }
5757 10774 });
5758 -
5759 - jQuery('.e2pdf-el-properties input[name="group"]').live('click', function () {
5760 - jQuery(this).autocomplete("search", "");
5761 - });
5762 -
5763 - jQuery('.e2pdf-settings-style-change').live('change', function () {
10775 + jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
5764 10776 e2pdf.event.fire('after.settings.style.change');
5765 10777 });
5766 -
5767 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10778 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5768 10779 e2pdf.event.fire('after.settings.template.change');
5769 10780 });
5770 -
5771 - jQuery('select[name="preset"]').live('change', function () {
10781 + jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10782 + var form = jQuery(this).closest('form');
10783 + var field = jQuery(this).attr('field');
10784 + var search = jQuery(this).val();
10785 + var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10786 + var options = fieldset.data('options');
10787 + var regex = new RegExp(search, "gi");
10788 + fieldset.empty();
10789 + jQuery.each(options, function (i) {
10790 + var option = options[i];
10791 + if (i == 0 || option.value.match(regex) !== null) {
10792 + fieldset.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': field + '[]', 'type': 'checkbox', 'value': option.key}))));
10793 + }
10794 + });
10795 + fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10796 + if (fieldset.find('input[type="checkbox"]').length > 1) {
10797 + form.find('.e2pdf-submit-form').attr('disabled', false);
10798 + } else {
10799 + fieldset.find('input[type="checkbox"]').attr('disabled', true);
10800 + form.find('.e2pdf-submit-form').attr('disabled', true);
10801 + }
10802 + if (this.changeTrigger) {
10803 + clearTimeout(this.changeTrigger);
10804 + }
10805 + this.changeTrigger = setTimeout(function () {
10806 + fieldset.trigger('change');
10807 + }, 1000);
10808 + });
10809 + jQuery(document).on('change', 'select[name="preset"]', function (e) {
5772 10810 if (jQuery(this).val() !== '') {
5773 10811 var form = jQuery(this).closest('form');
5774 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10812 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5775 10813 form.find('input[name="width"]').val(size.width);
5776 10814 form.find('input[name="height"]').val(size.height);
5777 10815 }
5778 10816 });
5779 -
5780 - jQuery('.e2pdf-vm-element').live('click', function () {
10817 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5781 10818 e2pdf.visual.mapper.apply(jQuery(this));
5782 10819 });
5783 -
5784 - jQuery('.e2pdf-drag').live('click', function (e) {
10820 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10821 + e2pdf.element.unselect();
10822 + e2pdf.element.unfocus();
5785 10823 var el = jQuery(this).closest('.e2pdf-element');
5786 -
5787 - if (e.ctrlKey) {
10824 + e2pdf.element.focus(el);
10825 + });
10826 + jQuery(document).on('click', '.e2pdf-drag', function (e) {
10827 + var el = jQuery(this).closest('.e2pdf-element');
10828 + e2pdf.element.unfocus();
10829 + if (e.ctrlKey || e.metaKey) {
5788 10830 if (el.hasClass('e2pdf-selected')) {
5789 10831 e2pdf.element.unselect(el);
5790 10832 } else {
5791 10833 e2pdf.element.select(el);
@@ -5807,23 +10849,21 @@
5807 10849 }
5808 10850 }
5809 10851 }
5810 10852 });
5811 -
5812 - jQuery('.e2pdf-activate-template').live('click', function () {
10853 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5813 10854 var data = {};
5814 10855 data['id'] = jQuery(this).attr('data-id');
5815 10856 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5816 10857 });
5817 -
5818 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10858 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5819 10859 var data = {};
5820 10860 data['id'] = jQuery(this).attr('data-id');
5821 10861 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5822 10862 });
5823 -
5824 - jQuery('.e2pdf-delete-item').live('click', function () {
5825 - if (!confirm(e2pdfLang['Dataset will be removed! Are you sure want to continue?'])) {
10863 + jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10864 + e.preventDefault();
10865 + if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
5826 10866 return false;
5827 10867 }
5828 10868 var data = {};
5829 10869 data['template'] = jQuery(this).attr('template');
@@ -5829,11 +10869,11 @@
5829 10869 data['template'] = jQuery(this).attr('template');
5830 10870 data['dataset'] = jQuery(this).attr('dataset');
5831 10871 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5832 10872 });
5833 -
5834 - jQuery('.e2pdf-delete-items').live('click', function () {
5835 - if (!confirm(e2pdfLang['All datasets will be removed! Are you sure want to continue?'])) {
10873 + jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10874 + e.preventDefault();
10875 + if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
5836 10876 return false;
5837 10877 }
5838 10878 var data = {};
5839 10879 data['template'] = jQuery(this).attr('template');
@@ -5838,17 +10878,103 @@
5838 10878 var data = {};
5839 10879 data['template'] = jQuery(this).attr('template');
5840 10880 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5841 10881 });
5842 -
5843 - jQuery('.e2pdf-copy-field').live('click', function () {
10882 + jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10883 + e.preventDefault();
10884 + switch (jQuery(this).attr('action')) {
10885 + case 'start':
10886 + if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10887 + return false;
10888 + }
10889 + break;
10890 + case 'stop':
10891 + if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10892 + return false;
10893 + }
10894 + break;
10895 + case 'delete':
10896 + if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10897 + return false;
10898 + }
10899 + break;
10900 + }
10901 + var data = {};
10902 + data['bulk'] = jQuery(this).attr('bulk');
10903 + data['action'] = jQuery(this).attr('action');
10904 + e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10905 + });
10906 + jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
5844 10907 jQuery(this).select();
5845 10908 });
5846 -
5847 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10909 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5848 10910 jQuery(this).autocomplete("search", '');
5849 10911 });
5850 -
10912 + jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10913 + if (jQuery(this).is(':checked')) {
10914 + e2pdf.static.vm.hidden = true;
10915 + } else {
10916 + e2pdf.static.vm.hidden = false;
10917 + }
10918 + e2pdf.visual.mapper.rebuild();
10919 + });
10920 + jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10921 + var value = jQuery(this).val();
10922 + if (value != '') {
10923 + jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10924 + jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10925 + return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10926 + }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10927 + jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10928 + return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10929 + }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10930 + jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10931 + return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10932 + }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10933 + } else {
10934 + jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10935 + }
10936 + e2pdf.visual.mapper.rebuild();
10937 + });
10938 + jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10939 + if (jQuery(this).is(':checked')) {
10940 + e2pdf.static.vm.replace = true;
10941 + } else {
10942 + e2pdf.static.vm.replace = false;
10943 + }
10944 + });
10945 + jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10946 + if (jQuery(this).is(':checked')) {
10947 + e2pdf.static.vm.close = true;
10948 + } else {
10949 + e2pdf.static.vm.close = false;
10950 + }
10951 + });
10952 + jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10953 + if (typeof e.clipboardData != 'undefined') {
10954 + var clipboardData = e.clipboardData;
10955 + } else if (typeof window.clipboardData != 'undefined') {
10956 + var clipboardData = window.clipboardData;
10957 + } else {
10958 + var clipboardData = e.originalEvent.clipboardData;
10959 + }
10960 + if (typeof clipboardData.getData('text/plain') != 'undefined') {
10961 + e.preventDefault();
10962 + let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10963 + data = e2pdf.helper.stripHTML(
10964 + data,
10965 + 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10966 + 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10967 + 'span', 'a', 'br',
10968 + 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10969 + 'sub', 'sup',
10970 + 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10971 + 'ul', 'ol', 'li',
10972 + 'a'
10973 + );
10974 + return document.execCommand('insertHtml', false, data);
10975 + }
10976 + });
5851 10977 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5852 10978 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5853 10979 }
5854 10980
@@ -5871,8 +10997,16 @@
5871 10997 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5872 10998 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5873 10999 }
5874 11000
11001 + if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
11002 + e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
11003 + }
11004 +
11005 + if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
11006 + e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
11007 + }
11008 +
5875 11009 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5876 11010 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5877 11011 }
5878 11012
@@ -5883,27 +11017,21 @@
5883 11017 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
5884 11018 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
5885 11019 }
5886 11020
5887 - if (jQuery('.e2pdf-form-builder > input[name="templates_limit"]').length > 0) {
5888 - e2pdf.pdf.settings.set('templates_limit', jQuery('.e2pdf-form-builder > input[name="templates_limit"]').val());
11021 + if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
11022 + e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
5889 11023 }
5890 11024
5891 11025 jQuery('#e2pdf-zoom').trigger('change');
5892 -
5893 11026 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5894 - if (e2pdf.url.get('template_id')) {
11027 + if (e2pdf.url.get('id')) {
11028 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5895 11029 e2pdf.static.autoloadExport = true;
5896 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5897 - jQuery('#e2pdf-export-template').val('0').change();
5898 - } else {
5899 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5900 - }
5901 11030 }
5902 11031 }
5903 11032
5904 11033 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5905 -
5906 11034 jQuery('.e2pdf-color-picker-load').each(function () {
5907 11035 jQuery(this).wpColorPicker(
5908 11036 {
5909 11037 defaultColor: function () {
@@ -5919,9 +11047,8 @@
5919 11047 }
5920 11048 }
5921 11049 ).removeClass('e2pdf-color-picker-load');
5922 11050 });
5923 -
5924 11051 jQuery(window).bind("beforeunload", function (e) {
5925 11052 if (e2pdf.static.unsaved) {
5926 11053 var confirmationMessage = "\o/";
5927 11054 (e || window.event).returnValue = confirmationMessage;
@@ -5927,16 +11054,8 @@
5927 11054 (e || window.event).returnValue = confirmationMessage;
5928 11055 return confirmationMessage;
5929 11056 }
5930 11057 });
5931 -
5932 - jQuery(document).bind("mousedown", function (e) {
5933 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5934 - e2pdf.delete('.e2pdf-fade');
5935 - e2pdf.delete('.e2pdf-properties-window');
5936 - }
5937 - });
5938 -
5939 11058 if (jQuery('#e2pdf-build-form').length > 0) {
5940 11059 postboxes.add_postbox_toggles(pagenow);
5941 11060 }
5942 11061
@@ -5942,16 +11061,14 @@
5942 11061
5943 11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5944 11063 && typeof (jQuery.ui.droppable) != 'undefined'
5945 11064 && jQuery('.e2pdf-tpl').length > 0) {
5946 -
5947 - // jQuery UI scale bug fix
11065 +// jQuery UI scale bug fix
5948 11066 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5949 11067 var i, j,
5950 11068 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5951 11069 type = event ? event.type : null,
5952 11070 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5953 -
5954 11071 droppablesLoop: for (i = 0; i < m.length; i++) {
5955 11072 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5956 11073 continue;
5957 11074 }
@@ -5968,51 +11085,49 @@
5968 11085 if (type === "mousedown") {
5969 11086 m[ i ]._activate.call(m[ i ], event);
5970 11087 }
5971 11088 m[ i ].offset = m[ i ].element.offset();
5972 - m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
11089 + m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
5973 11090 }
5974 - }
5975 -
5976 - jQuery(".e2pdf-load-el").each(function () {
11091 + };
11092 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
11093 + var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
11094 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
11095 + var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
11096 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
11097 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
11098 + jQuery('.e2pdf-load-tpl').remove();
11099 + jQuery('.e2pdf-load-el').each(function () {
5977 11100 var element = jQuery(this);
5978 11101 var type = element.attr('data-type');
5979 11102 var page = element.closest('.e2pdf-page');
5980 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5981 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5982 -
11103 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11104 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5983 11105 properties['width'] = element.attr('data-width');
5984 11106 properties['height'] = element.attr('data-height');
5985 11107 properties['top'] = element.attr('data-top');
5986 11108 properties['left'] = element.attr('data-left');
5987 - if (type == 'e2pdf-html') {
5988 - properties['value'] = element.find('.e2pdf-data-value').html();
5989 - } else {
5990 - properties['value'] = element.find('.e2pdf-data-value').text();
5991 - }
5992 - //changed
11109 + properties['value'] = element.find('.e2pdf-data-value').val();
11110 + properties['name'] = element.find('.e2pdf-data-name').val();
5993 11111 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5994 11112 jQuery(this).replaceWith(el);
5995 11113 e2pdf.properties.render(el);
5996 11114 });
5997 -
5998 - jQuery(".e2pdf-load-page").each(function () {
11115 + jQuery('.e2pdf-load-page').each(function () {
5999 11116 var page = jQuery(this);
6000 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
6001 - var properties = JSON.parse(page.find('.e2pdf-data-properties').text());
11117 + var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11118 + var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
6002 11119 page.find('.e2pdf-data-properties').remove();
6003 11120 page.find('.e2pdf-data-actions').remove();
6004 11121 page.removeClass('e2pdf-load-page');
6005 - e2pdf.pages.createPage(page, properties, actions);
6006 -
11122 + e2pdf.pages.createPage(page, properties, actions, true);
6007 11123 });
6008 -
6009 - jQuery(".e2pdf-be").draggable({
11124 + jQuery('.e2pdf-be').draggable({
11125 + cursorAt: {left: 0, top: 0},
6010 11126 helper: function () {
6011 11127 var element = jQuery(this).clone();
6012 11128 var type = element.attr('data-type');
6013 - var page = element.closest('.e2pdf-page')
6014 - //changed
11129 + var page = element.closest('.e2pdf-page');
6015 11130 var el = e2pdf.element.create(type, page, false, false, true);
6016 11131 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
6017 11132 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
6018 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -6018,35 +11133,40 @@
6018 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
6019 11134 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
6020 11135 e2pdf.properties.render(el);
6021 11136 el.css('z-index', 1);
6022 - if (e2pdf.zoom.zoom != 1) {
6023 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
6024 - el.css('transform-origin', '0 0');
11137 + if (e2pdf.zoom.scale != 1) {
11138 + el.css({
11139 + 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11140 + 'transform-origin': '0 0'
11141 + });
6025 11142 }
11143 +
11144 + var w = el.width() * e2pdf.zoom.scale;
11145 + var h = el.height() * e2pdf.zoom.scale;
11146 + e2pdf.static.guide.x = Math.round(w / 2);
11147 + e2pdf.static.guide.y = Math.round(h / 2);
11148 + jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
11149 + left: Math.round(w / 2),
11150 + top: Math.round(h / 2)
11151 + });
6026 11152 return el;
6027 11153 },
6028 11154 start: function (ev, ui) {
6029 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
6030 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
6031 11155 e2pdf.element.unselect();
6032 11156 },
6033 11157 stop: function (ev, ui) {
6034 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
6035 -
11158 + ui.position.top = Math.round(ui.position.top);
11159 + ui.position.left = Math.round(ui.position.left);
11160 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
6036 11161 },
6037 11162 drag: function (ev, ui) {
6038 -
6039 11163 if (e2pdf.static.drag.page !== null) {
6040 -
6041 11164 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
6042 -
6043 11165 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
6044 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
6045 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
6046 -
11166 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11167 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
6047 11168 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
6048 -
6049 11169 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
6050 11170 jQuery.each(el_guides, function (i, elemGuide) {
6051 11171 if (guide.type == elemGuide.type) {
6052 11172 var prop = guide.type == "h" ? "top" : "left";
@@ -6058,23 +11178,21 @@
6058 11178 }
6059 11179 }
6060 11180 });
6061 11181 });
6062 -
6063 11182 if (guides.top.dist <= e2pdf.static.guide.distance) {
6064 - e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().top / e2pdf.zoom.zoom - 1).show();
11183 + e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().top / e2pdf.zoom.scale - 1).show();
6065 11184 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
6066 11185 ui.position.top = snap_top;
6067 11186 } else {
6068 - jQuery(".e2pdf-guide-h").hide();
11187 + jQuery('.e2pdf-guide-h').hide();
6069 11188 }
6070 -
6071 11189 if (guides.left.dist <= e2pdf.static.guide.distance) {
6072 - e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().left / e2pdf.zoom.zoom - 1).show();
6073 - var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left + 5;
11190 + e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().left / e2pdf.zoom.scale - 1).show();
11191 + var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
6074 11192 ui.position.left = snap_left;
6075 11193 } else {
6076 - jQuery(".e2pdf-guide-v").hide();
11194 + jQuery('.e2pdf-guide-v').hide();
6077 11195 }
6078 11196 }
6079 11197 }
6080 11198 });
@@ -6080,141 +11198,155 @@
6080 11198 });
6081 11199 e2pdf.welcomeScreen();
6082 11200 }
6083 11201 e2pdf.font.load(jQuery('#e2pdf-font'));
6084 -
6085 11202 jQuery('.e2pdf-load-font').each(function () {
6086 11203 e2pdf.font.load(jQuery(this));
6087 11204 jQuery(this).remove();
6088 11205 });
6089 -
6090 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
6091 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
6092 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
6093 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11206 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11207 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11208 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11209 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
6094 11210 }
6095 11211
6096 11212 jQuery(document).keydown(function (e) {
6097 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
6098 - e.preventDefault();
6099 - switch (e.which) {
6100 - case 37:
6101 - //left
6102 - var diff = 1;
6103 -
6104 - for (var key in e2pdf.element.selected) {
6105 - var selected = e2pdf.element.selected[key];
6106 - if (parseFloat(selected.css('left')) > 0) {
6107 - if (parseFloat(selected.css('left')) - 1 < 0) {
6108 - diff = Math.min(diff, selected.css('left'));
11213 + if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11214 + if (jQuery('.e2pdf-focused').length == 0
11215 + && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11216 + && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11217 + && Object.keys(e2pdf.element.selected).length > 0) {
11218 + e.preventDefault();
11219 + switch (e.which) {
11220 + case 37:
11221 + // left
11222 + var diff = 1;
11223 + for (var key in e2pdf.element.selected) {
11224 + var selected = e2pdf.element.selected[key];
11225 + if (parseFloat(selected.css('left')) > 0) {
11226 + if (parseFloat(selected.css('left')) - 1 < 0) {
11227 + diff = Math.min(diff, selected.css('left'));
11228 + }
11229 + } else {
11230 + diff = Math.min(diff, 0);
6109 11231 }
6110 - } else {
6111 - diff = Math.min(diff, 0);
6112 11232 }
6113 - }
6114 11233
6115 - for (var key in e2pdf.element.selected) {
6116 - var selected = e2pdf.element.selected[key];
6117 - selected.finish().animate({
6118 - left: "-=" + diff
6119 - }, 0);
6120 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6121 - }
6122 - break;
6123 - case 38:
6124 - //top
6125 - var diff = 1;
6126 -
6127 - for (var key in e2pdf.element.selected) {
6128 - var selected = e2pdf.element.selected[key];
6129 - if (parseFloat(selected.css('top')) > 0) {
6130 - if (parseFloat(selected.css('top')) - 1 < 0) {
6131 - diff = Math.min(diff, selected.css('top'));
11234 + for (var key in e2pdf.element.selected) {
11235 + var selected = e2pdf.element.selected[key];
11236 + selected.finish().animate({
11237 + left: "-=" + diff
11238 + }, 0);
11239 + e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11240 + }
11241 + break;
11242 + case 38:
11243 + // top
11244 + var diff = 1;
11245 + for (var key in e2pdf.element.selected) {
11246 + var selected = e2pdf.element.selected[key];
11247 + if (parseFloat(selected.css('top')) > 0) {
11248 + if (parseFloat(selected.css('top')) - 1 < 0) {
11249 + diff = Math.min(diff, selected.css('top'));
11250 + }
11251 + } else {
11252 + diff = Math.min(diff, 0);
6132 11253 }
6133 - } else {
6134 - diff = Math.min(diff, 0);
6135 11254 }
6136 - }
6137 11255
6138 - for (var key in e2pdf.element.selected) {
6139 - var selected = e2pdf.element.selected[key];
6140 - selected.finish().animate({
6141 - top: "-=" + diff
6142 - }, 0);
6143 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6144 - }
6145 - break;
6146 - case 39:
6147 - //right
6148 - var diff = 1;
6149 -
6150 - for (var key in e2pdf.element.selected) {
6151 - var selected = e2pdf.element.selected[key];
6152 - if (parseFloat(selected.css('right')) > 0) {
6153 - if (parseFloat(selected.css('right')) - 1 < 0) {
6154 - diff = Math.min(diff, selected.css('right'));
11256 + for (var key in e2pdf.element.selected) {
11257 + var selected = e2pdf.element.selected[key];
11258 + selected.finish().animate({
11259 + top: "-=" + diff
11260 + }, 0);
11261 + e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11262 + }
11263 + break;
11264 + case 39:
11265 + // right
11266 + var diff = 1;
11267 + for (var key in e2pdf.element.selected) {
11268 + var selected = e2pdf.element.selected[key];
11269 + if (parseFloat(selected.css('right')) > 0) {
11270 + if (parseFloat(selected.css('right')) - 1 < 0) {
11271 + diff = Math.min(diff, selected.css('right'));
11272 + }
11273 + } else {
11274 + diff = Math.min(diff, 0);
6155 11275 }
6156 - } else {
6157 - diff = Math.min(diff, 0);
6158 11276 }
6159 - }
6160 11277
6161 - for (var key in e2pdf.element.selected) {
6162 - var selected = e2pdf.element.selected[key];
6163 - selected.finish().animate({
6164 - left: "+=" + diff
6165 - }, 0);
6166 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6167 - }
6168 - break;
6169 - case 40:
6170 - //down
6171 - var diff = 1;
6172 -
6173 - for (var key in e2pdf.element.selected) {
6174 - var selected = e2pdf.element.selected[key];
6175 - if (parseFloat(selected.css('bottom')) > 0) {
6176 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
6177 - diff = Math.min(diff, selected.css('bottom'));
11278 + for (var key in e2pdf.element.selected) {
11279 + var selected = e2pdf.element.selected[key];
11280 + selected.finish().animate({
11281 + left: "+=" + diff
11282 + }, 0);
11283 + e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11284 + }
11285 + break;
11286 + case 40:
11287 + // down
11288 + var diff = 1;
11289 + for (var key in e2pdf.element.selected) {
11290 + var selected = e2pdf.element.selected[key];
11291 + if (parseFloat(selected.css('bottom')) > 0) {
11292 + if (parseFloat(selected.css('bottom')) - 1 < 0) {
11293 + diff = Math.min(diff, selected.css('bottom'));
11294 + }
11295 + } else {
11296 + diff = Math.min(diff, 0);
6178 11297 }
6179 - } else {
6180 - diff = Math.min(diff, 0);
6181 11298 }
6182 - }
6183 11299
6184 - for (var key in e2pdf.element.selected) {
6185 - var selected = e2pdf.element.selected[key];
6186 - selected.finish().animate({
6187 - top: "+=" + diff
6188 - }, 0);
6189 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6190 - }
6191 - break;
6192 - case 46:
6193 - //delete
6194 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
6195 - if (!confirm(message)) {
6196 - e2pdf.delete('.e2pdf-context');
6197 - return false;
6198 - }
6199 -
6200 - for (var key in e2pdf.element.selected) {
6201 - var selected = e2pdf.element.selected[key];
6202 - e2pdf.element.delete(selected);
6203 - }
6204 -
6205 - e2pdf.element.unselect();
6206 - break;
11300 + for (var key in e2pdf.element.selected) {
11301 + var selected = e2pdf.element.selected[key];
11302 + selected.finish().animate({
11303 + top: "+=" + diff
11304 + }, 0);
11305 + e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11306 + }
11307 + break;
11308 + case 46:
11309 + // delete
11310 + var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements will be removed! Continue?') : e2pdf.lang.get('Element will be removed! Continue?');
11311 + if (!confirm(message)) {
11312 + e2pdf.delete('.e2pdf-context');
11313 + return false;
11314 + }
11315 + var history = [];
11316 + for (var key in e2pdf.element.selected) {
11317 + var selected = e2pdf.element.selected[key];
11318 + e2pdf.element.init(selected);
11319 + history.push(selected.clone(true));
11320 + e2pdf.element.delete(selected);
11321 + }
11322 + e2pdf.history.set('element_delete', history);
11323 + e2pdf.element.unselect();
11324 + break;
11325 + }
6207 11326 }
6208 11327 }
6209 11328 });
6210 -
6211 - jQuery(document).live('click', function (e) {
11329 + jQuery(document).on('click', '.e2pdf-select2', function (e) {
11330 + e2pdf.select2.init(jQuery(this));
11331 + });
11332 + jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11333 + e2pdf.select2.click(jQuery(this));
11334 + });
11335 + jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11336 + e2pdf.select2.filter(jQuery(this));
11337 + });
11338 + jQuery(document).on('mousedown', 'body', function (e) {
6212 11339 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
6213 11340 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
6214 - jQuery(e.target).closest('.e2pdf-element').length == 0
6215 - ) {
11341 + jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11342 + jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11343 + jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11344 + jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11345 + jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11346 + e.ctrlKey !== true) {
6216 11347 e2pdf.element.unselect();
11348 + e2pdf.element.unfocus();
6217 11349 }
6218 11350 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
6219 11351 jQuery('.e2pdf-closed').each(function () {
6220 11352 jQuery(this).removeClass('e2pdf-opened');
@@ -6219,9 +11351,20 @@
6219 11351 jQuery('.e2pdf-closed').each(function () {
6220 11352 jQuery(this).removeClass('e2pdf-opened');
6221 11353 });
6222 11354 }
11355 + if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11356 + jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11357 + }
11358 + if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11359 + jQuery('.e2pdf-select2-dropdown').each(function () {
11360 + e2pdf.select2.close(jQuery(this));
11361 + });
11362 + }
6223 11363 });
6224 -
6225 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11364 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
6226 11365 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11366 + if (jQuery('.e2pdf-bulks-list').length > 0)
11367 + {
11368 + e2pdf.bulk.progress();
11369 + }
6227 11370 });