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