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

11,214 lines 571.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 var e2pdf = {
2 // e2pdf.helper
3 helper: {
4 // e2pdf.helper.color
5 color: {
6 close: function (el) {
7 var color_panel = jQuery(el).parent();
8 color_panel.find('.wp-color-result').click();
9 }
10 },
11 // e2pdf.helper.font
12 font: {
13 fonts: function (field = '') {
14 var options = [];
15 jQuery('.e2pdf-wysiwyg-font').find('option').each(function () {
16 var option = {};
17 option[jQuery(this).attr('value')] = jQuery(this).html();
18 options.push(option);
19 });
20 return options;
21 },
22 sizes: function (field = '', properties = []) {
23 var options = [];
24 jQuery('.e2pdf-wysiwyg-fontsize').find('option').each(function () {
25 var option = {};
26 option[jQuery(this).attr('value')] = jQuery(this).html();
27 options.push(option);
28 if (jQuery(this).attr('value') === '' && properties.hasOwnProperty('text_font_size') && properties['text_font_size'] == '-1') {
29 option = {};
30 option['-1'] = e2pdf.lang.get('Auto');
31 options.push(option);
32 }
33 });
34 return options;
35 },
36 lines: function (field = '') {
37 var options = [];
38 var option = {};
39 option[''] = '-';
40 options.push(option);
41 jQuery('#e2pdf-line-height').find('option').each(function () {
42 var option = {};
43 option[jQuery(this).attr('value')] = jQuery(this).html();
44 options.push(option);
45 });
46 return options;
47 }
48 },
49 // e2pdf.helper.image
50 image: {
51 // e2pdf.helper.image.load
52 load: function (el) {
53 el.addClass('e2pdf-loader');
54 var properties = e2pdf.properties.get(el);
55 var value = e2pdf.helper.getString(properties['value']);
56 var image = new Image();
57 switch (el.data('data-type')) {
58 case 'e2pdf-qrcode':
59 value = e2pdf.url.pluginsUrl() + '/img/qrcode.svg';
60 break;
61 case 'e2pdf-barcode':
62 value = e2pdf.url.pluginsUrl() + '/img/barcode.svg';
63 break;
64 case 'e2pdf-graph':
65 value = e2pdf.url.pluginsUrl() + '/img/graph.svg';
66 break;
67 case 'e2pdf-signature':
68 if (typeof value === 'string' && (value.trim().startsWith("https://") || !value.trim().startsWith("http://"))) {
69 } else {
70 value = e2pdf.url.pluginsUrl() + '/img/signature.svg';
71 }
72 break;
73 case 'e2pdf-image':
74 if (typeof value === 'string' && (value.trim().startsWith("https://") || value.trim().startsWith("http://"))) {
75 } else {
76 value = e2pdf.url.pluginsUrl() + '/img/upload.svg';
77 }
78 break;
79 }
80
81 var children = e2pdf.element.children(el);
82 children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
83 image.onload = function ()
84 {
85 el.removeClass('e2pdf-loader');
86 switch (el.data('data-type')) {
87 case 'e2pdf-qrcode':
88 children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
89 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
90 e2pdf.helper.image.aspectRatio(el, this, properties);
91 break;
92 case 'e2pdf-barcode':
93 children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
94 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
95 break;
96 case 'e2pdf-graph':
97 children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
98 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
99 break;
100 case 'e2pdf-image':
101 case 'e2pdf-signature':
102 el.removeClass('e2pdf-aspect-ratio e2pdf-align-left e2pdf-align-center e2pdf-align-bottom e2pdf-valign-left e2pdf-valign-middle e2pdf-valign-bottom');
103 if (value === e2pdf.url.pluginsUrl() + '/img/upload.svg') {
104 children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
105 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
106 } else if (value === e2pdf.url.pluginsUrl() + '/img/signature.svg') {
107 children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
108 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
109 } else {
110 children.attr('src', value);
111 if (e2pdf.helper.getCheckbox(properties['dimension']) == '1') {
112 el.addClass('e2pdf-aspect-ratio');
113 switch (e2pdf.helper.getString(properties['horizontal'])) {
114 case 'center':
115 el.addClass('e2pdf-align-center');
116 break;
117 case 'right':
118 el.addClass('e2pdf-align-right');
119 break;
120 default:
121 el.addClass('e2pdf-align-left');
122 break;
123 }
124 switch (e2pdf.helper.getString(properties['vertical'])) {
125 case 'top':
126 el.addClass('e2pdf-valign-top');
127 break;
128 case 'middle':
129 el.addClass('e2pdf-valign-middle');
130 break;
131 default:
132 el.addClass('e2pdf-valign-bottom');
133 break;
134 }
135 if (e2pdf.helper.getCheckbox(properties['block_dimension']) == '1') {
136 e2pdf.helper.image.aspectRatio(el, this, properties);
137 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = true;
138 } else {
139 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
140 }
141
142 } else {
143 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
144 }
145 children.removeClass('e2pdf-image-blank');
146 }
147 break;
148 }
149 };
150 image.onerror = function ()
151 {
152 el.removeClass('e2pdf-loader');
153 switch (el.data('data-type')) {
154 case 'e2pdf-qrcode':
155 children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
156 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
157 break;
158 case 'e2pdf-barcode':
159 children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
160 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
161 break;
162 case 'e2pdf-graph':
163 children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
164 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
165 break;
166 case 'e2pdf-signature':
167 children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
168 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
169 break;
170 case 'e2pdf-image':
171 children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
172 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
173 break;
174 }
175 };
176 image.src = value;
177 },
178 // e2pdf.helper.image.aspectRatio
179 aspectRatio: function (el, img, properties) {
180
181 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
182 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
183 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
184 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
185 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
186 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
187 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
188 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
189 var maxWidth = el.width();
190 var maxHeight = el.height();
191 var ratio = 0;
192 var width = img.naturalWidth * 100000;
193 var height = img.naturalHeight * 100000;
194 if (width > maxWidth) {
195 ratio = maxWidth / width;
196 height = height * ratio;
197 width = width * ratio;
198 }
199 if (height > maxHeight) {
200 ratio = maxHeight / height;
201 width = width * ratio;
202 height = height * ratio;
203 }
204 switch (e2pdf.helper.getString(properties['vertical'])) {
205 case 'middle':
206 if (el.height() > height) {
207 var top = Math.max(0, (((e2pdf.helper.getFloat(el.css('top'))) + (el.height()) / 2)) - (height / 2));
208 e2pdf.properties.set(el, 'top', top);
209 el.css('top', top);
210 }
211 break;
212 case 'bottom':
213 if (el.height() > height) {
214 var top = Math.max(0, e2pdf.helper.getFloat(el.css('top')) + (el.height() - height));
215 e2pdf.properties.set(el, 'top', top);
216 el.css('top', top);
217 }
218 break;
219 }
220 switch (e2pdf.helper.getString(properties['horizontal'])) {
221 case 'center':
222 if (el.width() > width) {
223 var left = Math.max(0, (((e2pdf.helper.getFloat(el.css('left'))) + (el.width()) / 2)) - (width / 2));
224 e2pdf.properties.set(el, 'left', left);
225 el.css('left', left);
226 }
227 break;
228 case 'right':
229 if (el.width() > width) {
230 var left = Math.max(0, e2pdf.helper.getFloat(el.css('left')) + (el.width() - width));
231 e2pdf.properties.set(el, 'left', left);
232 el.css('left', left);
233 }
234 break;
235 }
236 e2pdf.properties.set(el, 'width', width + border_left + border_right + padding_left + padding_right);
237 e2pdf.properties.set(el, 'height', height + border_top + border_bottom + padding_top + padding_bottom);
238 el.width(width);
239 el.height(height);
240 }
241 },
242 getFloat: function (value, def = 0, units = '') {
243 const val = parseFloat(value);
244 if (units) {
245 return isNaN(val) ? def : val + units;
246 } else {
247 return isNaN(val) ? def : val;
248 }
249 },
250 getInt: function (value, def = 0, units = '') {
251 const val = parseInt(value);
252 if (units) {
253 return isNaN(val) ? def : val + units;
254 } else {
255 return isNaN(val) ? def : val;
256 }
257
258 },
259 getString: function (value, def = '', units = '') {
260 const val = value;
261 if (units) {
262 return typeof val === 'undefined' ? def : val + units;
263 } else {
264 return typeof val === 'undefined' ? def : val;
265 }
266 },
267 getCheckbox: function (value, def = '', units = '') {
268 const val = value;
269 if (units) {
270 return typeof val === 'undefined' || val != '1' ? def : val + units;
271 } else {
272 return typeof val === 'undefined' || val != '1' ? def : val;
273 }
274 },
275 // e2pdf.helper.toHtml
276 toHtml: function (value) {
277 var div = document.createElement('div');
278 div.innerHTML = value;
279 return (div.innerHTML);
280 },
281 stripHTML: function (html, ...args) {
282 return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 },
286 // e2pdf.helper.sizeToFloat
287 sizeToFloat: function (value, width) {
288 if (typeof value === 'string' && value.search("%") > 0) {
289 return parseFloat(width) * (parseFloat(value.replace('%', '')) / 100);
290 } else {
291 return parseFloat(value);
292 }
293 },
294 // e2pdf.helper.ajaxurl
295 ajaxurl: function (action, _wpnonce) {
296 if (action) {
297 var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
298 } else {
299 var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
300 }
301 return url;
302 },
303 // e2pdf.helper.css
304 css: function (element_id, css) {
305 if (typeof css === 'string') {
306 css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
307 return '#poststuff .e2pdf-element[data-element_id="' + element_id + '"] .e2pdf-html ' + match;
308 });
309 var style = jQuery('#e2pdf-html-css-' + element_id);
310 if (style.length !== 0) {
311 style.remove();
312 }
313 if (css.trim()) {
314 var el = document.createElement('style');
315 el.id = 'e2pdf-html-css-' + element_id;
316 el.type = 'text/css';
317 el.appendChild(document.createTextNode(css.trim()));
318 document.head.appendChild(el);
319 }
320 }
321 },
322 // e2pdf.helper.cssGlobal
323 cssGlobal: function (css) {
324 if (typeof css === 'string') {
325 css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
326 return '#poststuff .e2pdf-element .e2pdf-html ' + match;
327 });
328 var style = jQuery('#e2pdf-html-css');
329 if (style.length !== 0) {
330 style.remove();
331 }
332 if (css.trim()) {
333 var el = document.createElement('style');
334 el.id = 'e2pdf-html-css';
335 el.type = 'text/css';
336 el.appendChild(document.createTextNode(css.trim()));
337 document.head.appendChild(el);
338 }
339 }
340 },
341 // e2pdf.helper.sanitizeHTML
342 sanitizeHTML: function (html) {
343 if (typeof html === 'string') {
344 if (window.DOMPurify) {
345 try {
346 return window.DOMPurify.sanitize(html, {
347 ADD_ATTR: [
348 "after", "align", "ascender", "background", "before", "block-height", "block-width",
349 "border", "border-bottom", "border-bottom-color", "border-bottom-width", "border-left",
350 "border-left-color", "border-left-width", "border-right", "border-right-color",
351 "border-right-width", "border-top", "border-top-color", "border-top-width", "border-width",
352 "bordercolor", "cellpadding", "char-fill", "char-fill-color", "char-fill-size", "chunkbgcolor",
353 "class", "color", "colspan", "complex-encoding", "descender", "direction", "display",
354 "dir", "disable-border-top", "encoding", "extraparaspace", "face", "float", "font-family",
355 "font-size", "font-style", "font-weight", "header-rows", "height", "href", "html-height",
356 "html-worker", "html-width", "hyphenation", "keep-together", "letter-spacing", "leading",
357 "line-fill", "line-fill-color", "line-fill-size", "list-style-image", "list-style-image-height",
358 "list-style-image-size", "list-style-image-width", "list-style-type", "list-style-type-color",
359 "list-style-type-size", "margin-bottom", "margin-left", "margin-right", "margin-top",
360 "max-height", "max-width", "nowrap", "padding-bottom", "padding-left", "padding-right",
361 "padding-top", "page-break-after", "page-break-before", "rotate", "rtl", "size", "split",
362 "split-border", "split-late", "split-padding", "split-rows", "style", "text-align",
363 "text-decoration", "text-indent", "text-transform", "valign", "width"
364 ]
365 });
366 } catch (err) {
367 }
368 }
369 }
370 return html;
371 }
372 },
373 // e2pdf.select2
374 select2: {
375 // e2pdf.select2.init
376 init: function (el) {
377 el.val('');
378 var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
379 var placeholder = e2pdf.lang.get('--- Select ---');
380 if (val) {
381 placeholder = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
382 }
383 el.attr('placeholder', placeholder);
384 var select2 = document.createElement('div');
385 select2.className = 'e2pdf-select2-dropdown';
386 var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
387 if (wrapper) {
388 var select = wrapper.querySelector('select');
389 if (select) {
390 Array.from(select.children).forEach(function (option) {
391 var optionDiv = document.createElement('div');
392 optionDiv.setAttribute('value', option.value);
393 optionDiv.innerHTML = option.textContent;
394 select2.appendChild(optionDiv);
395 });
396 }
397 el.get(0).insertAdjacentElement('afterend', select2);
398 }
399 },
400 // e2pdf.select2.filter
401 filter: function (el) {
402 var search = el.val();
403 var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
404 if (wrapper) {
405 var dropdownItems = wrapper.querySelectorAll('.e2pdf-select2-dropdown > div');
406 dropdownItems.forEach(function (item) {
407 if (!search) {
408 item.style.display = "block";
409 } else {
410 var textContent = item.textContent.toLowerCase();
411 var valueAttr = item.getAttribute('value') ? item.getAttribute('value').toLowerCase() : '';
412 if (textContent.includes(search.toLowerCase()) || valueAttr.includes(search.toLowerCase()) || valueAttr === '') {
413 item.style.display = "block";
414 } else {
415 item.style.display = "none";
416 }
417 }
418 });
419 }
420 },
421 // e2pdf.select2.update
422 update: function (el) {
423 var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
424 var text = '';
425 if (val) {
426 text = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
427 } else {
428 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('placeholder', e2pdf.lang.get('--- Select ---'));
429 }
430 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().val(text);
431 },
432 // e2pdf.select2.click
433 click: function (el) {
434 el.closest('.e2pdf-select2-wrapper').find('select').first().val(el.attr('value')).trigger('change');
435 e2pdf.select2.close(el);
436 },
437 // e2pdf.select2.val
438 val: function (el, value) {
439 el.closest('.e2pdf-select2-wrapper').find('select').first().val(value).trigger('change');
440 e2pdf.select2.update(el);
441 },
442 // e2pdf.select2.disable
443 disable: function (el) {
444 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', 'disabled');
445 },
446 // e2pdf.select2.enable
447 enable: function (el) {
448 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', false);
449 },
450 // e2pdf.select2.close
451 close: function (el) {
452 e2pdf.select2.update(el);
453 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2-dropdown').remove();
454 }
455 },
456 // e2pdf.hooks
457 hooks: {
458 // e2pdf.hooks.get
459 get: function () {
460 var hooks = {};
461 switch (e2pdf.pdf.settings.get('extension')) {
462 case 'formidable':
463 hooks = {
464 'hook_formidable_entry_view': e2pdf.lang.get('WP Admin Entry View'),
465 'hook_formidable_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
466 'hook_formidable_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
467 };
468 break;
469 case 'gravity':
470 hooks = {
471 'hook_gravity_entry_view': e2pdf.lang.get('WP Admin Entry View'),
472 'hook_gravity_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
473 };
474 break;
475 case 'jetformbuilder':
476 hooks = {
477 'hook_jetformbuilder_entry_view': e2pdf.lang.get('WP Admin Entry View')
478 };
479 break;
480 case 'woocommerce':
481 if (e2pdf.pdf.settings.get('item') == 'shop_order') {
482 hooks = {
483 'hook_woocommerce_order_edit': e2pdf.lang.get('WP Admin Order Details'),
484 'hook_woocommerce_order_row_actions': e2pdf.lang.get('WP Admin Order List Actions'),
485 'hook_woocommerce_order_row_column': e2pdf.lang.get('WP Admin Order List Column'),
486 'hook_woocommerce_my_account_my_orders_actions': e2pdf.lang.get('User Order List'),
487 'hook_woocommerce_order_details_before_order_table': e2pdf.lang.get('User Order Details (Before Order Table)'),
488 'hook_woocommerce_order_details_before_order_table_items': e2pdf.lang.get('User Order Details (Before Order Table Items)'),
489 'hook_woocommerce_order_details_after_order_table_items': e2pdf.lang.get('User Order Details (After Order Table Items)'),
490 'hook_woocommerce_order_details_after_order_table': e2pdf.lang.get('User Order Details (After Order Table)'),
491 'hook_woocommerce_after_order_details': e2pdf.lang.get('User Order Details (After Order Details)'),
492 };
493 } else if (e2pdf.pdf.settings.get('item') == 'shop_subscription') {
494 hooks = {
495 'hook_woocommerce_subscription_edit': e2pdf.lang.get('WP Admin Subscription Details'),
496 'hook_woocommerce_subscription_row_column': e2pdf.lang.get('WP Admin Order List Column'),
497 'hook_woocommerce_subscription_before_actions': e2pdf.lang.get('User Subscription (Before Actions)'),
498 'hook_woocommerce_subscription_after_actions': e2pdf.lang.get('User Subscription (After Actions)'),
499 'hook_wcs_subscription_details_table_before_dates': e2pdf.lang.get('User Subscription (Before Dates)'),
500 'hook_wcs_subscription_details_table_after_dates': e2pdf.lang.get('User Subscription (After Dates)'),
501 'hook_wcs_subscription_details_table_before_payment_method': e2pdf.lang.get('User Subscription (Before Payment Method)'),
502 'hook_wcs_view_subscription_actions': e2pdf.lang.get('User Subscrition (Actions)'),
503 };
504 } else if (e2pdf.pdf.settings.get('item') == 'cart') {
505 hooks = {
506 'hook_woocommerce_proceed_to_checkout': e2pdf.lang.get('User Cart'),
507 'hook_woocommerce_review_order_before_submit': e2pdf.lang.get('User Checkout (Before Submit)'),
508 'hook_woocommerce_review_order_after_submit': e2pdf.lang.get('User Checkout (After Submit)'),
509 };
510 }
511 break;
512 case 'wordpress':
513 if (e2pdf.pdf.settings.get('item') == '-3') {
514 hooks = {
515 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin User Row Actions')
516 };
517 } else {
518 hooks = {
519 'hook_wordpress_page_edit': e2pdf.lang.get('WP Admin Page Edit'),
520 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin Page Row Actions')
521 };
522 }
523 break;
524 case 'wpforms':
525 hooks = {
526 'hook_wpforms_entry_view': e2pdf.lang.get('WP Admin Entry View'),
527 'hook_wpforms_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
528 'hook_wpforms_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
529 };
530 break;
531 case 'everest':
532 hooks = {
533 'hook_everest_entry_view': e2pdf.lang.get('WP Admin Entry View'),
534 'hook_everest_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
535 };
536 break;
537 case 'metform':
538 hooks = {
539 'hook_metform_entry_view': e2pdf.lang.get('WP Admin Entry View'),
540 'hook_metform_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions'),
541 'hook_metform_entry_row_column': e2pdf.lang.get('WP Admin Entry List Column')
542 };
543 break;
544 default:
545 break;
546 }
547 return hooks;
548 },
549 getChecked: function () {
550 var hooks = [];
551 if (e2pdf.pdf.settings.get('hooks')) {
552 hooks = e2pdf.pdf.settings.get('hooks').split(',');
553 }
554 return hooks;
555 }
556 },
557 // e2pdf.lang
558 lang: {
559 // e2pdf.lang.get
560 get: function (key) {
561 if (typeof e2pdf_lang[key] === 'undefined') {
562 return key;
563 } else {
564 return e2pdf_lang[key];
565 }
566 }
567 },
568 // e2pdf.url
569 url: {
570 // e2pdf.url.change
571 change: function (page, path) {
572 if (window.history && window.history.pushState) {
573 var url = window.location.pathname;
574 if (page) {
575 url += '?page=' + page;
576 }
577
578 if (path) {
579 url += '&' + path;
580 }
581 history.pushState({urlPath: url}, "", url);
582 }
583 },
584 // e2pdf.url.build
585 build: function (page, path, _wpnonce) {
586 var url = window.location.pathname;
587 if (page) {
588 url += '?page=' + page;
589 }
590 if (path) {
591 url += '&' + path;
592 }
593 if (_wpnonce) {
594 url += '&_wpnonce=' + _wpnonce;
595 }
596 return url;
597 },
598 // e2pdf.url.get
599 get: function (name, url) {
600 if (!url) {
601 url = window.location.href;
602 }
603 if (!name) {
604 return url;
605 }
606 name = name.replace(/[\[\]]/g, "\\$&");
607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
608 if (!results) {
609 return null;
610 }
611 if (!results[2]) {
612 return '';
613 }
614 return decodeURIComponent(results[2].replace(/\+/g, " "));
615 },
616 pluginsUrl: function () {
617 return e2pdf_params['plugins_url'];
618 },
619 uploadUrl: function () {
620 return e2pdf_params['upload_url'];
621 }
622 },
623 // e2pdf.guide
624 guide: {
625 // e2pdf.guide.calc
626 calc: function (el, pos, w, h, g) {
627 if (el != null) {
628 if (g) {
629 w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
630 h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
631 pos = jQuery(el).offset();
632 if (jQuery(el).hasClass('e2pdf-page')) {
633 pos = {
634 left: pos.left + 1,
635 top: pos.top + 1
636 };
637 }
638 } else {
639 w = parseFloat(jQuery(el).css('width'));
640 h = parseFloat(jQuery(el).css('height'));
641 if (jQuery(el).hasClass('e2pdf-page')) {
642 pos = {
643 left: 0,
644 top: 0
645 };
646 } else {
647 pos = {
648 left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
649 top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
650 };
651 }
652 }
653 }
654
655 return [
656 {type: "h", left: pos.left, top: pos.top},
657 {type: "h", left: pos.left, top: pos.top + h},
658 {type: "v", left: pos.left, top: pos.top},
659 {type: "v", left: pos.left + w, top: pos.top},
660 {type: "h", left: pos.left, top: pos.top + h / 2},
661 {type: "v", left: pos.left + w / 2, top: pos.top}
662 ];
663 }
664 },
665 // e2pdf.bulk
666 bulk: {
667 // e2pdf.bulk.progress
668 progress: function () {
669 setTimeout(function () {
670 var data = {};
671 data['bulks'] = [];
672 jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
673 data['bulks'].push(jQuery(this).attr('bulk'));
674 });
675 e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
676 e2pdf.bulk.progress();
677 }, 5000);
678 }
679 },
680 // e2pdf.pdf
681 pdf: {
682 // e2pdf.pdf.settings
683 settings: {
684 options: [],
685 // e2pdf.pdf.settings.change
686 change: function (key, value) {
687 e2pdf.pdf.settings.options[key] = value;
688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
690 } else {
691 var input = jQuery('<input>',
692 {
693 'type': 'hidden',
694 'name': key,
695 'value': value
696 });
697 jQuery('.e2pdf-form-builder').append(input);
698 }
699
700 if (key == 'item') {
701 var data = {};
702 data['extension'] = e2pdf.pdf.settings.get('extension');
703 data['item'] = e2pdf.pdf.settings.get('item');
704 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
705 }
706 },
707 // e2pdf.pdf.settings.set
708 set: function (key, value) {
709 e2pdf.pdf.settings.options[key] = value;
710 if (key == 'item') {
711 var data = {};
712 data['extension'] = e2pdf.pdf.settings.get('extension');
713 data['item'] = e2pdf.pdf.settings.get('item');
714 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
715 }
716 },
717 // e2pdf.pdf.settings.get
718 get: function (key) {
719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
720 return null;
721 } else {
722 return e2pdf.pdf.settings.options[key];
723 }
724 }
725 }
726 },
727 // e2pdf.static
728 static: {
729 // e2pdf.static.unsaved
730 unsaved: false,
731 // e2pdf.static.mediaUploader
732 mediaUploader: false,
733 // e2pdf.static.autoloadExport
734 autoloadExport: false,
735 // e2pdf.static.selectionRange
736 selectionRange: null,
737 // e2pdf.static.observer
738 observer: null,
739 // e2pdf.static.vm
740 vm: {
741 // e2pdf.static.vm.hidden
742 hidden: false,
743 // e2pdf.static.vm.replace
744 replace: true,
745 // e2pdf.static.vm.close
746 close: true
747 },
748 // e2pdf.static.guide
749 guide: {
750 // e2pdf.static.guide.guides
751 guides: [],
752 // e2pdf.static.guide.distance
753 distance: 5,
754 x: 0,
755 y: 0
756 },
757 // e2pdf.static.drag
758 drag: {
759 // e2pdf.static.drag.min_top
760 min_top: 0,
761 // e2pdf.static.drag.max_top
762 max_top: 0,
763 // e2pdf.static.drag.min_left
764 min_left: 0,
765 // e2pdf.static.drag.max_left
766 max_left: 0,
767 // e2pdf.static.drag.page
768 page: null
769 }
770 },
771 // e2pdf.event
772 event: {
773 // e2pdf.event.fire
774 fire: function (event, action, el) {
775 if (
776 event === 'after.pages.deletePage' ||
777 event === 'after.createPdf' ||
778 event === 'after.pages.createPage.newpage' ||
779 event === 'after.element.create' ||
780 event === 'after.element.delete' ||
781 event === 'after.settings.style.change' ||
782 event === 'after.settings.template.change' ||
783 event === 'after.wysiwyg.apply' ||
784 event === 'after.request.submitLocal' ||
785 event === 'after.mediaUploader.select' ||
786 event === 'after.element.moved' ||
787 event === 'after.pages.movePage'
788 ) {
789 e2pdf.static.unsaved = true;
790 }
791
792 if (event === 'before.request.submitForm') {
793 e2pdf.static.unsaved = false;
794 }
795
796 if (event === 'after.dialog.create' || event === 'after.actions.change') {
797 jQuery('.e2pdf-color-picker-load').each(function () {
798 jQuery(this).wpColorPicker(
799 {
800 defaultColor: function () {
801 if (jQuery(this).attr('data-default')) {
802 return jQuery(this).attr('data-default');
803 } else {
804 return;
805 }
806 },
807 change: function (event, ui) {
808 jQuery(this).val(ui.color.toString()).change();
809 }
810 }
811 ).removeClass('e2pdf-color-picker-load');
812 });
813 }
814
815 if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
816 jQuery('#e2pdf-zoom').trigger('change');
817 }
818
819 if (event === 'before.request.submitRequest') {
820 el.attr('disabled', 'disabled');
821 switch (action) {
822 case 'e2pdf_auto':
823 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
824 break;
825 case 'e2pdf_extension':
826 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
827 break;
828 case 'e2pdf_templates':
829 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
830 jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
831 jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
832 jQuery('.e2pdf-export-dataset').data('options', []).empty();
833 jQuery('.e2pdf-fieldset-filter').val('');
834 e2pdf.select2.disable(el);
835 break;
836 case 'e2pdf_dataset':
837 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
838 jQuery('.e2pdf-dataset-shortcode-wr').hide();
839 el.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions').empty();
840 e2pdf.select2.disable(el);
841 break;
842 case 'e2pdf_datasets_refresh':
843 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-export-dataset').data('options', []).empty();
844 e2pdf.select2.disable(el);
845 break;
846 case 'e2pdf_delete_item':
847 case 'e2pdf_delete_items':
848 e2pdf.select2.disable(el);
849 break;
850 default:
851 break;
852 }
853 }
854
855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
856 if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
857 el.attr('disabled', false);
858 }
859 switch (action) {
860 case 'e2pdf_auto':
861 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', false);
862 break;
863 case 'e2pdf_extension':
864 el.closest('form').find('.e2pdf-items').find('option').remove();
865 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', false);
866 break;
867 case 'e2pdf_get_styles':
868 jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
869 jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
870 break;
871 case 'e2pdf_templates':
872 case 'e2pdf_delete_item':
873 case 'e2pdf_delete_items':
874 e2pdf.select2.enable(el);
875 break;
876 default:
877 break;
878 }
879 }
880
881 if (event === 'before.request.upload') {
882 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
883 }
884
885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
886 if (event === 'after.request.upload.error') {
887 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', false);
888 }
889 el.closest('form').find('.e2pdf-upload-pdf').replaceWith(
890 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
891 );
892 el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
893 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
894 );
895 }
896 }
897 },
898 // e2pdf.form
899 form: {
900 // e2pdf.form.serializeObject
901 serializeObject: function (form) {
902
903 var o = {};
904 var a = form.serializeArray();
905 jQuery.each(a, function () {
906 if (this.name.endsWith('[]')) {
907
908 var name = this.name;
909 name = name.substring(0, this.name.length - 2);
910 if (!(name in o)) {
911 o[name] = [];
912 }
913 o[name].push(this.value);
914 } else if (this.name.endsWith(']')) {
915
916 var name = this.name;
917 var path = name.split(/[\[\]]+/);
918 var curItem = o;
919 for (var j = 0; j < path.length - 2; j++)
920 {
921 if (!(path[j] in curItem))
922 {
923 curItem[path[j]] = {};
924 }
925 curItem = curItem[path[j]];
926 }
927
928 curItem[path[j]] = this.value || '';
929 } else {
930 o[this.name] = this.value || '';
931 }
932 });
933 return o;
934 },
935 // e2pdf.form.serializeElements
936 serializeElements: function () {
937 var o = {};
938 jQuery('.e2pdf-element').each(
939 function (index) {
940 var el = {};
941 el.type = jQuery(this).data('data-type');
942 el.properties = e2pdf.properties.get(jQuery(this));
943 el.actions = e2pdf.actions.get(jQuery(this));
944 el.top = jQuery(this).css('top');
945 el.left = jQuery(this).css('left');
946 el.width = jQuery(this).css('width');
947 el.height = jQuery(this).css('height');
948 switch (jQuery(this).data('data-type')) {
949 case 'e2pdf-rectangle':
950 el.value = '';
951 break;
952 case 'e2pdf-html':
953 if (jQuery(this).find('.e2pdf-html').is('textarea')) {
954 el.value = jQuery(this).find('.e2pdf-html').val();
955 } else {
956 el.value = jQuery(this).find('.e2pdf-html').html();
957 }
958 break;
959 case 'e2pdf-input':
960 el.value = jQuery(this).find('.e2pdf-input').val();
961 break;
962 case 'e2pdf-textarea':
963 el.value = jQuery(this).find('.e2pdf-textarea').val();
964 break;
965 case 'e2pdf-page-number':
966 case 'e2pdf-checkbox':
967 case 'e2pdf-radio':
968 case 'e2pdf-select':
969 case 'e2pdf-image':
970 case 'e2pdf-qrcode':
971 case 'e2pdf-barcode':
972 case 'e2pdf-graph':
973 case 'e2pdf-link':
974 case 'e2pdf-signature':
975 el.value = e2pdf.helper.getString(el.properties['value']);
976 break;
977 default:
978 el.value = jQuery(this).html();
979 break;
980 }
981 el.name = e2pdf.helper.getString(el.properties['name']);
982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
983 el.element_id = jQuery(this).attr('data-element_id');
984 delete el.properties['width'];
985 delete el.properties['height'];
986 delete el.properties['value'];
987 delete el.properties['top'];
988 delete el.properties['left'];
989 delete el.properties['name'];
990 delete el.properties['element_type'];
991 delete el.properties['element_id'];
992 delete el.properties['page_id'];
993 o[index] = el;
994 });
995 return o;
996 }
997 },
998 // e2pdf.font
999 font: {
1000 // e2pdf.font.load
1001 load: function (el) {
1002 var name, value;
1003 if (el.is('select')) {
1004 name = el.val();
1005 value = el.find('option:selected').attr('path');
1006 } else if (el.is('div')) {
1007 name = el.attr('name');
1008 value = el.attr('path');
1009 }
1010 if (jQuery("head").find('style[name="' + CSS.escape(name) + '"]').length === 0) {
1011 jQuery("head").append(
1012 jQuery("<style>")
1013 .attr('name', name)
1014 .attr('type', 'text/css')
1015 .text(`@font-face {font-family: "${CSS.escape(name)}"; src: url("${e2pdf.url.uploadUrl()}/fonts/${encodeURIComponent(value)}")}`)
1016 );
1017 }
1018 },
1019 // e2pdf.font.apply
1020 apply: function (el, font) {
1021 let font_name = font.find('option:selected').html();
1022 el.css('font-family', font_name ? CSS.escape(font_name) : '');
1023 },
1024 // e2pdf.font.size
1025 size: function (el, size) {
1026 var font_size = size.val();
1027 el.css({'font-size': font_size + "px"});
1028 },
1029 // e2pdf.font.line
1030 line: function (el, height) {
1031 var line_height = height.val();
1032 el.css({'line-height': line_height + "px"});
1033 },
1034 // e2pdf.font.color
1035 fontcolor: function (el, color) {
1036 var font_color = color.val();
1037 el.css({'color': font_color});
1038 },
1039 // e2pdf.font.delete
1040 delete: function (el) {
1041 var font = el.attr('data-font');
1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
1043 }
1044 },
1045 // e2pdf.request
1046 request: {
1047 // e2pdf.request.upload
1048 upload: function (action, el) {
1049 if (el.attr('disabled')) {
1050 return;
1051 }
1052 var data = new FormData(el.closest('form')[0]);
1053 e2pdf.event.fire('before.request.upload', action, el);
1054 jQuery('html').addClass('e2pdf-loading');
1055 jQuery.ajax({
1056 url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
1057 type: 'POST',
1058 data: data,
1059 cache: false,
1060 contentType: false,
1061 processData: false,
1062 success: function (response) {
1063 if (response.redirect !== undefined) {
1064 e2pdf.event.fire('after.request.upload.success', action, el);
1065 e2pdf.static.unsaved = false;
1066 location.href = response.redirect;
1067 } else if (response.error !== undefined) {
1068 jQuery('html').removeClass('e2pdf-loading');
1069 e2pdf.event.fire('after.request.upload.error', action, el);
1070 alert(response.error);
1071 } else {
1072 jQuery('html').removeClass('e2pdf-loading');
1073 e2pdf.event.fire('after.request.upload.error', action, el);
1074 }
1075 },
1076 error: function (response) {
1077 jQuery('html').removeClass('e2pdf-loading');
1078 e2pdf.event.fire('after.request.upload.error', action, el);
1079 }
1080 });
1081 },
1082 // e2pdf.request.submitForm
1083 submitForm: function (el) {
1084 if (el.attr('disabled')) {
1085 return;
1086 }
1087 el.attr('disabled', 'disabled');
1088 jQuery('html').addClass('e2pdf-loading');
1089 e2pdf.event.fire('before.request.submitForm');
1090 var form_id = el.attr('form-id');
1091 var form = jQuery(document.getElementById(form_id));
1092 var data = e2pdf.form.serializeObject(form);
1093 var action = el.attr('action');
1094 var _wpnonce = el.attr('_wpnonce');
1095 switch (form_id) {
1096 case 'e2pdf-build-form':
1097 var elements = e2pdf.form.serializeElements();
1098 data.pages = {};
1099 jQuery('.e2pdf-page').each(function () {
1100 var page_id = jQuery(this).attr('data-page_id');
1101 data.pages[page_id] = {};
1102 var properties = e2pdf.properties.get(jQuery(this));
1103 properties['width'] = jQuery(this).attr('data-width');
1104 properties['height'] = jQuery(this).attr('data-height');
1105 delete properties['page_id'];
1106 delete properties['element_type'];
1107 delete properties['preset'];
1108 var page_elements = [];
1109 data.pages[page_id]['properties'] = properties;
1110 data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
1111 data.pages[page_id]['elements'] = page_elements;
1112 });
1113 for (var key in elements) {
1114 data.pages[elements[key].page_id]['elements'].push(elements[key]);
1115 }
1116 data.actions = e2pdf.actions.get(jQuery('.e2pdf-tpl'));
1117 data.properties = e2pdf.properties.get(jQuery('.e2pdf-tpl'));
1118 data = JSON.stringify(data);
1119 break;
1120 case 'e2pdf-export-form':
1121 data = JSON.stringify(data);
1122 break;
1123 case 'e2pdf-email':
1124 jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
1125 data = {};
1126 data['email'] = form.find('input[name="email"]').val();
1127 if (form.find('input[name="email_code"]').length > 0) {
1128 data['email_code'] = form.find('input[name="email_code"]').val();
1129 }
1130 break;
1131 }
1132 jQuery('html').addClass('e2pdf-loading');
1133 if (el.attr('target') === '_blank') {
1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
1135 jQuery('<textarea>', {'name': 'preview'}).val(data)
1136 ).hide();
1137 jQuery('body').append(post_form);
1138 post_form.submit();
1139 post_form.remove();
1140 jQuery('html').removeClass('e2pdf-loading');
1141 el.attr('disabled', false);
1142 return false;
1143 }
1144 jQuery.ajax({
1145 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1146 data: {action: action, data: data},
1147 success: function (response) {
1148 if (response.redirect !== undefined) {
1149 location.href = response.redirect;
1150 } else {
1151 el.attr('disabled', false);
1152 if (response.error !== undefined) {
1153 jQuery('html').removeClass('e2pdf-loading');
1154 alert(response.error);
1155 } else if (response.content) {
1156 e2pdf.request.callBack(action, response.content, el);
1157 jQuery('html').removeClass('e2pdf-loading');
1158 } else {
1159 jQuery('html').removeClass('e2pdf-loading');
1160 }
1161 }
1162 },
1163 error: function (response) {
1164 jQuery('html').removeClass('e2pdf-loading');
1165 el.attr('disabled', false);
1166 }
1167 });
1168 },
1169 // e2pdf.request.submitRequest
1170 submitRequest: function (action, el, value) {
1171 if (el.attr('disabled')) {
1172 return;
1173 }
1174 if (action !== 'e2pdf_bulk_progress') {
1175 jQuery('html').addClass('e2pdf-loading');
1176 }
1177 if (!value) {
1178 var value = el.val();
1179 }
1180 var _wpnonce = el.attr('_wpnonce');
1181 if (action == 'e2pdf_bulk_progress') {
1182 _wpnonce = e2pdf_params['nonce']['e2pdf'];
1183 }
1184
1185 e2pdf.event.fire('before.request.submitRequest', action, el);
1186 jQuery.ajax({
1187 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1188 data: {action: action, data: value},
1189 success: function (response) {
1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
1191 if (response.redirect !== undefined) {
1192 location.href = response.redirect;
1193 } else if (response.error !== undefined) {
1194 jQuery('html').removeClass('e2pdf-loading');
1195 alert(response.error);
1196 } else if (response.content) {
1197 e2pdf.request.callBack(action, response.content, el);
1198 jQuery('html').removeClass('e2pdf-loading');
1199 } else {
1200 jQuery('html').removeClass('e2pdf-loading');
1201 }
1202 },
1203 error: function (response) {
1204 jQuery('html').removeClass('e2pdf-loading');
1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
1206 }
1207 });
1208 },
1209 // e2pdf.request.submitLocal
1210 submitLocal: function (el, noclose = false) {
1211 var form_id = el.attr('form-id');
1212 var form = jQuery(document.getElementById(form_id));
1213 var data = e2pdf.form.serializeObject(form);
1214 switch (form_id) {
1215 case 'e2pdf-page-options':
1216 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1217 var action_error = false;
1218 for (var action in data['actions']) {
1219 for (var condition in data['actions'][action]['conditions']) {
1220 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1221 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1222 action_element.addClass('e2pdf-action-error');
1223 action_error = true;
1224 }
1225 }
1226 }
1227 if (action_error) {
1228 setTimeout(function () {
1229 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1230 }, 0);
1231 return;
1232 }
1233 var width = data['width'];
1234 var height = data['height'];
1235 var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1236 e2pdf.actions.apply(page, data['actions']);
1237 e2pdf.pages.changePageSize(page, width, height);
1238 e2pdf.properties.apply(page, data);
1239 e2pdf.event.fire('after.request.submitLocal', false, page);
1240 break;
1241 case 'e2pdf-tpl-actions':
1242 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1243 var action_error = false;
1244 for (var action in data['actions']) {
1245 for (var condition in data['actions'][action]['conditions']) {
1246 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1247 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1248 action_element.addClass('e2pdf-action-error');
1249 action_error = true;
1250 }
1251 }
1252 }
1253 if (action_error) {
1254 setTimeout(function () {
1255 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1256 }, 0);
1257 return;
1258 }
1259 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1260 break;
1261 case 'e2pdf-tpl-properties':
1262 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1263 e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1264 break;
1265 case 'e2pdf-tpl-hooks':
1266 var hooks = data['hooks'];
1267 if (hooks) {
1268 e2pdf.pdf.settings.change('hooks', hooks.join(','));
1269 } else {
1270 e2pdf.pdf.settings.change('hooks', '');
1271 }
1272 break;
1273 default:
1274 var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1275 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1276 var action_error = false;
1277 for (var action in data['actions']) {
1278 for (var condition in data['actions'][action]['conditions']) {
1279 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1280 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1281 action_element.addClass('e2pdf-action-error');
1282 action_error = true;
1283 }
1284 }
1285 }
1286 if (action_error) {
1287 setTimeout(function () {
1288 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1289 }, 0);
1290 return;
1291 }
1292 var history = [];
1293 history.push(element.clone(true));
1294 e2pdf.history.set('element_change', history);
1295 e2pdf.actions.apply(element, data['actions']);
1296 delete data['actions'];
1297 e2pdf.properties.apply(element, data);
1298 e2pdf.properties.render(element);
1299 e2pdf.event.fire('after.request.submitLocal', false, el);
1300 break;
1301 }
1302 if (!noclose) {
1303 e2pdf.dialog.close();
1304 }
1305 },
1306 // e2pdf.request.callBack
1307 callBack: function (action, result, el) {
1308 switch (action) {
1309 case 'e2pdf_email':
1310 if (result === 'subscribed') {
1311 jQuery('.e2pdf-email-lock').remove();
1312 } else {
1313 jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1314 var form_id = el.attr('form-id');
1315 var form = jQuery(document.getElementById(form_id));
1316 form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1317 form.find('input[name="email"]').attr('type', 'hidden');
1318 jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
1319 }
1320 break;
1321 case 'e2pdf_extension':
1322 for (var key in result) {
1323 var option = jQuery('<option>',
1324 {
1325 'value': result[key]['id']
1326 }).html(result[key]['name']);
1327 if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1328 option.attr('selected', 'selected');
1329 }
1330 option.data('data-item', result[key]);
1331 jQuery('.e2pdf-item').append(option);
1332 }
1333 for (var key in result) {
1334 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1335 var option = jQuery('<option>',
1336 {
1337 'value': result[key]['id']
1338 }).html(result[key]['name']);
1339 if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1340 option.attr('selected', 'selected');
1341 }
1342 option.data('data-item', result[key]);
1343 jQuery('.e2pdf-item1').append(option);
1344 }
1345 }
1346 for (var key in result) {
1347 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1348 var option = jQuery('<option>',
1349 {
1350 'value': result[key]['id']
1351 }).html(result[key]['name']);
1352 if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1353 option.attr('selected', 'selected');
1354 }
1355 option.data('data-item', result[key]);
1356 jQuery('.e2pdf-item2').append(option);
1357 }
1358 }
1359 el.closest('form').find('.e2pdf-item').trigger('change');
1360 break;
1361 case 'e2pdf_get_styles':
1362 for (var key in result) {
1363 if (result[key].split('.').pop() == 'js') {
1364 jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
1365 } else {
1366 jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1367 }
1368 }
1369 break;
1370 case 'e2pdf_visual_mapper':
1371 el.html(result);
1372 var height = el.outerHeight();
1373 e2pdf.visual.mapper.markup();
1374 if (window.ResizeObserver) {
1375 e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1376 for (var mutation of mutationsList) {
1377 if (el.outerHeight() != height) {
1378 e2pdf.visual.mapper.rebuild();
1379 }
1380 }
1381 });
1382 e2pdf.static.observer.observe(el[0]);
1383 }
1384 var images = el.find('img');
1385 var counter = 0;
1386 counter = images.length;
1387 images.each(function () {
1388 var img = new Image();
1389 img.onload = function () {
1390 counter--;
1391 if (counter === 0) {
1392 e2pdf.visual.mapper.rebuild();
1393 }
1394 };
1395 img.onerror = function () {
1396 counter--;
1397 if (counter === 0) {
1398 e2pdf.visual.mapper.rebuild();
1399 }
1400 };
1401 img.src = jQuery(this).attr('src');
1402 });
1403 break;
1404 case 'e2pdf_templates':
1405 var template_id = result['id'];
1406 if (template_id) {
1407 jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1408 for (var key in result['datasets']) {
1409 var options = [];
1410 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1411 dataset_field.closest('.e2pdf-export-item').show();
1412 for (var subkey in result['datasets'][key]) {
1413 var option = {
1414 key: result['datasets'][key][subkey]['key'].toString(),
1415 value: result['datasets'][key][subkey]['value'].toString()
1416 };
1417 options.push(option);
1418 if (e2pdf.url.get('action') == 'bulk') {
1419 dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1420 } else {
1421 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1422 }
1423 }
1424 dataset_field.data('options', options);
1425 if (e2pdf.url.get('action') == 'bulk') {
1426 dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1427 if (Object.keys(result['datasets'][key]).length > 1) {
1428 dataset_field.attr('disabled', false);
1429 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1430 } else {
1431 dataset_field.attr('disabled', 'disabled');
1432 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1433 }
1434 } else {
1435 dataset_field.val('');
1436 e2pdf.select2.update(dataset_field);
1437 e2pdf.select2.enable(dataset_field);
1438 }
1439 }
1440 if (result['actions']) {
1441 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1442 for (var key in result['actions']) {
1443 ul.append(jQuery('<li>').html(result['actions'][key]));
1444 }
1445 jQuery('.e2pdf-export-template-actions').append(ul);
1446 }
1447 jQuery('.e2pdf-export-option').each(function () {
1448 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1449 var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1450 if (result['options'].hasOwnProperty(key)) {
1451 jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1452 if (result['options'][key]) {
1453 jQuery(this).val(result['options'][key]);
1454 } else {
1455 if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1456 jQuery(this).val('[e2pdf-dataset]');
1457 } else {
1458 if (key == 'args') {
1459 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1460 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1461 }
1462 jQuery(this).val('');
1463 }
1464 }
1465 } else {
1466 jQuery(this).val('');
1467 }
1468 if (jQuery(this).attr('name') == 'options[name]') {
1469 if (e2pdf.url.get('action') == 'bulk') {
1470 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1471 }
1472 }
1473 });
1474 if (e2pdf.static.autoloadExport) {
1475 var datasets = [
1476 'dataset',
1477 'dataset2'
1478 ];
1479 for (var key in datasets) {
1480 if (e2pdf.url.get(datasets[key])) {
1481 jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1482 }
1483 }
1484 for (var key in datasets) {
1485 if (e2pdf.url.get(datasets[key])) {
1486 e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1487 }
1488 }
1489 e2pdf.static.autoloadExport = false;
1490 } else {
1491 var url = '';
1492 if (e2pdf.url.get('action')) {
1493 url += 'action=' + e2pdf.url.get('action') + '&';
1494 }
1495 url += 'id=' + template_id;
1496 e2pdf.url.change('e2pdf', url);
1497 }
1498
1499 if (e2pdf.url.get('action') == 'bulk') {
1500 jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1501 }
1502 jQuery('.e2pdf-export-options').slideDown();
1503 } else {
1504 if (e2pdf.url.get('action') == 'bulk') {
1505 e2pdf.url.change('e2pdf', 'action=bulk');
1506 } else {
1507 e2pdf.url.change('e2pdf');
1508 }
1509 }
1510 break;
1511 case 'e2pdf_dataset':
1512 var template_id = result['id'];
1513 var url = 'id=' + template_id;
1514 var shortcode = '[e2pdf-download id="' + template_id + '"';
1515 if (result['datasets']) {
1516 for (var key in result['datasets']) {
1517 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1518 var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1519 e2pdf.select2.enable(dataset_field);
1520 if (result['datasets'][key]['id'] == '') {
1521 dataset_field.val('');
1522 e2pdf.select2.update(dataset_field);
1523 } else {
1524 url += '&' + key + '=' + result['datasets'][key]['id'];
1525 shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1526 }
1527 if (result['datasets'][key]['actions']) {
1528 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1529 for (var dkey in result['datasets'][key]['actions']) {
1530 ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
1531 }
1532 actions.empty().append(ul);
1533 }
1534 }
1535 jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1536 }
1537 shortcode += "]";
1538 if (result['export']) {
1539 jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1540 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1541 jQuery('.e2pdf-dataset-shortcode-wr').show();
1542 }
1543 e2pdf.url.change('e2pdf', url);
1544 break;
1545 case 'e2pdf_datasets_refresh':
1546 var options = [];
1547 var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1548 for (var key in result['datasets']) {
1549 var option = {
1550 key: result['datasets'][key]['key'].toString(),
1551 value: result['datasets'][key]['value'].toString()
1552 };
1553 options.push(option);
1554 if (e2pdf.url.get('action') == 'bulk') {
1555 dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1556 } else {
1557 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1558 }
1559 }
1560 dataset_field.data('options', options);
1561 e2pdf.select2.val(dataset_field, result['dataset']);
1562 break;
1563 case 'e2pdf_delete_item':
1564 case 'e2pdf_delete_items':
1565 jQuery('.e2pdf-export-template').trigger('change');
1566 break;
1567 case 'e2pdf_activate_template':
1568 case 'e2pdf_deactivate_template':
1569 if (result == 'activated') {
1570 el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1571 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1572 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1573 }
1574 } else {
1575 el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1576 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1577 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1578 }
1579 }
1580 break;
1581 case 'e2pdf_auto':
1582 var hidden_elements = [];
1583 var elements = result.elements;
1584 var width = parseFloat(e2pdf.pdf.settings.get('width'));
1585 var height = parseFloat(e2pdf.pdf.settings.get('height'));
1586 e2pdf.pages.changeTplSize(width, height);
1587 e2pdf.pages.createPage();
1588 jQuery('.ui-dialog-content').dialog('close');
1589 var i = 1;
1590 var page = jQuery('.e2pdf-page').last();
1591 var auto = {
1592 'block': {
1593 'top': 0,
1594 'left': 0,
1595 'right': 0,
1596 'bottom': 0,
1597 'width': 0,
1598 'page': page.attr('data-page_id')
1599 },
1600 'element': {
1601 'top': 0,
1602 'left': 0,
1603 'right': 0,
1604 'bottom': 0,
1605 'width': 0,
1606 'properties': {}
1607 },
1608 page: {
1609 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1610 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1611 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1612 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1613 }
1614 };
1615 for (var key in elements) {
1616 var element = elements[key];
1617 var type = element.type;
1618 var properties = {};
1619 element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1620 element['block'] = typeof element.block === 'undefined' ? false : element.block;
1621 element['float'] = typeof element.float === 'undefined' ? false : element.float;
1622 element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1623 element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1624 element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1625 element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1626 element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1627 element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1628 for (var property in element.properties) {
1629 properties[property] = element.properties[property];
1630 }
1631
1632 if (element.block) {
1633 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1634 if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
1635 page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1636 properties['left'] = auto.block.right + parseFloat(properties.left);
1637 properties['top'] = auto.block.top;
1638 } else {
1639 page = jQuery('.e2pdf-page').last();
1640 auto.block['bottom'] = 0;
1641 page.find('.e2pdf-element').each(function () {
1642 auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
1643 });
1644 properties['left'] = parseFloat(properties.left);
1645 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1646 }
1647 } else {
1648 if (element.float) {
1649 if (element.properties.width !== 'auto') {
1650 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1651 if (auto.element.properties.width === 'auto') {
1652 properties['width'] = properties['width'] - auto.element.width;
1653 }
1654 }
1655 properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1656 properties['top'] = auto.element.top;
1657 } else {
1658 if (element.properties.width !== 'auto') {
1659 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1660 }
1661 properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1662 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1663 }
1664 }
1665
1666 var obj = e2pdf.element.create(type, page, properties, false, true);
1667 e2pdf.properties.render(obj);
1668 page.append(obj);
1669 if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1670 e2pdf.actions.apply(obj, element.actions);
1671 }
1672
1673 if (element.properties.height === 'auto') {
1674 e2pdf.properties.set(obj, 'height', obj.height());
1675 e2pdf.properties.render(obj);
1676 } else if (element.properties.height === 'max') {
1677 e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1678 e2pdf.properties.render(obj);
1679 }
1680
1681 if (!element.block
1682 && element.float
1683 && auto.block.width > 0
1684 && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1685 e2pdf.properties.set(obj, 'left', auto.block.left);
1686 e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1687 e2pdf.properties.render(obj);
1688 }
1689
1690 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1691 if (page.is(':last-child')) {
1692 if (e2pdf_params['license_type'] == 'FREE') {
1693 obj.remove();
1694 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1695 return;
1696 }
1697
1698 if (page.find('.e2pdf-element').not(obj).length > 0) {
1699 e2pdf.pages.createPage();
1700 page = jQuery('.e2pdf-page').last();
1701 }
1702 } else {
1703 if (page.find('.e2pdf-element').not(obj).length > 0) {
1704 page = page.next('.e2pdf-page');
1705 }
1706 }
1707
1708 e2pdf.element.delete(obj);
1709 if (element.properties.height === 'auto') {
1710 properties['height'] = element.properties.height;
1711 }
1712
1713 auto.block['bottom'] = auto.page.top;
1714 properties['top'] = auto.block.bottom;
1715 obj = e2pdf.element.create(type, page, properties, false, true);
1716 e2pdf.properties.render(obj);
1717 page.append(obj);
1718 if (element.properties.height === 'auto') {
1719 e2pdf.properties.set(obj, 'height', obj.height());
1720 e2pdf.properties.render(obj);
1721 }
1722
1723 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1724 e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1725 e2pdf.properties.render(obj);
1726 e2pdf.properties.set(obj, 'top', properties['top']);
1727 e2pdf.properties.render(obj);
1728 }
1729 }
1730
1731 auto.element = {
1732 'top': e2pdf.properties.getValue(obj, 'top'),
1733 'left': e2pdf.properties.getValue(obj, 'left'),
1734 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1735 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1736 'width': e2pdf.properties.getValue(obj, 'width'),
1737 'properties': element.properties
1738 };
1739 if (element.block) {
1740 auto.block = {
1741 'top': e2pdf.properties.getValue(obj, 'top'),
1742 'left': e2pdf.properties.getValue(obj, 'left'),
1743 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1744 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1745 'width': e2pdf.properties.getValue(obj, 'width'),
1746 'page': page.attr('data-page_id')
1747 };
1748 } else {
1749 auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1750 }
1751 if (element.hidden) {
1752 hidden_elements.push(obj);
1753 }
1754 i++;
1755 }
1756 hidden_elements.forEach(function (element) {
1757 e2pdf.element.delete(element);
1758 });
1759 break;
1760 case 'e2pdf_bulk_action':
1761 if (result.action == 'delete') {
1762 el.closest('.e2pdf-bulk').remove();
1763 if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1764 jQuery('.e2pdf-bulks-list').remove();
1765 }
1766 } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1767 el.closest('.e2pdf-bulk').attr('status', 'stop');
1768 el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1769 } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1770 el.closest('.e2pdf-bulk').attr('status', 'pending');
1771 el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1772 }
1773 break;
1774 case 'e2pdf_bulk_progress':
1775 for (var key in result.bulks) {
1776 var bulk = result.bulks[key];
1777 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1778 if (bulk['status'] == 'completed') {
1779 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1780 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1781 jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1782 jQuery('<i>', {'class': 'dashicons dashicons-download'})
1783 ));
1784 }
1785 }
1786 break;
1787 default:
1788 break;
1789 }
1790 }
1791 },
1792 // e2pdf.dialog
1793 dialog: {
1794 top: null,
1795 left: null,
1796 center: true,
1797 // e2pdf.dialog.create
1798 create: function (el) {
1799 e2pdf.dialog.close();
1800 var modal = el.attr('data-modal');
1801 var title = el.attr('data-modal-title');
1802 var noclose = false;
1803 var width = '600';
1804 var height = '600';
1805 if (modal === 'license-key') {
1806 width = '400';
1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1808 jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1810 jQuery('<span>', {'class': 'spinner'})
1811 ),
1812 jQuery('<ul>').append(
1813 jQuery('<li>').append(
1814 jQuery('<label>', {'class': 'e2pdf-mb5'}).html(e2pdf.lang.get('License Key') + ':'),
1815 jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100 e2pdf-enter'})
1816 ),
1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1818 jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdf.lang.get('Apply'), '_wpnonce': e2pdf_params['nonce']['e2pdf_license']})
1819 )
1820 )
1821 )
1822 );
1823 } else if (modal === 'properties') {
1824 for (var key in e2pdf.element.selected) {
1825 var title = e2pdf.lang.get('Properties');
1826 var selected = e2pdf.element.selected[key];
1827 var fields = e2pdf.properties.renderFields(selected);
1828 var content = jQuery('<div>').append(
1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1831 fields
1832 )
1833 )
1834 );
1835 }
1836 } else if (modal === 'page-options') {
1837 var title = e2pdf.lang.get('Page Options');
1838 var page = el.closest('.e2pdf-page');
1839 var readonly_size = false;
1840 if (e2pdf.pdf.settings.get('pdf')) {
1841 readonly_size = true;
1842 }
1843
1844 var content = jQuery('<div>', {'class': 'e2pdf-page-options'}).append(jQuery('<form>', {'id': 'e2pdf-page-options', 'class': 'e2pdf-rel'}).append(
1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1846 jQuery('<span>', {'class': 'spinner'})
1847 ),
1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1849 jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1850 )),
1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1852 jQuery('<span>', {'class': 'spinner'})
1853 ));
1854 var fields = e2pdf.properties.renderFields(page);
1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1856 fields
1857 ));
1858 } else if (modal === 'tpl-actions') {
1859 width = '600';
1860 var title = e2pdf.lang.get('Global Actions');
1861 var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'));
1862 var content = jQuery('<div>').append(
1863 jQuery('<form>', {'id': 'e2pdf-tpl-actions'}).append(
1864 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1865 fields
1866 )
1867 )
1868 );
1869 } else if (modal === 'tpl-properties') {
1870 width = '600';
1871 var title = e2pdf.lang.get('Global Properties');
1872 var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'), false);
1873 var content = jQuery('<div>').append(
1874 jQuery('<form>', {'id': 'e2pdf-tpl-properties'}).append(
1875 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1876 fields
1877 )
1878 )
1879 );
1880 } else if (modal === 'tpl-options') {
1881 width = '500';
1882 var title = e2pdf.lang.get('Options');
1883 var readonly_size = false;
1884 if (e2pdf.pdf.settings.get('pdf')) {
1885 readonly_size = true;
1886 }
1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1888 jQuery('<option>',
1889 {
1890 'value': ''
1891 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1892 );
1893 for (var size in e2pdf_params['template_sizes']) {
1894 var option = jQuery('<option>',
1895 {
1896 'value': size
1897 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1898 sizes.append(option);
1899 }
1900
1901 var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
1902 for (var extension in e2pdf_params['extensions']) {
1903 var option = jQuery('<option>',
1904 {
1905 'value': extension
1906 }).html(e2pdf_params['extensions'][extension]);
1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1908 option.attr('selected', 'selected');
1909 }
1910 extensions.append(option);
1911 }
1912
1913 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-tpl-options', 'class': 'e2pdf-rel'}).append(
1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1915 jQuery('<span>', {'class': 'spinner'})
1916 ),
1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1918 jQuery('<h3>').html(e2pdf.lang.get('Options'))
1919 )),
1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1921 jQuery('<span>', {'class': 'spinner'})
1922 ));
1923 var default_width = '595';
1924 if (e2pdf.pdf.settings.get('width')) {
1925 default_width = e2pdf.pdf.settings.get('width');
1926 }
1927
1928 var default_height = '842';
1929 if (e2pdf.pdf.settings.get('height')) {
1930 default_height = e2pdf.pdf.settings.get('height');
1931 }
1932
1933 content.find('form').append(
1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1935 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
1936 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1937 ),
1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1940 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1941 ),
1942 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1943 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1944 )
1945 )
1946 );
1947 content.find('form').append(
1948 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1949 sizes);
1950 content.find('form').append(
1951 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1952 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1953 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1954 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1955 ),
1956 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1957 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1958 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
1959 ),
1960 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
1961 jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
1962 ),
1963 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
1964 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1965 )
1966 )
1967 );
1968 content.find('form').append(
1969 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1970 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1971 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1972 ),
1973 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1974 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1975 jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1976 ),
1977 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1978 jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1979 e2pdf.lang.get('RTL')
1980 )
1981 )
1982 );
1983 content.find('form').append(
1984 jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1985 extensions,
1986 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1987 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1988 );
1989 content.find('form').append(
1990 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1991 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1992 jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1993 ),
1994 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1995 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1996 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1997 jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
1998 jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
1999 jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2000 ).val('0'),
2001 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2002 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2003 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2004 e2pdf.lang.get('Shortcodes')
2005 )
2006 )
2007 )
2008 )
2009 )
2010 );
2011 content.find('form').append(
2012 jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2013 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2014 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2015 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2016 ),
2017 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2018 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2019 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2020 ),
2021 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2022 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2023 )
2024 )
2025 )
2026 );
2027 content.find('form').append(
2028 jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2029 );
2030 if (e2pdf.pdf.settings.get('pdf')) {
2031 content.find('form').append(
2032 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2033 jQuery('<li>'),
2034 jQuery('<li>').append(
2035 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
2036 ),
2037 jQuery('<li>')
2038 )
2039 );
2040 } else {
2041 content.find('form').append(
2042 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2043 jQuery('<li>').append(
2044 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
2045 ),
2046 jQuery('<li>'),
2047 jQuery('<li>').append(
2048 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
2049 )
2050 )
2051 );
2052 }
2053
2054 } else if (modal === 'tpl-hooks') {
2055 width = '600';
2056 var title = e2pdf.lang.get('Integration Hooks');
2057 var hooks = e2pdf.hooks.get();
2058 var checked = e2pdf.hooks.getChecked();
2059 var fields = jQuery('<div>');
2060 fields.append(jQuery('<p>', {'class': 'e2pdf-bold'}).html(e2pdf.lang.get('Display PDF Download') + ':'));
2061 for (var hook in hooks) {
2062 var option = jQuery('<label>', {'class': 'e2pdf-label e2pdf-w50'}).append(
2063 jQuery(
2064 '<input>', {
2065 'type': 'checkbox', 'name': 'hooks[]',
2066 'class': 'e2pdf-ib',
2067 'value': hook,
2068 'checked': jQuery.inArray(hook, checked) !== -1 ? 'checked' : false
2069 }
2070 )
2071 ).append(hooks[hook]);
2072 fields.append(option);
2073 }
2074 if (Object.keys(hooks).length === 0) {
2075 fields.append(jQuery('<p>').html(e2pdf.lang.get('No hooks are available for this extension')));
2076 }
2077 var content = jQuery('<div>').append(
2078 jQuery('<form>', {'id': 'e2pdf-tpl-hooks'}).append(
2079 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
2080 fields
2081 )
2082 )
2083 );
2084 } else if (modal === 'welcome-screen') {
2085 var noclose = true;
2086 width = '500';
2087 var title = e2pdf.lang.get('Create PDF');
2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
2089 jQuery('<option>',
2090 {
2091 'value': ''
2092 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
2093 );
2094 for (var size in e2pdf_params['template_sizes']) {
2095 var option = jQuery('<option>',
2096 {
2097 'value': size,
2098 'data-width': e2pdf_params['template_sizes'][size]['width'],
2099 'data-height': e2pdf_params['template_sizes'][size]['height']
2100 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
2101 sizes.append(option);
2102 }
2103
2104 var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
2105 for (var extension in e2pdf_params['extensions']) {
2106 var option = jQuery('<option>',
2107 {
2108 'value': extension
2109 }).html(e2pdf_params['extensions'][extension]);
2110 if (e2pdf.pdf.settings.get('extension') === extension) {
2111 option.attr('selected', 'selected');
2112 }
2113 extensions.append(option);
2114 }
2115
2116 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-welcome-screen', 'class': 'e2pdf-rel'}).append(
2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2118 jQuery('<span>', {'class': 'spinner'})
2119 ),
2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2121 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2122 )),
2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2124 jQuery('<span>', {'class': 'spinner'})
2125 ));
2126 var default_width = '595';
2127 if (e2pdf.pdf.settings.get('width')) {
2128 var default_width = e2pdf.pdf.settings.get('width');
2129 }
2130
2131 var default_height = '842';
2132 if (e2pdf.pdf.settings.get('height')) {
2133 var default_height = e2pdf.pdf.settings.get('height');
2134 }
2135
2136 content.find('form').append(
2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2138 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
2139 ),
2140 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2141 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2142 jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
2143 )
2144 )
2145 );
2146 content.find('form').append(
2147 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2148 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2149 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
2150 ),
2151 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2153 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2154 ),
2155 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2156 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2157 )
2158 )
2159 );
2160 content.find('form').append(
2161 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
2162 sizes);
2163 content.find('form').append(
2164 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2165 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2166 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2167 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
2168 ),
2169 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2170 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
2171 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
2172 ),
2173 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
2174 jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
2175 ),
2176 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
2177 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
2178 )
2179 )
2180 );
2181 content.find('form').append(
2182 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2183 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2184 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2185 ),
2186 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2187 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2188 jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2189 ),
2190 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2191 jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2192 e2pdf.lang.get('RTL')
2193 )
2194 )
2195 );
2196 content.find('form').append(
2197 jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
2198 extensions,
2199 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2200 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
2201 );
2202 content.find('form').append(
2203 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
2204 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2205 jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
2206 ),
2207 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2208 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2209 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
2210 jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
2211 jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
2212 jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2213 ).val('0'),
2214 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2215 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2216 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2217 e2pdf.lang.get('Shortcodes')
2218 )
2219 )
2220 )
2221 )
2222 )
2223 );
2224 content.find('form').append(
2225 jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2226 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2227 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2228 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2229 ),
2230 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2231 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2232 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2233 ),
2234 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2235 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2236 )
2237 )
2238 )
2239 );
2240 content.find('form').append(
2241 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2242 );
2243 content.find('form').append(
2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
2245 );
2246 if (e2pdf.pdf.settings.get('ID')) {
2247 content.find('form').append(
2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2249 );
2250 }
2251
2252 content.find('form').append(
2253 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2254 jQuery('<li>').append(
2255 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-w-empty e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Empty PDF'))
2256 ),
2257 jQuery('<li>').append(
2258 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-w-upload e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF')).append(jQuery('<span>').html(e2pdf.lang.get('Max Upload File Size') + ": " + e2pdf_params['upload_max_filesize']))
2259 ),
2260 jQuery('<li>').append(
2261 jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
2262 )
2263 )
2264 );
2265 } else if (modal === 'visual-mapper') {
2266 var title = e2pdf.lang.get('Visual Mapper');
2267 var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2270 jQuery('<span>', {'class': 'spinner'})
2271 )).append(
2272 jQuery('<div>', {'class': 'e2pdf-popup-inner'}).append(
2273 jQuery('<div>', {'class': 'e2pdf-vm-content e2pdf-rel', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).append(
2274 jQuery('<span>', {'class': 'spinner'})
2275 )
2276 )
2277 ));
2278 } else if (modal === 'pdf-reupload') {
2279 var title = e2pdf.lang.get('PDF Upload');
2280 width = '500';
2281 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2282 jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2284 jQuery('<span>', {'class': 'spinner'})
2285 ),
2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2287 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2288 )),
2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2290 jQuery('<span>', {'class': 'spinner'})
2291 ));
2292 content.find('form').append(
2293 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2294 );
2295 if (e2pdf.pdf.settings.get('ID')) {
2296 content.find('form').append(
2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2298 );
2299 }
2300
2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
2302 pages.append(
2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
2304 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2305 jQuery('<label>').text(e2pdf.lang.get('Page ID'))
2306 ),
2307 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2308 jQuery('<label>').text(e2pdf.lang.get('Page ID inside Upload PDF'))
2309 ),
2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2311 jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
2312 ),
2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2314 jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
2315 )));
2316 jQuery('.e2pdf-page').each(function () {
2317 var page_id = jQuery(this).attr('data-page_id');
2318 pages.append(
2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2320 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).text(page_id),
2321 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w5 e2pdf-center'}).append(
2322 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-delete-reupload-page'}).append(
2323 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2324 )
2325 ),
2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2327 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
2328 ),
2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2330 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
2331 ),
2332 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2333 jQuery('<input>', {'name': 'flush[]', 'type': 'checkbox', 'value': page_id})
2334 )
2335 )
2336 );
2337 });
2338 content.find('form').append(pages);
2339 content.find('form').append(
2340 jQuery('<ul>').append(
2341 jQuery('<li>').append(
2342 ),
2343 jQuery('<li>').append(
2344 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF'))
2345 ),
2346 jQuery('<li>').append(
2347 )
2348 )
2349 );
2350 } else {
2351 var content = jQuery('<div>');
2352 }
2353
2354 if (typeof content !== 'undefined') {
2355
2356 var dialog_class = 'e2pdf-dialog';
2357 if (modal === 'visual-mapper') {
2358 dialog_class += ' e2pdf-dialog-visual-mapper';
2359 } else if (modal === 'properties') {
2360 dialog_class += ' e2pdf-dialog-element-properties';
2361 dialog_class += ' for-' + selected.data('data-type');
2362 }
2363 content.dialog({
2364 title: title,
2365 dialogClass: dialog_class,
2366 modal: true,
2367 width: width,
2368 height: Math.min(height, jQuery(window).height() - 200),
2369 resizable: modal === 'visual-mapper' || modal === 'properties' || modal === 'page-options' || modal === 'tpl-actions' || modal === 'tpl-properties' ? true : false,
2370 minWidth: 200,
2371 closeText: '',
2372 my: 'center',
2373 at: 'center',
2374 of: window,
2375 open: function (event, ui) {
2376 jQuery('html').css('overflow', 'hidden');
2377 jQuery('.e2pdf-dialog').css('min-height', '150');
2378 if (noclose) {
2379 jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
2380 location.href = e2pdf.url.build('e2pdf-templates');
2381 e.preventDefault();
2382 });
2383 } else {
2384 jQuery('.ui-widget-overlay').bind('click', function ()
2385 {
2386 if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2387 return;
2388 }
2389 content.dialog('close');
2390 });
2391 }
2392
2393 if (modal === 'properties') {
2394 jQuery(".ui-dialog-titlebar").after(
2395 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2396 jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-noclose', 'value': e2pdf.lang.get('Apply')}),
2397 jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-ml5', 'value': e2pdf.lang.get('Save')})
2398 )
2399 );
2400 } else if (modal === 'tpl-actions') {
2401 jQuery(".ui-dialog-titlebar").after(
2402 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2403 jQuery('<input>', {'form-id': "e2pdf-tpl-actions", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2404 )
2405 );
2406 } else if (modal === 'tpl-properties') {
2407 jQuery(".ui-dialog-titlebar").after(
2408 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2409 jQuery('<input>', {'form-id': "e2pdf-tpl-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2410 )
2411 );
2412 } else if (modal === 'tpl-hooks') {
2413 jQuery(".ui-dialog-titlebar").after(
2414 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2415 jQuery('<input>', {'form-id': "e2pdf-tpl-hooks", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2416 )
2417 );
2418 } else if (modal === 'visual-mapper') {
2419 jQuery(".ui-dialog-titlebar").after(
2420 jQuery('<div>', {'class': 'e2pdf-dialog-over'}).append(
2421 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2422 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w40 e2pdf-pr10'}).append(
2423 jQuery('<input>', {'type': 'text', 'name': 'vm_search', 'class': 'e2pdf-ib e2pdf-w100 e2pdf-hide', 'value': '', 'placeholder': e2pdf.lang.get('Filter...')})
2424 ),
2425 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-align-right'}).append(
2426 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pr10'}).append(
2427 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_hidden', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.hidden ? 'checked' : false})
2428 ).append(e2pdf.lang.get('Hidden Fields')),
2429 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10 e2pdf-pr10'}).append(
2430 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_replace', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.replace ? 'checked' : false})
2431 ).append(e2pdf.lang.get('Replace Value')),
2432 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10'}).append(
2433 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_close', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.close ? 'checked' : false})
2434 ).append(e2pdf.lang.get('Auto-Close'))
2435 )
2436 )
2437 )
2438 );
2439 } else if (modal === 'page-options') {
2440 jQuery(".ui-dialog-titlebar").after(
2441 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2442 jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2443 )
2444 );
2445 }
2446 jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
2447 },
2448 closeOnEscape: modal === 'welcome-screen' || modal === 'tpl-options' ? false : true,
2449 beforeClose: function (event, ui) {
2450 e2pdf.dialog.center = true;
2451 },
2452 dragStop: function (event, ui) {
2453 e2pdf.dialog.center = false;
2454 },
2455 resizeStart: function (event, ui) {
2456 },
2457 resize: function (event, ui) {
2458 var max_height = jQuery('.e2pdf-dialog').height();
2459 var min_height = 0;
2460 if (jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').length > 0) {
2461 min_height += jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').outerHeight();
2462 }
2463 if (jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').length > 0) {
2464 min_height += jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').outerHeight();
2465 }
2466 jQuery('.e2pdf-dialog').css('min-height', Math.max(150, min_height + 50));
2467 jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': max_height - min_height});
2468 },
2469 resizeStop: function (event, ui) {
2470 e2pdf.dialog.center = false;
2471 },
2472 close: function (event, ui)
2473 {
2474 jQuery('html').css('overflow', 'auto');
2475 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
2476 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
2477 jQuery(this).click();
2478 });
2479 }
2480 e2pdf.visual.mapper.selected = null;
2481 jQuery(this).remove();
2482 }
2483 });
2484 }
2485
2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
2487 jQuery('.e2pdf-extension').trigger('change');
2488 } else if (modal === 'visual-mapper') {
2489 var data = {};
2490 data['extension'] = e2pdf.pdf.settings.get('extension');
2491 data['item'] = e2pdf.pdf.settings.get('item');
2492 data['item1'] = e2pdf.pdf.settings.get('item1');
2493 data['item2'] = e2pdf.pdf.settings.get('item2');
2494 e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('.e2pdf-vm-content'), data);
2495 }
2496
2497 if (modal !== 'visual-mapper') {
2498 e2pdf.dialog.rebuild();
2499 }
2500
2501 e2pdf.event.fire('after.dialog.create');
2502 },
2503 // e2pdf.dialog.close
2504 close: function () {
2505 if (jQuery('.e2pdf-dialog').length > 0) {
2506 jQuery('.ui-dialog-content').dialog('close');
2507 }
2508 },
2509 // e2pdf.dialog.rebuild
2510
2511 rebuild: function () {
2512 if (jQuery('.e2pdf-dialog').not('.ui-dialog-resizing').length > 0) {
2513 if (jQuery('.e2pdf-dialog').width() > jQuery(window).width()) {
2514 jQuery('.e2pdf-dialog').width(jQuery(window).width() - 100);
2515 }
2516 if (e2pdf.dialog.center) {
2517 jQuery('.e2pdf-dialog').find('.ui-dialog-content').dialog('option', 'position', {my: 'center', at: 'center', of: window});
2518 }
2519 e2pdf.visual.mapper.rebuild();
2520 }
2521 }
2522 },
2523 // e2pdf.mediaUploader
2524 mediaUploader: {
2525 // e2pdf.mediaUploader.init
2526 init: function (el) {
2527 var mediaUploader;
2528 mediaUploader = wp.media.frames.file_frame = wp.media({
2529 title: e2pdf.lang.get('Media Library'),
2530 button: {
2531 text: e2pdf.lang.get('Select')
2532 }, multiple: false});
2533 mediaUploader.on('select', function () {
2534 var history = [];
2535 history.push(el.clone(true));
2536 e2pdf.history.set('element_change', history);
2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
2538 e2pdf.properties.set(el, 'value', attachment.url);
2539 e2pdf.properties.render(el);
2540 e2pdf.event.fire('after.mediaUploader.select');
2541 });
2542 mediaUploader.open();
2543 }
2544 },
2545 // e2pdf.actions
2546 actions: {
2547 // e2pdf.actions.add
2548 add: function (el, target, action) {
2549 var last_id = -1;
2550 target.find('.e2pdf-action').each(function () {
2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
2552 if (num_id > last_id) {
2553 last_id = num_id;
2554 }
2555 });
2556 var action_id = parseInt(last_id + 1);
2557 if (action) {
2558 target.append(e2pdf.actions.renderField(el, action_id, action));
2559 } else {
2560 target.append(e2pdf.actions.renderField(el, action_id));
2561 }
2562
2563 },
2564 // e2pdf.actions.change
2565 change: function (action, trigger) {
2566 var action_id = action.attr("data-action_id");
2567 var form = action.closest('form');
2568 var data = e2pdf.form.serializeObject(form);
2569 var el = false;
2570 if (form.attr('id') === 'e2pdf-page-options') {
2571 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2572 } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2573 el = jQuery('.e2pdf-tpl');
2574 } else {
2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2576 }
2577
2578 var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2579 if (!formatRegex.test(trigger.attr('name'))) {
2580 data['actions'][action_id]['change'] = '';
2581 }
2582
2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
2584 e2pdf.event.fire('after.actions.change');
2585 },
2586 // e2pdf.actions.duplicate
2587 duplicate: function (action) {
2588 var actions = action.closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
2589 var action_id = action.attr("data-action_id");
2590 var form = action.closest('form');
2591 var data = e2pdf.form.serializeObject(form);
2592 var el = false;
2593 if (form.attr('id') === 'e2pdf-page-options') {
2594 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2595 } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2596 el = jQuery('.e2pdf-tpl');
2597 } else {
2598 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2599 }
2600 e2pdf.actions.add(el, actions, data['actions'][action_id]);
2601 e2pdf.event.fire('after.actions.change');
2602 },
2603 // e2pdf.actions.delete
2604
2605 delete: function (action) {
2606 action.remove();
2607 },
2608 // e2pdf.actions.conditions
2609 conditions: {
2610 // e2pdf.actions.conditions.add
2611 add: function (el, target) {
2612 var action = target.closest('.e2pdf-action');
2613 var action_id = action.attr('data-action_id');
2614 var last_id = -1;
2615 target.find('.e2pdf-condition').each(function () {
2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
2617 if (num_id > last_id) {
2618 last_id = num_id;
2619 }
2620 });
2621 var condition_id = parseInt(last_id + 1);
2622 action.find('.e2pdf-conditions').append(
2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
2624 );
2625 },
2626 // e2pdf.actions.conditions.getFields
2627 getFields: function (el, action_id, condition_id, condition) {
2628 var obj = {
2629 'condition': {
2630 'fields': [
2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
2633 e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
2634 ],
2635 'classes': [
2636 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
2638 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 ]
2640 }
2641 };
2642 return obj;
2643 },
2644 // e2pdf.actions.conditions.getField
2645 getField: function (field, el, action_id, condition_id, condition) {
2646 var obj = false;
2647 switch (field) {
2648 case 'if':
2649 var value = condition ? condition.if : '';
2650 obj = {
2651 'name': e2pdf.lang.get('If'),
2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
2653 'type': 'textarea',
2654 'value': value,
2655 'atts': []
2656 };
2657 break;
2658 case 'condition':
2659 var value = condition ? condition.condition : '=';
2660 obj = {
2661 'name': e2pdf.lang.get('Condition'),
2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
2663 'type': 'select',
2664 'value': value,
2665 'options': [
2666 {'=': '='},
2667 {'!=': '!='},
2668 {'>': '>'},
2669 {'>=': '>='},
2670 {'<': '<'},
2671 {'<=': '<='},
2672 {'like': e2pdf.lang.get('Contains')},
2673 {'not_like': e2pdf.lang.get('Not Contains')},
2674 {'in_array': e2pdf.lang.get('In Array')},
2675 {'not_in_array': e2pdf.lang.get('Not In Array')},
2676 {'in_list': e2pdf.lang.get('In List')},
2677 {'not_in_list': e2pdf.lang.get('Not In List')},
2678 {'array_key_exists': e2pdf.lang.get('Array Key Exists')},
2679 {'array_key_not_exists': e2pdf.lang.get('Array Key Not Exists')}
2680 ],
2681 'atts': []
2682 };
2683 break;
2684 case 'value':
2685 var value = condition ? condition.value : '';
2686 obj = {
2687 'name': e2pdf.lang.get('Value'),
2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
2689 'type': 'textarea',
2690 'value': value,
2691 'atts': []
2692 };
2693 break;
2694 }
2695 return obj;
2696 },
2697 // e2pdf.actions.conditions.delete
2698 delete: function (condition) {
2699 condition.remove();
2700 },
2701 // e2pdf.actions.conditions.renderField
2702 renderField: function (el, action_id, condition_id, condition) {
2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
2704 if (groups) {
2705 for (var group_key in groups) {
2706
2707 var group = groups[group_key];
2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2709 for (var field_key in group.fields) {
2710 var group_field = group.fields[field_key];
2711 var classes = '';
2712 if (group.classes) {
2713 if (group.classes[field_key]) {
2714 classes = group.classes[field_key];
2715 }
2716 }
2717
2718 var field = '';
2719 var label = '';
2720 var wrap = '';
2721 if (group_field.type === 'text') {
2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2723 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2724 } else if (group_field.type === 'hidden') {
2725 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2726 } else if (group_field.type === 'textarea') {
2727 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2728 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
2729 } else if (group_field.type === 'checkbox') {
2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
2732 if (group_field.value == group_field.option) {
2733 field.prop('checked', true);
2734 }
2735 } else if (group_field.type === 'color') {
2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2738 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2739 } else if (group_field.type === 'select') {
2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2742 for (var option_key in group_field.options) {
2743 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
2744 }
2745 field.val(group_field.value);
2746 }
2747
2748 if (!wrap) {
2749 wrap = field;
2750 } else {
2751 wrap.prepend(field);
2752 }
2753
2754 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
2755 }
2756 }
2757 }
2758
2759 grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
2762 ),
2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
2765 )));
2766 var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition e2pdf-w100', 'data-condition_id': condition_id}).append(
2767 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
2768 jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
2769 ),
2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2772 ),
2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2774 grid
2775 )
2776 );
2777 return new_condition;
2778 }
2779 },
2780 // e2pdf.actions.get
2781 get: function (el) {
2782 var actions = [];
2783 if (typeof el.data('data-actions') !== 'undefined') {
2784 actions = JSON.parse(el.data('data-actions'));
2785 actions = Object.values(actions).sort(function (a, b) {
2786 if (parseInt(a.order) === parseInt(b.order)) {
2787 return 0;
2788 }
2789 return parseInt(a.order) < parseInt(b.order) ? -1 : 1;
2790 });
2791 }
2792 return actions;
2793 },
2794 // e2pdf.actions.apply
2795 apply: function (el, data) {
2796 if (!data) {
2797 data = [];
2798 }
2799 el.data('data-actions', JSON.stringify(data));
2800 },
2801 // e2pdf.actions.getField
2802 getField: function (field, el, action_id, action) {
2803 var obj = false;
2804 switch (field) {
2805 case 'order':
2806 var value = action ? action.order : '0';
2807 obj = {
2808 'name': e2pdf.lang.get('Sort'),
2809 'key': 'actions[' + action_id + '][order]',
2810 'type': 'text',
2811 'value': value,
2812 'atts': ['number']
2813 };
2814 break;
2815 case 'format':
2816 var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2817 obj = {
2818 'name': e2pdf.lang.get('Format'),
2819 'key': 'actions[' + action_id + '][format]',
2820 'type': 'select',
2821 'value': value,
2822 'options': [
2823 {'insert_before': e2pdf.lang.get('Insert Before')},
2824 {'insert_after': e2pdf.lang.get('Insert After')},
2825 {'replace': e2pdf.lang.get('Full Replacement')},
2826 {'search': e2pdf.lang.get('Search / Replace')},
2827 ],
2828 'atts': []
2829 };
2830 break;
2831 case 'search':
2832 var value = action && typeof action.search !== 'undefined' ? action.search : '';
2833 obj = {
2834 'name': 'Search',
2835 'key': 'actions[' + action_id + '][search]',
2836 'type': 'textarea',
2837 'value': value,
2838 'atts': []
2839 };
2840 break;
2841 case 'pre_replace':
2842 var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2843 obj = {
2844 'name': e2pdf.lang.get('Pre-Replace'),
2845 'key': 'actions[' + action_id + '][pre_replace]',
2846 'type': 'select',
2847 'value': value,
2848 'options': [
2849 {'': '-'},
2850 {'render': e2pdf.lang.get('Render Value')}
2851 ],
2852 'atts': []
2853 };
2854 break;
2855 case 'action':
2856 if (el.data('data-type') == 'e2pdf-tpl') {
2857 var value = action ? action.action : 'access_by_url';
2858 // backward compatibility
2859 value = value.replace('restrict_process_shortcode_', '');
2860 value = value.replace('process_shortcode_', '');
2861 value = value.replace('restrict_process_', '');
2862 value = value.replace('process_', '');
2863 value = value.replace('restrict_', '');
2864 var options = [
2865 {'access_by_url': e2pdf.lang.get('PDF Access By URL')},
2866 {'redirect_access_by_url': e2pdf.lang.get('Redirect Access By URL')},
2867 {'shortcodes': e2pdf.lang.get('Shortcodes: All')},
2868 {'e2pdf_download': e2pdf.lang.get('Shortcode: e2pdf-download')},
2869 {'e2pdf_attachment': e2pdf.lang.get('Shortcode: e2pdf-attachment')},
2870 {'e2pdf_view': e2pdf.lang.get('Shortcode: e2pdf-view')},
2871 {'e2pdf_save': e2pdf.lang.get('Shortcode: e2pdf-save')},
2872 {'e2pdf_zapier': e2pdf.lang.get('Shortcode: e2pdf-zapier')},
2873 {'e2pdf_adobesign': e2pdf.lang.get('Shortcode: e2pdf-adobesign')},
2874 ];
2875 var hooks = e2pdf.hooks.get();
2876 if (Object.keys(hooks).length > 0) {
2877 options.push({'hooks': 'Hooks: All'});
2878 for (var hook in hooks) {
2879 options.push({[hook]: 'Hook: ' + hooks[hook]});
2880 }
2881 }
2882 if (!options.some(opt => Object.keys(opt)[0] === value)) {
2883 options.push({[value]: value});
2884 }
2885 } else if (el.data('data-type') == 'e2pdf-page') {
2886 var value = action ? action.action : 'hide';
2887 var options = [
2888 {'hide': e2pdf.lang.get('Hide Page')},
2889 {'show': e2pdf.lang.get('Show Page')},
2890 {'change': e2pdf.lang.get('Change Property')}
2891 ];
2892 } else {
2893 var value = action ? action.action : 'hide';
2894 var options = [
2895 {'hide': e2pdf.lang.get('Hide Element')},
2896 {'show': e2pdf.lang.get('Show Element')},
2897 {'change': e2pdf.lang.get('Change Property')}
2898 ];
2899 }
2900 obj = {
2901 'name': e2pdf.lang.get('Action'),
2902 'key': 'actions[' + action_id + '][action]',
2903 'type': 'select',
2904 'value': value,
2905 'options': options,
2906 'atts': []
2907 };
2908 break;
2909 case 'error_message':
2910 if (el.data('data-type') == 'e2pdf-tpl') {
2911 var value = action ? action.error_message : '';
2912 obj = {
2913 'name': e2pdf.lang.get('Error Message'),
2914 'key': 'actions[' + action_id + '][error_message]',
2915 'type': 'textarea',
2916 'value': value,
2917 'atts': []
2918 };
2919 }
2920 break;
2921 case 'redirect_error_message':
2922 if (el.data('data-type') == 'e2pdf-tpl') {
2923 var value = action ? action.redirect_error_message : '';
2924 if (!value) {
2925 value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
2926 }
2927 obj = {
2928 'name': e2pdf.lang.get('Error Message'),
2929 'key': 'actions[' + action_id + '][redirect_error_message]',
2930 'type': 'textarea',
2931 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2932 'value': value,
2933 'atts': []
2934 };
2935 }
2936 break;
2937 case 'redirect_url':
2938 if (el.data('data-type') == 'e2pdf-tpl') {
2939 var value = action ? action.redirect_url : '';
2940 obj = {
2941 'name': e2pdf.lang.get('Redirect URL'),
2942 'key': 'actions[' + action_id + '][redirect_url]',
2943 'type': 'text',
2944 'value': value,
2945 'atts': []
2946 };
2947 }
2948 break;
2949 case 'else':
2950 if (el.data('data-type') == 'e2pdf-page') {
2951 var options = [
2952 {'': '-'},
2953 {'hide': e2pdf.lang.get('Hide Page')}
2954 ];
2955 } else {
2956 var options = [
2957 {'': '-'},
2958 {'hide': e2pdf.lang.get('Hide Element')}
2959 ];
2960 }
2961
2962 var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2963 obj = {
2964 'name': e2pdf.lang.get('Else'),
2965 'key': 'actions[' + action_id + '][else]',
2966 'type': 'select',
2967 'options': options,
2968 'value': value,
2969 'atts': []
2970 };
2971 break;
2972 case 'property':
2973 if (el.data('data-type') == 'e2pdf-tpl') {
2974 // backward compatibility
2975 if (action && !action.property && action.action) {
2976 if (action.action.includes('restrict_')) {
2977 var value = 'disable';
2978 } else {
2979 var value = 'enable';
2980 }
2981 } else {
2982 var value = action && action.property ? action.property : 'enable';
2983 }
2984 var options = [
2985 {'enable': e2pdf.lang.get('Enable')},
2986 {'disable': e2pdf.lang.get('Disable')},
2987 ];
2988 obj = {
2989 'name': e2pdf.lang.get('State'),
2990 'key': 'actions[' + action_id + '][property]',
2991 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
2992 'value': value,
2993 'options': options,
2994 'atts': []
2995 };
2996 } else {
2997 var value = action ? action.property : '';
2998 if (action && action.action === 'change') {
2999 var options = [];
3000 var option = {
3001 '': e2pdf.lang.get('--- Select ---')
3002 };
3003 options.push(option);
3004 var groups = e2pdf.properties.getFields(el);
3005 for (var group_key in groups) {
3006 var group = groups[group_key];
3007 for (var field_key in group.fields) {
3008 var group_field = group.fields[field_key];
3009 if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
3010 var option = {};
3011 if (group_field.key == 'g_multiline') {
3012 option[group_field.key] = e2pdf.lang.get('Type');
3013 } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
3014 option[group_field.key] = group.name;
3015 } else {
3016 option[group_field.key] = group.name + ' ' + group_field.name;
3017 }
3018 options.push(option);
3019 }
3020 }
3021 }
3022 obj = {
3023 'name': e2pdf.lang.get('Property'),
3024 'key': 'actions[' + action_id + '][property]',
3025 'type': 'select',
3026 'value': value,
3027 'options': options,
3028 'atts': []
3029 };
3030 }
3031 }
3032 break;
3033 case 'change':
3034 var value = action ? action.change : '';
3035 if (
3036 action
3037 && typeof action.action !== 'undefined'
3038 && action.action === 'change'
3039 && typeof action.property !== 'undefined'
3040 && action.property !== ''
3041 ) {
3042
3043 var property = e2pdf.properties.getField(action.property, el);
3044 if (property) {
3045 if (action.property == 'value'
3046 && typeof action.format !== 'undefined'
3047 && (action.format == 'insert_before' || action.format == 'insert_after')) {
3048 property.name = e2pdf.lang.get('Value');
3049 } else if (property.type != 'checkbox') {
3050 property.name = e2pdf.lang.get('Change to');
3051 }
3052 property.key = 'actions[' + action_id + '][change]';
3053 if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
3054 property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
3055 }
3056 if (jQuery.inArray('readonly', property.atts) === -1) {
3057 if (property.type === 'select') {
3058 for (var key in property.options) {
3059 if (Object.keys(property.options[key])[0] == value) {
3060 property.value = value;
3061 break;
3062 }
3063 }
3064 } else if (jQuery.inArray('number', property.atts) !== -1) {
3065 if (value === '') {
3066 property.value = 0;
3067 } else {
3068 property.value = value;
3069 }
3070 } else {
3071 property.value = value;
3072 }
3073 }
3074 obj = property;
3075 }
3076 }
3077 break;
3078 case 'apply':
3079 var value = action ? action.apply : 'any';
3080 obj = {
3081 'name': e2pdf.lang.get('Apply If'),
3082 'key': 'actions[' + action_id + '][apply]',
3083 'type': 'select',
3084 'value': value,
3085 'options': [
3086 {'any': e2pdf.lang.get('Any')},
3087 {'all': e2pdf.lang.get('All')}
3088 ],
3089 'atts': []
3090 };
3091 break;
3092 }
3093 return obj;
3094 },
3095 // e2pdf.actions.getFields
3096 getFields: function (el, action_id, action) {
3097 var obj = {
3098 'action': {
3099 'fields': [
3100 e2pdf.actions.getField('order', el, action_id, action),
3101 e2pdf.actions.getField('action', el, action_id, action),
3102 e2pdf.actions.getField('property', el, action_id, action),
3103 e2pdf.actions.getField('apply', el, action_id, action)
3104 ],
3105 'classes': [
3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
3107 el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w50 e2pdf-pr5 e2pdf-action-action' : 'e2pdf-w35 e2pdf-pr5 e2pdf-action-action',
3108 el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w25 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property' : 'e2pdf-w40 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
3109 'e2pdf-w15 e2pdf-pl5'
3110 ]
3111 }
3112 };
3113 if (
3114 action
3115 && typeof action.action !== 'undefined'
3116 && action.action === 'change'
3117 && typeof action.property !== 'undefined'
3118 && action.property !== ''
3119 ) {
3120 if (action.property == 'value' && typeof action.format !== 'undefined' && action.format == 'search') {
3121 obj.action.fields.push(e2pdf.actions.getField('pre_replace', el, action_id, action));
3122 obj.action.classes.push('e2pdf-w100');
3123 obj.action.fields.push(e2pdf.actions.getField('search', el, action_id, action));
3124 obj.action.classes.push('e2pdf-w100');
3125 }
3126
3127 obj.action.fields.push(e2pdf.actions.getField('change', el, action_id, action));
3128 obj.action.classes.push('e2pdf-w100 e2pdf-action-change');
3129 if (action.property == 'value') {
3130 obj.action.fields.push(e2pdf.actions.getField('format', el, action_id, action));
3131 obj.action.classes.push('e2pdf-w100 e2pdf-action-format');
3132 }
3133 }
3134
3135 if (action && action.action == 'show') {
3136 obj.action.fields.push(e2pdf.actions.getField('else', el, action_id, action));
3137 obj.action.classes.push('e2pdf-w100');
3138 }
3139
3140 if (el.data('data-type') == 'e2pdf-tpl') {
3141 if (!action || (action && (action.action == 'access_by_url' || action.action == 'restrict_access_by_url'))) {
3142 obj.action.fields.push(e2pdf.actions.getField('error_message', el, action_id, action));
3143 obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3144 } else if (action && action.action == 'redirect_access_by_url') {
3145 obj.action.fields.push(e2pdf.actions.getField('redirect_url', el, action_id, action));
3146 obj.action.classes.push('e2pdf-w100 e2pdf-action-redirect-url');
3147 obj.action.fields.push(e2pdf.actions.getField('redirect_error_message', el, action_id, action));
3148 obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3149 }
3150 }
3151
3152 return obj;
3153 },
3154 // e2pdf.actions.renderField
3155 renderField: function (el, action_id, action) {
3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
3157 if (action) {
3158 // backward compatibility for Merge option
3159 if (typeof action.action !== 'undefined' && action.action == 'merge') {
3160 action.action = 'change';
3161 action.format = 'insert_after';
3162 }
3163 for (var condition in action.conditions) {
3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
3165 }
3166 } else {
3167 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
3168 }
3169
3170 var groups = e2pdf.actions.getFields(el, action_id, action);
3171 if (groups) {
3172 for (var group_key in groups) {
3173
3174 var group = groups[group_key];
3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3176 for (var field_key in group.fields) {
3177 var group_field = group.fields[field_key];
3178 var classes = '';
3179 if (group.classes) {
3180 if (group.classes[field_key]) {
3181 classes = group.classes[field_key];
3182 }
3183 }
3184
3185 var field = '';
3186 var label = '';
3187 var wrap = '';
3188 var placeholder = group_field.placeholder ? group_field.placeholder : '';
3189 if (group_field.type === 'text') {
3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3191 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3192 } else if (group_field.type === 'hidden') {
3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3194 } else if (group_field.type === 'textarea') {
3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3196 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
3197 } else if (group_field.type === 'checkbox') {
3198 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3200 if (group_field.value == group_field.option) {
3201 field.prop('checked', true);
3202 }
3203 } else if (group_field.type === 'color') {
3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3206 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3207 } else if (group_field.type === 'select') {
3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3210 for (var option_key in group_field.options) {
3211 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3212 }
3213 field.val(group_field.value);
3214 }
3215
3216 for (var att_key in group_field.atts) {
3217 var att = group_field.atts[att_key];
3218 switch (att) {
3219 case 'readonly':
3220 field.attr('readonly', 'readonly');
3221 break;
3222 case 'number':
3223 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
3224 break;
3225 case 'autocomplete':
3226 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3227 field.addClass('e2pdf-autocomplete-cl');
3228 field.autocomplete({
3229 source: group_field.source,
3230 minLength: 0,
3231 appendTo: wrap,
3232 open: function () {
3233 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3234 },
3235 classes: {
3236 "ui-autocomplete": "e2pdf-autocomplete"
3237 }
3238 });
3239 break;
3240 }
3241 }
3242
3243 if (!wrap) {
3244 wrap = field;
3245 } else {
3246 wrap.prepend(field);
3247 }
3248
3249 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
3250 }
3251 }
3252 }
3253
3254 var new_action = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-rel e2pdf-w100 e2pdf-action', 'data-action_id': action_id}).append(
3255 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
3256 jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
3257 ),
3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
3260 ),
3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
3262 grid
3263 ),
3264 conditions
3265 );
3266 return new_action;
3267 },
3268 // e2pdf.actions.renderFields
3269 renderFields: function (el) {
3270
3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
3272 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
3273 );
3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
3276 var actions = e2pdf.actions.get(el);
3277 for (var action in actions) {
3278 // Backward compatiability Show Element / Page
3279 if (actions[action].action == 'show') {
3280 if (typeof actions[action].else === 'undefined') {
3281 actions[action].else = '';
3282 }
3283 }
3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
3285 }
3286
3287 block.append(action_wrapper, add_action);
3288 return block;
3289 }
3290 },
3291 // e2pdf.properties
3292 properties: {
3293 // e2pdf.properties.getLink
3294 getLink: function (title, href, classes, collapse) {
3295 obj = {
3296 'name': title,
3297 'key': 'link',
3298 'type': 'link',
3299 'value': href,
3300 'classes': classes,
3301 'collapse': collapse,
3302 'atts': [
3303 'readonly',
3304 'collapse'
3305 ]
3306 };
3307 return obj;
3308 },
3309 // e2pdf.properties.getField
3310 getField: function (field, el) {
3311
3312 var obj = false;
3313 var properties = e2pdf.properties.get(el);
3314 var children = e2pdf.element.children(el);
3315 switch (field) {
3316 case 'page_id':
3317 obj = {
3318 'name': e2pdf.lang.get('Page ID'),
3319 'type': 'text',
3320 'value': el.data('data-type') === 'e2pdf-page' ? e2pdf.helper.getInt(el.attr('data-page_id')) : e2pdf.helper.getInt(el.closest('.e2pdf-page').attr('data-page_id')),
3321 'atts': [
3322 'readonly',
3323 'number'
3324 ]
3325 };
3326 if (el.data('data-type') !== 'e2pdf-page') {
3327 obj.atts.push('editable');
3328 }
3329 break;
3330 case 'element_id':
3331 obj = {
3332 'name': 'ID',
3333 'type': 'text',
3334 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 'atts': ['readonly']
3336 };
3337 break;
3338 case 'element_type':
3339 obj = {
3340 'name': e2pdf.lang.get('Type'),
3341 'type': 'text',
3342 'value': el.data('data-type'),
3343 'atts': ['readonly']
3344 };
3345 break;
3346 case 'width':
3347 obj = {
3348 'name': e2pdf.lang.get('Width'),
3349 'type': 'text',
3350 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 'atts': ['number']
3352 };
3353 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 obj.atts.push('readonly');
3355 }
3356 break;
3357 case 'height':
3358 obj = {
3359 'name': e2pdf.lang.get('Height'),
3360 'type': 'text',
3361 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 'atts': ['number']
3363 };
3364 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 obj.atts.push('readonly');
3366 }
3367 break;
3368 case 'top':
3369 obj = {
3370 'name': e2pdf.lang.get('Position Top'),
3371 'type': 'text',
3372 'value': e2pdf.helper.getFloat(el.css('top')),
3373 'atts': ['number', 'keep']
3374 };
3375 break;
3376 case 'left':
3377 obj = {
3378 'name': e2pdf.lang.get('Position Left'),
3379 'type': 'text',
3380 'value': e2pdf.helper.getFloat(el.css('left')),
3381 'atts': ['number', 'keep']
3382 };
3383 break;
3384 case 'name':
3385 obj = {
3386 'name': e2pdf.lang.get('Field Name'),
3387 'type': 'text',
3388 'value': e2pdf.helper.getString(properties[field])
3389 };
3390 break;
3391 case 'field_name':
3392 obj = {
3393 'name': e2pdf.lang.get('As Field Name'),
3394 'type': 'checkbox',
3395 'value': e2pdf.helper.getCheckbox(properties[field]),
3396 'option': '1'
3397 };
3398 break;
3399 case 'dynamic_height':
3400 obj = {
3401 'name': e2pdf.lang.get('Dynamic Height'),
3402 'type': 'checkbox',
3403 'value': e2pdf.helper.getCheckbox(properties[field]),
3404 'option': '1'
3405 };
3406 break;
3407 case 'multipage':
3408 obj = {
3409 'name': e2pdf.lang.get('Multipage'),
3410 'type': 'checkbox',
3411 'value': e2pdf.helper.getCheckbox(properties[field]),
3412 'option': '1'
3413 };
3414 break;
3415 case 'hide_if_empty':
3416 obj = {
3417 'name': e2pdf.lang.get('Hide (If Empty)'),
3418 'type': 'checkbox',
3419 'value': e2pdf.helper.getCheckbox(properties[field]),
3420 'option': '1'
3421 };
3422 break;
3423 case 'hide_page_if_empty':
3424 obj = {
3425 'name': e2pdf.lang.get('Hide Page (If Empty)'),
3426 'type': 'checkbox',
3427 'value': e2pdf.helper.getCheckbox(properties[field]),
3428 'option': '1'
3429 };
3430 break;
3431 case 'nl2br':
3432 obj = {
3433 'name': e2pdf.lang.get('New Lines to BR'),
3434 'type': 'checkbox',
3435 'value': e2pdf.helper.getCheckbox(properties[field]),
3436 'option': '1'
3437 };
3438 break;
3439 case 'preload_img':
3440 obj = {
3441 'name': e2pdf.lang.get('Preload Images'),
3442 'type': 'checkbox',
3443 'value': e2pdf.helper.getCheckbox(properties[field]),
3444 'option': '1'
3445 };
3446 break;
3447 case 'text_color':
3448 obj = {
3449 'name': e2pdf.lang.get('Font Color'),
3450 'type': 'color',
3451 'value': e2pdf.helper.getString(properties[field])
3452 };
3453 break;
3454 case 'color':
3455 obj = {
3456 'name': e2pdf.lang.get('Color'),
3457 'type': 'color',
3458 'value': e2pdf.helper.getString(properties[field])
3459 };
3460 break;
3461 case 'text_type':
3462 obj = {
3463 'name': e2pdf.lang.get('Type'),
3464 'type': 'select',
3465 'value': e2pdf.helper.getString(properties[field], 'check'),
3466 'options': [
3467 {'check': 'Check'},
3468 {'circle': 'Circle'},
3469 {'cross': 'Cross'},
3470 {'diamond': 'Diamond'},
3471 {'square': 'Square'},
3472 {'star': 'Star'}
3473 ]
3474 };
3475 break;
3476 case 'text_font':
3477 obj = {
3478 'name': e2pdf.lang.get('Font'),
3479 'type': 'select',
3480 'value': e2pdf.helper.getString(properties[field]),
3481 'options': e2pdf.helper.font.fonts(field)
3482 };
3483 break;
3484 case 'text_auto_font_size':
3485 if ((el.data('data-type') == 'e2pdf-textarea' || el.data('data-type') == 'e2pdf-input' || el.data('data-type') == 'e2pdf-select') && e2pdf.helper.getString(properties['text_font_size']) == '-1') {
3486 var value = '1';
3487 } else {
3488 var value = e2pdf.helper.getCheckbox(properties[field]);
3489 }
3490 obj = {
3491 'name': e2pdf.lang.get('Auto Font Size'),
3492 'type': 'checkbox',
3493 'value': value,
3494 'option': '1'
3495 };
3496 break;
3497 case 'text_font_size':
3498 obj = {
3499 'name': e2pdf.lang.get('Font Size'),
3500 'type': 'select',
3501 'value': e2pdf.helper.getString(properties[field]),
3502 'options': e2pdf.helper.font.sizes(field, properties)
3503 };
3504 break;
3505 case 'text_line_height':
3506 obj = {
3507 'name': e2pdf.lang.get('Line Height'),
3508 'type': 'select',
3509 'value': e2pdf.helper.getString(properties[field]),
3510 'options': e2pdf.helper.font.lines(field)
3511 };
3512 break;
3513 case 'text_letter_spacing':
3514 obj = {
3515 'name': e2pdf.lang.get('Char Spacing'),
3516 'type': 'text',
3517 'value': e2pdf.helper.getFloat(properties[field]),
3518 'atts': ['number']
3519 };
3520 break;
3521 case 'z_index':
3522 obj = {
3523 'name': 'Z-index',
3524 'type': 'text',
3525 'value': e2pdf.helper.getInt(properties[field]),
3526 'atts': ['number', 'number-negative']
3527 };
3528 break;
3529 case 'background':
3530 obj = {
3531 'name': e2pdf.lang.get('Background'),
3532 'key': 'background',
3533 'type': 'color',
3534 'value': e2pdf.helper.getString(properties[field])
3535 };
3536 break;
3537 case 'border':
3538 obj = {
3539 'name': e2pdf.lang.get('Border'),
3540 'type': 'text',
3541 'value': e2pdf.helper.getInt(properties[field]),
3542 'atts': ['number']
3543 };
3544 break;
3545 case 'border_top':
3546 obj = {
3547 'name': e2pdf.lang.get('Border Top'),
3548 'type': 'text',
3549 'value': e2pdf.helper.getInt(properties[field]),
3550 'atts': ['number']
3551 };
3552 break;
3553 case 'border_left':
3554 obj = {
3555 'name': e2pdf.lang.get('Border Left'),
3556 'type': 'text',
3557 'value': e2pdf.helper.getInt(properties[field]),
3558 'atts': ['number']
3559 };
3560 break;
3561 case 'border_right':
3562 obj = {
3563 'name': e2pdf.lang.get('Border Right'),
3564 'type': 'text',
3565 'value': e2pdf.helper.getInt(properties[field]),
3566 'atts': ['number']
3567 };
3568 break;
3569 case 'border_bottom':
3570 obj = {
3571 'name': e2pdf.lang.get('Border Bottom'),
3572 'type': 'text',
3573 'value': e2pdf.helper.getInt(properties[field]),
3574 'atts': ['number']
3575 };
3576 break;
3577 case 'border_radius':
3578 obj = {
3579 'name': e2pdf.lang.get('Border Radius'),
3580 'type': 'text',
3581 'value': e2pdf.helper.getInt(properties[field]),
3582 'atts': ['number']
3583 };
3584 break;
3585 case 'border_color':
3586 obj = {
3587 'name': e2pdf.lang.get('Border Color'),
3588 'type': 'color',
3589 'value': e2pdf.helper.getString(properties[field], '#000000'),
3590 };
3591 break;
3592 case 'padding_top':
3593 obj = {
3594 'name': e2pdf.lang.get('Padding Top'),
3595 'type': 'text',
3596 'value': e2pdf.helper.getInt(properties[field]),
3597 'atts': ['number']
3598 };
3599 break;
3600 case 'padding_left':
3601 obj = {
3602 'name': e2pdf.lang.get('Padding Left'),
3603 'type': 'text',
3604 'value': e2pdf.helper.getInt(properties[field]),
3605 'atts': ['number']
3606 };
3607 break;
3608 case 'padding_right':
3609 obj = {
3610 'name': e2pdf.lang.get('Padding Right'),
3611 'type': 'text',
3612 'value': e2pdf.helper.getInt(properties[field]),
3613 'atts': ['number']
3614 };
3615 break;
3616 case 'padding_bottom':
3617 obj = {
3618 'name': e2pdf.lang.get('Padding Bottom'),
3619 'type': 'text',
3620 'value': e2pdf.helper.getInt(properties[field]),
3621 'atts': ['number']
3622 };
3623 break;
3624 case 'margin_top':
3625 obj = {
3626 'name': e2pdf.lang.get('Margin Top'),
3627 'type': 'text',
3628 'value': e2pdf.helper.getInt(properties[field]),
3629 'atts': ['number']
3630 };
3631 if (el.data('data-type') == 'e2pdf-barcode') {
3632 obj.atts.push('keep');
3633 }
3634 break;
3635 case 'margin_left':
3636 obj = {
3637 'name': e2pdf.lang.get('Margin Left'),
3638 'type': 'text',
3639 'value': e2pdf.helper.getInt(properties[field]),
3640 'atts': ['number']
3641 };
3642 if (el.data('data-type') == 'e2pdf-barcode') {
3643 obj.atts.push('keep');
3644 }
3645 break;
3646 case 'margin_right':
3647 obj = {
3648 'name': e2pdf.lang.get('Margin Right'),
3649 'type': 'text',
3650 'value': e2pdf.helper.getInt(properties[field]),
3651 'atts': ['number']
3652 };
3653 if (el.data('data-type') == 'e2pdf-barcode') {
3654 obj.atts.push('keep');
3655 }
3656 break;
3657 case 'margin_bottom':
3658 obj = {
3659 'name': e2pdf.lang.get('Margin Bottom'),
3660 'type': 'text',
3661 'value': e2pdf.helper.getInt(properties[field]),
3662 'atts': ['number']
3663 };
3664 if (el.data('data-type') == 'e2pdf-barcode') {
3665 obj.atts.push('keep');
3666 }
3667 break;
3668 case 'length':
3669 obj = {
3670 'name': e2pdf.lang.get('Length'),
3671 'type': 'text',
3672 'value': e2pdf.helper.getInt(properties[field]),
3673 'atts': ['number']
3674 };
3675 break;
3676 case 'comb':
3677 obj = {
3678 'name': e2pdf.lang.get('Comb'),
3679 'type': 'checkbox',
3680 'value': e2pdf.helper.getCheckbox(properties[field]),
3681 'option': '1'
3682 };
3683 break;
3684 case 'rtl':
3685 obj = {
3686 'name': e2pdf.lang.get('Direction'),
3687 'type': 'select',
3688 'value': e2pdf.helper.getString(properties[field]),
3689 'options':
3690 [
3691 {'': '-'},
3692 {'0': 'LTR'},
3693 {'1': 'RTL'}
3694 ]
3695 };
3696 break;
3697 case 'required':
3698 obj = {
3699 'name': e2pdf.lang.get('Required'),
3700 'type': 'checkbox',
3701 'value': e2pdf.helper.getCheckbox(properties[field]),
3702 'option': '1'
3703 };
3704 break;
3705 case 'readonly':
3706 obj = {
3707 'name': e2pdf.lang.get('Read-Only'),
3708 'type': 'checkbox',
3709 'value': e2pdf.helper.getCheckbox(properties[field]),
3710 'option': '1'
3711 };
3712 break;
3713 case 'pass':
3714 obj = {
3715 'name': e2pdf.lang.get('Password'),
3716 'type': 'checkbox',
3717 'value': e2pdf.helper.getCheckbox(properties[field]),
3718 'option': '1'
3719 };
3720 break;
3721 case 'multiline':
3722 obj = {
3723 'name': e2pdf.lang.get('Multiline'),
3724 'type': 'checkbox',
3725 'value': e2pdf.helper.getCheckbox(properties[field]),
3726 'option': '1'
3727 };
3728 break;
3729 case 'dimension':
3730 obj = {
3731 'name': e2pdf.lang.get('Keep Image Ratio'),
3732 'type': 'checkbox',
3733 'value': e2pdf.helper.getCheckbox(properties[field]),
3734 'option': '1'
3735 };
3736 break;
3737 case 'block_dimension':
3738 obj = {
3739 'name': e2pdf.lang.get('Lock Aspect Ratio'),
3740 'type': 'checkbox',
3741 'value': e2pdf.helper.getCheckbox(properties[field]),
3742 'option': '1',
3743 'atts': []
3744 };
3745 if (el.data('data-type') === 'e2pdf-image') {
3746 obj.atts.push('keep');
3747 }
3748 break;
3749 case 'keep_lower_size':
3750 obj = {
3751 'name': e2pdf.lang.get('Keep Lower Size'),
3752 'type': 'checkbox',
3753 'value': e2pdf.helper.getCheckbox(properties[field]),
3754 'option': '1'
3755 };
3756 break;
3757 case 'fill_image':
3758 obj = {
3759 'name': e2pdf.lang.get('Fill Image'),
3760 'type': 'checkbox',
3761 'value': e2pdf.helper.getCheckbox(properties[field]),
3762 'option': '1'
3763 };
3764 break;
3765 case 'pdf_page':
3766 obj = {
3767 'name': e2pdf.lang.get('Page'),
3768 'type': 'text',
3769 'value': e2pdf.helper.getInt(properties[field]),
3770 'atts': ['number']
3771 };
3772 break;
3773 case 'pdf_resample':
3774 var value = e2pdf.helper.getString(properties[field], '-1');
3775 if (value == '100') {
3776 value = '150';
3777 }
3778 obj = {
3779 'name': e2pdf.lang.get('Resolution'),
3780 'type': 'select',
3781 'value': value,
3782 'options':
3783 [
3784 {'-1': e2pdf.lang.get('Auto')},
3785 {'72': '72dpi'},
3786 {'125': '90dpi'},
3787 {'150': '108dpi'},
3788 {'175': '126dpi'},
3789 {'200': '144dpi'}
3790 ]
3791 };
3792 break;
3793 case 'pdf_append':
3794 obj = {
3795 'name': e2pdf.lang.get('Append'),
3796 'type': 'select',
3797 'value': e2pdf.helper.getString(properties[field], 'vertical'),
3798 'options':
3799 [
3800 {'vertical': e2pdf.lang.get('Vertical')},
3801 {'horizontal': e2pdf.lang.get('Horizontal')},
3802 {'grid': e2pdf.lang.get('Grid')}
3803 ]
3804 };
3805 break;
3806 case 'pdf_space':
3807 obj = {
3808 'name': e2pdf.lang.get('Space'),
3809 'type': 'text',
3810 'value': e2pdf.helper.getInt(properties[field]),
3811 'atts': ['number']
3812 };
3813 break;
3814 case 'pdf_border':
3815 obj = {
3816 'name': e2pdf.lang.get('Border'),
3817 'type': 'text',
3818 'value': e2pdf.helper.getInt(properties[field]),
3819 'atts': ['number']
3820 };
3821 break;
3822 case 'hl':
3823 obj = {
3824 'name': e2pdf.lang.get('Hide Label'),
3825 'type': 'checkbox',
3826 'value': e2pdf.helper.getCheckbox(properties[field]),
3827 'option': '1'
3828 };
3829 break;
3830 case 'only_image':
3831 obj = {
3832 'name': e2pdf.lang.get('Disable Text to Image'),
3833 'type': 'checkbox',
3834 'value': e2pdf.helper.getCheckbox(properties[field]),
3835 'option': '1'
3836 };
3837 break;
3838 case 'esig':
3839 obj = {
3840 'name': e2pdf.lang.get('E-Signature'),
3841 'type': 'checkbox',
3842 'value': e2pdf.helper.getCheckbox(properties[field]),
3843 'option': '1'
3844 };
3845 break;
3846 case 'esig_contact':
3847 obj = {
3848 'name': e2pdf.lang.get('Contact'),
3849 'type': 'text',
3850 'value': e2pdf.helper.getString(properties[field])
3851 };
3852 break;
3853 case 'esig_location':
3854 obj = {
3855 'name': e2pdf.lang.get('Location'),
3856 'type': 'text',
3857 'value': e2pdf.helper.getString(properties[field])
3858 };
3859 break;
3860 case 'esig_reason':
3861 obj = {
3862 'name': e2pdf.lang.get('Reason'),
3863 'type': 'text',
3864 'value': e2pdf.helper.getString(properties[field])
3865 };
3866 break;
3867 case 'placeholder':
3868 obj = {
3869 'name': e2pdf.lang.get('Placeholder'),
3870 'type': 'text',
3871 'value': e2pdf.helper.getString(properties[field])
3872 };
3873 break;
3874 case 'horizontal':
3875 obj = {
3876 'name': e2pdf.lang.get('Horizontal Align'),
3877 'type': 'select',
3878 'value': e2pdf.helper.getString(properties[field], 'left'),
3879 'options':
3880 [
3881 {'left': e2pdf.lang.get('Left')},
3882 {'center': e2pdf.lang.get('Center')},
3883 {'right': e2pdf.lang.get('Right')}
3884 ]
3885 };
3886 break;
3887 case 'vertical':
3888 obj = {
3889 'name': e2pdf.lang.get('Vertical Align'),
3890 'type': 'select',
3891 'value': e2pdf.helper.getString(properties[field], 'top'),
3892 'options':
3893 [
3894 {'top': e2pdf.lang.get('Top')},
3895 {'middle': e2pdf.lang.get('Middle')},
3896 {'bottom': e2pdf.lang.get('Bottom')}
3897 ]
3898 };
3899 break;
3900 case 'scale':
3901 obj = {
3902 'name': e2pdf.lang.get('Scale'),
3903 'type': 'select',
3904 'value': e2pdf.helper.getString(properties[field], '0'),
3905 'options':
3906 [
3907 {'0': e2pdf.lang.get('Auto')},
3908 {'1': e2pdf.lang.get('Width&Height')},
3909 {'2': e2pdf.lang.get('Width')},
3910 {'3': e2pdf.lang.get('Height')}
3911 ]
3912 ,
3913 'atts': ['scale']
3914 };
3915 break;
3916 case 'text_align':
3917 obj = {
3918 'name': e2pdf.lang.get('Text Align'),
3919 'type': 'select',
3920 'value': e2pdf.helper.getString(properties[field]),
3921 'options':
3922 [
3923 {'': '-'},
3924 {'left': e2pdf.lang.get('Left')},
3925 {'center': e2pdf.lang.get('Center')},
3926 {'right': e2pdf.lang.get('Right')}
3927 ]
3928 };
3929 if (el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
3930 obj.options.push(
3931 {'justify': e2pdf.lang.get('Justify')},
3932 {'justify-all': e2pdf.lang.get('Justify All')}
3933 );
3934 }
3935 break;
3936 case 'page_number':
3937 obj = {
3938 'name': e2pdf.lang.get('Adjust Page Number'),
3939 'type': 'text',
3940 'value': e2pdf.helper.getInt(properties[field]),
3941 'atts': ['number', 'number-negative']
3942 };
3943 break;
3944 case 'page_total':
3945 obj = {
3946 'name': e2pdf.lang.get('Adjust Page Total'),
3947 'type': 'text',
3948 'value': e2pdf.helper.getInt(properties[field]),
3949 'atts': ['number', 'number-negative']
3950 };
3951 break;
3952 case 'precision':
3953 obj = {
3954 'name': e2pdf.lang.get('Precision'),
3955 'type': 'select',
3956 'value': e2pdf.helper.getString(properties[field], 'qrl'),
3957 'options':
3958 [
3959 {'qrl': e2pdf.lang.get('L - Smallest')},
3960 {'qrm': e2pdf.lang.get('M - Medium')},
3961 {'qrq': e2pdf.lang.get('Q - High')},
3962 {'qrh': e2pdf.lang.get('H - Best')}
3963 ]
3964 };
3965 break;
3966 case 'wq':
3967 obj = {
3968 'name': e2pdf.lang.get('Quiet Zone Size'),
3969 'type': 'text',
3970 'value': e2pdf.helper.getInt(properties[field]),
3971 'atts': ['number', 'keep']
3972 };
3973 break;
3974 case 'format':
3975 obj = {
3976 'name': e2pdf.lang.get('Format'),
3977 'type': 'select',
3978 'value': e2pdf.helper.getString(properties[field], 'upc-a'),
3979 'options':
3980 [
3981 {'upc-a': 'UPC-A'},
3982 {'upc-e': 'UPC-E'},
3983 {'ean-8': 'EAN-8'},
3984 {'ean-13': 'EAN-13'},
3985 {'ean-13-pad': 'EAN-13 PAD'},
3986 {'ean-13-nopad': 'EAN-13 NOPAD'},
3987 {'ean-128': 'EAN-128'},
3988 {'code-39': 'CODE-39'},
3989 {'code-39-ascii': 'CODE-39 ASCII'},
3990 {'code-93': 'CODE-93'},
3991 {'code-93-ascii': 'CODE-93 ASCII'},
3992 {'code-128': 'CODE-128'},
3993 {'codabar': 'CODEBAR'},
3994 {'itf': 'ITF'},
3995 {'dmtx': 'DMTX'},
3996 {'dmtx-s': 'DMTX S'},
3997 {'dmtx-r': 'DMTX R'},
3998 {'gs1-dmtx': 'GS1 DMTX'},
3999 {'gs1-dmtx-s': 'GS1 DMTX S'},
4000 {'gs1-dmtx-r': 'GS1 DMTX R'}
4001 ]
4002 };
4003 break;
4004 case 'rotation':
4005 obj = {
4006 'name': e2pdf.lang.get('Rotation'),
4007 'type': 'select',
4008 'value': e2pdf.helper.getString(properties[field], '0'),
4009 'options':
4010 [
4011 {'0': '0'},
4012 {'90': '90'},
4013 {'180': '180'},
4014 {'270': '270'}
4015 ]
4016 };
4017 break;
4018 case 'quality':
4019 obj = {
4020 'name': e2pdf.lang.get('Optimization'),
4021 'type': 'select',
4022 'value': e2pdf.helper.getInt(properties[field], '0'),
4023 'options':
4024 [
4025 {'0': e2pdf.lang.get('Inherit')},
4026 {'-1': e2pdf.lang.get('Not Optimized')},
4027 {'1': e2pdf.lang.get('Low Quality')},
4028 {'2': e2pdf.lang.get('Basic Quality')},
4029 {'3': e2pdf.lang.get('Good Quality')},
4030 {'4': e2pdf.lang.get('Best Quality')},
4031 {'5': e2pdf.lang.get('Ultra Quality')},
4032 ]
4033 };
4034 break;
4035 case 'opacity':
4036 obj = {
4037 'name': e2pdf.lang.get('Opacity'),
4038 'type': 'text',
4039 'value': e2pdf.helper.getFloat(properties[field]),
4040 'atts': ['number', 'keep']
4041 };
4042 break;
4043 case 'parent':
4044 var options = [
4045 {'': e2pdf.lang.get('--- Select ---')}
4046 ];
4047 if (el.data('data-type') === 'e2pdf-html') {
4048 jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
4049 if (!jQuery(this).is(children)) {
4050 var parent = jQuery(this).parent().attr('data-element_id');
4051 options.push({[parent]: parent});
4052 }
4053 });
4054 }
4055 options.sort(function (a, b) {
4056 return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
4057 });
4058 obj = {
4059 'name': e2pdf.lang.get('Parent'),
4060 'type': 'select',
4061 'value': e2pdf.helper.getString(properties[field]),
4062 'options': options
4063 };
4064 break;
4065 case 'group':
4066 var source = [];
4067 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
4068 if (!jQuery(this).is(children)) {
4069 var radio = jQuery(this).parent();
4070 var group = e2pdf.properties.getValue(radio, 'group', 'string');
4071 if (source.indexOf(group) === -1) {
4072 source.push(group);
4073 }
4074 }
4075 });
4076 obj = {
4077 'name': e2pdf.lang.get('Group'),
4078 'type': 'text',
4079 'value': e2pdf.helper.getString(properties[field]),
4080 'source': source,
4081 'atts': ['autocomplete']
4082 };
4083 break;
4084 case 'option':
4085 obj = {
4086 'name': e2pdf.lang.get('Option'),
4087 'type': 'textarea',
4088 'value': e2pdf.helper.getString(properties[field])
4089 };
4090 break;
4091 case 'options':
4092 obj = {
4093 'name': e2pdf.lang.get('Options'),
4094 'type': 'textarea',
4095 'value': e2pdf.helper.getString(properties[field])
4096 };
4097 break;
4098 case 'value':
4099 if (el.data('data-type') === 'e2pdf-html') {
4100 if (children.is('textarea')) {
4101 var value = children.val();
4102 } else {
4103 var value = children.html();
4104 }
4105 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
4106 var value = children.val();
4107 } else {
4108 var value = properties.hasOwnProperty('value') ? properties['value'] : '';
4109 }
4110 var name = e2pdf.lang.get('Value');
4111 if (el.data('data-type') === 'e2pdf-image') {
4112 name = e2pdf.lang.get('Image');
4113 } else if (el.data('data-type') === 'e2pdf-link') {
4114 name = e2pdf.lang.get('Link URL');
4115 }
4116 obj = {
4117 'name': name,
4118 'type': 'textarea',
4119 'value': value
4120 };
4121 break;
4122 case 'css':
4123 obj = {
4124 'name': 'CSS',
4125 'type': 'textarea',
4126 'value': e2pdf.helper.getString(properties[field])
4127 };
4128 break;
4129 case 'preset':
4130 var options = [];
4131 var option = {
4132 '': e2pdf.lang.get('--- Select ---')
4133 };
4134 options.push(option);
4135 for (var size in e2pdf_params['template_sizes']) {
4136 var option = {};
4137 option[size] = size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')';
4138 options.push(option);
4139 }
4140 obj = {
4141 'name': e2pdf.lang.get('Size'),
4142 'type': 'select',
4143 'value': '',
4144 'options': options,
4145 'atts': [
4146 'uneditable'
4147 ]
4148 };
4149 if (e2pdf.pdf.settings.get('pdf')) {
4150 obj.atts.push('disabled');
4151 }
4152 break;
4153 case 'highlight':
4154 obj = {
4155 'name': e2pdf.lang.get('Highlight'),
4156 'type': 'select',
4157 'value': e2pdf.helper.getString(properties[field], 'none'),
4158 'options': [
4159 {'none': e2pdf.lang.get('None')},
4160 {'invert': e2pdf.lang.get('Invert')},
4161 {'outline': e2pdf.lang.get('Outline')},
4162 {'push': e2pdf.lang.get('Push')}
4163 ]
4164 };
4165 break;
4166 case 'link_url':
4167 obj = {
4168 'name': e2pdf.lang.get('Link URL'),
4169 'type': 'text',
4170 'value': e2pdf.helper.getString(properties[field], ''),
4171 };
4172 break;
4173 case 'link_type':
4174 obj = {
4175 'name': e2pdf.lang.get('Link Type'),
4176 'type': 'select',
4177 'value': e2pdf.helper.getString(properties[field], ''),
4178 'options': [
4179 {'': e2pdf.lang.get('Url')},
4180 {'attachment': e2pdf.lang.get('Attachment')},
4181 ]
4182 };
4183 break;
4184 case 'link_label':
4185 obj = {
4186 'name': e2pdf.lang.get('Link Label'),
4187 'type': 'text',
4188 'value': e2pdf.helper.getString(properties[field], ''),
4189 };
4190 break;
4191 case 'underline':
4192 obj = {
4193 'name': e2pdf.lang.get('Underline'),
4194 'type': 'checkbox',
4195 'value': e2pdf.helper.getCheckbox(properties[field]),
4196 'option': '1'
4197 };
4198 break;
4199 case 'underline':
4200 obj = {
4201 'name': e2pdf.lang.get('Underline'),
4202 'type': 'checkbox',
4203 'value': e2pdf.helper.getCheckbox(properties[field]),
4204 'option': '1'
4205 };
4206 break;
4207 case 'preg_pattern':
4208 obj = {
4209 'name': e2pdf.lang.get('Preg Replace Pattern'),
4210 'type': 'text',
4211 'value': e2pdf.helper.getString(properties[field])
4212 };
4213 break;
4214 case 'preg_replacement':
4215 obj = {
4216 'name': e2pdf.lang.get('Preg Replace Replacement'),
4217 'type': 'text',
4218 'value': e2pdf.helper.getString(properties[field])
4219 };
4220 break;
4221 case 'preg_match_all_pattern':
4222 obj = {
4223 'name': e2pdf.lang.get('Preg Match All Pattern'),
4224 'type': 'text',
4225 'value': e2pdf.helper.getString(properties[field])
4226 };
4227 break;
4228 case 'preg_match_all_output':
4229 obj = {
4230 'name': e2pdf.lang.get('Preg Match All Output'),
4231 'type': 'text',
4232 'value': e2pdf.helper.getString(properties[field])
4233 };
4234 break;
4235 case 'css_priority':
4236 obj = {
4237 'name': e2pdf.lang.get('CSS Priority'),
4238 'type': 'checkbox',
4239 'value': e2pdf.helper.getCheckbox(properties[field]),
4240 'option': '1'
4241 };
4242 break;
4243 case 'css_style':
4244 var options = [];
4245 var option = {
4246 '': '--- ' + e2pdf.lang.get('CSS Style') + ' ---'
4247 };
4248 options.push(option);
4249 e2pdf_params['css_styles'].forEach(function (css_style) {
4250 var option = {};
4251 option[css_style] = css_style;
4252 options.push(option);
4253 });
4254 obj = {
4255 'name': e2pdf.lang.get('CSS Style'),
4256 'type': 'select',
4257 'value': e2pdf.helper.getString(properties[field], ''),
4258 'options': options
4259 };
4260 break;
4261 case 'html_worker':
4262 obj = {
4263 'name': 'HTML Worker',
4264 'type': 'select',
4265 'value': e2pdf.helper.getString(properties[field], ''),
4266 'options': [
4267 {'': 'HTML Worker: v1'},
4268 {'1': 'HTML Worker: v2'},
4269 {'3': 'HTML Worker: v3 (BETA)'}
4270 ]
4271 };
4272 break;
4273 case 'wysiwyg_disable':
4274 obj = {
4275 'name': e2pdf.lang.get('Disable WYSIWYG Editor'),
4276 'type': 'checkbox',
4277 'value': e2pdf.helper.getCheckbox(properties[field]),
4278 'option': '1'
4279 };
4280 break;
4281 case 'g_type':
4282 obj = {
4283 'name': e2pdf.lang.get('Type'),
4284 'type': 'select',
4285 'value': e2pdf.helper.getString(properties[field], 'BarGraph'),
4286 'options':
4287 [
4288 {'BarGraph': 'BarGraph'},
4289 {'Bar3DGraph': 'Bar3DGraph'},
4290 {'BarAndLineGraph': 'BarAndLineGraph'},
4291 {'BoxAndWhiskerGraph': 'BoxAndWhiskerGraph'},
4292 {'BubbleGraph': 'BubbleGraph'},
4293 {'CylinderGraph': 'CylinderGraph'},
4294 {'CandlestickGraph': 'CandlestickGraph'},
4295 {'DonutGraph': 'DonutGraph'},
4296 {'Donut3DGraph': 'Donut3DGraph'},
4297 {'ExplodedPieGraph': 'ExplodedPieGraph'},
4298 {'ExplodedPie3DGraph': 'ExplodedPie3DGraph'},
4299 {'ExplodedDonutGraph': 'ExplodedDonutGraph'},
4300 {'ExplodedDonut3DGraph': 'ExplodedDonut3DGraph'},
4301 {'ExplodedSemiDonutGraph': 'ExplodedSemiDonutGraph'},
4302 {'ExplodedSemiDonut3DGraph': 'ExplodedSemiDonut3DGraph'},
4303 {'FloatingBarGraph': 'FloatingBarGraph'},
4304 {'GroupedBarGraph': 'GroupedBarGraph'},
4305 {'GroupedBar3DGraph': 'GroupedBar3DGraph'},
4306 {'GroupedCylinderGraph': 'GroupedCylinderGraph'},
4307 {'Histogram': 'Histogram'},
4308 {'HorizontalBarGraph': 'HorizontalBarGraph'},
4309 {'HorizontalBar3DGraph': 'HorizontalBar3DGraph'},
4310 {'HorizontalStackedBarGraph': 'HorizontalStackedBarGraph'},
4311 {'HorizontalStackedBar3DGraph': 'HorizontalStackedBar3DGraph'},
4312 {'HorizontalGroupedBarGraph': 'HorizontalGroupedBarGraph'},
4313 {'HorizontalGroupedBar3DGraph': 'HorizontalGroupedBar3DGraph'},
4314 {'HorizontalFloatingBarGraph': 'HorizontalFloatingBarGraph'},
4315 {'LineGraph': 'LineGraph'},
4316 {'MultiLineGraph': 'MultiLineGraph'},
4317 {'MultiRadarGraph': 'MultiRadarGraph'},
4318 {'MultiScatterGraph': 'MultiScatterGraph'},
4319 {'MultiSteppedLineGraph': 'MultiSteppedLineGraph'},
4320 {'ParetoChart': 'ParetoChart'},
4321 {'PieGraph': 'PieGraph'},
4322 {'Pie3DGraph': 'Pie3DGraph'},
4323 {'PolarAreaGraph': 'PolarAreaGraph'},
4324 {'PolarArea3DGraph': 'PolarArea3DGraph'},
4325 {'PopulationPyramid': 'PopulationPyramid'},
4326 {'RadarGraph': 'RadarGraph'},
4327 {'ScatterGraph': 'ScatterGraph'},
4328 {'SemiDonutGraph': 'SemiDonutGraph'},
4329 {'SemiDonut3DGraph': 'SemiDonut3DGraph'},
4330 {'SteppedLineGraph': 'SteppedLineGraph'},
4331 {'StackedBarGraph': 'StackedBarGraph'},
4332 {'StackedBar3DGraph': 'StackedBar3DGraph'},
4333 {'StackedBarAndLineGraph': 'StackedBarAndLineGraph'},
4334 {'StackedCylinderGraph': 'StackedCylinderGraph'},
4335 {'StackedLineGraph': 'StackedLineGraph'},
4336 {'StackedGroupedBarGraph': 'StackedGroupedBarGraph'},
4337 {'StackedGroupedBar3DGraph': 'StackedGroupedBar3DGraph'},
4338 {'StackedGroupedCylinderGraph': 'StackedGroupedCylinderGraph'}
4339 ]
4340 };
4341 break;
4342 case 'g_palette':
4343 obj = {
4344 'name': e2pdf.lang.get('Palette'),
4345 'type': 'color',
4346 'value': e2pdf.helper.getString(properties[field])
4347 };
4348 break;
4349 case 'g_stroke_colour':
4350 obj = {
4351 'name': e2pdf.lang.get('Line / Stroke Color'),
4352 'type': 'color',
4353 'value': e2pdf.helper.getString(properties[field])
4354 };
4355 break;
4356 case 'g_stroke_width':
4357 obj = {
4358 'name': e2pdf.lang.get('Width'),
4359 'type': 'text',
4360 'value': e2pdf.helper.getInt(properties[field]),
4361 'atts': ['number']
4362 };
4363 break;
4364 case 'g_graph_title':
4365 obj = {
4366 'name': e2pdf.lang.get('Title'),
4367 'type': 'text',
4368 'value': e2pdf.helper.getString(properties[field])
4369 };
4370 break;
4371 case 'g_graph_title_font_size':
4372 obj = {
4373 'name': e2pdf.lang.get('Font Size'),
4374 'type': 'select',
4375 'value': e2pdf.helper.getString(properties[field]),
4376 'options': e2pdf.helper.font.sizes(field)
4377 };
4378 break;
4379 case 'g_label_font_size':
4380 obj = {
4381 'name': e2pdf.lang.get('Font Size'),
4382 'type': 'select',
4383 'value': e2pdf.helper.getString(properties[field]),
4384 'options': e2pdf.helper.font.sizes(field)
4385 };
4386 break;
4387 case 'g_graph_title_space':
4388 obj = {
4389 'name': e2pdf.lang.get('Space'),
4390 'type': 'text',
4391 'value': e2pdf.helper.getInt(properties[field]),
4392 'atts': ['number']
4393 };
4394 break;
4395 case 'g_label_space':
4396 obj = {
4397 'name': e2pdf.lang.get('Space'),
4398 'type': 'text',
4399 'value': e2pdf.helper.getInt(properties[field]),
4400 'atts': ['number']
4401 };
4402 break;
4403 case 'g_graph_title_colour':
4404 obj = {
4405 'name': e2pdf.lang.get('Color'),
4406 'type': 'color',
4407 'value': e2pdf.helper.getString(properties[field])
4408 };
4409 break;
4410 case 'g_label_colour':
4411 obj = {
4412 'name': e2pdf.lang.get('Color'),
4413 'type': 'color',
4414 'value': e2pdf.helper.getString(properties[field])
4415 };
4416 break;
4417 case 'g_graph_title_position':
4418 obj = {
4419 'name': e2pdf.lang.get('Position'),
4420 'type': 'select',
4421 'value': e2pdf.helper.getString(properties[field], 'top'),
4422 'options':
4423 [
4424 {'top': e2pdf.lang.get('Top')},
4425 {'left': e2pdf.lang.get('Left')},
4426 {'right': e2pdf.lang.get('Right')},
4427 {'bottom': e2pdf.lang.get('Bottom')}
4428 ]
4429 };
4430 break;
4431 case 'g_label_v':
4432 obj = {
4433 'name': e2pdf.lang.get('Vertical Label'),
4434 'type': 'text',
4435 'value': e2pdf.helper.getString(properties[field])
4436 };
4437 break;
4438 case 'g_label_h':
4439 obj = {
4440 'name': e2pdf.lang.get('Horizontal Label'),
4441 'type': 'text',
4442 'value': e2pdf.helper.getString(properties[field])
4443 };
4444 break;
4445 case 'g_data_label_type':
4446 obj = {
4447 'name': e2pdf.lang.get('Type'),
4448 'type': 'select',
4449 'value': e2pdf.helper.getString(properties[field], 'plain'),
4450 'options':
4451 [
4452 {'plain': 'Plain'},
4453 {'box': 'Box'},
4454 {'bubble': 'Bubble'},
4455 {'line': 'Line'},
4456 {'circle': 'Circle'},
4457 {'square': 'Square'},
4458 {'linecircle': 'LineCircle'},
4459 {'linebox': 'LineBox'},
4460 {'linesquare': 'LineSquare'},
4461 {'line2': 'Line2'}
4462 ]
4463 };
4464 break;
4465 case 'g_key_sep':
4466 obj = {
4467 'name': 'Key Separator',
4468 'type': 'text',
4469 'value': properties.hasOwnProperty('g_key_sep') && properties['g_key_sep'] ? properties['g_key_sep'] : ' => '
4470 };
4471 break;
4472 case 'g_array_sep':
4473 obj = {
4474 'name': 'Array Separator',
4475 'type': 'text',
4476 'value': properties.hasOwnProperty('g_array_sep') && properties['g_array_sep'] ? properties['g_array_sep'] : ', '
4477 };
4478 break;
4479 case 'g_sub_array_sep':
4480 obj = {
4481 'name': 'Sub Array Separator',
4482 'type': 'text',
4483 'value': properties.hasOwnProperty('g_sub_array_sep') && properties['g_sub_array_sep'] ? properties['g_sub_array_sep'] : '|'
4484 };
4485 break;
4486 case 'g_structure_key':
4487 obj = {
4488 'name': 'Key',
4489 'type': 'text',
4490 'value': e2pdf.helper.getString(properties[field])
4491 };
4492 break;
4493 case 'g_structure_value':
4494 obj = {
4495 'name': 'Value',
4496 'type': 'text',
4497 'value': e2pdf.helper.getString(properties[field])
4498 };
4499 break;
4500 case 'g_structure_colour':
4501 obj = {
4502 'name': 'Color',
4503 'type': 'text',
4504 'value': e2pdf.helper.getString(properties[field])
4505 };
4506 break;
4507 case 'g_structure_axis_text':
4508 obj = {
4509 'name': 'Axis Text',
4510 'type': 'text',
4511 'value': e2pdf.helper.getString(properties[field])
4512 };
4513 break;
4514 case 'g_structure_legend_text':
4515 obj = {
4516 'name': 'Legend Text',
4517 'type': 'text',
4518 'value': e2pdf.helper.getString(properties[field])
4519 };
4520 break;
4521 case 'g_structure_label':
4522 obj = {
4523 'name': 'Label',
4524 'type': 'text',
4525 'value': e2pdf.helper.getString(properties[field])
4526 };
4527 break;
4528 case 'g_structure_area':
4529 obj = {
4530 'name': 'Area',
4531 'type': 'text',
4532 'value': e2pdf.helper.getString(properties[field])
4533 };
4534 break;
4535 case 'g_structure_open':
4536 obj = {
4537 'name': 'Open',
4538 'type': 'text',
4539 'value': e2pdf.helper.getString(properties[field])
4540 };
4541 break;
4542 case 'g_structure_end':
4543 obj = {
4544 'name': 'End',
4545 'type': 'text',
4546 'value': e2pdf.helper.getString(properties[field])
4547 };
4548 break;
4549 case 'g_structure_outliers':
4550 obj = {
4551 'name': 'Outliers',
4552 'type': 'text',
4553 'value': e2pdf.helper.getString(properties[field])
4554 };
4555 break;
4556 case 'g_structure_top':
4557 obj = {
4558 'name': 'Top',
4559 'type': 'text',
4560 'value': e2pdf.helper.getString(properties[field])
4561 };
4562 break;
4563 case 'g_structure_bottom':
4564 obj = {
4565 'name': 'Bottom',
4566 'type': 'text',
4567 'value': e2pdf.helper.getString(properties[field])
4568 };
4569 break;
4570 case 'g_structure_wtop':
4571 obj = {
4572 'name': 'Wtop',
4573 'type': 'text',
4574 'value': e2pdf.helper.getString(properties[field])
4575 };
4576 break;
4577 case 'g_structure_wbottom':
4578 obj = {
4579 'name': 'Wbottom',
4580 'type': 'text',
4581 'value': e2pdf.helper.getString(properties[field])
4582 };
4583 break;
4584 case 'g_structure_high':
4585 obj = {
4586 'name': 'High',
4587 'type': 'text',
4588 'value': e2pdf.helper.getString(properties[field])
4589 };
4590 break;
4591 case 'g_structure_low':
4592 obj = {
4593 'name': 'Low',
4594 'type': 'text',
4595 'value': e2pdf.helper.getString(properties[field])
4596 };
4597 break;
4598 case 'g_structured_data':
4599 obj = {
4600 'name': 'Structured Data',
4601 'type': 'checkbox',
4602 'value': e2pdf.helper.getCheckbox(properties[field]),
4603 'option': '1'
4604 };
4605 break;
4606 case 'g_axis_font_size':
4607 obj = {
4608 'name': e2pdf.lang.get('Font Size'),
4609 'key': 'g_axis_font_size',
4610 'type': 'select',
4611 'value': e2pdf.helper.getString(properties[field]),
4612 'options': e2pdf.helper.font.sizes(field)
4613 };
4614 break;
4615 case 'g_axis_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', 'keep']
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_show_labels':
4788 obj = {
4789 'name': e2pdf.lang.get('Labels'),
4790 'type': 'checkbox',
4791 'value': e2pdf.helper.getCheckbox(properties[field]),
4792 'option': '1',
4793 'atts': ['keep'],
4794 };
4795 break;
4796 case 'g_show_label_key':
4797 obj = {
4798 'name': e2pdf.lang.get('Key Labels'),
4799 'type': 'checkbox',
4800 'value': e2pdf.helper.getCheckbox(properties[field]),
4801 'option': '1',
4802 'atts': ['keep'],
4803 };
4804 break;
4805 case 'g_show_label_amount':
4806 obj = {
4807 'name': e2pdf.lang.get('Amount Labels'),
4808 'type': 'checkbox',
4809 'value': e2pdf.helper.getCheckbox(properties[field]),
4810 'option': '1'
4811 };
4812 break;
4813 case 'g_show_label_percent':
4814 obj = {
4815 'name': e2pdf.lang.get('Percent Labels'),
4816 'type': 'checkbox',
4817 'value': e2pdf.helper.getCheckbox(properties[field]),
4818 'option': '1'
4819 };
4820 break;
4821 case 'g_marker_type':
4822 obj = {
4823 'name': e2pdf.lang.get('Marker'),
4824 'type': 'select',
4825 'value': e2pdf.helper.getString(properties[field], 'circle'),
4826 'options':
4827 [
4828 {'circle': 'Circle'},
4829 {'square': 'Square'},
4830 {'triangle': 'Triangle'},
4831 {'cross': 'Cross'},
4832 {'x': 'X'},
4833 {'pentagon': 'Pentagon'},
4834 {'diamond': 'Diamond'},
4835 {'hexagon': 'Hexagon'},
4836 {'octagon': 'Octagon'},
4837 {'asterisk': 'Asterisk'},
4838 {'star': 'Star'},
4839 {'threestar': 'Threestar'},
4840 {'fourstar': 'Fourstar'},
4841 {'eightstar': 'Eightstar'}
4842 ]
4843 };
4844 break;
4845 case 'g_marker_colour':
4846 obj = {
4847 'name': e2pdf.lang.get('Color'),
4848 'type': 'color',
4849 'value': e2pdf.helper.getString(properties[field])
4850 };
4851 break;
4852 case 'g_marker_size':
4853 obj = {
4854 'name': e2pdf.lang.get('Size'),
4855 'type': 'text',
4856 'value': e2pdf.helper.getInt(properties[field]),
4857 'atts': ['number']
4858 };
4859 break;
4860 case 'g_marker_dynamic_colour':
4861 obj = {
4862 'name': e2pdf.lang.get('Dynamic Marker Color'),
4863 'type': 'checkbox',
4864 'value': e2pdf.helper.getCheckbox(properties[field]),
4865 'option': '1'
4866 };
4867 break;
4868 case 'g_grid_subdivision_colour':
4869 obj = {
4870 'name': e2pdf.lang.get('Grid Subdivision Color'),
4871 'type': 'color',
4872 'value': e2pdf.helper.getString(properties[field])
4873 };
4874 break;
4875 case 'g_show_subdivisions':
4876 obj = {
4877 'name': e2pdf.lang.get('Sub Divisions'),
4878 'type': 'checkbox',
4879 'value': e2pdf.helper.getCheckbox(properties[field]),
4880 'option': '1'
4881 };
4882 break;
4883 case 'g_show_grid':
4884 obj = {
4885 'name': e2pdf.lang.get('Grid'),
4886 'type': 'checkbox',
4887 'value': e2pdf.helper.getCheckbox(properties[field]),
4888 'option': '1'
4889 };
4890 break;
4891 case 'g_show_axis_v':
4892 obj = {
4893 'name': e2pdf.lang.get('Axis (V)'),
4894 'type': 'checkbox',
4895 'value': e2pdf.helper.getCheckbox(properties[field]),
4896 'option': '1'
4897 };
4898 break;
4899 case 'g_show_axis_text_v':
4900 obj = {
4901 'name': e2pdf.lang.get('Text'),
4902 'type': 'checkbox',
4903 'value': e2pdf.helper.getCheckbox(properties[field]),
4904 'option': '1'
4905 };
4906 break;
4907 case 'g_show_axis_h':
4908 obj = {
4909 'name': e2pdf.lang.get('Axis (H)'),
4910 'type': 'checkbox',
4911 'value': e2pdf.helper.getCheckbox(properties[field]),
4912 'option': '1'
4913 };
4914 break;
4915 case 'g_show_axis_text_h':
4916 obj = {
4917 'name': e2pdf.lang.get('Text'),
4918 'type': 'checkbox',
4919 'value': e2pdf.helper.getCheckbox(properties[field]),
4920 'option': '1'
4921 };
4922 break;
4923 case 'g_axis_min_h':
4924 obj = {
4925 'name': e2pdf.lang.get('Min'),
4926 'type': 'text',
4927 'value': e2pdf.helper.getInt(properties[field]),
4928 'atts': ['number', 'number-negative']
4929 };
4930 break;
4931 case 'g_axis_max_h':
4932 obj = {
4933 'name': e2pdf.lang.get('Max'),
4934 'type': 'text',
4935 'value': e2pdf.helper.getInt(properties[field]),
4936 'atts': ['number', 'number-negative']
4937 };
4938 break;
4939 case 'g_axis_min_max_h':
4940 obj = {
4941 'name': e2pdf.lang.get('Enable'),
4942 'type': 'checkbox',
4943 'value': e2pdf.helper.getCheckbox(properties[field]),
4944 'option': '1'
4945 };
4946 break;
4947 case 'g_axis_min_v':
4948 obj = {
4949 'name': e2pdf.lang.get('Min'),
4950 'type': 'text',
4951 'value': e2pdf.helper.getInt(properties[field]),
4952 'atts': ['number', 'number-negative']
4953 };
4954 break;
4955 case 'g_axis_max_v':
4956 obj = {
4957 'name': e2pdf.lang.get('Max'),
4958 'type': 'text',
4959 'value': e2pdf.helper.getInt(properties[field]),
4960 'atts': ['number', 'number-negative']
4961 };
4962 break;
4963 case 'g_axis_min_max_v':
4964 obj = {
4965 'name': e2pdf.lang.get('Enable'),
4966 'type': 'checkbox',
4967 'value': e2pdf.helper.getCheckbox(properties[field]),
4968 'option': '1'
4969 };
4970 break;
4971 case 'g_show_grid_subdivisions':
4972 obj = {
4973 'name': e2pdf.lang.get('Sub Divisions'),
4974 'type': 'checkbox',
4975 'value': e2pdf.helper.getCheckbox(properties[field]),
4976 'option': '1'
4977 };
4978 break;
4979 case 'g_fill_under':
4980 obj = {
4981 'name': e2pdf.lang.get('Fill Under'),
4982 'type': 'checkbox',
4983 'value': e2pdf.helper.getCheckbox(properties[field]),
4984 'option': '1'
4985 };
4986 break;
4987 case 'g_reverse':
4988 obj = {
4989 'name': e2pdf.lang.get('Reverse'),
4990 'type': 'checkbox',
4991 'value': e2pdf.helper.getCheckbox(properties[field]),
4992 'option': '1'
4993 };
4994 break;
4995 case 'g_stroke_dynamic_colour':
4996 obj = {
4997 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
4998 'type': 'checkbox',
4999 'value': e2pdf.helper.getCheckbox(properties[field]),
5000 'option': '1'
5001 };
5002 break;
5003 case 'g_sort':
5004 obj = {
5005 'name': e2pdf.lang.get('Sort'),
5006 'type': 'checkbox',
5007 'value': e2pdf.helper.getCheckbox(properties[field]),
5008 'option': '1'
5009 };
5010 break;
5011 case 'g_percentage':
5012 obj = {
5013 'name': e2pdf.lang.get('Percentage'),
5014 'type': 'checkbox',
5015 'value': e2pdf.helper.getCheckbox(properties[field]),
5016 'option': '1'
5017 };
5018 break;
5019 case 'g_legend_title':
5020 obj = {
5021 'name': e2pdf.lang.get('Title'),
5022 'type': 'text',
5023 'value': e2pdf.helper.getString(properties[field])
5024 };
5025 break;
5026 case 'g_legend_title_font_size':
5027 obj = {
5028 'name': e2pdf.lang.get('Font Size'),
5029 'type': 'select',
5030 'value': e2pdf.helper.getString(properties[field]),
5031 'options': e2pdf.helper.font.sizes(field)
5032 };
5033 break;
5034 case 'g_legend_font_size':
5035 obj = {
5036 'name': e2pdf.lang.get('Font Size'),
5037 'type': 'select',
5038 'value': e2pdf.helper.getString(properties[field]),
5039 'options': e2pdf.helper.font.sizes(field)
5040 };
5041 break;
5042 case 'g_legend_position_vertical':
5043 obj = {
5044 'name': e2pdf.lang.get('Position (V)'),
5045 'key': 'g_legend_position_vertical',
5046 'type': 'select',
5047 'value': e2pdf.helper.getString(properties[field], 'top'),
5048 'options':
5049 [
5050 {'top': e2pdf.lang.get('Top')},
5051 {'middle': e2pdf.lang.get('Middle')},
5052 {'bottom': e2pdf.lang.get('Bottom')}
5053 ]
5054 };
5055 break;
5056 case 'g_legend_position_horizontal':
5057 obj = {
5058 'name': e2pdf.lang.get('Position (H)'),
5059 'type': 'select',
5060 'value': e2pdf.helper.getString(properties[field], 'right'),
5061 'options':
5062 [
5063 {'left': e2pdf.lang.get('Left')},
5064 {'center': e2pdf.lang.get('Center')},
5065 {'right': e2pdf.lang.get('Right')}
5066 ]
5067 };
5068 break;
5069 case 'g_legend_position_join':
5070 obj = {
5071 'name': e2pdf.lang.get('Position'),
5072 'type': 'select',
5073 'value': e2pdf.helper.getString(properties[field], 'inner'),
5074 'options':
5075 [
5076 {'inner': e2pdf.lang.get('Inner')},
5077 {'outer': e2pdf.lang.get('Outer')}
5078 ]
5079 };
5080 break;
5081 case 'g_legend_position_vertical_margin':
5082 obj = {
5083 'name': e2pdf.lang.get('Margin (V)'),
5084 'type': 'text',
5085 'value': e2pdf.helper.getFloat(properties[field]),
5086 'atts': ['number', 'number-negative']
5087 };
5088 break;
5089 case 'g_legend_position_horizontal_margin':
5090 obj = {
5091 'name': e2pdf.lang.get('Margin (H)'),
5092 'type': 'text',
5093 'value': e2pdf.helper.getFloat(properties[field]),
5094 'atts': ['number', 'number-negative']
5095 };
5096 break;
5097 case 'g_legend_text_side':
5098 obj = {
5099 'name': e2pdf.lang.get('Legend Text Side'),
5100 'type': 'select',
5101 'value': e2pdf.helper.getString(properties[field], 'left'),
5102 'options':
5103 [
5104 {'left': e2pdf.lang.get('Left')},
5105 {'right': e2pdf.lang.get('Right')}
5106 ]
5107 };
5108 break;
5109 case 'g_legend_columns':
5110 obj = {
5111 'name': e2pdf.lang.get('Columns'),
5112 'type': 'text',
5113 'value': e2pdf.helper.getInt(properties[field], 1),
5114 'atts': ['number']
5115 };
5116 break;
5117 case 'g_legend_entry_width':
5118 obj = {
5119 'name': e2pdf.lang.get('Width'),
5120 'type': 'text',
5121 'value': e2pdf.helper.getInt(properties[field]),
5122 'atts': ['number']
5123 };
5124 break;
5125 case 'g_legend_entry_height':
5126 obj = {
5127 'name': e2pdf.lang.get('Height'),
5128 'type': 'text',
5129 'value': e2pdf.helper.getInt(properties[field]),
5130 'atts': ['number', 'keep']
5131 };
5132 break;
5133 case 'g_legend_padding_x':
5134 obj = {
5135 'name': e2pdf.lang.get('Padding (X)'),
5136 'type': 'text',
5137 'value': e2pdf.helper.getInt(properties[field]),
5138 'atts': ['number']
5139 };
5140 break;
5141 case 'g_legend_padding_y':
5142 obj = {
5143 'name': e2pdf.lang.get('Padding (Y)'),
5144 'type': 'text',
5145 'value': e2pdf.helper.getInt(properties[field]),
5146 'atts': ['number']
5147 };
5148 break;
5149 case 'g_legend_stroke_colour':
5150 obj = {
5151 'name': e2pdf.lang.get('Stroke Color'),
5152 'type': 'color',
5153 'value': e2pdf.helper.getString(properties[field])
5154 };
5155 break;
5156 case 'g_legend_stroke_width':
5157 obj = {
5158 'name': e2pdf.lang.get('Stroke Width'),
5159 'type': 'text',
5160 'value': e2pdf.helper.getInt(properties[field]),
5161 'atts': ['number']
5162 };
5163 break;
5164 case 'g_legend_back_colour':
5165 obj = {
5166 'name': e2pdf.lang.get('Background'),
5167 'type': 'color',
5168 'value': e2pdf.helper.getString(properties[field])
5169 };
5170 break;
5171 case 'g_legend_colour':
5172 obj = {
5173 'name': e2pdf.lang.get('Color'),
5174 'type': 'color',
5175 'value': e2pdf.helper.getString(properties[field])
5176 };
5177 break;
5178 case 'g_show_legend':
5179 obj = {
5180 'name': e2pdf.lang.get('Legend'),
5181 'type': 'checkbox',
5182 'value': e2pdf.helper.getCheckbox(properties[field]),
5183 'option': '1'
5184 };
5185 break;
5186 case 'g_bubble_scale':
5187 obj = {
5188 'name': e2pdf.lang.get('Bubble Scale'),
5189 'type': 'text',
5190 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5191 'atts': ['number']
5192 };
5193 break;
5194 case 'g_increment':
5195 obj = {
5196 'name': e2pdf.lang.get('Increment'),
5197 'type': 'text',
5198 'value': e2pdf.helper.getInt(properties[field]),
5199 'atts': ['number']
5200 };
5201 break;
5202 case 'g_stack_group':
5203 obj = {
5204 'name': e2pdf.lang.get('Stack Group'),
5205 'type': 'text',
5206 'value': e2pdf.helper.getString(properties[field])
5207 };
5208 break;
5209 case 'g_line_dataset':
5210 obj = {
5211 'name': e2pdf.lang.get('Line Dataset'),
5212 'type': 'text',
5213 'value': e2pdf.helper.getString(properties[field])
5214 };
5215 break;
5216 case 'g_project_angle':
5217 obj = {
5218 'name': e2pdf.lang.get('Project Angle'),
5219 'type': 'text',
5220 'value': e2pdf.helper.getInt(properties[field]),
5221 'atts': ['number']
5222 };
5223 break;
5224 case 'g_depth':
5225 obj = {
5226 'name': e2pdf.lang.get('Depth'),
5227 'type': 'text',
5228 'value': e2pdf.helper.getInt(properties[field]),
5229 'atts': ['number']
5230 };
5231 break;
5232 case 'g_aspect_ratio':
5233 obj = {
5234 'name': e2pdf.lang.get('Aspect Ratio'),
5235 'type': 'text',
5236 'value': e2pdf.helper.getFloat(properties[field]),
5237 'atts': ['number']
5238 };
5239 break;
5240 case 'g_line_curve':
5241 obj = {
5242 'name': e2pdf.lang.get('Line Curve'),
5243 'type': 'text',
5244 'value': e2pdf.helper.getString(properties[field])
5245 };
5246 break;
5247 case 'g_units_y':
5248 obj = {
5249 'name': e2pdf.lang.get('Units'),
5250 'type': 'text',
5251 'value': e2pdf.helper.getString(properties[field])
5252 };
5253 break;
5254 case 'g_units_x':
5255 obj = {
5256 'name': e2pdf.lang.get('Units'),
5257 'type': 'text',
5258 'value': e2pdf.helper.getString(properties[field])
5259 };
5260 break;
5261 case 'g_axis_text_position_v':
5262 obj = {
5263 'name': e2pdf.lang.get('Position'),
5264 'type': 'select',
5265 'value': e2pdf.helper.getString(properties[field], 'outside'),
5266 'options':
5267 [
5268 {'outside': e2pdf.lang.get('Outer')},
5269 {'inside': e2pdf.lang.get('Inner')}
5270 ]
5271 };
5272 break;
5273 case 'g_axis_text_position_h':
5274 obj = {
5275 'name': e2pdf.lang.get('Position'),
5276 'type': 'select',
5277 'value': e2pdf.helper.getString(properties[field], 'outside'),
5278 'options':
5279 [
5280 {'outside': e2pdf.lang.get('Outer')},
5281 {'inside': e2pdf.lang.get('Inner')}
5282 ]
5283 };
5284 break;
5285 case 'g_axis_text_align_v':
5286 obj = {
5287 'name': e2pdf.lang.get('Align'),
5288 'type': 'select',
5289 'value': e2pdf.helper.getString(properties[field], ''),
5290 'options':
5291 [
5292 {'': e2pdf.lang.get('Auto')},
5293 {'left': e2pdf.lang.get('Left')},
5294 {'centre': e2pdf.lang.get('Center')},
5295 {'right': e2pdf.lang.get('Right')}
5296 ]
5297 };
5298 break;
5299 case 'g_axis_text_align_h':
5300 obj = {
5301 'name': e2pdf.lang.get('Align'),
5302 'type': 'select',
5303 'value': e2pdf.helper.getString(properties[field], ''),
5304 'options':
5305 [
5306 {'': e2pdf.lang.get('Auto')},
5307 {'left': e2pdf.lang.get('Left')},
5308 {'centre': e2pdf.lang.get('Center')},
5309 {'right': e2pdf.lang.get('Right')}
5310 ]
5311 };
5312 break;
5313 case 'g_axis_text_space_v':
5314 obj = {
5315 'name': e2pdf.lang.get('Space'),
5316 'type': 'text',
5317 'value': e2pdf.helper.getInt(properties[field], 2),
5318 'atts': ['number']
5319 };
5320 break;
5321 case 'g_axis_text_space_h':
5322 obj = {
5323 'name': e2pdf.lang.get('Space'),
5324 'type': 'text',
5325 'value': e2pdf.helper.getInt(properties[field], 2),
5326 'atts': ['number']
5327 };
5328 break;
5329 case 'g_axis_text_offset_x_v':
5330 obj = {
5331 'name': e2pdf.lang.get('Offset (X)'),
5332 'type': 'text',
5333 'value': e2pdf.helper.getInt(properties[field]),
5334 'atts': ['number', 'number-negative']
5335 };
5336 break;
5337 case 'g_axis_text_offset_y_v':
5338 obj = {
5339 'name': e2pdf.lang.get('Offset (Y)'),
5340 'type': 'text',
5341 'value': e2pdf.helper.getInt(properties[field]),
5342 'atts': ['number', 'number-negative']
5343 };
5344 break;
5345 case 'g_axis_text_offset_x_h':
5346 obj = {
5347 'name': e2pdf.lang.get('Offset (X)'),
5348 'type': 'text',
5349 'value': e2pdf.helper.getInt(properties[field]),
5350 'atts': ['number', 'number-negative']
5351 };
5352 break;
5353 case 'g_axis_text_offset_y_h':
5354 obj = {
5355 'name': e2pdf.lang.get('Offset (Y)'),
5356 'type': 'text',
5357 'value': e2pdf.helper.getInt(properties[field]),
5358 'atts': ['number', 'number-negative']
5359 };
5360 break;
5361 case 'g_units_label':
5362 obj = {
5363 'name': e2pdf.lang.get('Units Label'),
5364 'type': 'text',
5365 'value': e2pdf.helper.getString(properties[field])
5366 };
5367 break;
5368 case 'g_reverse_data':
5369 obj = {
5370 'name': 'Reverse Data',
5371 'type': 'checkbox',
5372 'value': e2pdf.helper.getCheckbox(properties[field]),
5373 'option': '1'
5374 };
5375 break;
5376 case 'g_multiline':
5377 obj = {
5378 'name': 'Lines',
5379 'type': 'select',
5380 'value': e2pdf.helper.getString(properties[field]),
5381 'options':
5382 [
5383 {'0': 'Unsorted Data'},
5384 {'2': 'Single Array Data'},
5385 {'1': 'Multi Array Data'}
5386 ]
5387 };
5388 break;
5389 case 'g_legends':
5390 obj = {
5391 'name': e2pdf.lang.get('Legends'),
5392 'type': 'textarea',
5393 'value': e2pdf.helper.getString(properties[field])
5394 };
5395 break;
5396 case 'g_colors':
5397 obj = {
5398 'name': e2pdf.lang.get('Colors'),
5399 'type': 'textarea',
5400 'value': e2pdf.helper.getString(properties[field])
5401 };
5402 break;
5403 case 'g_inner_radius':
5404 obj = {
5405 'name': e2pdf.lang.get('Inner Radius'),
5406 'type': 'text',
5407 'value': e2pdf.helper.getFloat(properties[field]),
5408 'atts': ['number', 'keep']
5409 };
5410 break;
5411 case 'g_start_angle':
5412 obj = {
5413 'name': e2pdf.lang.get('Start Angle'),
5414 'type': 'text',
5415 'value': e2pdf.helper.getFloat(properties[field]),
5416 'atts': ['number']
5417 };
5418 break;
5419 }
5420 if (!obj.hasOwnProperty('key')) {
5421 obj['key'] = field;
5422 }
5423 if (!obj.hasOwnProperty('atts')) {
5424 obj['atts'] = [];
5425 }
5426 return obj;
5427 },
5428 // e2pdf.properties.getFields
5429 getFields: function (el, actions) {
5430
5431 if (el.data('data-type') === 'e2pdf-tpl') {
5432 var obj = {};
5433 } else if (el.data('data-type') === 'e2pdf-page') {
5434 var obj = {
5435 'page_id': {
5436 'name': '',
5437 'fields': [
5438 e2pdf.properties.getField('page_id', el),
5439 e2pdf.properties.getField('element_type', el)
5440 ],
5441 'position': 'top',
5442 'classes': [
5443 'e2pdf-w50 e2pdf-pr10',
5444 'e2pdf-w50 e2pdf-pl10'
5445 ]
5446 },
5447 'size': {
5448 'name': e2pdf.lang.get('Size'),
5449 'fields': [
5450 e2pdf.properties.getField('width', el),
5451 e2pdf.properties.getField('height', el),
5452 e2pdf.properties.getField('preset', el)
5453 ],
5454 'position': 'top',
5455 'classes': [
5456 'e2pdf-w50 e2pdf-pr10',
5457 'e2pdf-w50 e2pdf-pl10',
5458 'e2pdf-w100'
5459 ]
5460 }
5461 };
5462 } else {
5463 var obj = {
5464 'element': {
5465 'name': e2pdf.lang.get('Element'),
5466 'fields': [
5467 e2pdf.properties.getField('element_id', el),
5468 e2pdf.properties.getField('page_id', el),
5469 e2pdf.properties.getField('element_type', el),
5470 e2pdf.properties.getField('left', el),
5471 e2pdf.properties.getField('top', el),
5472 e2pdf.properties.getField('width', el),
5473 e2pdf.properties.getField('height', el)
5474 ],
5475 'position': 'top',
5476 'classes': [
5477 'e2pdf-w25',
5478 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5479 'e2pdf-w50 e2pdf-pl10',
5480 'e2pdf-w25',
5481 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5482 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5483 'e2pdf-w25'
5484 ]
5485 }
5486 };
5487 if (el.data('data-type') === 'e2pdf-input') {
5488
5489 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5490 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5491 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5492 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5493 obj['field'] = {
5494 'name': e2pdf.lang.get('Field'),
5495 'fields': [
5496 e2pdf.properties.getField('text_color', el),
5497 e2pdf.properties.getField('text_font', el),
5498 e2pdf.properties.getField('text_font_size', el),
5499 e2pdf.properties.getField('text_letter_spacing', el),
5500 e2pdf.properties.getField('text_auto_font_size', el),
5501 e2pdf.properties.getField('text_align', el),
5502 e2pdf.properties.getField('rotation', el),
5503 e2pdf.properties.getField('length', el),
5504 e2pdf.properties.getField('rtl', el),
5505 e2pdf.properties.getField('comb', el),
5506 e2pdf.properties.getField('required', el),
5507 e2pdf.properties.getField('readonly', el),
5508 e2pdf.properties.getField('pass', el)
5509 ],
5510 'position': 'left',
5511 'classes': [
5512 'e2pdf-w100',
5513 'e2pdf-w100',
5514 'e2pdf-w50',
5515 'e2pdf-w50 e2pdf-pl10',
5516 'e2pdf-w100',
5517 'e2pdf-w50',
5518 'e2pdf-w50 e2pdf-pl10',
5519 'e2pdf-w70',
5520 'e2pdf-w30 e2pdf-pl10',
5521 'e2pdf-pr10',
5522 'e2pdf-pr10',
5523 'e2pdf-pr10',
5524 'e2pdf-pr10'
5525 ]
5526 };
5527 obj['style'] = {
5528 'name': e2pdf.lang.get('Style'),
5529 'fields': [
5530 e2pdf.properties.getField('background', el),
5531 e2pdf.properties.getField('border_color', el),
5532 e2pdf.properties.getField('border', el),
5533 e2pdf.properties.getField('z_index', el)
5534 ],
5535 'position': 'right',
5536 'classes': [
5537 'e2pdf-w100',
5538 'e2pdf-w70',
5539 'e2pdf-w30 e2pdf-pl10',
5540 'e2pdf-w100'
5541 ]
5542 };
5543 obj['value'] = {
5544 'name': e2pdf.lang.get('Value'),
5545 'fields': [
5546 e2pdf.properties.getField('value', el),
5547 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5548 e2pdf.properties.getField('preg_pattern', el),
5549 e2pdf.properties.getField('preg_replacement', el),
5550 e2pdf.properties.getField('preg_match_all_pattern', el),
5551 e2pdf.properties.getField('preg_match_all_output', el)
5552 ],
5553 'position': 'bottom',
5554 'classes': [
5555 'e2pdf-w100 e2pdf-hide-label',
5556 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5557 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5558 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5559 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5560 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5561 ]
5562 };
5563 }
5564
5565 if (el.data('data-type') === 'e2pdf-textarea') {
5566
5567 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5568 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5569 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5570 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5571 obj['field'] = {
5572 'name': e2pdf.lang.get('Field'),
5573 'fields': [
5574 e2pdf.properties.getField('text_color', el),
5575 e2pdf.properties.getField('text_font', el),
5576 e2pdf.properties.getField('text_font_size', el),
5577 e2pdf.properties.getField('text_letter_spacing', el),
5578 e2pdf.properties.getField('text_auto_font_size', el),
5579 e2pdf.properties.getField('text_line_height', el),
5580 e2pdf.properties.getField('text_align', el),
5581 e2pdf.properties.getField('rotation', el),
5582 e2pdf.properties.getField('length', el),
5583 e2pdf.properties.getField('rtl', el),
5584 e2pdf.properties.getField('comb', el),
5585 e2pdf.properties.getField('required', el),
5586 e2pdf.properties.getField('readonly', el),
5587 e2pdf.properties.getField('pass', el)
5588 ],
5589 'position': 'left',
5590 'classes': [
5591 'e2pdf-w100',
5592 'e2pdf-w100',
5593 'e2pdf-w50',
5594 'e2pdf-w50 e2pdf-pl10',
5595 'e2pdf-w100',
5596 'e2pdf-w100',
5597 'e2pdf-w50',
5598 'e2pdf-w50 e2pdf-pl10',
5599 'e2pdf-w70',
5600 'e2pdf-w30 e2pdf-pl10',
5601 'e2pdf-pr10',
5602 'e2pdf-pr10',
5603 'e2pdf-pr10',
5604 'e2pdf-pr10'
5605 ]
5606 };
5607 obj['style'] = {
5608 'name': e2pdf.lang.get('Style'),
5609 'fields': [
5610 e2pdf.properties.getField('background', el),
5611 e2pdf.properties.getField('border_color', el),
5612 e2pdf.properties.getField('border', el),
5613 e2pdf.properties.getField('z_index', el)
5614 ],
5615 'position': 'right',
5616 'classes': [
5617 'e2pdf-w100',
5618 'e2pdf-w70',
5619 'e2pdf-w30 e2pdf-pl10',
5620 'e2pdf-w100'
5621 ]
5622 };
5623 obj['value'] = {
5624 'name': e2pdf.lang.get('Value'),
5625 'fields': [
5626 e2pdf.properties.getField('value', el),
5627 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5628 e2pdf.properties.getField('preg_pattern', el),
5629 e2pdf.properties.getField('preg_replacement', el),
5630 e2pdf.properties.getField('preg_match_all_pattern', el),
5631 e2pdf.properties.getField('preg_match_all_output', el)
5632 ],
5633 'position': 'bottom',
5634 'classes': [
5635 'e2pdf-w100 e2pdf-hide-label',
5636 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5637 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5638 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5639 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5640 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5641 ]
5642 };
5643 }
5644
5645 if (el.data('data-type') === 'e2pdf-checkbox') {
5646
5647 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5648 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5649 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5650 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5651 obj['field'] = {
5652 'name': e2pdf.lang.get('Field'),
5653 'fields': [
5654 e2pdf.properties.getField('text_color', el),
5655 e2pdf.properties.getField('text_type', el),
5656 e2pdf.properties.getField('rotation', el),
5657 e2pdf.properties.getField('rtl', el),
5658 e2pdf.properties.getField('required', el),
5659 e2pdf.properties.getField('readonly', el)
5660 ],
5661 'position': 'left',
5662 'classes': [
5663 'e2pdf-w100',
5664 'e2pdf-w100',
5665 'e2pdf-w70',
5666 'e2pdf-w30 e2pdf-pl10',
5667 'e2pdf-pr10',
5668 'e2pdf-pr10'
5669 ]
5670 };
5671 obj['style'] = {
5672 'name': e2pdf.lang.get('Style'),
5673 'fields': [
5674 e2pdf.properties.getField('background', el),
5675 e2pdf.properties.getField('border_color', el),
5676 e2pdf.properties.getField('border', el),
5677 e2pdf.properties.getField('z_index', el)
5678 ],
5679 'position': 'right',
5680 'classes': [
5681 'e2pdf-w100',
5682 'e2pdf-w70',
5683 'e2pdf-w30 e2pdf-pl10',
5684 'e2pdf-w100'
5685 ]
5686 };
5687 obj['value'] = {
5688 'name': '',
5689 'fields': [
5690 e2pdf.properties.getField('option', el),
5691 e2pdf.properties.getField('value', el),
5692 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5693 e2pdf.properties.getField('preg_pattern', el),
5694 e2pdf.properties.getField('preg_replacement', el),
5695 e2pdf.properties.getField('preg_match_all_pattern', el),
5696 e2pdf.properties.getField('preg_match_all_output', el)
5697 ],
5698 'position': 'bottom',
5699 'classes': [
5700 'e2pdf-w100 e2pdf-strong-label',
5701 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5702 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5703 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5704 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5705 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5706 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5707 ]
5708 };
5709 }
5710
5711 if (el.data('data-type') === 'e2pdf-radio') {
5712
5713 obj['field'] = {
5714 'name': e2pdf.lang.get('Field'),
5715 'fields': [
5716 e2pdf.properties.getField('text_color', el),
5717 e2pdf.properties.getField('text_type', el),
5718 e2pdf.properties.getField('rotation', el),
5719 e2pdf.properties.getField('rtl', el),
5720 e2pdf.properties.getField('required', el),
5721 e2pdf.properties.getField('readonly', el)
5722 ],
5723 'position': 'left',
5724 'classes': [
5725 'e2pdf-w100',
5726 'e2pdf-w100',
5727 'e2pdf-w70',
5728 'e2pdf-w30 e2pdf-pl10',
5729 'e2pdf-pr10',
5730 'e2pdf-pr10',
5731 'e2pdf-pr10'
5732 ]
5733 };
5734 obj['style'] = {
5735 'name': e2pdf.lang.get('Style'),
5736 'fields': [
5737 e2pdf.properties.getField('background', el),
5738 e2pdf.properties.getField('border_color', el),
5739 e2pdf.properties.getField('border', el),
5740 e2pdf.properties.getField('z_index', el)
5741 ],
5742 'position': 'right',
5743 'classes': [
5744 'e2pdf-w100',
5745 'e2pdf-w70',
5746 'e2pdf-w30 e2pdf-pl10',
5747 'e2pdf-w100'
5748 ]
5749 };
5750 obj['value'] = {
5751 'name': '',
5752 'fields': [
5753 e2pdf.properties.getField('group', el),
5754 e2pdf.properties.getField('field_name', el),
5755 e2pdf.properties.getField('option', el),
5756 e2pdf.properties.getField('value', el),
5757 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5758 e2pdf.properties.getField('preg_pattern', el),
5759 e2pdf.properties.getField('preg_replacement', el),
5760 e2pdf.properties.getField('preg_match_all_pattern', el),
5761 e2pdf.properties.getField('preg_match_all_output', el)
5762 ],
5763 'position': 'bottom',
5764 'classes': [
5765 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5766 'e2pdf-w25 e2pdf-mt-label',
5767 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5768 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5769 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5770 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5771 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5772 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5773 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5774 ]
5775 };
5776 }
5777
5778 if (el.data('data-type') === 'e2pdf-select') {
5779
5780 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5781 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5782 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5783 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5784 obj['field'] = {
5785 'name': e2pdf.lang.get('Field'),
5786 'fields': [
5787 e2pdf.properties.getField('text_color', el),
5788 e2pdf.properties.getField('text_font', el),
5789 e2pdf.properties.getField('text_font_size', el),
5790 e2pdf.properties.getField('text_letter_spacing', el),
5791 e2pdf.properties.getField('text_auto_font_size', el),
5792 e2pdf.properties.getField('rotation', el),
5793 e2pdf.properties.getField('rtl', el),
5794 e2pdf.properties.getField('multiline', el),
5795 e2pdf.properties.getField('required', el),
5796 e2pdf.properties.getField('readonly', el)
5797 ],
5798 'position': 'left',
5799 'classes': [
5800 'e2pdf-w100',
5801 'e2pdf-w100',
5802 'e2pdf-w50',
5803 'e2pdf-w50 e2pdf-pl10',
5804 'e2pdf-w100',
5805 'e2pdf-w70',
5806 'e2pdf-w30 e2pdf-pl10',
5807 'e2pdf-pr10',
5808 'e2pdf-pr10',
5809 'e2pdf-pr10'
5810 ]
5811 };
5812 obj['style'] = {
5813 'name': e2pdf.lang.get('Style'),
5814 'fields': [
5815 e2pdf.properties.getField('background', el),
5816 e2pdf.properties.getField('border_color', el),
5817 e2pdf.properties.getField('border', el),
5818 e2pdf.properties.getField('z_index', el)
5819 ],
5820 'position': 'right',
5821 'classes': [
5822 'e2pdf-w100',
5823 'e2pdf-w70',
5824 'e2pdf-w30 e2pdf-pl10',
5825 'e2pdf-w100'
5826 ]
5827 };
5828 obj['value'] = {
5829 'name': '',
5830 'fields': [
5831 e2pdf.properties.getField('options', el),
5832 e2pdf.properties.getField('value', el),
5833 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5834 e2pdf.properties.getField('preg_pattern', el),
5835 e2pdf.properties.getField('preg_replacement', el),
5836 e2pdf.properties.getField('preg_match_all_pattern', el),
5837 e2pdf.properties.getField('preg_match_all_output', el)
5838 ],
5839 'position': 'bottom',
5840 'classes': [
5841 'e2pdf-w100 e2pdf-strong-label',
5842 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5843 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5844 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5845 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5846 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5847 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5848 ]
5849 };
5850 }
5851
5852 if (el.data('data-type') === 'e2pdf-signature') {
5853
5854 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5855 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5856 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5857 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5858 obj['field'] = {
5859 'name': e2pdf.lang.get('Field'),
5860 'fields': [
5861 e2pdf.properties.getField('text_color', el),
5862 e2pdf.properties.getField('text_font', el),
5863 e2pdf.properties.getField('text_font_size', el),
5864 e2pdf.properties.getField('placeholder', el),
5865 e2pdf.properties.getField('esig', el),
5866 e2pdf.properties.getField('required', el),
5867 e2pdf.properties.getField('horizontal', el),
5868 e2pdf.properties.getField('vertical', el),
5869 e2pdf.properties.getField('rotation', el),
5870 e2pdf.properties.getField('opacity', el),
5871 e2pdf.properties.getField('dimension', el),
5872 e2pdf.properties.getField('block_dimension', el),
5873 e2pdf.properties.getField('keep_lower_size', el),
5874 e2pdf.properties.getField('fill_image', el)
5875 ],
5876 'position': 'left',
5877 'classes': [
5878 'e2pdf-w100',
5879 'e2pdf-w60 e2pdf-pr10',
5880 'e2pdf-w40',
5881 'e2pdf-w100',
5882 'e2pdf-w50',
5883 'e2pdf-w50 e2pdf-pl10',
5884 'e2pdf-w50',
5885 'e2pdf-w50 e2pdf-pl10',
5886 'e2pdf-w50',
5887 'e2pdf-w50 e2pdf-pl10',
5888 'e2pdf-w50',
5889 'e2pdf-w50 e2pdf-pl10',
5890 'e2pdf-w50',
5891 'e2pdf-w50 e2pdf-pl10'
5892 ]
5893 };
5894 obj['style'] = {
5895 'name': e2pdf.lang.get('Style'),
5896 'fields': [
5897 e2pdf.properties.getField('background', el),
5898 e2pdf.properties.getField('padding_top', el),
5899 e2pdf.properties.getField('padding_left', el),
5900 e2pdf.properties.getField('padding_right', el),
5901 e2pdf.properties.getField('padding_bottom', el),
5902 e2pdf.properties.getField('border_color', el),
5903 e2pdf.properties.getField('border_radius', el),
5904 e2pdf.properties.getField('border_top', el),
5905 e2pdf.properties.getField('border_left', el),
5906 e2pdf.properties.getField('border_right', el),
5907 e2pdf.properties.getField('border_bottom', el),
5908 e2pdf.properties.getField('z_index', el)
5909 ],
5910 'position': 'right',
5911 'classes': [
5912 'e2pdf-w100',
5913 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5914 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5915 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5916 'e2pdf-w25 e2pdf-fnl',
5917 'e2pdf-w100',
5918 'e2pdf-w100',
5919 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5920 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5921 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5922 'e2pdf-w25 e2pdf-fnl',
5923 'e2pdf-w100'
5924 ]
5925 };
5926 obj['value'] = {
5927 'name': e2pdf.lang.get('Value'),
5928 'fields': [
5929 e2pdf.properties.getField('value', el),
5930 e2pdf.properties.getField('only_image', el),
5931 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5932 e2pdf.properties.getField('preg_pattern', el),
5933 e2pdf.properties.getField('preg_replacement', el),
5934 e2pdf.properties.getField('preg_match_all_pattern', el),
5935 e2pdf.properties.getField('preg_match_all_output', el)
5936 ],
5937 'position': 'bottom',
5938 'classes': [
5939 'e2pdf-w100 e2pdf-hide-label',
5940 'e2pdf-w50 e2pdf-pr10',
5941 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5942 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5943 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5944 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5945 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5946 ]
5947 };
5948 }
5949
5950 if (el.data('data-type') === 'e2pdf-html') {
5951 obj['field'] = {
5952 'name': e2pdf.lang.get('Field'),
5953 'fields': [
5954 e2pdf.properties.getField('text_color', el),
5955 e2pdf.properties.getField('text_font', el),
5956 e2pdf.properties.getField('text_font_size', el),
5957 e2pdf.properties.getField('text_letter_spacing', el),
5958 e2pdf.properties.getField('text_line_height', el),
5959 e2pdf.properties.getField('text_align', el),
5960 e2pdf.properties.getField('rotation', el),
5961 e2pdf.properties.getField('vertical', el),
5962 e2pdf.properties.getField('rtl', el),
5963 e2pdf.properties.getField('multipage', el),
5964 e2pdf.properties.getField('nl2br', el),
5965 e2pdf.properties.getField('preload_img', el),
5966 e2pdf.properties.getField('hide_if_empty', el),
5967 e2pdf.properties.getField('hide_page_if_empty', el)
5968 ],
5969 'position': 'left',
5970 'classes': [
5971 'e2pdf-w100',
5972 'e2pdf-w100',
5973 'e2pdf-w50',
5974 'e2pdf-w50 e2pdf-pl10',
5975 'e2pdf-w100',
5976 'e2pdf-w50',
5977 'e2pdf-w50 e2pdf-pl10',
5978 'e2pdf-w70',
5979 'e2pdf-w30 e2pdf-pl10',
5980 'e2pdf-pr10',
5981 'e2pdf-pr10',
5982 'e2pdf-pr10',
5983 'e2pdf-pr10',
5984 'e2pdf-pr10'
5985 ]
5986 };
5987 if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
5988 obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
5989 obj['field'].classes.push('e2pdf-pr10');
5990 }
5991
5992 obj['style'] = {
5993 'name': e2pdf.lang.get('Style'),
5994 'fields': [
5995 e2pdf.properties.getField('background', el),
5996 e2pdf.properties.getField('padding_top', el),
5997 e2pdf.properties.getField('padding_left', el),
5998 e2pdf.properties.getField('padding_right', el),
5999 e2pdf.properties.getField('padding_bottom', el),
6000 e2pdf.properties.getField('border_color', el),
6001 e2pdf.properties.getField('border_top', el),
6002 e2pdf.properties.getField('border_left', el),
6003 e2pdf.properties.getField('border_right', el),
6004 e2pdf.properties.getField('border_bottom', el),
6005 e2pdf.properties.getField('z_index', el)
6006 ],
6007 'position': 'right',
6008 'classes': [
6009 'e2pdf-w100',
6010 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6011 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6012 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6013 'e2pdf-w25 e2pdf-fnl',
6014 'e2pdf-w100',
6015 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6016 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6017 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6018 'e2pdf-w25 e2pdf-fnl',
6019 'e2pdf-w100'
6020 ]
6021 };
6022 obj['value'] = {
6023 'name': '',
6024 'fields': [
6025 e2pdf.properties.getField('parent', el),
6026 e2pdf.properties.getField('css', el),
6027 e2pdf.properties.getField('css_priority', el),
6028 e2pdf.properties.getField('value', el),
6029 e2pdf.properties.getField('html_worker', el),
6030 e2pdf.properties.getField('wysiwyg_disable', el),
6031 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6032 e2pdf.properties.getField('preg_pattern', el),
6033 e2pdf.properties.getField('preg_replacement', el),
6034 e2pdf.properties.getField('preg_match_all_pattern', el),
6035 e2pdf.properties.getField('preg_match_all_output', el)
6036 ],
6037 'position': 'bottom',
6038 'classes': [
6039 'e2pdf-w100 e2pdf-strong-label',
6040 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6041 'e2pdf-w20 e2pdf-pr10',
6042 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6043 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6044 'e2pdf-w50 e2pdf-pr10',
6045 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6046 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6047 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6048 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6049 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6050 ]
6051 };
6052 }
6053
6054 if (el.data('data-type') === 'e2pdf-page-number') {
6055 obj['field'] = {
6056 'name': e2pdf.lang.get('Field'),
6057 'fields': [
6058 e2pdf.properties.getField('text_color', el),
6059 e2pdf.properties.getField('text_font', el),
6060 e2pdf.properties.getField('text_font_size', el),
6061 e2pdf.properties.getField('text_letter_spacing', el),
6062 e2pdf.properties.getField('text_line_height', el),
6063 e2pdf.properties.getField('text_align', el),
6064 e2pdf.properties.getField('rotation', el),
6065 e2pdf.properties.getField('vertical', el),
6066 e2pdf.properties.getField('rtl', el)
6067 ],
6068 'position': 'left',
6069 'classes': [
6070 'e2pdf-w100',
6071 'e2pdf-w100',
6072 'e2pdf-w50',
6073 'e2pdf-w50 e2pdf-pl10',
6074 'e2pdf-w100',
6075 'e2pdf-w50',
6076 'e2pdf-w50 e2pdf-pl10',
6077 'e2pdf-w70',
6078 'e2pdf-w30 e2pdf-pl10'
6079 ]
6080 };
6081 obj['page_number'] = {
6082 'name': e2pdf.lang.get('Page Number'),
6083 'fields': [
6084 e2pdf.properties.getField('page_number', el),
6085 e2pdf.properties.getField('page_total', el),
6086 ],
6087 'position': 'left',
6088 'classes': [
6089 'e2pdf-w50',
6090 'e2pdf-w50 e2pdf-pl10',
6091 ]
6092 };
6093 obj['style'] = {
6094 'name': e2pdf.lang.get('Style'),
6095 'fields': [
6096 e2pdf.properties.getField('background', el),
6097 e2pdf.properties.getField('padding_top', el),
6098 e2pdf.properties.getField('padding_left', el),
6099 e2pdf.properties.getField('padding_right', el),
6100 e2pdf.properties.getField('padding_bottom', el),
6101 e2pdf.properties.getField('border_color', el),
6102 e2pdf.properties.getField('border_top', el),
6103 e2pdf.properties.getField('border_left', el),
6104 e2pdf.properties.getField('border_right', el),
6105 e2pdf.properties.getField('border_bottom', el)
6106 ],
6107 'position': 'right',
6108 'classes': [
6109 'e2pdf-w100',
6110 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6111 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6112 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6113 'e2pdf-w25 e2pdf-fnl',
6114 'e2pdf-w100',
6115 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6116 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6117 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6118 'e2pdf-w25 e2pdf-fnl'
6119 ]
6120 };
6121 obj['value'] = {
6122 'name': '',
6123 'fields': [
6124 e2pdf.properties.getField('css', el),
6125 e2pdf.properties.getField('value', el),
6126 e2pdf.properties.getField('html_worker', el)
6127 ],
6128 'position': 'bottom',
6129 'classes': [
6130 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6131 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6132 'e2pdf-w30 e2pdf-pr10'
6133 ]
6134 };
6135 }
6136
6137 if (el.data('data-type') === 'e2pdf-image') {
6138
6139 obj['field'] = {
6140 'name': e2pdf.lang.get('Field'),
6141 'fields': [
6142 e2pdf.properties.getField('text_color', el),
6143 e2pdf.properties.getField('text_font', el),
6144 e2pdf.properties.getField('text_font_size', el),
6145 e2pdf.properties.getField('horizontal', el),
6146 e2pdf.properties.getField('vertical', el),
6147 e2pdf.properties.getField('rotation', el),
6148 e2pdf.properties.getField('opacity', el),
6149 e2pdf.properties.getField('quality', el),
6150 e2pdf.properties.getField('dimension', el),
6151 e2pdf.properties.getField('block_dimension', el),
6152 e2pdf.properties.getField('keep_lower_size', el),
6153 e2pdf.properties.getField('fill_image', el),
6154 e2pdf.properties.getField('hide_page_if_empty', el)
6155 ],
6156 'position': 'left',
6157 'classes': [
6158 'e2pdf-w100',
6159 'e2pdf-w60 e2pdf-pr10',
6160 'e2pdf-w40',
6161 'e2pdf-w50',
6162 'e2pdf-w50 e2pdf-pl10',
6163 'e2pdf-w50',
6164 'e2pdf-w50 e2pdf-pl10',
6165 'e2pdf-w100',
6166 'e2pdf-pr10',
6167 'e2pdf-pr10',
6168 'e2pdf-pr10',
6169 'e2pdf-pr10',
6170 'e2pdf-pr10'
6171 ]
6172 };
6173 obj['pdf'] = {
6174 'name': 'Pdf',
6175 'fields': [
6176 e2pdf.properties.getField('pdf_page', el),
6177 e2pdf.properties.getField('pdf_resample', el),
6178 e2pdf.properties.getField('pdf_append', el),
6179 e2pdf.properties.getField('pdf_space', el),
6180 e2pdf.properties.getField('pdf_border', el)
6181 ],
6182 'position': 'left',
6183 'classes': [
6184 'e2pdf-w50',
6185 'e2pdf-w50 e2pdf-pl10',
6186 'e2pdf-w100',
6187 'e2pdf-w50',
6188 'e2pdf-w50 e2pdf-pl10'
6189 ]
6190 };
6191 obj['style'] = {
6192 'name': e2pdf.lang.get('Style'),
6193 'fields': [
6194 e2pdf.properties.getField('background', el),
6195 e2pdf.properties.getField('padding_top', el),
6196 e2pdf.properties.getField('padding_left', el),
6197 e2pdf.properties.getField('padding_right', el),
6198 e2pdf.properties.getField('padding_bottom', el),
6199 e2pdf.properties.getField('border_color', el),
6200 e2pdf.properties.getField('border_radius', el),
6201 e2pdf.properties.getField('border_top', el),
6202 e2pdf.properties.getField('border_left', el),
6203 e2pdf.properties.getField('border_right', el),
6204 e2pdf.properties.getField('border_bottom', el),
6205 e2pdf.properties.getField('z_index', el)
6206 ],
6207 'position': 'right',
6208 'classes': [
6209 'e2pdf-w100',
6210 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6211 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6212 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6213 'e2pdf-w25 e2pdf-fnl',
6214 'e2pdf-w100',
6215 'e2pdf-w100',
6216 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6217 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6218 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6219 'e2pdf-w25 e2pdf-fnl',
6220 'e2pdf-w100'
6221 ]
6222 };
6223 obj['value'] = {
6224 'name': '',
6225 'fields': [
6226 e2pdf.properties.getField('link_url', el),
6227 e2pdf.properties.getField('link_type', el),
6228 e2pdf.properties.getField('highlight', el),
6229 e2pdf.properties.getField('value', el),
6230 e2pdf.properties.getField('only_image', el),
6231 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6232 e2pdf.properties.getField('preg_pattern', el),
6233 e2pdf.properties.getField('preg_replacement', el),
6234 e2pdf.properties.getField('preg_match_all_pattern', el),
6235 e2pdf.properties.getField('preg_match_all_output', el)
6236 ],
6237 'position': 'bottom',
6238 'classes': [
6239 'e2pdf-w50 e2pdf-pr10',
6240 'e2pdf-w25 e2pdf-pr10',
6241 'e2pdf-w25',
6242 'e2pdf-w100',
6243 'e2pdf-w50 e2pdf-pr10',
6244 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6245 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6246 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6247 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6248 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6249 ]
6250 };
6251 }
6252
6253 if (el.data('data-type') === 'e2pdf-qrcode') {
6254
6255 obj['qrcode'] = {
6256 'name': e2pdf.lang.get('QR Code'),
6257 'fields': [
6258 e2pdf.properties.getField('color', el),
6259 e2pdf.properties.getField('precision', el),
6260 e2pdf.properties.getField('wq', el)
6261 ],
6262 'position': 'left',
6263 'classes': [
6264 'e2pdf-w100',
6265 'e2pdf-w50',
6266 'e2pdf-w50 e2pdf-pl10'
6267 ]
6268 };
6269 obj['style'] = {
6270 'name': e2pdf.lang.get('Style'),
6271 'fields': [
6272 e2pdf.properties.getField('background', el),
6273 e2pdf.properties.getField('margin_top', el),
6274 e2pdf.properties.getField('margin_left', el),
6275 e2pdf.properties.getField('margin_right', el),
6276 e2pdf.properties.getField('margin_bottom', el),
6277 e2pdf.properties.getField('padding_top', el),
6278 e2pdf.properties.getField('padding_left', el),
6279 e2pdf.properties.getField('padding_right', el),
6280 e2pdf.properties.getField('padding_bottom', el),
6281 e2pdf.properties.getField('border_color', el),
6282 e2pdf.properties.getField('border_top', el),
6283 e2pdf.properties.getField('border_left', el),
6284 e2pdf.properties.getField('border_right', el),
6285 e2pdf.properties.getField('border_bottom', el),
6286 e2pdf.properties.getField('z_index', el)
6287 ],
6288 'position': 'right',
6289 'classes': [
6290 'e2pdf-w100',
6291 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6292 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6293 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6294 'e2pdf-w25 e2pdf-fnl',
6295 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6296 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6297 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6298 'e2pdf-w25 e2pdf-fnl',
6299 'e2pdf-w100',
6300 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6301 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6302 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6303 'e2pdf-w25 e2pdf-fnl',
6304 'e2pdf-w100'
6305 ]
6306 };
6307 obj['value'] = {
6308 'name': e2pdf.lang.get('Value'),
6309 'fields': [
6310 e2pdf.properties.getField('value', el),
6311 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6312 e2pdf.properties.getField('preg_pattern', el),
6313 e2pdf.properties.getField('preg_replacement', el),
6314 e2pdf.properties.getField('preg_match_all_pattern', el),
6315 e2pdf.properties.getField('preg_match_all_output', el)
6316 ],
6317 'position': 'bottom',
6318 'classes': [
6319 'e2pdf-w100 e2pdf-hide-label',
6320 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6321 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6322 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6323 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6324 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6325 ]
6326 };
6327 }
6328
6329 if (el.data('data-type') === 'e2pdf-barcode') {
6330 obj['barcode'] = {
6331 'name': e2pdf.lang.get('Barcode'),
6332 'fields': [
6333 e2pdf.properties.getField('text_color', el),
6334 e2pdf.properties.getField('text_font', el),
6335 e2pdf.properties.getField('text_font_size', el),
6336 e2pdf.properties.getField('text_line_height', el),
6337 e2pdf.properties.getField('color', el),
6338 e2pdf.properties.getField('format', el),
6339 e2pdf.properties.getField('wq', el),
6340 e2pdf.properties.getField('horizontal', el),
6341 e2pdf.properties.getField('vertical', el),
6342 e2pdf.properties.getField('scale', el),
6343 e2pdf.properties.getField('rotation', el),
6344 e2pdf.properties.getField('dimension', el),
6345 e2pdf.properties.getField('hl', el)
6346 ],
6347 'position': 'left',
6348 'classes': [
6349 'e2pdf-w100',
6350 'e2pdf-w60 e2pdf-pr10',
6351 'e2pdf-w40',
6352 'e2pdf-w100',
6353 'e2pdf-w100',
6354 'e2pdf-w50',
6355 'e2pdf-w50 e2pdf-pl10',
6356 'e2pdf-w50',
6357 'e2pdf-w50 e2pdf-pl10',
6358 'e2pdf-w50',
6359 'e2pdf-w50 e2pdf-pl10',
6360 'e2pdf-pr10',
6361 'e2pdf-pr10'
6362 ]
6363 };
6364 obj['style'] = {
6365 'name': e2pdf.lang.get('Style'),
6366 'fields': [
6367 e2pdf.properties.getField('background', el),
6368 e2pdf.properties.getField('margin_top', el),
6369 e2pdf.properties.getField('margin_left', el),
6370 e2pdf.properties.getField('margin_right', el),
6371 e2pdf.properties.getField('margin_bottom', el),
6372 e2pdf.properties.getField('padding_top', el),
6373 e2pdf.properties.getField('padding_left', el),
6374 e2pdf.properties.getField('padding_right', el),
6375 e2pdf.properties.getField('padding_bottom', el),
6376 e2pdf.properties.getField('border_color', el),
6377 e2pdf.properties.getField('border_top', el),
6378 e2pdf.properties.getField('border_left', el),
6379 e2pdf.properties.getField('border_right', el),
6380 e2pdf.properties.getField('border_bottom', el),
6381 e2pdf.properties.getField('z_index', el)
6382 ],
6383 'position': 'right',
6384 'classes': [
6385 'e2pdf-w100',
6386 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6387 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6388 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6389 'e2pdf-w25 e2pdf-fnl',
6390 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6391 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6392 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6393 'e2pdf-w25 e2pdf-fnl',
6394 'e2pdf-w100',
6395 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6396 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6397 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6398 'e2pdf-w25 e2pdf-fnl',
6399 'e2pdf-w100'
6400 ]
6401 };
6402 obj['value'] = {
6403 'name': e2pdf.lang.get('Value'),
6404 'fields': [
6405 e2pdf.properties.getField('value', el),
6406 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6407 e2pdf.properties.getField('preg_pattern', el),
6408 e2pdf.properties.getField('preg_replacement', el),
6409 e2pdf.properties.getField('preg_match_all_pattern', el),
6410 e2pdf.properties.getField('preg_match_all_output', el)
6411 ],
6412 'position': 'bottom',
6413 'classes': [
6414 'e2pdf-w100 e2pdf-hide-label',
6415 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6416 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6417 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6418 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6419 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6420 ]
6421 };
6422 }
6423
6424 if (el.data('data-type') === 'e2pdf-graph') {
6425 obj['graph'] = {
6426 'name': e2pdf.lang.get('Graph'),
6427 'fields': [
6428 e2pdf.properties.getField('g_type', el),
6429 e2pdf.properties.getField('text_font', el),
6430 e2pdf.properties.getField('g_palette', el),
6431 e2pdf.properties.getField('g_stroke_colour', el),
6432 e2pdf.properties.getField('g_stroke_width', el),
6433 e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6434 e2pdf.properties.getField('g_sort', el),
6435 e2pdf.properties.getField('g_fill_under', el),
6436 e2pdf.properties.getField('g_reverse', el),
6437 e2pdf.properties.getField('g_percentage', el),
6438 ],
6439 'position': 'left',
6440 'classes': [
6441 'e2pdf-w100',
6442 'e2pdf-w100',
6443 'e2pdf-w100',
6444 'e2pdf-w70 e2pdf-pr10',
6445 'e2pdf-w30',
6446 'e2pdf-pr10',
6447 'e2pdf-pr10',
6448 'e2pdf-pr10',
6449 'e2pdf-pr10',
6450 'e2pdf-pr10',
6451 ]
6452 };
6453 obj['title'] = {
6454 'name': e2pdf.lang.get('Title'),
6455 'fields': [
6456 e2pdf.properties.getField('g_graph_title_colour', el),
6457 e2pdf.properties.getField('g_graph_title', el),
6458 e2pdf.properties.getField('g_graph_title_font_size', el),
6459 e2pdf.properties.getField('g_graph_title_position', el),
6460 e2pdf.properties.getField('g_graph_title_space', el),
6461 ],
6462 'position': 'left',
6463 'classes': [
6464 'e2pdf-w100',
6465 'e2pdf-w60 e2pdf-pr10',
6466 'e2pdf-w40',
6467 'e2pdf-w70 e2pdf-pr10',
6468 'e2pdf-w30',
6469 ]
6470 };
6471 obj['labels'] = {
6472 'name': e2pdf.lang.get('Labels'),
6473 'fields': [
6474 e2pdf.properties.getField('g_label_colour', el),
6475 e2pdf.properties.getField('g_label_font_size', el),
6476 e2pdf.properties.getField('g_label_space', el),
6477 e2pdf.properties.getField('g_label_v', el),
6478 e2pdf.properties.getField('g_label_h', el),
6479 e2pdf.properties.getField('g_show_labels', el),
6480 e2pdf.properties.getField('g_show_label_key', el),
6481 e2pdf.properties.getField('g_show_label_amount', el),
6482 e2pdf.properties.getField('g_show_label_percent', el),
6483 ],
6484 'position': 'left',
6485 'classes': [
6486 'e2pdf-w100',
6487 'e2pdf-w70 e2pdf-pr10',
6488 'e2pdf-w30',
6489 'e2pdf-w50 e2pdf-pr10',
6490 'e2pdf-w50',
6491 'e2pdf-pr10',
6492 'e2pdf-pr10',
6493 'e2pdf-pr10',
6494 'e2pdf-pr10',
6495 ]
6496 };
6497 obj['marker'] = {
6498 'name': e2pdf.lang.get('Markers'),
6499 'fields': [
6500 e2pdf.properties.getField('g_marker_colour', el),
6501 e2pdf.properties.getField('g_marker_size', el),
6502 e2pdf.properties.getField('g_marker_dynamic_colour', el),
6503 e2pdf.properties.getField('g_marker_type', el),
6504 ],
6505 'position': 'left',
6506 'classes': [
6507 'e2pdf-w70 e2pdf-pr10',
6508 'e2pdf-w30',
6509 'e2pdf-w100',
6510 'e2pdf-w100'
6511 ]
6512 };
6513 obj['legend'] = {
6514 'name': e2pdf.lang.get('Legend'),
6515 'fields': [
6516 e2pdf.properties.getField('g_legend_back_colour', el),
6517 e2pdf.properties.getField('g_legend_stroke_colour', el),
6518 e2pdf.properties.getField('g_legend_stroke_width', el),
6519 e2pdf.properties.getField('g_legend_entry_width', el),
6520 e2pdf.properties.getField('g_legend_entry_height', el),
6521 e2pdf.properties.getField('g_legend_padding_x', el),
6522 e2pdf.properties.getField('g_legend_padding_y', el),
6523 e2pdf.properties.getField('g_legend_colour', el),
6524 e2pdf.properties.getField('g_legend_title', el),
6525 e2pdf.properties.getField('g_legend_title_font_size', el),
6526 e2pdf.properties.getField('g_legend_font_size', el),
6527 e2pdf.properties.getField('g_legend_position_horizontal', el),
6528 e2pdf.properties.getField('g_legend_position_vertical', el),
6529 e2pdf.properties.getField('g_legend_position_join', el),
6530 e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6531 e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6532 e2pdf.properties.getField('g_legend_text_side', el),
6533 e2pdf.properties.getField('g_legend_columns', el),
6534 e2pdf.properties.getField('g_show_legend', el),
6535 ],
6536 'position': 'left',
6537 'classes': [
6538 'e2pdf-w100',
6539 'e2pdf-w60 e2pdf-pr10',
6540 'e2pdf-w40',
6541 'e2pdf-w50',
6542 'e2pdf-w50 e2pdf-pl10',
6543 'e2pdf-w50',
6544 'e2pdf-w50 e2pdf-pl10',
6545 'e2pdf-w100',
6546 'e2pdf-w70 e2pdf-pr10',
6547 'e2pdf-w30',
6548 'e2pdf-w100',
6549 'e2pdf-w33 e2pdf-pr10',
6550 'e2pdf-w33',
6551 'e2pdf-w33 e2pdf-pl10',
6552 'e2pdf-w50 e2pdf-pr10',
6553 'e2pdf-w50',
6554 'e2pdf-w70 e2pdf-pr10',
6555 'e2pdf-w30',
6556 'e2pdf-pr10'
6557 ]
6558 };
6559 obj['additional'] = {
6560 'name': 'Additional',
6561 'fields': [
6562 e2pdf.properties.getField('g_bubble_scale', el),
6563 e2pdf.properties.getField('g_increment', el),
6564 e2pdf.properties.getField('g_stack_group', el),
6565 e2pdf.properties.getField('g_line_dataset', el),
6566 e2pdf.properties.getField('g_project_angle', el),
6567 e2pdf.properties.getField('g_line_curve', el),
6568 e2pdf.properties.getField('g_depth', el),
6569 e2pdf.properties.getField('g_aspect_ratio', el),
6570 e2pdf.properties.getField('g_inner_radius', el),
6571 e2pdf.properties.getField('g_start_angle', el)
6572 ],
6573 'position': 'left',
6574 'classes': [
6575 'e2pdf-w50 e2pdf-pr10',
6576 'e2pdf-w50',
6577 'e2pdf-w50 e2pdf-pr10',
6578 'e2pdf-w50',
6579 'e2pdf-w50 e2pdf-pr10',
6580 'e2pdf-w50',
6581 'e2pdf-w50 e2pdf-pr10',
6582 'e2pdf-w50',
6583 'e2pdf-w50 e2pdf-pr10',
6584 'e2pdf-w50'
6585 ]
6586 };
6587 obj['grid'] = {
6588 'name': e2pdf.lang.get('Grid'),
6589 'fields': [
6590 e2pdf.properties.getField('g_grid_colour', el),
6591 e2pdf.properties.getField('g_grid_subdivision_colour', el),
6592 e2pdf.properties.getField('g_minimum_grid_spacing', el),
6593 e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6594 e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6595 e2pdf.properties.getField('g_grid_division_h', el),
6596 e2pdf.properties.getField('g_grid_division_v', el),
6597 e2pdf.properties.getField('g_show_grid', el),
6598 e2pdf.properties.getField('g_show_grid_subdivisions', el)
6599 ],
6600 'position': 'right',
6601 'classes': [
6602 'e2pdf-w100',
6603 'e2pdf-w100',
6604 'e2pdf-w100',
6605 'e2pdf-w50 e2pdf-pr10',
6606 'e2pdf-w50',
6607 'e2pdf-w50 e2pdf-pr10',
6608 'e2pdf-w50',
6609 'e2pdf-pr10',
6610 'e2pdf-pr10'
6611 ]
6612 };
6613 obj['axis'] = {
6614 'name': e2pdf.lang.get('Axis'),
6615 'fields': [
6616 e2pdf.properties.getField('g_axis_colour', el),
6617 e2pdf.properties.getField('g_axis_font_size', el),
6618 e2pdf.properties.getField('g_axis_overlap', el),
6619 e2pdf.properties.getField('g_show_subdivisions', el),
6620 ],
6621 'position': 'right',
6622 'classes': [
6623 'e2pdf-w60 e2pdf-pr10',
6624 'e2pdf-w40',
6625 'e2pdf-w100',
6626 'e2pdf-w50 e2pdf-pr10',
6627 ]
6628 };
6629 obj['axis_v'] = {
6630 'name': e2pdf.lang.get('Axis (V)'),
6631 'fields': [
6632 e2pdf.properties.getField('g_axis_stroke_width_v', el),
6633 e2pdf.properties.getField('g_show_axis_v', el),
6634 e2pdf.properties.getField('g_show_axis_text_v', el),
6635 e2pdf.properties.getField('g_axis_min_v', el),
6636 e2pdf.properties.getField('g_axis_max_v', el),
6637 e2pdf.properties.getField('g_axis_min_max_v', el),
6638 e2pdf.properties.getField('g_axis_text_position_v', el),
6639 e2pdf.properties.getField('g_axis_text_align_v', el),
6640 e2pdf.properties.getField('g_axis_text_space_v', el),
6641 e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6642 e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6643 e2pdf.properties.getField('g_units_x', el),
6644 ],
6645 'position': 'right',
6646 'classes': [
6647 'e2pdf-w33 e2pdf-pr10',
6648 'e2pdf-w33 e2pdf-sublabel',
6649 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6650 'e2pdf-w33 e2pdf-pr10',
6651 'e2pdf-w33',
6652 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6653 'e2pdf-w33 e2pdf-pr10',
6654 'e2pdf-w33',
6655 'e2pdf-w33 e2pdf-pl10',
6656 'e2pdf-w33 e2pdf-pr10',
6657 'e2pdf-w33',
6658 'e2pdf-w33 e2pdf-pl10',
6659 ]
6660 };
6661 obj['axis_h'] = {
6662 'name': e2pdf.lang.get('Axis (H)'),
6663 'fields': [
6664 e2pdf.properties.getField('g_axis_stroke_width_h', el),
6665 e2pdf.properties.getField('g_show_axis_h', el),
6666 e2pdf.properties.getField('g_show_axis_text_h', el),
6667 e2pdf.properties.getField('g_axis_min_h', el),
6668 e2pdf.properties.getField('g_axis_max_h', el),
6669 e2pdf.properties.getField('g_axis_min_max_h', el),
6670 e2pdf.properties.getField('g_axis_text_position_h', el),
6671 e2pdf.properties.getField('g_axis_text_align_h', el),
6672 e2pdf.properties.getField('g_axis_text_space_h', el),
6673 e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6674 e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6675 e2pdf.properties.getField('g_units_y', el),
6676 ],
6677 'position': 'right',
6678 'classes': [
6679 'e2pdf-w33 e2pdf-pr10',
6680 'e2pdf-w33 e2pdf-sublabel',
6681 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6682 'e2pdf-w33 e2pdf-pr10',
6683 'e2pdf-w33',
6684 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6685 'e2pdf-w33 e2pdf-pr10',
6686 'e2pdf-w33',
6687 'e2pdf-w33 e2pdf-pl10',
6688 'e2pdf-w33 e2pdf-pr10',
6689 'e2pdf-w33',
6690 'e2pdf-w33 e2pdf-pl10',
6691 ]
6692 };
6693 obj['bar'] = {
6694 'name': 'Bar',
6695 'fields': [
6696 e2pdf.properties.getField('g_bar_width', el),
6697 e2pdf.properties.getField('g_bar_width_min', el),
6698 e2pdf.properties.getField('g_bar_space', el),
6699 ],
6700 'position': 'right',
6701 'classes': [
6702 'e2pdf-w33 e2pdf-pr10',
6703 'e2pdf-w33',
6704 'e2pdf-w33 e2pdf-pl10',
6705 ]
6706 };
6707 obj['barlabel'] = {
6708 'name': 'Bar Label',
6709 'fields': [
6710 e2pdf.properties.getField('g_bar_label_colour', el),
6711 e2pdf.properties.getField('g_bar_label_font_size', el),
6712 e2pdf.properties.getField('g_units_label', el),
6713 e2pdf.properties.getField('g_data_label_type', el),
6714 e2pdf.properties.getField('g_bar_label_space', el),
6715 e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6716 e2pdf.properties.getField('g_bar_label_position_vertical', el),
6717 e2pdf.properties.getField('g_bar_label_position_join', el),
6718 e2pdf.properties.getField('g_show_bar_labels', el),
6719 ],
6720 'position': 'right',
6721 'classes': [
6722 'e2pdf-w70 e2pdf-pr10',
6723 'e2pdf-w30',
6724 'e2pdf-w100',
6725 'e2pdf-w50 e2pdf-pr10',
6726 'e2pdf-w50',
6727 'e2pdf-w33 e2pdf-pr10',
6728 'e2pdf-w33',
6729 'e2pdf-w33 e2pdf-pl10',
6730 'e2pdf-pr10',
6731 ]
6732 };
6733 obj['style'] = {
6734 'name': e2pdf.lang.get('Style'),
6735 'fields': [
6736 e2pdf.properties.getField('background', el),
6737 e2pdf.properties.getField('margin_top', el),
6738 e2pdf.properties.getField('margin_left', el),
6739 e2pdf.properties.getField('margin_right', el),
6740 e2pdf.properties.getField('margin_bottom', el),
6741 e2pdf.properties.getField('padding_top', el),
6742 e2pdf.properties.getField('padding_left', el),
6743 e2pdf.properties.getField('padding_right', el),
6744 e2pdf.properties.getField('padding_bottom', el),
6745 e2pdf.properties.getField('border_color', el),
6746 e2pdf.properties.getField('border_top', el),
6747 e2pdf.properties.getField('border_left', el),
6748 e2pdf.properties.getField('border_right', el),
6749 e2pdf.properties.getField('border_bottom', el),
6750 e2pdf.properties.getField('z_index', el),
6751 ],
6752 'position': 'right',
6753 'classes': [
6754 'e2pdf-w100',
6755 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6756 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6757 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6758 'e2pdf-w25 e2pdf-fnl',
6759 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6760 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6761 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6762 'e2pdf-w25 e2pdf-fnl',
6763 'e2pdf-w100',
6764 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6765 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6766 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6767 'e2pdf-w25 e2pdf-fnl',
6768 'e2pdf-w100',
6769 ]
6770 };
6771 obj['structure'] = {
6772 'name': e2pdf.lang.get('Structure'),
6773 'fields': [
6774 e2pdf.properties.getField('g_structure_key', el),
6775 e2pdf.properties.getField('g_structure_value', el),
6776 e2pdf.properties.getField('g_structure_colour', el),
6777 e2pdf.properties.getField('g_structure_axis_text', el),
6778 e2pdf.properties.getField('g_structure_legend_text', el),
6779 e2pdf.properties.getField('g_structure_label', el),
6780 e2pdf.properties.getField('g_structure_area', el),
6781 e2pdf.properties.getField('g_structure_open', el),
6782 e2pdf.properties.getField('g_structure_end', el),
6783 e2pdf.properties.getField('g_structure_outliers', el),
6784 e2pdf.properties.getField('g_structure_top', el),
6785 e2pdf.properties.getField('g_structure_bottom', el),
6786 e2pdf.properties.getField('g_structure_wtop', el),
6787 e2pdf.properties.getField('g_structure_wbottom', el),
6788 e2pdf.properties.getField('g_structure_high', el),
6789 e2pdf.properties.getField('g_structure_low', el),
6790 e2pdf.properties.getField('g_structured_data', el),
6791 ],
6792 'position': 'bottom',
6793 'classes': [
6794 'e2pdf-w33 e2pdf-pr10',
6795 'e2pdf-w33',
6796 'e2pdf-w33 e2pdf-pl10',
6797 'e2pdf-w33 e2pdf-pr10',
6798 'e2pdf-w33',
6799 'e2pdf-w33 e2pdf-pl10',
6800 'e2pdf-w33 e2pdf-pr10',
6801 'e2pdf-w33',
6802 'e2pdf-w33 e2pdf-pl10',
6803 'e2pdf-w33 e2pdf-pr10',
6804 'e2pdf-w33',
6805 'e2pdf-w33 e2pdf-pl10',
6806 'e2pdf-w33 e2pdf-pr10',
6807 'e2pdf-w33',
6808 'e2pdf-w33 e2pdf-pl10',
6809 'e2pdf-w33 e2pdf-pr10',
6810 'e2pdf-w33 e2pdf-sublabel',
6811 ]
6812 };
6813 obj['value'] = {
6814 'name': '',
6815 'fields': [
6816 e2pdf.properties.getField('g_key_sep', el),
6817 e2pdf.properties.getField('g_array_sep', el),
6818 e2pdf.properties.getField('g_sub_array_sep', el),
6819 e2pdf.properties.getField('g_legends', el),
6820 e2pdf.properties.getField('g_colors', el),
6821 e2pdf.properties.getField('value', el),
6822 e2pdf.properties.getField('g_multiline', el),
6823 e2pdf.properties.getField('g_reverse_data', el),
6824 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6825 e2pdf.properties.getField('preg_pattern', el),
6826 e2pdf.properties.getField('preg_replacement', el),
6827 e2pdf.properties.getField('preg_match_all_pattern', el),
6828 e2pdf.properties.getField('preg_match_all_output', el),
6829 ],
6830 'position': 'bottom',
6831 'classes': [
6832 'e2pdf-w33 e2pdf-pr10',
6833 'e2pdf-w33',
6834 'e2pdf-w33 e2pdf-pl10',
6835 'e2pdf-w100',
6836 'e2pdf-w100',
6837 'e2pdf-w100 e2pdf-strong-label',
6838 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6839 'e2pdf-w30 e2pdf-pr10',
6840 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6841 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6842 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6843 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6844 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6845 ]
6846 };
6847 }
6848
6849 if (el.data('data-type') === 'e2pdf-rectangle') {
6850 obj['style'] = {
6851 'name': e2pdf.lang.get('Style'),
6852 'fields': [
6853 e2pdf.properties.getField('background', el),
6854 e2pdf.properties.getField('z_index', el),
6855 ],
6856 'position': 'bottom',
6857 'classes': [
6858 'e2pdf-w50 e2pdf-pr10',
6859 'e2pdf-w50 e2pdf-pl10',
6860 ]
6861 };
6862 }
6863
6864 if (el.data('data-type') === 'e2pdf-link') {
6865 obj['field'] = {
6866 'name': e2pdf.lang.get('Field'),
6867 'fields': [
6868 e2pdf.properties.getField('text_color', el),
6869 e2pdf.properties.getField('text_font', el),
6870 e2pdf.properties.getField('text_font_size', el),
6871 e2pdf.properties.getField('text_letter_spacing', el),
6872 e2pdf.properties.getField('text_line_height', el),
6873 e2pdf.properties.getField('text_align', el),
6874 e2pdf.properties.getField('vertical', el),
6875 e2pdf.properties.getField('rtl', el),
6876 e2pdf.properties.getField('underline', el),
6877 ],
6878 'position': 'left',
6879 'classes': [
6880 'e2pdf-w100',
6881 'e2pdf-w100',
6882 'e2pdf-w50',
6883 'e2pdf-w50 e2pdf-pl10',
6884 'e2pdf-w50',
6885 'e2pdf-w50 e2pdf-pl10',
6886 'e2pdf-w70',
6887 'e2pdf-w30 e2pdf-pl10',
6888 'e2pdf-w33'
6889 ]
6890 };
6891 obj['style'] = {
6892 'name': e2pdf.lang.get('Style'),
6893 'fields': [
6894 e2pdf.properties.getField('z_index', el)
6895 ],
6896 'position': 'right',
6897 'classes': [
6898 'e2pdf-w100'
6899 ]
6900 };
6901 obj['value'] = {
6902 'name': e2pdf.lang.get('Value'),
6903 'fields': [
6904 e2pdf.properties.getField('link_label', el),
6905 e2pdf.properties.getField('link_type', el),
6906 e2pdf.properties.getField('highlight', el),
6907 e2pdf.properties.getField('value', el),
6908 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6909 e2pdf.properties.getField('preg_pattern', el),
6910 e2pdf.properties.getField('preg_replacement', el),
6911 e2pdf.properties.getField('preg_match_all_pattern', el),
6912 e2pdf.properties.getField('preg_match_all_output', el)
6913 ],
6914 'position': 'bottom',
6915 'classes': [
6916 'e2pdf-w50 e2pdf-pr10',
6917 'e2pdf-w25 e2pdf-pr10',
6918 'e2pdf-w25',
6919 'e2pdf-w100',
6920 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6921 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6922 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6923 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6924 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6925 ]
6926 };
6927 }
6928 }
6929
6930 // tpl-properties
6931 if (el.data('data-type') === 'e2pdf-tpl') {
6932 if (actions) {
6933 if (actions) {
6934 obj['actions'] = {
6935 'name': e2pdf.lang.get('Actions'),
6936 'fields': e2pdf.actions.renderFields(el),
6937 'position': 'bottom'
6938 };
6939 }
6940 } else {
6941 obj['value'] = {
6942 'name': '',
6943 'fields': [
6944 e2pdf.properties.getField('css', el),
6945 ],
6946 'position': 'bottom',
6947 'classes': [
6948 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6949 ]
6950 };
6951 }
6952 } else {
6953 if (actions) {
6954 obj['actions'] = {
6955 'name': e2pdf.lang.get('Actions'),
6956 'fields': e2pdf.actions.renderFields(el),
6957 'position': 'bottom'
6958 };
6959 }
6960 }
6961 return obj;
6962 },
6963 // e2pdf.properties.renderFields
6964 renderFields: function (el, actions = true) {
6965 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
6966 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
6967 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
6968 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
6969 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
6970 if (el.data('data-type') == 'e2pdf-tpl') {
6971 fields_top = '';
6972 fields_left = '';
6973 fields_right = '';
6974 } else if (el.data('data-type') == 'e2pdf-page') {
6975 fields_left = '';
6976 fields_right = '';
6977 }
6978
6979 var groups = e2pdf.properties.getFields(el, actions);
6980 if (groups) {
6981 for (var group_key in groups) {
6982 if (group_key === 'actions') {
6983 var group = groups[group_key];
6984 var block = jQuery('<div>');
6985 if (group.name) {
6986 block.append(jQuery('<label>').html(group.name + ':'));
6987 }
6988 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
6989 grid.append(group.fields);
6990 block.append(grid);
6991 if (group.position === 'top') {
6992 fields_top.append(block);
6993 } else if (group.position === 'left') {
6994 fields_left.append(block);
6995 } else if (group.position === 'right') {
6996 fields_right.append(block);
6997 } else {
6998 fields_bottom.append(block);
6999 }
7000 } else {
7001 var group = groups[group_key];
7002 var block = jQuery('<div>');
7003 if (group.name) {
7004 block.append(jQuery('<label>').html(group.name + ':'));
7005 }
7006 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
7007 for (var field_key in group.fields) {
7008
7009 var group_field = group.fields[field_key];
7010 var classes = '';
7011 if (group.classes) {
7012 if (group.classes[field_key]) {
7013 classes = group.classes[field_key];
7014 }
7015 }
7016 var field = '';
7017 var label = '';
7018 var wrap = '';
7019 var hidden = '';
7020 if (group_field.type === 'text') {
7021 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7022 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
7023 } else if (group_field.type === 'hidden') {
7024 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
7025 } else if (group_field.type === 'textarea') {
7026 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7027 var rows = '5';
7028 if (group_field.key == 'g_legends' || group_field.key == 'g_colors') {
7029 rows = '3';
7030 }
7031 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
7032 } else if (group_field.type === 'checkbox') {
7033 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7034 label = group_field.name;
7035 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
7036 if (group_field.value == group_field.option) {
7037 field.prop('checked', true);
7038 }
7039 if (jQuery.inArray('keep', group_field.atts) !== -1) {
7040 hidden = jQuery('<input>', {
7041 type: 'hidden',
7042 name: group_field.key,
7043 value: '0'
7044 });
7045 }
7046 } else if (group_field.type === 'color') {
7047 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
7048 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7049 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
7050 } else if (group_field.type === 'select') {
7051 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7052 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
7053 for (var option_key in group_field.options) {
7054 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
7055 }
7056 field.val(group_field.value);
7057 } else if (group_field.type === 'link') {
7058 field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
7059 }
7060 for (var att_key in group_field.atts) {
7061 var att = group_field.atts[att_key];
7062 switch (att) {
7063 case 'readonly':
7064 field.attr('readonly', 'readonly');
7065 break;
7066 case 'disabled':
7067 field.attr('disabled', 'disabled');
7068 break;
7069 case 'number':
7070 field.addClass('e2pdf-numbers');
7071 break;
7072 case 'number-negative':
7073 field.addClass('e2pdf-number-negative');
7074 break;
7075 case 'autocomplete':
7076 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
7077 field.addClass('e2pdf-autocomplete-cl');
7078 field.autocomplete({
7079 source: group_field.source,
7080 minLength: 0,
7081 appendTo: wrap,
7082 open: function () {
7083 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7084 },
7085 classes: {
7086 "ui-autocomplete": "e2pdf-autocomplete"
7087 }
7088 });
7089 break;
7090 case 'collapse':
7091 field.attr('data-collapse', group_field.collapse);
7092 break;
7093 }
7094 }
7095 if (!wrap) {
7096 wrap = field;
7097 } else {
7098 wrap.prepend(field);
7099 }
7100 if (group_field.type === 'checkbox') {
7101 if (hidden) {
7102 wrap.prepend(hidden);
7103 }
7104 wrap.append(" " + label);
7105 if (classes.includes('e2pdf-sublabel')) {
7106 var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7107 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7108 } else {
7109 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7110 }
7111 } else {
7112 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7113 }
7114 }
7115 block.append(grid);
7116 if (group.position === 'top') {
7117 fields_top.append(block);
7118 } else if (group.position === 'left') {
7119 fields_left.append(block);
7120 } else if (group.position === 'right') {
7121 fields_right.append(block);
7122 } else {
7123 fields_bottom.append(block);
7124 }
7125 }
7126 }
7127 }
7128 fields.append(fields_top, fields_left, fields_right, fields_bottom);
7129 return fields;
7130 },
7131 // e2pdf.properties.apply
7132 apply: function (el, data, onload) {
7133 if (onload !== true) {
7134 var groups = e2pdf.properties.getFields(el);
7135 for (var group_key in groups) {
7136 var group = groups[group_key];
7137 for (var field_key in group.fields) {
7138 var group_field = group.fields[field_key];
7139 var property = group_field['key'];
7140 if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7141 switch (group_field['type']) {
7142 case 'text':
7143 if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7144 delete data[property];
7145 }
7146 break;
7147 case 'color':
7148 case 'select':
7149 case 'textarea':
7150 if (!data[property]) {
7151 delete data[property];
7152 }
7153 break;
7154 }
7155 }
7156 }
7157 }
7158 }
7159 el.data('data-properties', JSON.stringify(data));
7160 },
7161 // e2pdf.properties.set
7162 set: function (el, key, value) {
7163 var properties = e2pdf.properties.get(el);
7164 properties[key] = value;
7165 e2pdf.properties.apply(el, properties);
7166 },
7167 // e2pdf.properties.getValue
7168 getValue: function (el, key, type = '') {
7169 var properties = e2pdf.properties.get(el);
7170 if (type) {
7171 if (type == 'string') {
7172 return e2pdf.helper.getString(properties[key]);
7173 } else if (type == 'checkbox') {
7174 return e2pdf.helper.getCheckbox(properties[key]);
7175 } else if (type == 'int') {
7176 return e2pdf.helper.getInt(properties[key]);
7177 } else if (type == 'float') {
7178 return e2pdf.helper.getFloat(properties[key]);
7179 } else {
7180 return '';
7181 }
7182 } else if (properties.hasOwnProperty(key)) {
7183 if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7184 return e2pdf.helper.toHtml(properties[key]);
7185 } else {
7186 return properties[key];
7187 }
7188 } else {
7189 return '';
7190 }
7191 },
7192 // e2pdf.properties.get
7193 get: function (el) {
7194 var properties = [];
7195 if (typeof el.data('data-properties') !== 'undefined') {
7196 properties = JSON.parse(el.data('data-properties'));
7197 if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7198 properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7199 properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7200 properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7201 properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
7202 }
7203 }
7204 return properties;
7205 },
7206 // e2pdf.properties.render
7207 render: function (el) {
7208 var properties = e2pdf.properties.get(el);
7209 var children = e2pdf.element.children(el);
7210 if (properties.hasOwnProperty('options')) {
7211 if (el.data('data-type') === 'e2pdf-select') {
7212 children.find('option').remove();
7213 var options = properties['options'].split("\n");
7214 if (typeof options !== 'undefined' && options.length > 0) {
7215 for (var key in options) {
7216 children.append(
7217 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
7218 );
7219 }
7220 }
7221 }
7222 }
7223 switch (el.data('data-type')) {
7224 case 'e2pdf-html':
7225 var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7226 if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7227 children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7228 children = e2pdf.element.children(el);
7229 } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7230 children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7231 children = e2pdf.element.children(el);
7232 }
7233 if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7234 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7235 children.val(e2pdf.helper.getString(properties['value']));
7236 } else {
7237 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7238 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
7239 }
7240 break;
7241 case 'e2pdf-page-number':
7242 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7243 break;
7244 case 'e2pdf-link':
7245 children.text(e2pdf.helper.getString(properties['link_label']));
7246 break;
7247 case 'e2pdf-input':
7248 case 'e2pdf-textarea':
7249 case 'e2pdf-select':
7250 children.val(e2pdf.helper.getString(properties['value']));
7251 break;
7252 case 'e2pdf-checkbox':
7253 if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7254 children.prop('checked', true);
7255 } else {
7256 children.prop('checked', false);
7257 }
7258 break;
7259 case 'e2pdf-radio':
7260 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7261 var radio = jQuery(this).parent();
7262 var radio_properties = e2pdf.properties.get(radio);
7263 if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7264 e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7265 e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7266 e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7267 if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7268 jQuery(this).prop('checked', true);
7269 } else {
7270 jQuery(this).prop('checked', false);
7271 }
7272 }
7273 });
7274 break;
7275 case 'e2pdf-image':
7276 case 'e2pdf-qrcode':
7277 case 'e2pdf-barcode':
7278 case 'e2pdf-signature':
7279 case 'e2pdf-graph':
7280 e2pdf.helper.image.load(el);
7281 break;
7282 }
7283
7284 if (el.data('data-type') === 'e2pdf-select') {
7285 children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
7286 }
7287
7288 if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7289 children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
7290 }
7291
7292 el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7293 if (el.data('data-type') === 'e2pdf-select' ||
7294 el.data('data-type') === 'e2pdf-input' ||
7295 el.data('data-type') === 'e2pdf-textarea' ||
7296 el.data('data-type') === 'e2pdf-html' ||
7297 el.data('data-type') === 'e2pdf-page-number') {
7298 if (e2pdf.helper.getString(properties['rtl']) != '') {
7299 children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
7300 } else {
7301 children.attr('dir', false);
7302 }
7303 }
7304
7305 if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7306 children.css('background', e2pdf.helper.getString(properties['background']));
7307 } else {
7308 el.css('background', e2pdf.helper.getString(properties['background']));
7309 }
7310
7311 if (el.data('data-type') === 'e2pdf-input' ||
7312 el.data('data-type') === 'e2pdf-textarea' ||
7313 el.data('data-type') === 'e2pdf-select' ||
7314 el.data('data-type') === 'e2pdf-radio' ||
7315 el.data('data-type') === 'e2pdf-checkbox'
7316 ) {
7317 children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7318 } else {
7319 el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7320 el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7321 el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7322 el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7323 }
7324
7325 el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7326 el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7327 el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7328 el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7329 if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7330 el.css('color', e2pdf.helper.getString(properties['text_color']));
7331 } else if (el.data('data-type') === 'e2pdf-input' ||
7332 el.data('data-type') === 'e2pdf-textarea' ||
7333 el.data('data-type') === 'e2pdf-select' ||
7334 el.data('data-type') === 'e2pdf-radio' ||
7335 el.data('data-type') === 'e2pdf-checkbox'
7336 ) {
7337 children.css('color', e2pdf.helper.getString(properties['text_color']));
7338 }
7339
7340 var font = e2pdf.helper.getString(properties['text_font']);
7341 if (font) {
7342 var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7343 if (typeof path === 'undefined') {
7344 el.css('font-family', '');
7345 } else {
7346 var tmp = jQuery('<div>', {'name': font, 'path': path});
7347 e2pdf.font.load(tmp);
7348 el.css('font-family', CSS.escape(font));
7349 }
7350 } else {
7351 el.css('font-family', '');
7352 }
7353
7354 el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7355 el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7356 children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7357 if (el.data('data-type') === 'e2pdf-textarea') {
7358 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' : '');
7359 } else {
7360 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' : '');
7361 }
7362
7363 if (el.closest('.e2pdf-page').length > 0) {
7364 var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7365 var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7366 var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7367 if (height > page_h) {
7368 var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7369 el.css('top', top + 'px');
7370 } else {
7371 el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
7372 }
7373
7374 var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7375 if (width > page_w) {
7376 var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7377 el.css('left', left + "px");
7378 } else {
7379 el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
7380 }
7381
7382 var width = e2pdf.helper.getFloat(properties['width']);
7383 var left = e2pdf.helper.getFloat(el.css('left'));
7384 if (width > 0) {
7385 if (width > page_w - left) {
7386 el.css('width', page_w - left);
7387 e2pdf.properties.set(el, 'width', page_w - left);
7388 } else {
7389 el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7390 }
7391 }
7392
7393 var height = e2pdf.helper.getFloat(properties['height']);
7394 var top = e2pdf.helper.getFloat(el.css('top'));
7395 if (height > 0) {
7396 if (height > page_h - top) {
7397 el.css('height', page_h - top);
7398 e2pdf.properties.set(el, 'height', page_h - top);
7399 } else {
7400 el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7401 }
7402 }
7403 }
7404
7405 if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7406 el.addClass('e2pdf-locked');
7407 } else {
7408 el.removeClass('e2pdf-locked');
7409 }
7410 }
7411
7412 },
7413 // e2pdf.welcomeScreen
7414 welcomeScreen: function () {
7415 if (jQuery('.e2pdf-page').length === 0) {
7416 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7417 e2pdf.dialog.create(el);
7418 }
7419 },
7420 // e2pdf.createPdf
7421 createPdf: function (el) {
7422 var item = false;
7423 var item1 = false;
7424 var item2 = false;
7425 var action = el.attr('data-action');
7426 var data = e2pdf.form.serializeObject(el.closest('form'));
7427 if (action !== 'upload') {
7428 var disabled_settings = [
7429 'title', 'preset', 'font', 'font_size', 'line_height'
7430 ];
7431 for (var key in data) {
7432 if (jQuery.inArray(key, disabled_settings) === -1) {
7433 if (key == 'activated') {
7434 e2pdf.pdf.settings.change(key, data[key]);
7435 } else {
7436 e2pdf.pdf.settings.change(key, data[key]);
7437 }
7438 }
7439
7440 if (key === 'font') {
7441 jQuery('#e2pdf-font').val(data[key]);
7442 }
7443
7444 if (key === 'font_size') {
7445 jQuery('#e2pdf-font-size').val(data[key]);
7446 }
7447
7448 if (key === 'line_height') {
7449 jQuery('#e2pdf-line-height').val(data[key]);
7450 }
7451
7452 if (key === 'title') {
7453 jQuery('#e2pdf-title').val(data[key]);
7454 }
7455
7456 if (key === 'text_align') {
7457 jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7458 }
7459
7460 if (key === 'rtl') {
7461 jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7462 }
7463 }
7464
7465 if (!data['rtl']) {
7466 jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
7467 }
7468 }
7469
7470 if (action === 'apply') {
7471 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7472 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7473 var option = el.closest('form').find('.e2pdf-item option:selected');
7474 if (option && typeof option.data('data-item') !== 'undefined') {
7475 item = option.data('data-item');
7476 }
7477
7478 if (item && item.id == '-1') {
7479 if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7480 return false;
7481 }
7482 el.attr('form-id', 'e2pdf-build-form');
7483 el.attr('action', 'e2pdf_save_form');
7484 e2pdf.static.unsaved = false;
7485 e2pdf.request.submitForm(el);
7486 return;
7487 } else {
7488 if (item && item.id == '-2') {
7489 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7490 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7491 item1 = option1.data('data-item');
7492 if (item1.id == '-1') {
7493 item1 = false;
7494 }
7495 }
7496
7497 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7498 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7499 item2 = option2.data('data-item');
7500 if (item2.id == '-1') {
7501 item2 = false;
7502 }
7503 }
7504 }
7505
7506 e2pdf.pages.changeTplSize(width, height);
7507 jQuery('.ui-dialog-content').dialog('close');
7508 }
7509 } else if (action === 'empty') {
7510 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7511 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7512 var option = el.closest('form').find('.e2pdf-item option:selected');
7513 if (option && typeof option.data('data-item') !== 'undefined') {
7514 item = option.data('data-item');
7515 if (item.id == '-1') {
7516 item = false;
7517 }
7518 }
7519 if (item && item.id == '-2') {
7520 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7521 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7522 item1 = option1.data('data-item');
7523 if (item1.id == '-1') {
7524 item1 = false;
7525 }
7526 }
7527
7528 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7529 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7530 item2 = option2.data('data-item');
7531 if (item2.id == '-1') {
7532 item2 = false;
7533 }
7534 }
7535 }
7536 e2pdf.pages.changeTplSize(width, height);
7537 e2pdf.pages.createPage();
7538 jQuery('.ui-dialog-content').dialog('close');
7539 } else if (action === 'auto') {
7540 var extension = el.closest('form').find('.e2pdf-extension').val();
7541 var option = el.closest('form').find('.e2pdf-item option:selected');
7542 if (option && typeof option.data('data-item') !== 'undefined') {
7543 item = option.data('data-item');
7544 if (item.id == '-1') {
7545 item = false;
7546 }
7547 }
7548 if (item && item.id == '-2') {
7549 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7550 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7551 item1 = option1.data('data-item');
7552 if (item1.id == '-1') {
7553 item1 = false;
7554 }
7555 }
7556 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7557 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7558 item2 = option2.data('data-item');
7559 if (item2.id == '-1') {
7560 item2 = false;
7561 }
7562 }
7563 }
7564 var data = {};
7565 data['extension'] = extension;
7566 data['item'] = item ? item.id : '';
7567 data['item1'] = item1 ? item1.id : '';
7568 data['item2'] = item2 ? item2.id : '';
7569 data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7570 data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
7571 e2pdf.request.submitRequest('e2pdf_auto', el, data);
7572 } else if (action === 'upload') {
7573 if (e2pdf.pdf.settings.get('ID')) {
7574 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
7575 return false;
7576 }
7577 }
7578 jQuery('.e2pdf-upload-pdf').click();
7579 }
7580 if (action === 'apply' || action === 'empty' || action === 'auto') {
7581 var link = jQuery('<a>', {
7582 'href': 'javascript:void(0);',
7583 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7584 'data-modal': 'tpl-options'
7585 }).html(e2pdf.lang.get('Not linked'));
7586 if (item && item.id) {
7587 if (item.id == '-2') {
7588 if ((item1 && item1.id) || (item2 && item2.id)) {
7589 var link = jQuery('<span>');
7590 if (item1 && item1.id) {
7591 link.append(jQuery('<a>', {
7592 'target': '_blank',
7593 'href': item1.url,
7594 'class': 'e2pdf-link'
7595 }).html(item1.name));
7596 }
7597 if (item1 && item1.id && item2 && item2.id) {
7598 link.append(' | ');
7599 }
7600 if (item2 && item2.id) {
7601 link.append(jQuery('<a>', {
7602 'target': '_blank',
7603 'href': item2.url,
7604 'class': 'e2pdf-link'
7605 }).html(item2.name));
7606 }
7607 link.removeClass('e2pdf-color-red');
7608 }
7609 } else {
7610 link = jQuery('<a>', {
7611 'target': '_blank',
7612 'href': item.url,
7613 'class': 'e2pdf-link'
7614 }).html(item.name);
7615 link.removeClass('e2pdf-color-red');
7616 }
7617 }
7618 jQuery('#e2pdf-post-item').html(link);
7619 }
7620
7621 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
7622 e2pdf.font.load(jQuery('#e2pdf-font'));
7623 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7624 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7625 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7626 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7627 e2pdf.event.fire('after.createPdf');
7628 },
7629 // e2pdf.pages
7630 pages: {
7631 // e2pdf.pages.initEvents
7632 initEvents: function (page) {
7633 page.off('contextmenu');
7634 page.contextmenu(function (e) {
7635 if (jQuery(e.target).hasClass('e2pdf-page')) {
7636 e2pdf.contextMenu(e, page);
7637 e.preventDefault();
7638 }
7639 });
7640 if (page.hasClass('ui-droppable')) {
7641 try {
7642 page.droppable('destroy');
7643 page.removeData('ui-droppable');
7644 } catch (e) {
7645
7646 }
7647 }
7648 page.droppable({
7649 over: function (ev, ui) {
7650 e2pdf.static.drag.page = jQuery(this);
7651 e2pdf.static.guide.guides = [];
7652 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())) {
7653 jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7654 jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7655 var coeff = 1;
7656 if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7657 coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7658 } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7659 coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7660 }
7661 jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7662 jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7663 }
7664
7665 if (ui.draggable.hasClass('e2pdf-clone')) {
7666 jQuery(this).find('.e2pdf-element').each(function () {
7667 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
7668 });
7669 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
7670 } else {
7671 e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
7672 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
7673 }
7674 },
7675 out: function (ev, ui) {
7676 e2pdf.static.drag.page = null;
7677 e2pdf.static.guide.guides = [];
7678 if (jQuery(ui.helper).data('original-width')) {
7679 jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7680 jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7681 jQuery(ui.helper).removeData('original-width');
7682 jQuery(ui.helper).removeData('original-height');
7683 }
7684
7685 },
7686 deactivate: function (ev) {
7687 e2pdf.static.drag.page = null;
7688 e2pdf.static.guide.guides = [];
7689 },
7690 drop: function (ev, ui) {
7691 if (ui.draggable.hasClass('e2pdf-clone')) {
7692 var type = jQuery(ui.draggable).attr('data-type');
7693 var page = jQuery(this).closest('.e2pdf-page');
7694 var pos = {
7695 top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1)),
7696 left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1)),
7697 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))
7698 };
7699 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
7700 return false;
7701 }
7702
7703 var properties = {};
7704 properties['width'] = jQuery(ui.helper).css('width');
7705 properties['height'] = jQuery(ui.helper).css('height');
7706 properties['top'] = pos.top;
7707 properties['left'] = pos.left;
7708 var el = e2pdf.element.create(type, page, properties, false, true);
7709 jQuery(this).append(el);
7710 e2pdf.properties.render(el);
7711 var history = [];
7712 history.push(el.clone(true));
7713 e2pdf.history.set('element_create', history);
7714 }
7715 e2pdf.static.drag.page = null;
7716 }
7717 });
7718 if (page.hasClass('ui-selectable')) {
7719 try {
7720 page.selectable('destroy');
7721 page.removeData('selectable');
7722 } catch (e) {
7723 }
7724 }
7725 page.selectable(
7726 {
7727 filter: '.e2pdf-element',
7728 cancel: 'a,.e2pdf-element',
7729 distance: 10,
7730 selecting: function (event, ui) {
7731 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7732 jQuery(ui.selecting).addClass('e2pdf-selected');
7733 }
7734 },
7735 unselecting: function (event, ui) {
7736 jQuery(ui.unselecting).removeClass('e2pdf-selected');
7737 },
7738 selected: function (event, ui) {
7739 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7740 e2pdf.element.select(jQuery(ui.selected));
7741 }
7742 },
7743 unselected: function (event, ui) {
7744 e2pdf.element.unselect(jQuery(ui.unselected));
7745 }
7746 }
7747 );
7748 },
7749 // e2pdf.pages.source
7750 source: function (page_id) {
7751 var page = jQuery('<div>', {
7752 'class': 'e2pdf-page ui-droppable',
7753 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7754 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7755 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7756 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7757 }).attr('data-page_id', page_id).append(
7758 jQuery('<div>', {'class': 'page-options-icons'}).append(
7759 jQuery('<a>', {
7760 'href': 'javascript:void(0);',
7761 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7762 }).append(
7763 jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7764 ),
7765 jQuery('<a>', {
7766 'href': 'javascript:void(0);',
7767 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7768 }).append(
7769 jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7770 ),
7771 jQuery('<a>', {
7772 'href': 'javascript:void(0);',
7773 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7774 'data-modal': 'page-options'
7775 }).append(
7776 jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7777 ),
7778 jQuery('<a>', {
7779 'href': 'javascript:void(0);',
7780 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7781 }).append(
7782 jQuery('<i>', {'class': 'dashicons dashicons-no'})
7783 )
7784 ),
7785 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7786 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7787 );
7788 return page;
7789 },
7790 // e2pdf.pages.rebuildPages
7791 rebuildPages: function () {
7792 jQuery('.e2pdf-page').each(function (index) {
7793 if (!e2pdf.pdf.settings.get('pdf')) {
7794 if (index + 1 === 1) {
7795 jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7796 } else {
7797 jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7798 }
7799
7800 if (index + 1 === jQuery('.e2pdf-page').length) {
7801 jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7802 } else {
7803 jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7804 }
7805 }
7806 jQuery(this).attr('data-page_id', index + 1);
7807 });
7808 e2pdf.welcomeScreen();
7809 },
7810 // e2pdf.pages.createPage
7811 createPage: function (page, properties, actions, onload) {
7812 e2pdf.pages.rebuildPages();
7813 var newpage = true;
7814 if (page) {
7815 var newpage = false;
7816 }
7817 if (!properties) {
7818 properties = {};
7819 }
7820 if (!actions) {
7821 actions = {};
7822 }
7823 if (newpage) {
7824 var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7825 var page = e2pdf.pages.source(page_id);
7826 }
7827 page.data('data-type', 'e2pdf-page');
7828 e2pdf.properties.apply(page, properties, onload);
7829 e2pdf.actions.apply(page, actions);
7830 e2pdf.pages.initEvents(page);
7831 if (newpage) {
7832 if (!onload) {
7833 var history = [];
7834 history.push(page.clone(true));
7835 e2pdf.history.set('element_create', history);
7836 }
7837 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
7838 e2pdf.pages.rebuildPages();
7839 e2pdf.event.fire('after.pages.createPage.newpage');
7840 return true;
7841 } else {
7842 return false;
7843 }
7844 },
7845 // e2pdf.pages.movePage
7846 movePage: function (el, direction) {
7847 if (e2pdf.pdf.settings.get('pdf')) {
7848 return false;
7849 }
7850 if (direction === 'up') {
7851 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
7852 } else if (direction === 'down') {
7853 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
7854 }
7855 e2pdf.event.fire('after.pages.movePage');
7856 e2pdf.pages.rebuildPages();
7857 },
7858 // e2pdf.pages.deletePage
7859 deletePage: function (el) {
7860 el.closest('.e2pdf-page').remove();
7861 e2pdf.event.fire('after.pages.deletePage');
7862 e2pdf.pages.rebuildPages();
7863 },
7864 // e2pdf.pages.changeTplSize
7865 changeTplSize: function (width, height) {
7866 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
7867 },
7868 changePageSize: function (el, width, height) {
7869 var prev_width = parseFloat(el.css('width'));
7870 var prev_height = parseFloat(el.css('height'));
7871 var width_diff = width / prev_width;
7872 var height_diff = height / prev_height;
7873 el.find(".e2pdf-element").each(function () {
7874 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
7875 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
7876 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'))) {
7877 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7878 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
7879 } else {
7880 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7881 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
7882 }
7883 });
7884 el.css('width', width);
7885 el.css('height', height);
7886 el.attr('data-width', width);
7887 el.attr('data-height', height);
7888 }
7889 },
7890 // e2pdf.contextMenu
7891 contextMenu: function (e, el) {
7892 e2pdf.delete('.e2pdf-context');
7893 jQuery('.e2pdf-page').css('z-index', '');
7894 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
7895 if (el.hasClass('e2pdf-page')) {
7896 var parent = el;
7897 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7898 menu.find('ul.e2pdf-context-menu').append(
7899 jQuery('<li>').append(
7900 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'))
7901 ),
7902 jQuery('<li>').append(
7903 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'))
7904 ),
7905 jQuery('<li>').append(
7906 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
7907 )
7908 );
7909 } else {
7910 if (!el.hasClass('e2pdf-selected')) {
7911 e2pdf.element.unselect();
7912 e2pdf.element.select(el);
7913 }
7914
7915 var parent = el.closest('.e2pdf-page');
7916 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7917 if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7918 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7919 menu.find('ul.e2pdf-context-menu').append(
7920 jQuery('<li>').append(
7921 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7922 ));
7923 } else {
7924 menu.find('ul.e2pdf-context-menu').append(
7925 jQuery('<li>').append(
7926 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7927 ));
7928 }
7929 }
7930
7931 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')))) {
7932 menu.find('ul.e2pdf-context-menu').append(
7933 jQuery('<li>').append(
7934 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7935 ));
7936 }
7937
7938 menu.find('ul.e2pdf-context-menu').append(
7939 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
7940 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7941 ,
7942 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
7943 jQuery('<li>').append(
7944 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
7945 ),
7946 jQuery('<li>').append(
7947 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
7948 ),
7949 jQuery('<li>').append(
7950 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
7951 ),
7952 jQuery('<li>').append(
7953 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
7954 )
7955 )
7956 ),
7957 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
7958 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7959 ,
7960 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
7961 jQuery('<li>').append(
7962 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'))
7963 ),
7964 jQuery('<li>').append(
7965 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'))
7966 ))
7967 ));
7968 menu.find('ul.e2pdf-context-menu').append(
7969 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
7970 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7971 ,
7972 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
7973 jQuery('<li>').append(
7974 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'))
7975 ))
7976 ),
7977 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
7978 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
7979 ,
7980 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
7981 ),
7982 jQuery('<li>').append(
7983 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
7984 ),
7985 jQuery('<li>').append(
7986 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
7987 ),
7988 jQuery('<li>').append(
7989 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
7990 ));
7991 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
7992 if (Object.keys(e2pdf.element.selected).length == 1) {
7993 menu.find('ul.e2pdf-copy-menu').append(
7994 jQuery('<li>').append(
7995 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
7996 ));
7997 }
7998 if (e2pdf.storage.get('style') !== null) {
7999 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8000 menu.find('ul.e2pdf-paste-menu').append(
8001 jQuery('<li>').append(
8002 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8003 ));
8004 }
8005 }
8006
8007 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8008 if (Object.keys(e2pdf.element.selected).length == 1) {
8009 menu.find('ul.e2pdf-copy-menu').append(
8010 jQuery('<li>').append(
8011 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8012 ));
8013 }
8014 if (e2pdf.storage.get('width') != null) {
8015 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8016 menu.find('ul.e2pdf-paste-menu').append(
8017 jQuery('<li>').append(
8018 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8019 ));
8020 }
8021 }
8022
8023 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8024
8025 if (Object.keys(e2pdf.element.selected).length == 1) {
8026 menu.find('ul.e2pdf-copy-menu').append(
8027 jQuery('<li>').append(
8028 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8029 ));
8030 }
8031
8032 if (e2pdf.storage.get('height') != null) {
8033 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8034 menu.find('ul.e2pdf-paste-menu').append(
8035 jQuery('<li>').append(
8036 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8037 ));
8038 }
8039 }
8040
8041 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
8042
8043 if (Object.keys(e2pdf.element.selected).length == 1) {
8044 menu.find('ul.e2pdf-copy-menu').append(
8045 jQuery('<li>').append(
8046 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8047 ));
8048 }
8049
8050 if (e2pdf.storage.get('actions') !== null) {
8051 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8052 menu.find('ul.e2pdf-paste-menu').append(
8053 jQuery('<li>').append(
8054 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8055 ));
8056 }
8057 }
8058
8059 if (Object.keys(e2pdf.element.selected).length == 1) {
8060 menu.find('ul.e2pdf-context-menu').append(
8061 jQuery('<li>').append(
8062 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8063 ));
8064 }
8065 }
8066 parent.css('z-index', '1');
8067 menu.hide().appendTo(parent);
8068 var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
8069 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))) {
8070 pos_x = pos_x - menu.width();
8071 menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8072 }
8073 var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8074 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))) {
8075 pos_y = pos_y - menu.height();
8076 menu.addClass('e2pdf-context-bottom');
8077 }
8078 menu.css({top: pos_y + "px", left: pos_x + "px"});
8079 menu.show();
8080 },
8081 // e2pdf.delete
8082 delete: function (el) {
8083 jQuery(el).remove();
8084 },
8085 // e2pdf.element
8086 element: {
8087 // e2pdf.element.selected
8088 selected: [],
8089 // e2pdf.element.init
8090 init: function (el) {
8091 if (el.data('data-type') === 'e2pdf-html') {
8092 if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8093 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8094 } else {
8095 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8096 }
8097 } else if (el.data('data-type') === 'e2pdf-input') {
8098 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
8099 } else if (el.data('data-type') === 'e2pdf-textarea') {
8100 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
8101 }
8102 e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8103 e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8104 e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
8105 },
8106 // e2pdf.element.initEvents
8107 initEvents: function (element, page) {
8108 var min_width = 2;
8109 var min_height = 2;
8110 if (element.data('data-type') == 'e2pdf-rectangle') {
8111 min_height = 1;
8112 min_width = 1;
8113 }
8114 if (!page) {
8115 page = element.closest('.e2pdf-page');
8116 }
8117 element.off('contextmenu');
8118 element.contextmenu(function (e) {
8119 e2pdf.contextMenu(e, element);
8120 e.preventDefault();
8121 });
8122 if (element.hasClass('ui-draggable')) {
8123 try {
8124 element.draggable('destroy');
8125 element.removeData('ui-draggable');
8126 } catch (e) {
8127
8128 }
8129 }
8130 element.draggable({
8131 cancel: '.no-drag',
8132 handle: '.e2pdf-drag',
8133 containment: jQuery(page),
8134 stop: function (ev, ui) {
8135 var page = jQuery(this).closest('.e2pdf-page');
8136 for (var key in e2pdf.element.selected) {
8137 var selected = e2pdf.element.selected[key];
8138 if (selected.hasClass('e2pdf-width-auto')) {
8139 selected.css({'width': 'auto'});
8140 }
8141 if (selected.hasClass('e2pdf-height-auto')) {
8142 selected.css({'height': 'auto'});
8143 }
8144 e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8145 e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
8146 }
8147 jQuery('.page-options-icons').css('z-index', '');
8148 e2pdf.event.fire('after.element.moved');
8149 e2pdf.element.unselect();
8150 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8151 },
8152 drag: function (ev, ui) {
8153 var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
8154 var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
8155 left = Math.min(left, e2pdf.static.drag.max_left);
8156 top = Math.min(top, e2pdf.static.drag.max_top);
8157 ui.position = {
8158 left: Math.max(e2pdf.static.drag.min_left, left),
8159 top: Math.max(e2pdf.static.drag.min_top, top)
8160 };
8161 var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8162 var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8163 for (var key in e2pdf.element.selected) {
8164 var selected = e2pdf.element.selected[key];
8165 if (!selected.is(jQuery(this))) {
8166 selected.finish().animate({
8167 left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8168 top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8169 }, 0);
8170 }
8171 }
8172 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8173 var w = parseFloat(jQuery(this).css('width'));
8174 var h = parseFloat(jQuery(this).css('height'));
8175 var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8176 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8177 jQuery.each(el_guides, function (i, elemGuide) {
8178 if (guide.type == elemGuide.type) {
8179 var prop = guide.type == "h" ? "top" : "left";
8180 var d = Math.abs(elemGuide[prop] - guide[prop]);
8181 if (d < guides[prop].dist) {
8182 guides[prop].dist = d;
8183 guides[prop].offset = elemGuide[prop] - ui.position[prop];
8184 guides[prop].guide = guide;
8185 }
8186 }
8187 });
8188 });
8189 if (guides.top.dist <= e2pdf.static.guide.distance) {
8190 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8191 var snap_top = guides.top.guide.top - guides.top.offset;
8192 if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8193 ui.position.top = snap_top;
8194 var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8195 for (var key in e2pdf.element.selected) {
8196 var selected = e2pdf.element.selected[key];
8197 if (!selected.is(jQuery(this))) {
8198 selected.finish().animate({
8199 top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8200 }, 0);
8201 }
8202 }
8203 }
8204 } else {
8205 jQuery('.e2pdf-guide-h').hide();
8206 }
8207 if (guides.left.dist <= e2pdf.static.guide.distance) {
8208 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8209 var snap_left = guides.left.guide.left - guides.left.offset;
8210 if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8211 ui.position.left = snap_left;
8212 var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8213 for (var key in e2pdf.element.selected) {
8214 var selected = e2pdf.element.selected[key];
8215 if (!selected.is(jQuery(this))) {
8216 selected.finish().animate({
8217 left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8218 }, 0);
8219 }
8220 }
8221 }
8222 } else {
8223 jQuery('.e2pdf-guide-v').hide();
8224 }
8225 },
8226 start: function (ev, ui) {
8227 if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8228 return false;
8229 }
8230 e2pdf.element.select(jQuery(this));
8231 e2pdf.static.drag.min_left = 0;
8232 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8233 e2pdf.static.drag.min_top = 0;
8234 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8235 var history = [];
8236 for (var key in e2pdf.element.selected) {
8237 var selected = e2pdf.element.selected[key];
8238 history.push(selected.clone(true));
8239 if (selected.hasClass('e2pdf-width-auto')) {
8240 selected.css({"width": "auto"});
8241 }
8242 if (selected.hasClass('e2pdf-height-auto')) {
8243 selected.css({"height": "auto"});
8244 }
8245 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8246 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8247 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8248 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8249 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8250 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8251 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8252 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8253 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);
8254 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);
8255 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);
8256 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);
8257 }
8258 e2pdf.history.set('element_change', history);
8259 e2pdf.zoom.click.x = ev.clientX;
8260 e2pdf.zoom.click.y = ev.clientY;
8261 jQuery('.page-options-icons').css('z-index', -1);
8262 }
8263 });
8264 if (element.hasClass('e2pdf-resizable')) {
8265 if (element.hasClass('ui-resizable')) {
8266 try {
8267 element.resizable('destroy');
8268 element.removeData('ui-resizable');
8269 } catch (e) {
8270
8271 }
8272 }
8273 element.resizable({
8274 handles: 'n, e, s, w, ne, se, sw, nw',
8275 aspectRatio: false,
8276 minHeight: min_height,
8277 minWidth: min_width,
8278 start: function (ev, ui) {
8279 var _process = function (el, resize) {
8280 var left = e2pdf.helper.getFloat(el.css('left'));
8281 var top = e2pdf.helper.getFloat(el.css('top'));
8282 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8283 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8284 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8285 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8286 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8287 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8288 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8289 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8290 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8291 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8292 var width = e2pdf.helper.getFloat(el.css('width'));
8293 var height = e2pdf.helper.getFloat(el.css('height'));
8294 el.resizable("option", "maxWidth", page_width - left);
8295 el.resizable("option", "maxHeight", page_height - top);
8296 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8297 el.resizable("option", "maxWidth", left + width);
8298 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8299 el.resizable("option", "maxHeight", top + height);
8300 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8301 el.resizable("option", "maxWidth", left + width);
8302 el.resizable("option", "maxHeight", top + height);
8303 }
8304 if (resize) {
8305 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8306 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8307 }
8308 };
8309 _process(jQuery(this), true);
8310 e2pdf.zoom.click.x = ev.clientX;
8311 e2pdf.zoom.click.y = ev.clientY;
8312 var history = [];
8313 history.push(jQuery(this).clone(true));
8314 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8315 var selected = jQuery(this);
8316 history.push(selected.clone(true));
8317 var width = e2pdf.helper.getFloat(selected.css('width'));
8318 var height = e2pdf.helper.getFloat(selected.css('height'));
8319 selected.data("ui-resizable-alsoresize", {
8320 width: width,
8321 height: height,
8322 left: e2pdf.helper.getFloat(selected.css('left')),
8323 top: e2pdf.helper.getFloat(selected.css('top'))
8324 });
8325 _process(jQuery(this), false);
8326 });
8327 e2pdf.history.set('element_change', history);
8328 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8329 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8330 },
8331 resize: function (ev, ui) {
8332 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8333 var axis = ui.element.data("ui-resizable").axis;
8334 if (axis != 'nw' && axis != 'sw') {
8335 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8336 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8337 }
8338 }
8339 var delta = {
8340 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8341 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8342 top: (ui.position.top - ui.originalPosition.top) || 0,
8343 left: (ui.position.left - ui.originalPosition.left) || 0
8344 };
8345 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8346 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8347 var style = {};
8348 var css = ["width", "height", "top", "left"];
8349 jQuery.each(css, function (i, prop) {
8350 var sum = (start[prop] || 0) + (delta[prop] || 0);
8351 if (sum) {
8352 if (prop == 'width') {
8353 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8354 style[prop] = sum;
8355 }
8356 } else if (prop == 'height') {
8357 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8358 style[prop] = sum;
8359 }
8360 } else if (prop == 'left') {
8361 if (sum >= 0) {
8362 style[prop] = sum;
8363 }
8364 } else if (prop == 'top') {
8365 if (sum >= 0) {
8366 style[prop] = sum;
8367 }
8368 }
8369 }
8370 });
8371 el.css(style);
8372 });
8373 var handle = ui.element.data("ui-resizable").axis;
8374 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8375 var w = parseFloat(jQuery(this).css('width'));
8376 var h = parseFloat(jQuery(this).css('height'));
8377 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8378 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8379 var hPosition = ui.position.top;
8380 var hEdgeValue = ui.position.top;
8381 if (handle.indexOf('s') !== -1) {
8382 hEdgeValue = ui.position.top + h;
8383 }
8384 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8385 if (guide.type == "h") {
8386 var d = Math.abs(hEdgeValue - guide.top);
8387 if (d < hGuides.dist) {
8388 hGuides.dist = d;
8389 hGuides.guide = guide;
8390 hGuides.offset = hEdgeValue - hPosition;
8391 }
8392 }
8393 });
8394 if (hGuides.dist <= e2pdf.static.guide.distance) {
8395 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8396 var snap_top = hGuides.guide.top - hGuides.offset;
8397 if (handle.indexOf('n') !== -1) {
8398 var heightDiff = ui.position.top - snap_top;
8399 ui.position.top = snap_top;
8400 ui.size.height += heightDiff;
8401 } else if (handle.indexOf('s') !== -1) {
8402 var newHeight = hGuides.guide.top - ui.position.top;
8403 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8404 ui.size.height = newHeight;
8405 }
8406 }
8407 }
8408 }
8409 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8410 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8411 var vPosition = ui.position.left;
8412 var vEdgeValue = ui.position.left;
8413 if (handle.indexOf('e') !== -1) {
8414 vEdgeValue = ui.position.left + w;
8415 }
8416 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8417 if (guide.type == "v") {
8418 var d = Math.abs(vEdgeValue - guide.left);
8419 if (d < vGuides.dist) {
8420 vGuides.dist = d;
8421 vGuides.guide = guide;
8422 vGuides.offset = vEdgeValue - vPosition;
8423 }
8424 }
8425 });
8426 if (vGuides.dist <= e2pdf.static.guide.distance) {
8427 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8428 var snap_left = vGuides.guide.left - vGuides.offset;
8429 if (handle.indexOf('w') !== -1) {
8430 var widthDiff = ui.position.left - snap_left;
8431 ui.position.left = snap_left;
8432 ui.size.width += widthDiff;
8433 } else if (handle.indexOf('e') !== -1) {
8434 var newWidth = vGuides.guide.left - ui.position.left;
8435 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8436 ui.size.width = newWidth;
8437 }
8438 }
8439 }
8440 }
8441 },
8442 stop: function (event, ui) {
8443 ui.size.width = Math.round(ui.size.width);
8444 ui.size.height = Math.round(ui.size.height);
8445 var _process = function (el, width, height) {
8446 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') {
8447 width += el.outerWidth() - el.width();
8448 height += el.outerWidth() - el.width();
8449 }
8450 e2pdf.properties.set(el, 'width', width);
8451 e2pdf.properties.set(el, 'height', height);
8452 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8453 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8454 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') {
8455 e2pdf.properties.render(el);
8456 }
8457 };
8458 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8459 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8460 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8461 jQuery(this).removeData("resizable-alsoresize");
8462 });
8463 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8464 }
8465 });
8466 }
8467 },
8468 // e2pdf.element.create
8469 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8470 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8471 var min_height = 2;
8472 var min_width = 2;
8473 if (!properties) {
8474 properties = {};
8475 }
8476 if (!actions) {
8477 actions = {};
8478 }
8479 switch (type) {
8480 case 'e2pdf-input':
8481 if (default_properties) {
8482 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8483 properties['width'] = '200';
8484 }
8485 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8486 properties['height'] = size;
8487 }
8488 if (!properties.hasOwnProperty('border')) {
8489 properties['border'] = '1';
8490 }
8491 if (!properties.hasOwnProperty('border_color')) {
8492 properties['border_color'] = '#000000';
8493 }
8494 }
8495 var element =
8496 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8497 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8498 jQuery('<i>', {'class': 'e2pdf-drag'})
8499 );
8500 break;
8501 case 'e2pdf-textarea':
8502 if (default_properties) {
8503 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8504 properties['width'] = '200';
8505 }
8506 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8507 properties['height'] = '100';
8508 }
8509 if (!properties.hasOwnProperty('border')) {
8510 properties['border'] = '1';
8511 }
8512 if (!properties.hasOwnProperty('border_color')) {
8513 properties['border_color'] = '#000000';
8514 }
8515 }
8516 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8517 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8518 jQuery('<i>', {'class': 'e2pdf-drag'})
8519 );
8520 break;
8521 case 'e2pdf-checkbox':
8522 if (default_properties) {
8523 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8524 properties['width'] = size;
8525 }
8526 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8527 properties['height'] = size;
8528 }
8529 if (!properties.hasOwnProperty('option')) {
8530 properties['option'] = 'option';
8531 }
8532 if (!properties.hasOwnProperty('border')) {
8533 properties['border'] = '1';
8534 }
8535 if (!properties.hasOwnProperty('border_color')) {
8536 properties['border_color'] = '#000000';
8537 }
8538 }
8539 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8540 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8541 jQuery('<i>', {'class': 'e2pdf-drag'})
8542 );
8543 break;
8544 case 'e2pdf-radio':
8545 if (default_properties) {
8546 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8547 properties['width'] = size;
8548 }
8549 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8550 properties['height'] = size;
8551 }
8552 if (!properties.hasOwnProperty('group')) {
8553 properties['group'] = 'group';
8554 }
8555 if (!properties.hasOwnProperty('option')) {
8556 properties['option'] = 'option';
8557 }
8558 if (!properties.hasOwnProperty('border')) {
8559 properties['border'] = '1';
8560 }
8561 if (!properties.hasOwnProperty('border_color')) {
8562 properties['border_color'] = '#000000';
8563 }
8564 if (!properties.hasOwnProperty('text_type')) {
8565 properties['text_type'] = 'circle';
8566 }
8567
8568 }
8569 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8570 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8571 jQuery('<i>', {'class': 'e2pdf-drag'})
8572 );
8573 break;
8574 case 'e2pdf-select':
8575 if (default_properties) {
8576 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8577 properties['width'] = '200';
8578 }
8579 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8580 properties['height'] = size;
8581 }
8582 if (!properties.hasOwnProperty('options')) {
8583 properties['options'] = '';
8584 }
8585 if (!properties.hasOwnProperty('border')) {
8586 properties['border'] = '1';
8587 }
8588 if (!properties.hasOwnProperty('border_color')) {
8589 properties['border_color'] = '#000000';
8590 }
8591 }
8592 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8593 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8594 ),
8595 jQuery('<i>', {'class': 'e2pdf-drag'})
8596 );
8597 break;
8598 case 'e2pdf-signature':
8599 if (default_properties) {
8600 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8601 properties['width'] = '200';
8602 }
8603 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8604 properties['height'] = '75';
8605 }
8606 if (!properties.hasOwnProperty('vertical')) {
8607 properties['vertical'] = 'bottom';
8608 }
8609 if (!properties.hasOwnProperty('block_dimension')) {
8610 properties['block_dimension'] = '1';
8611 }
8612 if (!properties.hasOwnProperty('dimension')) {
8613 properties['dimension'] = '1';
8614 }
8615 if (!properties.hasOwnProperty('opacity')) {
8616 properties['opacity'] = '1';
8617 }
8618 } else {
8619 // backward compatibility
8620 if (!properties.hasOwnProperty('opacity')) {
8621 properties['opacity'] = '1';
8622 }
8623 }
8624 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8625 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8626 jQuery('<i>', {'class': 'e2pdf-drag'})
8627 );
8628 break;
8629 case 'e2pdf-html':
8630 if (default_properties) {
8631 if (!properties.hasOwnProperty('width')) {
8632 properties['width'] = '200';
8633 } else if (properties['width'] === 'auto') {
8634 properties['width'] = size;
8635 }
8636 if (!properties.hasOwnProperty('height')) {
8637 properties['height'] = size;
8638 } else if (properties['height'] === 'auto') {
8639 delete properties['height'];
8640 }
8641 if (!properties.hasOwnProperty('html_worker')) {
8642 properties['html_worker'] = '1';
8643 }
8644 if (!properties.hasOwnProperty('css_priority')) {
8645 properties['css_priority'] = '1';
8646 }
8647 }
8648 if (properties['wysiwyg_disable'] == '1') {
8649 var element =
8650 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8651 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8652 jQuery('<i>', {'class': 'e2pdf-drag'})
8653 );
8654 } else {
8655 var element =
8656 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8657 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8658 jQuery('<i>', {'class': 'e2pdf-drag'})
8659 );
8660 }
8661 break;
8662 case 'e2pdf-image':
8663 if (default_properties) {
8664 if (!properties.hasOwnProperty('dimension')) {
8665 properties['dimension'] = '1';
8666 }
8667 if (!properties.hasOwnProperty('opacity')) {
8668 properties['opacity'] = '1';
8669 }
8670 if (!properties.hasOwnProperty('block_dimension')) {
8671 properties['block_dimension'] = '1';
8672 }
8673 if (!properties.hasOwnProperty('vertical')) {
8674 properties['vertical'] = 'bottom';
8675 }
8676 if (!properties.hasOwnProperty('pdf_resample')) {
8677 properties['pdf_resample'] = '-1';
8678 }
8679 } else {
8680 // backward compatibility
8681 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8682 properties['block_dimension'] = '1';
8683 }
8684 if (!properties.hasOwnProperty('opacity')) {
8685 properties['opacity'] = '1';
8686 }
8687 if (!properties.hasOwnProperty('pdf_resample')) {
8688 properties['pdf_resample'] = '150';
8689 }
8690 }
8691 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8692 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8693 jQuery('<i>', {'class': 'e2pdf-drag'})
8694 );
8695 break;
8696 case 'e2pdf-rectangle':
8697 if (default_properties) {
8698 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8699 properties['width'] = '200';
8700 }
8701 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8702 properties['height'] = '5';
8703 }
8704 if (!properties.hasOwnProperty('background')) {
8705 properties['background'] = '#000000';
8706 }
8707 }
8708 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8709 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8710 jQuery('<i>', {'class': 'e2pdf-drag'})
8711 );
8712 break;
8713 case 'e2pdf-link':
8714 if (default_properties) {
8715 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8716 properties['width'] = '200';
8717 }
8718
8719 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8720 properties['height'] = size;
8721 }
8722 }
8723 var element =
8724 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8725 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8726 jQuery('<i>', {'class': 'e2pdf-drag'})
8727 );
8728 break;
8729 case 'e2pdf-qrcode':
8730 if (default_properties) {
8731 if (!properties.hasOwnProperty('color')) {
8732 properties['color'] = '#000000';
8733 }
8734 if (!properties.hasOwnProperty('background')) {
8735 properties['background'] = '#ffffff';
8736 }
8737 if (!properties.hasOwnProperty('wq')) {
8738 properties['wq'] = '1';
8739 }
8740 }
8741 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8742 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8743 jQuery('<i>', {'class': 'e2pdf-drag'})
8744 );
8745 break;
8746 case 'e2pdf-barcode':
8747 if (default_properties) {
8748 if (!properties.hasOwnProperty('color')) {
8749 properties['color'] = '#000000';
8750 }
8751 if (!properties.hasOwnProperty('text_color')) {
8752 properties['text_color'] = '#000000';
8753 }
8754 if (!properties.hasOwnProperty('vertical')) {
8755 properties['vertical'] = 'middle';
8756 }
8757 if (!properties.hasOwnProperty('horizontal')) {
8758 properties['horizontal'] = 'center';
8759 }
8760 if (!properties.hasOwnProperty('wq')) {
8761 properties['wq'] = '1';
8762 }
8763 if (!properties.hasOwnProperty('dimension')) {
8764 properties['dimension'] = '1';
8765 }
8766 if (!properties.hasOwnProperty('background')) {
8767 properties['background'] = '#ffffff';
8768 }
8769 if (!properties.hasOwnProperty('margin_top')) {
8770 properties['margin_top'] = '10';
8771 }
8772 if (!properties.hasOwnProperty('margin_left')) {
8773 properties['margin_left'] = '10';
8774 }
8775 if (!properties.hasOwnProperty('margin_right')) {
8776 properties['margin_right'] = '10';
8777 }
8778 if (!properties.hasOwnProperty('margin_bottom')) {
8779 properties['margin_bottom'] = '10';
8780 }
8781 } else {
8782 // backward compatibility
8783 if (!properties.hasOwnProperty('scale')) {
8784 properties['scale'] = '1';
8785 }
8786 if (!properties.hasOwnProperty('margin_top')) {
8787 properties['margin_top'] = '10';
8788 }
8789 if (!properties.hasOwnProperty('margin_left')) {
8790 properties['margin_left'] = '10';
8791 }
8792 if (!properties.hasOwnProperty('margin_right')) {
8793 properties['margin_right'] = '10';
8794 }
8795 if (!properties.hasOwnProperty('margin_bottom')) {
8796 properties['margin_bottom'] = '10';
8797 }
8798 }
8799 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8800 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8801 jQuery('<i>', {'class': 'e2pdf-drag'})
8802 );
8803 break;
8804 case 'e2pdf-page-number':
8805 if (default_properties) {
8806 if (!properties.hasOwnProperty('width')) {
8807 properties['width'] = '100';
8808 } else if (properties['width'] === 'auto') {
8809 properties['width'] = '100';
8810 }
8811 if (!properties.hasOwnProperty('height')) {
8812 properties['height'] = size;
8813 } else if (properties['height'] === 'auto') {
8814 delete properties['height'];
8815 }
8816 if (!properties.hasOwnProperty('text_align')) {
8817 properties['text_align'] = 'center';
8818 }
8819 if (!properties.hasOwnProperty('html_worker')) {
8820 properties['html_worker'] = '1';
8821 }
8822 if (!properties.hasOwnProperty('value')) {
8823 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8824 }
8825 }
8826 var value = properties['value'] ? properties['value'] : '';
8827 var element =
8828 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8829 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'))),
8830 jQuery('<i>', {'class': 'e2pdf-drag'})
8831 );
8832 break;
8833 case 'e2pdf-graph':
8834 if (default_properties) {
8835 // Graph
8836 properties['g_palette'] = '#1e73be';
8837 properties['g_stroke_colour'] = '#000000';
8838 properties['g_stroke_width'] = '1';
8839 properties['g_sort'] = '1';
8840 // Titles
8841 properties['g_graph_title_colour'] = '#000000';
8842 properties['g_graph_title_space'] = '10';
8843 // Labels
8844 properties['g_label_colour'] = '#000000';
8845 properties['g_label_font_size'] = '10';
8846 properties['g_label_space'] = '10';
8847 // Markers
8848 properties['g_marker_colour'] = '#000000';
8849 properties['g_marker_size'] = '3';
8850 // Legend
8851 properties['g_legend_back_colour'] = '#ffffff';
8852 properties['g_legend_stroke_colour'] = '#000000';
8853 properties['g_legend_stroke_width'] = '1';
8854 properties['g_legend_entry_width'] = '20';
8855 properties['g_legend_entry_height'] = '20';
8856 properties['g_legend_padding_x'] = '5';
8857 properties['g_legend_padding_y'] = '5';
8858 properties['g_legend_colour'] = '#000000';
8859 properties['g_legend_font_size'] = '10';
8860 properties['g_show_legend'] = '1';
8861 // Grid
8862 properties['g_grid_colour'] = '#eeeeee';
8863 properties['g_grid_subdivision_colour'] = '#eeeeee';
8864 properties['g_minimum_grid_spacing'] = '20';
8865 properties['g_show_grid'] = '1';
8866 properties['g_show_grid_subdivisions'] = '1';
8867 // Axis
8868 properties['g_axis_colour'] = '#000000';
8869 properties['g_axis_font_size'] = '12';
8870 properties['g_show_axis_v'] = '1';
8871 properties['g_show_axis_text_v'] = '1';
8872 properties['g_show_axis_h'] = '1';
8873 properties['g_show_axis_text_h'] = '1';
8874 properties['g_show_subdivisions'] = '1';
8875 properties['g_axis_overlap'] = '5';
8876 properties['g_axis_stroke_width_v'] = '1';
8877 properties['g_axis_stroke_width_h'] = '1';
8878 // Bar Label
8879 properties['g_bar_label_colour'] = '#000000';
8880 properties['g_bar_label_font_size'] = '10';
8881 properties['g_bar_label_space'] = '3';
8882 properties['g_show_bar_labels'] = '1';
8883 properties['g_project_angle'] = '45';
8884 properties['g_depth'] = '20';
8885 properties['g_aspect_ratio'] = '1';
8886 properties['margin_top'] = '10';
8887 properties['margin_left'] = '10';
8888 properties['margin_right'] = '10';
8889 properties['margin_bottom'] = '10';
8890 properties['g_multiline'] = '2';
8891 // Bar
8892 properties['g_bar_width'] = '0';
8893 properties['g_bar_width_min'] = '1';
8894 properties['g_bar_space'] = '10';
8895 properties['g_show_labels'] = '1';
8896 properties['g_show_label_key'] = '1';
8897 properties['g_inner_radius'] = '0.5';
8898 } else {
8899 // backward compatibility
8900 if (!properties.hasOwnProperty('g_depth')) {
8901 properties['g_depth'] = '40';
8902 }
8903 if (!properties.hasOwnProperty('g_aspect_ratio')) {
8904 properties['g_aspect_ratio'] = '1';
8905 }
8906 if (!properties.hasOwnProperty('g_legend_entry_height')) {
8907 properties['g_legend_entry_height'] = '20';
8908 }
8909 if (!properties.hasOwnProperty('g_bar_width')) {
8910 properties['g_bar_width'] = '0';
8911 }
8912 if (!properties.hasOwnProperty('g_bar_width_min')) {
8913 properties['g_bar_width_min'] = '1';
8914 }
8915 if (!properties.hasOwnProperty('g_bar_space')) {
8916 properties['g_bar_space'] = '10';
8917 }
8918 // backward compatibility
8919 if (!properties.hasOwnProperty('g_show_labels')) {
8920 properties['g_show_labels'] = '1';
8921 }
8922 if (!properties.hasOwnProperty('g_show_label_key')) {
8923 properties['g_show_label_key'] = '1';
8924 }
8925 if (!properties.hasOwnProperty('g_inner_radius')) {
8926 properties['g_inner_radius'] = '0.5';
8927 }
8928 }
8929 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
8930 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
8931 jQuery('<i>', {'class': 'e2pdf-drag'})
8932 );
8933 break;
8934 default:
8935 break;
8936 }
8937
8938 if (typeof element !== 'undefined') {
8939 if (!element_id) {
8940 var last_id = 0;
8941 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
8942 var num_id = parseInt(jQuery(this).attr("data-element_id"));
8943 if (num_id > last_id) {
8944 last_id = num_id;
8945 }
8946 });
8947 element_id = parseInt(last_id + 1);
8948 }
8949 element.addClass('e2pdf-element');
8950 element.attr('data-element_id', element_id);
8951 element.data('data-type', type);
8952 if (properties.hasOwnProperty('width')) {
8953 element.css({'width': properties['width']});
8954 }
8955 if (properties.hasOwnProperty('height')) {
8956 element.css({'height': properties['height']});
8957 }
8958 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
8959 element.css({'top': properties['top'], 'left': properties['left']});
8960 }
8961 element.css({"position": "absolute"});
8962 e2pdf.properties.apply(element, properties, onload);
8963 e2pdf.actions.apply(element, actions);
8964 e2pdf.element.initEvents(element, page);
8965 if (!onload) {
8966 e2pdf.event.fire('after.element.create');
8967 }
8968 return element;
8969 } else {
8970 return false;
8971 }
8972 },
8973 // e2pdf.element.children
8974 children: function (el) {
8975 var children = el.find('.' + el.data('data-type'));
8976 return children;
8977 },
8978 // e2pdf.element.select
8979 select: function (el) {
8980 var selected = false;
8981 for (var key in e2pdf.element.selected) {
8982 if (e2pdf.element.selected[key].is(el)) {
8983 selected = true;
8984 }
8985 }
8986 if (!selected) {
8987 el.addClass('e2pdf-selected');
8988 e2pdf.element.selected.push(el);
8989 }
8990 },
8991 // e2pdf.element.unselect
8992 unselect: function (el) {
8993 if (!el) {
8994 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
8995 e2pdf.element.selected = [];
8996 } else {
8997 for (var key in e2pdf.element.selected) {
8998 if (e2pdf.element.selected[key].is(el)) {
8999 el.removeClass('e2pdf-selected');
9000 delete e2pdf.element.selected[key];
9001 }
9002 }
9003 }
9004 },
9005 // e2pdf.element.unfocus
9006 unfocus: function (el) {
9007 e2pdf.wysiwyg.helper.dropSelection();
9008 if (!el) {
9009 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9010 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9011 jQuery(this).blur();
9012 });
9013 } else {
9014 el.find('.e2pdf-inner-element').blur();
9015 el.removeClass('e2pdf-focused');
9016 }
9017 },
9018 // e2pdf.element.focus
9019 focus: function (el) {
9020 el.one('beforeinput', function (e) {
9021 var history = [];
9022 history.push(el.clone(true));
9023 e2pdf.history.set('element_change', history);
9024 });
9025 var el_inner = el.find('.e2pdf-inner-element');
9026 el_inner.focus();
9027 el.addClass('e2pdf-focused');
9028 },
9029 // e2pdf.element.hide
9030 hide: function (el) {
9031 el.addClass('e2pdf-hide');
9032 },
9033 // e2pdf.element.show
9034 show: function (el) {
9035 el.removeClass('e2pdf-hide');
9036 },
9037 // e2pdf.element.delete
9038 delete: function (el) {
9039 el.remove();
9040 e2pdf.event.fire('after.element.delete');
9041 }
9042 },
9043 // e2pdf.storage
9044 storage: {
9045 get: function (key) {
9046 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9047 },
9048 set: function (key, data) {
9049 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9050 },
9051 delete: function (key) {
9052 localStorage.removeItem('e2pdf_' + key);
9053 }
9054 },
9055 // e2pdf.history
9056 history: {
9057 // e2pdf.history.set
9058 set: function (action, elements, data) {
9059 if (elements && elements.length > 0) {
9060 var history = {
9061 'action': action,
9062 'elements': elements,
9063 'data': data,
9064 };
9065 e2pdf.history.undoStack.push(history);
9066 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9067 e2pdf.history.undoStack.shift();
9068 }
9069 if (e2pdf.history.undoStack.length > 0) {
9070 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9071 }
9072 }
9073 },
9074 // e2pdf.history.undo
9075 undo: function () {
9076 var history = e2pdf.history.undoStack.pop();
9077 if (history) {
9078 e2pdf.element.unselect();
9079 if (history.action == 'element_change') {
9080 for (var key in history.elements) {
9081 var buffered = history.elements[key];
9082 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9083 e2pdf.element.initEvents(buffered);
9084 e2pdf.element.select(buffered);
9085 }
9086 } else if (history.action == 'element_create') {
9087 for (var key in history.elements) {
9088 var buffered = history.elements[key];
9089 if (buffered.hasClass('e2pdf-page')) {
9090 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9091 if (jQuery('.e2pdf-page').length == 0) {
9092 e2pdf.history.undo();
9093 }
9094 } else {
9095 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9096 }
9097 }
9098 } else if (history.action == 'element_delete') {
9099 for (var key in history.elements) {
9100 var buffered = history.elements[key];
9101 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9102 page.append(buffered);
9103 e2pdf.element.initEvents(buffered, page);
9104 e2pdf.element.select(buffered);
9105 }
9106 } else if (history.action == 'page_change') {
9107 for (var key in history.elements) {
9108 var buffered = history.elements[key];
9109 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9110 page.data('data-type', 'e2pdf-page');
9111 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9112 if (buffered.css('background-image')) {
9113 page.css('background-image', buffered.css('background-image'));
9114 }
9115 buffered.find('.e2pdf-element').each(function () {
9116 page.append(jQuery(this));
9117 e2pdf.element.initEvents(jQuery(this), page);
9118 });
9119 e2pdf.pages.initEvents(page);
9120 e2pdf.pages.rebuildPages();
9121 }
9122 if (history.data) {
9123 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9124 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9125 }
9126 } else if (history.action == 'page_delete') {
9127 for (var key in history.elements) {
9128 var buffered = history.elements[key];
9129 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9130 page.data('data-type', 'e2pdf-page');
9131 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9132 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9133 if (buffered.attr('data-page_id') == '1') {
9134 jQuery('.e2pdf-tpl-inner').prepend(page);
9135 } else {
9136 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9137 }
9138 if (buffered.css('background-image')) {
9139 page.css('background-image', buffered.css('background-image'));
9140 }
9141 buffered.find('.e2pdf-element').each(function () {
9142 page.append(jQuery(this));
9143 e2pdf.element.initEvents(jQuery(this), page);
9144 });
9145 e2pdf.pages.initEvents(page);
9146 e2pdf.pages.rebuildPages();
9147 }
9148 if (history.data) {
9149 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9150 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9151 }
9152 } else if (history.action == 'wysiwyg') {
9153 for (var key in history.elements) {
9154 var buffered = history.elements[key];
9155 buffered.focus();
9156 document.execCommand('undo');
9157 }
9158 }
9159 if (e2pdf.history.undoStack.length == 0) {
9160 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9161 }
9162 }
9163 },
9164 // e2pdf.history.redo
9165 redo: function () {
9166
9167 },
9168 clear: function () {
9169 e2pdf.history.undoStack = [];
9170 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9171 },
9172 // e2pdf.history.undoStack
9173 undoStack: []
9174 },
9175 // e2pdf.copy
9176 copy: function (key, el) {
9177 e2pdf.element.init(el);
9178 switch (key) {
9179 case 'style':
9180 var data = {
9181 'type': el.data('data-type'),
9182 'fields': e2pdf.properties.getFields(el)
9183 };
9184 e2pdf.storage.set(key, data);
9185 break;
9186 case 'width':
9187 var data = {
9188 'width': e2pdf.properties.getValue(el, 'width', 'float')
9189 };
9190 e2pdf.storage.set(key, data);
9191 break;
9192 case 'height':
9193 var data = {
9194 'height': e2pdf.properties.getValue(el, 'height', 'float')
9195 };
9196 e2pdf.storage.set(key, data);
9197 break;
9198 case 'elements':
9199 var elements = e2pdf.storage.get('elements');
9200 if (elements == null) {
9201 elements = [];
9202 }
9203 var data = {
9204 'type': el.data('data-type'),
9205 'top': el.css('top'),
9206 'left': el.css('left'),
9207 'width': el.css('width'),
9208 'height': el.css('height'),
9209 'fields': e2pdf.properties.getFields(el),
9210 'properties': e2pdf.properties.get(el),
9211 'actions': e2pdf.actions.get(el)
9212 };
9213 elements.push(data);
9214 e2pdf.storage.set(key, elements);
9215 break;
9216 case 'actions':
9217 var data = {
9218 'actions': e2pdf.actions.get(el)
9219 };
9220 e2pdf.storage.set(key, data);
9221 break;
9222 }
9223 },
9224 // e2pdf.paste
9225 paste: function (key, el) {
9226 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9227 switch (key) {
9228 case 'style':
9229 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9230 e2pdf.element.init(el);
9231 var groups = e2pdf.storage.get('style').fields;
9232 for (var group_key in groups) {
9233 var group = groups[group_key];
9234 for (var field_key in group.fields) {
9235 var group_field = group.fields[field_key];
9236 if (group_field.type != 'link') {
9237 if (jQuery.inArray(group_field.key, [
9238 'page_id',
9239 'element_id',
9240 'element_type',
9241 'width',
9242 'height',
9243 'top',
9244 'left',
9245 'name',
9246 'field_name',
9247 'z_index',
9248 'group',
9249 'option',
9250 'options',
9251 'css',
9252 'parent',
9253 'value',
9254 'preg_pattern',
9255 'preg_replacement',
9256 'preg_match_all_pattern',
9257 'preg_match_all_output',
9258 'wysiwyg_disable',
9259 'multipage',
9260 'dynamic_height',
9261 'nl2br',
9262 'hide_if_empty',
9263 'hide_page_if_empty',
9264 'css_priority',
9265 'pdf_resample',
9266 'pdf_append',
9267 'html_worker',
9268 'esig',
9269 'dimension',
9270 'block_dimension',
9271 'keep_lower_size',
9272 'fill_image',
9273 'only_image',
9274 'hl',
9275 'placeholder',
9276 'pdf_page',
9277 'format',
9278 'g_type',
9279 'g_structure_key',
9280 'g_structure_value',
9281 'g_structure_colour',
9282 'g_structure_axis_text',
9283 'g_structure_legend_text',
9284 'g_structure_label',
9285 'g_structure_area',
9286 'g_structure_open',
9287 'g_structure_end',
9288 'g_structure_outliers',
9289 'g_structure_top',
9290 'g_structure_bottom',
9291 'g_structure_wtop',
9292 'g_structure_wbottom',
9293 'g_structure_high',
9294 'g_structure_low',
9295 'g_structured_data',
9296 'g_key_sep',
9297 'g_array_sep',
9298 'g_sub_array_sep',
9299 'g_graph_title',
9300 'g_label_v',
9301 'g_label_h',
9302 'g_legend_title'
9303 ]) === -1) {
9304 e2pdf.properties.set(el, group_field.key, group_field.value);
9305 }
9306 }
9307 }
9308 }
9309 e2pdf.properties.render(el);
9310 }
9311 break;
9312 case 'elements':
9313 case 'elements-in-place':
9314 e2pdf.element.unselect();
9315 var context = jQuery('.e2pdf-context');
9316 var page = context.closest('.e2pdf-page');
9317 var min_top = 99999999;
9318 var min_left = 99999999;
9319 var left_correction = 0;
9320 var top_correction = 0;
9321 if (key !== 'elements-in-place') {
9322 for (var element in e2pdf.storage.get('elements')) {
9323 var buffered = e2pdf.storage.get('elements')[element];
9324 var properties = buffered.properties;
9325 min_top = Math.min(parseFloat(properties['top']), min_top);
9326 min_left = Math.min(parseFloat(properties['left']), min_left);
9327 }
9328 for (var element in e2pdf.storage.get('elements')) {
9329 var buffered = e2pdf.storage.get('elements')[element];
9330 var properties = buffered.properties;
9331 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9332 if (context.hasClass('e2pdf-context-bottom')) {
9333 top += context.height();
9334 }
9335 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9336 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9337 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9338 left_correction = Math.max(correction, left_correction);
9339 }
9340 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9341 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9342 top_correction = Math.max(correction, top_correction);
9343 }
9344 }
9345 }
9346
9347 var history = [];
9348 for (var element in e2pdf.storage.get('elements')) {
9349 var buffered = e2pdf.storage.get('elements')[element];
9350 var properties = buffered.properties;
9351 var actions = buffered.actions;
9352 if (key !== 'elements-in-place') {
9353 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9354 if (context.hasClass('e2pdf-context-bottom')) {
9355 top += context.height();
9356 }
9357 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9358 properties['top'] = top;
9359 properties['left'] = left;
9360 }
9361 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9362 page.append(el);
9363 e2pdf.properties.render(el);
9364 e2pdf.element.select(el);
9365 history.push(el.clone(true));
9366 }
9367 e2pdf.history.set('element_create', history);
9368 e2pdf.event.fire('after.element.paste');
9369 break;
9370 case 'actions':
9371 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9372 break;
9373 case 'width':
9374 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9375 e2pdf.properties.render(el);
9376 break;
9377 case 'height':
9378 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9379 e2pdf.properties.render(el);
9380 break;
9381 }
9382 }
9383 },
9384 // e2pdf.wysiwyg
9385 wysiwyg: {
9386 // e2pdf.wysiwyg.apply
9387 apply: function (el) {
9388 var history = [];
9389 history.push(el);
9390 e2pdf.history.set('wysiwyg', history);
9391 var html = '';
9392 var command = el.attr('data-command');
9393 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9394 if (command === 'H1') {
9395 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9396 e2pdf.wysiwyg.clear('h1');
9397 } else {
9398 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9399 document.execCommand('insertHTML', false, html);
9400 }
9401 } else if (command === 'H2') {
9402 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9403 e2pdf.wysiwyg.clear('h2');
9404 } else {
9405 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9406 document.execCommand('insertHTML', false, html);
9407 }
9408 } else if (command === 'createlink') {
9409 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9410 document.execCommand(command, false, url);
9411 } else if (command === 'font-size') {
9412 var font_size = el.find('option:selected').html();
9413 if (node.is("span") && document.getSelection().toString() === node.text()) {
9414 html = node.css('font-size', font_size + "px").prop('outerHTML');
9415 } else {
9416 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9417 }
9418 document.execCommand('insertHTML', false, html);
9419 el.val('');
9420 } else if (command === 'line-height') {
9421 var font_size = el.find('option:selected').html();
9422 if (node.is("span") && document.getSelection().toString() === node.text()) {
9423 html = node.css('line-height', font_size + "px").prop('outerHTML');
9424 } else {
9425 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9426 }
9427 document.execCommand('insertHTML', false, html);
9428 el.val('');
9429 } else if (command === 'font') {
9430 e2pdf.font.load(el);
9431 var font = CSS.escape(el.find('option:selected').html());
9432 if (node.is("span") && document.getSelection().toString() === node.text()) {
9433 html = node.css('font-family', font).prop('outerHTML');
9434 } else {
9435 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9436 }
9437 document.execCommand('insertHTML', false, html);
9438 el.val('');
9439 } else if (command === 'color') {
9440 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9441 var color = el.val();
9442 document.execCommand('foreColor', false, color);
9443 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9444 } else if (command === 'clear') {
9445 document.execCommand("removeformat", false, "");
9446 e2pdf.wysiwyg.clear();
9447 } else if (command) {
9448 document.execCommand(command, false, null);
9449 }
9450 e2pdf.event.fire('after.wysiwyg.apply');
9451 },
9452 // e2pdf.wysiwyg.clear
9453 clear: function (tags) {
9454 if (!tags) {
9455 var tags = "h1,h2";
9456 }
9457 var array = tags.toLowerCase().split(",");
9458 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9459 if (node.nodeType === 1 &&
9460 array.indexOf(node.tagName.toLowerCase()) > -1) {
9461 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9462 }
9463 });
9464 },
9465 // e2pdf.wysiwyg.helper
9466 helper: {
9467 // e2pdf.wysiwyg.helper.getSelectedNodes
9468 getSelectedNodes: function () {
9469 var nodes = [];
9470 if (window.getSelection) {
9471 var sel = window.getSelection();
9472 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9473 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9474 }
9475 }
9476 return nodes;
9477 },
9478 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9479 replaceWithOwnChildren: function (el) {
9480 var parent = el.parentNode;
9481 while (el.hasChildNodes()) {
9482 parent.insertBefore(el.firstChild, el);
9483 }
9484 parent.removeChild(el);
9485 },
9486 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9487 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9488 var node = range.startContainer;
9489 var endNode = range.endContainer;
9490 var rangeNodes = [];
9491 if (node === endNode) {
9492 rangeNodes = [node];
9493 } else {
9494 while (node && node !== endNode) {
9495 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9496 }
9497 node = range.startContainer;
9498 while (node && node !== range.commonAncestorContainer) {
9499 rangeNodes.unshift(node);
9500 node = node.parentNode;
9501 }
9502 }
9503
9504 if (includePartiallySelectedContainers) {
9505 node = range.commonAncestorContainer;
9506 while (node) {
9507 rangeNodes.push(node);
9508 node = node.parentNode;
9509 }
9510 }
9511
9512 return rangeNodes;
9513 },
9514 // e2pdf.wysiwyg.helper.getSelectedNode
9515 getSelectedNode: function () {
9516 var node, selection;
9517 if (window.getSelection) {
9518 selection = getSelection();
9519 node = selection.anchorNode;
9520 }
9521 if (!node && document.selection) {
9522 selection = document.selection;
9523 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9524 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9525 range.parentElement ? range.parentElement() : range.item(0);
9526 }
9527 if (node) {
9528 return (node.nodeName === "#text" ? node.parentNode : node);
9529 }
9530 },
9531 // e2pdf.wysiwyg.helper.nextNode
9532 nextNode: function (node) {
9533 if (node.hasChildNodes()) {
9534 return node.firstChild;
9535 } else {
9536 while (node && !node.nextSibling) {
9537 node = node.parentNode;
9538 }
9539 if (!node) {
9540 return null;
9541 }
9542 return node.nextSibling;
9543 }
9544 },
9545 // e2pdf.wysiwyg.helper.getSelectionHtml
9546 getSelectionHtml: function () {
9547 var html = "";
9548 if (typeof window.getSelection != 'undefined') {
9549 var sel = window.getSelection();
9550 if (sel.rangeCount) {
9551 var container = document.createElement("div");
9552 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9553 container.appendChild(sel.getRangeAt(i).cloneContents());
9554 }
9555 html = container.innerHTML;
9556 }
9557 } else if (typeof document.selection != 'undefined') {
9558 if (document.selection.type === "Text") {
9559 html = document.selection.createRange().htmlText;
9560 }
9561 }
9562 return html;
9563 },
9564 // e2pdf.wysiwyg.helper.saveSelection
9565 saveSelection: function () {
9566 if (window.getSelection) {
9567 sel = window.getSelection();
9568 if (sel.getRangeAt && sel.rangeCount) {
9569 return sel.getRangeAt(0);
9570 }
9571 } else if (document.selection && document.selection.createRange) {
9572 return document.selection.createRange();
9573 }
9574 return null;
9575 },
9576 // e2pdf.wysiwyg.helper.restoreSelection
9577 restoreSelection: function (range) {
9578 if (range) {
9579 if (window.getSelection) {
9580 sel = window.getSelection();
9581 sel.removeAllRanges();
9582 sel.addRange(range);
9583 } else if (document.selection && range.select) {
9584 range.select();
9585 }
9586 }
9587 },
9588 // e2pdf.wysiwyg.helper.dropSelection
9589 dropSelection: function () {
9590 if (window.getSelection) {
9591 sel = window.getSelection();
9592 sel.removeAllRanges();
9593 }
9594 }
9595 }
9596 },
9597 // e2pdf.visual
9598 visual: {
9599 // e2pdf.visual.mapper
9600 mapper: {
9601 cursorPosStart: null,
9602 cursorPosEnd: null,
9603 cursorRange: null,
9604 selected: null,
9605 // e2pdf.visual.mapper.init
9606 init: function (el) {
9607 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9608 if (el.find('.e2pdf-inner-element').is('div')) {
9609 if (window.getSelection) {
9610 sel = window.getSelection();
9611 if (sel.getRangeAt && sel.rangeCount) {
9612 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9613 }
9614 } else if (document.selection && document.selection.createRange) {
9615 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9616 }
9617 e2pdf.visual.mapper.cursorPosStart = null;
9618 e2pdf.visual.mapper.cursorPosEnd = null;
9619 } else {
9620 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9621 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9622 e2pdf.visual.mapper.cursorRange = null;
9623 }
9624 } else {
9625 e2pdf.visual.mapper.cursorPosStart = null;
9626 e2pdf.visual.mapper.cursorPosEnd = null;
9627 e2pdf.visual.mapper.cursorRange = null;
9628 }
9629
9630 e2pdf.visual.mapper.selected = el;
9631 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9632 e2pdf.dialog.create(modal);
9633 },
9634 // e2pdf.visual.mapper.markup
9635 markup: function () {
9636 e2pdf.dialog.rebuild();
9637 },
9638 // e2pdf.visual.mapper.rebuild
9639 rebuild: function () {
9640 if (jQuery('.e2pdf-vm-content').length > 0) {
9641 var vc_content = jQuery('.e2pdf-vm-content');
9642 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9643 jQuery('.e2pdf-vm-wrapper').remove();
9644 }
9645 vc_content.find('input[type="hidden"]').each(function () {
9646 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9647 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9648 jQuery(this).attr('value', jQuery(this).attr('name'));
9649 }
9650 });
9651 if (e2pdf.static.vm.hidden) {
9652 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9653 jQuery(this).attr('type', 'text');
9654 });
9655 } else {
9656 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9657 jQuery(this).attr('type', 'hidden');
9658 });
9659 }
9660
9661 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9662 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 () {
9663 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9664 });
9665 vc_content.append(vc_wrapper);
9666 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9667 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9668 }
9669 }
9670 },
9671 // e2pdf.visual.mapper.clear
9672 clear: function () {
9673 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9674 jQuery('.e2pdf-vm-wrapper').remove();
9675 }
9676 },
9677 // e2pdf.visual.mapper.load
9678 load: function (el) {
9679 var loaded = false;
9680 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9681 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9682 var width = el.css('width');
9683 var height = el.css('height');
9684 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9685 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9686 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9687 'width': width, 'height': height, 'top': top, 'left': left
9688 });
9689 var name = el.attr('name');
9690 var type = el.attr('type');
9691 var value = el.attr('value');
9692 if (el.is('select')) {
9693 type = 'select';
9694 value = '';
9695 el.find('option').each(function () {
9696 value += jQuery(this).attr('value');
9697 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9698 value += "\n";
9699 }
9700 });
9701 }
9702
9703 loaded.data('name', name);
9704 loaded.data('type', type);
9705 loaded.data('value', value);
9706 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9707 }
9708 return loaded;
9709 },
9710 // e2pdf.visual.mapper.apply
9711 apply: function (el) {
9712 if (e2pdf.visual.mapper.selected) {
9713 var history = [];
9714 history.push(e2pdf.visual.mapper.selected.clone(true));
9715 e2pdf.history.set('element_change', history);
9716 var name = el.data('name');
9717 var group = el.data('name');
9718 var value = el.data('value');
9719 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9720 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9721 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9722 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9723 var final = textBefore + name + textAfter;
9724 if (!e2pdf.static.vm.replace) {
9725 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9726 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9727 } else {
9728 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9729 }
9730 name = final;
9731 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9732 e2pdf.visual.mapper.cursorRange.deleteContents();
9733 var node = document.createTextNode(name);
9734 e2pdf.visual.mapper.cursorRange.insertNode(node);
9735 } else {
9736 if (!e2pdf.static.vm.replace) {
9737 e2pdf.element.init(e2pdf.visual.mapper.selected);
9738 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9739 }
9740 }
9741 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9742 case 'e2pdf-checkbox':
9743 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9744 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9745 break;
9746 case 'e2pdf-radio':
9747 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9748 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9749 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9750 break;
9751 case 'e2pdf-select':
9752 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9753 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9754 break;
9755 case 'e2pdf-image':
9756 case 'e2pdf-qrcode':
9757 case 'e2pdf-barcode':
9758 case 'e2pdf-graph':
9759 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9760 break;
9761 default:
9762 if (e2pdf.visual.mapper.cursorRange === null) {
9763 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9764 }
9765 break;
9766 }
9767 if (e2pdf.visual.mapper.cursorRange === null) {
9768 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9769 }
9770 }
9771 if (e2pdf.static.vm.close) {
9772 e2pdf.dialog.close();
9773 }
9774 }
9775 }
9776 },
9777 zoom: {
9778 zoom: 1,
9779 click: {
9780 x: 0,
9781 y: 0
9782 },
9783 apply: function (el) {
9784 jQuery('.e2pdf-tpl').removeClass(function (index, className) {
9785 return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
9786 });
9787 if (el.val() !== '100') {
9788 jQuery('.e2pdf-tpl').addClass("e2pdf-z" + el.val());
9789 }
9790
9791 e2pdf.zoom.zoom = el.val() / 100;
9792 jQuery('.e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('.e2pdf-tpl').width()) / 2);
9793 }
9794 }
9795 };
9796 jQuery(window).resize(function () {
9797 e2pdf.visual.mapper.clear();
9798 if (e2pdf.static.observer !== null) {
9799 e2pdf.static.observer.disconnect();
9800 e2pdf.static.observer = null;
9801 }
9802 if (this.e2pdfResizeTO) {
9803 clearTimeout(this.e2pdfResizeTO);
9804 }
9805 this.e2pdfResizeTO = setTimeout(function () {
9806 jQuery(this).trigger('e2pdfResizeEnd');
9807 }, 500);
9808 });
9809 jQuery(document).on('click', '.notice-dismiss', function (e) {
9810 jQuery(this).parent().addClass('e2pdf-hide');
9811 jQuery(this).trigger('e2pdfResizeEnd');
9812 });
9813 jQuery(window).bind('e2pdfResizeEnd', function () {
9814 e2pdf.dialog.rebuild();
9815 });
9816 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9817 var collapse = jQuery(this).attr('data-collapse');
9818 if (collapse) {
9819 if (jQuery(this).is(':checked')) {
9820 jQuery('.' + collapse).removeClass('e2pdf-hide');
9821 } else {
9822 jQuery('.' + collapse).addClass('e2pdf-hide');
9823 }
9824 }
9825 });
9826 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9827
9828 const form = jQuery(this).closest('form');
9829 const value = jQuery(this).val();
9830 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9831 if (value == '1') {
9832 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9833 } else if (value == '2') {
9834 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9835 }
9836
9837 form.off('submit.confirmOverwrite');
9838 if (value == '1' || value == '2' || value == '3') {
9839 form.on('submit.confirmOverwrite', function (e) {
9840 let message = '';
9841 if (value == '3') {
9842 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9843 } else {
9844 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9845 if (!template_id) {
9846 return true;
9847 }
9848 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9849 }
9850 if (!confirm(message)) {
9851 e.preventDefault();
9852 return false;
9853 }
9854 });
9855 }
9856 });
9857 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9858 if (jQuery(this).val() == 'attachment') {
9859 jQuery(this).closest('form').removeAttr('target');
9860 } else {
9861 jQuery(this).closest('form').attr('target', '_blank');
9862 }
9863 });
9864 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9865 var collapse = jQuery(this).attr('data-collapse');
9866 if (collapse) {
9867 if (jQuery(this).hasClass('e2pdf-collapsed')) {
9868 jQuery('.' + collapse).addClass('e2pdf-hide');
9869 jQuery(this).removeClass('e2pdf-collapsed');
9870 } else {
9871 jQuery('.' + collapse).removeClass('e2pdf-hide');
9872 jQuery(this).addClass('e2pdf-collapsed');
9873 }
9874 }
9875 });
9876 jQuery(document).ready(function () {
9877 jQuery('body').removeClass('e2pdf-loading');
9878 if (jQuery('.e2pdf-select2').length > 0) {
9879 jQuery('.e2pdf-select2').attr('disabled', false);
9880 }
9881 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
9882 e.stopPropagation();
9883 e.preventDefault();
9884 e.stopImmediatePropagation();
9885 return false;
9886 });
9887 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
9888 var parent = jQuery(this).closest('.e2pdf-grid');
9889 var argument = parent.find('.e2pdf-argument').first().clone();
9890 var index = parent.find('.e2pdf-argument').length + 1;
9891 argument.find('input').val('').attr('placeholder', 'arg' + index);
9892 argument.appendTo(parent.find('.e2pdf-arguments'));
9893 });
9894 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
9895 var parent = jQuery(this).closest('.e2pdf-grid');
9896 if (parent.find('.e2pdf-argument').length > 1) {
9897 parent.find('.e2pdf-argument').last().remove();
9898 }
9899 });
9900 jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
9901 var parent = jQuery('.e2pdf-search-replaces').first();
9902 var search_replace = parent.find('.e2pdf-search-replace').first().clone();
9903 search_replace.find('textarea').val('');
9904 search_replace.appendTo(parent);
9905 });
9906 jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
9907 var parent = jQuery(this).closest('.e2pdf-search-replace');
9908 if (parent) {
9909 parent.remove();
9910 }
9911 });
9912 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
9913 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
9914 var form = jQuery(this).closest('form');
9915 if (form.attr('id') === 'e2pdf-tpl-actions') {
9916 var element = jQuery('.e2pdf-tpl');
9917 } else if (form.attr('id') === 'e2pdf-page-options') {
9918 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
9919 } else {
9920 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9921 }
9922 e2pdf.actions.add(element, actions);
9923 });
9924 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
9925 var action_conditions = jQuery(this).closest('.e2pdf-action');
9926 var form = jQuery(this).closest('form');
9927 if (form.attr('id') === 'e2pdf-tpl-actions') {
9928 var element = jQuery('.e2pdf-tpl');
9929 } else if (form.attr('id') === 'e2pdf-page-options') {
9930 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
9931 } else {
9932 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
9933 }
9934
9935 e2pdf.actions.conditions.add(element, action_conditions);
9936 });
9937 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
9938 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
9939 return false;
9940 }
9941 var action = jQuery(this).closest('.e2pdf-action');
9942 e2pdf.actions.delete(action);
9943 });
9944 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
9945 var action = jQuery(this).closest('.e2pdf-action');
9946 e2pdf.actions.duplicate(action);
9947 });
9948 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
9949 var action = jQuery(this).closest('.e2pdf-action');
9950 if (action.find('.e2pdf-condition').length === 1) {
9951 alert(e2pdf.lang.get('Last condition can\'t be removed'));
9952 return false;
9953 }
9954 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
9955 return false;
9956 }
9957 var condition = jQuery(this).closest('.e2pdf-condition');
9958 e2pdf.actions.conditions.delete(condition);
9959 });
9960 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
9961 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
9962 });
9963 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
9964 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
9965 return false;
9966 }
9967 var history = [];
9968 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
9969 var el = jQuery(this);
9970 history.push(el.clone(true));
9971 el.css('background', '');
9972 });
9973 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
9974 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
9975 });
9976 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
9977 e2pdf.zoom.apply(jQuery(this));
9978 });
9979 jQuery(document).on('change', '.e2pdf-extension', function (e) {
9980 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
9981 });
9982 jQuery(document).on('change', '.e2pdf-item', function (e) {
9983 if (jQuery(this).val() == '-1') {
9984 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
9985 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
9986 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
9987 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9988 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
9989 } else if (jQuery(this).val() == '-2') {
9990 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9991 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
9992 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
9993 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
9994 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
9995 } else {
9996 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
9997 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
9998 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
9999 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10000 }
10001 });
10002 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
10003 var action = jQuery(this).closest('.e2pdf-action');
10004 e2pdf.actions.change(action, jQuery(this));
10005 });
10006 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10007 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
10008 var tab = jQuery(this);
10009 tab.closest('ul').find('li').removeClass('active');
10010 tab.parent('li').addClass('active');
10011 jQuery(document.getElementById(tab.attr('data-tab'))).show();
10012 });
10013 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
10014 var parent = jQuery(this).closest('.e2pdf-closed');
10015 if (parent.hasClass('e2pdf-opened')) {
10016 parent.removeClass('e2pdf-opened');
10017 } else {
10018 jQuery('.e2pdf-closed').each(function () {
10019 jQuery(this).removeClass('e2pdf-opened');
10020 });
10021 parent.addClass('e2pdf-opened');
10022 }
10023 });
10024 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
10025 e.preventDefault();
10026 var el = jQuery(this);
10027 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10028 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10029 return false;
10030 }
10031 }
10032 if (el.attr('form-id') == 'license_key') {
10033 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?'))) {
10034 return false;
10035 }
10036 }
10037 e2pdf.request.submitForm(el);
10038 });
10039 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
10040 var el = jQuery(this);
10041 if (el.hasClass('e2pdf-noclose')) {
10042 e2pdf.request.submitLocal(el, true);
10043 } else {
10044 e2pdf.request.submitLocal(el);
10045 }
10046 });
10047 jQuery(document).on('click', '.e2pdf-delete', function (e) {
10048 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?');
10049 if (!confirm(message)) {
10050 e2pdf.delete('.e2pdf-context');
10051 return false;
10052 }
10053 var history = [];
10054 for (var key in e2pdf.element.selected) {
10055 var selected = e2pdf.element.selected[key];
10056 e2pdf.element.init(selected);
10057 history.push(selected.clone(true));
10058 e2pdf.element.delete(selected);
10059 }
10060 e2pdf.history.set('element_delete', history);
10061 e2pdf.element.unselect();
10062 });
10063 jQuery(document).on('click', '.e2pdf-copy', function (e) {
10064 var type = jQuery(this).attr('type');
10065 if (type == 'elements') {
10066 e2pdf.storage.delete('elements');
10067 }
10068 for (var key in e2pdf.element.selected) {
10069 var selected = e2pdf.element.selected[key];
10070 e2pdf.copy(type, selected);
10071 }
10072 });
10073 jQuery(document).on('click', '.e2pdf-paste', function (e) {
10074 var type = jQuery(this).attr('type');
10075 if (type == 'elements' || type == 'elements-in-place') {
10076 e2pdf.paste(type);
10077 } else {
10078 var history = [];
10079 for (var key in e2pdf.element.selected) {
10080 var selected = e2pdf.element.selected[key];
10081 history.push(selected.clone(true));
10082 e2pdf.paste(type, selected);
10083 }
10084 e2pdf.history.set('element_change', history);
10085 }
10086 });
10087 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10088 var history = [];
10089 for (var key in e2pdf.element.selected) {
10090 var selected = e2pdf.element.selected[key];
10091 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10092 history.push(selected.clone(true));
10093 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10094 }
10095 }
10096 e2pdf.history.set('element_change', history);
10097 });
10098 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10099 var history = [];
10100 for (var key in e2pdf.element.selected) {
10101 var selected = e2pdf.element.selected[key];
10102 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10103 history.push(selected.clone(true));
10104 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10105 e2pdf.properties.render(selected);
10106 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10107 history.push(selected.clone(true));
10108 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10109 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10110 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10111 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10112 e2pdf.properties.render(selected);
10113 }
10114 }
10115 e2pdf.history.set('element_change', history);
10116 });
10117 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10118 e2pdf.storage.delete('elements');
10119 var history = [];
10120 for (var key in e2pdf.element.selected) {
10121 var selected = e2pdf.element.selected[key];
10122 e2pdf.element.init(selected);
10123 history.push(selected.clone(true));
10124 e2pdf.copy('elements', selected);
10125 e2pdf.element.delete(selected);
10126 }
10127 e2pdf.history.set('element_delete', history);
10128 });
10129 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10130 e.preventDefault();
10131 e.stopPropagation();
10132 e.stopImmediatePropagation();
10133 });
10134 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10135 jQuery(this).find('ul').show();
10136 });
10137 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10138 jQuery(this).find('ul').hide();
10139 });
10140 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10141 for (var key in e2pdf.element.selected) {
10142 var selected = e2pdf.element.selected[key];
10143 selected.addClass('e2pdf-focused');
10144 }
10145 });
10146 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10147 for (var key in e2pdf.element.selected) {
10148 var selected = e2pdf.element.selected[key];
10149 e2pdf.element.hide(selected);
10150 }
10151 });
10152 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10153 for (var key in e2pdf.element.selected) {
10154 var selected = e2pdf.element.selected[key];
10155 e2pdf.element.show(selected);
10156 }
10157 });
10158 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10159 for (var key in e2pdf.element.selected) {
10160 var selected = e2pdf.element.selected[key];
10161 e2pdf.properties.set(selected, 'locked', '1');
10162 selected.addClass('e2pdf-locked');
10163 }
10164 });
10165 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10166 for (var key in e2pdf.element.selected) {
10167 var selected = e2pdf.element.selected[key];
10168 e2pdf.properties.set(selected, 'locked', '0');
10169 selected.removeClass('e2pdf-locked');
10170 }
10171 });
10172 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10173 return false;
10174 });
10175 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10176 return false;
10177 });
10178 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10179 if (jQuery(this).hasClass('e2pdf-inactive')) {
10180 jQuery('html').addClass('e2pdf-show-all-elements');
10181 jQuery(this).removeClass('e2pdf-inactive');
10182 } else {
10183 jQuery('html').removeClass('e2pdf-show-all-elements');
10184 jQuery(this).addClass('e2pdf-inactive');
10185 }
10186 });
10187 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10188 if (jQuery(this).hasClass('e2pdf-inactive')) {
10189 jQuery('html').addClass('e2pdf-unlock-all-elements');
10190 jQuery(this).removeClass('e2pdf-inactive');
10191 } else {
10192 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10193 jQuery(this).addClass('e2pdf-inactive');
10194 }
10195 });
10196 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10197 if (jQuery(this).hasClass('e2pdf-inactive')) {
10198 jQuery(this).removeClass('e2pdf-inactive');
10199 } else {
10200 jQuery(this).addClass('e2pdf-inactive');
10201 }
10202 jQuery('.e2pdf-html').each(function () {
10203 var el = jQuery(this).parent();
10204 var children = jQuery(this);
10205 if (children.is('textarea')) {
10206 e2pdf.properties.set(el, 'value', children.val());
10207 } else {
10208 e2pdf.properties.set(el, 'value', children.html());
10209 }
10210 e2pdf.properties.render(el);
10211 });
10212 });
10213 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10214 if (e2pdf.pdf.settings.get('pdf')) {
10215 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10216 } else if (e2pdf_params['license_type'] == 'FREE') {
10217 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10218 } else {
10219 e2pdf.pages.createPage();
10220 }
10221 });
10222 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10223 e2pdf.history.undo();
10224 });
10225 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10226 e2pdf.history.redo();
10227 });
10228 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10229 if (e2pdf.url.get('revision_id')) {
10230 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10231 return false;
10232 }
10233 e2pdf.createPdf(jQuery(this));
10234 });
10235 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10236 e2pdf.pages.movePage(jQuery(this), 'up');
10237 });
10238 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10239 e2pdf.pages.movePage(jQuery(this), 'down');
10240 });
10241 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10242 if (e2pdf.pdf.settings.get('pdf')) {
10243 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10244 return false;
10245 }
10246 var history = [];
10247 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10248 var el = jQuery(this);
10249 history.push(el.closest('.e2pdf-page').clone(true));
10250 e2pdf.pages.deletePage(el);
10251 });
10252 history.reverse();
10253 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10254 } else {
10255 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10256 return false;
10257 }
10258 var el = jQuery(jQuery(this));
10259 var history = [];
10260 history.push(el.closest('.e2pdf-page').clone(true));
10261 e2pdf.history.set('page_delete', history);
10262 e2pdf.pages.deletePage(el);
10263 }
10264 });
10265 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10266 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10267 return false;
10268 }
10269 var history = [];
10270 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10271 var el = jQuery(this);
10272 history.push(el.closest('.e2pdf-page').clone(true));
10273 e2pdf.pages.deletePage(el);
10274 });
10275 history.reverse();
10276 if (e2pdf.pdf.settings.get('pdf')) {
10277 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10278 } else {
10279 e2pdf.history.set('page_delete', history);
10280 }
10281 });
10282 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10283 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10284 return false;
10285 }
10286 var el = jQuery(jQuery(this));
10287 e2pdf.font.delete(el);
10288 });
10289 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10290 e2pdf.dialog.create(jQuery(this));
10291 });
10292 jQuery(document).on('click', 'body', function (e) {
10293 e2pdf.delete('.e2pdf-context');
10294 });
10295 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10296 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10297 });
10298 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10299 if (jQuery(this).is('select')) {
10300 var data = {};
10301 data['id'] = jQuery('.e2pdf-export-template').val();
10302 data['datasets'] = {};
10303 jQuery('.e2pdf-export-dataset').each(function () {
10304 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10305 });
10306 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10307 }
10308 });
10309 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10310 var data = {};
10311 data['id'] = jQuery('.e2pdf-export-template').val();
10312 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10313 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10314 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10315 });
10316 jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10317 if (jQuery(this).is(':checked')) {
10318 if (jQuery(this).val() == '') {
10319 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10320 }
10321 } else {
10322 if (jQuery(this).val() == '') {
10323 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10324 } else {
10325 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10326 }
10327 }
10328
10329 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10330 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10331 }
10332
10333 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10334 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10335 } else {
10336 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10337 }
10338 });
10339 jQuery(document).on('change', '#e2pdf-font', function (e) {
10340 e2pdf.font.load(jQuery(this));
10341 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10342 });
10343 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10344 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10345 });
10346 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10347 var text_align = jQuery(this).val();
10348 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10349 if (
10350 jQuery(this).data('data-type') == 'e2pdf-input'
10351 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10352 || jQuery(this).data('data-type') == 'e2pdf-html'
10353 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10354 || jQuery(this).data('data-type') == 'e2pdf-link'
10355 ) {
10356 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10357 var children = e2pdf.element.children(jQuery(this));
10358 children.css('text-align', text_align);
10359 }
10360 }
10361 });
10362 });
10363 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10364 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10365 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10366 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10367 (e.shiftKey === true && e.keyCode === 187) ||
10368 (e.keyCode >= 35 && e.keyCode <= 40)
10369 ) {
10370
10371 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10372 e.preventDefault();
10373 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10374 e.preventDefault();
10375 } else {
10376 return;
10377 }
10378 }
10379 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10380 e.preventDefault();
10381 }
10382 });
10383 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10384 if (e.which == 13) {
10385 e.preventDefault();
10386 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10387 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10388 } else {
10389 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10390 }
10391 }
10392 });
10393 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10394 var value = jQuery(this).val().trim();
10395 var prefix = '';
10396 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10397 prefix = '+';
10398 }
10399 value = parseFloat(value);
10400 if (isNaN(value)) {
10401 value = 0;
10402 }
10403 jQuery(this).val(prefix + value);
10404 });
10405 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10406 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10407 });
10408 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10409 if (jQuery(this).is(':checked')) {
10410 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10411 } else {
10412 jQuery('.e2pdf-tpl').attr('dir', false);
10413 }
10414 });
10415 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10416 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10417 });
10418 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10419 e.preventDefault();
10420 for (var key in e2pdf.element.selected) {
10421 var selected = e2pdf.element.selected[key];
10422 e2pdf.mediaUploader.init(selected);
10423 }
10424 });
10425 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10426 for (var key in e2pdf.element.selected) {
10427 var selected = e2pdf.element.selected[key];
10428 e2pdf.visual.mapper.init(selected);
10429 }
10430 });
10431 document.addEventListener('selectionchange', function () {
10432 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10433 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10434 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10435 const selection = window.getSelection();
10436 if (selection && selection.toString().length == 0) {
10437 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10438 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10439 }
10440 } else {
10441 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10442 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10443 }
10444 });
10445 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10446 e.preventDefault();
10447 if (jQuery(this).hasClass('e2pdf-inactive')) {
10448 return;
10449 }
10450 e2pdf.wysiwyg.apply(jQuery(this));
10451 });
10452 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10453 e.preventDefault();
10454 e.stopPropagation();
10455 e.stopImmediatePropagation();
10456 if (jQuery(this).hasClass('e2pdf-inactive')) {
10457 return;
10458 }
10459 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10460 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10461 if (!color_panel.hasClass('wp-picker-active')) {
10462 color_panel.find('.wp-color-result').click();
10463 if (color_panel.find('.wp-color-close').length === 0) {
10464 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10465 var width = parseFloat(jQuery(this).css('width'));
10466 var height = parseFloat(jQuery(this).css('height'));
10467 close.css({'width': width, "height": height, "margin-top": -height});
10468 color_panel.append(close);
10469 }
10470 }
10471 });
10472 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10473 e.preventDefault();
10474 e.stopPropagation();
10475 e.stopImmediatePropagation();
10476 if (jQuery(this).hasClass('e2pdf-inactive')) {
10477 return;
10478 }
10479 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10480 if (gridContainer.hasClass('e2pdf-hide')) {
10481 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10482 gridContainer.removeClass('e2pdf-hide').empty();
10483 for (let i = 0; i < 100; i++) {
10484 let gridItem = jQuery('<div>');
10485 gridItem.on('mouseover', function () {
10486 let rowCol = calculateRowCol(i);
10487 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10488 });
10489 gridItem.on('mouseout', function () {
10490 highlightGrid(gridContainer, 0, 0);
10491 });
10492 gridItem.on('click', function () {
10493 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10494 let rowCol = calculateRowCol(i);
10495 let html = '<table>\n';
10496 for (let r = 0; r < rowCol.rows; r++) {
10497 html += '<tr>\n';
10498 for (let c = 0; c < rowCol.cols; c++) {
10499 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10500 }
10501 html += '</tr>\n';
10502 }
10503 html += '</table>\n';
10504 document.execCommand('insertHTML', false, html);
10505 gridContainer.addClass('e2pdf-hide');
10506 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10507 });
10508 gridContainer.append(gridItem);
10509 }
10510 gridContainer.append(jQuery('<span>').text('0x0'));
10511 } else {
10512 gridContainer.addClass('e2pdf-hide');
10513 }
10514 function calculateRowCol(index) {
10515 let rows = Math.floor(index / 10) + 1;
10516 let cols = (index % 10) + 1;
10517 return {rows, cols};
10518 }
10519 function highlightGrid(gridContainer, rows, cols) {
10520 gridContainer.find('div').each(function (idx) {
10521 let itemRowCol = calculateRowCol(idx);
10522 gridContainer.find('span').text(rows + 'x' + cols);
10523 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10524 jQuery(this).addClass('e2pdf-highlight');
10525 } else {
10526 jQuery(this).removeClass('e2pdf-highlight');
10527 }
10528 });
10529 }
10530 });
10531 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10532 e2pdf.wysiwyg.apply(jQuery(this));
10533 });
10534 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10535 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10536 });
10537 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10538 if (e2pdf.url.get('revision_id')) {
10539 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10540 return false;
10541 }
10542
10543 var message = "";
10544 if (e2pdf.static.unsaved) {
10545 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10546 }
10547 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10548 jQuery(this).attr('disabled', 'disabled');
10549 jQuery(this).closest('form').append(
10550 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10551 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10552 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10553 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10554 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10555 ),
10556 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10557 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10558 )
10559 )
10560 )
10561 );
10562 });
10563 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10564 if (e2pdf.static.unsaved) {
10565 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10566 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10567 jQuery(this).val(revision_id);
10568 return false;
10569 }
10570 }
10571 e2pdf.static.unsaved = false;
10572 var revision_id = jQuery(this).val();
10573 var template_id = e2pdf.pdf.settings.get('ID');
10574 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10575 if (revision_id === '0') {
10576 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10577 }
10578 jQuery(this).attr('disabled', 'disabled');
10579 location.href = url;
10580 });
10581 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10582 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10583 return false;
10584 }
10585 jQuery('html').addClass('e2pdf-loading');
10586 var data = {};
10587 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10588 });
10589 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10590 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10591 return false;
10592 }
10593 jQuery('html').addClass('e2pdf-loading');
10594 var data = {};
10595 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10596 });
10597 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10598 jQuery(this).closest('.e2pdf-confirmation').remove();
10599 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10600 jQuery('.e2pdf-reupload-pdf').click();
10601 });
10602 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10603 jQuery(this).closest('.e2pdf-confirmation').remove();
10604 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10605 });
10606 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10607 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10608 });
10609 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10610 jQuery(this).autocomplete("search", "");
10611 });
10612 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10613 if (!jQuery(this).is(':checked')) {
10614 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10615 return false;
10616 }
10617 }
10618 });
10619 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10620 e2pdf.event.fire('after.settings.style.change');
10621 });
10622 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10623 e2pdf.event.fire('after.settings.template.change');
10624 });
10625 jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10626 var form = jQuery(this).closest('form');
10627 var field = jQuery(this).attr('field');
10628 var search = jQuery(this).val();
10629 var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10630 var options = fieldset.data('options');
10631 var regex = new RegExp(search, "gi");
10632 fieldset.empty();
10633 jQuery.each(options, function (i) {
10634 var option = options[i];
10635 if (i == 0 || option.value.match(regex) !== null) {
10636 fieldset.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': field + '[]', 'type': 'checkbox', 'value': option.key}))));
10637 }
10638 });
10639 fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10640 if (fieldset.find('input[type="checkbox"]').length > 1) {
10641 form.find('.e2pdf-submit-form').attr('disabled', false);
10642 } else {
10643 fieldset.find('input[type="checkbox"]').attr('disabled', true);
10644 form.find('.e2pdf-submit-form').attr('disabled', true);
10645 }
10646 if (this.changeTrigger) {
10647 clearTimeout(this.changeTrigger);
10648 }
10649 this.changeTrigger = setTimeout(function () {
10650 fieldset.trigger('change');
10651 }, 1000);
10652 });
10653 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10654 if (jQuery(this).val() !== '') {
10655 var form = jQuery(this).closest('form');
10656 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10657 form.find('input[name="width"]').val(size.width);
10658 form.find('input[name="height"]').val(size.height);
10659 }
10660 });
10661 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10662 e2pdf.visual.mapper.apply(jQuery(this));
10663 });
10664 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10665 e2pdf.element.unselect();
10666 e2pdf.element.unfocus();
10667 var el = jQuery(this).closest('.e2pdf-element');
10668 e2pdf.element.focus(el);
10669 });
10670 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10671 var el = jQuery(this).closest('.e2pdf-element');
10672 e2pdf.element.unfocus();
10673 if (e.ctrlKey || e.metaKey) {
10674 if (el.hasClass('e2pdf-selected')) {
10675 e2pdf.element.unselect(el);
10676 } else {
10677 e2pdf.element.select(el);
10678 }
10679 } else {
10680 if (el.hasClass('e2pdf-selected')) {
10681 if (Object.keys(e2pdf.element.selected).length > 1) {
10682 e2pdf.element.unselect();
10683 e2pdf.element.select(el);
10684 } else {
10685 e2pdf.element.unselect(el);
10686 }
10687 } else {
10688 if (Object.keys(e2pdf.element.selected).length > 0) {
10689 e2pdf.element.unselect();
10690 e2pdf.element.select(el);
10691 } else {
10692 e2pdf.element.select(el);
10693 }
10694 }
10695 }
10696 });
10697 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10698 var data = {};
10699 data['id'] = jQuery(this).attr('data-id');
10700 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10701 });
10702 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10703 var data = {};
10704 data['id'] = jQuery(this).attr('data-id');
10705 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10706 });
10707 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10708 e.preventDefault();
10709 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10710 return false;
10711 }
10712 var data = {};
10713 data['template'] = jQuery(this).attr('template');
10714 data['dataset'] = jQuery(this).attr('dataset');
10715 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10716 });
10717 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10718 e.preventDefault();
10719 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10720 return false;
10721 }
10722 var data = {};
10723 data['template'] = jQuery(this).attr('template');
10724 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10725 });
10726 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10727 e.preventDefault();
10728 switch (jQuery(this).attr('action')) {
10729 case 'start':
10730 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10731 return false;
10732 }
10733 break;
10734 case 'stop':
10735 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10736 return false;
10737 }
10738 break;
10739 case 'delete':
10740 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10741 return false;
10742 }
10743 break;
10744 }
10745 var data = {};
10746 data['bulk'] = jQuery(this).attr('bulk');
10747 data['action'] = jQuery(this).attr('action');
10748 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10749 });
10750 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10751 jQuery(this).select();
10752 });
10753 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10754 jQuery(this).autocomplete("search", '');
10755 });
10756 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10757 if (jQuery(this).is(':checked')) {
10758 e2pdf.static.vm.hidden = true;
10759 } else {
10760 e2pdf.static.vm.hidden = false;
10761 }
10762 e2pdf.visual.mapper.rebuild();
10763 });
10764 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10765 var value = jQuery(this).val();
10766 if (value != '') {
10767 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10768 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10769 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10770 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10771 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10772 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10773 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10774 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10775 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10776 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10777 } else {
10778 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10779 }
10780 e2pdf.visual.mapper.rebuild();
10781 });
10782 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10783 if (jQuery(this).is(':checked')) {
10784 e2pdf.static.vm.replace = true;
10785 } else {
10786 e2pdf.static.vm.replace = false;
10787 }
10788 });
10789 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10790 if (jQuery(this).is(':checked')) {
10791 e2pdf.static.vm.close = true;
10792 } else {
10793 e2pdf.static.vm.close = false;
10794 }
10795 });
10796 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10797 if (typeof e.clipboardData != 'undefined') {
10798 var clipboardData = e.clipboardData;
10799 } else if (typeof window.clipboardData != 'undefined') {
10800 var clipboardData = window.clipboardData;
10801 } else {
10802 var clipboardData = e.originalEvent.clipboardData;
10803 }
10804 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10805 e.preventDefault();
10806 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10807 data = e2pdf.helper.stripHTML(
10808 data,
10809 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10810 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10811 'span', 'a', 'br',
10812 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10813 'sub', 'sup',
10814 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10815 'ul', 'ol', 'li',
10816 'a'
10817 );
10818 return document.execCommand('insertHtml', false, data);
10819 }
10820 });
10821 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10822 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10823 }
10824
10825 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10826 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10827 }
10828
10829 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10830 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10831 }
10832
10833 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10834 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10835 }
10836
10837 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10838 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10839 }
10840
10841 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10842 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10843 }
10844
10845 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10846 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10847 }
10848
10849 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10850 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10851 }
10852
10853 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10854 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
10855 }
10856
10857 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
10858 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
10859 }
10860
10861 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10862 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10863 }
10864
10865 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10866 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10867 }
10868
10869 jQuery('#e2pdf-zoom').trigger('change');
10870 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
10871 if (e2pdf.url.get('id')) {
10872 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
10873 e2pdf.static.autoloadExport = true;
10874 }
10875 }
10876
10877 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
10878 jQuery('.e2pdf-color-picker-load').each(function () {
10879 jQuery(this).wpColorPicker(
10880 {
10881 defaultColor: function () {
10882 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
10883 if (el.attr('data-default')) {
10884 return el.attr('data-default');
10885 } else {
10886 return;
10887 }
10888 },
10889 change: function (event, ui) {
10890 jQuery(this).val(ui.color.toString()).change();
10891 }
10892 }
10893 ).removeClass('e2pdf-color-picker-load');
10894 });
10895 jQuery(window).bind("beforeunload", function (e) {
10896 if (e2pdf.static.unsaved) {
10897 var confirmationMessage = "\o/";
10898 (e || window.event).returnValue = confirmationMessage;
10899 return confirmationMessage;
10900 }
10901 });
10902 if (jQuery('#e2pdf-build-form').length > 0) {
10903 postboxes.add_postbox_toggles(pagenow);
10904 }
10905
10906 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
10907 && typeof (jQuery.ui.droppable) != 'undefined'
10908 && jQuery('.e2pdf-tpl').length > 0) {
10909 // jQuery UI scale bug fix
10910 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
10911 var i, j,
10912 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
10913 type = event ? event.type : null,
10914 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
10915 droppablesLoop: for (i = 0; i < m.length; i++) {
10916 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
10917 continue;
10918 }
10919 for (j = 0; j < list.length; j++) {
10920 if (list[ j ] === m[ i ].element[ 0 ]) {
10921 m[ i ].proportions().height = 0;
10922 continue droppablesLoop;
10923 }
10924 }
10925 m[ i ].visible = m[ i ].element.css("display") !== "none";
10926 if (!m[ i ].visible) {
10927 continue;
10928 }
10929 if (type === "mousedown") {
10930 m[ i ]._activate.call(m[ i ], event);
10931 }
10932 m[ i ].offset = m[ i ].element.offset();
10933 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
10934 }
10935 };
10936 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
10937 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
10938 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
10939 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
10940 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
10941 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
10942 jQuery('.e2pdf-load-tpl').remove();
10943 jQuery('.e2pdf-load-el').each(function () {
10944 var element = jQuery(this);
10945 var type = element.attr('data-type');
10946 var page = element.closest('.e2pdf-page');
10947 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
10948 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
10949 properties['width'] = element.attr('data-width');
10950 properties['height'] = element.attr('data-height');
10951 properties['top'] = element.attr('data-top');
10952 properties['left'] = element.attr('data-left');
10953 properties['value'] = element.find('.e2pdf-data-value').val();
10954 properties['name'] = element.find('.e2pdf-data-name').val();
10955 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
10956 jQuery(this).replaceWith(el);
10957 e2pdf.properties.render(el);
10958 });
10959 jQuery('.e2pdf-load-page').each(function () {
10960 var page = jQuery(this);
10961 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
10962 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
10963 page.find('.e2pdf-data-properties').remove();
10964 page.find('.e2pdf-data-actions').remove();
10965 page.removeClass('e2pdf-load-page');
10966 e2pdf.pages.createPage(page, properties, actions, true);
10967 });
10968 jQuery('.e2pdf-be').draggable({
10969 cursorAt: {left: 0, top: 0},
10970 helper: function () {
10971 var element = jQuery(this).clone();
10972 var type = element.attr('data-type');
10973 var page = element.closest('.e2pdf-page');
10974 var el = e2pdf.element.create(type, page, false, false, true);
10975 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
10976 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
10977 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
10978 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
10979 e2pdf.properties.render(el);
10980 el.css('z-index', 1);
10981 if (e2pdf.zoom.zoom != 1) {
10982 el.css({
10983 'transform': 'scale(' + e2pdf.zoom.zoom + ')',
10984 'transform-origin': '0 0'
10985 });
10986 }
10987
10988 var w = el.width() * e2pdf.zoom.zoom;
10989 var h = el.height() * e2pdf.zoom.zoom;
10990 e2pdf.static.guide.x = Math.round(w / 2);
10991 e2pdf.static.guide.y = Math.round(h / 2);
10992 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
10993 left: Math.round(w / 2),
10994 top: Math.round(h / 2)
10995 });
10996 return el;
10997 },
10998 start: function (ev, ui) {
10999 e2pdf.element.unselect();
11000 },
11001 stop: function (ev, ui) {
11002 ui.position.top = Math.round(ui.position.top);
11003 ui.position.left = Math.round(ui.position.left);
11004 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
11005 },
11006 drag: function (ev, ui) {
11007 if (e2pdf.static.drag.page !== null) {
11008 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
11009 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
11010 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
11011 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
11012 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
11013 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
11014 jQuery.each(el_guides, function (i, elemGuide) {
11015 if (guide.type == elemGuide.type) {
11016 var prop = guide.type == "h" ? "top" : "left";
11017 var d = Math.abs(elemGuide[prop] - guide[prop]);
11018 if (d < guides[prop].dist) {
11019 guides[prop].dist = d;
11020 guides[prop].offset = elemGuide[prop] - pos[prop];
11021 guides[prop].guide = guide;
11022 }
11023 }
11024 });
11025 });
11026 if (guides.top.dist <= e2pdf.static.guide.distance) {
11027 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();
11028 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
11029 ui.position.top = snap_top;
11030 } else {
11031 jQuery('.e2pdf-guide-h').hide();
11032 }
11033 if (guides.left.dist <= e2pdf.static.guide.distance) {
11034 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();
11035 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
11036 ui.position.left = snap_left;
11037 } else {
11038 jQuery('.e2pdf-guide-v').hide();
11039 }
11040 }
11041 }
11042 });
11043 e2pdf.welcomeScreen();
11044 }
11045 e2pdf.font.load(jQuery('#e2pdf-font'));
11046 jQuery('.e2pdf-load-font').each(function () {
11047 e2pdf.font.load(jQuery(this));
11048 jQuery(this).remove();
11049 });
11050 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11051 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11052 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11053 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11054 }
11055
11056 jQuery(document).keydown(function (e) {
11057 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11058 if (jQuery('.e2pdf-focused').length == 0
11059 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11060 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11061 && Object.keys(e2pdf.element.selected).length > 0) {
11062 e.preventDefault();
11063 switch (e.which) {
11064 case 37:
11065 // left
11066 var diff = 1;
11067 for (var key in e2pdf.element.selected) {
11068 var selected = e2pdf.element.selected[key];
11069 if (parseFloat(selected.css('left')) > 0) {
11070 if (parseFloat(selected.css('left')) - 1 < 0) {
11071 diff = Math.min(diff, selected.css('left'));
11072 }
11073 } else {
11074 diff = Math.min(diff, 0);
11075 }
11076 }
11077
11078 for (var key in e2pdf.element.selected) {
11079 var selected = e2pdf.element.selected[key];
11080 selected.finish().animate({
11081 left: "-=" + diff
11082 }, 0);
11083 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11084 }
11085 break;
11086 case 38:
11087 // top
11088 var diff = 1;
11089 for (var key in e2pdf.element.selected) {
11090 var selected = e2pdf.element.selected[key];
11091 if (parseFloat(selected.css('top')) > 0) {
11092 if (parseFloat(selected.css('top')) - 1 < 0) {
11093 diff = Math.min(diff, selected.css('top'));
11094 }
11095 } else {
11096 diff = Math.min(diff, 0);
11097 }
11098 }
11099
11100 for (var key in e2pdf.element.selected) {
11101 var selected = e2pdf.element.selected[key];
11102 selected.finish().animate({
11103 top: "-=" + diff
11104 }, 0);
11105 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11106 }
11107 break;
11108 case 39:
11109 // right
11110 var diff = 1;
11111 for (var key in e2pdf.element.selected) {
11112 var selected = e2pdf.element.selected[key];
11113 if (parseFloat(selected.css('right')) > 0) {
11114 if (parseFloat(selected.css('right')) - 1 < 0) {
11115 diff = Math.min(diff, selected.css('right'));
11116 }
11117 } else {
11118 diff = Math.min(diff, 0);
11119 }
11120 }
11121
11122 for (var key in e2pdf.element.selected) {
11123 var selected = e2pdf.element.selected[key];
11124 selected.finish().animate({
11125 left: "+=" + diff
11126 }, 0);
11127 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11128 }
11129 break;
11130 case 40:
11131 // down
11132 var diff = 1;
11133 for (var key in e2pdf.element.selected) {
11134 var selected = e2pdf.element.selected[key];
11135 if (parseFloat(selected.css('bottom')) > 0) {
11136 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11137 diff = Math.min(diff, selected.css('bottom'));
11138 }
11139 } else {
11140 diff = Math.min(diff, 0);
11141 }
11142 }
11143
11144 for (var key in e2pdf.element.selected) {
11145 var selected = e2pdf.element.selected[key];
11146 selected.finish().animate({
11147 top: "+=" + diff
11148 }, 0);
11149 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11150 }
11151 break;
11152 case 46:
11153 // delete
11154 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?');
11155 if (!confirm(message)) {
11156 e2pdf.delete('.e2pdf-context');
11157 return false;
11158 }
11159 var history = [];
11160 for (var key in e2pdf.element.selected) {
11161 var selected = e2pdf.element.selected[key];
11162 e2pdf.element.init(selected);
11163 history.push(selected.clone(true));
11164 e2pdf.element.delete(selected);
11165 }
11166 e2pdf.history.set('element_delete', history);
11167 e2pdf.element.unselect();
11168 break;
11169 }
11170 }
11171 }
11172 });
11173 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11174 e2pdf.select2.init(jQuery(this));
11175 });
11176 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11177 e2pdf.select2.click(jQuery(this));
11178 });
11179 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11180 e2pdf.select2.filter(jQuery(this));
11181 });
11182 jQuery(document).on('mousedown', 'body', function (e) {
11183 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11184 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11185 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11186 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11187 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11188 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11189 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11190 e.ctrlKey !== true) {
11191 e2pdf.element.unselect();
11192 e2pdf.element.unfocus();
11193 }
11194 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11195 jQuery('.e2pdf-closed').each(function () {
11196 jQuery(this).removeClass('e2pdf-opened');
11197 });
11198 }
11199 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11200 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11201 }
11202 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11203 jQuery('.e2pdf-select2-dropdown').each(function () {
11204 e2pdf.select2.close(jQuery(this));
11205 });
11206 }
11207 });
11208 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11209 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11210 if (jQuery('.e2pdf-bulks-list').length > 0)
11211 {
11212 e2pdf.bulk.progress();
11213 }
11214 });