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

11,127 lines 567.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var e2pdf = {
2 // e2pdf.helper
3 helper: {
4 // e2pdf.helper.color
5 color: {
6 close: function (el) {
7 var color_panel = jQuery(el).parent();
8 color_panel.find('.wp-color-result').click();
9 }
10 },
11 // e2pdf.helper.font
12 font: {
13 fonts: function (field = '') {
14 var options = [];
15 jQuery('.e2pdf-wysiwyg-font').find('option').each(function () {
16 var option = {};
17 option[jQuery(this).attr('value')] = jQuery(this).html();
18 options.push(option);
19 });
20 return options;
21 },
22 sizes: function (field = '', properties = []) {
23 var options = [];
24 jQuery('.e2pdf-wysiwyg-fontsize').find('option').each(function () {
25 var option = {};
26 option[jQuery(this).attr('value')] = jQuery(this).html();
27 options.push(option);
28 if (jQuery(this).attr('value') === '' && properties.hasOwnProperty('text_font_size') && properties['text_font_size'] == '-1') {
29 option = {};
30 option['-1'] = e2pdf.lang.get('Auto');
31 options.push(option);
32 }
33 });
34 return options;
35 },
36 lines: function (field = '') {
37 var options = [];
38 var option = {};
39 option[''] = '-';
40 options.push(option);
41 jQuery('#e2pdf-line-height').find('option').each(function () {
42 var option = {};
43 option[jQuery(this).attr('value')] = jQuery(this).html();
44 options.push(option);
45 });
46 return options;
47 }
48 },
49 // e2pdf.helper.image
50 image: {
51 // e2pdf.helper.image.load
52 load: function (el) {
53 el.addClass('e2pdf-loader');
54 var properties = e2pdf.properties.get(el);
55 var value = e2pdf.helper.getString(properties['value']);
56 var image = new Image();
57 switch (el.data('data-type')) {
58 case 'e2pdf-qrcode':
59 value = e2pdf.url.pluginsUrl() + '/img/qrcode.svg';
60 break;
61 case 'e2pdf-barcode':
62 value = e2pdf.url.pluginsUrl() + '/img/barcode.svg';
63 break;
64 case 'e2pdf-graph':
65 value = e2pdf.url.pluginsUrl() + '/img/graph.svg';
66 break;
67 case 'e2pdf-signature':
68 if (typeof value === 'string' && (value.trim().startsWith("https://") || !value.trim().startsWith("http://"))) {
69 } else {
70 value = e2pdf.url.pluginsUrl() + '/img/signature.svg';
71 }
72 break;
73 case 'e2pdf-image':
74 if (typeof value === 'string' && (value.trim().startsWith("https://") || value.trim().startsWith("http://"))) {
75 } else {
76 value = e2pdf.url.pluginsUrl() + '/img/upload.svg';
77 }
78 break;
79 }
80
81 var children = e2pdf.element.children(el);
82 children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
83 image.onload = function ()
84 {
85 el.removeClass('e2pdf-loader');
86 switch (el.data('data-type')) {
87 case 'e2pdf-qrcode':
88 children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
89 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
90 e2pdf.helper.image.aspectRatio(el, this, properties);
91 break;
92 case 'e2pdf-barcode':
93 children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
94 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
95 break;
96 case 'e2pdf-graph':
97 children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
98 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
99 break;
100 case 'e2pdf-image':
101 case 'e2pdf-signature':
102 el.removeClass('e2pdf-aspect-ratio e2pdf-align-left e2pdf-align-center e2pdf-align-bottom e2pdf-valign-left e2pdf-valign-middle e2pdf-valign-bottom');
103 if (value === e2pdf.url.pluginsUrl() + '/img/upload.svg') {
104 children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
105 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
106 } else if (value === e2pdf.url.pluginsUrl() + '/img/signature.svg') {
107 children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
108 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
109 } else {
110 children.attr('src', value);
111 if (e2pdf.helper.getCheckbox(properties['dimension']) == '1') {
112 el.addClass('e2pdf-aspect-ratio');
113 switch (e2pdf.helper.getString(properties['horizontal'])) {
114 case 'center':
115 el.addClass('e2pdf-align-center');
116 break;
117 case 'right':
118 el.addClass('e2pdf-align-right');
119 break;
120 default:
121 el.addClass('e2pdf-align-left');
122 break;
123 }
124 switch (e2pdf.helper.getString(properties['vertical'])) {
125 case 'top':
126 el.addClass('e2pdf-valign-top');
127 break;
128 case 'middle':
129 el.addClass('e2pdf-valign-middle');
130 break;
131 default:
132 el.addClass('e2pdf-valign-bottom');
133 break;
134 }
135 if (e2pdf.helper.getCheckbox(properties['block_dimension']) == '1') {
136 e2pdf.helper.image.aspectRatio(el, this, properties);
137 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = true;
138 } else {
139 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
140 }
141
142 } else {
143 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
144 }
145 children.removeClass('e2pdf-image-blank');
146 }
147 break;
148 }
149 };
150 image.onerror = function ()
151 {
152 el.removeClass('e2pdf-loader');
153 switch (el.data('data-type')) {
154 case 'e2pdf-qrcode':
155 children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
156 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
157 break;
158 case 'e2pdf-barcode':
159 children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
160 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
161 break;
162 case 'e2pdf-graph':
163 children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
164 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
165 break;
166 case 'e2pdf-signature':
167 children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
168 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
169 break;
170 case 'e2pdf-image':
171 children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
172 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
173 break;
174 }
175 };
176 image.src = value;
177 },
178 // e2pdf.helper.image.aspectRatio
179 aspectRatio: function (el, img, properties) {
180
181 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
182 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
183 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
184 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
185 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
186 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
187 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
188 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
189 var maxWidth = el.width();
190 var maxHeight = el.height();
191 var ratio = 0;
192 var width = img.naturalWidth * 100000;
193 var height = img.naturalHeight * 100000;
194 if (width > maxWidth) {
195 ratio = maxWidth / width;
196 height = height * ratio;
197 width = width * ratio;
198 }
199 if (height > maxHeight) {
200 ratio = maxHeight / height;
201 width = width * ratio;
202 height = height * ratio;
203 }
204 switch (e2pdf.helper.getString(properties['vertical'])) {
205 case 'middle':
206 if (el.height() > height) {
207 var top = Math.max(0, (((e2pdf.helper.getFloat(el.css('top'))) + (el.height()) / 2)) - (height / 2));
208 e2pdf.properties.set(el, 'top', top);
209 el.css('top', top);
210 }
211 break;
212 case 'bottom':
213 if (el.height() > height) {
214 var top = Math.max(0, e2pdf.helper.getFloat(el.css('top')) + (el.height() - height));
215 e2pdf.properties.set(el, 'top', top);
216 el.css('top', top);
217 }
218 break;
219 }
220 switch (e2pdf.helper.getString(properties['horizontal'])) {
221 case 'center':
222 if (el.width() > width) {
223 var left = Math.max(0, (((e2pdf.helper.getFloat(el.css('left'))) + (el.width()) / 2)) - (width / 2));
224 e2pdf.properties.set(el, 'left', left);
225 el.css('left', left);
226 }
227 break;
228 case 'right':
229 if (el.width() > width) {
230 var left = Math.max(0, e2pdf.helper.getFloat(el.css('left')) + (el.width() - width));
231 e2pdf.properties.set(el, 'left', left);
232 el.css('left', left);
233 }
234 break;
235 }
236 e2pdf.properties.set(el, 'width', width + border_left + border_right + padding_left + padding_right);
237 e2pdf.properties.set(el, 'height', height + border_top + border_bottom + padding_top + padding_bottom);
238 el.width(width);
239 el.height(height);
240 }
241 },
242 getFloat: function (value, def = 0, units = '') {
243 const val = parseFloat(value);
244 if (units) {
245 return isNaN(val) ? def : val + units;
246 } else {
247 return isNaN(val) ? def : val;
248 }
249 },
250 getInt: function (value, def = 0, units = '') {
251 const val = parseInt(value);
252 if (units) {
253 return isNaN(val) ? def : val + units;
254 } else {
255 return isNaN(val) ? def : val;
256 }
257
258 },
259 getString: function (value, def = '', units = '') {
260 const val = value;
261 if (units) {
262 return typeof val === 'undefined' ? def : val + units;
263 } else {
264 return typeof val === 'undefined' ? def : val;
265 }
266 },
267 getCheckbox: function (value, def = '', units = '') {
268 const val = value;
269 if (units) {
270 return typeof val === 'undefined' || val != '1' ? def : val + units;
271 } else {
272 return typeof val === 'undefined' || val != '1' ? def : val;
273 }
274 },
275 // e2pdf.helper.toHtml
276 toHtml: function (value) {
277 var div = document.createElement('div');
278 div.innerHTML = value;
279 return (div.innerHTML);
280 },
281 stripHTML: function (html, ...args) {
282 return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 },
286 // e2pdf.helper.sizeToFloat
287 sizeToFloat: function (value, width) {
288 if (typeof value === 'string' && value.search("%") > 0) {
289 return parseFloat(width) * (parseFloat(value.replace('%', '')) / 100);
290 } else {
291 return parseFloat(value);
292 }
293 },
294 // e2pdf.helper.ajaxurl
295 ajaxurl: function (action, _wpnonce) {
296 if (action) {
297 var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
298 } else {
299 var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
300 }
301 return url;
302 },
303 // e2pdf.helper.css
304 css: function (element_id, css) {
305 if (typeof css === 'string') {
306 css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
307 return '#poststuff .e2pdf-element[data-element_id="' + element_id + '"] .e2pdf-html ' + match;
308 });
309 var style = jQuery('#e2pdf-html-css-' + element_id);
310 if (style.length !== 0) {
311 style.remove();
312 }
313 if (css.trim()) {
314 var el = document.createElement('style');
315 el.id = 'e2pdf-html-css-' + element_id;
316 el.type = 'text/css';
317 el.appendChild(document.createTextNode(css.trim()));
318 document.head.appendChild(el);
319 }
320 }
321 },
322 // e2pdf.helper.cssGlobal
323 cssGlobal: function (css) {
324 if (typeof css === 'string') {
325 css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
326 return '#poststuff .e2pdf-element .e2pdf-html ' + match;
327 });
328 var style = jQuery('#e2pdf-html-css');
329 if (style.length !== 0) {
330 style.remove();
331 }
332 if (css.trim()) {
333 var el = document.createElement('style');
334 el.id = 'e2pdf-html-css';
335 el.type = 'text/css';
336 el.appendChild(document.createTextNode(css.trim()));
337 document.head.appendChild(el);
338 }
339 }
340 },
341 // e2pdf.helper.sanitizeHTML
342 sanitizeHTML: function (html) {
343 if (typeof html === 'string') {
344 if (window.DOMPurify) {
345 try {
346 return window.DOMPurify.sanitize(html, {
347 ADD_ATTR: [
348 "after", "align", "ascender", "background", "before", "block-height", "block-width",
349 "border", "border-bottom", "border-bottom-color", "border-bottom-width", "border-left",
350 "border-left-color", "border-left-width", "border-right", "border-right-color",
351 "border-right-width", "border-top", "border-top-color", "border-top-width", "border-width",
352 "bordercolor", "cellpadding", "char-fill", "char-fill-color", "char-fill-size", "chunkbgcolor",
353 "class", "color", "colspan", "complex-encoding", "descender", "direction", "display",
354 "dir", "disable-border-top", "encoding", "extraparaspace", "face", "float", "font-family",
355 "font-size", "font-style", "font-weight", "header-rows", "height", "href", "html-height",
356 "html-worker", "html-width", "hyphenation", "keep-together", "letter-spacing", "leading",
357 "line-fill", "line-fill-color", "line-fill-size", "list-style-image", "list-style-image-height",
358 "list-style-image-size", "list-style-image-width", "list-style-type", "list-style-type-color",
359 "list-style-type-size", "margin-bottom", "margin-left", "margin-right", "margin-top",
360 "max-height", "max-width", "nowrap", "padding-bottom", "padding-left", "padding-right",
361 "padding-top", "page-break-after", "page-break-before", "rotate", "rtl", "size", "split",
362 "split-border", "split-late", "split-padding", "split-rows", "style", "text-align",
363 "text-decoration", "text-indent", "text-transform", "valign", "width"
364 ]
365 });
366 } catch (err) {
367 }
368 }
369 }
370 return html;
371 }
372 },
373 // e2pdf.select2
374 select2: {
375 // e2pdf.select2.init
376 init: function (el) {
377 el.val('');
378 var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
379 var placeholder = e2pdf.lang.get('--- Select ---');
380 if (val) {
381 placeholder = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
382 }
383 el.attr('placeholder', placeholder);
384 var select2 = document.createElement('div');
385 select2.className = 'e2pdf-select2-dropdown';
386 var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
387 if (wrapper) {
388 var select = wrapper.querySelector('select');
389 if (select) {
390 Array.from(select.children).forEach(function (option) {
391 var optionDiv = document.createElement('div');
392 optionDiv.setAttribute('value', option.value);
393 optionDiv.innerHTML = option.textContent;
394 select2.appendChild(optionDiv);
395 });
396 }
397 el.get(0).insertAdjacentElement('afterend', select2);
398 }
399 },
400 // e2pdf.select2.filter
401 filter: function (el) {
402 var search = el.val();
403 var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
404 if (wrapper) {
405 var dropdownItems = wrapper.querySelectorAll('.e2pdf-select2-dropdown > div');
406 dropdownItems.forEach(function (item) {
407 if (!search) {
408 item.style.display = "block";
409 } else {
410 var textContent = item.textContent.toLowerCase();
411 var valueAttr = item.getAttribute('value') ? item.getAttribute('value').toLowerCase() : '';
412 if (textContent.includes(search.toLowerCase()) || valueAttr.includes(search.toLowerCase()) || valueAttr === '') {
413 item.style.display = "block";
414 } else {
415 item.style.display = "none";
416 }
417 }
418 });
419 }
420 },
421 // e2pdf.select2.update
422 update: function (el) {
423 var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
424 var text = '';
425 if (val) {
426 text = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
427 } else {
428 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('placeholder', e2pdf.lang.get('--- Select ---'));
429 }
430 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().val(text);
431 },
432 // e2pdf.select2.click
433 click: function (el) {
434 el.closest('.e2pdf-select2-wrapper').find('select').first().val(el.attr('value')).trigger('change');
435 e2pdf.select2.close(el);
436 },
437 // e2pdf.select2.val
438 val: function (el, value) {
439 el.closest('.e2pdf-select2-wrapper').find('select').first().val(value).trigger('change');
440 e2pdf.select2.update(el);
441 },
442 // e2pdf.select2.disable
443 disable: function (el) {
444 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', 'disabled');
445 },
446 // e2pdf.select2.enable
447 enable: function (el) {
448 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', false);
449 },
450 // e2pdf.select2.close
451 close: function (el) {
452 e2pdf.select2.update(el);
453 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2-dropdown').remove();
454 }
455 },
456 // e2pdf.hooks
457 hooks: {
458 // e2pdf.hooks.get
459 get: function () {
460 var hooks = {};
461 switch (e2pdf.pdf.settings.get('extension')) {
462 case 'formidable':
463 hooks = {
464 'hook_formidable_entry_view': e2pdf.lang.get('WP Admin Entry View'),
465 'hook_formidable_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
466 'hook_formidable_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
467 };
468 break;
469 case 'gravity':
470 hooks = {
471 'hook_gravity_entry_view': e2pdf.lang.get('WP Admin Entry View'),
472 'hook_gravity_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
473 };
474 break;
475 case 'jetformbuilder':
476 hooks = {
477 'hook_jetformbuilder_entry_view': e2pdf.lang.get('WP Admin Entry View')
478 };
479 break;
480 case 'woocommerce':
481 if (e2pdf.pdf.settings.get('item') == 'shop_order') {
482 hooks = {
483 'hook_woocommerce_order_edit': e2pdf.lang.get('WP Admin Order Details'),
484 'hook_woocommerce_order_row_actions': e2pdf.lang.get('WP Admin Order List Actions'),
485 'hook_woocommerce_order_row_column': e2pdf.lang.get('WP Admin Order List Column'),
486 'hook_woocommerce_my_account_my_orders_actions': e2pdf.lang.get('User Order List'),
487 'hook_woocommerce_order_details_before_order_table': e2pdf.lang.get('User Order Details (Before Order Table)'),
488 'hook_woocommerce_order_details_before_order_table_items': e2pdf.lang.get('User Order Details (Before Order Table Items)'),
489 'hook_woocommerce_order_details_after_order_table_items': e2pdf.lang.get('User Order Details (After Order Table Items)'),
490 'hook_woocommerce_order_details_after_order_table': e2pdf.lang.get('User Order Details (After Order Table)'),
491 'hook_woocommerce_after_order_details': e2pdf.lang.get('User Order Details (After Order Details)'),
492 };
493 } else if (e2pdf.pdf.settings.get('item') == 'shop_subscription') {
494 hooks = {
495 'hook_woocommerce_subscription_edit': e2pdf.lang.get('WP Admin Subscription Details'),
496 'hook_woocommerce_subscription_row_column': e2pdf.lang.get('WP Admin Order List Column'),
497 'hook_woocommerce_subscription_before_actions': e2pdf.lang.get('User Subscription (Before Actions)'),
498 'hook_woocommerce_subscription_after_actions': e2pdf.lang.get('User Subscription (After Actions)'),
499 'hook_wcs_subscription_details_table_before_dates': e2pdf.lang.get('User Subscription (Before Dates)'),
500 'hook_wcs_subscription_details_table_after_dates': e2pdf.lang.get('User Subscription (After Dates)'),
501 'hook_wcs_subscription_details_table_before_payment_method': e2pdf.lang.get('User Subscription (Before Payment Method)'),
502 'hook_wcs_view_subscription_actions': e2pdf.lang.get('User Subscrition (Actions)'),
503 };
504 } else if (e2pdf.pdf.settings.get('item') == 'cart') {
505 hooks = {
506 'hook_woocommerce_proceed_to_checkout': e2pdf.lang.get('User Cart'),
507 'hook_woocommerce_review_order_before_submit': e2pdf.lang.get('User Checkout (Before Submit)'),
508 'hook_woocommerce_review_order_after_submit': e2pdf.lang.get('User Checkout (After Submit)'),
509 };
510 }
511 break;
512 case 'wordpress':
513 if (e2pdf.pdf.settings.get('item') == '-3') {
514 hooks = {
515 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin User Row Actions')
516 };
517 } else {
518 hooks = {
519 'hook_wordpress_page_edit': e2pdf.lang.get('WP Admin Page Edit'),
520 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin Page Row Actions')
521 };
522 }
523 break;
524 case 'wpforms':
525 hooks = {
526 'hook_wpforms_entry_view': e2pdf.lang.get('WP Admin Entry View'),
527 'hook_wpforms_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
528 'hook_wpforms_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
529 };
530 break;
531 case 'everest':
532 hooks = {
533 'hook_everest_entry_view': e2pdf.lang.get('WP Admin Entry View'),
534 'hook_everest_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
535 };
536 break;
537 case 'metform':
538 hooks = {
539 'hook_metform_entry_view': e2pdf.lang.get('WP Admin Entry View'),
540 'hook_metform_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions'),
541 'hook_metform_entry_row_column': e2pdf.lang.get('WP Admin Entry List Column')
542 };
543 break;
544 default:
545 break;
546 }
547 return hooks;
548 },
549 getChecked: function () {
550 var hooks = [];
551 if (e2pdf.pdf.settings.get('hooks')) {
552 hooks = e2pdf.pdf.settings.get('hooks').split(',');
553 }
554 return hooks;
555 }
556 },
557 // e2pdf.lang
558 lang: {
559 // e2pdf.lang.get
560 get: function (key) {
561 if (typeof e2pdf_lang[key] === 'undefined') {
562 return key;
563 } else {
564 return e2pdf_lang[key];
565 }
566 }
567 },
568 // e2pdf.url
569 url: {
570 // e2pdf.url.change
571 change: function (page, path) {
572 if (window.history && window.history.pushState) {
573 var url = window.location.pathname;
574 if (page) {
575 url += '?page=' + page;
576 }
577
578 if (path) {
579 url += '&' + path;
580 }
581 history.pushState({urlPath: url}, "", url);
582 }
583 },
584 // e2pdf.url.build
585 build: function (page, path, _wpnonce) {
586 var url = window.location.pathname;
587 if (page) {
588 url += '?page=' + page;
589 }
590 if (path) {
591 url += '&' + path;
592 }
593 if (_wpnonce) {
594 url += '&_wpnonce=' + _wpnonce;
595 }
596 return url;
597 },
598 // e2pdf.url.get
599 get: function (name, url) {
600 if (!url) {
601 url = window.location.href;
602 }
603 if (!name) {
604 return url;
605 }
606 name = name.replace(/[\[\]]/g, "\\$&");
607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
608 if (!results) {
609 return null;
610 }
611 if (!results[2]) {
612 return '';
613 }
614 return decodeURIComponent(results[2].replace(/\+/g, " "));
615 },
616 pluginsUrl: function () {
617 return e2pdf_params['plugins_url'];
618 },
619 uploadUrl: function () {
620 return e2pdf_params['upload_url'];
621 }
622 },
623 // e2pdf.guide
624 guide: {
625 // e2pdf.guide.calc
626 calc: function (el, pos, w, h, g) {
627 if (el != null) {
628 if (g) {
629 w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
630 h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
631 pos = jQuery(el).offset();
632 if (jQuery(el).hasClass('e2pdf-page')) {
633 pos = {
634 left: pos.left + 1,
635 top: pos.top + 1
636 };
637 }
638 } else {
639 w = parseFloat(jQuery(el).css('width'));
640 h = parseFloat(jQuery(el).css('height'));
641 if (jQuery(el).hasClass('e2pdf-page')) {
642 pos = {
643 left: 0,
644 top: 0
645 };
646 } else {
647 pos = {
648 left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
649 top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
650 };
651 }
652 }
653 }
654
655 return [
656 {type: "h", left: pos.left, top: pos.top},
657 {type: "h", left: pos.left, top: pos.top + h},
658 {type: "v", left: pos.left, top: pos.top},
659 {type: "v", left: pos.left + w, top: pos.top},
660 {type: "h", left: pos.left, top: pos.top + h / 2},
661 {type: "v", left: pos.left + w / 2, top: pos.top}
662 ];
663 }
664 },
665 // e2pdf.bulk
666 bulk: {
667 // e2pdf.bulk.progress
668 progress: function () {
669 setTimeout(function () {
670 var data = {};
671 data['bulks'] = [];
672 jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
673 data['bulks'].push(jQuery(this).attr('bulk'));
674 });
675 e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
676 e2pdf.bulk.progress();
677 }, 5000);
678 }
679 },
680 // e2pdf.pdf
681 pdf: {
682 // e2pdf.pdf.settings
683 settings: {
684 options: [],
685 // e2pdf.pdf.settings.change
686 change: function (key, value) {
687 e2pdf.pdf.settings.options[key] = value;
688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
690 } else {
691 var input = jQuery('<input>',
692 {
693 'type': 'hidden',
694 'name': key,
695 'value': value
696 });
697 jQuery('.e2pdf-form-builder').append(input);
698 }
699
700 if (key == 'item') {
701 var data = {};
702 data['extension'] = e2pdf.pdf.settings.get('extension');
703 data['item'] = e2pdf.pdf.settings.get('item');
704 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
705 }
706 },
707 // e2pdf.pdf.settings.set
708 set: function (key, value) {
709 e2pdf.pdf.settings.options[key] = value;
710 if (key == 'item') {
711 var data = {};
712 data['extension'] = e2pdf.pdf.settings.get('extension');
713 data['item'] = e2pdf.pdf.settings.get('item');
714 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
715 }
716 },
717 // e2pdf.pdf.settings.get
718 get: function (key) {
719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
720 return null;
721 } else {
722 return e2pdf.pdf.settings.options[key];
723 }
724 }
725 }
726 },
727 // e2pdf.static
728 static: {
729 // e2pdf.static.unsaved
730 unsaved: false,
731 // e2pdf.static.mediaUploader
732 mediaUploader: false,
733 // e2pdf.static.autoloadExport
734 autoloadExport: false,
735 // e2pdf.static.selectionRange
736 selectionRange: null,
737 // e2pdf.static.observer
738 observer: null,
739 // e2pdf.static.vm
740 vm: {
741 // e2pdf.static.vm.hidden
742 hidden: false,
743 // e2pdf.static.vm.replace
744 replace: true,
745 // e2pdf.static.vm.close
746 close: true
747 },
748 // e2pdf.static.guide
749 guide: {
750 // e2pdf.static.guide.guides
751 guides: [],
752 // e2pdf.static.guide.distance
753 distance: 5,
754 x: 0,
755 y: 0
756 },
757 // e2pdf.static.drag
758 drag: {
759 // e2pdf.static.drag.min_top
760 min_top: 0,
761 // e2pdf.static.drag.max_top
762 max_top: 0,
763 // e2pdf.static.drag.min_left
764 min_left: 0,
765 // e2pdf.static.drag.max_left
766 max_left: 0,
767 // e2pdf.static.drag.page
768 page: null
769 }
770 },
771 // e2pdf.event
772 event: {
773 // e2pdf.event.fire
774 fire: function (event, action, el) {
775 if (
776 event === 'after.pages.deletePage' ||
777 event === 'after.createPdf' ||
778 event === 'after.pages.createPage.newpage' ||
779 event === 'after.element.create' ||
780 event === 'after.element.delete' ||
781 event === 'after.settings.style.change' ||
782 event === 'after.settings.template.change' ||
783 event === 'after.wysiwyg.apply' ||
784 event === 'after.request.submitLocal' ||
785 event === 'after.mediaUploader.select' ||
786 event === 'after.element.moved' ||
787 event === 'after.pages.movePage'
788 ) {
789 e2pdf.static.unsaved = true;
790 }
791
792 if (event === 'before.request.submitForm') {
793 e2pdf.static.unsaved = false;
794 }
795
796 if (event === 'after.dialog.create' || event === 'after.actions.change') {
797 jQuery('.e2pdf-color-picker-load').each(function () {
798 jQuery(this).wpColorPicker(
799 {
800 defaultColor: function () {
801 if (jQuery(this).attr('data-default')) {
802 return jQuery(this).attr('data-default');
803 } else {
804 return;
805 }
806 },
807 change: function (event, ui) {
808 jQuery(this).val(ui.color.toString()).change();
809 }
810 }
811 ).removeClass('e2pdf-color-picker-load');
812 });
813 }
814
815 if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
816 jQuery('#e2pdf-zoom').trigger('change');
817 }
818
819 if (event === 'before.request.submitRequest') {
820 el.attr('disabled', 'disabled');
821 switch (action) {
822 case 'e2pdf_auto':
823 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
824 break;
825 case 'e2pdf_extension':
826 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
827 break;
828 case 'e2pdf_templates':
829 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
830 jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
831 jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
832 jQuery('.e2pdf-export-dataset').data('options', []).empty();
833 jQuery('.e2pdf-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 link.append(' | ');
7528 if (item2 && item2.id) {
7529 link.append(jQuery('<a>', {
7530 'target': '_blank',
7531 'href': item2.url,
7532 'class': 'e2pdf-link'
7533 }).html(item2.name));
7534 }
7535 link.removeClass('e2pdf-color-red');
7536 }
7537 } else {
7538 link = jQuery('<a>', {
7539 'target': '_blank',
7540 'href': item.url,
7541 'class': 'e2pdf-link'
7542 }).html(item.name);
7543 link.removeClass('e2pdf-color-red');
7544 }
7545 }
7546 jQuery('#e2pdf-post-item').html(link);
7547 }
7548
7549 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
7550 e2pdf.font.load(jQuery('#e2pdf-font'));
7551 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7552 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7553 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7554 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7555 e2pdf.event.fire('after.createPdf');
7556 },
7557 // e2pdf.pages
7558 pages: {
7559 // e2pdf.pages.initEvents
7560 initEvents: function (page) {
7561 page.off('contextmenu');
7562 page.contextmenu(function (e) {
7563 if (jQuery(e.target).hasClass('e2pdf-page')) {
7564 e2pdf.contextMenu(e, page);
7565 e.preventDefault();
7566 }
7567 });
7568 if (page.hasClass('ui-droppable')) {
7569 try {
7570 page.droppable('destroy');
7571 page.removeData('ui-droppable');
7572 } catch (e) {
7573
7574 }
7575 }
7576 page.droppable({
7577 over: function (ev, ui) {
7578 e2pdf.static.drag.page = jQuery(this);
7579 e2pdf.static.guide.guides = [];
7580 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())) {
7581 jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7582 jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7583 var coeff = 1;
7584 if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7585 coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7586 } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7587 coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7588 }
7589 jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7590 jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7591 }
7592
7593 if (ui.draggable.hasClass('e2pdf-clone')) {
7594 jQuery(this).find('.e2pdf-element').each(function () {
7595 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
7596 });
7597 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
7598 } else {
7599 e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
7600 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
7601 }
7602 },
7603 out: function (ev, ui) {
7604 e2pdf.static.drag.page = null;
7605 e2pdf.static.guide.guides = [];
7606 if (jQuery(ui.helper).data('original-width')) {
7607 jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7608 jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7609 jQuery(ui.helper).removeData('original-width');
7610 jQuery(ui.helper).removeData('original-height');
7611 }
7612
7613 },
7614 deactivate: function (ev) {
7615 e2pdf.static.drag.page = null;
7616 e2pdf.static.guide.guides = [];
7617 },
7618 drop: function (ev, ui) {
7619 if (ui.draggable.hasClass('e2pdf-clone')) {
7620 var type = jQuery(ui.draggable).attr('data-type');
7621 var page = jQuery(this).closest('.e2pdf-page');
7622 var pos = {
7623 top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1)),
7624 left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1)),
7625 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))
7626 };
7627 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
7628 return false;
7629 }
7630
7631 var properties = {};
7632 properties['width'] = jQuery(ui.helper).css('width');
7633 properties['height'] = jQuery(ui.helper).css('height');
7634 properties['top'] = pos.top;
7635 properties['left'] = pos.left;
7636 var el = e2pdf.element.create(type, page, properties, false, true);
7637 jQuery(this).append(el);
7638 e2pdf.properties.render(el);
7639 var history = [];
7640 history.push(el.clone(true));
7641 e2pdf.history.set('element_create', history);
7642 }
7643 e2pdf.static.drag.page = null;
7644 }
7645 });
7646 if (page.hasClass('ui-selectable')) {
7647 try {
7648 page.selectable('destroy');
7649 page.removeData('selectable');
7650 } catch (e) {
7651 }
7652 }
7653 page.selectable(
7654 {
7655 filter: '.e2pdf-element',
7656 cancel: 'a,.e2pdf-element',
7657 distance: 10,
7658 selecting: function (event, ui) {
7659 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7660 jQuery(ui.selecting).addClass('e2pdf-selected');
7661 }
7662 },
7663 unselecting: function (event, ui) {
7664 jQuery(ui.unselecting).removeClass('e2pdf-selected');
7665 },
7666 selected: function (event, ui) {
7667 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7668 e2pdf.element.select(jQuery(ui.selected));
7669 }
7670 },
7671 unselected: function (event, ui) {
7672 e2pdf.element.unselect(jQuery(ui.unselected));
7673 }
7674 }
7675 );
7676 },
7677 // e2pdf.pages.source
7678 source: function (page_id) {
7679 var page = jQuery('<div>', {
7680 'class': 'e2pdf-page ui-droppable',
7681 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7682 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7683 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7684 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7685 }).attr('data-page_id', page_id).append(
7686 jQuery('<div>', {'class': 'page-options-icons'}).append(
7687 jQuery('<a>', {
7688 'href': 'javascript:void(0);',
7689 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7690 }).append(
7691 jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7692 ),
7693 jQuery('<a>', {
7694 'href': 'javascript:void(0);',
7695 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7696 }).append(
7697 jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7698 ),
7699 jQuery('<a>', {
7700 'href': 'javascript:void(0);',
7701 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7702 'data-modal': 'page-options'
7703 }).append(
7704 jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7705 ),
7706 jQuery('<a>', {
7707 'href': 'javascript:void(0);',
7708 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7709 }).append(
7710 jQuery('<i>', {'class': 'dashicons dashicons-no'})
7711 )
7712 ),
7713 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7714 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7715 );
7716 return page;
7717 },
7718 // e2pdf.pages.rebuildPages
7719 rebuildPages: function () {
7720 jQuery('.e2pdf-page').each(function (index) {
7721 if (!e2pdf.pdf.settings.get('pdf')) {
7722 if (index + 1 === 1) {
7723 jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7724 } else {
7725 jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7726 }
7727
7728 if (index + 1 === jQuery('.e2pdf-page').length) {
7729 jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7730 } else {
7731 jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7732 }
7733 }
7734 jQuery(this).attr('data-page_id', index + 1);
7735 });
7736 e2pdf.welcomeScreen();
7737 },
7738 // e2pdf.pages.createPage
7739 createPage: function (page, properties, actions, onload) {
7740 e2pdf.pages.rebuildPages();
7741 var newpage = true;
7742 if (page) {
7743 var newpage = false;
7744 }
7745 if (!properties) {
7746 properties = {};
7747 }
7748 if (!actions) {
7749 actions = {};
7750 }
7751 if (newpage) {
7752 var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7753 var page = e2pdf.pages.source(page_id);
7754 }
7755 page.data('data-type', 'e2pdf-page');
7756 e2pdf.properties.apply(page, properties, onload);
7757 e2pdf.actions.apply(page, actions);
7758 e2pdf.pages.initEvents(page);
7759 if (newpage) {
7760 if (!onload) {
7761 var history = [];
7762 history.push(page.clone(true));
7763 e2pdf.history.set('element_create', history);
7764 }
7765 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
7766 e2pdf.pages.rebuildPages();
7767 e2pdf.event.fire('after.pages.createPage.newpage');
7768 return true;
7769 } else {
7770 return false;
7771 }
7772 },
7773 // e2pdf.pages.movePage
7774 movePage: function (el, direction) {
7775 if (e2pdf.pdf.settings.get('pdf')) {
7776 return false;
7777 }
7778 if (direction === 'up') {
7779 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
7780 } else if (direction === 'down') {
7781 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
7782 }
7783 e2pdf.event.fire('after.pages.movePage');
7784 e2pdf.pages.rebuildPages();
7785 },
7786 // e2pdf.pages.deletePage
7787 deletePage: function (el) {
7788 el.closest('.e2pdf-page').remove();
7789 e2pdf.event.fire('after.pages.deletePage');
7790 e2pdf.pages.rebuildPages();
7791 },
7792 // e2pdf.pages.changeTplSize
7793 changeTplSize: function (width, height) {
7794 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
7795 },
7796 changePageSize: function (el, width, height) {
7797 var prev_width = parseFloat(el.css('width'));
7798 var prev_height = parseFloat(el.css('height'));
7799 var width_diff = width / prev_width;
7800 var height_diff = height / prev_height;
7801 el.find(".e2pdf-element").each(function () {
7802 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
7803 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
7804 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'))) {
7805 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7806 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
7807 } else {
7808 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7809 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
7810 }
7811 });
7812 el.css('width', width);
7813 el.css('height', height);
7814 el.attr('data-width', width);
7815 el.attr('data-height', height);
7816 }
7817 },
7818 // e2pdf.contextMenu
7819 contextMenu: function (e, el) {
7820 e2pdf.delete('.e2pdf-context');
7821 jQuery('.e2pdf-page').css('z-index', '');
7822 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
7823 if (el.hasClass('e2pdf-page')) {
7824 var parent = el;
7825 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7826 menu.find('ul.e2pdf-context-menu').append(
7827 jQuery('<li>').append(
7828 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'))
7829 ),
7830 jQuery('<li>').append(
7831 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'))
7832 ),
7833 jQuery('<li>').append(
7834 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
7835 )
7836 );
7837 } else {
7838 if (!el.hasClass('e2pdf-selected')) {
7839 e2pdf.element.unselect();
7840 e2pdf.element.select(el);
7841 }
7842
7843 var parent = el.closest('.e2pdf-page');
7844 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7845 if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7846 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7847 menu.find('ul.e2pdf-context-menu').append(
7848 jQuery('<li>').append(
7849 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7850 ));
7851 } else {
7852 menu.find('ul.e2pdf-context-menu').append(
7853 jQuery('<li>').append(
7854 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7855 ));
7856 }
7857 }
7858
7859 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')))) {
7860 menu.find('ul.e2pdf-context-menu').append(
7861 jQuery('<li>').append(
7862 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7863 ));
7864 }
7865
7866 menu.find('ul.e2pdf-context-menu').append(
7867 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
7868 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7869 ,
7870 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
7871 jQuery('<li>').append(
7872 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
7873 ),
7874 jQuery('<li>').append(
7875 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
7876 ),
7877 jQuery('<li>').append(
7878 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
7879 ),
7880 jQuery('<li>').append(
7881 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
7882 )
7883 )
7884 ),
7885 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
7886 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7887 ,
7888 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
7889 jQuery('<li>').append(
7890 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'))
7891 ),
7892 jQuery('<li>').append(
7893 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'))
7894 ))
7895 ));
7896 menu.find('ul.e2pdf-context-menu').append(
7897 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
7898 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7899 ,
7900 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
7901 jQuery('<li>').append(
7902 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'))
7903 ))
7904 ),
7905 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
7906 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7907 ,
7908 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
7909 ),
7910 jQuery('<li>').append(
7911 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
7912 ),
7913 jQuery('<li>').append(
7914 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
7915 ),
7916 jQuery('<li>').append(
7917 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
7918 ));
7919 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
7920 if (Object.keys(e2pdf.element.selected).length == 1) {
7921 menu.find('ul.e2pdf-copy-menu').append(
7922 jQuery('<li>').append(
7923 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
7924 ));
7925 }
7926 if (e2pdf.storage.get('style') !== null) {
7927 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7928 menu.find('ul.e2pdf-paste-menu').append(
7929 jQuery('<li>').append(
7930 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
7931 ));
7932 }
7933 }
7934
7935 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
7936 if (Object.keys(e2pdf.element.selected).length == 1) {
7937 menu.find('ul.e2pdf-copy-menu').append(
7938 jQuery('<li>').append(
7939 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
7940 ));
7941 }
7942 if (e2pdf.storage.get('width') != null) {
7943 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7944 menu.find('ul.e2pdf-paste-menu').append(
7945 jQuery('<li>').append(
7946 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
7947 ));
7948 }
7949 }
7950
7951 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
7952
7953 if (Object.keys(e2pdf.element.selected).length == 1) {
7954 menu.find('ul.e2pdf-copy-menu').append(
7955 jQuery('<li>').append(
7956 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
7957 ));
7958 }
7959
7960 if (e2pdf.storage.get('height') != null) {
7961 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7962 menu.find('ul.e2pdf-paste-menu').append(
7963 jQuery('<li>').append(
7964 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
7965 ));
7966 }
7967 }
7968
7969 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
7970
7971 if (Object.keys(e2pdf.element.selected).length == 1) {
7972 menu.find('ul.e2pdf-copy-menu').append(
7973 jQuery('<li>').append(
7974 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
7975 ));
7976 }
7977
7978 if (e2pdf.storage.get('actions') !== null) {
7979 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
7980 menu.find('ul.e2pdf-paste-menu').append(
7981 jQuery('<li>').append(
7982 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
7983 ));
7984 }
7985 }
7986
7987 if (Object.keys(e2pdf.element.selected).length == 1) {
7988 menu.find('ul.e2pdf-context-menu').append(
7989 jQuery('<li>').append(
7990 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
7991 ));
7992 }
7993 }
7994 parent.css('z-index', '1');
7995 menu.hide().appendTo(parent);
7996 var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
7997 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))) {
7998 pos_x = pos_x - menu.width();
7999 menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8000 }
8001 var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8002 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))) {
8003 pos_y = pos_y - menu.height();
8004 menu.addClass('e2pdf-context-bottom');
8005 }
8006 menu.css({top: pos_y + "px", left: pos_x + "px"});
8007 menu.show();
8008 },
8009 // e2pdf.delete
8010 delete: function (el) {
8011 jQuery(el).remove();
8012 },
8013 // e2pdf.element
8014 element: {
8015 // e2pdf.element.selected
8016 selected: [],
8017 // e2pdf.element.init
8018 init: function (el) {
8019 if (el.data('data-type') === 'e2pdf-html') {
8020 if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8021 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8022 } else {
8023 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8024 }
8025 } else if (el.data('data-type') === 'e2pdf-input') {
8026 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
8027 } else if (el.data('data-type') === 'e2pdf-textarea') {
8028 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
8029 }
8030 e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8031 e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8032 e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
8033 },
8034 // e2pdf.element.initEvents
8035 initEvents: function (element, page) {
8036 var min_width = 2;
8037 var min_height = 2;
8038 if (element.data('data-type') == 'e2pdf-rectangle') {
8039 min_height = 1;
8040 min_width = 1;
8041 }
8042 if (!page) {
8043 page = element.closest('.e2pdf-page');
8044 }
8045 element.off('contextmenu');
8046 element.contextmenu(function (e) {
8047 e2pdf.contextMenu(e, element);
8048 e.preventDefault();
8049 });
8050 if (element.hasClass('ui-draggable')) {
8051 try {
8052 element.draggable('destroy');
8053 element.removeData('ui-draggable');
8054 } catch (e) {
8055
8056 }
8057 }
8058 element.draggable({
8059 cancel: '.no-drag',
8060 handle: '.e2pdf-drag',
8061 containment: jQuery(page),
8062 stop: function (ev, ui) {
8063 var page = jQuery(this).closest('.e2pdf-page');
8064 for (var key in e2pdf.element.selected) {
8065 var selected = e2pdf.element.selected[key];
8066 if (selected.hasClass('e2pdf-width-auto')) {
8067 selected.css({'width': 'auto'});
8068 }
8069 if (selected.hasClass('e2pdf-height-auto')) {
8070 selected.css({'height': 'auto'});
8071 }
8072 e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8073 e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
8074 }
8075 jQuery('.page-options-icons').css('z-index', '');
8076 e2pdf.event.fire('after.element.moved');
8077 e2pdf.element.unselect();
8078 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8079 },
8080 drag: function (ev, ui) {
8081 var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
8082 var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
8083 left = Math.min(left, e2pdf.static.drag.max_left);
8084 top = Math.min(top, e2pdf.static.drag.max_top);
8085 ui.position = {
8086 left: Math.max(e2pdf.static.drag.min_left, left),
8087 top: Math.max(e2pdf.static.drag.min_top, top)
8088 };
8089 var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8090 var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8091 for (var key in e2pdf.element.selected) {
8092 var selected = e2pdf.element.selected[key];
8093 if (!selected.is(jQuery(this))) {
8094 selected.finish().animate({
8095 left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8096 top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8097 }, 0);
8098 }
8099 }
8100 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8101 var w = parseFloat(jQuery(this).css('width'));
8102 var h = parseFloat(jQuery(this).css('height'));
8103 var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8104 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8105 jQuery.each(el_guides, function (i, elemGuide) {
8106 if (guide.type == elemGuide.type) {
8107 var prop = guide.type == "h" ? "top" : "left";
8108 var d = Math.abs(elemGuide[prop] - guide[prop]);
8109 if (d < guides[prop].dist) {
8110 guides[prop].dist = d;
8111 guides[prop].offset = elemGuide[prop] - ui.position[prop];
8112 guides[prop].guide = guide;
8113 }
8114 }
8115 });
8116 });
8117 if (guides.top.dist <= e2pdf.static.guide.distance) {
8118 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8119 var snap_top = guides.top.guide.top - guides.top.offset;
8120 if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8121 ui.position.top = snap_top;
8122 var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8123 for (var key in e2pdf.element.selected) {
8124 var selected = e2pdf.element.selected[key];
8125 if (!selected.is(jQuery(this))) {
8126 selected.finish().animate({
8127 top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8128 }, 0);
8129 }
8130 }
8131 }
8132 } else {
8133 jQuery('.e2pdf-guide-h').hide();
8134 }
8135 if (guides.left.dist <= e2pdf.static.guide.distance) {
8136 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8137 var snap_left = guides.left.guide.left - guides.left.offset;
8138 if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8139 ui.position.left = snap_left;
8140 var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8141 for (var key in e2pdf.element.selected) {
8142 var selected = e2pdf.element.selected[key];
8143 if (!selected.is(jQuery(this))) {
8144 selected.finish().animate({
8145 left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8146 }, 0);
8147 }
8148 }
8149 }
8150 } else {
8151 jQuery('.e2pdf-guide-v').hide();
8152 }
8153 },
8154 start: function (ev, ui) {
8155 e2pdf.element.select(jQuery(this));
8156 e2pdf.static.drag.min_left = 0;
8157 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8158 e2pdf.static.drag.min_top = 0;
8159 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8160 var history = [];
8161 for (var key in e2pdf.element.selected) {
8162 var selected = e2pdf.element.selected[key];
8163 history.push(selected.clone(true));
8164 if (selected.hasClass('e2pdf-width-auto')) {
8165 selected.css({"width": "auto"});
8166 }
8167 if (selected.hasClass('e2pdf-height-auto')) {
8168 selected.css({"height": "auto"});
8169 }
8170 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8171 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8172 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8173 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8174 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8175 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8176 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8177 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8178 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);
8179 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);
8180 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);
8181 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);
8182 }
8183 e2pdf.history.set('element_change', history);
8184 e2pdf.zoom.click.x = ev.clientX;
8185 e2pdf.zoom.click.y = ev.clientY;
8186 jQuery('.page-options-icons').css('z-index', -1);
8187 }
8188 });
8189 if (element.hasClass('e2pdf-resizable')) {
8190 if (element.hasClass('ui-resizable')) {
8191 try {
8192 element.resizable('destroy');
8193 element.removeData('ui-resizable');
8194 } catch (e) {
8195
8196 }
8197 }
8198 element.resizable({
8199 handles: 'n, e, s, w, ne, se, sw, nw',
8200 aspectRatio: false,
8201 minHeight: min_height,
8202 minWidth: min_width,
8203 start: function (ev, ui) {
8204 var _process = function (el, resize) {
8205 var left = e2pdf.helper.getFloat(el.css('left'));
8206 var top = e2pdf.helper.getFloat(el.css('top'));
8207 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8208 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8209 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8210 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8211 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8212 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8213 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8214 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8215 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8216 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8217 var width = e2pdf.helper.getFloat(el.css('width'));
8218 var height = e2pdf.helper.getFloat(el.css('height'));
8219 el.resizable("option", "maxWidth", page_width - left);
8220 el.resizable("option", "maxHeight", page_height - top);
8221 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8222 el.resizable("option", "maxWidth", left + width);
8223 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8224 el.resizable("option", "maxHeight", top + height);
8225 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8226 el.resizable("option", "maxWidth", left + width);
8227 el.resizable("option", "maxHeight", top + height);
8228 }
8229 if (resize) {
8230 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8231 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8232 }
8233 };
8234 _process(jQuery(this), true);
8235 e2pdf.zoom.click.x = ev.clientX;
8236 e2pdf.zoom.click.y = ev.clientY;
8237 var history = [];
8238 history.push(jQuery(this).clone(true));
8239 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8240 var selected = jQuery(this);
8241 history.push(selected.clone(true));
8242 var width = e2pdf.helper.getFloat(selected.css('width'));
8243 var height = e2pdf.helper.getFloat(selected.css('height'));
8244 selected.data("ui-resizable-alsoresize", {
8245 width: width,
8246 height: height,
8247 left: e2pdf.helper.getFloat(selected.css('left')),
8248 top: e2pdf.helper.getFloat(selected.css('top'))
8249 });
8250 _process(jQuery(this), false);
8251 });
8252 e2pdf.history.set('element_change', history);
8253 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8254 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8255 },
8256 resize: function (ev, ui) {
8257 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8258 var axis = ui.element.data("ui-resizable").axis;
8259 if (axis != 'nw' && axis != 'sw') {
8260 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8261 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8262 }
8263 }
8264 var delta = {
8265 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8266 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8267 top: (ui.position.top - ui.originalPosition.top) || 0,
8268 left: (ui.position.left - ui.originalPosition.left) || 0
8269 };
8270 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8271 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8272 var style = {};
8273 var css = ["width", "height", "top", "left"];
8274 jQuery.each(css, function (i, prop) {
8275 var sum = (start[prop] || 0) + (delta[prop] || 0);
8276 if (sum) {
8277 if (prop == 'width') {
8278 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8279 style[prop] = sum;
8280 }
8281 } else if (prop == 'height') {
8282 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8283 style[prop] = sum;
8284 }
8285 } else if (prop == 'left') {
8286 if (sum >= 0) {
8287 style[prop] = sum;
8288 }
8289 } else if (prop == 'top') {
8290 if (sum >= 0) {
8291 style[prop] = sum;
8292 }
8293 }
8294 }
8295 });
8296 el.css(style);
8297 });
8298 var handle = ui.element.data("ui-resizable").axis;
8299 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8300 var w = parseFloat(jQuery(this).css('width'));
8301 var h = parseFloat(jQuery(this).css('height'));
8302 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8303 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8304 var hPosition = ui.position.top;
8305 var hEdgeValue = ui.position.top;
8306 if (handle.indexOf('s') !== -1) {
8307 hEdgeValue = ui.position.top + h;
8308 }
8309 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8310 if (guide.type == "h") {
8311 var d = Math.abs(hEdgeValue - guide.top);
8312 if (d < hGuides.dist) {
8313 hGuides.dist = d;
8314 hGuides.guide = guide;
8315 hGuides.offset = hEdgeValue - hPosition;
8316 }
8317 }
8318 });
8319 if (hGuides.dist <= e2pdf.static.guide.distance) {
8320 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8321 var snap_top = hGuides.guide.top - hGuides.offset;
8322 if (handle.indexOf('n') !== -1) {
8323 var heightDiff = ui.position.top - snap_top;
8324 ui.position.top = snap_top;
8325 ui.size.height += heightDiff;
8326 } else if (handle.indexOf('s') !== -1) {
8327 var newHeight = hGuides.guide.top - ui.position.top;
8328 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8329 ui.size.height = newHeight;
8330 }
8331 }
8332 }
8333 }
8334 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8335 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8336 var vPosition = ui.position.left;
8337 var vEdgeValue = ui.position.left;
8338 if (handle.indexOf('e') !== -1) {
8339 vEdgeValue = ui.position.left + w;
8340 }
8341 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8342 if (guide.type == "v") {
8343 var d = Math.abs(vEdgeValue - guide.left);
8344 if (d < vGuides.dist) {
8345 vGuides.dist = d;
8346 vGuides.guide = guide;
8347 vGuides.offset = vEdgeValue - vPosition;
8348 }
8349 }
8350 });
8351 if (vGuides.dist <= e2pdf.static.guide.distance) {
8352 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8353 var snap_left = vGuides.guide.left - vGuides.offset;
8354 if (handle.indexOf('w') !== -1) {
8355 var widthDiff = ui.position.left - snap_left;
8356 ui.position.left = snap_left;
8357 ui.size.width += widthDiff;
8358 } else if (handle.indexOf('e') !== -1) {
8359 var newWidth = vGuides.guide.left - ui.position.left;
8360 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8361 ui.size.width = newWidth;
8362 }
8363 }
8364 }
8365 }
8366 },
8367 stop: function (event, ui) {
8368 ui.size.width = Math.round(ui.size.width);
8369 ui.size.height = Math.round(ui.size.height);
8370 var _process = function (el, width, height) {
8371 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') {
8372 width += el.outerWidth() - el.width();
8373 height += el.outerWidth() - el.width();
8374 }
8375 e2pdf.properties.set(el, 'width', width);
8376 e2pdf.properties.set(el, 'height', height);
8377 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8378 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8379 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') {
8380 e2pdf.properties.render(el);
8381 }
8382 };
8383 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8384 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8385 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8386 jQuery(this).removeData("resizable-alsoresize");
8387 });
8388 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8389 }
8390 });
8391 }
8392 },
8393 // e2pdf.element.create
8394 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8395 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8396 var min_height = 2;
8397 var min_width = 2;
8398 if (!properties) {
8399 properties = {};
8400 }
8401 if (!actions) {
8402 actions = {};
8403 }
8404 switch (type) {
8405 case 'e2pdf-input':
8406 if (default_properties) {
8407 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8408 properties['width'] = '200';
8409 }
8410 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8411 properties['height'] = size;
8412 }
8413 if (!properties.hasOwnProperty('border')) {
8414 properties['border'] = '1';
8415 }
8416 if (!properties.hasOwnProperty('border_color')) {
8417 properties['border_color'] = '#000000';
8418 }
8419 }
8420 var element =
8421 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8422 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8423 jQuery('<i>', {'class': 'e2pdf-drag'})
8424 );
8425 break;
8426 case 'e2pdf-textarea':
8427 if (default_properties) {
8428 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8429 properties['width'] = '200';
8430 }
8431 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8432 properties['height'] = '100';
8433 }
8434 if (!properties.hasOwnProperty('border')) {
8435 properties['border'] = '1';
8436 }
8437 if (!properties.hasOwnProperty('border_color')) {
8438 properties['border_color'] = '#000000';
8439 }
8440 }
8441 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8442 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8443 jQuery('<i>', {'class': 'e2pdf-drag'})
8444 );
8445 break;
8446 case 'e2pdf-checkbox':
8447 if (default_properties) {
8448 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8449 properties['width'] = size;
8450 }
8451 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8452 properties['height'] = size;
8453 }
8454 if (!properties.hasOwnProperty('option')) {
8455 properties['option'] = 'option';
8456 }
8457 if (!properties.hasOwnProperty('border')) {
8458 properties['border'] = '1';
8459 }
8460 if (!properties.hasOwnProperty('border_color')) {
8461 properties['border_color'] = '#000000';
8462 }
8463 }
8464 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8465 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8466 jQuery('<i>', {'class': 'e2pdf-drag'})
8467 );
8468 break;
8469 case 'e2pdf-radio':
8470 if (default_properties) {
8471 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8472 properties['width'] = size;
8473 }
8474 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8475 properties['height'] = size;
8476 }
8477 if (!properties.hasOwnProperty('group')) {
8478 properties['group'] = 'group';
8479 }
8480 if (!properties.hasOwnProperty('option')) {
8481 properties['option'] = 'option';
8482 }
8483 if (!properties.hasOwnProperty('border')) {
8484 properties['border'] = '1';
8485 }
8486 if (!properties.hasOwnProperty('border_color')) {
8487 properties['border_color'] = '#000000';
8488 }
8489 if (!properties.hasOwnProperty('text_type')) {
8490 properties['text_type'] = 'circle';
8491 }
8492
8493 }
8494 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8495 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8496 jQuery('<i>', {'class': 'e2pdf-drag'})
8497 );
8498 break;
8499 case 'e2pdf-select':
8500 if (default_properties) {
8501 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8502 properties['width'] = '200';
8503 }
8504 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8505 properties['height'] = size;
8506 }
8507 if (!properties.hasOwnProperty('options')) {
8508 properties['options'] = '';
8509 }
8510 if (!properties.hasOwnProperty('border')) {
8511 properties['border'] = '1';
8512 }
8513 if (!properties.hasOwnProperty('border_color')) {
8514 properties['border_color'] = '#000000';
8515 }
8516 }
8517 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8518 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8519 ),
8520 jQuery('<i>', {'class': 'e2pdf-drag'})
8521 );
8522 break;
8523 case 'e2pdf-signature':
8524 if (default_properties) {
8525 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8526 properties['width'] = '200';
8527 }
8528 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8529 properties['height'] = '75';
8530 }
8531 if (!properties.hasOwnProperty('vertical')) {
8532 properties['vertical'] = 'bottom';
8533 }
8534 if (!properties.hasOwnProperty('block_dimension')) {
8535 properties['block_dimension'] = '1';
8536 }
8537 if (!properties.hasOwnProperty('dimension')) {
8538 properties['dimension'] = '1';
8539 }
8540 if (!properties.hasOwnProperty('opacity')) {
8541 properties['opacity'] = '1';
8542 }
8543 } else {
8544 // backward compatibility
8545 if (!properties.hasOwnProperty('opacity')) {
8546 properties['opacity'] = '1';
8547 }
8548 }
8549 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8550 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8551 jQuery('<i>', {'class': 'e2pdf-drag'})
8552 );
8553 break;
8554 case 'e2pdf-html':
8555 if (default_properties) {
8556 if (!properties.hasOwnProperty('width')) {
8557 properties['width'] = '200';
8558 } else if (properties['width'] === 'auto') {
8559 properties['width'] = size;
8560 }
8561 if (!properties.hasOwnProperty('height')) {
8562 properties['height'] = size;
8563 } else if (properties['height'] === 'auto') {
8564 delete properties['height'];
8565 }
8566 if (!properties.hasOwnProperty('html_worker')) {
8567 properties['html_worker'] = '1';
8568 }
8569 if (!properties.hasOwnProperty('css_priority')) {
8570 properties['css_priority'] = '1';
8571 }
8572 }
8573 if (properties['wysiwyg_disable'] == '1') {
8574 var element =
8575 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8576 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8577 jQuery('<i>', {'class': 'e2pdf-drag'})
8578 );
8579 } else {
8580 var element =
8581 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8582 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8583 jQuery('<i>', {'class': 'e2pdf-drag'})
8584 );
8585 }
8586 break;
8587 case 'e2pdf-image':
8588 if (default_properties) {
8589 if (!properties.hasOwnProperty('dimension')) {
8590 properties['dimension'] = '1';
8591 }
8592 if (!properties.hasOwnProperty('opacity')) {
8593 properties['opacity'] = '1';
8594 }
8595 if (!properties.hasOwnProperty('block_dimension')) {
8596 properties['block_dimension'] = '1';
8597 }
8598 if (!properties.hasOwnProperty('vertical')) {
8599 properties['vertical'] = 'bottom';
8600 }
8601 if (!properties.hasOwnProperty('pdf_resample')) {
8602 properties['pdf_resample'] = '-1';
8603 }
8604 } else {
8605 // backward compatibility
8606 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8607 properties['block_dimension'] = '1';
8608 }
8609 if (!properties.hasOwnProperty('opacity')) {
8610 properties['opacity'] = '1';
8611 }
8612 if (!properties.hasOwnProperty('pdf_resample')) {
8613 properties['pdf_resample'] = '150';
8614 }
8615 }
8616 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8617 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8618 jQuery('<i>', {'class': 'e2pdf-drag'})
8619 );
8620 break;
8621 case 'e2pdf-rectangle':
8622 if (default_properties) {
8623 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8624 properties['width'] = '200';
8625 }
8626 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8627 properties['height'] = '5';
8628 }
8629 if (!properties.hasOwnProperty('background')) {
8630 properties['background'] = '#000000';
8631 }
8632 }
8633 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8634 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8635 jQuery('<i>', {'class': 'e2pdf-drag'})
8636 );
8637 break;
8638 case 'e2pdf-link':
8639 if (default_properties) {
8640 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8641 properties['width'] = '200';
8642 }
8643
8644 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8645 properties['height'] = size;
8646 }
8647 }
8648 var element =
8649 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8650 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8651 jQuery('<i>', {'class': 'e2pdf-drag'})
8652 );
8653 break;
8654 case 'e2pdf-qrcode':
8655 if (default_properties) {
8656 if (!properties.hasOwnProperty('color')) {
8657 properties['color'] = '#000000';
8658 }
8659 if (!properties.hasOwnProperty('background')) {
8660 properties['background'] = '#ffffff';
8661 }
8662 if (!properties.hasOwnProperty('wq')) {
8663 properties['wq'] = '1';
8664 }
8665 }
8666 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8667 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8668 jQuery('<i>', {'class': 'e2pdf-drag'})
8669 );
8670 break;
8671 case 'e2pdf-barcode':
8672 if (default_properties) {
8673 if (!properties.hasOwnProperty('color')) {
8674 properties['color'] = '#000000';
8675 }
8676 if (!properties.hasOwnProperty('text_color')) {
8677 properties['text_color'] = '#000000';
8678 }
8679 if (!properties.hasOwnProperty('vertical')) {
8680 properties['vertical'] = 'middle';
8681 }
8682 if (!properties.hasOwnProperty('horizontal')) {
8683 properties['horizontal'] = 'center';
8684 }
8685 if (!properties.hasOwnProperty('wq')) {
8686 properties['wq'] = '1';
8687 }
8688 if (!properties.hasOwnProperty('dimension')) {
8689 properties['dimension'] = '1';
8690 }
8691 if (!properties.hasOwnProperty('background')) {
8692 properties['background'] = '#ffffff';
8693 }
8694 if (!properties.hasOwnProperty('margin_top')) {
8695 properties['margin_top'] = '10';
8696 }
8697 if (!properties.hasOwnProperty('margin_left')) {
8698 properties['margin_left'] = '10';
8699 }
8700 if (!properties.hasOwnProperty('margin_right')) {
8701 properties['margin_right'] = '10';
8702 }
8703 if (!properties.hasOwnProperty('margin_bottom')) {
8704 properties['margin_bottom'] = '10';
8705 }
8706 } else {
8707 // backward compatibility
8708 if (!properties.hasOwnProperty('scale')) {
8709 properties['scale'] = '1';
8710 }
8711 if (!properties.hasOwnProperty('margin_top')) {
8712 properties['margin_top'] = '10';
8713 }
8714 if (!properties.hasOwnProperty('margin_left')) {
8715 properties['margin_left'] = '10';
8716 }
8717 if (!properties.hasOwnProperty('margin_right')) {
8718 properties['margin_right'] = '10';
8719 }
8720 if (!properties.hasOwnProperty('margin_bottom')) {
8721 properties['margin_bottom'] = '10';
8722 }
8723 }
8724 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8725 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8726 jQuery('<i>', {'class': 'e2pdf-drag'})
8727 );
8728 break;
8729 case 'e2pdf-page-number':
8730 if (default_properties) {
8731 if (!properties.hasOwnProperty('width')) {
8732 properties['width'] = '100';
8733 } else if (properties['width'] === 'auto') {
8734 properties['width'] = '100';
8735 }
8736 if (!properties.hasOwnProperty('height')) {
8737 properties['height'] = size;
8738 } else if (properties['height'] === 'auto') {
8739 delete properties['height'];
8740 }
8741 if (!properties.hasOwnProperty('text_align')) {
8742 properties['text_align'] = 'center';
8743 }
8744 if (!properties.hasOwnProperty('html_worker')) {
8745 properties['html_worker'] = '1';
8746 }
8747 if (!properties.hasOwnProperty('value')) {
8748 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8749 }
8750 }
8751 var value = properties['value'] ? properties['value'] : '';
8752 var element =
8753 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8754 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'))),
8755 jQuery('<i>', {'class': 'e2pdf-drag'})
8756 );
8757 break;
8758 case 'e2pdf-graph':
8759 if (default_properties) {
8760 // Graph
8761 properties['g_palette'] = '#1e73be';
8762 properties['g_stroke_colour'] = '#000000';
8763 properties['g_stroke_width'] = '1';
8764 properties['g_sort'] = '1';
8765 // Titles
8766 properties['g_graph_title_colour'] = '#000000';
8767 properties['g_graph_title_space'] = '10';
8768 // Labels
8769 properties['g_label_colour'] = '#000000';
8770 properties['g_label_font_size'] = '10';
8771 properties['g_label_space'] = '10';
8772 // Markers
8773 properties['g_marker_colour'] = '#000000';
8774 properties['g_marker_size'] = '3';
8775 // Legend
8776 properties['g_legend_back_colour'] = '#ffffff';
8777 properties['g_legend_stroke_colour'] = '#000000';
8778 properties['g_legend_stroke_width'] = '1';
8779 properties['g_legend_entry_width'] = '20';
8780 properties['g_legend_entry_height'] = '20';
8781 properties['g_legend_padding_x'] = '5';
8782 properties['g_legend_padding_y'] = '5';
8783 properties['g_legend_colour'] = '#000000';
8784 properties['g_legend_font_size'] = '10';
8785 properties['g_show_legend'] = '1';
8786 // Grid
8787 properties['g_grid_colour'] = '#eeeeee';
8788 properties['g_grid_subdivision_colour'] = '#eeeeee';
8789 properties['g_minimum_grid_spacing'] = '20';
8790 properties['g_show_grid'] = '1';
8791 properties['g_show_grid_subdivisions'] = '1';
8792 // Axis
8793 properties['g_axis_colour'] = '#000000';
8794 properties['g_axis_font_size'] = '12';
8795 properties['g_show_axis_v'] = '1';
8796 properties['g_show_axis_text_v'] = '1';
8797 properties['g_show_axis_h'] = '1';
8798 properties['g_show_axis_text_h'] = '1';
8799 properties['g_show_subdivisions'] = '1';
8800 properties['g_axis_overlap'] = '5';
8801 properties['g_axis_stroke_width_v'] = '1';
8802 properties['g_axis_stroke_width_h'] = '1';
8803 // Bar Label
8804 properties['g_bar_label_colour'] = '#000000';
8805 properties['g_bar_label_font_size'] = '10';
8806 properties['g_bar_label_space'] = '3';
8807 properties['g_show_bar_labels'] = '1';
8808 properties['g_project_angle'] = '45';
8809 properties['g_depth'] = '20';
8810 properties['g_aspect_ratio'] = '1';
8811 properties['margin_top'] = '10';
8812 properties['margin_left'] = '10';
8813 properties['margin_right'] = '10';
8814 properties['margin_bottom'] = '10';
8815 properties['g_multiline'] = '2';
8816 // Bar
8817 properties['g_bar_width'] = '0';
8818 properties['g_bar_width_min'] = '1';
8819 properties['g_bar_space'] = '10';
8820 } else {
8821 // backward compatibility
8822 if (!properties.hasOwnProperty('g_depth')) {
8823 properties['g_depth'] = '40';
8824 }
8825 if (!properties.hasOwnProperty('g_aspect_ratio')) {
8826 properties['g_aspect_ratio'] = '1';
8827 }
8828 if (!properties.hasOwnProperty('g_legend_entry_height')) {
8829 properties['g_legend_entry_height'] = '20';
8830 }
8831 if (!properties.hasOwnProperty('g_bar_width')) {
8832 properties['g_bar_width'] = '0';
8833 }
8834 if (!properties.hasOwnProperty('g_bar_width_min')) {
8835 properties['g_bar_width_min'] = '1';
8836 }
8837 if (!properties.hasOwnProperty('g_bar_space')) {
8838 properties['g_bar_space'] = '10';
8839 }
8840 }
8841 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
8842 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
8843 jQuery('<i>', {'class': 'e2pdf-drag'})
8844 );
8845 break;
8846 default:
8847 break;
8848 }
8849
8850 if (typeof element !== 'undefined') {
8851 if (!element_id) {
8852 var last_id = 0;
8853 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
8854 var num_id = parseInt(jQuery(this).attr("data-element_id"));
8855 if (num_id > last_id) {
8856 last_id = num_id;
8857 }
8858 });
8859 element_id = parseInt(last_id + 1);
8860 }
8861 element.addClass('e2pdf-element');
8862 element.attr('data-element_id', element_id);
8863 element.data('data-type', type);
8864 if (properties.hasOwnProperty('width')) {
8865 element.css({'width': properties['width']});
8866 }
8867 if (properties.hasOwnProperty('height')) {
8868 element.css({'height': properties['height']});
8869 }
8870 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
8871 element.css({'top': properties['top'], 'left': properties['left']});
8872 }
8873 element.css({"position": "absolute"});
8874 e2pdf.properties.apply(element, properties, onload);
8875 e2pdf.actions.apply(element, actions);
8876 e2pdf.element.initEvents(element, page);
8877 if (!onload) {
8878 e2pdf.event.fire('after.element.create');
8879 }
8880 return element;
8881 } else {
8882 return false;
8883 }
8884 },
8885 // e2pdf.element.children
8886 children: function (el) {
8887 var children = el.find('.' + el.data('data-type'));
8888 return children;
8889 },
8890 // e2pdf.element.select
8891 select: function (el) {
8892 var selected = false;
8893 for (var key in e2pdf.element.selected) {
8894 if (e2pdf.element.selected[key].is(el)) {
8895 selected = true;
8896 }
8897 }
8898 if (!selected) {
8899 el.addClass('e2pdf-selected');
8900 e2pdf.element.selected.push(el);
8901 }
8902 },
8903 // e2pdf.element.unselect
8904 unselect: function (el) {
8905 if (!el) {
8906 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
8907 e2pdf.element.selected = [];
8908 } else {
8909 for (var key in e2pdf.element.selected) {
8910 if (e2pdf.element.selected[key].is(el)) {
8911 el.removeClass('e2pdf-selected');
8912 delete e2pdf.element.selected[key];
8913 }
8914 }
8915 }
8916 },
8917 // e2pdf.element.unfocus
8918 unfocus: function (el) {
8919 e2pdf.wysiwyg.helper.dropSelection();
8920 if (!el) {
8921 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
8922 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
8923 jQuery(this).blur();
8924 });
8925 } else {
8926 el.find('.e2pdf-inner-element').blur();
8927 el.removeClass('e2pdf-focused');
8928 }
8929 },
8930 // e2pdf.element.focus
8931 focus: function (el) {
8932 el.one('beforeinput', function (e) {
8933 var history = [];
8934 history.push(el.clone(true));
8935 e2pdf.history.set('element_change', history);
8936 });
8937 var el_inner = el.find('.e2pdf-inner-element');
8938 el_inner.focus();
8939 el.addClass('e2pdf-focused');
8940 },
8941 // e2pdf.element.hide
8942 hide: function (el) {
8943 el.addClass('e2pdf-hide');
8944 },
8945 // e2pdf.element.show
8946 show: function (el) {
8947 el.removeClass('e2pdf-hide');
8948 },
8949 // e2pdf.element.delete
8950 delete: function (el) {
8951 el.remove();
8952 e2pdf.event.fire('after.element.delete');
8953 }
8954 },
8955 // e2pdf.storage
8956 storage: {
8957 get: function (key) {
8958 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
8959 },
8960 set: function (key, data) {
8961 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
8962 },
8963 delete: function (key) {
8964 localStorage.removeItem('e2pdf_' + key);
8965 }
8966 },
8967 // e2pdf.history
8968 history: {
8969 // e2pdf.history.set
8970 set: function (action, elements, data) {
8971 if (elements && elements.length > 0) {
8972 var history = {
8973 'action': action,
8974 'elements': elements,
8975 'data': data,
8976 };
8977 e2pdf.history.undoStack.push(history);
8978 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
8979 e2pdf.history.undoStack.shift();
8980 }
8981 if (e2pdf.history.undoStack.length > 0) {
8982 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
8983 }
8984 }
8985 },
8986 // e2pdf.history.undo
8987 undo: function () {
8988 var history = e2pdf.history.undoStack.pop();
8989 if (history) {
8990 e2pdf.element.unselect();
8991 if (history.action == 'element_change') {
8992 for (var key in history.elements) {
8993 var buffered = history.elements[key];
8994 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
8995 e2pdf.element.initEvents(buffered);
8996 e2pdf.element.select(buffered);
8997 }
8998 } else if (history.action == 'element_create') {
8999 for (var key in history.elements) {
9000 var buffered = history.elements[key];
9001 if (buffered.hasClass('e2pdf-page')) {
9002 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9003 if (jQuery('.e2pdf-page').length == 0) {
9004 e2pdf.history.undo();
9005 }
9006 } else {
9007 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9008 }
9009 }
9010 } else if (history.action == 'element_delete') {
9011 for (var key in history.elements) {
9012 var buffered = history.elements[key];
9013 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9014 page.append(buffered);
9015 e2pdf.element.initEvents(buffered, page);
9016 e2pdf.element.select(buffered);
9017 }
9018 } else if (history.action == 'page_change') {
9019 for (var key in history.elements) {
9020 var buffered = history.elements[key];
9021 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9022 page.data('data-type', 'e2pdf-page');
9023 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9024 if (buffered.css('background-image')) {
9025 page.css('background-image', buffered.css('background-image'));
9026 }
9027 buffered.find('.e2pdf-element').each(function () {
9028 page.append(jQuery(this));
9029 e2pdf.element.initEvents(jQuery(this), page);
9030 });
9031 e2pdf.pages.initEvents(page);
9032 e2pdf.pages.rebuildPages();
9033 }
9034 if (history.data) {
9035 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9036 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9037 }
9038 } else if (history.action == 'page_delete') {
9039 for (var key in history.elements) {
9040 var buffered = history.elements[key];
9041 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9042 page.data('data-type', 'e2pdf-page');
9043 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9044 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9045 if (buffered.attr('data-page_id') == '1') {
9046 jQuery('.e2pdf-tpl-inner').prepend(page);
9047 } else {
9048 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9049 }
9050 if (buffered.css('background-image')) {
9051 page.css('background-image', buffered.css('background-image'));
9052 }
9053 buffered.find('.e2pdf-element').each(function () {
9054 page.append(jQuery(this));
9055 e2pdf.element.initEvents(jQuery(this), page);
9056 });
9057 e2pdf.pages.initEvents(page);
9058 e2pdf.pages.rebuildPages();
9059 }
9060 if (history.data) {
9061 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9062 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9063 }
9064 } else if (history.action == 'wysiwyg') {
9065 for (var key in history.elements) {
9066 var buffered = history.elements[key];
9067 buffered.focus();
9068 document.execCommand('undo');
9069 }
9070 }
9071 if (e2pdf.history.undoStack.length == 0) {
9072 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9073 }
9074 }
9075 },
9076 // e2pdf.history.redo
9077 redo: function () {
9078
9079 },
9080 clear: function () {
9081 e2pdf.history.undoStack = [];
9082 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9083 },
9084 // e2pdf.history.undoStack
9085 undoStack: []
9086 },
9087 // e2pdf.copy
9088 copy: function (key, el) {
9089 e2pdf.element.init(el);
9090 switch (key) {
9091 case 'style':
9092 var data = {
9093 'type': el.data('data-type'),
9094 'fields': e2pdf.properties.getFields(el)
9095 };
9096 e2pdf.storage.set(key, data);
9097 break;
9098 case 'width':
9099 var data = {
9100 'width': e2pdf.properties.getValue(el, 'width', 'float')
9101 };
9102 e2pdf.storage.set(key, data);
9103 break;
9104 case 'height':
9105 var data = {
9106 'height': e2pdf.properties.getValue(el, 'height', 'float')
9107 };
9108 e2pdf.storage.set(key, data);
9109 break;
9110 case 'elements':
9111 var elements = e2pdf.storage.get('elements');
9112 if (elements == null) {
9113 elements = [];
9114 }
9115 var data = {
9116 'type': el.data('data-type'),
9117 'top': el.css('top'),
9118 'left': el.css('left'),
9119 'width': el.css('width'),
9120 'height': el.css('height'),
9121 'fields': e2pdf.properties.getFields(el),
9122 'properties': e2pdf.properties.get(el),
9123 'actions': e2pdf.actions.get(el)
9124 };
9125 elements.push(data);
9126 e2pdf.storage.set(key, elements);
9127 break;
9128 case 'actions':
9129 var data = {
9130 'actions': e2pdf.actions.get(el)
9131 };
9132 e2pdf.storage.set(key, data);
9133 break;
9134 }
9135 },
9136 // e2pdf.paste
9137 paste: function (key, el) {
9138 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9139 switch (key) {
9140 case 'style':
9141 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9142 e2pdf.element.init(el);
9143 var groups = e2pdf.storage.get('style').fields;
9144 for (var group_key in groups) {
9145 var group = groups[group_key];
9146 for (var field_key in group.fields) {
9147 var group_field = group.fields[field_key];
9148 if (group_field.type != 'link') {
9149 if (jQuery.inArray(group_field.key, [
9150 'page_id',
9151 'element_id',
9152 'element_type',
9153 'width',
9154 'height',
9155 'top',
9156 'left',
9157 'name',
9158 'field_name',
9159 'z_index',
9160 'group',
9161 'option',
9162 'options',
9163 'css',
9164 'parent',
9165 'value',
9166 'preg_pattern',
9167 'preg_replacement',
9168 'preg_match_all_pattern',
9169 'preg_match_all_output',
9170 'wysiwyg_disable',
9171 'multipage',
9172 'dynamic_height',
9173 'nl2br',
9174 'hide_if_empty',
9175 'hide_page_if_empty',
9176 'css_priority',
9177 'pdf_resample',
9178 'pdf_append',
9179 'html_worker',
9180 'esig',
9181 'dimension',
9182 'block_dimension',
9183 'keep_lower_size',
9184 'fill_image',
9185 'only_image',
9186 'hl',
9187 'placeholder',
9188 'pdf_page',
9189 'format',
9190 'g_type',
9191 'g_structure_key',
9192 'g_structure_value',
9193 'g_structure_colour',
9194 'g_structure_axis_text',
9195 'g_structure_legend_text',
9196 'g_structure_label',
9197 'g_structure_area',
9198 'g_structure_open',
9199 'g_structure_end',
9200 'g_structure_outliers',
9201 'g_structure_top',
9202 'g_structure_bottom',
9203 'g_structure_wtop',
9204 'g_structure_wbottom',
9205 'g_structure_high',
9206 'g_structure_low',
9207 'g_structured_data',
9208 'g_key_sep',
9209 'g_array_sep',
9210 'g_sub_array_sep',
9211 'g_graph_title',
9212 'g_label_v',
9213 'g_label_h',
9214 'g_legend_title'
9215 ]) === -1) {
9216 e2pdf.properties.set(el, group_field.key, group_field.value);
9217 }
9218 }
9219 }
9220 }
9221 e2pdf.properties.render(el);
9222 }
9223 break;
9224 case 'elements':
9225 case 'elements-in-place':
9226 e2pdf.element.unselect();
9227 var context = jQuery('.e2pdf-context');
9228 var page = context.closest('.e2pdf-page');
9229 var min_top = 99999999;
9230 var min_left = 99999999;
9231 var left_correction = 0;
9232 var top_correction = 0;
9233 if (key !== 'elements-in-place') {
9234 for (var element in e2pdf.storage.get('elements')) {
9235 var buffered = e2pdf.storage.get('elements')[element];
9236 var properties = buffered.properties;
9237 min_top = Math.min(parseFloat(properties['top']), min_top);
9238 min_left = Math.min(parseFloat(properties['left']), min_left);
9239 }
9240 for (var element in e2pdf.storage.get('elements')) {
9241 var buffered = e2pdf.storage.get('elements')[element];
9242 var properties = buffered.properties;
9243 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9244 if (context.hasClass('e2pdf-context-bottom')) {
9245 top += context.height();
9246 }
9247 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9248 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9249 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9250 left_correction = Math.max(correction, left_correction);
9251 }
9252 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9253 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9254 top_correction = Math.max(correction, top_correction);
9255 }
9256 }
9257 }
9258
9259 var history = [];
9260 for (var element in e2pdf.storage.get('elements')) {
9261 var buffered = e2pdf.storage.get('elements')[element];
9262 var properties = buffered.properties;
9263 var actions = buffered.actions;
9264 if (key !== 'elements-in-place') {
9265 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9266 if (context.hasClass('e2pdf-context-bottom')) {
9267 top += context.height();
9268 }
9269 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9270 properties['top'] = top;
9271 properties['left'] = left;
9272 }
9273 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9274 page.append(el);
9275 e2pdf.properties.render(el);
9276 e2pdf.element.select(el);
9277 history.push(el.clone(true));
9278 }
9279 e2pdf.history.set('element_create', history);
9280 e2pdf.event.fire('after.element.paste');
9281 break;
9282 case 'actions':
9283 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9284 break;
9285 case 'width':
9286 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9287 e2pdf.properties.render(el);
9288 break;
9289 case 'height':
9290 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9291 e2pdf.properties.render(el);
9292 break;
9293 }
9294 }
9295 },
9296 // e2pdf.wysiwyg
9297 wysiwyg: {
9298 // e2pdf.wysiwyg.apply
9299 apply: function (el) {
9300 var history = [];
9301 history.push(el);
9302 e2pdf.history.set('wysiwyg', history);
9303 var html = '';
9304 var command = el.attr('data-command');
9305 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9306 if (command === 'H1') {
9307 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9308 e2pdf.wysiwyg.clear('h1');
9309 } else {
9310 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9311 document.execCommand('insertHTML', false, html);
9312 }
9313 } else if (command === 'H2') {
9314 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9315 e2pdf.wysiwyg.clear('h2');
9316 } else {
9317 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9318 document.execCommand('insertHTML', false, html);
9319 }
9320 } else if (command === 'createlink') {
9321 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9322 document.execCommand(command, false, url);
9323 } else if (command === 'font-size') {
9324 var font_size = el.find('option:selected').html();
9325 if (node.is("span") && document.getSelection().toString() === node.text()) {
9326 html = node.css('font-size', font_size + "px").prop('outerHTML');
9327 } else {
9328 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9329 }
9330 document.execCommand('insertHTML', false, html);
9331 el.val('');
9332 } else if (command === 'line-height') {
9333 var font_size = el.find('option:selected').html();
9334 if (node.is("span") && document.getSelection().toString() === node.text()) {
9335 html = node.css('line-height', font_size + "px").prop('outerHTML');
9336 } else {
9337 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9338 }
9339 document.execCommand('insertHTML', false, html);
9340 el.val('');
9341 } else if (command === 'font') {
9342 e2pdf.font.load(el);
9343 var font = CSS.escape(el.find('option:selected').html());
9344 if (node.is("span") && document.getSelection().toString() === node.text()) {
9345 html = node.css('font-family', font).prop('outerHTML');
9346 } else {
9347 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9348 }
9349 document.execCommand('insertHTML', false, html);
9350 el.val('');
9351 } else if (command === 'color') {
9352 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9353 var color = el.val();
9354 document.execCommand('foreColor', false, color);
9355 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9356 } else if (command === 'clear') {
9357 document.execCommand("removeformat", false, "");
9358 e2pdf.wysiwyg.clear();
9359 } else if (command) {
9360 document.execCommand(command, false, null);
9361 }
9362 e2pdf.event.fire('after.wysiwyg.apply');
9363 },
9364 // e2pdf.wysiwyg.clear
9365 clear: function (tags) {
9366 if (!tags) {
9367 var tags = "h1,h2";
9368 }
9369 var array = tags.toLowerCase().split(",");
9370 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9371 if (node.nodeType === 1 &&
9372 array.indexOf(node.tagName.toLowerCase()) > -1) {
9373 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9374 }
9375 });
9376 },
9377 // e2pdf.wysiwyg.helper
9378 helper: {
9379 // e2pdf.wysiwyg.helper.getSelectedNodes
9380 getSelectedNodes: function () {
9381 var nodes = [];
9382 if (window.getSelection) {
9383 var sel = window.getSelection();
9384 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9385 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9386 }
9387 }
9388 return nodes;
9389 },
9390 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9391 replaceWithOwnChildren: function (el) {
9392 var parent = el.parentNode;
9393 while (el.hasChildNodes()) {
9394 parent.insertBefore(el.firstChild, el);
9395 }
9396 parent.removeChild(el);
9397 },
9398 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9399 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9400 var node = range.startContainer;
9401 var endNode = range.endContainer;
9402 var rangeNodes = [];
9403 if (node === endNode) {
9404 rangeNodes = [node];
9405 } else {
9406 while (node && node !== endNode) {
9407 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9408 }
9409 node = range.startContainer;
9410 while (node && node !== range.commonAncestorContainer) {
9411 rangeNodes.unshift(node);
9412 node = node.parentNode;
9413 }
9414 }
9415
9416 if (includePartiallySelectedContainers) {
9417 node = range.commonAncestorContainer;
9418 while (node) {
9419 rangeNodes.push(node);
9420 node = node.parentNode;
9421 }
9422 }
9423
9424 return rangeNodes;
9425 },
9426 // e2pdf.wysiwyg.helper.getSelectedNode
9427 getSelectedNode: function () {
9428 var node, selection;
9429 if (window.getSelection) {
9430 selection = getSelection();
9431 node = selection.anchorNode;
9432 }
9433 if (!node && document.selection) {
9434 selection = document.selection;
9435 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9436 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9437 range.parentElement ? range.parentElement() : range.item(0);
9438 }
9439 if (node) {
9440 return (node.nodeName === "#text" ? node.parentNode : node);
9441 }
9442 },
9443 // e2pdf.wysiwyg.helper.nextNode
9444 nextNode: function (node) {
9445 if (node.hasChildNodes()) {
9446 return node.firstChild;
9447 } else {
9448 while (node && !node.nextSibling) {
9449 node = node.parentNode;
9450 }
9451 if (!node) {
9452 return null;
9453 }
9454 return node.nextSibling;
9455 }
9456 },
9457 // e2pdf.wysiwyg.helper.getSelectionHtml
9458 getSelectionHtml: function () {
9459 var html = "";
9460 if (typeof window.getSelection != 'undefined') {
9461 var sel = window.getSelection();
9462 if (sel.rangeCount) {
9463 var container = document.createElement("div");
9464 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9465 container.appendChild(sel.getRangeAt(i).cloneContents());
9466 }
9467 html = container.innerHTML;
9468 }
9469 } else if (typeof document.selection != 'undefined') {
9470 if (document.selection.type === "Text") {
9471 html = document.selection.createRange().htmlText;
9472 }
9473 }
9474 return html;
9475 },
9476 // e2pdf.wysiwyg.helper.saveSelection
9477 saveSelection: function () {
9478 if (window.getSelection) {
9479 sel = window.getSelection();
9480 if (sel.getRangeAt && sel.rangeCount) {
9481 return sel.getRangeAt(0);
9482 }
9483 } else if (document.selection && document.selection.createRange) {
9484 return document.selection.createRange();
9485 }
9486 return null;
9487 },
9488 // e2pdf.wysiwyg.helper.restoreSelection
9489 restoreSelection: function (range) {
9490 if (range) {
9491 if (window.getSelection) {
9492 sel = window.getSelection();
9493 sel.removeAllRanges();
9494 sel.addRange(range);
9495 } else if (document.selection && range.select) {
9496 range.select();
9497 }
9498 }
9499 },
9500 // e2pdf.wysiwyg.helper.dropSelection
9501 dropSelection: function () {
9502 if (window.getSelection) {
9503 sel = window.getSelection();
9504 sel.removeAllRanges();
9505 }
9506 }
9507 }
9508 },
9509 // e2pdf.visual
9510 visual: {
9511 // e2pdf.visual.mapper
9512 mapper: {
9513 cursorPosStart: null,
9514 cursorPosEnd: null,
9515 cursorRange: null,
9516 selected: null,
9517 // e2pdf.visual.mapper.init
9518 init: function (el) {
9519 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9520 if (el.find('.e2pdf-inner-element').is('div')) {
9521 if (window.getSelection) {
9522 sel = window.getSelection();
9523 if (sel.getRangeAt && sel.rangeCount) {
9524 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9525 }
9526 } else if (document.selection && document.selection.createRange) {
9527 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9528 }
9529 e2pdf.visual.mapper.cursorPosStart = null;
9530 e2pdf.visual.mapper.cursorPosEnd = null;
9531 } else {
9532 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9533 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9534 e2pdf.visual.mapper.cursorRange = null;
9535 }
9536 } else {
9537 e2pdf.visual.mapper.cursorPosStart = null;
9538 e2pdf.visual.mapper.cursorPosEnd = null;
9539 e2pdf.visual.mapper.cursorRange = null;
9540 }
9541
9542 e2pdf.visual.mapper.selected = el;
9543 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9544 e2pdf.dialog.create(modal);
9545 },
9546 // e2pdf.visual.mapper.markup
9547 markup: function () {
9548 e2pdf.dialog.rebuild();
9549 },
9550 // e2pdf.visual.mapper.rebuild
9551 rebuild: function () {
9552 if (jQuery('.e2pdf-vm-content').length > 0) {
9553 var vc_content = jQuery('.e2pdf-vm-content');
9554 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9555 jQuery('.e2pdf-vm-wrapper').remove();
9556 }
9557 vc_content.find('input[type="hidden"]').each(function () {
9558 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9559 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9560 jQuery(this).attr('value', jQuery(this).attr('name'));
9561 }
9562 });
9563 if (e2pdf.static.vm.hidden) {
9564 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9565 jQuery(this).attr('type', 'text');
9566 });
9567 } else {
9568 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9569 jQuery(this).attr('type', 'hidden');
9570 });
9571 }
9572
9573 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9574 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 () {
9575 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9576 });
9577 vc_content.append(vc_wrapper);
9578 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9579 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9580 }
9581 }
9582 },
9583 // e2pdf.visual.mapper.clear
9584 clear: function () {
9585 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9586 jQuery('.e2pdf-vm-wrapper').remove();
9587 }
9588 },
9589 // e2pdf.visual.mapper.load
9590 load: function (el) {
9591 var loaded = false;
9592 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9593 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9594 var width = el.css('width');
9595 var height = el.css('height');
9596 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9597 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9598 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9599 'width': width, 'height': height, 'top': top, 'left': left
9600 });
9601 var name = el.attr('name');
9602 var type = el.attr('type');
9603 var value = el.attr('value');
9604 if (el.is('select')) {
9605 type = 'select';
9606 value = '';
9607 el.find('option').each(function () {
9608 value += jQuery(this).attr('value');
9609 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9610 value += "\n";
9611 }
9612 });
9613 }
9614
9615 loaded.data('name', name);
9616 loaded.data('type', type);
9617 loaded.data('value', value);
9618 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9619 }
9620 return loaded;
9621 },
9622 // e2pdf.visual.mapper.apply
9623 apply: function (el) {
9624 if (e2pdf.visual.mapper.selected) {
9625 var history = [];
9626 history.push(e2pdf.visual.mapper.selected.clone(true));
9627 e2pdf.history.set('element_change', history);
9628 var name = el.data('name');
9629 var group = el.data('name');
9630 var value = el.data('value');
9631 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9632 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9633 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9634 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9635 var final = textBefore + name + textAfter;
9636 if (!e2pdf.static.vm.replace) {
9637 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9638 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9639 } else {
9640 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9641 }
9642 name = final;
9643 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9644 e2pdf.visual.mapper.cursorRange.deleteContents();
9645 var node = document.createTextNode(name);
9646 e2pdf.visual.mapper.cursorRange.insertNode(node);
9647 } else {
9648 if (!e2pdf.static.vm.replace) {
9649 e2pdf.element.init(e2pdf.visual.mapper.selected);
9650 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9651 }
9652 }
9653 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9654 case 'e2pdf-checkbox':
9655 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9656 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9657 break;
9658 case 'e2pdf-radio':
9659 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9660 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9661 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9662 break;
9663 case 'e2pdf-select':
9664 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9665 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9666 break;
9667 case 'e2pdf-image':
9668 case 'e2pdf-qrcode':
9669 case 'e2pdf-barcode':
9670 case 'e2pdf-graph':
9671 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9672 break;
9673 default:
9674 if (e2pdf.visual.mapper.cursorRange === null) {
9675 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9676 }
9677 break;
9678 }
9679 if (e2pdf.visual.mapper.cursorRange === null) {
9680 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9681 }
9682 }
9683 if (e2pdf.static.vm.close) {
9684 e2pdf.dialog.close();
9685 }
9686 }
9687 }
9688 },
9689 zoom: {
9690 zoom: 1,
9691 click: {
9692 x: 0,
9693 y: 0
9694 },
9695 apply: function (el) {
9696 jQuery('.e2pdf-tpl').removeClass(function (index, className) {
9697 return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
9698 });
9699 if (el.val() !== '100') {
9700 jQuery('.e2pdf-tpl').addClass("e2pdf-z" + el.val());
9701 }
9702
9703 e2pdf.zoom.zoom = el.val() / 100;
9704 jQuery('.e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('.e2pdf-tpl').width()) / 2);
9705 }
9706 }
9707 };
9708 jQuery(window).resize(function () {
9709 e2pdf.visual.mapper.clear();
9710 if (e2pdf.static.observer !== null) {
9711 e2pdf.static.observer.disconnect();
9712 e2pdf.static.observer = null;
9713 }
9714 if (this.e2pdfResizeTO) {
9715 clearTimeout(this.e2pdfResizeTO);
9716 }
9717 this.e2pdfResizeTO = setTimeout(function () {
9718 jQuery(this).trigger('e2pdfResizeEnd');
9719 }, 500);
9720 });
9721 jQuery(document).on('click', '.notice-dismiss', function (e) {
9722 jQuery(this).parent().addClass('e2pdf-hide');
9723 jQuery(this).trigger('e2pdfResizeEnd');
9724 });
9725 jQuery(window).bind('e2pdfResizeEnd', function () {
9726 e2pdf.dialog.rebuild();
9727 });
9728 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9729 var collapse = jQuery(this).attr('data-collapse');
9730 if (collapse) {
9731 if (jQuery(this).is(':checked')) {
9732 jQuery('.' + collapse).removeClass('e2pdf-hide');
9733 } else {
9734 jQuery('.' + collapse).addClass('e2pdf-hide');
9735 }
9736 }
9737 });
9738 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9739
9740 const form = jQuery(this).closest('form');
9741 const value = jQuery(this).val();
9742 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9743 if (value == '1') {
9744 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9745 } else if (value == '2') {
9746 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9747 }
9748
9749 form.off('submit.confirmOverwrite');
9750 if (value == '1' || value == '2' || value == '3') {
9751 form.on('submit.confirmOverwrite', function (e) {
9752 let message = '';
9753 if (value == '3') {
9754 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9755 } else {
9756 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9757 if (!template_id) {
9758 return true;
9759 }
9760 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9761 }
9762 if (!confirm(message)) {
9763 e.preventDefault();
9764 return false;
9765 }
9766 });
9767 }
9768 });
9769 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9770 if (jQuery(this).val() == 'attachment') {
9771 jQuery(this).closest('form').removeAttr('target');
9772 } else {
9773 jQuery(this).closest('form').attr('target', '_blank');
9774 }
9775 });
9776 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9777 var collapse = jQuery(this).attr('data-collapse');
9778 if (collapse) {
9779 if (jQuery(this).hasClass('e2pdf-collapsed')) {
9780 jQuery('.' + collapse).addClass('e2pdf-hide');
9781 jQuery(this).removeClass('e2pdf-collapsed');
9782 } else {
9783 jQuery('.' + collapse).removeClass('e2pdf-hide');
9784 jQuery(this).addClass('e2pdf-collapsed');
9785 }
9786 }
9787 });
9788 jQuery(document).ready(function () {
9789 jQuery('body').removeClass('e2pdf-loading');
9790 if (jQuery('.e2pdf-select2').length > 0) {
9791 jQuery('.e2pdf-select2').attr('disabled', false);
9792 }
9793 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
9794 e.stopPropagation();
9795 e.preventDefault();
9796 e.stopImmediatePropagation();
9797 return false;
9798 });
9799 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
9800 var parent = jQuery(this).closest('.e2pdf-grid');
9801 var argument = parent.find('.e2pdf-argument').first().clone();
9802 var index = parent.find('.e2pdf-argument').length + 1;
9803 argument.find('input').val('').attr('placeholder', 'arg' + index);
9804 argument.appendTo(parent.find('.e2pdf-arguments'));
9805 });
9806 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
9807 var parent = jQuery(this).closest('.e2pdf-grid');
9808 if (parent.find('.e2pdf-argument').length > 1) {
9809 parent.find('.e2pdf-argument').last().remove();
9810 }
9811 });
9812 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
9813 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
9814 var form = jQuery(this).closest('form');
9815 if (form.attr('id') === 'e2pdf-tpl-actions') {
9816 var element = jQuery('.e2pdf-tpl');
9817 } else if (form.attr('id') === 'e2pdf-page-options') {
9818 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
9819 } else {
9820 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9821 }
9822 e2pdf.actions.add(element, actions);
9823 });
9824 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
9825 var action_conditions = jQuery(this).closest('.e2pdf-action');
9826 var form = jQuery(this).closest('form');
9827 if (form.attr('id') === 'e2pdf-tpl-actions') {
9828 var element = jQuery('.e2pdf-tpl');
9829 } else if (form.attr('id') === 'e2pdf-page-options') {
9830 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
9831 } else {
9832 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9833 }
9834
9835 e2pdf.actions.conditions.add(element, action_conditions);
9836 });
9837 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
9838 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
9839 return false;
9840 }
9841 var action = jQuery(this).closest('.e2pdf-action');
9842 e2pdf.actions.delete(action);
9843 });
9844 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
9845 var action = jQuery(this).closest('.e2pdf-action');
9846 e2pdf.actions.duplicate(action);
9847 });
9848 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
9849 var action = jQuery(this).closest('.e2pdf-action');
9850 if (action.find('.e2pdf-condition').length === 1) {
9851 alert(e2pdf.lang.get('Last condition can\'t be removed'));
9852 return false;
9853 }
9854 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
9855 return false;
9856 }
9857 var condition = jQuery(this).closest('.e2pdf-condition');
9858 e2pdf.actions.conditions.delete(condition);
9859 });
9860 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
9861 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
9862 });
9863 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
9864 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
9865 return false;
9866 }
9867 var history = [];
9868 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
9869 var el = jQuery(this);
9870 history.push(el.clone(true));
9871 el.css('background', '');
9872 });
9873 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
9874 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
9875 });
9876 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
9877 e2pdf.zoom.apply(jQuery(this));
9878 });
9879 jQuery(document).on('change', '.e2pdf-extension', function (e) {
9880 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
9881 });
9882 jQuery(document).on('change', '.e2pdf-item', function (e) {
9883 if (jQuery(this).val() == '-1') {
9884 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
9885 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
9886 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
9887 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9888 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9889 } else if (jQuery(this).val() == '-2') {
9890 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9891 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
9892 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
9893 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
9894 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
9895 } else {
9896 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9897 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
9898 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9899 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9900 }
9901 });
9902 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
9903 var action = jQuery(this).closest('.e2pdf-action');
9904 e2pdf.actions.change(action, jQuery(this));
9905 });
9906 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
9907 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
9908 var tab = jQuery(this);
9909 tab.closest('ul').find('li').removeClass('active');
9910 tab.parent('li').addClass('active');
9911 jQuery(document.getElementById(tab.attr('data-tab'))).show();
9912 });
9913 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
9914 var parent = jQuery(this).closest('.e2pdf-closed');
9915 if (parent.hasClass('e2pdf-opened')) {
9916 parent.removeClass('e2pdf-opened');
9917 } else {
9918 jQuery('.e2pdf-closed').each(function () {
9919 jQuery(this).removeClass('e2pdf-opened');
9920 });
9921 parent.addClass('e2pdf-opened');
9922 }
9923 });
9924 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
9925 e.preventDefault();
9926 var el = jQuery(this);
9927 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
9928 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
9929 return false;
9930 }
9931 }
9932 if (el.attr('form-id') == 'license_key') {
9933 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?'))) {
9934 return false;
9935 }
9936 }
9937 e2pdf.request.submitForm(el);
9938 });
9939 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
9940 var el = jQuery(this);
9941 if (el.hasClass('e2pdf-noclose')) {
9942 e2pdf.request.submitLocal(el, true);
9943 } else {
9944 e2pdf.request.submitLocal(el);
9945 }
9946 });
9947 jQuery(document).on('click', '.e2pdf-delete', function (e) {
9948 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?');
9949 if (!confirm(message)) {
9950 e2pdf.delete('.e2pdf-context');
9951 return false;
9952 }
9953 var history = [];
9954 for (var key in e2pdf.element.selected) {
9955 var selected = e2pdf.element.selected[key];
9956 e2pdf.element.init(selected);
9957 history.push(selected.clone(true));
9958 e2pdf.element.delete(selected);
9959 }
9960 e2pdf.history.set('element_delete', history);
9961 e2pdf.element.unselect();
9962 });
9963 jQuery(document).on('click', '.e2pdf-copy', function (e) {
9964 var type = jQuery(this).attr('type');
9965 if (type == 'elements') {
9966 e2pdf.storage.delete('elements');
9967 }
9968 for (var key in e2pdf.element.selected) {
9969 var selected = e2pdf.element.selected[key];
9970 e2pdf.copy(type, selected);
9971 }
9972 });
9973 jQuery(document).on('click', '.e2pdf-paste', function (e) {
9974 var type = jQuery(this).attr('type');
9975 if (type == 'elements' || type == 'elements-in-place') {
9976 e2pdf.paste(type);
9977 } else {
9978 var history = [];
9979 for (var key in e2pdf.element.selected) {
9980 var selected = e2pdf.element.selected[key];
9981 history.push(selected.clone(true));
9982 e2pdf.paste(type, selected);
9983 }
9984 e2pdf.history.set('element_change', history);
9985 }
9986 });
9987 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
9988 var history = [];
9989 for (var key in e2pdf.element.selected) {
9990 var selected = e2pdf.element.selected[key];
9991 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
9992 history.push(selected.clone(true));
9993 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
9994 }
9995 }
9996 e2pdf.history.set('element_change', history);
9997 });
9998 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
9999 var history = [];
10000 for (var key in e2pdf.element.selected) {
10001 var selected = e2pdf.element.selected[key];
10002 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10003 history.push(selected.clone(true));
10004 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10005 e2pdf.properties.render(selected);
10006 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10007 history.push(selected.clone(true));
10008 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10009 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10010 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10011 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10012 e2pdf.properties.render(selected);
10013 }
10014 }
10015 e2pdf.history.set('element_change', history);
10016 });
10017 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10018 e2pdf.storage.delete('elements');
10019 var history = [];
10020 for (var key in e2pdf.element.selected) {
10021 var selected = e2pdf.element.selected[key];
10022 e2pdf.element.init(selected);
10023 history.push(selected.clone(true));
10024 e2pdf.copy('elements', selected);
10025 e2pdf.element.delete(selected);
10026 }
10027 e2pdf.history.set('element_delete', history);
10028 });
10029 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10030 e.preventDefault();
10031 e.stopPropagation();
10032 e.stopImmediatePropagation();
10033 });
10034 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10035 jQuery(this).find('ul').show();
10036 });
10037 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10038 jQuery(this).find('ul').hide();
10039 });
10040 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10041 for (var key in e2pdf.element.selected) {
10042 var selected = e2pdf.element.selected[key];
10043 selected.addClass('e2pdf-focused');
10044 }
10045 });
10046 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10047 for (var key in e2pdf.element.selected) {
10048 var selected = e2pdf.element.selected[key];
10049 e2pdf.element.hide(selected);
10050 }
10051 });
10052 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10053 for (var key in e2pdf.element.selected) {
10054 var selected = e2pdf.element.selected[key];
10055 e2pdf.element.show(selected);
10056 }
10057 });
10058 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10059 for (var key in e2pdf.element.selected) {
10060 var selected = e2pdf.element.selected[key];
10061 e2pdf.properties.set(selected, 'locked', '1');
10062 selected.addClass('e2pdf-locked');
10063 }
10064 });
10065 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10066 for (var key in e2pdf.element.selected) {
10067 var selected = e2pdf.element.selected[key];
10068 e2pdf.properties.set(selected, 'locked', '0');
10069 selected.removeClass('e2pdf-locked');
10070 }
10071 });
10072 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10073 return false;
10074 });
10075 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10076 return false;
10077 });
10078 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10079 if (jQuery(this).hasClass('e2pdf-inactive')) {
10080 jQuery('html').addClass('e2pdf-show-all-elements');
10081 jQuery(this).removeClass('e2pdf-inactive');
10082 } else {
10083 jQuery('html').removeClass('e2pdf-show-all-elements');
10084 jQuery(this).addClass('e2pdf-inactive');
10085 }
10086 });
10087 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10088 if (jQuery(this).hasClass('e2pdf-inactive')) {
10089 jQuery('html').addClass('e2pdf-unlock-all-elements');
10090 jQuery(this).removeClass('e2pdf-inactive');
10091 } else {
10092 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10093 jQuery(this).addClass('e2pdf-inactive');
10094 }
10095 });
10096 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10097 if (jQuery(this).hasClass('e2pdf-inactive')) {
10098 jQuery(this).removeClass('e2pdf-inactive');
10099 } else {
10100 jQuery(this).addClass('e2pdf-inactive');
10101 }
10102 jQuery('.e2pdf-html').each(function () {
10103 var el = jQuery(this).parent();
10104 var children = jQuery(this);
10105 if (children.is('textarea')) {
10106 e2pdf.properties.set(el, 'value', children.val());
10107 } else {
10108 e2pdf.properties.set(el, 'value', children.html());
10109 }
10110 e2pdf.properties.render(el);
10111 });
10112 });
10113 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10114 if (e2pdf.pdf.settings.get('pdf')) {
10115 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10116 } else if (e2pdf_params['license_type'] == 'FREE') {
10117 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10118 } else {
10119 e2pdf.pages.createPage();
10120 }
10121 });
10122 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10123 e2pdf.history.undo();
10124 });
10125 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10126 e2pdf.history.redo();
10127 });
10128 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10129 if (e2pdf.url.get('revision_id')) {
10130 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10131 return false;
10132 }
10133 e2pdf.createPdf(jQuery(this));
10134 });
10135 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10136 e2pdf.pages.movePage(jQuery(this), 'up');
10137 });
10138 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10139 e2pdf.pages.movePage(jQuery(this), 'down');
10140 });
10141 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10142 if (e2pdf.pdf.settings.get('pdf')) {
10143 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10144 return false;
10145 }
10146 var history = [];
10147 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10148 var el = jQuery(this);
10149 history.push(el.closest('.e2pdf-page').clone(true));
10150 e2pdf.pages.deletePage(el);
10151 });
10152 history.reverse();
10153 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10154 } else {
10155 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10156 return false;
10157 }
10158 var el = jQuery(jQuery(this));
10159 var history = [];
10160 history.push(el.closest('.e2pdf-page').clone(true));
10161 e2pdf.history.set('page_delete', history);
10162 e2pdf.pages.deletePage(el);
10163 }
10164 });
10165 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10166 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10167 return false;
10168 }
10169 var history = [];
10170 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10171 var el = jQuery(this);
10172 history.push(el.closest('.e2pdf-page').clone(true));
10173 e2pdf.pages.deletePage(el);
10174 });
10175 history.reverse();
10176 if (e2pdf.pdf.settings.get('pdf')) {
10177 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10178 } else {
10179 e2pdf.history.set('page_delete', history);
10180 }
10181 });
10182 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10183 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10184 return false;
10185 }
10186 var el = jQuery(jQuery(this));
10187 e2pdf.font.delete(el);
10188 });
10189 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10190 e2pdf.dialog.create(jQuery(this));
10191 });
10192 jQuery(document).on('click', 'body', function (e) {
10193 e2pdf.delete('.e2pdf-context');
10194 });
10195 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10196 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10197 });
10198 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10199 if (jQuery(this).is('select')) {
10200 var data = {};
10201 data['id'] = jQuery('.e2pdf-export-template').val();
10202 data['datasets'] = {};
10203 jQuery('.e2pdf-export-dataset').each(function () {
10204 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10205 });
10206 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10207 }
10208 });
10209 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10210 var data = {};
10211 data['id'] = jQuery('.e2pdf-export-template').val();
10212 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10213 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10214 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10215 });
10216 jQuery(document).on('change', 'fieldset.e2pdf-export-dataset input[type="checkbox"]', function (e) {
10217 if (jQuery(this).is(':checked')) {
10218 if (jQuery(this).val() == '') {
10219 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10220 }
10221 } else {
10222 if (jQuery(this).val() == '') {
10223 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10224 } else {
10225 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10226 }
10227 }
10228
10229 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10230 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10231 }
10232
10233 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10234 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10235 } else {
10236 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10237 }
10238 });
10239 jQuery(document).on('change', '#e2pdf-font', function (e) {
10240 e2pdf.font.load(jQuery(this));
10241 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10242 });
10243 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10244 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10245 });
10246 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10247 var text_align = jQuery(this).val();
10248 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10249 if (
10250 jQuery(this).data('data-type') == 'e2pdf-input'
10251 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10252 || jQuery(this).data('data-type') == 'e2pdf-html'
10253 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10254 || jQuery(this).data('data-type') == 'e2pdf-link'
10255 ) {
10256 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10257 var children = e2pdf.element.children(jQuery(this));
10258 children.css('text-align', text_align);
10259 }
10260 }
10261 });
10262 });
10263 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10264 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10265 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10266 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10267 (e.shiftKey === true && e.keyCode === 187) ||
10268 (e.keyCode >= 35 && e.keyCode <= 40)
10269 ) {
10270
10271 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10272 e.preventDefault();
10273 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10274 e.preventDefault();
10275 } else {
10276 return;
10277 }
10278 }
10279 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10280 e.preventDefault();
10281 }
10282 });
10283 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10284 if (e.which == 13) {
10285 e.preventDefault();
10286 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10287 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10288 } else {
10289 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10290 }
10291 }
10292 });
10293 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10294 var value = jQuery(this).val().trim();
10295 var prefix = '';
10296 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10297 prefix = '+';
10298 }
10299 value = parseFloat(value);
10300 if (isNaN(value)) {
10301 value = 0;
10302 }
10303 jQuery(this).val(prefix + value);
10304 });
10305 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10306 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10307 });
10308 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10309 if (jQuery(this).is(':checked')) {
10310 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10311 } else {
10312 jQuery('.e2pdf-tpl').attr('dir', false);
10313 }
10314 });
10315 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10316 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10317 });
10318 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10319 e.preventDefault();
10320 for (var key in e2pdf.element.selected) {
10321 var selected = e2pdf.element.selected[key];
10322 e2pdf.mediaUploader.init(selected);
10323 }
10324 });
10325 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10326 for (var key in e2pdf.element.selected) {
10327 var selected = e2pdf.element.selected[key];
10328 e2pdf.visual.mapper.init(selected);
10329 }
10330 });
10331 document.addEventListener('selectionchange', function () {
10332 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10333 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10334 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10335 const selection = window.getSelection();
10336 if (selection && selection.toString().length == 0) {
10337 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10338 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10339 }
10340 } else {
10341 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10342 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10343 }
10344 });
10345 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10346 e.preventDefault();
10347 if (jQuery(this).hasClass('e2pdf-inactive')) {
10348 return;
10349 }
10350 e2pdf.wysiwyg.apply(jQuery(this));
10351 });
10352 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10353 e.preventDefault();
10354 e.stopPropagation();
10355 e.stopImmediatePropagation();
10356 if (jQuery(this).hasClass('e2pdf-inactive')) {
10357 return;
10358 }
10359 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10360 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10361 if (!color_panel.hasClass('wp-picker-active')) {
10362 color_panel.find('.wp-color-result').click();
10363 if (color_panel.find('.wp-color-close').length === 0) {
10364 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10365 var width = parseFloat(jQuery(this).css('width'));
10366 var height = parseFloat(jQuery(this).css('height'));
10367 close.css({'width': width, "height": height, "margin-top": -height});
10368 color_panel.append(close);
10369 }
10370 }
10371 });
10372 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10373 e.preventDefault();
10374 e.stopPropagation();
10375 e.stopImmediatePropagation();
10376 if (jQuery(this).hasClass('e2pdf-inactive')) {
10377 return;
10378 }
10379 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10380 if (gridContainer.hasClass('e2pdf-hide')) {
10381 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10382 gridContainer.removeClass('e2pdf-hide').empty();
10383 for (let i = 0; i < 100; i++) {
10384 let gridItem = jQuery('<div>');
10385 gridItem.on('mouseover', function () {
10386 let rowCol = calculateRowCol(i);
10387 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10388 });
10389 gridItem.on('mouseout', function () {
10390 highlightGrid(gridContainer, 0, 0);
10391 });
10392 gridItem.on('click', function () {
10393 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10394 let rowCol = calculateRowCol(i);
10395 let html = '<table>\n';
10396 for (let r = 0; r < rowCol.rows; r++) {
10397 html += '<tr>\n';
10398 for (let c = 0; c < rowCol.cols; c++) {
10399 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10400 }
10401 html += '</tr>\n';
10402 }
10403 html += '</table>\n';
10404 document.execCommand('insertHTML', false, html);
10405 gridContainer.addClass('e2pdf-hide');
10406 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10407 });
10408 gridContainer.append(gridItem);
10409 }
10410 gridContainer.append(jQuery('<span>').text('0x0'));
10411 } else {
10412 gridContainer.addClass('e2pdf-hide');
10413 }
10414 function calculateRowCol(index) {
10415 let rows = Math.floor(index / 10) + 1;
10416 let cols = (index % 10) + 1;
10417 return {rows, cols};
10418 }
10419 function highlightGrid(gridContainer, rows, cols) {
10420 gridContainer.find('div').each(function (idx) {
10421 let itemRowCol = calculateRowCol(idx);
10422 gridContainer.find('span').text(rows + 'x' + cols);
10423 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10424 jQuery(this).addClass('e2pdf-highlight');
10425 } else {
10426 jQuery(this).removeClass('e2pdf-highlight');
10427 }
10428 });
10429 }
10430 });
10431 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10432 e2pdf.wysiwyg.apply(jQuery(this));
10433 });
10434 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10435 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10436 });
10437 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10438 if (e2pdf.url.get('revision_id')) {
10439 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10440 return false;
10441 }
10442
10443 var message = "";
10444 if (e2pdf.static.unsaved) {
10445 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10446 }
10447 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10448 jQuery(this).attr('disabled', 'disabled');
10449 jQuery(this).closest('form').append(
10450 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10451 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10452 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10453 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10454 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10455 ),
10456 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10457 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10458 )
10459 )
10460 )
10461 );
10462 });
10463 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10464 if (e2pdf.static.unsaved) {
10465 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10466 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10467 jQuery(this).val(revision_id);
10468 return false;
10469 }
10470 }
10471 e2pdf.static.unsaved = false;
10472 var revision_id = jQuery(this).val();
10473 var template_id = e2pdf.pdf.settings.get('ID');
10474 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10475 if (revision_id === '0') {
10476 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10477 }
10478 jQuery(this).attr('disabled', 'disabled');
10479 location.href = url;
10480 });
10481 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10482 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10483 return false;
10484 }
10485 jQuery('html').addClass('e2pdf-loading');
10486 var data = {};
10487 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10488 });
10489 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10490 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10491 return false;
10492 }
10493 jQuery('html').addClass('e2pdf-loading');
10494 var data = {};
10495 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10496 });
10497 jQuery(document).on('click', '#e2pdf-restore-license-key', function (e) {
10498 var data = {};
10499 jQuery(this).html(e2pdf.lang.get('In Progress...'));
10500 e2pdf.request.submitRequest('e2pdf_restore_license_key', jQuery(this), data);
10501 });
10502 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10503 jQuery(this).closest('.e2pdf-confirmation').remove();
10504 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10505 jQuery('.e2pdf-reupload-pdf').click();
10506 });
10507 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10508 jQuery(this).closest('.e2pdf-confirmation').remove();
10509 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10510 });
10511 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10512 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10513 });
10514 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10515 jQuery(this).autocomplete("search", "");
10516 });
10517 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10518 if (!jQuery(this).is(':checked')) {
10519 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10520 return false;
10521 }
10522 }
10523 });
10524 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10525 e2pdf.event.fire('after.settings.style.change');
10526 });
10527 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10528 e2pdf.event.fire('after.settings.template.change');
10529 });
10530 jQuery(document).on('keyup', '.e2pdf-export-dataset-search', function (e) {
10531 var field_key = jQuery(this).attr('field');
10532 var search = jQuery('.e2pdf-export-dataset-search[field="' + field_key + '"]').val();
10533 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + field_key + '"]');
10534 var options = dataset_field.data('options');
10535 var regex = new RegExp(search, "gi");
10536 var selected = 0;
10537 dataset_field.empty();
10538 jQuery.each(options, function (i) {
10539 var option = options[i];
10540 if (i == 0 || option.value.match(regex) !== null) {
10541 if (e2pdf.url.get('action') == 'bulk') {
10542 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}))));
10543 } else {
10544 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
10545 if ((selected == 0 && i !== 0) || (search === '' && i === 0)) {
10546 dataset_field.val(option.key);
10547 selected = 1;
10548 }
10549 }
10550 }
10551 });
10552 dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10553 if (dataset_field.find('input[type="checkbox"]').length > 1) {
10554 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10555 } else {
10556 dataset_field.find('input[type="checkbox"]').attr('disabled', true);
10557 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10558 }
10559 if (this.datasetLoad) {
10560 clearTimeout(this.datasetLoad);
10561 }
10562 this.datasetLoad = setTimeout(function () {
10563 dataset_field.trigger('change');
10564 }, 1000);
10565 });
10566 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10567 if (jQuery(this).val() !== '') {
10568 var form = jQuery(this).closest('form');
10569 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10570 form.find('input[name="width"]').val(size.width);
10571 form.find('input[name="height"]').val(size.height);
10572 }
10573 });
10574 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10575 e2pdf.visual.mapper.apply(jQuery(this));
10576 });
10577 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10578 e2pdf.element.unselect();
10579 e2pdf.element.unfocus();
10580 var el = jQuery(this).closest('.e2pdf-element');
10581 e2pdf.element.focus(el);
10582 });
10583 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10584 var el = jQuery(this).closest('.e2pdf-element');
10585 e2pdf.element.unfocus();
10586 if (e.ctrlKey || e.metaKey) {
10587 if (el.hasClass('e2pdf-selected')) {
10588 e2pdf.element.unselect(el);
10589 } else {
10590 e2pdf.element.select(el);
10591 }
10592 } else {
10593 if (el.hasClass('e2pdf-selected')) {
10594 if (Object.keys(e2pdf.element.selected).length > 1) {
10595 e2pdf.element.unselect();
10596 e2pdf.element.select(el);
10597 } else {
10598 e2pdf.element.unselect(el);
10599 }
10600 } else {
10601 if (Object.keys(e2pdf.element.selected).length > 0) {
10602 e2pdf.element.unselect();
10603 e2pdf.element.select(el);
10604 } else {
10605 e2pdf.element.select(el);
10606 }
10607 }
10608 }
10609 });
10610 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10611 var data = {};
10612 data['id'] = jQuery(this).attr('data-id');
10613 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10614 });
10615 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10616 var data = {};
10617 data['id'] = jQuery(this).attr('data-id');
10618 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10619 });
10620 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10621 e.preventDefault();
10622 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10623 return false;
10624 }
10625 var data = {};
10626 data['template'] = jQuery(this).attr('template');
10627 data['dataset'] = jQuery(this).attr('dataset');
10628 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10629 });
10630 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10631 e.preventDefault();
10632 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10633 return false;
10634 }
10635 var data = {};
10636 data['template'] = jQuery(this).attr('template');
10637 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10638 });
10639 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10640 e.preventDefault();
10641 switch (jQuery(this).attr('action')) {
10642 case 'start':
10643 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10644 return false;
10645 }
10646 break;
10647 case 'stop':
10648 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10649 return false;
10650 }
10651 break;
10652 case 'delete':
10653 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10654 return false;
10655 }
10656 break;
10657 }
10658 var data = {};
10659 data['bulk'] = jQuery(this).attr('bulk');
10660 data['action'] = jQuery(this).attr('action');
10661 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10662 });
10663 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10664 jQuery(this).select();
10665 });
10666 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10667 jQuery(this).autocomplete("search", '');
10668 });
10669 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10670 if (jQuery(this).is(':checked')) {
10671 e2pdf.static.vm.hidden = true;
10672 } else {
10673 e2pdf.static.vm.hidden = false;
10674 }
10675 e2pdf.visual.mapper.rebuild();
10676 });
10677 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10678 var value = jQuery(this).val();
10679 if (value != '') {
10680 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10681 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10682 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10683 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10684 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10685 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10686 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10687 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10688 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10689 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10690 } else {
10691 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10692 }
10693 e2pdf.visual.mapper.rebuild();
10694 });
10695 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10696 if (jQuery(this).is(':checked')) {
10697 e2pdf.static.vm.replace = true;
10698 } else {
10699 e2pdf.static.vm.replace = false;
10700 }
10701 });
10702 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10703 if (jQuery(this).is(':checked')) {
10704 e2pdf.static.vm.close = true;
10705 } else {
10706 e2pdf.static.vm.close = false;
10707 }
10708 });
10709 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10710 if (typeof e.clipboardData != 'undefined') {
10711 var clipboardData = e.clipboardData;
10712 } else if (typeof window.clipboardData != 'undefined') {
10713 var clipboardData = window.clipboardData;
10714 } else {
10715 var clipboardData = e.originalEvent.clipboardData;
10716 }
10717 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10718 e.preventDefault();
10719 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10720 data = e2pdf.helper.stripHTML(
10721 data,
10722 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10723 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10724 'span', 'a', 'br',
10725 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10726 'sub', 'sup',
10727 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10728 'ul', 'ol', 'li',
10729 'a'
10730 );
10731 return document.execCommand('insertHtml', false, data);
10732 }
10733 });
10734 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10735 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10736 }
10737
10738 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10739 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10740 }
10741
10742 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10743 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10744 }
10745
10746 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10747 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10748 }
10749
10750 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10751 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10752 }
10753
10754 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10755 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10756 }
10757
10758 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10759 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10760 }
10761
10762 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10763 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10764 }
10765
10766 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10767 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
10768 }
10769
10770 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
10771 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
10772 }
10773
10774 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10775 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10776 }
10777
10778 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10779 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10780 }
10781
10782 jQuery('#e2pdf-zoom').trigger('change');
10783 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
10784 if (e2pdf.url.get('id')) {
10785 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
10786 e2pdf.static.autoloadExport = true;
10787 }
10788 }
10789
10790 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
10791 jQuery('.e2pdf-color-picker-load').each(function () {
10792 jQuery(this).wpColorPicker(
10793 {
10794 defaultColor: function () {
10795 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
10796 if (el.attr('data-default')) {
10797 return el.attr('data-default');
10798 } else {
10799 return;
10800 }
10801 },
10802 change: function (event, ui) {
10803 jQuery(this).val(ui.color.toString()).change();
10804 }
10805 }
10806 ).removeClass('e2pdf-color-picker-load');
10807 });
10808 jQuery(window).bind("beforeunload", function (e) {
10809 if (e2pdf.static.unsaved) {
10810 var confirmationMessage = "\o/";
10811 (e || window.event).returnValue = confirmationMessage;
10812 return confirmationMessage;
10813 }
10814 });
10815 if (jQuery('#e2pdf-build-form').length > 0) {
10816 postboxes.add_postbox_toggles(pagenow);
10817 }
10818
10819 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
10820 && typeof (jQuery.ui.droppable) != 'undefined'
10821 && jQuery('.e2pdf-tpl').length > 0) {
10822 // jQuery UI scale bug fix
10823 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
10824 var i, j,
10825 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
10826 type = event ? event.type : null,
10827 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
10828 droppablesLoop: for (i = 0; i < m.length; i++) {
10829 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
10830 continue;
10831 }
10832 for (j = 0; j < list.length; j++) {
10833 if (list[ j ] === m[ i ].element[ 0 ]) {
10834 m[ i ].proportions().height = 0;
10835 continue droppablesLoop;
10836 }
10837 }
10838 m[ i ].visible = m[ i ].element.css("display") !== "none";
10839 if (!m[ i ].visible) {
10840 continue;
10841 }
10842 if (type === "mousedown") {
10843 m[ i ]._activate.call(m[ i ], event);
10844 }
10845 m[ i ].offset = m[ i ].element.offset();
10846 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
10847 }
10848 };
10849 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
10850 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
10851 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
10852 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
10853 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
10854 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
10855 jQuery('.e2pdf-load-tpl').remove();
10856 jQuery('.e2pdf-load-el').each(function () {
10857 var element = jQuery(this);
10858 var type = element.attr('data-type');
10859 var page = element.closest('.e2pdf-page');
10860 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
10861 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
10862 properties['width'] = element.attr('data-width');
10863 properties['height'] = element.attr('data-height');
10864 properties['top'] = element.attr('data-top');
10865 properties['left'] = element.attr('data-left');
10866 properties['value'] = element.find('.e2pdf-data-value').val();
10867 properties['name'] = element.find('.e2pdf-data-name').val();
10868 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
10869 jQuery(this).replaceWith(el);
10870 e2pdf.properties.render(el);
10871 });
10872 jQuery('.e2pdf-load-page').each(function () {
10873 var page = jQuery(this);
10874 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
10875 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
10876 page.find('.e2pdf-data-properties').remove();
10877 page.find('.e2pdf-data-actions').remove();
10878 page.removeClass('e2pdf-load-page');
10879 e2pdf.pages.createPage(page, properties, actions, true);
10880 });
10881 jQuery('.e2pdf-be').draggable({
10882 cursorAt: {left: 0, top: 0},
10883 helper: function () {
10884 var element = jQuery(this).clone();
10885 var type = element.attr('data-type');
10886 var page = element.closest('.e2pdf-page');
10887 var el = e2pdf.element.create(type, page, false, false, true);
10888 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
10889 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
10890 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
10891 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
10892 e2pdf.properties.render(el);
10893 el.css('z-index', 1);
10894 if (e2pdf.zoom.zoom != 1) {
10895 el.css({
10896 'transform': 'scale(' + e2pdf.zoom.zoom + ')',
10897 'transform-origin': '0 0'
10898 });
10899 }
10900
10901 var w = el.width() * e2pdf.zoom.zoom;
10902 var h = el.height() * e2pdf.zoom.zoom;
10903 e2pdf.static.guide.x = Math.round(w / 2);
10904 e2pdf.static.guide.y = Math.round(h / 2);
10905 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
10906 left: Math.round(w / 2),
10907 top: Math.round(h / 2)
10908 });
10909 return el;
10910 },
10911 start: function (ev, ui) {
10912 e2pdf.element.unselect();
10913 },
10914 stop: function (ev, ui) {
10915 ui.position.top = Math.round(ui.position.top);
10916 ui.position.left = Math.round(ui.position.left);
10917 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
10918 },
10919 drag: function (ev, ui) {
10920 if (e2pdf.static.drag.page !== null) {
10921 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
10922 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
10923 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
10924 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
10925 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
10926 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
10927 jQuery.each(el_guides, function (i, elemGuide) {
10928 if (guide.type == elemGuide.type) {
10929 var prop = guide.type == "h" ? "top" : "left";
10930 var d = Math.abs(elemGuide[prop] - guide[prop]);
10931 if (d < guides[prop].dist) {
10932 guides[prop].dist = d;
10933 guides[prop].offset = elemGuide[prop] - pos[prop];
10934 guides[prop].guide = guide;
10935 }
10936 }
10937 });
10938 });
10939 if (guides.top.dist <= e2pdf.static.guide.distance) {
10940 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();
10941 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
10942 ui.position.top = snap_top;
10943 } else {
10944 jQuery('.e2pdf-guide-h').hide();
10945 }
10946 if (guides.left.dist <= e2pdf.static.guide.distance) {
10947 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();
10948 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
10949 ui.position.left = snap_left;
10950 } else {
10951 jQuery('.e2pdf-guide-v').hide();
10952 }
10953 }
10954 }
10955 });
10956 e2pdf.welcomeScreen();
10957 }
10958 e2pdf.font.load(jQuery('#e2pdf-font'));
10959 jQuery('.e2pdf-load-font').each(function () {
10960 e2pdf.font.load(jQuery(this));
10961 jQuery(this).remove();
10962 });
10963 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
10964 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
10965 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
10966 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10967 }
10968
10969 jQuery(document).keydown(function (e) {
10970 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
10971 if (jQuery('.e2pdf-focused').length == 0
10972 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
10973 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
10974 && Object.keys(e2pdf.element.selected).length > 0) {
10975 e.preventDefault();
10976 switch (e.which) {
10977 case 37:
10978 // left
10979 var diff = 1;
10980 for (var key in e2pdf.element.selected) {
10981 var selected = e2pdf.element.selected[key];
10982 if (parseFloat(selected.css('left')) > 0) {
10983 if (parseFloat(selected.css('left')) - 1 < 0) {
10984 diff = Math.min(diff, selected.css('left'));
10985 }
10986 } else {
10987 diff = Math.min(diff, 0);
10988 }
10989 }
10990
10991 for (var key in e2pdf.element.selected) {
10992 var selected = e2pdf.element.selected[key];
10993 selected.finish().animate({
10994 left: "-=" + diff
10995 }, 0);
10996 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
10997 }
10998 break;
10999 case 38:
11000 // top
11001 var diff = 1;
11002 for (var key in e2pdf.element.selected) {
11003 var selected = e2pdf.element.selected[key];
11004 if (parseFloat(selected.css('top')) > 0) {
11005 if (parseFloat(selected.css('top')) - 1 < 0) {
11006 diff = Math.min(diff, selected.css('top'));
11007 }
11008 } else {
11009 diff = Math.min(diff, 0);
11010 }
11011 }
11012
11013 for (var key in e2pdf.element.selected) {
11014 var selected = e2pdf.element.selected[key];
11015 selected.finish().animate({
11016 top: "-=" + diff
11017 }, 0);
11018 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11019 }
11020 break;
11021 case 39:
11022 // right
11023 var diff = 1;
11024 for (var key in e2pdf.element.selected) {
11025 var selected = e2pdf.element.selected[key];
11026 if (parseFloat(selected.css('right')) > 0) {
11027 if (parseFloat(selected.css('right')) - 1 < 0) {
11028 diff = Math.min(diff, selected.css('right'));
11029 }
11030 } else {
11031 diff = Math.min(diff, 0);
11032 }
11033 }
11034
11035 for (var key in e2pdf.element.selected) {
11036 var selected = e2pdf.element.selected[key];
11037 selected.finish().animate({
11038 left: "+=" + diff
11039 }, 0);
11040 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11041 }
11042 break;
11043 case 40:
11044 // down
11045 var diff = 1;
11046 for (var key in e2pdf.element.selected) {
11047 var selected = e2pdf.element.selected[key];
11048 if (parseFloat(selected.css('bottom')) > 0) {
11049 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11050 diff = Math.min(diff, selected.css('bottom'));
11051 }
11052 } else {
11053 diff = Math.min(diff, 0);
11054 }
11055 }
11056
11057 for (var key in e2pdf.element.selected) {
11058 var selected = e2pdf.element.selected[key];
11059 selected.finish().animate({
11060 top: "+=" + diff
11061 }, 0);
11062 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11063 }
11064 break;
11065 case 46:
11066 // delete
11067 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?');
11068 if (!confirm(message)) {
11069 e2pdf.delete('.e2pdf-context');
11070 return false;
11071 }
11072 var history = [];
11073 for (var key in e2pdf.element.selected) {
11074 var selected = e2pdf.element.selected[key];
11075 e2pdf.element.init(selected);
11076 history.push(selected.clone(true));
11077 e2pdf.element.delete(selected);
11078 }
11079 e2pdf.history.set('element_delete', history);
11080 e2pdf.element.unselect();
11081 break;
11082 }
11083 }
11084 }
11085 });
11086 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11087 e2pdf.select2.init(jQuery(this));
11088 });
11089 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11090 e2pdf.select2.click(jQuery(this));
11091 });
11092 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11093 e2pdf.select2.filter(jQuery(this));
11094 });
11095 jQuery(document).on('mousedown', 'body', function (e) {
11096 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11097 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11098 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11099 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11100 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11101 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11102 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11103 e.ctrlKey !== true) {
11104 e2pdf.element.unselect();
11105 e2pdf.element.unfocus();
11106 }
11107 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11108 jQuery('.e2pdf-closed').each(function () {
11109 jQuery(this).removeClass('e2pdf-opened');
11110 });
11111 }
11112 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11113 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11114 }
11115 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11116 jQuery('.e2pdf-select2-dropdown').each(function () {
11117 e2pdf.select2.close(jQuery(this));
11118 });
11119 }
11120 });
11121 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11122 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11123 if (jQuery('.e2pdf-bulks-list').length > 0)
11124 {
11125 e2pdf.bulk.progress();
11126 }
11127 });