PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.53
E2Pdf – Export Pdf Tool for WordPress v1.32.53
1.32.53 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 All 74 releases
← All changes | js/e2pdf.backend.js +8248 -3178 1.07.11 → 1.32.53 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,10 +580,10 @@
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 587 if (page) {
114 588 url += '?page=' + page;
115 589 }
@@ -115,18 +589,21 @@
115 589 }
116 590 if (path) {
117 591 url += '&' + path;
118 592 }
119 - if (nonce) {
120 - url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']
593 + if (_wpnonce) {
594 + url += '&_wpnonce=' + _wpnonce;
121 595 }
122 -
123 596 return url;
124 597 },
125 - //e2pdf.url.get
598 + // e2pdf.url.get
126 599 get: function (name, url) {
127 - if (!url)
600 + if (!url) {
128 601 url = window.location.href;
602 + }
603 + if (!name) {
604 + return url;
605 + }
129 606 name = name.replace(/[\[\]]/g, "\\$&");
130 607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
131 608 if (!results) {
132 609 return null;
@@ -136,36 +613,22 @@
136 613 }
137 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
138 615 },
139 616 pluginsUrl: function () {
140 - return e2pdfParams['plugins_url'];
617 + return e2pdf_params['plugins_url'];
141 618 },
142 619 uploadUrl: function () {
143 - return e2pdfParams['upload_url'];
620 + return e2pdf_params['upload_url'];
144 621 }
145 622 },
146 - //e2pdf.shortcode
147 - shortcode: {
148 - //e2pdf.shortcode.get
149 - get: function (template_id, dataset_id) {
150 - if (template_id && dataset_id) {
151 - var shortcode = '[e2pdf-download id="' + template_id + '" dataset="' + dataset_id + '"]';
152 - } else if (template_id) {
153 - var shortcode = '[e2pdf-download id="' + template_id + '"]';
154 - } else {
155 - var shortcode = false;
156 - }
157 - return shortcode;
158 - }
159 - },
160 - //e2pdf.guide
623 + // e2pdf.guide
161 624 guide: {
162 - //e2pdf.guide.calc
625 + // e2pdf.guide.calc
163 626 calc: function (el, pos, w, h, g) {
164 627 if (el != null) {
165 628 if (g) {
166 - w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
167 - 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;
168 631 pos = jQuery(el).offset();
169 632 if (jQuery(el).hasClass('e2pdf-page')) {
170 633 pos = {
171 634 left: pos.left + 1,
@@ -174,9 +637,8 @@
174 637 }
175 638 } else {
176 639 w = parseFloat(jQuery(el).css('width'));
177 640 h = parseFloat(jQuery(el).css('height'));
178 -
179 641 if (jQuery(el).hasClass('e2pdf-page')) {
180 642 pos = {
181 643 left: 0,
182 644 top: 0
@@ -182,10 +644,10 @@
182 644 top: 0
183 645 };
184 646 } else {
185 647 pos = {
186 - left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')),
187 - 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')
188 650 };
189 651 }
190 652 }
191 653 }
@@ -199,44 +661,30 @@
199 661 {type: "v", left: pos.left + w / 2, top: pos.top}
200 662 ];
201 663 }
202 664 },
203 - //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
204 681 pdf: {
205 - //e2pdf.pdf.settings
682 + // e2pdf.pdf.settings
206 683 settings: {
207 684 options: [],
208 - //e2pdf.pdf.settings.change
685 + // e2pdf.pdf.settings.change
209 686 change: function (key, value) {
210 - if (key == 'activated') {
211 - jQuery('.e2pdf-post-activated').remove();
212 - var activation_link = jQuery('#e2pdf-post-activation > .e2pdf-link');
213 - if (value == '1') {
214 - if (e2pdf.pdf.settings.get('activated') == '0') {
215 - e2pdf.pdf.settings.change('templates_limit', parseInt(e2pdf.pdf.settings.get('templates_limit')) - 1);
216 - }
217 - if (activation_link.attr('disabled')) {
218 - activation_link.html(e2pdfLang['Activated']);
219 - } else if (activation_link.hasClass('e2pdf-activate-template')) {
220 - activation_link.after(
221 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-post-activated', 'disabled': 'disabled'}).text(' (' + e2pdfLang['Activated'] + ')')
222 - );
223 - }
224 - } else {
225 - if (e2pdf.pdf.settings.get('activated') == '1') {
226 - e2pdf.pdf.settings.change('templates_limit', parseInt(e2pdf.pdf.settings.get('templates_limit')) + 1);
227 - }
228 -
229 - if (activation_link.attr('disabled')) {
230 - activation_link.html(e2pdfLang['Not Activated']);
231 - } else if (activation_link.hasClass('e2pdf-deactivate-template')) {
232 - activation_link.after(
233 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-post-activated', 'disabled': 'disabled'}).text(' (' + e2pdfLang['Not Activated'] + ')')
234 - );
235 - }
236 - }
237 - }
238 -
239 687 e2pdf.pdf.settings.options[key] = value;
240 688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
241 689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
242 690 } else {
@@ -243,22 +691,31 @@
243 691 var input = jQuery('<input>',
244 692 {
245 693 'type': 'hidden',
246 694 'name': key,
247 - 'value': value,
695 + 'value': value
248 696 });
249 697 jQuery('.e2pdf-form-builder').append(input);
250 698 }
251 699
252 - if (key == 'extension') {
253 - 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);
254 705 }
255 706 },
256 - //e2pdf.pdf.settings.set
707 + // e2pdf.pdf.settings.set
257 708 set: function (key, value) {
258 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 + }
259 716 },
260 - //e2pdf.pdf.settings.get
717 + // e2pdf.pdf.settings.get
261 718 get: function (key) {
262 719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
263 720 return null;
264 721 } else {
@@ -266,63 +723,69 @@
266 723 }
267 724 }
268 725 }
269 726 },
270 - //e2pdf.static
727 + // e2pdf.static
271 728 static: {
272 - //e2pdf.static.unsaved
729 + // e2pdf.static.unsaved
273 730 unsaved: false,
274 - //e2pdf.static.mediaUploader
731 + // e2pdf.static.mediaUploader
275 732 mediaUploader: false,
276 - //e2pdf.static.autoloadExport
733 + // e2pdf.static.autoloadExport
277 734 autoloadExport: false,
278 - //e2pdf.static.selectionRange
735 + // e2pdf.static.selectionRange
279 736 selectionRange: null,
280 - //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
281 749 guide: {
282 - //e2pdf.static.guide.guides
750 + // e2pdf.static.guide.guides
283 751 guides: [],
284 - //e2pdf.static.guide.distance
752 + // e2pdf.static.guide.distance
285 753 distance: 5,
286 754 x: 0,
287 755 y: 0
288 756 },
289 - //e2pdf.static.drag
757 + // e2pdf.static.drag
290 758 drag: {
291 - //e2pdf.static.drag.min_top
759 + // e2pdf.static.drag.min_top
292 760 min_top: 0,
293 - //e2pdf.static.drag.max_top
761 + // e2pdf.static.drag.max_top
294 762 max_top: 0,
295 - //e2pdf.static.drag.min_left
763 + // e2pdf.static.drag.min_left
296 764 min_left: 0,
297 - //e2pdf.static.drag.max_left
765 + // e2pdf.static.drag.max_left
298 766 max_left: 0,
299 - //e2pdf.static.drag.page
300 - page: null,
301 - },
302 - //e2pdf.static.const
303 - const: {
304 - 'WIDTH_HEIGHT': '0',
305 - 'WIDTH': '1',
306 - 'HEIGHT': '2'
767 + // e2pdf.static.drag.page
768 + page: null
307 769 }
308 770 },
309 - //e2pdf.event
771 + // e2pdf.event
310 772 event: {
311 - //e2pdf.event.fire
773 + // e2pdf.event.fire
312 774 fire: function (event, action, el) {
313 - if (event === 'after.pages.deletePage'
314 - || event === 'after.createPdf'
315 - || event === 'after.pages.createPage.newpage'
316 - || event === 'after.element.create'
317 - || event === 'after.element.delete'
318 - || event === 'after.settings.style.change'
319 - || event === 'after.settings.template.change'
320 - || event === 'after.wysiwyg.apply'
321 - || event === 'after.request.submitLocal'
322 - || event === 'after.mediaUploader.select'
323 - || event === 'after.element.moved'
324 - || 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'
325 788 ) {
326 789 e2pdf.static.unsaved = true;
327 790 }
328 791
@@ -348,77 +811,98 @@
348 811 ).removeClass('e2pdf-color-picker-load');
349 812 });
350 813 }
351 814
352 - if (event === 'after.dialog.create') {
353 - e2pdf.element.unselect();
354 - }
355 -
356 - if (event === 'after.pages.deletePage'
357 - || event === 'after.pages.createPage.newpage') {
815 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
358 816 jQuery('#e2pdf-zoom').trigger('change');
359 817 }
360 818
361 819 if (event === 'before.request.submitRequest') {
362 820 el.attr('disabled', 'disabled');
363 -
364 - if (action === 'e2pdf_auto') {
365 - 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;
366 852 }
367 - if (action === 'e2pdf_extension') {
368 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item, #auto_form_label').attr('disabled', 'disabled');
369 - }
370 -
371 - if (action === 'e2pdf_templates') {
372 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
373 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
374 - }
375 -
376 - if (action === 'e2pdf_dataset') {
377 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
378 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
379 - }
380 853 }
381 854
382 855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
383 - el.attr('disabled', false);
384 - if (action === 'e2pdf_auto') {
385 - 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);
386 858 }
387 - if (action === 'e2pdf_extension') {
388 - el.closest('form').find('#e2pdf-item').find('option').remove();
389 - el.closest('form').find('#e2pdf-item').trigger('change');
390 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item, #auto_form_label').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;
391 878 }
392 - if (action === 'e2pdf_get_styles') {
393 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
394 - jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
395 - }
396 879 }
397 880
398 881 if (event === 'before.request.upload') {
399 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item, #auto_form_label').attr('disabled', 'disabled');
882 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
400 883 }
401 884
402 885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
403 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item, #auto_form_label').attr('disabled', false);
404 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
405 - 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'})
406 891 );
407 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
408 - 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'})
409 894 );
410 895 }
411 896 }
412 897 },
413 - //e2pdf.form
898 + // e2pdf.form
414 899 form: {
415 - //e2pdf.form.serializeObject
900 + // e2pdf.form.serializeObject
416 901 serializeObject: function (form) {
417 902
418 903 var o = {};
419 904 var a = form.serializeArray();
420 -
421 905 jQuery.each(a, function () {
422 906 if (this.name.endsWith('[]')) {
423 907
424 908 var name = this.name;
@@ -431,9 +915,8 @@
431 915
432 916 var name = this.name;
433 917 var path = name.split(/[\[\]]+/);
434 918 var curItem = o;
435 -
436 919 for (var j = 0; j < path.length - 2; j++)
437 920 {
438 921 if (!(path[j] in curItem))
439 922 {
@@ -442,9 +925,8 @@
442 925 curItem = curItem[path[j]];
443 926 }
444 927
445 928 curItem[path[j]] = this.value || '';
446 -
447 929 } else {
448 930 o[this.name] = this.value || '';
449 931 }
450 932 });
@@ -449,9 +931,9 @@
449 931 }
450 932 });
451 933 return o;
452 934 },
453 - //e2pdf.form.serializeElements
935 + // e2pdf.form.serializeElements
454 936 serializeElements: function () {
455 937 var o = {};
456 938 jQuery('.e2pdf-element').each(
457 939 function (index) {
@@ -456,103 +938,123 @@
456 938 jQuery('.e2pdf-element').each(
457 939 function (index) {
458 940 var el = {};
459 941 el.type = jQuery(this).data('data-type');
460 - el.properties = e2pdf.properties.get(jQuery(this), true);
942 + el.properties = e2pdf.properties.get(jQuery(this));
461 943 el.actions = e2pdf.actions.get(jQuery(this));
462 944 el.top = jQuery(this).css('top');
463 945 el.left = jQuery(this).css('left');
464 946 el.width = jQuery(this).css('width');
465 947 el.height = jQuery(this).css('height');
466 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
467 - el.value = jQuery(this).find('.e2pdf-html').html();
468 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
469 - el.value = jQuery(this).find('.e2pdf-input').val();
470 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
471 - el.value = jQuery(this).find('.e2pdf-textarea').val();
472 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
473 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
474 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
475 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
476 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
477 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
478 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
479 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
480 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
481 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
482 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
483 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
484 - } else {
485 - 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;
486 980 }
487 - el.name = e2pdf.properties.getValue(jQuery(this), 'name');
981 + el.name = e2pdf.helper.getString(el.properties['name']);
488 982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
489 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'];
490 993 o[index] = el;
491 994 });
492 995 return o;
493 996 }
494 997 },
495 - //e2pdf.font
998 + // e2pdf.font
496 999 font: {
497 - //e2pdf.font.load
1000 + // e2pdf.font.load
498 1001 load: function (el) {
1002 + var name, value;
499 1003 if (el.is('select')) {
500 - var name = el.val();
501 - var value = el.find('option:selected').attr('path');
1004 + name = el.val();
1005 + value = el.find('option:selected').attr('path');
502 1006 } else if (el.is('div')) {
503 - var name = el.attr('name');
504 - var value = el.attr('path');
1007 + name = el.attr('name');
1008 + value = el.attr('path');
505 1009 }
506 -
507 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
508 - 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 + );
509 1017 }
510 1018 },
511 - //e2pdf.font.apply
1019 + // e2pdf.font.apply
512 1020 apply: function (el, font) {
513 - var font_name = font.find('option:selected').html();
514 - if (font_name) {
515 - el.css('font-family', font_name);
516 - } else {
517 - el.css('font-family', '');
518 - }
1021 + let font_name = font.find('option:selected').html();
1022 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
519 1023 },
520 - //e2pdf.font.size
1024 + // e2pdf.font.size
521 1025 size: function (el, size) {
522 - var font_size = size.find('option:selected').html();
523 - el.css({'font-size': font_size});
1026 + var font_size = size.val();
1027 + el.css({'font-size': font_size + "px"});
524 1028 },
525 - //e2pdf.font.line
1029 + // e2pdf.font.line
526 1030 line: function (el, height) {
527 - var line_height = height.find('option:selected').html();
528 - el.css({'line-height': line_height});
1031 + var line_height = height.val();
1032 + el.css({'line-height': line_height + "px"});
529 1033 },
530 - //e2pdf.font.color
1034 + // e2pdf.font.color
531 1035 fontcolor: function (el, color) {
532 1036 var font_color = color.val();
533 1037 el.css({'color': font_color});
534 1038 },
535 - //e2pdf.font.delete
1039 + // e2pdf.font.delete
536 1040 delete: function (el) {
537 1041 var font = el.attr('data-font');
538 1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
539 1043 }
540 1044 },
541 - //e2pdf.request
1045 + // e2pdf.request
542 1046 request: {
543 - //e2pdf.request.upload
1047 + // e2pdf.request.upload
544 1048 upload: function (action, el) {
545 1049 if (el.attr('disabled')) {
546 1050 return;
547 1051 }
548 -
549 1052 var data = new FormData(el.closest('form')[0]);
550 1053 e2pdf.event.fire('before.request.upload', action, el);
551 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
552 - loader.css('visibility', 'visible').fadeIn();
1054 + jQuery('html').addClass('e2pdf-loading');
553 1055 jQuery.ajax({
554 - url: e2pdf.helper.ajaxurl(action),
1056 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
555 1057 type: 'POST',
556 1058 data: data,
557 1059 cache: false,
558 1060 contentType: false,
@@ -557,516 +1059,743 @@
557 1059 cache: false,
558 1060 contentType: false,
559 1061 processData: false,
560 1062 success: function (response) {
561 - loader.css('visibility', 'hidden').fadeOut();
562 - e2pdf.event.fire('after.request.upload.success', action, el);
563 1063 if (response.redirect !== undefined) {
564 - // recheck if redirect fires in other cases when not upload pdf
1064 + e2pdf.event.fire('after.request.upload.success', action, el);
565 1065 e2pdf.static.unsaved = false;
566 1066 location.href = response.redirect;
567 1067 } else if (response.error !== undefined) {
1068 + jQuery('html').removeClass('e2pdf-loading');
1069 + e2pdf.event.fire('after.request.upload.error', action, el);
568 1070 alert(response.error);
569 - } else if (response.content) {
570 - e2pdf.request.callBack(action, response.content);
1071 + } else {
1072 + jQuery('html').removeClass('e2pdf-loading');
1073 + e2pdf.event.fire('after.request.upload.error', action, el);
571 1074 }
572 1075 },
573 1076 error: function (response) {
574 - loader.css('visibility', 'hidden').fadeOut();
575 - 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);
576 1079 }
577 1080 });
578 1081 },
579 - //e2pdf.request.submitForm
1082 + // e2pdf.request.submitForm
580 1083 submitForm: function (el) {
581 1084 if (el.attr('disabled')) {
582 1085 return;
583 1086 }
584 1087 el.attr('disabled', 'disabled');
585 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
586 - loader.css('visibility', 'visible').fadeIn();
1088 + jQuery('html').addClass('e2pdf-loading');
587 1089 e2pdf.event.fire('before.request.submitForm');
588 1090 var form_id = el.attr('form-id');
589 1091 var form = jQuery(document.getElementById(form_id));
590 1092 var data = e2pdf.form.serializeObject(form);
591 - if (form_id === 'e2pdf-build-form') {
592 - var elements = e2pdf.form.serializeElements();
593 - data.pages = {};
594 - jQuery('.e2pdf-page').each(function () {
595 - var page_id = jQuery(this).attr('data-page_id');
596 - data.pages[page_id] = {};
597 - var properties = {};
598 - var page_elements = [];
599 - properties['width'] = jQuery(this).attr('data-width');
600 - properties['height'] = jQuery(this).attr('data-height');
601 - data.pages[page_id]['properties'] = properties;
602 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
603 - data.pages[page_id]['elements'] = page_elements;
604 - });
605 - for (var key in elements) {
606 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
607 - }
608 - 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;
609 1131 }
610 -
611 - if (form_id === 'e2pdf-email') {
612 -
613 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
614 - data = {};
615 - data['email'] = form.find('input[name="email"]').val();
616 - if (form.find('input[name="email_code"]').length > 0) {
617 - data['email_code'] = form.find('input[name="email_code"]').val();
618 - }
619 - }
620 -
621 - var action = el.attr('action');
622 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1132 + jQuery('html').addClass('e2pdf-loading');
623 1133 if (el.attr('target') === '_blank') {
624 1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
625 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1135 + jQuery('<textarea>', {'name': 'preview'}).val(data)
626 1136 ).hide();
627 1137 jQuery('body').append(post_form);
628 1138 post_form.submit();
629 1139 post_form.remove();
630 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
631 - loader.css('visibility', 'hidden').fadeOut();
1140 + jQuery('html').removeClass('e2pdf-loading');
632 1141 el.attr('disabled', false);
633 1142 return false;
634 1143 }
635 -
636 1144 jQuery.ajax({
637 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1145 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
638 1146 data: {action: action, data: data},
639 1147 success: function (response) {
640 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
641 - loader.css('visibility', 'hidden').fadeOut();
642 - el.attr('disabled', false);
643 1148 if (response.redirect !== undefined) {
644 1149 location.href = response.redirect;
645 - } else if (response.error !== undefined) {
646 - alert(response.error);
647 - } else if (response.content) {
648 - 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 + }
649 1161 }
650 1162 },
651 1163 error: function (response) {
652 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
653 - loader.css('visibility', 'hidden').fadeOut();
1164 + jQuery('html').removeClass('e2pdf-loading');
654 1165 el.attr('disabled', false);
655 1166 }
656 1167 });
657 1168 },
658 - //e2pdf.request.submitRequest
1169 + // e2pdf.request.submitRequest
659 1170 submitRequest: function (action, el, value) {
660 1171 if (el.attr('disabled')) {
661 1172 return;
662 1173 }
663 -
664 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1174 + if (action !== 'e2pdf_bulk_progress') {
1175 + jQuery('html').addClass('e2pdf-loading');
1176 + }
665 1177 if (!value) {
666 1178 var value = el.val();
667 1179 }
668 - 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 +
669 1185 e2pdf.event.fire('before.request.submitRequest', action, el);
670 1186 jQuery.ajax({
671 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1187 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
672 1188 data: {action: action, data: value},
673 1189 success: function (response) {
674 - loader.css('visibility', 'hidden').fadeOut();
675 1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
676 1191 if (response.redirect !== undefined) {
677 1192 location.href = response.redirect;
678 1193 } else if (response.error !== undefined) {
1194 + jQuery('html').removeClass('e2pdf-loading');
679 1195 alert(response.error);
680 1196 } else if (response.content) {
681 1197 e2pdf.request.callBack(action, response.content, el);
1198 + jQuery('html').removeClass('e2pdf-loading');
1199 + } else {
1200 + jQuery('html').removeClass('e2pdf-loading');
682 1201 }
683 1202 },
684 1203 error: function (response) {
685 - loader.css('visibility', 'hidden').fadeOut();
1204 + jQuery('html').removeClass('e2pdf-loading');
686 1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
687 1206 }
688 1207 });
689 1208 },
690 - //e2pdf.request.submitLocal
691 - submitLocal: function (el) {
1209 + // e2pdf.request.submitLocal
1210 + submitLocal: function (el, noclose = false) {
692 1211 var form_id = el.attr('form-id');
693 1212 var form = jQuery(document.getElementById(form_id));
694 1213 var data = e2pdf.form.serializeObject(form);
695 -
696 - if (form_id === 'e2pdf-page-options') {
697 - var width = data['width'];
698 - var height = data['height'];
699 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
700 - e2pdf.actions.apply(page, data['actions']);
701 - e2pdf.pages.changePageSize(page, width, height);
702 - e2pdf.event.fire('after.request.submitLocal', false, page);
703 - } else {
704 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
705 -
706 - e2pdf.actions.apply(element, data['actions']);
707 - delete data['actions'];
708 -
709 - e2pdf.properties.apply(element, data);
710 - e2pdf.properties.render(element);
711 - e2pdf.dialog.close();
712 - e2pdf.event.fire('after.request.submitLocal', false, el);
713 - }
714 -
715 - e2pdf.dialog.close();
716 - },
717 - //e2pdf.request.callBack
718 - callBack: function (action, result, el) {
719 - if (action === 'e2pdf_email') {
720 - if (result === 'subscribed') {
721 - jQuery('.e2pdf-email-lock').remove();
722 - } else {
723 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
724 - var form_id = el.attr('form-id');
725 - var form = jQuery(document.getElementById(form_id));
726 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
727 - form.find('input[name="email"]').attr('type', 'hidden');
728 - jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
729 - }
730 - }
731 -
732 - if (action === 'e2pdf_extension') {
733 - for (var key in result) {
734 - var option = jQuery('<option>',
735 - {
736 - 'value': result[key]['id']
737 - }).html(result[key]['name']);
738 - if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
739 - 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 + }
740 1226 }
741 - option.data('data-item', result[key]);
742 - jQuery('#e2pdf-item').append(option);
743 -
744 - }
745 - }
746 -
747 - if (action === 'e2pdf_get_styles') {
748 - for (var key in result) {
749 - if (result[key].split('.').pop() == 'js') {
750 - jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
751 - } else {
752 - 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;
753 1232 }
754 - }
755 - }
756 - if (action === 'e2pdf_visual_mapper') {
757 - el.html(result);
758 - e2pdf.visual.mapper.markup();
759 -
760 - var images = el.find('img');
761 - var counter = 0;
762 - counter = images.length;
763 - images.each(function () {
764 - var img = new Image();
765 - img.onload = function () {
766 - counter--;
767 - if (counter === 0) {
768 - 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 + }
769 1251 }
770 - };
771 - img.onerror = function () {
772 - counter--;
773 - if (counter === 0) {
774 - e2pdf.visual.mapper.rebuild();
775 - }
776 - };
777 - img.src = jQuery(this).attr('src');
778 - });
779 - }
780 - if (action === 'e2pdf_templates') {
781 - var dataset_field = jQuery('#e2pdf-export-dataset');
782 - dataset_field.attr('disabled', 'disabled').find('option').remove();
783 - for (var key in result['datasets']) {
784 - var option = jQuery('<option>',
785 - {
786 - 'value': result['datasets'][key]['key']
787 - }).html(result['datasets'][key]['value']);
788 - dataset_field.append(option);
789 - }
790 -
791 - dataset_field.val('');
792 - if (Object.keys(result['datasets']).length > 1) {
793 - dataset_field.attr('disabled', false);
794 - }
795 -
796 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
797 - options.hide();
798 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
799 - options.find('select').val('0').attr('disabled', 'disabled');
800 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
801 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
802 - jQuery('#e2pdf-dataset-shortcode').val('');
803 - jQuery('#e2pdf-template-shortcode').val('');
804 - if (Object.keys(result['options']).length > 0) {
805 - for (var key in result['options']) {
806 - var field = options.find('[name="options[' + key + ']"]');
807 - if (field.attr('type') === 'text' || field.is("select")) {
808 - field.val(result['options'][key]);
809 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
810 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
811 - checkbox.attr('checked', 'checked');
812 - }
813 1252 }
814 -
815 - var template_id = jQuery('#e2pdf-export-template').val();
816 - options.find('input[type="text"]').attr('disabled', false);
817 - options.find('input[type="checkbox"]').attr('disabled', false);
818 - options.find('select').attr('disabled', false);
819 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
820 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
821 - if (result['delete_items']) {
822 - 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;
823 1258 }
824 -
825 - options.slideDown();
826 - if (e2pdf.static.autoloadExport) {
827 - if (e2pdf.url.get('dataset_id')) {
828 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
829 - 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;
830 1283 }
831 1284 }
832 - 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();
833 1312 } else {
834 - 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"]'));
835 1319 }
836 - dataset_field.change();
837 - } else {
838 - e2pdf.url.change('e2pdf');
839 - }
840 - }
841 -
842 - if (action === 'e2pdf_dataset') {
843 - var template_id = jQuery('#e2pdf-export-template').val();
844 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
845 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
846 - jQuery('#e2pdf-dataset-shortcode').val('');
847 - if (dataset_id && dataset_id != "0") {
848 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
849 - jQuery('#e2pdf-dataset-shortcode-wr').show();
850 - }
851 -
852 - if (result['export']) {
853 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
854 - jQuery('#e2pdf-export-form').attr('action', export_url);
855 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
856 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
857 - } else {
858 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
859 - }
860 -
861 - if (result['view'] && result['dataset']) {
862 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
863 - }
864 -
865 - if (result['delete_item'] && result['dataset']) {
866 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
867 - }
868 - }
869 -
870 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
871 - if (action === 'e2pdf_activate_template') {
872 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
873 - if (el.parent().attr('id') == 'e2pdf-post-activation') {
874 - 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);
875 1332 }
876 - } else {
877 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
878 - if (el.parent().attr('id') == 'e2pdf-post-activation') {
879 - 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 + }
880 1345 }
881 - }
882 - }
883 -
884 - if (action === 'e2pdf_auto') {
885 - var elements = result.elements;
886 - var width = parseFloat(e2pdf.pdf.settings.get('width'));
887 - var height = parseFloat(e2pdf.pdf.settings.get('height'));
888 - e2pdf.pages.changeTplSize(width, height);
889 - e2pdf.pages.createPage();
890 - jQuery('.ui-dialog-content').dialog('close');
891 -
892 - var i = 1;
893 - var page = jQuery('.e2pdf-page').last();
894 -
895 - var auto = {
896 - 'block': {
897 - 'top': 0,
898 - 'left': 0,
899 - 'right': 0,
900 - 'bottom': 0,
901 - 'width': 0,
902 - 'page': page.attr('data-page_id')
903 - },
904 - 'element': {
905 - 'top': 0,
906 - 'left': 0,
907 - 'right': 0,
908 - 'bottom': 0,
909 - 'width': 0,
910 - 'properties': {}
911 - },
912 - page: {
913 - 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
914 - 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
915 - 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
916 - '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 + }
917 1358 }
918 - };
919 -
920 - for (var key in elements) {
921 - var element = elements[key];
922 - var type = element.type;
923 - var properties = {};
924 -
925 - //fix empty values
926 - element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
927 - element['block'] = typeof element.block === 'undefined' ? false : element.block;
928 - element['float'] = typeof element.float === 'undefined' ? false : element.float;
929 - element.properties['width'] = typeof element.properties.width === 'undefined' ? 0 : element.properties.width;
930 - element.properties['height'] = typeof element.properties.height === 'undefined' ? 0 : element.properties.height;
931 - element.properties['top'] = typeof element.properties.top === 'undefined' ? 0 : element.properties.top;
932 - element.properties['left'] = typeof element.properties.left === 'undefined' ? 0 : element.properties.left;
933 - element.properties['right'] = typeof element.properties.right === 'undefined' ? 0 : element.properties.right;
934 -
935 - //assing properties to element
936 - for (var property in element.properties) {
937 - 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 + }
938 1368 }
939 -
940 - //calculate width
941 - if (element.block) {
942 - 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]);
943 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 + }
944 1498
945 - if (element.block) {
946 - 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)) {
947 - page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
948 - properties['left'] = auto.block.right + parseFloat(properties.left);
949 - 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');
950 1506 } else {
951 - page = jQuery('.e2pdf-page').last();
952 - auto.block['bottom'] = 0;
953 - page.find('.e2pdf-element').each(function () {
954 - auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
955 - });
956 - properties['left'] = parseFloat(properties.left);
957 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1507 + e2pdf.url.change('e2pdf');
958 1508 }
959 - } else {
960 - if (element.float) {
961 - if (element.properties.width !== 'auto') {
962 - 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));
963 - if (auto.element.properties.width === 'auto') {
964 - 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]));
965 1531 }
1532 + actions.empty().append(ul);
966 1533 }
967 - properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
968 - 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}))));
969 1556 } else {
970 - if (element.properties.width !== 'auto') {
971 - 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));
972 - }
973 - properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
974 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1557 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
975 1558 }
976 1559 }
977 -
978 - var obj = e2pdf.element.create(type, page, properties, false, true);
979 - e2pdf.properties.render(obj);
980 - page.append(obj);
981 -
982 - if (element.properties.height === 'auto') {
983 - e2pdf.properties.set(obj, 'height', obj.height());
984 - 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 + }
985 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 + }
986 1631
987 - if (!element.block
988 - && element.float
989 - && auto.block.width > 0
990 - && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
991 - e2pdf.properties.set(obj, 'left', auto.block.left);
992 - e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
993 - e2pdf.properties.render(obj);
994 - }
995 -
996 - if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
997 - if (page.is(':last-child')) {
998 - if (e2pdfParams['license_type'] == 'FREE') {
999 - obj.remove();
1000 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
1001 - return;
1002 - }
1003 -
1004 - if (page.find('.e2pdf-element').not(obj).length > 0) {
1005 - 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 {
1006 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);
1007 1646 }
1008 1647 } else {
1009 - if (page.find('.e2pdf-element').not(obj).length > 0) {
1010 - 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);
1011 1663 }
1012 1664 }
1013 1665
1014 - e2pdf.element.delete(obj);
1015 -
1016 - if (element.properties.height === 'auto') {
1017 - properties['height'] = element.properties.height;
1018 - }
1019 -
1020 - auto.block['bottom'] = auto.page.top;
1021 - properties['top'] = auto.block.bottom;
1022 -
1023 - obj = e2pdf.element.create(type, page, properties, false, true);
1666 + var obj = e2pdf.element.create(type, page, properties, false, true);
1024 1667 e2pdf.properties.render(obj);
1025 1668 page.append(obj);
1669 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1670 + e2pdf.actions.apply(obj, element.actions);
1671 + }
1026 1672
1027 1673 if (element.properties.height === 'auto') {
1028 1674 e2pdf.properties.set(obj, 'height', obj.height());
1029 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);
1030 1679 }
1031 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 +
1032 1690 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1033 - 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);
1034 1716 e2pdf.properties.render(obj);
1035 - e2pdf.properties.set(obj, 'top', properties['top']);
1036 - 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 + }
1037 1729 }
1038 - }
1039 1730
1040 - auto.element = {
1041 - 'top': e2pdf.properties.getValue(obj, 'top'),
1042 - 'left': e2pdf.properties.getValue(obj, 'left'),
1043 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1044 - 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1045 - 'width': e2pdf.properties.getValue(obj, 'width'),
1046 - 'properties': element.properties
1047 - };
1048 -
1049 - if (element.block) {
1050 - auto.block = {
1731 + auto.element = {
1051 1732 'top': e2pdf.properties.getValue(obj, 'top'),
1052 1733 'left': e2pdf.properties.getValue(obj, 'left'),
1053 - '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),
1054 1735 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1055 1736 'width': e2pdf.properties.getValue(obj, 'width'),
1056 - 'page': page.attr('data-page_id')
1737 + 'properties': element.properties
1057 1738 };
1058 - } else {
1059 - 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++;
1060 1755 }
1061 - i++;
1062 - }
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;
1063 1789 }
1064 1790 }
1065 1791 },
1066 - //e2pdf.dialog
1792 + // e2pdf.dialog
1067 1793 dialog: {
1068 - //e2pdf.dialog.create
1794 + top: null,
1795 + left: null,
1796 + center: true,
1797 + // e2pdf.dialog.create
1069 1798 create: function (el) {
1070 1799 e2pdf.dialog.close();
1071 1800 var modal = el.attr('data-modal');
1072 1801 var title = el.attr('data-modal-title');
@@ -1073,21 +1802,21 @@
1073 1802 var noclose = false;
1074 1803 var width = '600';
1075 1804 var height = '600';
1076 1805 if (modal === 'license-key') {
1077 - width = '300';
1806 + width = '400';
1078 1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1079 - jQuery('<form>', {'id': 'license_key'}).append(
1808 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1080 1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1081 1810 jQuery('<span>', {'class': 'spinner'})
1082 1811 ),
1083 1812 jQuery('<ul>').append(
1084 1813 jQuery('<li>').append(
1085 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1086 - 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'})
1087 1816 ),
1088 1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1089 - 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']})
1090 1819 )
1091 1820 )
1092 1821 )
1093 1822 );
@@ -1092,22 +1821,21 @@
1092 1821 )
1093 1822 );
1094 1823 } else if (modal === 'properties') {
1095 1824 for (var key in e2pdf.element.selected) {
1096 - var title = e2pdfLang['Properties'];
1825 + var title = e2pdf.lang.get('Properties');
1097 1826 var selected = e2pdf.element.selected[key];
1098 - var properties = e2pdf.properties.get(selected);
1099 1827 var fields = e2pdf.properties.renderFields(selected);
1100 1828 var content = jQuery('<div>').append(
1101 1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1102 1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1103 1831 fields
1104 - ),
1105 1832 )
1833 + )
1106 1834 );
1107 1835 }
1108 1836 } else if (modal === 'page-options') {
1109 - var title = e2pdfLang['Page Options'];
1837 + var title = e2pdf.lang.get('Page Options');
1110 1838 var page = el.closest('.e2pdf-page');
1111 1839 var readonly_size = false;
1112 1840 if (e2pdf.pdf.settings.get('pdf')) {
1113 1841 readonly_size = true;
@@ -1117,48 +1845,66 @@
1117 1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1118 1846 jQuery('<span>', {'class': 'spinner'})
1119 1847 ),
1120 1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1121 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1849 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1122 1850 )),
1123 1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1124 1852 jQuery('<span>', {'class': 'spinner'})
1125 1853 ));
1126 -
1127 1854 var fields = e2pdf.properties.renderFields(page);
1128 -
1129 1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1130 1856 fields
1131 1857 ));
1132 -
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 + );
1133 1880 } else if (modal === 'tpl-options') {
1134 1881 width = '500';
1135 - var title = e2pdfLang['PDF Options'];
1882 + var title = e2pdf.lang.get('Options');
1136 1883 var readonly_size = false;
1137 1884 if (e2pdf.pdf.settings.get('pdf')) {
1138 1885 readonly_size = true;
1139 1886 }
1140 -
1141 1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1142 1888 jQuery('<option>',
1143 1889 {
1144 - 'value': '',
1145 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1890 + 'value': ''
1891 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1146 1892 );
1147 - for (var size in e2pdfTemplateSizes) {
1893 + for (var size in e2pdf_params['template_sizes']) {
1148 1894 var option = jQuery('<option>',
1149 1895 {
1150 - 'value': size,
1151 - }).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'] + ')');
1152 1898 sizes.append(option);
1153 1899 }
1154 1900
1155 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1156 - 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']) {
1157 1903 var option = jQuery('<option>',
1158 1904 {
1159 - 'value': extension,
1160 - }).html(e2pdfTemplateExtensions[extension]);
1905 + 'value': extension
1906 + }).html(e2pdf_params['extensions'][extension]);
1161 1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1162 1908 option.attr('selected', 'selected');
1163 1909 }
1164 1910 extensions.append(option);
@@ -1168,9 +1914,9 @@
1168 1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1169 1915 jQuery('<span>', {'class': 'spinner'})
1170 1916 ),
1171 1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1172 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1918 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1173 1919 )),
1174 1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1175 1921 jQuery('<span>', {'class': 'spinner'})
1176 1922 ));
@@ -1185,10 +1931,10 @@
1185 1931 }
1186 1932
1187 1933 content.find('form').append(
1188 1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1189 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1190 - 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') + ':')
1191 1937 ),
1192 1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1193 1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1194 1940 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
@@ -1197,18 +1943,16 @@
1197 1943 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1198 1944 )
1199 1945 )
1200 1946 );
1201 -
1202 1947 content.find('form').append(
1203 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1948 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1204 1949 sizes);
1205 -
1206 1950 content.find('form').append(
1207 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1208 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1209 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1210 - 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') + ':')
1211 1955 ),
1212 1956 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1213 1957 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1214 1958 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1220,32 +1964,45 @@
1220 1964 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1221 1965 )
1222 1966 )
1223 1967 );
1224 -
1225 1968 content.find('form').append(
1226 - 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') + ':'),
1227 1985 extensions,
1228 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1229 - 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'})
1230 1988 );
1231 -
1232 1989 content.find('form').append(
1233 1990 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1234 1991 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1235 - jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdfLang['Labels'] + ':'),
1992 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1236 1993 ),
1237 1994 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1238 1995 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1239 1996 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1240 - jQuery('<option>', {'value': '0'}).text(e2pdfLang['None']),
1241 - jQuery('<option>', {'value': 'value'}).text(e2pdfLang['Field Values']),
1242 - jQuery('<option>', {'value': 'name'}).text(e2pdfLang['Field Names']),
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'))
1243 2000 ).val('0'),
1244 2001 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
1245 2002 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
1246 2003 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
1247 - e2pdfLang['Shortcodes']
2004 + e2pdf.lang.get('Shortcodes')
1248 2005 )
1249 2006 )
1250 2007 )
1251 2008 )
@@ -1250,19 +2007,33 @@
1250 2007 )
1251 2008 )
1252 2009 )
1253 2010 );
1254 -
1255 2011 content.find('form').append(
1256 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
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 + )
1257 2026 );
1258 -
2027 + content.find('form').append(
2028 + jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2029 + );
1259 2030 if (e2pdf.pdf.settings.get('pdf')) {
1260 2031 content.find('form').append(
1261 - jQuery('<ul>').append(
2032 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1262 2033 jQuery('<li>'),
1263 2034 jQuery('<li>').append(
1264 - 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'))
1265 2036 ),
1266 2037 jQuery('<li>')
1267 2038 )
1268 2039 );
@@ -1267,47 +2038,76 @@
1267 2038 )
1268 2039 );
1269 2040 } else {
1270 2041 content.find('form').append(
1271 - jQuery('<ul>').append(
2042 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1272 2043 jQuery('<li>').append(
1273 - 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'))
1274 2045 ),
1275 2046 jQuery('<li>'),
1276 2047 jQuery('<li>').append(
1277 - 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'))
1278 2049 )
1279 2050 )
1280 2051 );
1281 2052 }
1282 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 + );
1283 2084 } else if (modal === 'welcome-screen') {
1284 2085 var noclose = true;
1285 2086 width = '500';
1286 - var title = e2pdfLang['Create PDF'];
2087 + var title = e2pdf.lang.get('Create PDF');
1287 2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1288 2089 jQuery('<option>',
1289 2090 {
1290 - 'value': '',
1291 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2091 + 'value': ''
2092 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1292 2093 );
1293 -
1294 - for (var size in e2pdfTemplateSizes) {
2094 + for (var size in e2pdf_params['template_sizes']) {
1295 2095 var option = jQuery('<option>',
1296 2096 {
1297 2097 'value': size,
1298 - 'data-width': e2pdfTemplateSizes[size]['width'],
1299 - 'data-height': e2pdfTemplateSizes[size]['height']
1300 - }).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'] + ')');
1301 2101 sizes.append(option);
1302 2102 }
1303 2103
1304 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1305 - 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']) {
1306 2106 var option = jQuery('<option>',
1307 2107 {
1308 - 'value': extension,
1309 - }).html(e2pdfTemplateExtensions[extension]);
2108 + 'value': extension
2109 + }).html(e2pdf_params['extensions'][extension]);
1310 2110 if (e2pdf.pdf.settings.get('extension') === extension) {
1311 2111 option.attr('selected', 'selected');
1312 2112 }
1313 2113 extensions.append(option);
@@ -1317,14 +2117,13 @@
1317 2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1318 2118 jQuery('<span>', {'class': 'spinner'})
1319 2119 ),
1320 2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1321 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2121 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1322 2122 )),
1323 2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1324 2124 jQuery('<span>', {'class': 'spinner'})
1325 2125 ));
1326 -
1327 2126 var default_width = '595';
1328 2127 if (e2pdf.pdf.settings.get('width')) {
1329 2128 var default_width = e2pdf.pdf.settings.get('width');
1330 2129 }
@@ -1333,35 +2132,22 @@
1333 2132 if (e2pdf.pdf.settings.get('height')) {
1334 2133 var default_height = e2pdf.pdf.settings.get('height');
1335 2134 }
1336 2135
1337 - var disabled_activation = false;
1338 - if (parseInt(e2pdf.pdf.settings.get('templates_limit')) <= 0 && e2pdf.pdf.settings.get('activated') != '1') {
1339 - disabled_activation = 'disabled';
1340 - }
1341 -
1342 2136 content.find('form').append(
1343 2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1344 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w70 e2pdf-pr10'}).html(e2pdfLang['Title'] + ':'),
1345 - 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') + ':'),
1346 2139 ),
1347 2140 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1348 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w70 e2pdf-pr10'}).append(
2141 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1349 2142 jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
1350 - ),
1351 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10'}).append(
1352 - jQuery('<select>', {'id': 'e2pdf-activated', 'class': 'e2pdf-w100', 'name': 'activated'}).append(
1353 - jQuery('<option>', {'value': '0'}).text(e2pdfLang['Not Activated']),
1354 - jQuery('<option>', {'value': '1', 'disabled': disabled_activation}).text(e2pdfLang['Activated']),
1355 - ).val(e2pdf.pdf.settings.get('activated'))
1356 2143 )
1357 2144 )
1358 2145 );
1359 -
1360 2146 content.find('form').append(
1361 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1362 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1363 - 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') + ':')
1364 2150 ),
1365 2151 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1366 2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1367 2153 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
@@ -1370,18 +2156,16 @@
1370 2156 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
1371 2157 )
1372 2158 )
1373 2159 );
1374 -
1375 2160 content.find('form').append(
1376 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2161 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1377 2162 sizes);
1378 -
1379 2163 content.find('form').append(
1380 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1381 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1382 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1383 - 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') + ':'),
1384 2168 ),
1385 2169 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1386 2170 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1387 2171 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1393,32 +2177,45 @@
1393 2177 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1394 2178 )
1395 2179 )
1396 2180 );
1397 -
1398 2181 content.find('form').append(
1399 - 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') + ':'),
1400 2198 extensions,
1401 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1402 - 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'})
1403 2201 );
1404 -
1405 2202 content.find('form').append(
1406 2203 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1407 2204 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1408 - jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdfLang['Labels'] + ':'),
2205 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1409 2206 ),
1410 2207 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1411 2208 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1412 2209 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1413 - jQuery('<option>', {'value': '0'}).text(e2pdfLang['None']),
1414 - jQuery('<option>', {'value': 'value'}).text(e2pdfLang['Field Values']),
1415 - jQuery('<option>', {'value': 'name'}).text(e2pdfLang['Field Names']),
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'))
1416 2213 ).val('0'),
1417 2214 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
1418 2215 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
1419 2216 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
1420 - e2pdfLang['Shortcodes']
2217 + e2pdf.lang.get('Shortcodes')
1421 2218 )
1422 2219 )
1423 2220 )
1424 2221 )
@@ -1423,17 +2220,30 @@
1423 2220 )
1424 2221 )
1425 2222 )
1426 2223 );
1427 -
1428 2224 content.find('form').append(
1429 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
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 + )
1430 2239 );
1431 -
1432 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(
1433 2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1434 2245 );
1435 -
1436 2246 if (e2pdf.pdf.settings.get('ID')) {
1437 2247 content.find('form').append(
1438 2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1439 2249 );
@@ -1439,48 +2249,50 @@
1439 2249 );
1440 2250 }
1441 2251
1442 2252 content.find('form').append(
1443 - jQuery('<ul>').append(
2253 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1444 2254 jQuery('<li>').append(
1445 - 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'))
1446 2256 ),
1447 2257 jQuery('<li>').append(
1448 - 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']))
1449 2259 ),
1450 2260 jQuery('<li>').append(
1451 - 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'))
1452 2262 )
1453 2263 )
1454 2264 );
1455 2265 } else if (modal === 'visual-mapper') {
1456 - var title = e2pdfLang['Visual Mapper'];
1457 - 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(
1458 2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1459 2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1460 2270 jQuery('<span>', {'class': 'spinner'})
1461 2271 )).append(
1462 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1463 - 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'})
1464 2275 )
2276 + )
1465 2277 ));
1466 2278 } else if (modal === 'pdf-reupload') {
1467 - var title = e2pdfLang['PDF Upload'];
2279 + var title = e2pdf.lang.get('PDF Upload');
1468 2280 width = '500';
1469 - 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(
1470 2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1471 2284 jQuery('<span>', {'class': 'spinner'})
1472 2285 ),
1473 2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1474 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2287 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1475 2288 )),
1476 2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1477 2290 jQuery('<span>', {'class': 'spinner'})
1478 2291 ));
1479 2292 content.find('form').append(
1480 - 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'})
1481 2294 );
1482 -
1483 2295 if (e2pdf.pdf.settings.get('ID')) {
1484 2296 content.find('form').append(
1485 2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1486 2298 );
@@ -1488,26 +2300,30 @@
1488 2300
1489 2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1490 2302 pages.append(
1491 2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1492 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1493 - 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'))
1494 2306 ),
1495 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1496 - 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'))
1497 2309 ),
1498 2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1499 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2311 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1500 2312 ),
1501 2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1502 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2314 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1503 2315 )));
1504 -
1505 2316 jQuery('.e2pdf-page').each(function () {
1506 2317 var page_id = jQuery(this).attr('data-page_id');
1507 2318 pages.append(
1508 2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1509 - 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 + ),
1510 2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1511 2327 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
1512 2328 ),
1513 2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
@@ -1524,9 +2340,9 @@
1524 2340 jQuery('<ul>').append(
1525 2341 jQuery('<li>').append(
1526 2342 ),
1527 2343 jQuery('<li>').append(
1528 - 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'))
1529 2345 ),
1530 2346 jQuery('<li>').append(
1531 2347 )
1532 2348 )
@@ -1535,19 +2351,31 @@
1535 2351 var content = jQuery('<div>');
1536 2352 }
1537 2353
1538 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 + }
1539 2363 content.dialog({
1540 2364 title: title,
1541 - dialogClass: 'e2pdf-dialog',
2365 + dialogClass: dialog_class,
1542 2366 modal: true,
1543 2367 width: width,
1544 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1545 - resizable: false,
1546 - minHeight: 0,
1547 - my: "center",
1548 - 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,
1549 2375 open: function (event, ui) {
2376 + jQuery('html').css('overflow', 'hidden');
2377 + jQuery('.e2pdf-dialog').css('min-height', '150');
1550 2378 if (noclose) {
1551 2379 jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
1552 2380 location.href = e2pdf.url.build('e2pdf-templates');
1553 2381 e.preventDefault();
@@ -1554,40 +2382,103 @@
1554 2382 });
1555 2383 } else {
1556 2384 jQuery('.ui-widget-overlay').bind('click', function ()
1557 2385 {
2386 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2387 + return;
2388 + }
1558 2389 content.dialog('close');
1559 2390 });
1560 2391 }
1561 2392
1562 - var dialog_height = jQuery('.e2pdf-dialog').height();
1563 -
1564 2393 if (modal === 'properties') {
1565 2394 jQuery(".ui-dialog-titlebar").after(
1566 2395 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1567 - 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')})
1568 2398 )
1569 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 + );
1570 2439 } else if (modal === 'page-options') {
1571 2440 jQuery(".ui-dialog-titlebar").after(
1572 2441 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1573 - 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')})
1574 2443 )
1575 2444 );
1576 2445 }
1577 -
1578 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1579 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1580 - 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)});
1581 2447 },
1582 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 + },
1583 2472 close: function (event, ui)
1584 2473 {
2474 + jQuery('html').css('overflow', 'auto');
1585 2475 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1586 2476 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1587 2477 jQuery(this).click();
1588 2478 });
1589 2479 }
2480 + e2pdf.visual.mapper.selected = null;
1590 2481 jQuery(this).remove();
1591 2482 }
1592 2483 });
1593 2484 }
@@ -1592,54 +2483,58 @@
1592 2483 });
1593 2484 }
1594 2485
1595 2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1596 - jQuery('#e2pdf-extension').trigger('change');
1597 - } else if (modal === 'properties') {
1598 - jQuery('.e2pdf-scale-field').each(function () {
1599 - jQuery(this).trigger('change');
1600 - });
2487 + jQuery('.e2pdf-extension').trigger('change');
1601 2488 } else if (modal === 'visual-mapper') {
1602 2489 var data = {};
1603 2490 data['extension'] = e2pdf.pdf.settings.get('extension');
1604 2491 data['item'] = e2pdf.pdf.settings.get('item');
1605 - 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);
1606 2495 }
2496 +
2497 + if (modal !== 'visual-mapper') {
2498 + e2pdf.dialog.rebuild();
2499 + }
2500 +
1607 2501 e2pdf.event.fire('after.dialog.create');
1608 2502 },
1609 - //e2pdf.dialog.close
2503 + // e2pdf.dialog.close
1610 2504 close: function () {
1611 2505 if (jQuery('.e2pdf-dialog').length > 0) {
1612 2506 jQuery('.ui-dialog-content').dialog('close');
1613 2507 }
1614 2508 },
1615 - //e2pdf.dialog.rebuild
2509 + // e2pdf.dialog.rebuild
2510 +
1616 2511 rebuild: function () {
1617 - if (jQuery('.e2pdf-dialog').length > 0) {
1618 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1619 - var width = dialog.data("ui-dialog").options.width;
1620 - var height = 600;
1621 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1622 - var dialog_height = jQuery('.e2pdf-dialog').height();
1623 -
1624 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1625 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1626 -
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 + }
1627 2519 e2pdf.visual.mapper.rebuild();
1628 2520 }
1629 2521 }
1630 2522 },
1631 - //e2pdf.mediaUploader
2523 + // e2pdf.mediaUploader
1632 2524 mediaUploader: {
1633 - //e2pdf.mediaUploader.init
2525 + // e2pdf.mediaUploader.init
1634 2526 init: function (el) {
1635 2527 var mediaUploader;
1636 2528 mediaUploader = wp.media.frames.file_frame = wp.media({
1637 - title: e2pdfLang['Choose Image'],
2529 + title: e2pdf.lang.get('Media Library'),
1638 2530 button: {
1639 - text: e2pdfLang['Choose Image']
2531 + text: e2pdf.lang.get('Select')
1640 2532 }, multiple: false});
1641 2533 mediaUploader.on('select', function () {
2534 + var history = [];
2535 + history.push(el.clone(true));
2536 + e2pdf.history.set('element_change', history);
1642 2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
1643 2538 e2pdf.properties.set(el, 'value', attachment.url);
1644 2539 e2pdf.properties.render(el);
1645 2540 e2pdf.event.fire('after.mediaUploader.select');
@@ -1646,12 +2541,12 @@
1646 2541 });
1647 2542 mediaUploader.open();
1648 2543 }
1649 2544 },
1650 - //e2pdf.actions
2545 + // e2pdf.actions
1651 2546 actions: {
1652 - //e2pdf.actions.add
1653 - add: function (el, target) {
2547 + // e2pdf.actions.add
2548 + add: function (el, target, action) {
1654 2549 var last_id = -1;
1655 2550 target.find('.e2pdf-action').each(function () {
1656 2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1657 2552 if (num_id > last_id) {
@@ -1658,41 +2553,66 @@
1658 2553 last_id = num_id;
1659 2554 }
1660 2555 });
1661 2556 var action_id = parseInt(last_id + 1);
1662 - 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 +
1663 2563 },
1664 - //e2pdf.actions.change
1665 - change: function (action) {
2564 + // e2pdf.actions.change
2565 + change: function (action, trigger) {
1666 2566 var action_id = action.attr("data-action_id");
1667 2567 var form = action.closest('form');
1668 2568 var data = e2pdf.form.serializeObject(form);
1669 2569 var el = false;
1670 -
1671 2570 if (form.attr('id') === 'e2pdf-page-options') {
1672 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');
1673 2574 } else {
1674 2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1675 2576 }
1676 2577
1677 - 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 + }
1678 2582
1679 2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1680 -
1681 2584 e2pdf.event.fire('after.actions.change');
1682 2585 },
1683 - //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 +
1684 2605 delete: function (action) {
1685 2606 action.remove();
1686 2607 },
1687 - //e2pdf.actions.conditions
2608 + // e2pdf.actions.conditions
1688 2609 conditions: {
1689 - //e2pdf.actions.conditions.add
2610 + // e2pdf.actions.conditions.add
1690 2611 add: function (el, target) {
1691 2612 var action = target.closest('.e2pdf-action');
1692 2613 var action_id = action.attr('data-action_id');
1693 2614 var last_id = -1;
1694 -
1695 2615 target.find('.e2pdf-condition').each(function () {
1696 2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1697 2617 if (num_id > last_id) {
1698 2618 last_id = num_id;
@@ -1698,14 +2618,13 @@
1698 2618 last_id = num_id;
1699 2619 }
1700 2620 });
1701 2621 var condition_id = parseInt(last_id + 1);
1702 -
1703 2622 action.find('.e2pdf-conditions').append(
1704 2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1705 2624 );
1706 2625 },
1707 - //e2pdf.actions.conditions.getFields
2626 + // e2pdf.actions.conditions.getFields
1708 2627 getFields: function (el, action_id, condition_id, condition) {
1709 2628 var obj = {
1710 2629 'condition': {
1711 2630 'fields': [
@@ -1710,31 +2629,29 @@
1710 2629 'condition': {
1711 2630 'fields': [
1712 2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1713 2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1714 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2633 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1715 2634 ],
1716 2635 'classes': [
1717 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2636 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1718 2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1719 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1720 - ],
1721 - },
1722 -
2638 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 + ]
2640 + }
1723 2641 };
1724 2642 return obj;
1725 2643 },
1726 - //e2pdf.actions.conditions.getField
2644 + // e2pdf.actions.conditions.getField
1727 2645 getField: function (field, el, action_id, condition_id, condition) {
1728 2646 var obj = false;
1729 -
1730 2647 switch (field) {
1731 2648 case 'if':
1732 2649 var value = condition ? condition.if : '';
1733 2650 obj = {
1734 - 'name': e2pdfLang['If'],
2651 + 'name': e2pdf.lang.get('If'),
1735 2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1736 - 'type': 'text',
2653 + 'type': 'textarea',
1737 2654 'value': value,
1738 2655 'atts': []
1739 2656 };
1740 2657 break;
@@ -1739,11 +2656,10 @@
1739 2656 };
1740 2657 break;
1741 2658 case 'condition':
1742 2659 var value = condition ? condition.condition : '=';
1743 -
1744 2660 obj = {
1745 - 'name': e2pdfLang['Condition'],
2661 + 'name': e2pdf.lang.get('Condition'),
1746 2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1747 2663 'type': 'select',
1748 2664 'value': value,
1749 2665 'options': [
@@ -1752,10 +2668,16 @@
1752 2668 {'>': '>'},
1753 2669 {'>=': '>='},
1754 2670 {'<': '<'},
1755 2671 {'<=': '<='},
1756 - {'like': 'LIKE'},
1757 - {'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')}
1758 2680 ],
1759 2681 'atts': []
1760 2682 };
1761 2683 break;
@@ -1761,33 +2683,30 @@
1761 2683 break;
1762 2684 case 'value':
1763 2685 var value = condition ? condition.value : '';
1764 2686 obj = {
1765 - 'name': e2pdfLang['Value'],
2687 + 'name': e2pdf.lang.get('Value'),
1766 2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1767 - 'type': 'text',
2689 + 'type': 'textarea',
1768 2690 'value': value,
1769 2691 'atts': []
1770 2692 };
1771 2693 break;
1772 2694 }
1773 -
1774 2695 return obj;
1775 2696 },
1776 - //e2pdf.actions.conditions.delete
2697 + // e2pdf.actions.conditions.delete
1777 2698 delete: function (condition) {
1778 2699 condition.remove();
1779 2700 },
1780 - //e2pdf.actions.conditions.renderField
2701 + // e2pdf.actions.conditions.renderField
1781 2702 renderField: function (el, action_id, condition_id, condition) {
1782 2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1783 -
1784 2704 if (groups) {
1785 2705 for (var group_key in groups) {
1786 2706
1787 2707 var group = groups[group_key];
1788 2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1789 -
1790 2709 for (var field_key in group.fields) {
1791 2710 var group_field = group.fields[field_key];
1792 2711 var classes = '';
1793 2712 if (group.classes) {
@@ -1798,9 +2717,8 @@
1798 2717
1799 2718 var field = '';
1800 2719 var label = '';
1801 2720 var wrap = '';
1802 -
1803 2721 if (group_field.type === 'text') {
1804 2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1805 2723 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1806 2724 } else if (group_field.type === 'hidden') {
@@ -1811,17 +2729,14 @@
1811 2729 } else if (group_field.type === 'checkbox') {
1812 2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1813 2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1814 2732 if (group_field.value == group_field.option) {
1815 - field.attr('checked', 'checked');
2733 + field.prop('checked', true);
1816 2734 }
1817 2735 } else if (group_field.type === 'color') {
1818 2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1819 2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1820 2738 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1821 - if (group_field.key === 'border_color') {
1822 - field.attr('data-default', '#000000');
1823 - }
1824 2739 } else if (group_field.type === 'select') {
1825 2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1826 2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1827 2742 for (var option_key in group_field.options) {
@@ -1840,9 +2755,9 @@
1840 2755 }
1841 2756 }
1842 2757 }
1843 2758
1844 - 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(
1845 2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1846 2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1847 2762 ),
1848 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1847,26 +2762,26 @@
1847 2762 ),
1848 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1849 2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1850 2765 )));
1851 -
1852 - 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 + ),
1853 2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1854 2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1855 2772 ),
1856 2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1857 - grid,
2774 + grid
1858 2775 )
1859 2776 );
1860 2777 return new_condition;
1861 2778 }
1862 2779 },
1863 -
1864 - //e2pdf.actions.get
2780 + // e2pdf.actions.get
1865 2781 get: function (el) {
1866 2782 var actions = [];
1867 -
1868 - if (typeof el.data('data-properties') !== 'undefined') {
2783 + if (typeof el.data('data-actions') !== 'undefined') {
1869 2784 actions = JSON.parse(el.data('data-actions'));
1870 2785 actions = Object.values(actions).sort(function (a, b) {
1871 2786 if (parseInt(a.order) === parseInt(b.order)) {
1872 2787 return 0;
@@ -1875,9 +2790,9 @@
1875 2790 });
1876 2791 }
1877 2792 return actions;
1878 2793 },
1879 - //e2pdf.actions.apply
2794 + // e2pdf.actions.apply
1880 2795 apply: function (el, data) {
1881 2796 if (!data) {
1882 2797 data = [];
1883 2798 }
@@ -1882,18 +2797,16 @@
1882 2797 data = [];
1883 2798 }
1884 2799 el.data('data-actions', JSON.stringify(data));
1885 2800 },
1886 - //e2pdf.actions.getField
2801 + // e2pdf.actions.getField
1887 2802 getField: function (field, el, action_id, action) {
1888 -
1889 2803 var obj = false;
1890 -
1891 2804 switch (field) {
1892 2805 case 'order':
1893 2806 var value = action ? action.order : '0';
1894 2807 obj = {
1895 - 'name': e2pdfLang['Order'],
2808 + 'name': e2pdf.lang.get('Sort'),
1896 2809 'key': 'actions[' + action_id + '][order]',
1897 2810 'type': 'text',
1898 2811 'value': value,
1899 2812 'atts': ['number']
@@ -1898,74 +2811,228 @@
1898 2811 'value': value,
1899 2812 'atts': ['number']
1900 2813 };
1901 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;
1902 2855 case 'action':
1903 - 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 + }
1904 2900 obj = {
1905 - 'name': e2pdfLang['Action'],
2901 + 'name': e2pdf.lang.get('Action'),
1906 2902 'key': 'actions[' + action_id + '][action]',
1907 2903 'type': 'select',
1908 2904 'value': value,
1909 - 'options': [
1910 - {'hide': e2pdfLang['Hide']},
1911 - {'show': e2pdfLang['Show']},
1912 - {'change': e2pdfLang['Change']},
1913 - ],
2905 + 'options': options,
1914 2906 'atts': []
1915 2907 };
1916 2908 break;
1917 - case 'property':
1918 - var value = action ? action.property : '';
1919 -
1920 - if (action && action.action === 'change') {
1921 - var options = [];
1922 - var option = {
1923 - '': 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': []
1924 2918 };
1925 - options.push(option);
1926 -
1927 - var groups = e2pdf.properties.getFields(el);
1928 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1929 -
1930 - if (el.data('data-type') !== 'e2pdf-page') {
1931 - var option = {
1932 - 'page_id': e2pdfLang['Page ID']
1933 - }
1934 - 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...';
1935 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 + }
1936 2961
1937 - for (var group_key in groups) {
1938 - var group = groups[group_key];
1939 -
1940 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1941 - for (var field_key in group.fields) {
1942 - var group_field = group.fields[field_key];
1943 - var option = {};
1944 -
1945 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1946 - option[group_field.key] = group.name;
1947 - } else {
1948 - option[group_field.key] = group.name + ' ' + group_field.name;
1949 - }
1950 - options.push(option);
1951 - }
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';
1952 2980 }
2981 + } else {
2982 + var value = action && action.property ? action.property : 'enable';
1953 2983 }
1954 -
2984 + var options = [
2985 + {'enable': e2pdf.lang.get('Enable')},
2986 + {'disable': e2pdf.lang.get('Disable')},
2987 + ];
1955 2988 obj = {
1956 - 'name': e2pdfLang['Property'],
2989 + 'name': e2pdf.lang.get('State'),
1957 2990 'key': 'actions[' + action_id + '][property]',
1958 - 'type': 'select',
2991 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1959 2992 'value': value,
1960 2993 'options': options,
1961 2994 'atts': []
1962 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 + }
1963 3031 }
1964 3032 break;
1965 3033 case 'change':
1966 3034 var value = action ? action.change : '';
1967 -
1968 3035 if (
1969 3036 action
1970 3037 && typeof action.action !== 'undefined'
1971 3038 && action.action === 'change'
@@ -1973,17 +3040,20 @@
1973 3040 && action.property !== ''
1974 3041 ) {
1975 3042
1976 3043 var property = e2pdf.properties.getField(action.property, el);
1977 -
1978 3044 if (property) {
1979 - 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 + }
1980 3052 property.key = 'actions[' + action_id + '][change]';
1981 -
1982 - 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) {
1983 3054 property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
1984 3055 }
1985 -
1986 3056 if (jQuery.inArray('readonly', property.atts) === -1) {
1987 3057 if (property.type === 'select') {
1988 3058 for (var key in property.options) {
1989 3059 if (Object.keys(property.options[key])[0] == value) {
@@ -2007,15 +3077,15 @@
2007 3077 break;
2008 3078 case 'apply':
2009 3079 var value = action ? action.apply : 'any';
2010 3080 obj = {
2011 - 'name': e2pdfLang['Apply If'],
3081 + 'name': e2pdf.lang.get('Apply If'),
2012 3082 'key': 'actions[' + action_id + '][apply]',
2013 3083 'type': 'select',
2014 3084 'value': value,
2015 3085 'options': [
2016 - {'any': e2pdfLang['Any']},
2017 - {'all': e2pdfLang['All']},
3086 + {'any': e2pdf.lang.get('Any')},
3087 + {'all': e2pdf.lang.get('All')}
2018 3088 ],
2019 3089 'atts': []
2020 3090 };
2021 3091 break;
@@ -2021,9 +3091,9 @@
2021 3091 break;
2022 3092 }
2023 3093 return obj;
2024 3094 },
2025 - //e2pdf.actions.getFields
3095 + // e2pdf.actions.getFields
2026 3096 getFields: function (el, action_id, action) {
2027 3097 var obj = {
2028 3098 'action': {
2029 3099 'fields': [
@@ -2029,27 +3099,68 @@
2029 3099 'fields': [
2030 3100 e2pdf.actions.getField('order', el, action_id, action),
2031 3101 e2pdf.actions.getField('action', el, action_id, action),
2032 3102 e2pdf.actions.getField('property', el, action_id, action),
2033 - e2pdf.actions.getField('change', el, action_id, action),
2034 - e2pdf.actions.getField('apply', el, action_id, action),
3103 + e2pdf.actions.getField('apply', el, action_id, action)
2035 3104 ],
2036 3105 'classes': [
2037 3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
2038 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
2039 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
2040 - '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',
2041 3109 'e2pdf-w15 e2pdf-pl5'
2042 - ],
2043 - },
3110 + ]
3111 + }
2044 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 +
2045 3152 return obj;
2046 3153 },
2047 - //e2pdf.actions.renderField
3154 + // e2pdf.actions.renderField
2048 3155 renderField: function (el, action_id, action) {
2049 -
2050 3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
2051 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 + }
2052 3163 for (var condition in action.conditions) {
2053 3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
2054 3165 }
2055 3166 } else {
@@ -2061,9 +3172,8 @@
2061 3172 for (var group_key in groups) {
2062 3173
2063 3174 var group = groups[group_key];
2064 3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2065 -
2066 3176 for (var field_key in group.fields) {
2067 3177 var group_field = group.fields[field_key];
2068 3178 var classes = '';
2069 3179 if (group.classes) {
@@ -2074,9 +3184,9 @@
2074 3184
2075 3185 var field = '';
2076 3186 var label = '';
2077 3187 var wrap = '';
2078 -
3188 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
2079 3189 if (group_field.type === 'text') {
2080 3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2081 3191 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2082 3192 } else if (group_field.type === 'hidden') {
@@ -2082,22 +3192,19 @@
2082 3192 } else if (group_field.type === 'hidden') {
2083 3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2084 3194 } else if (group_field.type === 'textarea') {
2085 3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2086 - 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);
2087 3197 } else if (group_field.type === 'checkbox') {
2088 - 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);
2089 3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
2090 3200 if (group_field.value == group_field.option) {
2091 - field.attr('checked', 'checked');
3201 + field.prop('checked', true);
2092 3202 }
2093 3203 } else if (group_field.type === 'color') {
2094 3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2095 3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2096 3206 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2097 - if (group_field.key === 'border_color') {
2098 - field.attr('data-default', '#000000');
2099 - }
2100 3207 } else if (group_field.type === 'select') {
2101 3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2102 3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2103 3210 for (var option_key in group_field.options) {
@@ -2107,9 +3214,8 @@
2107 3214 }
2108 3215
2109 3216 for (var att_key in group_field.atts) {
2110 3217 var att = group_field.atts[att_key];
2111 -
2112 3218 switch (att) {
2113 3219 case 'readonly':
2114 3220 field.attr('readonly', 'readonly');
2115 3221 break;
@@ -2127,14 +3233,11 @@
2127 3233 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2128 3234 },
2129 3235 classes: {
2130 3236 "ui-autocomplete": "e2pdf-autocomplete"
2131 - },
3237 + }
2132 3238 });
2133 3239 break;
2134 - case 'scale':
2135 - field.addClass('e2pdf-scale-field');
2136 - break;
2137 3240 }
2138 3241 }
2139 3242
2140 3243 if (!wrap) {
@@ -2148,8 +3251,11 @@
2148 3251 }
2149 3252 }
2150 3253
2151 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 + ),
2152 3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2153 3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2154 3260 ),
2155 3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2156,586 +3262,653 @@
2156 3262 grid
2157 3263 ),
2158 3264 conditions
2159 3265 );
2160 -
2161 3266 return new_action;
2162 3267 },
2163 - //e2pdf.actions.renderFields
3268 + // e2pdf.actions.renderFields
2164 3269 renderFields: function (el) {
3270 +
2165 3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2166 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdfLang['Add Action'])
3272 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
2167 3273 );
2168 -
2169 3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2170 3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2171 3276 var actions = e2pdf.actions.get(el);
2172 -
2173 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 + }
2174 3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2175 3285 }
2176 3286
2177 3287 block.append(action_wrapper, add_action);
2178 -
2179 3288 return block;
2180 3289 }
2181 3290 },
2182 - //e2pdf.properties
3291 + // e2pdf.properties
2183 3292 properties: {
2184 - //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
2185 3310 getField: function (field, el) {
2186 3311
2187 3312 var obj = false;
2188 3313 var properties = e2pdf.properties.get(el);
2189 3314 var children = e2pdf.element.children(el);
2190 -
2191 3315 switch (field) {
2192 - case 'element_id':
2193 - var value = el.attr('data-element_id');
3316 + case 'page_id':
2194 3317 obj = {
2195 - 'name': e2pdfLang['ID'],
2196 - 'key': 'element_id',
3318 + 'name': e2pdf.lang.get('Page ID'),
2197 3319 'type': 'text',
2198 - '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')),
2199 3321 'atts': [
2200 - 'readonly'
3322 + 'readonly',
3323 + 'number'
2201 3324 ]
2202 3325 };
3326 + if (el.data('data-type') !== 'e2pdf-page') {
3327 + obj.atts.push('editable');
3328 + }
2203 3329 break;
2204 - case 'name':
2205 - var value = properties['name'];
3330 + case 'element_id':
2206 3331 obj = {
2207 - 'name': e2pdfLang['Field Name'],
2208 - 'key': 'name',
3332 + 'name': 'ID',
2209 3333 'type': 'text',
2210 - 'value': value,
2211 - 'atts': []
3334 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 + 'atts': ['readonly']
2212 3336 };
2213 3337 break;
2214 - case 'field_name':
2215 - var value = properties['field_name'] && properties['field_name'] == '1' ? '1' : '0';
2216 - obj = {
2217 - 'name': e2pdfLang['As Field Name'],
2218 - 'key': 'field_name',
2219 - 'type': 'checkbox',
2220 - 'option': 1,
2221 - 'value': value,
2222 - 'atts': []
2223 - };
2224 - break;
2225 3338 case 'element_type':
2226 - var value = el.data('data-type');
2227 3339 obj = {
2228 - 'name': e2pdfLang['Type'],
2229 - 'key': 'element_type',
3340 + 'name': e2pdf.lang.get('Type'),
2230 3341 'type': 'text',
2231 - 'value': value,
2232 - 'atts': [
2233 - 'readonly'
2234 - ]
3342 + 'value': el.data('data-type'),
3343 + 'atts': ['readonly']
2235 3344 };
2236 3345 break;
2237 - case 'page_id':
2238 - if (el.data('data-type') == 'e2pdf-page') {
2239 - var value = el.attr('data-page_id');
2240 - } else {
2241 - var value = el.closest('.e2pdf-page').attr('data-page_id');
2242 - }
2243 - obj = {
2244 - 'name': e2pdfLang['Page ID'],
2245 - 'key': 'page_id',
2246 - 'type': 'text',
2247 - 'value': value ? value : 0,
2248 - 'atts': [
2249 - 'readonly',
2250 - 'changeable',
2251 - 'number'
2252 - ]
2253 - };
2254 - break;
2255 3346 case 'width':
2256 - if (el.data('data-type') == 'e2pdf-page') {
2257 - var value = el.attr('data-width');
2258 - } else {
2259 - var value = e2pdf.helper.pxToFloat(el.css('width'));
2260 - }
2261 -
2262 3347 obj = {
2263 - 'name': e2pdfLang['Width'],
2264 - 'key': 'width',
3348 + 'name': e2pdf.lang.get('Width'),
2265 3349 'type': 'text',
2266 - 'value': value,
2267 - 'atts': [
2268 - 'number'
2269 - ]
3350 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 + 'atts': ['number']
2270 3352 };
2271 -
2272 - if (el.data('data-type') == 'e2pdf-page') {
2273 - if (e2pdf.pdf.settings.get('pdf')) {
2274 - obj.atts.push('readonly')
2275 - }
3353 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 + obj.atts.push('readonly');
2276 3355 }
2277 3356 break;
2278 3357 case 'height':
2279 - if (el.data('data-type') == 'e2pdf-page') {
2280 - var value = el.attr('data-height');
2281 - } else {
2282 - var value = e2pdf.helper.pxToFloat(el.css('height'));
2283 - }
2284 -
2285 3358 obj = {
2286 - 'name': e2pdfLang['Height'],
2287 - 'key': 'height',
3359 + 'name': e2pdf.lang.get('Height'),
2288 3360 'type': 'text',
2289 - 'value': value,
2290 - 'atts': [
2291 - 'number'
2292 - ]
3361 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 + 'atts': ['number']
2293 3363 };
2294 -
2295 - if (el.data('data-type') == 'e2pdf-page') {
2296 - if (e2pdf.pdf.settings.get('pdf')) {
2297 - obj.atts.push('readonly')
2298 - }
3364 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 + obj.atts.push('readonly');
2299 3366 }
2300 3367 break;
2301 3368 case 'top':
2302 - var value = parseFloat(el.css('top'));
2303 3369 obj = {
2304 - 'name': e2pdfLang['Top'],
2305 - 'key': 'top',
3370 + 'name': e2pdf.lang.get('Position Top'),
2306 3371 'type': 'text',
2307 - 'value': value,
2308 - 'atts': [
2309 - 'number'
2310 - ]
3372 + 'value': e2pdf.helper.getFloat(el.css('top')),
3373 + 'atts': ['number', 'keep']
2311 3374 };
2312 3375 break;
2313 3376 case 'left':
2314 - var value = parseFloat(el.css('left'));
2315 3377 obj = {
2316 - 'name': e2pdfLang['Left'],
2317 - 'key': 'left',
3378 + 'name': e2pdf.lang.get('Position Left'),
2318 3379 'type': 'text',
2319 - 'value': value,
2320 - 'atts': [
2321 - 'number'
2322 - ]
3380 + 'value': e2pdf.helper.getFloat(el.css('left')),
3381 + 'atts': ['number', 'keep']
2323 3382 };
2324 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;
2325 3399 case 'dynamic_height':
2326 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2327 3400 obj = {
2328 - 'name': e2pdfLang['Dynamic Height'],
2329 - 'key': 'dynamic_height',
3401 + 'name': e2pdf.lang.get('Dynamic Height'),
2330 3402 'type': 'checkbox',
2331 - 'value': value,
2332 - 'option': 1,
2333 - 'atts': []
3403 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3404 + 'option': '1'
2334 3405 };
2335 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;
2336 3447 case 'text_color':
2337 - var value = properties['text_color'];
2338 3448 obj = {
2339 - 'name': e2pdfLang['Color'],
2340 - 'key': 'text_color',
3449 + 'name': e2pdf.lang.get('Font Color'),
2341 3450 'type': 'color',
2342 - 'value': value,
2343 - 'atts': []
3451 + 'value': e2pdf.helper.getString(properties[field])
2344 3452 };
2345 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;
2346 3461 case 'text_type':
2347 - var value = properties['text_type'];
2348 3462 obj = {
2349 - 'name': e2pdfLang['Type'],
2350 - 'key': 'text_type',
3463 + 'name': e2pdf.lang.get('Type'),
2351 3464 'type': 'select',
2352 - 'value': value,
3465 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2353 3466 'options': [
2354 - {'check': e2pdfLang['Check']},
2355 - {'circle': e2pdfLang['Circle']},
2356 - {'cross': e2pdfLang['Cross']},
2357 - {'diamond': e2pdfLang['Diamond']},
2358 - {'square': e2pdfLang['Square']},
2359 - {'star': e2pdfLang['Star']},
2360 - ],
2361 - 'atts': []
3467 + {'check': 'Check'},
3468 + {'circle': 'Circle'},
3469 + {'cross': 'Cross'},
3470 + {'diamond': 'Diamond'},
3471 + {'square': 'Square'},
3472 + {'star': 'Star'}
3473 + ]
2362 3474 };
2363 3475 break;
2364 3476 case 'text_font':
2365 - var options = [];
2366 - jQuery('#e2pdf-wysiwyg-font').find('option').each(function () {
2367 - var option = {};
2368 - option[jQuery(this).attr('value')] = jQuery(this).html();
2369 - options.push(option);
2370 - });
2371 - var value = '';
2372 - if (properties['text_font']) {
2373 - 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]);
2374 3489 }
2375 3490 obj = {
2376 - 'name': e2pdfLang['Font'],
2377 - 'key': 'text_font',
2378 - 'type': 'select',
3491 + 'name': e2pdf.lang.get('Auto Font Size'),
3492 + 'type': 'checkbox',
2379 3493 'value': value,
2380 - 'options': options,
2381 - 'atts': []
3494 + 'option': '1'
2382 3495 };
2383 3496 break;
2384 3497 case 'text_font_size':
2385 - var options = [];
2386 - jQuery('#e2pdf-wysiwyg-fontsize').find('option').each(function () {
2387 - var option = {};
2388 - option[jQuery(this).attr('value')] = jQuery(this).html();
2389 - options.push(option);
2390 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2391 - option = {};
2392 - option['-1'] = e2pdfLang['Auto'];
2393 - options.push(option);
2394 - }
2395 - });
2396 - var value = '';
2397 - if (properties['text_font_size']) {
2398 - value = properties['text_font_size'];
2399 - }
2400 3498 obj = {
2401 - 'name': e2pdfLang['Size'],
2402 - 'key': 'text_font_size',
3499 + 'name': e2pdf.lang.get('Font Size'),
2403 3500 'type': 'select',
2404 - 'value': value,
2405 - 'options': options,
2406 - 'atts': []
3501 + 'value': e2pdf.helper.getString(properties[field]),
3502 + 'options': e2pdf.helper.font.sizes(field, properties)
2407 3503 };
2408 3504 break;
2409 3505 case 'text_line_height':
2410 - var options = [];
2411 - var value = '';
2412 - if (properties['text_line_height']) {
2413 - value = properties['text_line_height'];
2414 - }
2415 -
2416 - var option = {};
2417 - option[''] = '-';
2418 - options.push(option);
2419 -
2420 - jQuery('#e2pdf-line-height').find('option').each(function () {
2421 - var option = {};
2422 - option[jQuery(this).attr('value')] = jQuery(this).html();
2423 - options.push(option);
2424 - });
2425 -
2426 3506 obj = {
2427 - 'name': e2pdfLang['Line Height'],
2428 - 'key': 'text_line_height',
3507 + 'name': e2pdf.lang.get('Line Height'),
2429 3508 'type': 'select',
2430 - 'value': value,
2431 - 'options': options,
2432 - 'atts': []
3509 + 'value': e2pdf.helper.getString(properties[field]),
3510 + 'options': e2pdf.helper.font.lines(field)
2433 3511 };
2434 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;
2435 3521 case 'z_index':
2436 - var value = properties['z_index'];
2437 3522 obj = {
2438 - 'name': e2pdfLang['Z-index'],
2439 - 'key': 'z_index',
3523 + 'name': 'Z-index',
2440 3524 'type': 'text',
2441 - 'value': value,
2442 - 'atts': ['number']
3525 + 'value': e2pdf.helper.getInt(properties[field]),
3526 + 'atts': ['number', 'number-negative']
2443 3527 };
2444 3528 break;
2445 3529 case 'background':
2446 - var value = properties['background'];
2447 3530 obj = {
2448 - 'name': e2pdfLang['Background'],
3531 + 'name': e2pdf.lang.get('Background'),
2449 3532 'key': 'background',
2450 3533 'type': 'color',
2451 - 'value': value,
2452 - 'atts': []
3534 + 'value': e2pdf.helper.getString(properties[field])
2453 3535 };
2454 3536 break;
2455 3537 case 'border':
2456 - var value = properties['border'];
2457 3538 obj = {
2458 - 'name': e2pdfLang['Border'],
2459 - 'key': 'border',
3539 + 'name': e2pdf.lang.get('Border'),
2460 3540 'type': 'text',
2461 - 'value': value,
3541 + 'value': e2pdf.helper.getInt(properties[field]),
2462 3542 'atts': ['number']
2463 3543 };
2464 3544 break;
2465 3545 case 'border_top':
2466 - var value = properties['border_top'];
2467 3546 obj = {
2468 - 'name': e2pdfLang['Top'],
2469 - 'key': 'border_top',
3547 + 'name': e2pdf.lang.get('Border Top'),
2470 3548 'type': 'text',
2471 - 'value': value,
3549 + 'value': e2pdf.helper.getInt(properties[field]),
2472 3550 'atts': ['number']
2473 3551 };
2474 3552 break;
2475 3553 case 'border_left':
2476 - var value = properties['border_left'];
2477 3554 obj = {
2478 - 'name': e2pdfLang['Left'],
2479 - 'key': 'border_left',
3555 + 'name': e2pdf.lang.get('Border Left'),
2480 3556 'type': 'text',
2481 - 'value': value,
3557 + 'value': e2pdf.helper.getInt(properties[field]),
2482 3558 'atts': ['number']
2483 3559 };
2484 3560 break;
2485 3561 case 'border_right':
2486 - var value = properties['border_right'];
2487 3562 obj = {
2488 - 'name': e2pdfLang['Right'],
2489 - 'key': 'border_right',
3563 + 'name': e2pdf.lang.get('Border Right'),
2490 3564 'type': 'text',
2491 - 'value': value,
3565 + 'value': e2pdf.helper.getInt(properties[field]),
2492 3566 'atts': ['number']
2493 3567 };
2494 3568 break;
2495 3569 case 'border_bottom':
2496 - var value = properties['border_bottom'];
2497 3570 obj = {
2498 - 'name': e2pdfLang['Bottom'],
2499 - 'key': 'border_bottom',
3571 + 'name': e2pdf.lang.get('Border Bottom'),
2500 3572 'type': 'text',
2501 - 'value': value,
3573 + 'value': e2pdf.helper.getInt(properties[field]),
2502 3574 'atts': ['number']
2503 3575 };
2504 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;
2505 3585 case 'border_color':
2506 - var value = properties['border_color'];
2507 3586 obj = {
2508 - 'name': e2pdfLang['Color'],
2509 - 'key': 'border_color',
3587 + 'name': e2pdf.lang.get('Border Color'),
2510 3588 'type': 'color',
2511 - 'value': value ? value : "#000000",
3589 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2512 3590 };
2513 3591 break;
2514 3592 case 'padding_top':
2515 - var value = properties['padding_top'];
2516 3593 obj = {
2517 - 'name': e2pdfLang['Top'],
2518 - 'key': 'padding_top',
3594 + 'name': e2pdf.lang.get('Padding Top'),
2519 3595 'type': 'text',
2520 - 'value': value,
3596 + 'value': e2pdf.helper.getInt(properties[field]),
2521 3597 'atts': ['number']
2522 3598 };
2523 3599 break;
2524 3600 case 'padding_left':
2525 - var value = properties['padding_left'];
2526 3601 obj = {
2527 - 'name': e2pdfLang['Left'],
2528 - 'key': 'padding_left',
3602 + 'name': e2pdf.lang.get('Padding Left'),
2529 3603 'type': 'text',
2530 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2531 3605 'atts': ['number']
2532 3606 };
2533 3607 break;
2534 3608 case 'padding_right':
2535 - var value = properties['padding_right'];
2536 3609 obj = {
2537 - 'name': e2pdfLang['Right'],
2538 - 'key': 'padding_right',
3610 + 'name': e2pdf.lang.get('Padding Right'),
2539 3611 'type': 'text',
2540 - 'value': value,
3612 + 'value': e2pdf.helper.getInt(properties[field]),
2541 3613 'atts': ['number']
2542 3614 };
2543 3615 break;
2544 3616 case 'padding_bottom':
2545 - var value = properties['padding_bottom'];
2546 3617 obj = {
2547 - 'name': e2pdfLang['Bottom'],
2548 - 'key': 'padding_bottom',
3618 + 'name': e2pdf.lang.get('Padding Bottom'),
2549 3619 'type': 'text',
2550 - 'value': value,
3620 + 'value': e2pdf.helper.getInt(properties[field]),
2551 3621 'atts': ['number']
2552 3622 };
2553 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;
2554 3668 case 'length':
2555 - var value = properties['length'];
2556 3669 obj = {
2557 - 'name': e2pdfLang['Length'],
2558 - 'key': 'length',
3670 + 'name': e2pdf.lang.get('Length'),
2559 3671 'type': 'text',
2560 - 'value': value,
3672 + 'value': e2pdf.helper.getInt(properties[field]),
2561 3673 'atts': ['number']
2562 3674 };
2563 3675 break;
2564 3676 case 'comb':
2565 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2566 3677 obj = {
2567 - 'name': e2pdfLang['Comb'],
2568 - 'key': 'comb',
3678 + 'name': e2pdf.lang.get('Comb'),
2569 3679 'type': 'checkbox',
2570 - 'option': 1,
2571 - 'value': value,
2572 - 'atts': []
3680 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3681 + 'option': '1'
2573 3682 };
2574 3683 break;
2575 3684 case 'rtl':
2576 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2577 3685 obj = {
2578 - 'name': e2pdfLang['RTL'],
2579 - 'key': 'rtl',
2580 - 'type': 'checkbox',
2581 - 'option': 1,
2582 - 'value': value,
2583 - '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 + ]
2584 3695 };
2585 3696 break;
2586 3697 case 'required':
2587 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2588 3698 obj = {
2589 - 'name': e2pdfLang['Required'],
2590 - 'key': 'required',
3699 + 'name': e2pdf.lang.get('Required'),
2591 3700 'type': 'checkbox',
2592 - 'option': 1,
2593 - 'value': value,
2594 - 'atts': []
3701 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3702 + 'option': '1'
2595 3703 };
2596 3704 break;
2597 3705 case 'readonly':
2598 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2599 3706 obj = {
2600 - 'name': e2pdfLang['Readonly'],
2601 - 'key': 'readonly',
3707 + 'name': e2pdf.lang.get('Read-Only'),
2602 3708 'type': 'checkbox',
2603 - 'option': 1,
2604 - 'value': value,
2605 - 'atts': []
3709 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3710 + 'option': '1'
2606 3711 };
2607 3712 break;
2608 3713 case 'pass':
2609 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2610 3714 obj = {
2611 - 'name': e2pdfLang['Password'],
2612 - 'key': 'pass',
3715 + 'name': e2pdf.lang.get('Password'),
2613 3716 'type': 'checkbox',
2614 - 'option': 1,
2615 - 'value': value,
2616 - 'atts': []
3717 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3718 + 'option': '1'
2617 3719 };
2618 3720 break;
2619 3721 case 'multiline':
2620 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2621 3722 obj = {
2622 - 'name': e2pdfLang['Multiline'],
2623 - 'key': 'multiline',
3723 + 'name': e2pdf.lang.get('Multiline'),
2624 3724 'type': 'checkbox',
2625 - 'option': 1,
2626 - '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',
2627 3743 'atts': []
2628 3744 };
3745 + if (el.data('data-type') === 'e2pdf-image') {
3746 + obj.atts.push('keep');
3747 + }
2629 3748 break;
2630 - case 'dimension':
2631 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3749 + case 'keep_lower_size':
2632 3750 obj = {
2633 - 'name': e2pdfLang['Keep dimension'],
2634 - 'key': 'dimension',
3751 + 'name': e2pdf.lang.get('Keep Lower Size'),
2635 3752 'type': 'checkbox',
2636 - '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',
2637 3781 'value': value,
2638 - '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 + ]
2639 3791 };
2640 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;
2641 3838 case 'esig':
2642 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2643 3839 obj = {
2644 - 'name': e2pdfLang['E-signature'],
2645 - 'key': 'esig',
3840 + 'name': e2pdf.lang.get('E-Signature'),
2646 3841 'type': 'checkbox',
2647 - 'option': 1,
2648 - 'value': value,
2649 - 'atts': []
3842 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3843 + 'option': '1'
2650 3844 };
2651 3845 break;
2652 3846 case 'esig_contact':
2653 - var value = properties['esig_contact'];
2654 3847 obj = {
2655 - 'name': e2pdfLang['Contact'],
2656 - 'key': 'esig_contact',
3848 + 'name': e2pdf.lang.get('Contact'),
2657 3849 'type': 'text',
2658 - 'value': value,
2659 - 'atts': []
3850 + 'value': e2pdf.helper.getString(properties[field])
2660 3851 };
2661 3852 break;
2662 3853 case 'esig_location':
2663 - var value = properties['esig_location'];
2664 3854 obj = {
2665 - 'name': e2pdfLang['Location'],
2666 - 'key': 'esig_location',
3855 + 'name': e2pdf.lang.get('Location'),
2667 3856 'type': 'text',
2668 - 'value': value,
2669 - 'atts': []
3857 + 'value': e2pdf.helper.getString(properties[field])
2670 3858 };
2671 3859 break;
2672 3860 case 'esig_reason':
2673 - var value = properties['esig_reason'];
2674 3861 obj = {
2675 - 'name': e2pdfLang['Reason'],
2676 - 'key': 'esig_reason',
3862 + 'name': e2pdf.lang.get('Reason'),
2677 3863 'type': 'text',
2678 - 'value': value,
2679 - 'atts': []
3864 + 'value': e2pdf.helper.getString(properties[field])
2680 3865 };
2681 3866 break;
2682 3867 case 'placeholder':
2683 - var value = properties['placeholder'];
2684 3868 obj = {
2685 - 'name': e2pdfLang['Placeholder'],
2686 - 'key': 'placeholder',
3869 + 'name': e2pdf.lang.get('Placeholder'),
2687 3870 'type': 'text',
2688 - 'value': value,
2689 - 'atts': []
3871 + 'value': e2pdf.helper.getString(properties[field])
2690 3872 };
2691 3873 break;
2692 3874 case 'horizontal':
2693 - var value = properties['horizontal'];
2694 3875 obj = {
2695 - 'name': e2pdfLang['Horizontal align'],
2696 - 'key': 'horizontal',
3876 + 'name': e2pdf.lang.get('Horizontal Align'),
2697 3877 'type': 'select',
2698 - 'value': value,
3878 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2699 3879 'options':
2700 3880 [
2701 - {'left': e2pdfLang['Left']},
2702 - {'center': e2pdfLang['Center']},
2703 - {'right': e2pdfLang['Right']},
3881 + {'left': e2pdf.lang.get('Left')},
3882 + {'center': e2pdf.lang.get('Center')},
3883 + {'right': e2pdf.lang.get('Right')}
2704 3884 ]
2705 - ,
2706 - 'atts': []
2707 3885 };
2708 3886 break;
2709 3887 case 'vertical':
2710 - var value = properties['vertical'];
2711 3888 obj = {
2712 - 'name': e2pdfLang['Vertical align'],
2713 - 'key': 'vertical',
3889 + 'name': e2pdf.lang.get('Vertical Align'),
2714 3890 'type': 'select',
2715 - 'value': value,
3891 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2716 3892 'options':
2717 3893 [
2718 - {'top': e2pdfLang['Top']},
2719 - {'middle': e2pdfLang['Middle']},
2720 - {'bottom': e2pdfLang['Bottom']},
3894 + {'top': e2pdf.lang.get('Top')},
3895 + {'middle': e2pdf.lang.get('Middle')},
3896 + {'bottom': e2pdf.lang.get('Bottom')}
2721 3897 ]
2722 - ,
2723 - 'atts': []
2724 3898 };
2725 3899 break;
2726 3900 case 'scale':
2727 - var value = properties['scale'];
2728 3901 obj = {
2729 - 'name': e2pdfLang['Scale'],
2730 - 'key': 'scale',
3902 + 'name': e2pdf.lang.get('Scale'),
2731 3903 'type': 'select',
2732 - 'value': value,
3904 + 'value': e2pdf.helper.getString(properties[field], '0'),
2733 3905 'options':
2734 3906 [
2735 - {'0': e2pdfLang['Width&Height']},
2736 - {'1': e2pdfLang['Width']},
2737 - {'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')}
2738 3911 ]
2739 3912 ,
2740 3913 'atts': ['scale']
2741 3914 };
@@ -2740,56 +3913,162 @@
2740 3913 'atts': ['scale']
2741 3914 };
2742 3915 break;
2743 3916 case 'text_align':
2744 - var value = properties['text_align'];
2745 3917 obj = {
2746 - 'name': e2pdfLang['Text Align'],
2747 - 'key': 'text_align',
3918 + 'name': e2pdf.lang.get('Text Align'),
2748 3919 'type': 'select',
2749 - 'value': value,
3920 + 'value': e2pdf.helper.getString(properties[field]),
2750 3921 'options':
2751 3922 [
2752 - {'left': e2pdfLang['Left']},
2753 - {'center': e2pdfLang['Center']},
2754 - {'right': e2pdfLang['Right']},
3923 + {'': '-'},
3924 + {'left': e2pdf.lang.get('Left')},
3925 + {'center': e2pdf.lang.get('Center')},
3926 + {'right': e2pdf.lang.get('Right')}
2755 3927 ]
2756 - ,
2757 - 'atts': []
2758 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 + }
2759 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;
2760 4043 case 'parent':
2761 - var value = properties['parent'];
2762 - var source = [
4044 + var options = [
4045 + {'': e2pdf.lang.get('--- Select ---')}
2763 4046 ];
2764 4047 if (el.data('data-type') === 'e2pdf-html') {
2765 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
4048 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2766 4049 if (!jQuery(this).is(children)) {
2767 4050 var parent = jQuery(this).parent().attr('data-element_id');
2768 - if (source.indexOf(parent) === -1) {
2769 - source.push(parent);
2770 - }
4051 + options.push({[parent]: parent});
2771 4052 }
2772 4053 });
2773 4054 }
2774 -
4055 + options.sort(function (a, b) {
4056 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
4057 + });
2775 4058 obj = {
2776 - 'name': e2pdfLang['Parent'],
2777 - 'key': 'parent',
2778 - 'type': 'text',
2779 - 'value': value,
2780 - 'source': source,
2781 - 'atts': ['autocomplete']
4059 + 'name': e2pdf.lang.get('Parent'),
4060 + 'type': 'select',
4061 + 'value': e2pdf.helper.getString(properties[field]),
4062 + 'options': options
2782 4063 };
2783 4064 break;
2784 4065 case 'group':
2785 - var value = properties['group'];
2786 - var source = [
2787 - ];
2788 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
4066 + var source = [];
4067 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2789 4068 if (!jQuery(this).is(children)) {
2790 4069 var radio = jQuery(this).parent();
2791 - var group = e2pdf.properties.getValue(radio, 'group');
4070 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2792 4071 if (source.indexOf(group) === -1) {
2793 4072 source.push(group);
2794 4073 }
2795 4074 }
@@ -2794,651 +4073,3042 @@
2794 4073 }
2795 4074 }
2796 4075 });
2797 4076 obj = {
2798 - 'name': e2pdfLang['Group'],
2799 - 'key': 'group',
4077 + 'name': e2pdf.lang.get('Group'),
2800 4078 'type': 'text',
2801 - 'value': value,
4079 + 'value': e2pdf.helper.getString(properties[field]),
2802 4080 'source': source,
2803 4081 'atts': ['autocomplete']
2804 4082 };
2805 4083 break;
2806 4084 case 'option':
2807 - var value = properties['option'];
2808 4085 obj = {
2809 - 'name': e2pdfLang['Option'],
2810 - 'key': 'option',
4086 + 'name': e2pdf.lang.get('Option'),
2811 4087 'type': 'textarea',
2812 - 'value': value,
2813 - 'atts': []
4088 + 'value': e2pdf.helper.getString(properties[field])
2814 4089 };
2815 4090 break;
2816 4091 case 'options':
2817 - var value = properties['options'];
2818 4092 obj = {
2819 - 'name': e2pdfLang['Options'],
2820 - 'key': 'options',
4093 + 'name': e2pdf.lang.get('Options'),
2821 4094 'type': 'textarea',
2822 - 'value': value,
2823 - 'atts': []
4095 + 'value': e2pdf.helper.getString(properties[field])
2824 4096 };
2825 4097 break;
2826 4098 case 'value':
2827 - value = '';
2828 4099 if (el.data('data-type') === 'e2pdf-html') {
2829 - value = children.html();
4100 + if (children.is('textarea')) {
4101 + var value = children.val();
4102 + } else {
4103 + var value = children.html();
4104 + }
2830 4105 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2831 - value = children.val();
4106 + var value = children.val();
2832 4107 } else {
2833 - value = properties['value'];
4108 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2834 4109 }
2835 -
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 + }
2836 4116 obj = {
2837 - 'name': e2pdfLang['Value'],
2838 - 'key': 'value',
4117 + 'name': name,
2839 4118 'type': 'textarea',
2840 - 'value': value,
2841 - 'atts': []
4119 + 'value': value
2842 4120 };
2843 4121 break;
4122 + case 'css':
4123 + obj = {
4124 + 'name': 'CSS',
4125 + 'type': 'textarea',
4126 + 'value': e2pdf.helper.getString(properties[field])
4127 + };
4128 + break;
2844 4129 case 'preset':
2845 - var value = '';
2846 4130 var options = [];
2847 4131 var option = {
2848 - '': e2pdfLang['--- Select ---']
4132 + '': e2pdf.lang.get('--- Select ---')
2849 4133 };
2850 4134 options.push(option);
2851 -
2852 - for (var size in e2pdfTemplateSizes) {
4135 + for (var size in e2pdf_params['template_sizes']) {
2853 4136 var option = {};
2854 - 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'] + ')';
2855 4138 options.push(option);
2856 4139 }
2857 -
2858 4140 obj = {
2859 - 'name': e2pdfLang['Size Preset'],
2860 - 'key': 'preset',
4141 + 'name': e2pdf.lang.get('Size'),
2861 4142 'type': 'select',
2862 - 'value': value,
4143 + 'value': '',
2863 4144 'options': options,
2864 - 'atts': [],
4145 + 'atts': [
4146 + 'uneditable'
4147 + ]
2865 4148 };
2866 -
2867 4149 if (e2pdf.pdf.settings.get('pdf')) {
2868 4150 obj.atts.push('disabled');
2869 4151 }
2870 -
2871 4152 break;
2872 4153 case 'highlight':
2873 - var value = properties['highlight'];
2874 4154 obj = {
2875 - 'name': e2pdfLang['Highlight'],
2876 - 'key': 'highlight',
4155 + 'name': e2pdf.lang.get('Highlight'),
2877 4156 'type': 'select',
2878 - 'value': value,
4157 + 'value': e2pdf.helper.getString(properties[field], 'none'),
2879 4158 'options': [
2880 - {'none': e2pdfLang['None']},
2881 - {'invert': e2pdfLang['Invert']},
2882 - {'outline': e2pdfLang['Outline']},
2883 - {'push': e2pdfLang['Push']},
2884 - ],
2885 - '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 + ]
2886 4164 };
2887 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;
2888 5521 }
5522 + if (!obj.hasOwnProperty('key')) {
5523 + obj['key'] = field;
5524 + }
5525 + if (!obj.hasOwnProperty('atts')) {
5526 + obj['atts'] = [];
5527 + }
2889 5528 return obj;
2890 5529 },
2891 - //e2pdf.properties.getFields
5530 + // e2pdf.properties.getFields
2892 5531 getFields: function (el, actions) {
2893 - 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') {
2894 5536 var obj = {
2895 5537 'page_id': {
2896 5538 'name': '',
2897 5539 'fields': [
2898 5540 e2pdf.properties.getField('page_id', el),
2899 - e2pdf.properties.getField('element_type', el),
5541 + e2pdf.properties.getField('element_type', el)
2900 5542 ],
2901 5543 'position': 'top',
2902 5544 'classes': [
2903 5545 'e2pdf-w50 e2pdf-pr10',
2904 - 'e2pdf-w50 e2pdf-pl10',
2905 - ],
5546 + 'e2pdf-w50 e2pdf-pl10'
5547 + ]
2906 5548 },
2907 5549 'size': {
2908 - 'name': e2pdfLang['Size'],
5550 + 'name': e2pdf.lang.get('Size'),
2909 5551 'fields': [
2910 5552 e2pdf.properties.getField('width', el),
2911 5553 e2pdf.properties.getField('height', el),
5554 + e2pdf.properties.getField('preset', el)
2912 5555 ],
2913 5556 'position': 'top',
2914 5557 'classes': [
2915 5558 'e2pdf-w50 e2pdf-pr10',
2916 - 'e2pdf-w50 e2pdf-pl10'
2917 - ],
2918 - },
2919 - 'preset': {
2920 - 'name': e2pdfLang['Size Preset'],
2921 - 'fields': [
2922 - e2pdf.properties.getField('preset', el),
2923 - ],
2924 - 'position': 'top',
2925 - 'classes': [
2926 - 'e2pdf-w100 e2pdf-hide-label'
5559 + 'e2pdf-w50 e2pdf-pl10',
5560 + 'e2pdf-w100'
2927 5561 ]
2928 5562 }
2929 5563 };
2930 5564 } else {
2931 5565 var obj = {
2932 - 'element_id': {
2933 - 'name': '',
5566 + 'element': {
5567 + 'name': e2pdf.lang.get('Element'),
2934 5568 'fields': [
2935 5569 e2pdf.properties.getField('element_id', el),
2936 5570 e2pdf.properties.getField('page_id', el),
2937 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)
2938 5576 ],
2939 5577 'position': 'top',
2940 5578 'classes': [
2941 - 'e2pdf-w25 e2pdf-pr10',
5579 + 'e2pdf-w25',
2942 5580 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
2943 5581 'e2pdf-w50 e2pdf-pl10',
2944 - ],
5582 + 'e2pdf-w25',
5583 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5584 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5585 + 'e2pdf-w25'
5586 + ]
2945 5587 }
2946 5588 };
5589 + if (el.data('data-type') === 'e2pdf-input') {
2947 5590
2948 - if (el.data('data-type') !== 'e2pdf-html'
2949 - && el.data('data-type') !== 'e2pdf-image'
2950 - && el.data('data-type') !== 'e2pdf-rectangle'
2951 - && el.data('data-type') !== 'e2pdf-link'
2952 - && el.data('data-type') !== 'e2pdf-radio') {
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');
2953 5595 obj['field'] = {
2954 - 'name': '',
5596 + 'name': e2pdf.lang.get('Field'),
2955 5597 'fields': [
2956 - e2pdf.properties.getField('name', el),
2957 - e2pdf.properties.getField('field_name', 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)
2958 5611 ],
2959 - 'position': 'top',
5612 + 'position': 'left',
2960 5613 'classes': [
2961 - 'e2pdf-w70 e2pdf-pr10',
2962 - 'e2pdf-w30 e2pdf-pl10 e2pdf-mt-label'
2963 - ],
5614 + 'e2pdf-w100',
5615 + 'e2pdf-w100',
5616 + 'e2pdf-w50',
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 + ]
2964 5628 };
2965 - }
2966 -
2967 - obj['position'] = {
2968 - 'name': e2pdfLang['Position'],
2969 - 'fields': [
2970 - e2pdf.properties.getField('left', el),
2971 - e2pdf.properties.getField('top', el)
2972 - ],
2973 - 'position': 'right',
2974 - 'classes': [
2975 - 'e2pdf-w50 e2pdf-pr10',
2976 - 'e2pdf-w50 e2pdf-pl10'
2977 - ],
2978 - };
2979 -
2980 -
2981 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2982 - obj['size'] = {
2983 - 'name': e2pdfLang['Size'],
5629 + obj['style'] = {
5630 + 'name': e2pdf.lang.get('Style'),
2984 5631 'fields': [
2985 - e2pdf.properties.getField('width', el),
2986 - e2pdf.properties.getField('height', el),
2987 - e2pdf.properties.getField('length', el)
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)
2988 5636 ],
2989 - 'position': 'left',
5637 + 'position': 'right',
2990 5638 'classes': [
2991 - 'e2pdf-w50 e2pdf-pr10',
2992 - 'e2pdf-w50 e2pdf-pl10',
5639 + 'e2pdf-w100',
5640 + 'e2pdf-w70',
5641 + 'e2pdf-w30 e2pdf-pl10',
2993 5642 'e2pdf-w100'
2994 - ],
5643 + ]
2995 5644 };
2996 - } else {
2997 - obj['size'] = {
2998 - 'name': e2pdfLang['Size'],
5645 + obj['value'] = {
5646 + 'name': e2pdf.lang.get('Value'),
2999 5647 'fields': [
3000 - e2pdf.properties.getField('width', el),
3001 - 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)
3002 5654 ],
3003 - 'position': 'left',
5655 + 'position': 'bottom',
3004 5656 'classes': [
3005 - 'e2pdf-w50 e2pdf-pr10',
3006 - 'e2pdf-w50 e2pdf-pl10'
3007 - ],
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 + ]
3008 5664 };
3009 5665 }
3010 5666
3011 - if (el.data('data-type') === 'e2pdf-html'
3012 - || el.data('data-type') === 'e2pdf-textarea'
3013 - ) {
3014 - obj['font'] = {
3015 - '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'),
3016 5675 'fields': [
3017 5676 e2pdf.properties.getField('text_color', el),
3018 5677 e2pdf.properties.getField('text_font', el),
3019 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),
3020 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)
3021 5690 ],
3022 5691 'position': 'left',
3023 5692 'classes': [
3024 5693 'e2pdf-w100',
3025 5694 'e2pdf-w100',
3026 - 'e2pdf-w50 e2pdf-pr10',
3027 - '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)
3028 5716 ],
5717 + 'position': 'right',
5718 + 'classes': [
5719 + 'e2pdf-w100',
5720 + 'e2pdf-w70',
5721 + 'e2pdf-w30 e2pdf-pl10',
5722 + 'e2pdf-w100'
5723 + ]
3029 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 + };
3030 5745 }
3031 5746
3032 - // Font
3033 - if (el.data('data-type') === 'e2pdf-input'
3034 - || el.data('data-type') === 'e2pdf-select'
3035 - || el.data('data-type') === 'e2pdf-signature'
3036 - ) {
3037 - obj['font'] = {
3038 - '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'),
3039 5755 'fields': [
3040 5756 e2pdf.properties.getField('text_color', el),
3041 - e2pdf.properties.getField('text_font', el),
3042 - 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)
3043 5762 ],
3044 5763 'position': 'left',
3045 5764 'classes': [
3046 5765 'e2pdf-w100',
3047 - 'e2pdf-w70 e2pdf-pr10',
3048 - '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)
3049 5780 ],
5781 + 'position': 'right',
5782 + 'classes': [
5783 + 'e2pdf-w100',
5784 + 'e2pdf-w70',
5785 + 'e2pdf-w30 e2pdf-pl10',
5786 + 'e2pdf-w100'
5787 + ]
3050 5788 };
3051 - }
3052 -
3053 - // Text align
3054 - if (el.data('data-type') === 'e2pdf-html'
3055 - || el.data('data-type') === 'e2pdf-input'
3056 - || el.data('data-type') === 'e2pdf-textarea'
3057 - ) {
3058 - obj['text_align'] = {
3059 - 'name': e2pdfLang['Text Align'],
5789 + obj['value'] = {
5790 + 'name': '',
3060 5791 'fields': [
3061 - 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)
3062 5799 ],
3063 - 'position': 'left',
5800 + 'position': 'bottom',
3064 5801 'classes': [
3065 - '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'
3066 5809 ]
3067 5810 };
3068 5811 }
3069 5812
3070 - // Settings
3071 - if (el.data('data-type') === 'e2pdf-html') {
3072 - obj['settings'] = {
3073 - 'name': e2pdfLang['Settings'],
5813 + if (el.data('data-type') === 'e2pdf-radio') {
5814 +
5815 + obj['field'] = {
5816 + 'name': e2pdf.lang.get('Field'),
3074 5817 'fields': [
5818 + e2pdf.properties.getField('text_color', el),
5819 + e2pdf.properties.getField('text_type', el),
5820 + e2pdf.properties.getField('rotation', el),
3075 5821 e2pdf.properties.getField('rtl', el),
3076 - e2pdf.properties.getField('dynamic_height', el),
5822 + e2pdf.properties.getField('required', el),
5823 + e2pdf.properties.getField('readonly', el)
3077 5824 ],
3078 5825 'position': 'left',
3079 5826 'classes': [
3080 5827 'e2pdf-w100',
3081 5828 'e2pdf-w100',
5829 + 'e2pdf-w70',
5830 + 'e2pdf-w30 e2pdf-pl10',
5831 + 'e2pdf-pr10',
5832 + 'e2pdf-pr10',
5833 + 'e2pdf-pr10'
3082 5834 ]
3083 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 + };
3084 5878 }
3085 5879
3086 - // Settings
3087 - if (el.data('data-type') === 'e2pdf-input'
3088 - || el.data('data-type') === 'e2pdf-textarea'
3089 - ) {
3090 - obj['settings'] = {
3091 - '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'),
3092 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),
3093 5895 e2pdf.properties.getField('rtl', el),
5896 + e2pdf.properties.getField('multiline', el),
3094 5897 e2pdf.properties.getField('required', el),
3095 - e2pdf.properties.getField('readonly', el),
3096 - e2pdf.properties.getField('pass', el),
3097 - e2pdf.properties.getField('comb', el),
5898 + e2pdf.properties.getField('readonly', el)
3098 5899 ],
3099 5900 'position': 'left',
3100 5901 'classes': [
3101 5902 'e2pdf-w100',
3102 5903 'e2pdf-w100',
5904 + 'e2pdf-w50',
5905 + 'e2pdf-w50 e2pdf-pl10',
3103 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': [
3104 5924 'e2pdf-w100',
3105 - 'e2pdf-w100',
5925 + 'e2pdf-w70',
5926 + 'e2pdf-w30 e2pdf-pl10',
5927 + 'e2pdf-w100'
3106 5928 ]
3107 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 + };
3108 5952 }
3109 5953
3110 - // Settings Signature
3111 5954 if (el.data('data-type') === 'e2pdf-signature') {
3112 - obj['placeholder'] = {
3113 - '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'),
3114 5962 'fields': [
5963 + e2pdf.properties.getField('text_color', el),
5964 + e2pdf.properties.getField('text_font', el),
5965 + e2pdf.properties.getField('text_font_size', el),
3115 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)
3116 5977 ],
3117 5978 'position': 'left',
3118 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': [
3119 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'
3120 6048 ]
3121 6049 };
6050 + }
3122 6051
3123 - obj['settings'] = {
3124 - 'name': e2pdfLang['Settings'],
6052 + if (el.data('data-type') === 'e2pdf-html') {
6053 + obj['field'] = {
6054 + 'name': e2pdf.lang.get('Field'),
3125 6055 'fields': [
3126 - 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)
3127 6070 ],
3128 6071 'position': 'left',
3129 6072 'classes': [
3130 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'
3131 6087 ]
3132 6088 };
3133 - }
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 + }
3134 6093
3135 - // Settings
3136 - if (el.data('data-type') === 'e2pdf-checkbox'
3137 - || el.data('data-type') === 'e2pdf-radio'
3138 - ) {
3139 - obj['settings'] = {
3140 - 'name': e2pdfLang['Settings'],
6094 + obj['style'] = {
6095 + 'name': e2pdf.lang.get('Style'),
3141 6096 'fields': [
3142 - e2pdf.properties.getField('required', el),
3143 - 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)
3144 6108 ],
3145 - 'position': 'left',
6109 + 'position': 'right',
3146 6110 'classes': [
3147 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',
3148 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'
3149 6122 ]
3150 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 + };
3151 6154 }
3152 6155
3153 - // Settings
3154 - if (el.data('data-type') === 'e2pdf-select') {
3155 - obj['settings'] = {
3156 - 'name': e2pdfLang['Settings'],
6156 + if (el.data('data-type') === 'e2pdf-page-number') {
6157 + obj['field'] = {
6158 + 'name': e2pdf.lang.get('Field'),
3157 6159 'fields': [
3158 - e2pdf.properties.getField('rtl', el),
3159 - e2pdf.properties.getField('required', el),
3160 - e2pdf.properties.getField('readonly', el),
3161 - 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)
3162 6169 ],
3163 6170 'position': 'left',
3164 6171 'classes': [
3165 6172 'e2pdf-w100',
3166 6173 'e2pdf-w100',
6174 + 'e2pdf-w50',
6175 + 'e2pdf-w50 e2pdf-pl10',
3167 6176 'e2pdf-w100',
3168 - 'e2pdf-w100',
6177 + 'e2pdf-w50',
6178 + 'e2pdf-w50 e2pdf-pl10',
6179 + 'e2pdf-w70',
6180 + 'e2pdf-w30 e2pdf-pl10'
3169 6181 ]
3170 6182 };
3171 - }
3172 -
3173 - // Selector
3174 - if (el.data('data-type') === 'e2pdf-checkbox'
3175 - || el.data('data-type') === 'e2pdf-radio'
3176 - ) {
3177 - obj['selector'] = {
3178 - 'name': e2pdfLang['Selector'],
6183 + obj['page_number'] = {
6184 + 'name': e2pdf.lang.get('Page Number'),
3179 6185 'fields': [
3180 - e2pdf.properties.getField('text_color', el),
3181 - e2pdf.properties.getField('text_type', el),
6186 + e2pdf.properties.getField('page_number', el),
6187 + e2pdf.properties.getField('page_total', el),
3182 6188 ],
3183 6189 'position': 'left',
3184 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': [
3185 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',
3186 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'
3187 6221 ]
3188 6222 };
3189 - }
3190 -
3191 - // Background
3192 - if (el.data('data-type') === 'e2pdf-html'
3193 - || el.data('data-type') === 'e2pdf-input'
3194 - || el.data('data-type') === 'e2pdf-textarea'
3195 - || el.data('data-type') === 'e2pdf-image'
3196 - || el.data('data-type') === 'e2pdf-rectangle'
3197 - || el.data('data-type') === 'e2pdf-signature'
3198 - ) {
3199 - obj['background'] = {
3200 - 'name': e2pdfLang['Background'],
6223 + obj['value'] = {
6224 + 'name': '',
3201 6225 'fields': [
3202 - e2pdf.properties.getField('background', el)
6226 + e2pdf.properties.getField('css', el),
6227 + e2pdf.properties.getField('value', el),
6228 + e2pdf.properties.getField('html_worker', el)
3203 6229 ],
3204 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6230 + 'position': 'bottom',
3205 6231 'classes': [
3206 - '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'
3207 6235 ]
3208 6236 };
3209 6237 }
3210 6238
3211 - // Resize
3212 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3213 - obj['resize'] = {
3214 - 'name': e2pdfLang['Resize'],
6239 + if (el.data('data-type') === 'e2pdf-image') {
6240 +
6241 + obj['field'] = {
6242 + 'name': e2pdf.lang.get('Field'),
3215 6243 'fields': [
3216 - 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),
3217 6247 e2pdf.properties.getField('horizontal', el),
3218 6248 e2pdf.properties.getField('vertical', el),
6249 + e2pdf.properties.getField('rotation', el),
6250 + e2pdf.properties.getField('opacity', el),
6251 + e2pdf.properties.getField('quality', el),
3219 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)
3220 6257 ],
3221 6258 'position': 'left',
3222 6259 'classes': [
3223 6260 'e2pdf-w100',
3224 - 'e2pdf-w50 e2pdf-pr10',
6261 + 'e2pdf-w60 e2pdf-pr10',
6262 + 'e2pdf-w40',
6263 + 'e2pdf-w50',
3225 6264 'e2pdf-w50 e2pdf-pl10',
3226 - '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'
3227 6273 ]
3228 6274 };
3229 - }
3230 -
3231 - // Border
3232 - if (el.data('data-type') === 'e2pdf-input'
3233 - || el.data('data-type') === 'e2pdf-textarea'
3234 - || el.data('data-type') === 'e2pdf-checkbox'
3235 - || el.data('data-type') === 'e2pdf-radio'
3236 - || el.data('data-type') === 'e2pdf-select'
3237 - ) {
3238 - obj['border'] = {
3239 - 'name': e2pdfLang['Border'],
6275 + obj['pdf'] = {
6276 + 'name': 'Pdf',
3240 6277 'fields': [
3241 - e2pdf.properties.getField('border', el),
3242 - 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)
3243 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 + ],
3244 6309 'position': 'right',
3245 6310 'classes': [
3246 - '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',
3247 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)
3248 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 + ]
3249 6352 };
3250 6353 }
3251 6354
3252 - // Border
3253 - if (el.data('data-type') === 'e2pdf-html'
3254 - || el.data('data-type') === 'e2pdf-image'
3255 - || el.data('data-type') === 'e2pdf-signature'
3256 - ) {
3257 - obj['border'] = {
3258 - 'name': e2pdfLang['Border'],
6355 + if (el.data('data-type') === 'e2pdf-qrcode') {
6356 +
6357 + obj['qrcode'] = {
6358 + 'name': e2pdf.lang.get('QR Code'),
3259 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),
3260 6384 e2pdf.properties.getField('border_top', el),
3261 6385 e2pdf.properties.getField('border_left', el),
3262 6386 e2pdf.properties.getField('border_right', el),
3263 6387 e2pdf.properties.getField('border_bottom', el),
3264 - e2pdf.properties.getField('border_color', el)
6388 + e2pdf.properties.getField('z_index', el)
3265 6389 ],
3266 6390 'position': 'right',
3267 6391 'classes': [
3268 - 'e2pdf-w25 e2pdf-pr10',
3269 - 'e2pdf-w25 e2pdf-pr10',
3270 - 'e2pdf-w25 e2pdf-pr10',
3271 - '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',
3272 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)
3273 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 + ]
3274 6428 };
3275 6429 }
3276 6430
3277 - // Padding
3278 - if (el.data('data-type') === 'e2pdf-html'
3279 - || el.data('data-type') === 'e2pdf-image'
3280 - || el.data('data-type') === 'e2pdf-signature'
3281 - ) {
3282 - obj['padding'] = {
3283 - 'name': e2pdfLang['Padding'],
6431 + if (el.data('data-type') === 'e2pdf-barcode') {
6432 + obj['barcode'] = {
6433 + 'name': e2pdf.lang.get('Barcode'),
3284 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),
3285 6474 e2pdf.properties.getField('padding_top', el),
3286 6475 e2pdf.properties.getField('padding_left', el),
3287 6476 e2pdf.properties.getField('padding_right', el),
3288 - 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)
3289 6484 ],
3290 6485 'position': 'right',
3291 6486 'classes': [
3292 - 'e2pdf-w25 e2pdf-pr10',
3293 - 'e2pdf-w25 e2pdf-pr10',
3294 - 'e2pdf-w25 e2pdf-pr10',
3295 - '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'
3296 6502 ]
3297 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 + };
3298 6524 }
3299 6525
3300 - if (el.data('data-type') === 'e2pdf-link') {
3301 - obj['highlight'] = {
3302 - 'name': e2pdfLang['Highlight'],
6526 + if (el.data('data-type') === 'e2pdf-graph') {
6527 + obj['graph'] = {
6528 + 'name': e2pdf.lang.get('Graph'),
3303 6529 'fields': [
3304 - 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),
3305 6540 ],
3306 6541 'position': 'left',
3307 6542 'classes': [
3308 - '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',
3309 6553 ]
3310 6554 };
3311 - }
3312 -
3313 - // Z-index
3314 - obj['z_index'] = {
3315 - 'name': e2pdfLang['Z-index'],
3316 - 'fields': [
3317 - e2pdf.properties.getField('z_index', el)
3318 - ],
3319 - 'position': 'right',
3320 - 'classes': [
3321 - 'e2pdf-w100 e2pdf-hide-label',
3322 - ]
3323 - };
3324 -
3325 - // Parent
3326 - if (el.data('data-type') === 'e2pdf-html') {
3327 - obj['parent'] = {
3328 - 'name': e2pdfLang['Parent'],
6555 + obj['title'] = {
6556 + 'name': e2pdf.lang.get('Title'),
3329 6557 'fields': [
3330 - 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),
3331 6563 ],
3332 - 'position': 'bottom',
6564 + 'position': 'left',
3333 6565 'classes': [
3334 - '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),
3335 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 + ]
3336 6598 };
3337 - }
3338 -
3339 - if (el.data('data-type') === 'e2pdf-radio') {
3340 - obj['group'] = {
3341 - 'name': e2pdfLang['Group'],
6599 + obj['marker'] = {
6600 + 'name': e2pdf.lang.get('Markers'),
3342 6601 'fields': [
3343 - e2pdf.properties.getField('group', el),
3344 - e2pdf.properties.getField('field_name', el)
3345 -
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),
3346 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 + ],
3347 6916 'position': 'bottom',
3348 6917 'classes': [
3349 - 'e2pdf-w70 e2pdf-hide-label e2pdf-pr10',
3350 - 'e2pdf-w30 e2pdf-pl10'
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',
3351 6935 ]
3352 6936 };
3353 - }
3354 -
3355 - if (el.data('data-type') === 'e2pdf-radio'
3356 - || el.data('data-type') === 'e2pdf-checkbox'
3357 - ) {
3358 - obj['option'] = {
3359 - 'name': e2pdfLang['Option'],
6937 + obj['value'] = {
6938 + 'name': '',
3360 6939 'fields': [
3361 - 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),
3362 6955 ],
3363 6956 'position': 'bottom',
3364 6957 'classes': [
3365 - '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',
3366 6973 ]
3367 6974 };
3368 6975 }
3369 6976
3370 - // Options
3371 - if (el.data('data-type') === 'e2pdf-select') {
3372 - obj['options'] = {
3373 - 'name': e2pdfLang['Options'],
6977 + if (el.data('data-type') === 'e2pdf-rectangle') {
6978 + obj['style'] = {
6979 + 'name': e2pdf.lang.get('Style'),
3374 6980 'fields': [
3375 - e2pdf.properties.getField('options', el),
6981 + e2pdf.properties.getField('background', el),
6982 + e2pdf.properties.getField('z_index', el),
3376 6983 ],
3377 6984 'position': 'bottom',
3378 6985 'classes': [
3379 - 'e2pdf-w100 e2pdf-hide-label',
6986 + 'e2pdf-w50 e2pdf-pr10',
6987 + 'e2pdf-w50 e2pdf-pl10',
3380 6988 ]
3381 6989 };
3382 6990 }
3383 6991
3384 - // Value
3385 - if (el.data('data-type') === 'e2pdf-html'
3386 - || el.data('data-type') === 'e2pdf-input'
3387 - || el.data('data-type') === 'e2pdf-textarea'
3388 - || el.data('data-type') === 'e2pdf-radio'
3389 - || el.data('data-type') === 'e2pdf-checkbox'
3390 - || el.data('data-type') === 'e2pdf-select'
3391 - || el.data('data-type') === 'e2pdf-image'
3392 - || el.data('data-type') === 'e2pdf-link'
3393 - || el.data('data-type') === 'e2pdf-signature'
3394 - ) {
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 + };
3395 7029 obj['value'] = {
3396 - 'name': e2pdfLang['Value'],
7030 + 'name': e2pdf.lang.get('Value'),
3397 7031 'fields': [
7032 + e2pdf.properties.getField('link_label', el),
7033 + e2pdf.properties.getField('link_type', el),
7034 + e2pdf.properties.getField('highlight', el),
3398 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)
3399 7041 ],
3400 7042 'position': 'bottom',
3401 7043 'classes': [
3402 - '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'
3403 7053 ]
3404 7054 };
3405 7055 }
3406 7056 }
3407 7057
3408 - if (actions) {
3409 - // actions
3410 - obj['actions'] = {
3411 - 'name': e2pdfLang['Actions'],
3412 - 'fields': e2pdf.actions.renderFields(el),
3413 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3414 - };
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 + }
3415 7088 }
3416 -
3417 7089 return obj;
3418 7090 },
3419 - //e2pdf.properties.renderFields
3420 - renderFields: function (el) {
3421 -
3422 - var actions = true;
7091 + // e2pdf.properties.renderFields
7092 + renderFields: function (el, actions = true) {
3423 7093 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3424 7094 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3425 7095 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3426 7096 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3427 7097 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3428 -
3429 - if (el.data('data-type') == 'e2pdf-page') {
7098 + if (el.data('data-type') == 'e2pdf-tpl') {
7099 + fields_top = '';
3430 7100 fields_left = '';
3431 7101 fields_right = '';
3432 - fields_bottom = '';
7102 + } else if (el.data('data-type') == 'e2pdf-page') {
7103 + fields_left = '';
7104 + fields_right = '';
3433 7105 }
3434 7106
3435 7107 var groups = e2pdf.properties.getFields(el, actions);
3436 7108 if (groups) {
3437 7109 for (var group_key in groups) {
3438 -
3439 7110 if (group_key === 'actions') {
3440 -
3441 7111 var group = groups[group_key];
3442 7112 var block = jQuery('<div>');
3443 7113 if (group.name) {
3444 7114 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3444,9 +7114,8 @@
3444 7114 block.append(jQuery('<label>').html(group.name + ':'));
3445 7115 }
3446 7116 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3447 7117 grid.append(group.fields);
3448 -
3449 7118 block.append(grid);
3450 7119 if (group.position === 'top') {
3451 7120 fields_top.append(block);
3452 7121 } else if (group.position === 'left') {
@@ -3455,9 +7124,8 @@
3455 7124 fields_right.append(block);
3456 7125 } else {
3457 7126 fields_bottom.append(block);
3458 7127 }
3459 -
3460 7128 } else {
3461 7129 var group = groups[group_key];
3462 7130 var block = jQuery('<div>');
3463 7131 if (group.name) {
@@ -3472,12 +7140,12 @@
3472 7140 if (group.classes[field_key]) {
3473 7141 classes = group.classes[field_key];
3474 7142 }
3475 7143 }
3476 -
3477 7144 var field = '';
3478 7145 var label = '';
3479 7146 var wrap = '';
7147 + var hidden = '';
3480 7148 if (group_field.type === 'text') {
3481 7149 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3482 7150 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3483 7151 } else if (group_field.type === 'hidden') {
@@ -3483,23 +7151,31 @@
3483 7151 } else if (group_field.type === 'hidden') {
3484 7152 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3485 7153 } else if (group_field.type === 'textarea') {
3486 7154 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3487 - 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);
3488 7160 } else if (group_field.type === 'checkbox') {
3489 7161 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
3490 7162 label = group_field.name;
3491 7163 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3492 7164 if (group_field.value == group_field.option) {
3493 - field.attr('checked', 'checked');
7165 + field.prop('checked', true);
3494 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 + }
3495 7174 } else if (group_field.type === 'color') {
3496 7175 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3497 7176 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3498 7177 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3499 - if (group_field.key === 'border_color') {
3500 - field.attr('data-default', '#000000');
3501 - }
3502 7178 } else if (group_field.type === 'select') {
3503 7179 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3504 7180 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3505 7181 for (var option_key in group_field.options) {
@@ -3505,10 +7181,11 @@
3505 7181 for (var option_key in group_field.options) {
3506 7182 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3507 7183 }
3508 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);
3509 7187 }
3510 -
3511 7188 for (var att_key in group_field.atts) {
3512 7189 var att = group_field.atts[att_key];
3513 7190 switch (att) {
3514 7191 case 'readonly':
@@ -3519,8 +7196,11 @@
3519 7196 break;
3520 7197 case 'number':
3521 7198 field.addClass('e2pdf-numbers');
3522 7199 break;
7200 + case 'number-negative':
7201 + field.addClass('e2pdf-number-negative');
7202 + break;
3523 7203 case 'autocomplete':
3524 7204 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3525 7205 field.addClass('e2pdf-autocomplete-cl');
3526 7206 field.autocomplete({
@@ -3531,31 +7211,36 @@
3531 7211 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3532 7212 },
3533 7213 classes: {
3534 7214 "ui-autocomplete": "e2pdf-autocomplete"
3535 - },
7215 + }
3536 7216 });
3537 7217 break;
3538 - case 'scale':
3539 - field.addClass('e2pdf-scale-field');
7218 + case 'collapse':
7219 + field.attr('data-collapse', group_field.collapse);
3540 7220 break;
3541 7221 }
3542 7222 }
3543 -
3544 7223 if (!wrap) {
3545 7224 wrap = field;
3546 7225 } else {
3547 7226 wrap.prepend(field);
3548 7227 }
3549 -
3550 7228 if (group_field.type === 'checkbox') {
7229 + if (hidden) {
7230 + wrap.prepend(hidden);
7231 + }
3551 7232 wrap.append(" " + label);
3552 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
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 + }
3553 7239 } else {
3554 7240 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
3555 7241 }
3556 7242 }
3557 -
3558 7243 block.append(grid);
3559 7244 if (group.position === 'top') {
3560 7245 fields_top.append(block);
3561 7246 } else if (group.position === 'left') {
@@ -3567,85 +7252,94 @@
3567 7252 }
3568 7253 }
3569 7254 }
3570 7255 }
3571 -
3572 7256 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3573 7257 return fields;
3574 7258 },
3575 - //e2pdf.properties.apply
3576 - 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 + }
3577 7287 el.data('data-properties', JSON.stringify(data));
3578 7288 },
3579 - //e2pdf.properties.set
7289 + // e2pdf.properties.set
3580 7290 set: function (el, key, value) {
3581 7291 var properties = e2pdf.properties.get(el);
3582 7292 properties[key] = value;
3583 7293 e2pdf.properties.apply(el, properties);
3584 7294 },
3585 - //e2pdf.properties.getValue
3586 - getValue: function (el, key) {
7295 + // e2pdf.properties.getValue
7296 + getValue: function (el, key, type = '') {
3587 7297 var properties = e2pdf.properties.get(el);
3588 - 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 + }
3589 7319 },
3590 - //e2pdf.properties.get
3591 - get: function (el, submit) {
3592 -
7320 + // e2pdf.properties.get
7321 + get: function (el) {
3593 7322 var properties = [];
3594 -
3595 7323 if (typeof el.data('data-properties') !== 'undefined') {
3596 7324 properties = JSON.parse(el.data('data-properties'));
3597 -
3598 - if (el.data('data-type') !== 'e2pdf-page') {
3599 - if (!("width" in properties)) {
3600 - properties['width'] = parseFloat(el.css('width'));
3601 - } else {
3602 - properties['width'] = parseFloat(properties['width']);
3603 - }
3604 -
3605 - if (!("height" in properties)) {
3606 - properties['height'] = parseFloat(el.css('height'));
3607 - } else {
3608 - properties['height'] = parseFloat(properties['height']);
3609 - }
3610 -
3611 - if (!("top" in properties)) {
3612 - properties['top'] = parseFloat(el.css('top'));
3613 - } else {
3614 - properties['top'] = parseFloat(properties['top']);
3615 - }
3616 -
3617 - if (!("left" in properties)) {
3618 - properties['left'] = parseFloat(el.css('left'));
3619 - } else {
3620 - properties['left'] = parseFloat(properties['left']);
3621 - }
3622 -
3623 - if (submit) {
3624 - delete properties['width'];
3625 - delete properties['height'];
3626 - delete properties['value'];
3627 - delete properties['top'];
3628 - delete properties['left'];
3629 - delete properties['name'];
3630 - delete properties['element_type'];
3631 - delete properties['element_id'];
3632 - delete properties['page_id'];
3633 - }
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'));
3634 7330 }
3635 7331 }
3636 -
3637 7332 return properties;
3638 7333 },
3639 - //e2pdf.properties.render
7334 + // e2pdf.properties.render
3640 7335 render: function (el) {
3641 7336 var properties = e2pdf.properties.get(el);
3642 7337 var children = e2pdf.element.children(el);
3643 - if (properties.hasOwnProperty("options")) {
3644 - var property = "options";
7338 + if (properties.hasOwnProperty('options')) {
3645 7339 if (el.data('data-type') === 'e2pdf-select') {
3646 7340 children.find('option').remove();
3647 - var options = properties[property].split("\n");
7341 + var options = properties['options'].split("\n");
3648 7342 if (typeof options !== 'undefined' && options.length > 0) {
3649 7343 for (var key in options) {
3650 7344 children.append(
3651 7345 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3653,281 +7347,199 @@
3653 7347 }
3654 7348 }
3655 7349 }
3656 7350 }
3657 -
3658 - // value render
3659 - if (properties.hasOwnProperty("value")) {
3660 - var property = "value";
3661 - if (el.data('data-type') === 'e2pdf-html') {
3662 - children.html(properties[property]);
3663 - } else if (el.data('data-type') === 'e2pdf-input') {
3664 - children.val(properties[property]);
3665 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3666 - children.val(properties[property]);
3667 - } else if (el.data('data-type') === 'e2pdf-select') {
3668 - children.val(properties[property]);
3669 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3670 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3671 - 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']));
3672 7364 } else {
3673 - 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'])));
3674 7367 }
3675 - } 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':
3676 7408 e2pdf.helper.image.load(el);
3677 - }
7409 + break;
3678 7410 }
3679 7411
3680 - if (properties.hasOwnProperty("group")) {
3681 - var property = "group";
3682 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3683 - var radio = jQuery(this).parent();
3684 - var group = e2pdf.properties.getValue(radio, 'group');
3685 - if (group === properties[property]) {
3686 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3687 - e2pdf.properties.set(radio, 'required', properties['required']);
3688 - e2pdf.properties.set(radio, 'value', properties['value']);
3689 - var option = e2pdf.properties.getValue(radio, 'option');
3690 - if (properties['value'] === option) {
3691 - jQuery(this).attr('checked', 'checked');
3692 - } else {
3693 - jQuery(this).attr('checked', false);
3694 - }
3695 - }
3696 - });
3697 - }
3698 -
3699 - // multiline
3700 7412 if (el.data('data-type') === 'e2pdf-select') {
3701 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3702 - var property = "multiline";
3703 - children.attr('multiple', true);
3704 - } else {
3705 - children.attr('multiple', false);
3706 - }
7413 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3707 7414 }
3708 7415
3709 - // z_index render
3710 - if (properties.hasOwnProperty("z_index")) {
3711 - var property = "z_index";
3712 - 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']));
3713 7418 }
3714 7419
3715 - // rtl
3716 - if (el.data('data-type') === 'e2pdf-select'
3717 - || el.data('data-type') === 'e2pdf-input'
3718 - || el.data('data-type') === 'e2pdf-textarea'
3719 - || el.data('data-type') === 'e2pdf-html') {
3720 - if (properties.hasOwnProperty("rtl")) {
3721 - 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');
3722 7428 } else {
3723 7429 children.attr('dir', false);
3724 7430 }
3725 7431 }
3726 7432
3727 - // background render
3728 - if (properties.hasOwnProperty("background")) {
3729 - var property = "background";
3730 - if (el.data('data-type') === 'e2pdf-radio'
3731 - || el.data('data-type') === 'e2pdf-checkbox'
3732 - ) {
3733 - children.css('background', properties[property]);
3734 - } else {
3735 - el.css('background', properties[property]);
3736 - }
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']));
3737 7437 }
3738 7438
3739 - if (properties.hasOwnProperty("border_top")) {
3740 - var property = "border_top";
3741 - // border_top render
3742 - if (properties[property] != '0') {
3743 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3744 - } else {
3745 - el.css('border-top', '');
3746 - }
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'));
3747 7451 }
3748 7452
3749 - if (properties.hasOwnProperty("border_left")) {
3750 - var property = "border_left";
3751 - // border_left render
3752 - if (properties[property] != '0') {
3753 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
3754 - } else {
3755 - el.css('border-left', '');
3756 - }
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']));
3757 7466 }
3758 7467
3759 - if (properties.hasOwnProperty("border_right")) {
3760 - var property = "border_right";
3761 - // border_right render
3762 - if (properties[property] != '0') {
3763 - 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', '');
3764 7473 } else {
3765 - el.css('border-right', '');
3766 - }
3767 - }
3768 -
3769 - if (properties.hasOwnProperty("border_bottom")) {
3770 - var property = "border_bottom";
3771 - // border_bottom render
3772 - if (properties[property] != '0') {
3773 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
3774 - } else {
3775 - el.css('border-bottom', '');
3776 - }
3777 - }
3778 -
3779 - if (properties.hasOwnProperty("padding_top")) {
3780 - var property = "padding_top";
3781 - el.css('padding-top', properties[property] + 'px');
3782 - }
3783 -
3784 - if (properties.hasOwnProperty("padding_left")) {
3785 - var property = "padding_left";
3786 - el.css('padding-left', properties[property] + 'px');
3787 - }
3788 -
3789 - if (properties.hasOwnProperty("padding_right")) {
3790 - var property = "padding_right";
3791 - el.css('padding-right', properties[property] + 'px');
3792 - }
3793 -
3794 - if (properties.hasOwnProperty("padding_bottom")) {
3795 - var property = "padding_bottom";
3796 - el.css('padding-bottom', properties[property] + 'px');
3797 - }
3798 -
3799 - if (properties.hasOwnProperty("border")) {
3800 - var property = "border";
3801 - if (el.data('data-type') === 'e2pdf-input'
3802 - || el.data('data-type') === 'e2pdf-textarea'
3803 - || el.data('data-type') === 'e2pdf-select'
3804 - || el.data('data-type') === 'e2pdf-radio'
3805 - || el.data('data-type') === 'e2pdf-checkbox'
3806 - ) {
3807 - if (properties[property] != '0') {
3808 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
3809 - } else {
3810 - children.css('border', '');
3811 - }
3812 - }
3813 - }
3814 -
3815 - if (properties.hasOwnProperty("text_color")) {
3816 - var property = "text_color";
3817 - if (el.data('data-type') === 'e2pdf-html') {
3818 - el.css('color', properties[property]);
3819 - } else if (el.data('data-type') === 'e2pdf-input'
3820 - || el.data('data-type') === 'e2pdf-textarea'
3821 - || el.data('data-type') === 'e2pdf-select'
3822 - || el.data('data-type') === 'e2pdf-radio'
3823 - || el.data('data-type') === 'e2pdf-checkbox'
3824 - ) {
3825 - children.css('color', properties[property]);
3826 - }
3827 - }
3828 -
3829 - if (properties.hasOwnProperty("text_font")) {
3830 - var property = "text_font";
3831 - if (properties[property] && properties[property] !== "") {
3832 - var path = jQuery('#e2pdf-wysiwyg-font').find("[value='" + properties[property] + "']").attr('path');
3833 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
7474 + var tmp = jQuery('<div>', {'name': font, 'path': path});
3834 7475 e2pdf.font.load(tmp);
3835 - el.css('font-family', properties[property]);
3836 - } else {
3837 - el.css('font-family', '');
7476 + el.css('font-family', CSS.escape(font));
3838 7477 }
7478 + } else {
7479 + el.css('font-family', '');
3839 7480 }
3840 7481
3841 - if (properties.hasOwnProperty("text_font_size")) {
3842 - var property = "text_font_size";
3843 - if (properties[property] !== '') {
3844 - el.css('font-size', properties[property] + "px");
3845 - } else {
3846 - el.css('font-size', '');
3847 - }
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' : '');
3848 7489 }
3849 7490
3850 - if (properties.hasOwnProperty("text_line_height")) {
3851 - var property = "text_line_height";
3852 - //backward compatiability with input
3853 - if (properties[property] !== '' && properties[property] !== '0') {
3854 - if (el.data('data-type') === 'e2pdf-textarea') {
3855 - children.css('line-height', properties[property] + "px");
3856 - } else {
3857 - el.css('line-height', properties[property] + "px");
3858 - }
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');
3859 7498 } else {
3860 - if (el.data('data-type') === 'e2pdf-textarea') {
3861 - children.css('line-height', '');
3862 - } else {
3863 - el.css('line-height', '');
3864 - }
7499 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3865 7500 }
3866 - }
3867 7501
3868 - if (properties.hasOwnProperty("top")) {
3869 - var property = "top";
3870 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3871 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3872 - var top = page_height - parseFloat(el.css('height'));
3873 - el.css('top', top + "px");
3874 - } else if (properties[property] >= 0) {
3875 - el.css('top', properties[property] + "px");
3876 - }
3877 - }
3878 -
3879 - if (properties.hasOwnProperty("left")) {
3880 - var property = "left";
3881 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3882 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3883 - 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'));
3884 7505 el.css('left', left + "px");
3885 - } else if (properties[property] >= 0) {
3886 - el.css('left', properties[property] + "px");
7506 + } else {
7507 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3887 7508 }
3888 - }
3889 7509
3890 - if (properties.hasOwnProperty("text_align")) {
3891 - var property = "text_align";
3892 - children.css('text-align', properties[property]);
3893 - }
3894 -
3895 - // width render
3896 - if (properties.hasOwnProperty("width")) {
3897 - var property = "width";
3898 - var width = parseFloat(properties[property]);
3899 - var left = parseFloat(el.css('left'));
3900 - 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'));
3901 7512 if (width > 0) {
3902 - if (width > page_width - left) {
3903 - el.css('width', page_width - left);
3904 - 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);
3905 7516 } else {
3906 - el.css('width', properties[property]);
7517 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
3907 7518 }
3908 7519 }
3909 - }
3910 7520
3911 - // height render
3912 - if (properties.hasOwnProperty("height")) {
3913 - var property = "height";
3914 - // height render
3915 - var height = parseFloat(properties[property]);
3916 - var top = parseFloat(el.css('top'));
3917 - 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'));
3918 7523 if (height > 0) {
3919 - if (height > page_height - top) {
3920 - el.css('height', page_height - top);
3921 - 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);
3922 7527 } else {
3923 - el.css('height', properties[property]);
7528 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
3924 7529 }
3925 7530 }
3926 7531 }
7532 +
7533 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7534 + el.addClass('e2pdf-locked');
7535 + } else {
7536 + el.removeClass('e2pdf-locked');
7537 + }
3927 7538 }
7539 +
3928 7540 },
3929 - //e2pdf.welcomeScreen
7541 + // e2pdf.welcomeScreen
3930 7542 welcomeScreen: function () {
3931 7543 if (jQuery('.e2pdf-page').length === 0) {
3932 7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3933 7545 e2pdf.dialog.create(el);
@@ -3932,41 +7544,55 @@
3932 7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3933 7545 e2pdf.dialog.create(el);
3934 7546 }
3935 7547 },
3936 - //e2pdf.createPdf
7548 + // e2pdf.createPdf
3937 7549 createPdf: function (el) {
3938 7550 var item = false;
7551 + var item1 = false;
7552 + var item2 = false;
3939 7553 var action = el.attr('data-action');
3940 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 + }
3941 7567
3942 - var disabled_settings = [
3943 - 'title', 'preset', 'font', 'font_size', 'line_height'
3944 - ];
7568 + if (key === 'font') {
7569 + jQuery('#e2pdf-font').val(data[key]);
7570 + }
3945 7571
3946 - for (var key in data) {
3947 - if (jQuery.inArray(key, disabled_settings) === -1) {
3948 - if (key == 'activated') {
3949 - e2pdf.pdf.settings.change(key, data[key]);
3950 - } else {
3951 - e2pdf.pdf.settings.change(key, data[key]);
7572 + if (key === 'font_size') {
7573 + jQuery('#e2pdf-font-size').val(data[key]);
3952 7574 }
3953 - }
3954 7575
3955 - if (key === 'font') {
3956 - jQuery('#e2pdf-font').val(data[key]);
3957 - }
7576 + if (key === 'line_height') {
7577 + jQuery('#e2pdf-line-height').val(data[key]);
7578 + }
3958 7579
3959 - if (key === 'font_size') {
3960 - jQuery('#e2pdf-font-size').val(data[key]);
3961 - }
7580 + if (key === 'title') {
7581 + jQuery('#e2pdf-title').val(data[key]);
7582 + }
3962 7583
3963 - if (key === 'line_height') {
3964 - 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 + }
3965 7591 }
3966 7592
3967 - if (key === 'title') {
3968 - jQuery('#e2pdf-title').val(data[key]);
7593 + if (!data['rtl']) {
7594 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3969 7595 }
3970 7596 }
3971 7597
3972 7598 if (action === 'apply') {
@@ -3971,15 +7597,15 @@
3971 7597
3972 7598 if (action === 'apply') {
3973 7599 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3974 7600 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3975 - var option = el.closest('form').find('#e2pdf-item option:selected');
7601 + var option = el.closest('form').find('.e2pdf-item option:selected');
3976 7602 if (option && typeof option.data('data-item') !== 'undefined') {
3977 7603 item = option.data('data-item');
3978 7604 }
3979 7605
3980 7606 if (item && item.id == '-1') {
3981 - 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?'))) {
3982 7608 return false;
3983 7609 }
3984 7610 el.attr('form-id', 'e2pdf-build-form');
3985 7611 el.attr('action', 'e2pdf_save_form');
@@ -3986,8 +7612,26 @@
3986 7612 e2pdf.static.unsaved = false;
3987 7613 e2pdf.request.submitForm(el);
3988 7614 return;
3989 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 +
3990 7634 e2pdf.pages.changeTplSize(width, height);
3991 7635 jQuery('.ui-dialog-content').dialog('close');
3992 7636 }
3993 7637 } else if (action === 'empty') {
@@ -3992,9 +7636,9 @@
3992 7636 }
3993 7637 } else if (action === 'empty') {
3994 7638 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3995 7639 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3996 - var option = el.closest('form').find('#e2pdf-item option:selected');
7640 + var option = el.closest('form').find('.e2pdf-item option:selected');
3997 7641 if (option && typeof option.data('data-item') !== 'undefined') {
3998 7642 item = option.data('data-item');
3999 7643 if (item.id == '-1') {
4000 7644 item = false;
@@ -3999,14 +7643,31 @@
3999 7643 if (item.id == '-1') {
4000 7644 item = false;
4001 7645 }
4002 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 + }
4003 7664 e2pdf.pages.changeTplSize(width, height);
4004 7665 e2pdf.pages.createPage();
4005 7666 jQuery('.ui-dialog-content').dialog('close');
4006 7667 } else if (action === 'auto') {
4007 - var extension = el.closest('form').find('#e2pdf-extension').val();
4008 - 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');
4009 7670 if (option && typeof option.data('data-item') !== 'undefined') {
4010 7671 item = option.data('data-item');
4011 7672 if (item.id == '-1') {
4012 7673 item = false;
@@ -4011,149 +7672,145 @@
4011 7672 if (item.id == '-1') {
4012 7673 item = false;
4013 7674 }
4014 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 + }
4015 7692 var data = {};
4016 7693 data['extension'] = extension;
4017 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();
4018 7699 e2pdf.request.submitRequest('e2pdf_auto', el, data);
4019 7700 } else if (action === 'upload') {
4020 7701 if (e2pdf.pdf.settings.get('ID')) {
4021 - 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?'))) {
4022 7703 return false;
4023 7704 }
4024 7705 }
4025 - jQuery('#e2pdf-upload-pdf').click();
7706 + jQuery('.e2pdf-upload-pdf').click();
4026 7707 }
4027 -
4028 7708 if (action === 'apply' || action === 'empty' || action === 'auto') {
4029 7709 var link = jQuery('<a>', {
4030 7710 'href': 'javascript:void(0);',
4031 - 'class': 'e2pdf-link e2pdf-modal',
7711 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
4032 7712 'data-modal': 'tpl-options'
4033 - }).html(e2pdfLang['None']);
4034 -
7713 + }).html(e2pdf.lang.get('Not linked'));
4035 7714 if (item && item.id) {
4036 - link = jQuery('<a>', {
4037 - 'target': '_blank',
4038 - 'href': item.url,
4039 - 'class': 'e2pdf-link',
4040 - }).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 + }
4041 7745 }
4042 7746 jQuery('#e2pdf-post-item').html(link);
4043 7747 }
4044 7748
7749 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
4045 7750 e2pdf.font.load(jQuery('#e2pdf-font'));
4046 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
4047 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
4048 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
4049 - 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'));
4050 7755 e2pdf.event.fire('after.createPdf');
4051 7756 },
4052 - //e2pdf.pages
7757 + // e2pdf.pages
4053 7758 pages: {
4054 - //e2pdf.pages.rebuildPages
4055 - rebuildPages: function () {
4056 - jQuery('.e2pdf-page').each(function (index) {
4057 -
4058 - if (!e2pdf.pdf.settings.get('pdf')) {
4059 - if (index + 1 === 1) {
4060 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
4061 - } else {
4062 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
4063 - }
4064 -
4065 - if (index + 1 === jQuery('.e2pdf-page').length) {
4066 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
4067 - } else {
4068 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
4069 - }
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();
4070 7766 }
4071 -
4072 - jQuery(this).attr('data-page_id', index + 1);
4073 7767 });
4074 - e2pdf.welcomeScreen();
4075 - },
4076 - //e2pdf.pages.createPage
4077 - createPage: function (page, properties, actions) {
4078 - e2pdf.pages.rebuildPages();
4079 - var newpage = true;
4080 - if (page) {
4081 - var newpage = false;
4082 - }
7768 + if (page.hasClass('ui-droppable')) {
7769 + try {
7770 + page.droppable('destroy');
7771 + page.removeData('ui-droppable');
7772 + } catch (e) {
4083 7773
4084 - if (!properties) {
4085 - var properties = {};
7774 + }
4086 7775 }
4087 -
4088 - if (!actions) {
4089 - var actions = {};
4090 - }
4091 -
4092 - if (newpage) {
4093 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
4094 - var page = jQuery('<div>', {
4095 - 'class': 'e2pdf-page ui-droppable',
4096 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
4097 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
4098 - 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
4099 - 'data-height': jQuery('.e2pdf-tpl').attr('data-height'),
4100 - }).attr('data-page_id', page_id).append(
4101 - jQuery('<div>', {'class': 'page-options-icons'}).append(
4102 - jQuery('<a>', {
4103 - 'href': 'javascript:void(0);',
4104 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
4105 - }).append(
4106 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
4107 - ),
4108 - jQuery('<a>', {
4109 - 'href': 'javascript:void(0);',
4110 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
4111 - }).append(
4112 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
4113 - ),
4114 - jQuery('<a>', {
4115 - 'href': 'javascript:void(0);',
4116 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
4117 - 'data-modal': 'page-options'
4118 - }).append(
4119 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
4120 - ),
4121 - jQuery('<a>', {
4122 - 'href': 'javascript:void(0);',
4123 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
4124 - }).append(
4125 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
4126 - ),
4127 - ),
4128 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
4129 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
4130 - );
4131 - }
4132 -
4133 - page.data('data-type', 'e2pdf-page');
4134 -
4135 - e2pdf.properties.apply(page, properties);
4136 - e2pdf.actions.apply(page, actions);
4137 -
4138 7776 page.droppable({
4139 7777 over: function (ev, ui) {
4140 7778 e2pdf.static.drag.page = jQuery(this);
4141 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 + }
4142 7792
4143 7793 if (ui.draggable.hasClass('e2pdf-clone')) {
4144 - jQuery(this).find(".e2pdf-element").each(function () {
7794 + jQuery(this).find('.e2pdf-element').each(function () {
4145 7795 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
4146 7796 });
4147 7797 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
4148 7798 } else {
4149 - 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);
4150 7800 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
4151 7801 }
4152 7802 },
4153 - out: function (ev) {
7803 + out: function (ev, ui) {
4154 7804 e2pdf.static.drag.page = null;
4155 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 +
4156 7813 },
4157 7814 deactivate: function (ev) {
4158 7815 e2pdf.static.drag.page = null;
4159 7816 e2pdf.static.guide.guides = [];
@@ -4162,13 +7819,12 @@
4162 7819 if (ui.draggable.hasClass('e2pdf-clone')) {
4163 7820 var type = jQuery(ui.draggable).attr('data-type');
4164 7821 var page = jQuery(this).closest('.e2pdf-page');
4165 7822 var pos = {
4166 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
4167 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
4168 - 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))
4169 7826 };
4170 -
4171 7827 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
4172 7828 return false;
4173 7829 }
4174 7830
@@ -4176,23 +7832,25 @@
4176 7832 properties['width'] = jQuery(ui.helper).css('width');
4177 7833 properties['height'] = jQuery(ui.helper).css('height');
4178 7834 properties['top'] = pos.top;
4179 7835 properties['left'] = pos.left;
4180 - properties['value'] = jQuery(ui.draggable).attr('data-value');
4181 - //changed
4182 7836 var el = e2pdf.element.create(type, page, properties, false, true);
4183 7837 jQuery(this).append(el);
4184 7838 e2pdf.properties.render(el);
7839 + var history = [];
7840 + history.push(el.clone(true));
7841 + e2pdf.history.set('element_create', history);
4185 7842 }
4186 7843 e2pdf.static.drag.page = null;
4187 7844 }
4188 7845 });
4189 - page.contextmenu(function (e) {
4190 - if (jQuery(e.target).hasClass('e2pdf-page')) {
4191 - e2pdf.contextMenu(e, page);
4192 - e.preventDefault();
7846 + if (page.hasClass('ui-selectable')) {
7847 + try {
7848 + page.selectable('destroy');
7849 + page.removeData('selectable');
7850 + } catch (e) {
4193 7851 }
4194 - });
7852 + }
4195 7853 page.selectable(
4196 7854 {
4197 7855 filter: '.e2pdf-element',
4198 7856 cancel: 'a,.e2pdf-element',
@@ -4197,21 +7855,114 @@
4197 7855 filter: '.e2pdf-element',
4198 7856 cancel: 'a,.e2pdf-element',
4199 7857 distance: 10,
4200 7858 selecting: function (event, ui) {
4201 - 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 + }
4202 7862 },
4203 7863 unselecting: function (event, ui) {
4204 7864 jQuery(ui.unselecting).removeClass('e2pdf-selected');
4205 7865 },
4206 7866 selected: function (event, ui) {
4207 - 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 + }
4208 7870 },
4209 7871 unselected: function (event, ui) {
4210 7872 e2pdf.element.unselect(jQuery(ui.unselected));
4211 7873 }
4212 - });
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 + }
4213 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 + }
4214 7965 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
4215 7966 e2pdf.pages.rebuildPages();
4216 7967 e2pdf.event.fire('after.pages.createPage.newpage');
4217 7968 return true;
@@ -4218,11 +7969,10 @@
4218 7969 } else {
4219 7970 return false;
4220 7971 }
4221 7972 },
4222 - //e2pdf.pages.movePage
7973 + // e2pdf.pages.movePage
4223 7974 movePage: function (el, direction) {
4224 -
4225 7975 if (e2pdf.pdf.settings.get('pdf')) {
4226 7976 return false;
4227 7977 }
4228 7978 if (direction === 'up') {
@@ -4232,21 +7982,19 @@
4232 7982 }
4233 7983 e2pdf.event.fire('after.pages.movePage');
4234 7984 e2pdf.pages.rebuildPages();
4235 7985 },
4236 - //e2pdf.pages.deletePage
7986 + // e2pdf.pages.deletePage
4237 7987 deletePage: function (el) {
4238 7988 el.closest('.e2pdf-page').remove();
4239 7989 e2pdf.event.fire('after.pages.deletePage');
4240 7990 e2pdf.pages.rebuildPages();
4241 7991 },
4242 - //e2pdf.pages.changeTplSize
7992 + // e2pdf.pages.changeTplSize
4243 7993 changeTplSize: function (width, height) {
4244 7994 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
4245 7995 },
4246 7996 changePageSize: function (el, width, height) {
4247 - var set_width = true;
4248 - var set_height = true;
4249 7997 var prev_width = parseFloat(el.css('width'));
4250 7998 var prev_height = parseFloat(el.css('height'));
4251 7999 var width_diff = width / prev_width;
4252 8000 var height_diff = height / prev_height;
@@ -4252,24 +8000,13 @@
4252 8000 var height_diff = height / prev_height;
4253 8001 el.find(".e2pdf-element").each(function () {
4254 8002 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
4255 8003 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
4256 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
4257 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
4258 - if (scale === e2pdf.static.const.WIDTH) {
4259 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
4260 - set_height = false;
4261 - } else if (scale === e2pdf.static.const.HEIGHT) {
4262 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
4263 - set_width = false;
4264 - }
4265 - }
4266 -
4267 - 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'))) {
4268 8005 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4269 - }
4270 -
4271 - 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);
4272 8009 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
4273 8010 }
4274 8011 });
4275 8012 el.css('width', width);
@@ -4277,25 +8014,27 @@
4277 8014 el.attr('data-width', width);
4278 8015 el.attr('data-height', height);
4279 8016 }
4280 8017 },
4281 - //e2pdf.contextMenu
8018 + // e2pdf.contextMenu
4282 8019 contextMenu: function (e, el) {
4283 8020 e2pdf.delete('.e2pdf-context');
8021 + jQuery('.e2pdf-page').css('z-index', '');
4284 8022 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
4285 8023 if (el.hasClass('e2pdf-page')) {
4286 8024 var parent = el;
4287 - 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(
4288 8027 jQuery('<li>').append(
4289 - 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'))
4290 8029 ),
4291 8030 jQuery('<li>').append(
4292 - 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'))
4293 8035 )
4294 - ));
4295 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4296 - menu.find('a').attr('disabled', false);
4297 - }
8036 + );
4298 8037 } else {
4299 8038 if (!el.hasClass('e2pdf-selected')) {
4300 8039 e2pdf.element.unselect();
4301 8040 e2pdf.element.select(el);
@@ -4301,627 +8040,1069 @@
4301 8040 e2pdf.element.select(el);
4302 8041 }
4303 8042
4304 8043 var parent = el.closest('.e2pdf-page');
4305 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
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 + }
8058 +
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(
4306 8071 jQuery('<li>').append(
4307 - 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'))
4308 8073 ),
4309 8074 jQuery('<li>').append(
4310 - 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'))
4311 8076 ),
4312 8077 jQuery('<li>').append(
4313 - 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'))
4314 8079 ),
4315 8080 jQuery('<li>').append(
4316 - 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 + )
4317 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 + ))
4318 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 + }
4319 8134
4320 - if (Object.keys(e2pdf.element.selected).length == 1) {
4321 - menu.find('ul').append(
4322 - jQuery('<li>').append(
4323 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4324 - ));
4325 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4326 - 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(
4327 8138 jQuery('<li>').append(
4328 - 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'))
4329 8140 ));
4330 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 + }
4331 8150
4332 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4333 - menu.find('ul').prepend(jQuery('<li>').append(
4334 - 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'))
4335 8157 ));
4336 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 + }
4337 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 + }
4338 8193 }
4339 -
4340 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4341 - 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 + }
4342 8206 menu.css({top: pos_y + "px", left: pos_x + "px"});
4343 - menu.appendTo(parent);
8207 + menu.show();
4344 8208 },
4345 - //e2pdf.delete
8209 + // e2pdf.delete
4346 8210 delete: function (el) {
4347 8211 jQuery(el).remove();
4348 8212 },
4349 - //e2pdf.element
8213 + // e2pdf.element
4350 8214 element: {
4351 - //e2pdf.element.buffered
4352 - buffered: [],
4353 - //e2pdf.element.selected
8215 + // e2pdf.element.selected
4354 8216 selected: [],
4355 - //e2pdf.element.init
8217 + // e2pdf.element.init
4356 8218 init: function (el) {
4357 8219 if (el.data('data-type') === 'e2pdf-html') {
4358 - 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 + }
4359 8225 } else if (el.data('data-type') === 'e2pdf-input') {
4360 8226 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4361 8227 } else if (el.data('data-type') === 'e2pdf-textarea') {
4362 8228 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4363 8229 }
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'));
4364 8233 },
4365 - //e2pdf.element.create
4366 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4367 - var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
4368 - var aspect = false;
8234 + // e2pdf.element.initEvents
8235 + initEvents: function (element, page) {
8236 + var min_width = 2;
4369 8237 var min_height = 2;
4370 - var min_width = 2;
4371 - if (!properties) {
4372 - properties = {};
8238 + if (element.data('data-type') == 'e2pdf-rectangle') {
8239 + min_height = 1;
8240 + min_width = 1;
4373 8241 }
4374 -
4375 - if (!actions) {
4376 - actions = {};
8242 + if (!page) {
8243 + page = element.closest('.e2pdf-page');
4377 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) {
4378 8255
4379 - if (!properties['value']) {
4380 - properties['value'] = '';
4381 - }
4382 -
4383 - // Switch element types
4384 - if (type === 'e2pdf-html') {
4385 -
4386 - if (!properties['width']) {
4387 - properties['width'] = '200';
4388 - } else if (properties['width'] === 'auto') {
4389 - properties['width'] = size;
4390 8256 }
4391 -
4392 - if (!properties['height']) {
4393 - properties['height'] = size;
4394 -
4395 - } else if (properties['height'] === 'auto') {
4396 - delete properties['height'];
4397 - }
4398 -
4399 - var element =
4400 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4401 - jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4402 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4403 - );
4404 - } else if (type === 'e2pdf-input') {
4405 -
4406 - if (!properties['width'] || properties['width'] === 'auto') {
4407 - properties['width'] = '200';
4408 - }
4409 -
4410 - if (!properties['height'] || properties['height'] === 'auto') {
4411 - properties['height'] = size;
4412 - }
4413 -
4414 - var element =
4415 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4416 - jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4417 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4418 - );
4419 - } else if (type === 'e2pdf-textarea') {
4420 -
4421 - if (!properties['width'] || properties['width'] === 'auto') {
4422 - properties['width'] = '200';
4423 - }
4424 -
4425 - if (!properties['height'] || properties['height'] === 'auto') {
4426 - properties['height'] = '100';
4427 - }
4428 -
4429 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4430 - jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4431 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4432 - );
4433 - } else if (type === 'e2pdf-checkbox') {
4434 -
4435 - if (!properties['width'] || properties['width'] === 'auto') {
4436 - properties['width'] = size;
4437 - }
4438 -
4439 - if (!properties['height'] || properties['height'] === 'auto') {
4440 - properties['height'] = size;
4441 - }
4442 -
4443 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4444 - jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4445 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4446 - );
4447 - } else if (type === 'e2pdf-radio') {
4448 -
4449 - if (!properties['width'] || properties['width'] === 'auto') {
4450 - properties['width'] = size;
4451 - }
4452 -
4453 - if (!properties['height'] || properties['height'] === 'auto') {
4454 - properties['height'] = size;
4455 - }
4456 -
4457 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4458 - jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4459 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4460 - );
4461 - var aspect = false;
4462 - } else if (type === 'e2pdf-select') {
4463 -
4464 - if (!properties['width'] || properties['width'] === 'auto') {
4465 - properties['width'] = '200';
4466 - }
4467 -
4468 - if (!properties['height'] || properties['height'] === 'auto') {
4469 - properties['height'] = size;
4470 - }
4471 -
4472 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4473 - jQuery('<select>', {'class': 'e2pdf-select'}).append(
4474 - ),
4475 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4476 - );
4477 - } else if (type === 'e2pdf-image') {
4478 -
4479 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4480 - jQuery('<img>', {'class': 'e2pdf-image'}),
4481 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4482 - );
4483 - } else if (type === 'e2pdf-rectangle') {
4484 -
4485 - if (!properties['width'] || properties['width'] === 'auto') {
4486 - properties['width'] = '200';
4487 - }
4488 -
4489 - if (!properties['height'] || properties['height'] === 'auto') {
4490 - properties['height'] = '5';
4491 - }
4492 -
4493 - var min_height = 1;
4494 - var min_width = 1;
4495 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4496 - jQuery('<div>', {'class': 'content e2pdf-rectangle'}),
4497 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4498 - );
4499 - } else if (type === 'e2pdf-link') {
4500 - if (!properties['width'] || properties['width'] === 'auto') {
4501 - properties['width'] = '200';
4502 - }
4503 -
4504 - if (!properties['height'] || properties['height'] === 'auto') {
4505 - properties['height'] = size;
4506 - }
4507 -
4508 - var element =
4509 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4510 - jQuery('<div>', {'class': 'content e2pdf-link'}),
4511 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4512 - );
4513 - } else if (type === 'e2pdf-signature') {
4514 - if (!properties['width'] || properties['width'] === 'auto') {
4515 - properties['width'] = '200';
4516 - }
4517 -
4518 - if (!properties['height'] || properties['height'] === 'auto') {
4519 - properties['height'] = size;
4520 - }
4521 -
4522 - if (!properties['dimension']) {
4523 - if (default_properties) {
4524 - properties['dimension'] = '1';
4525 - }
4526 - }
4527 -
4528 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4529 - jQuery('<div>', {'class': 'content e2pdf-signature'}),
4530 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4531 - );
4532 8257 }
4533 -
4534 - // If element exists
4535 - if (typeof element !== "undefined") {
4536 - element.contextmenu(function (e) {
4537 - e2pdf.contextMenu(e, element);
4538 - e.preventDefault();
4539 - });
4540 - if (!element_id) {
4541 - var last_id = 0;
4542 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4543 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4544 - if (num_id > last_id) {
4545 - 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'});
4546 8268 }
4547 - });
4548 - element_id = parseInt(last_id + 1);
4549 - }
4550 - element.addClass('e2pdf-element');
4551 - element.attr('data-element_id', element_id);
4552 - if (type === 'e2pdf-select') {
4553 - if (!properties['options']) {
4554 - if (default_properties) {
4555 - properties['options'] = '';
8269 + if (selected.hasClass('e2pdf-height-auto')) {
8270 + selected.css({'height': 'auto'});
4556 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'))));
4557 8274 }
4558 - }
4559 -
4560 - if (!properties['z_index']) {
4561 - properties['z_index'] = '0';
4562 - }
4563 -
4564 - if (type === 'e2pdf-input'
4565 - || type === 'e2pdf-textarea'
4566 - || type === 'e2pdf-select'
4567 - || type === 'e2pdf-radio'
4568 - || type === 'e2pdf-checkbox'
4569 - ) {
4570 - if (!properties['border']) {
4571 - if (default_properties) {
4572 - 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);
4573 8298 }
4574 8299 }
4575 - }
4576 -
4577 - if (type === 'e2pdf-image'
4578 - || type === 'e2pdf-signature') {
4579 - if (!properties['scale']) {
4580 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4581 - }
4582 - if (!properties['horizontal']) {
4583 - properties['horizontal'] = 'left';
4584 - }
4585 - if (!properties['vertical']) {
4586 - properties['vertical'] = 'bottom';
4587 - }
4588 - }
4589 -
4590 - if (type === 'e2pdf-html'
4591 - || type === 'e2pdf-image'
4592 - || type === 'e2pdf-signature'
4593 - ) {
4594 -
4595 - if (!properties['border_top']) {
4596 - properties['border_top'] = '0';
4597 - }
4598 -
4599 - if (!properties['border_left']) {
4600 - properties['border_left'] = '0';
4601 - }
4602 -
4603 - if (!properties['border_right']) {
4604 - properties['border_right'] = '0';
4605 - }
4606 -
4607 - if (!properties['border_bottom']) {
4608 - properties['border_bottom'] = '0';
4609 - }
4610 -
4611 - if (!properties['padding_top']) {
4612 - properties['padding_top'] = '0';
4613 - }
4614 -
4615 - if (!properties['padding_left']) {
4616 - properties['padding_left'] = '0';
4617 - }
4618 -
4619 - if (!properties['padding_right']) {
4620 - properties['padding_right'] = '0';
4621 - }
4622 -
4623 - if (!properties['padding_bottom']) {
4624 - properties['padding_bottom'] = '0';
4625 - }
4626 - }
4627 -
4628 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4629 - if (!properties['length']) {
4630 - properties['length'] = '0';
4631 - }
4632 - }
4633 -
4634 - if (type !== 'e2pdf-rectangle') {
4635 - if (!properties['border_color']) {
4636 - properties['border_color'] = '#000000';
4637 - }
4638 - }
4639 -
4640 - if (type !== 'e2pdf-image') {
4641 -
4642 - if (!properties['text_color']) {
4643 - properties['text_color'] = '';
4644 - }
4645 -
4646 - if (!properties['text_font']) {
4647 - properties['text_font'] = '';
4648 - }
4649 -
4650 - if (!properties['text_font_size']) {
4651 - properties['text_font_size'] = '';
4652 - }
4653 -
4654 - if (!properties['text_line_height']) {
4655 - properties['text_line_height'] = '';
4656 - }
4657 - }
4658 -
4659 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4660 - if (!properties['option']) {
4661 - if (default_properties) {
4662 - 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 + }
4663 8331 }
8332 + } else {
8333 + jQuery('.e2pdf-guide-h').hide();
4664 8334 }
4665 -
4666 - if (!properties['text_type']) {
4667 - if (default_properties) {
4668 - if (type === 'e2pdf-radio') {
4669 - properties['text_type'] = 'circle';
4670 - } else if (type === 'e2pdf-checkbox') {
4671 - 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 + }
4672 8348 }
4673 8349 }
8350 + } else {
8351 + jQuery('.e2pdf-guide-v').hide();
4674 8352 }
4675 - }
4676 -
4677 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4678 - if (!properties['text_align']) {
4679 - properties['text_align'] = 'left';
8353 + },
8354 + start: function (ev, ui) {
8355 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8356 + return false;
4680 8357 }
4681 - }
4682 -
4683 - if (type === 'e2pdf-radio') {
4684 - if (!properties['group']) {
4685 - if (default_properties) {
4686 - 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"});
4687 8369 }
4688 - }
4689 - }
4690 -
4691 - element.data('data-type', type);
4692 - if (properties['width']) {
4693 - element.css({"width": properties['width']});
4694 - }
4695 -
4696 - if (properties['height']) {
4697 - element.css({"height": properties['height']});
4698 - }
4699 -
4700 - if (type === 'e2pdf-rectangle') {
4701 - if (!properties['background']) {
4702 - if (default_properties) {
4703 - properties['background'] = '#000000';
8370 + if (selected.hasClass('e2pdf-height-auto')) {
8371 + selected.css({"height": "auto"});
4704 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);
4705 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);
4706 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) {
4707 8398
4708 - if (type === 'e2pdf-link') {
4709 - if (!properties['highlight']) {
4710 - properties['highlight'] = 'none';
4711 8399 }
4712 8400 }
4713 -
4714 - if (properties['top'] && properties['left']) {
4715 - element.css({"top": properties['top'], "left": properties['left']});
4716 - }
4717 -
4718 - element.css({"position": "absolute"});
4719 - e2pdf.properties.apply(element, properties);
4720 - e2pdf.actions.apply(element, actions);
4721 - // If element draggable
4722 - element.draggable({
4723 - cancel: '.no-drag',
4724 - handle: ".e2pdf-drag",
4725 - containment: jQuery(page),
4726 - stop: function (ev, ui) {
4727 - var page = jQuery(this).closest('.e2pdf-page');
4728 - for (var key in e2pdf.element.selected) {
4729 - var selected = e2pdf.element.selected[key];
4730 - if (selected.hasClass('e2pdf-width-auto')) {
4731 - 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);
4732 8431 }
4733 - if (selected.hasClass('e2pdf-height-auto')) {
4734 - 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;
4735 8435 }
4736 -
4737 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.pxToFloat(selected.css('top'))));
4738 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.pxToFloat(selected.css('left'))));
4739 - }
4740 -
4741 - jQuery('.page-options-icons').css('z-index', '');
4742 - e2pdf.event.fire('after.element.moved');
4743 - e2pdf.element.unselect();
4744 - 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));
4745 8458 },
4746 - drag: function (ev, ui) {
4747 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4748 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4749 -
4750 - left = Math.min(left, e2pdf.static.drag.max_left);
4751 - top = Math.min(top, e2pdf.static.drag.max_top);
4752 -
4753 - ui.position = {
4754 - left: Math.max(e2pdf.static.drag.min_left, left),
4755 - top: Math.max(e2pdf.static.drag.min_top, top)
4756 - };
4757 -
4758 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4759 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4760 - for (var key in e2pdf.element.selected) {
4761 - var selected = e2pdf.element.selected[key];
4762 - if (!selected.is(jQuery(this))) {
4763 - selected.finish().animate({
4764 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4765 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4766 - }, 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();
4767 8465 }
4768 8466 }
4769 -
4770 - 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();
4771 8503 var w = parseFloat(jQuery(this).css('width'));
4772 8504 var h = parseFloat(jQuery(this).css('height'));
4773 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4774 -
4775 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4776 - jQuery.each(el_guides, function (i, elemGuide) {
4777 - if (guide.type == elemGuide.type) {
4778 - var prop = guide.type == "h" ? "top" : "left";
4779 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4780 - if (d < guides[prop].dist) {
4781 - guides[prop].dist = d;
4782 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4783 - 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;
4784 8519 }
4785 8520 }
4786 8521 });
4787 - });
4788 -
4789 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4790 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4791 - var snap_top = guides.top.guide.top - guides.top.offset;
4792 -
4793 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4794 - ui.position.top = snap_top;
4795 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4796 -
4797 - for (var key in e2pdf.element.selected) {
4798 - var selected = e2pdf.element.selected[key];
4799 - if (!selected.is(jQuery(this))) {
4800 - selected.finish().animate({
4801 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4802 - }, 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;
4803 8533 }
4804 8534 }
4805 8535 }
4806 - } else {
4807 - jQuery(".e2pdf-guide-h").hide();
4808 8536 }
4809 -
4810 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4811 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4812 - var snap_left = guides.left.guide.left - guides.left.offset;
4813 -
4814 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4815 - ui.position.left = snap_left;
4816 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4817 - for (var key in e2pdf.element.selected) {
4818 - var selected = e2pdf.element.selected[key];
4819 - if (!selected.is(jQuery(this))) {
4820 - selected.finish().animate({
4821 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4822 - }, 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;
4823 8551 }
4824 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 + }
4825 8567 }
4826 - } else {
4827 - jQuery(".e2pdf-guide-v").hide();
4828 8568 }
4829 -
4830 8569 },
4831 - start: function (ev, ui) {
4832 - e2pdf.element.select(jQuery(this));
4833 - e2pdf.static.drag.min_left = 0;
4834 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4835 - e2pdf.static.drag.min_top = 0;
4836 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4837 -
4838 - for (var key in e2pdf.element.selected) {
4839 - var selected = e2pdf.element.selected[key];
4840 -
4841 - if (selected.hasClass('e2pdf-width-auto')) {
4842 - 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();
4843 8577 }
4844 -
4845 - if (selected.hasClass('e2pdf-height-auto')) {
4846 - 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);
4847 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 + }
4848 8695
4849 - var padding_top = e2pdf.helper.pxToFloat(selected.css('padding-top'));
4850 - var padding_left = e2pdf.helper.pxToFloat(selected.css('padding-left'));
4851 - var padding_right = e2pdf.helper.pxToFloat(selected.css('padding-right'));
4852 - var padding_bottom = e2pdf.helper.pxToFloat(selected.css('padding-bottom'));
4853 - var border_top = e2pdf.helper.pxToFloat(selected.css('border-top-width'));
4854 - var border_left = e2pdf.helper.pxToFloat(selected.css('border-left-width'));
4855 - var border_right = e2pdf.helper.pxToFloat(selected.css('border-right-width'));
4856 - var border_bottom = e2pdf.helper.pxToFloat(selected.css('border-bottom-width'));
4857 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4858 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4859 - 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);
4860 - 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';
4861 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 + }
4862 8846
4863 - e2pdf.zoom.click.x = ev.clientX;
4864 - e2pdf.zoom.click.y = ev.clientY;
4865 - jQuery('.page-options-icons').css('z-index', -1);
8847 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8848 + properties['height'] = size;
8849 + }
4866 8850 }
4867 - });
4868 - // If element resizable
4869 - if (element.hasClass('e2pdf-resizable')) {
4870 - element.resizable({
4871 - aspectRatio: aspect,
4872 - minHeight: min_height,
4873 - minWidth: min_width,
4874 - start: function (ev, ui) {
4875 - var left = parseFloat(jQuery(this).css('left'));
4876 - var top = parseFloat(jQuery(this).css('top'));
4877 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4878 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4879 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4880 - 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 + }
4881 9077
4882 - var padding_top = e2pdf.helper.pxToFloat(jQuery(this).css('padding-top'));
4883 - var padding_left = e2pdf.helper.pxToFloat(jQuery(this).css('padding-left'));
4884 - var padding_right = e2pdf.helper.pxToFloat(jQuery(this).css('padding-right'));
4885 - var padding_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('padding-bottom'));
4886 - var border_top = e2pdf.helper.pxToFloat(jQuery(this).css('border-top-width'));
4887 - var border_left = e2pdf.helper.pxToFloat(jQuery(this).css('border-left-width'));
4888 - var border_right = e2pdf.helper.pxToFloat(jQuery(this).css('border-right-width'));
4889 - var border_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('border-bottom-width'));
4890 -
4891 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4892 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4893 -
4894 - e2pdf.zoom.click.x = ev.clientX;
4895 - e2pdf.zoom.click.y = ev.clientY;
4896 - },
4897 - resize: function (ev, ui) {
4898 - },
4899 - stop: function (event, ui) {
4900 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4901 - 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;
4902 9085 }
4903 9086 });
4904 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4905 - element.resizable({
4906 - handles: 'e, w, se',
4907 - minHeight: min_height,
4908 - minWidth: min_width,
4909 - resize: function (e, ui) {
4910 - jQuery(this).css('height', 'auto');
4911 - },
4912 - start: function (e, ui) {
4913 - var left = parseFloat(jQuery(this).css('left'));
4914 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4915 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4916 - },
4917 - stop: function (event, ui) {
4918 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4919 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4920 - }
4921 - }
4922 - );
9087 + element_id = parseInt(last_id + 1);
4923 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);
4924 9105 if (!onload) {
4925 9106 e2pdf.event.fire('after.element.create');
4926 9107 }
4927 9108 return element;
@@ -4928,42 +9109,14 @@
4928 9109 } else {
4929 9110 return false;
4930 9111 }
4931 9112 },
4932 - //e2pdf.element.children
9113 + // e2pdf.element.children
4933 9114 children: function (el) {
4934 - var children = false;
4935 - if (el.data('data-type') === 'e2pdf-html') {
4936 - children = el.find('.e2pdf-html');
4937 - } else if (el.data('data-type') === 'e2pdf-input') {
4938 - children = el.find('.e2pdf-input');
4939 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4940 - children = el.find('.e2pdf-textarea');
4941 - } else if (el.data('data-type') === 'e2pdf-select') {
4942 - children = el.find('.e2pdf-select');
4943 - } else if (el.data('data-type') === 'e2pdf-radio') {
4944 - children = el.find('.e2pdf-radio');
4945 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4946 - children = el.find('.e2pdf-checkbox');
4947 - } else if (el.data('data-type') === 'e2pdf-image') {
4948 - children = el.find('.e2pdf-image');
4949 - } else if (el.data('data-type') === 'e2pdf-signature') {
4950 - children = el.find('.e2pdf-signature');
4951 - }
9115 + var children = el.find('.' + el.data('data-type'));
4952 9116 return children;
4953 9117 },
4954 - //e2pdf.element.copy
4955 - copy: function (el) {
4956 - e2pdf.element.init(el);
4957 - e2pdf.element.buffer(el.clone(true));
4958 - },
4959 - //e2pdf.element.cut
4960 - cut: function (el) {
4961 - e2pdf.element.init(el);
4962 - e2pdf.element.buffer(el.clone(true));
4963 - e2pdf.element.delete(el);
4964 - },
4965 - //e2pdf.element.select
9118 + // e2pdf.element.select
4966 9119 select: function (el) {
4967 9120 var selected = false;
4968 9121 for (var key in e2pdf.element.selected) {
4969 9122 if (e2pdf.element.selected[key].is(el)) {
@@ -4974,9 +9127,9 @@
4974 9127 el.addClass('e2pdf-selected');
4975 9128 e2pdf.element.selected.push(el);
4976 9129 }
4977 9130 },
4978 - //e2pdf.element.unselect
9131 + // e2pdf.element.unselect
4979 9132 unselect: function (el) {
4980 9133 if (!el) {
4981 9134 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4982 9135 e2pdf.element.selected = [];
@@ -4988,150 +9141,457 @@
4988 9141 }
4989 9142 }
4990 9143 }
4991 9144 },
4992 - //e2pdf.element.buffer
4993 - buffer: function (el) {
4994 - var buffered = false;
4995 - for (var key in e2pdf.element.buffered) {
4996 - if (e2pdf.element.buffered[key].is(el)) {
4997 - buffered = true;
4998 - }
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');
4999 9156 }
5000 - if (!buffered) {
5001 - e2pdf.element.buffered.push(el);
5002 - }
5003 9157 },
5004 - //e2pdf.element.unbuffer
5005 - unbuffer: function (el) {
5006 - if (!el) {
5007 - e2pdf.element.buffered = [];
5008 - } else {
5009 - for (var key in e2pdf.element.buffered) {
5010 - if (e2pdf.element.buffered[key].is(el)) {
5011 - 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);
5012 9177 }
9178 + } else {
9179 + el_inner.focus();
5013 9180 }
9181 + } else {
9182 + el_inner.focus();
5014 9183 }
9184 + el.addClass('e2pdf-focused');
5015 9185 },
5016 - //e2pdf.element.hide
9186 + // e2pdf.element.hide
5017 9187 hide: function (el) {
5018 9188 el.addClass('e2pdf-hide');
5019 9189 },
5020 - //e2pdf.element.show
9190 + // e2pdf.element.show
5021 9191 show: function (el) {
5022 9192 el.removeClass('e2pdf-hide');
5023 9193 },
5024 - //e2pdf.element.paste
5025 - paste: function (keep_position) {
5026 - e2pdf.element.unselect();
5027 - var min_top = 99999999;
5028 - var min_left = 9999999;
5029 - var left_correction = 0;
5030 - var top_correction = 0;
5031 - if (!keep_position) {
5032 - for (var key in e2pdf.element.buffered) {
5033 - var buffered = e2pdf.element.buffered[key];
5034 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
5035 - 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();
5036 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 () {
5037 9323
5038 - for (var key in e2pdf.element.buffered) {
5039 - 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();
5040 9472 var context = jQuery('.e2pdf-context');
5041 - var properties = e2pdf.properties.get(buffered);
5042 - var width = parseFloat(properties['width']);
5043 - var height = parseFloat(properties['height']);
5044 9473 var page = context.closest('.e2pdf-page');
5045 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
5046 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
5047 - if ((left + width) > parseFloat(page.css('width'))) {
5048 - var correction = left - (parseFloat(page.css('width')) - width);
5049 - 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 + }
5050 9502 }
5051 9503
5052 - if ((top + height) > parseFloat(page.css('height'))) {
5053 - var correction = top - (parseFloat(page.css('height')) - height);
5054 - 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));
5055 9523 }
5056 - }
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;
5057 9538 }
5058 -
5059 - for (var key in e2pdf.element.buffered) {
5060 - var buffered = e2pdf.element.buffered[key];
5061 - var context = jQuery('.e2pdf-context');
5062 - var properties = e2pdf.properties.get(buffered);
5063 - var actions = e2pdf.actions.get(buffered);
5064 - var width = parseFloat(properties['width']);
5065 - var height = parseFloat(properties['height']);
5066 - var page = context.closest('.e2pdf-page');
5067 - var type = buffered.data('data-type');
5068 -
5069 - if (!keep_position) {
5070 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
5071 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
5072 - properties['top'] = top;
5073 - properties['left'] = left;
5074 - }
5075 - //changed
5076 - var el = e2pdf.element.create(type, page, properties, actions);
5077 - page.append(el);
5078 - e2pdf.properties.render(el);
5079 - e2pdf.element.select(el);
5080 - }
5081 -
5082 - e2pdf.event.fire('after.element.paste');
5083 - },
5084 - //e2pdf.element.delete
5085 - delete: function (el) {
5086 - el.remove();
5087 - e2pdf.event.fire('after.element.delete');
5088 9539 }
5089 9540 },
5090 - //e2pdf.wysiwyg
9541 + // e2pdf.wysiwyg
5091 9542 wysiwyg: {
5092 - //e2pdf.wysiwyg.apply
9543 + // e2pdf.wysiwyg.apply
5093 9544 apply: function (el) {
9545 + var history = [];
9546 + history.push(el);
9547 + e2pdf.history.set('wysiwyg', history);
9548 + var html = '';
5094 9549 var command = el.attr('data-command');
9550 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5095 9551 if (command === 'H1') {
5096 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5097 9552 if (node.is("h1") && document.getSelection().toString() === node.text()) {
5098 9553 e2pdf.wysiwyg.clear('h1');
5099 9554 } else {
5100 - var html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9555 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
5101 9556 document.execCommand('insertHTML', false, html);
5102 9557 }
5103 9558 } else if (command === 'H2') {
5104 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5105 9559 if (node.is("h2") && document.getSelection().toString() === node.text()) {
5106 9560 e2pdf.wysiwyg.clear('h2');
5107 9561 } else {
5108 - var html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9562 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
5109 9563 document.execCommand('insertHTML', false, html);
5110 9564 }
5111 9565 } else if (command === 'createlink') {
5112 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9566 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
5113 9567 document.execCommand(command, false, url);
5114 9568 } else if (command === 'font-size') {
5115 9569 var font_size = el.find('option:selected').html();
5116 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5117 9570 if (node.is("span") && document.getSelection().toString() === node.text()) {
5118 - var html = node.css('font-size', font_size).prop('outerHTML');
9571 + html = node.css('font-size', font_size + "px").prop('outerHTML');
5119 9572 } else {
5120 - 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');
5121 9574 }
5122 9575 document.execCommand('insertHTML', false, html);
5123 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('');
5124 9586 } else if (command === 'font') {
5125 9587 e2pdf.font.load(el);
5126 - var font = el.find('option:selected').html();
5127 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9588 + var font = CSS.escape(el.find('option:selected').html());
5128 9589 if (node.is("span") && document.getSelection().toString() === node.text()) {
5129 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9590 + html = node.css('font-family', font).prop('outerHTML');
5130 9591 } else {
5131 - 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');
5132 9593 }
5133 -
5134 9594 document.execCommand('insertHTML', false, html);
5135 9595 el.val('');
5136 9596 } else if (command === 'color') {
5137 9597 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -5140,14 +9600,14 @@
5140 9600 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5141 9601 } else if (command === 'clear') {
5142 9602 document.execCommand("removeformat", false, "");
5143 9603 e2pdf.wysiwyg.clear();
5144 - } else {
9604 + } else if (command) {
5145 9605 document.execCommand(command, false, null);
5146 9606 }
5147 -
5148 9607 e2pdf.event.fire('after.wysiwyg.apply');
5149 9608 },
9609 + // e2pdf.wysiwyg.clear
5150 9610 clear: function (tags) {
5151 9611 if (!tags) {
5152 9612 var tags = "h1,h2";
5153 9613 }
@@ -5158,9 +9618,11 @@
5158 9618 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
5159 9619 }
5160 9620 });
5161 9621 },
9622 + // e2pdf.wysiwyg.helper
5162 9623 helper: {
9624 + // e2pdf.wysiwyg.helper.getSelectedNodes
5163 9625 getSelectedNodes: function () {
5164 9626 var nodes = [];
5165 9627 if (window.getSelection) {
5166 9628 var sel = window.getSelection();
@@ -5169,8 +9631,9 @@
5169 9631 }
5170 9632 }
5171 9633 return nodes;
5172 9634 },
9635 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
5173 9636 replaceWithOwnChildren: function (el) {
5174 9637 var parent = el.parentNode;
5175 9638 while (el.hasChildNodes()) {
5176 9639 parent.insertBefore(el.firstChild, el);
@@ -5176,8 +9639,9 @@
5176 9639 parent.insertBefore(el.firstChild, el);
5177 9640 }
5178 9641 parent.removeChild(el);
5179 9642 },
9643 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
5180 9644 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
5181 9645 var node = range.startContainer;
5182 9646 var endNode = range.endContainer;
5183 9647 var rangeNodes = [];
@@ -5203,8 +9667,9 @@
5203 9667 }
5204 9668
5205 9669 return rangeNodes;
5206 9670 },
9671 + // e2pdf.wysiwyg.helper.getSelectedNode
5207 9672 getSelectedNode: function () {
5208 9673 var node, selection;
5209 9674 if (window.getSelection) {
5210 9675 selection = getSelection();
@@ -5210,9 +9675,9 @@
5210 9675 selection = getSelection();
5211 9676 node = selection.anchorNode;
5212 9677 }
5213 9678 if (!node && document.selection) {
5214 - selection = document.selection
9679 + selection = document.selection;
5215 9680 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
5216 9681 node = range.commonAncestorContainer ? range.commonAncestorContainer :
5217 9682 range.parentElement ? range.parentElement() : range.item(0);
5218 9683 }
@@ -5219,8 +9684,9 @@
5219 9684 if (node) {
5220 9685 return (node.nodeName === "#text" ? node.parentNode : node);
5221 9686 }
5222 9687 },
9688 + // e2pdf.wysiwyg.helper.nextNode
5223 9689 nextNode: function (node) {
5224 9690 if (node.hasChildNodes()) {
5225 9691 return node.firstChild;
5226 9692 } else {
@@ -5232,11 +9698,12 @@
5232 9698 }
5233 9699 return node.nextSibling;
5234 9700 }
5235 9701 },
9702 + // e2pdf.wysiwyg.helper.getSelectionHtml
5236 9703 getSelectionHtml: function () {
5237 9704 var html = "";
5238 - if (typeof window.getSelection != "undefined") {
9705 + if (typeof window.getSelection != 'undefined') {
5239 9706 var sel = window.getSelection();
5240 9707 if (sel.rangeCount) {
5241 9708 var container = document.createElement("div");
5242 9709 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -5243,9 +9710,9 @@
5243 9710 container.appendChild(sel.getRangeAt(i).cloneContents());
5244 9711 }
5245 9712 html = container.innerHTML;
5246 9713 }
5247 - } else if (typeof document.selection != "undefined") {
9714 + } else if (typeof document.selection != 'undefined') {
5248 9715 if (document.selection.type === "Text") {
5249 9716 html = document.selection.createRange().htmlText;
5250 9717 }
5251 9718 }
@@ -5250,8 +9717,9 @@
5250 9717 }
5251 9718 }
5252 9719 return html;
5253 9720 },
9721 + // e2pdf.wysiwyg.helper.saveSelection
5254 9722 saveSelection: function () {
5255 9723 if (window.getSelection) {
5256 9724 sel = window.getSelection();
5257 9725 if (sel.getRangeAt && sel.rangeCount) {
@@ -5261,8 +9729,9 @@
5261 9729 return document.selection.createRange();
5262 9730 }
5263 9731 return null;
5264 9732 },
9733 + // e2pdf.wysiwyg.helper.restoreSelection
5265 9734 restoreSelection: function (range) {
5266 9735 if (range) {
5267 9736 if (window.getSelection) {
5268 9737 sel = window.getSelection();
@@ -5271,48 +9740,99 @@
5271 9740 } else if (document.selection && range.select) {
5272 9741 range.select();
5273 9742 }
5274 9743 }
9744 + },
9745 + // e2pdf.wysiwyg.helper.dropSelection
9746 + dropSelection: function () {
9747 + if (window.getSelection) {
9748 + sel = window.getSelection();
9749 + sel.removeAllRanges();
9750 + }
5275 9751 }
5276 9752 }
5277 9753 },
5278 - //e2pdf.visual
9754 + // e2pdf.visual
5279 9755 visual: {
5280 - //e2pdf.visual.mapper
9756 + // e2pdf.visual.mapper
5281 9757 mapper: {
9758 + cursorPosStart: null,
9759 + cursorPosEnd: null,
9760 + cursorRange: null,
5282 9761 selected: null,
5283 - //e2pdf.visual.mapper.init
9762 + // e2pdf.visual.mapper.init
5284 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 +
5285 9787 e2pdf.visual.mapper.selected = el;
5286 9788 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5287 9789 e2pdf.dialog.create(modal);
5288 9790 },
5289 - //e2pdf.visual.mapper.markup
9791 + // e2pdf.visual.mapper.markup
5290 9792 markup: function () {
5291 9793 e2pdf.dialog.rebuild();
5292 9794 },
5293 - //e2pdf.visual.mapper.rebuild
9795 + // e2pdf.visual.mapper.rebuild
5294 9796 rebuild: function () {
5295 - if (jQuery('#e2pdf-vm-content').length > 0) {
5296 - var vc_content = jQuery('#e2pdf-vm-content');
5297 -
9797 + if (jQuery('.e2pdf-vm-content').length > 0) {
9798 + var vc_content = jQuery('.e2pdf-vm-content');
5298 9799 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5299 9800 jQuery('.e2pdf-vm-wrapper').remove();
5300 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 + }
5301 9817
5302 9818 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
5303 - 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 () {
5304 9820 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5305 9821 });
5306 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 + }
5307 9826 }
5308 9827 },
5309 - //e2pdf.visual.mapper.clear
9828 + // e2pdf.visual.mapper.clear
5310 9829 clear: function () {
5311 9830 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5312 9831 jQuery('.e2pdf-vm-wrapper').remove();
5313 9832 }
5314 9833 },
9834 + // e2pdf.visual.mapper.load
5315 9835 load: function (el) {
5316 9836 var loaded = false;
5317 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5318 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5317,10 +9837,10 @@
5317 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5318 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5319 9839 var width = el.css('width');
5320 9840 var height = el.css('height');
5321 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5322 - 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;
5323 9843 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5324 9844 'width': width, 'height': height, 'top': top, 'left': left
5325 9845 });
5326 9846 var name = el.attr('name');
@@ -5325,9 +9845,9 @@
5325 9845 });
5326 9846 var name = el.attr('name');
5327 9847 var type = el.attr('type');
5328 9848 var value = el.attr('value');
5329 - if (el.is("select")) {
9849 + if (el.is('select')) {
5330 9850 type = 'select';
5331 9851 value = '';
5332 9852 el.find('option').each(function () {
5333 9853 value += jQuery(this).attr('value');
@@ -5343,70 +9863,114 @@
5343 9863 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5344 9864 }
5345 9865 return loaded;
5346 9866 },
9867 + // e2pdf.visual.mapper.apply
5347 9868 apply: function (el) {
5348 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);
5349 9873 var name = el.data('name');
9874 + var group = el.data('name');
5350 9875 var value = el.data('value');
5351 - var type = el.data('type');
5352 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5353 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5354 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5355 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5356 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5357 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5358 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5359 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5360 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5361 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5362 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5363 - 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);
5364 9892 } else {
5365 - 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 + }
5366 9897 }
5367 -
5368 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5369 - 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 + }
5370 9927 }
5371 - e2pdf.dialog.close();
9928 + if (e2pdf.static.vm.close) {
9929 + e2pdf.dialog.close();
9930 + }
5372 9931 }
5373 9932 }
5374 9933 },
5375 9934 zoom: {
5376 - zoom: 1,
9935 + scale: 1,
5377 9936 click: {
5378 9937 x: 0,
5379 9938 y: 0
5380 9939 },
5381 9940 apply: function (el) {
5382 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5383 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5384 - });
5385 - if (el.val() !== '100') {
5386 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5387 - }
5388 -
5389 - e2pdf.zoom.zoom = el.val() / 100;
5390 - 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);
5391 9949 }
5392 9950 }
5393 9951 };
5394 -
5395 9952 jQuery(window).resize(function () {
5396 9953 e2pdf.visual.mapper.clear();
5397 - if (this.e2pdfResizeTO)
9954 + if (e2pdf.static.observer !== null) {
9955 + e2pdf.static.observer.disconnect();
9956 + e2pdf.static.observer = null;
9957 + }
9958 + if (this.e2pdfResizeTO) {
5398 9959 clearTimeout(this.e2pdfResizeTO);
9960 + }
5399 9961 this.e2pdfResizeTO = setTimeout(function () {
5400 9962 jQuery(this).trigger('e2pdfResizeEnd');
5401 9963 }, 500);
5402 9964 });
5403 -
9965 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9966 + jQuery(this).parent().addClass('e2pdf-hide');
9967 + jQuery(this).trigger('e2pdfResizeEnd');
9968 +});
5404 9969 jQuery(window).bind('e2pdfResizeEnd', function () {
5405 9970 e2pdf.dialog.rebuild();
5406 9971 });
5407 -
5408 -jQuery(' input.e2pdf-collapse[type="checkbox"]').live('change', function (e) {
9972 +jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
5409 9973 var collapse = jQuery(this).attr('data-collapse');
5410 9974 if (collapse) {
5411 9975 if (jQuery(this).is(':checked')) {
5412 9976 jQuery('.' + collapse).removeClass('e2pdf-hide');
@@ -5414,85 +9978,196 @@
5414 9978 jQuery('.' + collapse).addClass('e2pdf-hide');
5415 9979 }
5416 9980 }
5417 9981 });
9982 +jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
5418 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 +});
5419 10032 jQuery(document).ready(function () {
5420 -
5421 - 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) {
5422 10038 e.stopPropagation();
5423 10039 e.preventDefault();
5424 10040 e.stopImmediatePropagation();
5425 10041 return false;
5426 10042 });
5427 -
5428 - 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) {
5429 10069 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5430 - 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 + }
5431 10078 e2pdf.actions.add(element, actions);
5432 - jQuery(this).trigger('e2pdfResizeEnd');
5433 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 + }
5434 10090
5435 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5436 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5437 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5438 10091 e2pdf.actions.conditions.add(element, action_conditions);
5439 - jQuery(this).trigger('e2pdfResizeEnd');
5440 10092 });
5441 -
5442 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5443 - 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?'))) {
5444 10095 return false;
5445 10096 }
5446 10097 var action = jQuery(this).closest('.e2pdf-action');
5447 10098 e2pdf.actions.delete(action);
5448 10099 });
5449 -
5450 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10100 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5451 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');
5452 10106 if (action.find('.e2pdf-condition').length === 1) {
5453 - alert(e2pdfLang["Last condition can't be removed"]);
10107 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5454 10108 return false;
5455 10109 }
5456 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10110 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5457 10111 return false;
5458 10112 }
5459 10113 var condition = jQuery(this).closest('.e2pdf-condition');
5460 10114 e2pdf.actions.conditions.delete(condition);
5461 10115 });
5462 -
5463 - 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) {
5464 10133 e2pdf.zoom.apply(jQuery(this));
5465 10134 });
5466 -
5467 - jQuery('#e2pdf-extension').live('change', function () {
10135 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5468 10136 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5469 10137 });
5470 -
5471 - jQuery('#e2pdf-item').live('change', function () {
10138 + jQuery(document).on('change', '.e2pdf-item', function (e) {
5472 10139 if (jQuery(this).val() == '-1') {
5473 - 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');
5474 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');
5475 10151 } else {
5476 - jQuery(this).closest('form').find('#e2pdf-w-empty,#e2pdf-w-auto').attr('disabled', false);
5477 - jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
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');
5478 10156 }
5479 10157 });
5480 -
5481 - 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) {
5482 10159 var action = jQuery(this).closest('.e2pdf-action');
5483 - e2pdf.actions.change(action);
10160 + e2pdf.actions.change(action, jQuery(this));
5484 10161 });
5485 -
5486 - jQuery('.e2pdf-tabs a').live('click', function () {
5487 - 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();
5488 10164 var tab = jQuery(this);
5489 10165 tab.closest('ul').find('li').removeClass('active');
5490 10166 tab.parent('li').addClass('active');
5491 10167 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5492 10168 });
5493 -
5494 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10169 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5495 10170 var parent = jQuery(this).closest('.e2pdf-closed');
5496 10171 if (parent.hasClass('e2pdf-opened')) {
5497 10172 parent.removeClass('e2pdf-opened');
5498 10173 } else {
@@ -5501,196 +10176,358 @@
5501 10176 });
5502 10177 parent.addClass('e2pdf-opened');
5503 10178 }
5504 10179 });
5505 -
5506 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10180 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5507 10181 e.preventDefault();
5508 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 + }
5509 10193 e2pdf.request.submitForm(el);
5510 10194 });
5511 -
5512 - jQuery('.e2pdf-submit-local').live('click', function () {
10195 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5513 10196 var el = jQuery(this);
5514 - e2pdf.request.submitLocal(el);
10197 + if (el.hasClass('e2pdf-noclose')) {
10198 + e2pdf.request.submitLocal(el, true);
10199 + } else {
10200 + e2pdf.request.submitLocal(el);
10201 + }
5515 10202 });
5516 -
5517 - jQuery('.e2pdf-delete').live('click', function () {
5518 - 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?');
5519 10205 if (!confirm(message)) {
5520 10206 e2pdf.delete('.e2pdf-context');
5521 10207 return false;
5522 10208 }
10209 + var history = [];
5523 10210 for (var key in e2pdf.element.selected) {
5524 10211 var selected = e2pdf.element.selected[key];
10212 + e2pdf.element.init(selected);
10213 + history.push(selected.clone(true));
5525 10214 e2pdf.element.delete(selected);
5526 10215 }
5527 -
10216 + e2pdf.history.set('element_delete', history);
5528 10217 e2pdf.element.unselect();
5529 10218 });
5530 -
5531 - jQuery('.e2pdf-copy').live('click', function () {
5532 - e2pdf.element.unbuffer();
5533 -
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 + }
5534 10224 for (var key in e2pdf.element.selected) {
5535 10225 var selected = e2pdf.element.selected[key];
5536 - e2pdf.element.copy(selected);
10226 + e2pdf.copy(type, selected);
5537 10227 }
5538 10228 });
5539 -
5540 - 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 = [];
5541 10245 for (var key in e2pdf.element.selected) {
5542 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];
5543 10305 e2pdf.element.hide(selected);
5544 10306 }
5545 10307 });
5546 -
5547 - jQuery('.e2pdf-unhidden').live('click', function () {
10308 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5548 10309 for (var key in e2pdf.element.selected) {
5549 10310 var selected = e2pdf.element.selected[key];
5550 10311 e2pdf.element.show(selected);
5551 10312 }
5552 10313 });
5553 -
5554 - jQuery('.e2pdf-cut').live('click', function () {
5555 - e2pdf.element.unbuffer();
10314 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5556 10315 for (var key in e2pdf.element.selected) {
5557 10316 var selected = e2pdf.element.selected[key];
5558 - e2pdf.element.cut(selected);
10317 + e2pdf.properties.set(selected, 'locked', '1');
10318 + selected.addClass('e2pdf-locked');
5559 10319 }
5560 10320 });
5561 -
5562 - jQuery('.e2pdf-paste').live('click', function () {
5563 - 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 + }
5564 10327 });
5565 -
5566 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5567 - e2pdf.element.paste(true);
10328 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10329 + return false;
5568 10330 });
5569 -
5570 - jQuery('.e2pdf-checkbox').live('click', function () {
10331 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5571 10332 return false;
5572 10333 });
5573 -
5574 - jQuery('.e2pdf-radio').live('click', function () {
5575 - 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 + }
5576 10342 });
5577 -
5578 - jQuery('.e2pdf-hide-controls').live('click', function () {
10343 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5579 10344 if (jQuery(this).hasClass('e2pdf-inactive')) {
5580 - jQuery('html').removeClass('e2pdf-hide-markup');
10345 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5581 10346 jQuery(this).removeClass('e2pdf-inactive');
5582 10347 } else {
5583 - jQuery('html').addClass('e2pdf-hide-markup');
10348 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5584 10349 jQuery(this).addClass('e2pdf-inactive');
5585 10350 }
5586 10351 });
5587 -
5588 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10352 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5589 10353 if (jQuery(this).hasClass('e2pdf-inactive')) {
5590 - jQuery('html').addClass('e2pdf-show-all-elements');
5591 10354 jQuery(this).removeClass('e2pdf-inactive');
5592 10355 } else {
5593 - jQuery('html').removeClass('e2pdf-show-all-elements');
5594 10356 jQuery(this).addClass('e2pdf-inactive');
5595 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 + });
5596 10368 });
5597 -
5598 - jQuery('.e2pdf-add-page').live('click', function () {
10369 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5599 10370 if (e2pdf.pdf.settings.get('pdf')) {
5600 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5601 - } else if (e2pdfParams['license_type'] == 'FREE') {
5602 - 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'));
5603 10374 } else {
5604 10375 e2pdf.pages.createPage();
5605 10376 }
5606 10377 });
5607 -
5608 - 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 + }
5609 10389 e2pdf.createPdf(jQuery(this));
5610 10390 });
5611 -
5612 - jQuery('.e2pdf-up-page').live('click', function () {
10391 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5613 10392 e2pdf.pages.movePage(jQuery(this), 'up');
5614 10393 });
5615 -
5616 - jQuery('.e2pdf-down-page').live('click', function () {
10394 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5617 10395 e2pdf.pages.movePage(jQuery(this), 'down');
5618 10396 });
5619 -
5620 - jQuery('.e2pdf-delete-page').live('click', function () {
10397 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5621 10398 if (e2pdf.pdf.settings.get('pdf')) {
5622 - 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?'))) {
5623 10400 return false;
5624 10401 }
5625 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10402 + var history = [];
10403 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5626 10404 var el = jQuery(this);
10405 + history.push(el.closest('.e2pdf-page').clone(true));
5627 10406 e2pdf.pages.deletePage(el);
5628 10407 });
10408 + history.reverse();
10409 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5629 10410 } else {
5630 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10411 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5631 10412 return false;
5632 10413 }
5633 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);
5634 10418 e2pdf.pages.deletePage(el);
5635 10419 }
5636 10420 });
5637 -
5638 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5639 - 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?'))) {
5640 10423 return false;
5641 10424 }
5642 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10425 + var history = [];
10426 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5643 10427 var el = jQuery(this);
10428 + history.push(el.closest('.e2pdf-page').clone(true));
5644 10429 e2pdf.pages.deletePage(el);
5645 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 + }
5646 10437 });
5647 -
5648 - jQuery('.e2pdf-delete-font').live('click', function () {
5649 - 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?'))) {
5650 10440 return false;
5651 10441 }
5652 10442 var el = jQuery(jQuery(this));
5653 10443 e2pdf.font.delete(el);
5654 10444 });
5655 -
5656 - jQuery('.e2pdf-modal').live('click', function () {
10445 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5657 10446 e2pdf.dialog.create(jQuery(this));
5658 10447 });
5659 -
5660 - jQuery('body').live('click', function (e) {
10448 + jQuery(document).on('click', 'body', function (e) {
5661 10449 e2pdf.delete('.e2pdf-context');
5662 10450 });
5663 -
5664 - jQuery('#e2pdf-font').live('change', function () {
5665 - e2pdf.font.load(jQuery(this));
5666 - 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));
5667 10453 });
5668 -
5669 - jQuery('#e2pdf-export-template').live('change', function () {
5670 - 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 + }
5671 10464 });
5672 -
5673 - jQuery('#e2pdf-export-dataset').live('change', function () {
10465 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5674 10466 var data = {};
5675 - data['template'] = jQuery('#e2pdf-export-template').val();
5676 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5677 - 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);
5678 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 + }
5679 10484
5680 - jQuery('#e2pdf-font-size').live('change', function () {
5681 - 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 + }
5682 10494 });
5683 -
5684 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5685 - 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 ||
5686 10522 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5687 10523 (e.shiftKey === true && e.keyCode === 187) ||
5688 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10524 + (e.keyCode >= 35 && e.keyCode <= 40)
10525 + ) {
5689 10526
5690 - 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')) {
5691 10528 e.preventDefault();
5692 - } 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')) {
5693 10530 e.preventDefault();
5694 10531 } else {
5695 10532 return;
5696 10533 }
@@ -5698,10 +10535,19 @@
5698 10535 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5699 10536 e.preventDefault();
5700 10537 }
5701 10538 });
5702 -
5703 - 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) {
5704 10550 var value = jQuery(this).val().trim();
5705 10551 var prefix = '';
5706 10552 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5707 10553 prefix = '+';
@@ -5711,18 +10557,22 @@
5711 10557 value = 0;
5712 10558 }
5713 10559 jQuery(this).val(prefix + value);
5714 10560 });
5715 -
5716 - jQuery('#e2pdf-font-color').live('change', function () {
5717 - 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'));
5718 10563 });
5719 -
5720 - jQuery('#e2pdf-line-height').live('change', function () {
5721 - 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 + }
5722 10570 });
5723 -
5724 - 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) {
5725 10575 e.preventDefault();
5726 10576 for (var key in e2pdf.element.selected) {
5727 10577 var selected = e2pdf.element.selected[key];
5728 10578 e2pdf.mediaUploader.init(selected);
@@ -5727,25 +10577,43 @@
5727 10577 var selected = e2pdf.element.selected[key];
5728 10578 e2pdf.mediaUploader.init(selected);
5729 10579 }
5730 10580 });
5731 -
5732 - jQuery('.e2pdf-visual').live('click', function (e) {
10581 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5733 10582 for (var key in e2pdf.element.selected) {
5734 10583 var selected = e2pdf.element.selected[key];
5735 10584 e2pdf.visual.mapper.init(selected);
5736 10585 }
5737 10586 });
5738 -
5739 - 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 + }
5740 10606 e2pdf.wysiwyg.apply(jQuery(this));
5741 10607 });
5742 -
5743 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5744 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10608 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5745 10609 e.preventDefault();
5746 10610 e.stopPropagation();
5747 10611 e.stopImmediatePropagation();
10612 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10613 + return;
10614 + }
10615 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5748 10616 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5749 10617 if (!color_panel.hasClass('wp-picker-active')) {
5750 10618 color_panel.find('.wp-color-result').click();
5751 10619 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5756,32 +10624,84 @@
5756 10624 color_panel.append(close);
5757 10625 }
5758 10626 }
5759 10627 });
5760 -
5761 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5762 - 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 + }
5763 10686 });
5764 -
5765 - jQuery('#e2pdf-wysiwyg-fontsize').live('change', function () {
10687 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5766 10688 e2pdf.wysiwyg.apply(jQuery(this));
5767 10689 });
5768 -
5769 - jQuery('#e2pdf-wysiwyg-font').live('change', function () {
5770 - 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'));
5771 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 + }
5772 10698
5773 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5774 - e2pdf.request.upload('e2pdf_upload', jQuery('#e2pdf-w-upload'));
5775 - });
5776 -
5777 - jQuery('#e2pdf-w-reupload').live('click', function () {
5778 10699 var message = "";
5779 10700 if (e2pdf.static.unsaved) {
5780 - 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";
5781 10702 }
5782 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5783 -
10703 + message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
5784 10704 jQuery(this).attr('disabled', 'disabled');
5785 10705 jQuery(this).closest('form').append(
5786 10706 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
5787 10707 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
@@ -5786,79 +10706,128 @@
5786 10706 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
5787 10707 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
5788 10708 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
5789 10709 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
5790 - 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'))
5791 10711 ),
5792 10712 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
5793 - 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'))
5794 10714 )
5795 10715 )
5796 10716 )
5797 10717 );
5798 10718 });
5799 -
5800 - 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) {
5801 10754 jQuery(this).closest('.e2pdf-confirmation').remove();
5802 - jQuery('#e2pdf-w-reupload').attr('disabled', false);
5803 - jQuery('#e2pdf-reupload-pdf').click();
10755 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10756 + jQuery('.e2pdf-reupload-pdf').click();
5804 10757 });
5805 -
5806 - jQuery('.e2pdf-confirmation-cancel').live('click', function () {
10758 + jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
5807 10759 jQuery(this).closest('.e2pdf-confirmation').remove();
5808 - jQuery('#e2pdf-w-reupload').attr('disabled', false);
10760 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
5809 10761 });
5810 -
5811 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5812 - 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'));
5813 10764 });
5814 -
5815 - jQuery('.e2pdf-scale-field').live('change', function () {
5816 - var value = jQuery(this).val();
5817 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5818 - fields.find('input[name="height"]').attr('readonly', false);
5819 - fields.find('input[name="width"]').attr('readonly', false);
5820 - var image = new Image();
5821 - image.src = fields.find('*[name="value"]').val();
5822 - image.onload = function ()
5823 - {
5824 - if (value === e2pdf.static.const.WIDTH) {
5825 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5826 - } else if (value === e2pdf.static.const.HEIGHT) {
5827 - 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;
5828 10772 }
5829 - };
10773 + }
5830 10774 });
5831 -
5832 - jQuery('.e2pdf-el-properties input[name="group"]').live('click', function () {
5833 - jQuery(this).autocomplete("search", "");
5834 - });
5835 -
5836 - jQuery('.e2pdf-settings-style-change').live('change', function () {
10775 + jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
5837 10776 e2pdf.event.fire('after.settings.style.change');
5838 10777 });
5839 -
5840 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10778 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5841 10779 e2pdf.event.fire('after.settings.template.change');
5842 10780 });
5843 -
5844 - 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) {
5845 10810 if (jQuery(this).val() !== '') {
5846 10811 var form = jQuery(this).closest('form');
5847 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10812 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5848 10813 form.find('input[name="width"]').val(size.width);
5849 10814 form.find('input[name="height"]').val(size.height);
5850 10815 }
5851 10816 });
5852 -
5853 - jQuery('.e2pdf-vm-element').live('click', function () {
10817 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5854 10818 e2pdf.visual.mapper.apply(jQuery(this));
5855 10819 });
5856 -
5857 - jQuery('.e2pdf-drag').live('click', function (e) {
10820 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10821 + e2pdf.element.unselect();
10822 + e2pdf.element.unfocus();
5858 10823 var el = jQuery(this).closest('.e2pdf-element');
5859 -
5860 - 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) {
5861 10830 if (el.hasClass('e2pdf-selected')) {
5862 10831 e2pdf.element.unselect(el);
5863 10832 } else {
5864 10833 e2pdf.element.select(el);
@@ -5880,23 +10849,21 @@
5880 10849 }
5881 10850 }
5882 10851 }
5883 10852 });
5884 -
5885 - jQuery('.e2pdf-activate-template').live('click', function () {
10853 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5886 10854 var data = {};
5887 10855 data['id'] = jQuery(this).attr('data-id');
5888 10856 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5889 10857 });
5890 -
5891 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10858 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5892 10859 var data = {};
5893 10860 data['id'] = jQuery(this).attr('data-id');
5894 10861 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5895 10862 });
5896 -
5897 - jQuery('.e2pdf-delete-item').live('click', function () {
5898 - 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?'))) {
5899 10866 return false;
5900 10867 }
5901 10868 var data = {};
5902 10869 data['template'] = jQuery(this).attr('template');
@@ -5902,11 +10869,11 @@
5902 10869 data['template'] = jQuery(this).attr('template');
5903 10870 data['dataset'] = jQuery(this).attr('dataset');
5904 10871 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5905 10872 });
5906 -
5907 - jQuery('.e2pdf-delete-items').live('click', function () {
5908 - 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?'))) {
5909 10876 return false;
5910 10877 }
5911 10878 var data = {};
5912 10879 data['template'] = jQuery(this).attr('template');
@@ -5911,17 +10878,103 @@
5911 10878 var data = {};
5912 10879 data['template'] = jQuery(this).attr('template');
5913 10880 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5914 10881 });
5915 -
5916 - 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) {
5917 10907 jQuery(this).select();
5918 10908 });
5919 -
5920 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10909 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5921 10910 jQuery(this).autocomplete("search", '');
5922 10911 });
5923 -
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 + });
5924 10977 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5925 10978 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5926 10979 }
5927 10980
@@ -5944,8 +10997,16 @@
5944 10997 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5945 10998 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5946 10999 }
5947 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 +
5948 11009 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5949 11010 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5950 11011 }
5951 11012
@@ -5956,22 +11017,17 @@
5956 11017 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
5957 11018 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
5958 11019 }
5959 11020
5960 - if (jQuery('.e2pdf-form-builder > input[name="templates_limit"]').length > 0) {
5961 - 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());
5962 11023 }
5963 11024
5964 11025 jQuery('#e2pdf-zoom').trigger('change');
5965 -
5966 11026 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5967 - if (e2pdf.url.get('template_id')) {
11027 + if (e2pdf.url.get('id')) {
11028 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5968 11029 e2pdf.static.autoloadExport = true;
5969 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5970 - jQuery('#e2pdf-export-template').val('0').change();
5971 - } else {
5972 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5973 - }
5974 11030 }
5975 11031 }
5976 11032
5977 11033 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
@@ -5991,9 +11047,8 @@
5991 11047 }
5992 11048 }
5993 11049 ).removeClass('e2pdf-color-picker-load');
5994 11050 });
5995 -
5996 11051 jQuery(window).bind("beforeunload", function (e) {
5997 11052 if (e2pdf.static.unsaved) {
5998 11053 var confirmationMessage = "\o/";
5999 11054 (e || window.event).returnValue = confirmationMessage;
@@ -5999,16 +11054,8 @@
5999 11054 (e || window.event).returnValue = confirmationMessage;
6000 11055 return confirmationMessage;
6001 11056 }
6002 11057 });
6003 -
6004 - jQuery(document).bind("mousedown", function (e) {
6005 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
6006 - e2pdf.delete('.e2pdf-fade');
6007 - e2pdf.delete('.e2pdf-properties-window');
6008 - }
6009 - });
6010 -
6011 11058 if (jQuery('#e2pdf-build-form').length > 0) {
6012 11059 postboxes.add_postbox_toggles(pagenow);
6013 11060 }
6014 11061
@@ -6014,16 +11061,14 @@
6014 11061
6015 11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
6016 11063 && typeof (jQuery.ui.droppable) != 'undefined'
6017 11064 && jQuery('.e2pdf-tpl').length > 0) {
6018 -
6019 - // jQuery UI scale bug fix
11065 +// jQuery UI scale bug fix
6020 11066 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
6021 11067 var i, j,
6022 11068 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
6023 11069 type = event ? event.type : null,
6024 11070 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
6025 -
6026 11071 droppablesLoop: for (i = 0; i < m.length; i++) {
6027 11072 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
6028 11073 continue;
6029 11074 }
@@ -6040,52 +11085,49 @@
6040 11085 if (type === "mousedown") {
6041 11086 m[ i ]._activate.call(m[ i ], event);
6042 11087 }
6043 11088 m[ i ].offset = m[ i ].element.offset();
6044 - 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});
6045 11090 }
6046 - }
6047 -
6048 - 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 () {
6049 11100 var element = jQuery(this);
6050 11101 var type = element.attr('data-type');
6051 11102 var page = element.closest('.e2pdf-page');
6052 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
6053 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
6054 -
11103 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11104 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
6055 11105 properties['width'] = element.attr('data-width');
6056 11106 properties['height'] = element.attr('data-height');
6057 11107 properties['top'] = element.attr('data-top');
6058 11108 properties['left'] = element.attr('data-left');
6059 - if (type == 'e2pdf-html') {
6060 - properties['value'] = element.find('.e2pdf-data-value').html();
6061 - } else {
6062 - properties['value'] = element.find('.e2pdf-data-value').text();
6063 - }
6064 - properties['name'] = element.find('.e2pdf-data-name').text();
6065 - //changed
11109 + properties['value'] = element.find('.e2pdf-data-value').val();
11110 + properties['name'] = element.find('.e2pdf-data-name').val();
6066 11111 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
6067 11112 jQuery(this).replaceWith(el);
6068 11113 e2pdf.properties.render(el);
6069 11114 });
6070 -
6071 - jQuery(".e2pdf-load-page").each(function () {
11115 + jQuery('.e2pdf-load-page').each(function () {
6072 11116 var page = jQuery(this);
6073 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
6074 - 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());
6075 11119 page.find('.e2pdf-data-properties').remove();
6076 11120 page.find('.e2pdf-data-actions').remove();
6077 11121 page.removeClass('e2pdf-load-page');
6078 - e2pdf.pages.createPage(page, properties, actions);
6079 -
11122 + e2pdf.pages.createPage(page, properties, actions, true);
6080 11123 });
6081 -
6082 - jQuery(".e2pdf-be").draggable({
11124 + jQuery('.e2pdf-be').draggable({
11125 + cursorAt: {left: 0, top: 0},
6083 11126 helper: function () {
6084 11127 var element = jQuery(this).clone();
6085 11128 var type = element.attr('data-type');
6086 - var page = element.closest('.e2pdf-page')
6087 - //changed
11129 + var page = element.closest('.e2pdf-page');
6088 11130 var el = e2pdf.element.create(type, page, false, false, true);
6089 11131 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
6090 11132 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
6091 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -6091,35 +11133,40 @@
6091 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
6092 11134 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
6093 11135 e2pdf.properties.render(el);
6094 11136 el.css('z-index', 1);
6095 - if (e2pdf.zoom.zoom != 1) {
6096 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
6097 - 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 + });
6098 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 + });
6099 11152 return el;
6100 11153 },
6101 11154 start: function (ev, ui) {
6102 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
6103 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
6104 11155 e2pdf.element.unselect();
6105 11156 },
6106 11157 stop: function (ev, ui) {
6107 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
6108 -
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();
6109 11161 },
6110 11162 drag: function (ev, ui) {
6111 -
6112 11163 if (e2pdf.static.drag.page !== null) {
6113 -
6114 11164 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
6115 -
6116 11165 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
6117 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
6118 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
6119 -
11166 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11167 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
6120 11168 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
6121 -
6122 11169 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
6123 11170 jQuery.each(el_guides, function (i, elemGuide) {
6124 11171 if (guide.type == elemGuide.type) {
6125 11172 var prop = guide.type == "h" ? "top" : "left";
@@ -6131,23 +11178,21 @@
6131 11178 }
6132 11179 }
6133 11180 });
6134 11181 });
6135 -
6136 11182 if (guides.top.dist <= e2pdf.static.guide.distance) {
6137 - 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();
6138 11184 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
6139 11185 ui.position.top = snap_top;
6140 11186 } else {
6141 - jQuery(".e2pdf-guide-h").hide();
11187 + jQuery('.e2pdf-guide-h').hide();
6142 11188 }
6143 -
6144 11189 if (guides.left.dist <= e2pdf.static.guide.distance) {
6145 - 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();
6146 - 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;
6147 11192 ui.position.left = snap_left;
6148 11193 } else {
6149 - jQuery(".e2pdf-guide-v").hide();
11194 + jQuery('.e2pdf-guide-v').hide();
6150 11195 }
6151 11196 }
6152 11197 }
6153 11198 });
@@ -6153,141 +11198,155 @@
6153 11198 });
6154 11199 e2pdf.welcomeScreen();
6155 11200 }
6156 11201 e2pdf.font.load(jQuery('#e2pdf-font'));
6157 -
6158 11202 jQuery('.e2pdf-load-font').each(function () {
6159 11203 e2pdf.font.load(jQuery(this));
6160 11204 jQuery(this).remove();
6161 11205 });
6162 -
6163 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
6164 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
6165 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
6166 - 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'));
6167 11210 }
6168 11211
6169 11212 jQuery(document).keydown(function (e) {
6170 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
6171 - e.preventDefault();
6172 - switch (e.which) {
6173 - case 37:
6174 - //left
6175 - var diff = 1;
6176 -
6177 - for (var key in e2pdf.element.selected) {
6178 - var selected = e2pdf.element.selected[key];
6179 - if (parseFloat(selected.css('left')) > 0) {
6180 - if (parseFloat(selected.css('left')) - 1 < 0) {
6181 - 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);
6182 11231 }
6183 - } else {
6184 - diff = Math.min(diff, 0);
6185 11232 }
6186 - }
6187 11233
6188 - for (var key in e2pdf.element.selected) {
6189 - var selected = e2pdf.element.selected[key];
6190 - selected.finish().animate({
6191 - left: "-=" + diff
6192 - }, 0);
6193 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6194 - }
6195 - break;
6196 - case 38:
6197 - //top
6198 - var diff = 1;
6199 -
6200 - for (var key in e2pdf.element.selected) {
6201 - var selected = e2pdf.element.selected[key];
6202 - if (parseFloat(selected.css('top')) > 0) {
6203 - if (parseFloat(selected.css('top')) - 1 < 0) {
6204 - 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);
6205 11253 }
6206 - } else {
6207 - diff = Math.min(diff, 0);
6208 11254 }
6209 - }
6210 11255
6211 - for (var key in e2pdf.element.selected) {
6212 - var selected = e2pdf.element.selected[key];
6213 - selected.finish().animate({
6214 - top: "-=" + diff
6215 - }, 0);
6216 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6217 - }
6218 - break;
6219 - case 39:
6220 - //right
6221 - var diff = 1;
6222 -
6223 - for (var key in e2pdf.element.selected) {
6224 - var selected = e2pdf.element.selected[key];
6225 - if (parseFloat(selected.css('right')) > 0) {
6226 - if (parseFloat(selected.css('right')) - 1 < 0) {
6227 - 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);
6228 11275 }
6229 - } else {
6230 - diff = Math.min(diff, 0);
6231 11276 }
6232 - }
6233 11277
6234 - for (var key in e2pdf.element.selected) {
6235 - var selected = e2pdf.element.selected[key];
6236 - selected.finish().animate({
6237 - left: "+=" + diff
6238 - }, 0);
6239 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6240 - }
6241 - break;
6242 - case 40:
6243 - //down
6244 - var diff = 1;
6245 -
6246 - for (var key in e2pdf.element.selected) {
6247 - var selected = e2pdf.element.selected[key];
6248 - if (parseFloat(selected.css('bottom')) > 0) {
6249 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
6250 - 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);
6251 11297 }
6252 - } else {
6253 - diff = Math.min(diff, 0);
6254 11298 }
6255 - }
6256 11299
6257 - for (var key in e2pdf.element.selected) {
6258 - var selected = e2pdf.element.selected[key];
6259 - selected.finish().animate({
6260 - top: "+=" + diff
6261 - }, 0);
6262 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6263 - }
6264 - break;
6265 - case 46:
6266 - //delete
6267 - 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?'];
6268 - if (!confirm(message)) {
6269 - e2pdf.delete('.e2pdf-context');
6270 - return false;
6271 - }
6272 -
6273 - for (var key in e2pdf.element.selected) {
6274 - var selected = e2pdf.element.selected[key];
6275 - e2pdf.element.delete(selected);
6276 - }
6277 -
6278 - e2pdf.element.unselect();
6279 - 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 + }
6280 11326 }
6281 11327 }
6282 11328 });
6283 -
6284 - 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) {
6285 11339 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
6286 11340 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
6287 - jQuery(e.target).closest('.e2pdf-element').length == 0
6288 - ) {
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) {
6289 11347 e2pdf.element.unselect();
11348 + e2pdf.element.unfocus();
6290 11349 }
6291 11350 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
6292 11351 jQuery('.e2pdf-closed').each(function () {
6293 11352 jQuery(this).removeClass('e2pdf-opened');
@@ -6292,9 +11351,20 @@
6292 11351 jQuery('.e2pdf-closed').each(function () {
6293 11352 jQuery(this).removeClass('e2pdf-opened');
6294 11353 });
6295 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 + }
6296 11363 });
6297 -
6298 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11364 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
6299 11365 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11366 + if (jQuery('.e2pdf-bulks-list').length > 0)
11367 + {
11368 + e2pdf.bulk.progress();
11369 + }
6300 11370 });