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

11,129 lines 567.3 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-export-dataset-search').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 e2pdf.element.select(jQuery(this));
8158 e2pdf.static.drag.min_left = 0;
8159 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8160 e2pdf.static.drag.min_top = 0;
8161 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8162 var history = [];
8163 for (var key in e2pdf.element.selected) {
8164 var selected = e2pdf.element.selected[key];
8165 history.push(selected.clone(true));
8166 if (selected.hasClass('e2pdf-width-auto')) {
8167 selected.css({"width": "auto"});
8168 }
8169 if (selected.hasClass('e2pdf-height-auto')) {
8170 selected.css({"height": "auto"});
8171 }
8172 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8173 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8174 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8175 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8176 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8177 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8178 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8179 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8180 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);
8181 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);
8182 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);
8183 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);
8184 }
8185 e2pdf.history.set('element_change', history);
8186 e2pdf.zoom.click.x = ev.clientX;
8187 e2pdf.zoom.click.y = ev.clientY;
8188 jQuery('.page-options-icons').css('z-index', -1);
8189 }
8190 });
8191 if (element.hasClass('e2pdf-resizable')) {
8192 if (element.hasClass('ui-resizable')) {
8193 try {
8194 element.resizable('destroy');
8195 element.removeData('ui-resizable');
8196 } catch (e) {
8197
8198 }
8199 }
8200 element.resizable({
8201 handles: 'n, e, s, w, ne, se, sw, nw',
8202 aspectRatio: false,
8203 minHeight: min_height,
8204 minWidth: min_width,
8205 start: function (ev, ui) {
8206 var _process = function (el, resize) {
8207 var left = e2pdf.helper.getFloat(el.css('left'));
8208 var top = e2pdf.helper.getFloat(el.css('top'));
8209 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8210 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8211 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8212 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8213 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8214 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8215 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8216 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8217 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8218 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8219 var width = e2pdf.helper.getFloat(el.css('width'));
8220 var height = e2pdf.helper.getFloat(el.css('height'));
8221 el.resizable("option", "maxWidth", page_width - left);
8222 el.resizable("option", "maxHeight", page_height - top);
8223 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8224 el.resizable("option", "maxWidth", left + width);
8225 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8226 el.resizable("option", "maxHeight", top + height);
8227 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8228 el.resizable("option", "maxWidth", left + width);
8229 el.resizable("option", "maxHeight", top + height);
8230 }
8231 if (resize) {
8232 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8233 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8234 }
8235 };
8236 _process(jQuery(this), true);
8237 e2pdf.zoom.click.x = ev.clientX;
8238 e2pdf.zoom.click.y = ev.clientY;
8239 var history = [];
8240 history.push(jQuery(this).clone(true));
8241 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8242 var selected = jQuery(this);
8243 history.push(selected.clone(true));
8244 var width = e2pdf.helper.getFloat(selected.css('width'));
8245 var height = e2pdf.helper.getFloat(selected.css('height'));
8246 selected.data("ui-resizable-alsoresize", {
8247 width: width,
8248 height: height,
8249 left: e2pdf.helper.getFloat(selected.css('left')),
8250 top: e2pdf.helper.getFloat(selected.css('top'))
8251 });
8252 _process(jQuery(this), false);
8253 });
8254 e2pdf.history.set('element_change', history);
8255 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8256 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8257 },
8258 resize: function (ev, ui) {
8259 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8260 var axis = ui.element.data("ui-resizable").axis;
8261 if (axis != 'nw' && axis != 'sw') {
8262 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8263 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8264 }
8265 }
8266 var delta = {
8267 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8268 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8269 top: (ui.position.top - ui.originalPosition.top) || 0,
8270 left: (ui.position.left - ui.originalPosition.left) || 0
8271 };
8272 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8273 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8274 var style = {};
8275 var css = ["width", "height", "top", "left"];
8276 jQuery.each(css, function (i, prop) {
8277 var sum = (start[prop] || 0) + (delta[prop] || 0);
8278 if (sum) {
8279 if (prop == 'width') {
8280 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8281 style[prop] = sum;
8282 }
8283 } else if (prop == 'height') {
8284 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8285 style[prop] = sum;
8286 }
8287 } else if (prop == 'left') {
8288 if (sum >= 0) {
8289 style[prop] = sum;
8290 }
8291 } else if (prop == 'top') {
8292 if (sum >= 0) {
8293 style[prop] = sum;
8294 }
8295 }
8296 }
8297 });
8298 el.css(style);
8299 });
8300 var handle = ui.element.data("ui-resizable").axis;
8301 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8302 var w = parseFloat(jQuery(this).css('width'));
8303 var h = parseFloat(jQuery(this).css('height'));
8304 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8305 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8306 var hPosition = ui.position.top;
8307 var hEdgeValue = ui.position.top;
8308 if (handle.indexOf('s') !== -1) {
8309 hEdgeValue = ui.position.top + h;
8310 }
8311 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8312 if (guide.type == "h") {
8313 var d = Math.abs(hEdgeValue - guide.top);
8314 if (d < hGuides.dist) {
8315 hGuides.dist = d;
8316 hGuides.guide = guide;
8317 hGuides.offset = hEdgeValue - hPosition;
8318 }
8319 }
8320 });
8321 if (hGuides.dist <= e2pdf.static.guide.distance) {
8322 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8323 var snap_top = hGuides.guide.top - hGuides.offset;
8324 if (handle.indexOf('n') !== -1) {
8325 var heightDiff = ui.position.top - snap_top;
8326 ui.position.top = snap_top;
8327 ui.size.height += heightDiff;
8328 } else if (handle.indexOf('s') !== -1) {
8329 var newHeight = hGuides.guide.top - ui.position.top;
8330 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8331 ui.size.height = newHeight;
8332 }
8333 }
8334 }
8335 }
8336 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8337 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8338 var vPosition = ui.position.left;
8339 var vEdgeValue = ui.position.left;
8340 if (handle.indexOf('e') !== -1) {
8341 vEdgeValue = ui.position.left + w;
8342 }
8343 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8344 if (guide.type == "v") {
8345 var d = Math.abs(vEdgeValue - guide.left);
8346 if (d < vGuides.dist) {
8347 vGuides.dist = d;
8348 vGuides.guide = guide;
8349 vGuides.offset = vEdgeValue - vPosition;
8350 }
8351 }
8352 });
8353 if (vGuides.dist <= e2pdf.static.guide.distance) {
8354 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8355 var snap_left = vGuides.guide.left - vGuides.offset;
8356 if (handle.indexOf('w') !== -1) {
8357 var widthDiff = ui.position.left - snap_left;
8358 ui.position.left = snap_left;
8359 ui.size.width += widthDiff;
8360 } else if (handle.indexOf('e') !== -1) {
8361 var newWidth = vGuides.guide.left - ui.position.left;
8362 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8363 ui.size.width = newWidth;
8364 }
8365 }
8366 }
8367 }
8368 },
8369 stop: function (event, ui) {
8370 ui.size.width = Math.round(ui.size.width);
8371 ui.size.height = Math.round(ui.size.height);
8372 var _process = function (el, width, height) {
8373 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') {
8374 width += el.outerWidth() - el.width();
8375 height += el.outerWidth() - el.width();
8376 }
8377 e2pdf.properties.set(el, 'width', width);
8378 e2pdf.properties.set(el, 'height', height);
8379 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8380 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8381 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') {
8382 e2pdf.properties.render(el);
8383 }
8384 };
8385 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8386 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8387 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8388 jQuery(this).removeData("resizable-alsoresize");
8389 });
8390 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8391 }
8392 });
8393 }
8394 },
8395 // e2pdf.element.create
8396 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8397 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8398 var min_height = 2;
8399 var min_width = 2;
8400 if (!properties) {
8401 properties = {};
8402 }
8403 if (!actions) {
8404 actions = {};
8405 }
8406 switch (type) {
8407 case 'e2pdf-input':
8408 if (default_properties) {
8409 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8410 properties['width'] = '200';
8411 }
8412 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8413 properties['height'] = size;
8414 }
8415 if (!properties.hasOwnProperty('border')) {
8416 properties['border'] = '1';
8417 }
8418 if (!properties.hasOwnProperty('border_color')) {
8419 properties['border_color'] = '#000000';
8420 }
8421 }
8422 var element =
8423 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8424 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8425 jQuery('<i>', {'class': 'e2pdf-drag'})
8426 );
8427 break;
8428 case 'e2pdf-textarea':
8429 if (default_properties) {
8430 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8431 properties['width'] = '200';
8432 }
8433 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8434 properties['height'] = '100';
8435 }
8436 if (!properties.hasOwnProperty('border')) {
8437 properties['border'] = '1';
8438 }
8439 if (!properties.hasOwnProperty('border_color')) {
8440 properties['border_color'] = '#000000';
8441 }
8442 }
8443 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8444 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8445 jQuery('<i>', {'class': 'e2pdf-drag'})
8446 );
8447 break;
8448 case 'e2pdf-checkbox':
8449 if (default_properties) {
8450 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8451 properties['width'] = size;
8452 }
8453 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8454 properties['height'] = size;
8455 }
8456 if (!properties.hasOwnProperty('option')) {
8457 properties['option'] = 'option';
8458 }
8459 if (!properties.hasOwnProperty('border')) {
8460 properties['border'] = '1';
8461 }
8462 if (!properties.hasOwnProperty('border_color')) {
8463 properties['border_color'] = '#000000';
8464 }
8465 }
8466 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8467 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8468 jQuery('<i>', {'class': 'e2pdf-drag'})
8469 );
8470 break;
8471 case 'e2pdf-radio':
8472 if (default_properties) {
8473 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8474 properties['width'] = size;
8475 }
8476 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8477 properties['height'] = size;
8478 }
8479 if (!properties.hasOwnProperty('group')) {
8480 properties['group'] = 'group';
8481 }
8482 if (!properties.hasOwnProperty('option')) {
8483 properties['option'] = 'option';
8484 }
8485 if (!properties.hasOwnProperty('border')) {
8486 properties['border'] = '1';
8487 }
8488 if (!properties.hasOwnProperty('border_color')) {
8489 properties['border_color'] = '#000000';
8490 }
8491 if (!properties.hasOwnProperty('text_type')) {
8492 properties['text_type'] = 'circle';
8493 }
8494
8495 }
8496 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8497 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8498 jQuery('<i>', {'class': 'e2pdf-drag'})
8499 );
8500 break;
8501 case 'e2pdf-select':
8502 if (default_properties) {
8503 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8504 properties['width'] = '200';
8505 }
8506 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8507 properties['height'] = size;
8508 }
8509 if (!properties.hasOwnProperty('options')) {
8510 properties['options'] = '';
8511 }
8512 if (!properties.hasOwnProperty('border')) {
8513 properties['border'] = '1';
8514 }
8515 if (!properties.hasOwnProperty('border_color')) {
8516 properties['border_color'] = '#000000';
8517 }
8518 }
8519 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8520 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8521 ),
8522 jQuery('<i>', {'class': 'e2pdf-drag'})
8523 );
8524 break;
8525 case 'e2pdf-signature':
8526 if (default_properties) {
8527 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8528 properties['width'] = '200';
8529 }
8530 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8531 properties['height'] = '75';
8532 }
8533 if (!properties.hasOwnProperty('vertical')) {
8534 properties['vertical'] = 'bottom';
8535 }
8536 if (!properties.hasOwnProperty('block_dimension')) {
8537 properties['block_dimension'] = '1';
8538 }
8539 if (!properties.hasOwnProperty('dimension')) {
8540 properties['dimension'] = '1';
8541 }
8542 if (!properties.hasOwnProperty('opacity')) {
8543 properties['opacity'] = '1';
8544 }
8545 } else {
8546 // backward compatibility
8547 if (!properties.hasOwnProperty('opacity')) {
8548 properties['opacity'] = '1';
8549 }
8550 }
8551 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8552 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8553 jQuery('<i>', {'class': 'e2pdf-drag'})
8554 );
8555 break;
8556 case 'e2pdf-html':
8557 if (default_properties) {
8558 if (!properties.hasOwnProperty('width')) {
8559 properties['width'] = '200';
8560 } else if (properties['width'] === 'auto') {
8561 properties['width'] = size;
8562 }
8563 if (!properties.hasOwnProperty('height')) {
8564 properties['height'] = size;
8565 } else if (properties['height'] === 'auto') {
8566 delete properties['height'];
8567 }
8568 if (!properties.hasOwnProperty('html_worker')) {
8569 properties['html_worker'] = '1';
8570 }
8571 if (!properties.hasOwnProperty('css_priority')) {
8572 properties['css_priority'] = '1';
8573 }
8574 }
8575 if (properties['wysiwyg_disable'] == '1') {
8576 var element =
8577 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8578 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8579 jQuery('<i>', {'class': 'e2pdf-drag'})
8580 );
8581 } else {
8582 var element =
8583 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8584 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8585 jQuery('<i>', {'class': 'e2pdf-drag'})
8586 );
8587 }
8588 break;
8589 case 'e2pdf-image':
8590 if (default_properties) {
8591 if (!properties.hasOwnProperty('dimension')) {
8592 properties['dimension'] = '1';
8593 }
8594 if (!properties.hasOwnProperty('opacity')) {
8595 properties['opacity'] = '1';
8596 }
8597 if (!properties.hasOwnProperty('block_dimension')) {
8598 properties['block_dimension'] = '1';
8599 }
8600 if (!properties.hasOwnProperty('vertical')) {
8601 properties['vertical'] = 'bottom';
8602 }
8603 if (!properties.hasOwnProperty('pdf_resample')) {
8604 properties['pdf_resample'] = '-1';
8605 }
8606 } else {
8607 // backward compatibility
8608 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8609 properties['block_dimension'] = '1';
8610 }
8611 if (!properties.hasOwnProperty('opacity')) {
8612 properties['opacity'] = '1';
8613 }
8614 if (!properties.hasOwnProperty('pdf_resample')) {
8615 properties['pdf_resample'] = '150';
8616 }
8617 }
8618 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8619 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8620 jQuery('<i>', {'class': 'e2pdf-drag'})
8621 );
8622 break;
8623 case 'e2pdf-rectangle':
8624 if (default_properties) {
8625 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8626 properties['width'] = '200';
8627 }
8628 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8629 properties['height'] = '5';
8630 }
8631 if (!properties.hasOwnProperty('background')) {
8632 properties['background'] = '#000000';
8633 }
8634 }
8635 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8636 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8637 jQuery('<i>', {'class': 'e2pdf-drag'})
8638 );
8639 break;
8640 case 'e2pdf-link':
8641 if (default_properties) {
8642 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8643 properties['width'] = '200';
8644 }
8645
8646 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8647 properties['height'] = size;
8648 }
8649 }
8650 var element =
8651 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8652 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8653 jQuery('<i>', {'class': 'e2pdf-drag'})
8654 );
8655 break;
8656 case 'e2pdf-qrcode':
8657 if (default_properties) {
8658 if (!properties.hasOwnProperty('color')) {
8659 properties['color'] = '#000000';
8660 }
8661 if (!properties.hasOwnProperty('background')) {
8662 properties['background'] = '#ffffff';
8663 }
8664 if (!properties.hasOwnProperty('wq')) {
8665 properties['wq'] = '1';
8666 }
8667 }
8668 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8669 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8670 jQuery('<i>', {'class': 'e2pdf-drag'})
8671 );
8672 break;
8673 case 'e2pdf-barcode':
8674 if (default_properties) {
8675 if (!properties.hasOwnProperty('color')) {
8676 properties['color'] = '#000000';
8677 }
8678 if (!properties.hasOwnProperty('text_color')) {
8679 properties['text_color'] = '#000000';
8680 }
8681 if (!properties.hasOwnProperty('vertical')) {
8682 properties['vertical'] = 'middle';
8683 }
8684 if (!properties.hasOwnProperty('horizontal')) {
8685 properties['horizontal'] = 'center';
8686 }
8687 if (!properties.hasOwnProperty('wq')) {
8688 properties['wq'] = '1';
8689 }
8690 if (!properties.hasOwnProperty('dimension')) {
8691 properties['dimension'] = '1';
8692 }
8693 if (!properties.hasOwnProperty('background')) {
8694 properties['background'] = '#ffffff';
8695 }
8696 if (!properties.hasOwnProperty('margin_top')) {
8697 properties['margin_top'] = '10';
8698 }
8699 if (!properties.hasOwnProperty('margin_left')) {
8700 properties['margin_left'] = '10';
8701 }
8702 if (!properties.hasOwnProperty('margin_right')) {
8703 properties['margin_right'] = '10';
8704 }
8705 if (!properties.hasOwnProperty('margin_bottom')) {
8706 properties['margin_bottom'] = '10';
8707 }
8708 } else {
8709 // backward compatibility
8710 if (!properties.hasOwnProperty('scale')) {
8711 properties['scale'] = '1';
8712 }
8713 if (!properties.hasOwnProperty('margin_top')) {
8714 properties['margin_top'] = '10';
8715 }
8716 if (!properties.hasOwnProperty('margin_left')) {
8717 properties['margin_left'] = '10';
8718 }
8719 if (!properties.hasOwnProperty('margin_right')) {
8720 properties['margin_right'] = '10';
8721 }
8722 if (!properties.hasOwnProperty('margin_bottom')) {
8723 properties['margin_bottom'] = '10';
8724 }
8725 }
8726 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8727 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8728 jQuery('<i>', {'class': 'e2pdf-drag'})
8729 );
8730 break;
8731 case 'e2pdf-page-number':
8732 if (default_properties) {
8733 if (!properties.hasOwnProperty('width')) {
8734 properties['width'] = '100';
8735 } else if (properties['width'] === 'auto') {
8736 properties['width'] = '100';
8737 }
8738 if (!properties.hasOwnProperty('height')) {
8739 properties['height'] = size;
8740 } else if (properties['height'] === 'auto') {
8741 delete properties['height'];
8742 }
8743 if (!properties.hasOwnProperty('text_align')) {
8744 properties['text_align'] = 'center';
8745 }
8746 if (!properties.hasOwnProperty('html_worker')) {
8747 properties['html_worker'] = '1';
8748 }
8749 if (!properties.hasOwnProperty('value')) {
8750 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8751 }
8752 }
8753 var value = properties['value'] ? properties['value'] : '';
8754 var element =
8755 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8756 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'))),
8757 jQuery('<i>', {'class': 'e2pdf-drag'})
8758 );
8759 break;
8760 case 'e2pdf-graph':
8761 if (default_properties) {
8762 // Graph
8763 properties['g_palette'] = '#1e73be';
8764 properties['g_stroke_colour'] = '#000000';
8765 properties['g_stroke_width'] = '1';
8766 properties['g_sort'] = '1';
8767 // Titles
8768 properties['g_graph_title_colour'] = '#000000';
8769 properties['g_graph_title_space'] = '10';
8770 // Labels
8771 properties['g_label_colour'] = '#000000';
8772 properties['g_label_font_size'] = '10';
8773 properties['g_label_space'] = '10';
8774 // Markers
8775 properties['g_marker_colour'] = '#000000';
8776 properties['g_marker_size'] = '3';
8777 // Legend
8778 properties['g_legend_back_colour'] = '#ffffff';
8779 properties['g_legend_stroke_colour'] = '#000000';
8780 properties['g_legend_stroke_width'] = '1';
8781 properties['g_legend_entry_width'] = '20';
8782 properties['g_legend_entry_height'] = '20';
8783 properties['g_legend_padding_x'] = '5';
8784 properties['g_legend_padding_y'] = '5';
8785 properties['g_legend_colour'] = '#000000';
8786 properties['g_legend_font_size'] = '10';
8787 properties['g_show_legend'] = '1';
8788 // Grid
8789 properties['g_grid_colour'] = '#eeeeee';
8790 properties['g_grid_subdivision_colour'] = '#eeeeee';
8791 properties['g_minimum_grid_spacing'] = '20';
8792 properties['g_show_grid'] = '1';
8793 properties['g_show_grid_subdivisions'] = '1';
8794 // Axis
8795 properties['g_axis_colour'] = '#000000';
8796 properties['g_axis_font_size'] = '12';
8797 properties['g_show_axis_v'] = '1';
8798 properties['g_show_axis_text_v'] = '1';
8799 properties['g_show_axis_h'] = '1';
8800 properties['g_show_axis_text_h'] = '1';
8801 properties['g_show_subdivisions'] = '1';
8802 properties['g_axis_overlap'] = '5';
8803 properties['g_axis_stroke_width_v'] = '1';
8804 properties['g_axis_stroke_width_h'] = '1';
8805 // Bar Label
8806 properties['g_bar_label_colour'] = '#000000';
8807 properties['g_bar_label_font_size'] = '10';
8808 properties['g_bar_label_space'] = '3';
8809 properties['g_show_bar_labels'] = '1';
8810 properties['g_project_angle'] = '45';
8811 properties['g_depth'] = '20';
8812 properties['g_aspect_ratio'] = '1';
8813 properties['margin_top'] = '10';
8814 properties['margin_left'] = '10';
8815 properties['margin_right'] = '10';
8816 properties['margin_bottom'] = '10';
8817 properties['g_multiline'] = '2';
8818 // Bar
8819 properties['g_bar_width'] = '0';
8820 properties['g_bar_width_min'] = '1';
8821 properties['g_bar_space'] = '10';
8822 } else {
8823 // backward compatibility
8824 if (!properties.hasOwnProperty('g_depth')) {
8825 properties['g_depth'] = '40';
8826 }
8827 if (!properties.hasOwnProperty('g_aspect_ratio')) {
8828 properties['g_aspect_ratio'] = '1';
8829 }
8830 if (!properties.hasOwnProperty('g_legend_entry_height')) {
8831 properties['g_legend_entry_height'] = '20';
8832 }
8833 if (!properties.hasOwnProperty('g_bar_width')) {
8834 properties['g_bar_width'] = '0';
8835 }
8836 if (!properties.hasOwnProperty('g_bar_width_min')) {
8837 properties['g_bar_width_min'] = '1';
8838 }
8839 if (!properties.hasOwnProperty('g_bar_space')) {
8840 properties['g_bar_space'] = '10';
8841 }
8842 }
8843 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
8844 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
8845 jQuery('<i>', {'class': 'e2pdf-drag'})
8846 );
8847 break;
8848 default:
8849 break;
8850 }
8851
8852 if (typeof element !== 'undefined') {
8853 if (!element_id) {
8854 var last_id = 0;
8855 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
8856 var num_id = parseInt(jQuery(this).attr("data-element_id"));
8857 if (num_id > last_id) {
8858 last_id = num_id;
8859 }
8860 });
8861 element_id = parseInt(last_id + 1);
8862 }
8863 element.addClass('e2pdf-element');
8864 element.attr('data-element_id', element_id);
8865 element.data('data-type', type);
8866 if (properties.hasOwnProperty('width')) {
8867 element.css({'width': properties['width']});
8868 }
8869 if (properties.hasOwnProperty('height')) {
8870 element.css({'height': properties['height']});
8871 }
8872 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
8873 element.css({'top': properties['top'], 'left': properties['left']});
8874 }
8875 element.css({"position": "absolute"});
8876 e2pdf.properties.apply(element, properties, onload);
8877 e2pdf.actions.apply(element, actions);
8878 e2pdf.element.initEvents(element, page);
8879 if (!onload) {
8880 e2pdf.event.fire('after.element.create');
8881 }
8882 return element;
8883 } else {
8884 return false;
8885 }
8886 },
8887 // e2pdf.element.children
8888 children: function (el) {
8889 var children = el.find('.' + el.data('data-type'));
8890 return children;
8891 },
8892 // e2pdf.element.select
8893 select: function (el) {
8894 var selected = false;
8895 for (var key in e2pdf.element.selected) {
8896 if (e2pdf.element.selected[key].is(el)) {
8897 selected = true;
8898 }
8899 }
8900 if (!selected) {
8901 el.addClass('e2pdf-selected');
8902 e2pdf.element.selected.push(el);
8903 }
8904 },
8905 // e2pdf.element.unselect
8906 unselect: function (el) {
8907 if (!el) {
8908 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
8909 e2pdf.element.selected = [];
8910 } else {
8911 for (var key in e2pdf.element.selected) {
8912 if (e2pdf.element.selected[key].is(el)) {
8913 el.removeClass('e2pdf-selected');
8914 delete e2pdf.element.selected[key];
8915 }
8916 }
8917 }
8918 },
8919 // e2pdf.element.unfocus
8920 unfocus: function (el) {
8921 e2pdf.wysiwyg.helper.dropSelection();
8922 if (!el) {
8923 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
8924 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
8925 jQuery(this).blur();
8926 });
8927 } else {
8928 el.find('.e2pdf-inner-element').blur();
8929 el.removeClass('e2pdf-focused');
8930 }
8931 },
8932 // e2pdf.element.focus
8933 focus: function (el) {
8934 el.one('beforeinput', function (e) {
8935 var history = [];
8936 history.push(el.clone(true));
8937 e2pdf.history.set('element_change', history);
8938 });
8939 var el_inner = el.find('.e2pdf-inner-element');
8940 el_inner.focus();
8941 el.addClass('e2pdf-focused');
8942 },
8943 // e2pdf.element.hide
8944 hide: function (el) {
8945 el.addClass('e2pdf-hide');
8946 },
8947 // e2pdf.element.show
8948 show: function (el) {
8949 el.removeClass('e2pdf-hide');
8950 },
8951 // e2pdf.element.delete
8952 delete: function (el) {
8953 el.remove();
8954 e2pdf.event.fire('after.element.delete');
8955 }
8956 },
8957 // e2pdf.storage
8958 storage: {
8959 get: function (key) {
8960 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
8961 },
8962 set: function (key, data) {
8963 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
8964 },
8965 delete: function (key) {
8966 localStorage.removeItem('e2pdf_' + key);
8967 }
8968 },
8969 // e2pdf.history
8970 history: {
8971 // e2pdf.history.set
8972 set: function (action, elements, data) {
8973 if (elements && elements.length > 0) {
8974 var history = {
8975 'action': action,
8976 'elements': elements,
8977 'data': data,
8978 };
8979 e2pdf.history.undoStack.push(history);
8980 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
8981 e2pdf.history.undoStack.shift();
8982 }
8983 if (e2pdf.history.undoStack.length > 0) {
8984 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
8985 }
8986 }
8987 },
8988 // e2pdf.history.undo
8989 undo: function () {
8990 var history = e2pdf.history.undoStack.pop();
8991 if (history) {
8992 e2pdf.element.unselect();
8993 if (history.action == 'element_change') {
8994 for (var key in history.elements) {
8995 var buffered = history.elements[key];
8996 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
8997 e2pdf.element.initEvents(buffered);
8998 e2pdf.element.select(buffered);
8999 }
9000 } else if (history.action == 'element_create') {
9001 for (var key in history.elements) {
9002 var buffered = history.elements[key];
9003 if (buffered.hasClass('e2pdf-page')) {
9004 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9005 if (jQuery('.e2pdf-page').length == 0) {
9006 e2pdf.history.undo();
9007 }
9008 } else {
9009 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9010 }
9011 }
9012 } else if (history.action == 'element_delete') {
9013 for (var key in history.elements) {
9014 var buffered = history.elements[key];
9015 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9016 page.append(buffered);
9017 e2pdf.element.initEvents(buffered, page);
9018 e2pdf.element.select(buffered);
9019 }
9020 } else if (history.action == 'page_change') {
9021 for (var key in history.elements) {
9022 var buffered = history.elements[key];
9023 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9024 page.data('data-type', 'e2pdf-page');
9025 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9026 if (buffered.css('background-image')) {
9027 page.css('background-image', buffered.css('background-image'));
9028 }
9029 buffered.find('.e2pdf-element').each(function () {
9030 page.append(jQuery(this));
9031 e2pdf.element.initEvents(jQuery(this), page);
9032 });
9033 e2pdf.pages.initEvents(page);
9034 e2pdf.pages.rebuildPages();
9035 }
9036 if (history.data) {
9037 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9038 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9039 }
9040 } else if (history.action == 'page_delete') {
9041 for (var key in history.elements) {
9042 var buffered = history.elements[key];
9043 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9044 page.data('data-type', 'e2pdf-page');
9045 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9046 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9047 if (buffered.attr('data-page_id') == '1') {
9048 jQuery('.e2pdf-tpl-inner').prepend(page);
9049 } else {
9050 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9051 }
9052 if (buffered.css('background-image')) {
9053 page.css('background-image', buffered.css('background-image'));
9054 }
9055 buffered.find('.e2pdf-element').each(function () {
9056 page.append(jQuery(this));
9057 e2pdf.element.initEvents(jQuery(this), page);
9058 });
9059 e2pdf.pages.initEvents(page);
9060 e2pdf.pages.rebuildPages();
9061 }
9062 if (history.data) {
9063 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9064 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9065 }
9066 } else if (history.action == 'wysiwyg') {
9067 for (var key in history.elements) {
9068 var buffered = history.elements[key];
9069 buffered.focus();
9070 document.execCommand('undo');
9071 }
9072 }
9073 if (e2pdf.history.undoStack.length == 0) {
9074 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9075 }
9076 }
9077 },
9078 // e2pdf.history.redo
9079 redo: function () {
9080
9081 },
9082 clear: function () {
9083 e2pdf.history.undoStack = [];
9084 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9085 },
9086 // e2pdf.history.undoStack
9087 undoStack: []
9088 },
9089 // e2pdf.copy
9090 copy: function (key, el) {
9091 e2pdf.element.init(el);
9092 switch (key) {
9093 case 'style':
9094 var data = {
9095 'type': el.data('data-type'),
9096 'fields': e2pdf.properties.getFields(el)
9097 };
9098 e2pdf.storage.set(key, data);
9099 break;
9100 case 'width':
9101 var data = {
9102 'width': e2pdf.properties.getValue(el, 'width', 'float')
9103 };
9104 e2pdf.storage.set(key, data);
9105 break;
9106 case 'height':
9107 var data = {
9108 'height': e2pdf.properties.getValue(el, 'height', 'float')
9109 };
9110 e2pdf.storage.set(key, data);
9111 break;
9112 case 'elements':
9113 var elements = e2pdf.storage.get('elements');
9114 if (elements == null) {
9115 elements = [];
9116 }
9117 var data = {
9118 'type': el.data('data-type'),
9119 'top': el.css('top'),
9120 'left': el.css('left'),
9121 'width': el.css('width'),
9122 'height': el.css('height'),
9123 'fields': e2pdf.properties.getFields(el),
9124 'properties': e2pdf.properties.get(el),
9125 'actions': e2pdf.actions.get(el)
9126 };
9127 elements.push(data);
9128 e2pdf.storage.set(key, elements);
9129 break;
9130 case 'actions':
9131 var data = {
9132 'actions': e2pdf.actions.get(el)
9133 };
9134 e2pdf.storage.set(key, data);
9135 break;
9136 }
9137 },
9138 // e2pdf.paste
9139 paste: function (key, el) {
9140 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9141 switch (key) {
9142 case 'style':
9143 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9144 e2pdf.element.init(el);
9145 var groups = e2pdf.storage.get('style').fields;
9146 for (var group_key in groups) {
9147 var group = groups[group_key];
9148 for (var field_key in group.fields) {
9149 var group_field = group.fields[field_key];
9150 if (group_field.type != 'link') {
9151 if (jQuery.inArray(group_field.key, [
9152 'page_id',
9153 'element_id',
9154 'element_type',
9155 'width',
9156 'height',
9157 'top',
9158 'left',
9159 'name',
9160 'field_name',
9161 'z_index',
9162 'group',
9163 'option',
9164 'options',
9165 'css',
9166 'parent',
9167 'value',
9168 'preg_pattern',
9169 'preg_replacement',
9170 'preg_match_all_pattern',
9171 'preg_match_all_output',
9172 'wysiwyg_disable',
9173 'multipage',
9174 'dynamic_height',
9175 'nl2br',
9176 'hide_if_empty',
9177 'hide_page_if_empty',
9178 'css_priority',
9179 'pdf_resample',
9180 'pdf_append',
9181 'html_worker',
9182 'esig',
9183 'dimension',
9184 'block_dimension',
9185 'keep_lower_size',
9186 'fill_image',
9187 'only_image',
9188 'hl',
9189 'placeholder',
9190 'pdf_page',
9191 'format',
9192 'g_type',
9193 'g_structure_key',
9194 'g_structure_value',
9195 'g_structure_colour',
9196 'g_structure_axis_text',
9197 'g_structure_legend_text',
9198 'g_structure_label',
9199 'g_structure_area',
9200 'g_structure_open',
9201 'g_structure_end',
9202 'g_structure_outliers',
9203 'g_structure_top',
9204 'g_structure_bottom',
9205 'g_structure_wtop',
9206 'g_structure_wbottom',
9207 'g_structure_high',
9208 'g_structure_low',
9209 'g_structured_data',
9210 'g_key_sep',
9211 'g_array_sep',
9212 'g_sub_array_sep',
9213 'g_graph_title',
9214 'g_label_v',
9215 'g_label_h',
9216 'g_legend_title'
9217 ]) === -1) {
9218 e2pdf.properties.set(el, group_field.key, group_field.value);
9219 }
9220 }
9221 }
9222 }
9223 e2pdf.properties.render(el);
9224 }
9225 break;
9226 case 'elements':
9227 case 'elements-in-place':
9228 e2pdf.element.unselect();
9229 var context = jQuery('.e2pdf-context');
9230 var page = context.closest('.e2pdf-page');
9231 var min_top = 99999999;
9232 var min_left = 99999999;
9233 var left_correction = 0;
9234 var top_correction = 0;
9235 if (key !== 'elements-in-place') {
9236 for (var element in e2pdf.storage.get('elements')) {
9237 var buffered = e2pdf.storage.get('elements')[element];
9238 var properties = buffered.properties;
9239 min_top = Math.min(parseFloat(properties['top']), min_top);
9240 min_left = Math.min(parseFloat(properties['left']), min_left);
9241 }
9242 for (var element in e2pdf.storage.get('elements')) {
9243 var buffered = e2pdf.storage.get('elements')[element];
9244 var properties = buffered.properties;
9245 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9246 if (context.hasClass('e2pdf-context-bottom')) {
9247 top += context.height();
9248 }
9249 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9250 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9251 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9252 left_correction = Math.max(correction, left_correction);
9253 }
9254 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9255 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9256 top_correction = Math.max(correction, top_correction);
9257 }
9258 }
9259 }
9260
9261 var history = [];
9262 for (var element in e2pdf.storage.get('elements')) {
9263 var buffered = e2pdf.storage.get('elements')[element];
9264 var properties = buffered.properties;
9265 var actions = buffered.actions;
9266 if (key !== 'elements-in-place') {
9267 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9268 if (context.hasClass('e2pdf-context-bottom')) {
9269 top += context.height();
9270 }
9271 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9272 properties['top'] = top;
9273 properties['left'] = left;
9274 }
9275 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9276 page.append(el);
9277 e2pdf.properties.render(el);
9278 e2pdf.element.select(el);
9279 history.push(el.clone(true));
9280 }
9281 e2pdf.history.set('element_create', history);
9282 e2pdf.event.fire('after.element.paste');
9283 break;
9284 case 'actions':
9285 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9286 break;
9287 case 'width':
9288 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9289 e2pdf.properties.render(el);
9290 break;
9291 case 'height':
9292 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9293 e2pdf.properties.render(el);
9294 break;
9295 }
9296 }
9297 },
9298 // e2pdf.wysiwyg
9299 wysiwyg: {
9300 // e2pdf.wysiwyg.apply
9301 apply: function (el) {
9302 var history = [];
9303 history.push(el);
9304 e2pdf.history.set('wysiwyg', history);
9305 var html = '';
9306 var command = el.attr('data-command');
9307 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9308 if (command === 'H1') {
9309 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9310 e2pdf.wysiwyg.clear('h1');
9311 } else {
9312 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9313 document.execCommand('insertHTML', false, html);
9314 }
9315 } else if (command === 'H2') {
9316 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9317 e2pdf.wysiwyg.clear('h2');
9318 } else {
9319 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9320 document.execCommand('insertHTML', false, html);
9321 }
9322 } else if (command === 'createlink') {
9323 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9324 document.execCommand(command, false, url);
9325 } else if (command === 'font-size') {
9326 var font_size = el.find('option:selected').html();
9327 if (node.is("span") && document.getSelection().toString() === node.text()) {
9328 html = node.css('font-size', font_size + "px").prop('outerHTML');
9329 } else {
9330 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9331 }
9332 document.execCommand('insertHTML', false, html);
9333 el.val('');
9334 } else if (command === 'line-height') {
9335 var font_size = el.find('option:selected').html();
9336 if (node.is("span") && document.getSelection().toString() === node.text()) {
9337 html = node.css('line-height', font_size + "px").prop('outerHTML');
9338 } else {
9339 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9340 }
9341 document.execCommand('insertHTML', false, html);
9342 el.val('');
9343 } else if (command === 'font') {
9344 e2pdf.font.load(el);
9345 var font = CSS.escape(el.find('option:selected').html());
9346 if (node.is("span") && document.getSelection().toString() === node.text()) {
9347 html = node.css('font-family', font).prop('outerHTML');
9348 } else {
9349 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9350 }
9351 document.execCommand('insertHTML', false, html);
9352 el.val('');
9353 } else if (command === 'color') {
9354 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9355 var color = el.val();
9356 document.execCommand('foreColor', false, color);
9357 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9358 } else if (command === 'clear') {
9359 document.execCommand("removeformat", false, "");
9360 e2pdf.wysiwyg.clear();
9361 } else if (command) {
9362 document.execCommand(command, false, null);
9363 }
9364 e2pdf.event.fire('after.wysiwyg.apply');
9365 },
9366 // e2pdf.wysiwyg.clear
9367 clear: function (tags) {
9368 if (!tags) {
9369 var tags = "h1,h2";
9370 }
9371 var array = tags.toLowerCase().split(",");
9372 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9373 if (node.nodeType === 1 &&
9374 array.indexOf(node.tagName.toLowerCase()) > -1) {
9375 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9376 }
9377 });
9378 },
9379 // e2pdf.wysiwyg.helper
9380 helper: {
9381 // e2pdf.wysiwyg.helper.getSelectedNodes
9382 getSelectedNodes: function () {
9383 var nodes = [];
9384 if (window.getSelection) {
9385 var sel = window.getSelection();
9386 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9387 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9388 }
9389 }
9390 return nodes;
9391 },
9392 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9393 replaceWithOwnChildren: function (el) {
9394 var parent = el.parentNode;
9395 while (el.hasChildNodes()) {
9396 parent.insertBefore(el.firstChild, el);
9397 }
9398 parent.removeChild(el);
9399 },
9400 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9401 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9402 var node = range.startContainer;
9403 var endNode = range.endContainer;
9404 var rangeNodes = [];
9405 if (node === endNode) {
9406 rangeNodes = [node];
9407 } else {
9408 while (node && node !== endNode) {
9409 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9410 }
9411 node = range.startContainer;
9412 while (node && node !== range.commonAncestorContainer) {
9413 rangeNodes.unshift(node);
9414 node = node.parentNode;
9415 }
9416 }
9417
9418 if (includePartiallySelectedContainers) {
9419 node = range.commonAncestorContainer;
9420 while (node) {
9421 rangeNodes.push(node);
9422 node = node.parentNode;
9423 }
9424 }
9425
9426 return rangeNodes;
9427 },
9428 // e2pdf.wysiwyg.helper.getSelectedNode
9429 getSelectedNode: function () {
9430 var node, selection;
9431 if (window.getSelection) {
9432 selection = getSelection();
9433 node = selection.anchorNode;
9434 }
9435 if (!node && document.selection) {
9436 selection = document.selection;
9437 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9438 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9439 range.parentElement ? range.parentElement() : range.item(0);
9440 }
9441 if (node) {
9442 return (node.nodeName === "#text" ? node.parentNode : node);
9443 }
9444 },
9445 // e2pdf.wysiwyg.helper.nextNode
9446 nextNode: function (node) {
9447 if (node.hasChildNodes()) {
9448 return node.firstChild;
9449 } else {
9450 while (node && !node.nextSibling) {
9451 node = node.parentNode;
9452 }
9453 if (!node) {
9454 return null;
9455 }
9456 return node.nextSibling;
9457 }
9458 },
9459 // e2pdf.wysiwyg.helper.getSelectionHtml
9460 getSelectionHtml: function () {
9461 var html = "";
9462 if (typeof window.getSelection != 'undefined') {
9463 var sel = window.getSelection();
9464 if (sel.rangeCount) {
9465 var container = document.createElement("div");
9466 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9467 container.appendChild(sel.getRangeAt(i).cloneContents());
9468 }
9469 html = container.innerHTML;
9470 }
9471 } else if (typeof document.selection != 'undefined') {
9472 if (document.selection.type === "Text") {
9473 html = document.selection.createRange().htmlText;
9474 }
9475 }
9476 return html;
9477 },
9478 // e2pdf.wysiwyg.helper.saveSelection
9479 saveSelection: function () {
9480 if (window.getSelection) {
9481 sel = window.getSelection();
9482 if (sel.getRangeAt && sel.rangeCount) {
9483 return sel.getRangeAt(0);
9484 }
9485 } else if (document.selection && document.selection.createRange) {
9486 return document.selection.createRange();
9487 }
9488 return null;
9489 },
9490 // e2pdf.wysiwyg.helper.restoreSelection
9491 restoreSelection: function (range) {
9492 if (range) {
9493 if (window.getSelection) {
9494 sel = window.getSelection();
9495 sel.removeAllRanges();
9496 sel.addRange(range);
9497 } else if (document.selection && range.select) {
9498 range.select();
9499 }
9500 }
9501 },
9502 // e2pdf.wysiwyg.helper.dropSelection
9503 dropSelection: function () {
9504 if (window.getSelection) {
9505 sel = window.getSelection();
9506 sel.removeAllRanges();
9507 }
9508 }
9509 }
9510 },
9511 // e2pdf.visual
9512 visual: {
9513 // e2pdf.visual.mapper
9514 mapper: {
9515 cursorPosStart: null,
9516 cursorPosEnd: null,
9517 cursorRange: null,
9518 selected: null,
9519 // e2pdf.visual.mapper.init
9520 init: function (el) {
9521 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9522 if (el.find('.e2pdf-inner-element').is('div')) {
9523 if (window.getSelection) {
9524 sel = window.getSelection();
9525 if (sel.getRangeAt && sel.rangeCount) {
9526 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9527 }
9528 } else if (document.selection && document.selection.createRange) {
9529 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9530 }
9531 e2pdf.visual.mapper.cursorPosStart = null;
9532 e2pdf.visual.mapper.cursorPosEnd = null;
9533 } else {
9534 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9535 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9536 e2pdf.visual.mapper.cursorRange = null;
9537 }
9538 } else {
9539 e2pdf.visual.mapper.cursorPosStart = null;
9540 e2pdf.visual.mapper.cursorPosEnd = null;
9541 e2pdf.visual.mapper.cursorRange = null;
9542 }
9543
9544 e2pdf.visual.mapper.selected = el;
9545 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9546 e2pdf.dialog.create(modal);
9547 },
9548 // e2pdf.visual.mapper.markup
9549 markup: function () {
9550 e2pdf.dialog.rebuild();
9551 },
9552 // e2pdf.visual.mapper.rebuild
9553 rebuild: function () {
9554 if (jQuery('.e2pdf-vm-content').length > 0) {
9555 var vc_content = jQuery('.e2pdf-vm-content');
9556 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9557 jQuery('.e2pdf-vm-wrapper').remove();
9558 }
9559 vc_content.find('input[type="hidden"]').each(function () {
9560 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9561 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9562 jQuery(this).attr('value', jQuery(this).attr('name'));
9563 }
9564 });
9565 if (e2pdf.static.vm.hidden) {
9566 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9567 jQuery(this).attr('type', 'text');
9568 });
9569 } else {
9570 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9571 jQuery(this).attr('type', 'hidden');
9572 });
9573 }
9574
9575 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9576 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 () {
9577 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9578 });
9579 vc_content.append(vc_wrapper);
9580 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9581 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9582 }
9583 }
9584 },
9585 // e2pdf.visual.mapper.clear
9586 clear: function () {
9587 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9588 jQuery('.e2pdf-vm-wrapper').remove();
9589 }
9590 },
9591 // e2pdf.visual.mapper.load
9592 load: function (el) {
9593 var loaded = false;
9594 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9595 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9596 var width = el.css('width');
9597 var height = el.css('height');
9598 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9599 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9600 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9601 'width': width, 'height': height, 'top': top, 'left': left
9602 });
9603 var name = el.attr('name');
9604 var type = el.attr('type');
9605 var value = el.attr('value');
9606 if (el.is('select')) {
9607 type = 'select';
9608 value = '';
9609 el.find('option').each(function () {
9610 value += jQuery(this).attr('value');
9611 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9612 value += "\n";
9613 }
9614 });
9615 }
9616
9617 loaded.data('name', name);
9618 loaded.data('type', type);
9619 loaded.data('value', value);
9620 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9621 }
9622 return loaded;
9623 },
9624 // e2pdf.visual.mapper.apply
9625 apply: function (el) {
9626 if (e2pdf.visual.mapper.selected) {
9627 var history = [];
9628 history.push(e2pdf.visual.mapper.selected.clone(true));
9629 e2pdf.history.set('element_change', history);
9630 var name = el.data('name');
9631 var group = el.data('name');
9632 var value = el.data('value');
9633 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9634 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9635 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9636 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9637 var final = textBefore + name + textAfter;
9638 if (!e2pdf.static.vm.replace) {
9639 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9640 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9641 } else {
9642 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9643 }
9644 name = final;
9645 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9646 e2pdf.visual.mapper.cursorRange.deleteContents();
9647 var node = document.createTextNode(name);
9648 e2pdf.visual.mapper.cursorRange.insertNode(node);
9649 } else {
9650 if (!e2pdf.static.vm.replace) {
9651 e2pdf.element.init(e2pdf.visual.mapper.selected);
9652 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9653 }
9654 }
9655 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9656 case 'e2pdf-checkbox':
9657 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9658 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9659 break;
9660 case 'e2pdf-radio':
9661 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9662 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9663 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9664 break;
9665 case 'e2pdf-select':
9666 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9667 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9668 break;
9669 case 'e2pdf-image':
9670 case 'e2pdf-qrcode':
9671 case 'e2pdf-barcode':
9672 case 'e2pdf-graph':
9673 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9674 break;
9675 default:
9676 if (e2pdf.visual.mapper.cursorRange === null) {
9677 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9678 }
9679 break;
9680 }
9681 if (e2pdf.visual.mapper.cursorRange === null) {
9682 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9683 }
9684 }
9685 if (e2pdf.static.vm.close) {
9686 e2pdf.dialog.close();
9687 }
9688 }
9689 }
9690 },
9691 zoom: {
9692 zoom: 1,
9693 click: {
9694 x: 0,
9695 y: 0
9696 },
9697 apply: function (el) {
9698 jQuery('.e2pdf-tpl').removeClass(function (index, className) {
9699 return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
9700 });
9701 if (el.val() !== '100') {
9702 jQuery('.e2pdf-tpl').addClass("e2pdf-z" + el.val());
9703 }
9704
9705 e2pdf.zoom.zoom = el.val() / 100;
9706 jQuery('.e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('.e2pdf-tpl').width()) / 2);
9707 }
9708 }
9709 };
9710 jQuery(window).resize(function () {
9711 e2pdf.visual.mapper.clear();
9712 if (e2pdf.static.observer !== null) {
9713 e2pdf.static.observer.disconnect();
9714 e2pdf.static.observer = null;
9715 }
9716 if (this.e2pdfResizeTO) {
9717 clearTimeout(this.e2pdfResizeTO);
9718 }
9719 this.e2pdfResizeTO = setTimeout(function () {
9720 jQuery(this).trigger('e2pdfResizeEnd');
9721 }, 500);
9722 });
9723 jQuery(document).on('click', '.notice-dismiss', function (e) {
9724 jQuery(this).parent().addClass('e2pdf-hide');
9725 jQuery(this).trigger('e2pdfResizeEnd');
9726 });
9727 jQuery(window).bind('e2pdfResizeEnd', function () {
9728 e2pdf.dialog.rebuild();
9729 });
9730 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9731 var collapse = jQuery(this).attr('data-collapse');
9732 if (collapse) {
9733 if (jQuery(this).is(':checked')) {
9734 jQuery('.' + collapse).removeClass('e2pdf-hide');
9735 } else {
9736 jQuery('.' + collapse).addClass('e2pdf-hide');
9737 }
9738 }
9739 });
9740 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9741
9742 const form = jQuery(this).closest('form');
9743 const value = jQuery(this).val();
9744 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9745 if (value == '1') {
9746 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9747 } else if (value == '2') {
9748 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9749 }
9750
9751 form.off('submit.confirmOverwrite');
9752 if (value == '1' || value == '2' || value == '3') {
9753 form.on('submit.confirmOverwrite', function (e) {
9754 let message = '';
9755 if (value == '3') {
9756 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9757 } else {
9758 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9759 if (!template_id) {
9760 return true;
9761 }
9762 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9763 }
9764 if (!confirm(message)) {
9765 e.preventDefault();
9766 return false;
9767 }
9768 });
9769 }
9770 });
9771 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9772 if (jQuery(this).val() == 'attachment') {
9773 jQuery(this).closest('form').removeAttr('target');
9774 } else {
9775 jQuery(this).closest('form').attr('target', '_blank');
9776 }
9777 });
9778 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9779 var collapse = jQuery(this).attr('data-collapse');
9780 if (collapse) {
9781 if (jQuery(this).hasClass('e2pdf-collapsed')) {
9782 jQuery('.' + collapse).addClass('e2pdf-hide');
9783 jQuery(this).removeClass('e2pdf-collapsed');
9784 } else {
9785 jQuery('.' + collapse).removeClass('e2pdf-hide');
9786 jQuery(this).addClass('e2pdf-collapsed');
9787 }
9788 }
9789 });
9790 jQuery(document).ready(function () {
9791 jQuery('body').removeClass('e2pdf-loading');
9792 if (jQuery('.e2pdf-select2').length > 0) {
9793 jQuery('.e2pdf-select2').attr('disabled', false);
9794 }
9795 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
9796 e.stopPropagation();
9797 e.preventDefault();
9798 e.stopImmediatePropagation();
9799 return false;
9800 });
9801 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
9802 var parent = jQuery(this).closest('.e2pdf-grid');
9803 var argument = parent.find('.e2pdf-argument').first().clone();
9804 var index = parent.find('.e2pdf-argument').length + 1;
9805 argument.find('input').val('').attr('placeholder', 'arg' + index);
9806 argument.appendTo(parent.find('.e2pdf-arguments'));
9807 });
9808 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
9809 var parent = jQuery(this).closest('.e2pdf-grid');
9810 if (parent.find('.e2pdf-argument').length > 1) {
9811 parent.find('.e2pdf-argument').last().remove();
9812 }
9813 });
9814 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
9815 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
9816 var form = jQuery(this).closest('form');
9817 if (form.attr('id') === 'e2pdf-tpl-actions') {
9818 var element = jQuery('.e2pdf-tpl');
9819 } else if (form.attr('id') === 'e2pdf-page-options') {
9820 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
9821 } else {
9822 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9823 }
9824 e2pdf.actions.add(element, actions);
9825 });
9826 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
9827 var action_conditions = jQuery(this).closest('.e2pdf-action');
9828 var form = jQuery(this).closest('form');
9829 if (form.attr('id') === 'e2pdf-tpl-actions') {
9830 var element = jQuery('.e2pdf-tpl');
9831 } else if (form.attr('id') === 'e2pdf-page-options') {
9832 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
9833 } else {
9834 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9835 }
9836
9837 e2pdf.actions.conditions.add(element, action_conditions);
9838 });
9839 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
9840 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
9841 return false;
9842 }
9843 var action = jQuery(this).closest('.e2pdf-action');
9844 e2pdf.actions.delete(action);
9845 });
9846 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
9847 var action = jQuery(this).closest('.e2pdf-action');
9848 e2pdf.actions.duplicate(action);
9849 });
9850 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
9851 var action = jQuery(this).closest('.e2pdf-action');
9852 if (action.find('.e2pdf-condition').length === 1) {
9853 alert(e2pdf.lang.get('Last condition can\'t be removed'));
9854 return false;
9855 }
9856 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
9857 return false;
9858 }
9859 var condition = jQuery(this).closest('.e2pdf-condition');
9860 e2pdf.actions.conditions.delete(condition);
9861 });
9862 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
9863 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
9864 });
9865 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
9866 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
9867 return false;
9868 }
9869 var history = [];
9870 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
9871 var el = jQuery(this);
9872 history.push(el.clone(true));
9873 el.css('background', '');
9874 });
9875 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
9876 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
9877 });
9878 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
9879 e2pdf.zoom.apply(jQuery(this));
9880 });
9881 jQuery(document).on('change', '.e2pdf-extension', function (e) {
9882 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
9883 });
9884 jQuery(document).on('change', '.e2pdf-item', function (e) {
9885 if (jQuery(this).val() == '-1') {
9886 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
9887 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
9888 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
9889 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9890 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9891 } else if (jQuery(this).val() == '-2') {
9892 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9893 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
9894 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
9895 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
9896 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
9897 } else {
9898 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9899 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
9900 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9901 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9902 }
9903 });
9904 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
9905 var action = jQuery(this).closest('.e2pdf-action');
9906 e2pdf.actions.change(action, jQuery(this));
9907 });
9908 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
9909 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
9910 var tab = jQuery(this);
9911 tab.closest('ul').find('li').removeClass('active');
9912 tab.parent('li').addClass('active');
9913 jQuery(document.getElementById(tab.attr('data-tab'))).show();
9914 });
9915 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
9916 var parent = jQuery(this).closest('.e2pdf-closed');
9917 if (parent.hasClass('e2pdf-opened')) {
9918 parent.removeClass('e2pdf-opened');
9919 } else {
9920 jQuery('.e2pdf-closed').each(function () {
9921 jQuery(this).removeClass('e2pdf-opened');
9922 });
9923 parent.addClass('e2pdf-opened');
9924 }
9925 });
9926 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
9927 e.preventDefault();
9928 var el = jQuery(this);
9929 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
9930 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
9931 return false;
9932 }
9933 }
9934 if (el.attr('form-id') == 'license_key') {
9935 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?'))) {
9936 return false;
9937 }
9938 }
9939 e2pdf.request.submitForm(el);
9940 });
9941 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
9942 var el = jQuery(this);
9943 if (el.hasClass('e2pdf-noclose')) {
9944 e2pdf.request.submitLocal(el, true);
9945 } else {
9946 e2pdf.request.submitLocal(el);
9947 }
9948 });
9949 jQuery(document).on('click', '.e2pdf-delete', function (e) {
9950 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?');
9951 if (!confirm(message)) {
9952 e2pdf.delete('.e2pdf-context');
9953 return false;
9954 }
9955 var history = [];
9956 for (var key in e2pdf.element.selected) {
9957 var selected = e2pdf.element.selected[key];
9958 e2pdf.element.init(selected);
9959 history.push(selected.clone(true));
9960 e2pdf.element.delete(selected);
9961 }
9962 e2pdf.history.set('element_delete', history);
9963 e2pdf.element.unselect();
9964 });
9965 jQuery(document).on('click', '.e2pdf-copy', function (e) {
9966 var type = jQuery(this).attr('type');
9967 if (type == 'elements') {
9968 e2pdf.storage.delete('elements');
9969 }
9970 for (var key in e2pdf.element.selected) {
9971 var selected = e2pdf.element.selected[key];
9972 e2pdf.copy(type, selected);
9973 }
9974 });
9975 jQuery(document).on('click', '.e2pdf-paste', function (e) {
9976 var type = jQuery(this).attr('type');
9977 if (type == 'elements' || type == 'elements-in-place') {
9978 e2pdf.paste(type);
9979 } else {
9980 var history = [];
9981 for (var key in e2pdf.element.selected) {
9982 var selected = e2pdf.element.selected[key];
9983 history.push(selected.clone(true));
9984 e2pdf.paste(type, selected);
9985 }
9986 e2pdf.history.set('element_change', history);
9987 }
9988 });
9989 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
9990 var history = [];
9991 for (var key in e2pdf.element.selected) {
9992 var selected = e2pdf.element.selected[key];
9993 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
9994 history.push(selected.clone(true));
9995 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
9996 }
9997 }
9998 e2pdf.history.set('element_change', history);
9999 });
10000 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10001 var history = [];
10002 for (var key in e2pdf.element.selected) {
10003 var selected = e2pdf.element.selected[key];
10004 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10005 history.push(selected.clone(true));
10006 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10007 e2pdf.properties.render(selected);
10008 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10009 history.push(selected.clone(true));
10010 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10011 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10012 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10013 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10014 e2pdf.properties.render(selected);
10015 }
10016 }
10017 e2pdf.history.set('element_change', history);
10018 });
10019 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10020 e2pdf.storage.delete('elements');
10021 var history = [];
10022 for (var key in e2pdf.element.selected) {
10023 var selected = e2pdf.element.selected[key];
10024 e2pdf.element.init(selected);
10025 history.push(selected.clone(true));
10026 e2pdf.copy('elements', selected);
10027 e2pdf.element.delete(selected);
10028 }
10029 e2pdf.history.set('element_delete', history);
10030 });
10031 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10032 e.preventDefault();
10033 e.stopPropagation();
10034 e.stopImmediatePropagation();
10035 });
10036 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10037 jQuery(this).find('ul').show();
10038 });
10039 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10040 jQuery(this).find('ul').hide();
10041 });
10042 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10043 for (var key in e2pdf.element.selected) {
10044 var selected = e2pdf.element.selected[key];
10045 selected.addClass('e2pdf-focused');
10046 }
10047 });
10048 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10049 for (var key in e2pdf.element.selected) {
10050 var selected = e2pdf.element.selected[key];
10051 e2pdf.element.hide(selected);
10052 }
10053 });
10054 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10055 for (var key in e2pdf.element.selected) {
10056 var selected = e2pdf.element.selected[key];
10057 e2pdf.element.show(selected);
10058 }
10059 });
10060 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10061 for (var key in e2pdf.element.selected) {
10062 var selected = e2pdf.element.selected[key];
10063 e2pdf.properties.set(selected, 'locked', '1');
10064 selected.addClass('e2pdf-locked');
10065 }
10066 });
10067 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10068 for (var key in e2pdf.element.selected) {
10069 var selected = e2pdf.element.selected[key];
10070 e2pdf.properties.set(selected, 'locked', '0');
10071 selected.removeClass('e2pdf-locked');
10072 }
10073 });
10074 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10075 return false;
10076 });
10077 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10078 return false;
10079 });
10080 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10081 if (jQuery(this).hasClass('e2pdf-inactive')) {
10082 jQuery('html').addClass('e2pdf-show-all-elements');
10083 jQuery(this).removeClass('e2pdf-inactive');
10084 } else {
10085 jQuery('html').removeClass('e2pdf-show-all-elements');
10086 jQuery(this).addClass('e2pdf-inactive');
10087 }
10088 });
10089 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10090 if (jQuery(this).hasClass('e2pdf-inactive')) {
10091 jQuery('html').addClass('e2pdf-unlock-all-elements');
10092 jQuery(this).removeClass('e2pdf-inactive');
10093 } else {
10094 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10095 jQuery(this).addClass('e2pdf-inactive');
10096 }
10097 });
10098 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10099 if (jQuery(this).hasClass('e2pdf-inactive')) {
10100 jQuery(this).removeClass('e2pdf-inactive');
10101 } else {
10102 jQuery(this).addClass('e2pdf-inactive');
10103 }
10104 jQuery('.e2pdf-html').each(function () {
10105 var el = jQuery(this).parent();
10106 var children = jQuery(this);
10107 if (children.is('textarea')) {
10108 e2pdf.properties.set(el, 'value', children.val());
10109 } else {
10110 e2pdf.properties.set(el, 'value', children.html());
10111 }
10112 e2pdf.properties.render(el);
10113 });
10114 });
10115 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10116 if (e2pdf.pdf.settings.get('pdf')) {
10117 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10118 } else if (e2pdf_params['license_type'] == 'FREE') {
10119 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10120 } else {
10121 e2pdf.pages.createPage();
10122 }
10123 });
10124 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10125 e2pdf.history.undo();
10126 });
10127 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10128 e2pdf.history.redo();
10129 });
10130 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10131 if (e2pdf.url.get('revision_id')) {
10132 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10133 return false;
10134 }
10135 e2pdf.createPdf(jQuery(this));
10136 });
10137 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10138 e2pdf.pages.movePage(jQuery(this), 'up');
10139 });
10140 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10141 e2pdf.pages.movePage(jQuery(this), 'down');
10142 });
10143 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10144 if (e2pdf.pdf.settings.get('pdf')) {
10145 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10146 return false;
10147 }
10148 var history = [];
10149 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10150 var el = jQuery(this);
10151 history.push(el.closest('.e2pdf-page').clone(true));
10152 e2pdf.pages.deletePage(el);
10153 });
10154 history.reverse();
10155 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10156 } else {
10157 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10158 return false;
10159 }
10160 var el = jQuery(jQuery(this));
10161 var history = [];
10162 history.push(el.closest('.e2pdf-page').clone(true));
10163 e2pdf.history.set('page_delete', history);
10164 e2pdf.pages.deletePage(el);
10165 }
10166 });
10167 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10168 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10169 return false;
10170 }
10171 var history = [];
10172 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10173 var el = jQuery(this);
10174 history.push(el.closest('.e2pdf-page').clone(true));
10175 e2pdf.pages.deletePage(el);
10176 });
10177 history.reverse();
10178 if (e2pdf.pdf.settings.get('pdf')) {
10179 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10180 } else {
10181 e2pdf.history.set('page_delete', history);
10182 }
10183 });
10184 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10185 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10186 return false;
10187 }
10188 var el = jQuery(jQuery(this));
10189 e2pdf.font.delete(el);
10190 });
10191 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10192 e2pdf.dialog.create(jQuery(this));
10193 });
10194 jQuery(document).on('click', 'body', function (e) {
10195 e2pdf.delete('.e2pdf-context');
10196 });
10197 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10198 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10199 });
10200 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10201 if (jQuery(this).is('select')) {
10202 var data = {};
10203 data['id'] = jQuery('.e2pdf-export-template').val();
10204 data['datasets'] = {};
10205 jQuery('.e2pdf-export-dataset').each(function () {
10206 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10207 });
10208 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10209 }
10210 });
10211 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10212 var data = {};
10213 data['id'] = jQuery('.e2pdf-export-template').val();
10214 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10215 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10216 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10217 });
10218 jQuery(document).on('change', 'fieldset.e2pdf-export-dataset input[type="checkbox"]', function (e) {
10219 if (jQuery(this).is(':checked')) {
10220 if (jQuery(this).val() == '') {
10221 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10222 }
10223 } else {
10224 if (jQuery(this).val() == '') {
10225 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10226 } else {
10227 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10228 }
10229 }
10230
10231 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10232 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10233 }
10234
10235 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10236 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10237 } else {
10238 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10239 }
10240 });
10241 jQuery(document).on('change', '#e2pdf-font', function (e) {
10242 e2pdf.font.load(jQuery(this));
10243 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10244 });
10245 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10246 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10247 });
10248 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10249 var text_align = jQuery(this).val();
10250 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10251 if (
10252 jQuery(this).data('data-type') == 'e2pdf-input'
10253 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10254 || jQuery(this).data('data-type') == 'e2pdf-html'
10255 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10256 || jQuery(this).data('data-type') == 'e2pdf-link'
10257 ) {
10258 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10259 var children = e2pdf.element.children(jQuery(this));
10260 children.css('text-align', text_align);
10261 }
10262 }
10263 });
10264 });
10265 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10266 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10267 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10268 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10269 (e.shiftKey === true && e.keyCode === 187) ||
10270 (e.keyCode >= 35 && e.keyCode <= 40)
10271 ) {
10272
10273 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10274 e.preventDefault();
10275 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10276 e.preventDefault();
10277 } else {
10278 return;
10279 }
10280 }
10281 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10282 e.preventDefault();
10283 }
10284 });
10285 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10286 if (e.which == 13) {
10287 e.preventDefault();
10288 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10289 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10290 } else {
10291 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10292 }
10293 }
10294 });
10295 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10296 var value = jQuery(this).val().trim();
10297 var prefix = '';
10298 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10299 prefix = '+';
10300 }
10301 value = parseFloat(value);
10302 if (isNaN(value)) {
10303 value = 0;
10304 }
10305 jQuery(this).val(prefix + value);
10306 });
10307 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10308 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10309 });
10310 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10311 if (jQuery(this).is(':checked')) {
10312 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10313 } else {
10314 jQuery('.e2pdf-tpl').attr('dir', false);
10315 }
10316 });
10317 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10318 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10319 });
10320 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10321 e.preventDefault();
10322 for (var key in e2pdf.element.selected) {
10323 var selected = e2pdf.element.selected[key];
10324 e2pdf.mediaUploader.init(selected);
10325 }
10326 });
10327 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10328 for (var key in e2pdf.element.selected) {
10329 var selected = e2pdf.element.selected[key];
10330 e2pdf.visual.mapper.init(selected);
10331 }
10332 });
10333 document.addEventListener('selectionchange', function () {
10334 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10335 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10336 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10337 const selection = window.getSelection();
10338 if (selection && selection.toString().length == 0) {
10339 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10340 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10341 }
10342 } else {
10343 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10344 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10345 }
10346 });
10347 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10348 e.preventDefault();
10349 if (jQuery(this).hasClass('e2pdf-inactive')) {
10350 return;
10351 }
10352 e2pdf.wysiwyg.apply(jQuery(this));
10353 });
10354 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10355 e.preventDefault();
10356 e.stopPropagation();
10357 e.stopImmediatePropagation();
10358 if (jQuery(this).hasClass('e2pdf-inactive')) {
10359 return;
10360 }
10361 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10362 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10363 if (!color_panel.hasClass('wp-picker-active')) {
10364 color_panel.find('.wp-color-result').click();
10365 if (color_panel.find('.wp-color-close').length === 0) {
10366 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10367 var width = parseFloat(jQuery(this).css('width'));
10368 var height = parseFloat(jQuery(this).css('height'));
10369 close.css({'width': width, "height": height, "margin-top": -height});
10370 color_panel.append(close);
10371 }
10372 }
10373 });
10374 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10375 e.preventDefault();
10376 e.stopPropagation();
10377 e.stopImmediatePropagation();
10378 if (jQuery(this).hasClass('e2pdf-inactive')) {
10379 return;
10380 }
10381 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10382 if (gridContainer.hasClass('e2pdf-hide')) {
10383 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10384 gridContainer.removeClass('e2pdf-hide').empty();
10385 for (let i = 0; i < 100; i++) {
10386 let gridItem = jQuery('<div>');
10387 gridItem.on('mouseover', function () {
10388 let rowCol = calculateRowCol(i);
10389 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10390 });
10391 gridItem.on('mouseout', function () {
10392 highlightGrid(gridContainer, 0, 0);
10393 });
10394 gridItem.on('click', function () {
10395 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10396 let rowCol = calculateRowCol(i);
10397 let html = '<table>\n';
10398 for (let r = 0; r < rowCol.rows; r++) {
10399 html += '<tr>\n';
10400 for (let c = 0; c < rowCol.cols; c++) {
10401 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10402 }
10403 html += '</tr>\n';
10404 }
10405 html += '</table>\n';
10406 document.execCommand('insertHTML', false, html);
10407 gridContainer.addClass('e2pdf-hide');
10408 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10409 });
10410 gridContainer.append(gridItem);
10411 }
10412 gridContainer.append(jQuery('<span>').text('0x0'));
10413 } else {
10414 gridContainer.addClass('e2pdf-hide');
10415 }
10416 function calculateRowCol(index) {
10417 let rows = Math.floor(index / 10) + 1;
10418 let cols = (index % 10) + 1;
10419 return {rows, cols};
10420 }
10421 function highlightGrid(gridContainer, rows, cols) {
10422 gridContainer.find('div').each(function (idx) {
10423 let itemRowCol = calculateRowCol(idx);
10424 gridContainer.find('span').text(rows + 'x' + cols);
10425 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10426 jQuery(this).addClass('e2pdf-highlight');
10427 } else {
10428 jQuery(this).removeClass('e2pdf-highlight');
10429 }
10430 });
10431 }
10432 });
10433 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10434 e2pdf.wysiwyg.apply(jQuery(this));
10435 });
10436 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10437 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10438 });
10439 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10440 if (e2pdf.url.get('revision_id')) {
10441 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10442 return false;
10443 }
10444
10445 var message = "";
10446 if (e2pdf.static.unsaved) {
10447 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10448 }
10449 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10450 jQuery(this).attr('disabled', 'disabled');
10451 jQuery(this).closest('form').append(
10452 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10453 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10454 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10455 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10456 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10457 ),
10458 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10459 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10460 )
10461 )
10462 )
10463 );
10464 });
10465 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10466 if (e2pdf.static.unsaved) {
10467 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10468 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10469 jQuery(this).val(revision_id);
10470 return false;
10471 }
10472 }
10473 e2pdf.static.unsaved = false;
10474 var revision_id = jQuery(this).val();
10475 var template_id = e2pdf.pdf.settings.get('ID');
10476 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10477 if (revision_id === '0') {
10478 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10479 }
10480 jQuery(this).attr('disabled', 'disabled');
10481 location.href = url;
10482 });
10483 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10484 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10485 return false;
10486 }
10487 jQuery('html').addClass('e2pdf-loading');
10488 var data = {};
10489 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10490 });
10491 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10492 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10493 return false;
10494 }
10495 jQuery('html').addClass('e2pdf-loading');
10496 var data = {};
10497 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10498 });
10499 jQuery(document).on('click', '#e2pdf-restore-license-key', function (e) {
10500 var data = {};
10501 jQuery(this).html(e2pdf.lang.get('In Progress...'));
10502 e2pdf.request.submitRequest('e2pdf_restore_license_key', jQuery(this), data);
10503 });
10504 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10505 jQuery(this).closest('.e2pdf-confirmation').remove();
10506 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10507 jQuery('.e2pdf-reupload-pdf').click();
10508 });
10509 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10510 jQuery(this).closest('.e2pdf-confirmation').remove();
10511 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10512 });
10513 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10514 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10515 });
10516 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10517 jQuery(this).autocomplete("search", "");
10518 });
10519 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10520 if (!jQuery(this).is(':checked')) {
10521 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10522 return false;
10523 }
10524 }
10525 });
10526 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10527 e2pdf.event.fire('after.settings.style.change');
10528 });
10529 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10530 e2pdf.event.fire('after.settings.template.change');
10531 });
10532 jQuery(document).on('keyup', '.e2pdf-export-dataset-search', function (e) {
10533 var field_key = jQuery(this).attr('field');
10534 var search = jQuery('.e2pdf-export-dataset-search[field="' + field_key + '"]').val();
10535 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + field_key + '"]');
10536 var options = dataset_field.data('options');
10537 var regex = new RegExp(search, "gi");
10538 var selected = 0;
10539 dataset_field.empty();
10540 jQuery.each(options, function (i) {
10541 var option = options[i];
10542 if (i == 0 || option.value.match(regex) !== null) {
10543 if (e2pdf.url.get('action') == 'bulk') {
10544 dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': field_key + '[]', 'type': 'checkbox', 'value': option.key}))));
10545 } else {
10546 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
10547 if ((selected == 0 && i !== 0) || (search === '' && i === 0)) {
10548 dataset_field.val(option.key);
10549 selected = 1;
10550 }
10551 }
10552 }
10553 });
10554 dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10555 if (dataset_field.find('input[type="checkbox"]').length > 1) {
10556 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10557 } else {
10558 dataset_field.find('input[type="checkbox"]').attr('disabled', true);
10559 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10560 }
10561 if (this.datasetLoad) {
10562 clearTimeout(this.datasetLoad);
10563 }
10564 this.datasetLoad = setTimeout(function () {
10565 dataset_field.trigger('change');
10566 }, 1000);
10567 });
10568 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10569 if (jQuery(this).val() !== '') {
10570 var form = jQuery(this).closest('form');
10571 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10572 form.find('input[name="width"]').val(size.width);
10573 form.find('input[name="height"]').val(size.height);
10574 }
10575 });
10576 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10577 e2pdf.visual.mapper.apply(jQuery(this));
10578 });
10579 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10580 e2pdf.element.unselect();
10581 e2pdf.element.unfocus();
10582 var el = jQuery(this).closest('.e2pdf-element');
10583 e2pdf.element.focus(el);
10584 });
10585 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10586 var el = jQuery(this).closest('.e2pdf-element');
10587 e2pdf.element.unfocus();
10588 if (e.ctrlKey || e.metaKey) {
10589 if (el.hasClass('e2pdf-selected')) {
10590 e2pdf.element.unselect(el);
10591 } else {
10592 e2pdf.element.select(el);
10593 }
10594 } else {
10595 if (el.hasClass('e2pdf-selected')) {
10596 if (Object.keys(e2pdf.element.selected).length > 1) {
10597 e2pdf.element.unselect();
10598 e2pdf.element.select(el);
10599 } else {
10600 e2pdf.element.unselect(el);
10601 }
10602 } else {
10603 if (Object.keys(e2pdf.element.selected).length > 0) {
10604 e2pdf.element.unselect();
10605 e2pdf.element.select(el);
10606 } else {
10607 e2pdf.element.select(el);
10608 }
10609 }
10610 }
10611 });
10612 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10613 var data = {};
10614 data['id'] = jQuery(this).attr('data-id');
10615 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10616 });
10617 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10618 var data = {};
10619 data['id'] = jQuery(this).attr('data-id');
10620 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10621 });
10622 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10623 e.preventDefault();
10624 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10625 return false;
10626 }
10627 var data = {};
10628 data['template'] = jQuery(this).attr('template');
10629 data['dataset'] = jQuery(this).attr('dataset');
10630 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10631 });
10632 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10633 e.preventDefault();
10634 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10635 return false;
10636 }
10637 var data = {};
10638 data['template'] = jQuery(this).attr('template');
10639 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10640 });
10641 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10642 e.preventDefault();
10643 switch (jQuery(this).attr('action')) {
10644 case 'start':
10645 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10646 return false;
10647 }
10648 break;
10649 case 'stop':
10650 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10651 return false;
10652 }
10653 break;
10654 case 'delete':
10655 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10656 return false;
10657 }
10658 break;
10659 }
10660 var data = {};
10661 data['bulk'] = jQuery(this).attr('bulk');
10662 data['action'] = jQuery(this).attr('action');
10663 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10664 });
10665 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10666 jQuery(this).select();
10667 });
10668 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10669 jQuery(this).autocomplete("search", '');
10670 });
10671 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10672 if (jQuery(this).is(':checked')) {
10673 e2pdf.static.vm.hidden = true;
10674 } else {
10675 e2pdf.static.vm.hidden = false;
10676 }
10677 e2pdf.visual.mapper.rebuild();
10678 });
10679 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10680 var value = jQuery(this).val();
10681 if (value != '') {
10682 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10683 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10684 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10685 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10686 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10687 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10688 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10689 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10690 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10691 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10692 } else {
10693 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10694 }
10695 e2pdf.visual.mapper.rebuild();
10696 });
10697 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10698 if (jQuery(this).is(':checked')) {
10699 e2pdf.static.vm.replace = true;
10700 } else {
10701 e2pdf.static.vm.replace = false;
10702 }
10703 });
10704 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10705 if (jQuery(this).is(':checked')) {
10706 e2pdf.static.vm.close = true;
10707 } else {
10708 e2pdf.static.vm.close = false;
10709 }
10710 });
10711 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10712 if (typeof e.clipboardData != 'undefined') {
10713 var clipboardData = e.clipboardData;
10714 } else if (typeof window.clipboardData != 'undefined') {
10715 var clipboardData = window.clipboardData;
10716 } else {
10717 var clipboardData = e.originalEvent.clipboardData;
10718 }
10719 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10720 e.preventDefault();
10721 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10722 data = e2pdf.helper.stripHTML(
10723 data,
10724 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10725 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10726 'span', 'a', 'br',
10727 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10728 'sub', 'sup',
10729 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10730 'ul', 'ol', 'li',
10731 'a'
10732 );
10733 return document.execCommand('insertHtml', false, data);
10734 }
10735 });
10736 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10737 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10738 }
10739
10740 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10741 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10742 }
10743
10744 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10745 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10746 }
10747
10748 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10749 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10750 }
10751
10752 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10753 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10754 }
10755
10756 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10757 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10758 }
10759
10760 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10761 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10762 }
10763
10764 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10765 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10766 }
10767
10768 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10769 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
10770 }
10771
10772 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
10773 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
10774 }
10775
10776 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10777 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10778 }
10779
10780 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10781 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10782 }
10783
10784 jQuery('#e2pdf-zoom').trigger('change');
10785 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
10786 if (e2pdf.url.get('id')) {
10787 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
10788 e2pdf.static.autoloadExport = true;
10789 }
10790 }
10791
10792 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
10793 jQuery('.e2pdf-color-picker-load').each(function () {
10794 jQuery(this).wpColorPicker(
10795 {
10796 defaultColor: function () {
10797 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
10798 if (el.attr('data-default')) {
10799 return el.attr('data-default');
10800 } else {
10801 return;
10802 }
10803 },
10804 change: function (event, ui) {
10805 jQuery(this).val(ui.color.toString()).change();
10806 }
10807 }
10808 ).removeClass('e2pdf-color-picker-load');
10809 });
10810 jQuery(window).bind("beforeunload", function (e) {
10811 if (e2pdf.static.unsaved) {
10812 var confirmationMessage = "\o/";
10813 (e || window.event).returnValue = confirmationMessage;
10814 return confirmationMessage;
10815 }
10816 });
10817 if (jQuery('#e2pdf-build-form').length > 0) {
10818 postboxes.add_postbox_toggles(pagenow);
10819 }
10820
10821 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
10822 && typeof (jQuery.ui.droppable) != 'undefined'
10823 && jQuery('.e2pdf-tpl').length > 0) {
10824 // jQuery UI scale bug fix
10825 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
10826 var i, j,
10827 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
10828 type = event ? event.type : null,
10829 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
10830 droppablesLoop: for (i = 0; i < m.length; i++) {
10831 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
10832 continue;
10833 }
10834 for (j = 0; j < list.length; j++) {
10835 if (list[ j ] === m[ i ].element[ 0 ]) {
10836 m[ i ].proportions().height = 0;
10837 continue droppablesLoop;
10838 }
10839 }
10840 m[ i ].visible = m[ i ].element.css("display") !== "none";
10841 if (!m[ i ].visible) {
10842 continue;
10843 }
10844 if (type === "mousedown") {
10845 m[ i ]._activate.call(m[ i ], event);
10846 }
10847 m[ i ].offset = m[ i ].element.offset();
10848 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
10849 }
10850 };
10851 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
10852 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
10853 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
10854 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
10855 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
10856 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
10857 jQuery('.e2pdf-load-tpl').remove();
10858 jQuery('.e2pdf-load-el').each(function () {
10859 var element = jQuery(this);
10860 var type = element.attr('data-type');
10861 var page = element.closest('.e2pdf-page');
10862 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
10863 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
10864 properties['width'] = element.attr('data-width');
10865 properties['height'] = element.attr('data-height');
10866 properties['top'] = element.attr('data-top');
10867 properties['left'] = element.attr('data-left');
10868 properties['value'] = element.find('.e2pdf-data-value').val();
10869 properties['name'] = element.find('.e2pdf-data-name').val();
10870 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
10871 jQuery(this).replaceWith(el);
10872 e2pdf.properties.render(el);
10873 });
10874 jQuery('.e2pdf-load-page').each(function () {
10875 var page = jQuery(this);
10876 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
10877 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
10878 page.find('.e2pdf-data-properties').remove();
10879 page.find('.e2pdf-data-actions').remove();
10880 page.removeClass('e2pdf-load-page');
10881 e2pdf.pages.createPage(page, properties, actions, true);
10882 });
10883 jQuery('.e2pdf-be').draggable({
10884 cursorAt: {left: 0, top: 0},
10885 helper: function () {
10886 var element = jQuery(this).clone();
10887 var type = element.attr('data-type');
10888 var page = element.closest('.e2pdf-page');
10889 var el = e2pdf.element.create(type, page, false, false, true);
10890 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
10891 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
10892 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
10893 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
10894 e2pdf.properties.render(el);
10895 el.css('z-index', 1);
10896 if (e2pdf.zoom.zoom != 1) {
10897 el.css({
10898 'transform': 'scale(' + e2pdf.zoom.zoom + ')',
10899 'transform-origin': '0 0'
10900 });
10901 }
10902
10903 var w = el.width() * e2pdf.zoom.zoom;
10904 var h = el.height() * e2pdf.zoom.zoom;
10905 e2pdf.static.guide.x = Math.round(w / 2);
10906 e2pdf.static.guide.y = Math.round(h / 2);
10907 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
10908 left: Math.round(w / 2),
10909 top: Math.round(h / 2)
10910 });
10911 return el;
10912 },
10913 start: function (ev, ui) {
10914 e2pdf.element.unselect();
10915 },
10916 stop: function (ev, ui) {
10917 ui.position.top = Math.round(ui.position.top);
10918 ui.position.left = Math.round(ui.position.left);
10919 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
10920 },
10921 drag: function (ev, ui) {
10922 if (e2pdf.static.drag.page !== null) {
10923 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
10924 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
10925 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
10926 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
10927 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
10928 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
10929 jQuery.each(el_guides, function (i, elemGuide) {
10930 if (guide.type == elemGuide.type) {
10931 var prop = guide.type == "h" ? "top" : "left";
10932 var d = Math.abs(elemGuide[prop] - guide[prop]);
10933 if (d < guides[prop].dist) {
10934 guides[prop].dist = d;
10935 guides[prop].offset = elemGuide[prop] - pos[prop];
10936 guides[prop].guide = guide;
10937 }
10938 }
10939 });
10940 });
10941 if (guides.top.dist <= e2pdf.static.guide.distance) {
10942 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();
10943 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
10944 ui.position.top = snap_top;
10945 } else {
10946 jQuery('.e2pdf-guide-h').hide();
10947 }
10948 if (guides.left.dist <= e2pdf.static.guide.distance) {
10949 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();
10950 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
10951 ui.position.left = snap_left;
10952 } else {
10953 jQuery('.e2pdf-guide-v').hide();
10954 }
10955 }
10956 }
10957 });
10958 e2pdf.welcomeScreen();
10959 }
10960 e2pdf.font.load(jQuery('#e2pdf-font'));
10961 jQuery('.e2pdf-load-font').each(function () {
10962 e2pdf.font.load(jQuery(this));
10963 jQuery(this).remove();
10964 });
10965 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
10966 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
10967 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
10968 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10969 }
10970
10971 jQuery(document).keydown(function (e) {
10972 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
10973 if (jQuery('.e2pdf-focused').length == 0
10974 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
10975 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
10976 && Object.keys(e2pdf.element.selected).length > 0) {
10977 e.preventDefault();
10978 switch (e.which) {
10979 case 37:
10980 // left
10981 var diff = 1;
10982 for (var key in e2pdf.element.selected) {
10983 var selected = e2pdf.element.selected[key];
10984 if (parseFloat(selected.css('left')) > 0) {
10985 if (parseFloat(selected.css('left')) - 1 < 0) {
10986 diff = Math.min(diff, selected.css('left'));
10987 }
10988 } else {
10989 diff = Math.min(diff, 0);
10990 }
10991 }
10992
10993 for (var key in e2pdf.element.selected) {
10994 var selected = e2pdf.element.selected[key];
10995 selected.finish().animate({
10996 left: "-=" + diff
10997 }, 0);
10998 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
10999 }
11000 break;
11001 case 38:
11002 // top
11003 var diff = 1;
11004 for (var key in e2pdf.element.selected) {
11005 var selected = e2pdf.element.selected[key];
11006 if (parseFloat(selected.css('top')) > 0) {
11007 if (parseFloat(selected.css('top')) - 1 < 0) {
11008 diff = Math.min(diff, selected.css('top'));
11009 }
11010 } else {
11011 diff = Math.min(diff, 0);
11012 }
11013 }
11014
11015 for (var key in e2pdf.element.selected) {
11016 var selected = e2pdf.element.selected[key];
11017 selected.finish().animate({
11018 top: "-=" + diff
11019 }, 0);
11020 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11021 }
11022 break;
11023 case 39:
11024 // right
11025 var diff = 1;
11026 for (var key in e2pdf.element.selected) {
11027 var selected = e2pdf.element.selected[key];
11028 if (parseFloat(selected.css('right')) > 0) {
11029 if (parseFloat(selected.css('right')) - 1 < 0) {
11030 diff = Math.min(diff, selected.css('right'));
11031 }
11032 } else {
11033 diff = Math.min(diff, 0);
11034 }
11035 }
11036
11037 for (var key in e2pdf.element.selected) {
11038 var selected = e2pdf.element.selected[key];
11039 selected.finish().animate({
11040 left: "+=" + diff
11041 }, 0);
11042 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11043 }
11044 break;
11045 case 40:
11046 // down
11047 var diff = 1;
11048 for (var key in e2pdf.element.selected) {
11049 var selected = e2pdf.element.selected[key];
11050 if (parseFloat(selected.css('bottom')) > 0) {
11051 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11052 diff = Math.min(diff, selected.css('bottom'));
11053 }
11054 } else {
11055 diff = Math.min(diff, 0);
11056 }
11057 }
11058
11059 for (var key in e2pdf.element.selected) {
11060 var selected = e2pdf.element.selected[key];
11061 selected.finish().animate({
11062 top: "+=" + diff
11063 }, 0);
11064 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11065 }
11066 break;
11067 case 46:
11068 // delete
11069 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?');
11070 if (!confirm(message)) {
11071 e2pdf.delete('.e2pdf-context');
11072 return false;
11073 }
11074 var history = [];
11075 for (var key in e2pdf.element.selected) {
11076 var selected = e2pdf.element.selected[key];
11077 e2pdf.element.init(selected);
11078 history.push(selected.clone(true));
11079 e2pdf.element.delete(selected);
11080 }
11081 e2pdf.history.set('element_delete', history);
11082 e2pdf.element.unselect();
11083 break;
11084 }
11085 }
11086 }
11087 });
11088 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11089 e2pdf.select2.init(jQuery(this));
11090 });
11091 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11092 e2pdf.select2.click(jQuery(this));
11093 });
11094 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11095 e2pdf.select2.filter(jQuery(this));
11096 });
11097 jQuery(document).on('mousedown', 'body', function (e) {
11098 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11099 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11100 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11101 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11102 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11103 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11104 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11105 e.ctrlKey !== true) {
11106 e2pdf.element.unselect();
11107 e2pdf.element.unfocus();
11108 }
11109 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11110 jQuery('.e2pdf-closed').each(function () {
11111 jQuery(this).removeClass('e2pdf-opened');
11112 });
11113 }
11114 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11115 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11116 }
11117 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11118 jQuery('.e2pdf-select2-dropdown').each(function () {
11119 e2pdf.select2.close(jQuery(this));
11120 });
11121 }
11122 });
11123 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11124 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11125 if (jQuery('.e2pdf-bulks-list').length > 0)
11126 {
11127 e2pdf.bulk.progress();
11128 }
11129 });