PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.49
E2Pdf – Export Pdf Tool for WordPress v1.32.49
1.32.49 1.32.48 1.32.43 1.32.40 1.32.34 1.32.32 1.32.31 1.32.26 1.32.22 1.32.23 1.32.18 1.32.17 1.32.15 trunk 1.00.00 1.00.13 1.01.01 1.02.02 1.03.07 1.04.07 1.05.03 1.06.02 1.07.11 1.08.00 1.08.06 All 72 releases
e2pdf / js / e2pdf.backend.js

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

11,370 lines 578.5 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.scale;
630 h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.scale;
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_axis_text_callback_y':
5429 obj = {
5430 'name': e2pdf.lang.get('Custom Labels (Y-Axis)'),
5431 'type': 'textarea',
5432 'value': e2pdf.helper.getString(properties[field])
5433 };
5434 break;
5435 case 'g_axis_text_callback_x':
5436 obj = {
5437 'name': e2pdf.lang.get('Custom Labels (X-Axis)'),
5438 'type': 'textarea',
5439 'value': e2pdf.helper.getString(properties[field])
5440 };
5441 break;
5442 case 'g_colors':
5443 obj = {
5444 'name': e2pdf.lang.get('Colors'),
5445 'type': 'textarea',
5446 'value': e2pdf.helper.getString(properties[field])
5447 };
5448 break;
5449 case 'g_inner_radius':
5450 obj = {
5451 'name': e2pdf.lang.get('Inner Radius'),
5452 'type': 'text',
5453 'value': e2pdf.helper.getFloat(properties[field]),
5454 'atts': ['number', 'keep']
5455 };
5456 break;
5457 case 'g_start_angle':
5458 obj = {
5459 'name': e2pdf.lang.get('Start Angle'),
5460 'type': 'text',
5461 'value': e2pdf.helper.getFloat(properties[field]),
5462 'atts': ['number']
5463 };
5464 break;
5465 case 'g_grid_straight':
5466 obj = {
5467 'name': e2pdf.lang.get('Straight'),
5468 'type': 'checkbox',
5469 'value': e2pdf.helper.getCheckbox(properties[field]),
5470 'option': '1',
5471 };
5472 break;
5473 case 'g_grid_dash':
5474 obj = {
5475 'name': e2pdf.lang.get('Grid Dash'),
5476 'type': 'text',
5477 'value': e2pdf.helper.getFloat(properties[field]),
5478 'atts': ['number']
5479 };
5480 break;
5481 case 'g_grid_dash_h':
5482 obj = {
5483 'name': e2pdf.lang.get('Grid Dash (H)'),
5484 'type': 'text',
5485 'value': e2pdf.helper.getFloat(properties[field]),
5486 'atts': ['number']
5487 };
5488 break;
5489 case 'g_grid_dash_v':
5490 obj = {
5491 'name': e2pdf.lang.get('Grid Dash (V)'),
5492 'type': 'text',
5493 'value': e2pdf.helper.getFloat(properties[field]),
5494 'atts': ['number']
5495 };
5496 break;
5497 case 'g_fill_opacity':
5498 obj = {
5499 'name': e2pdf.lang.get('Fill Opacity'),
5500 'type': 'text',
5501 'value': e2pdf.helper.getFloat(properties[field]),
5502 'atts': ['number', 'keep']
5503 };
5504 break;
5505 case 'g_axis_font_weight_h':
5506 obj = {
5507 'name': e2pdf.lang.get('Bold'),
5508 'type': 'checkbox',
5509 'value': e2pdf.helper.getCheckbox(properties[field]),
5510 'option': '1'
5511 };
5512 break;
5513 case 'g_axis_font_weight_v':
5514 obj = {
5515 'name': e2pdf.lang.get('Bold'),
5516 'type': 'checkbox',
5517 'value': e2pdf.helper.getCheckbox(properties[field]),
5518 'option': '1'
5519 };
5520 break;
5521 }
5522 if (!obj.hasOwnProperty('key')) {
5523 obj['key'] = field;
5524 }
5525 if (!obj.hasOwnProperty('atts')) {
5526 obj['atts'] = [];
5527 }
5528 return obj;
5529 },
5530 // e2pdf.properties.getFields
5531 getFields: function (el, actions) {
5532
5533 if (el.data('data-type') === 'e2pdf-tpl') {
5534 var obj = {};
5535 } else if (el.data('data-type') === 'e2pdf-page') {
5536 var obj = {
5537 'page_id': {
5538 'name': '',
5539 'fields': [
5540 e2pdf.properties.getField('page_id', el),
5541 e2pdf.properties.getField('element_type', el)
5542 ],
5543 'position': 'top',
5544 'classes': [
5545 'e2pdf-w50 e2pdf-pr10',
5546 'e2pdf-w50 e2pdf-pl10'
5547 ]
5548 },
5549 'size': {
5550 'name': e2pdf.lang.get('Size'),
5551 'fields': [
5552 e2pdf.properties.getField('width', el),
5553 e2pdf.properties.getField('height', el),
5554 e2pdf.properties.getField('preset', el)
5555 ],
5556 'position': 'top',
5557 'classes': [
5558 'e2pdf-w50 e2pdf-pr10',
5559 'e2pdf-w50 e2pdf-pl10',
5560 'e2pdf-w100'
5561 ]
5562 }
5563 };
5564 } else {
5565 var obj = {
5566 'element': {
5567 'name': e2pdf.lang.get('Element'),
5568 'fields': [
5569 e2pdf.properties.getField('element_id', el),
5570 e2pdf.properties.getField('page_id', el),
5571 e2pdf.properties.getField('element_type', el),
5572 e2pdf.properties.getField('left', el),
5573 e2pdf.properties.getField('top', el),
5574 e2pdf.properties.getField('width', el),
5575 e2pdf.properties.getField('height', el)
5576 ],
5577 'position': 'top',
5578 'classes': [
5579 'e2pdf-w25',
5580 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5581 'e2pdf-w50 e2pdf-pl10',
5582 'e2pdf-w25',
5583 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5584 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5585 'e2pdf-w25'
5586 ]
5587 }
5588 };
5589 if (el.data('data-type') === 'e2pdf-input') {
5590
5591 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5592 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5593 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5594 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5595 obj['field'] = {
5596 'name': e2pdf.lang.get('Field'),
5597 'fields': [
5598 e2pdf.properties.getField('text_color', el),
5599 e2pdf.properties.getField('text_font', el),
5600 e2pdf.properties.getField('text_font_size', el),
5601 e2pdf.properties.getField('text_letter_spacing', el),
5602 e2pdf.properties.getField('text_auto_font_size', el),
5603 e2pdf.properties.getField('text_align', el),
5604 e2pdf.properties.getField('rotation', el),
5605 e2pdf.properties.getField('length', el),
5606 e2pdf.properties.getField('rtl', el),
5607 e2pdf.properties.getField('comb', el),
5608 e2pdf.properties.getField('required', el),
5609 e2pdf.properties.getField('readonly', el),
5610 e2pdf.properties.getField('pass', el)
5611 ],
5612 'position': 'left',
5613 'classes': [
5614 'e2pdf-w100',
5615 'e2pdf-w100',
5616 'e2pdf-w50',
5617 'e2pdf-w50 e2pdf-pl10',
5618 'e2pdf-w100',
5619 'e2pdf-w50',
5620 'e2pdf-w50 e2pdf-pl10',
5621 'e2pdf-w70',
5622 'e2pdf-w30 e2pdf-pl10',
5623 'e2pdf-pr10',
5624 'e2pdf-pr10',
5625 'e2pdf-pr10',
5626 'e2pdf-pr10'
5627 ]
5628 };
5629 obj['style'] = {
5630 'name': e2pdf.lang.get('Style'),
5631 'fields': [
5632 e2pdf.properties.getField('background', el),
5633 e2pdf.properties.getField('border_color', el),
5634 e2pdf.properties.getField('border', el),
5635 e2pdf.properties.getField('z_index', el)
5636 ],
5637 'position': 'right',
5638 'classes': [
5639 'e2pdf-w100',
5640 'e2pdf-w70',
5641 'e2pdf-w30 e2pdf-pl10',
5642 'e2pdf-w100'
5643 ]
5644 };
5645 obj['value'] = {
5646 'name': e2pdf.lang.get('Value'),
5647 'fields': [
5648 e2pdf.properties.getField('value', el),
5649 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5650 e2pdf.properties.getField('preg_pattern', el),
5651 e2pdf.properties.getField('preg_replacement', el),
5652 e2pdf.properties.getField('preg_match_all_pattern', el),
5653 e2pdf.properties.getField('preg_match_all_output', el)
5654 ],
5655 'position': 'bottom',
5656 'classes': [
5657 'e2pdf-w100 e2pdf-hide-label',
5658 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5659 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5660 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5661 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5662 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5663 ]
5664 };
5665 }
5666
5667 if (el.data('data-type') === 'e2pdf-textarea') {
5668
5669 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5670 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5671 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5672 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5673 obj['field'] = {
5674 'name': e2pdf.lang.get('Field'),
5675 'fields': [
5676 e2pdf.properties.getField('text_color', el),
5677 e2pdf.properties.getField('text_font', el),
5678 e2pdf.properties.getField('text_font_size', el),
5679 e2pdf.properties.getField('text_letter_spacing', el),
5680 e2pdf.properties.getField('text_auto_font_size', el),
5681 e2pdf.properties.getField('text_line_height', el),
5682 e2pdf.properties.getField('text_align', el),
5683 e2pdf.properties.getField('rotation', el),
5684 e2pdf.properties.getField('length', el),
5685 e2pdf.properties.getField('rtl', el),
5686 e2pdf.properties.getField('comb', el),
5687 e2pdf.properties.getField('required', el),
5688 e2pdf.properties.getField('readonly', el),
5689 e2pdf.properties.getField('pass', el)
5690 ],
5691 'position': 'left',
5692 'classes': [
5693 'e2pdf-w100',
5694 'e2pdf-w100',
5695 'e2pdf-w50',
5696 'e2pdf-w50 e2pdf-pl10',
5697 'e2pdf-w100',
5698 'e2pdf-w100',
5699 'e2pdf-w50',
5700 'e2pdf-w50 e2pdf-pl10',
5701 'e2pdf-w70',
5702 'e2pdf-w30 e2pdf-pl10',
5703 'e2pdf-pr10',
5704 'e2pdf-pr10',
5705 'e2pdf-pr10',
5706 'e2pdf-pr10'
5707 ]
5708 };
5709 obj['style'] = {
5710 'name': e2pdf.lang.get('Style'),
5711 'fields': [
5712 e2pdf.properties.getField('background', el),
5713 e2pdf.properties.getField('border_color', el),
5714 e2pdf.properties.getField('border', el),
5715 e2pdf.properties.getField('z_index', el)
5716 ],
5717 'position': 'right',
5718 'classes': [
5719 'e2pdf-w100',
5720 'e2pdf-w70',
5721 'e2pdf-w30 e2pdf-pl10',
5722 'e2pdf-w100'
5723 ]
5724 };
5725 obj['value'] = {
5726 'name': e2pdf.lang.get('Value'),
5727 'fields': [
5728 e2pdf.properties.getField('value', el),
5729 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5730 e2pdf.properties.getField('preg_pattern', el),
5731 e2pdf.properties.getField('preg_replacement', el),
5732 e2pdf.properties.getField('preg_match_all_pattern', el),
5733 e2pdf.properties.getField('preg_match_all_output', el)
5734 ],
5735 'position': 'bottom',
5736 'classes': [
5737 'e2pdf-w100 e2pdf-hide-label',
5738 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5739 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5740 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5741 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5742 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5743 ]
5744 };
5745 }
5746
5747 if (el.data('data-type') === 'e2pdf-checkbox') {
5748
5749 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5750 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5751 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5752 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5753 obj['field'] = {
5754 'name': e2pdf.lang.get('Field'),
5755 'fields': [
5756 e2pdf.properties.getField('text_color', el),
5757 e2pdf.properties.getField('text_type', el),
5758 e2pdf.properties.getField('rotation', el),
5759 e2pdf.properties.getField('rtl', el),
5760 e2pdf.properties.getField('required', el),
5761 e2pdf.properties.getField('readonly', el)
5762 ],
5763 'position': 'left',
5764 'classes': [
5765 'e2pdf-w100',
5766 'e2pdf-w100',
5767 'e2pdf-w70',
5768 'e2pdf-w30 e2pdf-pl10',
5769 'e2pdf-pr10',
5770 'e2pdf-pr10'
5771 ]
5772 };
5773 obj['style'] = {
5774 'name': e2pdf.lang.get('Style'),
5775 'fields': [
5776 e2pdf.properties.getField('background', el),
5777 e2pdf.properties.getField('border_color', el),
5778 e2pdf.properties.getField('border', el),
5779 e2pdf.properties.getField('z_index', el)
5780 ],
5781 'position': 'right',
5782 'classes': [
5783 'e2pdf-w100',
5784 'e2pdf-w70',
5785 'e2pdf-w30 e2pdf-pl10',
5786 'e2pdf-w100'
5787 ]
5788 };
5789 obj['value'] = {
5790 'name': '',
5791 'fields': [
5792 e2pdf.properties.getField('option', el),
5793 e2pdf.properties.getField('value', el),
5794 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5795 e2pdf.properties.getField('preg_pattern', el),
5796 e2pdf.properties.getField('preg_replacement', el),
5797 e2pdf.properties.getField('preg_match_all_pattern', el),
5798 e2pdf.properties.getField('preg_match_all_output', el)
5799 ],
5800 'position': 'bottom',
5801 'classes': [
5802 'e2pdf-w100 e2pdf-strong-label',
5803 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5804 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5805 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5806 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5807 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5808 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5809 ]
5810 };
5811 }
5812
5813 if (el.data('data-type') === 'e2pdf-radio') {
5814
5815 obj['field'] = {
5816 'name': e2pdf.lang.get('Field'),
5817 'fields': [
5818 e2pdf.properties.getField('text_color', el),
5819 e2pdf.properties.getField('text_type', el),
5820 e2pdf.properties.getField('rotation', el),
5821 e2pdf.properties.getField('rtl', el),
5822 e2pdf.properties.getField('required', el),
5823 e2pdf.properties.getField('readonly', el)
5824 ],
5825 'position': 'left',
5826 'classes': [
5827 'e2pdf-w100',
5828 'e2pdf-w100',
5829 'e2pdf-w70',
5830 'e2pdf-w30 e2pdf-pl10',
5831 'e2pdf-pr10',
5832 'e2pdf-pr10',
5833 'e2pdf-pr10'
5834 ]
5835 };
5836 obj['style'] = {
5837 'name': e2pdf.lang.get('Style'),
5838 'fields': [
5839 e2pdf.properties.getField('background', el),
5840 e2pdf.properties.getField('border_color', el),
5841 e2pdf.properties.getField('border', el),
5842 e2pdf.properties.getField('z_index', el)
5843 ],
5844 'position': 'right',
5845 'classes': [
5846 'e2pdf-w100',
5847 'e2pdf-w70',
5848 'e2pdf-w30 e2pdf-pl10',
5849 'e2pdf-w100'
5850 ]
5851 };
5852 obj['value'] = {
5853 'name': '',
5854 'fields': [
5855 e2pdf.properties.getField('group', el),
5856 e2pdf.properties.getField('field_name', el),
5857 e2pdf.properties.getField('option', el),
5858 e2pdf.properties.getField('value', el),
5859 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5860 e2pdf.properties.getField('preg_pattern', el),
5861 e2pdf.properties.getField('preg_replacement', el),
5862 e2pdf.properties.getField('preg_match_all_pattern', el),
5863 e2pdf.properties.getField('preg_match_all_output', el)
5864 ],
5865 'position': 'bottom',
5866 'classes': [
5867 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5868 'e2pdf-w25 e2pdf-mt-label',
5869 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5870 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5871 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5872 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5873 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5874 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5875 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5876 ]
5877 };
5878 }
5879
5880 if (el.data('data-type') === 'e2pdf-select') {
5881
5882 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5883 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5884 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5885 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5886 obj['field'] = {
5887 'name': e2pdf.lang.get('Field'),
5888 'fields': [
5889 e2pdf.properties.getField('text_color', el),
5890 e2pdf.properties.getField('text_font', el),
5891 e2pdf.properties.getField('text_font_size', el),
5892 e2pdf.properties.getField('text_letter_spacing', el),
5893 e2pdf.properties.getField('text_auto_font_size', el),
5894 e2pdf.properties.getField('rotation', el),
5895 e2pdf.properties.getField('rtl', el),
5896 e2pdf.properties.getField('multiline', el),
5897 e2pdf.properties.getField('required', el),
5898 e2pdf.properties.getField('readonly', el)
5899 ],
5900 'position': 'left',
5901 'classes': [
5902 'e2pdf-w100',
5903 'e2pdf-w100',
5904 'e2pdf-w50',
5905 'e2pdf-w50 e2pdf-pl10',
5906 'e2pdf-w100',
5907 'e2pdf-w70',
5908 'e2pdf-w30 e2pdf-pl10',
5909 'e2pdf-pr10',
5910 'e2pdf-pr10',
5911 'e2pdf-pr10'
5912 ]
5913 };
5914 obj['style'] = {
5915 'name': e2pdf.lang.get('Style'),
5916 'fields': [
5917 e2pdf.properties.getField('background', el),
5918 e2pdf.properties.getField('border_color', el),
5919 e2pdf.properties.getField('border', el),
5920 e2pdf.properties.getField('z_index', el)
5921 ],
5922 'position': 'right',
5923 'classes': [
5924 'e2pdf-w100',
5925 'e2pdf-w70',
5926 'e2pdf-w30 e2pdf-pl10',
5927 'e2pdf-w100'
5928 ]
5929 };
5930 obj['value'] = {
5931 'name': '',
5932 'fields': [
5933 e2pdf.properties.getField('options', el),
5934 e2pdf.properties.getField('value', el),
5935 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5936 e2pdf.properties.getField('preg_pattern', el),
5937 e2pdf.properties.getField('preg_replacement', el),
5938 e2pdf.properties.getField('preg_match_all_pattern', el),
5939 e2pdf.properties.getField('preg_match_all_output', el)
5940 ],
5941 'position': 'bottom',
5942 'classes': [
5943 'e2pdf-w100 e2pdf-strong-label',
5944 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5945 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5946 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5947 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5948 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5949 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5950 ]
5951 };
5952 }
5953
5954 if (el.data('data-type') === 'e2pdf-signature') {
5955
5956 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5957 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5958 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5959 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5960 obj['field'] = {
5961 'name': e2pdf.lang.get('Field'),
5962 'fields': [
5963 e2pdf.properties.getField('text_color', el),
5964 e2pdf.properties.getField('text_font', el),
5965 e2pdf.properties.getField('text_font_size', el),
5966 e2pdf.properties.getField('placeholder', el),
5967 e2pdf.properties.getField('esig', el),
5968 e2pdf.properties.getField('required', el),
5969 e2pdf.properties.getField('horizontal', el),
5970 e2pdf.properties.getField('vertical', el),
5971 e2pdf.properties.getField('rotation', el),
5972 e2pdf.properties.getField('opacity', el),
5973 e2pdf.properties.getField('dimension', el),
5974 e2pdf.properties.getField('block_dimension', el),
5975 e2pdf.properties.getField('keep_lower_size', el),
5976 e2pdf.properties.getField('fill_image', el)
5977 ],
5978 'position': 'left',
5979 'classes': [
5980 'e2pdf-w100',
5981 'e2pdf-w60 e2pdf-pr10',
5982 'e2pdf-w40',
5983 'e2pdf-w100',
5984 'e2pdf-w50',
5985 'e2pdf-w50 e2pdf-pl10',
5986 'e2pdf-w50',
5987 'e2pdf-w50 e2pdf-pl10',
5988 'e2pdf-w50',
5989 'e2pdf-w50 e2pdf-pl10',
5990 'e2pdf-w50',
5991 'e2pdf-w50 e2pdf-pl10',
5992 'e2pdf-w50',
5993 'e2pdf-w50 e2pdf-pl10'
5994 ]
5995 };
5996 obj['style'] = {
5997 'name': e2pdf.lang.get('Style'),
5998 'fields': [
5999 e2pdf.properties.getField('background', el),
6000 e2pdf.properties.getField('padding_top', el),
6001 e2pdf.properties.getField('padding_left', el),
6002 e2pdf.properties.getField('padding_right', el),
6003 e2pdf.properties.getField('padding_bottom', el),
6004 e2pdf.properties.getField('border_color', el),
6005 e2pdf.properties.getField('border_radius', el),
6006 e2pdf.properties.getField('border_top', el),
6007 e2pdf.properties.getField('border_left', el),
6008 e2pdf.properties.getField('border_right', el),
6009 e2pdf.properties.getField('border_bottom', el),
6010 e2pdf.properties.getField('z_index', el)
6011 ],
6012 'position': 'right',
6013 'classes': [
6014 'e2pdf-w100',
6015 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6016 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6017 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6018 'e2pdf-w25 e2pdf-fnl',
6019 'e2pdf-w100',
6020 'e2pdf-w100',
6021 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6022 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6023 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6024 'e2pdf-w25 e2pdf-fnl',
6025 'e2pdf-w100'
6026 ]
6027 };
6028 obj['value'] = {
6029 'name': e2pdf.lang.get('Value'),
6030 'fields': [
6031 e2pdf.properties.getField('value', el),
6032 e2pdf.properties.getField('only_image', el),
6033 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6034 e2pdf.properties.getField('preg_pattern', el),
6035 e2pdf.properties.getField('preg_replacement', el),
6036 e2pdf.properties.getField('preg_match_all_pattern', el),
6037 e2pdf.properties.getField('preg_match_all_output', el)
6038 ],
6039 'position': 'bottom',
6040 'classes': [
6041 'e2pdf-w100 e2pdf-hide-label',
6042 'e2pdf-w50 e2pdf-pr10',
6043 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6044 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6045 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6046 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6047 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6048 ]
6049 };
6050 }
6051
6052 if (el.data('data-type') === 'e2pdf-html') {
6053 obj['field'] = {
6054 'name': e2pdf.lang.get('Field'),
6055 'fields': [
6056 e2pdf.properties.getField('text_color', el),
6057 e2pdf.properties.getField('text_font', el),
6058 e2pdf.properties.getField('text_font_size', el),
6059 e2pdf.properties.getField('text_letter_spacing', el),
6060 e2pdf.properties.getField('text_line_height', el),
6061 e2pdf.properties.getField('text_align', el),
6062 e2pdf.properties.getField('rotation', el),
6063 e2pdf.properties.getField('vertical', el),
6064 e2pdf.properties.getField('rtl', el),
6065 e2pdf.properties.getField('multipage', el),
6066 e2pdf.properties.getField('nl2br', el),
6067 e2pdf.properties.getField('preload_img', el),
6068 e2pdf.properties.getField('hide_if_empty', el),
6069 e2pdf.properties.getField('hide_page_if_empty', el)
6070 ],
6071 'position': 'left',
6072 'classes': [
6073 'e2pdf-w100',
6074 'e2pdf-w100',
6075 'e2pdf-w50',
6076 'e2pdf-w50 e2pdf-pl10',
6077 'e2pdf-w100',
6078 'e2pdf-w50',
6079 'e2pdf-w50 e2pdf-pl10',
6080 'e2pdf-w70',
6081 'e2pdf-w30 e2pdf-pl10',
6082 'e2pdf-pr10',
6083 'e2pdf-pr10',
6084 'e2pdf-pr10',
6085 'e2pdf-pr10',
6086 'e2pdf-pr10'
6087 ]
6088 };
6089 if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6090 obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6091 obj['field'].classes.push('e2pdf-pr10');
6092 }
6093
6094 obj['style'] = {
6095 'name': e2pdf.lang.get('Style'),
6096 'fields': [
6097 e2pdf.properties.getField('background', el),
6098 e2pdf.properties.getField('padding_top', el),
6099 e2pdf.properties.getField('padding_left', el),
6100 e2pdf.properties.getField('padding_right', el),
6101 e2pdf.properties.getField('padding_bottom', el),
6102 e2pdf.properties.getField('border_color', el),
6103 e2pdf.properties.getField('border_top', el),
6104 e2pdf.properties.getField('border_left', el),
6105 e2pdf.properties.getField('border_right', el),
6106 e2pdf.properties.getField('border_bottom', el),
6107 e2pdf.properties.getField('z_index', el)
6108 ],
6109 'position': 'right',
6110 'classes': [
6111 'e2pdf-w100',
6112 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6113 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6114 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6115 'e2pdf-w25 e2pdf-fnl',
6116 'e2pdf-w100',
6117 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6118 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6119 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6120 'e2pdf-w25 e2pdf-fnl',
6121 'e2pdf-w100'
6122 ]
6123 };
6124 obj['value'] = {
6125 'name': '',
6126 'fields': [
6127 e2pdf.properties.getField('parent', el),
6128 e2pdf.properties.getField('css', el),
6129 e2pdf.properties.getField('css_priority', el),
6130 e2pdf.properties.getField('value', el),
6131 e2pdf.properties.getField('html_worker', el),
6132 e2pdf.properties.getField('wysiwyg_disable', el),
6133 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6134 e2pdf.properties.getField('preg_pattern', el),
6135 e2pdf.properties.getField('preg_replacement', el),
6136 e2pdf.properties.getField('preg_match_all_pattern', el),
6137 e2pdf.properties.getField('preg_match_all_output', el)
6138 ],
6139 'position': 'bottom',
6140 'classes': [
6141 'e2pdf-w100 e2pdf-strong-label',
6142 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6143 'e2pdf-w20 e2pdf-pr10',
6144 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6145 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6146 'e2pdf-w50 e2pdf-pr10',
6147 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6148 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6149 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6150 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6151 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6152 ]
6153 };
6154 }
6155
6156 if (el.data('data-type') === 'e2pdf-page-number') {
6157 obj['field'] = {
6158 'name': e2pdf.lang.get('Field'),
6159 'fields': [
6160 e2pdf.properties.getField('text_color', el),
6161 e2pdf.properties.getField('text_font', el),
6162 e2pdf.properties.getField('text_font_size', el),
6163 e2pdf.properties.getField('text_letter_spacing', el),
6164 e2pdf.properties.getField('text_line_height', el),
6165 e2pdf.properties.getField('text_align', el),
6166 e2pdf.properties.getField('rotation', el),
6167 e2pdf.properties.getField('vertical', el),
6168 e2pdf.properties.getField('rtl', el)
6169 ],
6170 'position': 'left',
6171 'classes': [
6172 'e2pdf-w100',
6173 'e2pdf-w100',
6174 'e2pdf-w50',
6175 'e2pdf-w50 e2pdf-pl10',
6176 'e2pdf-w100',
6177 'e2pdf-w50',
6178 'e2pdf-w50 e2pdf-pl10',
6179 'e2pdf-w70',
6180 'e2pdf-w30 e2pdf-pl10'
6181 ]
6182 };
6183 obj['page_number'] = {
6184 'name': e2pdf.lang.get('Page Number'),
6185 'fields': [
6186 e2pdf.properties.getField('page_number', el),
6187 e2pdf.properties.getField('page_total', el),
6188 ],
6189 'position': 'left',
6190 'classes': [
6191 'e2pdf-w50',
6192 'e2pdf-w50 e2pdf-pl10',
6193 ]
6194 };
6195 obj['style'] = {
6196 'name': e2pdf.lang.get('Style'),
6197 'fields': [
6198 e2pdf.properties.getField('background', el),
6199 e2pdf.properties.getField('padding_top', el),
6200 e2pdf.properties.getField('padding_left', el),
6201 e2pdf.properties.getField('padding_right', el),
6202 e2pdf.properties.getField('padding_bottom', el),
6203 e2pdf.properties.getField('border_color', el),
6204 e2pdf.properties.getField('border_top', el),
6205 e2pdf.properties.getField('border_left', el),
6206 e2pdf.properties.getField('border_right', el),
6207 e2pdf.properties.getField('border_bottom', el)
6208 ],
6209 'position': 'right',
6210 'classes': [
6211 'e2pdf-w100',
6212 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6213 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6214 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6215 'e2pdf-w25 e2pdf-fnl',
6216 'e2pdf-w100',
6217 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6218 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6219 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6220 'e2pdf-w25 e2pdf-fnl'
6221 ]
6222 };
6223 obj['value'] = {
6224 'name': '',
6225 'fields': [
6226 e2pdf.properties.getField('css', el),
6227 e2pdf.properties.getField('value', el),
6228 e2pdf.properties.getField('html_worker', el)
6229 ],
6230 'position': 'bottom',
6231 'classes': [
6232 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6233 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6234 'e2pdf-w30 e2pdf-pr10'
6235 ]
6236 };
6237 }
6238
6239 if (el.data('data-type') === 'e2pdf-image') {
6240
6241 obj['field'] = {
6242 'name': e2pdf.lang.get('Field'),
6243 'fields': [
6244 e2pdf.properties.getField('text_color', el),
6245 e2pdf.properties.getField('text_font', el),
6246 e2pdf.properties.getField('text_font_size', el),
6247 e2pdf.properties.getField('horizontal', el),
6248 e2pdf.properties.getField('vertical', el),
6249 e2pdf.properties.getField('rotation', el),
6250 e2pdf.properties.getField('opacity', el),
6251 e2pdf.properties.getField('quality', el),
6252 e2pdf.properties.getField('dimension', el),
6253 e2pdf.properties.getField('block_dimension', el),
6254 e2pdf.properties.getField('keep_lower_size', el),
6255 e2pdf.properties.getField('fill_image', el),
6256 e2pdf.properties.getField('hide_page_if_empty', el)
6257 ],
6258 'position': 'left',
6259 'classes': [
6260 'e2pdf-w100',
6261 'e2pdf-w60 e2pdf-pr10',
6262 'e2pdf-w40',
6263 'e2pdf-w50',
6264 'e2pdf-w50 e2pdf-pl10',
6265 'e2pdf-w50',
6266 'e2pdf-w50 e2pdf-pl10',
6267 'e2pdf-w100',
6268 'e2pdf-pr10',
6269 'e2pdf-pr10',
6270 'e2pdf-pr10',
6271 'e2pdf-pr10',
6272 'e2pdf-pr10'
6273 ]
6274 };
6275 obj['pdf'] = {
6276 'name': 'Pdf',
6277 'fields': [
6278 e2pdf.properties.getField('pdf_page', el),
6279 e2pdf.properties.getField('pdf_resample', el),
6280 e2pdf.properties.getField('pdf_append', el),
6281 e2pdf.properties.getField('pdf_space', el),
6282 e2pdf.properties.getField('pdf_border', el)
6283 ],
6284 'position': 'left',
6285 'classes': [
6286 'e2pdf-w50',
6287 'e2pdf-w50 e2pdf-pl10',
6288 'e2pdf-w100',
6289 'e2pdf-w50',
6290 'e2pdf-w50 e2pdf-pl10'
6291 ]
6292 };
6293 obj['style'] = {
6294 'name': e2pdf.lang.get('Style'),
6295 'fields': [
6296 e2pdf.properties.getField('background', el),
6297 e2pdf.properties.getField('padding_top', el),
6298 e2pdf.properties.getField('padding_left', el),
6299 e2pdf.properties.getField('padding_right', el),
6300 e2pdf.properties.getField('padding_bottom', el),
6301 e2pdf.properties.getField('border_color', el),
6302 e2pdf.properties.getField('border_radius', el),
6303 e2pdf.properties.getField('border_top', el),
6304 e2pdf.properties.getField('border_left', el),
6305 e2pdf.properties.getField('border_right', el),
6306 e2pdf.properties.getField('border_bottom', el),
6307 e2pdf.properties.getField('z_index', el)
6308 ],
6309 'position': 'right',
6310 'classes': [
6311 'e2pdf-w100',
6312 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6313 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6314 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6315 'e2pdf-w25 e2pdf-fnl',
6316 'e2pdf-w100',
6317 'e2pdf-w100',
6318 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6319 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6320 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6321 'e2pdf-w25 e2pdf-fnl',
6322 'e2pdf-w100'
6323 ]
6324 };
6325 obj['value'] = {
6326 'name': '',
6327 'fields': [
6328 e2pdf.properties.getField('link_url', el),
6329 e2pdf.properties.getField('link_type', el),
6330 e2pdf.properties.getField('highlight', el),
6331 e2pdf.properties.getField('value', el),
6332 e2pdf.properties.getField('only_image', el),
6333 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6334 e2pdf.properties.getField('preg_pattern', el),
6335 e2pdf.properties.getField('preg_replacement', el),
6336 e2pdf.properties.getField('preg_match_all_pattern', el),
6337 e2pdf.properties.getField('preg_match_all_output', el)
6338 ],
6339 'position': 'bottom',
6340 'classes': [
6341 'e2pdf-w50 e2pdf-pr10',
6342 'e2pdf-w25 e2pdf-pr10',
6343 'e2pdf-w25',
6344 'e2pdf-w100',
6345 'e2pdf-w50 e2pdf-pr10',
6346 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6347 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6348 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6349 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6350 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6351 ]
6352 };
6353 }
6354
6355 if (el.data('data-type') === 'e2pdf-qrcode') {
6356
6357 obj['qrcode'] = {
6358 'name': e2pdf.lang.get('QR Code'),
6359 'fields': [
6360 e2pdf.properties.getField('color', el),
6361 e2pdf.properties.getField('precision', el),
6362 e2pdf.properties.getField('wq', el)
6363 ],
6364 'position': 'left',
6365 'classes': [
6366 'e2pdf-w100',
6367 'e2pdf-w50',
6368 'e2pdf-w50 e2pdf-pl10'
6369 ]
6370 };
6371 obj['style'] = {
6372 'name': e2pdf.lang.get('Style'),
6373 'fields': [
6374 e2pdf.properties.getField('background', el),
6375 e2pdf.properties.getField('margin_top', el),
6376 e2pdf.properties.getField('margin_left', el),
6377 e2pdf.properties.getField('margin_right', el),
6378 e2pdf.properties.getField('margin_bottom', el),
6379 e2pdf.properties.getField('padding_top', el),
6380 e2pdf.properties.getField('padding_left', el),
6381 e2pdf.properties.getField('padding_right', el),
6382 e2pdf.properties.getField('padding_bottom', el),
6383 e2pdf.properties.getField('border_color', el),
6384 e2pdf.properties.getField('border_top', el),
6385 e2pdf.properties.getField('border_left', el),
6386 e2pdf.properties.getField('border_right', el),
6387 e2pdf.properties.getField('border_bottom', el),
6388 e2pdf.properties.getField('z_index', el)
6389 ],
6390 'position': 'right',
6391 'classes': [
6392 'e2pdf-w100',
6393 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6394 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6395 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6396 'e2pdf-w25 e2pdf-fnl',
6397 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6398 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6399 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6400 'e2pdf-w25 e2pdf-fnl',
6401 'e2pdf-w100',
6402 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6403 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6404 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6405 'e2pdf-w25 e2pdf-fnl',
6406 'e2pdf-w100'
6407 ]
6408 };
6409 obj['value'] = {
6410 'name': e2pdf.lang.get('Value'),
6411 'fields': [
6412 e2pdf.properties.getField('value', el),
6413 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6414 e2pdf.properties.getField('preg_pattern', el),
6415 e2pdf.properties.getField('preg_replacement', el),
6416 e2pdf.properties.getField('preg_match_all_pattern', el),
6417 e2pdf.properties.getField('preg_match_all_output', el)
6418 ],
6419 'position': 'bottom',
6420 'classes': [
6421 'e2pdf-w100 e2pdf-hide-label',
6422 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6423 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6424 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6425 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6426 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6427 ]
6428 };
6429 }
6430
6431 if (el.data('data-type') === 'e2pdf-barcode') {
6432 obj['barcode'] = {
6433 'name': e2pdf.lang.get('Barcode'),
6434 'fields': [
6435 e2pdf.properties.getField('text_color', el),
6436 e2pdf.properties.getField('text_font', el),
6437 e2pdf.properties.getField('text_font_size', el),
6438 e2pdf.properties.getField('text_line_height', el),
6439 e2pdf.properties.getField('color', el),
6440 e2pdf.properties.getField('format', el),
6441 e2pdf.properties.getField('wq', el),
6442 e2pdf.properties.getField('horizontal', el),
6443 e2pdf.properties.getField('vertical', el),
6444 e2pdf.properties.getField('scale', el),
6445 e2pdf.properties.getField('rotation', el),
6446 e2pdf.properties.getField('dimension', el),
6447 e2pdf.properties.getField('hl', el)
6448 ],
6449 'position': 'left',
6450 'classes': [
6451 'e2pdf-w100',
6452 'e2pdf-w60 e2pdf-pr10',
6453 'e2pdf-w40',
6454 'e2pdf-w100',
6455 'e2pdf-w100',
6456 'e2pdf-w50',
6457 'e2pdf-w50 e2pdf-pl10',
6458 'e2pdf-w50',
6459 'e2pdf-w50 e2pdf-pl10',
6460 'e2pdf-w50',
6461 'e2pdf-w50 e2pdf-pl10',
6462 'e2pdf-pr10',
6463 'e2pdf-pr10'
6464 ]
6465 };
6466 obj['style'] = {
6467 'name': e2pdf.lang.get('Style'),
6468 'fields': [
6469 e2pdf.properties.getField('background', el),
6470 e2pdf.properties.getField('margin_top', el),
6471 e2pdf.properties.getField('margin_left', el),
6472 e2pdf.properties.getField('margin_right', el),
6473 e2pdf.properties.getField('margin_bottom', el),
6474 e2pdf.properties.getField('padding_top', el),
6475 e2pdf.properties.getField('padding_left', el),
6476 e2pdf.properties.getField('padding_right', el),
6477 e2pdf.properties.getField('padding_bottom', el),
6478 e2pdf.properties.getField('border_color', el),
6479 e2pdf.properties.getField('border_top', el),
6480 e2pdf.properties.getField('border_left', el),
6481 e2pdf.properties.getField('border_right', el),
6482 e2pdf.properties.getField('border_bottom', el),
6483 e2pdf.properties.getField('z_index', el)
6484 ],
6485 'position': 'right',
6486 'classes': [
6487 'e2pdf-w100',
6488 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6489 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6490 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6491 'e2pdf-w25 e2pdf-fnl',
6492 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6493 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6494 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6495 'e2pdf-w25 e2pdf-fnl',
6496 'e2pdf-w100',
6497 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6498 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6499 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6500 'e2pdf-w25 e2pdf-fnl',
6501 'e2pdf-w100'
6502 ]
6503 };
6504 obj['value'] = {
6505 'name': e2pdf.lang.get('Value'),
6506 'fields': [
6507 e2pdf.properties.getField('value', el),
6508 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6509 e2pdf.properties.getField('preg_pattern', el),
6510 e2pdf.properties.getField('preg_replacement', el),
6511 e2pdf.properties.getField('preg_match_all_pattern', el),
6512 e2pdf.properties.getField('preg_match_all_output', el)
6513 ],
6514 'position': 'bottom',
6515 'classes': [
6516 'e2pdf-w100 e2pdf-hide-label',
6517 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6518 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6519 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6520 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6521 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6522 ]
6523 };
6524 }
6525
6526 if (el.data('data-type') === 'e2pdf-graph') {
6527 obj['graph'] = {
6528 'name': e2pdf.lang.get('Graph'),
6529 'fields': [
6530 e2pdf.properties.getField('g_type', el),
6531 e2pdf.properties.getField('text_font', el),
6532 e2pdf.properties.getField('g_palette', el),
6533 e2pdf.properties.getField('g_stroke_colour', el),
6534 e2pdf.properties.getField('g_stroke_width', el),
6535 e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6536 e2pdf.properties.getField('g_sort', el),
6537 e2pdf.properties.getField('g_fill_under', el),
6538 e2pdf.properties.getField('g_reverse', el),
6539 e2pdf.properties.getField('g_percentage', el),
6540 ],
6541 'position': 'left',
6542 'classes': [
6543 'e2pdf-w100',
6544 'e2pdf-w100',
6545 'e2pdf-w100',
6546 'e2pdf-w70 e2pdf-pr10',
6547 'e2pdf-w30',
6548 'e2pdf-pr10',
6549 'e2pdf-pr10',
6550 'e2pdf-pr10',
6551 'e2pdf-pr10',
6552 'e2pdf-pr10',
6553 ]
6554 };
6555 obj['title'] = {
6556 'name': e2pdf.lang.get('Title'),
6557 'fields': [
6558 e2pdf.properties.getField('g_graph_title_colour', el),
6559 e2pdf.properties.getField('g_graph_title', el),
6560 e2pdf.properties.getField('g_graph_title_font_size', el),
6561 e2pdf.properties.getField('g_graph_title_position', el),
6562 e2pdf.properties.getField('g_graph_title_space', el),
6563 ],
6564 'position': 'left',
6565 'classes': [
6566 'e2pdf-w100',
6567 'e2pdf-w60 e2pdf-pr10',
6568 'e2pdf-w40',
6569 'e2pdf-w70 e2pdf-pr10',
6570 'e2pdf-w30',
6571 ]
6572 };
6573 obj['labels'] = {
6574 'name': e2pdf.lang.get('Labels'),
6575 'fields': [
6576 e2pdf.properties.getField('g_label_colour', el),
6577 e2pdf.properties.getField('g_label_font_size', el),
6578 e2pdf.properties.getField('g_label_space', el),
6579 e2pdf.properties.getField('g_label_v', el),
6580 e2pdf.properties.getField('g_label_h', el),
6581 e2pdf.properties.getField('g_show_labels', el),
6582 e2pdf.properties.getField('g_show_label_key', el),
6583 e2pdf.properties.getField('g_show_label_amount', el),
6584 e2pdf.properties.getField('g_show_label_percent', el),
6585 ],
6586 'position': 'left',
6587 'classes': [
6588 'e2pdf-w100',
6589 'e2pdf-w70 e2pdf-pr10',
6590 'e2pdf-w30',
6591 'e2pdf-w50 e2pdf-pr10',
6592 'e2pdf-w50',
6593 'e2pdf-pr10',
6594 'e2pdf-pr10',
6595 'e2pdf-pr10',
6596 'e2pdf-pr10',
6597 ]
6598 };
6599 obj['marker'] = {
6600 'name': e2pdf.lang.get('Markers'),
6601 'fields': [
6602 e2pdf.properties.getField('g_marker_colour', el),
6603 e2pdf.properties.getField('g_marker_size', el),
6604 e2pdf.properties.getField('g_marker_dynamic_colour', el),
6605 e2pdf.properties.getField('g_marker_type', el),
6606 ],
6607 'position': 'left',
6608 'classes': [
6609 'e2pdf-w70 e2pdf-pr10',
6610 'e2pdf-w30',
6611 'e2pdf-w100',
6612 'e2pdf-w100'
6613 ]
6614 };
6615 obj['legend'] = {
6616 'name': e2pdf.lang.get('Legend'),
6617 'fields': [
6618 e2pdf.properties.getField('g_legend_back_colour', el),
6619 e2pdf.properties.getField('g_legend_stroke_colour', el),
6620 e2pdf.properties.getField('g_legend_stroke_width', el),
6621 e2pdf.properties.getField('g_legend_entry_width', el),
6622 e2pdf.properties.getField('g_legend_entry_height', el),
6623 e2pdf.properties.getField('g_legend_padding_x', el),
6624 e2pdf.properties.getField('g_legend_padding_y', el),
6625 e2pdf.properties.getField('g_legend_colour', el),
6626 e2pdf.properties.getField('g_legend_title', el),
6627 e2pdf.properties.getField('g_legend_title_font_size', el),
6628 e2pdf.properties.getField('g_legend_font_size', el),
6629 e2pdf.properties.getField('g_legend_position_horizontal', el),
6630 e2pdf.properties.getField('g_legend_position_vertical', el),
6631 e2pdf.properties.getField('g_legend_position_join', el),
6632 e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6633 e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6634 e2pdf.properties.getField('g_legend_text_side', el),
6635 e2pdf.properties.getField('g_legend_columns', el),
6636 e2pdf.properties.getField('g_show_legend', el),
6637 ],
6638 'position': 'left',
6639 'classes': [
6640 'e2pdf-w100',
6641 'e2pdf-w60 e2pdf-pr10',
6642 'e2pdf-w40',
6643 'e2pdf-w50',
6644 'e2pdf-w50 e2pdf-pl10',
6645 'e2pdf-w50',
6646 'e2pdf-w50 e2pdf-pl10',
6647 'e2pdf-w100',
6648 'e2pdf-w70 e2pdf-pr10',
6649 'e2pdf-w30',
6650 'e2pdf-w100',
6651 'e2pdf-w33 e2pdf-pr10',
6652 'e2pdf-w33',
6653 'e2pdf-w33 e2pdf-pl10',
6654 'e2pdf-w50 e2pdf-pr10',
6655 'e2pdf-w50',
6656 'e2pdf-w70 e2pdf-pr10',
6657 'e2pdf-w30',
6658 'e2pdf-pr10'
6659 ]
6660 };
6661 obj['additional'] = {
6662 'name': 'Additional',
6663 'fields': [
6664 e2pdf.properties.getField('g_bubble_scale', el),
6665 e2pdf.properties.getField('g_increment', el),
6666 e2pdf.properties.getField('g_stack_group', el),
6667 e2pdf.properties.getField('g_line_dataset', el),
6668 e2pdf.properties.getField('g_project_angle', el),
6669 e2pdf.properties.getField('g_line_curve', el),
6670 e2pdf.properties.getField('g_depth', el),
6671 e2pdf.properties.getField('g_aspect_ratio', el),
6672 e2pdf.properties.getField('g_inner_radius', el),
6673 e2pdf.properties.getField('g_start_angle', el),
6674 e2pdf.properties.getField('g_fill_opacity', el)
6675 ],
6676 'position': 'left',
6677 'classes': [
6678 'e2pdf-w50 e2pdf-pr10',
6679 'e2pdf-w50',
6680 'e2pdf-w50 e2pdf-pr10',
6681 'e2pdf-w50',
6682 'e2pdf-w50 e2pdf-pr10',
6683 'e2pdf-w50',
6684 'e2pdf-w50 e2pdf-pr10',
6685 'e2pdf-w50',
6686 'e2pdf-w50 e2pdf-pr10',
6687 'e2pdf-w50',
6688 'e2pdf-w50 e2pdf-pr10',
6689 ]
6690 };
6691 obj['grid'] = {
6692 'name': e2pdf.lang.get('Grid'),
6693 'fields': [
6694 e2pdf.properties.getField('g_grid_colour', el),
6695 e2pdf.properties.getField('g_grid_subdivision_colour', el),
6696 e2pdf.properties.getField('g_minimum_grid_spacing', el),
6697 e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6698 e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6699 e2pdf.properties.getField('g_grid_dash', el),
6700 e2pdf.properties.getField('g_grid_dash_h', el),
6701 e2pdf.properties.getField('g_grid_dash_v', el),
6702 e2pdf.properties.getField('g_grid_division_h', el),
6703 e2pdf.properties.getField('g_grid_division_v', el),
6704 e2pdf.properties.getField('g_show_grid', el),
6705 e2pdf.properties.getField('g_show_grid_subdivisions', el),
6706 e2pdf.properties.getField('g_grid_straight', el)
6707 ],
6708 'position': 'right',
6709 'classes': [
6710 'e2pdf-w100',
6711 'e2pdf-w100',
6712 'e2pdf-w100',
6713 'e2pdf-w50 e2pdf-pr10',
6714 'e2pdf-w50',
6715 'e2pdf-w100',
6716 'e2pdf-w50 e2pdf-pr10',
6717 'e2pdf-w50',
6718 'e2pdf-w50 e2pdf-pr10',
6719 'e2pdf-w50',
6720 'e2pdf-pr10',
6721 'e2pdf-pr10',
6722 'e2pdf-pr10'
6723 ]
6724 };
6725 obj['axis'] = {
6726 'name': e2pdf.lang.get('Axis'),
6727 'fields': [
6728 e2pdf.properties.getField('g_axis_colour', el),
6729 e2pdf.properties.getField('g_axis_font_size', el),
6730 e2pdf.properties.getField('g_axis_overlap', el),
6731 e2pdf.properties.getField('g_show_subdivisions', el),
6732 ],
6733 'position': 'right',
6734 'classes': [
6735 'e2pdf-w60 e2pdf-pr10',
6736 'e2pdf-w40',
6737 'e2pdf-w100',
6738 'e2pdf-w50 e2pdf-pr10',
6739 ]
6740 };
6741 obj['axis_v'] = {
6742 'name': e2pdf.lang.get('Axis (V)'),
6743 'fields': [
6744 e2pdf.properties.getField('g_axis_colour_v', el),
6745 e2pdf.properties.getField('g_axis_font_size_v', el),
6746 e2pdf.properties.getField('g_axis_font_weight_v', el),
6747 e2pdf.properties.getField('g_axis_stroke_width_v', el),
6748 e2pdf.properties.getField('g_show_axis_v', el),
6749 e2pdf.properties.getField('g_show_axis_text_v', el),
6750 e2pdf.properties.getField('g_axis_min_v', el),
6751 e2pdf.properties.getField('g_axis_max_v', el),
6752 e2pdf.properties.getField('g_axis_min_max_v', el),
6753 e2pdf.properties.getField('g_axis_text_position_v', el),
6754 e2pdf.properties.getField('g_axis_text_align_v', el),
6755 e2pdf.properties.getField('g_axis_text_space_v', el),
6756 e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6757 e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6758 e2pdf.properties.getField('g_units_x', el),
6759 ],
6760 'position': 'right',
6761 'classes': [
6762 'e2pdf-w60 e2pdf-pr10',
6763 'e2pdf-w40',
6764 'e2pdf-w100',
6765 'e2pdf-w33 e2pdf-pr10',
6766 'e2pdf-w33 e2pdf-sublabel',
6767 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6768 'e2pdf-w33 e2pdf-pr10',
6769 'e2pdf-w33',
6770 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6771 'e2pdf-w33 e2pdf-pr10',
6772 'e2pdf-w33',
6773 'e2pdf-w33 e2pdf-pl10',
6774 'e2pdf-w33 e2pdf-pr10',
6775 'e2pdf-w33',
6776 'e2pdf-w33 e2pdf-pl10',
6777 ]
6778 };
6779 obj['axis_h'] = {
6780 'name': e2pdf.lang.get('Axis (H)'),
6781 'fields': [
6782 e2pdf.properties.getField('g_axis_colour_h', el),
6783 e2pdf.properties.getField('g_axis_font_size_h', el),
6784 e2pdf.properties.getField('g_axis_font_weight_h', el),
6785 e2pdf.properties.getField('g_axis_stroke_width_h', el),
6786 e2pdf.properties.getField('g_show_axis_h', el),
6787 e2pdf.properties.getField('g_show_axis_text_h', el),
6788 e2pdf.properties.getField('g_axis_min_h', el),
6789 e2pdf.properties.getField('g_axis_max_h', el),
6790 e2pdf.properties.getField('g_axis_min_max_h', el),
6791 e2pdf.properties.getField('g_axis_text_position_h', el),
6792 e2pdf.properties.getField('g_axis_text_align_h', el),
6793 e2pdf.properties.getField('g_axis_text_space_h', el),
6794 e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6795 e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6796 e2pdf.properties.getField('g_units_y', el),
6797 ],
6798 'position': 'right',
6799 'classes': [
6800 'e2pdf-w60 e2pdf-pr10',
6801 'e2pdf-w40',
6802 'e2pdf-w100',
6803 'e2pdf-w33 e2pdf-pr10',
6804 'e2pdf-w33 e2pdf-sublabel',
6805 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6806 'e2pdf-w33 e2pdf-pr10',
6807 'e2pdf-w33',
6808 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6809 'e2pdf-w33 e2pdf-pr10',
6810 'e2pdf-w33',
6811 'e2pdf-w33 e2pdf-pl10',
6812 'e2pdf-w33 e2pdf-pr10',
6813 'e2pdf-w33',
6814 'e2pdf-w33 e2pdf-pl10',
6815 ]
6816 };
6817 obj['bar'] = {
6818 'name': 'Bar',
6819 'fields': [
6820 e2pdf.properties.getField('g_bar_width', el),
6821 e2pdf.properties.getField('g_bar_width_min', el),
6822 e2pdf.properties.getField('g_bar_space', el),
6823 ],
6824 'position': 'right',
6825 'classes': [
6826 'e2pdf-w33 e2pdf-pr10',
6827 'e2pdf-w33',
6828 'e2pdf-w33 e2pdf-pl10',
6829 ]
6830 };
6831 obj['barlabel'] = {
6832 'name': 'Bar Label',
6833 'fields': [
6834 e2pdf.properties.getField('g_bar_label_colour', el),
6835 e2pdf.properties.getField('g_bar_label_font_size', el),
6836 e2pdf.properties.getField('g_units_label', el),
6837 e2pdf.properties.getField('g_data_label_type', el),
6838 e2pdf.properties.getField('g_bar_label_space', el),
6839 e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6840 e2pdf.properties.getField('g_bar_label_position_vertical', el),
6841 e2pdf.properties.getField('g_bar_label_position_join', el),
6842 e2pdf.properties.getField('g_show_bar_labels', el),
6843 ],
6844 'position': 'right',
6845 'classes': [
6846 'e2pdf-w70 e2pdf-pr10',
6847 'e2pdf-w30',
6848 'e2pdf-w100',
6849 'e2pdf-w50 e2pdf-pr10',
6850 'e2pdf-w50',
6851 'e2pdf-w33 e2pdf-pr10',
6852 'e2pdf-w33',
6853 'e2pdf-w33 e2pdf-pl10',
6854 'e2pdf-pr10',
6855 ]
6856 };
6857 obj['style'] = {
6858 'name': e2pdf.lang.get('Style'),
6859 'fields': [
6860 e2pdf.properties.getField('background', el),
6861 e2pdf.properties.getField('margin_top', el),
6862 e2pdf.properties.getField('margin_left', el),
6863 e2pdf.properties.getField('margin_right', el),
6864 e2pdf.properties.getField('margin_bottom', el),
6865 e2pdf.properties.getField('padding_top', el),
6866 e2pdf.properties.getField('padding_left', el),
6867 e2pdf.properties.getField('padding_right', el),
6868 e2pdf.properties.getField('padding_bottom', el),
6869 e2pdf.properties.getField('border_color', el),
6870 e2pdf.properties.getField('border_top', el),
6871 e2pdf.properties.getField('border_left', el),
6872 e2pdf.properties.getField('border_right', el),
6873 e2pdf.properties.getField('border_bottom', el),
6874 e2pdf.properties.getField('z_index', el),
6875 ],
6876 'position': 'right',
6877 'classes': [
6878 'e2pdf-w100',
6879 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6880 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6881 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6882 'e2pdf-w25 e2pdf-fnl',
6883 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6884 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6885 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6886 'e2pdf-w25 e2pdf-fnl',
6887 'e2pdf-w100',
6888 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6889 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6890 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6891 'e2pdf-w25 e2pdf-fnl',
6892 'e2pdf-w100',
6893 ]
6894 };
6895 obj['structure'] = {
6896 'name': e2pdf.lang.get('Structure'),
6897 'fields': [
6898 e2pdf.properties.getField('g_structure_key', el),
6899 e2pdf.properties.getField('g_structure_value', el),
6900 e2pdf.properties.getField('g_structure_colour', el),
6901 e2pdf.properties.getField('g_structure_axis_text', el),
6902 e2pdf.properties.getField('g_structure_legend_text', el),
6903 e2pdf.properties.getField('g_structure_label', el),
6904 e2pdf.properties.getField('g_structure_area', el),
6905 e2pdf.properties.getField('g_structure_open', el),
6906 e2pdf.properties.getField('g_structure_end', el),
6907 e2pdf.properties.getField('g_structure_outliers', el),
6908 e2pdf.properties.getField('g_structure_top', el),
6909 e2pdf.properties.getField('g_structure_bottom', el),
6910 e2pdf.properties.getField('g_structure_wtop', el),
6911 e2pdf.properties.getField('g_structure_wbottom', el),
6912 e2pdf.properties.getField('g_structure_high', el),
6913 e2pdf.properties.getField('g_structure_low', el),
6914 e2pdf.properties.getField('g_structured_data', el),
6915 ],
6916 'position': 'bottom',
6917 'classes': [
6918 'e2pdf-w33 e2pdf-pr10',
6919 'e2pdf-w33',
6920 'e2pdf-w33 e2pdf-pl10',
6921 'e2pdf-w33 e2pdf-pr10',
6922 'e2pdf-w33',
6923 'e2pdf-w33 e2pdf-pl10',
6924 'e2pdf-w33 e2pdf-pr10',
6925 'e2pdf-w33',
6926 'e2pdf-w33 e2pdf-pl10',
6927 'e2pdf-w33 e2pdf-pr10',
6928 'e2pdf-w33',
6929 'e2pdf-w33 e2pdf-pl10',
6930 'e2pdf-w33 e2pdf-pr10',
6931 'e2pdf-w33',
6932 'e2pdf-w33 e2pdf-pl10',
6933 'e2pdf-w33 e2pdf-pr10',
6934 'e2pdf-w33 e2pdf-sublabel',
6935 ]
6936 };
6937 obj['value'] = {
6938 'name': '',
6939 'fields': [
6940 e2pdf.properties.getField('g_key_sep', el),
6941 e2pdf.properties.getField('g_array_sep', el),
6942 e2pdf.properties.getField('g_sub_array_sep', el),
6943 e2pdf.properties.getField('g_axis_text_callback_y', el),
6944 e2pdf.properties.getField('g_axis_text_callback_x', el),
6945 e2pdf.properties.getField('g_legends', el),
6946 e2pdf.properties.getField('g_colors', el),
6947 e2pdf.properties.getField('value', el),
6948 e2pdf.properties.getField('g_multiline', el),
6949 e2pdf.properties.getField('g_reverse_data', el),
6950 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6951 e2pdf.properties.getField('preg_pattern', el),
6952 e2pdf.properties.getField('preg_replacement', el),
6953 e2pdf.properties.getField('preg_match_all_pattern', el),
6954 e2pdf.properties.getField('preg_match_all_output', el),
6955 ],
6956 'position': 'bottom',
6957 'classes': [
6958 'e2pdf-w33 e2pdf-pr10',
6959 'e2pdf-w33',
6960 'e2pdf-w33 e2pdf-pl10',
6961 'e2pdf-w50 e2pdf-pr10',
6962 'e2pdf-w50',
6963 'e2pdf-w50 e2pdf-pr10',
6964 'e2pdf-w50',
6965 'e2pdf-w100 e2pdf-strong-label',
6966 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6967 'e2pdf-w30 e2pdf-pr10',
6968 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6969 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6970 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6971 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6972 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6973 ]
6974 };
6975 }
6976
6977 if (el.data('data-type') === 'e2pdf-rectangle') {
6978 obj['style'] = {
6979 'name': e2pdf.lang.get('Style'),
6980 'fields': [
6981 e2pdf.properties.getField('background', el),
6982 e2pdf.properties.getField('z_index', el),
6983 ],
6984 'position': 'bottom',
6985 'classes': [
6986 'e2pdf-w50 e2pdf-pr10',
6987 'e2pdf-w50 e2pdf-pl10',
6988 ]
6989 };
6990 }
6991
6992 if (el.data('data-type') === 'e2pdf-link') {
6993 obj['field'] = {
6994 'name': e2pdf.lang.get('Field'),
6995 'fields': [
6996 e2pdf.properties.getField('text_color', el),
6997 e2pdf.properties.getField('text_font', el),
6998 e2pdf.properties.getField('text_font_size', el),
6999 e2pdf.properties.getField('text_letter_spacing', el),
7000 e2pdf.properties.getField('text_line_height', el),
7001 e2pdf.properties.getField('text_align', el),
7002 e2pdf.properties.getField('vertical', el),
7003 e2pdf.properties.getField('rtl', el),
7004 e2pdf.properties.getField('underline', el),
7005 ],
7006 'position': 'left',
7007 'classes': [
7008 'e2pdf-w100',
7009 'e2pdf-w100',
7010 'e2pdf-w50',
7011 'e2pdf-w50 e2pdf-pl10',
7012 'e2pdf-w50',
7013 'e2pdf-w50 e2pdf-pl10',
7014 'e2pdf-w70',
7015 'e2pdf-w30 e2pdf-pl10',
7016 'e2pdf-w33'
7017 ]
7018 };
7019 obj['style'] = {
7020 'name': e2pdf.lang.get('Style'),
7021 'fields': [
7022 e2pdf.properties.getField('z_index', el)
7023 ],
7024 'position': 'right',
7025 'classes': [
7026 'e2pdf-w100'
7027 ]
7028 };
7029 obj['value'] = {
7030 'name': e2pdf.lang.get('Value'),
7031 'fields': [
7032 e2pdf.properties.getField('link_label', el),
7033 e2pdf.properties.getField('link_type', el),
7034 e2pdf.properties.getField('highlight', el),
7035 e2pdf.properties.getField('value', el),
7036 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
7037 e2pdf.properties.getField('preg_pattern', el),
7038 e2pdf.properties.getField('preg_replacement', el),
7039 e2pdf.properties.getField('preg_match_all_pattern', el),
7040 e2pdf.properties.getField('preg_match_all_output', el)
7041 ],
7042 'position': 'bottom',
7043 'classes': [
7044 'e2pdf-w50 e2pdf-pr10',
7045 'e2pdf-w25 e2pdf-pr10',
7046 'e2pdf-w25',
7047 'e2pdf-w100',
7048 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
7049 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7050 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
7051 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7052 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
7053 ]
7054 };
7055 }
7056 }
7057
7058 // tpl-properties
7059 if (el.data('data-type') === 'e2pdf-tpl') {
7060 if (actions) {
7061 if (actions) {
7062 obj['actions'] = {
7063 'name': e2pdf.lang.get('Actions'),
7064 'fields': e2pdf.actions.renderFields(el),
7065 'position': 'bottom'
7066 };
7067 }
7068 } else {
7069 obj['value'] = {
7070 'name': '',
7071 'fields': [
7072 e2pdf.properties.getField('css', el),
7073 ],
7074 'position': 'bottom',
7075 'classes': [
7076 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
7077 ]
7078 };
7079 }
7080 } else {
7081 if (actions) {
7082 obj['actions'] = {
7083 'name': e2pdf.lang.get('Actions'),
7084 'fields': e2pdf.actions.renderFields(el),
7085 'position': 'bottom'
7086 };
7087 }
7088 }
7089 return obj;
7090 },
7091 // e2pdf.properties.renderFields
7092 renderFields: function (el, actions = true) {
7093 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
7094 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
7095 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
7096 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
7097 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
7098 if (el.data('data-type') == 'e2pdf-tpl') {
7099 fields_top = '';
7100 fields_left = '';
7101 fields_right = '';
7102 } else if (el.data('data-type') == 'e2pdf-page') {
7103 fields_left = '';
7104 fields_right = '';
7105 }
7106
7107 var groups = e2pdf.properties.getFields(el, actions);
7108 if (groups) {
7109 for (var group_key in groups) {
7110 if (group_key === 'actions') {
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 grid.append(group.fields);
7118 block.append(grid);
7119 if (group.position === 'top') {
7120 fields_top.append(block);
7121 } else if (group.position === 'left') {
7122 fields_left.append(block);
7123 } else if (group.position === 'right') {
7124 fields_right.append(block);
7125 } else {
7126 fields_bottom.append(block);
7127 }
7128 } else {
7129 var group = groups[group_key];
7130 var block = jQuery('<div>');
7131 if (group.name) {
7132 block.append(jQuery('<label>').html(group.name + ':'));
7133 }
7134 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
7135 for (var field_key in group.fields) {
7136
7137 var group_field = group.fields[field_key];
7138 var classes = '';
7139 if (group.classes) {
7140 if (group.classes[field_key]) {
7141 classes = group.classes[field_key];
7142 }
7143 }
7144 var field = '';
7145 var label = '';
7146 var wrap = '';
7147 var hidden = '';
7148 if (group_field.type === 'text') {
7149 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7150 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
7151 } else if (group_field.type === 'hidden') {
7152 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
7153 } else if (group_field.type === 'textarea') {
7154 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7155 var rows = '5';
7156 if (group_field.key == 'g_legends' || group_field.key == 'g_colors' || group_field.key == 'g_axis_text_callback_x' || group_field.key == 'g_axis_text_callback_y') {
7157 rows = '3';
7158 }
7159 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
7160 } else if (group_field.type === 'checkbox') {
7161 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7162 label = group_field.name;
7163 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
7164 if (group_field.value == group_field.option) {
7165 field.prop('checked', true);
7166 }
7167 if (jQuery.inArray('keep', group_field.atts) !== -1) {
7168 hidden = jQuery('<input>', {
7169 type: 'hidden',
7170 name: group_field.key,
7171 value: '0'
7172 });
7173 }
7174 } else if (group_field.type === 'color') {
7175 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
7176 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7177 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
7178 } else if (group_field.type === 'select') {
7179 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7180 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
7181 for (var option_key in group_field.options) {
7182 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
7183 }
7184 field.val(group_field.value);
7185 } else if (group_field.type === 'link') {
7186 field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
7187 }
7188 for (var att_key in group_field.atts) {
7189 var att = group_field.atts[att_key];
7190 switch (att) {
7191 case 'readonly':
7192 field.attr('readonly', 'readonly');
7193 break;
7194 case 'disabled':
7195 field.attr('disabled', 'disabled');
7196 break;
7197 case 'number':
7198 field.addClass('e2pdf-numbers');
7199 break;
7200 case 'number-negative':
7201 field.addClass('e2pdf-number-negative');
7202 break;
7203 case 'autocomplete':
7204 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
7205 field.addClass('e2pdf-autocomplete-cl');
7206 field.autocomplete({
7207 source: group_field.source,
7208 minLength: 0,
7209 appendTo: wrap,
7210 open: function () {
7211 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7212 },
7213 classes: {
7214 "ui-autocomplete": "e2pdf-autocomplete"
7215 }
7216 });
7217 break;
7218 case 'collapse':
7219 field.attr('data-collapse', group_field.collapse);
7220 break;
7221 }
7222 }
7223 if (!wrap) {
7224 wrap = field;
7225 } else {
7226 wrap.prepend(field);
7227 }
7228 if (group_field.type === 'checkbox') {
7229 if (hidden) {
7230 wrap.prepend(hidden);
7231 }
7232 wrap.append(" " + label);
7233 if (classes.includes('e2pdf-sublabel')) {
7234 var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7235 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7236 } else {
7237 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7238 }
7239 } else {
7240 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7241 }
7242 }
7243 block.append(grid);
7244 if (group.position === 'top') {
7245 fields_top.append(block);
7246 } else if (group.position === 'left') {
7247 fields_left.append(block);
7248 } else if (group.position === 'right') {
7249 fields_right.append(block);
7250 } else {
7251 fields_bottom.append(block);
7252 }
7253 }
7254 }
7255 }
7256 fields.append(fields_top, fields_left, fields_right, fields_bottom);
7257 return fields;
7258 },
7259 // e2pdf.properties.apply
7260 apply: function (el, data, onload) {
7261 if (onload !== true) {
7262 var groups = e2pdf.properties.getFields(el);
7263 for (var group_key in groups) {
7264 var group = groups[group_key];
7265 for (var field_key in group.fields) {
7266 var group_field = group.fields[field_key];
7267 var property = group_field['key'];
7268 if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7269 switch (group_field['type']) {
7270 case 'text':
7271 if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7272 delete data[property];
7273 }
7274 break;
7275 case 'color':
7276 case 'select':
7277 case 'textarea':
7278 if (!data[property]) {
7279 delete data[property];
7280 }
7281 break;
7282 }
7283 }
7284 }
7285 }
7286 }
7287 el.data('data-properties', JSON.stringify(data));
7288 },
7289 // e2pdf.properties.set
7290 set: function (el, key, value) {
7291 var properties = e2pdf.properties.get(el);
7292 properties[key] = value;
7293 e2pdf.properties.apply(el, properties);
7294 },
7295 // e2pdf.properties.getValue
7296 getValue: function (el, key, type = '') {
7297 var properties = e2pdf.properties.get(el);
7298 if (type) {
7299 if (type == 'string') {
7300 return e2pdf.helper.getString(properties[key]);
7301 } else if (type == 'checkbox') {
7302 return e2pdf.helper.getCheckbox(properties[key]);
7303 } else if (type == 'int') {
7304 return e2pdf.helper.getInt(properties[key]);
7305 } else if (type == 'float') {
7306 return e2pdf.helper.getFloat(properties[key]);
7307 } else {
7308 return '';
7309 }
7310 } else if (properties.hasOwnProperty(key)) {
7311 if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7312 return e2pdf.helper.toHtml(properties[key]);
7313 } else {
7314 return properties[key];
7315 }
7316 } else {
7317 return '';
7318 }
7319 },
7320 // e2pdf.properties.get
7321 get: function (el) {
7322 var properties = [];
7323 if (typeof el.data('data-properties') !== 'undefined') {
7324 properties = JSON.parse(el.data('data-properties'));
7325 if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7326 properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7327 properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7328 properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7329 properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
7330 }
7331 }
7332 return properties;
7333 },
7334 // e2pdf.properties.render
7335 render: function (el) {
7336 var properties = e2pdf.properties.get(el);
7337 var children = e2pdf.element.children(el);
7338 if (properties.hasOwnProperty('options')) {
7339 if (el.data('data-type') === 'e2pdf-select') {
7340 children.find('option').remove();
7341 var options = properties['options'].split("\n");
7342 if (typeof options !== 'undefined' && options.length > 0) {
7343 for (var key in options) {
7344 children.append(
7345 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
7346 );
7347 }
7348 }
7349 }
7350 }
7351 switch (el.data('data-type')) {
7352 case 'e2pdf-html':
7353 var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7354 if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7355 children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7356 children = e2pdf.element.children(el);
7357 } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7358 children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7359 children = e2pdf.element.children(el);
7360 }
7361 if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7362 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7363 children.val(e2pdf.helper.getString(properties['value']));
7364 } else {
7365 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7366 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
7367 }
7368 break;
7369 case 'e2pdf-page-number':
7370 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7371 break;
7372 case 'e2pdf-link':
7373 children.text(e2pdf.helper.getString(properties['link_label']));
7374 break;
7375 case 'e2pdf-input':
7376 case 'e2pdf-textarea':
7377 case 'e2pdf-select':
7378 children.val(e2pdf.helper.getString(properties['value']));
7379 break;
7380 case 'e2pdf-checkbox':
7381 if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7382 children.prop('checked', true);
7383 } else {
7384 children.prop('checked', false);
7385 }
7386 break;
7387 case 'e2pdf-radio':
7388 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7389 var radio = jQuery(this).parent();
7390 var radio_properties = e2pdf.properties.get(radio);
7391 if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7392 e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7393 e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7394 e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7395 if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7396 jQuery(this).prop('checked', true);
7397 } else {
7398 jQuery(this).prop('checked', false);
7399 }
7400 }
7401 });
7402 break;
7403 case 'e2pdf-image':
7404 case 'e2pdf-qrcode':
7405 case 'e2pdf-barcode':
7406 case 'e2pdf-signature':
7407 case 'e2pdf-graph':
7408 e2pdf.helper.image.load(el);
7409 break;
7410 }
7411
7412 if (el.data('data-type') === 'e2pdf-select') {
7413 children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
7414 }
7415
7416 if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7417 children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
7418 }
7419
7420 el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7421 if (el.data('data-type') === 'e2pdf-select' ||
7422 el.data('data-type') === 'e2pdf-input' ||
7423 el.data('data-type') === 'e2pdf-textarea' ||
7424 el.data('data-type') === 'e2pdf-html' ||
7425 el.data('data-type') === 'e2pdf-page-number') {
7426 if (e2pdf.helper.getString(properties['rtl']) != '') {
7427 children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
7428 } else {
7429 children.attr('dir', false);
7430 }
7431 }
7432
7433 if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7434 children.css('background', e2pdf.helper.getString(properties['background']));
7435 } else {
7436 el.css('background', e2pdf.helper.getString(properties['background']));
7437 }
7438
7439 if (el.data('data-type') === 'e2pdf-input' ||
7440 el.data('data-type') === 'e2pdf-textarea' ||
7441 el.data('data-type') === 'e2pdf-select' ||
7442 el.data('data-type') === 'e2pdf-radio' ||
7443 el.data('data-type') === 'e2pdf-checkbox'
7444 ) {
7445 children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7446 } else {
7447 el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7448 el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7449 el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7450 el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7451 }
7452
7453 el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7454 el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7455 el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7456 el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7457 if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7458 el.css('color', e2pdf.helper.getString(properties['text_color']));
7459 } else if (el.data('data-type') === 'e2pdf-input' ||
7460 el.data('data-type') === 'e2pdf-textarea' ||
7461 el.data('data-type') === 'e2pdf-select' ||
7462 el.data('data-type') === 'e2pdf-radio' ||
7463 el.data('data-type') === 'e2pdf-checkbox'
7464 ) {
7465 children.css('color', e2pdf.helper.getString(properties['text_color']));
7466 }
7467
7468 var font = e2pdf.helper.getString(properties['text_font']);
7469 if (font) {
7470 var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7471 if (typeof path === 'undefined') {
7472 el.css('font-family', '');
7473 } else {
7474 var tmp = jQuery('<div>', {'name': font, 'path': path});
7475 e2pdf.font.load(tmp);
7476 el.css('font-family', CSS.escape(font));
7477 }
7478 } else {
7479 el.css('font-family', '');
7480 }
7481
7482 el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7483 el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7484 children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7485 if (el.data('data-type') === 'e2pdf-textarea') {
7486 children.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
7487 } else {
7488 el.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
7489 }
7490
7491 if (el.closest('.e2pdf-page').length > 0) {
7492 var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7493 var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7494 var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7495 if (height > page_h) {
7496 var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7497 el.css('top', top + 'px');
7498 } else {
7499 el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
7500 }
7501
7502 var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7503 if (width > page_w) {
7504 var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7505 el.css('left', left + "px");
7506 } else {
7507 el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
7508 }
7509
7510 var width = e2pdf.helper.getFloat(properties['width']);
7511 var left = e2pdf.helper.getFloat(el.css('left'));
7512 if (width > 0) {
7513 if (width > page_w - left) {
7514 el.css('width', page_w - left);
7515 e2pdf.properties.set(el, 'width', page_w - left);
7516 } else {
7517 el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7518 }
7519 }
7520
7521 var height = e2pdf.helper.getFloat(properties['height']);
7522 var top = e2pdf.helper.getFloat(el.css('top'));
7523 if (height > 0) {
7524 if (height > page_h - top) {
7525 el.css('height', page_h - top);
7526 e2pdf.properties.set(el, 'height', page_h - top);
7527 } else {
7528 el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7529 }
7530 }
7531 }
7532
7533 if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7534 el.addClass('e2pdf-locked');
7535 } else {
7536 el.removeClass('e2pdf-locked');
7537 }
7538 }
7539
7540 },
7541 // e2pdf.welcomeScreen
7542 welcomeScreen: function () {
7543 if (jQuery('.e2pdf-page').length === 0) {
7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7545 e2pdf.dialog.create(el);
7546 }
7547 },
7548 // e2pdf.createPdf
7549 createPdf: function (el) {
7550 var item = false;
7551 var item1 = false;
7552 var item2 = false;
7553 var action = el.attr('data-action');
7554 var data = e2pdf.form.serializeObject(el.closest('form'));
7555 if (action !== 'upload') {
7556 var disabled_settings = [
7557 'title', 'preset', 'font', 'font_size', 'line_height'
7558 ];
7559 for (var key in data) {
7560 if (jQuery.inArray(key, disabled_settings) === -1) {
7561 if (key == 'activated') {
7562 e2pdf.pdf.settings.change(key, data[key]);
7563 } else {
7564 e2pdf.pdf.settings.change(key, data[key]);
7565 }
7566 }
7567
7568 if (key === 'font') {
7569 jQuery('#e2pdf-font').val(data[key]);
7570 }
7571
7572 if (key === 'font_size') {
7573 jQuery('#e2pdf-font-size').val(data[key]);
7574 }
7575
7576 if (key === 'line_height') {
7577 jQuery('#e2pdf-line-height').val(data[key]);
7578 }
7579
7580 if (key === 'title') {
7581 jQuery('#e2pdf-title').val(data[key]);
7582 }
7583
7584 if (key === 'text_align') {
7585 jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7586 }
7587
7588 if (key === 'rtl') {
7589 jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7590 }
7591 }
7592
7593 if (!data['rtl']) {
7594 jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
7595 }
7596 }
7597
7598 if (action === 'apply') {
7599 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7600 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7601 var option = el.closest('form').find('.e2pdf-item option:selected');
7602 if (option && typeof option.data('data-item') !== 'undefined') {
7603 item = option.data('data-item');
7604 }
7605
7606 if (item && item.id == '-1') {
7607 if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7608 return false;
7609 }
7610 el.attr('form-id', 'e2pdf-build-form');
7611 el.attr('action', 'e2pdf_save_form');
7612 e2pdf.static.unsaved = false;
7613 e2pdf.request.submitForm(el);
7614 return;
7615 } else {
7616 if (item && item.id == '-2') {
7617 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7618 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7619 item1 = option1.data('data-item');
7620 if (item1.id == '-1') {
7621 item1 = false;
7622 }
7623 }
7624
7625 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7626 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7627 item2 = option2.data('data-item');
7628 if (item2.id == '-1') {
7629 item2 = false;
7630 }
7631 }
7632 }
7633
7634 e2pdf.pages.changeTplSize(width, height);
7635 jQuery('.ui-dialog-content').dialog('close');
7636 }
7637 } else if (action === 'empty') {
7638 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7639 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7640 var option = el.closest('form').find('.e2pdf-item option:selected');
7641 if (option && typeof option.data('data-item') !== 'undefined') {
7642 item = option.data('data-item');
7643 if (item.id == '-1') {
7644 item = false;
7645 }
7646 }
7647 if (item && item.id == '-2') {
7648 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7649 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7650 item1 = option1.data('data-item');
7651 if (item1.id == '-1') {
7652 item1 = false;
7653 }
7654 }
7655
7656 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7657 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7658 item2 = option2.data('data-item');
7659 if (item2.id == '-1') {
7660 item2 = false;
7661 }
7662 }
7663 }
7664 e2pdf.pages.changeTplSize(width, height);
7665 e2pdf.pages.createPage();
7666 jQuery('.ui-dialog-content').dialog('close');
7667 } else if (action === 'auto') {
7668 var extension = el.closest('form').find('.e2pdf-extension').val();
7669 var option = el.closest('form').find('.e2pdf-item option:selected');
7670 if (option && typeof option.data('data-item') !== 'undefined') {
7671 item = option.data('data-item');
7672 if (item.id == '-1') {
7673 item = false;
7674 }
7675 }
7676 if (item && item.id == '-2') {
7677 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7678 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7679 item1 = option1.data('data-item');
7680 if (item1.id == '-1') {
7681 item1 = false;
7682 }
7683 }
7684 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7685 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7686 item2 = option2.data('data-item');
7687 if (item2.id == '-1') {
7688 item2 = false;
7689 }
7690 }
7691 }
7692 var data = {};
7693 data['extension'] = extension;
7694 data['item'] = item ? item.id : '';
7695 data['item1'] = item1 ? item1.id : '';
7696 data['item2'] = item2 ? item2.id : '';
7697 data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7698 data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
7699 e2pdf.request.submitRequest('e2pdf_auto', el, data);
7700 } else if (action === 'upload') {
7701 if (e2pdf.pdf.settings.get('ID')) {
7702 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
7703 return false;
7704 }
7705 }
7706 jQuery('.e2pdf-upload-pdf').click();
7707 }
7708 if (action === 'apply' || action === 'empty' || action === 'auto') {
7709 var link = jQuery('<a>', {
7710 'href': 'javascript:void(0);',
7711 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7712 'data-modal': 'tpl-options'
7713 }).html(e2pdf.lang.get('Not linked'));
7714 if (item && item.id) {
7715 if (item.id == '-2') {
7716 if ((item1 && item1.id) || (item2 && item2.id)) {
7717 var link = jQuery('<span>');
7718 if (item1 && item1.id) {
7719 link.append(jQuery('<a>', {
7720 'target': '_blank',
7721 'href': item1.url,
7722 'class': 'e2pdf-link'
7723 }).html(item1.name));
7724 }
7725 if (item1 && item1.id && item2 && item2.id) {
7726 link.append(' | ');
7727 }
7728 if (item2 && item2.id) {
7729 link.append(jQuery('<a>', {
7730 'target': '_blank',
7731 'href': item2.url,
7732 'class': 'e2pdf-link'
7733 }).html(item2.name));
7734 }
7735 link.removeClass('e2pdf-color-red');
7736 }
7737 } else {
7738 link = jQuery('<a>', {
7739 'target': '_blank',
7740 'href': item.url,
7741 'class': 'e2pdf-link'
7742 }).html(item.name);
7743 link.removeClass('e2pdf-color-red');
7744 }
7745 }
7746 jQuery('#e2pdf-post-item').html(link);
7747 }
7748
7749 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
7750 e2pdf.font.load(jQuery('#e2pdf-font'));
7751 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7752 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7753 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7754 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7755 e2pdf.event.fire('after.createPdf');
7756 },
7757 // e2pdf.pages
7758 pages: {
7759 // e2pdf.pages.initEvents
7760 initEvents: function (page) {
7761 page.off('contextmenu');
7762 page.contextmenu(function (e) {
7763 if (jQuery(e.target).hasClass('e2pdf-page')) {
7764 e2pdf.contextMenu(e, page);
7765 e.preventDefault();
7766 }
7767 });
7768 if (page.hasClass('ui-droppable')) {
7769 try {
7770 page.droppable('destroy');
7771 page.removeData('ui-droppable');
7772 } catch (e) {
7773
7774 }
7775 }
7776 page.droppable({
7777 over: function (ev, ui) {
7778 e2pdf.static.drag.page = jQuery(this);
7779 e2pdf.static.guide.guides = [];
7780 if ((jQuery(ui.draggable).attr('data-type') == 'e2pdf-qrcode' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-barcode' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-graph' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-signature' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-image') && !jQuery(ui.helper).data('original-width') && (jQuery(ui.helper).width() > e2pdf.static.drag.page.width() || jQuery(ui.helper).height() > e2pdf.static.drag.page.height())) {
7781 jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7782 jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7783 var coeff = 1;
7784 if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7785 coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7786 } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7787 coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7788 }
7789 jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7790 jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7791 }
7792
7793 if (ui.draggable.hasClass('e2pdf-clone')) {
7794 jQuery(this).find('.e2pdf-element').each(function () {
7795 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
7796 });
7797 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
7798 } else {
7799 e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
7800 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
7801 }
7802 },
7803 out: function (ev, ui) {
7804 e2pdf.static.drag.page = null;
7805 e2pdf.static.guide.guides = [];
7806 if (jQuery(ui.helper).data('original-width')) {
7807 jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7808 jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7809 jQuery(ui.helper).removeData('original-width');
7810 jQuery(ui.helper).removeData('original-height');
7811 }
7812
7813 },
7814 deactivate: function (ev) {
7815 e2pdf.static.drag.page = null;
7816 e2pdf.static.guide.guides = [];
7817 },
7818 drop: function (ev, ui) {
7819 if (ui.draggable.hasClass('e2pdf-clone')) {
7820 var type = jQuery(ui.draggable).attr('data-type');
7821 var page = jQuery(this).closest('.e2pdf-page');
7822 var pos = {
7823 top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.scale - 1)),
7824 left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.scale - 1)),
7825 right: Math.round(Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.scale))
7826 };
7827 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
7828 return false;
7829 }
7830
7831 var properties = {};
7832 properties['width'] = jQuery(ui.helper).css('width');
7833 properties['height'] = jQuery(ui.helper).css('height');
7834 properties['top'] = pos.top;
7835 properties['left'] = pos.left;
7836 var el = e2pdf.element.create(type, page, properties, false, true);
7837 jQuery(this).append(el);
7838 e2pdf.properties.render(el);
7839 var history = [];
7840 history.push(el.clone(true));
7841 e2pdf.history.set('element_create', history);
7842 }
7843 e2pdf.static.drag.page = null;
7844 }
7845 });
7846 if (page.hasClass('ui-selectable')) {
7847 try {
7848 page.selectable('destroy');
7849 page.removeData('selectable');
7850 } catch (e) {
7851 }
7852 }
7853 page.selectable(
7854 {
7855 filter: '.e2pdf-element',
7856 cancel: 'a,.e2pdf-element',
7857 distance: 10,
7858 selecting: function (event, ui) {
7859 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7860 jQuery(ui.selecting).addClass('e2pdf-selected');
7861 }
7862 },
7863 unselecting: function (event, ui) {
7864 jQuery(ui.unselecting).removeClass('e2pdf-selected');
7865 },
7866 selected: function (event, ui) {
7867 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7868 e2pdf.element.select(jQuery(ui.selected));
7869 }
7870 },
7871 unselected: function (event, ui) {
7872 e2pdf.element.unselect(jQuery(ui.unselected));
7873 }
7874 }
7875 );
7876 },
7877 // e2pdf.pages.source
7878 source: function (page_id) {
7879 var page = jQuery('<div>', {
7880 'class': 'e2pdf-page ui-droppable',
7881 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7882 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7883 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7884 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7885 }).attr('data-page_id', page_id).append(
7886 jQuery('<div>', {'class': 'page-options-icons'}).append(
7887 jQuery('<a>', {
7888 'href': 'javascript:void(0);',
7889 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7890 }).append(
7891 jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7892 ),
7893 jQuery('<a>', {
7894 'href': 'javascript:void(0);',
7895 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7896 }).append(
7897 jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7898 ),
7899 jQuery('<a>', {
7900 'href': 'javascript:void(0);',
7901 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7902 'data-modal': 'page-options'
7903 }).append(
7904 jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7905 ),
7906 jQuery('<a>', {
7907 'href': 'javascript:void(0);',
7908 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7909 }).append(
7910 jQuery('<i>', {'class': 'dashicons dashicons-no'})
7911 )
7912 ),
7913 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7914 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7915 );
7916 return page;
7917 },
7918 // e2pdf.pages.rebuildPages
7919 rebuildPages: function () {
7920 jQuery('.e2pdf-page').each(function (index) {
7921 if (!e2pdf.pdf.settings.get('pdf')) {
7922 if (index + 1 === 1) {
7923 jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7924 } else {
7925 jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7926 }
7927
7928 if (index + 1 === jQuery('.e2pdf-page').length) {
7929 jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7930 } else {
7931 jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7932 }
7933 }
7934 jQuery(this).attr('data-page_id', index + 1);
7935 });
7936 e2pdf.welcomeScreen();
7937 },
7938 // e2pdf.pages.createPage
7939 createPage: function (page, properties, actions, onload) {
7940 e2pdf.pages.rebuildPages();
7941 var newpage = true;
7942 if (page) {
7943 var newpage = false;
7944 }
7945 if (!properties) {
7946 properties = {};
7947 }
7948 if (!actions) {
7949 actions = {};
7950 }
7951 if (newpage) {
7952 var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7953 var page = e2pdf.pages.source(page_id);
7954 }
7955 page.data('data-type', 'e2pdf-page');
7956 e2pdf.properties.apply(page, properties, onload);
7957 e2pdf.actions.apply(page, actions);
7958 e2pdf.pages.initEvents(page);
7959 if (newpage) {
7960 if (!onload) {
7961 var history = [];
7962 history.push(page.clone(true));
7963 e2pdf.history.set('element_create', history);
7964 }
7965 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
7966 e2pdf.pages.rebuildPages();
7967 e2pdf.event.fire('after.pages.createPage.newpage');
7968 return true;
7969 } else {
7970 return false;
7971 }
7972 },
7973 // e2pdf.pages.movePage
7974 movePage: function (el, direction) {
7975 if (e2pdf.pdf.settings.get('pdf')) {
7976 return false;
7977 }
7978 if (direction === 'up') {
7979 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
7980 } else if (direction === 'down') {
7981 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
7982 }
7983 e2pdf.event.fire('after.pages.movePage');
7984 e2pdf.pages.rebuildPages();
7985 },
7986 // e2pdf.pages.deletePage
7987 deletePage: function (el) {
7988 el.closest('.e2pdf-page').remove();
7989 e2pdf.event.fire('after.pages.deletePage');
7990 e2pdf.pages.rebuildPages();
7991 },
7992 // e2pdf.pages.changeTplSize
7993 changeTplSize: function (width, height) {
7994 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
7995 },
7996 changePageSize: function (el, width, height) {
7997 var prev_width = parseFloat(el.css('width'));
7998 var prev_height = parseFloat(el.css('height'));
7999 var width_diff = width / prev_width;
8000 var height_diff = height / prev_height;
8001 el.find(".e2pdf-element").each(function () {
8002 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
8003 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
8004 if (jQuery(this).data('data-type') === 'e2pdf-qrcode' || (e2pdf.properties.getValue(jQuery(this), 'dimension', 'checkbox') == '1' && (jQuery(this).data('data-type') === 'e2pdf-image' || jQuery(this).data('data-type') === 'e2pdf-barcode' || jQuery(this).data('data-type') === 'e2pdf-graph' || jQuery(this).data('data-type') === 'e2pdf-signature'))) {
8005 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
8006 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
8007 } else {
8008 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
8009 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
8010 }
8011 });
8012 el.css('width', width);
8013 el.css('height', height);
8014 el.attr('data-width', width);
8015 el.attr('data-height', height);
8016 }
8017 },
8018 // e2pdf.contextMenu
8019 contextMenu: function (e, el) {
8020 e2pdf.delete('.e2pdf-context');
8021 jQuery('.e2pdf-page').css('z-index', '');
8022 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
8023 if (el.hasClass('e2pdf-page')) {
8024 var parent = el;
8025 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8026 menu.find('ul.e2pdf-context-menu').append(
8027 jQuery('<li>').append(
8028 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste'))
8029 ),
8030 jQuery('<li>').append(
8031 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements-in-place', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste in Place'))
8032 ),
8033 jQuery('<li>').append(
8034 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
8035 )
8036 );
8037 } else {
8038 if (!el.hasClass('e2pdf-selected')) {
8039 e2pdf.element.unselect();
8040 e2pdf.element.select(el);
8041 }
8042
8043 var parent = el.closest('.e2pdf-page');
8044 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8045 if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
8046 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
8047 menu.find('ul.e2pdf-context-menu').append(
8048 jQuery('<li>').append(
8049 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
8050 ));
8051 } else {
8052 menu.find('ul.e2pdf-context-menu').append(
8053 jQuery('<li>').append(
8054 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
8055 ));
8056 }
8057 }
8058
8059 if (Object.keys(e2pdf.element.selected).length == 1 && (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-link' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig', 'checkbox')))) {
8060 menu.find('ul.e2pdf-context-menu').append(
8061 jQuery('<li>').append(
8062 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
8063 ));
8064 }
8065
8066 menu.find('ul.e2pdf-context-menu').append(
8067 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8068 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8069 ,
8070 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
8071 jQuery('<li>').append(
8072 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
8073 ),
8074 jQuery('<li>').append(
8075 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
8076 ),
8077 jQuery('<li>').append(
8078 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
8079 ),
8080 jQuery('<li>').append(
8081 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8082 )
8083 )
8084 ),
8085 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8086 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8087 ,
8088 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
8089 jQuery('<li>').append(
8090 jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-locked') ? 'e2pdf-unlock' : 'e2pdf-lock'}).html(el.hasClass('e2pdf-locked') ? e2pdf.lang.get('Unlock') : e2pdf.lang.get('Lock'))
8091 ),
8092 jQuery('<li>').append(
8093 jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdf.lang.get('Unhide') : e2pdf.lang.get('Hide'))
8094 ))
8095 ));
8096 menu.find('ul.e2pdf-context-menu').append(
8097 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8098 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8099 ,
8100 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
8101 jQuery('<li>').append(
8102 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'elements'}).html(Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements') : e2pdf.lang.get('Element'))
8103 ))
8104 ),
8105 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8106 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8107 ,
8108 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
8109 ),
8110 jQuery('<li>').append(
8111 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
8112 ),
8113 jQuery('<li>').append(
8114 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
8115 ),
8116 jQuery('<li>').append(
8117 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
8118 ));
8119 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
8120 if (Object.keys(e2pdf.element.selected).length == 1) {
8121 menu.find('ul.e2pdf-copy-menu').append(
8122 jQuery('<li>').append(
8123 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8124 ));
8125 }
8126 if (e2pdf.storage.get('style') !== null) {
8127 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8128 menu.find('ul.e2pdf-paste-menu').append(
8129 jQuery('<li>').append(
8130 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8131 ));
8132 }
8133 }
8134
8135 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8136 if (Object.keys(e2pdf.element.selected).length == 1) {
8137 menu.find('ul.e2pdf-copy-menu').append(
8138 jQuery('<li>').append(
8139 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8140 ));
8141 }
8142 if (e2pdf.storage.get('width') != null) {
8143 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8144 menu.find('ul.e2pdf-paste-menu').append(
8145 jQuery('<li>').append(
8146 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8147 ));
8148 }
8149 }
8150
8151 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8152
8153 if (Object.keys(e2pdf.element.selected).length == 1) {
8154 menu.find('ul.e2pdf-copy-menu').append(
8155 jQuery('<li>').append(
8156 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8157 ));
8158 }
8159
8160 if (e2pdf.storage.get('height') != null) {
8161 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8162 menu.find('ul.e2pdf-paste-menu').append(
8163 jQuery('<li>').append(
8164 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8165 ));
8166 }
8167 }
8168
8169 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
8170
8171 if (Object.keys(e2pdf.element.selected).length == 1) {
8172 menu.find('ul.e2pdf-copy-menu').append(
8173 jQuery('<li>').append(
8174 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8175 ));
8176 }
8177
8178 if (e2pdf.storage.get('actions') !== null) {
8179 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8180 menu.find('ul.e2pdf-paste-menu').append(
8181 jQuery('<li>').append(
8182 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8183 ));
8184 }
8185 }
8186
8187 if (Object.keys(e2pdf.element.selected).length == 1) {
8188 menu.find('ul.e2pdf-context-menu').append(
8189 jQuery('<li>').append(
8190 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8191 ));
8192 }
8193 }
8194 parent.css('z-index', '1');
8195 menu.hide().appendTo(parent);
8196 var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.scale;
8197 if ((parent.closest('.e2pdf-tpl').width() - 20 < e.pageX - parent.closest('.e2pdf-tpl').offset().left + menu.width()) && (e.pageX - parent.closest('.e2pdf-tpl').offset().left > menu.width())) {
8198 pos_x = pos_x - (menu.width() / e2pdf.zoom.scale);
8199 menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8200 }
8201 var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.scale;
8202 if ((parent.closest('.e2pdf-tpl').height() - 20 < e.pageY - parent.closest('.e2pdf-tpl').offset().top + menu.height()) && (e.pageY - parent.closest('.e2pdf-tpl').offset().top > menu.height())) {
8203 pos_y = pos_y - (menu.height() / e2pdf.zoom.scale);
8204 menu.addClass('e2pdf-context-bottom');
8205 }
8206 menu.css({top: pos_y + "px", left: pos_x + "px"});
8207 menu.show();
8208 },
8209 // e2pdf.delete
8210 delete: function (el) {
8211 jQuery(el).remove();
8212 },
8213 // e2pdf.element
8214 element: {
8215 // e2pdf.element.selected
8216 selected: [],
8217 // e2pdf.element.init
8218 init: function (el) {
8219 if (el.data('data-type') === 'e2pdf-html') {
8220 if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8221 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8222 } else {
8223 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8224 }
8225 } else if (el.data('data-type') === 'e2pdf-input') {
8226 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
8227 } else if (el.data('data-type') === 'e2pdf-textarea') {
8228 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
8229 }
8230 e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8231 e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8232 e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
8233 },
8234 // e2pdf.element.initEvents
8235 initEvents: function (element, page) {
8236 var min_width = 2;
8237 var min_height = 2;
8238 if (element.data('data-type') == 'e2pdf-rectangle') {
8239 min_height = 1;
8240 min_width = 1;
8241 }
8242 if (!page) {
8243 page = element.closest('.e2pdf-page');
8244 }
8245 element.off('contextmenu');
8246 element.contextmenu(function (e) {
8247 e2pdf.contextMenu(e, element);
8248 e.preventDefault();
8249 });
8250 if (element.hasClass('ui-draggable')) {
8251 try {
8252 element.draggable('destroy');
8253 element.removeData('ui-draggable');
8254 } catch (e) {
8255
8256 }
8257 }
8258 element.draggable({
8259 cancel: '.no-drag',
8260 handle: '.e2pdf-drag',
8261 containment: jQuery(page),
8262 stop: function (ev, ui) {
8263 var page = jQuery(this).closest('.e2pdf-page');
8264 for (var key in e2pdf.element.selected) {
8265 var selected = e2pdf.element.selected[key];
8266 if (selected.hasClass('e2pdf-width-auto')) {
8267 selected.css({'width': 'auto'});
8268 }
8269 if (selected.hasClass('e2pdf-height-auto')) {
8270 selected.css({'height': 'auto'});
8271 }
8272 e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8273 e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
8274 }
8275 jQuery('.page-options-icons').css('z-index', '');
8276 e2pdf.event.fire('after.element.moved');
8277 e2pdf.element.unselect();
8278 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8279 },
8280 drag: function (ev, ui) {
8281 var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.scale;
8282 var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.scale;
8283 left = Math.min(left, e2pdf.static.drag.max_left);
8284 top = Math.min(top, e2pdf.static.drag.max_top);
8285 ui.position = {
8286 left: Math.max(e2pdf.static.drag.min_left, left),
8287 top: Math.max(e2pdf.static.drag.min_top, top)
8288 };
8289 var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8290 var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8291 for (var key in e2pdf.element.selected) {
8292 var selected = e2pdf.element.selected[key];
8293 if (!selected.is(jQuery(this))) {
8294 selected.finish().animate({
8295 left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8296 top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8297 }, 0);
8298 }
8299 }
8300 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8301 var w = parseFloat(jQuery(this).css('width'));
8302 var h = parseFloat(jQuery(this).css('height'));
8303 var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8304 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8305 jQuery.each(el_guides, function (i, elemGuide) {
8306 if (guide.type == elemGuide.type) {
8307 var prop = guide.type == "h" ? "top" : "left";
8308 var d = Math.abs(elemGuide[prop] - guide[prop]);
8309 if (d < guides[prop].dist) {
8310 guides[prop].dist = d;
8311 guides[prop].offset = elemGuide[prop] - ui.position[prop];
8312 guides[prop].guide = guide;
8313 }
8314 }
8315 });
8316 });
8317 if (guides.top.dist <= e2pdf.static.guide.distance) {
8318 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8319 var snap_top = guides.top.guide.top - guides.top.offset;
8320 if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8321 ui.position.top = snap_top;
8322 var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8323 for (var key in e2pdf.element.selected) {
8324 var selected = e2pdf.element.selected[key];
8325 if (!selected.is(jQuery(this))) {
8326 selected.finish().animate({
8327 top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8328 }, 0);
8329 }
8330 }
8331 }
8332 } else {
8333 jQuery('.e2pdf-guide-h').hide();
8334 }
8335 if (guides.left.dist <= e2pdf.static.guide.distance) {
8336 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8337 var snap_left = guides.left.guide.left - guides.left.offset;
8338 if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8339 ui.position.left = snap_left;
8340 var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8341 for (var key in e2pdf.element.selected) {
8342 var selected = e2pdf.element.selected[key];
8343 if (!selected.is(jQuery(this))) {
8344 selected.finish().animate({
8345 left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8346 }, 0);
8347 }
8348 }
8349 }
8350 } else {
8351 jQuery('.e2pdf-guide-v').hide();
8352 }
8353 },
8354 start: function (ev, ui) {
8355 if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8356 return false;
8357 }
8358 e2pdf.element.select(jQuery(this));
8359 e2pdf.static.drag.min_left = 0;
8360 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8361 e2pdf.static.drag.min_top = 0;
8362 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8363 var history = [];
8364 for (var key in e2pdf.element.selected) {
8365 var selected = e2pdf.element.selected[key];
8366 history.push(selected.clone(true));
8367 if (selected.hasClass('e2pdf-width-auto')) {
8368 selected.css({"width": "auto"});
8369 }
8370 if (selected.hasClass('e2pdf-height-auto')) {
8371 selected.css({"height": "auto"});
8372 }
8373 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8374 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8375 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8376 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8377 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8378 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8379 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8380 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8381 e2pdf.static.drag.min_left = Math.max(e2pdf.properties.getValue(jQuery(this), 'left', 'float') - e2pdf.properties.getValue(selected, 'left', 'float'), e2pdf.static.drag.min_left);
8382 e2pdf.static.drag.min_top = Math.max(e2pdf.properties.getValue(jQuery(this), 'top', 'float') - e2pdf.properties.getValue(selected, 'top', 'float'), e2pdf.static.drag.min_top);
8383 e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (e2pdf.properties.getValue(jQuery(this), 'left', 'float') - e2pdf.properties.getValue(selected, 'left', 'float')), e2pdf.static.drag.max_left);
8384 e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (e2pdf.properties.getValue(jQuery(this), 'top', 'float') - e2pdf.properties.getValue(selected, 'top', 'float')), e2pdf.static.drag.max_top);
8385 }
8386 e2pdf.history.set('element_change', history);
8387 e2pdf.zoom.click.x = ev.clientX;
8388 e2pdf.zoom.click.y = ev.clientY;
8389 jQuery('.page-options-icons').css('z-index', -1);
8390 }
8391 });
8392 if (element.hasClass('e2pdf-resizable')) {
8393 if (element.hasClass('ui-resizable')) {
8394 try {
8395 element.resizable('destroy');
8396 element.removeData('ui-resizable');
8397 } catch (e) {
8398
8399 }
8400 }
8401 element.resizable({
8402 handles: 'n, e, s, w, ne, se, sw, nw',
8403 aspectRatio: false,
8404 minHeight: min_height,
8405 minWidth: min_width,
8406 start: function (ev, ui) {
8407 var _process = function (el, resize) {
8408 var left = e2pdf.helper.getFloat(el.css('left'));
8409 var top = e2pdf.helper.getFloat(el.css('top'));
8410 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8411 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8412 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8413 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8414 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8415 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8416 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8417 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8418 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8419 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8420 var width = e2pdf.helper.getFloat(el.css('width'));
8421 var height = e2pdf.helper.getFloat(el.css('height'));
8422 el.resizable("option", "maxWidth", page_width - left);
8423 el.resizable("option", "maxHeight", page_height - top);
8424 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8425 el.resizable("option", "maxWidth", left + width);
8426 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8427 el.resizable("option", "maxHeight", top + height);
8428 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8429 el.resizable("option", "maxWidth", left + width);
8430 el.resizable("option", "maxHeight", top + height);
8431 }
8432 if (resize) {
8433 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8434 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8435 }
8436 };
8437 _process(jQuery(this), true);
8438 e2pdf.zoom.click.x = ev.clientX;
8439 e2pdf.zoom.click.y = ev.clientY;
8440 var history = [];
8441 history.push(jQuery(this).clone(true));
8442 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8443 var selected = jQuery(this);
8444 history.push(selected.clone(true));
8445 var width = e2pdf.helper.getFloat(selected.css('width'));
8446 var height = e2pdf.helper.getFloat(selected.css('height'));
8447 selected.data("ui-resizable-alsoresize", {
8448 width: width,
8449 height: height,
8450 left: e2pdf.helper.getFloat(selected.css('left')),
8451 top: e2pdf.helper.getFloat(selected.css('top'))
8452 });
8453 _process(jQuery(this), false);
8454 });
8455 e2pdf.history.set('element_change', history);
8456 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8457 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8458 },
8459 resize: function (ev, ui) {
8460 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8461 var axis = ui.element.data("ui-resizable").axis;
8462 if (axis != 'nw' && axis != 'sw') {
8463 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8464 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8465 }
8466 }
8467 var delta = {
8468 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8469 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8470 top: (ui.position.top - ui.originalPosition.top) || 0,
8471 left: (ui.position.left - ui.originalPosition.left) || 0
8472 };
8473 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8474 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8475 var style = {};
8476 var css = ["width", "height", "top", "left"];
8477 jQuery.each(css, function (i, prop) {
8478 var sum = (start[prop] || 0) + (delta[prop] || 0);
8479 if (sum) {
8480 if (prop == 'width') {
8481 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8482 style[prop] = sum;
8483 }
8484 } else if (prop == 'height') {
8485 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8486 style[prop] = sum;
8487 }
8488 } else if (prop == 'left') {
8489 if (sum >= 0) {
8490 style[prop] = sum;
8491 }
8492 } else if (prop == 'top') {
8493 if (sum >= 0) {
8494 style[prop] = sum;
8495 }
8496 }
8497 }
8498 });
8499 el.css(style);
8500 });
8501 var handle = ui.element.data("ui-resizable").axis;
8502 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8503 var w = parseFloat(jQuery(this).css('width'));
8504 var h = parseFloat(jQuery(this).css('height'));
8505 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8506 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8507 var hPosition = ui.position.top;
8508 var hEdgeValue = ui.position.top;
8509 if (handle.indexOf('s') !== -1) {
8510 hEdgeValue = ui.position.top + h;
8511 }
8512 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8513 if (guide.type == "h") {
8514 var d = Math.abs(hEdgeValue - guide.top);
8515 if (d < hGuides.dist) {
8516 hGuides.dist = d;
8517 hGuides.guide = guide;
8518 hGuides.offset = hEdgeValue - hPosition;
8519 }
8520 }
8521 });
8522 if (hGuides.dist <= e2pdf.static.guide.distance) {
8523 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8524 var snap_top = hGuides.guide.top - hGuides.offset;
8525 if (handle.indexOf('n') !== -1) {
8526 var heightDiff = ui.position.top - snap_top;
8527 ui.position.top = snap_top;
8528 ui.size.height += heightDiff;
8529 } else if (handle.indexOf('s') !== -1) {
8530 var newHeight = hGuides.guide.top - ui.position.top;
8531 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8532 ui.size.height = newHeight;
8533 }
8534 }
8535 }
8536 }
8537 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8538 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8539 var vPosition = ui.position.left;
8540 var vEdgeValue = ui.position.left;
8541 if (handle.indexOf('e') !== -1) {
8542 vEdgeValue = ui.position.left + w;
8543 }
8544 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8545 if (guide.type == "v") {
8546 var d = Math.abs(vEdgeValue - guide.left);
8547 if (d < vGuides.dist) {
8548 vGuides.dist = d;
8549 vGuides.guide = guide;
8550 vGuides.offset = vEdgeValue - vPosition;
8551 }
8552 }
8553 });
8554 if (vGuides.dist <= e2pdf.static.guide.distance) {
8555 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8556 var snap_left = vGuides.guide.left - vGuides.offset;
8557 if (handle.indexOf('w') !== -1) {
8558 var widthDiff = ui.position.left - snap_left;
8559 ui.position.left = snap_left;
8560 ui.size.width += widthDiff;
8561 } else if (handle.indexOf('e') !== -1) {
8562 var newWidth = vGuides.guide.left - ui.position.left;
8563 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8564 ui.size.width = newWidth;
8565 }
8566 }
8567 }
8568 }
8569 },
8570 stop: function (event, ui) {
8571 ui.size.width = Math.round(ui.size.width);
8572 ui.size.height = Math.round(ui.size.height);
8573 var _process = function (el, width, height) {
8574 if (el.data('data-type') === 'e2pdf-signature' || el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-qrcode' || el.data('data-type') === 'e2pdf-graph') {
8575 width += el.outerWidth() - el.width();
8576 height += el.outerWidth() - el.width();
8577 }
8578 e2pdf.properties.set(el, 'width', width);
8579 e2pdf.properties.set(el, 'height', height);
8580 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8581 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8582 if (el.data('data-type') === 'e2pdf-signature' || el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-qrcode' || el.data('data-type') === 'e2pdf-graph') {
8583 e2pdf.properties.render(el);
8584 }
8585 };
8586 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8587 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8588 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8589 jQuery(this).removeData("resizable-alsoresize");
8590 });
8591 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8592 }
8593 });
8594 }
8595 },
8596 // e2pdf.element.create
8597 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8598 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8599 var min_height = 2;
8600 var min_width = 2;
8601 if (!properties) {
8602 properties = {};
8603 }
8604 if (!actions) {
8605 actions = {};
8606 }
8607 switch (type) {
8608 case 'e2pdf-input':
8609 if (default_properties) {
8610 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8611 properties['width'] = '200';
8612 }
8613 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8614 properties['height'] = size;
8615 }
8616 if (!properties.hasOwnProperty('border')) {
8617 properties['border'] = '1';
8618 }
8619 if (!properties.hasOwnProperty('border_color')) {
8620 properties['border_color'] = '#000000';
8621 }
8622 }
8623 var element =
8624 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8625 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8626 jQuery('<i>', {'class': 'e2pdf-drag'})
8627 );
8628 break;
8629 case 'e2pdf-textarea':
8630 if (default_properties) {
8631 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8632 properties['width'] = '200';
8633 }
8634 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8635 properties['height'] = '100';
8636 }
8637 if (!properties.hasOwnProperty('border')) {
8638 properties['border'] = '1';
8639 }
8640 if (!properties.hasOwnProperty('border_color')) {
8641 properties['border_color'] = '#000000';
8642 }
8643 }
8644 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8645 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8646 jQuery('<i>', {'class': 'e2pdf-drag'})
8647 );
8648 break;
8649 case 'e2pdf-checkbox':
8650 if (default_properties) {
8651 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8652 properties['width'] = size;
8653 }
8654 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8655 properties['height'] = size;
8656 }
8657 if (!properties.hasOwnProperty('option')) {
8658 properties['option'] = 'option';
8659 }
8660 if (!properties.hasOwnProperty('border')) {
8661 properties['border'] = '1';
8662 }
8663 if (!properties.hasOwnProperty('border_color')) {
8664 properties['border_color'] = '#000000';
8665 }
8666 }
8667 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8668 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8669 jQuery('<i>', {'class': 'e2pdf-drag'})
8670 );
8671 break;
8672 case 'e2pdf-radio':
8673 if (default_properties) {
8674 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8675 properties['width'] = size;
8676 }
8677 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8678 properties['height'] = size;
8679 }
8680 if (!properties.hasOwnProperty('group')) {
8681 properties['group'] = 'group';
8682 }
8683 if (!properties.hasOwnProperty('option')) {
8684 properties['option'] = 'option';
8685 }
8686 if (!properties.hasOwnProperty('border')) {
8687 properties['border'] = '1';
8688 }
8689 if (!properties.hasOwnProperty('border_color')) {
8690 properties['border_color'] = '#000000';
8691 }
8692 if (!properties.hasOwnProperty('text_type')) {
8693 properties['text_type'] = 'circle';
8694 }
8695
8696 }
8697 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8698 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8699 jQuery('<i>', {'class': 'e2pdf-drag'})
8700 );
8701 break;
8702 case 'e2pdf-select':
8703 if (default_properties) {
8704 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8705 properties['width'] = '200';
8706 }
8707 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8708 properties['height'] = size;
8709 }
8710 if (!properties.hasOwnProperty('options')) {
8711 properties['options'] = '';
8712 }
8713 if (!properties.hasOwnProperty('border')) {
8714 properties['border'] = '1';
8715 }
8716 if (!properties.hasOwnProperty('border_color')) {
8717 properties['border_color'] = '#000000';
8718 }
8719 }
8720 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8721 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8722 ),
8723 jQuery('<i>', {'class': 'e2pdf-drag'})
8724 );
8725 break;
8726 case 'e2pdf-signature':
8727 if (default_properties) {
8728 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8729 properties['width'] = '200';
8730 }
8731 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8732 properties['height'] = '75';
8733 }
8734 if (!properties.hasOwnProperty('vertical')) {
8735 properties['vertical'] = 'bottom';
8736 }
8737 if (!properties.hasOwnProperty('block_dimension')) {
8738 properties['block_dimension'] = '1';
8739 }
8740 if (!properties.hasOwnProperty('dimension')) {
8741 properties['dimension'] = '1';
8742 }
8743 if (!properties.hasOwnProperty('opacity')) {
8744 properties['opacity'] = '1';
8745 }
8746 } else {
8747 // backward compatibility
8748 if (!properties.hasOwnProperty('opacity')) {
8749 properties['opacity'] = '1';
8750 }
8751 }
8752 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8753 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8754 jQuery('<i>', {'class': 'e2pdf-drag'})
8755 );
8756 break;
8757 case 'e2pdf-html':
8758 if (default_properties) {
8759 if (!properties.hasOwnProperty('width')) {
8760 properties['width'] = '200';
8761 } else if (properties['width'] === 'auto') {
8762 properties['width'] = size;
8763 }
8764 if (!properties.hasOwnProperty('height')) {
8765 properties['height'] = size;
8766 } else if (properties['height'] === 'auto') {
8767 delete properties['height'];
8768 }
8769 if (!properties.hasOwnProperty('html_worker')) {
8770 properties['html_worker'] = '1';
8771 }
8772 if (!properties.hasOwnProperty('css_priority')) {
8773 properties['css_priority'] = '1';
8774 }
8775 }
8776 if (properties['wysiwyg_disable'] == '1') {
8777 var element =
8778 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8779 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8780 jQuery('<i>', {'class': 'e2pdf-drag'})
8781 );
8782 } else {
8783 var element =
8784 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8785 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8786 jQuery('<i>', {'class': 'e2pdf-drag'})
8787 );
8788 }
8789 break;
8790 case 'e2pdf-image':
8791 if (default_properties) {
8792 if (!properties.hasOwnProperty('dimension')) {
8793 properties['dimension'] = '1';
8794 }
8795 if (!properties.hasOwnProperty('opacity')) {
8796 properties['opacity'] = '1';
8797 }
8798 if (!properties.hasOwnProperty('block_dimension')) {
8799 properties['block_dimension'] = '1';
8800 }
8801 if (!properties.hasOwnProperty('vertical')) {
8802 properties['vertical'] = 'bottom';
8803 }
8804 if (!properties.hasOwnProperty('pdf_resample')) {
8805 properties['pdf_resample'] = '-1';
8806 }
8807 } else {
8808 // backward compatibility
8809 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8810 properties['block_dimension'] = '1';
8811 }
8812 if (!properties.hasOwnProperty('opacity')) {
8813 properties['opacity'] = '1';
8814 }
8815 if (!properties.hasOwnProperty('pdf_resample')) {
8816 properties['pdf_resample'] = '150';
8817 }
8818 }
8819 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8820 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8821 jQuery('<i>', {'class': 'e2pdf-drag'})
8822 );
8823 break;
8824 case 'e2pdf-rectangle':
8825 if (default_properties) {
8826 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8827 properties['width'] = '200';
8828 }
8829 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8830 properties['height'] = '5';
8831 }
8832 if (!properties.hasOwnProperty('background')) {
8833 properties['background'] = '#000000';
8834 }
8835 }
8836 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8837 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8838 jQuery('<i>', {'class': 'e2pdf-drag'})
8839 );
8840 break;
8841 case 'e2pdf-link':
8842 if (default_properties) {
8843 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8844 properties['width'] = '200';
8845 }
8846
8847 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8848 properties['height'] = size;
8849 }
8850 }
8851 var element =
8852 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8853 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8854 jQuery('<i>', {'class': 'e2pdf-drag'})
8855 );
8856 break;
8857 case 'e2pdf-qrcode':
8858 if (default_properties) {
8859 if (!properties.hasOwnProperty('color')) {
8860 properties['color'] = '#000000';
8861 }
8862 if (!properties.hasOwnProperty('background')) {
8863 properties['background'] = '#ffffff';
8864 }
8865 if (!properties.hasOwnProperty('wq')) {
8866 properties['wq'] = '1';
8867 }
8868 }
8869 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8870 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8871 jQuery('<i>', {'class': 'e2pdf-drag'})
8872 );
8873 break;
8874 case 'e2pdf-barcode':
8875 if (default_properties) {
8876 if (!properties.hasOwnProperty('color')) {
8877 properties['color'] = '#000000';
8878 }
8879 if (!properties.hasOwnProperty('text_color')) {
8880 properties['text_color'] = '#000000';
8881 }
8882 if (!properties.hasOwnProperty('vertical')) {
8883 properties['vertical'] = 'middle';
8884 }
8885 if (!properties.hasOwnProperty('horizontal')) {
8886 properties['horizontal'] = 'center';
8887 }
8888 if (!properties.hasOwnProperty('wq')) {
8889 properties['wq'] = '1';
8890 }
8891 if (!properties.hasOwnProperty('dimension')) {
8892 properties['dimension'] = '1';
8893 }
8894 if (!properties.hasOwnProperty('background')) {
8895 properties['background'] = '#ffffff';
8896 }
8897 if (!properties.hasOwnProperty('margin_top')) {
8898 properties['margin_top'] = '10';
8899 }
8900 if (!properties.hasOwnProperty('margin_left')) {
8901 properties['margin_left'] = '10';
8902 }
8903 if (!properties.hasOwnProperty('margin_right')) {
8904 properties['margin_right'] = '10';
8905 }
8906 if (!properties.hasOwnProperty('margin_bottom')) {
8907 properties['margin_bottom'] = '10';
8908 }
8909 } else {
8910 // backward compatibility
8911 if (!properties.hasOwnProperty('scale')) {
8912 properties['scale'] = '1';
8913 }
8914 if (!properties.hasOwnProperty('margin_top')) {
8915 properties['margin_top'] = '10';
8916 }
8917 if (!properties.hasOwnProperty('margin_left')) {
8918 properties['margin_left'] = '10';
8919 }
8920 if (!properties.hasOwnProperty('margin_right')) {
8921 properties['margin_right'] = '10';
8922 }
8923 if (!properties.hasOwnProperty('margin_bottom')) {
8924 properties['margin_bottom'] = '10';
8925 }
8926 }
8927 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8928 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8929 jQuery('<i>', {'class': 'e2pdf-drag'})
8930 );
8931 break;
8932 case 'e2pdf-page-number':
8933 if (default_properties) {
8934 if (!properties.hasOwnProperty('width')) {
8935 properties['width'] = '100';
8936 } else if (properties['width'] === 'auto') {
8937 properties['width'] = '100';
8938 }
8939 if (!properties.hasOwnProperty('height')) {
8940 properties['height'] = size;
8941 } else if (properties['height'] === 'auto') {
8942 delete properties['height'];
8943 }
8944 if (!properties.hasOwnProperty('text_align')) {
8945 properties['text_align'] = 'center';
8946 }
8947 if (!properties.hasOwnProperty('html_worker')) {
8948 properties['html_worker'] = '1';
8949 }
8950 if (!properties.hasOwnProperty('value')) {
8951 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8952 }
8953 }
8954 var value = properties['value'] ? properties['value'] : '';
8955 var element =
8956 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8957 jQuery('<div>', {'class': 'content e2pdf-page-number e2pdf-inner-element'}).html(e2pdf.helper.sanitizeHTML(value.replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2'))),
8958 jQuery('<i>', {'class': 'e2pdf-drag'})
8959 );
8960 break;
8961 case 'e2pdf-graph':
8962 if (default_properties) {
8963 // Graph
8964 properties['g_palette'] = '#1e73be';
8965 properties['g_stroke_colour'] = '#000000';
8966 properties['g_stroke_width'] = '1';
8967 properties['g_sort'] = '1';
8968 // Titles
8969 properties['g_graph_title_colour'] = '#000000';
8970 properties['g_graph_title_space'] = '10';
8971 // Labels
8972 properties['g_label_colour'] = '#000000';
8973 properties['g_label_font_size'] = '10';
8974 properties['g_label_space'] = '10';
8975 // Markers
8976 properties['g_marker_colour'] = '#000000';
8977 properties['g_marker_size'] = '3';
8978 // Legend
8979 properties['g_legend_back_colour'] = '#ffffff';
8980 properties['g_legend_stroke_colour'] = '#000000';
8981 properties['g_legend_stroke_width'] = '1';
8982 properties['g_legend_entry_width'] = '20';
8983 properties['g_legend_entry_height'] = '20';
8984 properties['g_legend_padding_x'] = '5';
8985 properties['g_legend_padding_y'] = '5';
8986 properties['g_legend_colour'] = '#000000';
8987 properties['g_legend_font_size'] = '10';
8988 properties['g_show_legend'] = '1';
8989 // Grid
8990 properties['g_grid_colour'] = '#eeeeee';
8991 properties['g_grid_subdivision_colour'] = '#eeeeee';
8992 properties['g_minimum_grid_spacing'] = '20';
8993 properties['g_show_grid'] = '1';
8994 properties['g_show_grid_subdivisions'] = '1';
8995 // Axis
8996 properties['g_axis_colour'] = '#000000';
8997 properties['g_axis_font_size'] = '12';
8998 properties['g_show_axis_v'] = '1';
8999 properties['g_show_axis_text_v'] = '1';
9000 properties['g_show_axis_h'] = '1';
9001 properties['g_show_axis_text_h'] = '1';
9002 properties['g_show_subdivisions'] = '1';
9003 properties['g_axis_overlap'] = '5';
9004 properties['g_axis_stroke_width_v'] = '1';
9005 properties['g_axis_stroke_width_h'] = '1';
9006 // Bar Label
9007 properties['g_bar_label_colour'] = '#000000';
9008 properties['g_bar_label_font_size'] = '10';
9009 properties['g_bar_label_space'] = '3';
9010 properties['g_show_bar_labels'] = '1';
9011 properties['g_project_angle'] = '45';
9012 properties['g_depth'] = '20';
9013 properties['g_aspect_ratio'] = '1';
9014 properties['margin_top'] = '10';
9015 properties['margin_left'] = '10';
9016 properties['margin_right'] = '10';
9017 properties['margin_bottom'] = '10';
9018 properties['g_multiline'] = '2';
9019 // Bar
9020 properties['g_bar_width'] = '0';
9021 properties['g_bar_width_min'] = '1';
9022 properties['g_bar_space'] = '10';
9023 properties['g_show_labels'] = '1';
9024 properties['g_show_label_key'] = '1';
9025 properties['g_inner_radius'] = '0.5';
9026 properties['g_fill_opacity'] = '1';
9027 properties['g_axis_text_space_v'] = '2';
9028 properties['g_axis_text_space_h'] = '2';
9029 } else {
9030 // backward compatibility
9031 if (!properties.hasOwnProperty('g_depth')) {
9032 properties['g_depth'] = '40';
9033 }
9034 if (!properties.hasOwnProperty('g_aspect_ratio')) {
9035 properties['g_aspect_ratio'] = '1';
9036 }
9037 if (!properties.hasOwnProperty('g_legend_entry_height')) {
9038 properties['g_legend_entry_height'] = '20';
9039 }
9040 if (!properties.hasOwnProperty('g_bar_width')) {
9041 properties['g_bar_width'] = '0';
9042 }
9043 if (!properties.hasOwnProperty('g_bar_width_min')) {
9044 properties['g_bar_width_min'] = '1';
9045 }
9046 if (!properties.hasOwnProperty('g_bar_space')) {
9047 properties['g_bar_space'] = '10';
9048 }
9049 // backward compatibility
9050 if (!properties.hasOwnProperty('g_show_labels')) {
9051 properties['g_show_labels'] = '1';
9052 }
9053 if (!properties.hasOwnProperty('g_show_label_key')) {
9054 properties['g_show_label_key'] = '1';
9055 }
9056 if (!properties.hasOwnProperty('g_inner_radius')) {
9057 properties['g_inner_radius'] = '0.5';
9058 }
9059 if (!properties.hasOwnProperty('g_fill_opacity')) {
9060 properties['g_fill_opacity'] = '1';
9061 }
9062 if (!properties.hasOwnProperty('g_axis_text_space_v')) {
9063 properties['g_axis_text_space_v'] = '2';
9064 }
9065 if (!properties.hasOwnProperty('g_axis_text_space_h')) {
9066 properties['g_axis_text_space_h'] = '2';
9067 }
9068 }
9069 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
9070 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
9071 jQuery('<i>', {'class': 'e2pdf-drag'})
9072 );
9073 break;
9074 default:
9075 break;
9076 }
9077
9078 if (typeof element !== 'undefined') {
9079 if (!element_id) {
9080 var last_id = 0;
9081 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
9082 var num_id = parseInt(jQuery(this).attr("data-element_id"));
9083 if (num_id > last_id) {
9084 last_id = num_id;
9085 }
9086 });
9087 element_id = parseInt(last_id + 1);
9088 }
9089 element.addClass('e2pdf-element');
9090 element.attr('data-element_id', element_id);
9091 element.data('data-type', type);
9092 if (properties.hasOwnProperty('width')) {
9093 element.css({'width': properties['width']});
9094 }
9095 if (properties.hasOwnProperty('height')) {
9096 element.css({'height': properties['height']});
9097 }
9098 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
9099 element.css({'top': properties['top'], 'left': properties['left']});
9100 }
9101 element.css({"position": "absolute"});
9102 e2pdf.properties.apply(element, properties, onload);
9103 e2pdf.actions.apply(element, actions);
9104 e2pdf.element.initEvents(element, page);
9105 if (!onload) {
9106 e2pdf.event.fire('after.element.create');
9107 }
9108 return element;
9109 } else {
9110 return false;
9111 }
9112 },
9113 // e2pdf.element.children
9114 children: function (el) {
9115 var children = el.find('.' + el.data('data-type'));
9116 return children;
9117 },
9118 // e2pdf.element.select
9119 select: function (el) {
9120 var selected = false;
9121 for (var key in e2pdf.element.selected) {
9122 if (e2pdf.element.selected[key].is(el)) {
9123 selected = true;
9124 }
9125 }
9126 if (!selected) {
9127 el.addClass('e2pdf-selected');
9128 e2pdf.element.selected.push(el);
9129 }
9130 },
9131 // e2pdf.element.unselect
9132 unselect: function (el) {
9133 if (!el) {
9134 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
9135 e2pdf.element.selected = [];
9136 } else {
9137 for (var key in e2pdf.element.selected) {
9138 if (e2pdf.element.selected[key].is(el)) {
9139 el.removeClass('e2pdf-selected');
9140 delete e2pdf.element.selected[key];
9141 }
9142 }
9143 }
9144 },
9145 // e2pdf.element.unfocus
9146 unfocus: function (el) {
9147 e2pdf.wysiwyg.helper.dropSelection();
9148 if (!el) {
9149 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9150 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9151 jQuery(this).blur();
9152 });
9153 } else {
9154 el.find('.e2pdf-inner-element').blur();
9155 el.removeClass('e2pdf-focused');
9156 }
9157 },
9158 // e2pdf.element.focus
9159 focus: function (el) {
9160 el.one('beforeinput', function (e) {
9161 var history = [];
9162 history.push(el.clone(true));
9163 e2pdf.history.set('element_change', history);
9164 });
9165 var el_inner = el.find('.e2pdf-inner-element');
9166 if (el_inner.is('div.e2pdf-html')) {
9167 var node = el_inner.get(0);
9168 if (node) {
9169 node.focus();
9170 if (window.getSelection && document.createRange) {
9171 var range = document.createRange();
9172 var selection = window.getSelection();
9173 range.selectNodeContents(node);
9174 range.collapse(false);
9175 selection.removeAllRanges();
9176 selection.addRange(range);
9177 }
9178 } else {
9179 el_inner.focus();
9180 }
9181 } else {
9182 el_inner.focus();
9183 }
9184 el.addClass('e2pdf-focused');
9185 },
9186 // e2pdf.element.hide
9187 hide: function (el) {
9188 el.addClass('e2pdf-hide');
9189 },
9190 // e2pdf.element.show
9191 show: function (el) {
9192 el.removeClass('e2pdf-hide');
9193 },
9194 // e2pdf.element.delete
9195 delete: function (el) {
9196 el.remove();
9197 e2pdf.event.fire('after.element.delete');
9198 }
9199 },
9200 // e2pdf.storage
9201 storage: {
9202 get: function (key) {
9203 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9204 },
9205 set: function (key, data) {
9206 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9207 },
9208 delete: function (key) {
9209 localStorage.removeItem('e2pdf_' + key);
9210 }
9211 },
9212 // e2pdf.history
9213 history: {
9214 // e2pdf.history.set
9215 set: function (action, elements, data) {
9216 if (elements && elements.length > 0) {
9217 var history = {
9218 'action': action,
9219 'elements': elements,
9220 'data': data,
9221 };
9222 e2pdf.history.undoStack.push(history);
9223 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9224 e2pdf.history.undoStack.shift();
9225 }
9226 if (e2pdf.history.undoStack.length > 0) {
9227 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9228 }
9229 }
9230 },
9231 // e2pdf.history.undo
9232 undo: function () {
9233 var history = e2pdf.history.undoStack.pop();
9234 if (history) {
9235 e2pdf.element.unselect();
9236 if (history.action == 'element_change') {
9237 for (var key in history.elements) {
9238 var buffered = history.elements[key];
9239 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9240 e2pdf.element.initEvents(buffered);
9241 e2pdf.element.select(buffered);
9242 }
9243 } else if (history.action == 'element_create') {
9244 for (var key in history.elements) {
9245 var buffered = history.elements[key];
9246 if (buffered.hasClass('e2pdf-page')) {
9247 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9248 if (jQuery('.e2pdf-page').length == 0) {
9249 e2pdf.history.undo();
9250 }
9251 } else {
9252 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9253 }
9254 }
9255 } else if (history.action == 'element_delete') {
9256 for (var key in history.elements) {
9257 var buffered = history.elements[key];
9258 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9259 page.append(buffered);
9260 e2pdf.element.initEvents(buffered, page);
9261 e2pdf.element.select(buffered);
9262 }
9263 } else if (history.action == 'page_change') {
9264 for (var key in history.elements) {
9265 var buffered = history.elements[key];
9266 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9267 page.data('data-type', 'e2pdf-page');
9268 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9269 if (buffered.css('background-image')) {
9270 page.css('background-image', buffered.css('background-image'));
9271 }
9272 buffered.find('.e2pdf-element').each(function () {
9273 page.append(jQuery(this));
9274 e2pdf.element.initEvents(jQuery(this), page);
9275 });
9276 e2pdf.pages.initEvents(page);
9277 e2pdf.pages.rebuildPages();
9278 }
9279 if (history.data) {
9280 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9281 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9282 }
9283 } else if (history.action == 'page_delete') {
9284 for (var key in history.elements) {
9285 var buffered = history.elements[key];
9286 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9287 page.data('data-type', 'e2pdf-page');
9288 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9289 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9290 if (buffered.attr('data-page_id') == '1') {
9291 jQuery('.e2pdf-tpl-inner').prepend(page);
9292 } else {
9293 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9294 }
9295 if (buffered.css('background-image')) {
9296 page.css('background-image', buffered.css('background-image'));
9297 }
9298 buffered.find('.e2pdf-element').each(function () {
9299 page.append(jQuery(this));
9300 e2pdf.element.initEvents(jQuery(this), page);
9301 });
9302 e2pdf.pages.initEvents(page);
9303 e2pdf.pages.rebuildPages();
9304 }
9305 if (history.data) {
9306 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9307 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9308 }
9309 } else if (history.action == 'wysiwyg') {
9310 for (var key in history.elements) {
9311 var buffered = history.elements[key];
9312 buffered.focus();
9313 document.execCommand('undo');
9314 }
9315 }
9316 if (e2pdf.history.undoStack.length == 0) {
9317 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9318 }
9319 }
9320 },
9321 // e2pdf.history.redo
9322 redo: function () {
9323
9324 },
9325 clear: function () {
9326 e2pdf.history.undoStack = [];
9327 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9328 },
9329 // e2pdf.history.undoStack
9330 undoStack: []
9331 },
9332 // e2pdf.copy
9333 copy: function (key, el) {
9334 e2pdf.element.init(el);
9335 switch (key) {
9336 case 'style':
9337 var data = {
9338 'type': el.data('data-type'),
9339 'fields': e2pdf.properties.getFields(el)
9340 };
9341 e2pdf.storage.set(key, data);
9342 break;
9343 case 'width':
9344 var data = {
9345 'width': e2pdf.properties.getValue(el, 'width', 'float')
9346 };
9347 e2pdf.storage.set(key, data);
9348 break;
9349 case 'height':
9350 var data = {
9351 'height': e2pdf.properties.getValue(el, 'height', 'float')
9352 };
9353 e2pdf.storage.set(key, data);
9354 break;
9355 case 'elements':
9356 var elements = e2pdf.storage.get('elements');
9357 if (elements == null) {
9358 elements = [];
9359 }
9360 var data = {
9361 'type': el.data('data-type'),
9362 'top': el.css('top'),
9363 'left': el.css('left'),
9364 'width': el.css('width'),
9365 'height': el.css('height'),
9366 'fields': e2pdf.properties.getFields(el),
9367 'properties': e2pdf.properties.get(el),
9368 'actions': e2pdf.actions.get(el)
9369 };
9370 elements.push(data);
9371 e2pdf.storage.set(key, elements);
9372 break;
9373 case 'actions':
9374 var data = {
9375 'actions': e2pdf.actions.get(el)
9376 };
9377 e2pdf.storage.set(key, data);
9378 break;
9379 }
9380 },
9381 // e2pdf.paste
9382 paste: function (key, el) {
9383 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9384 switch (key) {
9385 case 'style':
9386 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9387 e2pdf.element.init(el);
9388 var groups = e2pdf.storage.get('style').fields;
9389 for (var group_key in groups) {
9390 var group = groups[group_key];
9391 for (var field_key in group.fields) {
9392 var group_field = group.fields[field_key];
9393 if (group_field.type != 'link') {
9394 if (jQuery.inArray(group_field.key, [
9395 'page_id',
9396 'element_id',
9397 'element_type',
9398 'width',
9399 'height',
9400 'top',
9401 'left',
9402 'name',
9403 'field_name',
9404 'z_index',
9405 'group',
9406 'option',
9407 'options',
9408 'css',
9409 'parent',
9410 'value',
9411 'preg_pattern',
9412 'preg_replacement',
9413 'preg_match_all_pattern',
9414 'preg_match_all_output',
9415 'wysiwyg_disable',
9416 'multipage',
9417 'dynamic_height',
9418 'nl2br',
9419 'hide_if_empty',
9420 'hide_page_if_empty',
9421 'css_priority',
9422 'pdf_resample',
9423 'pdf_append',
9424 'html_worker',
9425 'esig',
9426 'dimension',
9427 'block_dimension',
9428 'keep_lower_size',
9429 'fill_image',
9430 'only_image',
9431 'hl',
9432 'placeholder',
9433 'pdf_page',
9434 'format',
9435 'g_type',
9436 'g_structure_key',
9437 'g_structure_value',
9438 'g_structure_colour',
9439 'g_structure_axis_text',
9440 'g_structure_legend_text',
9441 'g_structure_label',
9442 'g_structure_area',
9443 'g_structure_open',
9444 'g_structure_end',
9445 'g_structure_outliers',
9446 'g_structure_top',
9447 'g_structure_bottom',
9448 'g_structure_wtop',
9449 'g_structure_wbottom',
9450 'g_structure_high',
9451 'g_structure_low',
9452 'g_structured_data',
9453 'g_key_sep',
9454 'g_array_sep',
9455 'g_sub_array_sep',
9456 'g_graph_title',
9457 'g_label_v',
9458 'g_label_h',
9459 'g_legend_title'
9460 ]) === -1) {
9461 e2pdf.properties.set(el, group_field.key, group_field.value);
9462 }
9463 }
9464 }
9465 }
9466 e2pdf.properties.render(el);
9467 }
9468 break;
9469 case 'elements':
9470 case 'elements-in-place':
9471 e2pdf.element.unselect();
9472 var context = jQuery('.e2pdf-context');
9473 var page = context.closest('.e2pdf-page');
9474 var min_top = 99999999;
9475 var min_left = 99999999;
9476 var left_correction = 0;
9477 var top_correction = 0;
9478 if (key !== 'elements-in-place') {
9479 for (var element in e2pdf.storage.get('elements')) {
9480 var buffered = e2pdf.storage.get('elements')[element];
9481 var properties = buffered.properties;
9482 min_top = Math.min(parseFloat(properties['top']), min_top);
9483 min_left = Math.min(parseFloat(properties['left']), min_left);
9484 }
9485 for (var element in e2pdf.storage.get('elements')) {
9486 var buffered = e2pdf.storage.get('elements')[element];
9487 var properties = buffered.properties;
9488 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9489 if (context.hasClass('e2pdf-context-bottom')) {
9490 top += context.height();
9491 }
9492 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9493 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9494 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9495 left_correction = Math.max(correction, left_correction);
9496 }
9497 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9498 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9499 top_correction = Math.max(correction, top_correction);
9500 }
9501 }
9502 }
9503
9504 var history = [];
9505 for (var element in e2pdf.storage.get('elements')) {
9506 var buffered = e2pdf.storage.get('elements')[element];
9507 var properties = buffered.properties;
9508 var actions = buffered.actions;
9509 if (key !== 'elements-in-place') {
9510 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9511 if (context.hasClass('e2pdf-context-bottom')) {
9512 top += context.height();
9513 }
9514 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9515 properties['top'] = top;
9516 properties['left'] = left;
9517 }
9518 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9519 page.append(el);
9520 e2pdf.properties.render(el);
9521 e2pdf.element.select(el);
9522 history.push(el.clone(true));
9523 }
9524 e2pdf.history.set('element_create', history);
9525 e2pdf.event.fire('after.element.paste');
9526 break;
9527 case 'actions':
9528 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9529 break;
9530 case 'width':
9531 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9532 e2pdf.properties.render(el);
9533 break;
9534 case 'height':
9535 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9536 e2pdf.properties.render(el);
9537 break;
9538 }
9539 }
9540 },
9541 // e2pdf.wysiwyg
9542 wysiwyg: {
9543 // e2pdf.wysiwyg.apply
9544 apply: function (el) {
9545 var history = [];
9546 history.push(el);
9547 e2pdf.history.set('wysiwyg', history);
9548 var html = '';
9549 var command = el.attr('data-command');
9550 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9551 if (command === 'H1') {
9552 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9553 e2pdf.wysiwyg.clear('h1');
9554 } else {
9555 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9556 document.execCommand('insertHTML', false, html);
9557 }
9558 } else if (command === 'H2') {
9559 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9560 e2pdf.wysiwyg.clear('h2');
9561 } else {
9562 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9563 document.execCommand('insertHTML', false, html);
9564 }
9565 } else if (command === 'createlink') {
9566 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9567 document.execCommand(command, false, url);
9568 } else if (command === 'font-size') {
9569 var font_size = el.find('option:selected').html();
9570 if (node.is("span") && document.getSelection().toString() === node.text()) {
9571 html = node.css('font-size', font_size + "px").prop('outerHTML');
9572 } else {
9573 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9574 }
9575 document.execCommand('insertHTML', false, html);
9576 el.val('');
9577 } else if (command === 'line-height') {
9578 var font_size = el.find('option:selected').html();
9579 if (node.is("span") && document.getSelection().toString() === node.text()) {
9580 html = node.css('line-height', font_size + "px").prop('outerHTML');
9581 } else {
9582 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9583 }
9584 document.execCommand('insertHTML', false, html);
9585 el.val('');
9586 } else if (command === 'font') {
9587 e2pdf.font.load(el);
9588 var font = CSS.escape(el.find('option:selected').html());
9589 if (node.is("span") && document.getSelection().toString() === node.text()) {
9590 html = node.css('font-family', font).prop('outerHTML');
9591 } else {
9592 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9593 }
9594 document.execCommand('insertHTML', false, html);
9595 el.val('');
9596 } else if (command === 'color') {
9597 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9598 var color = el.val();
9599 document.execCommand('foreColor', false, color);
9600 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9601 } else if (command === 'clear') {
9602 document.execCommand("removeformat", false, "");
9603 e2pdf.wysiwyg.clear();
9604 } else if (command) {
9605 document.execCommand(command, false, null);
9606 }
9607 e2pdf.event.fire('after.wysiwyg.apply');
9608 },
9609 // e2pdf.wysiwyg.clear
9610 clear: function (tags) {
9611 if (!tags) {
9612 var tags = "h1,h2";
9613 }
9614 var array = tags.toLowerCase().split(",");
9615 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9616 if (node.nodeType === 1 &&
9617 array.indexOf(node.tagName.toLowerCase()) > -1) {
9618 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9619 }
9620 });
9621 },
9622 // e2pdf.wysiwyg.helper
9623 helper: {
9624 // e2pdf.wysiwyg.helper.getSelectedNodes
9625 getSelectedNodes: function () {
9626 var nodes = [];
9627 if (window.getSelection) {
9628 var sel = window.getSelection();
9629 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9630 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9631 }
9632 }
9633 return nodes;
9634 },
9635 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9636 replaceWithOwnChildren: function (el) {
9637 var parent = el.parentNode;
9638 while (el.hasChildNodes()) {
9639 parent.insertBefore(el.firstChild, el);
9640 }
9641 parent.removeChild(el);
9642 },
9643 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9644 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9645 var node = range.startContainer;
9646 var endNode = range.endContainer;
9647 var rangeNodes = [];
9648 if (node === endNode) {
9649 rangeNodes = [node];
9650 } else {
9651 while (node && node !== endNode) {
9652 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9653 }
9654 node = range.startContainer;
9655 while (node && node !== range.commonAncestorContainer) {
9656 rangeNodes.unshift(node);
9657 node = node.parentNode;
9658 }
9659 }
9660
9661 if (includePartiallySelectedContainers) {
9662 node = range.commonAncestorContainer;
9663 while (node) {
9664 rangeNodes.push(node);
9665 node = node.parentNode;
9666 }
9667 }
9668
9669 return rangeNodes;
9670 },
9671 // e2pdf.wysiwyg.helper.getSelectedNode
9672 getSelectedNode: function () {
9673 var node, selection;
9674 if (window.getSelection) {
9675 selection = getSelection();
9676 node = selection.anchorNode;
9677 }
9678 if (!node && document.selection) {
9679 selection = document.selection;
9680 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9681 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9682 range.parentElement ? range.parentElement() : range.item(0);
9683 }
9684 if (node) {
9685 return (node.nodeName === "#text" ? node.parentNode : node);
9686 }
9687 },
9688 // e2pdf.wysiwyg.helper.nextNode
9689 nextNode: function (node) {
9690 if (node.hasChildNodes()) {
9691 return node.firstChild;
9692 } else {
9693 while (node && !node.nextSibling) {
9694 node = node.parentNode;
9695 }
9696 if (!node) {
9697 return null;
9698 }
9699 return node.nextSibling;
9700 }
9701 },
9702 // e2pdf.wysiwyg.helper.getSelectionHtml
9703 getSelectionHtml: function () {
9704 var html = "";
9705 if (typeof window.getSelection != 'undefined') {
9706 var sel = window.getSelection();
9707 if (sel.rangeCount) {
9708 var container = document.createElement("div");
9709 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9710 container.appendChild(sel.getRangeAt(i).cloneContents());
9711 }
9712 html = container.innerHTML;
9713 }
9714 } else if (typeof document.selection != 'undefined') {
9715 if (document.selection.type === "Text") {
9716 html = document.selection.createRange().htmlText;
9717 }
9718 }
9719 return html;
9720 },
9721 // e2pdf.wysiwyg.helper.saveSelection
9722 saveSelection: function () {
9723 if (window.getSelection) {
9724 sel = window.getSelection();
9725 if (sel.getRangeAt && sel.rangeCount) {
9726 return sel.getRangeAt(0);
9727 }
9728 } else if (document.selection && document.selection.createRange) {
9729 return document.selection.createRange();
9730 }
9731 return null;
9732 },
9733 // e2pdf.wysiwyg.helper.restoreSelection
9734 restoreSelection: function (range) {
9735 if (range) {
9736 if (window.getSelection) {
9737 sel = window.getSelection();
9738 sel.removeAllRanges();
9739 sel.addRange(range);
9740 } else if (document.selection && range.select) {
9741 range.select();
9742 }
9743 }
9744 },
9745 // e2pdf.wysiwyg.helper.dropSelection
9746 dropSelection: function () {
9747 if (window.getSelection) {
9748 sel = window.getSelection();
9749 sel.removeAllRanges();
9750 }
9751 }
9752 }
9753 },
9754 // e2pdf.visual
9755 visual: {
9756 // e2pdf.visual.mapper
9757 mapper: {
9758 cursorPosStart: null,
9759 cursorPosEnd: null,
9760 cursorRange: null,
9761 selected: null,
9762 // e2pdf.visual.mapper.init
9763 init: function (el) {
9764 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9765 if (el.find('.e2pdf-inner-element').is('div')) {
9766 if (window.getSelection) {
9767 sel = window.getSelection();
9768 if (sel.getRangeAt && sel.rangeCount) {
9769 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9770 }
9771 } else if (document.selection && document.selection.createRange) {
9772 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9773 }
9774 e2pdf.visual.mapper.cursorPosStart = null;
9775 e2pdf.visual.mapper.cursorPosEnd = null;
9776 } else {
9777 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9778 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9779 e2pdf.visual.mapper.cursorRange = null;
9780 }
9781 } else {
9782 e2pdf.visual.mapper.cursorPosStart = null;
9783 e2pdf.visual.mapper.cursorPosEnd = null;
9784 e2pdf.visual.mapper.cursorRange = null;
9785 }
9786
9787 e2pdf.visual.mapper.selected = el;
9788 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9789 e2pdf.dialog.create(modal);
9790 },
9791 // e2pdf.visual.mapper.markup
9792 markup: function () {
9793 e2pdf.dialog.rebuild();
9794 },
9795 // e2pdf.visual.mapper.rebuild
9796 rebuild: function () {
9797 if (jQuery('.e2pdf-vm-content').length > 0) {
9798 var vc_content = jQuery('.e2pdf-vm-content');
9799 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9800 jQuery('.e2pdf-vm-wrapper').remove();
9801 }
9802 vc_content.find('input[type="hidden"]').each(function () {
9803 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9804 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9805 jQuery(this).attr('value', jQuery(this).attr('name'));
9806 }
9807 });
9808 if (e2pdf.static.vm.hidden) {
9809 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9810 jQuery(this).attr('type', 'text');
9811 });
9812 } else {
9813 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9814 jQuery(this).attr('type', 'hidden');
9815 });
9816 }
9817
9818 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9819 vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="time"], button[type="upload"], textarea, select').each(function () {
9820 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9821 });
9822 vc_content.append(vc_wrapper);
9823 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9824 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9825 }
9826 }
9827 },
9828 // e2pdf.visual.mapper.clear
9829 clear: function () {
9830 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9831 jQuery('.e2pdf-vm-wrapper').remove();
9832 }
9833 },
9834 // e2pdf.visual.mapper.load
9835 load: function (el) {
9836 var loaded = false;
9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9839 var width = el.css('width');
9840 var height = el.css('height');
9841 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9842 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9843 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9844 'width': width, 'height': height, 'top': top, 'left': left
9845 });
9846 var name = el.attr('name');
9847 var type = el.attr('type');
9848 var value = el.attr('value');
9849 if (el.is('select')) {
9850 type = 'select';
9851 value = '';
9852 el.find('option').each(function () {
9853 value += jQuery(this).attr('value');
9854 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9855 value += "\n";
9856 }
9857 });
9858 }
9859
9860 loaded.data('name', name);
9861 loaded.data('type', type);
9862 loaded.data('value', value);
9863 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9864 }
9865 return loaded;
9866 },
9867 // e2pdf.visual.mapper.apply
9868 apply: function (el) {
9869 if (e2pdf.visual.mapper.selected) {
9870 var history = [];
9871 history.push(e2pdf.visual.mapper.selected.clone(true));
9872 e2pdf.history.set('element_change', history);
9873 var name = el.data('name');
9874 var group = el.data('name');
9875 var value = el.data('value');
9876 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9877 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9878 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9879 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9880 var final = textBefore + name + textAfter;
9881 if (!e2pdf.static.vm.replace) {
9882 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9883 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9884 } else {
9885 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9886 }
9887 name = final;
9888 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9889 e2pdf.visual.mapper.cursorRange.deleteContents();
9890 var node = document.createTextNode(name);
9891 e2pdf.visual.mapper.cursorRange.insertNode(node);
9892 } else {
9893 if (!e2pdf.static.vm.replace) {
9894 e2pdf.element.init(e2pdf.visual.mapper.selected);
9895 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9896 }
9897 }
9898 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9899 case 'e2pdf-checkbox':
9900 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9901 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9902 break;
9903 case 'e2pdf-radio':
9904 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9905 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9906 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9907 break;
9908 case 'e2pdf-select':
9909 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9910 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9911 break;
9912 case 'e2pdf-image':
9913 case 'e2pdf-qrcode':
9914 case 'e2pdf-barcode':
9915 case 'e2pdf-graph':
9916 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9917 break;
9918 default:
9919 if (e2pdf.visual.mapper.cursorRange === null) {
9920 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9921 }
9922 break;
9923 }
9924 if (e2pdf.visual.mapper.cursorRange === null) {
9925 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9926 }
9927 }
9928 if (e2pdf.static.vm.close) {
9929 e2pdf.dialog.close();
9930 }
9931 }
9932 }
9933 },
9934 zoom: {
9935 scale: 1,
9936 click: {
9937 x: 0,
9938 y: 0
9939 },
9940 apply: function (el) {
9941 const scale = Number(el.val()) / 100;
9942 e2pdf.zoom.scale = scale;
9943 const tpl = jQuery('.e2pdf-tpl');
9944 const inner = jQuery('.e2pdf-tpl-inner');
9945 document.documentElement.style.setProperty('--e2pdf-scale', scale);
9946 document.documentElement.style.setProperty('--e2pdf-scale-width', `${Math.max(100, 100 / scale)}%`);
9947 tpl.toggleClass('e2pdf-zoom', scale !== 1);
9948 tpl.scrollLeft(((inner.width() * e2pdf.zoom.scale) - tpl.width()) / 2);
9949 }
9950 }
9951 };
9952 jQuery(window).resize(function () {
9953 e2pdf.visual.mapper.clear();
9954 if (e2pdf.static.observer !== null) {
9955 e2pdf.static.observer.disconnect();
9956 e2pdf.static.observer = null;
9957 }
9958 if (this.e2pdfResizeTO) {
9959 clearTimeout(this.e2pdfResizeTO);
9960 }
9961 this.e2pdfResizeTO = setTimeout(function () {
9962 jQuery(this).trigger('e2pdfResizeEnd');
9963 }, 500);
9964 });
9965 jQuery(document).on('click', '.notice-dismiss', function (e) {
9966 jQuery(this).parent().addClass('e2pdf-hide');
9967 jQuery(this).trigger('e2pdfResizeEnd');
9968 });
9969 jQuery(window).bind('e2pdfResizeEnd', function () {
9970 e2pdf.dialog.rebuild();
9971 });
9972 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9973 var collapse = jQuery(this).attr('data-collapse');
9974 if (collapse) {
9975 if (jQuery(this).is(':checked')) {
9976 jQuery('.' + collapse).removeClass('e2pdf-hide');
9977 } else {
9978 jQuery('.' + collapse).addClass('e2pdf-hide');
9979 }
9980 }
9981 });
9982 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9983
9984 const form = jQuery(this).closest('form');
9985 const value = jQuery(this).val();
9986 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9987 if (value == '1') {
9988 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9989 } else if (value == '2') {
9990 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9991 }
9992
9993 form.off('submit.confirmOverwrite');
9994 if (value == '1' || value == '2' || value == '3') {
9995 form.on('submit.confirmOverwrite', function (e) {
9996 let message = '';
9997 if (value == '3') {
9998 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9999 } else {
10000 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
10001 if (!template_id) {
10002 return true;
10003 }
10004 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
10005 }
10006 if (!confirm(message)) {
10007 e.preventDefault();
10008 return false;
10009 }
10010 });
10011 }
10012 });
10013 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
10014 if (jQuery(this).val() == 'attachment') {
10015 jQuery(this).closest('form').removeAttr('target');
10016 } else {
10017 jQuery(this).closest('form').attr('target', '_blank');
10018 }
10019 });
10020 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
10021 var collapse = jQuery(this).attr('data-collapse');
10022 if (collapse) {
10023 if (jQuery(this).hasClass('e2pdf-collapsed')) {
10024 jQuery('.' + collapse).addClass('e2pdf-hide');
10025 jQuery(this).removeClass('e2pdf-collapsed');
10026 } else {
10027 jQuery('.' + collapse).removeClass('e2pdf-hide');
10028 jQuery(this).addClass('e2pdf-collapsed');
10029 }
10030 }
10031 });
10032 jQuery(document).ready(function () {
10033 jQuery('body').removeClass('e2pdf-loading');
10034 if (jQuery('.e2pdf-select2').length > 0) {
10035 jQuery('.e2pdf-select2').attr('disabled', false);
10036 }
10037 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
10038 e.stopPropagation();
10039 e.preventDefault();
10040 e.stopImmediatePropagation();
10041 return false;
10042 });
10043 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
10044 var parent = jQuery(this).closest('.e2pdf-grid');
10045 var argument = parent.find('.e2pdf-argument').first().clone();
10046 var index = parent.find('.e2pdf-argument').length + 1;
10047 argument.find('input').val('').attr('placeholder', 'arg' + index);
10048 argument.appendTo(parent.find('.e2pdf-arguments'));
10049 });
10050 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
10051 var parent = jQuery(this).closest('.e2pdf-grid');
10052 if (parent.find('.e2pdf-argument').length > 1) {
10053 parent.find('.e2pdf-argument').last().remove();
10054 }
10055 });
10056 jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
10057 var parent = jQuery('.e2pdf-search-replaces').first();
10058 var search_replace = parent.find('.e2pdf-search-replace').first().clone();
10059 search_replace.find('textarea').val('');
10060 search_replace.appendTo(parent);
10061 });
10062 jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
10063 var parent = jQuery(this).closest('.e2pdf-search-replace');
10064 if (parent) {
10065 parent.remove();
10066 }
10067 });
10068 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
10069 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
10070 var form = jQuery(this).closest('form');
10071 if (form.attr('id') === 'e2pdf-tpl-actions') {
10072 var element = jQuery('.e2pdf-tpl');
10073 } else if (form.attr('id') === 'e2pdf-page-options') {
10074 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
10075 } else {
10076 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10077 }
10078 e2pdf.actions.add(element, actions);
10079 });
10080 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
10081 var action_conditions = jQuery(this).closest('.e2pdf-action');
10082 var form = jQuery(this).closest('form');
10083 if (form.attr('id') === 'e2pdf-tpl-actions') {
10084 var element = jQuery('.e2pdf-tpl');
10085 } else if (form.attr('id') === 'e2pdf-page-options') {
10086 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
10087 } else {
10088 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10089 }
10090
10091 e2pdf.actions.conditions.add(element, action_conditions);
10092 });
10093 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
10094 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
10095 return false;
10096 }
10097 var action = jQuery(this).closest('.e2pdf-action');
10098 e2pdf.actions.delete(action);
10099 });
10100 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
10101 var action = jQuery(this).closest('.e2pdf-action');
10102 e2pdf.actions.duplicate(action);
10103 });
10104 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
10105 var action = jQuery(this).closest('.e2pdf-action');
10106 if (action.find('.e2pdf-condition').length === 1) {
10107 alert(e2pdf.lang.get('Last condition can\'t be removed'));
10108 return false;
10109 }
10110 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
10111 return false;
10112 }
10113 var condition = jQuery(this).closest('.e2pdf-condition');
10114 e2pdf.actions.conditions.delete(condition);
10115 });
10116 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
10117 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
10118 });
10119 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
10120 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
10121 return false;
10122 }
10123 var history = [];
10124 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10125 var el = jQuery(this);
10126 history.push(el.clone(true));
10127 el.css('background', '');
10128 });
10129 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
10130 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
10131 });
10132 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
10133 e2pdf.zoom.apply(jQuery(this));
10134 });
10135 jQuery(document).on('change', '.e2pdf-extension', function (e) {
10136 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
10137 });
10138 jQuery(document).on('change', '.e2pdf-item', function (e) {
10139 if (jQuery(this).val() == '-1') {
10140 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10141 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10142 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10143 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10144 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10145 } else if (jQuery(this).val() == '-2') {
10146 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10147 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10148 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10149 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10150 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
10151 } else {
10152 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10153 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10154 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10155 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10156 }
10157 });
10158 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
10159 var action = jQuery(this).closest('.e2pdf-action');
10160 e2pdf.actions.change(action, jQuery(this));
10161 });
10162 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10163 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
10164 var tab = jQuery(this);
10165 tab.closest('ul').find('li').removeClass('active');
10166 tab.parent('li').addClass('active');
10167 jQuery(document.getElementById(tab.attr('data-tab'))).show();
10168 });
10169 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
10170 var parent = jQuery(this).closest('.e2pdf-closed');
10171 if (parent.hasClass('e2pdf-opened')) {
10172 parent.removeClass('e2pdf-opened');
10173 } else {
10174 jQuery('.e2pdf-closed').each(function () {
10175 jQuery(this).removeClass('e2pdf-opened');
10176 });
10177 parent.addClass('e2pdf-opened');
10178 }
10179 });
10180 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
10181 e.preventDefault();
10182 var el = jQuery(this);
10183 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10184 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10185 return false;
10186 }
10187 }
10188 if (el.attr('form-id') == 'license_key') {
10189 if (el.closest('form').find('input[name="license_key"]').val().trim() == '' && !confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10190 return false;
10191 }
10192 }
10193 e2pdf.request.submitForm(el);
10194 });
10195 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
10196 var el = jQuery(this);
10197 if (el.hasClass('e2pdf-noclose')) {
10198 e2pdf.request.submitLocal(el, true);
10199 } else {
10200 e2pdf.request.submitLocal(el);
10201 }
10202 });
10203 jQuery(document).on('click', '.e2pdf-delete', function (e) {
10204 var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements will be removed! Continue?') : e2pdf.lang.get('Element will be removed! Continue?');
10205 if (!confirm(message)) {
10206 e2pdf.delete('.e2pdf-context');
10207 return false;
10208 }
10209 var history = [];
10210 for (var key in e2pdf.element.selected) {
10211 var selected = e2pdf.element.selected[key];
10212 e2pdf.element.init(selected);
10213 history.push(selected.clone(true));
10214 e2pdf.element.delete(selected);
10215 }
10216 e2pdf.history.set('element_delete', history);
10217 e2pdf.element.unselect();
10218 });
10219 jQuery(document).on('click', '.e2pdf-copy', function (e) {
10220 var type = jQuery(this).attr('type');
10221 if (type == 'elements') {
10222 e2pdf.storage.delete('elements');
10223 }
10224 for (var key in e2pdf.element.selected) {
10225 var selected = e2pdf.element.selected[key];
10226 e2pdf.copy(type, selected);
10227 }
10228 });
10229 jQuery(document).on('click', '.e2pdf-paste', function (e) {
10230 var type = jQuery(this).attr('type');
10231 if (type == 'elements' || type == 'elements-in-place') {
10232 e2pdf.paste(type);
10233 } else {
10234 var history = [];
10235 for (var key in e2pdf.element.selected) {
10236 var selected = e2pdf.element.selected[key];
10237 history.push(selected.clone(true));
10238 e2pdf.paste(type, selected);
10239 }
10240 e2pdf.history.set('element_change', history);
10241 }
10242 });
10243 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10244 var history = [];
10245 for (var key in e2pdf.element.selected) {
10246 var selected = e2pdf.element.selected[key];
10247 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10248 history.push(selected.clone(true));
10249 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10250 }
10251 }
10252 e2pdf.history.set('element_change', history);
10253 });
10254 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10255 var history = [];
10256 for (var key in e2pdf.element.selected) {
10257 var selected = e2pdf.element.selected[key];
10258 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10259 history.push(selected.clone(true));
10260 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10261 e2pdf.properties.render(selected);
10262 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10263 history.push(selected.clone(true));
10264 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10265 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10266 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10267 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10268 e2pdf.properties.render(selected);
10269 }
10270 }
10271 e2pdf.history.set('element_change', history);
10272 });
10273 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10274 e2pdf.storage.delete('elements');
10275 var history = [];
10276 for (var key in e2pdf.element.selected) {
10277 var selected = e2pdf.element.selected[key];
10278 e2pdf.element.init(selected);
10279 history.push(selected.clone(true));
10280 e2pdf.copy('elements', selected);
10281 e2pdf.element.delete(selected);
10282 }
10283 e2pdf.history.set('element_delete', history);
10284 });
10285 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10286 e.preventDefault();
10287 e.stopPropagation();
10288 e.stopImmediatePropagation();
10289 });
10290 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10291 jQuery(this).find('ul').show();
10292 });
10293 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10294 jQuery(this).find('ul').hide();
10295 });
10296 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10297 for (var key in e2pdf.element.selected) {
10298 var selected = e2pdf.element.selected[key];
10299 selected.addClass('e2pdf-focused');
10300 }
10301 });
10302 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10303 for (var key in e2pdf.element.selected) {
10304 var selected = e2pdf.element.selected[key];
10305 e2pdf.element.hide(selected);
10306 }
10307 });
10308 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10309 for (var key in e2pdf.element.selected) {
10310 var selected = e2pdf.element.selected[key];
10311 e2pdf.element.show(selected);
10312 }
10313 });
10314 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10315 for (var key in e2pdf.element.selected) {
10316 var selected = e2pdf.element.selected[key];
10317 e2pdf.properties.set(selected, 'locked', '1');
10318 selected.addClass('e2pdf-locked');
10319 }
10320 });
10321 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10322 for (var key in e2pdf.element.selected) {
10323 var selected = e2pdf.element.selected[key];
10324 e2pdf.properties.set(selected, 'locked', '0');
10325 selected.removeClass('e2pdf-locked');
10326 }
10327 });
10328 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10329 return false;
10330 });
10331 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10332 return false;
10333 });
10334 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10335 if (jQuery(this).hasClass('e2pdf-inactive')) {
10336 jQuery('html').addClass('e2pdf-show-all-elements');
10337 jQuery(this).removeClass('e2pdf-inactive');
10338 } else {
10339 jQuery('html').removeClass('e2pdf-show-all-elements');
10340 jQuery(this).addClass('e2pdf-inactive');
10341 }
10342 });
10343 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10344 if (jQuery(this).hasClass('e2pdf-inactive')) {
10345 jQuery('html').addClass('e2pdf-unlock-all-elements');
10346 jQuery(this).removeClass('e2pdf-inactive');
10347 } else {
10348 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10349 jQuery(this).addClass('e2pdf-inactive');
10350 }
10351 });
10352 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10353 if (jQuery(this).hasClass('e2pdf-inactive')) {
10354 jQuery(this).removeClass('e2pdf-inactive');
10355 } else {
10356 jQuery(this).addClass('e2pdf-inactive');
10357 }
10358 jQuery('.e2pdf-html').each(function () {
10359 var el = jQuery(this).parent();
10360 var children = jQuery(this);
10361 if (children.is('textarea')) {
10362 e2pdf.properties.set(el, 'value', children.val());
10363 } else {
10364 e2pdf.properties.set(el, 'value', children.html());
10365 }
10366 e2pdf.properties.render(el);
10367 });
10368 });
10369 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10370 if (e2pdf.pdf.settings.get('pdf')) {
10371 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10372 } else if (e2pdf_params['license_type'] == 'FREE') {
10373 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10374 } else {
10375 e2pdf.pages.createPage();
10376 }
10377 });
10378 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10379 e2pdf.history.undo();
10380 });
10381 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10382 e2pdf.history.redo();
10383 });
10384 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10385 if (e2pdf.url.get('revision_id')) {
10386 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10387 return false;
10388 }
10389 e2pdf.createPdf(jQuery(this));
10390 });
10391 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10392 e2pdf.pages.movePage(jQuery(this), 'up');
10393 });
10394 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10395 e2pdf.pages.movePage(jQuery(this), 'down');
10396 });
10397 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10398 if (e2pdf.pdf.settings.get('pdf')) {
10399 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10400 return false;
10401 }
10402 var history = [];
10403 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10404 var el = jQuery(this);
10405 history.push(el.closest('.e2pdf-page').clone(true));
10406 e2pdf.pages.deletePage(el);
10407 });
10408 history.reverse();
10409 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10410 } else {
10411 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10412 return false;
10413 }
10414 var el = jQuery(jQuery(this));
10415 var history = [];
10416 history.push(el.closest('.e2pdf-page').clone(true));
10417 e2pdf.history.set('page_delete', history);
10418 e2pdf.pages.deletePage(el);
10419 }
10420 });
10421 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10422 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10423 return false;
10424 }
10425 var history = [];
10426 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10427 var el = jQuery(this);
10428 history.push(el.closest('.e2pdf-page').clone(true));
10429 e2pdf.pages.deletePage(el);
10430 });
10431 history.reverse();
10432 if (e2pdf.pdf.settings.get('pdf')) {
10433 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10434 } else {
10435 e2pdf.history.set('page_delete', history);
10436 }
10437 });
10438 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10439 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10440 return false;
10441 }
10442 var el = jQuery(jQuery(this));
10443 e2pdf.font.delete(el);
10444 });
10445 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10446 e2pdf.dialog.create(jQuery(this));
10447 });
10448 jQuery(document).on('click', 'body', function (e) {
10449 e2pdf.delete('.e2pdf-context');
10450 });
10451 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10452 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10453 });
10454 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10455 if (jQuery(this).is('select')) {
10456 var data = {};
10457 data['id'] = jQuery('.e2pdf-export-template').val();
10458 data['datasets'] = {};
10459 jQuery('.e2pdf-export-dataset').each(function () {
10460 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10461 });
10462 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10463 }
10464 });
10465 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10466 var data = {};
10467 data['id'] = jQuery('.e2pdf-export-template').val();
10468 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10469 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10470 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10471 });
10472 jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10473 if (jQuery(this).is(':checked')) {
10474 if (jQuery(this).val() == '') {
10475 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10476 }
10477 } else {
10478 if (jQuery(this).val() == '') {
10479 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10480 } else {
10481 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10482 }
10483 }
10484
10485 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10486 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10487 }
10488
10489 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10490 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10491 } else {
10492 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10493 }
10494 });
10495 jQuery(document).on('change', '#e2pdf-font', function (e) {
10496 e2pdf.font.load(jQuery(this));
10497 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10498 });
10499 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10500 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10501 });
10502 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10503 var text_align = jQuery(this).val();
10504 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10505 if (
10506 jQuery(this).data('data-type') == 'e2pdf-input'
10507 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10508 || jQuery(this).data('data-type') == 'e2pdf-html'
10509 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10510 || jQuery(this).data('data-type') == 'e2pdf-link'
10511 ) {
10512 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10513 var children = e2pdf.element.children(jQuery(this));
10514 children.css('text-align', text_align);
10515 }
10516 }
10517 });
10518 });
10519 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10520 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10521 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10522 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10523 (e.shiftKey === true && e.keyCode === 187) ||
10524 (e.keyCode >= 35 && e.keyCode <= 40)
10525 ) {
10526
10527 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10528 e.preventDefault();
10529 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10530 e.preventDefault();
10531 } else {
10532 return;
10533 }
10534 }
10535 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10536 e.preventDefault();
10537 }
10538 });
10539 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10540 if (e.which == 13) {
10541 e.preventDefault();
10542 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10543 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10544 } else {
10545 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10546 }
10547 }
10548 });
10549 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10550 var value = jQuery(this).val().trim();
10551 var prefix = '';
10552 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10553 prefix = '+';
10554 }
10555 value = parseFloat(value);
10556 if (isNaN(value)) {
10557 value = 0;
10558 }
10559 jQuery(this).val(prefix + value);
10560 });
10561 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10562 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10563 });
10564 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10565 if (jQuery(this).is(':checked')) {
10566 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10567 } else {
10568 jQuery('.e2pdf-tpl').attr('dir', false);
10569 }
10570 });
10571 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10572 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10573 });
10574 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10575 e.preventDefault();
10576 for (var key in e2pdf.element.selected) {
10577 var selected = e2pdf.element.selected[key];
10578 e2pdf.mediaUploader.init(selected);
10579 }
10580 });
10581 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10582 for (var key in e2pdf.element.selected) {
10583 var selected = e2pdf.element.selected[key];
10584 e2pdf.visual.mapper.init(selected);
10585 }
10586 });
10587 document.addEventListener('selectionchange', function () {
10588 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10589 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10590 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10591 const selection = window.getSelection();
10592 if (selection && selection.toString().length == 0) {
10593 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10594 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10595 }
10596 } else {
10597 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10598 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10599 }
10600 });
10601 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10602 e.preventDefault();
10603 if (jQuery(this).hasClass('e2pdf-inactive')) {
10604 return;
10605 }
10606 e2pdf.wysiwyg.apply(jQuery(this));
10607 });
10608 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10609 e.preventDefault();
10610 e.stopPropagation();
10611 e.stopImmediatePropagation();
10612 if (jQuery(this).hasClass('e2pdf-inactive')) {
10613 return;
10614 }
10615 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10616 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10617 if (!color_panel.hasClass('wp-picker-active')) {
10618 color_panel.find('.wp-color-result').click();
10619 if (color_panel.find('.wp-color-close').length === 0) {
10620 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10621 var width = parseFloat(jQuery(this).css('width'));
10622 var height = parseFloat(jQuery(this).css('height'));
10623 close.css({'width': width, "height": height, "margin-top": -height});
10624 color_panel.append(close);
10625 }
10626 }
10627 });
10628 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10629 e.preventDefault();
10630 e.stopPropagation();
10631 e.stopImmediatePropagation();
10632 if (jQuery(this).hasClass('e2pdf-inactive')) {
10633 return;
10634 }
10635 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10636 if (gridContainer.hasClass('e2pdf-hide')) {
10637 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10638 gridContainer.removeClass('e2pdf-hide').empty();
10639 for (let i = 0; i < 100; i++) {
10640 let gridItem = jQuery('<div>');
10641 gridItem.on('mouseover', function () {
10642 let rowCol = calculateRowCol(i);
10643 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10644 });
10645 gridItem.on('mouseout', function () {
10646 highlightGrid(gridContainer, 0, 0);
10647 });
10648 gridItem.on('click', function () {
10649 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10650 let rowCol = calculateRowCol(i);
10651 let html = '<table>\n';
10652 for (let r = 0; r < rowCol.rows; r++) {
10653 html += '<tr>\n';
10654 for (let c = 0; c < rowCol.cols; c++) {
10655 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10656 }
10657 html += '</tr>\n';
10658 }
10659 html += '</table>\n';
10660 document.execCommand('insertHTML', false, html);
10661 gridContainer.addClass('e2pdf-hide');
10662 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10663 });
10664 gridContainer.append(gridItem);
10665 }
10666 gridContainer.append(jQuery('<span>').text('0x0'));
10667 } else {
10668 gridContainer.addClass('e2pdf-hide');
10669 }
10670 function calculateRowCol(index) {
10671 let rows = Math.floor(index / 10) + 1;
10672 let cols = (index % 10) + 1;
10673 return {rows, cols};
10674 }
10675 function highlightGrid(gridContainer, rows, cols) {
10676 gridContainer.find('div').each(function (idx) {
10677 let itemRowCol = calculateRowCol(idx);
10678 gridContainer.find('span').text(rows + 'x' + cols);
10679 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10680 jQuery(this).addClass('e2pdf-highlight');
10681 } else {
10682 jQuery(this).removeClass('e2pdf-highlight');
10683 }
10684 });
10685 }
10686 });
10687 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10688 e2pdf.wysiwyg.apply(jQuery(this));
10689 });
10690 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10691 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10692 });
10693 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10694 if (e2pdf.url.get('revision_id')) {
10695 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10696 return false;
10697 }
10698
10699 var message = "";
10700 if (e2pdf.static.unsaved) {
10701 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10702 }
10703 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10704 jQuery(this).attr('disabled', 'disabled');
10705 jQuery(this).closest('form').append(
10706 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10707 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10708 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10709 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10710 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10711 ),
10712 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10713 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10714 )
10715 )
10716 )
10717 );
10718 });
10719 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10720 if (e2pdf.static.unsaved) {
10721 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10722 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10723 jQuery(this).val(revision_id);
10724 return false;
10725 }
10726 }
10727 e2pdf.static.unsaved = false;
10728 var revision_id = jQuery(this).val();
10729 var template_id = e2pdf.pdf.settings.get('ID');
10730 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10731 if (revision_id === '0') {
10732 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10733 }
10734 jQuery(this).attr('disabled', 'disabled');
10735 location.href = url;
10736 });
10737 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10738 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10739 return false;
10740 }
10741 jQuery('html').addClass('e2pdf-loading');
10742 var data = {};
10743 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10744 });
10745 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10746 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10747 return false;
10748 }
10749 jQuery('html').addClass('e2pdf-loading');
10750 var data = {};
10751 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10752 });
10753 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10754 jQuery(this).closest('.e2pdf-confirmation').remove();
10755 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10756 jQuery('.e2pdf-reupload-pdf').click();
10757 });
10758 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10759 jQuery(this).closest('.e2pdf-confirmation').remove();
10760 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10761 });
10762 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10763 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10764 });
10765 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10766 jQuery(this).autocomplete("search", "");
10767 });
10768 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10769 if (!jQuery(this).is(':checked')) {
10770 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10771 return false;
10772 }
10773 }
10774 });
10775 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10776 e2pdf.event.fire('after.settings.style.change');
10777 });
10778 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10779 e2pdf.event.fire('after.settings.template.change');
10780 });
10781 jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10782 var form = jQuery(this).closest('form');
10783 var field = jQuery(this).attr('field');
10784 var search = jQuery(this).val();
10785 var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10786 var options = fieldset.data('options');
10787 var regex = new RegExp(search, "gi");
10788 fieldset.empty();
10789 jQuery.each(options, function (i) {
10790 var option = options[i];
10791 if (i == 0 || option.value.match(regex) !== null) {
10792 fieldset.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': field + '[]', 'type': 'checkbox', 'value': option.key}))));
10793 }
10794 });
10795 fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10796 if (fieldset.find('input[type="checkbox"]').length > 1) {
10797 form.find('.e2pdf-submit-form').attr('disabled', false);
10798 } else {
10799 fieldset.find('input[type="checkbox"]').attr('disabled', true);
10800 form.find('.e2pdf-submit-form').attr('disabled', true);
10801 }
10802 if (this.changeTrigger) {
10803 clearTimeout(this.changeTrigger);
10804 }
10805 this.changeTrigger = setTimeout(function () {
10806 fieldset.trigger('change');
10807 }, 1000);
10808 });
10809 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10810 if (jQuery(this).val() !== '') {
10811 var form = jQuery(this).closest('form');
10812 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10813 form.find('input[name="width"]').val(size.width);
10814 form.find('input[name="height"]').val(size.height);
10815 }
10816 });
10817 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10818 e2pdf.visual.mapper.apply(jQuery(this));
10819 });
10820 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10821 e2pdf.element.unselect();
10822 e2pdf.element.unfocus();
10823 var el = jQuery(this).closest('.e2pdf-element');
10824 e2pdf.element.focus(el);
10825 });
10826 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10827 var el = jQuery(this).closest('.e2pdf-element');
10828 e2pdf.element.unfocus();
10829 if (e.ctrlKey || e.metaKey) {
10830 if (el.hasClass('e2pdf-selected')) {
10831 e2pdf.element.unselect(el);
10832 } else {
10833 e2pdf.element.select(el);
10834 }
10835 } else {
10836 if (el.hasClass('e2pdf-selected')) {
10837 if (Object.keys(e2pdf.element.selected).length > 1) {
10838 e2pdf.element.unselect();
10839 e2pdf.element.select(el);
10840 } else {
10841 e2pdf.element.unselect(el);
10842 }
10843 } else {
10844 if (Object.keys(e2pdf.element.selected).length > 0) {
10845 e2pdf.element.unselect();
10846 e2pdf.element.select(el);
10847 } else {
10848 e2pdf.element.select(el);
10849 }
10850 }
10851 }
10852 });
10853 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10854 var data = {};
10855 data['id'] = jQuery(this).attr('data-id');
10856 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10857 });
10858 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10859 var data = {};
10860 data['id'] = jQuery(this).attr('data-id');
10861 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10862 });
10863 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10864 e.preventDefault();
10865 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10866 return false;
10867 }
10868 var data = {};
10869 data['template'] = jQuery(this).attr('template');
10870 data['dataset'] = jQuery(this).attr('dataset');
10871 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10872 });
10873 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10874 e.preventDefault();
10875 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10876 return false;
10877 }
10878 var data = {};
10879 data['template'] = jQuery(this).attr('template');
10880 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10881 });
10882 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10883 e.preventDefault();
10884 switch (jQuery(this).attr('action')) {
10885 case 'start':
10886 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10887 return false;
10888 }
10889 break;
10890 case 'stop':
10891 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10892 return false;
10893 }
10894 break;
10895 case 'delete':
10896 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10897 return false;
10898 }
10899 break;
10900 }
10901 var data = {};
10902 data['bulk'] = jQuery(this).attr('bulk');
10903 data['action'] = jQuery(this).attr('action');
10904 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10905 });
10906 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10907 jQuery(this).select();
10908 });
10909 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10910 jQuery(this).autocomplete("search", '');
10911 });
10912 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10913 if (jQuery(this).is(':checked')) {
10914 e2pdf.static.vm.hidden = true;
10915 } else {
10916 e2pdf.static.vm.hidden = false;
10917 }
10918 e2pdf.visual.mapper.rebuild();
10919 });
10920 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10921 var value = jQuery(this).val();
10922 if (value != '') {
10923 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10924 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10925 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10926 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10927 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10928 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10929 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10930 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10931 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10932 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10933 } else {
10934 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10935 }
10936 e2pdf.visual.mapper.rebuild();
10937 });
10938 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10939 if (jQuery(this).is(':checked')) {
10940 e2pdf.static.vm.replace = true;
10941 } else {
10942 e2pdf.static.vm.replace = false;
10943 }
10944 });
10945 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10946 if (jQuery(this).is(':checked')) {
10947 e2pdf.static.vm.close = true;
10948 } else {
10949 e2pdf.static.vm.close = false;
10950 }
10951 });
10952 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10953 if (typeof e.clipboardData != 'undefined') {
10954 var clipboardData = e.clipboardData;
10955 } else if (typeof window.clipboardData != 'undefined') {
10956 var clipboardData = window.clipboardData;
10957 } else {
10958 var clipboardData = e.originalEvent.clipboardData;
10959 }
10960 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10961 e.preventDefault();
10962 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10963 data = e2pdf.helper.stripHTML(
10964 data,
10965 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10966 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10967 'span', 'a', 'br',
10968 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10969 'sub', 'sup',
10970 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10971 'ul', 'ol', 'li',
10972 'a'
10973 );
10974 return document.execCommand('insertHtml', false, data);
10975 }
10976 });
10977 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10978 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10979 }
10980
10981 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10982 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10983 }
10984
10985 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10986 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10987 }
10988
10989 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10990 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10991 }
10992
10993 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10994 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10995 }
10996
10997 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10998 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10999 }
11000
11001 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
11002 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
11003 }
11004
11005 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
11006 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
11007 }
11008
11009 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
11010 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
11011 }
11012
11013 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
11014 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
11015 }
11016
11017 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
11018 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
11019 }
11020
11021 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
11022 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
11023 }
11024
11025 jQuery('#e2pdf-zoom').trigger('change');
11026 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
11027 if (e2pdf.url.get('id')) {
11028 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
11029 e2pdf.static.autoloadExport = true;
11030 }
11031 }
11032
11033 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
11034 jQuery('.e2pdf-color-picker-load').each(function () {
11035 jQuery(this).wpColorPicker(
11036 {
11037 defaultColor: function () {
11038 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
11039 if (el.attr('data-default')) {
11040 return el.attr('data-default');
11041 } else {
11042 return;
11043 }
11044 },
11045 change: function (event, ui) {
11046 jQuery(this).val(ui.color.toString()).change();
11047 }
11048 }
11049 ).removeClass('e2pdf-color-picker-load');
11050 });
11051 jQuery(window).bind("beforeunload", function (e) {
11052 if (e2pdf.static.unsaved) {
11053 var confirmationMessage = "\o/";
11054 (e || window.event).returnValue = confirmationMessage;
11055 return confirmationMessage;
11056 }
11057 });
11058 if (jQuery('#e2pdf-build-form').length > 0) {
11059 postboxes.add_postbox_toggles(pagenow);
11060 }
11061
11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
11063 && typeof (jQuery.ui.droppable) != 'undefined'
11064 && jQuery('.e2pdf-tpl').length > 0) {
11065 // jQuery UI scale bug fix
11066 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
11067 var i, j,
11068 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
11069 type = event ? event.type : null,
11070 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
11071 droppablesLoop: for (i = 0; i < m.length; i++) {
11072 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
11073 continue;
11074 }
11075 for (j = 0; j < list.length; j++) {
11076 if (list[ j ] === m[ i ].element[ 0 ]) {
11077 m[ i ].proportions().height = 0;
11078 continue droppablesLoop;
11079 }
11080 }
11081 m[ i ].visible = m[ i ].element.css("display") !== "none";
11082 if (!m[ i ].visible) {
11083 continue;
11084 }
11085 if (type === "mousedown") {
11086 m[ i ]._activate.call(m[ i ], event);
11087 }
11088 m[ i ].offset = m[ i ].element.offset();
11089 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
11090 }
11091 };
11092 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
11093 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
11094 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
11095 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
11096 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
11097 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
11098 jQuery('.e2pdf-load-tpl').remove();
11099 jQuery('.e2pdf-load-el').each(function () {
11100 var element = jQuery(this);
11101 var type = element.attr('data-type');
11102 var page = element.closest('.e2pdf-page');
11103 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11104 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
11105 properties['width'] = element.attr('data-width');
11106 properties['height'] = element.attr('data-height');
11107 properties['top'] = element.attr('data-top');
11108 properties['left'] = element.attr('data-left');
11109 properties['value'] = element.find('.e2pdf-data-value').val();
11110 properties['name'] = element.find('.e2pdf-data-name').val();
11111 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
11112 jQuery(this).replaceWith(el);
11113 e2pdf.properties.render(el);
11114 });
11115 jQuery('.e2pdf-load-page').each(function () {
11116 var page = jQuery(this);
11117 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11118 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
11119 page.find('.e2pdf-data-properties').remove();
11120 page.find('.e2pdf-data-actions').remove();
11121 page.removeClass('e2pdf-load-page');
11122 e2pdf.pages.createPage(page, properties, actions, true);
11123 });
11124 jQuery('.e2pdf-be').draggable({
11125 cursorAt: {left: 0, top: 0},
11126 helper: function () {
11127 var element = jQuery(this).clone();
11128 var type = element.attr('data-type');
11129 var page = element.closest('.e2pdf-page');
11130 var el = e2pdf.element.create(type, page, false, false, true);
11131 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
11132 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
11134 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
11135 e2pdf.properties.render(el);
11136 el.css('z-index', 1);
11137 if (e2pdf.zoom.scale != 1) {
11138 el.css({
11139 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11140 'transform-origin': '0 0'
11141 });
11142 }
11143
11144 var w = el.width() * e2pdf.zoom.scale;
11145 var h = el.height() * e2pdf.zoom.scale;
11146 e2pdf.static.guide.x = Math.round(w / 2);
11147 e2pdf.static.guide.y = Math.round(h / 2);
11148 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
11149 left: Math.round(w / 2),
11150 top: Math.round(h / 2)
11151 });
11152 return el;
11153 },
11154 start: function (ev, ui) {
11155 e2pdf.element.unselect();
11156 },
11157 stop: function (ev, ui) {
11158 ui.position.top = Math.round(ui.position.top);
11159 ui.position.left = Math.round(ui.position.left);
11160 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
11161 },
11162 drag: function (ev, ui) {
11163 if (e2pdf.static.drag.page !== null) {
11164 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
11165 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
11166 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11167 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
11168 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
11169 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
11170 jQuery.each(el_guides, function (i, elemGuide) {
11171 if (guide.type == elemGuide.type) {
11172 var prop = guide.type == "h" ? "top" : "left";
11173 var d = Math.abs(elemGuide[prop] - guide[prop]);
11174 if (d < guides[prop].dist) {
11175 guides[prop].dist = d;
11176 guides[prop].offset = elemGuide[prop] - pos[prop];
11177 guides[prop].guide = guide;
11178 }
11179 }
11180 });
11181 });
11182 if (guides.top.dist <= e2pdf.static.guide.distance) {
11183 e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().top / e2pdf.zoom.scale - 1).show();
11184 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
11185 ui.position.top = snap_top;
11186 } else {
11187 jQuery('.e2pdf-guide-h').hide();
11188 }
11189 if (guides.left.dist <= e2pdf.static.guide.distance) {
11190 e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().left / e2pdf.zoom.scale - 1).show();
11191 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
11192 ui.position.left = snap_left;
11193 } else {
11194 jQuery('.e2pdf-guide-v').hide();
11195 }
11196 }
11197 }
11198 });
11199 e2pdf.welcomeScreen();
11200 }
11201 e2pdf.font.load(jQuery('#e2pdf-font'));
11202 jQuery('.e2pdf-load-font').each(function () {
11203 e2pdf.font.load(jQuery(this));
11204 jQuery(this).remove();
11205 });
11206 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11207 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11208 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11209 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11210 }
11211
11212 jQuery(document).keydown(function (e) {
11213 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11214 if (jQuery('.e2pdf-focused').length == 0
11215 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11216 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11217 && Object.keys(e2pdf.element.selected).length > 0) {
11218 e.preventDefault();
11219 switch (e.which) {
11220 case 37:
11221 // left
11222 var diff = 1;
11223 for (var key in e2pdf.element.selected) {
11224 var selected = e2pdf.element.selected[key];
11225 if (parseFloat(selected.css('left')) > 0) {
11226 if (parseFloat(selected.css('left')) - 1 < 0) {
11227 diff = Math.min(diff, selected.css('left'));
11228 }
11229 } else {
11230 diff = Math.min(diff, 0);
11231 }
11232 }
11233
11234 for (var key in e2pdf.element.selected) {
11235 var selected = e2pdf.element.selected[key];
11236 selected.finish().animate({
11237 left: "-=" + diff
11238 }, 0);
11239 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11240 }
11241 break;
11242 case 38:
11243 // top
11244 var diff = 1;
11245 for (var key in e2pdf.element.selected) {
11246 var selected = e2pdf.element.selected[key];
11247 if (parseFloat(selected.css('top')) > 0) {
11248 if (parseFloat(selected.css('top')) - 1 < 0) {
11249 diff = Math.min(diff, selected.css('top'));
11250 }
11251 } else {
11252 diff = Math.min(diff, 0);
11253 }
11254 }
11255
11256 for (var key in e2pdf.element.selected) {
11257 var selected = e2pdf.element.selected[key];
11258 selected.finish().animate({
11259 top: "-=" + diff
11260 }, 0);
11261 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11262 }
11263 break;
11264 case 39:
11265 // right
11266 var diff = 1;
11267 for (var key in e2pdf.element.selected) {
11268 var selected = e2pdf.element.selected[key];
11269 if (parseFloat(selected.css('right')) > 0) {
11270 if (parseFloat(selected.css('right')) - 1 < 0) {
11271 diff = Math.min(diff, selected.css('right'));
11272 }
11273 } else {
11274 diff = Math.min(diff, 0);
11275 }
11276 }
11277
11278 for (var key in e2pdf.element.selected) {
11279 var selected = e2pdf.element.selected[key];
11280 selected.finish().animate({
11281 left: "+=" + diff
11282 }, 0);
11283 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11284 }
11285 break;
11286 case 40:
11287 // down
11288 var diff = 1;
11289 for (var key in e2pdf.element.selected) {
11290 var selected = e2pdf.element.selected[key];
11291 if (parseFloat(selected.css('bottom')) > 0) {
11292 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11293 diff = Math.min(diff, selected.css('bottom'));
11294 }
11295 } else {
11296 diff = Math.min(diff, 0);
11297 }
11298 }
11299
11300 for (var key in e2pdf.element.selected) {
11301 var selected = e2pdf.element.selected[key];
11302 selected.finish().animate({
11303 top: "+=" + diff
11304 }, 0);
11305 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11306 }
11307 break;
11308 case 46:
11309 // delete
11310 var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements will be removed! Continue?') : e2pdf.lang.get('Element will be removed! Continue?');
11311 if (!confirm(message)) {
11312 e2pdf.delete('.e2pdf-context');
11313 return false;
11314 }
11315 var history = [];
11316 for (var key in e2pdf.element.selected) {
11317 var selected = e2pdf.element.selected[key];
11318 e2pdf.element.init(selected);
11319 history.push(selected.clone(true));
11320 e2pdf.element.delete(selected);
11321 }
11322 e2pdf.history.set('element_delete', history);
11323 e2pdf.element.unselect();
11324 break;
11325 }
11326 }
11327 }
11328 });
11329 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11330 e2pdf.select2.init(jQuery(this));
11331 });
11332 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11333 e2pdf.select2.click(jQuery(this));
11334 });
11335 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11336 e2pdf.select2.filter(jQuery(this));
11337 });
11338 jQuery(document).on('mousedown', 'body', function (e) {
11339 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11340 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11341 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11342 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11343 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11344 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11345 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11346 e.ctrlKey !== true) {
11347 e2pdf.element.unselect();
11348 e2pdf.element.unfocus();
11349 }
11350 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11351 jQuery('.e2pdf-closed').each(function () {
11352 jQuery(this).removeClass('e2pdf-opened');
11353 });
11354 }
11355 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11356 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11357 }
11358 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11359 jQuery('.e2pdf-select2-dropdown').each(function () {
11360 e2pdf.select2.close(jQuery(this));
11361 });
11362 }
11363 });
11364 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11365 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11366 if (jQuery('.e2pdf-bulks-list').length > 0)
11367 {
11368 e2pdf.bulk.progress();
11369 }
11370 });