PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.43
E2Pdf – Export Pdf Tool for WordPress v1.32.43
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
e2pdf / js / e2pdf.backend.js

e2pdf.backend.js in E2Pdf – Export Pdf Tool for WordPress 1.32.43, at js/e2pdf.backend.js

11,336 lines 576.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var e2pdf = {
2 // e2pdf.helper
3 helper: {
4 // e2pdf.helper.color
5 color: {
6 close: function (el) {
7 var color_panel = jQuery(el).parent();
8 color_panel.find('.wp-color-result').click();
9 }
10 },
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
50 image: {
51 // e2pdf.helper.image.load
52 load: function (el) {
53 el.addClass('e2pdf-loader');
54 var properties = e2pdf.properties.get(el);
55 var value = e2pdf.helper.getString(properties['value']);
56 var image = new Image();
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
81 var children = e2pdf.element.children(el);
82 children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
83 image.onload = function ()
84 {
85 el.removeClass('e2pdf-loader');
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;
148 }
149 };
150 image.onerror = function ()
151 {
152 el.removeClass('e2pdf-loader');
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;
174 }
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);
240 }
241 },
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 }
249 },
250 getInt: function (value, def = 0, units = '') {
251 const val = parseInt(value);
252 if (units) {
253 return isNaN(val) ? def : val + units;
254 } else {
255 return isNaN(val) ? def : val;
256 }
257
258 },
259 getString: function (value, def = '', units = '') {
260 const val = value;
261 if (units) {
262 return typeof val === 'undefined' ? def : val + units;
263 } else {
264 return typeof val === 'undefined' ? def : val;
265 }
266 },
267 getCheckbox: function (value, def = '', units = '') {
268 const val = value;
269 if (units) {
270 return typeof val === 'undefined' || val != '1' ? def : val + units;
271 } else {
272 return typeof val === 'undefined' || val != '1' ? def : val;
273 }
274 },
275 // e2pdf.helper.toHtml
276 toHtml: function (value) {
277 var div = document.createElement('div');
278 div.innerHTML = value;
279 return (div.innerHTML);
280 },
281 stripHTML: function (html, ...args) {
282 return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 },
286 // e2pdf.helper.sizeToFloat
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) {
296 if (action) {
297 var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
298 } else {
299 var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
300 }
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;
371 }
372 },
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
569 url: {
570 // e2pdf.url.change
571 change: function (page, path) {
572 if (window.history && window.history.pushState) {
573 var url = window.location.pathname;
574 if (page) {
575 url += '?page=' + page;
576 }
577
578 if (path) {
579 url += '&' + path;
580 }
581 history.pushState({urlPath: url}, "", url);
582 }
583 },
584 // e2pdf.url.build
585 build: function (page, path, _wpnonce) {
586 var url = window.location.pathname;
587 if (page) {
588 url += '?page=' + page;
589 }
590 if (path) {
591 url += '&' + path;
592 }
593 if (_wpnonce) {
594 url += '&_wpnonce=' + _wpnonce;
595 }
596 return url;
597 },
598 // e2pdf.url.get
599 get: function (name, url) {
600 if (!url) {
601 url = window.location.href;
602 }
603 if (!name) {
604 return url;
605 }
606 name = name.replace(/[\[\]]/g, "\\$&");
607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
608 if (!results) {
609 return null;
610 }
611 if (!results[2]) {
612 return '';
613 }
614 return decodeURIComponent(results[2].replace(/\+/g, " "));
615 },
616 pluginsUrl: function () {
617 return e2pdf_params['plugins_url'];
618 },
619 uploadUrl: function () {
620 return e2pdf_params['upload_url'];
621 }
622 },
623 // e2pdf.guide
624 guide: {
625 // e2pdf.guide.calc
626 calc: function (el, pos, w, h, g) {
627 if (el != null) {
628 if (g) {
629 w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
630 h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
631 pos = jQuery(el).offset();
632 if (jQuery(el).hasClass('e2pdf-page')) {
633 pos = {
634 left: pos.left + 1,
635 top: pos.top + 1
636 };
637 }
638 } else {
639 w = parseFloat(jQuery(el).css('width'));
640 h = parseFloat(jQuery(el).css('height'));
641 if (jQuery(el).hasClass('e2pdf-page')) {
642 pos = {
643 left: 0,
644 top: 0
645 };
646 } else {
647 pos = {
648 left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
649 top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
650 };
651 }
652 }
653 }
654
655 return [
656 {type: "h", left: pos.left, top: pos.top},
657 {type: "h", left: pos.left, top: pos.top + h},
658 {type: "v", left: pos.left, top: pos.top},
659 {type: "v", left: pos.left + w, top: pos.top},
660 {type: "h", left: pos.left, top: pos.top + h / 2},
661 {type: "v", left: pos.left + w / 2, top: pos.top}
662 ];
663 }
664 },
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
681 pdf: {
682 // e2pdf.pdf.settings
683 settings: {
684 options: [],
685 // e2pdf.pdf.settings.change
686 change: function (key, value) {
687 e2pdf.pdf.settings.options[key] = value;
688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
690 } else {
691 var input = jQuery('<input>',
692 {
693 'type': 'hidden',
694 'name': key,
695 'value': value
696 });
697 jQuery('.e2pdf-form-builder').append(input);
698 }
699
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);
705 }
706 },
707 // e2pdf.pdf.settings.set
708 set: function (key, value) {
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 }
716 },
717 // e2pdf.pdf.settings.get
718 get: function (key) {
719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
720 return null;
721 } else {
722 return e2pdf.pdf.settings.options[key];
723 }
724 }
725 }
726 },
727 // e2pdf.static
728 static: {
729 // e2pdf.static.unsaved
730 unsaved: false,
731 // e2pdf.static.mediaUploader
732 mediaUploader: false,
733 // e2pdf.static.autoloadExport
734 autoloadExport: false,
735 // e2pdf.static.selectionRange
736 selectionRange: null,
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
749 guide: {
750 // e2pdf.static.guide.guides
751 guides: [],
752 // e2pdf.static.guide.distance
753 distance: 5,
754 x: 0,
755 y: 0
756 },
757 // e2pdf.static.drag
758 drag: {
759 // e2pdf.static.drag.min_top
760 min_top: 0,
761 // e2pdf.static.drag.max_top
762 max_top: 0,
763 // e2pdf.static.drag.min_left
764 min_left: 0,
765 // e2pdf.static.drag.max_left
766 max_left: 0,
767 // e2pdf.static.drag.page
768 page: null
769 }
770 },
771 // e2pdf.event
772 event: {
773 // e2pdf.event.fire
774 fire: function (event, action, el) {
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'
788 ) {
789 e2pdf.static.unsaved = true;
790 }
791
792 if (event === 'before.request.submitForm') {
793 e2pdf.static.unsaved = false;
794 }
795
796 if (event === 'after.dialog.create' || event === 'after.actions.change') {
797 jQuery('.e2pdf-color-picker-load').each(function () {
798 jQuery(this).wpColorPicker(
799 {
800 defaultColor: function () {
801 if (jQuery(this).attr('data-default')) {
802 return jQuery(this).attr('data-default');
803 } else {
804 return;
805 }
806 },
807 change: function (event, ui) {
808 jQuery(this).val(ui.color.toString()).change();
809 }
810 }
811 ).removeClass('e2pdf-color-picker-load');
812 });
813 }
814
815 if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
816 jQuery('#e2pdf-zoom').trigger('change');
817 }
818
819 if (event === 'before.request.submitRequest') {
820 el.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;
852 }
853 }
854
855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
856 if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
857 el.attr('disabled', false);
858 }
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;
878 }
879 }
880
881 if (event === 'before.request.upload') {
882 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
883 }
884
885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
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'})
891 );
892 el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
893 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
894 );
895 }
896 }
897 },
898 // e2pdf.form
899 form: {
900 // e2pdf.form.serializeObject
901 serializeObject: function (form) {
902
903 var o = {};
904 var a = form.serializeArray();
905 jQuery.each(a, function () {
906 if (this.name.endsWith('[]')) {
907
908 var name = this.name;
909 name = name.substring(0, this.name.length - 2);
910 if (!(name in o)) {
911 o[name] = [];
912 }
913 o[name].push(this.value);
914 } else if (this.name.endsWith(']')) {
915
916 var name = this.name;
917 var path = name.split(/[\[\]]+/);
918 var curItem = o;
919 for (var j = 0; j < path.length - 2; j++)
920 {
921 if (!(path[j] in curItem))
922 {
923 curItem[path[j]] = {};
924 }
925 curItem = curItem[path[j]];
926 }
927
928 curItem[path[j]] = this.value || '';
929 } else {
930 o[this.name] = this.value || '';
931 }
932 });
933 return o;
934 },
935 // e2pdf.form.serializeElements
936 serializeElements: function () {
937 var o = {};
938 jQuery('.e2pdf-element').each(
939 function (index) {
940 var el = {};
941 el.type = jQuery(this).data('data-type');
942 el.properties = e2pdf.properties.get(jQuery(this));
943 el.actions = e2pdf.actions.get(jQuery(this));
944 el.top = jQuery(this).css('top');
945 el.left = jQuery(this).css('left');
946 el.width = jQuery(this).css('width');
947 el.height = jQuery(this).css('height');
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;
980 }
981 el.name = e2pdf.helper.getString(el.properties['name']);
982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
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'];
993 o[index] = el;
994 });
995 return o;
996 }
997 },
998 // e2pdf.font
999 font: {
1000 // e2pdf.font.load
1001 load: function (el) {
1002 var name, value;
1003 if (el.is('select')) {
1004 name = el.val();
1005 value = el.find('option:selected').attr('path');
1006 } else if (el.is('div')) {
1007 name = el.attr('name');
1008 value = el.attr('path');
1009 }
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 );
1017 }
1018 },
1019 // e2pdf.font.apply
1020 apply: function (el, font) {
1021 let font_name = font.find('option:selected').html();
1022 el.css('font-family', font_name ? CSS.escape(font_name) : '');
1023 },
1024 // e2pdf.font.size
1025 size: function (el, size) {
1026 var font_size = size.val();
1027 el.css({'font-size': font_size + "px"});
1028 },
1029 // e2pdf.font.line
1030 line: function (el, height) {
1031 var line_height = height.val();
1032 el.css({'line-height': line_height + "px"});
1033 },
1034 // e2pdf.font.color
1035 fontcolor: function (el, color) {
1036 var font_color = color.val();
1037 el.css({'color': font_color});
1038 },
1039 // e2pdf.font.delete
1040 delete: function (el) {
1041 var font = el.attr('data-font');
1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
1043 }
1044 },
1045 // e2pdf.request
1046 request: {
1047 // e2pdf.request.upload
1048 upload: function (action, el) {
1049 if (el.attr('disabled')) {
1050 return;
1051 }
1052 var data = new FormData(el.closest('form')[0]);
1053 e2pdf.event.fire('before.request.upload', action, el);
1054 jQuery('html').addClass('e2pdf-loading');
1055 jQuery.ajax({
1056 url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
1057 type: 'POST',
1058 data: data,
1059 cache: false,
1060 contentType: false,
1061 processData: false,
1062 success: function (response) {
1063 if (response.redirect !== undefined) {
1064 e2pdf.event.fire('after.request.upload.success', action, el);
1065 e2pdf.static.unsaved = false;
1066 location.href = response.redirect;
1067 } else if (response.error !== undefined) {
1068 jQuery('html').removeClass('e2pdf-loading');
1069 e2pdf.event.fire('after.request.upload.error', action, el);
1070 alert(response.error);
1071 } else {
1072 jQuery('html').removeClass('e2pdf-loading');
1073 e2pdf.event.fire('after.request.upload.error', action, el);
1074 }
1075 },
1076 error: function (response) {
1077 jQuery('html').removeClass('e2pdf-loading');
1078 e2pdf.event.fire('after.request.upload.error', action, el);
1079 }
1080 });
1081 },
1082 // e2pdf.request.submitForm
1083 submitForm: function (el) {
1084 if (el.attr('disabled')) {
1085 return;
1086 }
1087 el.attr('disabled', 'disabled');
1088 jQuery('html').addClass('e2pdf-loading');
1089 e2pdf.event.fire('before.request.submitForm');
1090 var form_id = el.attr('form-id');
1091 var form = jQuery(document.getElementById(form_id));
1092 var data = e2pdf.form.serializeObject(form);
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;
1131 }
1132 jQuery('html').addClass('e2pdf-loading');
1133 if (el.attr('target') === '_blank') {
1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
1135 jQuery('<textarea>', {'name': 'preview'}).val(data)
1136 ).hide();
1137 jQuery('body').append(post_form);
1138 post_form.submit();
1139 post_form.remove();
1140 jQuery('html').removeClass('e2pdf-loading');
1141 el.attr('disabled', false);
1142 return false;
1143 }
1144 jQuery.ajax({
1145 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1146 data: {action: action, data: data},
1147 success: function (response) {
1148 if (response.redirect !== undefined) {
1149 location.href = response.redirect;
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 }
1161 }
1162 },
1163 error: function (response) {
1164 jQuery('html').removeClass('e2pdf-loading');
1165 el.attr('disabled', false);
1166 }
1167 });
1168 },
1169 // e2pdf.request.submitRequest
1170 submitRequest: function (action, el, value) {
1171 if (el.attr('disabled')) {
1172 return;
1173 }
1174 if (action !== 'e2pdf_bulk_progress') {
1175 jQuery('html').addClass('e2pdf-loading');
1176 }
1177 if (!value) {
1178 var value = el.val();
1179 }
1180 var _wpnonce = el.attr('_wpnonce');
1181 if (action == 'e2pdf_bulk_progress') {
1182 _wpnonce = e2pdf_params['nonce']['e2pdf'];
1183 }
1184
1185 e2pdf.event.fire('before.request.submitRequest', action, el);
1186 jQuery.ajax({
1187 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1188 data: {action: action, data: value},
1189 success: function (response) {
1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
1191 if (response.redirect !== undefined) {
1192 location.href = response.redirect;
1193 } else if (response.error !== undefined) {
1194 jQuery('html').removeClass('e2pdf-loading');
1195 alert(response.error);
1196 } else if (response.content) {
1197 e2pdf.request.callBack(action, response.content, el);
1198 jQuery('html').removeClass('e2pdf-loading');
1199 } else {
1200 jQuery('html').removeClass('e2pdf-loading');
1201 }
1202 },
1203 error: function (response) {
1204 jQuery('html').removeClass('e2pdf-loading');
1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
1206 }
1207 });
1208 },
1209 // e2pdf.request.submitLocal
1210 submitLocal: function (el, noclose = false) {
1211 var form_id = el.attr('form-id');
1212 var form = jQuery(document.getElementById(form_id));
1213 var data = e2pdf.form.serializeObject(form);
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 }
1226 }
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 }
1251 }
1252 }
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;
1258 }
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;
1283 }
1284 }
1285 }
1286 if (action_error) {
1287 setTimeout(function () {
1288 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1289 }, 0);
1290 return;
1291 }
1292 var history = [];
1293 history.push(element.clone(true));
1294 e2pdf.history.set('element_change', history);
1295 e2pdf.actions.apply(element, data['actions']);
1296 delete data['actions'];
1297 e2pdf.properties.apply(element, data);
1298 e2pdf.properties.render(element);
1299 e2pdf.event.fire('after.request.submitLocal', false, el);
1300 break;
1301 }
1302 if (!noclose) {
1303 e2pdf.dialog.close();
1304 }
1305 },
1306 // e2pdf.request.callBack
1307 callBack: function (action, result, el) {
1308 switch (action) {
1309 case 'e2pdf_email':
1310 if (result === 'subscribed') {
1311 jQuery('.e2pdf-email-lock').remove();
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"]'));
1319 }
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);
1332 }
1333 for (var key in result) {
1334 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1335 var option = jQuery('<option>',
1336 {
1337 'value': result[key]['id']
1338 }).html(result[key]['name']);
1339 if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1340 option.attr('selected', 'selected');
1341 }
1342 option.data('data-item', result[key]);
1343 jQuery('.e2pdf-item1').append(option);
1344 }
1345 }
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 }
1358 }
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 }
1368 }
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]);
1383 }
1384 var images = el.find('img');
1385 var counter = 0;
1386 counter = images.length;
1387 images.each(function () {
1388 var img = new Image();
1389 img.onload = function () {
1390 counter--;
1391 if (counter === 0) {
1392 e2pdf.visual.mapper.rebuild();
1393 }
1394 };
1395 img.onerror = function () {
1396 counter--;
1397 if (counter === 0) {
1398 e2pdf.visual.mapper.rebuild();
1399 }
1400 };
1401 img.src = jQuery(this).attr('src');
1402 });
1403 break;
1404 case 'e2pdf_templates':
1405 var template_id = result['id'];
1406 if (template_id) {
1407 jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1408 for (var key in result['datasets']) {
1409 var options = [];
1410 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1411 dataset_field.closest('.e2pdf-export-item').show();
1412 for (var subkey in result['datasets'][key]) {
1413 var option = {
1414 key: result['datasets'][key][subkey]['key'].toString(),
1415 value: result['datasets'][key][subkey]['value'].toString()
1416 };
1417 options.push(option);
1418 if (e2pdf.url.get('action') == 'bulk') {
1419 dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1420 } else {
1421 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1422 }
1423 }
1424 dataset_field.data('options', options);
1425 if (e2pdf.url.get('action') == 'bulk') {
1426 dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1427 if (Object.keys(result['datasets'][key]).length > 1) {
1428 dataset_field.attr('disabled', false);
1429 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1430 } else {
1431 dataset_field.attr('disabled', 'disabled');
1432 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1433 }
1434 } else {
1435 dataset_field.val('');
1436 e2pdf.select2.update(dataset_field);
1437 e2pdf.select2.enable(dataset_field);
1438 }
1439 }
1440 if (result['actions']) {
1441 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1442 for (var key in result['actions']) {
1443 ul.append(jQuery('<li>').html(result['actions'][key]));
1444 }
1445 jQuery('.e2pdf-export-template-actions').append(ul);
1446 }
1447 jQuery('.e2pdf-export-option').each(function () {
1448 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1449 var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1450 if (result['options'].hasOwnProperty(key)) {
1451 jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1452 if (result['options'][key]) {
1453 jQuery(this).val(result['options'][key]);
1454 } else {
1455 if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1456 jQuery(this).val('[e2pdf-dataset]');
1457 } else {
1458 if (key == 'args') {
1459 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1460 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1461 }
1462 jQuery(this).val('');
1463 }
1464 }
1465 } else {
1466 jQuery(this).val('');
1467 }
1468 if (jQuery(this).attr('name') == 'options[name]') {
1469 if (e2pdf.url.get('action') == 'bulk') {
1470 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1471 }
1472 }
1473 });
1474 if (e2pdf.static.autoloadExport) {
1475 var datasets = [
1476 'dataset',
1477 'dataset2'
1478 ];
1479 for (var key in datasets) {
1480 if (e2pdf.url.get(datasets[key])) {
1481 jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1482 }
1483 }
1484 for (var key in datasets) {
1485 if (e2pdf.url.get(datasets[key])) {
1486 e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1487 }
1488 }
1489 e2pdf.static.autoloadExport = false;
1490 } else {
1491 var url = '';
1492 if (e2pdf.url.get('action')) {
1493 url += 'action=' + e2pdf.url.get('action') + '&';
1494 }
1495 url += 'id=' + template_id;
1496 e2pdf.url.change('e2pdf', url);
1497 }
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();
1503 } else {
1504 if (e2pdf.url.get('action') == 'bulk') {
1505 e2pdf.url.change('e2pdf', 'action=bulk');
1506 } else {
1507 e2pdf.url.change('e2pdf');
1508 }
1509 }
1510 break;
1511 case 'e2pdf_dataset':
1512 var template_id = result['id'];
1513 var url = 'id=' + template_id;
1514 var shortcode = '[e2pdf-download id="' + template_id + '"';
1515 if (result['datasets']) {
1516 for (var key in result['datasets']) {
1517 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1518 var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1519 e2pdf.select2.enable(dataset_field);
1520 if (result['datasets'][key]['id'] == '') {
1521 dataset_field.val('');
1522 e2pdf.select2.update(dataset_field);
1523 } else {
1524 url += '&' + key + '=' + result['datasets'][key]['id'];
1525 shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1526 }
1527 if (result['datasets'][key]['actions']) {
1528 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1529 for (var dkey in result['datasets'][key]['actions']) {
1530 ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
1531 }
1532 actions.empty().append(ul);
1533 }
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}))));
1556 } else {
1557 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1558 }
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 }
1574 } else {
1575 el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1576 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1577 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1578 }
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;
1638 } else {
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);
1646 }
1647 } else {
1648 if (element.float) {
1649 if (element.properties.width !== 'auto') {
1650 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1651 if (auto.element.properties.width === 'auto') {
1652 properties['width'] = properties['width'] - auto.element.width;
1653 }
1654 }
1655 properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1656 properties['top'] = auto.element.top;
1657 } else {
1658 if (element.properties.width !== 'auto') {
1659 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1660 }
1661 properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1662 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1663 }
1664 }
1665
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 }
1672
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 }
1706 }
1707
1708 e2pdf.element.delete(obj);
1709 if (element.properties.height === 'auto') {
1710 properties['height'] = element.properties.height;
1711 }
1712
1713 auto.block['bottom'] = auto.page.top;
1714 properties['top'] = auto.block.bottom;
1715 obj = e2pdf.element.create(type, page, properties, false, true);
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 }
1729 }
1730
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 };
1748 } else {
1749 auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1750 }
1751 if (element.hidden) {
1752 hidden_elements.push(obj);
1753 }
1754 i++;
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();
1765 }
1766 } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1767 el.closest('.e2pdf-bulk').attr('status', 'stop');
1768 el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1769 } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1770 el.closest('.e2pdf-bulk').attr('status', 'pending');
1771 el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1772 }
1773 break;
1774 case 'e2pdf_bulk_progress':
1775 for (var key in result.bulks) {
1776 var bulk = result.bulks[key];
1777 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1778 if (bulk['status'] == 'completed') {
1779 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1780 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1781 jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1782 jQuery('<i>', {'class': 'dashicons dashicons-download'})
1783 ));
1784 }
1785 }
1786 break;
1787 default:
1788 break;
1789 }
1790 }
1791 },
1792 // e2pdf.dialog
1793 dialog: {
1794 top: null,
1795 left: null,
1796 center: true,
1797 // e2pdf.dialog.create
1798 create: function (el) {
1799 e2pdf.dialog.close();
1800 var modal = el.attr('data-modal');
1801 var title = el.attr('data-modal-title');
1802 var noclose = false;
1803 var width = '600';
1804 var height = '600';
1805 if (modal === 'license-key') {
1806 width = '400';
1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1808 jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1810 jQuery('<span>', {'class': 'spinner'})
1811 ),
1812 jQuery('<ul>').append(
1813 jQuery('<li>').append(
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'})
1816 ),
1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
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']})
1819 )
1820 )
1821 )
1822 );
1823 } else if (modal === 'properties') {
1824 for (var key in e2pdf.element.selected) {
1825 var title = e2pdf.lang.get('Properties');
1826 var selected = e2pdf.element.selected[key];
1827 var fields = e2pdf.properties.renderFields(selected);
1828 var content = jQuery('<div>').append(
1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1831 fields
1832 )
1833 )
1834 );
1835 }
1836 } else if (modal === 'page-options') {
1837 var title = e2pdf.lang.get('Page Options');
1838 var page = el.closest('.e2pdf-page');
1839 var readonly_size = false;
1840 if (e2pdf.pdf.settings.get('pdf')) {
1841 readonly_size = true;
1842 }
1843
1844 var content = jQuery('<div>', {'class': 'e2pdf-page-options'}).append(jQuery('<form>', {'id': 'e2pdf-page-options', 'class': 'e2pdf-rel'}).append(
1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1846 jQuery('<span>', {'class': 'spinner'})
1847 ),
1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1849 jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1850 )),
1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1852 jQuery('<span>', {'class': 'spinner'})
1853 ));
1854 var fields = e2pdf.properties.renderFields(page);
1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1856 fields
1857 ));
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 );
1880 } else if (modal === 'tpl-options') {
1881 width = '500';
1882 var title = e2pdf.lang.get('Options');
1883 var readonly_size = false;
1884 if (e2pdf.pdf.settings.get('pdf')) {
1885 readonly_size = true;
1886 }
1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1888 jQuery('<option>',
1889 {
1890 'value': ''
1891 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1892 );
1893 for (var size in e2pdf_params['template_sizes']) {
1894 var option = jQuery('<option>',
1895 {
1896 'value': size
1897 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1898 sizes.append(option);
1899 }
1900
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']) {
1903 var option = jQuery('<option>',
1904 {
1905 'value': extension
1906 }).html(e2pdf_params['extensions'][extension]);
1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1908 option.attr('selected', 'selected');
1909 }
1910 extensions.append(option);
1911 }
1912
1913 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-tpl-options', 'class': 'e2pdf-rel'}).append(
1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1915 jQuery('<span>', {'class': 'spinner'})
1916 ),
1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1918 jQuery('<h3>').html(e2pdf.lang.get('Options'))
1919 )),
1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1921 jQuery('<span>', {'class': 'spinner'})
1922 ));
1923 var default_width = '595';
1924 if (e2pdf.pdf.settings.get('width')) {
1925 default_width = e2pdf.pdf.settings.get('width');
1926 }
1927
1928 var default_height = '842';
1929 if (e2pdf.pdf.settings.get('height')) {
1930 default_height = e2pdf.pdf.settings.get('height');
1931 }
1932
1933 content.find('form').append(
1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
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') + ':')
1937 ),
1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1940 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1941 ),
1942 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1943 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1944 )
1945 )
1946 );
1947 content.find('form').append(
1948 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1949 sizes);
1950 content.find('form').append(
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') + ':'),
1985 extensions,
1986 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1987 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1988 );
1989 content.find('form').append(
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 )
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 );
2030 if (e2pdf.pdf.settings.get('pdf')) {
2031 content.find('form').append(
2032 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2033 jQuery('<li>'),
2034 jQuery('<li>').append(
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'))
2036 ),
2037 jQuery('<li>')
2038 )
2039 );
2040 } else {
2041 content.find('form').append(
2042 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2043 jQuery('<li>').append(
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'))
2045 ),
2046 jQuery('<li>'),
2047 jQuery('<li>').append(
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'))
2049 )
2050 )
2051 );
2052 }
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 );
2084 } else if (modal === 'welcome-screen') {
2085 var noclose = true;
2086 width = '500';
2087 var title = e2pdf.lang.get('Create PDF');
2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
2089 jQuery('<option>',
2090 {
2091 'value': ''
2092 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
2093 );
2094 for (var size in e2pdf_params['template_sizes']) {
2095 var option = jQuery('<option>',
2096 {
2097 'value': size,
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'] + ')');
2101 sizes.append(option);
2102 }
2103
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']) {
2106 var option = jQuery('<option>',
2107 {
2108 'value': extension
2109 }).html(e2pdf_params['extensions'][extension]);
2110 if (e2pdf.pdf.settings.get('extension') === extension) {
2111 option.attr('selected', 'selected');
2112 }
2113 extensions.append(option);
2114 }
2115
2116 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-welcome-screen', 'class': 'e2pdf-rel'}).append(
2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2118 jQuery('<span>', {'class': 'spinner'})
2119 ),
2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2121 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2122 )),
2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2124 jQuery('<span>', {'class': 'spinner'})
2125 ));
2126 var default_width = '595';
2127 if (e2pdf.pdf.settings.get('width')) {
2128 var default_width = e2pdf.pdf.settings.get('width');
2129 }
2130
2131 var default_height = '842';
2132 if (e2pdf.pdf.settings.get('height')) {
2133 var default_height = e2pdf.pdf.settings.get('height');
2134 }
2135
2136 content.find('form').append(
2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2138 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
2139 ),
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(
2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2153 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2154 ),
2155 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2156 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2157 )
2158 )
2159 );
2160 content.find('form').append(
2161 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
2162 sizes);
2163 content.find('form').append(
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') + ':'),
2198 extensions,
2199 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2200 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
2201 );
2202 content.find('form').append(
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 )
2223 );
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(
2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
2245 );
2246 if (e2pdf.pdf.settings.get('ID')) {
2247 content.find('form').append(
2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2249 );
2250 }
2251
2252 content.find('form').append(
2253 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2254 jQuery('<li>').append(
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'))
2256 ),
2257 jQuery('<li>').append(
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']))
2259 ),
2260 jQuery('<li>').append(
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'))
2262 )
2263 )
2264 );
2265 } else if (modal === 'visual-mapper') {
2266 var title = e2pdf.lang.get('Visual Mapper');
2267 var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2270 jQuery('<span>', {'class': 'spinner'})
2271 )).append(
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'})
2275 )
2276 )
2277 ));
2278 } else if (modal === 'pdf-reupload') {
2279 var title = e2pdf.lang.get('PDF Upload');
2280 width = '500';
2281 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2282 jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2284 jQuery('<span>', {'class': 'spinner'})
2285 ),
2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2287 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2288 )),
2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2290 jQuery('<span>', {'class': 'spinner'})
2291 ));
2292 content.find('form').append(
2293 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2294 );
2295 if (e2pdf.pdf.settings.get('ID')) {
2296 content.find('form').append(
2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2298 );
2299 }
2300
2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
2302 pages.append(
2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
2304 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2305 jQuery('<label>').text(e2pdf.lang.get('Page ID'))
2306 ),
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'))
2309 ),
2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2311 jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
2312 ),
2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2314 jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
2315 )));
2316 jQuery('.e2pdf-page').each(function () {
2317 var page_id = jQuery(this).attr('data-page_id');
2318 pages.append(
2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
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 ),
2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2327 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
2328 ),
2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2330 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
2331 ),
2332 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2333 jQuery('<input>', {'name': 'flush[]', 'type': 'checkbox', 'value': page_id})
2334 )
2335 )
2336 );
2337 });
2338 content.find('form').append(pages);
2339 content.find('form').append(
2340 jQuery('<ul>').append(
2341 jQuery('<li>').append(
2342 ),
2343 jQuery('<li>').append(
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'))
2345 ),
2346 jQuery('<li>').append(
2347 )
2348 )
2349 );
2350 } else {
2351 var content = jQuery('<div>');
2352 }
2353
2354 if (typeof content !== 'undefined') {
2355
2356 var dialog_class = 'e2pdf-dialog';
2357 if (modal === 'visual-mapper') {
2358 dialog_class += ' e2pdf-dialog-visual-mapper';
2359 } else if (modal === 'properties') {
2360 dialog_class += ' e2pdf-dialog-element-properties';
2361 dialog_class += ' for-' + selected.data('data-type');
2362 }
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 }
2392
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();
2482 }
2483 });
2484 }
2485
2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
2487 jQuery('.e2pdf-extension').trigger('change');
2488 } else if (modal === 'visual-mapper') {
2489 var data = {};
2490 data['extension'] = e2pdf.pdf.settings.get('extension');
2491 data['item'] = e2pdf.pdf.settings.get('item');
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);
2495 }
2496
2497 if (modal !== 'visual-mapper') {
2498 e2pdf.dialog.rebuild();
2499 }
2500
2501 e2pdf.event.fire('after.dialog.create');
2502 },
2503 // e2pdf.dialog.close
2504 close: function () {
2505 if (jQuery('.e2pdf-dialog').length > 0) {
2506 jQuery('.ui-dialog-content').dialog('close');
2507 }
2508 },
2509 // e2pdf.dialog.rebuild
2510
2511 rebuild: function () {
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();
2520 }
2521 }
2522 },
2523 // e2pdf.mediaUploader
2524 mediaUploader: {
2525 // e2pdf.mediaUploader.init
2526 init: function (el) {
2527 var mediaUploader;
2528 mediaUploader = wp.media.frames.file_frame = wp.media({
2529 title: e2pdf.lang.get('Media Library'),
2530 button: {
2531 text: e2pdf.lang.get('Select')
2532 }, multiple: false});
2533 mediaUploader.on('select', function () {
2534 var history = [];
2535 history.push(el.clone(true));
2536 e2pdf.history.set('element_change', history);
2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
2538 e2pdf.properties.set(el, 'value', attachment.url);
2539 e2pdf.properties.render(el);
2540 e2pdf.event.fire('after.mediaUploader.select');
2541 });
2542 mediaUploader.open();
2543 }
2544 },
2545 // e2pdf.actions
2546 actions: {
2547 // e2pdf.actions.add
2548 add: function (el, target, action) {
2549 var last_id = -1;
2550 target.find('.e2pdf-action').each(function () {
2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
2552 if (num_id > last_id) {
2553 last_id = num_id;
2554 }
2555 });
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 }
2562
2563 },
2564 // e2pdf.actions.change
2565 change: function (action, trigger) {
2566 var action_id = action.attr("data-action_id");
2567 var form = action.closest('form');
2568 var data = e2pdf.form.serializeObject(form);
2569 var el = false;
2570 if (form.attr('id') === 'e2pdf-page-options') {
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');
2574 } else {
2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2576 }
2577
2578 var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2579 if (!formatRegex.test(trigger.attr('name'))) {
2580 data['actions'][action_id]['change'] = '';
2581 }
2582
2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
2584 e2pdf.event.fire('after.actions.change');
2585 },
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
2605 delete: function (action) {
2606 action.remove();
2607 },
2608 // e2pdf.actions.conditions
2609 conditions: {
2610 // e2pdf.actions.conditions.add
2611 add: function (el, target) {
2612 var action = target.closest('.e2pdf-action');
2613 var action_id = action.attr('data-action_id');
2614 var last_id = -1;
2615 target.find('.e2pdf-condition').each(function () {
2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
2617 if (num_id > last_id) {
2618 last_id = num_id;
2619 }
2620 });
2621 var condition_id = parseInt(last_id + 1);
2622 action.find('.e2pdf-conditions').append(
2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
2624 );
2625 },
2626 // e2pdf.actions.conditions.getFields
2627 getFields: function (el, action_id, condition_id, condition) {
2628 var obj = {
2629 'condition': {
2630 'fields': [
2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
2633 e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
2634 ],
2635 'classes': [
2636 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
2638 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 ]
2640 }
2641 };
2642 return obj;
2643 },
2644 // e2pdf.actions.conditions.getField
2645 getField: function (field, el, action_id, condition_id, condition) {
2646 var obj = false;
2647 switch (field) {
2648 case 'if':
2649 var value = condition ? condition.if : '';
2650 obj = {
2651 'name': e2pdf.lang.get('If'),
2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
2653 'type': 'textarea',
2654 'value': value,
2655 'atts': []
2656 };
2657 break;
2658 case 'condition':
2659 var value = condition ? condition.condition : '=';
2660 obj = {
2661 'name': e2pdf.lang.get('Condition'),
2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
2663 'type': 'select',
2664 'value': value,
2665 'options': [
2666 {'=': '='},
2667 {'!=': '!='},
2668 {'>': '>'},
2669 {'>=': '>='},
2670 {'<': '<'},
2671 {'<=': '<='},
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')}
2680 ],
2681 'atts': []
2682 };
2683 break;
2684 case 'value':
2685 var value = condition ? condition.value : '';
2686 obj = {
2687 'name': e2pdf.lang.get('Value'),
2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
2689 'type': 'textarea',
2690 'value': value,
2691 'atts': []
2692 };
2693 break;
2694 }
2695 return obj;
2696 },
2697 // e2pdf.actions.conditions.delete
2698 delete: function (condition) {
2699 condition.remove();
2700 },
2701 // e2pdf.actions.conditions.renderField
2702 renderField: function (el, action_id, condition_id, condition) {
2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
2704 if (groups) {
2705 for (var group_key in groups) {
2706
2707 var group = groups[group_key];
2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2709 for (var field_key in group.fields) {
2710 var group_field = group.fields[field_key];
2711 var classes = '';
2712 if (group.classes) {
2713 if (group.classes[field_key]) {
2714 classes = group.classes[field_key];
2715 }
2716 }
2717
2718 var field = '';
2719 var label = '';
2720 var wrap = '';
2721 if (group_field.type === 'text') {
2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2723 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2724 } else if (group_field.type === 'hidden') {
2725 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2726 } else if (group_field.type === 'textarea') {
2727 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2728 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
2729 } else if (group_field.type === 'checkbox') {
2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
2732 if (group_field.value == group_field.option) {
2733 field.prop('checked', true);
2734 }
2735 } else if (group_field.type === 'color') {
2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2738 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2739 } else if (group_field.type === 'select') {
2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2742 for (var option_key in group_field.options) {
2743 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
2744 }
2745 field.val(group_field.value);
2746 }
2747
2748 if (!wrap) {
2749 wrap = field;
2750 } else {
2751 wrap.prepend(field);
2752 }
2753
2754 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
2755 }
2756 }
2757 }
2758
2759 grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
2762 ),
2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
2765 )));
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 ),
2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2772 ),
2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2774 grid
2775 )
2776 );
2777 return new_condition;
2778 }
2779 },
2780 // e2pdf.actions.get
2781 get: function (el) {
2782 var actions = [];
2783 if (typeof el.data('data-actions') !== 'undefined') {
2784 actions = JSON.parse(el.data('data-actions'));
2785 actions = Object.values(actions).sort(function (a, b) {
2786 if (parseInt(a.order) === parseInt(b.order)) {
2787 return 0;
2788 }
2789 return parseInt(a.order) < parseInt(b.order) ? -1 : 1;
2790 });
2791 }
2792 return actions;
2793 },
2794 // e2pdf.actions.apply
2795 apply: function (el, data) {
2796 if (!data) {
2797 data = [];
2798 }
2799 el.data('data-actions', JSON.stringify(data));
2800 },
2801 // e2pdf.actions.getField
2802 getField: function (field, el, action_id, action) {
2803 var obj = false;
2804 switch (field) {
2805 case 'order':
2806 var value = action ? action.order : '0';
2807 obj = {
2808 'name': e2pdf.lang.get('Sort'),
2809 'key': 'actions[' + action_id + '][order]',
2810 'type': 'text',
2811 'value': value,
2812 'atts': ['number']
2813 };
2814 break;
2815 case 'format':
2816 var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2817 obj = {
2818 'name': e2pdf.lang.get('Format'),
2819 'key': 'actions[' + action_id + '][format]',
2820 'type': 'select',
2821 'value': value,
2822 'options': [
2823 {'insert_before': e2pdf.lang.get('Insert Before')},
2824 {'insert_after': e2pdf.lang.get('Insert After')},
2825 {'replace': e2pdf.lang.get('Full Replacement')},
2826 {'search': e2pdf.lang.get('Search / Replace')},
2827 ],
2828 'atts': []
2829 };
2830 break;
2831 case 'search':
2832 var value = action && typeof action.search !== 'undefined' ? action.search : '';
2833 obj = {
2834 'name': 'Search',
2835 'key': 'actions[' + action_id + '][search]',
2836 'type': 'textarea',
2837 'value': value,
2838 'atts': []
2839 };
2840 break;
2841 case 'pre_replace':
2842 var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2843 obj = {
2844 'name': e2pdf.lang.get('Pre-Replace'),
2845 'key': 'actions[' + action_id + '][pre_replace]',
2846 'type': 'select',
2847 'value': value,
2848 'options': [
2849 {'': '-'},
2850 {'render': e2pdf.lang.get('Render Value')}
2851 ],
2852 'atts': []
2853 };
2854 break;
2855 case 'action':
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 }
2900 obj = {
2901 'name': e2pdf.lang.get('Action'),
2902 'key': 'actions[' + action_id + '][action]',
2903 'type': 'select',
2904 'value': value,
2905 'options': options,
2906 'atts': []
2907 };
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 }
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;
2972 case 'property':
2973 if (el.data('data-type') == 'e2pdf-tpl') {
2974 // backward compatibility
2975 if (action && !action.property && action.action) {
2976 if (action.action.includes('restrict_')) {
2977 var value = 'disable';
2978 } else {
2979 var value = 'enable';
2980 }
2981 } else {
2982 var value = action && action.property ? action.property : 'enable';
2983 }
2984 var options = [
2985 {'enable': e2pdf.lang.get('Enable')},
2986 {'disable': e2pdf.lang.get('Disable')},
2987 ];
2988 obj = {
2989 'name': e2pdf.lang.get('State'),
2990 'key': 'actions[' + action_id + '][property]',
2991 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
2992 'value': value,
2993 'options': options,
2994 'atts': []
2995 };
2996 } else {
2997 var value = action ? action.property : '';
2998 if (action && action.action === 'change') {
2999 var options = [];
3000 var option = {
3001 '': e2pdf.lang.get('--- Select ---')
3002 };
3003 options.push(option);
3004 var groups = e2pdf.properties.getFields(el);
3005 for (var group_key in groups) {
3006 var group = groups[group_key];
3007 for (var field_key in group.fields) {
3008 var group_field = group.fields[field_key];
3009 if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
3010 var option = {};
3011 if (group_field.key == 'g_multiline') {
3012 option[group_field.key] = e2pdf.lang.get('Type');
3013 } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
3014 option[group_field.key] = group.name;
3015 } else {
3016 option[group_field.key] = group.name + ' ' + group_field.name;
3017 }
3018 options.push(option);
3019 }
3020 }
3021 }
3022 obj = {
3023 'name': e2pdf.lang.get('Property'),
3024 'key': 'actions[' + action_id + '][property]',
3025 'type': 'select',
3026 'value': value,
3027 'options': options,
3028 'atts': []
3029 };
3030 }
3031 }
3032 break;
3033 case 'change':
3034 var value = action ? action.change : '';
3035 if (
3036 action
3037 && typeof action.action !== 'undefined'
3038 && action.action === 'change'
3039 && typeof action.property !== 'undefined'
3040 && action.property !== ''
3041 ) {
3042
3043 var property = e2pdf.properties.getField(action.property, el);
3044 if (property) {
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 }
3052 property.key = 'actions[' + action_id + '][change]';
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 }
3056 if (jQuery.inArray('readonly', property.atts) === -1) {
3057 if (property.type === 'select') {
3058 for (var key in property.options) {
3059 if (Object.keys(property.options[key])[0] == value) {
3060 property.value = value;
3061 break;
3062 }
3063 }
3064 } else if (jQuery.inArray('number', property.atts) !== -1) {
3065 if (value === '') {
3066 property.value = 0;
3067 } else {
3068 property.value = value;
3069 }
3070 } else {
3071 property.value = value;
3072 }
3073 }
3074 obj = property;
3075 }
3076 }
3077 break;
3078 case 'apply':
3079 var value = action ? action.apply : 'any';
3080 obj = {
3081 'name': e2pdf.lang.get('Apply If'),
3082 'key': 'actions[' + action_id + '][apply]',
3083 'type': 'select',
3084 'value': value,
3085 'options': [
3086 {'any': e2pdf.lang.get('Any')},
3087 {'all': e2pdf.lang.get('All')}
3088 ],
3089 'atts': []
3090 };
3091 break;
3092 }
3093 return obj;
3094 },
3095 // e2pdf.actions.getFields
3096 getFields: function (el, action_id, action) {
3097 var obj = {
3098 'action': {
3099 'fields': [
3100 e2pdf.actions.getField('order', el, action_id, action),
3101 e2pdf.actions.getField('action', el, action_id, action),
3102 e2pdf.actions.getField('property', el, action_id, action),
3103 e2pdf.actions.getField('apply', el, action_id, action)
3104 ],
3105 'classes': [
3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
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',
3109 'e2pdf-w15 e2pdf-pl5'
3110 ]
3111 }
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
3152 return obj;
3153 },
3154 // e2pdf.actions.renderField
3155 renderField: function (el, action_id, action) {
3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
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 }
3163 for (var condition in action.conditions) {
3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
3165 }
3166 } else {
3167 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
3168 }
3169
3170 var groups = e2pdf.actions.getFields(el, action_id, action);
3171 if (groups) {
3172 for (var group_key in groups) {
3173
3174 var group = groups[group_key];
3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3176 for (var field_key in group.fields) {
3177 var group_field = group.fields[field_key];
3178 var classes = '';
3179 if (group.classes) {
3180 if (group.classes[field_key]) {
3181 classes = group.classes[field_key];
3182 }
3183 }
3184
3185 var field = '';
3186 var label = '';
3187 var wrap = '';
3188 var placeholder = group_field.placeholder ? group_field.placeholder : '';
3189 if (group_field.type === 'text') {
3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3191 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3192 } else if (group_field.type === 'hidden') {
3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3194 } else if (group_field.type === 'textarea') {
3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3196 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
3197 } else if (group_field.type === 'checkbox') {
3198 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3200 if (group_field.value == group_field.option) {
3201 field.prop('checked', true);
3202 }
3203 } else if (group_field.type === 'color') {
3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3206 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3207 } else if (group_field.type === 'select') {
3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3210 for (var option_key in group_field.options) {
3211 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3212 }
3213 field.val(group_field.value);
3214 }
3215
3216 for (var att_key in group_field.atts) {
3217 var att = group_field.atts[att_key];
3218 switch (att) {
3219 case 'readonly':
3220 field.attr('readonly', 'readonly');
3221 break;
3222 case 'number':
3223 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
3224 break;
3225 case 'autocomplete':
3226 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3227 field.addClass('e2pdf-autocomplete-cl');
3228 field.autocomplete({
3229 source: group_field.source,
3230 minLength: 0,
3231 appendTo: wrap,
3232 open: function () {
3233 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3234 },
3235 classes: {
3236 "ui-autocomplete": "e2pdf-autocomplete"
3237 }
3238 });
3239 break;
3240 }
3241 }
3242
3243 if (!wrap) {
3244 wrap = field;
3245 } else {
3246 wrap.prepend(field);
3247 }
3248
3249 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
3250 }
3251 }
3252 }
3253
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 ),
3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
3260 ),
3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
3262 grid
3263 ),
3264 conditions
3265 );
3266 return new_action;
3267 },
3268 // e2pdf.actions.renderFields
3269 renderFields: function (el) {
3270
3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
3272 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
3273 );
3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
3276 var actions = e2pdf.actions.get(el);
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 }
3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
3285 }
3286
3287 block.append(action_wrapper, add_action);
3288 return block;
3289 }
3290 },
3291 // e2pdf.properties
3292 properties: {
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
3310 getField: function (field, el) {
3311
3312 var obj = false;
3313 var properties = e2pdf.properties.get(el);
3314 var children = e2pdf.element.children(el);
3315 switch (field) {
3316 case 'page_id':
3317 obj = {
3318 'name': e2pdf.lang.get('Page ID'),
3319 'type': 'text',
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')),
3321 'atts': [
3322 'readonly',
3323 'number'
3324 ]
3325 };
3326 if (el.data('data-type') !== 'e2pdf-page') {
3327 obj.atts.push('editable');
3328 }
3329 break;
3330 case 'element_id':
3331 obj = {
3332 'name': 'ID',
3333 'type': 'text',
3334 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 'atts': ['readonly']
3336 };
3337 break;
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;
3346 case 'width':
3347 obj = {
3348 'name': e2pdf.lang.get('Width'),
3349 'type': 'text',
3350 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 'atts': ['number']
3352 };
3353 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 obj.atts.push('readonly');
3355 }
3356 break;
3357 case 'height':
3358 obj = {
3359 'name': e2pdf.lang.get('Height'),
3360 'type': 'text',
3361 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 'atts': ['number']
3363 };
3364 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 obj.atts.push('readonly');
3366 }
3367 break;
3368 case 'top':
3369 obj = {
3370 'name': e2pdf.lang.get('Position Top'),
3371 'type': 'text',
3372 'value': e2pdf.helper.getFloat(el.css('top')),
3373 'atts': ['number', 'keep']
3374 };
3375 break;
3376 case 'left':
3377 obj = {
3378 'name': e2pdf.lang.get('Position Left'),
3379 'type': 'text',
3380 'value': e2pdf.helper.getFloat(el.css('left')),
3381 'atts': ['number', 'keep']
3382 };
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;
3399 case 'dynamic_height':
3400 obj = {
3401 'name': e2pdf.lang.get('Dynamic Height'),
3402 'type': 'checkbox',
3403 'value': e2pdf.helper.getCheckbox(properties[field]),
3404 'option': '1'
3405 };
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;
3447 case 'text_color':
3448 obj = {
3449 'name': e2pdf.lang.get('Font Color'),
3450 'type': 'color',
3451 'value': e2pdf.helper.getString(properties[field])
3452 };
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;
3461 case 'text_type':
3462 obj = {
3463 'name': e2pdf.lang.get('Type'),
3464 'type': 'select',
3465 'value': e2pdf.helper.getString(properties[field], 'check'),
3466 'options': [
3467 {'check': 'Check'},
3468 {'circle': 'Circle'},
3469 {'cross': 'Cross'},
3470 {'diamond': 'Diamond'},
3471 {'square': 'Square'},
3472 {'star': 'Star'}
3473 ]
3474 };
3475 break;
3476 case '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]);
3489 }
3490 obj = {
3491 'name': e2pdf.lang.get('Auto Font Size'),
3492 'type': 'checkbox',
3493 'value': value,
3494 'option': '1'
3495 };
3496 break;
3497 case 'text_font_size':
3498 obj = {
3499 'name': e2pdf.lang.get('Font Size'),
3500 'type': 'select',
3501 'value': e2pdf.helper.getString(properties[field]),
3502 'options': e2pdf.helper.font.sizes(field, properties)
3503 };
3504 break;
3505 case 'text_line_height':
3506 obj = {
3507 'name': e2pdf.lang.get('Line Height'),
3508 'type': 'select',
3509 'value': e2pdf.helper.getString(properties[field]),
3510 'options': e2pdf.helper.font.lines(field)
3511 };
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;
3521 case 'z_index':
3522 obj = {
3523 'name': 'Z-index',
3524 'type': 'text',
3525 'value': e2pdf.helper.getInt(properties[field]),
3526 'atts': ['number', 'number-negative']
3527 };
3528 break;
3529 case 'background':
3530 obj = {
3531 'name': e2pdf.lang.get('Background'),
3532 'key': 'background',
3533 'type': 'color',
3534 'value': e2pdf.helper.getString(properties[field])
3535 };
3536 break;
3537 case 'border':
3538 obj = {
3539 'name': e2pdf.lang.get('Border'),
3540 'type': 'text',
3541 'value': e2pdf.helper.getInt(properties[field]),
3542 'atts': ['number']
3543 };
3544 break;
3545 case 'border_top':
3546 obj = {
3547 'name': e2pdf.lang.get('Border Top'),
3548 'type': 'text',
3549 'value': e2pdf.helper.getInt(properties[field]),
3550 'atts': ['number']
3551 };
3552 break;
3553 case 'border_left':
3554 obj = {
3555 'name': e2pdf.lang.get('Border Left'),
3556 'type': 'text',
3557 'value': e2pdf.helper.getInt(properties[field]),
3558 'atts': ['number']
3559 };
3560 break;
3561 case 'border_right':
3562 obj = {
3563 'name': e2pdf.lang.get('Border Right'),
3564 'type': 'text',
3565 'value': e2pdf.helper.getInt(properties[field]),
3566 'atts': ['number']
3567 };
3568 break;
3569 case 'border_bottom':
3570 obj = {
3571 'name': e2pdf.lang.get('Border Bottom'),
3572 'type': 'text',
3573 'value': e2pdf.helper.getInt(properties[field]),
3574 'atts': ['number']
3575 };
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;
3585 case 'border_color':
3586 obj = {
3587 'name': e2pdf.lang.get('Border Color'),
3588 'type': 'color',
3589 'value': e2pdf.helper.getString(properties[field], '#000000'),
3590 };
3591 break;
3592 case 'padding_top':
3593 obj = {
3594 'name': e2pdf.lang.get('Padding Top'),
3595 'type': 'text',
3596 'value': e2pdf.helper.getInt(properties[field]),
3597 'atts': ['number']
3598 };
3599 break;
3600 case 'padding_left':
3601 obj = {
3602 'name': e2pdf.lang.get('Padding Left'),
3603 'type': 'text',
3604 'value': e2pdf.helper.getInt(properties[field]),
3605 'atts': ['number']
3606 };
3607 break;
3608 case 'padding_right':
3609 obj = {
3610 'name': e2pdf.lang.get('Padding Right'),
3611 'type': 'text',
3612 'value': e2pdf.helper.getInt(properties[field]),
3613 'atts': ['number']
3614 };
3615 break;
3616 case 'padding_bottom':
3617 obj = {
3618 'name': e2pdf.lang.get('Padding Bottom'),
3619 'type': 'text',
3620 'value': e2pdf.helper.getInt(properties[field]),
3621 'atts': ['number']
3622 };
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;
3684 case 'rtl':
3685 obj = {
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 ]
3695 };
3696 break;
3697 case 'required':
3698 obj = {
3699 'name': e2pdf.lang.get('Required'),
3700 'type': 'checkbox',
3701 'value': e2pdf.helper.getCheckbox(properties[field]),
3702 'option': '1'
3703 };
3704 break;
3705 case 'readonly':
3706 obj = {
3707 'name': e2pdf.lang.get('Read-Only'),
3708 'type': 'checkbox',
3709 'value': e2pdf.helper.getCheckbox(properties[field]),
3710 'option': '1'
3711 };
3712 break;
3713 case 'pass':
3714 obj = {
3715 'name': e2pdf.lang.get('Password'),
3716 'type': 'checkbox',
3717 'value': e2pdf.helper.getCheckbox(properties[field]),
3718 'option': '1'
3719 };
3720 break;
3721 case 'multiline':
3722 obj = {
3723 'name': e2pdf.lang.get('Multiline'),
3724 'type': 'checkbox',
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',
3743 'atts': []
3744 };
3745 if (el.data('data-type') === 'e2pdf-image') {
3746 obj.atts.push('keep');
3747 }
3748 break;
3749 case 'keep_lower_size':
3750 obj = {
3751 'name': e2pdf.lang.get('Keep Lower Size'),
3752 'type': 'checkbox',
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',
3781 'value': value,
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 ]
3791 };
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;
3874 case 'horizontal':
3875 obj = {
3876 'name': e2pdf.lang.get('Horizontal Align'),
3877 'type': 'select',
3878 'value': e2pdf.helper.getString(properties[field], 'left'),
3879 'options':
3880 [
3881 {'left': e2pdf.lang.get('Left')},
3882 {'center': e2pdf.lang.get('Center')},
3883 {'right': e2pdf.lang.get('Right')}
3884 ]
3885 };
3886 break;
3887 case 'vertical':
3888 obj = {
3889 'name': e2pdf.lang.get('Vertical Align'),
3890 'type': 'select',
3891 'value': e2pdf.helper.getString(properties[field], 'top'),
3892 'options':
3893 [
3894 {'top': e2pdf.lang.get('Top')},
3895 {'middle': e2pdf.lang.get('Middle')},
3896 {'bottom': e2pdf.lang.get('Bottom')}
3897 ]
3898 };
3899 break;
3900 case 'scale':
3901 obj = {
3902 'name': e2pdf.lang.get('Scale'),
3903 'type': 'select',
3904 'value': e2pdf.helper.getString(properties[field], '0'),
3905 'options':
3906 [
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')}
3911 ]
3912 ,
3913 'atts': ['scale']
3914 };
3915 break;
3916 case 'text_align':
3917 obj = {
3918 'name': e2pdf.lang.get('Text Align'),
3919 'type': 'select',
3920 'value': e2pdf.helper.getString(properties[field]),
3921 'options':
3922 [
3923 {'': '-'},
3924 {'left': e2pdf.lang.get('Left')},
3925 {'center': e2pdf.lang.get('Center')},
3926 {'right': e2pdf.lang.get('Right')}
3927 ]
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 }
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;
4043 case 'parent':
4044 var options = [
4045 {'': e2pdf.lang.get('--- Select ---')}
4046 ];
4047 if (el.data('data-type') === 'e2pdf-html') {
4048 jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
4049 if (!jQuery(this).is(children)) {
4050 var parent = jQuery(this).parent().attr('data-element_id');
4051 options.push({[parent]: parent});
4052 }
4053 });
4054 }
4055 options.sort(function (a, b) {
4056 return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
4057 });
4058 obj = {
4059 'name': e2pdf.lang.get('Parent'),
4060 'type': 'select',
4061 'value': e2pdf.helper.getString(properties[field]),
4062 'options': options
4063 };
4064 break;
4065 case 'group':
4066 var source = [];
4067 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
4068 if (!jQuery(this).is(children)) {
4069 var radio = jQuery(this).parent();
4070 var group = e2pdf.properties.getValue(radio, 'group', 'string');
4071 if (source.indexOf(group) === -1) {
4072 source.push(group);
4073 }
4074 }
4075 });
4076 obj = {
4077 'name': e2pdf.lang.get('Group'),
4078 'type': 'text',
4079 'value': e2pdf.helper.getString(properties[field]),
4080 'source': source,
4081 'atts': ['autocomplete']
4082 };
4083 break;
4084 case 'option':
4085 obj = {
4086 'name': e2pdf.lang.get('Option'),
4087 'type': 'textarea',
4088 'value': e2pdf.helper.getString(properties[field])
4089 };
4090 break;
4091 case 'options':
4092 obj = {
4093 'name': e2pdf.lang.get('Options'),
4094 'type': 'textarea',
4095 'value': e2pdf.helper.getString(properties[field])
4096 };
4097 break;
4098 case 'value':
4099 if (el.data('data-type') === 'e2pdf-html') {
4100 if (children.is('textarea')) {
4101 var value = children.val();
4102 } else {
4103 var value = children.html();
4104 }
4105 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
4106 var value = children.val();
4107 } else {
4108 var value = properties.hasOwnProperty('value') ? properties['value'] : '';
4109 }
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 }
4116 obj = {
4117 'name': name,
4118 'type': 'textarea',
4119 'value': value
4120 };
4121 break;
4122 case 'css':
4123 obj = {
4124 'name': 'CSS',
4125 'type': 'textarea',
4126 'value': e2pdf.helper.getString(properties[field])
4127 };
4128 break;
4129 case 'preset':
4130 var options = [];
4131 var option = {
4132 '': e2pdf.lang.get('--- Select ---')
4133 };
4134 options.push(option);
4135 for (var size in e2pdf_params['template_sizes']) {
4136 var option = {};
4137 option[size] = size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')';
4138 options.push(option);
4139 }
4140 obj = {
4141 'name': e2pdf.lang.get('Size'),
4142 'type': 'select',
4143 'value': '',
4144 'options': options,
4145 'atts': [
4146 'uneditable'
4147 ]
4148 };
4149 if (e2pdf.pdf.settings.get('pdf')) {
4150 obj.atts.push('disabled');
4151 }
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_colors':
5429 obj = {
5430 'name': e2pdf.lang.get('Colors'),
5431 'type': 'textarea',
5432 'value': e2pdf.helper.getString(properties[field])
5433 };
5434 break;
5435 case 'g_inner_radius':
5436 obj = {
5437 'name': e2pdf.lang.get('Inner Radius'),
5438 'type': 'text',
5439 'value': e2pdf.helper.getFloat(properties[field]),
5440 'atts': ['number', 'keep']
5441 };
5442 break;
5443 case 'g_start_angle':
5444 obj = {
5445 'name': e2pdf.lang.get('Start Angle'),
5446 'type': 'text',
5447 'value': e2pdf.helper.getFloat(properties[field]),
5448 'atts': ['number']
5449 };
5450 break;
5451 case 'g_grid_straight':
5452 obj = {
5453 'name': e2pdf.lang.get('Straight'),
5454 'type': 'checkbox',
5455 'value': e2pdf.helper.getCheckbox(properties[field]),
5456 'option': '1',
5457 };
5458 break;
5459 case 'g_grid_dash':
5460 obj = {
5461 'name': e2pdf.lang.get('Grid Dash'),
5462 'type': 'text',
5463 'value': e2pdf.helper.getFloat(properties[field]),
5464 'atts': ['number']
5465 };
5466 break;
5467 case 'g_grid_dash_h':
5468 obj = {
5469 'name': e2pdf.lang.get('Grid Dash (H)'),
5470 'type': 'text',
5471 'value': e2pdf.helper.getFloat(properties[field]),
5472 'atts': ['number']
5473 };
5474 break;
5475 case 'g_grid_dash_v':
5476 obj = {
5477 'name': e2pdf.lang.get('Grid Dash (V)'),
5478 'type': 'text',
5479 'value': e2pdf.helper.getFloat(properties[field]),
5480 'atts': ['number']
5481 };
5482 break;
5483 case 'g_fill_opacity':
5484 obj = {
5485 'name': e2pdf.lang.get('Fill Opacity'),
5486 'type': 'text',
5487 'value': e2pdf.helper.getFloat(properties[field]),
5488 'atts': ['number', 'keep']
5489 };
5490 break;
5491 case 'g_axis_font_weight_h':
5492 obj = {
5493 'name': e2pdf.lang.get('Bold'),
5494 'type': 'checkbox',
5495 'value': e2pdf.helper.getCheckbox(properties[field]),
5496 'option': '1'
5497 };
5498 break;
5499 case 'g_axis_font_weight_v':
5500 obj = {
5501 'name': e2pdf.lang.get('Bold'),
5502 'type': 'checkbox',
5503 'value': e2pdf.helper.getCheckbox(properties[field]),
5504 'option': '1'
5505 };
5506 break;
5507 }
5508 if (!obj.hasOwnProperty('key')) {
5509 obj['key'] = field;
5510 }
5511 if (!obj.hasOwnProperty('atts')) {
5512 obj['atts'] = [];
5513 }
5514 return obj;
5515 },
5516 // e2pdf.properties.getFields
5517 getFields: function (el, actions) {
5518
5519 if (el.data('data-type') === 'e2pdf-tpl') {
5520 var obj = {};
5521 } else if (el.data('data-type') === 'e2pdf-page') {
5522 var obj = {
5523 'page_id': {
5524 'name': '',
5525 'fields': [
5526 e2pdf.properties.getField('page_id', el),
5527 e2pdf.properties.getField('element_type', el)
5528 ],
5529 'position': 'top',
5530 'classes': [
5531 'e2pdf-w50 e2pdf-pr10',
5532 'e2pdf-w50 e2pdf-pl10'
5533 ]
5534 },
5535 'size': {
5536 'name': e2pdf.lang.get('Size'),
5537 'fields': [
5538 e2pdf.properties.getField('width', el),
5539 e2pdf.properties.getField('height', el),
5540 e2pdf.properties.getField('preset', el)
5541 ],
5542 'position': 'top',
5543 'classes': [
5544 'e2pdf-w50 e2pdf-pr10',
5545 'e2pdf-w50 e2pdf-pl10',
5546 'e2pdf-w100'
5547 ]
5548 }
5549 };
5550 } else {
5551 var obj = {
5552 'element': {
5553 'name': e2pdf.lang.get('Element'),
5554 'fields': [
5555 e2pdf.properties.getField('element_id', el),
5556 e2pdf.properties.getField('page_id', el),
5557 e2pdf.properties.getField('element_type', el),
5558 e2pdf.properties.getField('left', el),
5559 e2pdf.properties.getField('top', el),
5560 e2pdf.properties.getField('width', el),
5561 e2pdf.properties.getField('height', el)
5562 ],
5563 'position': 'top',
5564 'classes': [
5565 'e2pdf-w25',
5566 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5567 'e2pdf-w50 e2pdf-pl10',
5568 'e2pdf-w25',
5569 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5570 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5571 'e2pdf-w25'
5572 ]
5573 }
5574 };
5575 if (el.data('data-type') === 'e2pdf-input') {
5576
5577 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5578 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5579 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5580 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5581 obj['field'] = {
5582 'name': e2pdf.lang.get('Field'),
5583 'fields': [
5584 e2pdf.properties.getField('text_color', el),
5585 e2pdf.properties.getField('text_font', el),
5586 e2pdf.properties.getField('text_font_size', el),
5587 e2pdf.properties.getField('text_letter_spacing', el),
5588 e2pdf.properties.getField('text_auto_font_size', el),
5589 e2pdf.properties.getField('text_align', el),
5590 e2pdf.properties.getField('rotation', el),
5591 e2pdf.properties.getField('length', el),
5592 e2pdf.properties.getField('rtl', el),
5593 e2pdf.properties.getField('comb', el),
5594 e2pdf.properties.getField('required', el),
5595 e2pdf.properties.getField('readonly', el),
5596 e2pdf.properties.getField('pass', el)
5597 ],
5598 'position': 'left',
5599 'classes': [
5600 'e2pdf-w100',
5601 'e2pdf-w100',
5602 'e2pdf-w50',
5603 'e2pdf-w50 e2pdf-pl10',
5604 'e2pdf-w100',
5605 'e2pdf-w50',
5606 'e2pdf-w50 e2pdf-pl10',
5607 'e2pdf-w70',
5608 'e2pdf-w30 e2pdf-pl10',
5609 'e2pdf-pr10',
5610 'e2pdf-pr10',
5611 'e2pdf-pr10',
5612 'e2pdf-pr10'
5613 ]
5614 };
5615 obj['style'] = {
5616 'name': e2pdf.lang.get('Style'),
5617 'fields': [
5618 e2pdf.properties.getField('background', el),
5619 e2pdf.properties.getField('border_color', el),
5620 e2pdf.properties.getField('border', el),
5621 e2pdf.properties.getField('z_index', el)
5622 ],
5623 'position': 'right',
5624 'classes': [
5625 'e2pdf-w100',
5626 'e2pdf-w70',
5627 'e2pdf-w30 e2pdf-pl10',
5628 'e2pdf-w100'
5629 ]
5630 };
5631 obj['value'] = {
5632 'name': e2pdf.lang.get('Value'),
5633 'fields': [
5634 e2pdf.properties.getField('value', el),
5635 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5636 e2pdf.properties.getField('preg_pattern', el),
5637 e2pdf.properties.getField('preg_replacement', el),
5638 e2pdf.properties.getField('preg_match_all_pattern', el),
5639 e2pdf.properties.getField('preg_match_all_output', el)
5640 ],
5641 'position': 'bottom',
5642 'classes': [
5643 'e2pdf-w100 e2pdf-hide-label',
5644 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5645 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5646 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5647 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5648 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5649 ]
5650 };
5651 }
5652
5653 if (el.data('data-type') === 'e2pdf-textarea') {
5654
5655 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5656 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5657 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5658 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5659 obj['field'] = {
5660 'name': e2pdf.lang.get('Field'),
5661 'fields': [
5662 e2pdf.properties.getField('text_color', el),
5663 e2pdf.properties.getField('text_font', el),
5664 e2pdf.properties.getField('text_font_size', el),
5665 e2pdf.properties.getField('text_letter_spacing', el),
5666 e2pdf.properties.getField('text_auto_font_size', el),
5667 e2pdf.properties.getField('text_line_height', el),
5668 e2pdf.properties.getField('text_align', el),
5669 e2pdf.properties.getField('rotation', el),
5670 e2pdf.properties.getField('length', el),
5671 e2pdf.properties.getField('rtl', el),
5672 e2pdf.properties.getField('comb', el),
5673 e2pdf.properties.getField('required', el),
5674 e2pdf.properties.getField('readonly', el),
5675 e2pdf.properties.getField('pass', el)
5676 ],
5677 'position': 'left',
5678 'classes': [
5679 'e2pdf-w100',
5680 'e2pdf-w100',
5681 'e2pdf-w50',
5682 'e2pdf-w50 e2pdf-pl10',
5683 'e2pdf-w100',
5684 'e2pdf-w100',
5685 'e2pdf-w50',
5686 'e2pdf-w50 e2pdf-pl10',
5687 'e2pdf-w70',
5688 'e2pdf-w30 e2pdf-pl10',
5689 'e2pdf-pr10',
5690 'e2pdf-pr10',
5691 'e2pdf-pr10',
5692 'e2pdf-pr10'
5693 ]
5694 };
5695 obj['style'] = {
5696 'name': e2pdf.lang.get('Style'),
5697 'fields': [
5698 e2pdf.properties.getField('background', el),
5699 e2pdf.properties.getField('border_color', el),
5700 e2pdf.properties.getField('border', el),
5701 e2pdf.properties.getField('z_index', el)
5702 ],
5703 'position': 'right',
5704 'classes': [
5705 'e2pdf-w100',
5706 'e2pdf-w70',
5707 'e2pdf-w30 e2pdf-pl10',
5708 'e2pdf-w100'
5709 ]
5710 };
5711 obj['value'] = {
5712 'name': e2pdf.lang.get('Value'),
5713 'fields': [
5714 e2pdf.properties.getField('value', el),
5715 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5716 e2pdf.properties.getField('preg_pattern', el),
5717 e2pdf.properties.getField('preg_replacement', el),
5718 e2pdf.properties.getField('preg_match_all_pattern', el),
5719 e2pdf.properties.getField('preg_match_all_output', el)
5720 ],
5721 'position': 'bottom',
5722 'classes': [
5723 'e2pdf-w100 e2pdf-hide-label',
5724 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5725 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5726 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5727 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5728 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5729 ]
5730 };
5731 }
5732
5733 if (el.data('data-type') === 'e2pdf-checkbox') {
5734
5735 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5736 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5737 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5738 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5739 obj['field'] = {
5740 'name': e2pdf.lang.get('Field'),
5741 'fields': [
5742 e2pdf.properties.getField('text_color', el),
5743 e2pdf.properties.getField('text_type', el),
5744 e2pdf.properties.getField('rotation', el),
5745 e2pdf.properties.getField('rtl', el),
5746 e2pdf.properties.getField('required', el),
5747 e2pdf.properties.getField('readonly', el)
5748 ],
5749 'position': 'left',
5750 'classes': [
5751 'e2pdf-w100',
5752 'e2pdf-w100',
5753 'e2pdf-w70',
5754 'e2pdf-w30 e2pdf-pl10',
5755 'e2pdf-pr10',
5756 'e2pdf-pr10'
5757 ]
5758 };
5759 obj['style'] = {
5760 'name': e2pdf.lang.get('Style'),
5761 'fields': [
5762 e2pdf.properties.getField('background', el),
5763 e2pdf.properties.getField('border_color', el),
5764 e2pdf.properties.getField('border', el),
5765 e2pdf.properties.getField('z_index', el)
5766 ],
5767 'position': 'right',
5768 'classes': [
5769 'e2pdf-w100',
5770 'e2pdf-w70',
5771 'e2pdf-w30 e2pdf-pl10',
5772 'e2pdf-w100'
5773 ]
5774 };
5775 obj['value'] = {
5776 'name': '',
5777 'fields': [
5778 e2pdf.properties.getField('option', el),
5779 e2pdf.properties.getField('value', el),
5780 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5781 e2pdf.properties.getField('preg_pattern', el),
5782 e2pdf.properties.getField('preg_replacement', el),
5783 e2pdf.properties.getField('preg_match_all_pattern', el),
5784 e2pdf.properties.getField('preg_match_all_output', el)
5785 ],
5786 'position': 'bottom',
5787 'classes': [
5788 'e2pdf-w100 e2pdf-strong-label',
5789 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5790 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5791 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5792 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5793 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5794 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5795 ]
5796 };
5797 }
5798
5799 if (el.data('data-type') === 'e2pdf-radio') {
5800
5801 obj['field'] = {
5802 'name': e2pdf.lang.get('Field'),
5803 'fields': [
5804 e2pdf.properties.getField('text_color', el),
5805 e2pdf.properties.getField('text_type', el),
5806 e2pdf.properties.getField('rotation', el),
5807 e2pdf.properties.getField('rtl', el),
5808 e2pdf.properties.getField('required', el),
5809 e2pdf.properties.getField('readonly', el)
5810 ],
5811 'position': 'left',
5812 'classes': [
5813 'e2pdf-w100',
5814 'e2pdf-w100',
5815 'e2pdf-w70',
5816 'e2pdf-w30 e2pdf-pl10',
5817 'e2pdf-pr10',
5818 'e2pdf-pr10',
5819 'e2pdf-pr10'
5820 ]
5821 };
5822 obj['style'] = {
5823 'name': e2pdf.lang.get('Style'),
5824 'fields': [
5825 e2pdf.properties.getField('background', el),
5826 e2pdf.properties.getField('border_color', el),
5827 e2pdf.properties.getField('border', el),
5828 e2pdf.properties.getField('z_index', el)
5829 ],
5830 'position': 'right',
5831 'classes': [
5832 'e2pdf-w100',
5833 'e2pdf-w70',
5834 'e2pdf-w30 e2pdf-pl10',
5835 'e2pdf-w100'
5836 ]
5837 };
5838 obj['value'] = {
5839 'name': '',
5840 'fields': [
5841 e2pdf.properties.getField('group', el),
5842 e2pdf.properties.getField('field_name', el),
5843 e2pdf.properties.getField('option', el),
5844 e2pdf.properties.getField('value', el),
5845 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5846 e2pdf.properties.getField('preg_pattern', el),
5847 e2pdf.properties.getField('preg_replacement', el),
5848 e2pdf.properties.getField('preg_match_all_pattern', el),
5849 e2pdf.properties.getField('preg_match_all_output', el)
5850 ],
5851 'position': 'bottom',
5852 'classes': [
5853 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5854 'e2pdf-w25 e2pdf-mt-label',
5855 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5856 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5857 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5858 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5859 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5860 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5861 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5862 ]
5863 };
5864 }
5865
5866 if (el.data('data-type') === 'e2pdf-select') {
5867
5868 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5869 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5870 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5871 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5872 obj['field'] = {
5873 'name': e2pdf.lang.get('Field'),
5874 'fields': [
5875 e2pdf.properties.getField('text_color', el),
5876 e2pdf.properties.getField('text_font', el),
5877 e2pdf.properties.getField('text_font_size', el),
5878 e2pdf.properties.getField('text_letter_spacing', el),
5879 e2pdf.properties.getField('text_auto_font_size', el),
5880 e2pdf.properties.getField('rotation', el),
5881 e2pdf.properties.getField('rtl', el),
5882 e2pdf.properties.getField('multiline', el),
5883 e2pdf.properties.getField('required', el),
5884 e2pdf.properties.getField('readonly', el)
5885 ],
5886 'position': 'left',
5887 'classes': [
5888 'e2pdf-w100',
5889 'e2pdf-w100',
5890 'e2pdf-w50',
5891 'e2pdf-w50 e2pdf-pl10',
5892 'e2pdf-w100',
5893 'e2pdf-w70',
5894 'e2pdf-w30 e2pdf-pl10',
5895 'e2pdf-pr10',
5896 'e2pdf-pr10',
5897 'e2pdf-pr10'
5898 ]
5899 };
5900 obj['style'] = {
5901 'name': e2pdf.lang.get('Style'),
5902 'fields': [
5903 e2pdf.properties.getField('background', el),
5904 e2pdf.properties.getField('border_color', el),
5905 e2pdf.properties.getField('border', el),
5906 e2pdf.properties.getField('z_index', el)
5907 ],
5908 'position': 'right',
5909 'classes': [
5910 'e2pdf-w100',
5911 'e2pdf-w70',
5912 'e2pdf-w30 e2pdf-pl10',
5913 'e2pdf-w100'
5914 ]
5915 };
5916 obj['value'] = {
5917 'name': '',
5918 'fields': [
5919 e2pdf.properties.getField('options', el),
5920 e2pdf.properties.getField('value', el),
5921 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5922 e2pdf.properties.getField('preg_pattern', el),
5923 e2pdf.properties.getField('preg_replacement', el),
5924 e2pdf.properties.getField('preg_match_all_pattern', el),
5925 e2pdf.properties.getField('preg_match_all_output', el)
5926 ],
5927 'position': 'bottom',
5928 'classes': [
5929 'e2pdf-w100 e2pdf-strong-label',
5930 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5931 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5932 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5933 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5934 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5935 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5936 ]
5937 };
5938 }
5939
5940 if (el.data('data-type') === 'e2pdf-signature') {
5941
5942 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5943 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5944 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5945 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5946 obj['field'] = {
5947 'name': e2pdf.lang.get('Field'),
5948 'fields': [
5949 e2pdf.properties.getField('text_color', el),
5950 e2pdf.properties.getField('text_font', el),
5951 e2pdf.properties.getField('text_font_size', el),
5952 e2pdf.properties.getField('placeholder', el),
5953 e2pdf.properties.getField('esig', el),
5954 e2pdf.properties.getField('required', el),
5955 e2pdf.properties.getField('horizontal', el),
5956 e2pdf.properties.getField('vertical', el),
5957 e2pdf.properties.getField('rotation', el),
5958 e2pdf.properties.getField('opacity', el),
5959 e2pdf.properties.getField('dimension', el),
5960 e2pdf.properties.getField('block_dimension', el),
5961 e2pdf.properties.getField('keep_lower_size', el),
5962 e2pdf.properties.getField('fill_image', el)
5963 ],
5964 'position': 'left',
5965 'classes': [
5966 'e2pdf-w100',
5967 'e2pdf-w60 e2pdf-pr10',
5968 'e2pdf-w40',
5969 'e2pdf-w100',
5970 'e2pdf-w50',
5971 'e2pdf-w50 e2pdf-pl10',
5972 'e2pdf-w50',
5973 'e2pdf-w50 e2pdf-pl10',
5974 'e2pdf-w50',
5975 'e2pdf-w50 e2pdf-pl10',
5976 'e2pdf-w50',
5977 'e2pdf-w50 e2pdf-pl10',
5978 'e2pdf-w50',
5979 'e2pdf-w50 e2pdf-pl10'
5980 ]
5981 };
5982 obj['style'] = {
5983 'name': e2pdf.lang.get('Style'),
5984 'fields': [
5985 e2pdf.properties.getField('background', el),
5986 e2pdf.properties.getField('padding_top', el),
5987 e2pdf.properties.getField('padding_left', el),
5988 e2pdf.properties.getField('padding_right', el),
5989 e2pdf.properties.getField('padding_bottom', el),
5990 e2pdf.properties.getField('border_color', el),
5991 e2pdf.properties.getField('border_radius', el),
5992 e2pdf.properties.getField('border_top', el),
5993 e2pdf.properties.getField('border_left', el),
5994 e2pdf.properties.getField('border_right', el),
5995 e2pdf.properties.getField('border_bottom', el),
5996 e2pdf.properties.getField('z_index', el)
5997 ],
5998 'position': 'right',
5999 'classes': [
6000 'e2pdf-w100',
6001 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6002 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6003 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6004 'e2pdf-w25 e2pdf-fnl',
6005 'e2pdf-w100',
6006 'e2pdf-w100',
6007 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6008 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6009 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6010 'e2pdf-w25 e2pdf-fnl',
6011 'e2pdf-w100'
6012 ]
6013 };
6014 obj['value'] = {
6015 'name': e2pdf.lang.get('Value'),
6016 'fields': [
6017 e2pdf.properties.getField('value', el),
6018 e2pdf.properties.getField('only_image', el),
6019 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6020 e2pdf.properties.getField('preg_pattern', el),
6021 e2pdf.properties.getField('preg_replacement', el),
6022 e2pdf.properties.getField('preg_match_all_pattern', el),
6023 e2pdf.properties.getField('preg_match_all_output', el)
6024 ],
6025 'position': 'bottom',
6026 'classes': [
6027 'e2pdf-w100 e2pdf-hide-label',
6028 'e2pdf-w50 e2pdf-pr10',
6029 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6030 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6031 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6032 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6033 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6034 ]
6035 };
6036 }
6037
6038 if (el.data('data-type') === 'e2pdf-html') {
6039 obj['field'] = {
6040 'name': e2pdf.lang.get('Field'),
6041 'fields': [
6042 e2pdf.properties.getField('text_color', el),
6043 e2pdf.properties.getField('text_font', el),
6044 e2pdf.properties.getField('text_font_size', el),
6045 e2pdf.properties.getField('text_letter_spacing', el),
6046 e2pdf.properties.getField('text_line_height', el),
6047 e2pdf.properties.getField('text_align', el),
6048 e2pdf.properties.getField('rotation', el),
6049 e2pdf.properties.getField('vertical', el),
6050 e2pdf.properties.getField('rtl', el),
6051 e2pdf.properties.getField('multipage', el),
6052 e2pdf.properties.getField('nl2br', el),
6053 e2pdf.properties.getField('preload_img', el),
6054 e2pdf.properties.getField('hide_if_empty', el),
6055 e2pdf.properties.getField('hide_page_if_empty', el)
6056 ],
6057 'position': 'left',
6058 'classes': [
6059 'e2pdf-w100',
6060 'e2pdf-w100',
6061 'e2pdf-w50',
6062 'e2pdf-w50 e2pdf-pl10',
6063 'e2pdf-w100',
6064 'e2pdf-w50',
6065 'e2pdf-w50 e2pdf-pl10',
6066 'e2pdf-w70',
6067 'e2pdf-w30 e2pdf-pl10',
6068 'e2pdf-pr10',
6069 'e2pdf-pr10',
6070 'e2pdf-pr10',
6071 'e2pdf-pr10',
6072 'e2pdf-pr10'
6073 ]
6074 };
6075 if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6076 obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6077 obj['field'].classes.push('e2pdf-pr10');
6078 }
6079
6080 obj['style'] = {
6081 'name': e2pdf.lang.get('Style'),
6082 'fields': [
6083 e2pdf.properties.getField('background', el),
6084 e2pdf.properties.getField('padding_top', el),
6085 e2pdf.properties.getField('padding_left', el),
6086 e2pdf.properties.getField('padding_right', el),
6087 e2pdf.properties.getField('padding_bottom', el),
6088 e2pdf.properties.getField('border_color', el),
6089 e2pdf.properties.getField('border_top', el),
6090 e2pdf.properties.getField('border_left', el),
6091 e2pdf.properties.getField('border_right', el),
6092 e2pdf.properties.getField('border_bottom', el),
6093 e2pdf.properties.getField('z_index', el)
6094 ],
6095 'position': 'right',
6096 'classes': [
6097 'e2pdf-w100',
6098 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6099 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6100 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6101 'e2pdf-w25 e2pdf-fnl',
6102 'e2pdf-w100',
6103 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6104 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6105 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6106 'e2pdf-w25 e2pdf-fnl',
6107 'e2pdf-w100'
6108 ]
6109 };
6110 obj['value'] = {
6111 'name': '',
6112 'fields': [
6113 e2pdf.properties.getField('parent', el),
6114 e2pdf.properties.getField('css', el),
6115 e2pdf.properties.getField('css_priority', el),
6116 e2pdf.properties.getField('value', el),
6117 e2pdf.properties.getField('html_worker', el),
6118 e2pdf.properties.getField('wysiwyg_disable', el),
6119 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6120 e2pdf.properties.getField('preg_pattern', el),
6121 e2pdf.properties.getField('preg_replacement', el),
6122 e2pdf.properties.getField('preg_match_all_pattern', el),
6123 e2pdf.properties.getField('preg_match_all_output', el)
6124 ],
6125 'position': 'bottom',
6126 'classes': [
6127 'e2pdf-w100 e2pdf-strong-label',
6128 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6129 'e2pdf-w20 e2pdf-pr10',
6130 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6131 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6132 'e2pdf-w50 e2pdf-pr10',
6133 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6134 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6135 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6136 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6137 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6138 ]
6139 };
6140 }
6141
6142 if (el.data('data-type') === 'e2pdf-page-number') {
6143 obj['field'] = {
6144 'name': e2pdf.lang.get('Field'),
6145 'fields': [
6146 e2pdf.properties.getField('text_color', el),
6147 e2pdf.properties.getField('text_font', el),
6148 e2pdf.properties.getField('text_font_size', el),
6149 e2pdf.properties.getField('text_letter_spacing', el),
6150 e2pdf.properties.getField('text_line_height', el),
6151 e2pdf.properties.getField('text_align', el),
6152 e2pdf.properties.getField('rotation', el),
6153 e2pdf.properties.getField('vertical', el),
6154 e2pdf.properties.getField('rtl', el)
6155 ],
6156 'position': 'left',
6157 'classes': [
6158 'e2pdf-w100',
6159 'e2pdf-w100',
6160 'e2pdf-w50',
6161 'e2pdf-w50 e2pdf-pl10',
6162 'e2pdf-w100',
6163 'e2pdf-w50',
6164 'e2pdf-w50 e2pdf-pl10',
6165 'e2pdf-w70',
6166 'e2pdf-w30 e2pdf-pl10'
6167 ]
6168 };
6169 obj['page_number'] = {
6170 'name': e2pdf.lang.get('Page Number'),
6171 'fields': [
6172 e2pdf.properties.getField('page_number', el),
6173 e2pdf.properties.getField('page_total', el),
6174 ],
6175 'position': 'left',
6176 'classes': [
6177 'e2pdf-w50',
6178 'e2pdf-w50 e2pdf-pl10',
6179 ]
6180 };
6181 obj['style'] = {
6182 'name': e2pdf.lang.get('Style'),
6183 'fields': [
6184 e2pdf.properties.getField('background', el),
6185 e2pdf.properties.getField('padding_top', el),
6186 e2pdf.properties.getField('padding_left', el),
6187 e2pdf.properties.getField('padding_right', el),
6188 e2pdf.properties.getField('padding_bottom', el),
6189 e2pdf.properties.getField('border_color', el),
6190 e2pdf.properties.getField('border_top', el),
6191 e2pdf.properties.getField('border_left', el),
6192 e2pdf.properties.getField('border_right', el),
6193 e2pdf.properties.getField('border_bottom', el)
6194 ],
6195 'position': 'right',
6196 'classes': [
6197 'e2pdf-w100',
6198 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6199 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6200 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6201 'e2pdf-w25 e2pdf-fnl',
6202 'e2pdf-w100',
6203 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6204 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6205 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6206 'e2pdf-w25 e2pdf-fnl'
6207 ]
6208 };
6209 obj['value'] = {
6210 'name': '',
6211 'fields': [
6212 e2pdf.properties.getField('css', el),
6213 e2pdf.properties.getField('value', el),
6214 e2pdf.properties.getField('html_worker', el)
6215 ],
6216 'position': 'bottom',
6217 'classes': [
6218 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6219 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6220 'e2pdf-w30 e2pdf-pr10'
6221 ]
6222 };
6223 }
6224
6225 if (el.data('data-type') === 'e2pdf-image') {
6226
6227 obj['field'] = {
6228 'name': e2pdf.lang.get('Field'),
6229 'fields': [
6230 e2pdf.properties.getField('text_color', el),
6231 e2pdf.properties.getField('text_font', el),
6232 e2pdf.properties.getField('text_font_size', el),
6233 e2pdf.properties.getField('horizontal', el),
6234 e2pdf.properties.getField('vertical', el),
6235 e2pdf.properties.getField('rotation', el),
6236 e2pdf.properties.getField('opacity', el),
6237 e2pdf.properties.getField('quality', el),
6238 e2pdf.properties.getField('dimension', el),
6239 e2pdf.properties.getField('block_dimension', el),
6240 e2pdf.properties.getField('keep_lower_size', el),
6241 e2pdf.properties.getField('fill_image', el),
6242 e2pdf.properties.getField('hide_page_if_empty', el)
6243 ],
6244 'position': 'left',
6245 'classes': [
6246 'e2pdf-w100',
6247 'e2pdf-w60 e2pdf-pr10',
6248 'e2pdf-w40',
6249 'e2pdf-w50',
6250 'e2pdf-w50 e2pdf-pl10',
6251 'e2pdf-w50',
6252 'e2pdf-w50 e2pdf-pl10',
6253 'e2pdf-w100',
6254 'e2pdf-pr10',
6255 'e2pdf-pr10',
6256 'e2pdf-pr10',
6257 'e2pdf-pr10',
6258 'e2pdf-pr10'
6259 ]
6260 };
6261 obj['pdf'] = {
6262 'name': 'Pdf',
6263 'fields': [
6264 e2pdf.properties.getField('pdf_page', el),
6265 e2pdf.properties.getField('pdf_resample', el),
6266 e2pdf.properties.getField('pdf_append', el),
6267 e2pdf.properties.getField('pdf_space', el),
6268 e2pdf.properties.getField('pdf_border', el)
6269 ],
6270 'position': 'left',
6271 'classes': [
6272 'e2pdf-w50',
6273 'e2pdf-w50 e2pdf-pl10',
6274 'e2pdf-w100',
6275 'e2pdf-w50',
6276 'e2pdf-w50 e2pdf-pl10'
6277 ]
6278 };
6279 obj['style'] = {
6280 'name': e2pdf.lang.get('Style'),
6281 'fields': [
6282 e2pdf.properties.getField('background', el),
6283 e2pdf.properties.getField('padding_top', el),
6284 e2pdf.properties.getField('padding_left', el),
6285 e2pdf.properties.getField('padding_right', el),
6286 e2pdf.properties.getField('padding_bottom', el),
6287 e2pdf.properties.getField('border_color', el),
6288 e2pdf.properties.getField('border_radius', el),
6289 e2pdf.properties.getField('border_top', el),
6290 e2pdf.properties.getField('border_left', el),
6291 e2pdf.properties.getField('border_right', el),
6292 e2pdf.properties.getField('border_bottom', el),
6293 e2pdf.properties.getField('z_index', el)
6294 ],
6295 'position': 'right',
6296 'classes': [
6297 'e2pdf-w100',
6298 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6299 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6300 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6301 'e2pdf-w25 e2pdf-fnl',
6302 'e2pdf-w100',
6303 'e2pdf-w100',
6304 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6305 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6306 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6307 'e2pdf-w25 e2pdf-fnl',
6308 'e2pdf-w100'
6309 ]
6310 };
6311 obj['value'] = {
6312 'name': '',
6313 'fields': [
6314 e2pdf.properties.getField('link_url', el),
6315 e2pdf.properties.getField('link_type', el),
6316 e2pdf.properties.getField('highlight', el),
6317 e2pdf.properties.getField('value', el),
6318 e2pdf.properties.getField('only_image', el),
6319 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6320 e2pdf.properties.getField('preg_pattern', el),
6321 e2pdf.properties.getField('preg_replacement', el),
6322 e2pdf.properties.getField('preg_match_all_pattern', el),
6323 e2pdf.properties.getField('preg_match_all_output', el)
6324 ],
6325 'position': 'bottom',
6326 'classes': [
6327 'e2pdf-w50 e2pdf-pr10',
6328 'e2pdf-w25 e2pdf-pr10',
6329 'e2pdf-w25',
6330 'e2pdf-w100',
6331 'e2pdf-w50 e2pdf-pr10',
6332 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6333 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6334 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6335 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6336 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6337 ]
6338 };
6339 }
6340
6341 if (el.data('data-type') === 'e2pdf-qrcode') {
6342
6343 obj['qrcode'] = {
6344 'name': e2pdf.lang.get('QR Code'),
6345 'fields': [
6346 e2pdf.properties.getField('color', el),
6347 e2pdf.properties.getField('precision', el),
6348 e2pdf.properties.getField('wq', el)
6349 ],
6350 'position': 'left',
6351 'classes': [
6352 'e2pdf-w100',
6353 'e2pdf-w50',
6354 'e2pdf-w50 e2pdf-pl10'
6355 ]
6356 };
6357 obj['style'] = {
6358 'name': e2pdf.lang.get('Style'),
6359 'fields': [
6360 e2pdf.properties.getField('background', el),
6361 e2pdf.properties.getField('margin_top', el),
6362 e2pdf.properties.getField('margin_left', el),
6363 e2pdf.properties.getField('margin_right', el),
6364 e2pdf.properties.getField('margin_bottom', el),
6365 e2pdf.properties.getField('padding_top', el),
6366 e2pdf.properties.getField('padding_left', el),
6367 e2pdf.properties.getField('padding_right', el),
6368 e2pdf.properties.getField('padding_bottom', el),
6369 e2pdf.properties.getField('border_color', el),
6370 e2pdf.properties.getField('border_top', el),
6371 e2pdf.properties.getField('border_left', el),
6372 e2pdf.properties.getField('border_right', el),
6373 e2pdf.properties.getField('border_bottom', el),
6374 e2pdf.properties.getField('z_index', el)
6375 ],
6376 'position': 'right',
6377 'classes': [
6378 'e2pdf-w100',
6379 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6380 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6381 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6382 'e2pdf-w25 e2pdf-fnl',
6383 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6384 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6385 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6386 'e2pdf-w25 e2pdf-fnl',
6387 'e2pdf-w100',
6388 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6389 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6390 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6391 'e2pdf-w25 e2pdf-fnl',
6392 'e2pdf-w100'
6393 ]
6394 };
6395 obj['value'] = {
6396 'name': e2pdf.lang.get('Value'),
6397 'fields': [
6398 e2pdf.properties.getField('value', el),
6399 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6400 e2pdf.properties.getField('preg_pattern', el),
6401 e2pdf.properties.getField('preg_replacement', el),
6402 e2pdf.properties.getField('preg_match_all_pattern', el),
6403 e2pdf.properties.getField('preg_match_all_output', el)
6404 ],
6405 'position': 'bottom',
6406 'classes': [
6407 'e2pdf-w100 e2pdf-hide-label',
6408 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6409 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6410 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6411 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6412 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6413 ]
6414 };
6415 }
6416
6417 if (el.data('data-type') === 'e2pdf-barcode') {
6418 obj['barcode'] = {
6419 'name': e2pdf.lang.get('Barcode'),
6420 'fields': [
6421 e2pdf.properties.getField('text_color', el),
6422 e2pdf.properties.getField('text_font', el),
6423 e2pdf.properties.getField('text_font_size', el),
6424 e2pdf.properties.getField('text_line_height', el),
6425 e2pdf.properties.getField('color', el),
6426 e2pdf.properties.getField('format', el),
6427 e2pdf.properties.getField('wq', el),
6428 e2pdf.properties.getField('horizontal', el),
6429 e2pdf.properties.getField('vertical', el),
6430 e2pdf.properties.getField('scale', el),
6431 e2pdf.properties.getField('rotation', el),
6432 e2pdf.properties.getField('dimension', el),
6433 e2pdf.properties.getField('hl', el)
6434 ],
6435 'position': 'left',
6436 'classes': [
6437 'e2pdf-w100',
6438 'e2pdf-w60 e2pdf-pr10',
6439 'e2pdf-w40',
6440 'e2pdf-w100',
6441 'e2pdf-w100',
6442 'e2pdf-w50',
6443 'e2pdf-w50 e2pdf-pl10',
6444 'e2pdf-w50',
6445 'e2pdf-w50 e2pdf-pl10',
6446 'e2pdf-w50',
6447 'e2pdf-w50 e2pdf-pl10',
6448 'e2pdf-pr10',
6449 'e2pdf-pr10'
6450 ]
6451 };
6452 obj['style'] = {
6453 'name': e2pdf.lang.get('Style'),
6454 'fields': [
6455 e2pdf.properties.getField('background', el),
6456 e2pdf.properties.getField('margin_top', el),
6457 e2pdf.properties.getField('margin_left', el),
6458 e2pdf.properties.getField('margin_right', el),
6459 e2pdf.properties.getField('margin_bottom', el),
6460 e2pdf.properties.getField('padding_top', el),
6461 e2pdf.properties.getField('padding_left', el),
6462 e2pdf.properties.getField('padding_right', el),
6463 e2pdf.properties.getField('padding_bottom', el),
6464 e2pdf.properties.getField('border_color', el),
6465 e2pdf.properties.getField('border_top', el),
6466 e2pdf.properties.getField('border_left', el),
6467 e2pdf.properties.getField('border_right', el),
6468 e2pdf.properties.getField('border_bottom', el),
6469 e2pdf.properties.getField('z_index', el)
6470 ],
6471 'position': 'right',
6472 'classes': [
6473 'e2pdf-w100',
6474 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6475 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6476 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6477 'e2pdf-w25 e2pdf-fnl',
6478 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6479 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6480 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6481 'e2pdf-w25 e2pdf-fnl',
6482 'e2pdf-w100',
6483 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6484 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6485 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6486 'e2pdf-w25 e2pdf-fnl',
6487 'e2pdf-w100'
6488 ]
6489 };
6490 obj['value'] = {
6491 'name': e2pdf.lang.get('Value'),
6492 'fields': [
6493 e2pdf.properties.getField('value', el),
6494 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6495 e2pdf.properties.getField('preg_pattern', el),
6496 e2pdf.properties.getField('preg_replacement', el),
6497 e2pdf.properties.getField('preg_match_all_pattern', el),
6498 e2pdf.properties.getField('preg_match_all_output', el)
6499 ],
6500 'position': 'bottom',
6501 'classes': [
6502 'e2pdf-w100 e2pdf-hide-label',
6503 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6504 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6505 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6506 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6507 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6508 ]
6509 };
6510 }
6511
6512 if (el.data('data-type') === 'e2pdf-graph') {
6513 obj['graph'] = {
6514 'name': e2pdf.lang.get('Graph'),
6515 'fields': [
6516 e2pdf.properties.getField('g_type', el),
6517 e2pdf.properties.getField('text_font', el),
6518 e2pdf.properties.getField('g_palette', el),
6519 e2pdf.properties.getField('g_stroke_colour', el),
6520 e2pdf.properties.getField('g_stroke_width', el),
6521 e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6522 e2pdf.properties.getField('g_sort', el),
6523 e2pdf.properties.getField('g_fill_under', el),
6524 e2pdf.properties.getField('g_reverse', el),
6525 e2pdf.properties.getField('g_percentage', el),
6526 ],
6527 'position': 'left',
6528 'classes': [
6529 'e2pdf-w100',
6530 'e2pdf-w100',
6531 'e2pdf-w100',
6532 'e2pdf-w70 e2pdf-pr10',
6533 'e2pdf-w30',
6534 'e2pdf-pr10',
6535 'e2pdf-pr10',
6536 'e2pdf-pr10',
6537 'e2pdf-pr10',
6538 'e2pdf-pr10',
6539 ]
6540 };
6541 obj['title'] = {
6542 'name': e2pdf.lang.get('Title'),
6543 'fields': [
6544 e2pdf.properties.getField('g_graph_title_colour', el),
6545 e2pdf.properties.getField('g_graph_title', el),
6546 e2pdf.properties.getField('g_graph_title_font_size', el),
6547 e2pdf.properties.getField('g_graph_title_position', el),
6548 e2pdf.properties.getField('g_graph_title_space', el),
6549 ],
6550 'position': 'left',
6551 'classes': [
6552 'e2pdf-w100',
6553 'e2pdf-w60 e2pdf-pr10',
6554 'e2pdf-w40',
6555 'e2pdf-w70 e2pdf-pr10',
6556 'e2pdf-w30',
6557 ]
6558 };
6559 obj['labels'] = {
6560 'name': e2pdf.lang.get('Labels'),
6561 'fields': [
6562 e2pdf.properties.getField('g_label_colour', el),
6563 e2pdf.properties.getField('g_label_font_size', el),
6564 e2pdf.properties.getField('g_label_space', el),
6565 e2pdf.properties.getField('g_label_v', el),
6566 e2pdf.properties.getField('g_label_h', el),
6567 e2pdf.properties.getField('g_show_labels', el),
6568 e2pdf.properties.getField('g_show_label_key', el),
6569 e2pdf.properties.getField('g_show_label_amount', el),
6570 e2pdf.properties.getField('g_show_label_percent', el),
6571 ],
6572 'position': 'left',
6573 'classes': [
6574 'e2pdf-w100',
6575 'e2pdf-w70 e2pdf-pr10',
6576 'e2pdf-w30',
6577 'e2pdf-w50 e2pdf-pr10',
6578 'e2pdf-w50',
6579 'e2pdf-pr10',
6580 'e2pdf-pr10',
6581 'e2pdf-pr10',
6582 'e2pdf-pr10',
6583 ]
6584 };
6585 obj['marker'] = {
6586 'name': e2pdf.lang.get('Markers'),
6587 'fields': [
6588 e2pdf.properties.getField('g_marker_colour', el),
6589 e2pdf.properties.getField('g_marker_size', el),
6590 e2pdf.properties.getField('g_marker_dynamic_colour', el),
6591 e2pdf.properties.getField('g_marker_type', el),
6592 ],
6593 'position': 'left',
6594 'classes': [
6595 'e2pdf-w70 e2pdf-pr10',
6596 'e2pdf-w30',
6597 'e2pdf-w100',
6598 'e2pdf-w100'
6599 ]
6600 };
6601 obj['legend'] = {
6602 'name': e2pdf.lang.get('Legend'),
6603 'fields': [
6604 e2pdf.properties.getField('g_legend_back_colour', el),
6605 e2pdf.properties.getField('g_legend_stroke_colour', el),
6606 e2pdf.properties.getField('g_legend_stroke_width', el),
6607 e2pdf.properties.getField('g_legend_entry_width', el),
6608 e2pdf.properties.getField('g_legend_entry_height', el),
6609 e2pdf.properties.getField('g_legend_padding_x', el),
6610 e2pdf.properties.getField('g_legend_padding_y', el),
6611 e2pdf.properties.getField('g_legend_colour', el),
6612 e2pdf.properties.getField('g_legend_title', el),
6613 e2pdf.properties.getField('g_legend_title_font_size', el),
6614 e2pdf.properties.getField('g_legend_font_size', el),
6615 e2pdf.properties.getField('g_legend_position_horizontal', el),
6616 e2pdf.properties.getField('g_legend_position_vertical', el),
6617 e2pdf.properties.getField('g_legend_position_join', el),
6618 e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6619 e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6620 e2pdf.properties.getField('g_legend_text_side', el),
6621 e2pdf.properties.getField('g_legend_columns', el),
6622 e2pdf.properties.getField('g_show_legend', el),
6623 ],
6624 'position': 'left',
6625 'classes': [
6626 'e2pdf-w100',
6627 'e2pdf-w60 e2pdf-pr10',
6628 'e2pdf-w40',
6629 'e2pdf-w50',
6630 'e2pdf-w50 e2pdf-pl10',
6631 'e2pdf-w50',
6632 'e2pdf-w50 e2pdf-pl10',
6633 'e2pdf-w100',
6634 'e2pdf-w70 e2pdf-pr10',
6635 'e2pdf-w30',
6636 'e2pdf-w100',
6637 'e2pdf-w33 e2pdf-pr10',
6638 'e2pdf-w33',
6639 'e2pdf-w33 e2pdf-pl10',
6640 'e2pdf-w50 e2pdf-pr10',
6641 'e2pdf-w50',
6642 'e2pdf-w70 e2pdf-pr10',
6643 'e2pdf-w30',
6644 'e2pdf-pr10'
6645 ]
6646 };
6647 obj['additional'] = {
6648 'name': 'Additional',
6649 'fields': [
6650 e2pdf.properties.getField('g_bubble_scale', el),
6651 e2pdf.properties.getField('g_increment', el),
6652 e2pdf.properties.getField('g_stack_group', el),
6653 e2pdf.properties.getField('g_line_dataset', el),
6654 e2pdf.properties.getField('g_project_angle', el),
6655 e2pdf.properties.getField('g_line_curve', el),
6656 e2pdf.properties.getField('g_depth', el),
6657 e2pdf.properties.getField('g_aspect_ratio', el),
6658 e2pdf.properties.getField('g_inner_radius', el),
6659 e2pdf.properties.getField('g_start_angle', el),
6660 e2pdf.properties.getField('g_fill_opacity', el)
6661 ],
6662 'position': 'left',
6663 'classes': [
6664 'e2pdf-w50 e2pdf-pr10',
6665 'e2pdf-w50',
6666 'e2pdf-w50 e2pdf-pr10',
6667 'e2pdf-w50',
6668 'e2pdf-w50 e2pdf-pr10',
6669 'e2pdf-w50',
6670 'e2pdf-w50 e2pdf-pr10',
6671 'e2pdf-w50',
6672 'e2pdf-w50 e2pdf-pr10',
6673 'e2pdf-w50',
6674 'e2pdf-w50 e2pdf-pr10',
6675 ]
6676 };
6677 obj['grid'] = {
6678 'name': e2pdf.lang.get('Grid'),
6679 'fields': [
6680 e2pdf.properties.getField('g_grid_colour', el),
6681 e2pdf.properties.getField('g_grid_subdivision_colour', el),
6682 e2pdf.properties.getField('g_minimum_grid_spacing', el),
6683 e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6684 e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6685 e2pdf.properties.getField('g_grid_dash', el),
6686 e2pdf.properties.getField('g_grid_dash_h', el),
6687 e2pdf.properties.getField('g_grid_dash_v', el),
6688 e2pdf.properties.getField('g_grid_division_h', el),
6689 e2pdf.properties.getField('g_grid_division_v', el),
6690 e2pdf.properties.getField('g_show_grid', el),
6691 e2pdf.properties.getField('g_show_grid_subdivisions', el),
6692 e2pdf.properties.getField('g_grid_straight', el)
6693 ],
6694 'position': 'right',
6695 'classes': [
6696 'e2pdf-w100',
6697 'e2pdf-w100',
6698 'e2pdf-w100',
6699 'e2pdf-w50 e2pdf-pr10',
6700 'e2pdf-w50',
6701 'e2pdf-w100',
6702 'e2pdf-w50 e2pdf-pr10',
6703 'e2pdf-w50',
6704 'e2pdf-w50 e2pdf-pr10',
6705 'e2pdf-w50',
6706 'e2pdf-pr10',
6707 'e2pdf-pr10',
6708 'e2pdf-pr10'
6709 ]
6710 };
6711 obj['axis'] = {
6712 'name': e2pdf.lang.get('Axis'),
6713 'fields': [
6714 e2pdf.properties.getField('g_axis_colour', el),
6715 e2pdf.properties.getField('g_axis_font_size', el),
6716 e2pdf.properties.getField('g_axis_overlap', el),
6717 e2pdf.properties.getField('g_show_subdivisions', el),
6718 ],
6719 'position': 'right',
6720 'classes': [
6721 'e2pdf-w60 e2pdf-pr10',
6722 'e2pdf-w40',
6723 'e2pdf-w100',
6724 'e2pdf-w50 e2pdf-pr10',
6725 ]
6726 };
6727 obj['axis_v'] = {
6728 'name': e2pdf.lang.get('Axis (V)'),
6729 'fields': [
6730 e2pdf.properties.getField('g_axis_colour_v', el),
6731 e2pdf.properties.getField('g_axis_font_size_v', el),
6732 e2pdf.properties.getField('g_axis_font_weight_v', el),
6733 e2pdf.properties.getField('g_axis_stroke_width_v', el),
6734 e2pdf.properties.getField('g_show_axis_v', el),
6735 e2pdf.properties.getField('g_show_axis_text_v', el),
6736 e2pdf.properties.getField('g_axis_min_v', el),
6737 e2pdf.properties.getField('g_axis_max_v', el),
6738 e2pdf.properties.getField('g_axis_min_max_v', el),
6739 e2pdf.properties.getField('g_axis_text_position_v', el),
6740 e2pdf.properties.getField('g_axis_text_align_v', el),
6741 e2pdf.properties.getField('g_axis_text_space_v', el),
6742 e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6743 e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6744 e2pdf.properties.getField('g_units_x', el),
6745 ],
6746 'position': 'right',
6747 'classes': [
6748 'e2pdf-w60 e2pdf-pr10',
6749 'e2pdf-w40',
6750 'e2pdf-w100',
6751 'e2pdf-w33 e2pdf-pr10',
6752 'e2pdf-w33 e2pdf-sublabel',
6753 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6754 'e2pdf-w33 e2pdf-pr10',
6755 'e2pdf-w33',
6756 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6757 'e2pdf-w33 e2pdf-pr10',
6758 'e2pdf-w33',
6759 'e2pdf-w33 e2pdf-pl10',
6760 'e2pdf-w33 e2pdf-pr10',
6761 'e2pdf-w33',
6762 'e2pdf-w33 e2pdf-pl10',
6763 ]
6764 };
6765 obj['axis_h'] = {
6766 'name': e2pdf.lang.get('Axis (H)'),
6767 'fields': [
6768 e2pdf.properties.getField('g_axis_colour_h', el),
6769 e2pdf.properties.getField('g_axis_font_size_h', el),
6770 e2pdf.properties.getField('g_axis_font_weight_h', el),
6771 e2pdf.properties.getField('g_axis_stroke_width_h', el),
6772 e2pdf.properties.getField('g_show_axis_h', el),
6773 e2pdf.properties.getField('g_show_axis_text_h', el),
6774 e2pdf.properties.getField('g_axis_min_h', el),
6775 e2pdf.properties.getField('g_axis_max_h', el),
6776 e2pdf.properties.getField('g_axis_min_max_h', el),
6777 e2pdf.properties.getField('g_axis_text_position_h', el),
6778 e2pdf.properties.getField('g_axis_text_align_h', el),
6779 e2pdf.properties.getField('g_axis_text_space_h', el),
6780 e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6781 e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6782 e2pdf.properties.getField('g_units_y', el),
6783 ],
6784 'position': 'right',
6785 'classes': [
6786 'e2pdf-w60 e2pdf-pr10',
6787 'e2pdf-w40',
6788 'e2pdf-w100',
6789 'e2pdf-w33 e2pdf-pr10',
6790 'e2pdf-w33 e2pdf-sublabel',
6791 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6792 'e2pdf-w33 e2pdf-pr10',
6793 'e2pdf-w33',
6794 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6795 'e2pdf-w33 e2pdf-pr10',
6796 'e2pdf-w33',
6797 'e2pdf-w33 e2pdf-pl10',
6798 'e2pdf-w33 e2pdf-pr10',
6799 'e2pdf-w33',
6800 'e2pdf-w33 e2pdf-pl10',
6801 ]
6802 };
6803 obj['bar'] = {
6804 'name': 'Bar',
6805 'fields': [
6806 e2pdf.properties.getField('g_bar_width', el),
6807 e2pdf.properties.getField('g_bar_width_min', el),
6808 e2pdf.properties.getField('g_bar_space', el),
6809 ],
6810 'position': 'right',
6811 'classes': [
6812 'e2pdf-w33 e2pdf-pr10',
6813 'e2pdf-w33',
6814 'e2pdf-w33 e2pdf-pl10',
6815 ]
6816 };
6817 obj['barlabel'] = {
6818 'name': 'Bar Label',
6819 'fields': [
6820 e2pdf.properties.getField('g_bar_label_colour', el),
6821 e2pdf.properties.getField('g_bar_label_font_size', el),
6822 e2pdf.properties.getField('g_units_label', el),
6823 e2pdf.properties.getField('g_data_label_type', el),
6824 e2pdf.properties.getField('g_bar_label_space', el),
6825 e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6826 e2pdf.properties.getField('g_bar_label_position_vertical', el),
6827 e2pdf.properties.getField('g_bar_label_position_join', el),
6828 e2pdf.properties.getField('g_show_bar_labels', el),
6829 ],
6830 'position': 'right',
6831 'classes': [
6832 'e2pdf-w70 e2pdf-pr10',
6833 'e2pdf-w30',
6834 'e2pdf-w100',
6835 'e2pdf-w50 e2pdf-pr10',
6836 'e2pdf-w50',
6837 'e2pdf-w33 e2pdf-pr10',
6838 'e2pdf-w33',
6839 'e2pdf-w33 e2pdf-pl10',
6840 'e2pdf-pr10',
6841 ]
6842 };
6843 obj['style'] = {
6844 'name': e2pdf.lang.get('Style'),
6845 'fields': [
6846 e2pdf.properties.getField('background', el),
6847 e2pdf.properties.getField('margin_top', el),
6848 e2pdf.properties.getField('margin_left', el),
6849 e2pdf.properties.getField('margin_right', el),
6850 e2pdf.properties.getField('margin_bottom', el),
6851 e2pdf.properties.getField('padding_top', el),
6852 e2pdf.properties.getField('padding_left', el),
6853 e2pdf.properties.getField('padding_right', el),
6854 e2pdf.properties.getField('padding_bottom', el),
6855 e2pdf.properties.getField('border_color', el),
6856 e2pdf.properties.getField('border_top', el),
6857 e2pdf.properties.getField('border_left', el),
6858 e2pdf.properties.getField('border_right', el),
6859 e2pdf.properties.getField('border_bottom', el),
6860 e2pdf.properties.getField('z_index', el),
6861 ],
6862 'position': 'right',
6863 'classes': [
6864 'e2pdf-w100',
6865 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6866 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6867 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6868 'e2pdf-w25 e2pdf-fnl',
6869 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6870 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6871 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6872 'e2pdf-w25 e2pdf-fnl',
6873 'e2pdf-w100',
6874 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6875 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6876 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6877 'e2pdf-w25 e2pdf-fnl',
6878 'e2pdf-w100',
6879 ]
6880 };
6881 obj['structure'] = {
6882 'name': e2pdf.lang.get('Structure'),
6883 'fields': [
6884 e2pdf.properties.getField('g_structure_key', el),
6885 e2pdf.properties.getField('g_structure_value', el),
6886 e2pdf.properties.getField('g_structure_colour', el),
6887 e2pdf.properties.getField('g_structure_axis_text', el),
6888 e2pdf.properties.getField('g_structure_legend_text', el),
6889 e2pdf.properties.getField('g_structure_label', el),
6890 e2pdf.properties.getField('g_structure_area', el),
6891 e2pdf.properties.getField('g_structure_open', el),
6892 e2pdf.properties.getField('g_structure_end', el),
6893 e2pdf.properties.getField('g_structure_outliers', el),
6894 e2pdf.properties.getField('g_structure_top', el),
6895 e2pdf.properties.getField('g_structure_bottom', el),
6896 e2pdf.properties.getField('g_structure_wtop', el),
6897 e2pdf.properties.getField('g_structure_wbottom', el),
6898 e2pdf.properties.getField('g_structure_high', el),
6899 e2pdf.properties.getField('g_structure_low', el),
6900 e2pdf.properties.getField('g_structured_data', el),
6901 ],
6902 'position': 'bottom',
6903 'classes': [
6904 'e2pdf-w33 e2pdf-pr10',
6905 'e2pdf-w33',
6906 'e2pdf-w33 e2pdf-pl10',
6907 'e2pdf-w33 e2pdf-pr10',
6908 'e2pdf-w33',
6909 'e2pdf-w33 e2pdf-pl10',
6910 'e2pdf-w33 e2pdf-pr10',
6911 'e2pdf-w33',
6912 'e2pdf-w33 e2pdf-pl10',
6913 'e2pdf-w33 e2pdf-pr10',
6914 'e2pdf-w33',
6915 'e2pdf-w33 e2pdf-pl10',
6916 'e2pdf-w33 e2pdf-pr10',
6917 'e2pdf-w33',
6918 'e2pdf-w33 e2pdf-pl10',
6919 'e2pdf-w33 e2pdf-pr10',
6920 'e2pdf-w33 e2pdf-sublabel',
6921 ]
6922 };
6923 obj['value'] = {
6924 'name': '',
6925 'fields': [
6926 e2pdf.properties.getField('g_key_sep', el),
6927 e2pdf.properties.getField('g_array_sep', el),
6928 e2pdf.properties.getField('g_sub_array_sep', el),
6929 e2pdf.properties.getField('g_legends', el),
6930 e2pdf.properties.getField('g_colors', el),
6931 e2pdf.properties.getField('value', el),
6932 e2pdf.properties.getField('g_multiline', el),
6933 e2pdf.properties.getField('g_reverse_data', el),
6934 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6935 e2pdf.properties.getField('preg_pattern', el),
6936 e2pdf.properties.getField('preg_replacement', el),
6937 e2pdf.properties.getField('preg_match_all_pattern', el),
6938 e2pdf.properties.getField('preg_match_all_output', el),
6939 ],
6940 'position': 'bottom',
6941 'classes': [
6942 'e2pdf-w33 e2pdf-pr10',
6943 'e2pdf-w33',
6944 'e2pdf-w33 e2pdf-pl10',
6945 'e2pdf-w100',
6946 'e2pdf-w100',
6947 'e2pdf-w100 e2pdf-strong-label',
6948 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6949 'e2pdf-w30 e2pdf-pr10',
6950 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6951 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6952 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6953 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6954 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6955 ]
6956 };
6957 }
6958
6959 if (el.data('data-type') === 'e2pdf-rectangle') {
6960 obj['style'] = {
6961 'name': e2pdf.lang.get('Style'),
6962 'fields': [
6963 e2pdf.properties.getField('background', el),
6964 e2pdf.properties.getField('z_index', el),
6965 ],
6966 'position': 'bottom',
6967 'classes': [
6968 'e2pdf-w50 e2pdf-pr10',
6969 'e2pdf-w50 e2pdf-pl10',
6970 ]
6971 };
6972 }
6973
6974 if (el.data('data-type') === 'e2pdf-link') {
6975 obj['field'] = {
6976 'name': e2pdf.lang.get('Field'),
6977 'fields': [
6978 e2pdf.properties.getField('text_color', el),
6979 e2pdf.properties.getField('text_font', el),
6980 e2pdf.properties.getField('text_font_size', el),
6981 e2pdf.properties.getField('text_letter_spacing', el),
6982 e2pdf.properties.getField('text_line_height', el),
6983 e2pdf.properties.getField('text_align', el),
6984 e2pdf.properties.getField('vertical', el),
6985 e2pdf.properties.getField('rtl', el),
6986 e2pdf.properties.getField('underline', el),
6987 ],
6988 'position': 'left',
6989 'classes': [
6990 'e2pdf-w100',
6991 'e2pdf-w100',
6992 'e2pdf-w50',
6993 'e2pdf-w50 e2pdf-pl10',
6994 'e2pdf-w50',
6995 'e2pdf-w50 e2pdf-pl10',
6996 'e2pdf-w70',
6997 'e2pdf-w30 e2pdf-pl10',
6998 'e2pdf-w33'
6999 ]
7000 };
7001 obj['style'] = {
7002 'name': e2pdf.lang.get('Style'),
7003 'fields': [
7004 e2pdf.properties.getField('z_index', el)
7005 ],
7006 'position': 'right',
7007 'classes': [
7008 'e2pdf-w100'
7009 ]
7010 };
7011 obj['value'] = {
7012 'name': e2pdf.lang.get('Value'),
7013 'fields': [
7014 e2pdf.properties.getField('link_label', el),
7015 e2pdf.properties.getField('link_type', el),
7016 e2pdf.properties.getField('highlight', el),
7017 e2pdf.properties.getField('value', el),
7018 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
7019 e2pdf.properties.getField('preg_pattern', el),
7020 e2pdf.properties.getField('preg_replacement', el),
7021 e2pdf.properties.getField('preg_match_all_pattern', el),
7022 e2pdf.properties.getField('preg_match_all_output', el)
7023 ],
7024 'position': 'bottom',
7025 'classes': [
7026 'e2pdf-w50 e2pdf-pr10',
7027 'e2pdf-w25 e2pdf-pr10',
7028 'e2pdf-w25',
7029 'e2pdf-w100',
7030 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
7031 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7032 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
7033 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7034 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
7035 ]
7036 };
7037 }
7038 }
7039
7040 // tpl-properties
7041 if (el.data('data-type') === 'e2pdf-tpl') {
7042 if (actions) {
7043 if (actions) {
7044 obj['actions'] = {
7045 'name': e2pdf.lang.get('Actions'),
7046 'fields': e2pdf.actions.renderFields(el),
7047 'position': 'bottom'
7048 };
7049 }
7050 } else {
7051 obj['value'] = {
7052 'name': '',
7053 'fields': [
7054 e2pdf.properties.getField('css', el),
7055 ],
7056 'position': 'bottom',
7057 'classes': [
7058 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
7059 ]
7060 };
7061 }
7062 } else {
7063 if (actions) {
7064 obj['actions'] = {
7065 'name': e2pdf.lang.get('Actions'),
7066 'fields': e2pdf.actions.renderFields(el),
7067 'position': 'bottom'
7068 };
7069 }
7070 }
7071 return obj;
7072 },
7073 // e2pdf.properties.renderFields
7074 renderFields: function (el, actions = true) {
7075 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
7076 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
7077 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
7078 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
7079 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
7080 if (el.data('data-type') == 'e2pdf-tpl') {
7081 fields_top = '';
7082 fields_left = '';
7083 fields_right = '';
7084 } else if (el.data('data-type') == 'e2pdf-page') {
7085 fields_left = '';
7086 fields_right = '';
7087 }
7088
7089 var groups = e2pdf.properties.getFields(el, actions);
7090 if (groups) {
7091 for (var group_key in groups) {
7092 if (group_key === 'actions') {
7093 var group = groups[group_key];
7094 var block = jQuery('<div>');
7095 if (group.name) {
7096 block.append(jQuery('<label>').html(group.name + ':'));
7097 }
7098 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
7099 grid.append(group.fields);
7100 block.append(grid);
7101 if (group.position === 'top') {
7102 fields_top.append(block);
7103 } else if (group.position === 'left') {
7104 fields_left.append(block);
7105 } else if (group.position === 'right') {
7106 fields_right.append(block);
7107 } else {
7108 fields_bottom.append(block);
7109 }
7110 } else {
7111 var group = groups[group_key];
7112 var block = jQuery('<div>');
7113 if (group.name) {
7114 block.append(jQuery('<label>').html(group.name + ':'));
7115 }
7116 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
7117 for (var field_key in group.fields) {
7118
7119 var group_field = group.fields[field_key];
7120 var classes = '';
7121 if (group.classes) {
7122 if (group.classes[field_key]) {
7123 classes = group.classes[field_key];
7124 }
7125 }
7126 var field = '';
7127 var label = '';
7128 var wrap = '';
7129 var hidden = '';
7130 if (group_field.type === 'text') {
7131 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7132 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
7133 } else if (group_field.type === 'hidden') {
7134 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
7135 } else if (group_field.type === 'textarea') {
7136 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7137 var rows = '5';
7138 if (group_field.key == 'g_legends' || group_field.key == 'g_colors') {
7139 rows = '3';
7140 }
7141 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
7142 } else if (group_field.type === 'checkbox') {
7143 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7144 label = group_field.name;
7145 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
7146 if (group_field.value == group_field.option) {
7147 field.prop('checked', true);
7148 }
7149 if (jQuery.inArray('keep', group_field.atts) !== -1) {
7150 hidden = jQuery('<input>', {
7151 type: 'hidden',
7152 name: group_field.key,
7153 value: '0'
7154 });
7155 }
7156 } else if (group_field.type === 'color') {
7157 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
7158 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7159 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
7160 } else if (group_field.type === 'select') {
7161 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7162 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
7163 for (var option_key in group_field.options) {
7164 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
7165 }
7166 field.val(group_field.value);
7167 } else if (group_field.type === 'link') {
7168 field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
7169 }
7170 for (var att_key in group_field.atts) {
7171 var att = group_field.atts[att_key];
7172 switch (att) {
7173 case 'readonly':
7174 field.attr('readonly', 'readonly');
7175 break;
7176 case 'disabled':
7177 field.attr('disabled', 'disabled');
7178 break;
7179 case 'number':
7180 field.addClass('e2pdf-numbers');
7181 break;
7182 case 'number-negative':
7183 field.addClass('e2pdf-number-negative');
7184 break;
7185 case 'autocomplete':
7186 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
7187 field.addClass('e2pdf-autocomplete-cl');
7188 field.autocomplete({
7189 source: group_field.source,
7190 minLength: 0,
7191 appendTo: wrap,
7192 open: function () {
7193 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7194 },
7195 classes: {
7196 "ui-autocomplete": "e2pdf-autocomplete"
7197 }
7198 });
7199 break;
7200 case 'collapse':
7201 field.attr('data-collapse', group_field.collapse);
7202 break;
7203 }
7204 }
7205 if (!wrap) {
7206 wrap = field;
7207 } else {
7208 wrap.prepend(field);
7209 }
7210 if (group_field.type === 'checkbox') {
7211 if (hidden) {
7212 wrap.prepend(hidden);
7213 }
7214 wrap.append(" " + label);
7215 if (classes.includes('e2pdf-sublabel')) {
7216 var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7217 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7218 } else {
7219 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7220 }
7221 } else {
7222 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7223 }
7224 }
7225 block.append(grid);
7226 if (group.position === 'top') {
7227 fields_top.append(block);
7228 } else if (group.position === 'left') {
7229 fields_left.append(block);
7230 } else if (group.position === 'right') {
7231 fields_right.append(block);
7232 } else {
7233 fields_bottom.append(block);
7234 }
7235 }
7236 }
7237 }
7238 fields.append(fields_top, fields_left, fields_right, fields_bottom);
7239 return fields;
7240 },
7241 // e2pdf.properties.apply
7242 apply: function (el, data, onload) {
7243 if (onload !== true) {
7244 var groups = e2pdf.properties.getFields(el);
7245 for (var group_key in groups) {
7246 var group = groups[group_key];
7247 for (var field_key in group.fields) {
7248 var group_field = group.fields[field_key];
7249 var property = group_field['key'];
7250 if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7251 switch (group_field['type']) {
7252 case 'text':
7253 if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7254 delete data[property];
7255 }
7256 break;
7257 case 'color':
7258 case 'select':
7259 case 'textarea':
7260 if (!data[property]) {
7261 delete data[property];
7262 }
7263 break;
7264 }
7265 }
7266 }
7267 }
7268 }
7269 el.data('data-properties', JSON.stringify(data));
7270 },
7271 // e2pdf.properties.set
7272 set: function (el, key, value) {
7273 var properties = e2pdf.properties.get(el);
7274 properties[key] = value;
7275 e2pdf.properties.apply(el, properties);
7276 },
7277 // e2pdf.properties.getValue
7278 getValue: function (el, key, type = '') {
7279 var properties = e2pdf.properties.get(el);
7280 if (type) {
7281 if (type == 'string') {
7282 return e2pdf.helper.getString(properties[key]);
7283 } else if (type == 'checkbox') {
7284 return e2pdf.helper.getCheckbox(properties[key]);
7285 } else if (type == 'int') {
7286 return e2pdf.helper.getInt(properties[key]);
7287 } else if (type == 'float') {
7288 return e2pdf.helper.getFloat(properties[key]);
7289 } else {
7290 return '';
7291 }
7292 } else if (properties.hasOwnProperty(key)) {
7293 if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7294 return e2pdf.helper.toHtml(properties[key]);
7295 } else {
7296 return properties[key];
7297 }
7298 } else {
7299 return '';
7300 }
7301 },
7302 // e2pdf.properties.get
7303 get: function (el) {
7304 var properties = [];
7305 if (typeof el.data('data-properties') !== 'undefined') {
7306 properties = JSON.parse(el.data('data-properties'));
7307 if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7308 properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7309 properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7310 properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7311 properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
7312 }
7313 }
7314 return properties;
7315 },
7316 // e2pdf.properties.render
7317 render: function (el) {
7318 var properties = e2pdf.properties.get(el);
7319 var children = e2pdf.element.children(el);
7320 if (properties.hasOwnProperty('options')) {
7321 if (el.data('data-type') === 'e2pdf-select') {
7322 children.find('option').remove();
7323 var options = properties['options'].split("\n");
7324 if (typeof options !== 'undefined' && options.length > 0) {
7325 for (var key in options) {
7326 children.append(
7327 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
7328 );
7329 }
7330 }
7331 }
7332 }
7333 switch (el.data('data-type')) {
7334 case 'e2pdf-html':
7335 var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7336 if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7337 children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7338 children = e2pdf.element.children(el);
7339 } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7340 children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7341 children = e2pdf.element.children(el);
7342 }
7343 if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7344 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7345 children.val(e2pdf.helper.getString(properties['value']));
7346 } else {
7347 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7348 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
7349 }
7350 break;
7351 case 'e2pdf-page-number':
7352 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7353 break;
7354 case 'e2pdf-link':
7355 children.text(e2pdf.helper.getString(properties['link_label']));
7356 break;
7357 case 'e2pdf-input':
7358 case 'e2pdf-textarea':
7359 case 'e2pdf-select':
7360 children.val(e2pdf.helper.getString(properties['value']));
7361 break;
7362 case 'e2pdf-checkbox':
7363 if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7364 children.prop('checked', true);
7365 } else {
7366 children.prop('checked', false);
7367 }
7368 break;
7369 case 'e2pdf-radio':
7370 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7371 var radio = jQuery(this).parent();
7372 var radio_properties = e2pdf.properties.get(radio);
7373 if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7374 e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7375 e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7376 e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7377 if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7378 jQuery(this).prop('checked', true);
7379 } else {
7380 jQuery(this).prop('checked', false);
7381 }
7382 }
7383 });
7384 break;
7385 case 'e2pdf-image':
7386 case 'e2pdf-qrcode':
7387 case 'e2pdf-barcode':
7388 case 'e2pdf-signature':
7389 case 'e2pdf-graph':
7390 e2pdf.helper.image.load(el);
7391 break;
7392 }
7393
7394 if (el.data('data-type') === 'e2pdf-select') {
7395 children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
7396 }
7397
7398 if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7399 children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
7400 }
7401
7402 el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7403 if (el.data('data-type') === 'e2pdf-select' ||
7404 el.data('data-type') === 'e2pdf-input' ||
7405 el.data('data-type') === 'e2pdf-textarea' ||
7406 el.data('data-type') === 'e2pdf-html' ||
7407 el.data('data-type') === 'e2pdf-page-number') {
7408 if (e2pdf.helper.getString(properties['rtl']) != '') {
7409 children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
7410 } else {
7411 children.attr('dir', false);
7412 }
7413 }
7414
7415 if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7416 children.css('background', e2pdf.helper.getString(properties['background']));
7417 } else {
7418 el.css('background', e2pdf.helper.getString(properties['background']));
7419 }
7420
7421 if (el.data('data-type') === 'e2pdf-input' ||
7422 el.data('data-type') === 'e2pdf-textarea' ||
7423 el.data('data-type') === 'e2pdf-select' ||
7424 el.data('data-type') === 'e2pdf-radio' ||
7425 el.data('data-type') === 'e2pdf-checkbox'
7426 ) {
7427 children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7428 } else {
7429 el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7430 el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7431 el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7432 el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7433 }
7434
7435 el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7436 el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7437 el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7438 el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7439 if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7440 el.css('color', e2pdf.helper.getString(properties['text_color']));
7441 } else if (el.data('data-type') === 'e2pdf-input' ||
7442 el.data('data-type') === 'e2pdf-textarea' ||
7443 el.data('data-type') === 'e2pdf-select' ||
7444 el.data('data-type') === 'e2pdf-radio' ||
7445 el.data('data-type') === 'e2pdf-checkbox'
7446 ) {
7447 children.css('color', e2pdf.helper.getString(properties['text_color']));
7448 }
7449
7450 var font = e2pdf.helper.getString(properties['text_font']);
7451 if (font) {
7452 var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7453 if (typeof path === 'undefined') {
7454 el.css('font-family', '');
7455 } else {
7456 var tmp = jQuery('<div>', {'name': font, 'path': path});
7457 e2pdf.font.load(tmp);
7458 el.css('font-family', CSS.escape(font));
7459 }
7460 } else {
7461 el.css('font-family', '');
7462 }
7463
7464 el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7465 el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7466 children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7467 if (el.data('data-type') === 'e2pdf-textarea') {
7468 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' : '');
7469 } else {
7470 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' : '');
7471 }
7472
7473 if (el.closest('.e2pdf-page').length > 0) {
7474 var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7475 var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7476 var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7477 if (height > page_h) {
7478 var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7479 el.css('top', top + 'px');
7480 } else {
7481 el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
7482 }
7483
7484 var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7485 if (width > page_w) {
7486 var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7487 el.css('left', left + "px");
7488 } else {
7489 el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
7490 }
7491
7492 var width = e2pdf.helper.getFloat(properties['width']);
7493 var left = e2pdf.helper.getFloat(el.css('left'));
7494 if (width > 0) {
7495 if (width > page_w - left) {
7496 el.css('width', page_w - left);
7497 e2pdf.properties.set(el, 'width', page_w - left);
7498 } else {
7499 el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7500 }
7501 }
7502
7503 var height = e2pdf.helper.getFloat(properties['height']);
7504 var top = e2pdf.helper.getFloat(el.css('top'));
7505 if (height > 0) {
7506 if (height > page_h - top) {
7507 el.css('height', page_h - top);
7508 e2pdf.properties.set(el, 'height', page_h - top);
7509 } else {
7510 el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7511 }
7512 }
7513 }
7514
7515 if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7516 el.addClass('e2pdf-locked');
7517 } else {
7518 el.removeClass('e2pdf-locked');
7519 }
7520 }
7521
7522 },
7523 // e2pdf.welcomeScreen
7524 welcomeScreen: function () {
7525 if (jQuery('.e2pdf-page').length === 0) {
7526 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7527 e2pdf.dialog.create(el);
7528 }
7529 },
7530 // e2pdf.createPdf
7531 createPdf: function (el) {
7532 var item = false;
7533 var item1 = false;
7534 var item2 = false;
7535 var action = el.attr('data-action');
7536 var data = e2pdf.form.serializeObject(el.closest('form'));
7537 if (action !== 'upload') {
7538 var disabled_settings = [
7539 'title', 'preset', 'font', 'font_size', 'line_height'
7540 ];
7541 for (var key in data) {
7542 if (jQuery.inArray(key, disabled_settings) === -1) {
7543 if (key == 'activated') {
7544 e2pdf.pdf.settings.change(key, data[key]);
7545 } else {
7546 e2pdf.pdf.settings.change(key, data[key]);
7547 }
7548 }
7549
7550 if (key === 'font') {
7551 jQuery('#e2pdf-font').val(data[key]);
7552 }
7553
7554 if (key === 'font_size') {
7555 jQuery('#e2pdf-font-size').val(data[key]);
7556 }
7557
7558 if (key === 'line_height') {
7559 jQuery('#e2pdf-line-height').val(data[key]);
7560 }
7561
7562 if (key === 'title') {
7563 jQuery('#e2pdf-title').val(data[key]);
7564 }
7565
7566 if (key === 'text_align') {
7567 jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7568 }
7569
7570 if (key === 'rtl') {
7571 jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7572 }
7573 }
7574
7575 if (!data['rtl']) {
7576 jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
7577 }
7578 }
7579
7580 if (action === 'apply') {
7581 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7582 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7583 var option = el.closest('form').find('.e2pdf-item option:selected');
7584 if (option && typeof option.data('data-item') !== 'undefined') {
7585 item = option.data('data-item');
7586 }
7587
7588 if (item && item.id == '-1') {
7589 if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7590 return false;
7591 }
7592 el.attr('form-id', 'e2pdf-build-form');
7593 el.attr('action', 'e2pdf_save_form');
7594 e2pdf.static.unsaved = false;
7595 e2pdf.request.submitForm(el);
7596 return;
7597 } else {
7598 if (item && item.id == '-2') {
7599 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7600 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7601 item1 = option1.data('data-item');
7602 if (item1.id == '-1') {
7603 item1 = false;
7604 }
7605 }
7606
7607 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7608 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7609 item2 = option2.data('data-item');
7610 if (item2.id == '-1') {
7611 item2 = false;
7612 }
7613 }
7614 }
7615
7616 e2pdf.pages.changeTplSize(width, height);
7617 jQuery('.ui-dialog-content').dialog('close');
7618 }
7619 } else if (action === 'empty') {
7620 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7621 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7622 var option = el.closest('form').find('.e2pdf-item option:selected');
7623 if (option && typeof option.data('data-item') !== 'undefined') {
7624 item = option.data('data-item');
7625 if (item.id == '-1') {
7626 item = false;
7627 }
7628 }
7629 if (item && item.id == '-2') {
7630 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7631 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7632 item1 = option1.data('data-item');
7633 if (item1.id == '-1') {
7634 item1 = false;
7635 }
7636 }
7637
7638 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7639 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7640 item2 = option2.data('data-item');
7641 if (item2.id == '-1') {
7642 item2 = false;
7643 }
7644 }
7645 }
7646 e2pdf.pages.changeTplSize(width, height);
7647 e2pdf.pages.createPage();
7648 jQuery('.ui-dialog-content').dialog('close');
7649 } else if (action === 'auto') {
7650 var extension = el.closest('form').find('.e2pdf-extension').val();
7651 var option = el.closest('form').find('.e2pdf-item option:selected');
7652 if (option && typeof option.data('data-item') !== 'undefined') {
7653 item = option.data('data-item');
7654 if (item.id == '-1') {
7655 item = false;
7656 }
7657 }
7658 if (item && item.id == '-2') {
7659 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7660 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7661 item1 = option1.data('data-item');
7662 if (item1.id == '-1') {
7663 item1 = false;
7664 }
7665 }
7666 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7667 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7668 item2 = option2.data('data-item');
7669 if (item2.id == '-1') {
7670 item2 = false;
7671 }
7672 }
7673 }
7674 var data = {};
7675 data['extension'] = extension;
7676 data['item'] = item ? item.id : '';
7677 data['item1'] = item1 ? item1.id : '';
7678 data['item2'] = item2 ? item2.id : '';
7679 data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7680 data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
7681 e2pdf.request.submitRequest('e2pdf_auto', el, data);
7682 } else if (action === 'upload') {
7683 if (e2pdf.pdf.settings.get('ID')) {
7684 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
7685 return false;
7686 }
7687 }
7688 jQuery('.e2pdf-upload-pdf').click();
7689 }
7690 if (action === 'apply' || action === 'empty' || action === 'auto') {
7691 var link = jQuery('<a>', {
7692 'href': 'javascript:void(0);',
7693 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7694 'data-modal': 'tpl-options'
7695 }).html(e2pdf.lang.get('Not linked'));
7696 if (item && item.id) {
7697 if (item.id == '-2') {
7698 if ((item1 && item1.id) || (item2 && item2.id)) {
7699 var link = jQuery('<span>');
7700 if (item1 && item1.id) {
7701 link.append(jQuery('<a>', {
7702 'target': '_blank',
7703 'href': item1.url,
7704 'class': 'e2pdf-link'
7705 }).html(item1.name));
7706 }
7707 if (item1 && item1.id && item2 && item2.id) {
7708 link.append(' | ');
7709 }
7710 if (item2 && item2.id) {
7711 link.append(jQuery('<a>', {
7712 'target': '_blank',
7713 'href': item2.url,
7714 'class': 'e2pdf-link'
7715 }).html(item2.name));
7716 }
7717 link.removeClass('e2pdf-color-red');
7718 }
7719 } else {
7720 link = jQuery('<a>', {
7721 'target': '_blank',
7722 'href': item.url,
7723 'class': 'e2pdf-link'
7724 }).html(item.name);
7725 link.removeClass('e2pdf-color-red');
7726 }
7727 }
7728 jQuery('#e2pdf-post-item').html(link);
7729 }
7730
7731 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
7732 e2pdf.font.load(jQuery('#e2pdf-font'));
7733 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7734 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7735 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7736 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7737 e2pdf.event.fire('after.createPdf');
7738 },
7739 // e2pdf.pages
7740 pages: {
7741 // e2pdf.pages.initEvents
7742 initEvents: function (page) {
7743 page.off('contextmenu');
7744 page.contextmenu(function (e) {
7745 if (jQuery(e.target).hasClass('e2pdf-page')) {
7746 e2pdf.contextMenu(e, page);
7747 e.preventDefault();
7748 }
7749 });
7750 if (page.hasClass('ui-droppable')) {
7751 try {
7752 page.droppable('destroy');
7753 page.removeData('ui-droppable');
7754 } catch (e) {
7755
7756 }
7757 }
7758 page.droppable({
7759 over: function (ev, ui) {
7760 e2pdf.static.drag.page = jQuery(this);
7761 e2pdf.static.guide.guides = [];
7762 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())) {
7763 jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7764 jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7765 var coeff = 1;
7766 if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7767 coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7768 } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7769 coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7770 }
7771 jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7772 jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7773 }
7774
7775 if (ui.draggable.hasClass('e2pdf-clone')) {
7776 jQuery(this).find('.e2pdf-element').each(function () {
7777 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
7778 });
7779 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
7780 } else {
7781 e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
7782 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
7783 }
7784 },
7785 out: function (ev, ui) {
7786 e2pdf.static.drag.page = null;
7787 e2pdf.static.guide.guides = [];
7788 if (jQuery(ui.helper).data('original-width')) {
7789 jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7790 jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7791 jQuery(ui.helper).removeData('original-width');
7792 jQuery(ui.helper).removeData('original-height');
7793 }
7794
7795 },
7796 deactivate: function (ev) {
7797 e2pdf.static.drag.page = null;
7798 e2pdf.static.guide.guides = [];
7799 },
7800 drop: function (ev, ui) {
7801 if (ui.draggable.hasClass('e2pdf-clone')) {
7802 var type = jQuery(ui.draggable).attr('data-type');
7803 var page = jQuery(this).closest('.e2pdf-page');
7804 var pos = {
7805 top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1)),
7806 left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1)),
7807 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.zoom))
7808 };
7809 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
7810 return false;
7811 }
7812
7813 var properties = {};
7814 properties['width'] = jQuery(ui.helper).css('width');
7815 properties['height'] = jQuery(ui.helper).css('height');
7816 properties['top'] = pos.top;
7817 properties['left'] = pos.left;
7818 var el = e2pdf.element.create(type, page, properties, false, true);
7819 jQuery(this).append(el);
7820 e2pdf.properties.render(el);
7821 var history = [];
7822 history.push(el.clone(true));
7823 e2pdf.history.set('element_create', history);
7824 }
7825 e2pdf.static.drag.page = null;
7826 }
7827 });
7828 if (page.hasClass('ui-selectable')) {
7829 try {
7830 page.selectable('destroy');
7831 page.removeData('selectable');
7832 } catch (e) {
7833 }
7834 }
7835 page.selectable(
7836 {
7837 filter: '.e2pdf-element',
7838 cancel: 'a,.e2pdf-element',
7839 distance: 10,
7840 selecting: function (event, ui) {
7841 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7842 jQuery(ui.selecting).addClass('e2pdf-selected');
7843 }
7844 },
7845 unselecting: function (event, ui) {
7846 jQuery(ui.unselecting).removeClass('e2pdf-selected');
7847 },
7848 selected: function (event, ui) {
7849 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7850 e2pdf.element.select(jQuery(ui.selected));
7851 }
7852 },
7853 unselected: function (event, ui) {
7854 e2pdf.element.unselect(jQuery(ui.unselected));
7855 }
7856 }
7857 );
7858 },
7859 // e2pdf.pages.source
7860 source: function (page_id) {
7861 var page = jQuery('<div>', {
7862 'class': 'e2pdf-page ui-droppable',
7863 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7864 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7865 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7866 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7867 }).attr('data-page_id', page_id).append(
7868 jQuery('<div>', {'class': 'page-options-icons'}).append(
7869 jQuery('<a>', {
7870 'href': 'javascript:void(0);',
7871 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7872 }).append(
7873 jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7874 ),
7875 jQuery('<a>', {
7876 'href': 'javascript:void(0);',
7877 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7878 }).append(
7879 jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7880 ),
7881 jQuery('<a>', {
7882 'href': 'javascript:void(0);',
7883 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7884 'data-modal': 'page-options'
7885 }).append(
7886 jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7887 ),
7888 jQuery('<a>', {
7889 'href': 'javascript:void(0);',
7890 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7891 }).append(
7892 jQuery('<i>', {'class': 'dashicons dashicons-no'})
7893 )
7894 ),
7895 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7896 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7897 );
7898 return page;
7899 },
7900 // e2pdf.pages.rebuildPages
7901 rebuildPages: function () {
7902 jQuery('.e2pdf-page').each(function (index) {
7903 if (!e2pdf.pdf.settings.get('pdf')) {
7904 if (index + 1 === 1) {
7905 jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7906 } else {
7907 jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7908 }
7909
7910 if (index + 1 === jQuery('.e2pdf-page').length) {
7911 jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7912 } else {
7913 jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7914 }
7915 }
7916 jQuery(this).attr('data-page_id', index + 1);
7917 });
7918 e2pdf.welcomeScreen();
7919 },
7920 // e2pdf.pages.createPage
7921 createPage: function (page, properties, actions, onload) {
7922 e2pdf.pages.rebuildPages();
7923 var newpage = true;
7924 if (page) {
7925 var newpage = false;
7926 }
7927 if (!properties) {
7928 properties = {};
7929 }
7930 if (!actions) {
7931 actions = {};
7932 }
7933 if (newpage) {
7934 var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7935 var page = e2pdf.pages.source(page_id);
7936 }
7937 page.data('data-type', 'e2pdf-page');
7938 e2pdf.properties.apply(page, properties, onload);
7939 e2pdf.actions.apply(page, actions);
7940 e2pdf.pages.initEvents(page);
7941 if (newpage) {
7942 if (!onload) {
7943 var history = [];
7944 history.push(page.clone(true));
7945 e2pdf.history.set('element_create', history);
7946 }
7947 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
7948 e2pdf.pages.rebuildPages();
7949 e2pdf.event.fire('after.pages.createPage.newpage');
7950 return true;
7951 } else {
7952 return false;
7953 }
7954 },
7955 // e2pdf.pages.movePage
7956 movePage: function (el, direction) {
7957 if (e2pdf.pdf.settings.get('pdf')) {
7958 return false;
7959 }
7960 if (direction === 'up') {
7961 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
7962 } else if (direction === 'down') {
7963 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
7964 }
7965 e2pdf.event.fire('after.pages.movePage');
7966 e2pdf.pages.rebuildPages();
7967 },
7968 // e2pdf.pages.deletePage
7969 deletePage: function (el) {
7970 el.closest('.e2pdf-page').remove();
7971 e2pdf.event.fire('after.pages.deletePage');
7972 e2pdf.pages.rebuildPages();
7973 },
7974 // e2pdf.pages.changeTplSize
7975 changeTplSize: function (width, height) {
7976 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
7977 },
7978 changePageSize: function (el, width, height) {
7979 var prev_width = parseFloat(el.css('width'));
7980 var prev_height = parseFloat(el.css('height'));
7981 var width_diff = width / prev_width;
7982 var height_diff = height / prev_height;
7983 el.find(".e2pdf-element").each(function () {
7984 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
7985 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
7986 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'))) {
7987 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7988 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
7989 } else {
7990 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7991 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
7992 }
7993 });
7994 el.css('width', width);
7995 el.css('height', height);
7996 el.attr('data-width', width);
7997 el.attr('data-height', height);
7998 }
7999 },
8000 // e2pdf.contextMenu
8001 contextMenu: function (e, el) {
8002 e2pdf.delete('.e2pdf-context');
8003 jQuery('.e2pdf-page').css('z-index', '');
8004 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
8005 if (el.hasClass('e2pdf-page')) {
8006 var parent = el;
8007 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8008 menu.find('ul.e2pdf-context-menu').append(
8009 jQuery('<li>').append(
8010 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'))
8011 ),
8012 jQuery('<li>').append(
8013 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'))
8014 ),
8015 jQuery('<li>').append(
8016 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
8017 )
8018 );
8019 } else {
8020 if (!el.hasClass('e2pdf-selected')) {
8021 e2pdf.element.unselect();
8022 e2pdf.element.select(el);
8023 }
8024
8025 var parent = el.closest('.e2pdf-page');
8026 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8027 if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
8028 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
8029 menu.find('ul.e2pdf-context-menu').append(
8030 jQuery('<li>').append(
8031 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
8032 ));
8033 } else {
8034 menu.find('ul.e2pdf-context-menu').append(
8035 jQuery('<li>').append(
8036 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
8037 ));
8038 }
8039 }
8040
8041 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')))) {
8042 menu.find('ul.e2pdf-context-menu').append(
8043 jQuery('<li>').append(
8044 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
8045 ));
8046 }
8047
8048 menu.find('ul.e2pdf-context-menu').append(
8049 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8050 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8051 ,
8052 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
8053 jQuery('<li>').append(
8054 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
8055 ),
8056 jQuery('<li>').append(
8057 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
8058 ),
8059 jQuery('<li>').append(
8060 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
8061 ),
8062 jQuery('<li>').append(
8063 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8064 )
8065 )
8066 ),
8067 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8068 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8069 ,
8070 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
8071 jQuery('<li>').append(
8072 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'))
8073 ),
8074 jQuery('<li>').append(
8075 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'))
8076 ))
8077 ));
8078 menu.find('ul.e2pdf-context-menu').append(
8079 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8080 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8081 ,
8082 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
8083 jQuery('<li>').append(
8084 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'))
8085 ))
8086 ),
8087 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8088 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8089 ,
8090 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
8091 ),
8092 jQuery('<li>').append(
8093 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
8094 ),
8095 jQuery('<li>').append(
8096 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
8097 ),
8098 jQuery('<li>').append(
8099 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
8100 ));
8101 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
8102 if (Object.keys(e2pdf.element.selected).length == 1) {
8103 menu.find('ul.e2pdf-copy-menu').append(
8104 jQuery('<li>').append(
8105 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8106 ));
8107 }
8108 if (e2pdf.storage.get('style') !== null) {
8109 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8110 menu.find('ul.e2pdf-paste-menu').append(
8111 jQuery('<li>').append(
8112 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8113 ));
8114 }
8115 }
8116
8117 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8118 if (Object.keys(e2pdf.element.selected).length == 1) {
8119 menu.find('ul.e2pdf-copy-menu').append(
8120 jQuery('<li>').append(
8121 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8122 ));
8123 }
8124 if (e2pdf.storage.get('width') != null) {
8125 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8126 menu.find('ul.e2pdf-paste-menu').append(
8127 jQuery('<li>').append(
8128 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8129 ));
8130 }
8131 }
8132
8133 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8134
8135 if (Object.keys(e2pdf.element.selected).length == 1) {
8136 menu.find('ul.e2pdf-copy-menu').append(
8137 jQuery('<li>').append(
8138 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8139 ));
8140 }
8141
8142 if (e2pdf.storage.get('height') != 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': 'height'}).html(e2pdf.lang.get('Height'))
8147 ));
8148 }
8149 }
8150
8151 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== 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': 'actions'}).html(e2pdf.lang.get('Actions'))
8157 ));
8158 }
8159
8160 if (e2pdf.storage.get('actions') !== 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': 'actions'}).html(e2pdf.lang.get('Actions'))
8165 ));
8166 }
8167 }
8168
8169 if (Object.keys(e2pdf.element.selected).length == 1) {
8170 menu.find('ul.e2pdf-context-menu').append(
8171 jQuery('<li>').append(
8172 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8173 ));
8174 }
8175 }
8176 parent.css('z-index', '1');
8177 menu.hide().appendTo(parent);
8178 var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
8179 if ((parent.closest('.e2pdf-tpl').width() - 20 < e.pageX - parent.closest('.e2pdf-tpl').offset().left + (menu.width() * e2pdf.zoom.zoom * 2)) && (e.pageX - parent.closest('.e2pdf-tpl').offset().left > (menu.width() * e2pdf.zoom.zoom * 2))) {
8180 pos_x = pos_x - menu.width();
8181 menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8182 }
8183 var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8184 if ((parent.closest('.e2pdf-tpl').height() - 20 < e.pageY - parent.closest('.e2pdf-tpl').offset().top + (menu.height() * e2pdf.zoom.zoom * 2)) && (e.pageY - parent.closest('.e2pdf-tpl').offset().top > (menu.height() * e2pdf.zoom.zoom * 2))) {
8185 pos_y = pos_y - menu.height();
8186 menu.addClass('e2pdf-context-bottom');
8187 }
8188 menu.css({top: pos_y + "px", left: pos_x + "px"});
8189 menu.show();
8190 },
8191 // e2pdf.delete
8192 delete: function (el) {
8193 jQuery(el).remove();
8194 },
8195 // e2pdf.element
8196 element: {
8197 // e2pdf.element.selected
8198 selected: [],
8199 // e2pdf.element.init
8200 init: function (el) {
8201 if (el.data('data-type') === 'e2pdf-html') {
8202 if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8203 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8204 } else {
8205 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8206 }
8207 } else if (el.data('data-type') === 'e2pdf-input') {
8208 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
8209 } else if (el.data('data-type') === 'e2pdf-textarea') {
8210 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
8211 }
8212 e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8213 e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8214 e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
8215 },
8216 // e2pdf.element.initEvents
8217 initEvents: function (element, page) {
8218 var min_width = 2;
8219 var min_height = 2;
8220 if (element.data('data-type') == 'e2pdf-rectangle') {
8221 min_height = 1;
8222 min_width = 1;
8223 }
8224 if (!page) {
8225 page = element.closest('.e2pdf-page');
8226 }
8227 element.off('contextmenu');
8228 element.contextmenu(function (e) {
8229 e2pdf.contextMenu(e, element);
8230 e.preventDefault();
8231 });
8232 if (element.hasClass('ui-draggable')) {
8233 try {
8234 element.draggable('destroy');
8235 element.removeData('ui-draggable');
8236 } catch (e) {
8237
8238 }
8239 }
8240 element.draggable({
8241 cancel: '.no-drag',
8242 handle: '.e2pdf-drag',
8243 containment: jQuery(page),
8244 stop: function (ev, ui) {
8245 var page = jQuery(this).closest('.e2pdf-page');
8246 for (var key in e2pdf.element.selected) {
8247 var selected = e2pdf.element.selected[key];
8248 if (selected.hasClass('e2pdf-width-auto')) {
8249 selected.css({'width': 'auto'});
8250 }
8251 if (selected.hasClass('e2pdf-height-auto')) {
8252 selected.css({'height': 'auto'});
8253 }
8254 e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8255 e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
8256 }
8257 jQuery('.page-options-icons').css('z-index', '');
8258 e2pdf.event.fire('after.element.moved');
8259 e2pdf.element.unselect();
8260 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8261 },
8262 drag: function (ev, ui) {
8263 var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
8264 var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
8265 left = Math.min(left, e2pdf.static.drag.max_left);
8266 top = Math.min(top, e2pdf.static.drag.max_top);
8267 ui.position = {
8268 left: Math.max(e2pdf.static.drag.min_left, left),
8269 top: Math.max(e2pdf.static.drag.min_top, top)
8270 };
8271 var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8272 var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8273 for (var key in e2pdf.element.selected) {
8274 var selected = e2pdf.element.selected[key];
8275 if (!selected.is(jQuery(this))) {
8276 selected.finish().animate({
8277 left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8278 top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8279 }, 0);
8280 }
8281 }
8282 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8283 var w = parseFloat(jQuery(this).css('width'));
8284 var h = parseFloat(jQuery(this).css('height'));
8285 var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8286 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8287 jQuery.each(el_guides, function (i, elemGuide) {
8288 if (guide.type == elemGuide.type) {
8289 var prop = guide.type == "h" ? "top" : "left";
8290 var d = Math.abs(elemGuide[prop] - guide[prop]);
8291 if (d < guides[prop].dist) {
8292 guides[prop].dist = d;
8293 guides[prop].offset = elemGuide[prop] - ui.position[prop];
8294 guides[prop].guide = guide;
8295 }
8296 }
8297 });
8298 });
8299 if (guides.top.dist <= e2pdf.static.guide.distance) {
8300 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8301 var snap_top = guides.top.guide.top - guides.top.offset;
8302 if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8303 ui.position.top = snap_top;
8304 var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8305 for (var key in e2pdf.element.selected) {
8306 var selected = e2pdf.element.selected[key];
8307 if (!selected.is(jQuery(this))) {
8308 selected.finish().animate({
8309 top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8310 }, 0);
8311 }
8312 }
8313 }
8314 } else {
8315 jQuery('.e2pdf-guide-h').hide();
8316 }
8317 if (guides.left.dist <= e2pdf.static.guide.distance) {
8318 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8319 var snap_left = guides.left.guide.left - guides.left.offset;
8320 if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8321 ui.position.left = snap_left;
8322 var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', '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 left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8328 }, 0);
8329 }
8330 }
8331 }
8332 } else {
8333 jQuery('.e2pdf-guide-v').hide();
8334 }
8335 },
8336 start: function (ev, ui) {
8337 if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8338 return false;
8339 }
8340 e2pdf.element.select(jQuery(this));
8341 e2pdf.static.drag.min_left = 0;
8342 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8343 e2pdf.static.drag.min_top = 0;
8344 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8345 var history = [];
8346 for (var key in e2pdf.element.selected) {
8347 var selected = e2pdf.element.selected[key];
8348 history.push(selected.clone(true));
8349 if (selected.hasClass('e2pdf-width-auto')) {
8350 selected.css({"width": "auto"});
8351 }
8352 if (selected.hasClass('e2pdf-height-auto')) {
8353 selected.css({"height": "auto"});
8354 }
8355 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8356 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8357 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8358 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8359 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8360 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8361 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8362 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8363 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);
8364 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);
8365 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);
8366 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);
8367 }
8368 e2pdf.history.set('element_change', history);
8369 e2pdf.zoom.click.x = ev.clientX;
8370 e2pdf.zoom.click.y = ev.clientY;
8371 jQuery('.page-options-icons').css('z-index', -1);
8372 }
8373 });
8374 if (element.hasClass('e2pdf-resizable')) {
8375 if (element.hasClass('ui-resizable')) {
8376 try {
8377 element.resizable('destroy');
8378 element.removeData('ui-resizable');
8379 } catch (e) {
8380
8381 }
8382 }
8383 element.resizable({
8384 handles: 'n, e, s, w, ne, se, sw, nw',
8385 aspectRatio: false,
8386 minHeight: min_height,
8387 minWidth: min_width,
8388 start: function (ev, ui) {
8389 var _process = function (el, resize) {
8390 var left = e2pdf.helper.getFloat(el.css('left'));
8391 var top = e2pdf.helper.getFloat(el.css('top'));
8392 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8393 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8394 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8395 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8396 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8397 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8398 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8399 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8400 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8401 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8402 var width = e2pdf.helper.getFloat(el.css('width'));
8403 var height = e2pdf.helper.getFloat(el.css('height'));
8404 el.resizable("option", "maxWidth", page_width - left);
8405 el.resizable("option", "maxHeight", page_height - top);
8406 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8407 el.resizable("option", "maxWidth", left + width);
8408 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8409 el.resizable("option", "maxHeight", top + height);
8410 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8411 el.resizable("option", "maxWidth", left + width);
8412 el.resizable("option", "maxHeight", top + height);
8413 }
8414 if (resize) {
8415 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8416 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8417 }
8418 };
8419 _process(jQuery(this), true);
8420 e2pdf.zoom.click.x = ev.clientX;
8421 e2pdf.zoom.click.y = ev.clientY;
8422 var history = [];
8423 history.push(jQuery(this).clone(true));
8424 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8425 var selected = jQuery(this);
8426 history.push(selected.clone(true));
8427 var width = e2pdf.helper.getFloat(selected.css('width'));
8428 var height = e2pdf.helper.getFloat(selected.css('height'));
8429 selected.data("ui-resizable-alsoresize", {
8430 width: width,
8431 height: height,
8432 left: e2pdf.helper.getFloat(selected.css('left')),
8433 top: e2pdf.helper.getFloat(selected.css('top'))
8434 });
8435 _process(jQuery(this), false);
8436 });
8437 e2pdf.history.set('element_change', history);
8438 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8439 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8440 },
8441 resize: function (ev, ui) {
8442 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8443 var axis = ui.element.data("ui-resizable").axis;
8444 if (axis != 'nw' && axis != 'sw') {
8445 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8446 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8447 }
8448 }
8449 var delta = {
8450 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8451 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8452 top: (ui.position.top - ui.originalPosition.top) || 0,
8453 left: (ui.position.left - ui.originalPosition.left) || 0
8454 };
8455 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8456 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8457 var style = {};
8458 var css = ["width", "height", "top", "left"];
8459 jQuery.each(css, function (i, prop) {
8460 var sum = (start[prop] || 0) + (delta[prop] || 0);
8461 if (sum) {
8462 if (prop == 'width') {
8463 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8464 style[prop] = sum;
8465 }
8466 } else if (prop == 'height') {
8467 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8468 style[prop] = sum;
8469 }
8470 } else if (prop == 'left') {
8471 if (sum >= 0) {
8472 style[prop] = sum;
8473 }
8474 } else if (prop == 'top') {
8475 if (sum >= 0) {
8476 style[prop] = sum;
8477 }
8478 }
8479 }
8480 });
8481 el.css(style);
8482 });
8483 var handle = ui.element.data("ui-resizable").axis;
8484 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8485 var w = parseFloat(jQuery(this).css('width'));
8486 var h = parseFloat(jQuery(this).css('height'));
8487 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8488 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8489 var hPosition = ui.position.top;
8490 var hEdgeValue = ui.position.top;
8491 if (handle.indexOf('s') !== -1) {
8492 hEdgeValue = ui.position.top + h;
8493 }
8494 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8495 if (guide.type == "h") {
8496 var d = Math.abs(hEdgeValue - guide.top);
8497 if (d < hGuides.dist) {
8498 hGuides.dist = d;
8499 hGuides.guide = guide;
8500 hGuides.offset = hEdgeValue - hPosition;
8501 }
8502 }
8503 });
8504 if (hGuides.dist <= e2pdf.static.guide.distance) {
8505 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8506 var snap_top = hGuides.guide.top - hGuides.offset;
8507 if (handle.indexOf('n') !== -1) {
8508 var heightDiff = ui.position.top - snap_top;
8509 ui.position.top = snap_top;
8510 ui.size.height += heightDiff;
8511 } else if (handle.indexOf('s') !== -1) {
8512 var newHeight = hGuides.guide.top - ui.position.top;
8513 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8514 ui.size.height = newHeight;
8515 }
8516 }
8517 }
8518 }
8519 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8520 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8521 var vPosition = ui.position.left;
8522 var vEdgeValue = ui.position.left;
8523 if (handle.indexOf('e') !== -1) {
8524 vEdgeValue = ui.position.left + w;
8525 }
8526 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8527 if (guide.type == "v") {
8528 var d = Math.abs(vEdgeValue - guide.left);
8529 if (d < vGuides.dist) {
8530 vGuides.dist = d;
8531 vGuides.guide = guide;
8532 vGuides.offset = vEdgeValue - vPosition;
8533 }
8534 }
8535 });
8536 if (vGuides.dist <= e2pdf.static.guide.distance) {
8537 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8538 var snap_left = vGuides.guide.left - vGuides.offset;
8539 if (handle.indexOf('w') !== -1) {
8540 var widthDiff = ui.position.left - snap_left;
8541 ui.position.left = snap_left;
8542 ui.size.width += widthDiff;
8543 } else if (handle.indexOf('e') !== -1) {
8544 var newWidth = vGuides.guide.left - ui.position.left;
8545 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8546 ui.size.width = newWidth;
8547 }
8548 }
8549 }
8550 }
8551 },
8552 stop: function (event, ui) {
8553 ui.size.width = Math.round(ui.size.width);
8554 ui.size.height = Math.round(ui.size.height);
8555 var _process = function (el, width, height) {
8556 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') {
8557 width += el.outerWidth() - el.width();
8558 height += el.outerWidth() - el.width();
8559 }
8560 e2pdf.properties.set(el, 'width', width);
8561 e2pdf.properties.set(el, 'height', height);
8562 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8563 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8564 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') {
8565 e2pdf.properties.render(el);
8566 }
8567 };
8568 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8569 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8570 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8571 jQuery(this).removeData("resizable-alsoresize");
8572 });
8573 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8574 }
8575 });
8576 }
8577 },
8578 // e2pdf.element.create
8579 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8580 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8581 var min_height = 2;
8582 var min_width = 2;
8583 if (!properties) {
8584 properties = {};
8585 }
8586 if (!actions) {
8587 actions = {};
8588 }
8589 switch (type) {
8590 case 'e2pdf-input':
8591 if (default_properties) {
8592 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8593 properties['width'] = '200';
8594 }
8595 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8596 properties['height'] = size;
8597 }
8598 if (!properties.hasOwnProperty('border')) {
8599 properties['border'] = '1';
8600 }
8601 if (!properties.hasOwnProperty('border_color')) {
8602 properties['border_color'] = '#000000';
8603 }
8604 }
8605 var element =
8606 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8607 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8608 jQuery('<i>', {'class': 'e2pdf-drag'})
8609 );
8610 break;
8611 case 'e2pdf-textarea':
8612 if (default_properties) {
8613 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8614 properties['width'] = '200';
8615 }
8616 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8617 properties['height'] = '100';
8618 }
8619 if (!properties.hasOwnProperty('border')) {
8620 properties['border'] = '1';
8621 }
8622 if (!properties.hasOwnProperty('border_color')) {
8623 properties['border_color'] = '#000000';
8624 }
8625 }
8626 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8627 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8628 jQuery('<i>', {'class': 'e2pdf-drag'})
8629 );
8630 break;
8631 case 'e2pdf-checkbox':
8632 if (default_properties) {
8633 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8634 properties['width'] = size;
8635 }
8636 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8637 properties['height'] = size;
8638 }
8639 if (!properties.hasOwnProperty('option')) {
8640 properties['option'] = 'option';
8641 }
8642 if (!properties.hasOwnProperty('border')) {
8643 properties['border'] = '1';
8644 }
8645 if (!properties.hasOwnProperty('border_color')) {
8646 properties['border_color'] = '#000000';
8647 }
8648 }
8649 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8650 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8651 jQuery('<i>', {'class': 'e2pdf-drag'})
8652 );
8653 break;
8654 case 'e2pdf-radio':
8655 if (default_properties) {
8656 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8657 properties['width'] = size;
8658 }
8659 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8660 properties['height'] = size;
8661 }
8662 if (!properties.hasOwnProperty('group')) {
8663 properties['group'] = 'group';
8664 }
8665 if (!properties.hasOwnProperty('option')) {
8666 properties['option'] = 'option';
8667 }
8668 if (!properties.hasOwnProperty('border')) {
8669 properties['border'] = '1';
8670 }
8671 if (!properties.hasOwnProperty('border_color')) {
8672 properties['border_color'] = '#000000';
8673 }
8674 if (!properties.hasOwnProperty('text_type')) {
8675 properties['text_type'] = 'circle';
8676 }
8677
8678 }
8679 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8680 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8681 jQuery('<i>', {'class': 'e2pdf-drag'})
8682 );
8683 break;
8684 case 'e2pdf-select':
8685 if (default_properties) {
8686 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8687 properties['width'] = '200';
8688 }
8689 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8690 properties['height'] = size;
8691 }
8692 if (!properties.hasOwnProperty('options')) {
8693 properties['options'] = '';
8694 }
8695 if (!properties.hasOwnProperty('border')) {
8696 properties['border'] = '1';
8697 }
8698 if (!properties.hasOwnProperty('border_color')) {
8699 properties['border_color'] = '#000000';
8700 }
8701 }
8702 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8703 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8704 ),
8705 jQuery('<i>', {'class': 'e2pdf-drag'})
8706 );
8707 break;
8708 case 'e2pdf-signature':
8709 if (default_properties) {
8710 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8711 properties['width'] = '200';
8712 }
8713 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8714 properties['height'] = '75';
8715 }
8716 if (!properties.hasOwnProperty('vertical')) {
8717 properties['vertical'] = 'bottom';
8718 }
8719 if (!properties.hasOwnProperty('block_dimension')) {
8720 properties['block_dimension'] = '1';
8721 }
8722 if (!properties.hasOwnProperty('dimension')) {
8723 properties['dimension'] = '1';
8724 }
8725 if (!properties.hasOwnProperty('opacity')) {
8726 properties['opacity'] = '1';
8727 }
8728 } else {
8729 // backward compatibility
8730 if (!properties.hasOwnProperty('opacity')) {
8731 properties['opacity'] = '1';
8732 }
8733 }
8734 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8735 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8736 jQuery('<i>', {'class': 'e2pdf-drag'})
8737 );
8738 break;
8739 case 'e2pdf-html':
8740 if (default_properties) {
8741 if (!properties.hasOwnProperty('width')) {
8742 properties['width'] = '200';
8743 } else if (properties['width'] === 'auto') {
8744 properties['width'] = size;
8745 }
8746 if (!properties.hasOwnProperty('height')) {
8747 properties['height'] = size;
8748 } else if (properties['height'] === 'auto') {
8749 delete properties['height'];
8750 }
8751 if (!properties.hasOwnProperty('html_worker')) {
8752 properties['html_worker'] = '1';
8753 }
8754 if (!properties.hasOwnProperty('css_priority')) {
8755 properties['css_priority'] = '1';
8756 }
8757 }
8758 if (properties['wysiwyg_disable'] == '1') {
8759 var element =
8760 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8761 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8762 jQuery('<i>', {'class': 'e2pdf-drag'})
8763 );
8764 } else {
8765 var element =
8766 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8767 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8768 jQuery('<i>', {'class': 'e2pdf-drag'})
8769 );
8770 }
8771 break;
8772 case 'e2pdf-image':
8773 if (default_properties) {
8774 if (!properties.hasOwnProperty('dimension')) {
8775 properties['dimension'] = '1';
8776 }
8777 if (!properties.hasOwnProperty('opacity')) {
8778 properties['opacity'] = '1';
8779 }
8780 if (!properties.hasOwnProperty('block_dimension')) {
8781 properties['block_dimension'] = '1';
8782 }
8783 if (!properties.hasOwnProperty('vertical')) {
8784 properties['vertical'] = 'bottom';
8785 }
8786 if (!properties.hasOwnProperty('pdf_resample')) {
8787 properties['pdf_resample'] = '-1';
8788 }
8789 } else {
8790 // backward compatibility
8791 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8792 properties['block_dimension'] = '1';
8793 }
8794 if (!properties.hasOwnProperty('opacity')) {
8795 properties['opacity'] = '1';
8796 }
8797 if (!properties.hasOwnProperty('pdf_resample')) {
8798 properties['pdf_resample'] = '150';
8799 }
8800 }
8801 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8802 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8803 jQuery('<i>', {'class': 'e2pdf-drag'})
8804 );
8805 break;
8806 case 'e2pdf-rectangle':
8807 if (default_properties) {
8808 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8809 properties['width'] = '200';
8810 }
8811 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8812 properties['height'] = '5';
8813 }
8814 if (!properties.hasOwnProperty('background')) {
8815 properties['background'] = '#000000';
8816 }
8817 }
8818 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8819 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8820 jQuery('<i>', {'class': 'e2pdf-drag'})
8821 );
8822 break;
8823 case 'e2pdf-link':
8824 if (default_properties) {
8825 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8826 properties['width'] = '200';
8827 }
8828
8829 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8830 properties['height'] = size;
8831 }
8832 }
8833 var element =
8834 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8835 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8836 jQuery('<i>', {'class': 'e2pdf-drag'})
8837 );
8838 break;
8839 case 'e2pdf-qrcode':
8840 if (default_properties) {
8841 if (!properties.hasOwnProperty('color')) {
8842 properties['color'] = '#000000';
8843 }
8844 if (!properties.hasOwnProperty('background')) {
8845 properties['background'] = '#ffffff';
8846 }
8847 if (!properties.hasOwnProperty('wq')) {
8848 properties['wq'] = '1';
8849 }
8850 }
8851 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8852 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8853 jQuery('<i>', {'class': 'e2pdf-drag'})
8854 );
8855 break;
8856 case 'e2pdf-barcode':
8857 if (default_properties) {
8858 if (!properties.hasOwnProperty('color')) {
8859 properties['color'] = '#000000';
8860 }
8861 if (!properties.hasOwnProperty('text_color')) {
8862 properties['text_color'] = '#000000';
8863 }
8864 if (!properties.hasOwnProperty('vertical')) {
8865 properties['vertical'] = 'middle';
8866 }
8867 if (!properties.hasOwnProperty('horizontal')) {
8868 properties['horizontal'] = 'center';
8869 }
8870 if (!properties.hasOwnProperty('wq')) {
8871 properties['wq'] = '1';
8872 }
8873 if (!properties.hasOwnProperty('dimension')) {
8874 properties['dimension'] = '1';
8875 }
8876 if (!properties.hasOwnProperty('background')) {
8877 properties['background'] = '#ffffff';
8878 }
8879 if (!properties.hasOwnProperty('margin_top')) {
8880 properties['margin_top'] = '10';
8881 }
8882 if (!properties.hasOwnProperty('margin_left')) {
8883 properties['margin_left'] = '10';
8884 }
8885 if (!properties.hasOwnProperty('margin_right')) {
8886 properties['margin_right'] = '10';
8887 }
8888 if (!properties.hasOwnProperty('margin_bottom')) {
8889 properties['margin_bottom'] = '10';
8890 }
8891 } else {
8892 // backward compatibility
8893 if (!properties.hasOwnProperty('scale')) {
8894 properties['scale'] = '1';
8895 }
8896 if (!properties.hasOwnProperty('margin_top')) {
8897 properties['margin_top'] = '10';
8898 }
8899 if (!properties.hasOwnProperty('margin_left')) {
8900 properties['margin_left'] = '10';
8901 }
8902 if (!properties.hasOwnProperty('margin_right')) {
8903 properties['margin_right'] = '10';
8904 }
8905 if (!properties.hasOwnProperty('margin_bottom')) {
8906 properties['margin_bottom'] = '10';
8907 }
8908 }
8909 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8910 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8911 jQuery('<i>', {'class': 'e2pdf-drag'})
8912 );
8913 break;
8914 case 'e2pdf-page-number':
8915 if (default_properties) {
8916 if (!properties.hasOwnProperty('width')) {
8917 properties['width'] = '100';
8918 } else if (properties['width'] === 'auto') {
8919 properties['width'] = '100';
8920 }
8921 if (!properties.hasOwnProperty('height')) {
8922 properties['height'] = size;
8923 } else if (properties['height'] === 'auto') {
8924 delete properties['height'];
8925 }
8926 if (!properties.hasOwnProperty('text_align')) {
8927 properties['text_align'] = 'center';
8928 }
8929 if (!properties.hasOwnProperty('html_worker')) {
8930 properties['html_worker'] = '1';
8931 }
8932 if (!properties.hasOwnProperty('value')) {
8933 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8934 }
8935 }
8936 var value = properties['value'] ? properties['value'] : '';
8937 var element =
8938 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8939 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'))),
8940 jQuery('<i>', {'class': 'e2pdf-drag'})
8941 );
8942 break;
8943 case 'e2pdf-graph':
8944 if (default_properties) {
8945 // Graph
8946 properties['g_palette'] = '#1e73be';
8947 properties['g_stroke_colour'] = '#000000';
8948 properties['g_stroke_width'] = '1';
8949 properties['g_sort'] = '1';
8950 // Titles
8951 properties['g_graph_title_colour'] = '#000000';
8952 properties['g_graph_title_space'] = '10';
8953 // Labels
8954 properties['g_label_colour'] = '#000000';
8955 properties['g_label_font_size'] = '10';
8956 properties['g_label_space'] = '10';
8957 // Markers
8958 properties['g_marker_colour'] = '#000000';
8959 properties['g_marker_size'] = '3';
8960 // Legend
8961 properties['g_legend_back_colour'] = '#ffffff';
8962 properties['g_legend_stroke_colour'] = '#000000';
8963 properties['g_legend_stroke_width'] = '1';
8964 properties['g_legend_entry_width'] = '20';
8965 properties['g_legend_entry_height'] = '20';
8966 properties['g_legend_padding_x'] = '5';
8967 properties['g_legend_padding_y'] = '5';
8968 properties['g_legend_colour'] = '#000000';
8969 properties['g_legend_font_size'] = '10';
8970 properties['g_show_legend'] = '1';
8971 // Grid
8972 properties['g_grid_colour'] = '#eeeeee';
8973 properties['g_grid_subdivision_colour'] = '#eeeeee';
8974 properties['g_minimum_grid_spacing'] = '20';
8975 properties['g_show_grid'] = '1';
8976 properties['g_show_grid_subdivisions'] = '1';
8977 // Axis
8978 properties['g_axis_colour'] = '#000000';
8979 properties['g_axis_font_size'] = '12';
8980 properties['g_show_axis_v'] = '1';
8981 properties['g_show_axis_text_v'] = '1';
8982 properties['g_show_axis_h'] = '1';
8983 properties['g_show_axis_text_h'] = '1';
8984 properties['g_show_subdivisions'] = '1';
8985 properties['g_axis_overlap'] = '5';
8986 properties['g_axis_stroke_width_v'] = '1';
8987 properties['g_axis_stroke_width_h'] = '1';
8988 // Bar Label
8989 properties['g_bar_label_colour'] = '#000000';
8990 properties['g_bar_label_font_size'] = '10';
8991 properties['g_bar_label_space'] = '3';
8992 properties['g_show_bar_labels'] = '1';
8993 properties['g_project_angle'] = '45';
8994 properties['g_depth'] = '20';
8995 properties['g_aspect_ratio'] = '1';
8996 properties['margin_top'] = '10';
8997 properties['margin_left'] = '10';
8998 properties['margin_right'] = '10';
8999 properties['margin_bottom'] = '10';
9000 properties['g_multiline'] = '2';
9001 // Bar
9002 properties['g_bar_width'] = '0';
9003 properties['g_bar_width_min'] = '1';
9004 properties['g_bar_space'] = '10';
9005 properties['g_show_labels'] = '1';
9006 properties['g_show_label_key'] = '1';
9007 properties['g_inner_radius'] = '0.5';
9008 properties['g_fill_opacity'] = '1';
9009 properties['g_axis_text_space_v'] = '2';
9010 properties['g_axis_text_space_h'] = '2';
9011 } else {
9012 // backward compatibility
9013 if (!properties.hasOwnProperty('g_depth')) {
9014 properties['g_depth'] = '40';
9015 }
9016 if (!properties.hasOwnProperty('g_aspect_ratio')) {
9017 properties['g_aspect_ratio'] = '1';
9018 }
9019 if (!properties.hasOwnProperty('g_legend_entry_height')) {
9020 properties['g_legend_entry_height'] = '20';
9021 }
9022 if (!properties.hasOwnProperty('g_bar_width')) {
9023 properties['g_bar_width'] = '0';
9024 }
9025 if (!properties.hasOwnProperty('g_bar_width_min')) {
9026 properties['g_bar_width_min'] = '1';
9027 }
9028 if (!properties.hasOwnProperty('g_bar_space')) {
9029 properties['g_bar_space'] = '10';
9030 }
9031 // backward compatibility
9032 if (!properties.hasOwnProperty('g_show_labels')) {
9033 properties['g_show_labels'] = '1';
9034 }
9035 if (!properties.hasOwnProperty('g_show_label_key')) {
9036 properties['g_show_label_key'] = '1';
9037 }
9038 if (!properties.hasOwnProperty('g_inner_radius')) {
9039 properties['g_inner_radius'] = '0.5';
9040 }
9041 if (!properties.hasOwnProperty('g_fill_opacity')) {
9042 properties['g_fill_opacity'] = '1';
9043 }
9044 if (!properties.hasOwnProperty('g_axis_text_space_v')) {
9045 properties['g_axis_text_space_v'] = '2';
9046 }
9047 if (!properties.hasOwnProperty('g_axis_text_space_h')) {
9048 properties['g_axis_text_space_h'] = '2';
9049 }
9050 }
9051 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
9052 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
9053 jQuery('<i>', {'class': 'e2pdf-drag'})
9054 );
9055 break;
9056 default:
9057 break;
9058 }
9059
9060 if (typeof element !== 'undefined') {
9061 if (!element_id) {
9062 var last_id = 0;
9063 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
9064 var num_id = parseInt(jQuery(this).attr("data-element_id"));
9065 if (num_id > last_id) {
9066 last_id = num_id;
9067 }
9068 });
9069 element_id = parseInt(last_id + 1);
9070 }
9071 element.addClass('e2pdf-element');
9072 element.attr('data-element_id', element_id);
9073 element.data('data-type', type);
9074 if (properties.hasOwnProperty('width')) {
9075 element.css({'width': properties['width']});
9076 }
9077 if (properties.hasOwnProperty('height')) {
9078 element.css({'height': properties['height']});
9079 }
9080 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
9081 element.css({'top': properties['top'], 'left': properties['left']});
9082 }
9083 element.css({"position": "absolute"});
9084 e2pdf.properties.apply(element, properties, onload);
9085 e2pdf.actions.apply(element, actions);
9086 e2pdf.element.initEvents(element, page);
9087 if (!onload) {
9088 e2pdf.event.fire('after.element.create');
9089 }
9090 return element;
9091 } else {
9092 return false;
9093 }
9094 },
9095 // e2pdf.element.children
9096 children: function (el) {
9097 var children = el.find('.' + el.data('data-type'));
9098 return children;
9099 },
9100 // e2pdf.element.select
9101 select: function (el) {
9102 var selected = false;
9103 for (var key in e2pdf.element.selected) {
9104 if (e2pdf.element.selected[key].is(el)) {
9105 selected = true;
9106 }
9107 }
9108 if (!selected) {
9109 el.addClass('e2pdf-selected');
9110 e2pdf.element.selected.push(el);
9111 }
9112 },
9113 // e2pdf.element.unselect
9114 unselect: function (el) {
9115 if (!el) {
9116 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
9117 e2pdf.element.selected = [];
9118 } else {
9119 for (var key in e2pdf.element.selected) {
9120 if (e2pdf.element.selected[key].is(el)) {
9121 el.removeClass('e2pdf-selected');
9122 delete e2pdf.element.selected[key];
9123 }
9124 }
9125 }
9126 },
9127 // e2pdf.element.unfocus
9128 unfocus: function (el) {
9129 e2pdf.wysiwyg.helper.dropSelection();
9130 if (!el) {
9131 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9132 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9133 jQuery(this).blur();
9134 });
9135 } else {
9136 el.find('.e2pdf-inner-element').blur();
9137 el.removeClass('e2pdf-focused');
9138 }
9139 },
9140 // e2pdf.element.focus
9141 focus: function (el) {
9142 el.one('beforeinput', function (e) {
9143 var history = [];
9144 history.push(el.clone(true));
9145 e2pdf.history.set('element_change', history);
9146 });
9147 var el_inner = el.find('.e2pdf-inner-element');
9148 el_inner.focus();
9149 el.addClass('e2pdf-focused');
9150 },
9151 // e2pdf.element.hide
9152 hide: function (el) {
9153 el.addClass('e2pdf-hide');
9154 },
9155 // e2pdf.element.show
9156 show: function (el) {
9157 el.removeClass('e2pdf-hide');
9158 },
9159 // e2pdf.element.delete
9160 delete: function (el) {
9161 el.remove();
9162 e2pdf.event.fire('after.element.delete');
9163 }
9164 },
9165 // e2pdf.storage
9166 storage: {
9167 get: function (key) {
9168 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9169 },
9170 set: function (key, data) {
9171 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9172 },
9173 delete: function (key) {
9174 localStorage.removeItem('e2pdf_' + key);
9175 }
9176 },
9177 // e2pdf.history
9178 history: {
9179 // e2pdf.history.set
9180 set: function (action, elements, data) {
9181 if (elements && elements.length > 0) {
9182 var history = {
9183 'action': action,
9184 'elements': elements,
9185 'data': data,
9186 };
9187 e2pdf.history.undoStack.push(history);
9188 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9189 e2pdf.history.undoStack.shift();
9190 }
9191 if (e2pdf.history.undoStack.length > 0) {
9192 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9193 }
9194 }
9195 },
9196 // e2pdf.history.undo
9197 undo: function () {
9198 var history = e2pdf.history.undoStack.pop();
9199 if (history) {
9200 e2pdf.element.unselect();
9201 if (history.action == 'element_change') {
9202 for (var key in history.elements) {
9203 var buffered = history.elements[key];
9204 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9205 e2pdf.element.initEvents(buffered);
9206 e2pdf.element.select(buffered);
9207 }
9208 } else if (history.action == 'element_create') {
9209 for (var key in history.elements) {
9210 var buffered = history.elements[key];
9211 if (buffered.hasClass('e2pdf-page')) {
9212 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9213 if (jQuery('.e2pdf-page').length == 0) {
9214 e2pdf.history.undo();
9215 }
9216 } else {
9217 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9218 }
9219 }
9220 } else if (history.action == 'element_delete') {
9221 for (var key in history.elements) {
9222 var buffered = history.elements[key];
9223 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9224 page.append(buffered);
9225 e2pdf.element.initEvents(buffered, page);
9226 e2pdf.element.select(buffered);
9227 }
9228 } else if (history.action == 'page_change') {
9229 for (var key in history.elements) {
9230 var buffered = history.elements[key];
9231 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9232 page.data('data-type', 'e2pdf-page');
9233 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9234 if (buffered.css('background-image')) {
9235 page.css('background-image', buffered.css('background-image'));
9236 }
9237 buffered.find('.e2pdf-element').each(function () {
9238 page.append(jQuery(this));
9239 e2pdf.element.initEvents(jQuery(this), page);
9240 });
9241 e2pdf.pages.initEvents(page);
9242 e2pdf.pages.rebuildPages();
9243 }
9244 if (history.data) {
9245 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9246 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9247 }
9248 } else if (history.action == 'page_delete') {
9249 for (var key in history.elements) {
9250 var buffered = history.elements[key];
9251 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9252 page.data('data-type', 'e2pdf-page');
9253 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9254 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9255 if (buffered.attr('data-page_id') == '1') {
9256 jQuery('.e2pdf-tpl-inner').prepend(page);
9257 } else {
9258 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9259 }
9260 if (buffered.css('background-image')) {
9261 page.css('background-image', buffered.css('background-image'));
9262 }
9263 buffered.find('.e2pdf-element').each(function () {
9264 page.append(jQuery(this));
9265 e2pdf.element.initEvents(jQuery(this), page);
9266 });
9267 e2pdf.pages.initEvents(page);
9268 e2pdf.pages.rebuildPages();
9269 }
9270 if (history.data) {
9271 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9272 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9273 }
9274 } else if (history.action == 'wysiwyg') {
9275 for (var key in history.elements) {
9276 var buffered = history.elements[key];
9277 buffered.focus();
9278 document.execCommand('undo');
9279 }
9280 }
9281 if (e2pdf.history.undoStack.length == 0) {
9282 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9283 }
9284 }
9285 },
9286 // e2pdf.history.redo
9287 redo: function () {
9288
9289 },
9290 clear: function () {
9291 e2pdf.history.undoStack = [];
9292 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9293 },
9294 // e2pdf.history.undoStack
9295 undoStack: []
9296 },
9297 // e2pdf.copy
9298 copy: function (key, el) {
9299 e2pdf.element.init(el);
9300 switch (key) {
9301 case 'style':
9302 var data = {
9303 'type': el.data('data-type'),
9304 'fields': e2pdf.properties.getFields(el)
9305 };
9306 e2pdf.storage.set(key, data);
9307 break;
9308 case 'width':
9309 var data = {
9310 'width': e2pdf.properties.getValue(el, 'width', 'float')
9311 };
9312 e2pdf.storage.set(key, data);
9313 break;
9314 case 'height':
9315 var data = {
9316 'height': e2pdf.properties.getValue(el, 'height', 'float')
9317 };
9318 e2pdf.storage.set(key, data);
9319 break;
9320 case 'elements':
9321 var elements = e2pdf.storage.get('elements');
9322 if (elements == null) {
9323 elements = [];
9324 }
9325 var data = {
9326 'type': el.data('data-type'),
9327 'top': el.css('top'),
9328 'left': el.css('left'),
9329 'width': el.css('width'),
9330 'height': el.css('height'),
9331 'fields': e2pdf.properties.getFields(el),
9332 'properties': e2pdf.properties.get(el),
9333 'actions': e2pdf.actions.get(el)
9334 };
9335 elements.push(data);
9336 e2pdf.storage.set(key, elements);
9337 break;
9338 case 'actions':
9339 var data = {
9340 'actions': e2pdf.actions.get(el)
9341 };
9342 e2pdf.storage.set(key, data);
9343 break;
9344 }
9345 },
9346 // e2pdf.paste
9347 paste: function (key, el) {
9348 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9349 switch (key) {
9350 case 'style':
9351 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9352 e2pdf.element.init(el);
9353 var groups = e2pdf.storage.get('style').fields;
9354 for (var group_key in groups) {
9355 var group = groups[group_key];
9356 for (var field_key in group.fields) {
9357 var group_field = group.fields[field_key];
9358 if (group_field.type != 'link') {
9359 if (jQuery.inArray(group_field.key, [
9360 'page_id',
9361 'element_id',
9362 'element_type',
9363 'width',
9364 'height',
9365 'top',
9366 'left',
9367 'name',
9368 'field_name',
9369 'z_index',
9370 'group',
9371 'option',
9372 'options',
9373 'css',
9374 'parent',
9375 'value',
9376 'preg_pattern',
9377 'preg_replacement',
9378 'preg_match_all_pattern',
9379 'preg_match_all_output',
9380 'wysiwyg_disable',
9381 'multipage',
9382 'dynamic_height',
9383 'nl2br',
9384 'hide_if_empty',
9385 'hide_page_if_empty',
9386 'css_priority',
9387 'pdf_resample',
9388 'pdf_append',
9389 'html_worker',
9390 'esig',
9391 'dimension',
9392 'block_dimension',
9393 'keep_lower_size',
9394 'fill_image',
9395 'only_image',
9396 'hl',
9397 'placeholder',
9398 'pdf_page',
9399 'format',
9400 'g_type',
9401 'g_structure_key',
9402 'g_structure_value',
9403 'g_structure_colour',
9404 'g_structure_axis_text',
9405 'g_structure_legend_text',
9406 'g_structure_label',
9407 'g_structure_area',
9408 'g_structure_open',
9409 'g_structure_end',
9410 'g_structure_outliers',
9411 'g_structure_top',
9412 'g_structure_bottom',
9413 'g_structure_wtop',
9414 'g_structure_wbottom',
9415 'g_structure_high',
9416 'g_structure_low',
9417 'g_structured_data',
9418 'g_key_sep',
9419 'g_array_sep',
9420 'g_sub_array_sep',
9421 'g_graph_title',
9422 'g_label_v',
9423 'g_label_h',
9424 'g_legend_title'
9425 ]) === -1) {
9426 e2pdf.properties.set(el, group_field.key, group_field.value);
9427 }
9428 }
9429 }
9430 }
9431 e2pdf.properties.render(el);
9432 }
9433 break;
9434 case 'elements':
9435 case 'elements-in-place':
9436 e2pdf.element.unselect();
9437 var context = jQuery('.e2pdf-context');
9438 var page = context.closest('.e2pdf-page');
9439 var min_top = 99999999;
9440 var min_left = 99999999;
9441 var left_correction = 0;
9442 var top_correction = 0;
9443 if (key !== 'elements-in-place') {
9444 for (var element in e2pdf.storage.get('elements')) {
9445 var buffered = e2pdf.storage.get('elements')[element];
9446 var properties = buffered.properties;
9447 min_top = Math.min(parseFloat(properties['top']), min_top);
9448 min_left = Math.min(parseFloat(properties['left']), min_left);
9449 }
9450 for (var element in e2pdf.storage.get('elements')) {
9451 var buffered = e2pdf.storage.get('elements')[element];
9452 var properties = buffered.properties;
9453 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9454 if (context.hasClass('e2pdf-context-bottom')) {
9455 top += context.height();
9456 }
9457 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9458 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9459 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9460 left_correction = Math.max(correction, left_correction);
9461 }
9462 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9463 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9464 top_correction = Math.max(correction, top_correction);
9465 }
9466 }
9467 }
9468
9469 var history = [];
9470 for (var element in e2pdf.storage.get('elements')) {
9471 var buffered = e2pdf.storage.get('elements')[element];
9472 var properties = buffered.properties;
9473 var actions = buffered.actions;
9474 if (key !== 'elements-in-place') {
9475 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9476 if (context.hasClass('e2pdf-context-bottom')) {
9477 top += context.height();
9478 }
9479 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9480 properties['top'] = top;
9481 properties['left'] = left;
9482 }
9483 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9484 page.append(el);
9485 e2pdf.properties.render(el);
9486 e2pdf.element.select(el);
9487 history.push(el.clone(true));
9488 }
9489 e2pdf.history.set('element_create', history);
9490 e2pdf.event.fire('after.element.paste');
9491 break;
9492 case 'actions':
9493 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9494 break;
9495 case 'width':
9496 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9497 e2pdf.properties.render(el);
9498 break;
9499 case 'height':
9500 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9501 e2pdf.properties.render(el);
9502 break;
9503 }
9504 }
9505 },
9506 // e2pdf.wysiwyg
9507 wysiwyg: {
9508 // e2pdf.wysiwyg.apply
9509 apply: function (el) {
9510 var history = [];
9511 history.push(el);
9512 e2pdf.history.set('wysiwyg', history);
9513 var html = '';
9514 var command = el.attr('data-command');
9515 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9516 if (command === 'H1') {
9517 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9518 e2pdf.wysiwyg.clear('h1');
9519 } else {
9520 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9521 document.execCommand('insertHTML', false, html);
9522 }
9523 } else if (command === 'H2') {
9524 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9525 e2pdf.wysiwyg.clear('h2');
9526 } else {
9527 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9528 document.execCommand('insertHTML', false, html);
9529 }
9530 } else if (command === 'createlink') {
9531 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9532 document.execCommand(command, false, url);
9533 } else if (command === 'font-size') {
9534 var font_size = el.find('option:selected').html();
9535 if (node.is("span") && document.getSelection().toString() === node.text()) {
9536 html = node.css('font-size', font_size + "px").prop('outerHTML');
9537 } else {
9538 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9539 }
9540 document.execCommand('insertHTML', false, html);
9541 el.val('');
9542 } else if (command === 'line-height') {
9543 var font_size = el.find('option:selected').html();
9544 if (node.is("span") && document.getSelection().toString() === node.text()) {
9545 html = node.css('line-height', font_size + "px").prop('outerHTML');
9546 } else {
9547 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9548 }
9549 document.execCommand('insertHTML', false, html);
9550 el.val('');
9551 } else if (command === 'font') {
9552 e2pdf.font.load(el);
9553 var font = CSS.escape(el.find('option:selected').html());
9554 if (node.is("span") && document.getSelection().toString() === node.text()) {
9555 html = node.css('font-family', font).prop('outerHTML');
9556 } else {
9557 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9558 }
9559 document.execCommand('insertHTML', false, html);
9560 el.val('');
9561 } else if (command === 'color') {
9562 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9563 var color = el.val();
9564 document.execCommand('foreColor', false, color);
9565 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9566 } else if (command === 'clear') {
9567 document.execCommand("removeformat", false, "");
9568 e2pdf.wysiwyg.clear();
9569 } else if (command) {
9570 document.execCommand(command, false, null);
9571 }
9572 e2pdf.event.fire('after.wysiwyg.apply');
9573 },
9574 // e2pdf.wysiwyg.clear
9575 clear: function (tags) {
9576 if (!tags) {
9577 var tags = "h1,h2";
9578 }
9579 var array = tags.toLowerCase().split(",");
9580 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9581 if (node.nodeType === 1 &&
9582 array.indexOf(node.tagName.toLowerCase()) > -1) {
9583 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9584 }
9585 });
9586 },
9587 // e2pdf.wysiwyg.helper
9588 helper: {
9589 // e2pdf.wysiwyg.helper.getSelectedNodes
9590 getSelectedNodes: function () {
9591 var nodes = [];
9592 if (window.getSelection) {
9593 var sel = window.getSelection();
9594 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9595 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9596 }
9597 }
9598 return nodes;
9599 },
9600 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9601 replaceWithOwnChildren: function (el) {
9602 var parent = el.parentNode;
9603 while (el.hasChildNodes()) {
9604 parent.insertBefore(el.firstChild, el);
9605 }
9606 parent.removeChild(el);
9607 },
9608 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9609 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9610 var node = range.startContainer;
9611 var endNode = range.endContainer;
9612 var rangeNodes = [];
9613 if (node === endNode) {
9614 rangeNodes = [node];
9615 } else {
9616 while (node && node !== endNode) {
9617 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9618 }
9619 node = range.startContainer;
9620 while (node && node !== range.commonAncestorContainer) {
9621 rangeNodes.unshift(node);
9622 node = node.parentNode;
9623 }
9624 }
9625
9626 if (includePartiallySelectedContainers) {
9627 node = range.commonAncestorContainer;
9628 while (node) {
9629 rangeNodes.push(node);
9630 node = node.parentNode;
9631 }
9632 }
9633
9634 return rangeNodes;
9635 },
9636 // e2pdf.wysiwyg.helper.getSelectedNode
9637 getSelectedNode: function () {
9638 var node, selection;
9639 if (window.getSelection) {
9640 selection = getSelection();
9641 node = selection.anchorNode;
9642 }
9643 if (!node && document.selection) {
9644 selection = document.selection;
9645 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9646 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9647 range.parentElement ? range.parentElement() : range.item(0);
9648 }
9649 if (node) {
9650 return (node.nodeName === "#text" ? node.parentNode : node);
9651 }
9652 },
9653 // e2pdf.wysiwyg.helper.nextNode
9654 nextNode: function (node) {
9655 if (node.hasChildNodes()) {
9656 return node.firstChild;
9657 } else {
9658 while (node && !node.nextSibling) {
9659 node = node.parentNode;
9660 }
9661 if (!node) {
9662 return null;
9663 }
9664 return node.nextSibling;
9665 }
9666 },
9667 // e2pdf.wysiwyg.helper.getSelectionHtml
9668 getSelectionHtml: function () {
9669 var html = "";
9670 if (typeof window.getSelection != 'undefined') {
9671 var sel = window.getSelection();
9672 if (sel.rangeCount) {
9673 var container = document.createElement("div");
9674 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9675 container.appendChild(sel.getRangeAt(i).cloneContents());
9676 }
9677 html = container.innerHTML;
9678 }
9679 } else if (typeof document.selection != 'undefined') {
9680 if (document.selection.type === "Text") {
9681 html = document.selection.createRange().htmlText;
9682 }
9683 }
9684 return html;
9685 },
9686 // e2pdf.wysiwyg.helper.saveSelection
9687 saveSelection: function () {
9688 if (window.getSelection) {
9689 sel = window.getSelection();
9690 if (sel.getRangeAt && sel.rangeCount) {
9691 return sel.getRangeAt(0);
9692 }
9693 } else if (document.selection && document.selection.createRange) {
9694 return document.selection.createRange();
9695 }
9696 return null;
9697 },
9698 // e2pdf.wysiwyg.helper.restoreSelection
9699 restoreSelection: function (range) {
9700 if (range) {
9701 if (window.getSelection) {
9702 sel = window.getSelection();
9703 sel.removeAllRanges();
9704 sel.addRange(range);
9705 } else if (document.selection && range.select) {
9706 range.select();
9707 }
9708 }
9709 },
9710 // e2pdf.wysiwyg.helper.dropSelection
9711 dropSelection: function () {
9712 if (window.getSelection) {
9713 sel = window.getSelection();
9714 sel.removeAllRanges();
9715 }
9716 }
9717 }
9718 },
9719 // e2pdf.visual
9720 visual: {
9721 // e2pdf.visual.mapper
9722 mapper: {
9723 cursorPosStart: null,
9724 cursorPosEnd: null,
9725 cursorRange: null,
9726 selected: null,
9727 // e2pdf.visual.mapper.init
9728 init: function (el) {
9729 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9730 if (el.find('.e2pdf-inner-element').is('div')) {
9731 if (window.getSelection) {
9732 sel = window.getSelection();
9733 if (sel.getRangeAt && sel.rangeCount) {
9734 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9735 }
9736 } else if (document.selection && document.selection.createRange) {
9737 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9738 }
9739 e2pdf.visual.mapper.cursorPosStart = null;
9740 e2pdf.visual.mapper.cursorPosEnd = null;
9741 } else {
9742 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9743 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9744 e2pdf.visual.mapper.cursorRange = null;
9745 }
9746 } else {
9747 e2pdf.visual.mapper.cursorPosStart = null;
9748 e2pdf.visual.mapper.cursorPosEnd = null;
9749 e2pdf.visual.mapper.cursorRange = null;
9750 }
9751
9752 e2pdf.visual.mapper.selected = el;
9753 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9754 e2pdf.dialog.create(modal);
9755 },
9756 // e2pdf.visual.mapper.markup
9757 markup: function () {
9758 e2pdf.dialog.rebuild();
9759 },
9760 // e2pdf.visual.mapper.rebuild
9761 rebuild: function () {
9762 if (jQuery('.e2pdf-vm-content').length > 0) {
9763 var vc_content = jQuery('.e2pdf-vm-content');
9764 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9765 jQuery('.e2pdf-vm-wrapper').remove();
9766 }
9767 vc_content.find('input[type="hidden"]').each(function () {
9768 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9769 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9770 jQuery(this).attr('value', jQuery(this).attr('name'));
9771 }
9772 });
9773 if (e2pdf.static.vm.hidden) {
9774 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9775 jQuery(this).attr('type', 'text');
9776 });
9777 } else {
9778 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9779 jQuery(this).attr('type', 'hidden');
9780 });
9781 }
9782
9783 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9784 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 () {
9785 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9786 });
9787 vc_content.append(vc_wrapper);
9788 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9789 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9790 }
9791 }
9792 },
9793 // e2pdf.visual.mapper.clear
9794 clear: function () {
9795 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9796 jQuery('.e2pdf-vm-wrapper').remove();
9797 }
9798 },
9799 // e2pdf.visual.mapper.load
9800 load: function (el) {
9801 var loaded = false;
9802 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9803 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9804 var width = el.css('width');
9805 var height = el.css('height');
9806 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9807 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9808 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9809 'width': width, 'height': height, 'top': top, 'left': left
9810 });
9811 var name = el.attr('name');
9812 var type = el.attr('type');
9813 var value = el.attr('value');
9814 if (el.is('select')) {
9815 type = 'select';
9816 value = '';
9817 el.find('option').each(function () {
9818 value += jQuery(this).attr('value');
9819 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9820 value += "\n";
9821 }
9822 });
9823 }
9824
9825 loaded.data('name', name);
9826 loaded.data('type', type);
9827 loaded.data('value', value);
9828 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9829 }
9830 return loaded;
9831 },
9832 // e2pdf.visual.mapper.apply
9833 apply: function (el) {
9834 if (e2pdf.visual.mapper.selected) {
9835 var history = [];
9836 history.push(e2pdf.visual.mapper.selected.clone(true));
9837 e2pdf.history.set('element_change', history);
9838 var name = el.data('name');
9839 var group = el.data('name');
9840 var value = el.data('value');
9841 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9842 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9843 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9844 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9845 var final = textBefore + name + textAfter;
9846 if (!e2pdf.static.vm.replace) {
9847 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9848 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9849 } else {
9850 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9851 }
9852 name = final;
9853 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9854 e2pdf.visual.mapper.cursorRange.deleteContents();
9855 var node = document.createTextNode(name);
9856 e2pdf.visual.mapper.cursorRange.insertNode(node);
9857 } else {
9858 if (!e2pdf.static.vm.replace) {
9859 e2pdf.element.init(e2pdf.visual.mapper.selected);
9860 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9861 }
9862 }
9863 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9864 case 'e2pdf-checkbox':
9865 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9866 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9867 break;
9868 case 'e2pdf-radio':
9869 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9870 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9871 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9872 break;
9873 case 'e2pdf-select':
9874 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9875 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9876 break;
9877 case 'e2pdf-image':
9878 case 'e2pdf-qrcode':
9879 case 'e2pdf-barcode':
9880 case 'e2pdf-graph':
9881 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9882 break;
9883 default:
9884 if (e2pdf.visual.mapper.cursorRange === null) {
9885 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9886 }
9887 break;
9888 }
9889 if (e2pdf.visual.mapper.cursorRange === null) {
9890 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9891 }
9892 }
9893 if (e2pdf.static.vm.close) {
9894 e2pdf.dialog.close();
9895 }
9896 }
9897 }
9898 },
9899 zoom: {
9900 zoom: 1,
9901 click: {
9902 x: 0,
9903 y: 0
9904 },
9905 apply: function (el) {
9906 jQuery('.e2pdf-tpl').removeClass(function (index, className) {
9907 return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
9908 });
9909 if (el.val() !== '100') {
9910 jQuery('.e2pdf-tpl').addClass("e2pdf-z" + el.val());
9911 }
9912
9913 e2pdf.zoom.zoom = el.val() / 100;
9914 jQuery('.e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('.e2pdf-tpl').width()) / 2);
9915 }
9916 }
9917 };
9918 jQuery(window).resize(function () {
9919 e2pdf.visual.mapper.clear();
9920 if (e2pdf.static.observer !== null) {
9921 e2pdf.static.observer.disconnect();
9922 e2pdf.static.observer = null;
9923 }
9924 if (this.e2pdfResizeTO) {
9925 clearTimeout(this.e2pdfResizeTO);
9926 }
9927 this.e2pdfResizeTO = setTimeout(function () {
9928 jQuery(this).trigger('e2pdfResizeEnd');
9929 }, 500);
9930 });
9931 jQuery(document).on('click', '.notice-dismiss', function (e) {
9932 jQuery(this).parent().addClass('e2pdf-hide');
9933 jQuery(this).trigger('e2pdfResizeEnd');
9934 });
9935 jQuery(window).bind('e2pdfResizeEnd', function () {
9936 e2pdf.dialog.rebuild();
9937 });
9938 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9939 var collapse = jQuery(this).attr('data-collapse');
9940 if (collapse) {
9941 if (jQuery(this).is(':checked')) {
9942 jQuery('.' + collapse).removeClass('e2pdf-hide');
9943 } else {
9944 jQuery('.' + collapse).addClass('e2pdf-hide');
9945 }
9946 }
9947 });
9948 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9949
9950 const form = jQuery(this).closest('form');
9951 const value = jQuery(this).val();
9952 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9953 if (value == '1') {
9954 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9955 } else if (value == '2') {
9956 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9957 }
9958
9959 form.off('submit.confirmOverwrite');
9960 if (value == '1' || value == '2' || value == '3') {
9961 form.on('submit.confirmOverwrite', function (e) {
9962 let message = '';
9963 if (value == '3') {
9964 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9965 } else {
9966 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9967 if (!template_id) {
9968 return true;
9969 }
9970 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9971 }
9972 if (!confirm(message)) {
9973 e.preventDefault();
9974 return false;
9975 }
9976 });
9977 }
9978 });
9979 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9980 if (jQuery(this).val() == 'attachment') {
9981 jQuery(this).closest('form').removeAttr('target');
9982 } else {
9983 jQuery(this).closest('form').attr('target', '_blank');
9984 }
9985 });
9986 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9987 var collapse = jQuery(this).attr('data-collapse');
9988 if (collapse) {
9989 if (jQuery(this).hasClass('e2pdf-collapsed')) {
9990 jQuery('.' + collapse).addClass('e2pdf-hide');
9991 jQuery(this).removeClass('e2pdf-collapsed');
9992 } else {
9993 jQuery('.' + collapse).removeClass('e2pdf-hide');
9994 jQuery(this).addClass('e2pdf-collapsed');
9995 }
9996 }
9997 });
9998 jQuery(document).ready(function () {
9999 jQuery('body').removeClass('e2pdf-loading');
10000 if (jQuery('.e2pdf-select2').length > 0) {
10001 jQuery('.e2pdf-select2').attr('disabled', false);
10002 }
10003 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
10004 e.stopPropagation();
10005 e.preventDefault();
10006 e.stopImmediatePropagation();
10007 return false;
10008 });
10009 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
10010 var parent = jQuery(this).closest('.e2pdf-grid');
10011 var argument = parent.find('.e2pdf-argument').first().clone();
10012 var index = parent.find('.e2pdf-argument').length + 1;
10013 argument.find('input').val('').attr('placeholder', 'arg' + index);
10014 argument.appendTo(parent.find('.e2pdf-arguments'));
10015 });
10016 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
10017 var parent = jQuery(this).closest('.e2pdf-grid');
10018 if (parent.find('.e2pdf-argument').length > 1) {
10019 parent.find('.e2pdf-argument').last().remove();
10020 }
10021 });
10022 jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
10023 var parent = jQuery('.e2pdf-search-replaces').first();
10024 var search_replace = parent.find('.e2pdf-search-replace').first().clone();
10025 search_replace.find('textarea').val('');
10026 search_replace.appendTo(parent);
10027 });
10028 jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
10029 var parent = jQuery(this).closest('.e2pdf-search-replace');
10030 if (parent) {
10031 parent.remove();
10032 }
10033 });
10034 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
10035 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
10036 var form = jQuery(this).closest('form');
10037 if (form.attr('id') === 'e2pdf-tpl-actions') {
10038 var element = jQuery('.e2pdf-tpl');
10039 } else if (form.attr('id') === 'e2pdf-page-options') {
10040 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
10041 } else {
10042 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10043 }
10044 e2pdf.actions.add(element, actions);
10045 });
10046 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
10047 var action_conditions = jQuery(this).closest('.e2pdf-action');
10048 var form = jQuery(this).closest('form');
10049 if (form.attr('id') === 'e2pdf-tpl-actions') {
10050 var element = jQuery('.e2pdf-tpl');
10051 } else if (form.attr('id') === 'e2pdf-page-options') {
10052 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
10053 } else {
10054 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10055 }
10056
10057 e2pdf.actions.conditions.add(element, action_conditions);
10058 });
10059 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
10060 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
10061 return false;
10062 }
10063 var action = jQuery(this).closest('.e2pdf-action');
10064 e2pdf.actions.delete(action);
10065 });
10066 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
10067 var action = jQuery(this).closest('.e2pdf-action');
10068 e2pdf.actions.duplicate(action);
10069 });
10070 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
10071 var action = jQuery(this).closest('.e2pdf-action');
10072 if (action.find('.e2pdf-condition').length === 1) {
10073 alert(e2pdf.lang.get('Last condition can\'t be removed'));
10074 return false;
10075 }
10076 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
10077 return false;
10078 }
10079 var condition = jQuery(this).closest('.e2pdf-condition');
10080 e2pdf.actions.conditions.delete(condition);
10081 });
10082 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
10083 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
10084 });
10085 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
10086 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
10087 return false;
10088 }
10089 var history = [];
10090 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10091 var el = jQuery(this);
10092 history.push(el.clone(true));
10093 el.css('background', '');
10094 });
10095 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
10096 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
10097 });
10098 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
10099 e2pdf.zoom.apply(jQuery(this));
10100 });
10101 jQuery(document).on('change', '.e2pdf-extension', function (e) {
10102 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
10103 });
10104 jQuery(document).on('change', '.e2pdf-item', function (e) {
10105 if (jQuery(this).val() == '-1') {
10106 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10107 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10108 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10109 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10110 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10111 } else if (jQuery(this).val() == '-2') {
10112 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10113 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10114 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10115 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10116 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
10117 } else {
10118 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10119 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10120 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10121 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10122 }
10123 });
10124 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
10125 var action = jQuery(this).closest('.e2pdf-action');
10126 e2pdf.actions.change(action, jQuery(this));
10127 });
10128 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10129 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
10130 var tab = jQuery(this);
10131 tab.closest('ul').find('li').removeClass('active');
10132 tab.parent('li').addClass('active');
10133 jQuery(document.getElementById(tab.attr('data-tab'))).show();
10134 });
10135 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
10136 var parent = jQuery(this).closest('.e2pdf-closed');
10137 if (parent.hasClass('e2pdf-opened')) {
10138 parent.removeClass('e2pdf-opened');
10139 } else {
10140 jQuery('.e2pdf-closed').each(function () {
10141 jQuery(this).removeClass('e2pdf-opened');
10142 });
10143 parent.addClass('e2pdf-opened');
10144 }
10145 });
10146 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
10147 e.preventDefault();
10148 var el = jQuery(this);
10149 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10150 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10151 return false;
10152 }
10153 }
10154 if (el.attr('form-id') == 'license_key') {
10155 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?'))) {
10156 return false;
10157 }
10158 }
10159 e2pdf.request.submitForm(el);
10160 });
10161 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
10162 var el = jQuery(this);
10163 if (el.hasClass('e2pdf-noclose')) {
10164 e2pdf.request.submitLocal(el, true);
10165 } else {
10166 e2pdf.request.submitLocal(el);
10167 }
10168 });
10169 jQuery(document).on('click', '.e2pdf-delete', function (e) {
10170 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?');
10171 if (!confirm(message)) {
10172 e2pdf.delete('.e2pdf-context');
10173 return false;
10174 }
10175 var history = [];
10176 for (var key in e2pdf.element.selected) {
10177 var selected = e2pdf.element.selected[key];
10178 e2pdf.element.init(selected);
10179 history.push(selected.clone(true));
10180 e2pdf.element.delete(selected);
10181 }
10182 e2pdf.history.set('element_delete', history);
10183 e2pdf.element.unselect();
10184 });
10185 jQuery(document).on('click', '.e2pdf-copy', function (e) {
10186 var type = jQuery(this).attr('type');
10187 if (type == 'elements') {
10188 e2pdf.storage.delete('elements');
10189 }
10190 for (var key in e2pdf.element.selected) {
10191 var selected = e2pdf.element.selected[key];
10192 e2pdf.copy(type, selected);
10193 }
10194 });
10195 jQuery(document).on('click', '.e2pdf-paste', function (e) {
10196 var type = jQuery(this).attr('type');
10197 if (type == 'elements' || type == 'elements-in-place') {
10198 e2pdf.paste(type);
10199 } else {
10200 var history = [];
10201 for (var key in e2pdf.element.selected) {
10202 var selected = e2pdf.element.selected[key];
10203 history.push(selected.clone(true));
10204 e2pdf.paste(type, selected);
10205 }
10206 e2pdf.history.set('element_change', history);
10207 }
10208 });
10209 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10210 var history = [];
10211 for (var key in e2pdf.element.selected) {
10212 var selected = e2pdf.element.selected[key];
10213 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10214 history.push(selected.clone(true));
10215 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10216 }
10217 }
10218 e2pdf.history.set('element_change', history);
10219 });
10220 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10221 var history = [];
10222 for (var key in e2pdf.element.selected) {
10223 var selected = e2pdf.element.selected[key];
10224 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10225 history.push(selected.clone(true));
10226 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10227 e2pdf.properties.render(selected);
10228 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10229 history.push(selected.clone(true));
10230 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10231 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10232 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10233 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10234 e2pdf.properties.render(selected);
10235 }
10236 }
10237 e2pdf.history.set('element_change', history);
10238 });
10239 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10240 e2pdf.storage.delete('elements');
10241 var history = [];
10242 for (var key in e2pdf.element.selected) {
10243 var selected = e2pdf.element.selected[key];
10244 e2pdf.element.init(selected);
10245 history.push(selected.clone(true));
10246 e2pdf.copy('elements', selected);
10247 e2pdf.element.delete(selected);
10248 }
10249 e2pdf.history.set('element_delete', history);
10250 });
10251 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10252 e.preventDefault();
10253 e.stopPropagation();
10254 e.stopImmediatePropagation();
10255 });
10256 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10257 jQuery(this).find('ul').show();
10258 });
10259 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10260 jQuery(this).find('ul').hide();
10261 });
10262 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10263 for (var key in e2pdf.element.selected) {
10264 var selected = e2pdf.element.selected[key];
10265 selected.addClass('e2pdf-focused');
10266 }
10267 });
10268 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10269 for (var key in e2pdf.element.selected) {
10270 var selected = e2pdf.element.selected[key];
10271 e2pdf.element.hide(selected);
10272 }
10273 });
10274 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10275 for (var key in e2pdf.element.selected) {
10276 var selected = e2pdf.element.selected[key];
10277 e2pdf.element.show(selected);
10278 }
10279 });
10280 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10281 for (var key in e2pdf.element.selected) {
10282 var selected = e2pdf.element.selected[key];
10283 e2pdf.properties.set(selected, 'locked', '1');
10284 selected.addClass('e2pdf-locked');
10285 }
10286 });
10287 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10288 for (var key in e2pdf.element.selected) {
10289 var selected = e2pdf.element.selected[key];
10290 e2pdf.properties.set(selected, 'locked', '0');
10291 selected.removeClass('e2pdf-locked');
10292 }
10293 });
10294 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10295 return false;
10296 });
10297 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10298 return false;
10299 });
10300 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10301 if (jQuery(this).hasClass('e2pdf-inactive')) {
10302 jQuery('html').addClass('e2pdf-show-all-elements');
10303 jQuery(this).removeClass('e2pdf-inactive');
10304 } else {
10305 jQuery('html').removeClass('e2pdf-show-all-elements');
10306 jQuery(this).addClass('e2pdf-inactive');
10307 }
10308 });
10309 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10310 if (jQuery(this).hasClass('e2pdf-inactive')) {
10311 jQuery('html').addClass('e2pdf-unlock-all-elements');
10312 jQuery(this).removeClass('e2pdf-inactive');
10313 } else {
10314 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10315 jQuery(this).addClass('e2pdf-inactive');
10316 }
10317 });
10318 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10319 if (jQuery(this).hasClass('e2pdf-inactive')) {
10320 jQuery(this).removeClass('e2pdf-inactive');
10321 } else {
10322 jQuery(this).addClass('e2pdf-inactive');
10323 }
10324 jQuery('.e2pdf-html').each(function () {
10325 var el = jQuery(this).parent();
10326 var children = jQuery(this);
10327 if (children.is('textarea')) {
10328 e2pdf.properties.set(el, 'value', children.val());
10329 } else {
10330 e2pdf.properties.set(el, 'value', children.html());
10331 }
10332 e2pdf.properties.render(el);
10333 });
10334 });
10335 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10336 if (e2pdf.pdf.settings.get('pdf')) {
10337 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10338 } else if (e2pdf_params['license_type'] == 'FREE') {
10339 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10340 } else {
10341 e2pdf.pages.createPage();
10342 }
10343 });
10344 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10345 e2pdf.history.undo();
10346 });
10347 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10348 e2pdf.history.redo();
10349 });
10350 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10351 if (e2pdf.url.get('revision_id')) {
10352 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10353 return false;
10354 }
10355 e2pdf.createPdf(jQuery(this));
10356 });
10357 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10358 e2pdf.pages.movePage(jQuery(this), 'up');
10359 });
10360 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10361 e2pdf.pages.movePage(jQuery(this), 'down');
10362 });
10363 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10364 if (e2pdf.pdf.settings.get('pdf')) {
10365 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10366 return false;
10367 }
10368 var history = [];
10369 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10370 var el = jQuery(this);
10371 history.push(el.closest('.e2pdf-page').clone(true));
10372 e2pdf.pages.deletePage(el);
10373 });
10374 history.reverse();
10375 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10376 } else {
10377 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10378 return false;
10379 }
10380 var el = jQuery(jQuery(this));
10381 var history = [];
10382 history.push(el.closest('.e2pdf-page').clone(true));
10383 e2pdf.history.set('page_delete', history);
10384 e2pdf.pages.deletePage(el);
10385 }
10386 });
10387 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10388 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10389 return false;
10390 }
10391 var history = [];
10392 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10393 var el = jQuery(this);
10394 history.push(el.closest('.e2pdf-page').clone(true));
10395 e2pdf.pages.deletePage(el);
10396 });
10397 history.reverse();
10398 if (e2pdf.pdf.settings.get('pdf')) {
10399 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10400 } else {
10401 e2pdf.history.set('page_delete', history);
10402 }
10403 });
10404 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10405 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10406 return false;
10407 }
10408 var el = jQuery(jQuery(this));
10409 e2pdf.font.delete(el);
10410 });
10411 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10412 e2pdf.dialog.create(jQuery(this));
10413 });
10414 jQuery(document).on('click', 'body', function (e) {
10415 e2pdf.delete('.e2pdf-context');
10416 });
10417 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10418 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10419 });
10420 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10421 if (jQuery(this).is('select')) {
10422 var data = {};
10423 data['id'] = jQuery('.e2pdf-export-template').val();
10424 data['datasets'] = {};
10425 jQuery('.e2pdf-export-dataset').each(function () {
10426 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10427 });
10428 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10429 }
10430 });
10431 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10432 var data = {};
10433 data['id'] = jQuery('.e2pdf-export-template').val();
10434 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10435 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10436 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10437 });
10438 jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10439 if (jQuery(this).is(':checked')) {
10440 if (jQuery(this).val() == '') {
10441 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10442 }
10443 } else {
10444 if (jQuery(this).val() == '') {
10445 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10446 } else {
10447 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10448 }
10449 }
10450
10451 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10452 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10453 }
10454
10455 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10456 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10457 } else {
10458 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10459 }
10460 });
10461 jQuery(document).on('change', '#e2pdf-font', function (e) {
10462 e2pdf.font.load(jQuery(this));
10463 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10464 });
10465 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10466 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10467 });
10468 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10469 var text_align = jQuery(this).val();
10470 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10471 if (
10472 jQuery(this).data('data-type') == 'e2pdf-input'
10473 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10474 || jQuery(this).data('data-type') == 'e2pdf-html'
10475 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10476 || jQuery(this).data('data-type') == 'e2pdf-link'
10477 ) {
10478 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10479 var children = e2pdf.element.children(jQuery(this));
10480 children.css('text-align', text_align);
10481 }
10482 }
10483 });
10484 });
10485 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10486 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10487 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10488 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10489 (e.shiftKey === true && e.keyCode === 187) ||
10490 (e.keyCode >= 35 && e.keyCode <= 40)
10491 ) {
10492
10493 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10494 e.preventDefault();
10495 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10496 e.preventDefault();
10497 } else {
10498 return;
10499 }
10500 }
10501 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10502 e.preventDefault();
10503 }
10504 });
10505 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10506 if (e.which == 13) {
10507 e.preventDefault();
10508 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10509 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10510 } else {
10511 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10512 }
10513 }
10514 });
10515 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10516 var value = jQuery(this).val().trim();
10517 var prefix = '';
10518 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10519 prefix = '+';
10520 }
10521 value = parseFloat(value);
10522 if (isNaN(value)) {
10523 value = 0;
10524 }
10525 jQuery(this).val(prefix + value);
10526 });
10527 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10528 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10529 });
10530 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10531 if (jQuery(this).is(':checked')) {
10532 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10533 } else {
10534 jQuery('.e2pdf-tpl').attr('dir', false);
10535 }
10536 });
10537 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10538 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10539 });
10540 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10541 e.preventDefault();
10542 for (var key in e2pdf.element.selected) {
10543 var selected = e2pdf.element.selected[key];
10544 e2pdf.mediaUploader.init(selected);
10545 }
10546 });
10547 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10548 for (var key in e2pdf.element.selected) {
10549 var selected = e2pdf.element.selected[key];
10550 e2pdf.visual.mapper.init(selected);
10551 }
10552 });
10553 document.addEventListener('selectionchange', function () {
10554 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10555 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10556 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10557 const selection = window.getSelection();
10558 if (selection && selection.toString().length == 0) {
10559 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10560 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10561 }
10562 } else {
10563 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10564 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10565 }
10566 });
10567 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10568 e.preventDefault();
10569 if (jQuery(this).hasClass('e2pdf-inactive')) {
10570 return;
10571 }
10572 e2pdf.wysiwyg.apply(jQuery(this));
10573 });
10574 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10575 e.preventDefault();
10576 e.stopPropagation();
10577 e.stopImmediatePropagation();
10578 if (jQuery(this).hasClass('e2pdf-inactive')) {
10579 return;
10580 }
10581 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10582 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10583 if (!color_panel.hasClass('wp-picker-active')) {
10584 color_panel.find('.wp-color-result').click();
10585 if (color_panel.find('.wp-color-close').length === 0) {
10586 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10587 var width = parseFloat(jQuery(this).css('width'));
10588 var height = parseFloat(jQuery(this).css('height'));
10589 close.css({'width': width, "height": height, "margin-top": -height});
10590 color_panel.append(close);
10591 }
10592 }
10593 });
10594 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10595 e.preventDefault();
10596 e.stopPropagation();
10597 e.stopImmediatePropagation();
10598 if (jQuery(this).hasClass('e2pdf-inactive')) {
10599 return;
10600 }
10601 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10602 if (gridContainer.hasClass('e2pdf-hide')) {
10603 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10604 gridContainer.removeClass('e2pdf-hide').empty();
10605 for (let i = 0; i < 100; i++) {
10606 let gridItem = jQuery('<div>');
10607 gridItem.on('mouseover', function () {
10608 let rowCol = calculateRowCol(i);
10609 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10610 });
10611 gridItem.on('mouseout', function () {
10612 highlightGrid(gridContainer, 0, 0);
10613 });
10614 gridItem.on('click', function () {
10615 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10616 let rowCol = calculateRowCol(i);
10617 let html = '<table>\n';
10618 for (let r = 0; r < rowCol.rows; r++) {
10619 html += '<tr>\n';
10620 for (let c = 0; c < rowCol.cols; c++) {
10621 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10622 }
10623 html += '</tr>\n';
10624 }
10625 html += '</table>\n';
10626 document.execCommand('insertHTML', false, html);
10627 gridContainer.addClass('e2pdf-hide');
10628 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10629 });
10630 gridContainer.append(gridItem);
10631 }
10632 gridContainer.append(jQuery('<span>').text('0x0'));
10633 } else {
10634 gridContainer.addClass('e2pdf-hide');
10635 }
10636 function calculateRowCol(index) {
10637 let rows = Math.floor(index / 10) + 1;
10638 let cols = (index % 10) + 1;
10639 return {rows, cols};
10640 }
10641 function highlightGrid(gridContainer, rows, cols) {
10642 gridContainer.find('div').each(function (idx) {
10643 let itemRowCol = calculateRowCol(idx);
10644 gridContainer.find('span').text(rows + 'x' + cols);
10645 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10646 jQuery(this).addClass('e2pdf-highlight');
10647 } else {
10648 jQuery(this).removeClass('e2pdf-highlight');
10649 }
10650 });
10651 }
10652 });
10653 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10654 e2pdf.wysiwyg.apply(jQuery(this));
10655 });
10656 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10657 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10658 });
10659 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10660 if (e2pdf.url.get('revision_id')) {
10661 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10662 return false;
10663 }
10664
10665 var message = "";
10666 if (e2pdf.static.unsaved) {
10667 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10668 }
10669 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10670 jQuery(this).attr('disabled', 'disabled');
10671 jQuery(this).closest('form').append(
10672 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10673 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10674 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10675 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10676 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10677 ),
10678 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10679 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10680 )
10681 )
10682 )
10683 );
10684 });
10685 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10686 if (e2pdf.static.unsaved) {
10687 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10688 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10689 jQuery(this).val(revision_id);
10690 return false;
10691 }
10692 }
10693 e2pdf.static.unsaved = false;
10694 var revision_id = jQuery(this).val();
10695 var template_id = e2pdf.pdf.settings.get('ID');
10696 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10697 if (revision_id === '0') {
10698 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10699 }
10700 jQuery(this).attr('disabled', 'disabled');
10701 location.href = url;
10702 });
10703 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10704 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10705 return false;
10706 }
10707 jQuery('html').addClass('e2pdf-loading');
10708 var data = {};
10709 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10710 });
10711 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10712 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10713 return false;
10714 }
10715 jQuery('html').addClass('e2pdf-loading');
10716 var data = {};
10717 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10718 });
10719 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10720 jQuery(this).closest('.e2pdf-confirmation').remove();
10721 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10722 jQuery('.e2pdf-reupload-pdf').click();
10723 });
10724 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10725 jQuery(this).closest('.e2pdf-confirmation').remove();
10726 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10727 });
10728 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10729 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10730 });
10731 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10732 jQuery(this).autocomplete("search", "");
10733 });
10734 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10735 if (!jQuery(this).is(':checked')) {
10736 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10737 return false;
10738 }
10739 }
10740 });
10741 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10742 e2pdf.event.fire('after.settings.style.change');
10743 });
10744 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10745 e2pdf.event.fire('after.settings.template.change');
10746 });
10747 jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10748 var form = jQuery(this).closest('form');
10749 var field = jQuery(this).attr('field');
10750 var search = jQuery(this).val();
10751 var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10752 var options = fieldset.data('options');
10753 var regex = new RegExp(search, "gi");
10754 fieldset.empty();
10755 jQuery.each(options, function (i) {
10756 var option = options[i];
10757 if (i == 0 || option.value.match(regex) !== null) {
10758 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}))));
10759 }
10760 });
10761 fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10762 if (fieldset.find('input[type="checkbox"]').length > 1) {
10763 form.find('.e2pdf-submit-form').attr('disabled', false);
10764 } else {
10765 fieldset.find('input[type="checkbox"]').attr('disabled', true);
10766 form.find('.e2pdf-submit-form').attr('disabled', true);
10767 }
10768 if (this.changeTrigger) {
10769 clearTimeout(this.changeTrigger);
10770 }
10771 this.changeTrigger = setTimeout(function () {
10772 fieldset.trigger('change');
10773 }, 1000);
10774 });
10775 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10776 if (jQuery(this).val() !== '') {
10777 var form = jQuery(this).closest('form');
10778 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10779 form.find('input[name="width"]').val(size.width);
10780 form.find('input[name="height"]').val(size.height);
10781 }
10782 });
10783 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10784 e2pdf.visual.mapper.apply(jQuery(this));
10785 });
10786 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10787 e2pdf.element.unselect();
10788 e2pdf.element.unfocus();
10789 var el = jQuery(this).closest('.e2pdf-element');
10790 e2pdf.element.focus(el);
10791 });
10792 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10793 var el = jQuery(this).closest('.e2pdf-element');
10794 e2pdf.element.unfocus();
10795 if (e.ctrlKey || e.metaKey) {
10796 if (el.hasClass('e2pdf-selected')) {
10797 e2pdf.element.unselect(el);
10798 } else {
10799 e2pdf.element.select(el);
10800 }
10801 } else {
10802 if (el.hasClass('e2pdf-selected')) {
10803 if (Object.keys(e2pdf.element.selected).length > 1) {
10804 e2pdf.element.unselect();
10805 e2pdf.element.select(el);
10806 } else {
10807 e2pdf.element.unselect(el);
10808 }
10809 } else {
10810 if (Object.keys(e2pdf.element.selected).length > 0) {
10811 e2pdf.element.unselect();
10812 e2pdf.element.select(el);
10813 } else {
10814 e2pdf.element.select(el);
10815 }
10816 }
10817 }
10818 });
10819 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10820 var data = {};
10821 data['id'] = jQuery(this).attr('data-id');
10822 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10823 });
10824 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10825 var data = {};
10826 data['id'] = jQuery(this).attr('data-id');
10827 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10828 });
10829 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10830 e.preventDefault();
10831 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10832 return false;
10833 }
10834 var data = {};
10835 data['template'] = jQuery(this).attr('template');
10836 data['dataset'] = jQuery(this).attr('dataset');
10837 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10838 });
10839 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10840 e.preventDefault();
10841 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10842 return false;
10843 }
10844 var data = {};
10845 data['template'] = jQuery(this).attr('template');
10846 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10847 });
10848 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10849 e.preventDefault();
10850 switch (jQuery(this).attr('action')) {
10851 case 'start':
10852 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10853 return false;
10854 }
10855 break;
10856 case 'stop':
10857 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10858 return false;
10859 }
10860 break;
10861 case 'delete':
10862 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10863 return false;
10864 }
10865 break;
10866 }
10867 var data = {};
10868 data['bulk'] = jQuery(this).attr('bulk');
10869 data['action'] = jQuery(this).attr('action');
10870 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10871 });
10872 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10873 jQuery(this).select();
10874 });
10875 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10876 jQuery(this).autocomplete("search", '');
10877 });
10878 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10879 if (jQuery(this).is(':checked')) {
10880 e2pdf.static.vm.hidden = true;
10881 } else {
10882 e2pdf.static.vm.hidden = false;
10883 }
10884 e2pdf.visual.mapper.rebuild();
10885 });
10886 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10887 var value = jQuery(this).val();
10888 if (value != '') {
10889 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10890 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10891 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10892 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10893 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10894 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10895 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10896 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10897 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10898 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10899 } else {
10900 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10901 }
10902 e2pdf.visual.mapper.rebuild();
10903 });
10904 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10905 if (jQuery(this).is(':checked')) {
10906 e2pdf.static.vm.replace = true;
10907 } else {
10908 e2pdf.static.vm.replace = false;
10909 }
10910 });
10911 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10912 if (jQuery(this).is(':checked')) {
10913 e2pdf.static.vm.close = true;
10914 } else {
10915 e2pdf.static.vm.close = false;
10916 }
10917 });
10918 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10919 if (typeof e.clipboardData != 'undefined') {
10920 var clipboardData = e.clipboardData;
10921 } else if (typeof window.clipboardData != 'undefined') {
10922 var clipboardData = window.clipboardData;
10923 } else {
10924 var clipboardData = e.originalEvent.clipboardData;
10925 }
10926 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10927 e.preventDefault();
10928 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10929 data = e2pdf.helper.stripHTML(
10930 data,
10931 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10932 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10933 'span', 'a', 'br',
10934 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10935 'sub', 'sup',
10936 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10937 'ul', 'ol', 'li',
10938 'a'
10939 );
10940 return document.execCommand('insertHtml', false, data);
10941 }
10942 });
10943 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10944 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10945 }
10946
10947 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10948 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10949 }
10950
10951 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10952 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10953 }
10954
10955 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10956 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10957 }
10958
10959 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10960 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10961 }
10962
10963 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10964 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10965 }
10966
10967 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10968 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10969 }
10970
10971 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10972 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10973 }
10974
10975 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10976 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
10977 }
10978
10979 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
10980 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
10981 }
10982
10983 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10984 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10985 }
10986
10987 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10988 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10989 }
10990
10991 jQuery('#e2pdf-zoom').trigger('change');
10992 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
10993 if (e2pdf.url.get('id')) {
10994 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
10995 e2pdf.static.autoloadExport = true;
10996 }
10997 }
10998
10999 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
11000 jQuery('.e2pdf-color-picker-load').each(function () {
11001 jQuery(this).wpColorPicker(
11002 {
11003 defaultColor: function () {
11004 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
11005 if (el.attr('data-default')) {
11006 return el.attr('data-default');
11007 } else {
11008 return;
11009 }
11010 },
11011 change: function (event, ui) {
11012 jQuery(this).val(ui.color.toString()).change();
11013 }
11014 }
11015 ).removeClass('e2pdf-color-picker-load');
11016 });
11017 jQuery(window).bind("beforeunload", function (e) {
11018 if (e2pdf.static.unsaved) {
11019 var confirmationMessage = "\o/";
11020 (e || window.event).returnValue = confirmationMessage;
11021 return confirmationMessage;
11022 }
11023 });
11024 if (jQuery('#e2pdf-build-form').length > 0) {
11025 postboxes.add_postbox_toggles(pagenow);
11026 }
11027
11028 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
11029 && typeof (jQuery.ui.droppable) != 'undefined'
11030 && jQuery('.e2pdf-tpl').length > 0) {
11031 // jQuery UI scale bug fix
11032 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
11033 var i, j,
11034 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
11035 type = event ? event.type : null,
11036 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
11037 droppablesLoop: for (i = 0; i < m.length; i++) {
11038 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
11039 continue;
11040 }
11041 for (j = 0; j < list.length; j++) {
11042 if (list[ j ] === m[ i ].element[ 0 ]) {
11043 m[ i ].proportions().height = 0;
11044 continue droppablesLoop;
11045 }
11046 }
11047 m[ i ].visible = m[ i ].element.css("display") !== "none";
11048 if (!m[ i ].visible) {
11049 continue;
11050 }
11051 if (type === "mousedown") {
11052 m[ i ]._activate.call(m[ i ], event);
11053 }
11054 m[ i ].offset = m[ i ].element.offset();
11055 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
11056 }
11057 };
11058 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
11059 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
11060 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
11061 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
11062 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
11063 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
11064 jQuery('.e2pdf-load-tpl').remove();
11065 jQuery('.e2pdf-load-el').each(function () {
11066 var element = jQuery(this);
11067 var type = element.attr('data-type');
11068 var page = element.closest('.e2pdf-page');
11069 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11070 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
11071 properties['width'] = element.attr('data-width');
11072 properties['height'] = element.attr('data-height');
11073 properties['top'] = element.attr('data-top');
11074 properties['left'] = element.attr('data-left');
11075 properties['value'] = element.find('.e2pdf-data-value').val();
11076 properties['name'] = element.find('.e2pdf-data-name').val();
11077 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
11078 jQuery(this).replaceWith(el);
11079 e2pdf.properties.render(el);
11080 });
11081 jQuery('.e2pdf-load-page').each(function () {
11082 var page = jQuery(this);
11083 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11084 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
11085 page.find('.e2pdf-data-properties').remove();
11086 page.find('.e2pdf-data-actions').remove();
11087 page.removeClass('e2pdf-load-page');
11088 e2pdf.pages.createPage(page, properties, actions, true);
11089 });
11090 jQuery('.e2pdf-be').draggable({
11091 cursorAt: {left: 0, top: 0},
11092 helper: function () {
11093 var element = jQuery(this).clone();
11094 var type = element.attr('data-type');
11095 var page = element.closest('.e2pdf-page');
11096 var el = e2pdf.element.create(type, page, false, false, true);
11097 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
11098 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
11099 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
11100 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
11101 e2pdf.properties.render(el);
11102 el.css('z-index', 1);
11103 if (e2pdf.zoom.zoom != 1) {
11104 el.css({
11105 'transform': 'scale(' + e2pdf.zoom.zoom + ')',
11106 'transform-origin': '0 0'
11107 });
11108 }
11109
11110 var w = el.width() * e2pdf.zoom.zoom;
11111 var h = el.height() * e2pdf.zoom.zoom;
11112 e2pdf.static.guide.x = Math.round(w / 2);
11113 e2pdf.static.guide.y = Math.round(h / 2);
11114 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
11115 left: Math.round(w / 2),
11116 top: Math.round(h / 2)
11117 });
11118 return el;
11119 },
11120 start: function (ev, ui) {
11121 e2pdf.element.unselect();
11122 },
11123 stop: function (ev, ui) {
11124 ui.position.top = Math.round(ui.position.top);
11125 ui.position.left = Math.round(ui.position.left);
11126 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
11127 },
11128 drag: function (ev, ui) {
11129 if (e2pdf.static.drag.page !== null) {
11130 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
11131 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
11132 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
11133 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
11134 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
11135 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
11136 jQuery.each(el_guides, function (i, elemGuide) {
11137 if (guide.type == elemGuide.type) {
11138 var prop = guide.type == "h" ? "top" : "left";
11139 var d = Math.abs(elemGuide[prop] - guide[prop]);
11140 if (d < guides[prop].dist) {
11141 guides[prop].dist = d;
11142 guides[prop].offset = elemGuide[prop] - pos[prop];
11143 guides[prop].guide = guide;
11144 }
11145 }
11146 });
11147 });
11148 if (guides.top.dist <= e2pdf.static.guide.distance) {
11149 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();
11150 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
11151 ui.position.top = snap_top;
11152 } else {
11153 jQuery('.e2pdf-guide-h').hide();
11154 }
11155 if (guides.left.dist <= e2pdf.static.guide.distance) {
11156 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();
11157 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
11158 ui.position.left = snap_left;
11159 } else {
11160 jQuery('.e2pdf-guide-v').hide();
11161 }
11162 }
11163 }
11164 });
11165 e2pdf.welcomeScreen();
11166 }
11167 e2pdf.font.load(jQuery('#e2pdf-font'));
11168 jQuery('.e2pdf-load-font').each(function () {
11169 e2pdf.font.load(jQuery(this));
11170 jQuery(this).remove();
11171 });
11172 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11173 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11174 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11175 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11176 }
11177
11178 jQuery(document).keydown(function (e) {
11179 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11180 if (jQuery('.e2pdf-focused').length == 0
11181 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11182 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11183 && Object.keys(e2pdf.element.selected).length > 0) {
11184 e.preventDefault();
11185 switch (e.which) {
11186 case 37:
11187 // left
11188 var diff = 1;
11189 for (var key in e2pdf.element.selected) {
11190 var selected = e2pdf.element.selected[key];
11191 if (parseFloat(selected.css('left')) > 0) {
11192 if (parseFloat(selected.css('left')) - 1 < 0) {
11193 diff = Math.min(diff, selected.css('left'));
11194 }
11195 } else {
11196 diff = Math.min(diff, 0);
11197 }
11198 }
11199
11200 for (var key in e2pdf.element.selected) {
11201 var selected = e2pdf.element.selected[key];
11202 selected.finish().animate({
11203 left: "-=" + diff
11204 }, 0);
11205 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11206 }
11207 break;
11208 case 38:
11209 // top
11210 var diff = 1;
11211 for (var key in e2pdf.element.selected) {
11212 var selected = e2pdf.element.selected[key];
11213 if (parseFloat(selected.css('top')) > 0) {
11214 if (parseFloat(selected.css('top')) - 1 < 0) {
11215 diff = Math.min(diff, selected.css('top'));
11216 }
11217 } else {
11218 diff = Math.min(diff, 0);
11219 }
11220 }
11221
11222 for (var key in e2pdf.element.selected) {
11223 var selected = e2pdf.element.selected[key];
11224 selected.finish().animate({
11225 top: "-=" + diff
11226 }, 0);
11227 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11228 }
11229 break;
11230 case 39:
11231 // right
11232 var diff = 1;
11233 for (var key in e2pdf.element.selected) {
11234 var selected = e2pdf.element.selected[key];
11235 if (parseFloat(selected.css('right')) > 0) {
11236 if (parseFloat(selected.css('right')) - 1 < 0) {
11237 diff = Math.min(diff, selected.css('right'));
11238 }
11239 } else {
11240 diff = Math.min(diff, 0);
11241 }
11242 }
11243
11244 for (var key in e2pdf.element.selected) {
11245 var selected = e2pdf.element.selected[key];
11246 selected.finish().animate({
11247 left: "+=" + diff
11248 }, 0);
11249 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11250 }
11251 break;
11252 case 40:
11253 // down
11254 var diff = 1;
11255 for (var key in e2pdf.element.selected) {
11256 var selected = e2pdf.element.selected[key];
11257 if (parseFloat(selected.css('bottom')) > 0) {
11258 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11259 diff = Math.min(diff, selected.css('bottom'));
11260 }
11261 } else {
11262 diff = Math.min(diff, 0);
11263 }
11264 }
11265
11266 for (var key in e2pdf.element.selected) {
11267 var selected = e2pdf.element.selected[key];
11268 selected.finish().animate({
11269 top: "+=" + diff
11270 }, 0);
11271 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11272 }
11273 break;
11274 case 46:
11275 // delete
11276 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?');
11277 if (!confirm(message)) {
11278 e2pdf.delete('.e2pdf-context');
11279 return false;
11280 }
11281 var history = [];
11282 for (var key in e2pdf.element.selected) {
11283 var selected = e2pdf.element.selected[key];
11284 e2pdf.element.init(selected);
11285 history.push(selected.clone(true));
11286 e2pdf.element.delete(selected);
11287 }
11288 e2pdf.history.set('element_delete', history);
11289 e2pdf.element.unselect();
11290 break;
11291 }
11292 }
11293 }
11294 });
11295 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11296 e2pdf.select2.init(jQuery(this));
11297 });
11298 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11299 e2pdf.select2.click(jQuery(this));
11300 });
11301 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11302 e2pdf.select2.filter(jQuery(this));
11303 });
11304 jQuery(document).on('mousedown', 'body', function (e) {
11305 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11306 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11307 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11308 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11309 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11310 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11311 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11312 e.ctrlKey !== true) {
11313 e2pdf.element.unselect();
11314 e2pdf.element.unfocus();
11315 }
11316 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11317 jQuery('.e2pdf-closed').each(function () {
11318 jQuery(this).removeClass('e2pdf-opened');
11319 });
11320 }
11321 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11322 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11323 }
11324 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11325 jQuery('.e2pdf-select2-dropdown').each(function () {
11326 e2pdf.select2.close(jQuery(this));
11327 });
11328 }
11329 });
11330 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11331 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11332 if (jQuery('.e2pdf-bulks-list').length > 0)
11333 {
11334 e2pdf.bulk.progress();
11335 }
11336 });