PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.22
E2Pdf – Export Pdf Tool for WordPress v1.32.22
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.22, at js/e2pdf.backend.js

11,131 lines 567.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var e2pdf = {
2 // e2pdf.helper
3 helper: {
4 // e2pdf.helper.color
5 color: {
6 close: function (el) {
7 var color_panel = jQuery(el).parent();
8 color_panel.find('.wp-color-result').click();
9 }
10 },
11 // e2pdf.helper.font
12 font: {
13 fonts: function (field = '') {
14 var options = [];
15 jQuery('.e2pdf-wysiwyg-font').find('option').each(function () {
16 var option = {};
17 option[jQuery(this).attr('value')] = jQuery(this).html();
18 options.push(option);
19 });
20 return options;
21 },
22 sizes: function (field = '', properties = []) {
23 var options = [];
24 jQuery('.e2pdf-wysiwyg-fontsize').find('option').each(function () {
25 var option = {};
26 option[jQuery(this).attr('value')] = jQuery(this).html();
27 options.push(option);
28 if (jQuery(this).attr('value') === '' && properties.hasOwnProperty('text_font_size') && properties['text_font_size'] == '-1') {
29 option = {};
30 option['-1'] = e2pdf.lang.get('Auto');
31 options.push(option);
32 }
33 });
34 return options;
35 },
36 lines: function (field = '') {
37 var options = [];
38 var option = {};
39 option[''] = '-';
40 options.push(option);
41 jQuery('#e2pdf-line-height').find('option').each(function () {
42 var option = {};
43 option[jQuery(this).attr('value')] = jQuery(this).html();
44 options.push(option);
45 });
46 return options;
47 }
48 },
49 // e2pdf.helper.image
50 image: {
51 // e2pdf.helper.image.load
52 load: function (el) {
53 el.addClass('e2pdf-loader');
54 var properties = e2pdf.properties.get(el);
55 var value = e2pdf.helper.getString(properties['value']);
56 var image = new Image();
57 switch (el.data('data-type')) {
58 case 'e2pdf-qrcode':
59 value = e2pdf.url.pluginsUrl() + '/img/qrcode.svg';
60 break;
61 case 'e2pdf-barcode':
62 value = e2pdf.url.pluginsUrl() + '/img/barcode.svg';
63 break;
64 case 'e2pdf-graph':
65 value = e2pdf.url.pluginsUrl() + '/img/graph.svg';
66 break;
67 case 'e2pdf-signature':
68 if (typeof value === 'string' && (value.trim().startsWith("https://") || !value.trim().startsWith("http://"))) {
69 } else {
70 value = e2pdf.url.pluginsUrl() + '/img/signature.svg';
71 }
72 break;
73 case 'e2pdf-image':
74 if (typeof value === 'string' && (value.trim().startsWith("https://") || value.trim().startsWith("http://"))) {
75 } else {
76 value = e2pdf.url.pluginsUrl() + '/img/upload.svg';
77 }
78 break;
79 }
80
81 var children = e2pdf.element.children(el);
82 children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
83 image.onload = function ()
84 {
85 el.removeClass('e2pdf-loader');
86 switch (el.data('data-type')) {
87 case 'e2pdf-qrcode':
88 children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
89 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
90 e2pdf.helper.image.aspectRatio(el, this, properties);
91 break;
92 case 'e2pdf-barcode':
93 children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
94 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
95 break;
96 case 'e2pdf-graph':
97 children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
98 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
99 break;
100 case 'e2pdf-image':
101 case 'e2pdf-signature':
102 el.removeClass('e2pdf-aspect-ratio e2pdf-align-left e2pdf-align-center e2pdf-align-bottom e2pdf-valign-left e2pdf-valign-middle e2pdf-valign-bottom');
103 if (value === e2pdf.url.pluginsUrl() + '/img/upload.svg') {
104 children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
105 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
106 } else if (value === e2pdf.url.pluginsUrl() + '/img/signature.svg') {
107 children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
108 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
109 } else {
110 children.attr('src', value);
111 if (e2pdf.helper.getCheckbox(properties['dimension']) == '1') {
112 el.addClass('e2pdf-aspect-ratio');
113 switch (e2pdf.helper.getString(properties['horizontal'])) {
114 case 'center':
115 el.addClass('e2pdf-align-center');
116 break;
117 case 'right':
118 el.addClass('e2pdf-align-right');
119 break;
120 default:
121 el.addClass('e2pdf-align-left');
122 break;
123 }
124 switch (e2pdf.helper.getString(properties['vertical'])) {
125 case 'top':
126 el.addClass('e2pdf-valign-top');
127 break;
128 case 'middle':
129 el.addClass('e2pdf-valign-middle');
130 break;
131 default:
132 el.addClass('e2pdf-valign-bottom');
133 break;
134 }
135 if (e2pdf.helper.getCheckbox(properties['block_dimension']) == '1') {
136 e2pdf.helper.image.aspectRatio(el, this, properties);
137 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = true;
138 } else {
139 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
140 }
141
142 } else {
143 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
144 }
145 children.removeClass('e2pdf-image-blank');
146 }
147 break;
148 }
149 };
150 image.onerror = function ()
151 {
152 el.removeClass('e2pdf-loader');
153 switch (el.data('data-type')) {
154 case 'e2pdf-qrcode':
155 children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
156 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
157 break;
158 case 'e2pdf-barcode':
159 children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
160 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
161 break;
162 case 'e2pdf-graph':
163 children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
164 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
165 break;
166 case 'e2pdf-signature':
167 children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
168 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
169 break;
170 case 'e2pdf-image':
171 children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
172 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
173 break;
174 }
175 };
176 image.src = value;
177 },
178 // e2pdf.helper.image.aspectRatio
179 aspectRatio: function (el, img, properties) {
180
181 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
182 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
183 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
184 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
185 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
186 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
187 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
188 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
189 var maxWidth = el.width();
190 var maxHeight = el.height();
191 var ratio = 0;
192 var width = img.naturalWidth * 100000;
193 var height = img.naturalHeight * 100000;
194 if (width > maxWidth) {
195 ratio = maxWidth / width;
196 height = height * ratio;
197 width = width * ratio;
198 }
199 if (height > maxHeight) {
200 ratio = maxHeight / height;
201 width = width * ratio;
202 height = height * ratio;
203 }
204 switch (e2pdf.helper.getString(properties['vertical'])) {
205 case 'middle':
206 if (el.height() > height) {
207 var top = Math.max(0, (((e2pdf.helper.getFloat(el.css('top'))) + (el.height()) / 2)) - (height / 2));
208 e2pdf.properties.set(el, 'top', top);
209 el.css('top', top);
210 }
211 break;
212 case 'bottom':
213 if (el.height() > height) {
214 var top = Math.max(0, e2pdf.helper.getFloat(el.css('top')) + (el.height() - height));
215 e2pdf.properties.set(el, 'top', top);
216 el.css('top', top);
217 }
218 break;
219 }
220 switch (e2pdf.helper.getString(properties['horizontal'])) {
221 case 'center':
222 if (el.width() > width) {
223 var left = Math.max(0, (((e2pdf.helper.getFloat(el.css('left'))) + (el.width()) / 2)) - (width / 2));
224 e2pdf.properties.set(el, 'left', left);
225 el.css('left', left);
226 }
227 break;
228 case 'right':
229 if (el.width() > width) {
230 var left = Math.max(0, e2pdf.helper.getFloat(el.css('left')) + (el.width() - width));
231 e2pdf.properties.set(el, 'left', left);
232 el.css('left', left);
233 }
234 break;
235 }
236 e2pdf.properties.set(el, 'width', width + border_left + border_right + padding_left + padding_right);
237 e2pdf.properties.set(el, 'height', height + border_top + border_bottom + padding_top + padding_bottom);
238 el.width(width);
239 el.height(height);
240 }
241 },
242 getFloat: function (value, def = 0, units = '') {
243 const val = parseFloat(value);
244 if (units) {
245 return isNaN(val) ? def : val + units;
246 } else {
247 return isNaN(val) ? def : val;
248 }
249 },
250 getInt: function (value, def = 0, units = '') {
251 const val = parseInt(value);
252 if (units) {
253 return isNaN(val) ? def : val + units;
254 } else {
255 return isNaN(val) ? def : val;
256 }
257
258 },
259 getString: function (value, def = '', units = '') {
260 const val = value;
261 if (units) {
262 return typeof val === 'undefined' ? def : val + units;
263 } else {
264 return typeof val === 'undefined' ? def : val;
265 }
266 },
267 getCheckbox: function (value, def = '', units = '') {
268 const val = value;
269 if (units) {
270 return typeof val === 'undefined' || val != '1' ? def : val + units;
271 } else {
272 return typeof val === 'undefined' || val != '1' ? def : val;
273 }
274 },
275 // e2pdf.helper.toHtml
276 toHtml: function (value) {
277 var div = document.createElement('div');
278 div.innerHTML = value;
279 return (div.innerHTML);
280 },
281 stripHTML: function (html, ...args) {
282 return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 },
286 // e2pdf.helper.sizeToFloat
287 sizeToFloat: function (value, width) {
288 if (typeof value === 'string' && value.search("%") > 0) {
289 return parseFloat(width) * (parseFloat(value.replace('%', '')) / 100);
290 } else {
291 return parseFloat(value);
292 }
293 },
294 // e2pdf.helper.ajaxurl
295 ajaxurl: function (action, _wpnonce) {
296 if (action) {
297 var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
298 } else {
299 var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
300 }
301 return url;
302 },
303 // e2pdf.helper.css
304 css: function (element_id, css) {
305 if (typeof css === 'string') {
306 css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
307 return '#poststuff .e2pdf-element[data-element_id="' + element_id + '"] .e2pdf-html ' + match;
308 });
309 var style = jQuery('#e2pdf-html-css-' + element_id);
310 if (style.length !== 0) {
311 style.remove();
312 }
313 if (css.trim()) {
314 var el = document.createElement('style');
315 el.id = 'e2pdf-html-css-' + element_id;
316 el.type = 'text/css';
317 el.appendChild(document.createTextNode(css.trim()));
318 document.head.appendChild(el);
319 }
320 }
321 },
322 // e2pdf.helper.cssGlobal
323 cssGlobal: function (css) {
324 if (typeof css === 'string') {
325 css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
326 return '#poststuff .e2pdf-element .e2pdf-html ' + match;
327 });
328 var style = jQuery('#e2pdf-html-css');
329 if (style.length !== 0) {
330 style.remove();
331 }
332 if (css.trim()) {
333 var el = document.createElement('style');
334 el.id = 'e2pdf-html-css';
335 el.type = 'text/css';
336 el.appendChild(document.createTextNode(css.trim()));
337 document.head.appendChild(el);
338 }
339 }
340 },
341 // e2pdf.helper.sanitizeHTML
342 sanitizeHTML: function (html) {
343 if (typeof html === 'string') {
344 if (window.DOMPurify) {
345 try {
346 return window.DOMPurify.sanitize(html, {
347 ADD_ATTR: [
348 "after", "align", "ascender", "background", "before", "block-height", "block-width",
349 "border", "border-bottom", "border-bottom-color", "border-bottom-width", "border-left",
350 "border-left-color", "border-left-width", "border-right", "border-right-color",
351 "border-right-width", "border-top", "border-top-color", "border-top-width", "border-width",
352 "bordercolor", "cellpadding", "char-fill", "char-fill-color", "char-fill-size", "chunkbgcolor",
353 "class", "color", "colspan", "complex-encoding", "descender", "direction", "display",
354 "dir", "disable-border-top", "encoding", "extraparaspace", "face", "float", "font-family",
355 "font-size", "font-style", "font-weight", "header-rows", "height", "href", "html-height",
356 "html-worker", "html-width", "hyphenation", "keep-together", "letter-spacing", "leading",
357 "line-fill", "line-fill-color", "line-fill-size", "list-style-image", "list-style-image-height",
358 "list-style-image-size", "list-style-image-width", "list-style-type", "list-style-type-color",
359 "list-style-type-size", "margin-bottom", "margin-left", "margin-right", "margin-top",
360 "max-height", "max-width", "nowrap", "padding-bottom", "padding-left", "padding-right",
361 "padding-top", "page-break-after", "page-break-before", "rotate", "rtl", "size", "split",
362 "split-border", "split-late", "split-padding", "split-rows", "style", "text-align",
363 "text-decoration", "text-indent", "text-transform", "valign", "width"
364 ]
365 });
366 } catch (err) {
367 }
368 }
369 }
370 return html;
371 }
372 },
373 // e2pdf.select2
374 select2: {
375 // e2pdf.select2.init
376 init: function (el) {
377 el.val('');
378 var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
379 var placeholder = e2pdf.lang.get('--- Select ---');
380 if (val) {
381 placeholder = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
382 }
383 el.attr('placeholder', placeholder);
384 var select2 = document.createElement('div');
385 select2.className = 'e2pdf-select2-dropdown';
386 var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
387 if (wrapper) {
388 var select = wrapper.querySelector('select');
389 if (select) {
390 Array.from(select.children).forEach(function (option) {
391 var optionDiv = document.createElement('div');
392 optionDiv.setAttribute('value', option.value);
393 optionDiv.innerHTML = option.textContent;
394 select2.appendChild(optionDiv);
395 });
396 }
397 el.get(0).insertAdjacentElement('afterend', select2);
398 }
399 },
400 // e2pdf.select2.filter
401 filter: function (el) {
402 var search = el.val();
403 var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
404 if (wrapper) {
405 var dropdownItems = wrapper.querySelectorAll('.e2pdf-select2-dropdown > div');
406 dropdownItems.forEach(function (item) {
407 if (!search) {
408 item.style.display = "block";
409 } else {
410 var textContent = item.textContent.toLowerCase();
411 var valueAttr = item.getAttribute('value') ? item.getAttribute('value').toLowerCase() : '';
412 if (textContent.includes(search.toLowerCase()) || valueAttr.includes(search.toLowerCase()) || valueAttr === '') {
413 item.style.display = "block";
414 } else {
415 item.style.display = "none";
416 }
417 }
418 });
419 }
420 },
421 // e2pdf.select2.update
422 update: function (el) {
423 var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
424 var text = '';
425 if (val) {
426 text = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
427 } else {
428 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('placeholder', e2pdf.lang.get('--- Select ---'));
429 }
430 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().val(text);
431 },
432 // e2pdf.select2.click
433 click: function (el) {
434 el.closest('.e2pdf-select2-wrapper').find('select').first().val(el.attr('value')).trigger('change');
435 e2pdf.select2.close(el);
436 },
437 // e2pdf.select2.val
438 val: function (el, value) {
439 el.closest('.e2pdf-select2-wrapper').find('select').first().val(value).trigger('change');
440 e2pdf.select2.update(el);
441 },
442 // e2pdf.select2.disable
443 disable: function (el) {
444 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', 'disabled');
445 },
446 // e2pdf.select2.enable
447 enable: function (el) {
448 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', false);
449 },
450 // e2pdf.select2.close
451 close: function (el) {
452 e2pdf.select2.update(el);
453 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2-dropdown').remove();
454 }
455 },
456 // e2pdf.hooks
457 hooks: {
458 // e2pdf.hooks.get
459 get: function () {
460 var hooks = {};
461 switch (e2pdf.pdf.settings.get('extension')) {
462 case 'formidable':
463 hooks = {
464 'hook_formidable_entry_view': e2pdf.lang.get('WP Admin Entry View'),
465 'hook_formidable_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
466 'hook_formidable_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
467 };
468 break;
469 case 'gravity':
470 hooks = {
471 'hook_gravity_entry_view': e2pdf.lang.get('WP Admin Entry View'),
472 'hook_gravity_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
473 };
474 break;
475 case 'jetformbuilder':
476 hooks = {
477 'hook_jetformbuilder_entry_view': e2pdf.lang.get('WP Admin Entry View')
478 };
479 break;
480 case 'woocommerce':
481 if (e2pdf.pdf.settings.get('item') == 'shop_order') {
482 hooks = {
483 'hook_woocommerce_order_edit': e2pdf.lang.get('WP Admin Order Details'),
484 'hook_woocommerce_order_row_actions': e2pdf.lang.get('WP Admin Order List Actions'),
485 'hook_woocommerce_order_row_column': e2pdf.lang.get('WP Admin Order List Column'),
486 'hook_woocommerce_my_account_my_orders_actions': e2pdf.lang.get('User Order List'),
487 'hook_woocommerce_order_details_before_order_table': e2pdf.lang.get('User Order Details (Before Order Table)'),
488 'hook_woocommerce_order_details_before_order_table_items': e2pdf.lang.get('User Order Details (Before Order Table Items)'),
489 'hook_woocommerce_order_details_after_order_table_items': e2pdf.lang.get('User Order Details (After Order Table Items)'),
490 'hook_woocommerce_order_details_after_order_table': e2pdf.lang.get('User Order Details (After Order Table)'),
491 'hook_woocommerce_after_order_details': e2pdf.lang.get('User Order Details (After Order Details)'),
492 };
493 } else if (e2pdf.pdf.settings.get('item') == 'shop_subscription') {
494 hooks = {
495 'hook_woocommerce_subscription_edit': e2pdf.lang.get('WP Admin Subscription Details'),
496 'hook_woocommerce_subscription_row_column': e2pdf.lang.get('WP Admin Order List Column'),
497 'hook_woocommerce_subscription_before_actions': e2pdf.lang.get('User Subscription (Before Actions)'),
498 'hook_woocommerce_subscription_after_actions': e2pdf.lang.get('User Subscription (After Actions)'),
499 'hook_wcs_subscription_details_table_before_dates': e2pdf.lang.get('User Subscription (Before Dates)'),
500 'hook_wcs_subscription_details_table_after_dates': e2pdf.lang.get('User Subscription (After Dates)'),
501 'hook_wcs_subscription_details_table_before_payment_method': e2pdf.lang.get('User Subscription (Before Payment Method)'),
502 'hook_wcs_view_subscription_actions': e2pdf.lang.get('User Subscrition (Actions)'),
503 };
504 } else if (e2pdf.pdf.settings.get('item') == 'cart') {
505 hooks = {
506 'hook_woocommerce_proceed_to_checkout': e2pdf.lang.get('User Cart'),
507 'hook_woocommerce_review_order_before_submit': e2pdf.lang.get('User Checkout (Before Submit)'),
508 'hook_woocommerce_review_order_after_submit': e2pdf.lang.get('User Checkout (After Submit)'),
509 };
510 }
511 break;
512 case 'wordpress':
513 if (e2pdf.pdf.settings.get('item') == '-3') {
514 hooks = {
515 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin User Row Actions')
516 };
517 } else {
518 hooks = {
519 'hook_wordpress_page_edit': e2pdf.lang.get('WP Admin Page Edit'),
520 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin Page Row Actions')
521 };
522 }
523 break;
524 case 'wpforms':
525 hooks = {
526 'hook_wpforms_entry_view': e2pdf.lang.get('WP Admin Entry View'),
527 'hook_wpforms_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
528 'hook_wpforms_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
529 };
530 break;
531 case 'everest':
532 hooks = {
533 'hook_everest_entry_view': e2pdf.lang.get('WP Admin Entry View'),
534 'hook_everest_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
535 };
536 break;
537 case 'metform':
538 hooks = {
539 'hook_metform_entry_view': e2pdf.lang.get('WP Admin Entry View'),
540 'hook_metform_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions'),
541 'hook_metform_entry_row_column': e2pdf.lang.get('WP Admin Entry List Column')
542 };
543 break;
544 default:
545 break;
546 }
547 return hooks;
548 },
549 getChecked: function () {
550 var hooks = [];
551 if (e2pdf.pdf.settings.get('hooks')) {
552 hooks = e2pdf.pdf.settings.get('hooks').split(',');
553 }
554 return hooks;
555 }
556 },
557 // e2pdf.lang
558 lang: {
559 // e2pdf.lang.get
560 get: function (key) {
561 if (typeof e2pdf_lang[key] === 'undefined') {
562 return key;
563 } else {
564 return e2pdf_lang[key];
565 }
566 }
567 },
568 // e2pdf.url
569 url: {
570 // e2pdf.url.change
571 change: function (page, path) {
572 if (window.history && window.history.pushState) {
573 var url = window.location.pathname;
574 if (page) {
575 url += '?page=' + page;
576 }
577
578 if (path) {
579 url += '&' + path;
580 }
581 history.pushState({urlPath: url}, "", url);
582 }
583 },
584 // e2pdf.url.build
585 build: function (page, path, _wpnonce) {
586 var url = window.location.pathname;
587 if (page) {
588 url += '?page=' + page;
589 }
590 if (path) {
591 url += '&' + path;
592 }
593 if (_wpnonce) {
594 url += '&_wpnonce=' + _wpnonce;
595 }
596 return url;
597 },
598 // e2pdf.url.get
599 get: function (name, url) {
600 if (!url) {
601 url = window.location.href;
602 }
603 if (!name) {
604 return url;
605 }
606 name = name.replace(/[\[\]]/g, "\\$&");
607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
608 if (!results) {
609 return null;
610 }
611 if (!results[2]) {
612 return '';
613 }
614 return decodeURIComponent(results[2].replace(/\+/g, " "));
615 },
616 pluginsUrl: function () {
617 return e2pdf_params['plugins_url'];
618 },
619 uploadUrl: function () {
620 return e2pdf_params['upload_url'];
621 }
622 },
623 // e2pdf.guide
624 guide: {
625 // e2pdf.guide.calc
626 calc: function (el, pos, w, h, g) {
627 if (el != null) {
628 if (g) {
629 w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
630 h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
631 pos = jQuery(el).offset();
632 if (jQuery(el).hasClass('e2pdf-page')) {
633 pos = {
634 left: pos.left + 1,
635 top: pos.top + 1
636 };
637 }
638 } else {
639 w = parseFloat(jQuery(el).css('width'));
640 h = parseFloat(jQuery(el).css('height'));
641 if (jQuery(el).hasClass('e2pdf-page')) {
642 pos = {
643 left: 0,
644 top: 0
645 };
646 } else {
647 pos = {
648 left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
649 top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
650 };
651 }
652 }
653 }
654
655 return [
656 {type: "h", left: pos.left, top: pos.top},
657 {type: "h", left: pos.left, top: pos.top + h},
658 {type: "v", left: pos.left, top: pos.top},
659 {type: "v", left: pos.left + w, top: pos.top},
660 {type: "h", left: pos.left, top: pos.top + h / 2},
661 {type: "v", left: pos.left + w / 2, top: pos.top}
662 ];
663 }
664 },
665 // e2pdf.bulk
666 bulk: {
667 // e2pdf.bulk.progress
668 progress: function () {
669 setTimeout(function () {
670 var data = {};
671 data['bulks'] = [];
672 jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
673 data['bulks'].push(jQuery(this).attr('bulk'));
674 });
675 e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
676 e2pdf.bulk.progress();
677 }, 5000);
678 }
679 },
680 // e2pdf.pdf
681 pdf: {
682 // e2pdf.pdf.settings
683 settings: {
684 options: [],
685 // e2pdf.pdf.settings.change
686 change: function (key, value) {
687 e2pdf.pdf.settings.options[key] = value;
688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
690 } else {
691 var input = jQuery('<input>',
692 {
693 'type': 'hidden',
694 'name': key,
695 'value': value
696 });
697 jQuery('.e2pdf-form-builder').append(input);
698 }
699
700 if (key == 'item') {
701 var data = {};
702 data['extension'] = e2pdf.pdf.settings.get('extension');
703 data['item'] = e2pdf.pdf.settings.get('item');
704 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
705 }
706 },
707 // e2pdf.pdf.settings.set
708 set: function (key, value) {
709 e2pdf.pdf.settings.options[key] = value;
710 if (key == 'item') {
711 var data = {};
712 data['extension'] = e2pdf.pdf.settings.get('extension');
713 data['item'] = e2pdf.pdf.settings.get('item');
714 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
715 }
716 },
717 // e2pdf.pdf.settings.get
718 get: function (key) {
719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
720 return null;
721 } else {
722 return e2pdf.pdf.settings.options[key];
723 }
724 }
725 }
726 },
727 // e2pdf.static
728 static: {
729 // e2pdf.static.unsaved
730 unsaved: false,
731 // e2pdf.static.mediaUploader
732 mediaUploader: false,
733 // e2pdf.static.autoloadExport
734 autoloadExport: false,
735 // e2pdf.static.selectionRange
736 selectionRange: null,
737 // e2pdf.static.observer
738 observer: null,
739 // e2pdf.static.vm
740 vm: {
741 // e2pdf.static.vm.hidden
742 hidden: false,
743 // e2pdf.static.vm.replace
744 replace: true,
745 // e2pdf.static.vm.close
746 close: true
747 },
748 // e2pdf.static.guide
749 guide: {
750 // e2pdf.static.guide.guides
751 guides: [],
752 // e2pdf.static.guide.distance
753 distance: 5,
754 x: 0,
755 y: 0
756 },
757 // e2pdf.static.drag
758 drag: {
759 // e2pdf.static.drag.min_top
760 min_top: 0,
761 // e2pdf.static.drag.max_top
762 max_top: 0,
763 // e2pdf.static.drag.min_left
764 min_left: 0,
765 // e2pdf.static.drag.max_left
766 max_left: 0,
767 // e2pdf.static.drag.page
768 page: null
769 }
770 },
771 // e2pdf.event
772 event: {
773 // e2pdf.event.fire
774 fire: function (event, action, el) {
775 if (
776 event === 'after.pages.deletePage' ||
777 event === 'after.createPdf' ||
778 event === 'after.pages.createPage.newpage' ||
779 event === 'after.element.create' ||
780 event === 'after.element.delete' ||
781 event === 'after.settings.style.change' ||
782 event === 'after.settings.template.change' ||
783 event === 'after.wysiwyg.apply' ||
784 event === 'after.request.submitLocal' ||
785 event === 'after.mediaUploader.select' ||
786 event === 'after.element.moved' ||
787 event === 'after.pages.movePage'
788 ) {
789 e2pdf.static.unsaved = true;
790 }
791
792 if (event === 'before.request.submitForm') {
793 e2pdf.static.unsaved = false;
794 }
795
796 if (event === 'after.dialog.create' || event === 'after.actions.change') {
797 jQuery('.e2pdf-color-picker-load').each(function () {
798 jQuery(this).wpColorPicker(
799 {
800 defaultColor: function () {
801 if (jQuery(this).attr('data-default')) {
802 return jQuery(this).attr('data-default');
803 } else {
804 return;
805 }
806 },
807 change: function (event, ui) {
808 jQuery(this).val(ui.color.toString()).change();
809 }
810 }
811 ).removeClass('e2pdf-color-picker-load');
812 });
813 }
814
815 if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
816 jQuery('#e2pdf-zoom').trigger('change');
817 }
818
819 if (event === 'before.request.submitRequest') {
820 el.attr('disabled', 'disabled');
821 switch (action) {
822 case 'e2pdf_auto':
823 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
824 break;
825 case 'e2pdf_extension':
826 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
827 break;
828 case 'e2pdf_templates':
829 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
830 jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
831 jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
832 jQuery('.e2pdf-export-dataset').data('options', []).empty();
833 jQuery('.e2pdf-fieldset-filter').val('');
834 e2pdf.select2.disable(el);
835 break;
836 case 'e2pdf_dataset':
837 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
838 jQuery('.e2pdf-dataset-shortcode-wr').hide();
839 el.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions').empty();
840 e2pdf.select2.disable(el);
841 break;
842 case 'e2pdf_datasets_refresh':
843 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-export-dataset').data('options', []).empty();
844 e2pdf.select2.disable(el);
845 break;
846 case 'e2pdf_delete_item':
847 case 'e2pdf_delete_items':
848 e2pdf.select2.disable(el);
849 break;
850 default:
851 break;
852 }
853 }
854
855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
856 if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
857 el.attr('disabled', false);
858 }
859 switch (action) {
860 case 'e2pdf_auto':
861 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', false);
862 break;
863 case 'e2pdf_extension':
864 el.closest('form').find('.e2pdf-items').find('option').remove();
865 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', false);
866 break;
867 case 'e2pdf_get_styles':
868 jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
869 jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
870 break;
871 case 'e2pdf_templates':
872 case 'e2pdf_delete_item':
873 case 'e2pdf_delete_items':
874 e2pdf.select2.enable(el);
875 break;
876 default:
877 break;
878 }
879 }
880
881 if (event === 'before.request.upload') {
882 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
883 }
884
885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
886 if (event === 'after.request.upload.error') {
887 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', false);
888 }
889 el.closest('form').find('.e2pdf-upload-pdf').replaceWith(
890 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
891 );
892 el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
893 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
894 );
895 }
896 }
897 },
898 // e2pdf.form
899 form: {
900 // e2pdf.form.serializeObject
901 serializeObject: function (form) {
902
903 var o = {};
904 var a = form.serializeArray();
905 jQuery.each(a, function () {
906 if (this.name.endsWith('[]')) {
907
908 var name = this.name;
909 name = name.substring(0, this.name.length - 2);
910 if (!(name in o)) {
911 o[name] = [];
912 }
913 o[name].push(this.value);
914 } else if (this.name.endsWith(']')) {
915
916 var name = this.name;
917 var path = name.split(/[\[\]]+/);
918 var curItem = o;
919 for (var j = 0; j < path.length - 2; j++)
920 {
921 if (!(path[j] in curItem))
922 {
923 curItem[path[j]] = {};
924 }
925 curItem = curItem[path[j]];
926 }
927
928 curItem[path[j]] = this.value || '';
929 } else {
930 o[this.name] = this.value || '';
931 }
932 });
933 return o;
934 },
935 // e2pdf.form.serializeElements
936 serializeElements: function () {
937 var o = {};
938 jQuery('.e2pdf-element').each(
939 function (index) {
940 var el = {};
941 el.type = jQuery(this).data('data-type');
942 el.properties = e2pdf.properties.get(jQuery(this));
943 el.actions = e2pdf.actions.get(jQuery(this));
944 el.top = jQuery(this).css('top');
945 el.left = jQuery(this).css('left');
946 el.width = jQuery(this).css('width');
947 el.height = jQuery(this).css('height');
948 switch (jQuery(this).data('data-type')) {
949 case 'e2pdf-rectangle':
950 el.value = '';
951 break;
952 case 'e2pdf-html':
953 if (jQuery(this).find('.e2pdf-html').is('textarea')) {
954 el.value = jQuery(this).find('.e2pdf-html').val();
955 } else {
956 el.value = jQuery(this).find('.e2pdf-html').html();
957 }
958 break;
959 case 'e2pdf-input':
960 el.value = jQuery(this).find('.e2pdf-input').val();
961 break;
962 case 'e2pdf-textarea':
963 el.value = jQuery(this).find('.e2pdf-textarea').val();
964 break;
965 case 'e2pdf-page-number':
966 case 'e2pdf-checkbox':
967 case 'e2pdf-radio':
968 case 'e2pdf-select':
969 case 'e2pdf-image':
970 case 'e2pdf-qrcode':
971 case 'e2pdf-barcode':
972 case 'e2pdf-graph':
973 case 'e2pdf-link':
974 case 'e2pdf-signature':
975 el.value = e2pdf.helper.getString(el.properties['value']);
976 break;
977 default:
978 el.value = jQuery(this).html();
979 break;
980 }
981 el.name = e2pdf.helper.getString(el.properties['name']);
982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
983 el.element_id = jQuery(this).attr('data-element_id');
984 delete el.properties['width'];
985 delete el.properties['height'];
986 delete el.properties['value'];
987 delete el.properties['top'];
988 delete el.properties['left'];
989 delete el.properties['name'];
990 delete el.properties['element_type'];
991 delete el.properties['element_id'];
992 delete el.properties['page_id'];
993 o[index] = el;
994 });
995 return o;
996 }
997 },
998 // e2pdf.font
999 font: {
1000 // e2pdf.font.load
1001 load: function (el) {
1002 var name, value;
1003 if (el.is('select')) {
1004 name = el.val();
1005 value = el.find('option:selected').attr('path');
1006 } else if (el.is('div')) {
1007 name = el.attr('name');
1008 value = el.attr('path');
1009 }
1010 if (jQuery("head").find('style[name="' + CSS.escape(name) + '"]').length === 0) {
1011 jQuery("head").append(
1012 jQuery("<style>")
1013 .attr('name', name)
1014 .attr('type', 'text/css')
1015 .text(`@font-face {font-family: "${CSS.escape(name)}"; src: url("${e2pdf.url.uploadUrl()}/fonts/${encodeURIComponent(value)}")}`)
1016 );
1017 }
1018 },
1019 // e2pdf.font.apply
1020 apply: function (el, font) {
1021 let font_name = font.find('option:selected').html();
1022 el.css('font-family', font_name ? CSS.escape(font_name) : '');
1023 },
1024 // e2pdf.font.size
1025 size: function (el, size) {
1026 var font_size = size.val();
1027 el.css({'font-size': font_size + "px"});
1028 },
1029 // e2pdf.font.line
1030 line: function (el, height) {
1031 var line_height = height.val();
1032 el.css({'line-height': line_height + "px"});
1033 },
1034 // e2pdf.font.color
1035 fontcolor: function (el, color) {
1036 var font_color = color.val();
1037 el.css({'color': font_color});
1038 },
1039 // e2pdf.font.delete
1040 delete: function (el) {
1041 var font = el.attr('data-font');
1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
1043 }
1044 },
1045 // e2pdf.request
1046 request: {
1047 // e2pdf.request.upload
1048 upload: function (action, el) {
1049 if (el.attr('disabled')) {
1050 return;
1051 }
1052 var data = new FormData(el.closest('form')[0]);
1053 e2pdf.event.fire('before.request.upload', action, el);
1054 jQuery('html').addClass('e2pdf-loading');
1055 jQuery.ajax({
1056 url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
1057 type: 'POST',
1058 data: data,
1059 cache: false,
1060 contentType: false,
1061 processData: false,
1062 success: function (response) {
1063 if (response.redirect !== undefined) {
1064 e2pdf.event.fire('after.request.upload.success', action, el);
1065 e2pdf.static.unsaved = false;
1066 location.href = response.redirect;
1067 } else if (response.error !== undefined) {
1068 jQuery('html').removeClass('e2pdf-loading');
1069 e2pdf.event.fire('after.request.upload.error', action, el);
1070 alert(response.error);
1071 } else {
1072 jQuery('html').removeClass('e2pdf-loading');
1073 e2pdf.event.fire('after.request.upload.error', action, el);
1074 }
1075 },
1076 error: function (response) {
1077 jQuery('html').removeClass('e2pdf-loading');
1078 e2pdf.event.fire('after.request.upload.error', action, el);
1079 }
1080 });
1081 },
1082 // e2pdf.request.submitForm
1083 submitForm: function (el) {
1084 if (el.attr('disabled')) {
1085 return;
1086 }
1087 el.attr('disabled', 'disabled');
1088 jQuery('html').addClass('e2pdf-loading');
1089 e2pdf.event.fire('before.request.submitForm');
1090 var form_id = el.attr('form-id');
1091 var form = jQuery(document.getElementById(form_id));
1092 var data = e2pdf.form.serializeObject(form);
1093 var action = el.attr('action');
1094 var _wpnonce = el.attr('_wpnonce');
1095 switch (form_id) {
1096 case 'e2pdf-build-form':
1097 var elements = e2pdf.form.serializeElements();
1098 data.pages = {};
1099 jQuery('.e2pdf-page').each(function () {
1100 var page_id = jQuery(this).attr('data-page_id');
1101 data.pages[page_id] = {};
1102 var properties = e2pdf.properties.get(jQuery(this));
1103 properties['width'] = jQuery(this).attr('data-width');
1104 properties['height'] = jQuery(this).attr('data-height');
1105 delete properties['page_id'];
1106 delete properties['element_type'];
1107 delete properties['preset'];
1108 var page_elements = [];
1109 data.pages[page_id]['properties'] = properties;
1110 data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
1111 data.pages[page_id]['elements'] = page_elements;
1112 });
1113 for (var key in elements) {
1114 data.pages[elements[key].page_id]['elements'].push(elements[key]);
1115 }
1116 data.actions = e2pdf.actions.get(jQuery('.e2pdf-tpl'));
1117 data.properties = e2pdf.properties.get(jQuery('.e2pdf-tpl'));
1118 data = JSON.stringify(data);
1119 break;
1120 case 'e2pdf-export-form':
1121 data = JSON.stringify(data);
1122 break;
1123 case 'e2pdf-email':
1124 jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
1125 data = {};
1126 data['email'] = form.find('input[name="email"]').val();
1127 if (form.find('input[name="email_code"]').length > 0) {
1128 data['email_code'] = form.find('input[name="email_code"]').val();
1129 }
1130 break;
1131 }
1132 jQuery('html').addClass('e2pdf-loading');
1133 if (el.attr('target') === '_blank') {
1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
1135 jQuery('<textarea>', {'name': 'preview'}).val(data)
1136 ).hide();
1137 jQuery('body').append(post_form);
1138 post_form.submit();
1139 post_form.remove();
1140 jQuery('html').removeClass('e2pdf-loading');
1141 el.attr('disabled', false);
1142 return false;
1143 }
1144 jQuery.ajax({
1145 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1146 data: {action: action, data: data},
1147 success: function (response) {
1148 if (response.redirect !== undefined) {
1149 location.href = response.redirect;
1150 } else {
1151 el.attr('disabled', false);
1152 if (response.error !== undefined) {
1153 jQuery('html').removeClass('e2pdf-loading');
1154 alert(response.error);
1155 } else if (response.content) {
1156 e2pdf.request.callBack(action, response.content, el);
1157 jQuery('html').removeClass('e2pdf-loading');
1158 } else {
1159 jQuery('html').removeClass('e2pdf-loading');
1160 }
1161 }
1162 },
1163 error: function (response) {
1164 jQuery('html').removeClass('e2pdf-loading');
1165 el.attr('disabled', false);
1166 }
1167 });
1168 },
1169 // e2pdf.request.submitRequest
1170 submitRequest: function (action, el, value) {
1171 if (el.attr('disabled')) {
1172 return;
1173 }
1174 if (action !== 'e2pdf_bulk_progress') {
1175 jQuery('html').addClass('e2pdf-loading');
1176 }
1177 if (!value) {
1178 var value = el.val();
1179 }
1180 var _wpnonce = el.attr('_wpnonce');
1181 if (action == 'e2pdf_bulk_progress') {
1182 _wpnonce = e2pdf_params['nonce']['e2pdf'];
1183 }
1184
1185 e2pdf.event.fire('before.request.submitRequest', action, el);
1186 jQuery.ajax({
1187 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1188 data: {action: action, data: value},
1189 success: function (response) {
1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
1191 if (response.redirect !== undefined) {
1192 location.href = response.redirect;
1193 } else if (response.error !== undefined) {
1194 jQuery('html').removeClass('e2pdf-loading');
1195 alert(response.error);
1196 } else if (response.content) {
1197 e2pdf.request.callBack(action, response.content, el);
1198 jQuery('html').removeClass('e2pdf-loading');
1199 } else {
1200 jQuery('html').removeClass('e2pdf-loading');
1201 }
1202 },
1203 error: function (response) {
1204 jQuery('html').removeClass('e2pdf-loading');
1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
1206 }
1207 });
1208 },
1209 // e2pdf.request.submitLocal
1210 submitLocal: function (el, noclose = false) {
1211 var form_id = el.attr('form-id');
1212 var form = jQuery(document.getElementById(form_id));
1213 var data = e2pdf.form.serializeObject(form);
1214 switch (form_id) {
1215 case 'e2pdf-page-options':
1216 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1217 var action_error = false;
1218 for (var action in data['actions']) {
1219 for (var condition in data['actions'][action]['conditions']) {
1220 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1221 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1222 action_element.addClass('e2pdf-action-error');
1223 action_error = true;
1224 }
1225 }
1226 }
1227 if (action_error) {
1228 setTimeout(function () {
1229 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1230 }, 0);
1231 return;
1232 }
1233 var width = data['width'];
1234 var height = data['height'];
1235 var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1236 e2pdf.actions.apply(page, data['actions']);
1237 e2pdf.pages.changePageSize(page, width, height);
1238 e2pdf.properties.apply(page, data);
1239 e2pdf.event.fire('after.request.submitLocal', false, page);
1240 break;
1241 case 'e2pdf-tpl-actions':
1242 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1243 var action_error = false;
1244 for (var action in data['actions']) {
1245 for (var condition in data['actions'][action]['conditions']) {
1246 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1247 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1248 action_element.addClass('e2pdf-action-error');
1249 action_error = true;
1250 }
1251 }
1252 }
1253 if (action_error) {
1254 setTimeout(function () {
1255 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1256 }, 0);
1257 return;
1258 }
1259 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1260 break;
1261 case 'e2pdf-tpl-properties':
1262 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1263 e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1264 break;
1265 case 'e2pdf-tpl-hooks':
1266 var hooks = data['hooks'];
1267 if (hooks) {
1268 e2pdf.pdf.settings.change('hooks', hooks.join(','));
1269 } else {
1270 e2pdf.pdf.settings.change('hooks', '');
1271 }
1272 break;
1273 default:
1274 var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1275 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1276 var action_error = false;
1277 for (var action in data['actions']) {
1278 for (var condition in data['actions'][action]['conditions']) {
1279 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1280 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1281 action_element.addClass('e2pdf-action-error');
1282 action_error = true;
1283 }
1284 }
1285 }
1286 if (action_error) {
1287 setTimeout(function () {
1288 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1289 }, 0);
1290 return;
1291 }
1292 var history = [];
1293 history.push(element.clone(true));
1294 e2pdf.history.set('element_change', history);
1295 e2pdf.actions.apply(element, data['actions']);
1296 delete data['actions'];
1297 e2pdf.properties.apply(element, data);
1298 e2pdf.properties.render(element);
1299 e2pdf.event.fire('after.request.submitLocal', false, el);
1300 break;
1301 }
1302 if (!noclose) {
1303 e2pdf.dialog.close();
1304 }
1305 },
1306 // e2pdf.request.callBack
1307 callBack: function (action, result, el) {
1308 switch (action) {
1309 case 'e2pdf_email':
1310 if (result === 'subscribed') {
1311 jQuery('.e2pdf-email-lock').remove();
1312 } else {
1313 jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1314 var form_id = el.attr('form-id');
1315 var form = jQuery(document.getElementById(form_id));
1316 form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1317 form.find('input[name="email"]').attr('type', 'hidden');
1318 jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
1319 }
1320 break;
1321 case 'e2pdf_extension':
1322 for (var key in result) {
1323 var option = jQuery('<option>',
1324 {
1325 'value': result[key]['id']
1326 }).html(result[key]['name']);
1327 if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1328 option.attr('selected', 'selected');
1329 }
1330 option.data('data-item', result[key]);
1331 jQuery('.e2pdf-item').append(option);
1332 }
1333 for (var key in result) {
1334 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1335 var option = jQuery('<option>',
1336 {
1337 'value': result[key]['id']
1338 }).html(result[key]['name']);
1339 if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1340 option.attr('selected', 'selected');
1341 }
1342 option.data('data-item', result[key]);
1343 jQuery('.e2pdf-item1').append(option);
1344 }
1345 }
1346 for (var key in result) {
1347 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1348 var option = jQuery('<option>',
1349 {
1350 'value': result[key]['id']
1351 }).html(result[key]['name']);
1352 if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1353 option.attr('selected', 'selected');
1354 }
1355 option.data('data-item', result[key]);
1356 jQuery('.e2pdf-item2').append(option);
1357 }
1358 }
1359 el.closest('form').find('.e2pdf-item').trigger('change');
1360 break;
1361 case 'e2pdf_get_styles':
1362 for (var key in result) {
1363 if (result[key].split('.').pop() == 'js') {
1364 jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
1365 } else {
1366 jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1367 }
1368 }
1369 break;
1370 case 'e2pdf_visual_mapper':
1371 el.html(result);
1372 var height = el.outerHeight();
1373 e2pdf.visual.mapper.markup();
1374 if (window.ResizeObserver) {
1375 e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1376 for (var mutation of mutationsList) {
1377 if (el.outerHeight() != height) {
1378 e2pdf.visual.mapper.rebuild();
1379 }
1380 }
1381 });
1382 e2pdf.static.observer.observe(el[0]);
1383 }
1384 var images = el.find('img');
1385 var counter = 0;
1386 counter = images.length;
1387 images.each(function () {
1388 var img = new Image();
1389 img.onload = function () {
1390 counter--;
1391 if (counter === 0) {
1392 e2pdf.visual.mapper.rebuild();
1393 }
1394 };
1395 img.onerror = function () {
1396 counter--;
1397 if (counter === 0) {
1398 e2pdf.visual.mapper.rebuild();
1399 }
1400 };
1401 img.src = jQuery(this).attr('src');
1402 });
1403 break;
1404 case 'e2pdf_templates':
1405 var template_id = result['id'];
1406 if (template_id) {
1407 jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1408 for (var key in result['datasets']) {
1409 var options = [];
1410 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1411 dataset_field.closest('.e2pdf-export-item').show();
1412 for (var subkey in result['datasets'][key]) {
1413 var option = {
1414 key: result['datasets'][key][subkey]['key'].toString(),
1415 value: result['datasets'][key][subkey]['value'].toString()
1416 };
1417 options.push(option);
1418 if (e2pdf.url.get('action') == 'bulk') {
1419 dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1420 } else {
1421 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1422 }
1423 }
1424 dataset_field.data('options', options);
1425 if (e2pdf.url.get('action') == 'bulk') {
1426 dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1427 if (Object.keys(result['datasets'][key]).length > 1) {
1428 dataset_field.attr('disabled', false);
1429 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1430 } else {
1431 dataset_field.attr('disabled', 'disabled');
1432 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1433 }
1434 } else {
1435 dataset_field.val('');
1436 e2pdf.select2.update(dataset_field);
1437 e2pdf.select2.enable(dataset_field);
1438 }
1439 }
1440 if (result['actions']) {
1441 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1442 for (var key in result['actions']) {
1443 ul.append(jQuery('<li>').html(result['actions'][key]));
1444 }
1445 jQuery('.e2pdf-export-template-actions').append(ul);
1446 }
1447 jQuery('.e2pdf-export-option').each(function () {
1448 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1449 var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1450 if (result['options'].hasOwnProperty(key)) {
1451 jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1452 if (result['options'][key]) {
1453 jQuery(this).val(result['options'][key]);
1454 } else {
1455 if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1456 jQuery(this).val('[e2pdf-dataset]');
1457 } else {
1458 if (key == 'args') {
1459 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1460 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1461 }
1462 jQuery(this).val('');
1463 }
1464 }
1465 } else {
1466 jQuery(this).val('');
1467 }
1468 if (jQuery(this).attr('name') == 'options[name]') {
1469 if (e2pdf.url.get('action') == 'bulk') {
1470 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1471 }
1472 }
1473 });
1474 if (e2pdf.static.autoloadExport) {
1475 var datasets = [
1476 'dataset',
1477 'dataset2'
1478 ];
1479 for (var key in datasets) {
1480 if (e2pdf.url.get(datasets[key])) {
1481 jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1482 }
1483 }
1484 for (var key in datasets) {
1485 if (e2pdf.url.get(datasets[key])) {
1486 e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1487 }
1488 }
1489 e2pdf.static.autoloadExport = false;
1490 } else {
1491 var url = '';
1492 if (e2pdf.url.get('action')) {
1493 url += 'action=' + e2pdf.url.get('action') + '&';
1494 }
1495 url += 'id=' + template_id;
1496 e2pdf.url.change('e2pdf', url);
1497 }
1498
1499 if (e2pdf.url.get('action') == 'bulk') {
1500 jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1501 }
1502 jQuery('.e2pdf-export-options').slideDown();
1503 } else {
1504 if (e2pdf.url.get('action') == 'bulk') {
1505 e2pdf.url.change('e2pdf', 'action=bulk');
1506 } else {
1507 e2pdf.url.change('e2pdf');
1508 }
1509 }
1510 break;
1511 case 'e2pdf_dataset':
1512 var template_id = result['id'];
1513 var url = 'id=' + template_id;
1514 var shortcode = '[e2pdf-download id="' + template_id + '"';
1515 if (result['datasets']) {
1516 for (var key in result['datasets']) {
1517 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1518 var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1519 e2pdf.select2.enable(dataset_field);
1520 if (result['datasets'][key]['id'] == '') {
1521 dataset_field.val('');
1522 e2pdf.select2.update(dataset_field);
1523 } else {
1524 url += '&' + key + '=' + result['datasets'][key]['id'];
1525 shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1526 }
1527 if (result['datasets'][key]['actions']) {
1528 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1529 for (var dkey in result['datasets'][key]['actions']) {
1530 ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
1531 }
1532 actions.empty().append(ul);
1533 }
1534 }
1535 jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1536 }
1537 shortcode += "]";
1538 if (result['export']) {
1539 jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1540 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1541 jQuery('.e2pdf-dataset-shortcode-wr').show();
1542 }
1543 e2pdf.url.change('e2pdf', url);
1544 break;
1545 case 'e2pdf_datasets_refresh':
1546 var options = [];
1547 var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1548 for (var key in result['datasets']) {
1549 var option = {
1550 key: result['datasets'][key]['key'].toString(),
1551 value: result['datasets'][key]['value'].toString()
1552 };
1553 options.push(option);
1554 if (e2pdf.url.get('action') == 'bulk') {
1555 dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1556 } else {
1557 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1558 }
1559 }
1560 dataset_field.data('options', options);
1561 e2pdf.select2.val(dataset_field, result['dataset']);
1562 break;
1563 case 'e2pdf_delete_item':
1564 case 'e2pdf_delete_items':
1565 jQuery('.e2pdf-export-template').trigger('change');
1566 break;
1567 case 'e2pdf_activate_template':
1568 case 'e2pdf_deactivate_template':
1569 if (result == 'activated') {
1570 el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1571 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1572 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1573 }
1574 } else {
1575 el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1576 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1577 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1578 }
1579 }
1580 break;
1581 case 'e2pdf_auto':
1582 var hidden_elements = [];
1583 var elements = result.elements;
1584 var width = parseFloat(e2pdf.pdf.settings.get('width'));
1585 var height = parseFloat(e2pdf.pdf.settings.get('height'));
1586 e2pdf.pages.changeTplSize(width, height);
1587 e2pdf.pages.createPage();
1588 jQuery('.ui-dialog-content').dialog('close');
1589 var i = 1;
1590 var page = jQuery('.e2pdf-page').last();
1591 var auto = {
1592 'block': {
1593 'top': 0,
1594 'left': 0,
1595 'right': 0,
1596 'bottom': 0,
1597 'width': 0,
1598 'page': page.attr('data-page_id')
1599 },
1600 'element': {
1601 'top': 0,
1602 'left': 0,
1603 'right': 0,
1604 'bottom': 0,
1605 'width': 0,
1606 'properties': {}
1607 },
1608 page: {
1609 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1610 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1611 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1612 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1613 }
1614 };
1615 for (var key in elements) {
1616 var element = elements[key];
1617 var type = element.type;
1618 var properties = {};
1619 element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1620 element['block'] = typeof element.block === 'undefined' ? false : element.block;
1621 element['float'] = typeof element.float === 'undefined' ? false : element.float;
1622 element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1623 element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1624 element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1625 element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1626 element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1627 element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1628 for (var property in element.properties) {
1629 properties[property] = element.properties[property];
1630 }
1631
1632 if (element.block) {
1633 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1634 if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
1635 page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1636 properties['left'] = auto.block.right + parseFloat(properties.left);
1637 properties['top'] = auto.block.top;
1638 } else {
1639 page = jQuery('.e2pdf-page').last();
1640 auto.block['bottom'] = 0;
1641 page.find('.e2pdf-element').each(function () {
1642 auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
1643 });
1644 properties['left'] = parseFloat(properties.left);
1645 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1646 }
1647 } else {
1648 if (element.float) {
1649 if (element.properties.width !== 'auto') {
1650 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1651 if (auto.element.properties.width === 'auto') {
1652 properties['width'] = properties['width'] - auto.element.width;
1653 }
1654 }
1655 properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1656 properties['top'] = auto.element.top;
1657 } else {
1658 if (element.properties.width !== 'auto') {
1659 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1660 }
1661 properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1662 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1663 }
1664 }
1665
1666 var obj = e2pdf.element.create(type, page, properties, false, true);
1667 e2pdf.properties.render(obj);
1668 page.append(obj);
1669 if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1670 e2pdf.actions.apply(obj, element.actions);
1671 }
1672
1673 if (element.properties.height === 'auto') {
1674 e2pdf.properties.set(obj, 'height', obj.height());
1675 e2pdf.properties.render(obj);
1676 } else if (element.properties.height === 'max') {
1677 e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1678 e2pdf.properties.render(obj);
1679 }
1680
1681 if (!element.block
1682 && element.float
1683 && auto.block.width > 0
1684 && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1685 e2pdf.properties.set(obj, 'left', auto.block.left);
1686 e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1687 e2pdf.properties.render(obj);
1688 }
1689
1690 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1691 if (page.is(':last-child')) {
1692 if (e2pdf_params['license_type'] == 'FREE') {
1693 obj.remove();
1694 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1695 return;
1696 }
1697
1698 if (page.find('.e2pdf-element').not(obj).length > 0) {
1699 e2pdf.pages.createPage();
1700 page = jQuery('.e2pdf-page').last();
1701 }
1702 } else {
1703 if (page.find('.e2pdf-element').not(obj).length > 0) {
1704 page = page.next('.e2pdf-page');
1705 }
1706 }
1707
1708 e2pdf.element.delete(obj);
1709 if (element.properties.height === 'auto') {
1710 properties['height'] = element.properties.height;
1711 }
1712
1713 auto.block['bottom'] = auto.page.top;
1714 properties['top'] = auto.block.bottom;
1715 obj = e2pdf.element.create(type, page, properties, false, true);
1716 e2pdf.properties.render(obj);
1717 page.append(obj);
1718 if (element.properties.height === 'auto') {
1719 e2pdf.properties.set(obj, 'height', obj.height());
1720 e2pdf.properties.render(obj);
1721 }
1722
1723 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1724 e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1725 e2pdf.properties.render(obj);
1726 e2pdf.properties.set(obj, 'top', properties['top']);
1727 e2pdf.properties.render(obj);
1728 }
1729 }
1730
1731 auto.element = {
1732 'top': e2pdf.properties.getValue(obj, 'top'),
1733 'left': e2pdf.properties.getValue(obj, 'left'),
1734 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1735 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1736 'width': e2pdf.properties.getValue(obj, 'width'),
1737 'properties': element.properties
1738 };
1739 if (element.block) {
1740 auto.block = {
1741 'top': e2pdf.properties.getValue(obj, 'top'),
1742 'left': e2pdf.properties.getValue(obj, 'left'),
1743 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1744 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1745 'width': e2pdf.properties.getValue(obj, 'width'),
1746 'page': page.attr('data-page_id')
1747 };
1748 } else {
1749 auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1750 }
1751 if (element.hidden) {
1752 hidden_elements.push(obj);
1753 }
1754 i++;
1755 }
1756 hidden_elements.forEach(function (element) {
1757 e2pdf.element.delete(element);
1758 });
1759 break;
1760 case 'e2pdf_bulk_action':
1761 if (result.action == 'delete') {
1762 el.closest('.e2pdf-bulk').remove();
1763 if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1764 jQuery('.e2pdf-bulks-list').remove();
1765 }
1766 } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1767 el.closest('.e2pdf-bulk').attr('status', 'stop');
1768 el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1769 } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1770 el.closest('.e2pdf-bulk').attr('status', 'pending');
1771 el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1772 }
1773 break;
1774 case 'e2pdf_bulk_progress':
1775 for (var key in result.bulks) {
1776 var bulk = result.bulks[key];
1777 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1778 if (bulk['status'] == 'completed') {
1779 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1780 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1781 jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1782 jQuery('<i>', {'class': 'dashicons dashicons-download'})
1783 ));
1784 }
1785 }
1786 break;
1787 default:
1788 break;
1789 }
1790 }
1791 },
1792 // e2pdf.dialog
1793 dialog: {
1794 top: null,
1795 left: null,
1796 center: true,
1797 // e2pdf.dialog.create
1798 create: function (el) {
1799 e2pdf.dialog.close();
1800 var modal = el.attr('data-modal');
1801 var title = el.attr('data-modal-title');
1802 var noclose = false;
1803 var width = '600';
1804 var height = '600';
1805 if (modal === 'license-key') {
1806 width = '400';
1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1808 jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1810 jQuery('<span>', {'class': 'spinner'})
1811 ),
1812 jQuery('<ul>').append(
1813 jQuery('<li>').append(
1814 jQuery('<label>', {'class': 'e2pdf-mb5'}).html(e2pdf.lang.get('License Key') + ':'),
1815 jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100 e2pdf-enter'})
1816 ),
1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1818 jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdf.lang.get('Apply'), '_wpnonce': e2pdf_params['nonce']['e2pdf_license']})
1819 )
1820 )
1821 )
1822 );
1823 } else if (modal === 'properties') {
1824 for (var key in e2pdf.element.selected) {
1825 var title = e2pdf.lang.get('Properties');
1826 var selected = e2pdf.element.selected[key];
1827 var fields = e2pdf.properties.renderFields(selected);
1828 var content = jQuery('<div>').append(
1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1831 fields
1832 )
1833 )
1834 );
1835 }
1836 } else if (modal === 'page-options') {
1837 var title = e2pdf.lang.get('Page Options');
1838 var page = el.closest('.e2pdf-page');
1839 var readonly_size = false;
1840 if (e2pdf.pdf.settings.get('pdf')) {
1841 readonly_size = true;
1842 }
1843
1844 var content = jQuery('<div>', {'class': 'e2pdf-page-options'}).append(jQuery('<form>', {'id': 'e2pdf-page-options', 'class': 'e2pdf-rel'}).append(
1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1846 jQuery('<span>', {'class': 'spinner'})
1847 ),
1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1849 jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1850 )),
1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1852 jQuery('<span>', {'class': 'spinner'})
1853 ));
1854 var fields = e2pdf.properties.renderFields(page);
1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1856 fields
1857 ));
1858 } else if (modal === 'tpl-actions') {
1859 width = '600';
1860 var title = e2pdf.lang.get('Global Actions');
1861 var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'));
1862 var content = jQuery('<div>').append(
1863 jQuery('<form>', {'id': 'e2pdf-tpl-actions'}).append(
1864 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1865 fields
1866 )
1867 )
1868 );
1869 } else if (modal === 'tpl-properties') {
1870 width = '600';
1871 var title = e2pdf.lang.get('Global Properties');
1872 var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'), false);
1873 var content = jQuery('<div>').append(
1874 jQuery('<form>', {'id': 'e2pdf-tpl-properties'}).append(
1875 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1876 fields
1877 )
1878 )
1879 );
1880 } else if (modal === 'tpl-options') {
1881 width = '500';
1882 var title = e2pdf.lang.get('Options');
1883 var readonly_size = false;
1884 if (e2pdf.pdf.settings.get('pdf')) {
1885 readonly_size = true;
1886 }
1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1888 jQuery('<option>',
1889 {
1890 'value': ''
1891 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1892 );
1893 for (var size in e2pdf_params['template_sizes']) {
1894 var option = jQuery('<option>',
1895 {
1896 'value': size
1897 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1898 sizes.append(option);
1899 }
1900
1901 var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
1902 for (var extension in e2pdf_params['extensions']) {
1903 var option = jQuery('<option>',
1904 {
1905 'value': extension
1906 }).html(e2pdf_params['extensions'][extension]);
1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1908 option.attr('selected', 'selected');
1909 }
1910 extensions.append(option);
1911 }
1912
1913 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-tpl-options', 'class': 'e2pdf-rel'}).append(
1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1915 jQuery('<span>', {'class': 'spinner'})
1916 ),
1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1918 jQuery('<h3>').html(e2pdf.lang.get('Options'))
1919 )),
1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1921 jQuery('<span>', {'class': 'spinner'})
1922 ));
1923 var default_width = '595';
1924 if (e2pdf.pdf.settings.get('width')) {
1925 default_width = e2pdf.pdf.settings.get('width');
1926 }
1927
1928 var default_height = '842';
1929 if (e2pdf.pdf.settings.get('height')) {
1930 default_height = e2pdf.pdf.settings.get('height');
1931 }
1932
1933 content.find('form').append(
1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1935 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
1936 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1937 ),
1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1940 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1941 ),
1942 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1943 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1944 )
1945 )
1946 );
1947 content.find('form').append(
1948 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1949 sizes);
1950 content.find('form').append(
1951 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1952 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1953 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1954 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1955 ),
1956 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1957 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1958 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
1959 ),
1960 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
1961 jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
1962 ),
1963 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
1964 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1965 )
1966 )
1967 );
1968 content.find('form').append(
1969 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1970 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1971 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1972 ),
1973 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1974 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1975 jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1976 ),
1977 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1978 jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1979 e2pdf.lang.get('RTL')
1980 )
1981 )
1982 );
1983 content.find('form').append(
1984 jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1985 extensions,
1986 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1987 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1988 );
1989 content.find('form').append(
1990 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1991 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1992 jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1993 ),
1994 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1995 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1996 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1997 jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
1998 jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
1999 jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2000 ).val('0'),
2001 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2002 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2003 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2004 e2pdf.lang.get('Shortcodes')
2005 )
2006 )
2007 )
2008 )
2009 )
2010 );
2011 content.find('form').append(
2012 jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2013 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2014 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2015 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2016 ),
2017 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2018 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2019 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2020 ),
2021 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2022 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2023 )
2024 )
2025 )
2026 );
2027 content.find('form').append(
2028 jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2029 );
2030 if (e2pdf.pdf.settings.get('pdf')) {
2031 content.find('form').append(
2032 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2033 jQuery('<li>'),
2034 jQuery('<li>').append(
2035 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
2036 ),
2037 jQuery('<li>')
2038 )
2039 );
2040 } else {
2041 content.find('form').append(
2042 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2043 jQuery('<li>').append(
2044 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
2045 ),
2046 jQuery('<li>'),
2047 jQuery('<li>').append(
2048 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
2049 )
2050 )
2051 );
2052 }
2053
2054 } else if (modal === 'tpl-hooks') {
2055 width = '600';
2056 var title = e2pdf.lang.get('Integration Hooks');
2057 var hooks = e2pdf.hooks.get();
2058 var checked = e2pdf.hooks.getChecked();
2059 var fields = jQuery('<div>');
2060 fields.append(jQuery('<p>', {'class': 'e2pdf-bold'}).html(e2pdf.lang.get('Display PDF Download') + ':'));
2061 for (var hook in hooks) {
2062 var option = jQuery('<label>', {'class': 'e2pdf-label e2pdf-w50'}).append(
2063 jQuery(
2064 '<input>', {
2065 'type': 'checkbox', 'name': 'hooks[]',
2066 'class': 'e2pdf-ib',
2067 'value': hook,
2068 'checked': jQuery.inArray(hook, checked) !== -1 ? 'checked' : false
2069 }
2070 )
2071 ).append(hooks[hook]);
2072 fields.append(option);
2073 }
2074 if (Object.keys(hooks).length === 0) {
2075 fields.append(jQuery('<p>').html(e2pdf.lang.get('No hooks are available for this extension')));
2076 }
2077 var content = jQuery('<div>').append(
2078 jQuery('<form>', {'id': 'e2pdf-tpl-hooks'}).append(
2079 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
2080 fields
2081 )
2082 )
2083 );
2084 } else if (modal === 'welcome-screen') {
2085 var noclose = true;
2086 width = '500';
2087 var title = e2pdf.lang.get('Create PDF');
2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
2089 jQuery('<option>',
2090 {
2091 'value': ''
2092 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
2093 );
2094 for (var size in e2pdf_params['template_sizes']) {
2095 var option = jQuery('<option>',
2096 {
2097 'value': size,
2098 'data-width': e2pdf_params['template_sizes'][size]['width'],
2099 'data-height': e2pdf_params['template_sizes'][size]['height']
2100 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
2101 sizes.append(option);
2102 }
2103
2104 var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
2105 for (var extension in e2pdf_params['extensions']) {
2106 var option = jQuery('<option>',
2107 {
2108 'value': extension
2109 }).html(e2pdf_params['extensions'][extension]);
2110 if (e2pdf.pdf.settings.get('extension') === extension) {
2111 option.attr('selected', 'selected');
2112 }
2113 extensions.append(option);
2114 }
2115
2116 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-welcome-screen', 'class': 'e2pdf-rel'}).append(
2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2118 jQuery('<span>', {'class': 'spinner'})
2119 ),
2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2121 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2122 )),
2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2124 jQuery('<span>', {'class': 'spinner'})
2125 ));
2126 var default_width = '595';
2127 if (e2pdf.pdf.settings.get('width')) {
2128 var default_width = e2pdf.pdf.settings.get('width');
2129 }
2130
2131 var default_height = '842';
2132 if (e2pdf.pdf.settings.get('height')) {
2133 var default_height = e2pdf.pdf.settings.get('height');
2134 }
2135
2136 content.find('form').append(
2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2138 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
2139 ),
2140 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2141 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2142 jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
2143 )
2144 )
2145 );
2146 content.find('form').append(
2147 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2148 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2149 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
2150 ),
2151 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2153 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2154 ),
2155 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2156 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2157 )
2158 )
2159 );
2160 content.find('form').append(
2161 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
2162 sizes);
2163 content.find('form').append(
2164 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2165 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2166 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2167 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
2168 ),
2169 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2170 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
2171 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
2172 ),
2173 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
2174 jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
2175 ),
2176 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
2177 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
2178 )
2179 )
2180 );
2181 content.find('form').append(
2182 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2183 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2184 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2185 ),
2186 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2187 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2188 jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2189 ),
2190 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2191 jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2192 e2pdf.lang.get('RTL')
2193 )
2194 )
2195 );
2196 content.find('form').append(
2197 jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
2198 extensions,
2199 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2200 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
2201 );
2202 content.find('form').append(
2203 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
2204 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2205 jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
2206 ),
2207 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2208 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2209 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
2210 jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
2211 jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
2212 jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2213 ).val('0'),
2214 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2215 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2216 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2217 e2pdf.lang.get('Shortcodes')
2218 )
2219 )
2220 )
2221 )
2222 )
2223 );
2224 content.find('form').append(
2225 jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2226 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2227 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2228 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2229 ),
2230 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2231 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2232 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2233 ),
2234 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2235 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2236 )
2237 )
2238 )
2239 );
2240 content.find('form').append(
2241 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2242 );
2243 content.find('form').append(
2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
2245 );
2246 if (e2pdf.pdf.settings.get('ID')) {
2247 content.find('form').append(
2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2249 );
2250 }
2251
2252 content.find('form').append(
2253 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2254 jQuery('<li>').append(
2255 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-w-empty e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Empty PDF'))
2256 ),
2257 jQuery('<li>').append(
2258 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-w-upload e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF')).append(jQuery('<span>').html(e2pdf.lang.get('Max Upload File Size') + ": " + e2pdf_params['upload_max_filesize']))
2259 ),
2260 jQuery('<li>').append(
2261 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
2262 )
2263 )
2264 );
2265 } else if (modal === 'visual-mapper') {
2266 var title = e2pdf.lang.get('Visual Mapper');
2267 var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2270 jQuery('<span>', {'class': 'spinner'})
2271 )).append(
2272 jQuery('<div>', {'class': 'e2pdf-popup-inner'}).append(
2273 jQuery('<div>', {'class': 'e2pdf-vm-content e2pdf-rel', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).append(
2274 jQuery('<span>', {'class': 'spinner'})
2275 )
2276 )
2277 ));
2278 } else if (modal === 'pdf-reupload') {
2279 var title = e2pdf.lang.get('PDF Upload');
2280 width = '500';
2281 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2282 jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2284 jQuery('<span>', {'class': 'spinner'})
2285 ),
2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2287 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2288 )),
2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2290 jQuery('<span>', {'class': 'spinner'})
2291 ));
2292 content.find('form').append(
2293 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2294 );
2295 if (e2pdf.pdf.settings.get('ID')) {
2296 content.find('form').append(
2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2298 );
2299 }
2300
2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
2302 pages.append(
2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
2304 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2305 jQuery('<label>').text(e2pdf.lang.get('Page ID'))
2306 ),
2307 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2308 jQuery('<label>').text(e2pdf.lang.get('Page ID inside Upload PDF'))
2309 ),
2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2311 jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
2312 ),
2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2314 jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
2315 )));
2316 jQuery('.e2pdf-page').each(function () {
2317 var page_id = jQuery(this).attr('data-page_id');
2318 pages.append(
2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2320 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).text(page_id),
2321 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w5 e2pdf-center'}).append(
2322 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-delete-reupload-page'}).append(
2323 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2324 )
2325 ),
2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2327 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
2328 ),
2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2330 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
2331 ),
2332 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2333 jQuery('<input>', {'name': 'flush[]', 'type': 'checkbox', 'value': page_id})
2334 )
2335 )
2336 );
2337 });
2338 content.find('form').append(pages);
2339 content.find('form').append(
2340 jQuery('<ul>').append(
2341 jQuery('<li>').append(
2342 ),
2343 jQuery('<li>').append(
2344 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF'))
2345 ),
2346 jQuery('<li>').append(
2347 )
2348 )
2349 );
2350 } else {
2351 var content = jQuery('<div>');
2352 }
2353
2354 if (typeof content !== 'undefined') {
2355
2356 var dialog_class = 'e2pdf-dialog';
2357 if (modal === 'visual-mapper') {
2358 dialog_class += ' e2pdf-dialog-visual-mapper';
2359 } else if (modal === 'properties') {
2360 dialog_class += ' e2pdf-dialog-element-properties';
2361 dialog_class += ' for-' + selected.data('data-type');
2362 }
2363 content.dialog({
2364 title: title,
2365 dialogClass: dialog_class,
2366 modal: true,
2367 width: width,
2368 height: Math.min(height, jQuery(window).height() - 200),
2369 resizable: modal === 'visual-mapper' || modal === 'properties' || modal === 'page-options' || modal === 'tpl-actions' || modal === 'tpl-properties' ? true : false,
2370 minWidth: 200,
2371 closeText: '',
2372 my: 'center',
2373 at: 'center',
2374 of: window,
2375 open: function (event, ui) {
2376 jQuery('html').css('overflow', 'hidden');
2377 jQuery('.e2pdf-dialog').css('min-height', '150');
2378 if (noclose) {
2379 jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
2380 location.href = e2pdf.url.build('e2pdf-templates');
2381 e.preventDefault();
2382 });
2383 } else {
2384 jQuery('.ui-widget-overlay').bind('click', function ()
2385 {
2386 if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2387 return;
2388 }
2389 content.dialog('close');
2390 });
2391 }
2392
2393 if (modal === 'properties') {
2394 jQuery(".ui-dialog-titlebar").after(
2395 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2396 jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-noclose', 'value': e2pdf.lang.get('Apply')}),
2397 jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-ml5', 'value': e2pdf.lang.get('Save')})
2398 )
2399 );
2400 } else if (modal === 'tpl-actions') {
2401 jQuery(".ui-dialog-titlebar").after(
2402 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2403 jQuery('<input>', {'form-id': "e2pdf-tpl-actions", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2404 )
2405 );
2406 } else if (modal === 'tpl-properties') {
2407 jQuery(".ui-dialog-titlebar").after(
2408 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2409 jQuery('<input>', {'form-id': "e2pdf-tpl-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2410 )
2411 );
2412 } else if (modal === 'tpl-hooks') {
2413 jQuery(".ui-dialog-titlebar").after(
2414 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2415 jQuery('<input>', {'form-id': "e2pdf-tpl-hooks", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2416 )
2417 );
2418 } else if (modal === 'visual-mapper') {
2419 jQuery(".ui-dialog-titlebar").after(
2420 jQuery('<div>', {'class': 'e2pdf-dialog-over'}).append(
2421 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2422 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w40 e2pdf-pr10'}).append(
2423 jQuery('<input>', {'type': 'text', 'name': 'vm_search', 'class': 'e2pdf-ib e2pdf-w100 e2pdf-hide', 'value': '', 'placeholder': e2pdf.lang.get('Filter...')})
2424 ),
2425 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-align-right'}).append(
2426 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pr10'}).append(
2427 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_hidden', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.hidden ? 'checked' : false})
2428 ).append(e2pdf.lang.get('Hidden Fields')),
2429 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10 e2pdf-pr10'}).append(
2430 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_replace', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.replace ? 'checked' : false})
2431 ).append(e2pdf.lang.get('Replace Value')),
2432 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10'}).append(
2433 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_close', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.close ? 'checked' : false})
2434 ).append(e2pdf.lang.get('Auto-Close'))
2435 )
2436 )
2437 )
2438 );
2439 } else if (modal === 'page-options') {
2440 jQuery(".ui-dialog-titlebar").after(
2441 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2442 jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2443 )
2444 );
2445 }
2446 jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
2447 },
2448 closeOnEscape: modal === 'welcome-screen' || modal === 'tpl-options' ? false : true,
2449 beforeClose: function (event, ui) {
2450 e2pdf.dialog.center = true;
2451 },
2452 dragStop: function (event, ui) {
2453 e2pdf.dialog.center = false;
2454 },
2455 resizeStart: function (event, ui) {
2456 },
2457 resize: function (event, ui) {
2458 var max_height = jQuery('.e2pdf-dialog').height();
2459 var min_height = 0;
2460 if (jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').length > 0) {
2461 min_height += jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').outerHeight();
2462 }
2463 if (jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').length > 0) {
2464 min_height += jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').outerHeight();
2465 }
2466 jQuery('.e2pdf-dialog').css('min-height', Math.max(150, min_height + 50));
2467 jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': max_height - min_height});
2468 },
2469 resizeStop: function (event, ui) {
2470 e2pdf.dialog.center = false;
2471 },
2472 close: function (event, ui)
2473 {
2474 jQuery('html').css('overflow', 'auto');
2475 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
2476 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
2477 jQuery(this).click();
2478 });
2479 }
2480 e2pdf.visual.mapper.selected = null;
2481 jQuery(this).remove();
2482 }
2483 });
2484 }
2485
2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
2487 jQuery('.e2pdf-extension').trigger('change');
2488 } else if (modal === 'visual-mapper') {
2489 var data = {};
2490 data['extension'] = e2pdf.pdf.settings.get('extension');
2491 data['item'] = e2pdf.pdf.settings.get('item');
2492 data['item1'] = e2pdf.pdf.settings.get('item1');
2493 data['item2'] = e2pdf.pdf.settings.get('item2');
2494 e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('.e2pdf-vm-content'), data);
2495 }
2496
2497 if (modal !== 'visual-mapper') {
2498 e2pdf.dialog.rebuild();
2499 }
2500
2501 e2pdf.event.fire('after.dialog.create');
2502 },
2503 // e2pdf.dialog.close
2504 close: function () {
2505 if (jQuery('.e2pdf-dialog').length > 0) {
2506 jQuery('.ui-dialog-content').dialog('close');
2507 }
2508 },
2509 // e2pdf.dialog.rebuild
2510
2511 rebuild: function () {
2512 if (jQuery('.e2pdf-dialog').not('.ui-dialog-resizing').length > 0) {
2513 if (jQuery('.e2pdf-dialog').width() > jQuery(window).width()) {
2514 jQuery('.e2pdf-dialog').width(jQuery(window).width() - 100);
2515 }
2516 if (e2pdf.dialog.center) {
2517 jQuery('.e2pdf-dialog').find('.ui-dialog-content').dialog('option', 'position', {my: 'center', at: 'center', of: window});
2518 }
2519 e2pdf.visual.mapper.rebuild();
2520 }
2521 }
2522 },
2523 // e2pdf.mediaUploader
2524 mediaUploader: {
2525 // e2pdf.mediaUploader.init
2526 init: function (el) {
2527 var mediaUploader;
2528 mediaUploader = wp.media.frames.file_frame = wp.media({
2529 title: e2pdf.lang.get('Media Library'),
2530 button: {
2531 text: e2pdf.lang.get('Select')
2532 }, multiple: false});
2533 mediaUploader.on('select', function () {
2534 var history = [];
2535 history.push(el.clone(true));
2536 e2pdf.history.set('element_change', history);
2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
2538 e2pdf.properties.set(el, 'value', attachment.url);
2539 e2pdf.properties.render(el);
2540 e2pdf.event.fire('after.mediaUploader.select');
2541 });
2542 mediaUploader.open();
2543 }
2544 },
2545 // e2pdf.actions
2546 actions: {
2547 // e2pdf.actions.add
2548 add: function (el, target, action) {
2549 var last_id = -1;
2550 target.find('.e2pdf-action').each(function () {
2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
2552 if (num_id > last_id) {
2553 last_id = num_id;
2554 }
2555 });
2556 var action_id = parseInt(last_id + 1);
2557 if (action) {
2558 target.append(e2pdf.actions.renderField(el, action_id, action));
2559 } else {
2560 target.append(e2pdf.actions.renderField(el, action_id));
2561 }
2562
2563 },
2564 // e2pdf.actions.change
2565 change: function (action, trigger) {
2566 var action_id = action.attr("data-action_id");
2567 var form = action.closest('form');
2568 var data = e2pdf.form.serializeObject(form);
2569 var el = false;
2570 if (form.attr('id') === 'e2pdf-page-options') {
2571 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2572 } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2573 el = jQuery('.e2pdf-tpl');
2574 } else {
2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2576 }
2577
2578 var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2579 if (!formatRegex.test(trigger.attr('name'))) {
2580 data['actions'][action_id]['change'] = '';
2581 }
2582
2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
2584 e2pdf.event.fire('after.actions.change');
2585 },
2586 // e2pdf.actions.duplicate
2587 duplicate: function (action) {
2588 var actions = action.closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
2589 var action_id = action.attr("data-action_id");
2590 var form = action.closest('form');
2591 var data = e2pdf.form.serializeObject(form);
2592 var el = false;
2593 if (form.attr('id') === 'e2pdf-page-options') {
2594 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2595 } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2596 el = jQuery('.e2pdf-tpl');
2597 } else {
2598 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2599 }
2600 e2pdf.actions.add(el, actions, data['actions'][action_id]);
2601 e2pdf.event.fire('after.actions.change');
2602 },
2603 // e2pdf.actions.delete
2604
2605 delete: function (action) {
2606 action.remove();
2607 },
2608 // e2pdf.actions.conditions
2609 conditions: {
2610 // e2pdf.actions.conditions.add
2611 add: function (el, target) {
2612 var action = target.closest('.e2pdf-action');
2613 var action_id = action.attr('data-action_id');
2614 var last_id = -1;
2615 target.find('.e2pdf-condition').each(function () {
2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
2617 if (num_id > last_id) {
2618 last_id = num_id;
2619 }
2620 });
2621 var condition_id = parseInt(last_id + 1);
2622 action.find('.e2pdf-conditions').append(
2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
2624 );
2625 },
2626 // e2pdf.actions.conditions.getFields
2627 getFields: function (el, action_id, condition_id, condition) {
2628 var obj = {
2629 'condition': {
2630 'fields': [
2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
2633 e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
2634 ],
2635 'classes': [
2636 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
2638 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 ]
2640 }
2641 };
2642 return obj;
2643 },
2644 // e2pdf.actions.conditions.getField
2645 getField: function (field, el, action_id, condition_id, condition) {
2646 var obj = false;
2647 switch (field) {
2648 case 'if':
2649 var value = condition ? condition.if : '';
2650 obj = {
2651 'name': e2pdf.lang.get('If'),
2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
2653 'type': 'textarea',
2654 'value': value,
2655 'atts': []
2656 };
2657 break;
2658 case 'condition':
2659 var value = condition ? condition.condition : '=';
2660 obj = {
2661 'name': e2pdf.lang.get('Condition'),
2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
2663 'type': 'select',
2664 'value': value,
2665 'options': [
2666 {'=': '='},
2667 {'!=': '!='},
2668 {'>': '>'},
2669 {'>=': '>='},
2670 {'<': '<'},
2671 {'<=': '<='},
2672 {'like': e2pdf.lang.get('Contains')},
2673 {'not_like': e2pdf.lang.get('Not Contains')},
2674 {'in_array': e2pdf.lang.get('In Array')},
2675 {'not_in_array': e2pdf.lang.get('Not In Array')},
2676 {'in_list': e2pdf.lang.get('In List')},
2677 {'not_in_list': e2pdf.lang.get('Not In List')},
2678 {'array_key_exists': e2pdf.lang.get('Array Key Exists')},
2679 {'array_key_not_exists': e2pdf.lang.get('Array Key Not Exists')}
2680 ],
2681 'atts': []
2682 };
2683 break;
2684 case 'value':
2685 var value = condition ? condition.value : '';
2686 obj = {
2687 'name': e2pdf.lang.get('Value'),
2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
2689 'type': 'textarea',
2690 'value': value,
2691 'atts': []
2692 };
2693 break;
2694 }
2695 return obj;
2696 },
2697 // e2pdf.actions.conditions.delete
2698 delete: function (condition) {
2699 condition.remove();
2700 },
2701 // e2pdf.actions.conditions.renderField
2702 renderField: function (el, action_id, condition_id, condition) {
2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
2704 if (groups) {
2705 for (var group_key in groups) {
2706
2707 var group = groups[group_key];
2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2709 for (var field_key in group.fields) {
2710 var group_field = group.fields[field_key];
2711 var classes = '';
2712 if (group.classes) {
2713 if (group.classes[field_key]) {
2714 classes = group.classes[field_key];
2715 }
2716 }
2717
2718 var field = '';
2719 var label = '';
2720 var wrap = '';
2721 if (group_field.type === 'text') {
2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2723 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2724 } else if (group_field.type === 'hidden') {
2725 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2726 } else if (group_field.type === 'textarea') {
2727 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2728 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
2729 } else if (group_field.type === 'checkbox') {
2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
2732 if (group_field.value == group_field.option) {
2733 field.prop('checked', true);
2734 }
2735 } else if (group_field.type === 'color') {
2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2738 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2739 } else if (group_field.type === 'select') {
2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2742 for (var option_key in group_field.options) {
2743 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
2744 }
2745 field.val(group_field.value);
2746 }
2747
2748 if (!wrap) {
2749 wrap = field;
2750 } else {
2751 wrap.prepend(field);
2752 }
2753
2754 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
2755 }
2756 }
2757 }
2758
2759 grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
2762 ),
2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
2765 )));
2766 var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition e2pdf-w100', 'data-condition_id': condition_id}).append(
2767 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
2768 jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
2769 ),
2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2772 ),
2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2774 grid
2775 )
2776 );
2777 return new_condition;
2778 }
2779 },
2780 // e2pdf.actions.get
2781 get: function (el) {
2782 var actions = [];
2783 if (typeof el.data('data-actions') !== 'undefined') {
2784 actions = JSON.parse(el.data('data-actions'));
2785 actions = Object.values(actions).sort(function (a, b) {
2786 if (parseInt(a.order) === parseInt(b.order)) {
2787 return 0;
2788 }
2789 return parseInt(a.order) < parseInt(b.order) ? -1 : 1;
2790 });
2791 }
2792 return actions;
2793 },
2794 // e2pdf.actions.apply
2795 apply: function (el, data) {
2796 if (!data) {
2797 data = [];
2798 }
2799 el.data('data-actions', JSON.stringify(data));
2800 },
2801 // e2pdf.actions.getField
2802 getField: function (field, el, action_id, action) {
2803 var obj = false;
2804 switch (field) {
2805 case 'order':
2806 var value = action ? action.order : '0';
2807 obj = {
2808 'name': e2pdf.lang.get('Sort'),
2809 'key': 'actions[' + action_id + '][order]',
2810 'type': 'text',
2811 'value': value,
2812 'atts': ['number']
2813 };
2814 break;
2815 case 'format':
2816 var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2817 obj = {
2818 'name': e2pdf.lang.get('Format'),
2819 'key': 'actions[' + action_id + '][format]',
2820 'type': 'select',
2821 'value': value,
2822 'options': [
2823 {'insert_before': e2pdf.lang.get('Insert Before')},
2824 {'insert_after': e2pdf.lang.get('Insert After')},
2825 {'replace': e2pdf.lang.get('Full Replacement')},
2826 {'search': e2pdf.lang.get('Search / Replace')},
2827 ],
2828 'atts': []
2829 };
2830 break;
2831 case 'search':
2832 var value = action && typeof action.search !== 'undefined' ? action.search : '';
2833 obj = {
2834 'name': 'Search',
2835 'key': 'actions[' + action_id + '][search]',
2836 'type': 'textarea',
2837 'value': value,
2838 'atts': []
2839 };
2840 break;
2841 case 'pre_replace':
2842 var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2843 obj = {
2844 'name': e2pdf.lang.get('Pre-Replace'),
2845 'key': 'actions[' + action_id + '][pre_replace]',
2846 'type': 'select',
2847 'value': value,
2848 'options': [
2849 {'': '-'},
2850 {'render': e2pdf.lang.get('Render Value')}
2851 ],
2852 'atts': []
2853 };
2854 break;
2855 case 'action':
2856 if (el.data('data-type') == 'e2pdf-tpl') {
2857 var value = action ? action.action : 'access_by_url';
2858 // backward compatibility
2859 value = value.replace('restrict_process_shortcode_', '');
2860 value = value.replace('process_shortcode_', '');
2861 value = value.replace('restrict_process_', '');
2862 value = value.replace('process_', '');
2863 value = value.replace('restrict_', '');
2864 var options = [
2865 {'access_by_url': e2pdf.lang.get('PDF Access By URL')},
2866 {'redirect_access_by_url': e2pdf.lang.get('Redirect Access By URL')},
2867 {'shortcodes': e2pdf.lang.get('Shortcodes: All')},
2868 {'e2pdf_download': e2pdf.lang.get('Shortcode: e2pdf-download')},
2869 {'e2pdf_attachment': e2pdf.lang.get('Shortcode: e2pdf-attachment')},
2870 {'e2pdf_view': e2pdf.lang.get('Shortcode: e2pdf-view')},
2871 {'e2pdf_save': e2pdf.lang.get('Shortcode: e2pdf-save')},
2872 {'e2pdf_zapier': e2pdf.lang.get('Shortcode: e2pdf-zapier')},
2873 {'e2pdf_adobesign': e2pdf.lang.get('Shortcode: e2pdf-adobesign')},
2874 ];
2875 var hooks = e2pdf.hooks.get();
2876 if (Object.keys(hooks).length > 0) {
2877 options.push({'hooks': 'Hooks: All'});
2878 for (var hook in hooks) {
2879 options.push({[hook]: 'Hook: ' + hooks[hook]});
2880 }
2881 }
2882 if (!options.some(opt => Object.keys(opt)[0] === value)) {
2883 options.push({[value]: value});
2884 }
2885 } else if (el.data('data-type') == 'e2pdf-page') {
2886 var value = action ? action.action : 'hide';
2887 var options = [
2888 {'hide': e2pdf.lang.get('Hide Page')},
2889 {'show': e2pdf.lang.get('Show Page')},
2890 {'change': e2pdf.lang.get('Change Property')}
2891 ];
2892 } else {
2893 var value = action ? action.action : 'hide';
2894 var options = [
2895 {'hide': e2pdf.lang.get('Hide Element')},
2896 {'show': e2pdf.lang.get('Show Element')},
2897 {'change': e2pdf.lang.get('Change Property')}
2898 ];
2899 }
2900 obj = {
2901 'name': e2pdf.lang.get('Action'),
2902 'key': 'actions[' + action_id + '][action]',
2903 'type': 'select',
2904 'value': value,
2905 'options': options,
2906 'atts': []
2907 };
2908 break;
2909 case 'error_message':
2910 if (el.data('data-type') == 'e2pdf-tpl') {
2911 var value = action ? action.error_message : '';
2912 obj = {
2913 'name': e2pdf.lang.get('Error Message'),
2914 'key': 'actions[' + action_id + '][error_message]',
2915 'type': 'textarea',
2916 'value': value,
2917 'atts': []
2918 };
2919 }
2920 break;
2921 case 'redirect_error_message':
2922 if (el.data('data-type') == 'e2pdf-tpl') {
2923 var value = action ? action.redirect_error_message : '';
2924 if (!value) {
2925 value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
2926 }
2927 obj = {
2928 'name': e2pdf.lang.get('Error Message'),
2929 'key': 'actions[' + action_id + '][redirect_error_message]',
2930 'type': 'textarea',
2931 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2932 'value': value,
2933 'atts': []
2934 };
2935 }
2936 break;
2937 case 'redirect_url':
2938 if (el.data('data-type') == 'e2pdf-tpl') {
2939 var value = action ? action.redirect_url : '';
2940 obj = {
2941 'name': e2pdf.lang.get('Redirect URL'),
2942 'key': 'actions[' + action_id + '][redirect_url]',
2943 'type': 'text',
2944 'value': value,
2945 'atts': []
2946 };
2947 }
2948 break;
2949 case 'else':
2950 if (el.data('data-type') == 'e2pdf-page') {
2951 var options = [
2952 {'': '-'},
2953 {'hide': e2pdf.lang.get('Hide Page')}
2954 ];
2955 } else {
2956 var options = [
2957 {'': '-'},
2958 {'hide': e2pdf.lang.get('Hide Element')}
2959 ];
2960 }
2961
2962 var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2963 obj = {
2964 'name': e2pdf.lang.get('Else'),
2965 'key': 'actions[' + action_id + '][else]',
2966 'type': 'select',
2967 'options': options,
2968 'value': value,
2969 'atts': []
2970 };
2971 break;
2972 case 'property':
2973 if (el.data('data-type') == 'e2pdf-tpl') {
2974 // backward compatibility
2975 if (action && !action.property && action.action) {
2976 if (action.action.includes('restrict_')) {
2977 var value = 'disable';
2978 } else {
2979 var value = 'enable';
2980 }
2981 } else {
2982 var value = action && action.property ? action.property : 'enable';
2983 }
2984 var options = [
2985 {'enable': e2pdf.lang.get('Enable')},
2986 {'disable': e2pdf.lang.get('Disable')},
2987 ];
2988 obj = {
2989 'name': e2pdf.lang.get('State'),
2990 'key': 'actions[' + action_id + '][property]',
2991 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
2992 'value': value,
2993 'options': options,
2994 'atts': []
2995 };
2996 } else {
2997 var value = action ? action.property : '';
2998 if (action && action.action === 'change') {
2999 var options = [];
3000 var option = {
3001 '': e2pdf.lang.get('--- Select ---')
3002 };
3003 options.push(option);
3004 var groups = e2pdf.properties.getFields(el);
3005 for (var group_key in groups) {
3006 var group = groups[group_key];
3007 for (var field_key in group.fields) {
3008 var group_field = group.fields[field_key];
3009 if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
3010 var option = {};
3011 if (group_field.key == 'g_multiline') {
3012 option[group_field.key] = e2pdf.lang.get('Type');
3013 } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
3014 option[group_field.key] = group.name;
3015 } else {
3016 option[group_field.key] = group.name + ' ' + group_field.name;
3017 }
3018 options.push(option);
3019 }
3020 }
3021 }
3022 obj = {
3023 'name': e2pdf.lang.get('Property'),
3024 'key': 'actions[' + action_id + '][property]',
3025 'type': 'select',
3026 'value': value,
3027 'options': options,
3028 'atts': []
3029 };
3030 }
3031 }
3032 break;
3033 case 'change':
3034 var value = action ? action.change : '';
3035 if (
3036 action
3037 && typeof action.action !== 'undefined'
3038 && action.action === 'change'
3039 && typeof action.property !== 'undefined'
3040 && action.property !== ''
3041 ) {
3042
3043 var property = e2pdf.properties.getField(action.property, el);
3044 if (property) {
3045 if (action.property == 'value'
3046 && typeof action.format !== 'undefined'
3047 && (action.format == 'insert_before' || action.format == 'insert_after')) {
3048 property.name = e2pdf.lang.get('Value');
3049 } else if (property.type != 'checkbox') {
3050 property.name = e2pdf.lang.get('Change to');
3051 }
3052 property.key = 'actions[' + action_id + '][change]';
3053 if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
3054 property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
3055 }
3056 if (jQuery.inArray('readonly', property.atts) === -1) {
3057 if (property.type === 'select') {
3058 for (var key in property.options) {
3059 if (Object.keys(property.options[key])[0] == value) {
3060 property.value = value;
3061 break;
3062 }
3063 }
3064 } else if (jQuery.inArray('number', property.atts) !== -1) {
3065 if (value === '') {
3066 property.value = 0;
3067 } else {
3068 property.value = value;
3069 }
3070 } else {
3071 property.value = value;
3072 }
3073 }
3074 obj = property;
3075 }
3076 }
3077 break;
3078 case 'apply':
3079 var value = action ? action.apply : 'any';
3080 obj = {
3081 'name': e2pdf.lang.get('Apply If'),
3082 'key': 'actions[' + action_id + '][apply]',
3083 'type': 'select',
3084 'value': value,
3085 'options': [
3086 {'any': e2pdf.lang.get('Any')},
3087 {'all': e2pdf.lang.get('All')}
3088 ],
3089 'atts': []
3090 };
3091 break;
3092 }
3093 return obj;
3094 },
3095 // e2pdf.actions.getFields
3096 getFields: function (el, action_id, action) {
3097 var obj = {
3098 'action': {
3099 'fields': [
3100 e2pdf.actions.getField('order', el, action_id, action),
3101 e2pdf.actions.getField('action', el, action_id, action),
3102 e2pdf.actions.getField('property', el, action_id, action),
3103 e2pdf.actions.getField('apply', el, action_id, action)
3104 ],
3105 'classes': [
3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
3107 el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w50 e2pdf-pr5 e2pdf-action-action' : 'e2pdf-w35 e2pdf-pr5 e2pdf-action-action',
3108 el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w25 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property' : 'e2pdf-w40 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
3109 'e2pdf-w15 e2pdf-pl5'
3110 ]
3111 }
3112 };
3113 if (
3114 action
3115 && typeof action.action !== 'undefined'
3116 && action.action === 'change'
3117 && typeof action.property !== 'undefined'
3118 && action.property !== ''
3119 ) {
3120 if (action.property == 'value' && typeof action.format !== 'undefined' && action.format == 'search') {
3121 obj.action.fields.push(e2pdf.actions.getField('pre_replace', el, action_id, action));
3122 obj.action.classes.push('e2pdf-w100');
3123 obj.action.fields.push(e2pdf.actions.getField('search', el, action_id, action));
3124 obj.action.classes.push('e2pdf-w100');
3125 }
3126
3127 obj.action.fields.push(e2pdf.actions.getField('change', el, action_id, action));
3128 obj.action.classes.push('e2pdf-w100 e2pdf-action-change');
3129 if (action.property == 'value') {
3130 obj.action.fields.push(e2pdf.actions.getField('format', el, action_id, action));
3131 obj.action.classes.push('e2pdf-w100 e2pdf-action-format');
3132 }
3133 }
3134
3135 if (action && action.action == 'show') {
3136 obj.action.fields.push(e2pdf.actions.getField('else', el, action_id, action));
3137 obj.action.classes.push('e2pdf-w100');
3138 }
3139
3140 if (el.data('data-type') == 'e2pdf-tpl') {
3141 if (!action || (action && (action.action == 'access_by_url' || action.action == 'restrict_access_by_url'))) {
3142 obj.action.fields.push(e2pdf.actions.getField('error_message', el, action_id, action));
3143 obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3144 } else if (action && action.action == 'redirect_access_by_url') {
3145 obj.action.fields.push(e2pdf.actions.getField('redirect_url', el, action_id, action));
3146 obj.action.classes.push('e2pdf-w100 e2pdf-action-redirect-url');
3147 obj.action.fields.push(e2pdf.actions.getField('redirect_error_message', el, action_id, action));
3148 obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3149 }
3150 }
3151
3152 return obj;
3153 },
3154 // e2pdf.actions.renderField
3155 renderField: function (el, action_id, action) {
3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
3157 if (action) {
3158 // backward compatibility for Merge option
3159 if (typeof action.action !== 'undefined' && action.action == 'merge') {
3160 action.action = 'change';
3161 action.format = 'insert_after';
3162 }
3163 for (var condition in action.conditions) {
3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
3165 }
3166 } else {
3167 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
3168 }
3169
3170 var groups = e2pdf.actions.getFields(el, action_id, action);
3171 if (groups) {
3172 for (var group_key in groups) {
3173
3174 var group = groups[group_key];
3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3176 for (var field_key in group.fields) {
3177 var group_field = group.fields[field_key];
3178 var classes = '';
3179 if (group.classes) {
3180 if (group.classes[field_key]) {
3181 classes = group.classes[field_key];
3182 }
3183 }
3184
3185 var field = '';
3186 var label = '';
3187 var wrap = '';
3188 var placeholder = group_field.placeholder ? group_field.placeholder : '';
3189 if (group_field.type === 'text') {
3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3191 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3192 } else if (group_field.type === 'hidden') {
3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3194 } else if (group_field.type === 'textarea') {
3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3196 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
3197 } else if (group_field.type === 'checkbox') {
3198 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3200 if (group_field.value == group_field.option) {
3201 field.prop('checked', true);
3202 }
3203 } else if (group_field.type === 'color') {
3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3206 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3207 } else if (group_field.type === 'select') {
3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3210 for (var option_key in group_field.options) {
3211 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3212 }
3213 field.val(group_field.value);
3214 }
3215
3216 for (var att_key in group_field.atts) {
3217 var att = group_field.atts[att_key];
3218 switch (att) {
3219 case 'readonly':
3220 field.attr('readonly', 'readonly');
3221 break;
3222 case 'number':
3223 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
3224 break;
3225 case 'autocomplete':
3226 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3227 field.addClass('e2pdf-autocomplete-cl');
3228 field.autocomplete({
3229 source: group_field.source,
3230 minLength: 0,
3231 appendTo: wrap,
3232 open: function () {
3233 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3234 },
3235 classes: {
3236 "ui-autocomplete": "e2pdf-autocomplete"
3237 }
3238 });
3239 break;
3240 }
3241 }
3242
3243 if (!wrap) {
3244 wrap = field;
3245 } else {
3246 wrap.prepend(field);
3247 }
3248
3249 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
3250 }
3251 }
3252 }
3253
3254 var new_action = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-rel e2pdf-w100 e2pdf-action', 'data-action_id': action_id}).append(
3255 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
3256 jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
3257 ),
3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
3260 ),
3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
3262 grid
3263 ),
3264 conditions
3265 );
3266 return new_action;
3267 },
3268 // e2pdf.actions.renderFields
3269 renderFields: function (el) {
3270
3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
3272 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
3273 );
3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
3276 var actions = e2pdf.actions.get(el);
3277 for (var action in actions) {
3278 // Backward compatiability Show Element / Page
3279 if (actions[action].action == 'show') {
3280 if (typeof actions[action].else === 'undefined') {
3281 actions[action].else = '';
3282 }
3283 }
3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
3285 }
3286
3287 block.append(action_wrapper, add_action);
3288 return block;
3289 }
3290 },
3291 // e2pdf.properties
3292 properties: {
3293 // e2pdf.properties.getLink
3294 getLink: function (title, href, classes, collapse) {
3295 obj = {
3296 'name': title,
3297 'key': 'link',
3298 'type': 'link',
3299 'value': href,
3300 'classes': classes,
3301 'collapse': collapse,
3302 'atts': [
3303 'readonly',
3304 'collapse'
3305 ]
3306 };
3307 return obj;
3308 },
3309 // e2pdf.properties.getField
3310 getField: function (field, el) {
3311
3312 var obj = false;
3313 var properties = e2pdf.properties.get(el);
3314 var children = e2pdf.element.children(el);
3315 switch (field) {
3316 case 'page_id':
3317 obj = {
3318 'name': e2pdf.lang.get('Page ID'),
3319 'type': 'text',
3320 'value': el.data('data-type') === 'e2pdf-page' ? e2pdf.helper.getInt(el.attr('data-page_id')) : e2pdf.helper.getInt(el.closest('.e2pdf-page').attr('data-page_id')),
3321 'atts': [
3322 'readonly',
3323 'number'
3324 ]
3325 };
3326 if (el.data('data-type') !== 'e2pdf-page') {
3327 obj.atts.push('editable');
3328 }
3329 break;
3330 case 'element_id':
3331 obj = {
3332 'name': 'ID',
3333 'type': 'text',
3334 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 'atts': ['readonly']
3336 };
3337 break;
3338 case 'element_type':
3339 obj = {
3340 'name': e2pdf.lang.get('Type'),
3341 'type': 'text',
3342 'value': el.data('data-type'),
3343 'atts': ['readonly']
3344 };
3345 break;
3346 case 'width':
3347 obj = {
3348 'name': e2pdf.lang.get('Width'),
3349 'type': 'text',
3350 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 'atts': ['number']
3352 };
3353 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 obj.atts.push('readonly');
3355 }
3356 break;
3357 case 'height':
3358 obj = {
3359 'name': e2pdf.lang.get('Height'),
3360 'type': 'text',
3361 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 'atts': ['number']
3363 };
3364 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 obj.atts.push('readonly');
3366 }
3367 break;
3368 case 'top':
3369 obj = {
3370 'name': e2pdf.lang.get('Position Top'),
3371 'type': 'text',
3372 'value': e2pdf.helper.getFloat(el.css('top')),
3373 'atts': ['number']
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']
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_overlap':
4616 obj = {
4617 'name': e2pdf.lang.get('Axis Overlap'),
4618 'type': 'text',
4619 'value': e2pdf.helper.getInt(properties[field]),
4620 'atts': ['number']
4621 };
4622 break;
4623 case 'g_axis_stroke_width_v':
4624 obj = {
4625 'name': e2pdf.lang.get('Width'),
4626 'type': 'text',
4627 'value': e2pdf.helper.getInt(properties[field]),
4628 'atts': ['number']
4629 };
4630 break;
4631 case 'g_axis_stroke_width_h':
4632 obj = {
4633 'name': e2pdf.lang.get('Width'),
4634 'type': 'text',
4635 'value': e2pdf.helper.getInt(properties[field]),
4636 'atts': ['number']
4637 };
4638 break;
4639 case 'g_minimum_grid_spacing':
4640 obj = {
4641 'name': e2pdf.lang.get('Grid Spacing'),
4642 'type': 'text',
4643 'value': e2pdf.helper.getInt(properties[field]),
4644 'atts': ['number']
4645 };
4646 break;
4647 case 'g_minimum_grid_spacing_v':
4648 obj = {
4649 'name': e2pdf.lang.get('Grid Spacing (V)'),
4650 'type': 'text',
4651 'value': e2pdf.helper.getInt(properties[field]),
4652 'atts': ['number']
4653 };
4654 break;
4655 case 'g_minimum_grid_spacing_h':
4656 obj = {
4657 'name': e2pdf.lang.get('Grid Spacing (H)'),
4658 'type': 'text',
4659 'value': e2pdf.helper.getInt(properties[field]),
4660 'atts': ['number']
4661 };
4662 break;
4663 case 'g_grid_division_v':
4664 obj = {
4665 'name': e2pdf.lang.get('Grid Division (V)'),
4666 'type': 'text',
4667 'value': e2pdf.helper.getFloat(properties[field]),
4668 'atts': ['number']
4669 };
4670 break;
4671 case 'g_grid_division_h':
4672 obj = {
4673 'name': e2pdf.lang.get('Grid Division (H)'),
4674 'type': 'text',
4675 'value': e2pdf.helper.getFloat(properties[field]),
4676 'atts': ['number']
4677 };
4678 break;
4679 case 'g_axis_colour':
4680 obj = {
4681 'name': e2pdf.lang.get('Axis Color'),
4682 'type': 'color',
4683 'value': e2pdf.helper.getString(properties[field])
4684 };
4685 break;
4686 case 'g_grid_colour':
4687 obj = {
4688 'name': e2pdf.lang.get('Grid Color'),
4689 'key': 'g_grid_colour',
4690 'type': 'color',
4691 'value': e2pdf.helper.getString(properties[field])
4692 };
4693 break;
4694 case 'g_bar_width':
4695 obj = {
4696 'name': e2pdf.lang.get('Width'),
4697 'type': 'text',
4698 'value': e2pdf.helper.getInt(properties[field]),
4699 'atts': ['number']
4700 };
4701 break;
4702 case 'g_bar_width_min':
4703 obj = {
4704 'name': e2pdf.lang.get('Min Width'),
4705 'type': 'text',
4706 'value': e2pdf.helper.getInt(properties[field]),
4707 'atts': ['number']
4708 };
4709 break;
4710 case 'g_bar_space':
4711 obj = {
4712 'name': e2pdf.lang.get('Space'),
4713 'type': 'text',
4714 'value': e2pdf.helper.getInt(properties[field]),
4715 'atts': ['number']
4716 };
4717 break;
4718 case 'g_bar_label_colour':
4719 obj = {
4720 'name': e2pdf.lang.get('Bar Label Color'),
4721 'type': 'color',
4722 'value': e2pdf.helper.getString(properties[field])
4723 };
4724 break;
4725 case 'g_bar_label_font_size':
4726 obj = {
4727 'name': e2pdf.lang.get('Font Size'),
4728 'type': 'select',
4729 'value': e2pdf.helper.getString(properties[field]),
4730 'options': e2pdf.helper.font.sizes(field)
4731 };
4732 break;
4733 case 'g_bar_label_space':
4734 obj = {
4735 'name': e2pdf.lang.get('Space'),
4736 'type': 'text',
4737 'value': e2pdf.helper.getInt(properties[field]),
4738 'atts': ['number']
4739 };
4740 break;
4741 case 'g_bar_label_position_vertical':
4742 obj = {
4743 'name': e2pdf.lang.get('Position (V)'),
4744 'type': 'select',
4745 'value': e2pdf.helper.getString(properties[field], 'top'),
4746 'options':
4747 [
4748 {'top': e2pdf.lang.get('Top')},
4749 {'centre': e2pdf.lang.get('Middle')},
4750 {'bottom': e2pdf.lang.get('Bottom')}
4751 ]
4752 };
4753 break;
4754 case 'g_bar_label_position_horizontal':
4755 obj = {
4756 'name': e2pdf.lang.get('Position (H)'),
4757 'type': 'select',
4758 'value': e2pdf.helper.getString(properties[field], 'centre'),
4759 'options':
4760 [
4761 {'left': e2pdf.lang.get('Left')},
4762 {'centre': e2pdf.lang.get('Center')},
4763 {'right': e2pdf.lang.get('Right')}
4764 ]
4765 };
4766 break;
4767 case 'g_bar_label_position_join':
4768 obj = {
4769 'name': e2pdf.lang.get('Position'),
4770 'type': 'select',
4771 'value': e2pdf.helper.getString(properties[field], 'outer'),
4772 'options':
4773 [
4774 {'inner': 'Inner'},
4775 {'outer': 'Outer'}
4776 ]
4777 };
4778 break;
4779 case 'g_show_bar_labels':
4780 obj = {
4781 'name': e2pdf.lang.get('Bar Labels'),
4782 'type': 'checkbox',
4783 'value': e2pdf.helper.getCheckbox(properties[field]),
4784 'option': '1'
4785 };
4786 break;
4787 case 'g_marker_type':
4788 obj = {
4789 'name': e2pdf.lang.get('Marker'),
4790 'type': 'select',
4791 'value': e2pdf.helper.getString(properties[field], 'circle'),
4792 'options':
4793 [
4794 {'circle': 'Circle'},
4795 {'square': 'Square'},
4796 {'triangle': 'Triangle'},
4797 {'cross': 'Cross'},
4798 {'x': 'X'},
4799 {'pentagon': 'Pentagon'},
4800 {'diamond': 'Diamond'},
4801 {'hexagon': 'Hexagon'},
4802 {'octagon': 'Octagon'},
4803 {'asterisk': 'Asterisk'},
4804 {'star': 'Star'},
4805 {'threestar': 'Threestar'},
4806 {'fourstar': 'Fourstar'},
4807 {'eightstar': 'Eightstar'}
4808 ]
4809 };
4810 break;
4811 case 'g_marker_colour':
4812 obj = {
4813 'name': e2pdf.lang.get('Color'),
4814 'type': 'color',
4815 'value': e2pdf.helper.getString(properties[field])
4816 };
4817 break;
4818 case 'g_marker_size':
4819 obj = {
4820 'name': e2pdf.lang.get('Size'),
4821 'type': 'text',
4822 'value': e2pdf.helper.getInt(properties[field]),
4823 'atts': ['number']
4824 };
4825 break;
4826 case 'g_marker_dynamic_colour':
4827 obj = {
4828 'name': e2pdf.lang.get('Dynamic Marker Color'),
4829 'type': 'checkbox',
4830 'value': e2pdf.helper.getCheckbox(properties[field]),
4831 'option': '1'
4832 };
4833 break;
4834 case 'g_grid_subdivision_colour':
4835 obj = {
4836 'name': e2pdf.lang.get('Grid Subdivision Color'),
4837 'type': 'color',
4838 'value': e2pdf.helper.getString(properties[field])
4839 };
4840 break;
4841 case 'g_show_subdivisions':
4842 obj = {
4843 'name': e2pdf.lang.get('Sub Divisions'),
4844 'type': 'checkbox',
4845 'value': e2pdf.helper.getCheckbox(properties[field]),
4846 'option': '1'
4847 };
4848 break;
4849 case 'g_show_grid':
4850 obj = {
4851 'name': e2pdf.lang.get('Grid'),
4852 'type': 'checkbox',
4853 'value': e2pdf.helper.getCheckbox(properties[field]),
4854 'option': '1'
4855 };
4856 break;
4857 case 'g_show_axis_v':
4858 obj = {
4859 'name': e2pdf.lang.get('Axis (V)'),
4860 'type': 'checkbox',
4861 'value': e2pdf.helper.getCheckbox(properties[field]),
4862 'option': '1'
4863 };
4864 break;
4865 case 'g_show_axis_text_v':
4866 obj = {
4867 'name': e2pdf.lang.get('Text'),
4868 'type': 'checkbox',
4869 'value': e2pdf.helper.getCheckbox(properties[field]),
4870 'option': '1'
4871 };
4872 break;
4873 case 'g_show_axis_h':
4874 obj = {
4875 'name': e2pdf.lang.get('Axis (H)'),
4876 'type': 'checkbox',
4877 'value': e2pdf.helper.getCheckbox(properties[field]),
4878 'option': '1'
4879 };
4880 break;
4881 case 'g_show_axis_text_h':
4882 obj = {
4883 'name': e2pdf.lang.get('Text'),
4884 'type': 'checkbox',
4885 'value': e2pdf.helper.getCheckbox(properties[field]),
4886 'option': '1'
4887 };
4888 break;
4889 case 'g_axis_min_h':
4890 obj = {
4891 'name': e2pdf.lang.get('Min'),
4892 'type': 'text',
4893 'value': e2pdf.helper.getInt(properties[field]),
4894 'atts': ['number', 'number-negative']
4895 };
4896 break;
4897 case 'g_axis_max_h':
4898 obj = {
4899 'name': e2pdf.lang.get('Max'),
4900 'type': 'text',
4901 'value': e2pdf.helper.getInt(properties[field]),
4902 'atts': ['number', 'number-negative']
4903 };
4904 break;
4905 case 'g_axis_min_max_h':
4906 obj = {
4907 'name': e2pdf.lang.get('Enable'),
4908 'type': 'checkbox',
4909 'value': e2pdf.helper.getCheckbox(properties[field]),
4910 'option': '1'
4911 };
4912 break;
4913 case 'g_axis_min_v':
4914 obj = {
4915 'name': e2pdf.lang.get('Min'),
4916 'type': 'text',
4917 'value': e2pdf.helper.getInt(properties[field]),
4918 'atts': ['number', 'number-negative']
4919 };
4920 break;
4921 case 'g_axis_max_v':
4922 obj = {
4923 'name': e2pdf.lang.get('Max'),
4924 'type': 'text',
4925 'value': e2pdf.helper.getInt(properties[field]),
4926 'atts': ['number', 'number-negative']
4927 };
4928 break;
4929 case 'g_axis_min_max_v':
4930 obj = {
4931 'name': e2pdf.lang.get('Enable'),
4932 'type': 'checkbox',
4933 'value': e2pdf.helper.getCheckbox(properties[field]),
4934 'option': '1'
4935 };
4936 break;
4937 case 'g_show_grid_subdivisions':
4938 obj = {
4939 'name': e2pdf.lang.get('Sub Divisions'),
4940 'type': 'checkbox',
4941 'value': e2pdf.helper.getCheckbox(properties[field]),
4942 'option': '1'
4943 };
4944 break;
4945 case 'g_fill_under':
4946 obj = {
4947 'name': e2pdf.lang.get('Fill Under'),
4948 'type': 'checkbox',
4949 'value': e2pdf.helper.getCheckbox(properties[field]),
4950 'option': '1'
4951 };
4952 break;
4953 case 'g_reverse':
4954 obj = {
4955 'name': e2pdf.lang.get('Reverse'),
4956 'type': 'checkbox',
4957 'value': e2pdf.helper.getCheckbox(properties[field]),
4958 'option': '1'
4959 };
4960 break;
4961 case 'g_stroke_dynamic_colour':
4962 obj = {
4963 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
4964 'type': 'checkbox',
4965 'value': e2pdf.helper.getCheckbox(properties[field]),
4966 'option': '1'
4967 };
4968 break;
4969 case 'g_sort':
4970 obj = {
4971 'name': e2pdf.lang.get('Sort'),
4972 'type': 'checkbox',
4973 'value': e2pdf.helper.getCheckbox(properties[field]),
4974 'option': '1'
4975 };
4976 break;
4977 case 'g_percentage':
4978 obj = {
4979 'name': e2pdf.lang.get('Percentage'),
4980 'type': 'checkbox',
4981 'value': e2pdf.helper.getCheckbox(properties[field]),
4982 'option': '1'
4983 };
4984 break;
4985 case 'g_legend_title':
4986 obj = {
4987 'name': e2pdf.lang.get('Title'),
4988 'type': 'text',
4989 'value': e2pdf.helper.getString(properties[field])
4990 };
4991 break;
4992 case 'g_legend_title_font_size':
4993 obj = {
4994 'name': e2pdf.lang.get('Font Size'),
4995 'type': 'select',
4996 'value': e2pdf.helper.getString(properties[field]),
4997 'options': e2pdf.helper.font.sizes(field)
4998 };
4999 break;
5000 case 'g_legend_font_size':
5001 obj = {
5002 'name': e2pdf.lang.get('Font Size'),
5003 'type': 'select',
5004 'value': e2pdf.helper.getString(properties[field]),
5005 'options': e2pdf.helper.font.sizes(field)
5006 };
5007 break;
5008 case 'g_legend_position_vertical':
5009 obj = {
5010 'name': e2pdf.lang.get('Position (V)'),
5011 'key': 'g_legend_position_vertical',
5012 'type': 'select',
5013 'value': e2pdf.helper.getString(properties[field], 'top'),
5014 'options':
5015 [
5016 {'top': e2pdf.lang.get('Top')},
5017 {'middle': e2pdf.lang.get('Middle')},
5018 {'bottom': e2pdf.lang.get('Bottom')}
5019 ]
5020 };
5021 break;
5022 case 'g_legend_position_horizontal':
5023 obj = {
5024 'name': e2pdf.lang.get('Position (H)'),
5025 'type': 'select',
5026 'value': e2pdf.helper.getString(properties[field], 'right'),
5027 'options':
5028 [
5029 {'left': e2pdf.lang.get('Left')},
5030 {'center': e2pdf.lang.get('Center')},
5031 {'right': e2pdf.lang.get('Right')}
5032 ]
5033 };
5034 break;
5035 case 'g_legend_position_join':
5036 obj = {
5037 'name': e2pdf.lang.get('Position'),
5038 'type': 'select',
5039 'value': e2pdf.helper.getString(properties[field], 'inner'),
5040 'options':
5041 [
5042 {'inner': e2pdf.lang.get('Inner')},
5043 {'outer': e2pdf.lang.get('Outer')}
5044 ]
5045 };
5046 break;
5047 case 'g_legend_position_vertical_margin':
5048 obj = {
5049 'name': e2pdf.lang.get('Margin (V)'),
5050 'type': 'text',
5051 'value': e2pdf.helper.getFloat(properties[field]),
5052 'atts': ['number', 'number-negative']
5053 };
5054 break;
5055 case 'g_legend_position_horizontal_margin':
5056 obj = {
5057 'name': e2pdf.lang.get('Margin (H)'),
5058 'type': 'text',
5059 'value': e2pdf.helper.getFloat(properties[field]),
5060 'atts': ['number', 'number-negative']
5061 };
5062 break;
5063 case 'g_legend_text_side':
5064 obj = {
5065 'name': e2pdf.lang.get('Legend Text Side'),
5066 'type': 'select',
5067 'value': e2pdf.helper.getString(properties[field], 'left'),
5068 'options':
5069 [
5070 {'left': e2pdf.lang.get('Left')},
5071 {'right': e2pdf.lang.get('Right')}
5072 ]
5073 };
5074 break;
5075 case 'g_legend_columns':
5076 obj = {
5077 'name': e2pdf.lang.get('Columns'),
5078 'type': 'text',
5079 'value': e2pdf.helper.getInt(properties[field], 1),
5080 'atts': ['number']
5081 };
5082 break;
5083 case 'g_legend_entry_width':
5084 obj = {
5085 'name': e2pdf.lang.get('Width'),
5086 'type': 'text',
5087 'value': e2pdf.helper.getInt(properties[field]),
5088 'atts': ['number']
5089 };
5090 break;
5091 case 'g_legend_entry_height':
5092 obj = {
5093 'name': e2pdf.lang.get('Height'),
5094 'type': 'text',
5095 'value': e2pdf.helper.getInt(properties[field]),
5096 'atts': ['number']
5097 };
5098 break;
5099 case 'g_legend_padding_x':
5100 obj = {
5101 'name': e2pdf.lang.get('Padding (X)'),
5102 'type': 'text',
5103 'value': e2pdf.helper.getInt(properties[field]),
5104 'atts': ['number']
5105 };
5106 break;
5107 case 'g_legend_padding_y':
5108 obj = {
5109 'name': e2pdf.lang.get('Padding (Y)'),
5110 'type': 'text',
5111 'value': e2pdf.helper.getInt(properties[field]),
5112 'atts': ['number']
5113 };
5114 break;
5115 case 'g_legend_stroke_colour':
5116 obj = {
5117 'name': e2pdf.lang.get('Stroke Color'),
5118 'type': 'color',
5119 'value': e2pdf.helper.getString(properties[field])
5120 };
5121 break;
5122 case 'g_legend_stroke_width':
5123 obj = {
5124 'name': e2pdf.lang.get('Stroke Width'),
5125 'type': 'text',
5126 'value': e2pdf.helper.getInt(properties[field]),
5127 'atts': ['number']
5128 };
5129 break;
5130 case 'g_legend_back_colour':
5131 obj = {
5132 'name': e2pdf.lang.get('Background'),
5133 'type': 'color',
5134 'value': e2pdf.helper.getString(properties[field])
5135 };
5136 break;
5137 case 'g_legend_colour':
5138 obj = {
5139 'name': e2pdf.lang.get('Color'),
5140 'type': 'color',
5141 'value': e2pdf.helper.getString(properties[field])
5142 };
5143 break;
5144 case 'g_show_legend':
5145 obj = {
5146 'name': e2pdf.lang.get('Legend'),
5147 'type': 'checkbox',
5148 'value': e2pdf.helper.getCheckbox(properties[field]),
5149 'option': '1'
5150 };
5151 break;
5152 case 'g_bubble_scale':
5153 obj = {
5154 'name': e2pdf.lang.get('Bubble Scale'),
5155 'type': 'text',
5156 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5157 'atts': ['number']
5158 };
5159 break;
5160 case 'g_increment':
5161 obj = {
5162 'name': e2pdf.lang.get('Increment'),
5163 'type': 'text',
5164 'value': e2pdf.helper.getInt(properties[field]),
5165 'atts': ['number']
5166 };
5167 break;
5168 case 'g_stack_group':
5169 obj = {
5170 'name': e2pdf.lang.get('Stack Group'),
5171 'type': 'text',
5172 'value': e2pdf.helper.getString(properties[field])
5173 };
5174 break;
5175 case 'g_line_dataset':
5176 obj = {
5177 'name': e2pdf.lang.get('Line Dataset'),
5178 'type': 'text',
5179 'value': e2pdf.helper.getString(properties[field])
5180 };
5181 break;
5182 case 'g_project_angle':
5183 obj = {
5184 'name': e2pdf.lang.get('Project Angle'),
5185 'type': 'text',
5186 'value': e2pdf.helper.getInt(properties[field]),
5187 'atts': ['number']
5188 };
5189 break;
5190 case 'g_depth':
5191 obj = {
5192 'name': e2pdf.lang.get('Depth'),
5193 'type': 'text',
5194 'value': e2pdf.helper.getInt(properties[field]),
5195 'atts': ['number']
5196 };
5197 break;
5198 case 'g_aspect_ratio':
5199 obj = {
5200 'name': e2pdf.lang.get('Aspect Ratio'),
5201 'type': 'text',
5202 'value': e2pdf.helper.getFloat(properties[field]),
5203 'atts': ['number']
5204 };
5205 break;
5206 case 'g_line_curve':
5207 obj = {
5208 'name': e2pdf.lang.get('Line Curve'),
5209 'type': 'text',
5210 'value': e2pdf.helper.getString(properties[field])
5211 };
5212 break;
5213 case 'g_units_y':
5214 obj = {
5215 'name': e2pdf.lang.get('Units'),
5216 'type': 'text',
5217 'value': e2pdf.helper.getString(properties[field])
5218 };
5219 break;
5220 case 'g_units_x':
5221 obj = {
5222 'name': e2pdf.lang.get('Units'),
5223 'type': 'text',
5224 'value': e2pdf.helper.getString(properties[field])
5225 };
5226 break;
5227 case 'g_axis_text_position_v':
5228 obj = {
5229 'name': e2pdf.lang.get('Position'),
5230 'type': 'select',
5231 'value': e2pdf.helper.getString(properties[field], 'outside'),
5232 'options':
5233 [
5234 {'outside': e2pdf.lang.get('Outer')},
5235 {'inside': e2pdf.lang.get('Inner')}
5236 ]
5237 };
5238 break;
5239 case 'g_axis_text_position_h':
5240 obj = {
5241 'name': e2pdf.lang.get('Position'),
5242 'type': 'select',
5243 'value': e2pdf.helper.getString(properties[field], 'outside'),
5244 'options':
5245 [
5246 {'outside': e2pdf.lang.get('Outer')},
5247 {'inside': e2pdf.lang.get('Inner')}
5248 ]
5249 };
5250 break;
5251 case 'g_axis_text_align_v':
5252 obj = {
5253 'name': e2pdf.lang.get('Align'),
5254 'type': 'select',
5255 'value': e2pdf.helper.getString(properties[field], ''),
5256 'options':
5257 [
5258 {'': e2pdf.lang.get('Auto')},
5259 {'left': e2pdf.lang.get('Left')},
5260 {'centre': e2pdf.lang.get('Center')},
5261 {'right': e2pdf.lang.get('Right')}
5262 ]
5263 };
5264 break;
5265 case 'g_axis_text_align_h':
5266 obj = {
5267 'name': e2pdf.lang.get('Align'),
5268 'type': 'select',
5269 'value': e2pdf.helper.getString(properties[field], ''),
5270 'options':
5271 [
5272 {'': e2pdf.lang.get('Auto')},
5273 {'left': e2pdf.lang.get('Left')},
5274 {'centre': e2pdf.lang.get('Center')},
5275 {'right': e2pdf.lang.get('Right')}
5276 ]
5277 };
5278 break;
5279 case 'g_axis_text_space_v':
5280 obj = {
5281 'name': e2pdf.lang.get('Space'),
5282 'type': 'text',
5283 'value': e2pdf.helper.getInt(properties[field], 2),
5284 'atts': ['number']
5285 };
5286 break;
5287 case 'g_axis_text_space_h':
5288 obj = {
5289 'name': e2pdf.lang.get('Space'),
5290 'type': 'text',
5291 'value': e2pdf.helper.getInt(properties[field], 2),
5292 'atts': ['number']
5293 };
5294 break;
5295 case 'g_axis_text_offset_x_v':
5296 obj = {
5297 'name': e2pdf.lang.get('Offset (X)'),
5298 'type': 'text',
5299 'value': e2pdf.helper.getInt(properties[field]),
5300 'atts': ['number', 'number-negative']
5301 };
5302 break;
5303 case 'g_axis_text_offset_y_v':
5304 obj = {
5305 'name': e2pdf.lang.get('Offset (Y)'),
5306 'type': 'text',
5307 'value': e2pdf.helper.getInt(properties[field]),
5308 'atts': ['number', 'number-negative']
5309 };
5310 break;
5311 case 'g_axis_text_offset_x_h':
5312 obj = {
5313 'name': e2pdf.lang.get('Offset (X)'),
5314 'type': 'text',
5315 'value': e2pdf.helper.getInt(properties[field]),
5316 'atts': ['number', 'number-negative']
5317 };
5318 break;
5319 case 'g_axis_text_offset_y_h':
5320 obj = {
5321 'name': e2pdf.lang.get('Offset (Y)'),
5322 'type': 'text',
5323 'value': e2pdf.helper.getInt(properties[field]),
5324 'atts': ['number', 'number-negative']
5325 };
5326 break;
5327 case 'g_units_label':
5328 obj = {
5329 'name': e2pdf.lang.get('Units Label'),
5330 'type': 'text',
5331 'value': e2pdf.helper.getString(properties[field])
5332 };
5333 break;
5334 case 'g_reverse_data':
5335 obj = {
5336 'name': 'Reverse Data',
5337 'type': 'checkbox',
5338 'value': e2pdf.helper.getCheckbox(properties[field]),
5339 'option': '1'
5340 };
5341 break;
5342 case 'g_multiline':
5343 obj = {
5344 'name': 'Lines',
5345 'type': 'select',
5346 'value': e2pdf.helper.getString(properties[field]),
5347 'options':
5348 [
5349 {'0': 'Unsorted Data'},
5350 {'2': 'Single Array Data'},
5351 {'1': 'Multi Array Data'}
5352 ]
5353 };
5354 break;
5355 case 'g_legends':
5356 obj = {
5357 'name': e2pdf.lang.get('Legends'),
5358 'type': 'textarea',
5359 'value': e2pdf.helper.getString(properties[field])
5360 };
5361 break;
5362 case 'g_colors':
5363 obj = {
5364 'name': e2pdf.lang.get('Colors'),
5365 'type': 'textarea',
5366 'value': e2pdf.helper.getString(properties[field])
5367 };
5368 break;
5369 }
5370 if (!obj.hasOwnProperty('key')) {
5371 obj['key'] = field;
5372 }
5373 if (!obj.hasOwnProperty('atts')) {
5374 obj['atts'] = [];
5375 }
5376 return obj;
5377 },
5378 // e2pdf.properties.getFields
5379 getFields: function (el, actions) {
5380
5381 if (el.data('data-type') === 'e2pdf-tpl') {
5382 var obj = {};
5383 } else if (el.data('data-type') === 'e2pdf-page') {
5384 var obj = {
5385 'page_id': {
5386 'name': '',
5387 'fields': [
5388 e2pdf.properties.getField('page_id', el),
5389 e2pdf.properties.getField('element_type', el)
5390 ],
5391 'position': 'top',
5392 'classes': [
5393 'e2pdf-w50 e2pdf-pr10',
5394 'e2pdf-w50 e2pdf-pl10'
5395 ]
5396 },
5397 'size': {
5398 'name': e2pdf.lang.get('Size'),
5399 'fields': [
5400 e2pdf.properties.getField('width', el),
5401 e2pdf.properties.getField('height', el),
5402 e2pdf.properties.getField('preset', el)
5403 ],
5404 'position': 'top',
5405 'classes': [
5406 'e2pdf-w50 e2pdf-pr10',
5407 'e2pdf-w50 e2pdf-pl10',
5408 'e2pdf-w100'
5409 ]
5410 }
5411 };
5412 } else {
5413 var obj = {
5414 'element': {
5415 'name': e2pdf.lang.get('Element'),
5416 'fields': [
5417 e2pdf.properties.getField('element_id', el),
5418 e2pdf.properties.getField('page_id', el),
5419 e2pdf.properties.getField('element_type', el),
5420 e2pdf.properties.getField('left', el),
5421 e2pdf.properties.getField('top', el),
5422 e2pdf.properties.getField('width', el),
5423 e2pdf.properties.getField('height', el)
5424 ],
5425 'position': 'top',
5426 'classes': [
5427 'e2pdf-w25',
5428 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5429 'e2pdf-w50 e2pdf-pl10',
5430 'e2pdf-w25',
5431 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5432 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5433 'e2pdf-w25'
5434 ]
5435 }
5436 };
5437 if (el.data('data-type') === 'e2pdf-input') {
5438
5439 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5440 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5441 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5442 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5443 obj['field'] = {
5444 'name': e2pdf.lang.get('Field'),
5445 'fields': [
5446 e2pdf.properties.getField('text_color', el),
5447 e2pdf.properties.getField('text_font', el),
5448 e2pdf.properties.getField('text_font_size', el),
5449 e2pdf.properties.getField('text_letter_spacing', el),
5450 e2pdf.properties.getField('text_auto_font_size', el),
5451 e2pdf.properties.getField('text_align', el),
5452 e2pdf.properties.getField('rotation', el),
5453 e2pdf.properties.getField('length', el),
5454 e2pdf.properties.getField('rtl', el),
5455 e2pdf.properties.getField('comb', el),
5456 e2pdf.properties.getField('required', el),
5457 e2pdf.properties.getField('readonly', el),
5458 e2pdf.properties.getField('pass', el)
5459 ],
5460 'position': 'left',
5461 'classes': [
5462 'e2pdf-w100',
5463 'e2pdf-w100',
5464 'e2pdf-w50',
5465 'e2pdf-w50 e2pdf-pl10',
5466 'e2pdf-w100',
5467 'e2pdf-w50',
5468 'e2pdf-w50 e2pdf-pl10',
5469 'e2pdf-w70',
5470 'e2pdf-w30 e2pdf-pl10',
5471 'e2pdf-pr10',
5472 'e2pdf-pr10',
5473 'e2pdf-pr10',
5474 'e2pdf-pr10'
5475 ]
5476 };
5477 obj['style'] = {
5478 'name': e2pdf.lang.get('Style'),
5479 'fields': [
5480 e2pdf.properties.getField('background', el),
5481 e2pdf.properties.getField('border_color', el),
5482 e2pdf.properties.getField('border', el),
5483 e2pdf.properties.getField('z_index', el)
5484 ],
5485 'position': 'right',
5486 'classes': [
5487 'e2pdf-w100',
5488 'e2pdf-w70',
5489 'e2pdf-w30 e2pdf-pl10',
5490 'e2pdf-w100'
5491 ]
5492 };
5493 obj['value'] = {
5494 'name': e2pdf.lang.get('Value'),
5495 'fields': [
5496 e2pdf.properties.getField('value', el),
5497 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5498 e2pdf.properties.getField('preg_pattern', el),
5499 e2pdf.properties.getField('preg_replacement', el),
5500 e2pdf.properties.getField('preg_match_all_pattern', el),
5501 e2pdf.properties.getField('preg_match_all_output', el)
5502 ],
5503 'position': 'bottom',
5504 'classes': [
5505 'e2pdf-w100 e2pdf-hide-label',
5506 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5507 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5508 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5509 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5510 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5511 ]
5512 };
5513 }
5514
5515 if (el.data('data-type') === 'e2pdf-textarea') {
5516
5517 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5518 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5519 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5520 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5521 obj['field'] = {
5522 'name': e2pdf.lang.get('Field'),
5523 'fields': [
5524 e2pdf.properties.getField('text_color', el),
5525 e2pdf.properties.getField('text_font', el),
5526 e2pdf.properties.getField('text_font_size', el),
5527 e2pdf.properties.getField('text_letter_spacing', el),
5528 e2pdf.properties.getField('text_auto_font_size', el),
5529 e2pdf.properties.getField('text_line_height', el),
5530 e2pdf.properties.getField('text_align', el),
5531 e2pdf.properties.getField('rotation', el),
5532 e2pdf.properties.getField('length', el),
5533 e2pdf.properties.getField('rtl', el),
5534 e2pdf.properties.getField('comb', el),
5535 e2pdf.properties.getField('required', el),
5536 e2pdf.properties.getField('readonly', el),
5537 e2pdf.properties.getField('pass', el)
5538 ],
5539 'position': 'left',
5540 'classes': [
5541 'e2pdf-w100',
5542 'e2pdf-w100',
5543 'e2pdf-w50',
5544 'e2pdf-w50 e2pdf-pl10',
5545 'e2pdf-w100',
5546 'e2pdf-w100',
5547 'e2pdf-w50',
5548 'e2pdf-w50 e2pdf-pl10',
5549 'e2pdf-w70',
5550 'e2pdf-w30 e2pdf-pl10',
5551 'e2pdf-pr10',
5552 'e2pdf-pr10',
5553 'e2pdf-pr10',
5554 'e2pdf-pr10'
5555 ]
5556 };
5557 obj['style'] = {
5558 'name': e2pdf.lang.get('Style'),
5559 'fields': [
5560 e2pdf.properties.getField('background', el),
5561 e2pdf.properties.getField('border_color', el),
5562 e2pdf.properties.getField('border', el),
5563 e2pdf.properties.getField('z_index', el)
5564 ],
5565 'position': 'right',
5566 'classes': [
5567 'e2pdf-w100',
5568 'e2pdf-w70',
5569 'e2pdf-w30 e2pdf-pl10',
5570 'e2pdf-w100'
5571 ]
5572 };
5573 obj['value'] = {
5574 'name': e2pdf.lang.get('Value'),
5575 'fields': [
5576 e2pdf.properties.getField('value', el),
5577 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5578 e2pdf.properties.getField('preg_pattern', el),
5579 e2pdf.properties.getField('preg_replacement', el),
5580 e2pdf.properties.getField('preg_match_all_pattern', el),
5581 e2pdf.properties.getField('preg_match_all_output', el)
5582 ],
5583 'position': 'bottom',
5584 'classes': [
5585 'e2pdf-w100 e2pdf-hide-label',
5586 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5587 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5588 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5589 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5590 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5591 ]
5592 };
5593 }
5594
5595 if (el.data('data-type') === 'e2pdf-checkbox') {
5596
5597 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5598 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5599 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5600 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5601 obj['field'] = {
5602 'name': e2pdf.lang.get('Field'),
5603 'fields': [
5604 e2pdf.properties.getField('text_color', el),
5605 e2pdf.properties.getField('text_type', el),
5606 e2pdf.properties.getField('rotation', el),
5607 e2pdf.properties.getField('rtl', el),
5608 e2pdf.properties.getField('required', el),
5609 e2pdf.properties.getField('readonly', el)
5610 ],
5611 'position': 'left',
5612 'classes': [
5613 'e2pdf-w100',
5614 'e2pdf-w100',
5615 'e2pdf-w70',
5616 'e2pdf-w30 e2pdf-pl10',
5617 'e2pdf-pr10',
5618 'e2pdf-pr10'
5619 ]
5620 };
5621 obj['style'] = {
5622 'name': e2pdf.lang.get('Style'),
5623 'fields': [
5624 e2pdf.properties.getField('background', el),
5625 e2pdf.properties.getField('border_color', el),
5626 e2pdf.properties.getField('border', el),
5627 e2pdf.properties.getField('z_index', el)
5628 ],
5629 'position': 'right',
5630 'classes': [
5631 'e2pdf-w100',
5632 'e2pdf-w70',
5633 'e2pdf-w30 e2pdf-pl10',
5634 'e2pdf-w100'
5635 ]
5636 };
5637 obj['value'] = {
5638 'name': '',
5639 'fields': [
5640 e2pdf.properties.getField('option', el),
5641 e2pdf.properties.getField('value', el),
5642 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5643 e2pdf.properties.getField('preg_pattern', el),
5644 e2pdf.properties.getField('preg_replacement', el),
5645 e2pdf.properties.getField('preg_match_all_pattern', el),
5646 e2pdf.properties.getField('preg_match_all_output', el)
5647 ],
5648 'position': 'bottom',
5649 'classes': [
5650 'e2pdf-w100 e2pdf-strong-label',
5651 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5652 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5653 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5654 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5655 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5656 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5657 ]
5658 };
5659 }
5660
5661 if (el.data('data-type') === 'e2pdf-radio') {
5662
5663 obj['field'] = {
5664 'name': e2pdf.lang.get('Field'),
5665 'fields': [
5666 e2pdf.properties.getField('text_color', el),
5667 e2pdf.properties.getField('text_type', el),
5668 e2pdf.properties.getField('rotation', el),
5669 e2pdf.properties.getField('rtl', el),
5670 e2pdf.properties.getField('required', el),
5671 e2pdf.properties.getField('readonly', el)
5672 ],
5673 'position': 'left',
5674 'classes': [
5675 'e2pdf-w100',
5676 'e2pdf-w100',
5677 'e2pdf-w70',
5678 'e2pdf-w30 e2pdf-pl10',
5679 'e2pdf-pr10',
5680 'e2pdf-pr10',
5681 'e2pdf-pr10'
5682 ]
5683 };
5684 obj['style'] = {
5685 'name': e2pdf.lang.get('Style'),
5686 'fields': [
5687 e2pdf.properties.getField('background', el),
5688 e2pdf.properties.getField('border_color', el),
5689 e2pdf.properties.getField('border', el),
5690 e2pdf.properties.getField('z_index', el)
5691 ],
5692 'position': 'right',
5693 'classes': [
5694 'e2pdf-w100',
5695 'e2pdf-w70',
5696 'e2pdf-w30 e2pdf-pl10',
5697 'e2pdf-w100'
5698 ]
5699 };
5700 obj['value'] = {
5701 'name': '',
5702 'fields': [
5703 e2pdf.properties.getField('group', el),
5704 e2pdf.properties.getField('field_name', el),
5705 e2pdf.properties.getField('option', el),
5706 e2pdf.properties.getField('value', el),
5707 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5708 e2pdf.properties.getField('preg_pattern', el),
5709 e2pdf.properties.getField('preg_replacement', el),
5710 e2pdf.properties.getField('preg_match_all_pattern', el),
5711 e2pdf.properties.getField('preg_match_all_output', el)
5712 ],
5713 'position': 'bottom',
5714 'classes': [
5715 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5716 'e2pdf-w25 e2pdf-mt-label',
5717 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5718 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5719 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5720 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5721 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5722 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5723 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5724 ]
5725 };
5726 }
5727
5728 if (el.data('data-type') === 'e2pdf-select') {
5729
5730 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5731 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5732 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5733 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5734 obj['field'] = {
5735 'name': e2pdf.lang.get('Field'),
5736 'fields': [
5737 e2pdf.properties.getField('text_color', el),
5738 e2pdf.properties.getField('text_font', el),
5739 e2pdf.properties.getField('text_font_size', el),
5740 e2pdf.properties.getField('text_letter_spacing', el),
5741 e2pdf.properties.getField('text_auto_font_size', el),
5742 e2pdf.properties.getField('rotation', el),
5743 e2pdf.properties.getField('rtl', el),
5744 e2pdf.properties.getField('multiline', el),
5745 e2pdf.properties.getField('required', el),
5746 e2pdf.properties.getField('readonly', el)
5747 ],
5748 'position': 'left',
5749 'classes': [
5750 'e2pdf-w100',
5751 'e2pdf-w100',
5752 'e2pdf-w50',
5753 'e2pdf-w50 e2pdf-pl10',
5754 'e2pdf-w100',
5755 'e2pdf-w70',
5756 'e2pdf-w30 e2pdf-pl10',
5757 'e2pdf-pr10',
5758 'e2pdf-pr10',
5759 'e2pdf-pr10'
5760 ]
5761 };
5762 obj['style'] = {
5763 'name': e2pdf.lang.get('Style'),
5764 'fields': [
5765 e2pdf.properties.getField('background', el),
5766 e2pdf.properties.getField('border_color', el),
5767 e2pdf.properties.getField('border', el),
5768 e2pdf.properties.getField('z_index', el)
5769 ],
5770 'position': 'right',
5771 'classes': [
5772 'e2pdf-w100',
5773 'e2pdf-w70',
5774 'e2pdf-w30 e2pdf-pl10',
5775 'e2pdf-w100'
5776 ]
5777 };
5778 obj['value'] = {
5779 'name': '',
5780 'fields': [
5781 e2pdf.properties.getField('options', el),
5782 e2pdf.properties.getField('value', el),
5783 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5784 e2pdf.properties.getField('preg_pattern', el),
5785 e2pdf.properties.getField('preg_replacement', el),
5786 e2pdf.properties.getField('preg_match_all_pattern', el),
5787 e2pdf.properties.getField('preg_match_all_output', el)
5788 ],
5789 'position': 'bottom',
5790 'classes': [
5791 'e2pdf-w100 e2pdf-strong-label',
5792 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5793 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5794 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5795 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5796 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5797 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5798 ]
5799 };
5800 }
5801
5802 if (el.data('data-type') === 'e2pdf-signature') {
5803
5804 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5805 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5806 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5807 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5808 obj['field'] = {
5809 'name': e2pdf.lang.get('Field'),
5810 'fields': [
5811 e2pdf.properties.getField('text_color', el),
5812 e2pdf.properties.getField('text_font', el),
5813 e2pdf.properties.getField('text_font_size', el),
5814 e2pdf.properties.getField('placeholder', el),
5815 e2pdf.properties.getField('esig', el),
5816 e2pdf.properties.getField('required', el),
5817 e2pdf.properties.getField('horizontal', el),
5818 e2pdf.properties.getField('vertical', el),
5819 e2pdf.properties.getField('rotation', el),
5820 e2pdf.properties.getField('opacity', el),
5821 e2pdf.properties.getField('dimension', el),
5822 e2pdf.properties.getField('block_dimension', el),
5823 e2pdf.properties.getField('keep_lower_size', el),
5824 e2pdf.properties.getField('fill_image', el)
5825 ],
5826 'position': 'left',
5827 'classes': [
5828 'e2pdf-w100',
5829 'e2pdf-w60 e2pdf-pr10',
5830 'e2pdf-w40',
5831 'e2pdf-w100',
5832 'e2pdf-w50',
5833 'e2pdf-w50 e2pdf-pl10',
5834 'e2pdf-w50',
5835 'e2pdf-w50 e2pdf-pl10',
5836 'e2pdf-w50',
5837 'e2pdf-w50 e2pdf-pl10',
5838 'e2pdf-w50',
5839 'e2pdf-w50 e2pdf-pl10',
5840 'e2pdf-w50',
5841 'e2pdf-w50 e2pdf-pl10'
5842 ]
5843 };
5844 obj['style'] = {
5845 'name': e2pdf.lang.get('Style'),
5846 'fields': [
5847 e2pdf.properties.getField('background', el),
5848 e2pdf.properties.getField('padding_top', el),
5849 e2pdf.properties.getField('padding_left', el),
5850 e2pdf.properties.getField('padding_right', el),
5851 e2pdf.properties.getField('padding_bottom', el),
5852 e2pdf.properties.getField('border_color', el),
5853 e2pdf.properties.getField('border_radius', el),
5854 e2pdf.properties.getField('border_top', el),
5855 e2pdf.properties.getField('border_left', el),
5856 e2pdf.properties.getField('border_right', el),
5857 e2pdf.properties.getField('border_bottom', el),
5858 e2pdf.properties.getField('z_index', el)
5859 ],
5860 'position': 'right',
5861 'classes': [
5862 'e2pdf-w100',
5863 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5864 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5865 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5866 'e2pdf-w25 e2pdf-fnl',
5867 'e2pdf-w100',
5868 'e2pdf-w100',
5869 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5870 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5871 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5872 'e2pdf-w25 e2pdf-fnl',
5873 'e2pdf-w100'
5874 ]
5875 };
5876 obj['value'] = {
5877 'name': e2pdf.lang.get('Value'),
5878 'fields': [
5879 e2pdf.properties.getField('value', el),
5880 e2pdf.properties.getField('only_image', el),
5881 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5882 e2pdf.properties.getField('preg_pattern', el),
5883 e2pdf.properties.getField('preg_replacement', el),
5884 e2pdf.properties.getField('preg_match_all_pattern', el),
5885 e2pdf.properties.getField('preg_match_all_output', el)
5886 ],
5887 'position': 'bottom',
5888 'classes': [
5889 'e2pdf-w100 e2pdf-hide-label',
5890 'e2pdf-w50 e2pdf-pr10',
5891 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5892 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5893 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5894 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5895 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5896 ]
5897 };
5898 }
5899
5900 if (el.data('data-type') === 'e2pdf-html') {
5901 obj['field'] = {
5902 'name': e2pdf.lang.get('Field'),
5903 'fields': [
5904 e2pdf.properties.getField('text_color', el),
5905 e2pdf.properties.getField('text_font', el),
5906 e2pdf.properties.getField('text_font_size', el),
5907 e2pdf.properties.getField('text_letter_spacing', el),
5908 e2pdf.properties.getField('text_line_height', el),
5909 e2pdf.properties.getField('text_align', el),
5910 e2pdf.properties.getField('rotation', el),
5911 e2pdf.properties.getField('vertical', el),
5912 e2pdf.properties.getField('rtl', el),
5913 e2pdf.properties.getField('multipage', el),
5914 e2pdf.properties.getField('nl2br', el),
5915 e2pdf.properties.getField('preload_img', el),
5916 e2pdf.properties.getField('hide_if_empty', el),
5917 e2pdf.properties.getField('hide_page_if_empty', el)
5918 ],
5919 'position': 'left',
5920 'classes': [
5921 'e2pdf-w100',
5922 'e2pdf-w100',
5923 'e2pdf-w50',
5924 'e2pdf-w50 e2pdf-pl10',
5925 'e2pdf-w100',
5926 'e2pdf-w50',
5927 'e2pdf-w50 e2pdf-pl10',
5928 'e2pdf-w70',
5929 'e2pdf-w30 e2pdf-pl10',
5930 'e2pdf-pr10',
5931 'e2pdf-pr10',
5932 'e2pdf-pr10',
5933 'e2pdf-pr10',
5934 'e2pdf-pr10'
5935 ]
5936 };
5937 if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
5938 obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
5939 obj['field'].classes.push('e2pdf-pr10');
5940 }
5941
5942 obj['style'] = {
5943 'name': e2pdf.lang.get('Style'),
5944 'fields': [
5945 e2pdf.properties.getField('background', el),
5946 e2pdf.properties.getField('padding_top', el),
5947 e2pdf.properties.getField('padding_left', el),
5948 e2pdf.properties.getField('padding_right', el),
5949 e2pdf.properties.getField('padding_bottom', el),
5950 e2pdf.properties.getField('border_color', el),
5951 e2pdf.properties.getField('border_top', el),
5952 e2pdf.properties.getField('border_left', el),
5953 e2pdf.properties.getField('border_right', el),
5954 e2pdf.properties.getField('border_bottom', el),
5955 e2pdf.properties.getField('z_index', el)
5956 ],
5957 'position': 'right',
5958 'classes': [
5959 'e2pdf-w100',
5960 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5961 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5962 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5963 'e2pdf-w25 e2pdf-fnl',
5964 'e2pdf-w100',
5965 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5966 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5967 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5968 'e2pdf-w25 e2pdf-fnl',
5969 'e2pdf-w100'
5970 ]
5971 };
5972 obj['value'] = {
5973 'name': '',
5974 'fields': [
5975 e2pdf.properties.getField('parent', el),
5976 e2pdf.properties.getField('css', el),
5977 e2pdf.properties.getField('css_priority', el),
5978 e2pdf.properties.getField('value', el),
5979 e2pdf.properties.getField('html_worker', el),
5980 e2pdf.properties.getField('wysiwyg_disable', el),
5981 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5982 e2pdf.properties.getField('preg_pattern', el),
5983 e2pdf.properties.getField('preg_replacement', el),
5984 e2pdf.properties.getField('preg_match_all_pattern', el),
5985 e2pdf.properties.getField('preg_match_all_output', el)
5986 ],
5987 'position': 'bottom',
5988 'classes': [
5989 'e2pdf-w100 e2pdf-strong-label',
5990 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5991 'e2pdf-w20 e2pdf-pr10',
5992 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5993 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
5994 'e2pdf-w50 e2pdf-pr10',
5995 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5996 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5997 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5998 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5999 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6000 ]
6001 };
6002 }
6003
6004 if (el.data('data-type') === 'e2pdf-page-number') {
6005 obj['field'] = {
6006 'name': e2pdf.lang.get('Field'),
6007 'fields': [
6008 e2pdf.properties.getField('text_color', el),
6009 e2pdf.properties.getField('text_font', el),
6010 e2pdf.properties.getField('text_font_size', el),
6011 e2pdf.properties.getField('text_letter_spacing', el),
6012 e2pdf.properties.getField('text_line_height', el),
6013 e2pdf.properties.getField('text_align', el),
6014 e2pdf.properties.getField('rotation', el),
6015 e2pdf.properties.getField('vertical', el),
6016 e2pdf.properties.getField('rtl', el)
6017 ],
6018 'position': 'left',
6019 'classes': [
6020 'e2pdf-w100',
6021 'e2pdf-w100',
6022 'e2pdf-w50',
6023 'e2pdf-w50 e2pdf-pl10',
6024 'e2pdf-w100',
6025 'e2pdf-w50',
6026 'e2pdf-w50 e2pdf-pl10',
6027 'e2pdf-w70',
6028 'e2pdf-w30 e2pdf-pl10'
6029 ]
6030 };
6031 obj['page_number'] = {
6032 'name': e2pdf.lang.get('Page Number'),
6033 'fields': [
6034 e2pdf.properties.getField('page_number', el),
6035 e2pdf.properties.getField('page_total', el),
6036 ],
6037 'position': 'left',
6038 'classes': [
6039 'e2pdf-w50',
6040 'e2pdf-w50 e2pdf-pl10',
6041 ]
6042 };
6043 obj['style'] = {
6044 'name': e2pdf.lang.get('Style'),
6045 'fields': [
6046 e2pdf.properties.getField('background', el),
6047 e2pdf.properties.getField('padding_top', el),
6048 e2pdf.properties.getField('padding_left', el),
6049 e2pdf.properties.getField('padding_right', el),
6050 e2pdf.properties.getField('padding_bottom', el),
6051 e2pdf.properties.getField('border_color', el),
6052 e2pdf.properties.getField('border_top', el),
6053 e2pdf.properties.getField('border_left', el),
6054 e2pdf.properties.getField('border_right', el),
6055 e2pdf.properties.getField('border_bottom', el)
6056 ],
6057 'position': 'right',
6058 'classes': [
6059 'e2pdf-w100',
6060 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6061 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6062 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6063 'e2pdf-w25 e2pdf-fnl',
6064 'e2pdf-w100',
6065 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6066 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6067 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6068 'e2pdf-w25 e2pdf-fnl'
6069 ]
6070 };
6071 obj['value'] = {
6072 'name': '',
6073 'fields': [
6074 e2pdf.properties.getField('css', el),
6075 e2pdf.properties.getField('value', el),
6076 e2pdf.properties.getField('html_worker', el)
6077 ],
6078 'position': 'bottom',
6079 'classes': [
6080 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6081 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6082 'e2pdf-w30 e2pdf-pr10'
6083 ]
6084 };
6085 }
6086
6087 if (el.data('data-type') === 'e2pdf-image') {
6088
6089 obj['field'] = {
6090 'name': e2pdf.lang.get('Field'),
6091 'fields': [
6092 e2pdf.properties.getField('text_color', el),
6093 e2pdf.properties.getField('text_font', el),
6094 e2pdf.properties.getField('text_font_size', el),
6095 e2pdf.properties.getField('horizontal', el),
6096 e2pdf.properties.getField('vertical', el),
6097 e2pdf.properties.getField('rotation', el),
6098 e2pdf.properties.getField('opacity', el),
6099 e2pdf.properties.getField('quality', el),
6100 e2pdf.properties.getField('dimension', el),
6101 e2pdf.properties.getField('block_dimension', el),
6102 e2pdf.properties.getField('keep_lower_size', el),
6103 e2pdf.properties.getField('fill_image', el),
6104 e2pdf.properties.getField('hide_page_if_empty', el)
6105 ],
6106 'position': 'left',
6107 'classes': [
6108 'e2pdf-w100',
6109 'e2pdf-w60 e2pdf-pr10',
6110 'e2pdf-w40',
6111 'e2pdf-w50',
6112 'e2pdf-w50 e2pdf-pl10',
6113 'e2pdf-w50',
6114 'e2pdf-w50 e2pdf-pl10',
6115 'e2pdf-w100',
6116 'e2pdf-pr10',
6117 'e2pdf-pr10',
6118 'e2pdf-pr10',
6119 'e2pdf-pr10',
6120 'e2pdf-pr10'
6121 ]
6122 };
6123 obj['pdf'] = {
6124 'name': 'Pdf',
6125 'fields': [
6126 e2pdf.properties.getField('pdf_page', el),
6127 e2pdf.properties.getField('pdf_resample', el),
6128 e2pdf.properties.getField('pdf_append', el),
6129 e2pdf.properties.getField('pdf_space', el),
6130 e2pdf.properties.getField('pdf_border', el)
6131 ],
6132 'position': 'left',
6133 'classes': [
6134 'e2pdf-w50',
6135 'e2pdf-w50 e2pdf-pl10',
6136 'e2pdf-w100',
6137 'e2pdf-w50',
6138 'e2pdf-w50 e2pdf-pl10'
6139 ]
6140 };
6141 obj['style'] = {
6142 'name': e2pdf.lang.get('Style'),
6143 'fields': [
6144 e2pdf.properties.getField('background', el),
6145 e2pdf.properties.getField('padding_top', el),
6146 e2pdf.properties.getField('padding_left', el),
6147 e2pdf.properties.getField('padding_right', el),
6148 e2pdf.properties.getField('padding_bottom', el),
6149 e2pdf.properties.getField('border_color', el),
6150 e2pdf.properties.getField('border_radius', el),
6151 e2pdf.properties.getField('border_top', el),
6152 e2pdf.properties.getField('border_left', el),
6153 e2pdf.properties.getField('border_right', el),
6154 e2pdf.properties.getField('border_bottom', el),
6155 e2pdf.properties.getField('z_index', el)
6156 ],
6157 'position': 'right',
6158 'classes': [
6159 'e2pdf-w100',
6160 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6161 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6162 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6163 'e2pdf-w25 e2pdf-fnl',
6164 'e2pdf-w100',
6165 'e2pdf-w100',
6166 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6167 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6168 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6169 'e2pdf-w25 e2pdf-fnl',
6170 'e2pdf-w100'
6171 ]
6172 };
6173 obj['value'] = {
6174 'name': '',
6175 'fields': [
6176 e2pdf.properties.getField('link_url', el),
6177 e2pdf.properties.getField('link_type', el),
6178 e2pdf.properties.getField('highlight', el),
6179 e2pdf.properties.getField('value', el),
6180 e2pdf.properties.getField('only_image', el),
6181 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6182 e2pdf.properties.getField('preg_pattern', el),
6183 e2pdf.properties.getField('preg_replacement', el),
6184 e2pdf.properties.getField('preg_match_all_pattern', el),
6185 e2pdf.properties.getField('preg_match_all_output', el)
6186 ],
6187 'position': 'bottom',
6188 'classes': [
6189 'e2pdf-w50 e2pdf-pr10',
6190 'e2pdf-w25 e2pdf-pr10',
6191 'e2pdf-w25',
6192 'e2pdf-w100',
6193 'e2pdf-w50 e2pdf-pr10',
6194 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6195 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6196 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6197 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6198 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6199 ]
6200 };
6201 }
6202
6203 if (el.data('data-type') === 'e2pdf-qrcode') {
6204
6205 obj['qrcode'] = {
6206 'name': e2pdf.lang.get('QR Code'),
6207 'fields': [
6208 e2pdf.properties.getField('color', el),
6209 e2pdf.properties.getField('precision', el),
6210 e2pdf.properties.getField('wq', el)
6211 ],
6212 'position': 'left',
6213 'classes': [
6214 'e2pdf-w100',
6215 'e2pdf-w50',
6216 'e2pdf-w50 e2pdf-pl10'
6217 ]
6218 };
6219 obj['style'] = {
6220 'name': e2pdf.lang.get('Style'),
6221 'fields': [
6222 e2pdf.properties.getField('background', el),
6223 e2pdf.properties.getField('margin_top', el),
6224 e2pdf.properties.getField('margin_left', el),
6225 e2pdf.properties.getField('margin_right', el),
6226 e2pdf.properties.getField('margin_bottom', el),
6227 e2pdf.properties.getField('padding_top', el),
6228 e2pdf.properties.getField('padding_left', el),
6229 e2pdf.properties.getField('padding_right', el),
6230 e2pdf.properties.getField('padding_bottom', el),
6231 e2pdf.properties.getField('border_color', el),
6232 e2pdf.properties.getField('border_top', el),
6233 e2pdf.properties.getField('border_left', el),
6234 e2pdf.properties.getField('border_right', el),
6235 e2pdf.properties.getField('border_bottom', el),
6236 e2pdf.properties.getField('z_index', el)
6237 ],
6238 'position': 'right',
6239 'classes': [
6240 'e2pdf-w100',
6241 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6242 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6243 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6244 'e2pdf-w25 e2pdf-fnl',
6245 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6246 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6247 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6248 'e2pdf-w25 e2pdf-fnl',
6249 'e2pdf-w100',
6250 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6251 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6252 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6253 'e2pdf-w25 e2pdf-fnl',
6254 'e2pdf-w100'
6255 ]
6256 };
6257 obj['value'] = {
6258 'name': e2pdf.lang.get('Value'),
6259 'fields': [
6260 e2pdf.properties.getField('value', el),
6261 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6262 e2pdf.properties.getField('preg_pattern', el),
6263 e2pdf.properties.getField('preg_replacement', el),
6264 e2pdf.properties.getField('preg_match_all_pattern', el),
6265 e2pdf.properties.getField('preg_match_all_output', el)
6266 ],
6267 'position': 'bottom',
6268 'classes': [
6269 'e2pdf-w100 e2pdf-hide-label',
6270 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6271 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6272 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6273 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6274 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6275 ]
6276 };
6277 }
6278
6279 if (el.data('data-type') === 'e2pdf-barcode') {
6280 obj['barcode'] = {
6281 'name': e2pdf.lang.get('Barcode'),
6282 'fields': [
6283 e2pdf.properties.getField('text_color', el),
6284 e2pdf.properties.getField('text_font', el),
6285 e2pdf.properties.getField('text_font_size', el),
6286 e2pdf.properties.getField('text_line_height', el),
6287 e2pdf.properties.getField('color', el),
6288 e2pdf.properties.getField('format', el),
6289 e2pdf.properties.getField('wq', el),
6290 e2pdf.properties.getField('horizontal', el),
6291 e2pdf.properties.getField('vertical', el),
6292 e2pdf.properties.getField('scale', el),
6293 e2pdf.properties.getField('rotation', el),
6294 e2pdf.properties.getField('dimension', el),
6295 e2pdf.properties.getField('hl', el)
6296 ],
6297 'position': 'left',
6298 'classes': [
6299 'e2pdf-w100',
6300 'e2pdf-w60 e2pdf-pr10',
6301 'e2pdf-w40',
6302 'e2pdf-w100',
6303 'e2pdf-w100',
6304 'e2pdf-w50',
6305 'e2pdf-w50 e2pdf-pl10',
6306 'e2pdf-w50',
6307 'e2pdf-w50 e2pdf-pl10',
6308 'e2pdf-w50',
6309 'e2pdf-w50 e2pdf-pl10',
6310 'e2pdf-pr10',
6311 'e2pdf-pr10'
6312 ]
6313 };
6314 obj['style'] = {
6315 'name': e2pdf.lang.get('Style'),
6316 'fields': [
6317 e2pdf.properties.getField('background', el),
6318 e2pdf.properties.getField('margin_top', el),
6319 e2pdf.properties.getField('margin_left', el),
6320 e2pdf.properties.getField('margin_right', el),
6321 e2pdf.properties.getField('margin_bottom', el),
6322 e2pdf.properties.getField('padding_top', el),
6323 e2pdf.properties.getField('padding_left', el),
6324 e2pdf.properties.getField('padding_right', el),
6325 e2pdf.properties.getField('padding_bottom', el),
6326 e2pdf.properties.getField('border_color', el),
6327 e2pdf.properties.getField('border_top', el),
6328 e2pdf.properties.getField('border_left', el),
6329 e2pdf.properties.getField('border_right', el),
6330 e2pdf.properties.getField('border_bottom', el),
6331 e2pdf.properties.getField('z_index', el)
6332 ],
6333 'position': 'right',
6334 'classes': [
6335 'e2pdf-w100',
6336 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6337 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6338 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6339 'e2pdf-w25 e2pdf-fnl',
6340 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6341 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6342 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6343 'e2pdf-w25 e2pdf-fnl',
6344 'e2pdf-w100',
6345 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6346 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6347 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6348 'e2pdf-w25 e2pdf-fnl',
6349 'e2pdf-w100'
6350 ]
6351 };
6352 obj['value'] = {
6353 'name': e2pdf.lang.get('Value'),
6354 'fields': [
6355 e2pdf.properties.getField('value', el),
6356 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6357 e2pdf.properties.getField('preg_pattern', el),
6358 e2pdf.properties.getField('preg_replacement', el),
6359 e2pdf.properties.getField('preg_match_all_pattern', el),
6360 e2pdf.properties.getField('preg_match_all_output', el)
6361 ],
6362 'position': 'bottom',
6363 'classes': [
6364 'e2pdf-w100 e2pdf-hide-label',
6365 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6366 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6367 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6368 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6369 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6370 ]
6371 };
6372 }
6373
6374 if (el.data('data-type') === 'e2pdf-graph') {
6375 obj['graph'] = {
6376 'name': e2pdf.lang.get('Graph'),
6377 'fields': [
6378 e2pdf.properties.getField('g_type', el),
6379 e2pdf.properties.getField('text_font', el),
6380 e2pdf.properties.getField('g_palette', el),
6381 e2pdf.properties.getField('g_stroke_colour', el),
6382 e2pdf.properties.getField('g_stroke_width', el),
6383 e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6384 e2pdf.properties.getField('g_sort', el),
6385 e2pdf.properties.getField('g_fill_under', el),
6386 e2pdf.properties.getField('g_reverse', el),
6387 e2pdf.properties.getField('g_percentage', el),
6388 ],
6389 'position': 'left',
6390 'classes': [
6391 'e2pdf-w100',
6392 'e2pdf-w100',
6393 'e2pdf-w100',
6394 'e2pdf-w70 e2pdf-pr10',
6395 'e2pdf-w30',
6396 'e2pdf-pr10',
6397 'e2pdf-pr10',
6398 'e2pdf-pr10',
6399 'e2pdf-pr10',
6400 'e2pdf-pr10',
6401 ]
6402 };
6403 obj['title'] = {
6404 'name': e2pdf.lang.get('Title'),
6405 'fields': [
6406 e2pdf.properties.getField('g_graph_title_colour', el),
6407 e2pdf.properties.getField('g_graph_title', el),
6408 e2pdf.properties.getField('g_graph_title_font_size', el),
6409 e2pdf.properties.getField('g_graph_title_position', el),
6410 e2pdf.properties.getField('g_graph_title_space', el),
6411 ],
6412 'position': 'left',
6413 'classes': [
6414 'e2pdf-w100',
6415 'e2pdf-w60 e2pdf-pr10',
6416 'e2pdf-w40',
6417 'e2pdf-w70 e2pdf-pr10',
6418 'e2pdf-w30',
6419 ]
6420 };
6421 obj['labels'] = {
6422 'name': e2pdf.lang.get('Labels'),
6423 'fields': [
6424 e2pdf.properties.getField('g_label_colour', el),
6425 e2pdf.properties.getField('g_label_font_size', el),
6426 e2pdf.properties.getField('g_label_space', el),
6427 e2pdf.properties.getField('g_label_v', el),
6428 e2pdf.properties.getField('g_label_h', el),
6429 ],
6430 'position': 'left',
6431 'classes': [
6432 'e2pdf-w100',
6433 'e2pdf-w70 e2pdf-pr10',
6434 'e2pdf-w30',
6435 'e2pdf-w50 e2pdf-pr10',
6436 'e2pdf-w50',
6437 ]
6438 };
6439 obj['marker'] = {
6440 'name': e2pdf.lang.get('Markers'),
6441 'fields': [
6442 e2pdf.properties.getField('g_marker_colour', el),
6443 e2pdf.properties.getField('g_marker_size', el),
6444 e2pdf.properties.getField('g_marker_dynamic_colour', el),
6445 e2pdf.properties.getField('g_marker_type', el),
6446 ],
6447 'position': 'left',
6448 'classes': [
6449 'e2pdf-w70 e2pdf-pr10',
6450 'e2pdf-w30',
6451 'e2pdf-w100',
6452 'e2pdf-w100'
6453 ]
6454 };
6455 obj['legend'] = {
6456 'name': e2pdf.lang.get('Legend'),
6457 'fields': [
6458 e2pdf.properties.getField('g_legend_back_colour', el),
6459 e2pdf.properties.getField('g_legend_stroke_colour', el),
6460 e2pdf.properties.getField('g_legend_stroke_width', el),
6461 e2pdf.properties.getField('g_legend_entry_width', el),
6462 e2pdf.properties.getField('g_legend_entry_height', el),
6463 e2pdf.properties.getField('g_legend_padding_x', el),
6464 e2pdf.properties.getField('g_legend_padding_y', el),
6465 e2pdf.properties.getField('g_legend_colour', el),
6466 e2pdf.properties.getField('g_legend_title', el),
6467 e2pdf.properties.getField('g_legend_title_font_size', el),
6468 e2pdf.properties.getField('g_legend_font_size', el),
6469 e2pdf.properties.getField('g_legend_position_horizontal', el),
6470 e2pdf.properties.getField('g_legend_position_vertical', el),
6471 e2pdf.properties.getField('g_legend_position_join', el),
6472 e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6473 e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6474 e2pdf.properties.getField('g_legend_text_side', el),
6475 e2pdf.properties.getField('g_legend_columns', el),
6476 e2pdf.properties.getField('g_show_legend', el),
6477 ],
6478 'position': 'left',
6479 'classes': [
6480 'e2pdf-w100',
6481 'e2pdf-w60 e2pdf-pr10',
6482 'e2pdf-w40',
6483 'e2pdf-w50',
6484 'e2pdf-w50 e2pdf-pl10',
6485 'e2pdf-w50',
6486 'e2pdf-w50 e2pdf-pl10',
6487 'e2pdf-w100',
6488 'e2pdf-w70 e2pdf-pr10',
6489 'e2pdf-w30',
6490 'e2pdf-w100',
6491 'e2pdf-w33 e2pdf-pr10',
6492 'e2pdf-w33',
6493 'e2pdf-w33 e2pdf-pl10',
6494 'e2pdf-w50 e2pdf-pr10',
6495 'e2pdf-w50',
6496 'e2pdf-w70 e2pdf-pr10',
6497 'e2pdf-w30',
6498 'e2pdf-pr10'
6499 ]
6500 };
6501 obj['additional'] = {
6502 'name': 'Additional',
6503 'fields': [
6504 e2pdf.properties.getField('g_bubble_scale', el),
6505 e2pdf.properties.getField('g_increment', el),
6506 e2pdf.properties.getField('g_stack_group', el),
6507 e2pdf.properties.getField('g_line_dataset', el),
6508 e2pdf.properties.getField('g_project_angle', el),
6509 e2pdf.properties.getField('g_line_curve', el),
6510 e2pdf.properties.getField('g_depth', el),
6511 e2pdf.properties.getField('g_aspect_ratio', el)
6512 ],
6513 'position': 'left',
6514 'classes': [
6515 'e2pdf-w50 e2pdf-pr10',
6516 'e2pdf-w50',
6517 'e2pdf-w50 e2pdf-pr10',
6518 'e2pdf-w50',
6519 'e2pdf-w50 e2pdf-pr10',
6520 'e2pdf-w50',
6521 'e2pdf-w50 e2pdf-pr10',
6522 'e2pdf-w50'
6523 ]
6524 };
6525 obj['grid'] = {
6526 'name': e2pdf.lang.get('Grid'),
6527 'fields': [
6528 e2pdf.properties.getField('g_grid_colour', el),
6529 e2pdf.properties.getField('g_grid_subdivision_colour', el),
6530 e2pdf.properties.getField('g_minimum_grid_spacing', el),
6531 e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6532 e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6533 e2pdf.properties.getField('g_grid_division_h', el),
6534 e2pdf.properties.getField('g_grid_division_v', el),
6535 e2pdf.properties.getField('g_show_grid', el),
6536 e2pdf.properties.getField('g_show_grid_subdivisions', el)
6537 ],
6538 'position': 'right',
6539 'classes': [
6540 'e2pdf-w100',
6541 'e2pdf-w100',
6542 'e2pdf-w100',
6543 'e2pdf-w50 e2pdf-pr10',
6544 'e2pdf-w50',
6545 'e2pdf-w50 e2pdf-pr10',
6546 'e2pdf-w50',
6547 'e2pdf-pr10',
6548 'e2pdf-pr10'
6549 ]
6550 };
6551 obj['axis'] = {
6552 'name': e2pdf.lang.get('Axis'),
6553 'fields': [
6554 e2pdf.properties.getField('g_axis_colour', el),
6555 e2pdf.properties.getField('g_axis_font_size', el),
6556 e2pdf.properties.getField('g_axis_overlap', el),
6557 e2pdf.properties.getField('g_show_subdivisions', el),
6558 ],
6559 'position': 'right',
6560 'classes': [
6561 'e2pdf-w60 e2pdf-pr10',
6562 'e2pdf-w40',
6563 'e2pdf-w100',
6564 'e2pdf-w50 e2pdf-pr10',
6565 ]
6566 };
6567 obj['axis_v'] = {
6568 'name': e2pdf.lang.get('Axis (V)'),
6569 'fields': [
6570 e2pdf.properties.getField('g_axis_stroke_width_v', el),
6571 e2pdf.properties.getField('g_show_axis_v', el),
6572 e2pdf.properties.getField('g_show_axis_text_v', el),
6573 e2pdf.properties.getField('g_axis_min_v', el),
6574 e2pdf.properties.getField('g_axis_max_v', el),
6575 e2pdf.properties.getField('g_axis_min_max_v', el),
6576 e2pdf.properties.getField('g_axis_text_position_v', el),
6577 e2pdf.properties.getField('g_axis_text_align_v', el),
6578 e2pdf.properties.getField('g_axis_text_space_v', el),
6579 e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6580 e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6581 e2pdf.properties.getField('g_units_x', el),
6582 ],
6583 'position': 'right',
6584 'classes': [
6585 'e2pdf-w33 e2pdf-pr10',
6586 'e2pdf-w33 e2pdf-sublabel',
6587 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6588 'e2pdf-w33 e2pdf-pr10',
6589 'e2pdf-w33',
6590 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6591 'e2pdf-w33 e2pdf-pr10',
6592 'e2pdf-w33',
6593 'e2pdf-w33 e2pdf-pl10',
6594 'e2pdf-w33 e2pdf-pr10',
6595 'e2pdf-w33',
6596 'e2pdf-w33 e2pdf-pl10',
6597 ]
6598 };
6599 obj['axis_h'] = {
6600 'name': e2pdf.lang.get('Axis (H)'),
6601 'fields': [
6602 e2pdf.properties.getField('g_axis_stroke_width_h', el),
6603 e2pdf.properties.getField('g_show_axis_h', el),
6604 e2pdf.properties.getField('g_show_axis_text_h', el),
6605 e2pdf.properties.getField('g_axis_min_h', el),
6606 e2pdf.properties.getField('g_axis_max_h', el),
6607 e2pdf.properties.getField('g_axis_min_max_h', el),
6608 e2pdf.properties.getField('g_axis_text_position_h', el),
6609 e2pdf.properties.getField('g_axis_text_align_h', el),
6610 e2pdf.properties.getField('g_axis_text_space_h', el),
6611 e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6612 e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6613 e2pdf.properties.getField('g_units_y', el),
6614 ],
6615 'position': 'right',
6616 'classes': [
6617 'e2pdf-w33 e2pdf-pr10',
6618 'e2pdf-w33 e2pdf-sublabel',
6619 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6620 'e2pdf-w33 e2pdf-pr10',
6621 'e2pdf-w33',
6622 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6623 'e2pdf-w33 e2pdf-pr10',
6624 'e2pdf-w33',
6625 'e2pdf-w33 e2pdf-pl10',
6626 'e2pdf-w33 e2pdf-pr10',
6627 'e2pdf-w33',
6628 'e2pdf-w33 e2pdf-pl10',
6629 ]
6630 };
6631 obj['bar'] = {
6632 'name': 'Bar',
6633 'fields': [
6634 e2pdf.properties.getField('g_bar_width', el),
6635 e2pdf.properties.getField('g_bar_width_min', el),
6636 e2pdf.properties.getField('g_bar_space', el),
6637 ],
6638 'position': 'right',
6639 'classes': [
6640 'e2pdf-w33 e2pdf-pr10',
6641 'e2pdf-w33',
6642 'e2pdf-w33 e2pdf-pl10',
6643 ]
6644 };
6645 obj['barlabel'] = {
6646 'name': 'Bar Label',
6647 'fields': [
6648 e2pdf.properties.getField('g_bar_label_colour', el),
6649 e2pdf.properties.getField('g_bar_label_font_size', el),
6650 e2pdf.properties.getField('g_units_label', el),
6651 e2pdf.properties.getField('g_data_label_type', el),
6652 e2pdf.properties.getField('g_bar_label_space', el),
6653 e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6654 e2pdf.properties.getField('g_bar_label_position_vertical', el),
6655 e2pdf.properties.getField('g_bar_label_position_join', el),
6656 e2pdf.properties.getField('g_show_bar_labels', el),
6657 ],
6658 'position': 'right',
6659 'classes': [
6660 'e2pdf-w70 e2pdf-pr10',
6661 'e2pdf-w30',
6662 'e2pdf-w100',
6663 'e2pdf-w50 e2pdf-pr10',
6664 'e2pdf-w50',
6665 'e2pdf-w33 e2pdf-pr10',
6666 'e2pdf-w33',
6667 'e2pdf-w33 e2pdf-pl10',
6668 'e2pdf-pr10',
6669 ]
6670 };
6671 obj['style'] = {
6672 'name': e2pdf.lang.get('Style'),
6673 'fields': [
6674 e2pdf.properties.getField('background', el),
6675 e2pdf.properties.getField('margin_top', el),
6676 e2pdf.properties.getField('margin_left', el),
6677 e2pdf.properties.getField('margin_right', el),
6678 e2pdf.properties.getField('margin_bottom', el),
6679 e2pdf.properties.getField('padding_top', el),
6680 e2pdf.properties.getField('padding_left', el),
6681 e2pdf.properties.getField('padding_right', el),
6682 e2pdf.properties.getField('padding_bottom', el),
6683 e2pdf.properties.getField('border_color', el),
6684 e2pdf.properties.getField('border_top', el),
6685 e2pdf.properties.getField('border_left', el),
6686 e2pdf.properties.getField('border_right', el),
6687 e2pdf.properties.getField('border_bottom', el),
6688 e2pdf.properties.getField('z_index', el),
6689 ],
6690 'position': 'right',
6691 'classes': [
6692 'e2pdf-w100',
6693 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6694 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6695 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6696 'e2pdf-w25 e2pdf-fnl',
6697 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6698 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6699 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6700 'e2pdf-w25 e2pdf-fnl',
6701 'e2pdf-w100',
6702 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6703 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6704 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6705 'e2pdf-w25 e2pdf-fnl',
6706 'e2pdf-w100',
6707 ]
6708 };
6709 obj['structure'] = {
6710 'name': e2pdf.lang.get('Structure'),
6711 'fields': [
6712 e2pdf.properties.getField('g_structure_key', el),
6713 e2pdf.properties.getField('g_structure_value', el),
6714 e2pdf.properties.getField('g_structure_colour', el),
6715 e2pdf.properties.getField('g_structure_axis_text', el),
6716 e2pdf.properties.getField('g_structure_legend_text', el),
6717 e2pdf.properties.getField('g_structure_label', el),
6718 e2pdf.properties.getField('g_structure_area', el),
6719 e2pdf.properties.getField('g_structure_open', el),
6720 e2pdf.properties.getField('g_structure_end', el),
6721 e2pdf.properties.getField('g_structure_outliers', el),
6722 e2pdf.properties.getField('g_structure_top', el),
6723 e2pdf.properties.getField('g_structure_bottom', el),
6724 e2pdf.properties.getField('g_structure_wtop', el),
6725 e2pdf.properties.getField('g_structure_wbottom', el),
6726 e2pdf.properties.getField('g_structure_high', el),
6727 e2pdf.properties.getField('g_structure_low', el),
6728 e2pdf.properties.getField('g_structured_data', el),
6729 ],
6730 'position': 'bottom',
6731 'classes': [
6732 'e2pdf-w33 e2pdf-pr10',
6733 'e2pdf-w33',
6734 'e2pdf-w33 e2pdf-pl10',
6735 'e2pdf-w33 e2pdf-pr10',
6736 'e2pdf-w33',
6737 'e2pdf-w33 e2pdf-pl10',
6738 'e2pdf-w33 e2pdf-pr10',
6739 'e2pdf-w33',
6740 'e2pdf-w33 e2pdf-pl10',
6741 'e2pdf-w33 e2pdf-pr10',
6742 'e2pdf-w33',
6743 'e2pdf-w33 e2pdf-pl10',
6744 'e2pdf-w33 e2pdf-pr10',
6745 'e2pdf-w33',
6746 'e2pdf-w33 e2pdf-pl10',
6747 'e2pdf-w33 e2pdf-pr10',
6748 'e2pdf-w33 e2pdf-sublabel',
6749 ]
6750 };
6751 obj['value'] = {
6752 'name': '',
6753 'fields': [
6754 e2pdf.properties.getField('g_key_sep', el),
6755 e2pdf.properties.getField('g_array_sep', el),
6756 e2pdf.properties.getField('g_sub_array_sep', el),
6757 e2pdf.properties.getField('g_legends', el),
6758 e2pdf.properties.getField('g_colors', el),
6759 e2pdf.properties.getField('value', el),
6760 e2pdf.properties.getField('g_multiline', el),
6761 e2pdf.properties.getField('g_reverse_data', el),
6762 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6763 e2pdf.properties.getField('preg_pattern', el),
6764 e2pdf.properties.getField('preg_replacement', el),
6765 e2pdf.properties.getField('preg_match_all_pattern', el),
6766 e2pdf.properties.getField('preg_match_all_output', el),
6767 ],
6768 'position': 'bottom',
6769 'classes': [
6770 'e2pdf-w33 e2pdf-pr10',
6771 'e2pdf-w33',
6772 'e2pdf-w33 e2pdf-pl10',
6773 'e2pdf-w100',
6774 'e2pdf-w100',
6775 'e2pdf-w100 e2pdf-strong-label',
6776 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6777 'e2pdf-w30 e2pdf-pr10',
6778 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6779 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6780 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6781 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6782 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6783 ]
6784 };
6785 }
6786
6787 if (el.data('data-type') === 'e2pdf-rectangle') {
6788 obj['style'] = {
6789 'name': e2pdf.lang.get('Style'),
6790 'fields': [
6791 e2pdf.properties.getField('background', el),
6792 e2pdf.properties.getField('z_index', el),
6793 ],
6794 'position': 'bottom',
6795 'classes': [
6796 'e2pdf-w50 e2pdf-pr10',
6797 'e2pdf-w50 e2pdf-pl10',
6798 ]
6799 };
6800 }
6801
6802 if (el.data('data-type') === 'e2pdf-link') {
6803 obj['field'] = {
6804 'name': e2pdf.lang.get('Field'),
6805 'fields': [
6806 e2pdf.properties.getField('text_color', el),
6807 e2pdf.properties.getField('text_font', el),
6808 e2pdf.properties.getField('text_font_size', el),
6809 e2pdf.properties.getField('text_letter_spacing', el),
6810 e2pdf.properties.getField('text_line_height', el),
6811 e2pdf.properties.getField('text_align', el),
6812 e2pdf.properties.getField('vertical', el),
6813 e2pdf.properties.getField('rtl', el),
6814 e2pdf.properties.getField('underline', el),
6815 ],
6816 'position': 'left',
6817 'classes': [
6818 'e2pdf-w100',
6819 'e2pdf-w100',
6820 'e2pdf-w50',
6821 'e2pdf-w50 e2pdf-pl10',
6822 'e2pdf-w50',
6823 'e2pdf-w50 e2pdf-pl10',
6824 'e2pdf-w70',
6825 'e2pdf-w30 e2pdf-pl10',
6826 'e2pdf-w33'
6827 ]
6828 };
6829 obj['style'] = {
6830 'name': e2pdf.lang.get('Style'),
6831 'fields': [
6832 e2pdf.properties.getField('z_index', el)
6833 ],
6834 'position': 'right',
6835 'classes': [
6836 'e2pdf-w100'
6837 ]
6838 };
6839 obj['value'] = {
6840 'name': e2pdf.lang.get('Value'),
6841 'fields': [
6842 e2pdf.properties.getField('link_label', el),
6843 e2pdf.properties.getField('link_type', el),
6844 e2pdf.properties.getField('highlight', el),
6845 e2pdf.properties.getField('value', el),
6846 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6847 e2pdf.properties.getField('preg_pattern', el),
6848 e2pdf.properties.getField('preg_replacement', el),
6849 e2pdf.properties.getField('preg_match_all_pattern', el),
6850 e2pdf.properties.getField('preg_match_all_output', el)
6851 ],
6852 'position': 'bottom',
6853 'classes': [
6854 'e2pdf-w50 e2pdf-pr10',
6855 'e2pdf-w25 e2pdf-pr10',
6856 'e2pdf-w25',
6857 'e2pdf-w100',
6858 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6859 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6860 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6861 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6862 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6863 ]
6864 };
6865 }
6866 }
6867
6868 // tpl-properties
6869 if (el.data('data-type') === 'e2pdf-tpl') {
6870 if (actions) {
6871 if (actions) {
6872 obj['actions'] = {
6873 'name': e2pdf.lang.get('Actions'),
6874 'fields': e2pdf.actions.renderFields(el),
6875 'position': 'bottom'
6876 };
6877 }
6878 } else {
6879 obj['value'] = {
6880 'name': '',
6881 'fields': [
6882 e2pdf.properties.getField('css', el),
6883 ],
6884 'position': 'bottom',
6885 'classes': [
6886 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6887 ]
6888 };
6889 }
6890 } else {
6891 if (actions) {
6892 obj['actions'] = {
6893 'name': e2pdf.lang.get('Actions'),
6894 'fields': e2pdf.actions.renderFields(el),
6895 'position': 'bottom'
6896 };
6897 }
6898 }
6899 return obj;
6900 },
6901 // e2pdf.properties.renderFields
6902 renderFields: function (el, actions = true) {
6903 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
6904 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
6905 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
6906 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
6907 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
6908 if (el.data('data-type') == 'e2pdf-tpl') {
6909 fields_top = '';
6910 fields_left = '';
6911 fields_right = '';
6912 } else if (el.data('data-type') == 'e2pdf-page') {
6913 fields_left = '';
6914 fields_right = '';
6915 }
6916
6917 var groups = e2pdf.properties.getFields(el, actions);
6918 if (groups) {
6919 for (var group_key in groups) {
6920 if (group_key === 'actions') {
6921 var group = groups[group_key];
6922 var block = jQuery('<div>');
6923 if (group.name) {
6924 block.append(jQuery('<label>').html(group.name + ':'));
6925 }
6926 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
6927 grid.append(group.fields);
6928 block.append(grid);
6929 if (group.position === 'top') {
6930 fields_top.append(block);
6931 } else if (group.position === 'left') {
6932 fields_left.append(block);
6933 } else if (group.position === 'right') {
6934 fields_right.append(block);
6935 } else {
6936 fields_bottom.append(block);
6937 }
6938 } else {
6939 var group = groups[group_key];
6940 var block = jQuery('<div>');
6941 if (group.name) {
6942 block.append(jQuery('<label>').html(group.name + ':'));
6943 }
6944 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
6945 for (var field_key in group.fields) {
6946
6947 var group_field = group.fields[field_key];
6948 var classes = '';
6949 if (group.classes) {
6950 if (group.classes[field_key]) {
6951 classes = group.classes[field_key];
6952 }
6953 }
6954 var field = '';
6955 var label = '';
6956 var wrap = '';
6957 if (group_field.type === 'text') {
6958 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
6959 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
6960 } else if (group_field.type === 'hidden') {
6961 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
6962 } else if (group_field.type === 'textarea') {
6963 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
6964 var rows = '5';
6965 if (group_field.key == 'g_legends' || group_field.key == 'g_colors') {
6966 rows = '3';
6967 }
6968 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
6969 } else if (group_field.type === 'checkbox') {
6970 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
6971 label = group_field.name;
6972 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
6973 if (group_field.value == group_field.option) {
6974 field.prop('checked', true);
6975 }
6976 } else if (group_field.type === 'color') {
6977 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
6978 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
6979 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
6980 } else if (group_field.type === 'select') {
6981 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
6982 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
6983 for (var option_key in group_field.options) {
6984 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
6985 }
6986 field.val(group_field.value);
6987 } else if (group_field.type === 'link') {
6988 field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
6989 }
6990 for (var att_key in group_field.atts) {
6991 var att = group_field.atts[att_key];
6992 switch (att) {
6993 case 'readonly':
6994 field.attr('readonly', 'readonly');
6995 break;
6996 case 'disabled':
6997 field.attr('disabled', 'disabled');
6998 break;
6999 case 'number':
7000 field.addClass('e2pdf-numbers');
7001 break;
7002 case 'number-negative':
7003 field.addClass('e2pdf-number-negative');
7004 break;
7005 case 'autocomplete':
7006 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
7007 field.addClass('e2pdf-autocomplete-cl');
7008 field.autocomplete({
7009 source: group_field.source,
7010 minLength: 0,
7011 appendTo: wrap,
7012 open: function () {
7013 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7014 },
7015 classes: {
7016 "ui-autocomplete": "e2pdf-autocomplete"
7017 }
7018 });
7019 break;
7020 case 'collapse':
7021 field.attr('data-collapse', group_field.collapse);
7022 break;
7023 }
7024 }
7025 if (!wrap) {
7026 wrap = field;
7027 } else {
7028 wrap.prepend(field);
7029 }
7030 if (group_field.type === 'checkbox') {
7031 wrap.append(" " + label);
7032 if (classes.includes('e2pdf-sublabel')) {
7033 var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7034 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7035 } else {
7036 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7037 }
7038 } else {
7039 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7040 }
7041 }
7042 block.append(grid);
7043 if (group.position === 'top') {
7044 fields_top.append(block);
7045 } else if (group.position === 'left') {
7046 fields_left.append(block);
7047 } else if (group.position === 'right') {
7048 fields_right.append(block);
7049 } else {
7050 fields_bottom.append(block);
7051 }
7052 }
7053 }
7054 }
7055 fields.append(fields_top, fields_left, fields_right, fields_bottom);
7056 return fields;
7057 },
7058 // e2pdf.properties.apply
7059 apply: function (el, data, onload) {
7060 if (onload !== true) {
7061 var groups = e2pdf.properties.getFields(el);
7062 for (var group_key in groups) {
7063 var group = groups[group_key];
7064 for (var field_key in group.fields) {
7065 var group_field = group.fields[field_key];
7066 var property = group_field['key'];
7067 if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7068 switch (group_field['type']) {
7069 case 'text':
7070 if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7071 // backward compatibility
7072 if (property !== 'left' && property !== 'top' && property !== 'g_legend_entry_height' && property !== 'g_bar_space') {
7073 delete data[property];
7074 }
7075 }
7076 break;
7077 case 'color':
7078 case 'select':
7079 case 'textarea':
7080 if (!data[property]) {
7081 delete data[property];
7082 }
7083 break;
7084 }
7085 }
7086 }
7087 }
7088 }
7089 el.data('data-properties', JSON.stringify(data));
7090 },
7091 // e2pdf.properties.set
7092 set: function (el, key, value) {
7093 var properties = e2pdf.properties.get(el);
7094 properties[key] = value;
7095 e2pdf.properties.apply(el, properties);
7096 },
7097 // e2pdf.properties.getValue
7098 getValue: function (el, key, type = '') {
7099 var properties = e2pdf.properties.get(el);
7100 if (type) {
7101 if (type == 'string') {
7102 return e2pdf.helper.getString(properties[key]);
7103 } else if (type == 'checkbox') {
7104 return e2pdf.helper.getCheckbox(properties[key]);
7105 } else if (type == 'int') {
7106 return e2pdf.helper.getInt(properties[key]);
7107 } else if (type == 'float') {
7108 return e2pdf.helper.getFloat(properties[key]);
7109 } else {
7110 return '';
7111 }
7112 } else if (properties.hasOwnProperty(key)) {
7113 if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7114 return e2pdf.helper.toHtml(properties[key]);
7115 } else {
7116 return properties[key];
7117 }
7118 } else {
7119 return '';
7120 }
7121 },
7122 // e2pdf.properties.get
7123 get: function (el) {
7124 var properties = [];
7125 if (typeof el.data('data-properties') !== 'undefined') {
7126 properties = JSON.parse(el.data('data-properties'));
7127 if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7128 properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7129 properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7130 properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7131 properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
7132 }
7133 }
7134 return properties;
7135 },
7136 // e2pdf.properties.render
7137 render: function (el) {
7138 var properties = e2pdf.properties.get(el);
7139 var children = e2pdf.element.children(el);
7140 if (properties.hasOwnProperty('options')) {
7141 if (el.data('data-type') === 'e2pdf-select') {
7142 children.find('option').remove();
7143 var options = properties['options'].split("\n");
7144 if (typeof options !== 'undefined' && options.length > 0) {
7145 for (var key in options) {
7146 children.append(
7147 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
7148 );
7149 }
7150 }
7151 }
7152 }
7153 switch (el.data('data-type')) {
7154 case 'e2pdf-html':
7155 var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7156 if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7157 children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7158 children = e2pdf.element.children(el);
7159 } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7160 children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7161 children = e2pdf.element.children(el);
7162 }
7163 if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7164 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7165 children.val(e2pdf.helper.getString(properties['value']));
7166 } else {
7167 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7168 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
7169 }
7170 break;
7171 case 'e2pdf-page-number':
7172 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7173 break;
7174 case 'e2pdf-link':
7175 children.text(e2pdf.helper.getString(properties['link_label']));
7176 break;
7177 case 'e2pdf-input':
7178 case 'e2pdf-textarea':
7179 case 'e2pdf-select':
7180 children.val(e2pdf.helper.getString(properties['value']));
7181 break;
7182 case 'e2pdf-checkbox':
7183 if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7184 children.prop('checked', true);
7185 } else {
7186 children.prop('checked', false);
7187 }
7188 break;
7189 case 'e2pdf-radio':
7190 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7191 var radio = jQuery(this).parent();
7192 var radio_properties = e2pdf.properties.get(radio);
7193 if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7194 e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7195 e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7196 e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7197 if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7198 jQuery(this).prop('checked', true);
7199 } else {
7200 jQuery(this).prop('checked', false);
7201 }
7202 }
7203 });
7204 break;
7205 case 'e2pdf-image':
7206 case 'e2pdf-qrcode':
7207 case 'e2pdf-barcode':
7208 case 'e2pdf-signature':
7209 case 'e2pdf-graph':
7210 e2pdf.helper.image.load(el);
7211 break;
7212 }
7213
7214 if (el.data('data-type') === 'e2pdf-select') {
7215 children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
7216 }
7217
7218 if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7219 children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
7220 }
7221
7222 el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7223 if (el.data('data-type') === 'e2pdf-select' ||
7224 el.data('data-type') === 'e2pdf-input' ||
7225 el.data('data-type') === 'e2pdf-textarea' ||
7226 el.data('data-type') === 'e2pdf-html' ||
7227 el.data('data-type') === 'e2pdf-page-number') {
7228 if (e2pdf.helper.getString(properties['rtl']) != '') {
7229 children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
7230 } else {
7231 children.attr('dir', false);
7232 }
7233 }
7234
7235 if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7236 children.css('background', e2pdf.helper.getString(properties['background']));
7237 } else {
7238 el.css('background', e2pdf.helper.getString(properties['background']));
7239 }
7240
7241 if (el.data('data-type') === 'e2pdf-input' ||
7242 el.data('data-type') === 'e2pdf-textarea' ||
7243 el.data('data-type') === 'e2pdf-select' ||
7244 el.data('data-type') === 'e2pdf-radio' ||
7245 el.data('data-type') === 'e2pdf-checkbox'
7246 ) {
7247 children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7248 } else {
7249 el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7250 el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7251 el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7252 el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7253 }
7254
7255 el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7256 el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7257 el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7258 el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7259 if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7260 el.css('color', e2pdf.helper.getString(properties['text_color']));
7261 } else if (el.data('data-type') === 'e2pdf-input' ||
7262 el.data('data-type') === 'e2pdf-textarea' ||
7263 el.data('data-type') === 'e2pdf-select' ||
7264 el.data('data-type') === 'e2pdf-radio' ||
7265 el.data('data-type') === 'e2pdf-checkbox'
7266 ) {
7267 children.css('color', e2pdf.helper.getString(properties['text_color']));
7268 }
7269
7270 var font = e2pdf.helper.getString(properties['text_font']);
7271 if (font) {
7272 var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7273 if (typeof path === 'undefined') {
7274 el.css('font-family', '');
7275 } else {
7276 var tmp = jQuery('<div>', {'name': font, 'path': path});
7277 e2pdf.font.load(tmp);
7278 el.css('font-family', CSS.escape(font));
7279 }
7280 } else {
7281 el.css('font-family', '');
7282 }
7283
7284 el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7285 el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7286 children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7287 if (el.data('data-type') === 'e2pdf-textarea') {
7288 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' : '');
7289 } else {
7290 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' : '');
7291 }
7292
7293 if (el.closest('.e2pdf-page').length > 0) {
7294 var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7295 var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7296 var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7297 if (height > page_h) {
7298 var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7299 el.css('top', top + 'px');
7300 } else {
7301 el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
7302 }
7303
7304 var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7305 if (width > page_w) {
7306 var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7307 el.css('left', left + "px");
7308 } else {
7309 el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
7310 }
7311
7312 var width = e2pdf.helper.getFloat(properties['width']);
7313 var left = e2pdf.helper.getFloat(el.css('left'));
7314 if (width > 0) {
7315 if (width > page_w - left) {
7316 el.css('width', page_w - left);
7317 e2pdf.properties.set(el, 'width', page_w - left);
7318 } else {
7319 el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7320 }
7321 }
7322
7323 var height = e2pdf.helper.getFloat(properties['height']);
7324 var top = e2pdf.helper.getFloat(el.css('top'));
7325 if (height > 0) {
7326 if (height > page_h - top) {
7327 el.css('height', page_h - top);
7328 e2pdf.properties.set(el, 'height', page_h - top);
7329 } else {
7330 el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7331 }
7332 }
7333 }
7334
7335 if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7336 el.addClass('e2pdf-locked');
7337 } else {
7338 el.removeClass('e2pdf-locked');
7339 }
7340 }
7341
7342 },
7343 // e2pdf.welcomeScreen
7344 welcomeScreen: function () {
7345 if (jQuery('.e2pdf-page').length === 0) {
7346 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7347 e2pdf.dialog.create(el);
7348 }
7349 },
7350 // e2pdf.createPdf
7351 createPdf: function (el) {
7352 var item = false;
7353 var item1 = false;
7354 var item2 = false;
7355 var action = el.attr('data-action');
7356 var data = e2pdf.form.serializeObject(el.closest('form'));
7357 if (action !== 'upload') {
7358 var disabled_settings = [
7359 'title', 'preset', 'font', 'font_size', 'line_height'
7360 ];
7361 for (var key in data) {
7362 if (jQuery.inArray(key, disabled_settings) === -1) {
7363 if (key == 'activated') {
7364 e2pdf.pdf.settings.change(key, data[key]);
7365 } else {
7366 e2pdf.pdf.settings.change(key, data[key]);
7367 }
7368 }
7369
7370 if (key === 'font') {
7371 jQuery('#e2pdf-font').val(data[key]);
7372 }
7373
7374 if (key === 'font_size') {
7375 jQuery('#e2pdf-font-size').val(data[key]);
7376 }
7377
7378 if (key === 'line_height') {
7379 jQuery('#e2pdf-line-height').val(data[key]);
7380 }
7381
7382 if (key === 'title') {
7383 jQuery('#e2pdf-title').val(data[key]);
7384 }
7385
7386 if (key === 'text_align') {
7387 jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7388 }
7389
7390 if (key === 'rtl') {
7391 jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7392 }
7393 }
7394
7395 if (!data['rtl']) {
7396 jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
7397 }
7398 }
7399
7400 if (action === 'apply') {
7401 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7402 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7403 var option = el.closest('form').find('.e2pdf-item option:selected');
7404 if (option && typeof option.data('data-item') !== 'undefined') {
7405 item = option.data('data-item');
7406 }
7407
7408 if (item && item.id == '-1') {
7409 if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7410 return false;
7411 }
7412 el.attr('form-id', 'e2pdf-build-form');
7413 el.attr('action', 'e2pdf_save_form');
7414 e2pdf.static.unsaved = false;
7415 e2pdf.request.submitForm(el);
7416 return;
7417 } else {
7418 if (item && item.id == '-2') {
7419 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7420 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7421 item1 = option1.data('data-item');
7422 if (item1.id == '-1') {
7423 item1 = false;
7424 }
7425 }
7426
7427 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7428 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7429 item2 = option2.data('data-item');
7430 if (item2.id == '-1') {
7431 item2 = false;
7432 }
7433 }
7434 }
7435
7436 e2pdf.pages.changeTplSize(width, height);
7437 jQuery('.ui-dialog-content').dialog('close');
7438 }
7439 } else if (action === 'empty') {
7440 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7441 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7442 var option = el.closest('form').find('.e2pdf-item option:selected');
7443 if (option && typeof option.data('data-item') !== 'undefined') {
7444 item = option.data('data-item');
7445 if (item.id == '-1') {
7446 item = false;
7447 }
7448 }
7449 if (item && item.id == '-2') {
7450 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7451 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7452 item1 = option1.data('data-item');
7453 if (item1.id == '-1') {
7454 item1 = false;
7455 }
7456 }
7457
7458 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7459 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7460 item2 = option2.data('data-item');
7461 if (item2.id == '-1') {
7462 item2 = false;
7463 }
7464 }
7465 }
7466 e2pdf.pages.changeTplSize(width, height);
7467 e2pdf.pages.createPage();
7468 jQuery('.ui-dialog-content').dialog('close');
7469 } else if (action === 'auto') {
7470 var extension = el.closest('form').find('.e2pdf-extension').val();
7471 var option = el.closest('form').find('.e2pdf-item option:selected');
7472 if (option && typeof option.data('data-item') !== 'undefined') {
7473 item = option.data('data-item');
7474 if (item.id == '-1') {
7475 item = false;
7476 }
7477 }
7478 if (item && item.id == '-2') {
7479 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7480 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7481 item1 = option1.data('data-item');
7482 if (item1.id == '-1') {
7483 item1 = false;
7484 }
7485 }
7486 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7487 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7488 item2 = option2.data('data-item');
7489 if (item2.id == '-1') {
7490 item2 = false;
7491 }
7492 }
7493 }
7494 var data = {};
7495 data['extension'] = extension;
7496 data['item'] = item ? item.id : '';
7497 data['item1'] = item1 ? item1.id : '';
7498 data['item2'] = item2 ? item2.id : '';
7499 data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7500 data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
7501 e2pdf.request.submitRequest('e2pdf_auto', el, data);
7502 } else if (action === 'upload') {
7503 if (e2pdf.pdf.settings.get('ID')) {
7504 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
7505 return false;
7506 }
7507 }
7508 jQuery('.e2pdf-upload-pdf').click();
7509 }
7510 if (action === 'apply' || action === 'empty' || action === 'auto') {
7511 var link = jQuery('<a>', {
7512 'href': 'javascript:void(0);',
7513 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7514 'data-modal': 'tpl-options'
7515 }).html(e2pdf.lang.get('Not linked'));
7516 if (item && item.id) {
7517 if (item.id == '-2') {
7518 if ((item1 && item1.id) || (item2 && item2.id)) {
7519 var link = jQuery('<span>');
7520 if (item1 && item1.id) {
7521 link.append(jQuery('<a>', {
7522 'target': '_blank',
7523 'href': item1.url,
7524 'class': 'e2pdf-link'
7525 }).html(item1.name));
7526 }
7527 if (item1 && item1.id && item2 && item2.id) {
7528 link.append(' | ');
7529 }
7530 if (item2 && item2.id) {
7531 link.append(jQuery('<a>', {
7532 'target': '_blank',
7533 'href': item2.url,
7534 'class': 'e2pdf-link'
7535 }).html(item2.name));
7536 }
7537 link.removeClass('e2pdf-color-red');
7538 }
7539 } else {
7540 link = jQuery('<a>', {
7541 'target': '_blank',
7542 'href': item.url,
7543 'class': 'e2pdf-link'
7544 }).html(item.name);
7545 link.removeClass('e2pdf-color-red');
7546 }
7547 }
7548 jQuery('#e2pdf-post-item').html(link);
7549 }
7550
7551 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
7552 e2pdf.font.load(jQuery('#e2pdf-font'));
7553 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7554 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7555 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7556 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7557 e2pdf.event.fire('after.createPdf');
7558 },
7559 // e2pdf.pages
7560 pages: {
7561 // e2pdf.pages.initEvents
7562 initEvents: function (page) {
7563 page.off('contextmenu');
7564 page.contextmenu(function (e) {
7565 if (jQuery(e.target).hasClass('e2pdf-page')) {
7566 e2pdf.contextMenu(e, page);
7567 e.preventDefault();
7568 }
7569 });
7570 if (page.hasClass('ui-droppable')) {
7571 try {
7572 page.droppable('destroy');
7573 page.removeData('ui-droppable');
7574 } catch (e) {
7575
7576 }
7577 }
7578 page.droppable({
7579 over: function (ev, ui) {
7580 e2pdf.static.drag.page = jQuery(this);
7581 e2pdf.static.guide.guides = [];
7582 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())) {
7583 jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7584 jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7585 var coeff = 1;
7586 if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7587 coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7588 } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7589 coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7590 }
7591 jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7592 jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7593 }
7594
7595 if (ui.draggable.hasClass('e2pdf-clone')) {
7596 jQuery(this).find('.e2pdf-element').each(function () {
7597 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
7598 });
7599 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
7600 } else {
7601 e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
7602 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
7603 }
7604 },
7605 out: function (ev, ui) {
7606 e2pdf.static.drag.page = null;
7607 e2pdf.static.guide.guides = [];
7608 if (jQuery(ui.helper).data('original-width')) {
7609 jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7610 jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7611 jQuery(ui.helper).removeData('original-width');
7612 jQuery(ui.helper).removeData('original-height');
7613 }
7614
7615 },
7616 deactivate: function (ev) {
7617 e2pdf.static.drag.page = null;
7618 e2pdf.static.guide.guides = [];
7619 },
7620 drop: function (ev, ui) {
7621 if (ui.draggable.hasClass('e2pdf-clone')) {
7622 var type = jQuery(ui.draggable).attr('data-type');
7623 var page = jQuery(this).closest('.e2pdf-page');
7624 var pos = {
7625 top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1)),
7626 left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1)),
7627 right: Math.round(Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.zoom))
7628 };
7629 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
7630 return false;
7631 }
7632
7633 var properties = {};
7634 properties['width'] = jQuery(ui.helper).css('width');
7635 properties['height'] = jQuery(ui.helper).css('height');
7636 properties['top'] = pos.top;
7637 properties['left'] = pos.left;
7638 var el = e2pdf.element.create(type, page, properties, false, true);
7639 jQuery(this).append(el);
7640 e2pdf.properties.render(el);
7641 var history = [];
7642 history.push(el.clone(true));
7643 e2pdf.history.set('element_create', history);
7644 }
7645 e2pdf.static.drag.page = null;
7646 }
7647 });
7648 if (page.hasClass('ui-selectable')) {
7649 try {
7650 page.selectable('destroy');
7651 page.removeData('selectable');
7652 } catch (e) {
7653 }
7654 }
7655 page.selectable(
7656 {
7657 filter: '.e2pdf-element',
7658 cancel: 'a,.e2pdf-element',
7659 distance: 10,
7660 selecting: function (event, ui) {
7661 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7662 jQuery(ui.selecting).addClass('e2pdf-selected');
7663 }
7664 },
7665 unselecting: function (event, ui) {
7666 jQuery(ui.unselecting).removeClass('e2pdf-selected');
7667 },
7668 selected: function (event, ui) {
7669 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7670 e2pdf.element.select(jQuery(ui.selected));
7671 }
7672 },
7673 unselected: function (event, ui) {
7674 e2pdf.element.unselect(jQuery(ui.unselected));
7675 }
7676 }
7677 );
7678 },
7679 // e2pdf.pages.source
7680 source: function (page_id) {
7681 var page = jQuery('<div>', {
7682 'class': 'e2pdf-page ui-droppable',
7683 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7684 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7685 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7686 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7687 }).attr('data-page_id', page_id).append(
7688 jQuery('<div>', {'class': 'page-options-icons'}).append(
7689 jQuery('<a>', {
7690 'href': 'javascript:void(0);',
7691 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7692 }).append(
7693 jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7694 ),
7695 jQuery('<a>', {
7696 'href': 'javascript:void(0);',
7697 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7698 }).append(
7699 jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7700 ),
7701 jQuery('<a>', {
7702 'href': 'javascript:void(0);',
7703 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7704 'data-modal': 'page-options'
7705 }).append(
7706 jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7707 ),
7708 jQuery('<a>', {
7709 'href': 'javascript:void(0);',
7710 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7711 }).append(
7712 jQuery('<i>', {'class': 'dashicons dashicons-no'})
7713 )
7714 ),
7715 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7716 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7717 );
7718 return page;
7719 },
7720 // e2pdf.pages.rebuildPages
7721 rebuildPages: function () {
7722 jQuery('.e2pdf-page').each(function (index) {
7723 if (!e2pdf.pdf.settings.get('pdf')) {
7724 if (index + 1 === 1) {
7725 jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7726 } else {
7727 jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7728 }
7729
7730 if (index + 1 === jQuery('.e2pdf-page').length) {
7731 jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7732 } else {
7733 jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7734 }
7735 }
7736 jQuery(this).attr('data-page_id', index + 1);
7737 });
7738 e2pdf.welcomeScreen();
7739 },
7740 // e2pdf.pages.createPage
7741 createPage: function (page, properties, actions, onload) {
7742 e2pdf.pages.rebuildPages();
7743 var newpage = true;
7744 if (page) {
7745 var newpage = false;
7746 }
7747 if (!properties) {
7748 properties = {};
7749 }
7750 if (!actions) {
7751 actions = {};
7752 }
7753 if (newpage) {
7754 var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7755 var page = e2pdf.pages.source(page_id);
7756 }
7757 page.data('data-type', 'e2pdf-page');
7758 e2pdf.properties.apply(page, properties, onload);
7759 e2pdf.actions.apply(page, actions);
7760 e2pdf.pages.initEvents(page);
7761 if (newpage) {
7762 if (!onload) {
7763 var history = [];
7764 history.push(page.clone(true));
7765 e2pdf.history.set('element_create', history);
7766 }
7767 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
7768 e2pdf.pages.rebuildPages();
7769 e2pdf.event.fire('after.pages.createPage.newpage');
7770 return true;
7771 } else {
7772 return false;
7773 }
7774 },
7775 // e2pdf.pages.movePage
7776 movePage: function (el, direction) {
7777 if (e2pdf.pdf.settings.get('pdf')) {
7778 return false;
7779 }
7780 if (direction === 'up') {
7781 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
7782 } else if (direction === 'down') {
7783 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
7784 }
7785 e2pdf.event.fire('after.pages.movePage');
7786 e2pdf.pages.rebuildPages();
7787 },
7788 // e2pdf.pages.deletePage
7789 deletePage: function (el) {
7790 el.closest('.e2pdf-page').remove();
7791 e2pdf.event.fire('after.pages.deletePage');
7792 e2pdf.pages.rebuildPages();
7793 },
7794 // e2pdf.pages.changeTplSize
7795 changeTplSize: function (width, height) {
7796 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
7797 },
7798 changePageSize: function (el, width, height) {
7799 var prev_width = parseFloat(el.css('width'));
7800 var prev_height = parseFloat(el.css('height'));
7801 var width_diff = width / prev_width;
7802 var height_diff = height / prev_height;
7803 el.find(".e2pdf-element").each(function () {
7804 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
7805 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
7806 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'))) {
7807 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7808 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
7809 } else {
7810 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7811 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
7812 }
7813 });
7814 el.css('width', width);
7815 el.css('height', height);
7816 el.attr('data-width', width);
7817 el.attr('data-height', height);
7818 }
7819 },
7820 // e2pdf.contextMenu
7821 contextMenu: function (e, el) {
7822 e2pdf.delete('.e2pdf-context');
7823 jQuery('.e2pdf-page').css('z-index', '');
7824 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
7825 if (el.hasClass('e2pdf-page')) {
7826 var parent = el;
7827 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7828 menu.find('ul.e2pdf-context-menu').append(
7829 jQuery('<li>').append(
7830 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'))
7831 ),
7832 jQuery('<li>').append(
7833 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'))
7834 ),
7835 jQuery('<li>').append(
7836 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
7837 )
7838 );
7839 } else {
7840 if (!el.hasClass('e2pdf-selected')) {
7841 e2pdf.element.unselect();
7842 e2pdf.element.select(el);
7843 }
7844
7845 var parent = el.closest('.e2pdf-page');
7846 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7847 if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7848 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7849 menu.find('ul.e2pdf-context-menu').append(
7850 jQuery('<li>').append(
7851 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7852 ));
7853 } else {
7854 menu.find('ul.e2pdf-context-menu').append(
7855 jQuery('<li>').append(
7856 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7857 ));
7858 }
7859 }
7860
7861 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')))) {
7862 menu.find('ul.e2pdf-context-menu').append(
7863 jQuery('<li>').append(
7864 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7865 ));
7866 }
7867
7868 menu.find('ul.e2pdf-context-menu').append(
7869 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
7870 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7871 ,
7872 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
7873 jQuery('<li>').append(
7874 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
7875 ),
7876 jQuery('<li>').append(
7877 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
7878 ),
7879 jQuery('<li>').append(
7880 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
7881 ),
7882 jQuery('<li>').append(
7883 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
7884 )
7885 )
7886 ),
7887 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
7888 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7889 ,
7890 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
7891 jQuery('<li>').append(
7892 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'))
7893 ),
7894 jQuery('<li>').append(
7895 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'))
7896 ))
7897 ));
7898 menu.find('ul.e2pdf-context-menu').append(
7899 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
7900 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7901 ,
7902 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
7903 jQuery('<li>').append(
7904 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'))
7905 ))
7906 ),
7907 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
7908 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7909 ,
7910 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
7911 ),
7912 jQuery('<li>').append(
7913 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
7914 ),
7915 jQuery('<li>').append(
7916 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
7917 ),
7918 jQuery('<li>').append(
7919 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
7920 ));
7921 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
7922 if (Object.keys(e2pdf.element.selected).length == 1) {
7923 menu.find('ul.e2pdf-copy-menu').append(
7924 jQuery('<li>').append(
7925 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
7926 ));
7927 }
7928 if (e2pdf.storage.get('style') !== null) {
7929 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7930 menu.find('ul.e2pdf-paste-menu').append(
7931 jQuery('<li>').append(
7932 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
7933 ));
7934 }
7935 }
7936
7937 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
7938 if (Object.keys(e2pdf.element.selected).length == 1) {
7939 menu.find('ul.e2pdf-copy-menu').append(
7940 jQuery('<li>').append(
7941 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
7942 ));
7943 }
7944 if (e2pdf.storage.get('width') != null) {
7945 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7946 menu.find('ul.e2pdf-paste-menu').append(
7947 jQuery('<li>').append(
7948 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
7949 ));
7950 }
7951 }
7952
7953 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
7954
7955 if (Object.keys(e2pdf.element.selected).length == 1) {
7956 menu.find('ul.e2pdf-copy-menu').append(
7957 jQuery('<li>').append(
7958 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
7959 ));
7960 }
7961
7962 if (e2pdf.storage.get('height') != null) {
7963 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7964 menu.find('ul.e2pdf-paste-menu').append(
7965 jQuery('<li>').append(
7966 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
7967 ));
7968 }
7969 }
7970
7971 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
7972
7973 if (Object.keys(e2pdf.element.selected).length == 1) {
7974 menu.find('ul.e2pdf-copy-menu').append(
7975 jQuery('<li>').append(
7976 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
7977 ));
7978 }
7979
7980 if (e2pdf.storage.get('actions') !== null) {
7981 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7982 menu.find('ul.e2pdf-paste-menu').append(
7983 jQuery('<li>').append(
7984 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
7985 ));
7986 }
7987 }
7988
7989 if (Object.keys(e2pdf.element.selected).length == 1) {
7990 menu.find('ul.e2pdf-context-menu').append(
7991 jQuery('<li>').append(
7992 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
7993 ));
7994 }
7995 }
7996 parent.css('z-index', '1');
7997 menu.hide().appendTo(parent);
7998 var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
7999 if ((parent.closest('.e2pdf-tpl').width() - 20 < e.pageX - parent.closest('.e2pdf-tpl').offset().left + (menu.width() * e2pdf.zoom.zoom * 2)) && (e.pageX - parent.closest('.e2pdf-tpl').offset().left > (menu.width() * e2pdf.zoom.zoom * 2))) {
8000 pos_x = pos_x - menu.width();
8001 menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8002 }
8003 var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8004 if ((parent.closest('.e2pdf-tpl').height() - 20 < e.pageY - parent.closest('.e2pdf-tpl').offset().top + (menu.height() * e2pdf.zoom.zoom * 2)) && (e.pageY - parent.closest('.e2pdf-tpl').offset().top > (menu.height() * e2pdf.zoom.zoom * 2))) {
8005 pos_y = pos_y - menu.height();
8006 menu.addClass('e2pdf-context-bottom');
8007 }
8008 menu.css({top: pos_y + "px", left: pos_x + "px"});
8009 menu.show();
8010 },
8011 // e2pdf.delete
8012 delete: function (el) {
8013 jQuery(el).remove();
8014 },
8015 // e2pdf.element
8016 element: {
8017 // e2pdf.element.selected
8018 selected: [],
8019 // e2pdf.element.init
8020 init: function (el) {
8021 if (el.data('data-type') === 'e2pdf-html') {
8022 if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8023 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8024 } else {
8025 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8026 }
8027 } else if (el.data('data-type') === 'e2pdf-input') {
8028 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
8029 } else if (el.data('data-type') === 'e2pdf-textarea') {
8030 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
8031 }
8032 e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8033 e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8034 e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
8035 },
8036 // e2pdf.element.initEvents
8037 initEvents: function (element, page) {
8038 var min_width = 2;
8039 var min_height = 2;
8040 if (element.data('data-type') == 'e2pdf-rectangle') {
8041 min_height = 1;
8042 min_width = 1;
8043 }
8044 if (!page) {
8045 page = element.closest('.e2pdf-page');
8046 }
8047 element.off('contextmenu');
8048 element.contextmenu(function (e) {
8049 e2pdf.contextMenu(e, element);
8050 e.preventDefault();
8051 });
8052 if (element.hasClass('ui-draggable')) {
8053 try {
8054 element.draggable('destroy');
8055 element.removeData('ui-draggable');
8056 } catch (e) {
8057
8058 }
8059 }
8060 element.draggable({
8061 cancel: '.no-drag',
8062 handle: '.e2pdf-drag',
8063 containment: jQuery(page),
8064 stop: function (ev, ui) {
8065 var page = jQuery(this).closest('.e2pdf-page');
8066 for (var key in e2pdf.element.selected) {
8067 var selected = e2pdf.element.selected[key];
8068 if (selected.hasClass('e2pdf-width-auto')) {
8069 selected.css({'width': 'auto'});
8070 }
8071 if (selected.hasClass('e2pdf-height-auto')) {
8072 selected.css({'height': 'auto'});
8073 }
8074 e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8075 e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
8076 }
8077 jQuery('.page-options-icons').css('z-index', '');
8078 e2pdf.event.fire('after.element.moved');
8079 e2pdf.element.unselect();
8080 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8081 },
8082 drag: function (ev, ui) {
8083 var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
8084 var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
8085 left = Math.min(left, e2pdf.static.drag.max_left);
8086 top = Math.min(top, e2pdf.static.drag.max_top);
8087 ui.position = {
8088 left: Math.max(e2pdf.static.drag.min_left, left),
8089 top: Math.max(e2pdf.static.drag.min_top, top)
8090 };
8091 var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8092 var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8093 for (var key in e2pdf.element.selected) {
8094 var selected = e2pdf.element.selected[key];
8095 if (!selected.is(jQuery(this))) {
8096 selected.finish().animate({
8097 left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8098 top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8099 }, 0);
8100 }
8101 }
8102 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8103 var w = parseFloat(jQuery(this).css('width'));
8104 var h = parseFloat(jQuery(this).css('height'));
8105 var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8106 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8107 jQuery.each(el_guides, function (i, elemGuide) {
8108 if (guide.type == elemGuide.type) {
8109 var prop = guide.type == "h" ? "top" : "left";
8110 var d = Math.abs(elemGuide[prop] - guide[prop]);
8111 if (d < guides[prop].dist) {
8112 guides[prop].dist = d;
8113 guides[prop].offset = elemGuide[prop] - ui.position[prop];
8114 guides[prop].guide = guide;
8115 }
8116 }
8117 });
8118 });
8119 if (guides.top.dist <= e2pdf.static.guide.distance) {
8120 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8121 var snap_top = guides.top.guide.top - guides.top.offset;
8122 if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8123 ui.position.top = snap_top;
8124 var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8125 for (var key in e2pdf.element.selected) {
8126 var selected = e2pdf.element.selected[key];
8127 if (!selected.is(jQuery(this))) {
8128 selected.finish().animate({
8129 top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8130 }, 0);
8131 }
8132 }
8133 }
8134 } else {
8135 jQuery('.e2pdf-guide-h').hide();
8136 }
8137 if (guides.left.dist <= e2pdf.static.guide.distance) {
8138 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8139 var snap_left = guides.left.guide.left - guides.left.offset;
8140 if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8141 ui.position.left = snap_left;
8142 var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8143 for (var key in e2pdf.element.selected) {
8144 var selected = e2pdf.element.selected[key];
8145 if (!selected.is(jQuery(this))) {
8146 selected.finish().animate({
8147 left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8148 }, 0);
8149 }
8150 }
8151 }
8152 } else {
8153 jQuery('.e2pdf-guide-v').hide();
8154 }
8155 },
8156 start: function (ev, ui) {
8157 if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8158 return false;
8159 }
8160 e2pdf.element.select(jQuery(this));
8161 e2pdf.static.drag.min_left = 0;
8162 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8163 e2pdf.static.drag.min_top = 0;
8164 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8165 var history = [];
8166 for (var key in e2pdf.element.selected) {
8167 var selected = e2pdf.element.selected[key];
8168 history.push(selected.clone(true));
8169 if (selected.hasClass('e2pdf-width-auto')) {
8170 selected.css({"width": "auto"});
8171 }
8172 if (selected.hasClass('e2pdf-height-auto')) {
8173 selected.css({"height": "auto"});
8174 }
8175 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8176 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8177 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8178 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8179 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8180 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8181 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8182 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8183 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);
8184 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);
8185 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);
8186 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);
8187 }
8188 e2pdf.history.set('element_change', history);
8189 e2pdf.zoom.click.x = ev.clientX;
8190 e2pdf.zoom.click.y = ev.clientY;
8191 jQuery('.page-options-icons').css('z-index', -1);
8192 }
8193 });
8194 if (element.hasClass('e2pdf-resizable')) {
8195 if (element.hasClass('ui-resizable')) {
8196 try {
8197 element.resizable('destroy');
8198 element.removeData('ui-resizable');
8199 } catch (e) {
8200
8201 }
8202 }
8203 element.resizable({
8204 handles: 'n, e, s, w, ne, se, sw, nw',
8205 aspectRatio: false,
8206 minHeight: min_height,
8207 minWidth: min_width,
8208 start: function (ev, ui) {
8209 var _process = function (el, resize) {
8210 var left = e2pdf.helper.getFloat(el.css('left'));
8211 var top = e2pdf.helper.getFloat(el.css('top'));
8212 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8213 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8214 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8215 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8216 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8217 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8218 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8219 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8220 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8221 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8222 var width = e2pdf.helper.getFloat(el.css('width'));
8223 var height = e2pdf.helper.getFloat(el.css('height'));
8224 el.resizable("option", "maxWidth", page_width - left);
8225 el.resizable("option", "maxHeight", page_height - top);
8226 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8227 el.resizable("option", "maxWidth", left + width);
8228 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8229 el.resizable("option", "maxHeight", top + height);
8230 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8231 el.resizable("option", "maxWidth", left + width);
8232 el.resizable("option", "maxHeight", top + height);
8233 }
8234 if (resize) {
8235 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8236 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8237 }
8238 };
8239 _process(jQuery(this), true);
8240 e2pdf.zoom.click.x = ev.clientX;
8241 e2pdf.zoom.click.y = ev.clientY;
8242 var history = [];
8243 history.push(jQuery(this).clone(true));
8244 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8245 var selected = jQuery(this);
8246 history.push(selected.clone(true));
8247 var width = e2pdf.helper.getFloat(selected.css('width'));
8248 var height = e2pdf.helper.getFloat(selected.css('height'));
8249 selected.data("ui-resizable-alsoresize", {
8250 width: width,
8251 height: height,
8252 left: e2pdf.helper.getFloat(selected.css('left')),
8253 top: e2pdf.helper.getFloat(selected.css('top'))
8254 });
8255 _process(jQuery(this), false);
8256 });
8257 e2pdf.history.set('element_change', history);
8258 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8259 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8260 },
8261 resize: function (ev, ui) {
8262 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8263 var axis = ui.element.data("ui-resizable").axis;
8264 if (axis != 'nw' && axis != 'sw') {
8265 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8266 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8267 }
8268 }
8269 var delta = {
8270 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8271 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8272 top: (ui.position.top - ui.originalPosition.top) || 0,
8273 left: (ui.position.left - ui.originalPosition.left) || 0
8274 };
8275 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8276 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8277 var style = {};
8278 var css = ["width", "height", "top", "left"];
8279 jQuery.each(css, function (i, prop) {
8280 var sum = (start[prop] || 0) + (delta[prop] || 0);
8281 if (sum) {
8282 if (prop == 'width') {
8283 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8284 style[prop] = sum;
8285 }
8286 } else if (prop == 'height') {
8287 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8288 style[prop] = sum;
8289 }
8290 } else if (prop == 'left') {
8291 if (sum >= 0) {
8292 style[prop] = sum;
8293 }
8294 } else if (prop == 'top') {
8295 if (sum >= 0) {
8296 style[prop] = sum;
8297 }
8298 }
8299 }
8300 });
8301 el.css(style);
8302 });
8303 var handle = ui.element.data("ui-resizable").axis;
8304 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8305 var w = parseFloat(jQuery(this).css('width'));
8306 var h = parseFloat(jQuery(this).css('height'));
8307 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8308 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8309 var hPosition = ui.position.top;
8310 var hEdgeValue = ui.position.top;
8311 if (handle.indexOf('s') !== -1) {
8312 hEdgeValue = ui.position.top + h;
8313 }
8314 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8315 if (guide.type == "h") {
8316 var d = Math.abs(hEdgeValue - guide.top);
8317 if (d < hGuides.dist) {
8318 hGuides.dist = d;
8319 hGuides.guide = guide;
8320 hGuides.offset = hEdgeValue - hPosition;
8321 }
8322 }
8323 });
8324 if (hGuides.dist <= e2pdf.static.guide.distance) {
8325 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8326 var snap_top = hGuides.guide.top - hGuides.offset;
8327 if (handle.indexOf('n') !== -1) {
8328 var heightDiff = ui.position.top - snap_top;
8329 ui.position.top = snap_top;
8330 ui.size.height += heightDiff;
8331 } else if (handle.indexOf('s') !== -1) {
8332 var newHeight = hGuides.guide.top - ui.position.top;
8333 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8334 ui.size.height = newHeight;
8335 }
8336 }
8337 }
8338 }
8339 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8340 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8341 var vPosition = ui.position.left;
8342 var vEdgeValue = ui.position.left;
8343 if (handle.indexOf('e') !== -1) {
8344 vEdgeValue = ui.position.left + w;
8345 }
8346 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8347 if (guide.type == "v") {
8348 var d = Math.abs(vEdgeValue - guide.left);
8349 if (d < vGuides.dist) {
8350 vGuides.dist = d;
8351 vGuides.guide = guide;
8352 vGuides.offset = vEdgeValue - vPosition;
8353 }
8354 }
8355 });
8356 if (vGuides.dist <= e2pdf.static.guide.distance) {
8357 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8358 var snap_left = vGuides.guide.left - vGuides.offset;
8359 if (handle.indexOf('w') !== -1) {
8360 var widthDiff = ui.position.left - snap_left;
8361 ui.position.left = snap_left;
8362 ui.size.width += widthDiff;
8363 } else if (handle.indexOf('e') !== -1) {
8364 var newWidth = vGuides.guide.left - ui.position.left;
8365 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8366 ui.size.width = newWidth;
8367 }
8368 }
8369 }
8370 }
8371 },
8372 stop: function (event, ui) {
8373 ui.size.width = Math.round(ui.size.width);
8374 ui.size.height = Math.round(ui.size.height);
8375 var _process = function (el, width, height) {
8376 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') {
8377 width += el.outerWidth() - el.width();
8378 height += el.outerWidth() - el.width();
8379 }
8380 e2pdf.properties.set(el, 'width', width);
8381 e2pdf.properties.set(el, 'height', height);
8382 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8383 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8384 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') {
8385 e2pdf.properties.render(el);
8386 }
8387 };
8388 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8389 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8390 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8391 jQuery(this).removeData("resizable-alsoresize");
8392 });
8393 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8394 }
8395 });
8396 }
8397 },
8398 // e2pdf.element.create
8399 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8400 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8401 var min_height = 2;
8402 var min_width = 2;
8403 if (!properties) {
8404 properties = {};
8405 }
8406 if (!actions) {
8407 actions = {};
8408 }
8409 switch (type) {
8410 case 'e2pdf-input':
8411 if (default_properties) {
8412 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8413 properties['width'] = '200';
8414 }
8415 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8416 properties['height'] = size;
8417 }
8418 if (!properties.hasOwnProperty('border')) {
8419 properties['border'] = '1';
8420 }
8421 if (!properties.hasOwnProperty('border_color')) {
8422 properties['border_color'] = '#000000';
8423 }
8424 }
8425 var element =
8426 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8427 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8428 jQuery('<i>', {'class': 'e2pdf-drag'})
8429 );
8430 break;
8431 case 'e2pdf-textarea':
8432 if (default_properties) {
8433 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8434 properties['width'] = '200';
8435 }
8436 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8437 properties['height'] = '100';
8438 }
8439 if (!properties.hasOwnProperty('border')) {
8440 properties['border'] = '1';
8441 }
8442 if (!properties.hasOwnProperty('border_color')) {
8443 properties['border_color'] = '#000000';
8444 }
8445 }
8446 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8447 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8448 jQuery('<i>', {'class': 'e2pdf-drag'})
8449 );
8450 break;
8451 case 'e2pdf-checkbox':
8452 if (default_properties) {
8453 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8454 properties['width'] = size;
8455 }
8456 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8457 properties['height'] = size;
8458 }
8459 if (!properties.hasOwnProperty('option')) {
8460 properties['option'] = 'option';
8461 }
8462 if (!properties.hasOwnProperty('border')) {
8463 properties['border'] = '1';
8464 }
8465 if (!properties.hasOwnProperty('border_color')) {
8466 properties['border_color'] = '#000000';
8467 }
8468 }
8469 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8470 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8471 jQuery('<i>', {'class': 'e2pdf-drag'})
8472 );
8473 break;
8474 case 'e2pdf-radio':
8475 if (default_properties) {
8476 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8477 properties['width'] = size;
8478 }
8479 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8480 properties['height'] = size;
8481 }
8482 if (!properties.hasOwnProperty('group')) {
8483 properties['group'] = 'group';
8484 }
8485 if (!properties.hasOwnProperty('option')) {
8486 properties['option'] = 'option';
8487 }
8488 if (!properties.hasOwnProperty('border')) {
8489 properties['border'] = '1';
8490 }
8491 if (!properties.hasOwnProperty('border_color')) {
8492 properties['border_color'] = '#000000';
8493 }
8494 if (!properties.hasOwnProperty('text_type')) {
8495 properties['text_type'] = 'circle';
8496 }
8497
8498 }
8499 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8500 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8501 jQuery('<i>', {'class': 'e2pdf-drag'})
8502 );
8503 break;
8504 case 'e2pdf-select':
8505 if (default_properties) {
8506 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8507 properties['width'] = '200';
8508 }
8509 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8510 properties['height'] = size;
8511 }
8512 if (!properties.hasOwnProperty('options')) {
8513 properties['options'] = '';
8514 }
8515 if (!properties.hasOwnProperty('border')) {
8516 properties['border'] = '1';
8517 }
8518 if (!properties.hasOwnProperty('border_color')) {
8519 properties['border_color'] = '#000000';
8520 }
8521 }
8522 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8523 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8524 ),
8525 jQuery('<i>', {'class': 'e2pdf-drag'})
8526 );
8527 break;
8528 case 'e2pdf-signature':
8529 if (default_properties) {
8530 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8531 properties['width'] = '200';
8532 }
8533 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8534 properties['height'] = '75';
8535 }
8536 if (!properties.hasOwnProperty('vertical')) {
8537 properties['vertical'] = 'bottom';
8538 }
8539 if (!properties.hasOwnProperty('block_dimension')) {
8540 properties['block_dimension'] = '1';
8541 }
8542 if (!properties.hasOwnProperty('dimension')) {
8543 properties['dimension'] = '1';
8544 }
8545 if (!properties.hasOwnProperty('opacity')) {
8546 properties['opacity'] = '1';
8547 }
8548 } else {
8549 // backward compatibility
8550 if (!properties.hasOwnProperty('opacity')) {
8551 properties['opacity'] = '1';
8552 }
8553 }
8554 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8555 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8556 jQuery('<i>', {'class': 'e2pdf-drag'})
8557 );
8558 break;
8559 case 'e2pdf-html':
8560 if (default_properties) {
8561 if (!properties.hasOwnProperty('width')) {
8562 properties['width'] = '200';
8563 } else if (properties['width'] === 'auto') {
8564 properties['width'] = size;
8565 }
8566 if (!properties.hasOwnProperty('height')) {
8567 properties['height'] = size;
8568 } else if (properties['height'] === 'auto') {
8569 delete properties['height'];
8570 }
8571 if (!properties.hasOwnProperty('html_worker')) {
8572 properties['html_worker'] = '1';
8573 }
8574 if (!properties.hasOwnProperty('css_priority')) {
8575 properties['css_priority'] = '1';
8576 }
8577 }
8578 if (properties['wysiwyg_disable'] == '1') {
8579 var element =
8580 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8581 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8582 jQuery('<i>', {'class': 'e2pdf-drag'})
8583 );
8584 } else {
8585 var element =
8586 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8587 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8588 jQuery('<i>', {'class': 'e2pdf-drag'})
8589 );
8590 }
8591 break;
8592 case 'e2pdf-image':
8593 if (default_properties) {
8594 if (!properties.hasOwnProperty('dimension')) {
8595 properties['dimension'] = '1';
8596 }
8597 if (!properties.hasOwnProperty('opacity')) {
8598 properties['opacity'] = '1';
8599 }
8600 if (!properties.hasOwnProperty('block_dimension')) {
8601 properties['block_dimension'] = '1';
8602 }
8603 if (!properties.hasOwnProperty('vertical')) {
8604 properties['vertical'] = 'bottom';
8605 }
8606 if (!properties.hasOwnProperty('pdf_resample')) {
8607 properties['pdf_resample'] = '-1';
8608 }
8609 } else {
8610 // backward compatibility
8611 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8612 properties['block_dimension'] = '1';
8613 }
8614 if (!properties.hasOwnProperty('opacity')) {
8615 properties['opacity'] = '1';
8616 }
8617 if (!properties.hasOwnProperty('pdf_resample')) {
8618 properties['pdf_resample'] = '150';
8619 }
8620 }
8621 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8622 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8623 jQuery('<i>', {'class': 'e2pdf-drag'})
8624 );
8625 break;
8626 case 'e2pdf-rectangle':
8627 if (default_properties) {
8628 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8629 properties['width'] = '200';
8630 }
8631 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8632 properties['height'] = '5';
8633 }
8634 if (!properties.hasOwnProperty('background')) {
8635 properties['background'] = '#000000';
8636 }
8637 }
8638 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8639 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8640 jQuery('<i>', {'class': 'e2pdf-drag'})
8641 );
8642 break;
8643 case 'e2pdf-link':
8644 if (default_properties) {
8645 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8646 properties['width'] = '200';
8647 }
8648
8649 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8650 properties['height'] = size;
8651 }
8652 }
8653 var element =
8654 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8655 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8656 jQuery('<i>', {'class': 'e2pdf-drag'})
8657 );
8658 break;
8659 case 'e2pdf-qrcode':
8660 if (default_properties) {
8661 if (!properties.hasOwnProperty('color')) {
8662 properties['color'] = '#000000';
8663 }
8664 if (!properties.hasOwnProperty('background')) {
8665 properties['background'] = '#ffffff';
8666 }
8667 if (!properties.hasOwnProperty('wq')) {
8668 properties['wq'] = '1';
8669 }
8670 }
8671 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8672 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8673 jQuery('<i>', {'class': 'e2pdf-drag'})
8674 );
8675 break;
8676 case 'e2pdf-barcode':
8677 if (default_properties) {
8678 if (!properties.hasOwnProperty('color')) {
8679 properties['color'] = '#000000';
8680 }
8681 if (!properties.hasOwnProperty('text_color')) {
8682 properties['text_color'] = '#000000';
8683 }
8684 if (!properties.hasOwnProperty('vertical')) {
8685 properties['vertical'] = 'middle';
8686 }
8687 if (!properties.hasOwnProperty('horizontal')) {
8688 properties['horizontal'] = 'center';
8689 }
8690 if (!properties.hasOwnProperty('wq')) {
8691 properties['wq'] = '1';
8692 }
8693 if (!properties.hasOwnProperty('dimension')) {
8694 properties['dimension'] = '1';
8695 }
8696 if (!properties.hasOwnProperty('background')) {
8697 properties['background'] = '#ffffff';
8698 }
8699 if (!properties.hasOwnProperty('margin_top')) {
8700 properties['margin_top'] = '10';
8701 }
8702 if (!properties.hasOwnProperty('margin_left')) {
8703 properties['margin_left'] = '10';
8704 }
8705 if (!properties.hasOwnProperty('margin_right')) {
8706 properties['margin_right'] = '10';
8707 }
8708 if (!properties.hasOwnProperty('margin_bottom')) {
8709 properties['margin_bottom'] = '10';
8710 }
8711 } else {
8712 // backward compatibility
8713 if (!properties.hasOwnProperty('scale')) {
8714 properties['scale'] = '1';
8715 }
8716 if (!properties.hasOwnProperty('margin_top')) {
8717 properties['margin_top'] = '10';
8718 }
8719 if (!properties.hasOwnProperty('margin_left')) {
8720 properties['margin_left'] = '10';
8721 }
8722 if (!properties.hasOwnProperty('margin_right')) {
8723 properties['margin_right'] = '10';
8724 }
8725 if (!properties.hasOwnProperty('margin_bottom')) {
8726 properties['margin_bottom'] = '10';
8727 }
8728 }
8729 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8730 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8731 jQuery('<i>', {'class': 'e2pdf-drag'})
8732 );
8733 break;
8734 case 'e2pdf-page-number':
8735 if (default_properties) {
8736 if (!properties.hasOwnProperty('width')) {
8737 properties['width'] = '100';
8738 } else if (properties['width'] === 'auto') {
8739 properties['width'] = '100';
8740 }
8741 if (!properties.hasOwnProperty('height')) {
8742 properties['height'] = size;
8743 } else if (properties['height'] === 'auto') {
8744 delete properties['height'];
8745 }
8746 if (!properties.hasOwnProperty('text_align')) {
8747 properties['text_align'] = 'center';
8748 }
8749 if (!properties.hasOwnProperty('html_worker')) {
8750 properties['html_worker'] = '1';
8751 }
8752 if (!properties.hasOwnProperty('value')) {
8753 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8754 }
8755 }
8756 var value = properties['value'] ? properties['value'] : '';
8757 var element =
8758 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8759 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'))),
8760 jQuery('<i>', {'class': 'e2pdf-drag'})
8761 );
8762 break;
8763 case 'e2pdf-graph':
8764 if (default_properties) {
8765 // Graph
8766 properties['g_palette'] = '#1e73be';
8767 properties['g_stroke_colour'] = '#000000';
8768 properties['g_stroke_width'] = '1';
8769 properties['g_sort'] = '1';
8770 // Titles
8771 properties['g_graph_title_colour'] = '#000000';
8772 properties['g_graph_title_space'] = '10';
8773 // Labels
8774 properties['g_label_colour'] = '#000000';
8775 properties['g_label_font_size'] = '10';
8776 properties['g_label_space'] = '10';
8777 // Markers
8778 properties['g_marker_colour'] = '#000000';
8779 properties['g_marker_size'] = '3';
8780 // Legend
8781 properties['g_legend_back_colour'] = '#ffffff';
8782 properties['g_legend_stroke_colour'] = '#000000';
8783 properties['g_legend_stroke_width'] = '1';
8784 properties['g_legend_entry_width'] = '20';
8785 properties['g_legend_entry_height'] = '20';
8786 properties['g_legend_padding_x'] = '5';
8787 properties['g_legend_padding_y'] = '5';
8788 properties['g_legend_colour'] = '#000000';
8789 properties['g_legend_font_size'] = '10';
8790 properties['g_show_legend'] = '1';
8791 // Grid
8792 properties['g_grid_colour'] = '#eeeeee';
8793 properties['g_grid_subdivision_colour'] = '#eeeeee';
8794 properties['g_minimum_grid_spacing'] = '20';
8795 properties['g_show_grid'] = '1';
8796 properties['g_show_grid_subdivisions'] = '1';
8797 // Axis
8798 properties['g_axis_colour'] = '#000000';
8799 properties['g_axis_font_size'] = '12';
8800 properties['g_show_axis_v'] = '1';
8801 properties['g_show_axis_text_v'] = '1';
8802 properties['g_show_axis_h'] = '1';
8803 properties['g_show_axis_text_h'] = '1';
8804 properties['g_show_subdivisions'] = '1';
8805 properties['g_axis_overlap'] = '5';
8806 properties['g_axis_stroke_width_v'] = '1';
8807 properties['g_axis_stroke_width_h'] = '1';
8808 // Bar Label
8809 properties['g_bar_label_colour'] = '#000000';
8810 properties['g_bar_label_font_size'] = '10';
8811 properties['g_bar_label_space'] = '3';
8812 properties['g_show_bar_labels'] = '1';
8813 properties['g_project_angle'] = '45';
8814 properties['g_depth'] = '20';
8815 properties['g_aspect_ratio'] = '1';
8816 properties['margin_top'] = '10';
8817 properties['margin_left'] = '10';
8818 properties['margin_right'] = '10';
8819 properties['margin_bottom'] = '10';
8820 properties['g_multiline'] = '2';
8821 // Bar
8822 properties['g_bar_width'] = '0';
8823 properties['g_bar_width_min'] = '1';
8824 properties['g_bar_space'] = '10';
8825 } else {
8826 // backward compatibility
8827 if (!properties.hasOwnProperty('g_depth')) {
8828 properties['g_depth'] = '40';
8829 }
8830 if (!properties.hasOwnProperty('g_aspect_ratio')) {
8831 properties['g_aspect_ratio'] = '1';
8832 }
8833 if (!properties.hasOwnProperty('g_legend_entry_height')) {
8834 properties['g_legend_entry_height'] = '20';
8835 }
8836 if (!properties.hasOwnProperty('g_bar_width')) {
8837 properties['g_bar_width'] = '0';
8838 }
8839 if (!properties.hasOwnProperty('g_bar_width_min')) {
8840 properties['g_bar_width_min'] = '1';
8841 }
8842 if (!properties.hasOwnProperty('g_bar_space')) {
8843 properties['g_bar_space'] = '10';
8844 }
8845 }
8846 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
8847 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
8848 jQuery('<i>', {'class': 'e2pdf-drag'})
8849 );
8850 break;
8851 default:
8852 break;
8853 }
8854
8855 if (typeof element !== 'undefined') {
8856 if (!element_id) {
8857 var last_id = 0;
8858 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
8859 var num_id = parseInt(jQuery(this).attr("data-element_id"));
8860 if (num_id > last_id) {
8861 last_id = num_id;
8862 }
8863 });
8864 element_id = parseInt(last_id + 1);
8865 }
8866 element.addClass('e2pdf-element');
8867 element.attr('data-element_id', element_id);
8868 element.data('data-type', type);
8869 if (properties.hasOwnProperty('width')) {
8870 element.css({'width': properties['width']});
8871 }
8872 if (properties.hasOwnProperty('height')) {
8873 element.css({'height': properties['height']});
8874 }
8875 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
8876 element.css({'top': properties['top'], 'left': properties['left']});
8877 }
8878 element.css({"position": "absolute"});
8879 e2pdf.properties.apply(element, properties, onload);
8880 e2pdf.actions.apply(element, actions);
8881 e2pdf.element.initEvents(element, page);
8882 if (!onload) {
8883 e2pdf.event.fire('after.element.create');
8884 }
8885 return element;
8886 } else {
8887 return false;
8888 }
8889 },
8890 // e2pdf.element.children
8891 children: function (el) {
8892 var children = el.find('.' + el.data('data-type'));
8893 return children;
8894 },
8895 // e2pdf.element.select
8896 select: function (el) {
8897 var selected = false;
8898 for (var key in e2pdf.element.selected) {
8899 if (e2pdf.element.selected[key].is(el)) {
8900 selected = true;
8901 }
8902 }
8903 if (!selected) {
8904 el.addClass('e2pdf-selected');
8905 e2pdf.element.selected.push(el);
8906 }
8907 },
8908 // e2pdf.element.unselect
8909 unselect: function (el) {
8910 if (!el) {
8911 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
8912 e2pdf.element.selected = [];
8913 } else {
8914 for (var key in e2pdf.element.selected) {
8915 if (e2pdf.element.selected[key].is(el)) {
8916 el.removeClass('e2pdf-selected');
8917 delete e2pdf.element.selected[key];
8918 }
8919 }
8920 }
8921 },
8922 // e2pdf.element.unfocus
8923 unfocus: function (el) {
8924 e2pdf.wysiwyg.helper.dropSelection();
8925 if (!el) {
8926 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
8927 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
8928 jQuery(this).blur();
8929 });
8930 } else {
8931 el.find('.e2pdf-inner-element').blur();
8932 el.removeClass('e2pdf-focused');
8933 }
8934 },
8935 // e2pdf.element.focus
8936 focus: function (el) {
8937 el.one('beforeinput', function (e) {
8938 var history = [];
8939 history.push(el.clone(true));
8940 e2pdf.history.set('element_change', history);
8941 });
8942 var el_inner = el.find('.e2pdf-inner-element');
8943 el_inner.focus();
8944 el.addClass('e2pdf-focused');
8945 },
8946 // e2pdf.element.hide
8947 hide: function (el) {
8948 el.addClass('e2pdf-hide');
8949 },
8950 // e2pdf.element.show
8951 show: function (el) {
8952 el.removeClass('e2pdf-hide');
8953 },
8954 // e2pdf.element.delete
8955 delete: function (el) {
8956 el.remove();
8957 e2pdf.event.fire('after.element.delete');
8958 }
8959 },
8960 // e2pdf.storage
8961 storage: {
8962 get: function (key) {
8963 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
8964 },
8965 set: function (key, data) {
8966 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
8967 },
8968 delete: function (key) {
8969 localStorage.removeItem('e2pdf_' + key);
8970 }
8971 },
8972 // e2pdf.history
8973 history: {
8974 // e2pdf.history.set
8975 set: function (action, elements, data) {
8976 if (elements && elements.length > 0) {
8977 var history = {
8978 'action': action,
8979 'elements': elements,
8980 'data': data,
8981 };
8982 e2pdf.history.undoStack.push(history);
8983 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
8984 e2pdf.history.undoStack.shift();
8985 }
8986 if (e2pdf.history.undoStack.length > 0) {
8987 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
8988 }
8989 }
8990 },
8991 // e2pdf.history.undo
8992 undo: function () {
8993 var history = e2pdf.history.undoStack.pop();
8994 if (history) {
8995 e2pdf.element.unselect();
8996 if (history.action == 'element_change') {
8997 for (var key in history.elements) {
8998 var buffered = history.elements[key];
8999 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9000 e2pdf.element.initEvents(buffered);
9001 e2pdf.element.select(buffered);
9002 }
9003 } else if (history.action == 'element_create') {
9004 for (var key in history.elements) {
9005 var buffered = history.elements[key];
9006 if (buffered.hasClass('e2pdf-page')) {
9007 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9008 if (jQuery('.e2pdf-page').length == 0) {
9009 e2pdf.history.undo();
9010 }
9011 } else {
9012 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9013 }
9014 }
9015 } else if (history.action == 'element_delete') {
9016 for (var key in history.elements) {
9017 var buffered = history.elements[key];
9018 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9019 page.append(buffered);
9020 e2pdf.element.initEvents(buffered, page);
9021 e2pdf.element.select(buffered);
9022 }
9023 } else if (history.action == 'page_change') {
9024 for (var key in history.elements) {
9025 var buffered = history.elements[key];
9026 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9027 page.data('data-type', 'e2pdf-page');
9028 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9029 if (buffered.css('background-image')) {
9030 page.css('background-image', buffered.css('background-image'));
9031 }
9032 buffered.find('.e2pdf-element').each(function () {
9033 page.append(jQuery(this));
9034 e2pdf.element.initEvents(jQuery(this), page);
9035 });
9036 e2pdf.pages.initEvents(page);
9037 e2pdf.pages.rebuildPages();
9038 }
9039 if (history.data) {
9040 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9041 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9042 }
9043 } else if (history.action == 'page_delete') {
9044 for (var key in history.elements) {
9045 var buffered = history.elements[key];
9046 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9047 page.data('data-type', 'e2pdf-page');
9048 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9049 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9050 if (buffered.attr('data-page_id') == '1') {
9051 jQuery('.e2pdf-tpl-inner').prepend(page);
9052 } else {
9053 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9054 }
9055 if (buffered.css('background-image')) {
9056 page.css('background-image', buffered.css('background-image'));
9057 }
9058 buffered.find('.e2pdf-element').each(function () {
9059 page.append(jQuery(this));
9060 e2pdf.element.initEvents(jQuery(this), page);
9061 });
9062 e2pdf.pages.initEvents(page);
9063 e2pdf.pages.rebuildPages();
9064 }
9065 if (history.data) {
9066 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9067 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9068 }
9069 } else if (history.action == 'wysiwyg') {
9070 for (var key in history.elements) {
9071 var buffered = history.elements[key];
9072 buffered.focus();
9073 document.execCommand('undo');
9074 }
9075 }
9076 if (e2pdf.history.undoStack.length == 0) {
9077 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9078 }
9079 }
9080 },
9081 // e2pdf.history.redo
9082 redo: function () {
9083
9084 },
9085 clear: function () {
9086 e2pdf.history.undoStack = [];
9087 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9088 },
9089 // e2pdf.history.undoStack
9090 undoStack: []
9091 },
9092 // e2pdf.copy
9093 copy: function (key, el) {
9094 e2pdf.element.init(el);
9095 switch (key) {
9096 case 'style':
9097 var data = {
9098 'type': el.data('data-type'),
9099 'fields': e2pdf.properties.getFields(el)
9100 };
9101 e2pdf.storage.set(key, data);
9102 break;
9103 case 'width':
9104 var data = {
9105 'width': e2pdf.properties.getValue(el, 'width', 'float')
9106 };
9107 e2pdf.storage.set(key, data);
9108 break;
9109 case 'height':
9110 var data = {
9111 'height': e2pdf.properties.getValue(el, 'height', 'float')
9112 };
9113 e2pdf.storage.set(key, data);
9114 break;
9115 case 'elements':
9116 var elements = e2pdf.storage.get('elements');
9117 if (elements == null) {
9118 elements = [];
9119 }
9120 var data = {
9121 'type': el.data('data-type'),
9122 'top': el.css('top'),
9123 'left': el.css('left'),
9124 'width': el.css('width'),
9125 'height': el.css('height'),
9126 'fields': e2pdf.properties.getFields(el),
9127 'properties': e2pdf.properties.get(el),
9128 'actions': e2pdf.actions.get(el)
9129 };
9130 elements.push(data);
9131 e2pdf.storage.set(key, elements);
9132 break;
9133 case 'actions':
9134 var data = {
9135 'actions': e2pdf.actions.get(el)
9136 };
9137 e2pdf.storage.set(key, data);
9138 break;
9139 }
9140 },
9141 // e2pdf.paste
9142 paste: function (key, el) {
9143 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9144 switch (key) {
9145 case 'style':
9146 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9147 e2pdf.element.init(el);
9148 var groups = e2pdf.storage.get('style').fields;
9149 for (var group_key in groups) {
9150 var group = groups[group_key];
9151 for (var field_key in group.fields) {
9152 var group_field = group.fields[field_key];
9153 if (group_field.type != 'link') {
9154 if (jQuery.inArray(group_field.key, [
9155 'page_id',
9156 'element_id',
9157 'element_type',
9158 'width',
9159 'height',
9160 'top',
9161 'left',
9162 'name',
9163 'field_name',
9164 'z_index',
9165 'group',
9166 'option',
9167 'options',
9168 'css',
9169 'parent',
9170 'value',
9171 'preg_pattern',
9172 'preg_replacement',
9173 'preg_match_all_pattern',
9174 'preg_match_all_output',
9175 'wysiwyg_disable',
9176 'multipage',
9177 'dynamic_height',
9178 'nl2br',
9179 'hide_if_empty',
9180 'hide_page_if_empty',
9181 'css_priority',
9182 'pdf_resample',
9183 'pdf_append',
9184 'html_worker',
9185 'esig',
9186 'dimension',
9187 'block_dimension',
9188 'keep_lower_size',
9189 'fill_image',
9190 'only_image',
9191 'hl',
9192 'placeholder',
9193 'pdf_page',
9194 'format',
9195 'g_type',
9196 'g_structure_key',
9197 'g_structure_value',
9198 'g_structure_colour',
9199 'g_structure_axis_text',
9200 'g_structure_legend_text',
9201 'g_structure_label',
9202 'g_structure_area',
9203 'g_structure_open',
9204 'g_structure_end',
9205 'g_structure_outliers',
9206 'g_structure_top',
9207 'g_structure_bottom',
9208 'g_structure_wtop',
9209 'g_structure_wbottom',
9210 'g_structure_high',
9211 'g_structure_low',
9212 'g_structured_data',
9213 'g_key_sep',
9214 'g_array_sep',
9215 'g_sub_array_sep',
9216 'g_graph_title',
9217 'g_label_v',
9218 'g_label_h',
9219 'g_legend_title'
9220 ]) === -1) {
9221 e2pdf.properties.set(el, group_field.key, group_field.value);
9222 }
9223 }
9224 }
9225 }
9226 e2pdf.properties.render(el);
9227 }
9228 break;
9229 case 'elements':
9230 case 'elements-in-place':
9231 e2pdf.element.unselect();
9232 var context = jQuery('.e2pdf-context');
9233 var page = context.closest('.e2pdf-page');
9234 var min_top = 99999999;
9235 var min_left = 99999999;
9236 var left_correction = 0;
9237 var top_correction = 0;
9238 if (key !== 'elements-in-place') {
9239 for (var element in e2pdf.storage.get('elements')) {
9240 var buffered = e2pdf.storage.get('elements')[element];
9241 var properties = buffered.properties;
9242 min_top = Math.min(parseFloat(properties['top']), min_top);
9243 min_left = Math.min(parseFloat(properties['left']), min_left);
9244 }
9245 for (var element in e2pdf.storage.get('elements')) {
9246 var buffered = e2pdf.storage.get('elements')[element];
9247 var properties = buffered.properties;
9248 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9249 if (context.hasClass('e2pdf-context-bottom')) {
9250 top += context.height();
9251 }
9252 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9253 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9254 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9255 left_correction = Math.max(correction, left_correction);
9256 }
9257 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9258 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9259 top_correction = Math.max(correction, top_correction);
9260 }
9261 }
9262 }
9263
9264 var history = [];
9265 for (var element in e2pdf.storage.get('elements')) {
9266 var buffered = e2pdf.storage.get('elements')[element];
9267 var properties = buffered.properties;
9268 var actions = buffered.actions;
9269 if (key !== 'elements-in-place') {
9270 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9271 if (context.hasClass('e2pdf-context-bottom')) {
9272 top += context.height();
9273 }
9274 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9275 properties['top'] = top;
9276 properties['left'] = left;
9277 }
9278 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9279 page.append(el);
9280 e2pdf.properties.render(el);
9281 e2pdf.element.select(el);
9282 history.push(el.clone(true));
9283 }
9284 e2pdf.history.set('element_create', history);
9285 e2pdf.event.fire('after.element.paste');
9286 break;
9287 case 'actions':
9288 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9289 break;
9290 case 'width':
9291 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9292 e2pdf.properties.render(el);
9293 break;
9294 case 'height':
9295 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9296 e2pdf.properties.render(el);
9297 break;
9298 }
9299 }
9300 },
9301 // e2pdf.wysiwyg
9302 wysiwyg: {
9303 // e2pdf.wysiwyg.apply
9304 apply: function (el) {
9305 var history = [];
9306 history.push(el);
9307 e2pdf.history.set('wysiwyg', history);
9308 var html = '';
9309 var command = el.attr('data-command');
9310 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9311 if (command === 'H1') {
9312 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9313 e2pdf.wysiwyg.clear('h1');
9314 } else {
9315 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9316 document.execCommand('insertHTML', false, html);
9317 }
9318 } else if (command === 'H2') {
9319 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9320 e2pdf.wysiwyg.clear('h2');
9321 } else {
9322 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9323 document.execCommand('insertHTML', false, html);
9324 }
9325 } else if (command === 'createlink') {
9326 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9327 document.execCommand(command, false, url);
9328 } else if (command === 'font-size') {
9329 var font_size = el.find('option:selected').html();
9330 if (node.is("span") && document.getSelection().toString() === node.text()) {
9331 html = node.css('font-size', font_size + "px").prop('outerHTML');
9332 } else {
9333 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9334 }
9335 document.execCommand('insertHTML', false, html);
9336 el.val('');
9337 } else if (command === 'line-height') {
9338 var font_size = el.find('option:selected').html();
9339 if (node.is("span") && document.getSelection().toString() === node.text()) {
9340 html = node.css('line-height', font_size + "px").prop('outerHTML');
9341 } else {
9342 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9343 }
9344 document.execCommand('insertHTML', false, html);
9345 el.val('');
9346 } else if (command === 'font') {
9347 e2pdf.font.load(el);
9348 var font = CSS.escape(el.find('option:selected').html());
9349 if (node.is("span") && document.getSelection().toString() === node.text()) {
9350 html = node.css('font-family', font).prop('outerHTML');
9351 } else {
9352 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9353 }
9354 document.execCommand('insertHTML', false, html);
9355 el.val('');
9356 } else if (command === 'color') {
9357 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9358 var color = el.val();
9359 document.execCommand('foreColor', false, color);
9360 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9361 } else if (command === 'clear') {
9362 document.execCommand("removeformat", false, "");
9363 e2pdf.wysiwyg.clear();
9364 } else if (command) {
9365 document.execCommand(command, false, null);
9366 }
9367 e2pdf.event.fire('after.wysiwyg.apply');
9368 },
9369 // e2pdf.wysiwyg.clear
9370 clear: function (tags) {
9371 if (!tags) {
9372 var tags = "h1,h2";
9373 }
9374 var array = tags.toLowerCase().split(",");
9375 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9376 if (node.nodeType === 1 &&
9377 array.indexOf(node.tagName.toLowerCase()) > -1) {
9378 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9379 }
9380 });
9381 },
9382 // e2pdf.wysiwyg.helper
9383 helper: {
9384 // e2pdf.wysiwyg.helper.getSelectedNodes
9385 getSelectedNodes: function () {
9386 var nodes = [];
9387 if (window.getSelection) {
9388 var sel = window.getSelection();
9389 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9390 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9391 }
9392 }
9393 return nodes;
9394 },
9395 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9396 replaceWithOwnChildren: function (el) {
9397 var parent = el.parentNode;
9398 while (el.hasChildNodes()) {
9399 parent.insertBefore(el.firstChild, el);
9400 }
9401 parent.removeChild(el);
9402 },
9403 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9404 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9405 var node = range.startContainer;
9406 var endNode = range.endContainer;
9407 var rangeNodes = [];
9408 if (node === endNode) {
9409 rangeNodes = [node];
9410 } else {
9411 while (node && node !== endNode) {
9412 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9413 }
9414 node = range.startContainer;
9415 while (node && node !== range.commonAncestorContainer) {
9416 rangeNodes.unshift(node);
9417 node = node.parentNode;
9418 }
9419 }
9420
9421 if (includePartiallySelectedContainers) {
9422 node = range.commonAncestorContainer;
9423 while (node) {
9424 rangeNodes.push(node);
9425 node = node.parentNode;
9426 }
9427 }
9428
9429 return rangeNodes;
9430 },
9431 // e2pdf.wysiwyg.helper.getSelectedNode
9432 getSelectedNode: function () {
9433 var node, selection;
9434 if (window.getSelection) {
9435 selection = getSelection();
9436 node = selection.anchorNode;
9437 }
9438 if (!node && document.selection) {
9439 selection = document.selection;
9440 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9441 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9442 range.parentElement ? range.parentElement() : range.item(0);
9443 }
9444 if (node) {
9445 return (node.nodeName === "#text" ? node.parentNode : node);
9446 }
9447 },
9448 // e2pdf.wysiwyg.helper.nextNode
9449 nextNode: function (node) {
9450 if (node.hasChildNodes()) {
9451 return node.firstChild;
9452 } else {
9453 while (node && !node.nextSibling) {
9454 node = node.parentNode;
9455 }
9456 if (!node) {
9457 return null;
9458 }
9459 return node.nextSibling;
9460 }
9461 },
9462 // e2pdf.wysiwyg.helper.getSelectionHtml
9463 getSelectionHtml: function () {
9464 var html = "";
9465 if (typeof window.getSelection != 'undefined') {
9466 var sel = window.getSelection();
9467 if (sel.rangeCount) {
9468 var container = document.createElement("div");
9469 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9470 container.appendChild(sel.getRangeAt(i).cloneContents());
9471 }
9472 html = container.innerHTML;
9473 }
9474 } else if (typeof document.selection != 'undefined') {
9475 if (document.selection.type === "Text") {
9476 html = document.selection.createRange().htmlText;
9477 }
9478 }
9479 return html;
9480 },
9481 // e2pdf.wysiwyg.helper.saveSelection
9482 saveSelection: function () {
9483 if (window.getSelection) {
9484 sel = window.getSelection();
9485 if (sel.getRangeAt && sel.rangeCount) {
9486 return sel.getRangeAt(0);
9487 }
9488 } else if (document.selection && document.selection.createRange) {
9489 return document.selection.createRange();
9490 }
9491 return null;
9492 },
9493 // e2pdf.wysiwyg.helper.restoreSelection
9494 restoreSelection: function (range) {
9495 if (range) {
9496 if (window.getSelection) {
9497 sel = window.getSelection();
9498 sel.removeAllRanges();
9499 sel.addRange(range);
9500 } else if (document.selection && range.select) {
9501 range.select();
9502 }
9503 }
9504 },
9505 // e2pdf.wysiwyg.helper.dropSelection
9506 dropSelection: function () {
9507 if (window.getSelection) {
9508 sel = window.getSelection();
9509 sel.removeAllRanges();
9510 }
9511 }
9512 }
9513 },
9514 // e2pdf.visual
9515 visual: {
9516 // e2pdf.visual.mapper
9517 mapper: {
9518 cursorPosStart: null,
9519 cursorPosEnd: null,
9520 cursorRange: null,
9521 selected: null,
9522 // e2pdf.visual.mapper.init
9523 init: function (el) {
9524 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9525 if (el.find('.e2pdf-inner-element').is('div')) {
9526 if (window.getSelection) {
9527 sel = window.getSelection();
9528 if (sel.getRangeAt && sel.rangeCount) {
9529 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9530 }
9531 } else if (document.selection && document.selection.createRange) {
9532 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9533 }
9534 e2pdf.visual.mapper.cursorPosStart = null;
9535 e2pdf.visual.mapper.cursorPosEnd = null;
9536 } else {
9537 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9538 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9539 e2pdf.visual.mapper.cursorRange = null;
9540 }
9541 } else {
9542 e2pdf.visual.mapper.cursorPosStart = null;
9543 e2pdf.visual.mapper.cursorPosEnd = null;
9544 e2pdf.visual.mapper.cursorRange = null;
9545 }
9546
9547 e2pdf.visual.mapper.selected = el;
9548 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9549 e2pdf.dialog.create(modal);
9550 },
9551 // e2pdf.visual.mapper.markup
9552 markup: function () {
9553 e2pdf.dialog.rebuild();
9554 },
9555 // e2pdf.visual.mapper.rebuild
9556 rebuild: function () {
9557 if (jQuery('.e2pdf-vm-content').length > 0) {
9558 var vc_content = jQuery('.e2pdf-vm-content');
9559 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9560 jQuery('.e2pdf-vm-wrapper').remove();
9561 }
9562 vc_content.find('input[type="hidden"]').each(function () {
9563 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9564 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9565 jQuery(this).attr('value', jQuery(this).attr('name'));
9566 }
9567 });
9568 if (e2pdf.static.vm.hidden) {
9569 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9570 jQuery(this).attr('type', 'text');
9571 });
9572 } else {
9573 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9574 jQuery(this).attr('type', 'hidden');
9575 });
9576 }
9577
9578 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9579 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 () {
9580 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9581 });
9582 vc_content.append(vc_wrapper);
9583 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9584 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9585 }
9586 }
9587 },
9588 // e2pdf.visual.mapper.clear
9589 clear: function () {
9590 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9591 jQuery('.e2pdf-vm-wrapper').remove();
9592 }
9593 },
9594 // e2pdf.visual.mapper.load
9595 load: function (el) {
9596 var loaded = false;
9597 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9598 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9599 var width = el.css('width');
9600 var height = el.css('height');
9601 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9602 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9603 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9604 'width': width, 'height': height, 'top': top, 'left': left
9605 });
9606 var name = el.attr('name');
9607 var type = el.attr('type');
9608 var value = el.attr('value');
9609 if (el.is('select')) {
9610 type = 'select';
9611 value = '';
9612 el.find('option').each(function () {
9613 value += jQuery(this).attr('value');
9614 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9615 value += "\n";
9616 }
9617 });
9618 }
9619
9620 loaded.data('name', name);
9621 loaded.data('type', type);
9622 loaded.data('value', value);
9623 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9624 }
9625 return loaded;
9626 },
9627 // e2pdf.visual.mapper.apply
9628 apply: function (el) {
9629 if (e2pdf.visual.mapper.selected) {
9630 var history = [];
9631 history.push(e2pdf.visual.mapper.selected.clone(true));
9632 e2pdf.history.set('element_change', history);
9633 var name = el.data('name');
9634 var group = el.data('name');
9635 var value = el.data('value');
9636 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9637 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9638 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9639 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9640 var final = textBefore + name + textAfter;
9641 if (!e2pdf.static.vm.replace) {
9642 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9643 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9644 } else {
9645 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9646 }
9647 name = final;
9648 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9649 e2pdf.visual.mapper.cursorRange.deleteContents();
9650 var node = document.createTextNode(name);
9651 e2pdf.visual.mapper.cursorRange.insertNode(node);
9652 } else {
9653 if (!e2pdf.static.vm.replace) {
9654 e2pdf.element.init(e2pdf.visual.mapper.selected);
9655 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9656 }
9657 }
9658 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9659 case 'e2pdf-checkbox':
9660 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9661 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9662 break;
9663 case 'e2pdf-radio':
9664 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9665 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9666 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9667 break;
9668 case 'e2pdf-select':
9669 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9670 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9671 break;
9672 case 'e2pdf-image':
9673 case 'e2pdf-qrcode':
9674 case 'e2pdf-barcode':
9675 case 'e2pdf-graph':
9676 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9677 break;
9678 default:
9679 if (e2pdf.visual.mapper.cursorRange === null) {
9680 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9681 }
9682 break;
9683 }
9684 if (e2pdf.visual.mapper.cursorRange === null) {
9685 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9686 }
9687 }
9688 if (e2pdf.static.vm.close) {
9689 e2pdf.dialog.close();
9690 }
9691 }
9692 }
9693 },
9694 zoom: {
9695 zoom: 1,
9696 click: {
9697 x: 0,
9698 y: 0
9699 },
9700 apply: function (el) {
9701 jQuery('.e2pdf-tpl').removeClass(function (index, className) {
9702 return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
9703 });
9704 if (el.val() !== '100') {
9705 jQuery('.e2pdf-tpl').addClass("e2pdf-z" + el.val());
9706 }
9707
9708 e2pdf.zoom.zoom = el.val() / 100;
9709 jQuery('.e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('.e2pdf-tpl').width()) / 2);
9710 }
9711 }
9712 };
9713 jQuery(window).resize(function () {
9714 e2pdf.visual.mapper.clear();
9715 if (e2pdf.static.observer !== null) {
9716 e2pdf.static.observer.disconnect();
9717 e2pdf.static.observer = null;
9718 }
9719 if (this.e2pdfResizeTO) {
9720 clearTimeout(this.e2pdfResizeTO);
9721 }
9722 this.e2pdfResizeTO = setTimeout(function () {
9723 jQuery(this).trigger('e2pdfResizeEnd');
9724 }, 500);
9725 });
9726 jQuery(document).on('click', '.notice-dismiss', function (e) {
9727 jQuery(this).parent().addClass('e2pdf-hide');
9728 jQuery(this).trigger('e2pdfResizeEnd');
9729 });
9730 jQuery(window).bind('e2pdfResizeEnd', function () {
9731 e2pdf.dialog.rebuild();
9732 });
9733 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9734 var collapse = jQuery(this).attr('data-collapse');
9735 if (collapse) {
9736 if (jQuery(this).is(':checked')) {
9737 jQuery('.' + collapse).removeClass('e2pdf-hide');
9738 } else {
9739 jQuery('.' + collapse).addClass('e2pdf-hide');
9740 }
9741 }
9742 });
9743 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9744
9745 const form = jQuery(this).closest('form');
9746 const value = jQuery(this).val();
9747 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9748 if (value == '1') {
9749 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9750 } else if (value == '2') {
9751 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9752 }
9753
9754 form.off('submit.confirmOverwrite');
9755 if (value == '1' || value == '2' || value == '3') {
9756 form.on('submit.confirmOverwrite', function (e) {
9757 let message = '';
9758 if (value == '3') {
9759 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9760 } else {
9761 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9762 if (!template_id) {
9763 return true;
9764 }
9765 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9766 }
9767 if (!confirm(message)) {
9768 e.preventDefault();
9769 return false;
9770 }
9771 });
9772 }
9773 });
9774 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9775 if (jQuery(this).val() == 'attachment') {
9776 jQuery(this).closest('form').removeAttr('target');
9777 } else {
9778 jQuery(this).closest('form').attr('target', '_blank');
9779 }
9780 });
9781 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9782 var collapse = jQuery(this).attr('data-collapse');
9783 if (collapse) {
9784 if (jQuery(this).hasClass('e2pdf-collapsed')) {
9785 jQuery('.' + collapse).addClass('e2pdf-hide');
9786 jQuery(this).removeClass('e2pdf-collapsed');
9787 } else {
9788 jQuery('.' + collapse).removeClass('e2pdf-hide');
9789 jQuery(this).addClass('e2pdf-collapsed');
9790 }
9791 }
9792 });
9793 jQuery(document).ready(function () {
9794 jQuery('body').removeClass('e2pdf-loading');
9795 if (jQuery('.e2pdf-select2').length > 0) {
9796 jQuery('.e2pdf-select2').attr('disabled', false);
9797 }
9798 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
9799 e.stopPropagation();
9800 e.preventDefault();
9801 e.stopImmediatePropagation();
9802 return false;
9803 });
9804 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
9805 var parent = jQuery(this).closest('.e2pdf-grid');
9806 var argument = parent.find('.e2pdf-argument').first().clone();
9807 var index = parent.find('.e2pdf-argument').length + 1;
9808 argument.find('input').val('').attr('placeholder', 'arg' + index);
9809 argument.appendTo(parent.find('.e2pdf-arguments'));
9810 });
9811 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
9812 var parent = jQuery(this).closest('.e2pdf-grid');
9813 if (parent.find('.e2pdf-argument').length > 1) {
9814 parent.find('.e2pdf-argument').last().remove();
9815 }
9816 });
9817 jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
9818 var parent = jQuery('.e2pdf-search-replaces').first();
9819 var search_replace = parent.find('.e2pdf-search-replace').first().clone();
9820 search_replace.find('textarea').val('');
9821 search_replace.appendTo(parent);
9822 });
9823 jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
9824 var parent = jQuery(this).closest('.e2pdf-search-replace');
9825 if (parent) {
9826 parent.remove();
9827 }
9828 });
9829 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
9830 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
9831 var form = jQuery(this).closest('form');
9832 if (form.attr('id') === 'e2pdf-tpl-actions') {
9833 var element = jQuery('.e2pdf-tpl');
9834 } else if (form.attr('id') === 'e2pdf-page-options') {
9835 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
9836 } else {
9837 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9838 }
9839 e2pdf.actions.add(element, actions);
9840 });
9841 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
9842 var action_conditions = jQuery(this).closest('.e2pdf-action');
9843 var form = jQuery(this).closest('form');
9844 if (form.attr('id') === 'e2pdf-tpl-actions') {
9845 var element = jQuery('.e2pdf-tpl');
9846 } else if (form.attr('id') === 'e2pdf-page-options') {
9847 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
9848 } else {
9849 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9850 }
9851
9852 e2pdf.actions.conditions.add(element, action_conditions);
9853 });
9854 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
9855 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
9856 return false;
9857 }
9858 var action = jQuery(this).closest('.e2pdf-action');
9859 e2pdf.actions.delete(action);
9860 });
9861 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
9862 var action = jQuery(this).closest('.e2pdf-action');
9863 e2pdf.actions.duplicate(action);
9864 });
9865 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
9866 var action = jQuery(this).closest('.e2pdf-action');
9867 if (action.find('.e2pdf-condition').length === 1) {
9868 alert(e2pdf.lang.get('Last condition can\'t be removed'));
9869 return false;
9870 }
9871 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
9872 return false;
9873 }
9874 var condition = jQuery(this).closest('.e2pdf-condition');
9875 e2pdf.actions.conditions.delete(condition);
9876 });
9877 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
9878 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
9879 });
9880 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
9881 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
9882 return false;
9883 }
9884 var history = [];
9885 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
9886 var el = jQuery(this);
9887 history.push(el.clone(true));
9888 el.css('background', '');
9889 });
9890 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
9891 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
9892 });
9893 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
9894 e2pdf.zoom.apply(jQuery(this));
9895 });
9896 jQuery(document).on('change', '.e2pdf-extension', function (e) {
9897 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
9898 });
9899 jQuery(document).on('change', '.e2pdf-item', function (e) {
9900 if (jQuery(this).val() == '-1') {
9901 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
9902 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
9903 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
9904 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9905 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9906 } else if (jQuery(this).val() == '-2') {
9907 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9908 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
9909 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
9910 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
9911 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
9912 } else {
9913 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9914 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
9915 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9916 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9917 }
9918 });
9919 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
9920 var action = jQuery(this).closest('.e2pdf-action');
9921 e2pdf.actions.change(action, jQuery(this));
9922 });
9923 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
9924 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
9925 var tab = jQuery(this);
9926 tab.closest('ul').find('li').removeClass('active');
9927 tab.parent('li').addClass('active');
9928 jQuery(document.getElementById(tab.attr('data-tab'))).show();
9929 });
9930 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
9931 var parent = jQuery(this).closest('.e2pdf-closed');
9932 if (parent.hasClass('e2pdf-opened')) {
9933 parent.removeClass('e2pdf-opened');
9934 } else {
9935 jQuery('.e2pdf-closed').each(function () {
9936 jQuery(this).removeClass('e2pdf-opened');
9937 });
9938 parent.addClass('e2pdf-opened');
9939 }
9940 });
9941 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
9942 e.preventDefault();
9943 var el = jQuery(this);
9944 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
9945 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
9946 return false;
9947 }
9948 }
9949 if (el.attr('form-id') == 'license_key') {
9950 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?'))) {
9951 return false;
9952 }
9953 }
9954 e2pdf.request.submitForm(el);
9955 });
9956 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
9957 var el = jQuery(this);
9958 if (el.hasClass('e2pdf-noclose')) {
9959 e2pdf.request.submitLocal(el, true);
9960 } else {
9961 e2pdf.request.submitLocal(el);
9962 }
9963 });
9964 jQuery(document).on('click', '.e2pdf-delete', function (e) {
9965 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?');
9966 if (!confirm(message)) {
9967 e2pdf.delete('.e2pdf-context');
9968 return false;
9969 }
9970 var history = [];
9971 for (var key in e2pdf.element.selected) {
9972 var selected = e2pdf.element.selected[key];
9973 e2pdf.element.init(selected);
9974 history.push(selected.clone(true));
9975 e2pdf.element.delete(selected);
9976 }
9977 e2pdf.history.set('element_delete', history);
9978 e2pdf.element.unselect();
9979 });
9980 jQuery(document).on('click', '.e2pdf-copy', function (e) {
9981 var type = jQuery(this).attr('type');
9982 if (type == 'elements') {
9983 e2pdf.storage.delete('elements');
9984 }
9985 for (var key in e2pdf.element.selected) {
9986 var selected = e2pdf.element.selected[key];
9987 e2pdf.copy(type, selected);
9988 }
9989 });
9990 jQuery(document).on('click', '.e2pdf-paste', function (e) {
9991 var type = jQuery(this).attr('type');
9992 if (type == 'elements' || type == 'elements-in-place') {
9993 e2pdf.paste(type);
9994 } else {
9995 var history = [];
9996 for (var key in e2pdf.element.selected) {
9997 var selected = e2pdf.element.selected[key];
9998 history.push(selected.clone(true));
9999 e2pdf.paste(type, selected);
10000 }
10001 e2pdf.history.set('element_change', history);
10002 }
10003 });
10004 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10005 var history = [];
10006 for (var key in e2pdf.element.selected) {
10007 var selected = e2pdf.element.selected[key];
10008 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10009 history.push(selected.clone(true));
10010 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10011 }
10012 }
10013 e2pdf.history.set('element_change', history);
10014 });
10015 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10016 var history = [];
10017 for (var key in e2pdf.element.selected) {
10018 var selected = e2pdf.element.selected[key];
10019 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10020 history.push(selected.clone(true));
10021 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10022 e2pdf.properties.render(selected);
10023 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10024 history.push(selected.clone(true));
10025 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10026 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10027 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10028 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10029 e2pdf.properties.render(selected);
10030 }
10031 }
10032 e2pdf.history.set('element_change', history);
10033 });
10034 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10035 e2pdf.storage.delete('elements');
10036 var history = [];
10037 for (var key in e2pdf.element.selected) {
10038 var selected = e2pdf.element.selected[key];
10039 e2pdf.element.init(selected);
10040 history.push(selected.clone(true));
10041 e2pdf.copy('elements', selected);
10042 e2pdf.element.delete(selected);
10043 }
10044 e2pdf.history.set('element_delete', history);
10045 });
10046 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10047 e.preventDefault();
10048 e.stopPropagation();
10049 e.stopImmediatePropagation();
10050 });
10051 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10052 jQuery(this).find('ul').show();
10053 });
10054 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10055 jQuery(this).find('ul').hide();
10056 });
10057 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10058 for (var key in e2pdf.element.selected) {
10059 var selected = e2pdf.element.selected[key];
10060 selected.addClass('e2pdf-focused');
10061 }
10062 });
10063 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10064 for (var key in e2pdf.element.selected) {
10065 var selected = e2pdf.element.selected[key];
10066 e2pdf.element.hide(selected);
10067 }
10068 });
10069 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10070 for (var key in e2pdf.element.selected) {
10071 var selected = e2pdf.element.selected[key];
10072 e2pdf.element.show(selected);
10073 }
10074 });
10075 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10076 for (var key in e2pdf.element.selected) {
10077 var selected = e2pdf.element.selected[key];
10078 e2pdf.properties.set(selected, 'locked', '1');
10079 selected.addClass('e2pdf-locked');
10080 }
10081 });
10082 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10083 for (var key in e2pdf.element.selected) {
10084 var selected = e2pdf.element.selected[key];
10085 e2pdf.properties.set(selected, 'locked', '0');
10086 selected.removeClass('e2pdf-locked');
10087 }
10088 });
10089 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10090 return false;
10091 });
10092 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10093 return false;
10094 });
10095 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10096 if (jQuery(this).hasClass('e2pdf-inactive')) {
10097 jQuery('html').addClass('e2pdf-show-all-elements');
10098 jQuery(this).removeClass('e2pdf-inactive');
10099 } else {
10100 jQuery('html').removeClass('e2pdf-show-all-elements');
10101 jQuery(this).addClass('e2pdf-inactive');
10102 }
10103 });
10104 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10105 if (jQuery(this).hasClass('e2pdf-inactive')) {
10106 jQuery('html').addClass('e2pdf-unlock-all-elements');
10107 jQuery(this).removeClass('e2pdf-inactive');
10108 } else {
10109 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10110 jQuery(this).addClass('e2pdf-inactive');
10111 }
10112 });
10113 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10114 if (jQuery(this).hasClass('e2pdf-inactive')) {
10115 jQuery(this).removeClass('e2pdf-inactive');
10116 } else {
10117 jQuery(this).addClass('e2pdf-inactive');
10118 }
10119 jQuery('.e2pdf-html').each(function () {
10120 var el = jQuery(this).parent();
10121 var children = jQuery(this);
10122 if (children.is('textarea')) {
10123 e2pdf.properties.set(el, 'value', children.val());
10124 } else {
10125 e2pdf.properties.set(el, 'value', children.html());
10126 }
10127 e2pdf.properties.render(el);
10128 });
10129 });
10130 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10131 if (e2pdf.pdf.settings.get('pdf')) {
10132 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10133 } else if (e2pdf_params['license_type'] == 'FREE') {
10134 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10135 } else {
10136 e2pdf.pages.createPage();
10137 }
10138 });
10139 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10140 e2pdf.history.undo();
10141 });
10142 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10143 e2pdf.history.redo();
10144 });
10145 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10146 if (e2pdf.url.get('revision_id')) {
10147 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10148 return false;
10149 }
10150 e2pdf.createPdf(jQuery(this));
10151 });
10152 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10153 e2pdf.pages.movePage(jQuery(this), 'up');
10154 });
10155 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10156 e2pdf.pages.movePage(jQuery(this), 'down');
10157 });
10158 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10159 if (e2pdf.pdf.settings.get('pdf')) {
10160 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10161 return false;
10162 }
10163 var history = [];
10164 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10165 var el = jQuery(this);
10166 history.push(el.closest('.e2pdf-page').clone(true));
10167 e2pdf.pages.deletePage(el);
10168 });
10169 history.reverse();
10170 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10171 } else {
10172 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10173 return false;
10174 }
10175 var el = jQuery(jQuery(this));
10176 var history = [];
10177 history.push(el.closest('.e2pdf-page').clone(true));
10178 e2pdf.history.set('page_delete', history);
10179 e2pdf.pages.deletePage(el);
10180 }
10181 });
10182 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10183 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10184 return false;
10185 }
10186 var history = [];
10187 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10188 var el = jQuery(this);
10189 history.push(el.closest('.e2pdf-page').clone(true));
10190 e2pdf.pages.deletePage(el);
10191 });
10192 history.reverse();
10193 if (e2pdf.pdf.settings.get('pdf')) {
10194 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10195 } else {
10196 e2pdf.history.set('page_delete', history);
10197 }
10198 });
10199 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10200 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10201 return false;
10202 }
10203 var el = jQuery(jQuery(this));
10204 e2pdf.font.delete(el);
10205 });
10206 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10207 e2pdf.dialog.create(jQuery(this));
10208 });
10209 jQuery(document).on('click', 'body', function (e) {
10210 e2pdf.delete('.e2pdf-context');
10211 });
10212 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10213 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10214 });
10215 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10216 if (jQuery(this).is('select')) {
10217 var data = {};
10218 data['id'] = jQuery('.e2pdf-export-template').val();
10219 data['datasets'] = {};
10220 jQuery('.e2pdf-export-dataset').each(function () {
10221 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10222 });
10223 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10224 }
10225 });
10226 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10227 var data = {};
10228 data['id'] = jQuery('.e2pdf-export-template').val();
10229 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10230 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10231 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10232 });
10233 jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10234 if (jQuery(this).is(':checked')) {
10235 if (jQuery(this).val() == '') {
10236 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10237 }
10238 } else {
10239 if (jQuery(this).val() == '') {
10240 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10241 } else {
10242 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10243 }
10244 }
10245
10246 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10247 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10248 }
10249
10250 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10251 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10252 } else {
10253 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10254 }
10255 });
10256 jQuery(document).on('change', '#e2pdf-font', function (e) {
10257 e2pdf.font.load(jQuery(this));
10258 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10259 });
10260 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10261 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10262 });
10263 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10264 var text_align = jQuery(this).val();
10265 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10266 if (
10267 jQuery(this).data('data-type') == 'e2pdf-input'
10268 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10269 || jQuery(this).data('data-type') == 'e2pdf-html'
10270 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10271 || jQuery(this).data('data-type') == 'e2pdf-link'
10272 ) {
10273 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10274 var children = e2pdf.element.children(jQuery(this));
10275 children.css('text-align', text_align);
10276 }
10277 }
10278 });
10279 });
10280 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10281 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10282 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10283 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10284 (e.shiftKey === true && e.keyCode === 187) ||
10285 (e.keyCode >= 35 && e.keyCode <= 40)
10286 ) {
10287
10288 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10289 e.preventDefault();
10290 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10291 e.preventDefault();
10292 } else {
10293 return;
10294 }
10295 }
10296 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10297 e.preventDefault();
10298 }
10299 });
10300 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10301 if (e.which == 13) {
10302 e.preventDefault();
10303 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10304 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10305 } else {
10306 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10307 }
10308 }
10309 });
10310 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10311 var value = jQuery(this).val().trim();
10312 var prefix = '';
10313 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10314 prefix = '+';
10315 }
10316 value = parseFloat(value);
10317 if (isNaN(value)) {
10318 value = 0;
10319 }
10320 jQuery(this).val(prefix + value);
10321 });
10322 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10323 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10324 });
10325 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10326 if (jQuery(this).is(':checked')) {
10327 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10328 } else {
10329 jQuery('.e2pdf-tpl').attr('dir', false);
10330 }
10331 });
10332 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10333 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10334 });
10335 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10336 e.preventDefault();
10337 for (var key in e2pdf.element.selected) {
10338 var selected = e2pdf.element.selected[key];
10339 e2pdf.mediaUploader.init(selected);
10340 }
10341 });
10342 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10343 for (var key in e2pdf.element.selected) {
10344 var selected = e2pdf.element.selected[key];
10345 e2pdf.visual.mapper.init(selected);
10346 }
10347 });
10348 document.addEventListener('selectionchange', function () {
10349 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10350 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10351 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10352 const selection = window.getSelection();
10353 if (selection && selection.toString().length == 0) {
10354 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10355 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10356 }
10357 } else {
10358 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10359 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10360 }
10361 });
10362 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10363 e.preventDefault();
10364 if (jQuery(this).hasClass('e2pdf-inactive')) {
10365 return;
10366 }
10367 e2pdf.wysiwyg.apply(jQuery(this));
10368 });
10369 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10370 e.preventDefault();
10371 e.stopPropagation();
10372 e.stopImmediatePropagation();
10373 if (jQuery(this).hasClass('e2pdf-inactive')) {
10374 return;
10375 }
10376 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10377 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10378 if (!color_panel.hasClass('wp-picker-active')) {
10379 color_panel.find('.wp-color-result').click();
10380 if (color_panel.find('.wp-color-close').length === 0) {
10381 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10382 var width = parseFloat(jQuery(this).css('width'));
10383 var height = parseFloat(jQuery(this).css('height'));
10384 close.css({'width': width, "height": height, "margin-top": -height});
10385 color_panel.append(close);
10386 }
10387 }
10388 });
10389 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10390 e.preventDefault();
10391 e.stopPropagation();
10392 e.stopImmediatePropagation();
10393 if (jQuery(this).hasClass('e2pdf-inactive')) {
10394 return;
10395 }
10396 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10397 if (gridContainer.hasClass('e2pdf-hide')) {
10398 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10399 gridContainer.removeClass('e2pdf-hide').empty();
10400 for (let i = 0; i < 100; i++) {
10401 let gridItem = jQuery('<div>');
10402 gridItem.on('mouseover', function () {
10403 let rowCol = calculateRowCol(i);
10404 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10405 });
10406 gridItem.on('mouseout', function () {
10407 highlightGrid(gridContainer, 0, 0);
10408 });
10409 gridItem.on('click', function () {
10410 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10411 let rowCol = calculateRowCol(i);
10412 let html = '<table>\n';
10413 for (let r = 0; r < rowCol.rows; r++) {
10414 html += '<tr>\n';
10415 for (let c = 0; c < rowCol.cols; c++) {
10416 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10417 }
10418 html += '</tr>\n';
10419 }
10420 html += '</table>\n';
10421 document.execCommand('insertHTML', false, html);
10422 gridContainer.addClass('e2pdf-hide');
10423 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10424 });
10425 gridContainer.append(gridItem);
10426 }
10427 gridContainer.append(jQuery('<span>').text('0x0'));
10428 } else {
10429 gridContainer.addClass('e2pdf-hide');
10430 }
10431 function calculateRowCol(index) {
10432 let rows = Math.floor(index / 10) + 1;
10433 let cols = (index % 10) + 1;
10434 return {rows, cols};
10435 }
10436 function highlightGrid(gridContainer, rows, cols) {
10437 gridContainer.find('div').each(function (idx) {
10438 let itemRowCol = calculateRowCol(idx);
10439 gridContainer.find('span').text(rows + 'x' + cols);
10440 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10441 jQuery(this).addClass('e2pdf-highlight');
10442 } else {
10443 jQuery(this).removeClass('e2pdf-highlight');
10444 }
10445 });
10446 }
10447 });
10448 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10449 e2pdf.wysiwyg.apply(jQuery(this));
10450 });
10451 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10452 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10453 });
10454 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10455 if (e2pdf.url.get('revision_id')) {
10456 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10457 return false;
10458 }
10459
10460 var message = "";
10461 if (e2pdf.static.unsaved) {
10462 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10463 }
10464 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10465 jQuery(this).attr('disabled', 'disabled');
10466 jQuery(this).closest('form').append(
10467 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10468 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10469 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10470 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10471 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10472 ),
10473 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10474 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10475 )
10476 )
10477 )
10478 );
10479 });
10480 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10481 if (e2pdf.static.unsaved) {
10482 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10483 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10484 jQuery(this).val(revision_id);
10485 return false;
10486 }
10487 }
10488 e2pdf.static.unsaved = false;
10489 var revision_id = jQuery(this).val();
10490 var template_id = e2pdf.pdf.settings.get('ID');
10491 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10492 if (revision_id === '0') {
10493 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10494 }
10495 jQuery(this).attr('disabled', 'disabled');
10496 location.href = url;
10497 });
10498 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10499 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10500 return false;
10501 }
10502 jQuery('html').addClass('e2pdf-loading');
10503 var data = {};
10504 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10505 });
10506 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10507 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10508 return false;
10509 }
10510 jQuery('html').addClass('e2pdf-loading');
10511 var data = {};
10512 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10513 });
10514 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10515 jQuery(this).closest('.e2pdf-confirmation').remove();
10516 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10517 jQuery('.e2pdf-reupload-pdf').click();
10518 });
10519 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10520 jQuery(this).closest('.e2pdf-confirmation').remove();
10521 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10522 });
10523 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10524 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10525 });
10526 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10527 jQuery(this).autocomplete("search", "");
10528 });
10529 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10530 if (!jQuery(this).is(':checked')) {
10531 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10532 return false;
10533 }
10534 }
10535 });
10536 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10537 e2pdf.event.fire('after.settings.style.change');
10538 });
10539 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10540 e2pdf.event.fire('after.settings.template.change');
10541 });
10542 jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10543 var form = jQuery(this).closest('form');
10544 var field = jQuery(this).attr('field');
10545 var search = jQuery(this).val();
10546 var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10547 var options = fieldset.data('options');
10548 var regex = new RegExp(search, "gi");
10549 fieldset.empty();
10550 jQuery.each(options, function (i) {
10551 var option = options[i];
10552 if (i == 0 || option.value.match(regex) !== null) {
10553 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}))));
10554 }
10555 });
10556 fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10557 if (fieldset.find('input[type="checkbox"]').length > 1) {
10558 form.find('.e2pdf-submit-form').attr('disabled', false);
10559 } else {
10560 fieldset.find('input[type="checkbox"]').attr('disabled', true);
10561 form.find('.e2pdf-submit-form').attr('disabled', true);
10562 }
10563 if (this.changeTrigger) {
10564 clearTimeout(this.changeTrigger);
10565 }
10566 this.changeTrigger = setTimeout(function () {
10567 fieldset.trigger('change');
10568 }, 1000);
10569 });
10570 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10571 if (jQuery(this).val() !== '') {
10572 var form = jQuery(this).closest('form');
10573 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10574 form.find('input[name="width"]').val(size.width);
10575 form.find('input[name="height"]').val(size.height);
10576 }
10577 });
10578 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10579 e2pdf.visual.mapper.apply(jQuery(this));
10580 });
10581 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10582 e2pdf.element.unselect();
10583 e2pdf.element.unfocus();
10584 var el = jQuery(this).closest('.e2pdf-element');
10585 e2pdf.element.focus(el);
10586 });
10587 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10588 var el = jQuery(this).closest('.e2pdf-element');
10589 e2pdf.element.unfocus();
10590 if (e.ctrlKey || e.metaKey) {
10591 if (el.hasClass('e2pdf-selected')) {
10592 e2pdf.element.unselect(el);
10593 } else {
10594 e2pdf.element.select(el);
10595 }
10596 } else {
10597 if (el.hasClass('e2pdf-selected')) {
10598 if (Object.keys(e2pdf.element.selected).length > 1) {
10599 e2pdf.element.unselect();
10600 e2pdf.element.select(el);
10601 } else {
10602 e2pdf.element.unselect(el);
10603 }
10604 } else {
10605 if (Object.keys(e2pdf.element.selected).length > 0) {
10606 e2pdf.element.unselect();
10607 e2pdf.element.select(el);
10608 } else {
10609 e2pdf.element.select(el);
10610 }
10611 }
10612 }
10613 });
10614 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10615 var data = {};
10616 data['id'] = jQuery(this).attr('data-id');
10617 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10618 });
10619 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10620 var data = {};
10621 data['id'] = jQuery(this).attr('data-id');
10622 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10623 });
10624 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10625 e.preventDefault();
10626 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10627 return false;
10628 }
10629 var data = {};
10630 data['template'] = jQuery(this).attr('template');
10631 data['dataset'] = jQuery(this).attr('dataset');
10632 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10633 });
10634 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10635 e.preventDefault();
10636 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10637 return false;
10638 }
10639 var data = {};
10640 data['template'] = jQuery(this).attr('template');
10641 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10642 });
10643 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10644 e.preventDefault();
10645 switch (jQuery(this).attr('action')) {
10646 case 'start':
10647 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10648 return false;
10649 }
10650 break;
10651 case 'stop':
10652 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10653 return false;
10654 }
10655 break;
10656 case 'delete':
10657 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10658 return false;
10659 }
10660 break;
10661 }
10662 var data = {};
10663 data['bulk'] = jQuery(this).attr('bulk');
10664 data['action'] = jQuery(this).attr('action');
10665 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10666 });
10667 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10668 jQuery(this).select();
10669 });
10670 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10671 jQuery(this).autocomplete("search", '');
10672 });
10673 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10674 if (jQuery(this).is(':checked')) {
10675 e2pdf.static.vm.hidden = true;
10676 } else {
10677 e2pdf.static.vm.hidden = false;
10678 }
10679 e2pdf.visual.mapper.rebuild();
10680 });
10681 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10682 var value = jQuery(this).val();
10683 if (value != '') {
10684 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10685 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10686 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10687 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10688 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10689 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10690 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10691 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10692 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10693 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10694 } else {
10695 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10696 }
10697 e2pdf.visual.mapper.rebuild();
10698 });
10699 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10700 if (jQuery(this).is(':checked')) {
10701 e2pdf.static.vm.replace = true;
10702 } else {
10703 e2pdf.static.vm.replace = false;
10704 }
10705 });
10706 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10707 if (jQuery(this).is(':checked')) {
10708 e2pdf.static.vm.close = true;
10709 } else {
10710 e2pdf.static.vm.close = false;
10711 }
10712 });
10713 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10714 if (typeof e.clipboardData != 'undefined') {
10715 var clipboardData = e.clipboardData;
10716 } else if (typeof window.clipboardData != 'undefined') {
10717 var clipboardData = window.clipboardData;
10718 } else {
10719 var clipboardData = e.originalEvent.clipboardData;
10720 }
10721 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10722 e.preventDefault();
10723 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10724 data = e2pdf.helper.stripHTML(
10725 data,
10726 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10727 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10728 'span', 'a', 'br',
10729 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10730 'sub', 'sup',
10731 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10732 'ul', 'ol', 'li',
10733 'a'
10734 );
10735 return document.execCommand('insertHtml', false, data);
10736 }
10737 });
10738 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10739 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10740 }
10741
10742 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10743 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10744 }
10745
10746 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10747 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10748 }
10749
10750 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10751 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10752 }
10753
10754 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10755 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10756 }
10757
10758 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10759 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10760 }
10761
10762 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10763 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10764 }
10765
10766 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10767 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10768 }
10769
10770 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10771 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
10772 }
10773
10774 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
10775 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
10776 }
10777
10778 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10779 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10780 }
10781
10782 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10783 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10784 }
10785
10786 jQuery('#e2pdf-zoom').trigger('change');
10787 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
10788 if (e2pdf.url.get('id')) {
10789 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
10790 e2pdf.static.autoloadExport = true;
10791 }
10792 }
10793
10794 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
10795 jQuery('.e2pdf-color-picker-load').each(function () {
10796 jQuery(this).wpColorPicker(
10797 {
10798 defaultColor: function () {
10799 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
10800 if (el.attr('data-default')) {
10801 return el.attr('data-default');
10802 } else {
10803 return;
10804 }
10805 },
10806 change: function (event, ui) {
10807 jQuery(this).val(ui.color.toString()).change();
10808 }
10809 }
10810 ).removeClass('e2pdf-color-picker-load');
10811 });
10812 jQuery(window).bind("beforeunload", function (e) {
10813 if (e2pdf.static.unsaved) {
10814 var confirmationMessage = "\o/";
10815 (e || window.event).returnValue = confirmationMessage;
10816 return confirmationMessage;
10817 }
10818 });
10819 if (jQuery('#e2pdf-build-form').length > 0) {
10820 postboxes.add_postbox_toggles(pagenow);
10821 }
10822
10823 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
10824 && typeof (jQuery.ui.droppable) != 'undefined'
10825 && jQuery('.e2pdf-tpl').length > 0) {
10826 // jQuery UI scale bug fix
10827 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
10828 var i, j,
10829 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
10830 type = event ? event.type : null,
10831 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
10832 droppablesLoop: for (i = 0; i < m.length; i++) {
10833 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
10834 continue;
10835 }
10836 for (j = 0; j < list.length; j++) {
10837 if (list[ j ] === m[ i ].element[ 0 ]) {
10838 m[ i ].proportions().height = 0;
10839 continue droppablesLoop;
10840 }
10841 }
10842 m[ i ].visible = m[ i ].element.css("display") !== "none";
10843 if (!m[ i ].visible) {
10844 continue;
10845 }
10846 if (type === "mousedown") {
10847 m[ i ]._activate.call(m[ i ], event);
10848 }
10849 m[ i ].offset = m[ i ].element.offset();
10850 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
10851 }
10852 };
10853 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
10854 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
10855 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
10856 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
10857 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
10858 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
10859 jQuery('.e2pdf-load-tpl').remove();
10860 jQuery('.e2pdf-load-el').each(function () {
10861 var element = jQuery(this);
10862 var type = element.attr('data-type');
10863 var page = element.closest('.e2pdf-page');
10864 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
10865 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
10866 properties['width'] = element.attr('data-width');
10867 properties['height'] = element.attr('data-height');
10868 properties['top'] = element.attr('data-top');
10869 properties['left'] = element.attr('data-left');
10870 properties['value'] = element.find('.e2pdf-data-value').val();
10871 properties['name'] = element.find('.e2pdf-data-name').val();
10872 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
10873 jQuery(this).replaceWith(el);
10874 e2pdf.properties.render(el);
10875 });
10876 jQuery('.e2pdf-load-page').each(function () {
10877 var page = jQuery(this);
10878 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
10879 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
10880 page.find('.e2pdf-data-properties').remove();
10881 page.find('.e2pdf-data-actions').remove();
10882 page.removeClass('e2pdf-load-page');
10883 e2pdf.pages.createPage(page, properties, actions, true);
10884 });
10885 jQuery('.e2pdf-be').draggable({
10886 cursorAt: {left: 0, top: 0},
10887 helper: function () {
10888 var element = jQuery(this).clone();
10889 var type = element.attr('data-type');
10890 var page = element.closest('.e2pdf-page');
10891 var el = e2pdf.element.create(type, page, false, false, true);
10892 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
10893 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
10894 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
10895 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
10896 e2pdf.properties.render(el);
10897 el.css('z-index', 1);
10898 if (e2pdf.zoom.zoom != 1) {
10899 el.css({
10900 'transform': 'scale(' + e2pdf.zoom.zoom + ')',
10901 'transform-origin': '0 0'
10902 });
10903 }
10904
10905 var w = el.width() * e2pdf.zoom.zoom;
10906 var h = el.height() * e2pdf.zoom.zoom;
10907 e2pdf.static.guide.x = Math.round(w / 2);
10908 e2pdf.static.guide.y = Math.round(h / 2);
10909 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
10910 left: Math.round(w / 2),
10911 top: Math.round(h / 2)
10912 });
10913 return el;
10914 },
10915 start: function (ev, ui) {
10916 e2pdf.element.unselect();
10917 },
10918 stop: function (ev, ui) {
10919 ui.position.top = Math.round(ui.position.top);
10920 ui.position.left = Math.round(ui.position.left);
10921 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
10922 },
10923 drag: function (ev, ui) {
10924 if (e2pdf.static.drag.page !== null) {
10925 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
10926 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
10927 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
10928 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
10929 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
10930 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
10931 jQuery.each(el_guides, function (i, elemGuide) {
10932 if (guide.type == elemGuide.type) {
10933 var prop = guide.type == "h" ? "top" : "left";
10934 var d = Math.abs(elemGuide[prop] - guide[prop]);
10935 if (d < guides[prop].dist) {
10936 guides[prop].dist = d;
10937 guides[prop].offset = elemGuide[prop] - pos[prop];
10938 guides[prop].guide = guide;
10939 }
10940 }
10941 });
10942 });
10943 if (guides.top.dist <= e2pdf.static.guide.distance) {
10944 e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().top / e2pdf.zoom.zoom - 1).show();
10945 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
10946 ui.position.top = snap_top;
10947 } else {
10948 jQuery('.e2pdf-guide-h').hide();
10949 }
10950 if (guides.left.dist <= e2pdf.static.guide.distance) {
10951 e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().left / e2pdf.zoom.zoom - 1).show();
10952 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
10953 ui.position.left = snap_left;
10954 } else {
10955 jQuery('.e2pdf-guide-v').hide();
10956 }
10957 }
10958 }
10959 });
10960 e2pdf.welcomeScreen();
10961 }
10962 e2pdf.font.load(jQuery('#e2pdf-font'));
10963 jQuery('.e2pdf-load-font').each(function () {
10964 e2pdf.font.load(jQuery(this));
10965 jQuery(this).remove();
10966 });
10967 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
10968 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
10969 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
10970 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10971 }
10972
10973 jQuery(document).keydown(function (e) {
10974 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
10975 if (jQuery('.e2pdf-focused').length == 0
10976 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
10977 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
10978 && Object.keys(e2pdf.element.selected).length > 0) {
10979 e.preventDefault();
10980 switch (e.which) {
10981 case 37:
10982 // left
10983 var diff = 1;
10984 for (var key in e2pdf.element.selected) {
10985 var selected = e2pdf.element.selected[key];
10986 if (parseFloat(selected.css('left')) > 0) {
10987 if (parseFloat(selected.css('left')) - 1 < 0) {
10988 diff = Math.min(diff, selected.css('left'));
10989 }
10990 } else {
10991 diff = Math.min(diff, 0);
10992 }
10993 }
10994
10995 for (var key in e2pdf.element.selected) {
10996 var selected = e2pdf.element.selected[key];
10997 selected.finish().animate({
10998 left: "-=" + diff
10999 }, 0);
11000 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11001 }
11002 break;
11003 case 38:
11004 // top
11005 var diff = 1;
11006 for (var key in e2pdf.element.selected) {
11007 var selected = e2pdf.element.selected[key];
11008 if (parseFloat(selected.css('top')) > 0) {
11009 if (parseFloat(selected.css('top')) - 1 < 0) {
11010 diff = Math.min(diff, selected.css('top'));
11011 }
11012 } else {
11013 diff = Math.min(diff, 0);
11014 }
11015 }
11016
11017 for (var key in e2pdf.element.selected) {
11018 var selected = e2pdf.element.selected[key];
11019 selected.finish().animate({
11020 top: "-=" + diff
11021 }, 0);
11022 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11023 }
11024 break;
11025 case 39:
11026 // right
11027 var diff = 1;
11028 for (var key in e2pdf.element.selected) {
11029 var selected = e2pdf.element.selected[key];
11030 if (parseFloat(selected.css('right')) > 0) {
11031 if (parseFloat(selected.css('right')) - 1 < 0) {
11032 diff = Math.min(diff, selected.css('right'));
11033 }
11034 } else {
11035 diff = Math.min(diff, 0);
11036 }
11037 }
11038
11039 for (var key in e2pdf.element.selected) {
11040 var selected = e2pdf.element.selected[key];
11041 selected.finish().animate({
11042 left: "+=" + diff
11043 }, 0);
11044 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11045 }
11046 break;
11047 case 40:
11048 // down
11049 var diff = 1;
11050 for (var key in e2pdf.element.selected) {
11051 var selected = e2pdf.element.selected[key];
11052 if (parseFloat(selected.css('bottom')) > 0) {
11053 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11054 diff = Math.min(diff, selected.css('bottom'));
11055 }
11056 } else {
11057 diff = Math.min(diff, 0);
11058 }
11059 }
11060
11061 for (var key in e2pdf.element.selected) {
11062 var selected = e2pdf.element.selected[key];
11063 selected.finish().animate({
11064 top: "+=" + diff
11065 }, 0);
11066 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11067 }
11068 break;
11069 case 46:
11070 // delete
11071 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?');
11072 if (!confirm(message)) {
11073 e2pdf.delete('.e2pdf-context');
11074 return false;
11075 }
11076 var history = [];
11077 for (var key in e2pdf.element.selected) {
11078 var selected = e2pdf.element.selected[key];
11079 e2pdf.element.init(selected);
11080 history.push(selected.clone(true));
11081 e2pdf.element.delete(selected);
11082 }
11083 e2pdf.history.set('element_delete', history);
11084 e2pdf.element.unselect();
11085 break;
11086 }
11087 }
11088 }
11089 });
11090 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11091 e2pdf.select2.init(jQuery(this));
11092 });
11093 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11094 e2pdf.select2.click(jQuery(this));
11095 });
11096 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11097 e2pdf.select2.filter(jQuery(this));
11098 });
11099 jQuery(document).on('mousedown', 'body', function (e) {
11100 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11101 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11102 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11103 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11104 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11105 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11106 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11107 e.ctrlKey !== true) {
11108 e2pdf.element.unselect();
11109 e2pdf.element.unfocus();
11110 }
11111 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11112 jQuery('.e2pdf-closed').each(function () {
11113 jQuery(this).removeClass('e2pdf-opened');
11114 });
11115 }
11116 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11117 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11118 }
11119 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11120 jQuery('.e2pdf-select2-dropdown').each(function () {
11121 e2pdf.select2.close(jQuery(this));
11122 });
11123 }
11124 });
11125 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11126 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11127 if (jQuery('.e2pdf-bulks-list').length > 0)
11128 {
11129 e2pdf.bulk.progress();
11130 }
11131 });