PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.55
E2Pdf – Export Pdf Tool for WordPress v1.32.55
1.32.55 1.32.56 1.32.53 1.32.51 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 All 76 releases
e2pdf / js / e2pdf.backend.js

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

11,302 lines 573.8 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 extension = e2pdf.pdf.settings.get('extension');
461 var hooks = {};
462 switch (extension) {
463 case 'woocommerce':
464 if (e2pdf.pdf.settings.get('item')) {
465 hooks = e2pdf_params['extension_hooks'][extension + '_' + e2pdf.pdf.settings.get('item')] || {};
466 }
467 break;
468 case 'wordpress':
469 if (e2pdf.pdf.settings.get('item') == '-3') {
470 hooks = e2pdf_params['extension_hooks'][extension + '_' + e2pdf.pdf.settings.get('item')] || {};
471 } else {
472 hooks = e2pdf_params['extension_hooks'][extension] || {};
473 }
474 break;
475 default:
476 hooks = e2pdf_params['extension_hooks'][extension] || {};
477 break;
478 }
479 return hooks;
480 },
481 getChecked: function () {
482 var hooks = [];
483 if (e2pdf.pdf.settings.get('hooks')) {
484 hooks = e2pdf.pdf.settings.get('hooks').split(',');
485 }
486 return hooks;
487 }
488 },
489 // e2pdf.lang
490 lang: {
491 // e2pdf.lang.get
492 get: function (key) {
493 if (typeof e2pdf_lang[key] === 'undefined') {
494 return key;
495 } else {
496 return e2pdf_lang[key];
497 }
498 }
499 },
500 // e2pdf.url
501 url: {
502 // e2pdf.url.change
503 change: function (page, path) {
504 if (window.history && window.history.pushState) {
505 var url = window.location.pathname;
506 if (page) {
507 url += '?page=' + page;
508 }
509
510 if (path) {
511 url += '&' + path;
512 }
513 history.pushState({urlPath: url}, "", url);
514 }
515 },
516 // e2pdf.url.build
517 build: function (page, path, _wpnonce) {
518 var url = window.location.pathname;
519 if (page) {
520 url += '?page=' + page;
521 }
522 if (path) {
523 url += '&' + path;
524 }
525 if (_wpnonce) {
526 url += '&_wpnonce=' + _wpnonce;
527 }
528 return url;
529 },
530 // e2pdf.url.get
531 get: function (name, url) {
532 if (!url) {
533 url = window.location.href;
534 }
535 if (!name) {
536 return url;
537 }
538 name = name.replace(/[\[\]]/g, "\\$&");
539 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
540 if (!results) {
541 return null;
542 }
543 if (!results[2]) {
544 return '';
545 }
546 return decodeURIComponent(results[2].replace(/\+/g, " "));
547 },
548 pluginsUrl: function () {
549 return e2pdf_params['plugins_url'];
550 },
551 uploadUrl: function () {
552 return e2pdf_params['upload_url'];
553 }
554 },
555 // e2pdf.guide
556 guide: {
557 // e2pdf.guide.calc
558 calc: function (el, pos, w, h, g) {
559 if (el != null) {
560 if (g) {
561 w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.scale;
562 h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.scale;
563 pos = jQuery(el).offset();
564 if (jQuery(el).hasClass('e2pdf-page')) {
565 pos = {
566 left: pos.left + 1,
567 top: pos.top + 1
568 };
569 }
570 } else {
571 w = parseFloat(jQuery(el).css('width'));
572 h = parseFloat(jQuery(el).css('height'));
573 if (jQuery(el).hasClass('e2pdf-page')) {
574 pos = {
575 left: 0,
576 top: 0
577 };
578 } else {
579 pos = {
580 left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
581 top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
582 };
583 }
584 }
585 }
586
587 return [
588 {type: "h", left: pos.left, top: pos.top},
589 {type: "h", left: pos.left, top: pos.top + h},
590 {type: "v", left: pos.left, top: pos.top},
591 {type: "v", left: pos.left + w, top: pos.top},
592 {type: "h", left: pos.left, top: pos.top + h / 2},
593 {type: "v", left: pos.left + w / 2, top: pos.top}
594 ];
595 }
596 },
597 // e2pdf.bulk
598 bulk: {
599 // e2pdf.bulk.progress
600 progress: function () {
601 setTimeout(function () {
602 var data = {};
603 data['bulks'] = [];
604 jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
605 data['bulks'].push(jQuery(this).attr('bulk'));
606 });
607 e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
608 e2pdf.bulk.progress();
609 }, 5000);
610 }
611 },
612 // e2pdf.pdf
613 pdf: {
614 // e2pdf.pdf.settings
615 settings: {
616 options: [],
617 // e2pdf.pdf.settings.change
618 change: function (key, value) {
619 e2pdf.pdf.settings.options[key] = value;
620 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
621 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
622 } else {
623 var input = jQuery('<input>',
624 {
625 'type': 'hidden',
626 'name': key,
627 'value': value
628 });
629 jQuery('.e2pdf-form-builder').append(input);
630 }
631
632 if (key == 'item') {
633 var data = {};
634 data['extension'] = e2pdf.pdf.settings.get('extension');
635 data['item'] = e2pdf.pdf.settings.get('item');
636 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
637 }
638 },
639 // e2pdf.pdf.settings.set
640 set: function (key, value) {
641 e2pdf.pdf.settings.options[key] = value;
642 if (key == 'item') {
643 var data = {};
644 data['extension'] = e2pdf.pdf.settings.get('extension');
645 data['item'] = e2pdf.pdf.settings.get('item');
646 e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
647 }
648 },
649 // e2pdf.pdf.settings.get
650 get: function (key) {
651 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
652 return null;
653 } else {
654 return e2pdf.pdf.settings.options[key];
655 }
656 }
657 }
658 },
659 // e2pdf.static
660 static: {
661 // e2pdf.static.unsaved
662 unsaved: false,
663 // e2pdf.static.mediaUploader
664 mediaUploader: false,
665 // e2pdf.static.autoloadExport
666 autoloadExport: false,
667 // e2pdf.static.selectionRange
668 selectionRange: null,
669 // e2pdf.static.observer
670 observer: null,
671 // e2pdf.static.vm
672 vm: {
673 // e2pdf.static.vm.hidden
674 hidden: false,
675 // e2pdf.static.vm.replace
676 replace: true,
677 // e2pdf.static.vm.close
678 close: true
679 },
680 // e2pdf.static.guide
681 guide: {
682 // e2pdf.static.guide.guides
683 guides: [],
684 // e2pdf.static.guide.distance
685 distance: 5,
686 x: 0,
687 y: 0
688 },
689 // e2pdf.static.drag
690 drag: {
691 // e2pdf.static.drag.min_top
692 min_top: 0,
693 // e2pdf.static.drag.max_top
694 max_top: 0,
695 // e2pdf.static.drag.min_left
696 min_left: 0,
697 // e2pdf.static.drag.max_left
698 max_left: 0,
699 // e2pdf.static.drag.page
700 page: null
701 }
702 },
703 // e2pdf.event
704 event: {
705 // e2pdf.event.fire
706 fire: function (event, action, el) {
707 if (
708 event === 'after.pages.deletePage' ||
709 event === 'after.createPdf' ||
710 event === 'after.pages.createPage.newpage' ||
711 event === 'after.element.create' ||
712 event === 'after.element.delete' ||
713 event === 'after.settings.style.change' ||
714 event === 'after.settings.template.change' ||
715 event === 'after.wysiwyg.apply' ||
716 event === 'after.request.submitLocal' ||
717 event === 'after.mediaUploader.select' ||
718 event === 'after.element.moved' ||
719 event === 'after.pages.movePage'
720 ) {
721 e2pdf.static.unsaved = true;
722 }
723
724 if (event === 'before.request.submitForm') {
725 e2pdf.static.unsaved = false;
726 }
727
728 if (event === 'after.dialog.create' || event === 'after.actions.change') {
729 jQuery('.e2pdf-color-picker-load').each(function () {
730 jQuery(this).wpColorPicker(
731 {
732 defaultColor: function () {
733 if (jQuery(this).attr('data-default')) {
734 return jQuery(this).attr('data-default');
735 } else {
736 return;
737 }
738 },
739 change: function (event, ui) {
740 jQuery(this).val(ui.color.toString()).change();
741 }
742 }
743 ).removeClass('e2pdf-color-picker-load');
744 });
745 }
746
747 if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
748 jQuery('#e2pdf-zoom').trigger('change');
749 }
750
751 if (event === 'before.request.submitRequest') {
752 el.attr('disabled', 'disabled');
753 switch (action) {
754 case 'e2pdf_auto':
755 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
756 break;
757 case 'e2pdf_extension':
758 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
759 break;
760 case 'e2pdf_templates':
761 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
762 jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
763 jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
764 jQuery('.e2pdf-export-dataset').data('options', []).empty();
765 jQuery('.e2pdf-fieldset-filter').val('');
766 e2pdf.select2.disable(el);
767 break;
768 case 'e2pdf_dataset':
769 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
770 jQuery('.e2pdf-dataset-shortcode-wr').hide();
771 el.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions').empty();
772 e2pdf.select2.disable(el);
773 break;
774 case 'e2pdf_datasets_refresh':
775 el.closest('.e2pdf-select2-wrapper').find('.e2pdf-export-dataset').data('options', []).empty();
776 e2pdf.select2.disable(el);
777 break;
778 case 'e2pdf_delete_item':
779 case 'e2pdf_delete_items':
780 e2pdf.select2.disable(el);
781 break;
782 default:
783 break;
784 }
785 }
786
787 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
788 if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
789 el.attr('disabled', false);
790 }
791 switch (action) {
792 case 'e2pdf_auto':
793 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', false);
794 break;
795 case 'e2pdf_extension':
796 el.closest('form').find('.e2pdf-items').find('option').remove();
797 el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', false);
798 break;
799 case 'e2pdf_get_styles':
800 jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
801 jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
802 break;
803 case 'e2pdf_templates':
804 case 'e2pdf_delete_item':
805 case 'e2pdf_delete_items':
806 e2pdf.select2.enable(el);
807 break;
808 default:
809 break;
810 }
811 }
812
813 if (event === 'before.request.upload') {
814 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
815 }
816
817 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
818 if (event === 'after.request.upload.error') {
819 el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', false);
820 }
821 el.closest('form').find('.e2pdf-upload-pdf').replaceWith(
822 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
823 );
824 el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
825 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
826 );
827 }
828 }
829 },
830 // e2pdf.form
831 form: {
832 // e2pdf.form.serializeObject
833 serializeObject: function (form) {
834
835 var o = {};
836 var a = form.serializeArray();
837 jQuery.each(a, function () {
838 if (this.name.endsWith('[]')) {
839
840 var name = this.name;
841 name = name.substring(0, this.name.length - 2);
842 if (!(name in o)) {
843 o[name] = [];
844 }
845 o[name].push(this.value);
846 } else if (this.name.endsWith(']')) {
847
848 var name = this.name;
849 var path = name.split(/[\[\]]+/);
850 var curItem = o;
851 for (var j = 0; j < path.length - 2; j++)
852 {
853 if (!(path[j] in curItem))
854 {
855 curItem[path[j]] = {};
856 }
857 curItem = curItem[path[j]];
858 }
859
860 curItem[path[j]] = this.value || '';
861 } else {
862 o[this.name] = this.value || '';
863 }
864 });
865 return o;
866 },
867 // e2pdf.form.serializeElements
868 serializeElements: function () {
869 var o = {};
870 jQuery('.e2pdf-element').each(
871 function (index) {
872 var el = {};
873 el.type = jQuery(this).data('data-type');
874 el.properties = e2pdf.properties.get(jQuery(this));
875 el.actions = e2pdf.actions.get(jQuery(this));
876 el.top = jQuery(this).css('top');
877 el.left = jQuery(this).css('left');
878 el.width = jQuery(this).css('width');
879 el.height = jQuery(this).css('height');
880 switch (jQuery(this).data('data-type')) {
881 case 'e2pdf-rectangle':
882 el.value = '';
883 break;
884 case 'e2pdf-html':
885 if (jQuery(this).find('.e2pdf-html').is('textarea')) {
886 el.value = jQuery(this).find('.e2pdf-html').val();
887 } else {
888 el.value = jQuery(this).find('.e2pdf-html').html();
889 }
890 break;
891 case 'e2pdf-input':
892 el.value = jQuery(this).find('.e2pdf-input').val();
893 break;
894 case 'e2pdf-textarea':
895 el.value = jQuery(this).find('.e2pdf-textarea').val();
896 break;
897 case 'e2pdf-page-number':
898 case 'e2pdf-checkbox':
899 case 'e2pdf-radio':
900 case 'e2pdf-select':
901 case 'e2pdf-image':
902 case 'e2pdf-qrcode':
903 case 'e2pdf-barcode':
904 case 'e2pdf-graph':
905 case 'e2pdf-link':
906 case 'e2pdf-signature':
907 el.value = e2pdf.helper.getString(el.properties['value']);
908 break;
909 default:
910 el.value = jQuery(this).html();
911 break;
912 }
913 el.name = e2pdf.helper.getString(el.properties['name']);
914 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
915 el.element_id = jQuery(this).attr('data-element_id');
916 delete el.properties['width'];
917 delete el.properties['height'];
918 delete el.properties['value'];
919 delete el.properties['top'];
920 delete el.properties['left'];
921 delete el.properties['name'];
922 delete el.properties['element_type'];
923 delete el.properties['element_id'];
924 delete el.properties['page_id'];
925 o[index] = el;
926 });
927 return o;
928 }
929 },
930 // e2pdf.font
931 font: {
932 // e2pdf.font.load
933 load: function (el) {
934 var name, value;
935 if (el.is('select')) {
936 name = el.val();
937 value = el.find('option:selected').attr('path');
938 } else if (el.is('div')) {
939 name = el.attr('name');
940 value = el.attr('path');
941 }
942 if (jQuery("head").find('style[name="' + CSS.escape(name) + '"]').length === 0) {
943 jQuery("head").append(
944 jQuery("<style>")
945 .attr('name', name)
946 .attr('type', 'text/css')
947 .text(`@font-face {font-family: "${CSS.escape(name)}"; src: url("${e2pdf.url.uploadUrl()}/fonts/${encodeURIComponent(value)}")}`)
948 );
949 }
950 },
951 // e2pdf.font.apply
952 apply: function (el, font) {
953 let font_name = font.find('option:selected').html();
954 el.css('font-family', font_name ? CSS.escape(font_name) : '');
955 },
956 // e2pdf.font.size
957 size: function (el, size) {
958 var font_size = size.val();
959 el.css({'font-size': font_size + "px"});
960 },
961 // e2pdf.font.line
962 line: function (el, height) {
963 var line_height = height.val();
964 el.css({'line-height': line_height + "px"});
965 },
966 // e2pdf.font.color
967 fontcolor: function (el, color) {
968 var font_color = color.val();
969 el.css({'color': font_color});
970 },
971 // e2pdf.font.delete
972 delete: function (el) {
973 var font = el.attr('data-font');
974 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
975 }
976 },
977 // e2pdf.request
978 request: {
979 // e2pdf.request.upload
980 upload: function (action, el) {
981 if (el.attr('disabled')) {
982 return;
983 }
984 var data = new FormData(el.closest('form')[0]);
985 e2pdf.event.fire('before.request.upload', action, el);
986 jQuery('html').addClass('e2pdf-loading');
987 jQuery.ajax({
988 url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
989 type: 'POST',
990 data: data,
991 cache: false,
992 contentType: false,
993 processData: false,
994 success: function (response) {
995 if (response.redirect !== undefined) {
996 e2pdf.event.fire('after.request.upload.success', action, el);
997 e2pdf.static.unsaved = false;
998 location.href = response.redirect;
999 } else if (response.error !== undefined) {
1000 jQuery('html').removeClass('e2pdf-loading');
1001 e2pdf.event.fire('after.request.upload.error', action, el);
1002 alert(response.error);
1003 } else {
1004 jQuery('html').removeClass('e2pdf-loading');
1005 e2pdf.event.fire('after.request.upload.error', action, el);
1006 }
1007 },
1008 error: function (response) {
1009 jQuery('html').removeClass('e2pdf-loading');
1010 e2pdf.event.fire('after.request.upload.error', action, el);
1011 }
1012 });
1013 },
1014 // e2pdf.request.submitForm
1015 submitForm: function (el) {
1016 if (el.attr('disabled')) {
1017 return;
1018 }
1019 el.attr('disabled', 'disabled');
1020 jQuery('html').addClass('e2pdf-loading');
1021 e2pdf.event.fire('before.request.submitForm');
1022 var form_id = el.attr('form-id');
1023 var form = jQuery(document.getElementById(form_id));
1024 var data = e2pdf.form.serializeObject(form);
1025 var action = el.attr('action');
1026 var _wpnonce = el.attr('_wpnonce');
1027 switch (form_id) {
1028 case 'e2pdf-build-form':
1029 var elements = e2pdf.form.serializeElements();
1030 data.pages = {};
1031 jQuery('.e2pdf-page').each(function () {
1032 var page_id = jQuery(this).attr('data-page_id');
1033 data.pages[page_id] = {};
1034 var properties = e2pdf.properties.get(jQuery(this));
1035 properties['width'] = jQuery(this).attr('data-width');
1036 properties['height'] = jQuery(this).attr('data-height');
1037 delete properties['page_id'];
1038 delete properties['element_type'];
1039 delete properties['preset'];
1040 var page_elements = [];
1041 data.pages[page_id]['properties'] = properties;
1042 data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
1043 data.pages[page_id]['elements'] = page_elements;
1044 });
1045 for (var key in elements) {
1046 data.pages[elements[key].page_id]['elements'].push(elements[key]);
1047 }
1048 data.actions = e2pdf.actions.get(jQuery('.e2pdf-tpl'));
1049 data.properties = e2pdf.properties.get(jQuery('.e2pdf-tpl'));
1050 data = JSON.stringify(data);
1051 break;
1052 case 'e2pdf-export-form':
1053 data = JSON.stringify(data);
1054 break;
1055 case 'e2pdf-email':
1056 jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
1057 data = {};
1058 data['email'] = form.find('input[name="email"]').val();
1059 if (form.find('input[name="email_code"]').length > 0) {
1060 data['email_code'] = form.find('input[name="email_code"]').val();
1061 }
1062 break;
1063 }
1064 jQuery('html').addClass('e2pdf-loading');
1065 if (el.attr('target') === '_blank') {
1066 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
1067 jQuery('<textarea>', {'name': 'preview'}).val(data)
1068 ).hide();
1069 jQuery('body').append(post_form);
1070 post_form.submit();
1071 post_form.remove();
1072 jQuery('html').removeClass('e2pdf-loading');
1073 el.attr('disabled', false);
1074 return false;
1075 }
1076 jQuery.ajax({
1077 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1078 data: {action: action, data: data},
1079 success: function (response) {
1080 if (response.redirect !== undefined) {
1081 location.href = response.redirect;
1082 } else {
1083 el.attr('disabled', false);
1084 if (response.error !== undefined) {
1085 jQuery('html').removeClass('e2pdf-loading');
1086 alert(response.error);
1087 } else if (response.content) {
1088 e2pdf.request.callBack(action, response.content, el);
1089 jQuery('html').removeClass('e2pdf-loading');
1090 } else {
1091 jQuery('html').removeClass('e2pdf-loading');
1092 }
1093 }
1094 },
1095 error: function (response) {
1096 jQuery('html').removeClass('e2pdf-loading');
1097 el.attr('disabled', false);
1098 }
1099 });
1100 },
1101 // e2pdf.request.submitRequest
1102 submitRequest: function (action, el, value) {
1103 if (el.attr('disabled')) {
1104 return;
1105 }
1106 if (action !== 'e2pdf_bulk_progress') {
1107 jQuery('html').addClass('e2pdf-loading');
1108 }
1109 if (!value) {
1110 var value = el.val();
1111 }
1112 var _wpnonce = el.attr('_wpnonce');
1113 if (action == 'e2pdf_bulk_progress') {
1114 _wpnonce = e2pdf_params['nonce']['e2pdf'];
1115 }
1116
1117 e2pdf.event.fire('before.request.submitRequest', action, el);
1118 jQuery.ajax({
1119 type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
1120 data: {action: action, data: value},
1121 success: function (response) {
1122 e2pdf.event.fire('after.request.submitRequest.success', action, el);
1123 if (response.redirect !== undefined) {
1124 location.href = response.redirect;
1125 } else if (response.error !== undefined) {
1126 jQuery('html').removeClass('e2pdf-loading');
1127 alert(response.error);
1128 } else if (response.content) {
1129 e2pdf.request.callBack(action, response.content, el);
1130 jQuery('html').removeClass('e2pdf-loading');
1131 } else {
1132 jQuery('html').removeClass('e2pdf-loading');
1133 }
1134 },
1135 error: function (response) {
1136 jQuery('html').removeClass('e2pdf-loading');
1137 e2pdf.event.fire('after.request.submitRequest.error', action, el);
1138 }
1139 });
1140 },
1141 // e2pdf.request.submitLocal
1142 submitLocal: function (el, noclose = false) {
1143 var form_id = el.attr('form-id');
1144 var form = jQuery(document.getElementById(form_id));
1145 var data = e2pdf.form.serializeObject(form);
1146 switch (form_id) {
1147 case 'e2pdf-page-options':
1148 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1149 var action_error = false;
1150 for (var action in data['actions']) {
1151 for (var condition in data['actions'][action]['conditions']) {
1152 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1153 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1154 action_element.addClass('e2pdf-action-error');
1155 action_error = true;
1156 }
1157 }
1158 }
1159 if (action_error) {
1160 setTimeout(function () {
1161 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1162 }, 0);
1163 return;
1164 }
1165 var width = data['width'];
1166 var height = data['height'];
1167 var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1168 e2pdf.actions.apply(page, data['actions']);
1169 e2pdf.pages.changePageSize(page, width, height);
1170 e2pdf.properties.apply(page, data);
1171 e2pdf.event.fire('after.request.submitLocal', false, page);
1172 break;
1173 case 'e2pdf-tpl-actions':
1174 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1175 var action_error = false;
1176 for (var action in data['actions']) {
1177 for (var condition in data['actions'][action]['conditions']) {
1178 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1179 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1180 action_element.addClass('e2pdf-action-error');
1181 action_error = true;
1182 }
1183 }
1184 }
1185 if (action_error) {
1186 setTimeout(function () {
1187 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1188 }, 0);
1189 return;
1190 }
1191 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1192 break;
1193 case 'e2pdf-tpl-properties':
1194 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1195 e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1196 break;
1197 case 'e2pdf-tpl-hooks':
1198 var hooks = data['hooks'];
1199 if (hooks) {
1200 e2pdf.pdf.settings.change('hooks', hooks.join(','));
1201 } else {
1202 e2pdf.pdf.settings.change('hooks', '');
1203 }
1204 break;
1205 default:
1206 var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1207 jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1208 var action_error = false;
1209 for (var action in data['actions']) {
1210 for (var condition in data['actions'][action]['conditions']) {
1211 if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1212 let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1213 action_element.addClass('e2pdf-action-error');
1214 action_error = true;
1215 }
1216 }
1217 }
1218 if (action_error) {
1219 setTimeout(function () {
1220 alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1221 }, 0);
1222 return;
1223 }
1224 var history = [];
1225 history.push(element.clone(true));
1226 e2pdf.history.set('element_change', history);
1227 e2pdf.actions.apply(element, data['actions']);
1228 delete data['actions'];
1229 e2pdf.properties.apply(element, data);
1230 e2pdf.properties.render(element);
1231 e2pdf.event.fire('after.request.submitLocal', false, el);
1232 break;
1233 }
1234 if (!noclose) {
1235 e2pdf.dialog.close();
1236 }
1237 },
1238 // e2pdf.request.callBack
1239 callBack: function (action, result, el) {
1240 switch (action) {
1241 case 'e2pdf_email':
1242 if (result === 'subscribed') {
1243 jQuery('.e2pdf-email-lock').remove();
1244 } else {
1245 jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1246 var form_id = el.attr('form-id');
1247 var form = jQuery(document.getElementById(form_id));
1248 form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1249 form.find('input[name="email"]').attr('type', 'hidden');
1250 jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
1251 }
1252 break;
1253 case 'e2pdf_extension':
1254 for (var key in result) {
1255 var option = jQuery('<option>',
1256 {
1257 'value': result[key]['id']
1258 }).html(result[key]['name']);
1259 if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1260 option.attr('selected', 'selected');
1261 }
1262 option.data('data-item', result[key]);
1263 jQuery('.e2pdf-item').append(option);
1264 }
1265 for (var key in result) {
1266 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1267 var option = jQuery('<option>',
1268 {
1269 'value': result[key]['id']
1270 }).html(result[key]['name']);
1271 if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1272 option.attr('selected', 'selected');
1273 }
1274 option.data('data-item', result[key]);
1275 jQuery('.e2pdf-item1').append(option);
1276 }
1277 }
1278 for (var key in result) {
1279 if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1280 var option = jQuery('<option>',
1281 {
1282 'value': result[key]['id']
1283 }).html(result[key]['name']);
1284 if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1285 option.attr('selected', 'selected');
1286 }
1287 option.data('data-item', result[key]);
1288 jQuery('.e2pdf-item2').append(option);
1289 }
1290 }
1291 el.closest('form').find('.e2pdf-item').trigger('change');
1292 break;
1293 case 'e2pdf_get_styles':
1294 for (var key in result) {
1295 if (result[key].split('.').pop() == 'js') {
1296 jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
1297 } else {
1298 jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1299 }
1300 }
1301 break;
1302 case 'e2pdf_visual_mapper':
1303 el.html(result);
1304 var height = el.outerHeight();
1305 e2pdf.visual.mapper.markup();
1306 if (window.ResizeObserver) {
1307 e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1308 for (var mutation of mutationsList) {
1309 if (el.outerHeight() != height) {
1310 e2pdf.visual.mapper.rebuild();
1311 }
1312 }
1313 });
1314 e2pdf.static.observer.observe(el[0]);
1315 }
1316 var images = el.find('img');
1317 var counter = 0;
1318 counter = images.length;
1319 images.each(function () {
1320 var img = new Image();
1321 img.onload = function () {
1322 counter--;
1323 if (counter === 0) {
1324 e2pdf.visual.mapper.rebuild();
1325 }
1326 };
1327 img.onerror = function () {
1328 counter--;
1329 if (counter === 0) {
1330 e2pdf.visual.mapper.rebuild();
1331 }
1332 };
1333 img.src = jQuery(this).attr('src');
1334 });
1335 break;
1336 case 'e2pdf_templates':
1337 var template_id = result['id'];
1338 if (template_id) {
1339 jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1340 for (var key in result['datasets']) {
1341 var options = [];
1342 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1343 dataset_field.closest('.e2pdf-export-item').show();
1344 for (var subkey in result['datasets'][key]) {
1345 var option = {
1346 key: result['datasets'][key][subkey]['key'].toString(),
1347 value: result['datasets'][key][subkey]['value'].toString()
1348 };
1349 options.push(option);
1350 if (e2pdf.url.get('action') == 'bulk') {
1351 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}))));
1352 } else {
1353 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1354 }
1355 }
1356 dataset_field.data('options', options);
1357 if (e2pdf.url.get('action') == 'bulk') {
1358 dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1359 if (Object.keys(result['datasets'][key]).length > 1) {
1360 dataset_field.attr('disabled', false);
1361 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1362 } else {
1363 dataset_field.attr('disabled', 'disabled');
1364 jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1365 }
1366 } else {
1367 dataset_field.val('');
1368 e2pdf.select2.update(dataset_field);
1369 e2pdf.select2.enable(dataset_field);
1370 }
1371 }
1372 if (result['actions']) {
1373 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1374 for (var key in result['actions']) {
1375 ul.append(jQuery('<li>').html(result['actions'][key]));
1376 }
1377 jQuery('.e2pdf-export-template-actions').append(ul);
1378 }
1379 jQuery('.e2pdf-export-option').each(function () {
1380 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1381 var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1382 if (result['options'].hasOwnProperty(key)) {
1383 jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1384 if (result['options'][key]) {
1385 jQuery(this).val(result['options'][key]);
1386 } else {
1387 if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1388 jQuery(this).val('[e2pdf-dataset]');
1389 } else {
1390 if (key == 'args') {
1391 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1392 jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1393 }
1394 jQuery(this).val('');
1395 }
1396 }
1397 } else {
1398 jQuery(this).val('');
1399 }
1400 if (jQuery(this).attr('name') == 'options[name]') {
1401 if (e2pdf.url.get('action') == 'bulk') {
1402 jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1403 }
1404 }
1405 });
1406 if (e2pdf.static.autoloadExport) {
1407 var datasets = [
1408 'dataset',
1409 'dataset2'
1410 ];
1411 for (var key in datasets) {
1412 if (e2pdf.url.get(datasets[key])) {
1413 jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1414 }
1415 }
1416 for (var key in datasets) {
1417 if (e2pdf.url.get(datasets[key])) {
1418 e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1419 }
1420 }
1421 e2pdf.static.autoloadExport = false;
1422 } else {
1423 var url = '';
1424 if (e2pdf.url.get('action')) {
1425 url += 'action=' + e2pdf.url.get('action') + '&';
1426 }
1427 url += 'id=' + template_id;
1428 e2pdf.url.change('e2pdf', url);
1429 }
1430
1431 if (e2pdf.url.get('action') == 'bulk') {
1432 jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1433 }
1434 jQuery('.e2pdf-export-options').slideDown();
1435 } else {
1436 if (e2pdf.url.get('action') == 'bulk') {
1437 e2pdf.url.change('e2pdf', 'action=bulk');
1438 } else {
1439 e2pdf.url.change('e2pdf');
1440 }
1441 }
1442 break;
1443 case 'e2pdf_dataset':
1444 var template_id = result['id'];
1445 var url = 'id=' + template_id;
1446 var shortcode = '[e2pdf-download id="' + template_id + '"';
1447 if (result['datasets']) {
1448 for (var key in result['datasets']) {
1449 var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1450 var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1451 e2pdf.select2.enable(dataset_field);
1452 if (result['datasets'][key]['id'] == '') {
1453 dataset_field.val('');
1454 e2pdf.select2.update(dataset_field);
1455 } else {
1456 url += '&' + key + '=' + result['datasets'][key]['id'];
1457 shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1458 }
1459 if (result['datasets'][key]['actions']) {
1460 var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1461 for (var dkey in result['datasets'][key]['actions']) {
1462 ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
1463 }
1464 actions.empty().append(ul);
1465 }
1466 }
1467 jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1468 }
1469 shortcode += "]";
1470 if (result['export']) {
1471 jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1472 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1473 jQuery('.e2pdf-dataset-shortcode-wr').show();
1474 }
1475 e2pdf.url.change('e2pdf', url);
1476 break;
1477 case 'e2pdf_datasets_refresh':
1478 var options = [];
1479 var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1480 for (var key in result['datasets']) {
1481 var option = {
1482 key: result['datasets'][key]['key'].toString(),
1483 value: result['datasets'][key]['value'].toString()
1484 };
1485 options.push(option);
1486 if (e2pdf.url.get('action') == 'bulk') {
1487 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}))));
1488 } else {
1489 dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1490 }
1491 }
1492 dataset_field.data('options', options);
1493 e2pdf.select2.val(dataset_field, result['dataset']);
1494 break;
1495 case 'e2pdf_delete_item':
1496 case 'e2pdf_delete_items':
1497 jQuery('.e2pdf-export-template').trigger('change');
1498 break;
1499 case 'e2pdf_activate_template':
1500 case 'e2pdf_deactivate_template':
1501 if (result == 'activated') {
1502 el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1503 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1504 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1505 }
1506 } else {
1507 el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1508 if (el.parent().attr('id') === 'e2pdf-post-activation') {
1509 el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1510 }
1511 }
1512 break;
1513 case 'e2pdf_auto':
1514 var hidden_elements = [];
1515 var elements = result.elements;
1516 var width = parseFloat(e2pdf.pdf.settings.get('width'));
1517 var height = parseFloat(e2pdf.pdf.settings.get('height'));
1518 e2pdf.pages.changeTplSize(width, height);
1519 e2pdf.pages.createPage();
1520 jQuery('.ui-dialog-content').dialog('close');
1521 var i = 1;
1522 var page = jQuery('.e2pdf-page').last();
1523 var auto = {
1524 'block': {
1525 'top': 0,
1526 'left': 0,
1527 'right': 0,
1528 'bottom': 0,
1529 'width': 0,
1530 'page': page.attr('data-page_id')
1531 },
1532 'element': {
1533 'top': 0,
1534 'left': 0,
1535 'right': 0,
1536 'bottom': 0,
1537 'width': 0,
1538 'properties': {}
1539 },
1540 page: {
1541 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1542 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1543 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1544 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1545 }
1546 };
1547 for (var key in elements) {
1548 var element = elements[key];
1549 var type = element.type;
1550 var properties = {};
1551 element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1552 element['block'] = typeof element.block === 'undefined' ? false : element.block;
1553 element['float'] = typeof element.float === 'undefined' ? false : element.float;
1554 element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1555 element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1556 element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1557 element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1558 element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1559 element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1560 for (var property in element.properties) {
1561 properties[property] = element.properties[property];
1562 }
1563
1564 if (element.block) {
1565 properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1566 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)) {
1567 page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1568 properties['left'] = auto.block.right + parseFloat(properties.left);
1569 properties['top'] = auto.block.top;
1570 } else {
1571 page = jQuery('.e2pdf-page').last();
1572 auto.block['bottom'] = 0;
1573 page.find('.e2pdf-element').each(function () {
1574 auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
1575 });
1576 properties['left'] = parseFloat(properties.left);
1577 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1578 }
1579 } else {
1580 if (element.float) {
1581 if (element.properties.width !== 'auto') {
1582 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));
1583 if (auto.element.properties.width === 'auto') {
1584 properties['width'] = properties['width'] - auto.element.width;
1585 }
1586 }
1587 properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1588 properties['top'] = auto.element.top;
1589 } else {
1590 if (element.properties.width !== 'auto') {
1591 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));
1592 }
1593 properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1594 properties['top'] = auto.block.bottom + parseFloat(properties.top);
1595 }
1596 }
1597
1598 var obj = e2pdf.element.create(type, page, properties, false, true);
1599 e2pdf.properties.render(obj);
1600 page.append(obj);
1601 if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1602 e2pdf.actions.apply(obj, element.actions);
1603 }
1604
1605 if (element.properties.height === 'auto') {
1606 e2pdf.properties.set(obj, 'height', obj.height());
1607 e2pdf.properties.render(obj);
1608 } else if (element.properties.height === 'max') {
1609 e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1610 e2pdf.properties.render(obj);
1611 }
1612
1613 if (!element.block
1614 && element.float
1615 && auto.block.width > 0
1616 && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1617 e2pdf.properties.set(obj, 'left', auto.block.left);
1618 e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1619 e2pdf.properties.render(obj);
1620 }
1621
1622 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1623 if (page.is(':last-child')) {
1624 if (e2pdf_params['license_type'] == 'FREE') {
1625 obj.remove();
1626 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1627 return;
1628 }
1629
1630 if (page.find('.e2pdf-element').not(obj).length > 0) {
1631 e2pdf.pages.createPage();
1632 page = jQuery('.e2pdf-page').last();
1633 }
1634 } else {
1635 if (page.find('.e2pdf-element').not(obj).length > 0) {
1636 page = page.next('.e2pdf-page');
1637 }
1638 }
1639
1640 e2pdf.element.delete(obj);
1641 if (element.properties.height === 'auto') {
1642 properties['height'] = element.properties.height;
1643 }
1644
1645 auto.block['bottom'] = auto.page.top;
1646 properties['top'] = auto.block.bottom;
1647 obj = e2pdf.element.create(type, page, properties, false, true);
1648 e2pdf.properties.render(obj);
1649 page.append(obj);
1650 if (element.properties.height === 'auto') {
1651 e2pdf.properties.set(obj, 'height', obj.height());
1652 e2pdf.properties.render(obj);
1653 }
1654
1655 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1656 e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1657 e2pdf.properties.render(obj);
1658 e2pdf.properties.set(obj, 'top', properties['top']);
1659 e2pdf.properties.render(obj);
1660 }
1661 }
1662
1663 auto.element = {
1664 'top': e2pdf.properties.getValue(obj, 'top'),
1665 'left': e2pdf.properties.getValue(obj, 'left'),
1666 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1667 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1668 'width': e2pdf.properties.getValue(obj, 'width'),
1669 'properties': element.properties
1670 };
1671 if (element.block) {
1672 auto.block = {
1673 'top': e2pdf.properties.getValue(obj, 'top'),
1674 'left': e2pdf.properties.getValue(obj, 'left'),
1675 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1676 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1677 'width': e2pdf.properties.getValue(obj, 'width'),
1678 'page': page.attr('data-page_id')
1679 };
1680 } else {
1681 auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1682 }
1683 if (element.hidden) {
1684 hidden_elements.push(obj);
1685 }
1686 i++;
1687 }
1688 hidden_elements.forEach(function (element) {
1689 e2pdf.element.delete(element);
1690 });
1691 break;
1692 case 'e2pdf_bulk_action':
1693 if (result.action == 'delete') {
1694 el.closest('.e2pdf-bulk').remove();
1695 if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1696 jQuery('.e2pdf-bulks-list').remove();
1697 }
1698 } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1699 el.closest('.e2pdf-bulk').attr('status', 'stop');
1700 el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1701 } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1702 el.closest('.e2pdf-bulk').attr('status', 'pending');
1703 el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1704 }
1705 break;
1706 case 'e2pdf_bulk_progress':
1707 for (var key in result.bulks) {
1708 var bulk = result.bulks[key];
1709 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1710 if (bulk['status'] == 'completed') {
1711 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1712 jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1713 jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1714 jQuery('<i>', {'class': 'dashicons dashicons-download'})
1715 ));
1716 }
1717 }
1718 break;
1719 default:
1720 break;
1721 }
1722 }
1723 },
1724 // e2pdf.dialog
1725 dialog: {
1726 top: null,
1727 left: null,
1728 center: true,
1729 // e2pdf.dialog.create
1730 create: function (el) {
1731 e2pdf.dialog.close();
1732 var modal = el.attr('data-modal');
1733 var title = el.attr('data-modal-title');
1734 var noclose = false;
1735 var width = '600';
1736 var height = '600';
1737 if (modal === 'license-key') {
1738 width = '400';
1739 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1740 jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1741 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1742 jQuery('<span>', {'class': 'spinner'})
1743 ),
1744 jQuery('<ul>').append(
1745 jQuery('<li>').append(
1746 jQuery('<label>', {'class': 'e2pdf-mb5'}).html(e2pdf.lang.get('License Key') + ':'),
1747 jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100 e2pdf-enter'})
1748 ),
1749 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1750 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']})
1751 )
1752 )
1753 )
1754 );
1755 } else if (modal === 'properties') {
1756 for (var key in e2pdf.element.selected) {
1757 var title = e2pdf.lang.get('Properties');
1758 var selected = e2pdf.element.selected[key];
1759 var fields = e2pdf.properties.renderFields(selected);
1760 var content = jQuery('<div>').append(
1761 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1762 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1763 fields
1764 )
1765 )
1766 );
1767 }
1768 } else if (modal === 'page-options') {
1769 var title = e2pdf.lang.get('Page Options');
1770 var page = el.closest('.e2pdf-page');
1771 var readonly_size = false;
1772 if (e2pdf.pdf.settings.get('pdf')) {
1773 readonly_size = true;
1774 }
1775
1776 var content = jQuery('<div>', {'class': 'e2pdf-page-options'}).append(jQuery('<form>', {'id': 'e2pdf-page-options', 'class': 'e2pdf-rel'}).append(
1777 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1778 jQuery('<span>', {'class': 'spinner'})
1779 ),
1780 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1781 jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1782 )),
1783 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1784 jQuery('<span>', {'class': 'spinner'})
1785 ));
1786 var fields = e2pdf.properties.renderFields(page);
1787 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1788 fields
1789 ));
1790 } else if (modal === 'tpl-actions') {
1791 width = '600';
1792 var title = e2pdf.lang.get('Global Actions');
1793 var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'));
1794 var content = jQuery('<div>').append(
1795 jQuery('<form>', {'id': 'e2pdf-tpl-actions'}).append(
1796 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1797 fields
1798 )
1799 )
1800 );
1801 } else if (modal === 'tpl-properties') {
1802 width = '600';
1803 var title = e2pdf.lang.get('Global Properties');
1804 var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'), false);
1805 var content = jQuery('<div>').append(
1806 jQuery('<form>', {'id': 'e2pdf-tpl-properties'}).append(
1807 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1808 fields
1809 )
1810 )
1811 );
1812 } else if (modal === 'tpl-options') {
1813 width = '500';
1814 var title = e2pdf.lang.get('Options');
1815 var readonly_size = false;
1816 if (e2pdf.pdf.settings.get('pdf')) {
1817 readonly_size = true;
1818 }
1819 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1820 jQuery('<option>',
1821 {
1822 'value': ''
1823 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1824 );
1825 for (var size in e2pdf_params['template_sizes']) {
1826 var option = jQuery('<option>',
1827 {
1828 'value': size
1829 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1830 sizes.append(option);
1831 }
1832
1833 var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
1834 for (var extension in e2pdf_params['extensions']) {
1835 var option = jQuery('<option>',
1836 {
1837 'value': extension
1838 }).html(e2pdf_params['extensions'][extension]);
1839 if (e2pdf.pdf.settings.get('extension') === extension) {
1840 option.attr('selected', 'selected');
1841 }
1842 extensions.append(option);
1843 }
1844
1845 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-tpl-options', 'class': 'e2pdf-rel'}).append(
1846 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1847 jQuery('<span>', {'class': 'spinner'})
1848 ),
1849 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1850 jQuery('<h3>').html(e2pdf.lang.get('Options'))
1851 )),
1852 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1853 jQuery('<span>', {'class': 'spinner'})
1854 ));
1855 var default_width = '595';
1856 if (e2pdf.pdf.settings.get('width')) {
1857 default_width = e2pdf.pdf.settings.get('width');
1858 }
1859
1860 var default_height = '842';
1861 if (e2pdf.pdf.settings.get('height')) {
1862 default_height = e2pdf.pdf.settings.get('height');
1863 }
1864
1865 content.find('form').append(
1866 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1867 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
1868 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1869 ),
1870 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1871 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1872 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1873 ),
1874 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1875 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1876 )
1877 )
1878 );
1879 content.find('form').append(
1880 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1881 sizes);
1882 content.find('form').append(
1883 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1884 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1885 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1886 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1887 ),
1888 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1889 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1890 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
1891 ),
1892 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
1893 jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
1894 ),
1895 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
1896 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1897 )
1898 )
1899 );
1900 content.find('form').append(
1901 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1902 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1903 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1904 ),
1905 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1906 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1907 jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1908 ),
1909 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1910 jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1911 e2pdf.lang.get('RTL')
1912 )
1913 )
1914 );
1915 content.find('form').append(
1916 jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1917 extensions,
1918 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1919 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1920 );
1921 content.find('form').append(
1922 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1923 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1924 jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1925 ),
1926 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1927 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1928 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1929 jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
1930 jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
1931 jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
1932 ).val('0'),
1933 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
1934 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
1935 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
1936 e2pdf.lang.get('Shortcodes')
1937 )
1938 )
1939 )
1940 )
1941 )
1942 );
1943 content.find('form').append(
1944 jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
1945 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1946 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
1947 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
1948 ),
1949 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1950 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1951 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
1952 ),
1953 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1954 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
1955 )
1956 )
1957 )
1958 );
1959 content.find('form').append(
1960 jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
1961 );
1962 if (e2pdf.pdf.settings.get('pdf')) {
1963 content.find('form').append(
1964 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1965 jQuery('<li>'),
1966 jQuery('<li>').append(
1967 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'))
1968 ),
1969 jQuery('<li>')
1970 )
1971 );
1972 } else {
1973 content.find('form').append(
1974 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1975 jQuery('<li>').append(
1976 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'))
1977 ),
1978 jQuery('<li>'),
1979 jQuery('<li>').append(
1980 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'))
1981 )
1982 )
1983 );
1984 }
1985
1986 } else if (modal === 'tpl-hooks') {
1987 width = '600';
1988 var title = e2pdf.lang.get('Integration Hooks');
1989 var hooks = e2pdf.hooks.get();
1990 var checked = e2pdf.hooks.getChecked();
1991 var fields = jQuery('<div>');
1992 fields.append(jQuery('<p>', {'class': 'e2pdf-bold'}).html(e2pdf.lang.get('Display PDF Download') + ':'));
1993 for (var hook in hooks) {
1994 var option = jQuery('<label>', {'class': 'e2pdf-label e2pdf-w50'}).append(
1995 jQuery(
1996 '<input>', {
1997 'type': 'checkbox', 'name': 'hooks[]',
1998 'class': 'e2pdf-ib',
1999 'value': hook,
2000 'checked': jQuery.inArray(hook, checked) !== -1 ? 'checked' : false
2001 }
2002 )
2003 ).append(hooks[hook]);
2004 fields.append(option);
2005 }
2006 if (Object.keys(hooks).length === 0) {
2007 fields.append(jQuery('<p>').html(e2pdf.lang.get('No hooks are available for this extension')));
2008 }
2009 var content = jQuery('<div>').append(
2010 jQuery('<form>', {'id': 'e2pdf-tpl-hooks'}).append(
2011 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
2012 fields
2013 )
2014 )
2015 );
2016 } else if (modal === 'welcome-screen') {
2017 var noclose = true;
2018 width = '500';
2019 var title = e2pdf.lang.get('Create PDF');
2020 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
2021 jQuery('<option>',
2022 {
2023 'value': ''
2024 }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
2025 );
2026 for (var size in e2pdf_params['template_sizes']) {
2027 var option = jQuery('<option>',
2028 {
2029 'value': size,
2030 'data-width': e2pdf_params['template_sizes'][size]['width'],
2031 'data-height': e2pdf_params['template_sizes'][size]['height']
2032 }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
2033 sizes.append(option);
2034 }
2035
2036 var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
2037 for (var extension in e2pdf_params['extensions']) {
2038 var option = jQuery('<option>',
2039 {
2040 'value': extension
2041 }).html(e2pdf_params['extensions'][extension]);
2042 if (e2pdf.pdf.settings.get('extension') === extension) {
2043 option.attr('selected', 'selected');
2044 }
2045 extensions.append(option);
2046 }
2047
2048 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-welcome-screen', 'class': 'e2pdf-rel'}).append(
2049 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2050 jQuery('<span>', {'class': 'spinner'})
2051 ),
2052 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2053 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2054 )),
2055 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2056 jQuery('<span>', {'class': 'spinner'})
2057 ));
2058 var default_width = '595';
2059 if (e2pdf.pdf.settings.get('width')) {
2060 var default_width = e2pdf.pdf.settings.get('width');
2061 }
2062
2063 var default_height = '842';
2064 if (e2pdf.pdf.settings.get('height')) {
2065 var default_height = e2pdf.pdf.settings.get('height');
2066 }
2067
2068 content.find('form').append(
2069 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2070 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
2071 ),
2072 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2073 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2074 jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
2075 )
2076 )
2077 );
2078 content.find('form').append(
2079 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2080 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2081 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
2082 ),
2083 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2084 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2085 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2086 ),
2087 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2088 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2089 )
2090 )
2091 );
2092 content.find('form').append(
2093 jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
2094 sizes);
2095 content.find('form').append(
2096 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2097 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2098 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2099 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
2100 ),
2101 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2102 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
2103 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
2104 ),
2105 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
2106 jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
2107 ),
2108 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
2109 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
2110 )
2111 )
2112 );
2113 content.find('form').append(
2114 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2115 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2116 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2117 ),
2118 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2119 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2120 jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2121 ),
2122 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2123 jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2124 e2pdf.lang.get('RTL')
2125 )
2126 )
2127 );
2128 content.find('form').append(
2129 jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
2130 extensions,
2131 jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2132 jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
2133 );
2134 content.find('form').append(
2135 jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
2136 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2137 jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
2138 ),
2139 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2140 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2141 jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
2142 jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
2143 jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
2144 jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2145 ).val('0'),
2146 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2147 jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2148 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2149 e2pdf.lang.get('Shortcodes')
2150 )
2151 )
2152 )
2153 )
2154 )
2155 );
2156 content.find('form').append(
2157 jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2158 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2159 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2160 jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2161 ),
2162 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2163 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2164 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2165 ),
2166 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2167 jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2168 )
2169 )
2170 )
2171 );
2172 content.find('form').append(
2173 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2174 );
2175 content.find('form').append(
2176 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
2177 );
2178 if (e2pdf.pdf.settings.get('ID')) {
2179 content.find('form').append(
2180 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2181 );
2182 }
2183
2184 content.find('form').append(
2185 jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
2186 jQuery('<li>').append(
2187 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'))
2188 ),
2189 jQuery('<li>').append(
2190 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']))
2191 ),
2192 jQuery('<li>').append(
2193 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'))
2194 )
2195 )
2196 );
2197 } else if (modal === 'visual-mapper') {
2198 var title = e2pdf.lang.get('Visual Mapper');
2199 var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
2200 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
2201 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2202 jQuery('<span>', {'class': 'spinner'})
2203 )).append(
2204 jQuery('<div>', {'class': 'e2pdf-popup-inner'}).append(
2205 jQuery('<div>', {'class': 'e2pdf-vm-content e2pdf-rel', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).append(
2206 jQuery('<span>', {'class': 'spinner'})
2207 )
2208 )
2209 ));
2210 } else if (modal === 'pdf-reupload') {
2211 var title = e2pdf.lang.get('PDF Upload');
2212 width = '500';
2213 var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2214 jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2215 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2216 jQuery('<span>', {'class': 'spinner'})
2217 ),
2218 jQuery('<div>', {'class': 'e2pdf-center'}).append(
2219 jQuery('<h3>').html(e2pdf.lang.get('Options'))
2220 )),
2221 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
2222 jQuery('<span>', {'class': 'spinner'})
2223 ));
2224 content.find('form').append(
2225 jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2226 );
2227 if (e2pdf.pdf.settings.get('ID')) {
2228 content.find('form').append(
2229 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
2230 );
2231 }
2232
2233 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
2234 pages.append(
2235 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
2236 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2237 jQuery('<label>').text(e2pdf.lang.get('Page ID'))
2238 ),
2239 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2240 jQuery('<label>').text(e2pdf.lang.get('Page ID inside Upload PDF'))
2241 ),
2242 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2243 jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
2244 ),
2245 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2246 jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
2247 )));
2248 jQuery('.e2pdf-page').each(function () {
2249 var page_id = jQuery(this).attr('data-page_id');
2250 pages.append(
2251 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2252 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).text(page_id),
2253 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w5 e2pdf-center'}).append(
2254 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-delete-reupload-page'}).append(
2255 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2256 )
2257 ),
2258 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2259 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
2260 ),
2261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
2262 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
2263 ),
2264 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2265 jQuery('<input>', {'name': 'flush[]', 'type': 'checkbox', 'value': page_id})
2266 )
2267 )
2268 );
2269 });
2270 content.find('form').append(pages);
2271 content.find('form').append(
2272 jQuery('<ul>').append(
2273 jQuery('<li>').append(
2274 ),
2275 jQuery('<li>').append(
2276 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF'))
2277 ),
2278 jQuery('<li>').append(
2279 )
2280 )
2281 );
2282 } else {
2283 var content = jQuery('<div>');
2284 }
2285
2286 if (typeof content !== 'undefined') {
2287
2288 var dialog_class = 'e2pdf-dialog';
2289 if (modal === 'visual-mapper') {
2290 dialog_class += ' e2pdf-dialog-visual-mapper';
2291 } else if (modal === 'properties') {
2292 dialog_class += ' e2pdf-dialog-element-properties';
2293 dialog_class += ' for-' + selected.data('data-type');
2294 }
2295 content.dialog({
2296 title: title,
2297 dialogClass: dialog_class,
2298 modal: true,
2299 width: width,
2300 height: Math.min(height, jQuery(window).height() - 200),
2301 resizable: modal === 'visual-mapper' || modal === 'properties' || modal === 'page-options' || modal === 'tpl-actions' || modal === 'tpl-properties' ? true : false,
2302 minWidth: 200,
2303 closeText: '',
2304 my: 'center',
2305 at: 'center',
2306 of: window,
2307 open: function (event, ui) {
2308 jQuery('html').css('overflow', 'hidden');
2309 jQuery('.e2pdf-dialog').css('min-height', '150');
2310 if (noclose) {
2311 jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
2312 location.href = e2pdf.url.build('e2pdf-templates');
2313 e.preventDefault();
2314 });
2315 } else {
2316 jQuery('.ui-widget-overlay').bind('click', function ()
2317 {
2318 if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2319 return;
2320 }
2321 content.dialog('close');
2322 });
2323 }
2324
2325 if (modal === 'properties') {
2326 jQuery(".ui-dialog-titlebar").after(
2327 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2328 jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-noclose', 'value': e2pdf.lang.get('Apply')}),
2329 jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-ml5', 'value': e2pdf.lang.get('Save')})
2330 )
2331 );
2332 } else if (modal === 'tpl-actions') {
2333 jQuery(".ui-dialog-titlebar").after(
2334 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2335 jQuery('<input>', {'form-id': "e2pdf-tpl-actions", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2336 )
2337 );
2338 } else if (modal === 'tpl-properties') {
2339 jQuery(".ui-dialog-titlebar").after(
2340 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2341 jQuery('<input>', {'form-id': "e2pdf-tpl-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2342 )
2343 );
2344 } else if (modal === 'tpl-hooks') {
2345 jQuery(".ui-dialog-titlebar").after(
2346 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2347 jQuery('<input>', {'form-id': "e2pdf-tpl-hooks", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2348 )
2349 );
2350 } else if (modal === 'visual-mapper') {
2351 jQuery(".ui-dialog-titlebar").after(
2352 jQuery('<div>', {'class': 'e2pdf-dialog-over'}).append(
2353 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2354 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w40 e2pdf-pr10'}).append(
2355 jQuery('<input>', {'type': 'text', 'name': 'vm_search', 'class': 'e2pdf-ib e2pdf-w100 e2pdf-hide', 'value': '', 'placeholder': e2pdf.lang.get('Filter...')})
2356 ),
2357 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-align-right'}).append(
2358 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pr10'}).append(
2359 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_hidden', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.hidden ? 'checked' : false})
2360 ).append(e2pdf.lang.get('Hidden Fields')),
2361 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10 e2pdf-pr10'}).append(
2362 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_replace', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.replace ? 'checked' : false})
2363 ).append(e2pdf.lang.get('Replace Value')),
2364 jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10'}).append(
2365 jQuery('<input>', {'type': 'checkbox', 'name': 'vm_close', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.close ? 'checked' : false})
2366 ).append(e2pdf.lang.get('Auto-Close'))
2367 )
2368 )
2369 )
2370 );
2371 } else if (modal === 'page-options') {
2372 jQuery(".ui-dialog-titlebar").after(
2373 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2374 jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2375 )
2376 );
2377 }
2378 jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
2379 },
2380 closeOnEscape: modal === 'welcome-screen' || modal === 'tpl-options' ? false : true,
2381 beforeClose: function (event, ui) {
2382 e2pdf.dialog.center = true;
2383 },
2384 dragStop: function (event, ui) {
2385 e2pdf.dialog.center = false;
2386 },
2387 resizeStart: function (event, ui) {
2388 },
2389 resize: function (event, ui) {
2390 var max_height = jQuery('.e2pdf-dialog').height();
2391 var min_height = 0;
2392 if (jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').length > 0) {
2393 min_height += jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').outerHeight();
2394 }
2395 if (jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').length > 0) {
2396 min_height += jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').outerHeight();
2397 }
2398 jQuery('.e2pdf-dialog').css('min-height', Math.max(150, min_height + 50));
2399 jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': max_height - min_height});
2400 },
2401 resizeStop: function (event, ui) {
2402 e2pdf.dialog.center = false;
2403 },
2404 close: function (event, ui)
2405 {
2406 jQuery('html').css('overflow', 'auto');
2407 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
2408 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
2409 jQuery(this).click();
2410 });
2411 }
2412 e2pdf.visual.mapper.selected = null;
2413 jQuery(this).remove();
2414 }
2415 });
2416 }
2417
2418 if (modal === 'welcome-screen' || modal === 'tpl-options') {
2419 jQuery('.e2pdf-extension').trigger('change');
2420 } else if (modal === 'visual-mapper') {
2421 var data = {};
2422 data['extension'] = e2pdf.pdf.settings.get('extension');
2423 data['item'] = e2pdf.pdf.settings.get('item');
2424 data['item1'] = e2pdf.pdf.settings.get('item1');
2425 data['item2'] = e2pdf.pdf.settings.get('item2');
2426 e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('.e2pdf-vm-content'), data);
2427 }
2428
2429 if (modal !== 'visual-mapper') {
2430 e2pdf.dialog.rebuild();
2431 }
2432
2433 e2pdf.event.fire('after.dialog.create');
2434 },
2435 // e2pdf.dialog.close
2436 close: function () {
2437 if (jQuery('.e2pdf-dialog').length > 0) {
2438 jQuery('.ui-dialog-content').dialog('close');
2439 }
2440 },
2441 // e2pdf.dialog.rebuild
2442
2443 rebuild: function () {
2444 if (jQuery('.e2pdf-dialog').not('.ui-dialog-resizing').length > 0) {
2445 if (jQuery('.e2pdf-dialog').width() > jQuery(window).width()) {
2446 jQuery('.e2pdf-dialog').width(jQuery(window).width() - 100);
2447 }
2448 if (e2pdf.dialog.center) {
2449 jQuery('.e2pdf-dialog').find('.ui-dialog-content').dialog('option', 'position', {my: 'center', at: 'center', of: window});
2450 }
2451 e2pdf.visual.mapper.rebuild();
2452 }
2453 }
2454 },
2455 // e2pdf.mediaUploader
2456 mediaUploader: {
2457 // e2pdf.mediaUploader.init
2458 init: function (el) {
2459 var mediaUploader;
2460 mediaUploader = wp.media.frames.file_frame = wp.media({
2461 title: e2pdf.lang.get('Media Library'),
2462 button: {
2463 text: e2pdf.lang.get('Select')
2464 }, multiple: false});
2465 mediaUploader.on('select', function () {
2466 var history = [];
2467 history.push(el.clone(true));
2468 e2pdf.history.set('element_change', history);
2469 var attachment = mediaUploader.state().get('selection').first().toJSON();
2470 e2pdf.properties.set(el, 'value', attachment.url);
2471 e2pdf.properties.render(el);
2472 e2pdf.event.fire('after.mediaUploader.select');
2473 });
2474 mediaUploader.open();
2475 }
2476 },
2477 // e2pdf.actions
2478 actions: {
2479 // e2pdf.actions.add
2480 add: function (el, target, action) {
2481 var last_id = -1;
2482 target.find('.e2pdf-action').each(function () {
2483 var num_id = parseInt(jQuery(this).attr("data-action_id"));
2484 if (num_id > last_id) {
2485 last_id = num_id;
2486 }
2487 });
2488 var action_id = parseInt(last_id + 1);
2489 if (action) {
2490 target.append(e2pdf.actions.renderField(el, action_id, action));
2491 } else {
2492 target.append(e2pdf.actions.renderField(el, action_id));
2493 }
2494
2495 },
2496 // e2pdf.actions.change
2497 change: function (action, trigger) {
2498 var action_id = action.attr("data-action_id");
2499 var form = action.closest('form');
2500 var data = e2pdf.form.serializeObject(form);
2501 var el = false;
2502 if (form.attr('id') === 'e2pdf-page-options') {
2503 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2504 } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2505 el = jQuery('.e2pdf-tpl');
2506 } else {
2507 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2508 }
2509
2510 var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2511 if (!formatRegex.test(trigger.attr('name'))) {
2512 data['actions'][action_id]['change'] = '';
2513 }
2514
2515 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
2516 e2pdf.event.fire('after.actions.change');
2517 },
2518 // e2pdf.actions.duplicate
2519 duplicate: function (action) {
2520 var actions = action.closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
2521 var action_id = action.attr("data-action_id");
2522 var form = action.closest('form');
2523 var data = e2pdf.form.serializeObject(form);
2524 var el = false;
2525 if (form.attr('id') === 'e2pdf-page-options') {
2526 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2527 } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2528 el = jQuery('.e2pdf-tpl');
2529 } else {
2530 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2531 }
2532 e2pdf.actions.add(el, actions, data['actions'][action_id]);
2533 e2pdf.event.fire('after.actions.change');
2534 },
2535 // e2pdf.actions.delete
2536
2537 delete: function (action) {
2538 action.remove();
2539 },
2540 // e2pdf.actions.conditions
2541 conditions: {
2542 // e2pdf.actions.conditions.add
2543 add: function (el, target) {
2544 var action = target.closest('.e2pdf-action');
2545 var action_id = action.attr('data-action_id');
2546 var last_id = -1;
2547 target.find('.e2pdf-condition').each(function () {
2548 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
2549 if (num_id > last_id) {
2550 last_id = num_id;
2551 }
2552 });
2553 var condition_id = parseInt(last_id + 1);
2554 action.find('.e2pdf-conditions').append(
2555 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
2556 );
2557 },
2558 // e2pdf.actions.conditions.getFields
2559 getFields: function (el, action_id, condition_id, condition) {
2560 var obj = {
2561 'condition': {
2562 'fields': [
2563 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
2564 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
2565 e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
2566 ],
2567 'classes': [
2568 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
2569 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
2570 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2571 ]
2572 }
2573 };
2574 return obj;
2575 },
2576 // e2pdf.actions.conditions.getField
2577 getField: function (field, el, action_id, condition_id, condition) {
2578 var obj = false;
2579 switch (field) {
2580 case 'if':
2581 var value = condition ? condition.if : '';
2582 obj = {
2583 'name': e2pdf.lang.get('If'),
2584 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
2585 'type': 'textarea',
2586 'value': value,
2587 'atts': []
2588 };
2589 break;
2590 case 'condition':
2591 var value = condition ? condition.condition : '=';
2592 obj = {
2593 'name': e2pdf.lang.get('Condition'),
2594 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
2595 'type': 'select',
2596 'value': value,
2597 'options': [
2598 {'=': '='},
2599 {'!=': '!='},
2600 {'>': '>'},
2601 {'>=': '>='},
2602 {'<': '<'},
2603 {'<=': '<='},
2604 {'like': e2pdf.lang.get('Contains')},
2605 {'not_like': e2pdf.lang.get('Not Contains')},
2606 {'in_array': e2pdf.lang.get('In Array')},
2607 {'not_in_array': e2pdf.lang.get('Not In Array')},
2608 {'in_list': e2pdf.lang.get('In List')},
2609 {'not_in_list': e2pdf.lang.get('Not In List')},
2610 {'array_key_exists': e2pdf.lang.get('Array Key Exists')},
2611 {'array_key_not_exists': e2pdf.lang.get('Array Key Not Exists')}
2612 ],
2613 'atts': []
2614 };
2615 break;
2616 case 'value':
2617 var value = condition ? condition.value : '';
2618 obj = {
2619 'name': e2pdf.lang.get('Value'),
2620 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
2621 'type': 'textarea',
2622 'value': value,
2623 'atts': []
2624 };
2625 break;
2626 }
2627 return obj;
2628 },
2629 // e2pdf.actions.conditions.delete
2630 delete: function (condition) {
2631 condition.remove();
2632 },
2633 // e2pdf.actions.conditions.renderField
2634 renderField: function (el, action_id, condition_id, condition) {
2635 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
2636 if (groups) {
2637 for (var group_key in groups) {
2638
2639 var group = groups[group_key];
2640 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2641 for (var field_key in group.fields) {
2642 var group_field = group.fields[field_key];
2643 var classes = '';
2644 if (group.classes) {
2645 if (group.classes[field_key]) {
2646 classes = group.classes[field_key];
2647 }
2648 }
2649
2650 var field = '';
2651 var label = '';
2652 var wrap = '';
2653 if (group_field.type === 'text') {
2654 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2655 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2656 } else if (group_field.type === 'hidden') {
2657 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2658 } else if (group_field.type === 'textarea') {
2659 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2660 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
2661 } else if (group_field.type === 'checkbox') {
2662 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
2663 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
2664 if (group_field.value == group_field.option) {
2665 field.prop('checked', true);
2666 }
2667 } else if (group_field.type === 'color') {
2668 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2669 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2670 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2671 } else if (group_field.type === 'select') {
2672 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2673 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2674 for (var option_key in group_field.options) {
2675 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
2676 }
2677 field.val(group_field.value);
2678 }
2679
2680 if (!wrap) {
2681 wrap = field;
2682 } else {
2683 wrap.prepend(field);
2684 }
2685
2686 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
2687 }
2688 }
2689 }
2690
2691 grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2692 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
2693 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
2694 ),
2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
2696 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
2697 )));
2698 var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition e2pdf-w100', 'data-condition_id': condition_id}).append(
2699 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
2700 jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
2701 ),
2702 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2703 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2704 ),
2705 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2706 grid
2707 )
2708 );
2709 return new_condition;
2710 }
2711 },
2712 // e2pdf.actions.get
2713 get: function (el) {
2714 var actions = [];
2715 if (typeof el.data('data-actions') !== 'undefined') {
2716 actions = JSON.parse(el.data('data-actions'));
2717 actions = Object.values(actions).sort(function (a, b) {
2718 if (parseInt(a.order) === parseInt(b.order)) {
2719 return 0;
2720 }
2721 return parseInt(a.order) < parseInt(b.order) ? -1 : 1;
2722 });
2723 }
2724 return actions;
2725 },
2726 // e2pdf.actions.apply
2727 apply: function (el, data) {
2728 if (!data) {
2729 data = [];
2730 }
2731 el.data('data-actions', JSON.stringify(data));
2732 },
2733 // e2pdf.actions.getField
2734 getField: function (field, el, action_id, action) {
2735 var obj = false;
2736 switch (field) {
2737 case 'order':
2738 var value = action ? action.order : '0';
2739 obj = {
2740 'name': e2pdf.lang.get('Sort'),
2741 'key': 'actions[' + action_id + '][order]',
2742 'type': 'text',
2743 'value': value,
2744 'atts': ['number']
2745 };
2746 break;
2747 case 'format':
2748 var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2749 obj = {
2750 'name': e2pdf.lang.get('Format'),
2751 'key': 'actions[' + action_id + '][format]',
2752 'type': 'select',
2753 'value': value,
2754 'options': [
2755 {'insert_before': e2pdf.lang.get('Insert Before')},
2756 {'insert_after': e2pdf.lang.get('Insert After')},
2757 {'replace': e2pdf.lang.get('Full Replacement')},
2758 {'search': e2pdf.lang.get('Search / Replace')},
2759 ],
2760 'atts': []
2761 };
2762 break;
2763 case 'search':
2764 var value = action && typeof action.search !== 'undefined' ? action.search : '';
2765 obj = {
2766 'name': 'Search',
2767 'key': 'actions[' + action_id + '][search]',
2768 'type': 'textarea',
2769 'value': value,
2770 'atts': []
2771 };
2772 break;
2773 case 'pre_replace':
2774 var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2775 obj = {
2776 'name': e2pdf.lang.get('Pre-Replace'),
2777 'key': 'actions[' + action_id + '][pre_replace]',
2778 'type': 'select',
2779 'value': value,
2780 'options': [
2781 {'': '-'},
2782 {'render': e2pdf.lang.get('Render Value')}
2783 ],
2784 'atts': []
2785 };
2786 break;
2787 case 'action':
2788 if (el.data('data-type') == 'e2pdf-tpl') {
2789 var value = action ? action.action : 'access_by_url';
2790 // backward compatibility
2791 value = value.replace('restrict_process_shortcode_', '');
2792 value = value.replace('process_shortcode_', '');
2793 value = value.replace('restrict_process_', '');
2794 value = value.replace('process_', '');
2795 value = value.replace('restrict_', '');
2796 var options = [
2797 {'access_by_url': e2pdf.lang.get('PDF Access By URL')},
2798 {'redirect_access_by_url': e2pdf.lang.get('Redirect Access By URL')},
2799 {'shortcodes': e2pdf.lang.get('Shortcodes: All')},
2800 {'e2pdf_download': e2pdf.lang.get('Shortcode: e2pdf-download')},
2801 {'e2pdf_attachment': e2pdf.lang.get('Shortcode: e2pdf-attachment')},
2802 {'e2pdf_view': e2pdf.lang.get('Shortcode: e2pdf-view')},
2803 {'e2pdf_save': e2pdf.lang.get('Shortcode: e2pdf-save')},
2804 {'e2pdf_zapier': e2pdf.lang.get('Shortcode: e2pdf-zapier')},
2805 {'e2pdf_adobesign': e2pdf.lang.get('Shortcode: e2pdf-adobesign')},
2806 ];
2807 var hooks = e2pdf.hooks.get();
2808 if (Object.keys(hooks).length > 0) {
2809 options.push({'hooks': 'Hooks: All'});
2810 for (var hook in hooks) {
2811 options.push({[hook]: 'Hook: ' + hooks[hook]});
2812 }
2813 }
2814 if (!options.some(opt => Object.keys(opt)[0] === value)) {
2815 options.push({[value]: value});
2816 }
2817 } else if (el.data('data-type') == 'e2pdf-page') {
2818 var value = action ? action.action : 'hide';
2819 var options = [
2820 {'hide': e2pdf.lang.get('Hide Page')},
2821 {'show': e2pdf.lang.get('Show Page')},
2822 {'change': e2pdf.lang.get('Change Property')}
2823 ];
2824 } else {
2825 var value = action ? action.action : 'hide';
2826 var options = [
2827 {'hide': e2pdf.lang.get('Hide Element')},
2828 {'show': e2pdf.lang.get('Show Element')},
2829 {'change': e2pdf.lang.get('Change Property')}
2830 ];
2831 }
2832 obj = {
2833 'name': e2pdf.lang.get('Action'),
2834 'key': 'actions[' + action_id + '][action]',
2835 'type': 'select',
2836 'value': value,
2837 'options': options,
2838 'atts': []
2839 };
2840 break;
2841 case 'error_message':
2842 if (el.data('data-type') == 'e2pdf-tpl') {
2843 var value = action ? action.error_message : '';
2844 obj = {
2845 'name': e2pdf.lang.get('Error Message'),
2846 'key': 'actions[' + action_id + '][error_message]',
2847 'type': 'textarea',
2848 'value': value,
2849 'atts': []
2850 };
2851 }
2852 break;
2853 case 'redirect_error_message':
2854 if (el.data('data-type') == 'e2pdf-tpl') {
2855 var value = action ? action.redirect_error_message : '';
2856 if (!value) {
2857 value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
2858 }
2859 obj = {
2860 'name': e2pdf.lang.get('Error Message'),
2861 'key': 'actions[' + action_id + '][redirect_error_message]',
2862 'type': 'textarea',
2863 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2864 'value': value,
2865 'atts': []
2866 };
2867 }
2868 break;
2869 case 'redirect_url':
2870 if (el.data('data-type') == 'e2pdf-tpl') {
2871 var value = action ? action.redirect_url : '';
2872 obj = {
2873 'name': e2pdf.lang.get('Redirect URL'),
2874 'key': 'actions[' + action_id + '][redirect_url]',
2875 'type': 'text',
2876 'value': value,
2877 'atts': []
2878 };
2879 }
2880 break;
2881 case 'else':
2882 if (el.data('data-type') == 'e2pdf-page') {
2883 var options = [
2884 {'': '-'},
2885 {'hide': e2pdf.lang.get('Hide Page')}
2886 ];
2887 } else {
2888 var options = [
2889 {'': '-'},
2890 {'hide': e2pdf.lang.get('Hide Element')}
2891 ];
2892 }
2893
2894 var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2895 obj = {
2896 'name': e2pdf.lang.get('Else'),
2897 'key': 'actions[' + action_id + '][else]',
2898 'type': 'select',
2899 'options': options,
2900 'value': value,
2901 'atts': []
2902 };
2903 break;
2904 case 'property':
2905 if (el.data('data-type') == 'e2pdf-tpl') {
2906 // backward compatibility
2907 if (action && !action.property && action.action) {
2908 if (action.action.includes('restrict_')) {
2909 var value = 'disable';
2910 } else {
2911 var value = 'enable';
2912 }
2913 } else {
2914 var value = action && action.property ? action.property : 'enable';
2915 }
2916 var options = [
2917 {'enable': e2pdf.lang.get('Enable')},
2918 {'disable': e2pdf.lang.get('Disable')},
2919 ];
2920 obj = {
2921 'name': e2pdf.lang.get('State'),
2922 'key': 'actions[' + action_id + '][property]',
2923 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
2924 'value': value,
2925 'options': options,
2926 'atts': []
2927 };
2928 } else {
2929 var value = action ? action.property : '';
2930 if (action && action.action === 'change') {
2931 var options = [];
2932 var option = {
2933 '': e2pdf.lang.get('--- Select ---')
2934 };
2935 options.push(option);
2936 var groups = e2pdf.properties.getFields(el);
2937 for (var group_key in groups) {
2938 var group = groups[group_key];
2939 for (var field_key in group.fields) {
2940 var group_field = group.fields[field_key];
2941 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))) {
2942 var option = {};
2943 if (group_field.key == 'g_multiline') {
2944 option[group_field.key] = e2pdf.lang.get('Type');
2945 } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
2946 option[group_field.key] = group.name;
2947 } else {
2948 option[group_field.key] = group.name + ' ' + group_field.name;
2949 }
2950 options.push(option);
2951 }
2952 }
2953 }
2954 obj = {
2955 'name': e2pdf.lang.get('Property'),
2956 'key': 'actions[' + action_id + '][property]',
2957 'type': 'select',
2958 'value': value,
2959 'options': options,
2960 'atts': []
2961 };
2962 }
2963 }
2964 break;
2965 case 'change':
2966 var value = action ? action.change : '';
2967 if (
2968 action
2969 && typeof action.action !== 'undefined'
2970 && action.action === 'change'
2971 && typeof action.property !== 'undefined'
2972 && action.property !== ''
2973 ) {
2974
2975 var property = e2pdf.properties.getField(action.property, el);
2976 if (property) {
2977 if (action.property == 'value'
2978 && typeof action.format !== 'undefined'
2979 && (action.format == 'insert_before' || action.format == 'insert_after')) {
2980 property.name = e2pdf.lang.get('Value');
2981 } else if (property.type != 'checkbox') {
2982 property.name = e2pdf.lang.get('Change to');
2983 }
2984 property.key = 'actions[' + action_id + '][change]';
2985 if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
2986 property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
2987 }
2988 if (jQuery.inArray('readonly', property.atts) === -1) {
2989 if (property.type === 'select') {
2990 for (var key in property.options) {
2991 if (Object.keys(property.options[key])[0] == value) {
2992 property.value = value;
2993 break;
2994 }
2995 }
2996 } else if (jQuery.inArray('number', property.atts) !== -1) {
2997 if (value === '') {
2998 property.value = 0;
2999 } else {
3000 property.value = value;
3001 }
3002 } else {
3003 property.value = value;
3004 }
3005 }
3006 obj = property;
3007 }
3008 }
3009 break;
3010 case 'apply':
3011 var value = action ? action.apply : 'any';
3012 obj = {
3013 'name': e2pdf.lang.get('Apply If'),
3014 'key': 'actions[' + action_id + '][apply]',
3015 'type': 'select',
3016 'value': value,
3017 'options': [
3018 {'any': e2pdf.lang.get('Any')},
3019 {'all': e2pdf.lang.get('All')}
3020 ],
3021 'atts': []
3022 };
3023 break;
3024 }
3025 return obj;
3026 },
3027 // e2pdf.actions.getFields
3028 getFields: function (el, action_id, action) {
3029 var obj = {
3030 'action': {
3031 'fields': [
3032 e2pdf.actions.getField('order', el, action_id, action),
3033 e2pdf.actions.getField('action', el, action_id, action),
3034 e2pdf.actions.getField('property', el, action_id, action),
3035 e2pdf.actions.getField('apply', el, action_id, action)
3036 ],
3037 'classes': [
3038 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
3039 el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w50 e2pdf-pr5 e2pdf-action-action' : 'e2pdf-w35 e2pdf-pr5 e2pdf-action-action',
3040 el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w25 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property' : 'e2pdf-w40 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
3041 'e2pdf-w15 e2pdf-pl5'
3042 ]
3043 }
3044 };
3045 if (
3046 action
3047 && typeof action.action !== 'undefined'
3048 && action.action === 'change'
3049 && typeof action.property !== 'undefined'
3050 && action.property !== ''
3051 ) {
3052 if (action.property == 'value' && typeof action.format !== 'undefined' && action.format == 'search') {
3053 obj.action.fields.push(e2pdf.actions.getField('pre_replace', el, action_id, action));
3054 obj.action.classes.push('e2pdf-w100');
3055 obj.action.fields.push(e2pdf.actions.getField('search', el, action_id, action));
3056 obj.action.classes.push('e2pdf-w100');
3057 }
3058
3059 obj.action.fields.push(e2pdf.actions.getField('change', el, action_id, action));
3060 obj.action.classes.push('e2pdf-w100 e2pdf-action-change');
3061 if (action.property == 'value') {
3062 obj.action.fields.push(e2pdf.actions.getField('format', el, action_id, action));
3063 obj.action.classes.push('e2pdf-w100 e2pdf-action-format');
3064 }
3065 }
3066
3067 if (action && action.action == 'show') {
3068 obj.action.fields.push(e2pdf.actions.getField('else', el, action_id, action));
3069 obj.action.classes.push('e2pdf-w100');
3070 }
3071
3072 if (el.data('data-type') == 'e2pdf-tpl') {
3073 if (!action || (action && (action.action == 'access_by_url' || action.action == 'restrict_access_by_url'))) {
3074 obj.action.fields.push(e2pdf.actions.getField('error_message', el, action_id, action));
3075 obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3076 } else if (action && action.action == 'redirect_access_by_url') {
3077 obj.action.fields.push(e2pdf.actions.getField('redirect_url', el, action_id, action));
3078 obj.action.classes.push('e2pdf-w100 e2pdf-action-redirect-url');
3079 obj.action.fields.push(e2pdf.actions.getField('redirect_error_message', el, action_id, action));
3080 obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3081 }
3082 }
3083
3084 return obj;
3085 },
3086 // e2pdf.actions.renderField
3087 renderField: function (el, action_id, action) {
3088 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
3089 if (action) {
3090 // backward compatibility for Merge option
3091 if (typeof action.action !== 'undefined' && action.action == 'merge') {
3092 action.action = 'change';
3093 action.format = 'insert_after';
3094 }
3095 for (var condition in action.conditions) {
3096 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
3097 }
3098 } else {
3099 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
3100 }
3101
3102 var groups = e2pdf.actions.getFields(el, action_id, action);
3103 if (groups) {
3104 for (var group_key in groups) {
3105
3106 var group = groups[group_key];
3107 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3108 for (var field_key in group.fields) {
3109 var group_field = group.fields[field_key];
3110 var classes = '';
3111 if (group.classes) {
3112 if (group.classes[field_key]) {
3113 classes = group.classes[field_key];
3114 }
3115 }
3116
3117 var field = '';
3118 var label = '';
3119 var wrap = '';
3120 var placeholder = group_field.placeholder ? group_field.placeholder : '';
3121 if (group_field.type === 'text') {
3122 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3123 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3124 } else if (group_field.type === 'hidden') {
3125 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3126 } else if (group_field.type === 'textarea') {
3127 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3128 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
3129 } else if (group_field.type === 'checkbox') {
3130 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
3131 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3132 if (group_field.value == group_field.option) {
3133 field.prop('checked', true);
3134 }
3135 } else if (group_field.type === 'color') {
3136 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3137 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3138 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3139 } else if (group_field.type === 'select') {
3140 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3141 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3142 for (var option_key in group_field.options) {
3143 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3144 }
3145 field.val(group_field.value);
3146 }
3147
3148 for (var att_key in group_field.atts) {
3149 var att = group_field.atts[att_key];
3150 switch (att) {
3151 case 'readonly':
3152 field.attr('readonly', 'readonly');
3153 break;
3154 case 'number':
3155 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
3156 break;
3157 case 'autocomplete':
3158 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3159 field.addClass('e2pdf-autocomplete-cl');
3160 field.autocomplete({
3161 source: group_field.source,
3162 minLength: 0,
3163 appendTo: wrap,
3164 open: function () {
3165 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3166 },
3167 classes: {
3168 "ui-autocomplete": "e2pdf-autocomplete"
3169 }
3170 });
3171 break;
3172 }
3173 }
3174
3175 if (!wrap) {
3176 wrap = field;
3177 } else {
3178 wrap.prepend(field);
3179 }
3180
3181 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
3182 }
3183 }
3184 }
3185
3186 var new_action = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-rel e2pdf-w100 e2pdf-action', 'data-action_id': action_id}).append(
3187 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
3188 jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
3189 ),
3190 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
3191 jQuery('<i>', {'class': 'dashicons dashicons-no'})
3192 ),
3193 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
3194 grid
3195 ),
3196 conditions
3197 );
3198 return new_action;
3199 },
3200 // e2pdf.actions.renderFields
3201 renderFields: function (el) {
3202
3203 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
3204 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
3205 );
3206 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
3207 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
3208 var actions = e2pdf.actions.get(el);
3209 for (var action in actions) {
3210 // Backward compatiability Show Element / Page
3211 if (actions[action].action == 'show') {
3212 if (typeof actions[action].else === 'undefined') {
3213 actions[action].else = '';
3214 }
3215 }
3216 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
3217 }
3218
3219 block.append(action_wrapper, add_action);
3220 return block;
3221 }
3222 },
3223 // e2pdf.properties
3224 properties: {
3225 // e2pdf.properties.getLink
3226 getLink: function (title, href, classes, collapse) {
3227 obj = {
3228 'name': title,
3229 'key': 'link',
3230 'type': 'link',
3231 'value': href,
3232 'classes': classes,
3233 'collapse': collapse,
3234 'atts': [
3235 'readonly',
3236 'collapse'
3237 ]
3238 };
3239 return obj;
3240 },
3241 // e2pdf.properties.getField
3242 getField: function (field, el) {
3243
3244 var obj = false;
3245 var properties = e2pdf.properties.get(el);
3246 var children = e2pdf.element.children(el);
3247 switch (field) {
3248 case 'page_id':
3249 obj = {
3250 'name': e2pdf.lang.get('Page ID'),
3251 'type': 'text',
3252 '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')),
3253 'atts': [
3254 'readonly',
3255 'number'
3256 ]
3257 };
3258 if (el.data('data-type') !== 'e2pdf-page') {
3259 obj.atts.push('editable');
3260 }
3261 break;
3262 case 'element_id':
3263 obj = {
3264 'name': 'ID',
3265 'type': 'text',
3266 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3267 'atts': ['readonly']
3268 };
3269 break;
3270 case 'element_type':
3271 obj = {
3272 'name': e2pdf.lang.get('Type'),
3273 'type': 'text',
3274 'value': el.data('data-type'),
3275 'atts': ['readonly']
3276 };
3277 break;
3278 case 'width':
3279 obj = {
3280 'name': e2pdf.lang.get('Width'),
3281 'type': 'text',
3282 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3283 'atts': ['number']
3284 };
3285 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3286 obj.atts.push('readonly');
3287 }
3288 break;
3289 case 'height':
3290 obj = {
3291 'name': e2pdf.lang.get('Height'),
3292 'type': 'text',
3293 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3294 'atts': ['number']
3295 };
3296 if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3297 obj.atts.push('readonly');
3298 }
3299 break;
3300 case 'top':
3301 obj = {
3302 'name': e2pdf.lang.get('Position Top'),
3303 'type': 'text',
3304 'value': e2pdf.helper.getFloat(el.css('top')),
3305 'atts': ['number', 'keep']
3306 };
3307 break;
3308 case 'left':
3309 obj = {
3310 'name': e2pdf.lang.get('Position Left'),
3311 'type': 'text',
3312 'value': e2pdf.helper.getFloat(el.css('left')),
3313 'atts': ['number', 'keep']
3314 };
3315 break;
3316 case 'name':
3317 obj = {
3318 'name': e2pdf.lang.get('Field Name'),
3319 'type': 'text',
3320 'value': e2pdf.helper.getString(properties[field])
3321 };
3322 break;
3323 case 'field_name':
3324 obj = {
3325 'name': e2pdf.lang.get('As Field Name'),
3326 'type': 'checkbox',
3327 'value': e2pdf.helper.getCheckbox(properties[field]),
3328 'option': '1'
3329 };
3330 break;
3331 case 'dynamic_height':
3332 obj = {
3333 'name': e2pdf.lang.get('Dynamic Height'),
3334 'type': 'checkbox',
3335 'value': e2pdf.helper.getCheckbox(properties[field]),
3336 'option': '1'
3337 };
3338 break;
3339 case 'multipage':
3340 obj = {
3341 'name': e2pdf.lang.get('Multipage'),
3342 'type': 'checkbox',
3343 'value': e2pdf.helper.getCheckbox(properties[field]),
3344 'option': '1'
3345 };
3346 break;
3347 case 'hide_if_empty':
3348 obj = {
3349 'name': e2pdf.lang.get('Hide (If Empty)'),
3350 'type': 'checkbox',
3351 'value': e2pdf.helper.getCheckbox(properties[field]),
3352 'option': '1'
3353 };
3354 break;
3355 case 'hide_page_if_empty':
3356 obj = {
3357 'name': e2pdf.lang.get('Hide Page (If Empty)'),
3358 'type': 'checkbox',
3359 'value': e2pdf.helper.getCheckbox(properties[field]),
3360 'option': '1'
3361 };
3362 break;
3363 case 'nl2br':
3364 obj = {
3365 'name': e2pdf.lang.get('New Lines to BR'),
3366 'type': 'checkbox',
3367 'value': e2pdf.helper.getCheckbox(properties[field]),
3368 'option': '1'
3369 };
3370 break;
3371 case 'preload_img':
3372 obj = {
3373 'name': e2pdf.lang.get('Preload Images'),
3374 'type': 'checkbox',
3375 'value': e2pdf.helper.getCheckbox(properties[field]),
3376 'option': '1'
3377 };
3378 break;
3379 case 'text_color':
3380 obj = {
3381 'name': e2pdf.lang.get('Font Color'),
3382 'type': 'color',
3383 'value': e2pdf.helper.getString(properties[field])
3384 };
3385 break;
3386 case 'color':
3387 obj = {
3388 'name': e2pdf.lang.get('Color'),
3389 'type': 'color',
3390 'value': e2pdf.helper.getString(properties[field])
3391 };
3392 break;
3393 case 'text_type':
3394 obj = {
3395 'name': e2pdf.lang.get('Type'),
3396 'type': 'select',
3397 'value': e2pdf.helper.getString(properties[field], 'check'),
3398 'options': [
3399 {'check': 'Check'},
3400 {'circle': 'Circle'},
3401 {'cross': 'Cross'},
3402 {'diamond': 'Diamond'},
3403 {'square': 'Square'},
3404 {'star': 'Star'}
3405 ]
3406 };
3407 break;
3408 case 'text_font':
3409 obj = {
3410 'name': e2pdf.lang.get('Font'),
3411 'type': 'select',
3412 'value': e2pdf.helper.getString(properties[field]),
3413 'options': e2pdf.helper.font.fonts(field)
3414 };
3415 break;
3416 case 'text_auto_font_size':
3417 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') {
3418 var value = '1';
3419 } else {
3420 var value = e2pdf.helper.getCheckbox(properties[field]);
3421 }
3422 obj = {
3423 'name': e2pdf.lang.get('Auto Font Size'),
3424 'type': 'checkbox',
3425 'value': value,
3426 'option': '1'
3427 };
3428 break;
3429 case 'text_font_size':
3430 obj = {
3431 'name': e2pdf.lang.get('Font Size'),
3432 'type': 'select',
3433 'value': e2pdf.helper.getString(properties[field]),
3434 'options': e2pdf.helper.font.sizes(field, properties)
3435 };
3436 break;
3437 case 'text_line_height':
3438 obj = {
3439 'name': e2pdf.lang.get('Line Height'),
3440 'type': 'select',
3441 'value': e2pdf.helper.getString(properties[field]),
3442 'options': e2pdf.helper.font.lines(field)
3443 };
3444 break;
3445 case 'text_letter_spacing':
3446 obj = {
3447 'name': e2pdf.lang.get('Char Spacing'),
3448 'type': 'text',
3449 'value': e2pdf.helper.getFloat(properties[field]),
3450 'atts': ['number']
3451 };
3452 break;
3453 case 'z_index':
3454 obj = {
3455 'name': 'Z-index',
3456 'type': 'text',
3457 'value': e2pdf.helper.getInt(properties[field]),
3458 'atts': ['number', 'number-negative']
3459 };
3460 break;
3461 case 'background':
3462 obj = {
3463 'name': e2pdf.lang.get('Background'),
3464 'key': 'background',
3465 'type': 'color',
3466 'value': e2pdf.helper.getString(properties[field])
3467 };
3468 break;
3469 case 'border':
3470 obj = {
3471 'name': e2pdf.lang.get('Border'),
3472 'type': 'text',
3473 'value': e2pdf.helper.getInt(properties[field]),
3474 'atts': ['number']
3475 };
3476 break;
3477 case 'border_top':
3478 obj = {
3479 'name': e2pdf.lang.get('Border Top'),
3480 'type': 'text',
3481 'value': e2pdf.helper.getInt(properties[field]),
3482 'atts': ['number']
3483 };
3484 break;
3485 case 'border_left':
3486 obj = {
3487 'name': e2pdf.lang.get('Border Left'),
3488 'type': 'text',
3489 'value': e2pdf.helper.getInt(properties[field]),
3490 'atts': ['number']
3491 };
3492 break;
3493 case 'border_right':
3494 obj = {
3495 'name': e2pdf.lang.get('Border Right'),
3496 'type': 'text',
3497 'value': e2pdf.helper.getInt(properties[field]),
3498 'atts': ['number']
3499 };
3500 break;
3501 case 'border_bottom':
3502 obj = {
3503 'name': e2pdf.lang.get('Border Bottom'),
3504 'type': 'text',
3505 'value': e2pdf.helper.getInt(properties[field]),
3506 'atts': ['number']
3507 };
3508 break;
3509 case 'border_radius':
3510 obj = {
3511 'name': e2pdf.lang.get('Border Radius'),
3512 'type': 'text',
3513 'value': e2pdf.helper.getInt(properties[field]),
3514 'atts': ['number']
3515 };
3516 break;
3517 case 'border_color':
3518 obj = {
3519 'name': e2pdf.lang.get('Border Color'),
3520 'type': 'color',
3521 'value': e2pdf.helper.getString(properties[field], '#000000'),
3522 };
3523 break;
3524 case 'padding_top':
3525 obj = {
3526 'name': e2pdf.lang.get('Padding Top'),
3527 'type': 'text',
3528 'value': e2pdf.helper.getInt(properties[field]),
3529 'atts': ['number']
3530 };
3531 break;
3532 case 'padding_left':
3533 obj = {
3534 'name': e2pdf.lang.get('Padding Left'),
3535 'type': 'text',
3536 'value': e2pdf.helper.getInt(properties[field]),
3537 'atts': ['number']
3538 };
3539 break;
3540 case 'padding_right':
3541 obj = {
3542 'name': e2pdf.lang.get('Padding Right'),
3543 'type': 'text',
3544 'value': e2pdf.helper.getInt(properties[field]),
3545 'atts': ['number']
3546 };
3547 break;
3548 case 'padding_bottom':
3549 obj = {
3550 'name': e2pdf.lang.get('Padding Bottom'),
3551 'type': 'text',
3552 'value': e2pdf.helper.getInt(properties[field]),
3553 'atts': ['number']
3554 };
3555 break;
3556 case 'margin_top':
3557 obj = {
3558 'name': e2pdf.lang.get('Margin Top'),
3559 'type': 'text',
3560 'value': e2pdf.helper.getInt(properties[field]),
3561 'atts': ['number']
3562 };
3563 if (el.data('data-type') == 'e2pdf-barcode') {
3564 obj.atts.push('keep');
3565 }
3566 break;
3567 case 'margin_left':
3568 obj = {
3569 'name': e2pdf.lang.get('Margin Left'),
3570 'type': 'text',
3571 'value': e2pdf.helper.getInt(properties[field]),
3572 'atts': ['number']
3573 };
3574 if (el.data('data-type') == 'e2pdf-barcode') {
3575 obj.atts.push('keep');
3576 }
3577 break;
3578 case 'margin_right':
3579 obj = {
3580 'name': e2pdf.lang.get('Margin Right'),
3581 'type': 'text',
3582 'value': e2pdf.helper.getInt(properties[field]),
3583 'atts': ['number']
3584 };
3585 if (el.data('data-type') == 'e2pdf-barcode') {
3586 obj.atts.push('keep');
3587 }
3588 break;
3589 case 'margin_bottom':
3590 obj = {
3591 'name': e2pdf.lang.get('Margin Bottom'),
3592 'type': 'text',
3593 'value': e2pdf.helper.getInt(properties[field]),
3594 'atts': ['number']
3595 };
3596 if (el.data('data-type') == 'e2pdf-barcode') {
3597 obj.atts.push('keep');
3598 }
3599 break;
3600 case 'length':
3601 obj = {
3602 'name': e2pdf.lang.get('Length'),
3603 'type': 'text',
3604 'value': e2pdf.helper.getInt(properties[field]),
3605 'atts': ['number']
3606 };
3607 break;
3608 case 'comb':
3609 obj = {
3610 'name': e2pdf.lang.get('Comb'),
3611 'type': 'checkbox',
3612 'value': e2pdf.helper.getCheckbox(properties[field]),
3613 'option': '1'
3614 };
3615 break;
3616 case 'rtl':
3617 obj = {
3618 'name': e2pdf.lang.get('Direction'),
3619 'type': 'select',
3620 'value': e2pdf.helper.getString(properties[field]),
3621 'options':
3622 [
3623 {'': '-'},
3624 {'0': 'LTR'},
3625 {'1': 'RTL'}
3626 ]
3627 };
3628 break;
3629 case 'required':
3630 obj = {
3631 'name': e2pdf.lang.get('Required'),
3632 'type': 'checkbox',
3633 'value': e2pdf.helper.getCheckbox(properties[field]),
3634 'option': '1'
3635 };
3636 break;
3637 case 'readonly':
3638 obj = {
3639 'name': e2pdf.lang.get('Read-Only'),
3640 'type': 'checkbox',
3641 'value': e2pdf.helper.getCheckbox(properties[field]),
3642 'option': '1'
3643 };
3644 break;
3645 case 'pass':
3646 obj = {
3647 'name': e2pdf.lang.get('Password'),
3648 'type': 'checkbox',
3649 'value': e2pdf.helper.getCheckbox(properties[field]),
3650 'option': '1'
3651 };
3652 break;
3653 case 'multiline':
3654 obj = {
3655 'name': e2pdf.lang.get('Multiline'),
3656 'type': 'checkbox',
3657 'value': e2pdf.helper.getCheckbox(properties[field]),
3658 'option': '1'
3659 };
3660 break;
3661 case 'dimension':
3662 obj = {
3663 'name': e2pdf.lang.get('Keep Image Ratio'),
3664 'type': 'checkbox',
3665 'value': e2pdf.helper.getCheckbox(properties[field]),
3666 'option': '1'
3667 };
3668 break;
3669 case 'block_dimension':
3670 obj = {
3671 'name': e2pdf.lang.get('Lock Aspect Ratio'),
3672 'type': 'checkbox',
3673 'value': e2pdf.helper.getCheckbox(properties[field]),
3674 'option': '1',
3675 'atts': []
3676 };
3677 if (el.data('data-type') === 'e2pdf-image') {
3678 obj.atts.push('keep');
3679 }
3680 break;
3681 case 'keep_lower_size':
3682 obj = {
3683 'name': e2pdf.lang.get('Keep Lower Size'),
3684 'type': 'checkbox',
3685 'value': e2pdf.helper.getCheckbox(properties[field]),
3686 'option': '1'
3687 };
3688 break;
3689 case 'fill_image':
3690 obj = {
3691 'name': e2pdf.lang.get('Fill Image'),
3692 'type': 'checkbox',
3693 'value': e2pdf.helper.getCheckbox(properties[field]),
3694 'option': '1'
3695 };
3696 break;
3697 case 'pdf_page':
3698 obj = {
3699 'name': e2pdf.lang.get('Page'),
3700 'type': 'text',
3701 'value': e2pdf.helper.getInt(properties[field]),
3702 'atts': ['number']
3703 };
3704 break;
3705 case 'pdf_resample':
3706 var value = e2pdf.helper.getString(properties[field], '-1');
3707 if (value == '100') {
3708 value = '150';
3709 }
3710 obj = {
3711 'name': e2pdf.lang.get('Resolution'),
3712 'type': 'select',
3713 'value': value,
3714 'options':
3715 [
3716 {'-1': e2pdf.lang.get('Auto')},
3717 {'72': '72dpi'},
3718 {'125': '90dpi'},
3719 {'150': '108dpi'},
3720 {'175': '126dpi'},
3721 {'200': '144dpi'}
3722 ]
3723 };
3724 break;
3725 case 'pdf_append':
3726 obj = {
3727 'name': e2pdf.lang.get('Append'),
3728 'type': 'select',
3729 'value': e2pdf.helper.getString(properties[field], 'vertical'),
3730 'options':
3731 [
3732 {'vertical': e2pdf.lang.get('Vertical')},
3733 {'horizontal': e2pdf.lang.get('Horizontal')},
3734 {'grid': e2pdf.lang.get('Grid')}
3735 ]
3736 };
3737 break;
3738 case 'pdf_space':
3739 obj = {
3740 'name': e2pdf.lang.get('Space'),
3741 'type': 'text',
3742 'value': e2pdf.helper.getInt(properties[field]),
3743 'atts': ['number']
3744 };
3745 break;
3746 case 'pdf_border':
3747 obj = {
3748 'name': e2pdf.lang.get('Border'),
3749 'type': 'text',
3750 'value': e2pdf.helper.getInt(properties[field]),
3751 'atts': ['number']
3752 };
3753 break;
3754 case 'hl':
3755 obj = {
3756 'name': e2pdf.lang.get('Hide Label'),
3757 'type': 'checkbox',
3758 'value': e2pdf.helper.getCheckbox(properties[field]),
3759 'option': '1'
3760 };
3761 break;
3762 case 'only_image':
3763 obj = {
3764 'name': e2pdf.lang.get('Disable Text to Image'),
3765 'type': 'checkbox',
3766 'value': e2pdf.helper.getCheckbox(properties[field]),
3767 'option': '1'
3768 };
3769 break;
3770 case 'esig':
3771 obj = {
3772 'name': e2pdf.lang.get('E-Signature'),
3773 'type': 'checkbox',
3774 'value': e2pdf.helper.getCheckbox(properties[field]),
3775 'option': '1'
3776 };
3777 break;
3778 case 'esig_contact':
3779 obj = {
3780 'name': e2pdf.lang.get('Contact'),
3781 'type': 'text',
3782 'value': e2pdf.helper.getString(properties[field])
3783 };
3784 break;
3785 case 'esig_location':
3786 obj = {
3787 'name': e2pdf.lang.get('Location'),
3788 'type': 'text',
3789 'value': e2pdf.helper.getString(properties[field])
3790 };
3791 break;
3792 case 'esig_reason':
3793 obj = {
3794 'name': e2pdf.lang.get('Reason'),
3795 'type': 'text',
3796 'value': e2pdf.helper.getString(properties[field])
3797 };
3798 break;
3799 case 'placeholder':
3800 obj = {
3801 'name': e2pdf.lang.get('Placeholder'),
3802 'type': 'text',
3803 'value': e2pdf.helper.getString(properties[field])
3804 };
3805 break;
3806 case 'horizontal':
3807 obj = {
3808 'name': e2pdf.lang.get('Horizontal Align'),
3809 'type': 'select',
3810 'value': e2pdf.helper.getString(properties[field], 'left'),
3811 'options':
3812 [
3813 {'left': e2pdf.lang.get('Left')},
3814 {'center': e2pdf.lang.get('Center')},
3815 {'right': e2pdf.lang.get('Right')}
3816 ]
3817 };
3818 break;
3819 case 'vertical':
3820 obj = {
3821 'name': e2pdf.lang.get('Vertical Align'),
3822 'type': 'select',
3823 'value': e2pdf.helper.getString(properties[field], 'top'),
3824 'options':
3825 [
3826 {'top': e2pdf.lang.get('Top')},
3827 {'middle': e2pdf.lang.get('Middle')},
3828 {'bottom': e2pdf.lang.get('Bottom')}
3829 ]
3830 };
3831 break;
3832 case 'scale':
3833 obj = {
3834 'name': e2pdf.lang.get('Scale'),
3835 'type': 'select',
3836 'value': e2pdf.helper.getString(properties[field], '0'),
3837 'options':
3838 [
3839 {'0': e2pdf.lang.get('Auto')},
3840 {'1': e2pdf.lang.get('Width&Height')},
3841 {'2': e2pdf.lang.get('Width')},
3842 {'3': e2pdf.lang.get('Height')}
3843 ]
3844 ,
3845 'atts': ['scale']
3846 };
3847 break;
3848 case 'text_align':
3849 obj = {
3850 'name': e2pdf.lang.get('Text Align'),
3851 'type': 'select',
3852 'value': e2pdf.helper.getString(properties[field]),
3853 'options':
3854 [
3855 {'': '-'},
3856 {'left': e2pdf.lang.get('Left')},
3857 {'center': e2pdf.lang.get('Center')},
3858 {'right': e2pdf.lang.get('Right')}
3859 ]
3860 };
3861 if (el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
3862 obj.options.push(
3863 {'justify': e2pdf.lang.get('Justify')},
3864 {'justify-all': e2pdf.lang.get('Justify All')}
3865 );
3866 }
3867 break;
3868 case 'page_number':
3869 obj = {
3870 'name': e2pdf.lang.get('Adjust Page Number'),
3871 'type': 'text',
3872 'value': e2pdf.helper.getInt(properties[field]),
3873 'atts': ['number', 'number-negative']
3874 };
3875 break;
3876 case 'page_total':
3877 obj = {
3878 'name': e2pdf.lang.get('Adjust Page Total'),
3879 'type': 'text',
3880 'value': e2pdf.helper.getInt(properties[field]),
3881 'atts': ['number', 'number-negative']
3882 };
3883 break;
3884 case 'precision':
3885 obj = {
3886 'name': e2pdf.lang.get('Precision'),
3887 'type': 'select',
3888 'value': e2pdf.helper.getString(properties[field], 'qrl'),
3889 'options':
3890 [
3891 {'qrl': e2pdf.lang.get('L - Smallest')},
3892 {'qrm': e2pdf.lang.get('M - Medium')},
3893 {'qrq': e2pdf.lang.get('Q - High')},
3894 {'qrh': e2pdf.lang.get('H - Best')}
3895 ]
3896 };
3897 break;
3898 case 'wq':
3899 obj = {
3900 'name': e2pdf.lang.get('Quiet Zone Size'),
3901 'type': 'text',
3902 'value': e2pdf.helper.getInt(properties[field]),
3903 'atts': ['number', 'keep']
3904 };
3905 break;
3906 case 'format':
3907 obj = {
3908 'name': e2pdf.lang.get('Format'),
3909 'type': 'select',
3910 'value': e2pdf.helper.getString(properties[field], 'upc-a'),
3911 'options':
3912 [
3913 {'upc-a': 'UPC-A'},
3914 {'upc-e': 'UPC-E'},
3915 {'ean-8': 'EAN-8'},
3916 {'ean-13': 'EAN-13'},
3917 {'ean-13-pad': 'EAN-13 PAD'},
3918 {'ean-13-nopad': 'EAN-13 NOPAD'},
3919 {'ean-128': 'EAN-128'},
3920 {'code-39': 'CODE-39'},
3921 {'code-39-ascii': 'CODE-39 ASCII'},
3922 {'code-93': 'CODE-93'},
3923 {'code-93-ascii': 'CODE-93 ASCII'},
3924 {'code-128': 'CODE-128'},
3925 {'codabar': 'CODEBAR'},
3926 {'itf': 'ITF'},
3927 {'dmtx': 'DMTX'},
3928 {'dmtx-s': 'DMTX S'},
3929 {'dmtx-r': 'DMTX R'},
3930 {'gs1-dmtx': 'GS1 DMTX'},
3931 {'gs1-dmtx-s': 'GS1 DMTX S'},
3932 {'gs1-dmtx-r': 'GS1 DMTX R'}
3933 ]
3934 };
3935 break;
3936 case 'rotation':
3937 obj = {
3938 'name': e2pdf.lang.get('Rotation'),
3939 'type': 'select',
3940 'value': e2pdf.helper.getString(properties[field], '0'),
3941 'options':
3942 [
3943 {'0': '0'},
3944 {'90': '90'},
3945 {'180': '180'},
3946 {'270': '270'}
3947 ]
3948 };
3949 break;
3950 case 'quality':
3951 obj = {
3952 'name': e2pdf.lang.get('Optimization'),
3953 'type': 'select',
3954 'value': e2pdf.helper.getInt(properties[field], '0'),
3955 'options':
3956 [
3957 {'0': e2pdf.lang.get('Inherit')},
3958 {'-1': e2pdf.lang.get('Not Optimized')},
3959 {'1': e2pdf.lang.get('Low Quality')},
3960 {'2': e2pdf.lang.get('Basic Quality')},
3961 {'3': e2pdf.lang.get('Good Quality')},
3962 {'4': e2pdf.lang.get('Best Quality')},
3963 {'5': e2pdf.lang.get('Ultra Quality')},
3964 ]
3965 };
3966 break;
3967 case 'opacity':
3968 obj = {
3969 'name': e2pdf.lang.get('Opacity'),
3970 'type': 'text',
3971 'value': e2pdf.helper.getFloat(properties[field]),
3972 'atts': ['number', 'keep']
3973 };
3974 break;
3975 case 'parent':
3976 var options = [
3977 {'': e2pdf.lang.get('--- Select ---')}
3978 ];
3979 if (el.data('data-type') === 'e2pdf-html') {
3980 jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
3981 if (!jQuery(this).is(children)) {
3982 var parent = jQuery(this).parent().attr('data-element_id');
3983 options.push({[parent]: parent});
3984 }
3985 });
3986 }
3987 options.sort(function (a, b) {
3988 return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
3989 });
3990 obj = {
3991 'name': e2pdf.lang.get('Parent'),
3992 'type': 'select',
3993 'value': e2pdf.helper.getString(properties[field]),
3994 'options': options
3995 };
3996 break;
3997 case 'group':
3998 var source = [];
3999 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
4000 if (!jQuery(this).is(children)) {
4001 var radio = jQuery(this).parent();
4002 var group = e2pdf.properties.getValue(radio, 'group', 'string');
4003 if (source.indexOf(group) === -1) {
4004 source.push(group);
4005 }
4006 }
4007 });
4008 obj = {
4009 'name': e2pdf.lang.get('Group'),
4010 'type': 'text',
4011 'value': e2pdf.helper.getString(properties[field]),
4012 'source': source,
4013 'atts': ['autocomplete']
4014 };
4015 break;
4016 case 'option':
4017 obj = {
4018 'name': e2pdf.lang.get('Option'),
4019 'type': 'textarea',
4020 'value': e2pdf.helper.getString(properties[field])
4021 };
4022 break;
4023 case 'options':
4024 obj = {
4025 'name': e2pdf.lang.get('Options'),
4026 'type': 'textarea',
4027 'value': e2pdf.helper.getString(properties[field])
4028 };
4029 break;
4030 case 'value':
4031 if (el.data('data-type') === 'e2pdf-html') {
4032 if (children.is('textarea')) {
4033 var value = children.val();
4034 } else {
4035 var value = children.html();
4036 }
4037 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
4038 var value = children.val();
4039 } else {
4040 var value = properties.hasOwnProperty('value') ? properties['value'] : '';
4041 }
4042 var name = e2pdf.lang.get('Value');
4043 if (el.data('data-type') === 'e2pdf-image') {
4044 name = e2pdf.lang.get('Image');
4045 } else if (el.data('data-type') === 'e2pdf-link') {
4046 name = e2pdf.lang.get('Link URL');
4047 }
4048 obj = {
4049 'name': name,
4050 'type': 'textarea',
4051 'value': value
4052 };
4053 break;
4054 case 'css':
4055 obj = {
4056 'name': 'CSS',
4057 'type': 'textarea',
4058 'value': e2pdf.helper.getString(properties[field])
4059 };
4060 break;
4061 case 'preset':
4062 var options = [];
4063 var option = {
4064 '': e2pdf.lang.get('--- Select ---')
4065 };
4066 options.push(option);
4067 for (var size in e2pdf_params['template_sizes']) {
4068 var option = {};
4069 option[size] = size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')';
4070 options.push(option);
4071 }
4072 obj = {
4073 'name': e2pdf.lang.get('Size'),
4074 'type': 'select',
4075 'value': '',
4076 'options': options,
4077 'atts': [
4078 'uneditable'
4079 ]
4080 };
4081 if (e2pdf.pdf.settings.get('pdf')) {
4082 obj.atts.push('disabled');
4083 }
4084 break;
4085 case 'highlight':
4086 obj = {
4087 'name': e2pdf.lang.get('Highlight'),
4088 'type': 'select',
4089 'value': e2pdf.helper.getString(properties[field], 'none'),
4090 'options': [
4091 {'none': e2pdf.lang.get('None')},
4092 {'invert': e2pdf.lang.get('Invert')},
4093 {'outline': e2pdf.lang.get('Outline')},
4094 {'push': e2pdf.lang.get('Push')}
4095 ]
4096 };
4097 break;
4098 case 'link_url':
4099 obj = {
4100 'name': e2pdf.lang.get('Link URL'),
4101 'type': 'text',
4102 'value': e2pdf.helper.getString(properties[field], ''),
4103 };
4104 break;
4105 case 'link_type':
4106 obj = {
4107 'name': e2pdf.lang.get('Link Type'),
4108 'type': 'select',
4109 'value': e2pdf.helper.getString(properties[field], ''),
4110 'options': [
4111 {'': e2pdf.lang.get('Url')},
4112 {'attachment': e2pdf.lang.get('Attachment')},
4113 ]
4114 };
4115 break;
4116 case 'link_label':
4117 obj = {
4118 'name': e2pdf.lang.get('Link Label'),
4119 'type': 'text',
4120 'value': e2pdf.helper.getString(properties[field], ''),
4121 };
4122 break;
4123 case 'underline':
4124 obj = {
4125 'name': e2pdf.lang.get('Underline'),
4126 'type': 'checkbox',
4127 'value': e2pdf.helper.getCheckbox(properties[field]),
4128 'option': '1'
4129 };
4130 break;
4131 case 'underline':
4132 obj = {
4133 'name': e2pdf.lang.get('Underline'),
4134 'type': 'checkbox',
4135 'value': e2pdf.helper.getCheckbox(properties[field]),
4136 'option': '1'
4137 };
4138 break;
4139 case 'preg_pattern':
4140 obj = {
4141 'name': e2pdf.lang.get('Preg Replace Pattern'),
4142 'type': 'text',
4143 'value': e2pdf.helper.getString(properties[field])
4144 };
4145 break;
4146 case 'preg_replacement':
4147 obj = {
4148 'name': e2pdf.lang.get('Preg Replace Replacement'),
4149 'type': 'text',
4150 'value': e2pdf.helper.getString(properties[field])
4151 };
4152 break;
4153 case 'preg_match_all_pattern':
4154 obj = {
4155 'name': e2pdf.lang.get('Preg Match All Pattern'),
4156 'type': 'text',
4157 'value': e2pdf.helper.getString(properties[field])
4158 };
4159 break;
4160 case 'preg_match_all_output':
4161 obj = {
4162 'name': e2pdf.lang.get('Preg Match All Output'),
4163 'type': 'text',
4164 'value': e2pdf.helper.getString(properties[field])
4165 };
4166 break;
4167 case 'css_priority':
4168 obj = {
4169 'name': e2pdf.lang.get('CSS Priority'),
4170 'type': 'checkbox',
4171 'value': e2pdf.helper.getCheckbox(properties[field]),
4172 'option': '1'
4173 };
4174 break;
4175 case 'css_style':
4176 var options = [];
4177 var option = {
4178 '': '--- ' + e2pdf.lang.get('CSS Style') + ' ---'
4179 };
4180 options.push(option);
4181 e2pdf_params['css_styles'].forEach(function (css_style) {
4182 var option = {};
4183 option[css_style] = css_style;
4184 options.push(option);
4185 });
4186 obj = {
4187 'name': e2pdf.lang.get('CSS Style'),
4188 'type': 'select',
4189 'value': e2pdf.helper.getString(properties[field], ''),
4190 'options': options
4191 };
4192 break;
4193 case 'html_worker':
4194 obj = {
4195 'name': 'HTML Worker',
4196 'type': 'select',
4197 'value': e2pdf.helper.getString(properties[field], ''),
4198 'options': [
4199 {'': 'HTML Worker: v1'},
4200 {'1': 'HTML Worker: v2'},
4201 {'3': 'HTML Worker: v3 (BETA)'}
4202 ]
4203 };
4204 break;
4205 case 'wysiwyg_disable':
4206 obj = {
4207 'name': e2pdf.lang.get('Disable WYSIWYG Editor'),
4208 'type': 'checkbox',
4209 'value': e2pdf.helper.getCheckbox(properties[field]),
4210 'option': '1'
4211 };
4212 break;
4213 case 'g_type':
4214 obj = {
4215 'name': e2pdf.lang.get('Type'),
4216 'type': 'select',
4217 'value': e2pdf.helper.getString(properties[field], 'BarGraph'),
4218 'options':
4219 [
4220 {'BarGraph': 'BarGraph'},
4221 {'Bar3DGraph': 'Bar3DGraph'},
4222 {'BarAndLineGraph': 'BarAndLineGraph'},
4223 {'BoxAndWhiskerGraph': 'BoxAndWhiskerGraph'},
4224 {'BubbleGraph': 'BubbleGraph'},
4225 {'CylinderGraph': 'CylinderGraph'},
4226 {'CandlestickGraph': 'CandlestickGraph'},
4227 {'DonutGraph': 'DonutGraph'},
4228 {'Donut3DGraph': 'Donut3DGraph'},
4229 {'ExplodedPieGraph': 'ExplodedPieGraph'},
4230 {'ExplodedPie3DGraph': 'ExplodedPie3DGraph'},
4231 {'ExplodedDonutGraph': 'ExplodedDonutGraph'},
4232 {'ExplodedDonut3DGraph': 'ExplodedDonut3DGraph'},
4233 {'ExplodedSemiDonutGraph': 'ExplodedSemiDonutGraph'},
4234 {'ExplodedSemiDonut3DGraph': 'ExplodedSemiDonut3DGraph'},
4235 {'FloatingBarGraph': 'FloatingBarGraph'},
4236 {'GroupedBarGraph': 'GroupedBarGraph'},
4237 {'GroupedBar3DGraph': 'GroupedBar3DGraph'},
4238 {'GroupedCylinderGraph': 'GroupedCylinderGraph'},
4239 {'Histogram': 'Histogram'},
4240 {'HorizontalBarGraph': 'HorizontalBarGraph'},
4241 {'HorizontalBar3DGraph': 'HorizontalBar3DGraph'},
4242 {'HorizontalStackedBarGraph': 'HorizontalStackedBarGraph'},
4243 {'HorizontalStackedBar3DGraph': 'HorizontalStackedBar3DGraph'},
4244 {'HorizontalGroupedBarGraph': 'HorizontalGroupedBarGraph'},
4245 {'HorizontalGroupedBar3DGraph': 'HorizontalGroupedBar3DGraph'},
4246 {'HorizontalFloatingBarGraph': 'HorizontalFloatingBarGraph'},
4247 {'LineGraph': 'LineGraph'},
4248 {'MultiLineGraph': 'MultiLineGraph'},
4249 {'MultiRadarGraph': 'MultiRadarGraph'},
4250 {'MultiScatterGraph': 'MultiScatterGraph'},
4251 {'MultiSteppedLineGraph': 'MultiSteppedLineGraph'},
4252 {'ParetoChart': 'ParetoChart'},
4253 {'PieGraph': 'PieGraph'},
4254 {'Pie3DGraph': 'Pie3DGraph'},
4255 {'PolarAreaGraph': 'PolarAreaGraph'},
4256 {'PolarArea3DGraph': 'PolarArea3DGraph'},
4257 {'PopulationPyramid': 'PopulationPyramid'},
4258 {'RadarGraph': 'RadarGraph'},
4259 {'ScatterGraph': 'ScatterGraph'},
4260 {'SemiDonutGraph': 'SemiDonutGraph'},
4261 {'SemiDonut3DGraph': 'SemiDonut3DGraph'},
4262 {'SteppedLineGraph': 'SteppedLineGraph'},
4263 {'StackedBarGraph': 'StackedBarGraph'},
4264 {'StackedBar3DGraph': 'StackedBar3DGraph'},
4265 {'StackedBarAndLineGraph': 'StackedBarAndLineGraph'},
4266 {'StackedCylinderGraph': 'StackedCylinderGraph'},
4267 {'StackedLineGraph': 'StackedLineGraph'},
4268 {'StackedGroupedBarGraph': 'StackedGroupedBarGraph'},
4269 {'StackedGroupedBar3DGraph': 'StackedGroupedBar3DGraph'},
4270 {'StackedGroupedCylinderGraph': 'StackedGroupedCylinderGraph'}
4271 ]
4272 };
4273 break;
4274 case 'g_palette':
4275 obj = {
4276 'name': e2pdf.lang.get('Palette'),
4277 'type': 'color',
4278 'value': e2pdf.helper.getString(properties[field])
4279 };
4280 break;
4281 case 'g_stroke_colour':
4282 obj = {
4283 'name': e2pdf.lang.get('Line / Stroke Color'),
4284 'type': 'color',
4285 'value': e2pdf.helper.getString(properties[field])
4286 };
4287 break;
4288 case 'g_stroke_width':
4289 obj = {
4290 'name': e2pdf.lang.get('Width'),
4291 'type': 'text',
4292 'value': e2pdf.helper.getInt(properties[field]),
4293 'atts': ['number']
4294 };
4295 break;
4296 case 'g_graph_title':
4297 obj = {
4298 'name': e2pdf.lang.get('Title'),
4299 'type': 'text',
4300 'value': e2pdf.helper.getString(properties[field])
4301 };
4302 break;
4303 case 'g_graph_title_font_size':
4304 obj = {
4305 'name': e2pdf.lang.get('Font Size'),
4306 'type': 'select',
4307 'value': e2pdf.helper.getString(properties[field]),
4308 'options': e2pdf.helper.font.sizes(field)
4309 };
4310 break;
4311 case 'g_label_font_size':
4312 obj = {
4313 'name': e2pdf.lang.get('Font Size'),
4314 'type': 'select',
4315 'value': e2pdf.helper.getString(properties[field]),
4316 'options': e2pdf.helper.font.sizes(field)
4317 };
4318 break;
4319 case 'g_graph_title_space':
4320 obj = {
4321 'name': e2pdf.lang.get('Space'),
4322 'type': 'text',
4323 'value': e2pdf.helper.getInt(properties[field]),
4324 'atts': ['number']
4325 };
4326 break;
4327 case 'g_label_space':
4328 obj = {
4329 'name': e2pdf.lang.get('Space'),
4330 'type': 'text',
4331 'value': e2pdf.helper.getInt(properties[field]),
4332 'atts': ['number']
4333 };
4334 break;
4335 case 'g_graph_title_colour':
4336 obj = {
4337 'name': e2pdf.lang.get('Color'),
4338 'type': 'color',
4339 'value': e2pdf.helper.getString(properties[field])
4340 };
4341 break;
4342 case 'g_label_colour':
4343 obj = {
4344 'name': e2pdf.lang.get('Color'),
4345 'type': 'color',
4346 'value': e2pdf.helper.getString(properties[field])
4347 };
4348 break;
4349 case 'g_graph_title_position':
4350 obj = {
4351 'name': e2pdf.lang.get('Position'),
4352 'type': 'select',
4353 'value': e2pdf.helper.getString(properties[field], 'top'),
4354 'options':
4355 [
4356 {'top': e2pdf.lang.get('Top')},
4357 {'left': e2pdf.lang.get('Left')},
4358 {'right': e2pdf.lang.get('Right')},
4359 {'bottom': e2pdf.lang.get('Bottom')}
4360 ]
4361 };
4362 break;
4363 case 'g_label_v':
4364 obj = {
4365 'name': e2pdf.lang.get('Vertical Label'),
4366 'type': 'text',
4367 'value': e2pdf.helper.getString(properties[field])
4368 };
4369 break;
4370 case 'g_label_h':
4371 obj = {
4372 'name': e2pdf.lang.get('Horizontal Label'),
4373 'type': 'text',
4374 'value': e2pdf.helper.getString(properties[field])
4375 };
4376 break;
4377 case 'g_data_label_type':
4378 obj = {
4379 'name': e2pdf.lang.get('Type'),
4380 'type': 'select',
4381 'value': e2pdf.helper.getString(properties[field], 'plain'),
4382 'options':
4383 [
4384 {'plain': 'Plain'},
4385 {'box': 'Box'},
4386 {'bubble': 'Bubble'},
4387 {'line': 'Line'},
4388 {'circle': 'Circle'},
4389 {'square': 'Square'},
4390 {'linecircle': 'LineCircle'},
4391 {'linebox': 'LineBox'},
4392 {'linesquare': 'LineSquare'},
4393 {'line2': 'Line2'}
4394 ]
4395 };
4396 break;
4397 case 'g_key_sep':
4398 obj = {
4399 'name': 'Key Separator',
4400 'type': 'text',
4401 'value': properties.hasOwnProperty('g_key_sep') && properties['g_key_sep'] ? properties['g_key_sep'] : ' => '
4402 };
4403 break;
4404 case 'g_array_sep':
4405 obj = {
4406 'name': 'Array Separator',
4407 'type': 'text',
4408 'value': properties.hasOwnProperty('g_array_sep') && properties['g_array_sep'] ? properties['g_array_sep'] : ', '
4409 };
4410 break;
4411 case 'g_sub_array_sep':
4412 obj = {
4413 'name': 'Sub Array Separator',
4414 'type': 'text',
4415 'value': properties.hasOwnProperty('g_sub_array_sep') && properties['g_sub_array_sep'] ? properties['g_sub_array_sep'] : '|'
4416 };
4417 break;
4418 case 'g_structure_key':
4419 obj = {
4420 'name': 'Key',
4421 'type': 'text',
4422 'value': e2pdf.helper.getString(properties[field])
4423 };
4424 break;
4425 case 'g_structure_value':
4426 obj = {
4427 'name': 'Value',
4428 'type': 'text',
4429 'value': e2pdf.helper.getString(properties[field])
4430 };
4431 break;
4432 case 'g_structure_colour':
4433 obj = {
4434 'name': 'Color',
4435 'type': 'text',
4436 'value': e2pdf.helper.getString(properties[field])
4437 };
4438 break;
4439 case 'g_structure_axis_text':
4440 obj = {
4441 'name': 'Axis Text',
4442 'type': 'text',
4443 'value': e2pdf.helper.getString(properties[field])
4444 };
4445 break;
4446 case 'g_structure_legend_text':
4447 obj = {
4448 'name': 'Legend Text',
4449 'type': 'text',
4450 'value': e2pdf.helper.getString(properties[field])
4451 };
4452 break;
4453 case 'g_structure_label':
4454 obj = {
4455 'name': 'Label',
4456 'type': 'text',
4457 'value': e2pdf.helper.getString(properties[field])
4458 };
4459 break;
4460 case 'g_structure_area':
4461 obj = {
4462 'name': 'Area',
4463 'type': 'text',
4464 'value': e2pdf.helper.getString(properties[field])
4465 };
4466 break;
4467 case 'g_structure_open':
4468 obj = {
4469 'name': 'Open',
4470 'type': 'text',
4471 'value': e2pdf.helper.getString(properties[field])
4472 };
4473 break;
4474 case 'g_structure_end':
4475 obj = {
4476 'name': 'End',
4477 'type': 'text',
4478 'value': e2pdf.helper.getString(properties[field])
4479 };
4480 break;
4481 case 'g_structure_outliers':
4482 obj = {
4483 'name': 'Outliers',
4484 'type': 'text',
4485 'value': e2pdf.helper.getString(properties[field])
4486 };
4487 break;
4488 case 'g_structure_top':
4489 obj = {
4490 'name': 'Top',
4491 'type': 'text',
4492 'value': e2pdf.helper.getString(properties[field])
4493 };
4494 break;
4495 case 'g_structure_bottom':
4496 obj = {
4497 'name': 'Bottom',
4498 'type': 'text',
4499 'value': e2pdf.helper.getString(properties[field])
4500 };
4501 break;
4502 case 'g_structure_wtop':
4503 obj = {
4504 'name': 'Wtop',
4505 'type': 'text',
4506 'value': e2pdf.helper.getString(properties[field])
4507 };
4508 break;
4509 case 'g_structure_wbottom':
4510 obj = {
4511 'name': 'Wbottom',
4512 'type': 'text',
4513 'value': e2pdf.helper.getString(properties[field])
4514 };
4515 break;
4516 case 'g_structure_high':
4517 obj = {
4518 'name': 'High',
4519 'type': 'text',
4520 'value': e2pdf.helper.getString(properties[field])
4521 };
4522 break;
4523 case 'g_structure_low':
4524 obj = {
4525 'name': 'Low',
4526 'type': 'text',
4527 'value': e2pdf.helper.getString(properties[field])
4528 };
4529 break;
4530 case 'g_structured_data':
4531 obj = {
4532 'name': 'Structured Data',
4533 'type': 'checkbox',
4534 'value': e2pdf.helper.getCheckbox(properties[field]),
4535 'option': '1'
4536 };
4537 break;
4538 case 'g_axis_font_size':
4539 obj = {
4540 'name': e2pdf.lang.get('Font Size'),
4541 'key': 'g_axis_font_size',
4542 'type': 'select',
4543 'value': e2pdf.helper.getString(properties[field]),
4544 'options': e2pdf.helper.font.sizes(field)
4545 };
4546 break;
4547 case 'g_axis_font_size_h':
4548 obj = {
4549 'name': e2pdf.lang.get('Font Size'),
4550 'key': 'g_axis_font_size_h',
4551 'type': 'select',
4552 'value': e2pdf.helper.getString(properties[field]),
4553 'options': e2pdf.helper.font.sizes(field)
4554 };
4555 break;
4556 case 'g_axis_font_size_v':
4557 obj = {
4558 'name': e2pdf.lang.get('Font Size'),
4559 'key': 'g_axis_font_size_v',
4560 'type': 'select',
4561 'value': e2pdf.helper.getString(properties[field]),
4562 'options': e2pdf.helper.font.sizes(field)
4563 };
4564 break;
4565 case 'g_axis_overlap':
4566 obj = {
4567 'name': e2pdf.lang.get('Axis Overlap'),
4568 'type': 'text',
4569 'value': e2pdf.helper.getInt(properties[field]),
4570 'atts': ['number']
4571 };
4572 break;
4573 case 'g_axis_stroke_width_v':
4574 obj = {
4575 'name': e2pdf.lang.get('Width'),
4576 'type': 'text',
4577 'value': e2pdf.helper.getInt(properties[field]),
4578 'atts': ['number']
4579 };
4580 break;
4581 case 'g_axis_stroke_width_h':
4582 obj = {
4583 'name': e2pdf.lang.get('Width'),
4584 'type': 'text',
4585 'value': e2pdf.helper.getInt(properties[field]),
4586 'atts': ['number']
4587 };
4588 break;
4589 case 'g_minimum_grid_spacing':
4590 obj = {
4591 'name': e2pdf.lang.get('Grid Spacing'),
4592 'type': 'text',
4593 'value': e2pdf.helper.getInt(properties[field]),
4594 'atts': ['number']
4595 };
4596 break;
4597 case 'g_minimum_grid_spacing_v':
4598 obj = {
4599 'name': e2pdf.lang.get('Grid Spacing (V)'),
4600 'type': 'text',
4601 'value': e2pdf.helper.getInt(properties[field]),
4602 'atts': ['number']
4603 };
4604 break;
4605 case 'g_minimum_grid_spacing_h':
4606 obj = {
4607 'name': e2pdf.lang.get('Grid Spacing (H)'),
4608 'type': 'text',
4609 'value': e2pdf.helper.getInt(properties[field]),
4610 'atts': ['number']
4611 };
4612 break;
4613 case 'g_grid_division_v':
4614 obj = {
4615 'name': e2pdf.lang.get('Grid Division (V)'),
4616 'type': 'text',
4617 'value': e2pdf.helper.getFloat(properties[field]),
4618 'atts': ['number']
4619 };
4620 break;
4621 case 'g_grid_division_h':
4622 obj = {
4623 'name': e2pdf.lang.get('Grid Division (H)'),
4624 'type': 'text',
4625 'value': e2pdf.helper.getFloat(properties[field]),
4626 'atts': ['number']
4627 };
4628 break;
4629 case 'g_axis_colour':
4630 obj = {
4631 'name': e2pdf.lang.get('Axis Color'),
4632 'type': 'color',
4633 'value': e2pdf.helper.getString(properties[field])
4634 };
4635 break;
4636 case 'g_axis_colour_h':
4637 obj = {
4638 'name': e2pdf.lang.get('Axis Color'),
4639 'type': 'color',
4640 'value': e2pdf.helper.getString(properties[field])
4641 };
4642 break;
4643 case 'g_axis_colour_v':
4644 obj = {
4645 'name': e2pdf.lang.get('Axis Color'),
4646 'type': 'color',
4647 'value': e2pdf.helper.getString(properties[field])
4648 };
4649 break;
4650 case 'g_grid_colour':
4651 obj = {
4652 'name': e2pdf.lang.get('Grid Color'),
4653 'key': 'g_grid_colour',
4654 'type': 'color',
4655 'value': e2pdf.helper.getString(properties[field])
4656 };
4657 break;
4658 case 'g_bar_width':
4659 obj = {
4660 'name': e2pdf.lang.get('Width'),
4661 'type': 'text',
4662 'value': e2pdf.helper.getInt(properties[field]),
4663 'atts': ['number']
4664 };
4665 break;
4666 case 'g_bar_width_min':
4667 obj = {
4668 'name': e2pdf.lang.get('Min Width'),
4669 'type': 'text',
4670 'value': e2pdf.helper.getInt(properties[field]),
4671 'atts': ['number']
4672 };
4673 break;
4674 case 'g_bar_space':
4675 obj = {
4676 'name': e2pdf.lang.get('Space'),
4677 'type': 'text',
4678 'value': e2pdf.helper.getInt(properties[field]),
4679 'atts': ['number', 'keep']
4680 };
4681 break;
4682 case 'g_bar_label_colour':
4683 obj = {
4684 'name': e2pdf.lang.get('Bar Label Color'),
4685 'type': 'color',
4686 'value': e2pdf.helper.getString(properties[field])
4687 };
4688 break;
4689 case 'g_bar_label_font_size':
4690 obj = {
4691 'name': e2pdf.lang.get('Font Size'),
4692 'type': 'select',
4693 'value': e2pdf.helper.getString(properties[field]),
4694 'options': e2pdf.helper.font.sizes(field)
4695 };
4696 break;
4697 case 'g_bar_label_space':
4698 obj = {
4699 'name': e2pdf.lang.get('Space'),
4700 'type': 'text',
4701 'value': e2pdf.helper.getInt(properties[field]),
4702 'atts': ['number']
4703 };
4704 break;
4705 case 'g_bar_label_position_vertical':
4706 obj = {
4707 'name': e2pdf.lang.get('Position (V)'),
4708 'type': 'select',
4709 'value': e2pdf.helper.getString(properties[field], 'top'),
4710 'options':
4711 [
4712 {'top': e2pdf.lang.get('Top')},
4713 {'centre': e2pdf.lang.get('Middle')},
4714 {'bottom': e2pdf.lang.get('Bottom')}
4715 ]
4716 };
4717 break;
4718 case 'g_bar_label_position_horizontal':
4719 obj = {
4720 'name': e2pdf.lang.get('Position (H)'),
4721 'type': 'select',
4722 'value': e2pdf.helper.getString(properties[field], 'centre'),
4723 'options':
4724 [
4725 {'left': e2pdf.lang.get('Left')},
4726 {'centre': e2pdf.lang.get('Center')},
4727 {'right': e2pdf.lang.get('Right')}
4728 ]
4729 };
4730 break;
4731 case 'g_bar_label_position_join':
4732 obj = {
4733 'name': e2pdf.lang.get('Position'),
4734 'type': 'select',
4735 'value': e2pdf.helper.getString(properties[field], 'outer'),
4736 'options':
4737 [
4738 {'inner': 'Inner'},
4739 {'outer': 'Outer'}
4740 ]
4741 };
4742 break;
4743 case 'g_show_bar_labels':
4744 obj = {
4745 'name': e2pdf.lang.get('Bar Labels'),
4746 'type': 'checkbox',
4747 'value': e2pdf.helper.getCheckbox(properties[field]),
4748 'option': '1'
4749 };
4750 break;
4751 case 'g_show_labels':
4752 obj = {
4753 'name': e2pdf.lang.get('Labels'),
4754 'type': 'checkbox',
4755 'value': e2pdf.helper.getCheckbox(properties[field]),
4756 'option': '1',
4757 'atts': ['keep'],
4758 };
4759 break;
4760 case 'g_show_label_key':
4761 obj = {
4762 'name': e2pdf.lang.get('Key Labels'),
4763 'type': 'checkbox',
4764 'value': e2pdf.helper.getCheckbox(properties[field]),
4765 'option': '1',
4766 'atts': ['keep'],
4767 };
4768 break;
4769 case 'g_show_label_amount':
4770 obj = {
4771 'name': e2pdf.lang.get('Amount Labels'),
4772 'type': 'checkbox',
4773 'value': e2pdf.helper.getCheckbox(properties[field]),
4774 'option': '1'
4775 };
4776 break;
4777 case 'g_show_label_percent':
4778 obj = {
4779 'name': e2pdf.lang.get('Percent Labels'),
4780 'type': 'checkbox',
4781 'value': e2pdf.helper.getCheckbox(properties[field]),
4782 'option': '1'
4783 };
4784 break;
4785 case 'g_marker_type':
4786 obj = {
4787 'name': e2pdf.lang.get('Marker'),
4788 'type': 'select',
4789 'value': e2pdf.helper.getString(properties[field], 'circle'),
4790 'options':
4791 [
4792 {'circle': 'Circle'},
4793 {'square': 'Square'},
4794 {'triangle': 'Triangle'},
4795 {'cross': 'Cross'},
4796 {'x': 'X'},
4797 {'pentagon': 'Pentagon'},
4798 {'diamond': 'Diamond'},
4799 {'hexagon': 'Hexagon'},
4800 {'octagon': 'Octagon'},
4801 {'asterisk': 'Asterisk'},
4802 {'star': 'Star'},
4803 {'threestar': 'Threestar'},
4804 {'fourstar': 'Fourstar'},
4805 {'eightstar': 'Eightstar'}
4806 ]
4807 };
4808 break;
4809 case 'g_marker_colour':
4810 obj = {
4811 'name': e2pdf.lang.get('Color'),
4812 'type': 'color',
4813 'value': e2pdf.helper.getString(properties[field])
4814 };
4815 break;
4816 case 'g_marker_size':
4817 obj = {
4818 'name': e2pdf.lang.get('Size'),
4819 'type': 'text',
4820 'value': e2pdf.helper.getInt(properties[field]),
4821 'atts': ['number']
4822 };
4823 break;
4824 case 'g_marker_dynamic_colour':
4825 obj = {
4826 'name': e2pdf.lang.get('Dynamic Marker Color'),
4827 'type': 'checkbox',
4828 'value': e2pdf.helper.getCheckbox(properties[field]),
4829 'option': '1'
4830 };
4831 break;
4832 case 'g_grid_subdivision_colour':
4833 obj = {
4834 'name': e2pdf.lang.get('Grid Subdivision Color'),
4835 'type': 'color',
4836 'value': e2pdf.helper.getString(properties[field])
4837 };
4838 break;
4839 case 'g_show_subdivisions':
4840 obj = {
4841 'name': e2pdf.lang.get('Sub Divisions'),
4842 'type': 'checkbox',
4843 'value': e2pdf.helper.getCheckbox(properties[field]),
4844 'option': '1'
4845 };
4846 break;
4847 case 'g_show_grid':
4848 obj = {
4849 'name': e2pdf.lang.get('Grid'),
4850 'type': 'checkbox',
4851 'value': e2pdf.helper.getCheckbox(properties[field]),
4852 'option': '1'
4853 };
4854 break;
4855 case 'g_show_axis_v':
4856 obj = {
4857 'name': e2pdf.lang.get('Axis (V)'),
4858 'type': 'checkbox',
4859 'value': e2pdf.helper.getCheckbox(properties[field]),
4860 'option': '1'
4861 };
4862 break;
4863 case 'g_show_axis_text_v':
4864 obj = {
4865 'name': e2pdf.lang.get('Text'),
4866 'type': 'checkbox',
4867 'value': e2pdf.helper.getCheckbox(properties[field]),
4868 'option': '1'
4869 };
4870 break;
4871 case 'g_show_axis_h':
4872 obj = {
4873 'name': e2pdf.lang.get('Axis (H)'),
4874 'type': 'checkbox',
4875 'value': e2pdf.helper.getCheckbox(properties[field]),
4876 'option': '1'
4877 };
4878 break;
4879 case 'g_show_axis_text_h':
4880 obj = {
4881 'name': e2pdf.lang.get('Text'),
4882 'type': 'checkbox',
4883 'value': e2pdf.helper.getCheckbox(properties[field]),
4884 'option': '1'
4885 };
4886 break;
4887 case 'g_axis_min_h':
4888 obj = {
4889 'name': e2pdf.lang.get('Min'),
4890 'type': 'text',
4891 'value': e2pdf.helper.getInt(properties[field]),
4892 'atts': ['number', 'number-negative']
4893 };
4894 break;
4895 case 'g_axis_max_h':
4896 obj = {
4897 'name': e2pdf.lang.get('Max'),
4898 'type': 'text',
4899 'value': e2pdf.helper.getInt(properties[field]),
4900 'atts': ['number', 'number-negative']
4901 };
4902 break;
4903 case 'g_axis_min_max_h':
4904 obj = {
4905 'name': e2pdf.lang.get('Enable'),
4906 'type': 'checkbox',
4907 'value': e2pdf.helper.getCheckbox(properties[field]),
4908 'option': '1'
4909 };
4910 break;
4911 case 'g_axis_min_v':
4912 obj = {
4913 'name': e2pdf.lang.get('Min'),
4914 'type': 'text',
4915 'value': e2pdf.helper.getInt(properties[field]),
4916 'atts': ['number', 'number-negative']
4917 };
4918 break;
4919 case 'g_axis_max_v':
4920 obj = {
4921 'name': e2pdf.lang.get('Max'),
4922 'type': 'text',
4923 'value': e2pdf.helper.getInt(properties[field]),
4924 'atts': ['number', 'number-negative']
4925 };
4926 break;
4927 case 'g_axis_min_max_v':
4928 obj = {
4929 'name': e2pdf.lang.get('Enable'),
4930 'type': 'checkbox',
4931 'value': e2pdf.helper.getCheckbox(properties[field]),
4932 'option': '1'
4933 };
4934 break;
4935 case 'g_show_grid_subdivisions':
4936 obj = {
4937 'name': e2pdf.lang.get('Sub Divisions'),
4938 'type': 'checkbox',
4939 'value': e2pdf.helper.getCheckbox(properties[field]),
4940 'option': '1'
4941 };
4942 break;
4943 case 'g_fill_under':
4944 obj = {
4945 'name': e2pdf.lang.get('Fill Under'),
4946 'type': 'checkbox',
4947 'value': e2pdf.helper.getCheckbox(properties[field]),
4948 'option': '1'
4949 };
4950 break;
4951 case 'g_reverse':
4952 obj = {
4953 'name': e2pdf.lang.get('Reverse'),
4954 'type': 'checkbox',
4955 'value': e2pdf.helper.getCheckbox(properties[field]),
4956 'option': '1'
4957 };
4958 break;
4959 case 'g_stroke_dynamic_colour':
4960 obj = {
4961 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
4962 'type': 'checkbox',
4963 'value': e2pdf.helper.getCheckbox(properties[field]),
4964 'option': '1'
4965 };
4966 break;
4967 case 'g_sort':
4968 obj = {
4969 'name': e2pdf.lang.get('Sort'),
4970 'type': 'checkbox',
4971 'value': e2pdf.helper.getCheckbox(properties[field]),
4972 'option': '1'
4973 };
4974 break;
4975 case 'g_percentage':
4976 obj = {
4977 'name': e2pdf.lang.get('Percentage'),
4978 'type': 'checkbox',
4979 'value': e2pdf.helper.getCheckbox(properties[field]),
4980 'option': '1'
4981 };
4982 break;
4983 case 'g_legend_title':
4984 obj = {
4985 'name': e2pdf.lang.get('Title'),
4986 'type': 'text',
4987 'value': e2pdf.helper.getString(properties[field])
4988 };
4989 break;
4990 case 'g_legend_title_font_size':
4991 obj = {
4992 'name': e2pdf.lang.get('Font Size'),
4993 'type': 'select',
4994 'value': e2pdf.helper.getString(properties[field]),
4995 'options': e2pdf.helper.font.sizes(field)
4996 };
4997 break;
4998 case 'g_legend_font_size':
4999 obj = {
5000 'name': e2pdf.lang.get('Font Size'),
5001 'type': 'select',
5002 'value': e2pdf.helper.getString(properties[field]),
5003 'options': e2pdf.helper.font.sizes(field)
5004 };
5005 break;
5006 case 'g_legend_position_vertical':
5007 obj = {
5008 'name': e2pdf.lang.get('Position (V)'),
5009 'key': 'g_legend_position_vertical',
5010 'type': 'select',
5011 'value': e2pdf.helper.getString(properties[field], 'top'),
5012 'options':
5013 [
5014 {'top': e2pdf.lang.get('Top')},
5015 {'middle': e2pdf.lang.get('Middle')},
5016 {'bottom': e2pdf.lang.get('Bottom')}
5017 ]
5018 };
5019 break;
5020 case 'g_legend_position_horizontal':
5021 obj = {
5022 'name': e2pdf.lang.get('Position (H)'),
5023 'type': 'select',
5024 'value': e2pdf.helper.getString(properties[field], 'right'),
5025 'options':
5026 [
5027 {'left': e2pdf.lang.get('Left')},
5028 {'center': e2pdf.lang.get('Center')},
5029 {'right': e2pdf.lang.get('Right')}
5030 ]
5031 };
5032 break;
5033 case 'g_legend_position_join':
5034 obj = {
5035 'name': e2pdf.lang.get('Position'),
5036 'type': 'select',
5037 'value': e2pdf.helper.getString(properties[field], 'inner'),
5038 'options':
5039 [
5040 {'inner': e2pdf.lang.get('Inner')},
5041 {'outer': e2pdf.lang.get('Outer')}
5042 ]
5043 };
5044 break;
5045 case 'g_legend_position_vertical_margin':
5046 obj = {
5047 'name': e2pdf.lang.get('Margin (V)'),
5048 'type': 'text',
5049 'value': e2pdf.helper.getFloat(properties[field]),
5050 'atts': ['number', 'number-negative']
5051 };
5052 break;
5053 case 'g_legend_position_horizontal_margin':
5054 obj = {
5055 'name': e2pdf.lang.get('Margin (H)'),
5056 'type': 'text',
5057 'value': e2pdf.helper.getFloat(properties[field]),
5058 'atts': ['number', 'number-negative']
5059 };
5060 break;
5061 case 'g_legend_text_side':
5062 obj = {
5063 'name': e2pdf.lang.get('Legend Text Side'),
5064 'type': 'select',
5065 'value': e2pdf.helper.getString(properties[field], 'left'),
5066 'options':
5067 [
5068 {'left': e2pdf.lang.get('Left')},
5069 {'right': e2pdf.lang.get('Right')}
5070 ]
5071 };
5072 break;
5073 case 'g_legend_columns':
5074 obj = {
5075 'name': e2pdf.lang.get('Columns'),
5076 'type': 'text',
5077 'value': e2pdf.helper.getInt(properties[field], 1),
5078 'atts': ['number']
5079 };
5080 break;
5081 case 'g_legend_entry_width':
5082 obj = {
5083 'name': e2pdf.lang.get('Width'),
5084 'type': 'text',
5085 'value': e2pdf.helper.getInt(properties[field]),
5086 'atts': ['number']
5087 };
5088 break;
5089 case 'g_legend_entry_height':
5090 obj = {
5091 'name': e2pdf.lang.get('Height'),
5092 'type': 'text',
5093 'value': e2pdf.helper.getInt(properties[field]),
5094 'atts': ['number', 'keep']
5095 };
5096 break;
5097 case 'g_legend_padding_x':
5098 obj = {
5099 'name': e2pdf.lang.get('Padding (X)'),
5100 'type': 'text',
5101 'value': e2pdf.helper.getInt(properties[field]),
5102 'atts': ['number']
5103 };
5104 break;
5105 case 'g_legend_padding_y':
5106 obj = {
5107 'name': e2pdf.lang.get('Padding (Y)'),
5108 'type': 'text',
5109 'value': e2pdf.helper.getInt(properties[field]),
5110 'atts': ['number']
5111 };
5112 break;
5113 case 'g_legend_stroke_colour':
5114 obj = {
5115 'name': e2pdf.lang.get('Stroke Color'),
5116 'type': 'color',
5117 'value': e2pdf.helper.getString(properties[field])
5118 };
5119 break;
5120 case 'g_legend_stroke_width':
5121 obj = {
5122 'name': e2pdf.lang.get('Stroke Width'),
5123 'type': 'text',
5124 'value': e2pdf.helper.getInt(properties[field]),
5125 'atts': ['number']
5126 };
5127 break;
5128 case 'g_legend_back_colour':
5129 obj = {
5130 'name': e2pdf.lang.get('Background'),
5131 'type': 'color',
5132 'value': e2pdf.helper.getString(properties[field])
5133 };
5134 break;
5135 case 'g_legend_colour':
5136 obj = {
5137 'name': e2pdf.lang.get('Color'),
5138 'type': 'color',
5139 'value': e2pdf.helper.getString(properties[field])
5140 };
5141 break;
5142 case 'g_show_legend':
5143 obj = {
5144 'name': e2pdf.lang.get('Legend'),
5145 'type': 'checkbox',
5146 'value': e2pdf.helper.getCheckbox(properties[field]),
5147 'option': '1'
5148 };
5149 break;
5150 case 'g_bubble_scale':
5151 obj = {
5152 'name': e2pdf.lang.get('Bubble Scale'),
5153 'type': 'text',
5154 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5155 'atts': ['number']
5156 };
5157 break;
5158 case 'g_increment':
5159 obj = {
5160 'name': e2pdf.lang.get('Increment'),
5161 'type': 'text',
5162 'value': e2pdf.helper.getInt(properties[field]),
5163 'atts': ['number']
5164 };
5165 break;
5166 case 'g_stack_group':
5167 obj = {
5168 'name': e2pdf.lang.get('Stack Group'),
5169 'type': 'text',
5170 'value': e2pdf.helper.getString(properties[field])
5171 };
5172 break;
5173 case 'g_line_dataset':
5174 obj = {
5175 'name': e2pdf.lang.get('Line Dataset'),
5176 'type': 'text',
5177 'value': e2pdf.helper.getString(properties[field])
5178 };
5179 break;
5180 case 'g_project_angle':
5181 obj = {
5182 'name': e2pdf.lang.get('Project Angle'),
5183 'type': 'text',
5184 'value': e2pdf.helper.getInt(properties[field]),
5185 'atts': ['number']
5186 };
5187 break;
5188 case 'g_depth':
5189 obj = {
5190 'name': e2pdf.lang.get('Depth'),
5191 'type': 'text',
5192 'value': e2pdf.helper.getInt(properties[field]),
5193 'atts': ['number']
5194 };
5195 break;
5196 case 'g_aspect_ratio':
5197 obj = {
5198 'name': e2pdf.lang.get('Aspect Ratio'),
5199 'type': 'text',
5200 'value': e2pdf.helper.getFloat(properties[field]),
5201 'atts': ['number']
5202 };
5203 break;
5204 case 'g_line_curve':
5205 obj = {
5206 'name': e2pdf.lang.get('Line Curve'),
5207 'type': 'text',
5208 'value': e2pdf.helper.getString(properties[field])
5209 };
5210 break;
5211 case 'g_units_y':
5212 obj = {
5213 'name': e2pdf.lang.get('Units'),
5214 'type': 'text',
5215 'value': e2pdf.helper.getString(properties[field])
5216 };
5217 break;
5218 case 'g_units_x':
5219 obj = {
5220 'name': e2pdf.lang.get('Units'),
5221 'type': 'text',
5222 'value': e2pdf.helper.getString(properties[field])
5223 };
5224 break;
5225 case 'g_axis_text_position_v':
5226 obj = {
5227 'name': e2pdf.lang.get('Position'),
5228 'type': 'select',
5229 'value': e2pdf.helper.getString(properties[field], 'outside'),
5230 'options':
5231 [
5232 {'outside': e2pdf.lang.get('Outer')},
5233 {'inside': e2pdf.lang.get('Inner')}
5234 ]
5235 };
5236 break;
5237 case 'g_axis_text_position_h':
5238 obj = {
5239 'name': e2pdf.lang.get('Position'),
5240 'type': 'select',
5241 'value': e2pdf.helper.getString(properties[field], 'outside'),
5242 'options':
5243 [
5244 {'outside': e2pdf.lang.get('Outer')},
5245 {'inside': e2pdf.lang.get('Inner')}
5246 ]
5247 };
5248 break;
5249 case 'g_axis_text_align_v':
5250 obj = {
5251 'name': e2pdf.lang.get('Align'),
5252 'type': 'select',
5253 'value': e2pdf.helper.getString(properties[field], ''),
5254 'options':
5255 [
5256 {'': e2pdf.lang.get('Auto')},
5257 {'left': e2pdf.lang.get('Left')},
5258 {'centre': e2pdf.lang.get('Center')},
5259 {'right': e2pdf.lang.get('Right')}
5260 ]
5261 };
5262 break;
5263 case 'g_axis_text_align_h':
5264 obj = {
5265 'name': e2pdf.lang.get('Align'),
5266 'type': 'select',
5267 'value': e2pdf.helper.getString(properties[field], ''),
5268 'options':
5269 [
5270 {'': e2pdf.lang.get('Auto')},
5271 {'left': e2pdf.lang.get('Left')},
5272 {'centre': e2pdf.lang.get('Center')},
5273 {'right': e2pdf.lang.get('Right')}
5274 ]
5275 };
5276 break;
5277 case 'g_axis_text_space_v':
5278 obj = {
5279 'name': e2pdf.lang.get('Space'),
5280 'type': 'text',
5281 'value': e2pdf.helper.getInt(properties[field], 2),
5282 'atts': ['number', 'number-negative', 'keep']
5283 };
5284 break;
5285 case 'g_axis_text_space_h':
5286 obj = {
5287 'name': e2pdf.lang.get('Space'),
5288 'type': 'text',
5289 'value': e2pdf.helper.getInt(properties[field], 2),
5290 'atts': ['number', 'number-negative', 'keep']
5291 };
5292 break;
5293 case 'g_axis_text_offset_x_v':
5294 obj = {
5295 'name': e2pdf.lang.get('Offset (X)'),
5296 'type': 'text',
5297 'value': e2pdf.helper.getInt(properties[field]),
5298 'atts': ['number', 'number-negative']
5299 };
5300 break;
5301 case 'g_axis_text_offset_y_v':
5302 obj = {
5303 'name': e2pdf.lang.get('Offset (Y)'),
5304 'type': 'text',
5305 'value': e2pdf.helper.getInt(properties[field]),
5306 'atts': ['number', 'number-negative']
5307 };
5308 break;
5309 case 'g_axis_text_offset_x_h':
5310 obj = {
5311 'name': e2pdf.lang.get('Offset (X)'),
5312 'type': 'text',
5313 'value': e2pdf.helper.getInt(properties[field]),
5314 'atts': ['number', 'number-negative']
5315 };
5316 break;
5317 case 'g_axis_text_offset_y_h':
5318 obj = {
5319 'name': e2pdf.lang.get('Offset (Y)'),
5320 'type': 'text',
5321 'value': e2pdf.helper.getInt(properties[field]),
5322 'atts': ['number', 'number-negative']
5323 };
5324 break;
5325 case 'g_units_label':
5326 obj = {
5327 'name': e2pdf.lang.get('Units Label'),
5328 'type': 'text',
5329 'value': e2pdf.helper.getString(properties[field])
5330 };
5331 break;
5332 case 'g_reverse_data':
5333 obj = {
5334 'name': 'Reverse Data',
5335 'type': 'checkbox',
5336 'value': e2pdf.helper.getCheckbox(properties[field]),
5337 'option': '1'
5338 };
5339 break;
5340 case 'g_multiline':
5341 obj = {
5342 'name': 'Lines',
5343 'type': 'select',
5344 'value': e2pdf.helper.getString(properties[field]),
5345 'options':
5346 [
5347 {'0': 'Unsorted Data'},
5348 {'2': 'Single Array Data'},
5349 {'1': 'Multi Array Data'}
5350 ]
5351 };
5352 break;
5353 case 'g_legends':
5354 obj = {
5355 'name': e2pdf.lang.get('Legends'),
5356 'type': 'textarea',
5357 'value': e2pdf.helper.getString(properties[field])
5358 };
5359 break;
5360 case 'g_axis_text_callback_y':
5361 obj = {
5362 'name': e2pdf.lang.get('Custom Labels (Y-Axis)'),
5363 'type': 'textarea',
5364 'value': e2pdf.helper.getString(properties[field])
5365 };
5366 break;
5367 case 'g_axis_text_callback_x':
5368 obj = {
5369 'name': e2pdf.lang.get('Custom Labels (X-Axis)'),
5370 'type': 'textarea',
5371 'value': e2pdf.helper.getString(properties[field])
5372 };
5373 break;
5374 case 'g_colors':
5375 obj = {
5376 'name': e2pdf.lang.get('Colors'),
5377 'type': 'textarea',
5378 'value': e2pdf.helper.getString(properties[field])
5379 };
5380 break;
5381 case 'g_inner_radius':
5382 obj = {
5383 'name': e2pdf.lang.get('Inner Radius'),
5384 'type': 'text',
5385 'value': e2pdf.helper.getFloat(properties[field]),
5386 'atts': ['number', 'keep']
5387 };
5388 break;
5389 case 'g_start_angle':
5390 obj = {
5391 'name': e2pdf.lang.get('Start Angle'),
5392 'type': 'text',
5393 'value': e2pdf.helper.getFloat(properties[field]),
5394 'atts': ['number']
5395 };
5396 break;
5397 case 'g_grid_straight':
5398 obj = {
5399 'name': e2pdf.lang.get('Straight'),
5400 'type': 'checkbox',
5401 'value': e2pdf.helper.getCheckbox(properties[field]),
5402 'option': '1',
5403 };
5404 break;
5405 case 'g_grid_dash':
5406 obj = {
5407 'name': e2pdf.lang.get('Grid Dash'),
5408 'type': 'text',
5409 'value': e2pdf.helper.getFloat(properties[field]),
5410 'atts': ['number']
5411 };
5412 break;
5413 case 'g_grid_dash_h':
5414 obj = {
5415 'name': e2pdf.lang.get('Grid Dash (H)'),
5416 'type': 'text',
5417 'value': e2pdf.helper.getFloat(properties[field]),
5418 'atts': ['number']
5419 };
5420 break;
5421 case 'g_grid_dash_v':
5422 obj = {
5423 'name': e2pdf.lang.get('Grid Dash (V)'),
5424 'type': 'text',
5425 'value': e2pdf.helper.getFloat(properties[field]),
5426 'atts': ['number']
5427 };
5428 break;
5429 case 'g_fill_opacity':
5430 obj = {
5431 'name': e2pdf.lang.get('Fill Opacity'),
5432 'type': 'text',
5433 'value': e2pdf.helper.getFloat(properties[field]),
5434 'atts': ['number', 'keep']
5435 };
5436 break;
5437 case 'g_axis_font_weight_h':
5438 obj = {
5439 'name': e2pdf.lang.get('Bold'),
5440 'type': 'checkbox',
5441 'value': e2pdf.helper.getCheckbox(properties[field]),
5442 'option': '1'
5443 };
5444 break;
5445 case 'g_axis_font_weight_v':
5446 obj = {
5447 'name': e2pdf.lang.get('Bold'),
5448 'type': 'checkbox',
5449 'value': e2pdf.helper.getCheckbox(properties[field]),
5450 'option': '1'
5451 };
5452 break;
5453 }
5454 if (!obj.hasOwnProperty('key')) {
5455 obj['key'] = field;
5456 }
5457 if (!obj.hasOwnProperty('atts')) {
5458 obj['atts'] = [];
5459 }
5460 return obj;
5461 },
5462 // e2pdf.properties.getFields
5463 getFields: function (el, actions) {
5464
5465 if (el.data('data-type') === 'e2pdf-tpl') {
5466 var obj = {};
5467 } else if (el.data('data-type') === 'e2pdf-page') {
5468 var obj = {
5469 'page_id': {
5470 'name': '',
5471 'fields': [
5472 e2pdf.properties.getField('page_id', el),
5473 e2pdf.properties.getField('element_type', el)
5474 ],
5475 'position': 'top',
5476 'classes': [
5477 'e2pdf-w50 e2pdf-pr10',
5478 'e2pdf-w50 e2pdf-pl10'
5479 ]
5480 },
5481 'size': {
5482 'name': e2pdf.lang.get('Size'),
5483 'fields': [
5484 e2pdf.properties.getField('width', el),
5485 e2pdf.properties.getField('height', el),
5486 e2pdf.properties.getField('preset', el)
5487 ],
5488 'position': 'top',
5489 'classes': [
5490 'e2pdf-w50 e2pdf-pr10',
5491 'e2pdf-w50 e2pdf-pl10',
5492 'e2pdf-w100'
5493 ]
5494 }
5495 };
5496 } else {
5497 var obj = {
5498 'element': {
5499 'name': e2pdf.lang.get('Element'),
5500 'fields': [
5501 e2pdf.properties.getField('element_id', el),
5502 e2pdf.properties.getField('page_id', el),
5503 e2pdf.properties.getField('element_type', el),
5504 e2pdf.properties.getField('left', el),
5505 e2pdf.properties.getField('top', el),
5506 e2pdf.properties.getField('width', el),
5507 e2pdf.properties.getField('height', el)
5508 ],
5509 'position': 'top',
5510 'classes': [
5511 'e2pdf-w25',
5512 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5513 'e2pdf-w50 e2pdf-pl10',
5514 'e2pdf-w25',
5515 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5516 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5517 'e2pdf-w25'
5518 ]
5519 }
5520 };
5521 if (el.data('data-type') === 'e2pdf-input') {
5522
5523 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5524 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5525 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5526 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5527 obj['field'] = {
5528 'name': e2pdf.lang.get('Field'),
5529 'fields': [
5530 e2pdf.properties.getField('text_color', el),
5531 e2pdf.properties.getField('text_font', el),
5532 e2pdf.properties.getField('text_font_size', el),
5533 e2pdf.properties.getField('text_letter_spacing', el),
5534 e2pdf.properties.getField('text_auto_font_size', el),
5535 e2pdf.properties.getField('text_align', el),
5536 e2pdf.properties.getField('rotation', el),
5537 e2pdf.properties.getField('length', el),
5538 e2pdf.properties.getField('rtl', el),
5539 e2pdf.properties.getField('comb', el),
5540 e2pdf.properties.getField('required', el),
5541 e2pdf.properties.getField('readonly', el),
5542 e2pdf.properties.getField('pass', el)
5543 ],
5544 'position': 'left',
5545 'classes': [
5546 'e2pdf-w100',
5547 'e2pdf-w100',
5548 'e2pdf-w50',
5549 'e2pdf-w50 e2pdf-pl10',
5550 'e2pdf-w100',
5551 'e2pdf-w50',
5552 'e2pdf-w50 e2pdf-pl10',
5553 'e2pdf-w70',
5554 'e2pdf-w30 e2pdf-pl10',
5555 'e2pdf-pr10',
5556 'e2pdf-pr10',
5557 'e2pdf-pr10',
5558 'e2pdf-pr10'
5559 ]
5560 };
5561 obj['style'] = {
5562 'name': e2pdf.lang.get('Style'),
5563 'fields': [
5564 e2pdf.properties.getField('background', el),
5565 e2pdf.properties.getField('border_color', el),
5566 e2pdf.properties.getField('border', el),
5567 e2pdf.properties.getField('z_index', el)
5568 ],
5569 'position': 'right',
5570 'classes': [
5571 'e2pdf-w100',
5572 'e2pdf-w70',
5573 'e2pdf-w30 e2pdf-pl10',
5574 'e2pdf-w100'
5575 ]
5576 };
5577 obj['value'] = {
5578 'name': e2pdf.lang.get('Value'),
5579 'fields': [
5580 e2pdf.properties.getField('value', el),
5581 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5582 e2pdf.properties.getField('preg_pattern', el),
5583 e2pdf.properties.getField('preg_replacement', el),
5584 e2pdf.properties.getField('preg_match_all_pattern', el),
5585 e2pdf.properties.getField('preg_match_all_output', el)
5586 ],
5587 'position': 'bottom',
5588 'classes': [
5589 'e2pdf-w100 e2pdf-hide-label',
5590 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5591 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5592 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5593 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5594 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5595 ]
5596 };
5597 }
5598
5599 if (el.data('data-type') === 'e2pdf-textarea') {
5600
5601 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5602 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5603 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5604 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5605 obj['field'] = {
5606 'name': e2pdf.lang.get('Field'),
5607 'fields': [
5608 e2pdf.properties.getField('text_color', el),
5609 e2pdf.properties.getField('text_font', el),
5610 e2pdf.properties.getField('text_font_size', el),
5611 e2pdf.properties.getField('text_letter_spacing', el),
5612 e2pdf.properties.getField('text_auto_font_size', el),
5613 e2pdf.properties.getField('text_line_height', el),
5614 e2pdf.properties.getField('text_align', el),
5615 e2pdf.properties.getField('rotation', el),
5616 e2pdf.properties.getField('length', el),
5617 e2pdf.properties.getField('rtl', el),
5618 e2pdf.properties.getField('comb', el),
5619 e2pdf.properties.getField('required', el),
5620 e2pdf.properties.getField('readonly', el),
5621 e2pdf.properties.getField('pass', el)
5622 ],
5623 'position': 'left',
5624 'classes': [
5625 'e2pdf-w100',
5626 'e2pdf-w100',
5627 'e2pdf-w50',
5628 'e2pdf-w50 e2pdf-pl10',
5629 'e2pdf-w100',
5630 'e2pdf-w100',
5631 'e2pdf-w50',
5632 'e2pdf-w50 e2pdf-pl10',
5633 'e2pdf-w70',
5634 'e2pdf-w30 e2pdf-pl10',
5635 'e2pdf-pr10',
5636 'e2pdf-pr10',
5637 'e2pdf-pr10',
5638 'e2pdf-pr10'
5639 ]
5640 };
5641 obj['style'] = {
5642 'name': e2pdf.lang.get('Style'),
5643 'fields': [
5644 e2pdf.properties.getField('background', el),
5645 e2pdf.properties.getField('border_color', el),
5646 e2pdf.properties.getField('border', el),
5647 e2pdf.properties.getField('z_index', el)
5648 ],
5649 'position': 'right',
5650 'classes': [
5651 'e2pdf-w100',
5652 'e2pdf-w70',
5653 'e2pdf-w30 e2pdf-pl10',
5654 'e2pdf-w100'
5655 ]
5656 };
5657 obj['value'] = {
5658 'name': e2pdf.lang.get('Value'),
5659 'fields': [
5660 e2pdf.properties.getField('value', el),
5661 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5662 e2pdf.properties.getField('preg_pattern', el),
5663 e2pdf.properties.getField('preg_replacement', el),
5664 e2pdf.properties.getField('preg_match_all_pattern', el),
5665 e2pdf.properties.getField('preg_match_all_output', el)
5666 ],
5667 'position': 'bottom',
5668 'classes': [
5669 'e2pdf-w100 e2pdf-hide-label',
5670 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5671 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5672 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5673 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5674 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5675 ]
5676 };
5677 }
5678
5679 if (el.data('data-type') === 'e2pdf-checkbox') {
5680
5681 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5682 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5683 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5684 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5685 obj['field'] = {
5686 'name': e2pdf.lang.get('Field'),
5687 'fields': [
5688 e2pdf.properties.getField('text_color', el),
5689 e2pdf.properties.getField('text_type', el),
5690 e2pdf.properties.getField('rotation', el),
5691 e2pdf.properties.getField('rtl', el),
5692 e2pdf.properties.getField('required', el),
5693 e2pdf.properties.getField('readonly', el)
5694 ],
5695 'position': 'left',
5696 'classes': [
5697 'e2pdf-w100',
5698 'e2pdf-w100',
5699 'e2pdf-w70',
5700 'e2pdf-w30 e2pdf-pl10',
5701 'e2pdf-pr10',
5702 'e2pdf-pr10'
5703 ]
5704 };
5705 obj['style'] = {
5706 'name': e2pdf.lang.get('Style'),
5707 'fields': [
5708 e2pdf.properties.getField('background', el),
5709 e2pdf.properties.getField('border_color', el),
5710 e2pdf.properties.getField('border', el),
5711 e2pdf.properties.getField('z_index', el)
5712 ],
5713 'position': 'right',
5714 'classes': [
5715 'e2pdf-w100',
5716 'e2pdf-w70',
5717 'e2pdf-w30 e2pdf-pl10',
5718 'e2pdf-w100'
5719 ]
5720 };
5721 obj['value'] = {
5722 'name': '',
5723 'fields': [
5724 e2pdf.properties.getField('option', el),
5725 e2pdf.properties.getField('value', el),
5726 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5727 e2pdf.properties.getField('preg_pattern', el),
5728 e2pdf.properties.getField('preg_replacement', el),
5729 e2pdf.properties.getField('preg_match_all_pattern', el),
5730 e2pdf.properties.getField('preg_match_all_output', el)
5731 ],
5732 'position': 'bottom',
5733 'classes': [
5734 'e2pdf-w100 e2pdf-strong-label',
5735 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5736 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5737 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5738 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5739 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5740 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5741 ]
5742 };
5743 }
5744
5745 if (el.data('data-type') === 'e2pdf-radio') {
5746
5747 obj['field'] = {
5748 'name': e2pdf.lang.get('Field'),
5749 'fields': [
5750 e2pdf.properties.getField('text_color', el),
5751 e2pdf.properties.getField('text_type', el),
5752 e2pdf.properties.getField('rotation', el),
5753 e2pdf.properties.getField('rtl', el),
5754 e2pdf.properties.getField('required', el),
5755 e2pdf.properties.getField('readonly', el)
5756 ],
5757 'position': 'left',
5758 'classes': [
5759 'e2pdf-w100',
5760 'e2pdf-w100',
5761 'e2pdf-w70',
5762 'e2pdf-w30 e2pdf-pl10',
5763 'e2pdf-pr10',
5764 'e2pdf-pr10',
5765 'e2pdf-pr10'
5766 ]
5767 };
5768 obj['style'] = {
5769 'name': e2pdf.lang.get('Style'),
5770 'fields': [
5771 e2pdf.properties.getField('background', el),
5772 e2pdf.properties.getField('border_color', el),
5773 e2pdf.properties.getField('border', el),
5774 e2pdf.properties.getField('z_index', el)
5775 ],
5776 'position': 'right',
5777 'classes': [
5778 'e2pdf-w100',
5779 'e2pdf-w70',
5780 'e2pdf-w30 e2pdf-pl10',
5781 'e2pdf-w100'
5782 ]
5783 };
5784 obj['value'] = {
5785 'name': '',
5786 'fields': [
5787 e2pdf.properties.getField('group', el),
5788 e2pdf.properties.getField('field_name', el),
5789 e2pdf.properties.getField('option', el),
5790 e2pdf.properties.getField('value', el),
5791 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5792 e2pdf.properties.getField('preg_pattern', el),
5793 e2pdf.properties.getField('preg_replacement', el),
5794 e2pdf.properties.getField('preg_match_all_pattern', el),
5795 e2pdf.properties.getField('preg_match_all_output', el)
5796 ],
5797 'position': 'bottom',
5798 'classes': [
5799 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5800 'e2pdf-w25 e2pdf-mt-label',
5801 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5802 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5803 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5804 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5805 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5806 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5807 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5808 ]
5809 };
5810 }
5811
5812 if (el.data('data-type') === 'e2pdf-select') {
5813
5814 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5815 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5816 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5817 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5818 obj['field'] = {
5819 'name': e2pdf.lang.get('Field'),
5820 'fields': [
5821 e2pdf.properties.getField('text_color', el),
5822 e2pdf.properties.getField('text_font', el),
5823 e2pdf.properties.getField('text_font_size', el),
5824 e2pdf.properties.getField('text_letter_spacing', el),
5825 e2pdf.properties.getField('text_auto_font_size', el),
5826 e2pdf.properties.getField('rotation', el),
5827 e2pdf.properties.getField('rtl', el),
5828 e2pdf.properties.getField('multiline', el),
5829 e2pdf.properties.getField('required', el),
5830 e2pdf.properties.getField('readonly', el)
5831 ],
5832 'position': 'left',
5833 'classes': [
5834 'e2pdf-w100',
5835 'e2pdf-w100',
5836 'e2pdf-w50',
5837 'e2pdf-w50 e2pdf-pl10',
5838 'e2pdf-w100',
5839 'e2pdf-w70',
5840 'e2pdf-w30 e2pdf-pl10',
5841 'e2pdf-pr10',
5842 'e2pdf-pr10',
5843 'e2pdf-pr10'
5844 ]
5845 };
5846 obj['style'] = {
5847 'name': e2pdf.lang.get('Style'),
5848 'fields': [
5849 e2pdf.properties.getField('background', el),
5850 e2pdf.properties.getField('border_color', el),
5851 e2pdf.properties.getField('border', el),
5852 e2pdf.properties.getField('z_index', el)
5853 ],
5854 'position': 'right',
5855 'classes': [
5856 'e2pdf-w100',
5857 'e2pdf-w70',
5858 'e2pdf-w30 e2pdf-pl10',
5859 'e2pdf-w100'
5860 ]
5861 };
5862 obj['value'] = {
5863 'name': '',
5864 'fields': [
5865 e2pdf.properties.getField('options', el),
5866 e2pdf.properties.getField('value', el),
5867 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5868 e2pdf.properties.getField('preg_pattern', el),
5869 e2pdf.properties.getField('preg_replacement', el),
5870 e2pdf.properties.getField('preg_match_all_pattern', el),
5871 e2pdf.properties.getField('preg_match_all_output', el)
5872 ],
5873 'position': 'bottom',
5874 'classes': [
5875 'e2pdf-w100 e2pdf-strong-label',
5876 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5877 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5878 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5879 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5880 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5881 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5882 ]
5883 };
5884 }
5885
5886 if (el.data('data-type') === 'e2pdf-signature') {
5887
5888 obj['element'].fields.push(e2pdf.properties.getField('name', el));
5889 obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5890 obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5891 obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5892 obj['field'] = {
5893 'name': e2pdf.lang.get('Field'),
5894 'fields': [
5895 e2pdf.properties.getField('text_color', el),
5896 e2pdf.properties.getField('text_font', el),
5897 e2pdf.properties.getField('text_font_size', el),
5898 e2pdf.properties.getField('placeholder', el),
5899 e2pdf.properties.getField('esig', el),
5900 e2pdf.properties.getField('required', el),
5901 e2pdf.properties.getField('horizontal', el),
5902 e2pdf.properties.getField('vertical', el),
5903 e2pdf.properties.getField('rotation', el),
5904 e2pdf.properties.getField('opacity', el),
5905 e2pdf.properties.getField('dimension', el),
5906 e2pdf.properties.getField('block_dimension', el),
5907 e2pdf.properties.getField('keep_lower_size', el),
5908 e2pdf.properties.getField('fill_image', el)
5909 ],
5910 'position': 'left',
5911 'classes': [
5912 'e2pdf-w100',
5913 'e2pdf-w60 e2pdf-pr10',
5914 'e2pdf-w40',
5915 'e2pdf-w100',
5916 'e2pdf-w50',
5917 'e2pdf-w50 e2pdf-pl10',
5918 'e2pdf-w50',
5919 'e2pdf-w50 e2pdf-pl10',
5920 'e2pdf-w50',
5921 'e2pdf-w50 e2pdf-pl10',
5922 'e2pdf-w50',
5923 'e2pdf-w50 e2pdf-pl10',
5924 'e2pdf-w50',
5925 'e2pdf-w50 e2pdf-pl10'
5926 ]
5927 };
5928 obj['style'] = {
5929 'name': e2pdf.lang.get('Style'),
5930 'fields': [
5931 e2pdf.properties.getField('background', el),
5932 e2pdf.properties.getField('padding_top', el),
5933 e2pdf.properties.getField('padding_left', el),
5934 e2pdf.properties.getField('padding_right', el),
5935 e2pdf.properties.getField('padding_bottom', el),
5936 e2pdf.properties.getField('border_color', el),
5937 e2pdf.properties.getField('border_radius', el),
5938 e2pdf.properties.getField('border_top', el),
5939 e2pdf.properties.getField('border_left', el),
5940 e2pdf.properties.getField('border_right', el),
5941 e2pdf.properties.getField('border_bottom', el),
5942 e2pdf.properties.getField('z_index', el)
5943 ],
5944 'position': 'right',
5945 'classes': [
5946 'e2pdf-w100',
5947 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5948 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5949 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5950 'e2pdf-w25 e2pdf-fnl',
5951 'e2pdf-w100',
5952 'e2pdf-w100',
5953 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5954 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5955 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5956 'e2pdf-w25 e2pdf-fnl',
5957 'e2pdf-w100'
5958 ]
5959 };
5960 obj['value'] = {
5961 'name': e2pdf.lang.get('Value'),
5962 'fields': [
5963 e2pdf.properties.getField('value', el),
5964 e2pdf.properties.getField('only_image', el),
5965 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5966 e2pdf.properties.getField('preg_pattern', el),
5967 e2pdf.properties.getField('preg_replacement', el),
5968 e2pdf.properties.getField('preg_match_all_pattern', el),
5969 e2pdf.properties.getField('preg_match_all_output', el)
5970 ],
5971 'position': 'bottom',
5972 'classes': [
5973 'e2pdf-w100 e2pdf-hide-label',
5974 'e2pdf-w50 e2pdf-pr10',
5975 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5976 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5977 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5978 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5979 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5980 ]
5981 };
5982 }
5983
5984 if (el.data('data-type') === 'e2pdf-html') {
5985 obj['field'] = {
5986 'name': e2pdf.lang.get('Field'),
5987 'fields': [
5988 e2pdf.properties.getField('text_color', el),
5989 e2pdf.properties.getField('text_font', el),
5990 e2pdf.properties.getField('text_font_size', el),
5991 e2pdf.properties.getField('text_letter_spacing', el),
5992 e2pdf.properties.getField('text_line_height', el),
5993 e2pdf.properties.getField('text_align', el),
5994 e2pdf.properties.getField('rotation', el),
5995 e2pdf.properties.getField('vertical', el),
5996 e2pdf.properties.getField('rtl', el),
5997 e2pdf.properties.getField('multipage', el),
5998 e2pdf.properties.getField('nl2br', el),
5999 e2pdf.properties.getField('preload_img', el),
6000 e2pdf.properties.getField('hide_if_empty', el),
6001 e2pdf.properties.getField('hide_page_if_empty', el)
6002 ],
6003 'position': 'left',
6004 'classes': [
6005 'e2pdf-w100',
6006 'e2pdf-w100',
6007 'e2pdf-w50',
6008 'e2pdf-w50 e2pdf-pl10',
6009 'e2pdf-w100',
6010 'e2pdf-w50',
6011 'e2pdf-w50 e2pdf-pl10',
6012 'e2pdf-w70',
6013 'e2pdf-w30 e2pdf-pl10',
6014 'e2pdf-pr10',
6015 'e2pdf-pr10',
6016 'e2pdf-pr10',
6017 'e2pdf-pr10',
6018 'e2pdf-pr10'
6019 ]
6020 };
6021 if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6022 obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6023 obj['field'].classes.push('e2pdf-pr10');
6024 }
6025
6026 obj['style'] = {
6027 'name': e2pdf.lang.get('Style'),
6028 'fields': [
6029 e2pdf.properties.getField('background', el),
6030 e2pdf.properties.getField('padding_top', el),
6031 e2pdf.properties.getField('padding_left', el),
6032 e2pdf.properties.getField('padding_right', el),
6033 e2pdf.properties.getField('padding_bottom', el),
6034 e2pdf.properties.getField('border_color', el),
6035 e2pdf.properties.getField('border_top', el),
6036 e2pdf.properties.getField('border_left', el),
6037 e2pdf.properties.getField('border_right', el),
6038 e2pdf.properties.getField('border_bottom', el),
6039 e2pdf.properties.getField('z_index', el)
6040 ],
6041 'position': 'right',
6042 'classes': [
6043 'e2pdf-w100',
6044 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6045 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6046 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6047 'e2pdf-w25 e2pdf-fnl',
6048 'e2pdf-w100',
6049 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6050 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6051 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6052 'e2pdf-w25 e2pdf-fnl',
6053 'e2pdf-w100'
6054 ]
6055 };
6056 obj['value'] = {
6057 'name': '',
6058 'fields': [
6059 e2pdf.properties.getField('parent', el),
6060 e2pdf.properties.getField('css', el),
6061 e2pdf.properties.getField('css_priority', el),
6062 e2pdf.properties.getField('value', el),
6063 e2pdf.properties.getField('html_worker', el),
6064 e2pdf.properties.getField('wysiwyg_disable', el),
6065 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6066 e2pdf.properties.getField('preg_pattern', el),
6067 e2pdf.properties.getField('preg_replacement', el),
6068 e2pdf.properties.getField('preg_match_all_pattern', el),
6069 e2pdf.properties.getField('preg_match_all_output', el)
6070 ],
6071 'position': 'bottom',
6072 'classes': [
6073 'e2pdf-w100 e2pdf-strong-label',
6074 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6075 'e2pdf-w20 e2pdf-pr10',
6076 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6077 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6078 'e2pdf-w50 e2pdf-pr10',
6079 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6080 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6081 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6082 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6083 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6084 ]
6085 };
6086 }
6087
6088 if (el.data('data-type') === 'e2pdf-page-number') {
6089 obj['field'] = {
6090 'name': e2pdf.lang.get('Field'),
6091 'fields': [
6092 e2pdf.properties.getField('text_color', el),
6093 e2pdf.properties.getField('text_font', el),
6094 e2pdf.properties.getField('text_font_size', el),
6095 e2pdf.properties.getField('text_letter_spacing', el),
6096 e2pdf.properties.getField('text_line_height', el),
6097 e2pdf.properties.getField('text_align', el),
6098 e2pdf.properties.getField('rotation', el),
6099 e2pdf.properties.getField('vertical', el),
6100 e2pdf.properties.getField('rtl', el)
6101 ],
6102 'position': 'left',
6103 'classes': [
6104 'e2pdf-w100',
6105 'e2pdf-w100',
6106 'e2pdf-w50',
6107 'e2pdf-w50 e2pdf-pl10',
6108 'e2pdf-w100',
6109 'e2pdf-w50',
6110 'e2pdf-w50 e2pdf-pl10',
6111 'e2pdf-w70',
6112 'e2pdf-w30 e2pdf-pl10'
6113 ]
6114 };
6115 obj['page_number'] = {
6116 'name': e2pdf.lang.get('Page Number'),
6117 'fields': [
6118 e2pdf.properties.getField('page_number', el),
6119 e2pdf.properties.getField('page_total', el),
6120 ],
6121 'position': 'left',
6122 'classes': [
6123 'e2pdf-w50',
6124 'e2pdf-w50 e2pdf-pl10',
6125 ]
6126 };
6127 obj['style'] = {
6128 'name': e2pdf.lang.get('Style'),
6129 'fields': [
6130 e2pdf.properties.getField('background', el),
6131 e2pdf.properties.getField('padding_top', el),
6132 e2pdf.properties.getField('padding_left', el),
6133 e2pdf.properties.getField('padding_right', el),
6134 e2pdf.properties.getField('padding_bottom', el),
6135 e2pdf.properties.getField('border_color', el),
6136 e2pdf.properties.getField('border_top', el),
6137 e2pdf.properties.getField('border_left', el),
6138 e2pdf.properties.getField('border_right', el),
6139 e2pdf.properties.getField('border_bottom', el)
6140 ],
6141 'position': 'right',
6142 'classes': [
6143 'e2pdf-w100',
6144 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6145 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6146 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6147 'e2pdf-w25 e2pdf-fnl',
6148 'e2pdf-w100',
6149 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6150 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6151 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6152 'e2pdf-w25 e2pdf-fnl'
6153 ]
6154 };
6155 obj['value'] = {
6156 'name': '',
6157 'fields': [
6158 e2pdf.properties.getField('css', el),
6159 e2pdf.properties.getField('value', el),
6160 e2pdf.properties.getField('html_worker', el)
6161 ],
6162 'position': 'bottom',
6163 'classes': [
6164 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6165 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6166 'e2pdf-w30 e2pdf-pr10'
6167 ]
6168 };
6169 }
6170
6171 if (el.data('data-type') === 'e2pdf-image') {
6172
6173 obj['field'] = {
6174 'name': e2pdf.lang.get('Field'),
6175 'fields': [
6176 e2pdf.properties.getField('text_color', el),
6177 e2pdf.properties.getField('text_font', el),
6178 e2pdf.properties.getField('text_font_size', el),
6179 e2pdf.properties.getField('horizontal', el),
6180 e2pdf.properties.getField('vertical', el),
6181 e2pdf.properties.getField('rotation', el),
6182 e2pdf.properties.getField('opacity', el),
6183 e2pdf.properties.getField('quality', el),
6184 e2pdf.properties.getField('dimension', el),
6185 e2pdf.properties.getField('block_dimension', el),
6186 e2pdf.properties.getField('keep_lower_size', el),
6187 e2pdf.properties.getField('fill_image', el),
6188 e2pdf.properties.getField('hide_page_if_empty', el)
6189 ],
6190 'position': 'left',
6191 'classes': [
6192 'e2pdf-w100',
6193 'e2pdf-w60 e2pdf-pr10',
6194 'e2pdf-w40',
6195 'e2pdf-w50',
6196 'e2pdf-w50 e2pdf-pl10',
6197 'e2pdf-w50',
6198 'e2pdf-w50 e2pdf-pl10',
6199 'e2pdf-w100',
6200 'e2pdf-pr10',
6201 'e2pdf-pr10',
6202 'e2pdf-pr10',
6203 'e2pdf-pr10',
6204 'e2pdf-pr10'
6205 ]
6206 };
6207 obj['pdf'] = {
6208 'name': 'Pdf',
6209 'fields': [
6210 e2pdf.properties.getField('pdf_page', el),
6211 e2pdf.properties.getField('pdf_resample', el),
6212 e2pdf.properties.getField('pdf_append', el),
6213 e2pdf.properties.getField('pdf_space', el),
6214 e2pdf.properties.getField('pdf_border', el)
6215 ],
6216 'position': 'left',
6217 'classes': [
6218 'e2pdf-w50',
6219 'e2pdf-w50 e2pdf-pl10',
6220 'e2pdf-w100',
6221 'e2pdf-w50',
6222 'e2pdf-w50 e2pdf-pl10'
6223 ]
6224 };
6225 obj['style'] = {
6226 'name': e2pdf.lang.get('Style'),
6227 'fields': [
6228 e2pdf.properties.getField('background', el),
6229 e2pdf.properties.getField('padding_top', el),
6230 e2pdf.properties.getField('padding_left', el),
6231 e2pdf.properties.getField('padding_right', el),
6232 e2pdf.properties.getField('padding_bottom', el),
6233 e2pdf.properties.getField('border_color', el),
6234 e2pdf.properties.getField('border_radius', el),
6235 e2pdf.properties.getField('border_top', el),
6236 e2pdf.properties.getField('border_left', el),
6237 e2pdf.properties.getField('border_right', el),
6238 e2pdf.properties.getField('border_bottom', el),
6239 e2pdf.properties.getField('z_index', el)
6240 ],
6241 'position': 'right',
6242 'classes': [
6243 'e2pdf-w100',
6244 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6245 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6246 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6247 'e2pdf-w25 e2pdf-fnl',
6248 'e2pdf-w100',
6249 'e2pdf-w100',
6250 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6251 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6252 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6253 'e2pdf-w25 e2pdf-fnl',
6254 'e2pdf-w100'
6255 ]
6256 };
6257 obj['value'] = {
6258 'name': '',
6259 'fields': [
6260 e2pdf.properties.getField('link_url', el),
6261 e2pdf.properties.getField('link_type', el),
6262 e2pdf.properties.getField('highlight', el),
6263 e2pdf.properties.getField('value', el),
6264 e2pdf.properties.getField('only_image', el),
6265 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6266 e2pdf.properties.getField('preg_pattern', el),
6267 e2pdf.properties.getField('preg_replacement', el),
6268 e2pdf.properties.getField('preg_match_all_pattern', el),
6269 e2pdf.properties.getField('preg_match_all_output', el)
6270 ],
6271 'position': 'bottom',
6272 'classes': [
6273 'e2pdf-w50 e2pdf-pr10',
6274 'e2pdf-w25 e2pdf-pr10',
6275 'e2pdf-w25',
6276 'e2pdf-w100',
6277 'e2pdf-w50 e2pdf-pr10',
6278 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6279 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6280 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6281 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6282 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6283 ]
6284 };
6285 }
6286
6287 if (el.data('data-type') === 'e2pdf-qrcode') {
6288
6289 obj['qrcode'] = {
6290 'name': e2pdf.lang.get('QR Code'),
6291 'fields': [
6292 e2pdf.properties.getField('color', el),
6293 e2pdf.properties.getField('precision', el),
6294 e2pdf.properties.getField('wq', el)
6295 ],
6296 'position': 'left',
6297 'classes': [
6298 'e2pdf-w100',
6299 'e2pdf-w50',
6300 'e2pdf-w50 e2pdf-pl10'
6301 ]
6302 };
6303 obj['style'] = {
6304 'name': e2pdf.lang.get('Style'),
6305 'fields': [
6306 e2pdf.properties.getField('background', el),
6307 e2pdf.properties.getField('margin_top', el),
6308 e2pdf.properties.getField('margin_left', el),
6309 e2pdf.properties.getField('margin_right', el),
6310 e2pdf.properties.getField('margin_bottom', el),
6311 e2pdf.properties.getField('padding_top', el),
6312 e2pdf.properties.getField('padding_left', el),
6313 e2pdf.properties.getField('padding_right', el),
6314 e2pdf.properties.getField('padding_bottom', el),
6315 e2pdf.properties.getField('border_color', el),
6316 e2pdf.properties.getField('border_top', el),
6317 e2pdf.properties.getField('border_left', el),
6318 e2pdf.properties.getField('border_right', el),
6319 e2pdf.properties.getField('border_bottom', el),
6320 e2pdf.properties.getField('z_index', el)
6321 ],
6322 'position': 'right',
6323 'classes': [
6324 'e2pdf-w100',
6325 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6326 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6327 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6328 'e2pdf-w25 e2pdf-fnl',
6329 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6330 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6331 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6332 'e2pdf-w25 e2pdf-fnl',
6333 'e2pdf-w100',
6334 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6335 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6336 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6337 'e2pdf-w25 e2pdf-fnl',
6338 'e2pdf-w100'
6339 ]
6340 };
6341 obj['value'] = {
6342 'name': e2pdf.lang.get('Value'),
6343 'fields': [
6344 e2pdf.properties.getField('value', el),
6345 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6346 e2pdf.properties.getField('preg_pattern', el),
6347 e2pdf.properties.getField('preg_replacement', el),
6348 e2pdf.properties.getField('preg_match_all_pattern', el),
6349 e2pdf.properties.getField('preg_match_all_output', el)
6350 ],
6351 'position': 'bottom',
6352 'classes': [
6353 'e2pdf-w100 e2pdf-hide-label',
6354 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6355 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6356 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6357 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6358 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6359 ]
6360 };
6361 }
6362
6363 if (el.data('data-type') === 'e2pdf-barcode') {
6364 obj['barcode'] = {
6365 'name': e2pdf.lang.get('Barcode'),
6366 'fields': [
6367 e2pdf.properties.getField('text_color', el),
6368 e2pdf.properties.getField('text_font', el),
6369 e2pdf.properties.getField('text_font_size', el),
6370 e2pdf.properties.getField('text_line_height', el),
6371 e2pdf.properties.getField('color', el),
6372 e2pdf.properties.getField('format', el),
6373 e2pdf.properties.getField('wq', el),
6374 e2pdf.properties.getField('horizontal', el),
6375 e2pdf.properties.getField('vertical', el),
6376 e2pdf.properties.getField('scale', el),
6377 e2pdf.properties.getField('rotation', el),
6378 e2pdf.properties.getField('dimension', el),
6379 e2pdf.properties.getField('hl', el)
6380 ],
6381 'position': 'left',
6382 'classes': [
6383 'e2pdf-w100',
6384 'e2pdf-w60 e2pdf-pr10',
6385 'e2pdf-w40',
6386 'e2pdf-w100',
6387 'e2pdf-w100',
6388 'e2pdf-w50',
6389 'e2pdf-w50 e2pdf-pl10',
6390 'e2pdf-w50',
6391 'e2pdf-w50 e2pdf-pl10',
6392 'e2pdf-w50',
6393 'e2pdf-w50 e2pdf-pl10',
6394 'e2pdf-pr10',
6395 'e2pdf-pr10'
6396 ]
6397 };
6398 obj['style'] = {
6399 'name': e2pdf.lang.get('Style'),
6400 'fields': [
6401 e2pdf.properties.getField('background', el),
6402 e2pdf.properties.getField('margin_top', el),
6403 e2pdf.properties.getField('margin_left', el),
6404 e2pdf.properties.getField('margin_right', el),
6405 e2pdf.properties.getField('margin_bottom', el),
6406 e2pdf.properties.getField('padding_top', el),
6407 e2pdf.properties.getField('padding_left', el),
6408 e2pdf.properties.getField('padding_right', el),
6409 e2pdf.properties.getField('padding_bottom', el),
6410 e2pdf.properties.getField('border_color', el),
6411 e2pdf.properties.getField('border_top', el),
6412 e2pdf.properties.getField('border_left', el),
6413 e2pdf.properties.getField('border_right', el),
6414 e2pdf.properties.getField('border_bottom', el),
6415 e2pdf.properties.getField('z_index', el)
6416 ],
6417 'position': 'right',
6418 'classes': [
6419 'e2pdf-w100',
6420 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6421 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6422 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6423 'e2pdf-w25 e2pdf-fnl',
6424 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6425 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6426 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6427 'e2pdf-w25 e2pdf-fnl',
6428 'e2pdf-w100',
6429 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6430 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6431 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6432 'e2pdf-w25 e2pdf-fnl',
6433 'e2pdf-w100'
6434 ]
6435 };
6436 obj['value'] = {
6437 'name': e2pdf.lang.get('Value'),
6438 'fields': [
6439 e2pdf.properties.getField('value', el),
6440 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6441 e2pdf.properties.getField('preg_pattern', el),
6442 e2pdf.properties.getField('preg_replacement', el),
6443 e2pdf.properties.getField('preg_match_all_pattern', el),
6444 e2pdf.properties.getField('preg_match_all_output', el)
6445 ],
6446 'position': 'bottom',
6447 'classes': [
6448 'e2pdf-w100 e2pdf-hide-label',
6449 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6450 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6451 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6452 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6453 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6454 ]
6455 };
6456 }
6457
6458 if (el.data('data-type') === 'e2pdf-graph') {
6459 obj['graph'] = {
6460 'name': e2pdf.lang.get('Graph'),
6461 'fields': [
6462 e2pdf.properties.getField('g_type', el),
6463 e2pdf.properties.getField('text_font', el),
6464 e2pdf.properties.getField('g_palette', el),
6465 e2pdf.properties.getField('g_stroke_colour', el),
6466 e2pdf.properties.getField('g_stroke_width', el),
6467 e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6468 e2pdf.properties.getField('g_sort', el),
6469 e2pdf.properties.getField('g_fill_under', el),
6470 e2pdf.properties.getField('g_reverse', el),
6471 e2pdf.properties.getField('g_percentage', el),
6472 ],
6473 'position': 'left',
6474 'classes': [
6475 'e2pdf-w100',
6476 'e2pdf-w100',
6477 'e2pdf-w100',
6478 'e2pdf-w70 e2pdf-pr10',
6479 'e2pdf-w30',
6480 'e2pdf-pr10',
6481 'e2pdf-pr10',
6482 'e2pdf-pr10',
6483 'e2pdf-pr10',
6484 'e2pdf-pr10',
6485 ]
6486 };
6487 obj['title'] = {
6488 'name': e2pdf.lang.get('Title'),
6489 'fields': [
6490 e2pdf.properties.getField('g_graph_title_colour', el),
6491 e2pdf.properties.getField('g_graph_title', el),
6492 e2pdf.properties.getField('g_graph_title_font_size', el),
6493 e2pdf.properties.getField('g_graph_title_position', el),
6494 e2pdf.properties.getField('g_graph_title_space', el),
6495 ],
6496 'position': 'left',
6497 'classes': [
6498 'e2pdf-w100',
6499 'e2pdf-w60 e2pdf-pr10',
6500 'e2pdf-w40',
6501 'e2pdf-w70 e2pdf-pr10',
6502 'e2pdf-w30',
6503 ]
6504 };
6505 obj['labels'] = {
6506 'name': e2pdf.lang.get('Labels'),
6507 'fields': [
6508 e2pdf.properties.getField('g_label_colour', el),
6509 e2pdf.properties.getField('g_label_font_size', el),
6510 e2pdf.properties.getField('g_label_space', el),
6511 e2pdf.properties.getField('g_label_v', el),
6512 e2pdf.properties.getField('g_label_h', el),
6513 e2pdf.properties.getField('g_show_labels', el),
6514 e2pdf.properties.getField('g_show_label_key', el),
6515 e2pdf.properties.getField('g_show_label_amount', el),
6516 e2pdf.properties.getField('g_show_label_percent', el),
6517 ],
6518 'position': 'left',
6519 'classes': [
6520 'e2pdf-w100',
6521 'e2pdf-w70 e2pdf-pr10',
6522 'e2pdf-w30',
6523 'e2pdf-w50 e2pdf-pr10',
6524 'e2pdf-w50',
6525 'e2pdf-pr10',
6526 'e2pdf-pr10',
6527 'e2pdf-pr10',
6528 'e2pdf-pr10',
6529 ]
6530 };
6531 obj['marker'] = {
6532 'name': e2pdf.lang.get('Markers'),
6533 'fields': [
6534 e2pdf.properties.getField('g_marker_colour', el),
6535 e2pdf.properties.getField('g_marker_size', el),
6536 e2pdf.properties.getField('g_marker_dynamic_colour', el),
6537 e2pdf.properties.getField('g_marker_type', el),
6538 ],
6539 'position': 'left',
6540 'classes': [
6541 'e2pdf-w70 e2pdf-pr10',
6542 'e2pdf-w30',
6543 'e2pdf-w100',
6544 'e2pdf-w100'
6545 ]
6546 };
6547 obj['legend'] = {
6548 'name': e2pdf.lang.get('Legend'),
6549 'fields': [
6550 e2pdf.properties.getField('g_legend_back_colour', el),
6551 e2pdf.properties.getField('g_legend_stroke_colour', el),
6552 e2pdf.properties.getField('g_legend_stroke_width', el),
6553 e2pdf.properties.getField('g_legend_entry_width', el),
6554 e2pdf.properties.getField('g_legend_entry_height', el),
6555 e2pdf.properties.getField('g_legend_padding_x', el),
6556 e2pdf.properties.getField('g_legend_padding_y', el),
6557 e2pdf.properties.getField('g_legend_colour', el),
6558 e2pdf.properties.getField('g_legend_title', el),
6559 e2pdf.properties.getField('g_legend_title_font_size', el),
6560 e2pdf.properties.getField('g_legend_font_size', el),
6561 e2pdf.properties.getField('g_legend_position_horizontal', el),
6562 e2pdf.properties.getField('g_legend_position_vertical', el),
6563 e2pdf.properties.getField('g_legend_position_join', el),
6564 e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6565 e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6566 e2pdf.properties.getField('g_legend_text_side', el),
6567 e2pdf.properties.getField('g_legend_columns', el),
6568 e2pdf.properties.getField('g_show_legend', el),
6569 ],
6570 'position': 'left',
6571 'classes': [
6572 'e2pdf-w100',
6573 'e2pdf-w60 e2pdf-pr10',
6574 'e2pdf-w40',
6575 'e2pdf-w50',
6576 'e2pdf-w50 e2pdf-pl10',
6577 'e2pdf-w50',
6578 'e2pdf-w50 e2pdf-pl10',
6579 'e2pdf-w100',
6580 'e2pdf-w70 e2pdf-pr10',
6581 'e2pdf-w30',
6582 'e2pdf-w100',
6583 'e2pdf-w33 e2pdf-pr10',
6584 'e2pdf-w33',
6585 'e2pdf-w33 e2pdf-pl10',
6586 'e2pdf-w50 e2pdf-pr10',
6587 'e2pdf-w50',
6588 'e2pdf-w70 e2pdf-pr10',
6589 'e2pdf-w30',
6590 'e2pdf-pr10'
6591 ]
6592 };
6593 obj['additional'] = {
6594 'name': 'Additional',
6595 'fields': [
6596 e2pdf.properties.getField('g_bubble_scale', el),
6597 e2pdf.properties.getField('g_increment', el),
6598 e2pdf.properties.getField('g_stack_group', el),
6599 e2pdf.properties.getField('g_line_dataset', el),
6600 e2pdf.properties.getField('g_project_angle', el),
6601 e2pdf.properties.getField('g_line_curve', el),
6602 e2pdf.properties.getField('g_depth', el),
6603 e2pdf.properties.getField('g_aspect_ratio', el),
6604 e2pdf.properties.getField('g_inner_radius', el),
6605 e2pdf.properties.getField('g_start_angle', el),
6606 e2pdf.properties.getField('g_fill_opacity', el)
6607 ],
6608 'position': 'left',
6609 'classes': [
6610 'e2pdf-w50 e2pdf-pr10',
6611 'e2pdf-w50',
6612 'e2pdf-w50 e2pdf-pr10',
6613 'e2pdf-w50',
6614 'e2pdf-w50 e2pdf-pr10',
6615 'e2pdf-w50',
6616 'e2pdf-w50 e2pdf-pr10',
6617 'e2pdf-w50',
6618 'e2pdf-w50 e2pdf-pr10',
6619 'e2pdf-w50',
6620 'e2pdf-w50 e2pdf-pr10',
6621 ]
6622 };
6623 obj['grid'] = {
6624 'name': e2pdf.lang.get('Grid'),
6625 'fields': [
6626 e2pdf.properties.getField('g_grid_colour', el),
6627 e2pdf.properties.getField('g_grid_subdivision_colour', el),
6628 e2pdf.properties.getField('g_minimum_grid_spacing', el),
6629 e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6630 e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6631 e2pdf.properties.getField('g_grid_dash', el),
6632 e2pdf.properties.getField('g_grid_dash_h', el),
6633 e2pdf.properties.getField('g_grid_dash_v', el),
6634 e2pdf.properties.getField('g_grid_division_h', el),
6635 e2pdf.properties.getField('g_grid_division_v', el),
6636 e2pdf.properties.getField('g_show_grid', el),
6637 e2pdf.properties.getField('g_show_grid_subdivisions', el),
6638 e2pdf.properties.getField('g_grid_straight', el)
6639 ],
6640 'position': 'right',
6641 'classes': [
6642 'e2pdf-w100',
6643 'e2pdf-w100',
6644 'e2pdf-w100',
6645 'e2pdf-w50 e2pdf-pr10',
6646 'e2pdf-w50',
6647 'e2pdf-w100',
6648 'e2pdf-w50 e2pdf-pr10',
6649 'e2pdf-w50',
6650 'e2pdf-w50 e2pdf-pr10',
6651 'e2pdf-w50',
6652 'e2pdf-pr10',
6653 'e2pdf-pr10',
6654 'e2pdf-pr10'
6655 ]
6656 };
6657 obj['axis'] = {
6658 'name': e2pdf.lang.get('Axis'),
6659 'fields': [
6660 e2pdf.properties.getField('g_axis_colour', el),
6661 e2pdf.properties.getField('g_axis_font_size', el),
6662 e2pdf.properties.getField('g_axis_overlap', el),
6663 e2pdf.properties.getField('g_show_subdivisions', el),
6664 ],
6665 'position': 'right',
6666 'classes': [
6667 'e2pdf-w60 e2pdf-pr10',
6668 'e2pdf-w40',
6669 'e2pdf-w100',
6670 'e2pdf-w50 e2pdf-pr10',
6671 ]
6672 };
6673 obj['axis_v'] = {
6674 'name': e2pdf.lang.get('Axis (V)'),
6675 'fields': [
6676 e2pdf.properties.getField('g_axis_colour_v', el),
6677 e2pdf.properties.getField('g_axis_font_size_v', el),
6678 e2pdf.properties.getField('g_axis_font_weight_v', el),
6679 e2pdf.properties.getField('g_axis_stroke_width_v', el),
6680 e2pdf.properties.getField('g_show_axis_v', el),
6681 e2pdf.properties.getField('g_show_axis_text_v', el),
6682 e2pdf.properties.getField('g_axis_min_v', el),
6683 e2pdf.properties.getField('g_axis_max_v', el),
6684 e2pdf.properties.getField('g_axis_min_max_v', el),
6685 e2pdf.properties.getField('g_axis_text_position_v', el),
6686 e2pdf.properties.getField('g_axis_text_align_v', el),
6687 e2pdf.properties.getField('g_axis_text_space_v', el),
6688 e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6689 e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6690 e2pdf.properties.getField('g_units_x', el),
6691 ],
6692 'position': 'right',
6693 'classes': [
6694 'e2pdf-w60 e2pdf-pr10',
6695 'e2pdf-w40',
6696 'e2pdf-w100',
6697 'e2pdf-w33 e2pdf-pr10',
6698 'e2pdf-w33 e2pdf-sublabel',
6699 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6700 'e2pdf-w33 e2pdf-pr10',
6701 'e2pdf-w33',
6702 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6703 'e2pdf-w33 e2pdf-pr10',
6704 'e2pdf-w33',
6705 'e2pdf-w33 e2pdf-pl10',
6706 'e2pdf-w33 e2pdf-pr10',
6707 'e2pdf-w33',
6708 'e2pdf-w33 e2pdf-pl10',
6709 ]
6710 };
6711 obj['axis_h'] = {
6712 'name': e2pdf.lang.get('Axis (H)'),
6713 'fields': [
6714 e2pdf.properties.getField('g_axis_colour_h', el),
6715 e2pdf.properties.getField('g_axis_font_size_h', el),
6716 e2pdf.properties.getField('g_axis_font_weight_h', el),
6717 e2pdf.properties.getField('g_axis_stroke_width_h', el),
6718 e2pdf.properties.getField('g_show_axis_h', el),
6719 e2pdf.properties.getField('g_show_axis_text_h', el),
6720 e2pdf.properties.getField('g_axis_min_h', el),
6721 e2pdf.properties.getField('g_axis_max_h', el),
6722 e2pdf.properties.getField('g_axis_min_max_h', el),
6723 e2pdf.properties.getField('g_axis_text_position_h', el),
6724 e2pdf.properties.getField('g_axis_text_align_h', el),
6725 e2pdf.properties.getField('g_axis_text_space_h', el),
6726 e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6727 e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6728 e2pdf.properties.getField('g_units_y', el),
6729 ],
6730 'position': 'right',
6731 'classes': [
6732 'e2pdf-w60 e2pdf-pr10',
6733 'e2pdf-w40',
6734 'e2pdf-w100',
6735 'e2pdf-w33 e2pdf-pr10',
6736 'e2pdf-w33 e2pdf-sublabel',
6737 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6738 'e2pdf-w33 e2pdf-pr10',
6739 'e2pdf-w33',
6740 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6741 'e2pdf-w33 e2pdf-pr10',
6742 'e2pdf-w33',
6743 'e2pdf-w33 e2pdf-pl10',
6744 'e2pdf-w33 e2pdf-pr10',
6745 'e2pdf-w33',
6746 'e2pdf-w33 e2pdf-pl10',
6747 ]
6748 };
6749 obj['bar'] = {
6750 'name': 'Bar',
6751 'fields': [
6752 e2pdf.properties.getField('g_bar_width', el),
6753 e2pdf.properties.getField('g_bar_width_min', el),
6754 e2pdf.properties.getField('g_bar_space', el),
6755 ],
6756 'position': 'right',
6757 'classes': [
6758 'e2pdf-w33 e2pdf-pr10',
6759 'e2pdf-w33',
6760 'e2pdf-w33 e2pdf-pl10',
6761 ]
6762 };
6763 obj['barlabel'] = {
6764 'name': 'Bar Label',
6765 'fields': [
6766 e2pdf.properties.getField('g_bar_label_colour', el),
6767 e2pdf.properties.getField('g_bar_label_font_size', el),
6768 e2pdf.properties.getField('g_units_label', el),
6769 e2pdf.properties.getField('g_data_label_type', el),
6770 e2pdf.properties.getField('g_bar_label_space', el),
6771 e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6772 e2pdf.properties.getField('g_bar_label_position_vertical', el),
6773 e2pdf.properties.getField('g_bar_label_position_join', el),
6774 e2pdf.properties.getField('g_show_bar_labels', el),
6775 ],
6776 'position': 'right',
6777 'classes': [
6778 'e2pdf-w70 e2pdf-pr10',
6779 'e2pdf-w30',
6780 'e2pdf-w100',
6781 'e2pdf-w50 e2pdf-pr10',
6782 'e2pdf-w50',
6783 'e2pdf-w33 e2pdf-pr10',
6784 'e2pdf-w33',
6785 'e2pdf-w33 e2pdf-pl10',
6786 'e2pdf-pr10',
6787 ]
6788 };
6789 obj['style'] = {
6790 'name': e2pdf.lang.get('Style'),
6791 'fields': [
6792 e2pdf.properties.getField('background', el),
6793 e2pdf.properties.getField('margin_top', el),
6794 e2pdf.properties.getField('margin_left', el),
6795 e2pdf.properties.getField('margin_right', el),
6796 e2pdf.properties.getField('margin_bottom', el),
6797 e2pdf.properties.getField('padding_top', el),
6798 e2pdf.properties.getField('padding_left', el),
6799 e2pdf.properties.getField('padding_right', el),
6800 e2pdf.properties.getField('padding_bottom', el),
6801 e2pdf.properties.getField('border_color', el),
6802 e2pdf.properties.getField('border_top', el),
6803 e2pdf.properties.getField('border_left', el),
6804 e2pdf.properties.getField('border_right', el),
6805 e2pdf.properties.getField('border_bottom', el),
6806 e2pdf.properties.getField('z_index', el),
6807 ],
6808 'position': 'right',
6809 'classes': [
6810 'e2pdf-w100',
6811 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6812 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6813 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6814 'e2pdf-w25 e2pdf-fnl',
6815 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6816 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6817 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6818 'e2pdf-w25 e2pdf-fnl',
6819 'e2pdf-w100',
6820 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6821 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6822 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6823 'e2pdf-w25 e2pdf-fnl',
6824 'e2pdf-w100',
6825 ]
6826 };
6827 obj['structure'] = {
6828 'name': e2pdf.lang.get('Structure'),
6829 'fields': [
6830 e2pdf.properties.getField('g_structure_key', el),
6831 e2pdf.properties.getField('g_structure_value', el),
6832 e2pdf.properties.getField('g_structure_colour', el),
6833 e2pdf.properties.getField('g_structure_axis_text', el),
6834 e2pdf.properties.getField('g_structure_legend_text', el),
6835 e2pdf.properties.getField('g_structure_label', el),
6836 e2pdf.properties.getField('g_structure_area', el),
6837 e2pdf.properties.getField('g_structure_open', el),
6838 e2pdf.properties.getField('g_structure_end', el),
6839 e2pdf.properties.getField('g_structure_outliers', el),
6840 e2pdf.properties.getField('g_structure_top', el),
6841 e2pdf.properties.getField('g_structure_bottom', el),
6842 e2pdf.properties.getField('g_structure_wtop', el),
6843 e2pdf.properties.getField('g_structure_wbottom', el),
6844 e2pdf.properties.getField('g_structure_high', el),
6845 e2pdf.properties.getField('g_structure_low', el),
6846 e2pdf.properties.getField('g_structured_data', el),
6847 ],
6848 'position': 'bottom',
6849 'classes': [
6850 'e2pdf-w33 e2pdf-pr10',
6851 'e2pdf-w33',
6852 'e2pdf-w33 e2pdf-pl10',
6853 'e2pdf-w33 e2pdf-pr10',
6854 'e2pdf-w33',
6855 'e2pdf-w33 e2pdf-pl10',
6856 'e2pdf-w33 e2pdf-pr10',
6857 'e2pdf-w33',
6858 'e2pdf-w33 e2pdf-pl10',
6859 'e2pdf-w33 e2pdf-pr10',
6860 'e2pdf-w33',
6861 'e2pdf-w33 e2pdf-pl10',
6862 'e2pdf-w33 e2pdf-pr10',
6863 'e2pdf-w33',
6864 'e2pdf-w33 e2pdf-pl10',
6865 'e2pdf-w33 e2pdf-pr10',
6866 'e2pdf-w33 e2pdf-sublabel',
6867 ]
6868 };
6869 obj['value'] = {
6870 'name': '',
6871 'fields': [
6872 e2pdf.properties.getField('g_key_sep', el),
6873 e2pdf.properties.getField('g_array_sep', el),
6874 e2pdf.properties.getField('g_sub_array_sep', el),
6875 e2pdf.properties.getField('g_axis_text_callback_y', el),
6876 e2pdf.properties.getField('g_axis_text_callback_x', el),
6877 e2pdf.properties.getField('g_legends', el),
6878 e2pdf.properties.getField('g_colors', el),
6879 e2pdf.properties.getField('value', el),
6880 e2pdf.properties.getField('g_multiline', el),
6881 e2pdf.properties.getField('g_reverse_data', el),
6882 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6883 e2pdf.properties.getField('preg_pattern', el),
6884 e2pdf.properties.getField('preg_replacement', el),
6885 e2pdf.properties.getField('preg_match_all_pattern', el),
6886 e2pdf.properties.getField('preg_match_all_output', el),
6887 ],
6888 'position': 'bottom',
6889 'classes': [
6890 'e2pdf-w33 e2pdf-pr10',
6891 'e2pdf-w33',
6892 'e2pdf-w33 e2pdf-pl10',
6893 'e2pdf-w50 e2pdf-pr10',
6894 'e2pdf-w50',
6895 'e2pdf-w50 e2pdf-pr10',
6896 'e2pdf-w50',
6897 'e2pdf-w100 e2pdf-strong-label',
6898 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6899 'e2pdf-w30 e2pdf-pr10',
6900 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6901 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6902 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6903 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6904 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6905 ]
6906 };
6907 }
6908
6909 if (el.data('data-type') === 'e2pdf-rectangle') {
6910 obj['style'] = {
6911 'name': e2pdf.lang.get('Style'),
6912 'fields': [
6913 e2pdf.properties.getField('background', el),
6914 e2pdf.properties.getField('z_index', el),
6915 ],
6916 'position': 'bottom',
6917 'classes': [
6918 'e2pdf-w50 e2pdf-pr10',
6919 'e2pdf-w50 e2pdf-pl10',
6920 ]
6921 };
6922 }
6923
6924 if (el.data('data-type') === 'e2pdf-link') {
6925 obj['field'] = {
6926 'name': e2pdf.lang.get('Field'),
6927 'fields': [
6928 e2pdf.properties.getField('text_color', el),
6929 e2pdf.properties.getField('text_font', el),
6930 e2pdf.properties.getField('text_font_size', el),
6931 e2pdf.properties.getField('text_letter_spacing', el),
6932 e2pdf.properties.getField('text_line_height', el),
6933 e2pdf.properties.getField('text_align', el),
6934 e2pdf.properties.getField('vertical', el),
6935 e2pdf.properties.getField('rtl', el),
6936 e2pdf.properties.getField('underline', el),
6937 ],
6938 'position': 'left',
6939 'classes': [
6940 'e2pdf-w100',
6941 'e2pdf-w100',
6942 'e2pdf-w50',
6943 'e2pdf-w50 e2pdf-pl10',
6944 'e2pdf-w50',
6945 'e2pdf-w50 e2pdf-pl10',
6946 'e2pdf-w70',
6947 'e2pdf-w30 e2pdf-pl10',
6948 'e2pdf-w33'
6949 ]
6950 };
6951 obj['style'] = {
6952 'name': e2pdf.lang.get('Style'),
6953 'fields': [
6954 e2pdf.properties.getField('z_index', el)
6955 ],
6956 'position': 'right',
6957 'classes': [
6958 'e2pdf-w100'
6959 ]
6960 };
6961 obj['value'] = {
6962 'name': e2pdf.lang.get('Value'),
6963 'fields': [
6964 e2pdf.properties.getField('link_label', el),
6965 e2pdf.properties.getField('link_type', el),
6966 e2pdf.properties.getField('highlight', el),
6967 e2pdf.properties.getField('value', el),
6968 e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6969 e2pdf.properties.getField('preg_pattern', el),
6970 e2pdf.properties.getField('preg_replacement', el),
6971 e2pdf.properties.getField('preg_match_all_pattern', el),
6972 e2pdf.properties.getField('preg_match_all_output', el)
6973 ],
6974 'position': 'bottom',
6975 'classes': [
6976 'e2pdf-w50 e2pdf-pr10',
6977 'e2pdf-w25 e2pdf-pr10',
6978 'e2pdf-w25',
6979 'e2pdf-w100',
6980 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6981 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6982 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6983 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6984 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6985 ]
6986 };
6987 }
6988 }
6989
6990 // tpl-properties
6991 if (el.data('data-type') === 'e2pdf-tpl') {
6992 if (actions) {
6993 if (actions) {
6994 obj['actions'] = {
6995 'name': e2pdf.lang.get('Actions'),
6996 'fields': e2pdf.actions.renderFields(el),
6997 'position': 'bottom'
6998 };
6999 }
7000 } else {
7001 obj['value'] = {
7002 'name': '',
7003 'fields': [
7004 e2pdf.properties.getField('css', el),
7005 ],
7006 'position': 'bottom',
7007 'classes': [
7008 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
7009 ]
7010 };
7011 }
7012 } else {
7013 if (actions) {
7014 obj['actions'] = {
7015 'name': e2pdf.lang.get('Actions'),
7016 'fields': e2pdf.actions.renderFields(el),
7017 'position': 'bottom'
7018 };
7019 }
7020 }
7021 return obj;
7022 },
7023 // e2pdf.properties.renderFields
7024 renderFields: function (el, actions = true) {
7025 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
7026 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
7027 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
7028 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
7029 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
7030 if (el.data('data-type') == 'e2pdf-tpl') {
7031 fields_top = '';
7032 fields_left = '';
7033 fields_right = '';
7034 } else if (el.data('data-type') == 'e2pdf-page') {
7035 fields_left = '';
7036 fields_right = '';
7037 }
7038
7039 var groups = e2pdf.properties.getFields(el, actions);
7040 if (groups) {
7041 for (var group_key in groups) {
7042 if (group_key === 'actions') {
7043 var group = groups[group_key];
7044 var block = jQuery('<div>');
7045 if (group.name) {
7046 block.append(jQuery('<label>').html(group.name + ':'));
7047 }
7048 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
7049 grid.append(group.fields);
7050 block.append(grid);
7051 if (group.position === 'top') {
7052 fields_top.append(block);
7053 } else if (group.position === 'left') {
7054 fields_left.append(block);
7055 } else if (group.position === 'right') {
7056 fields_right.append(block);
7057 } else {
7058 fields_bottom.append(block);
7059 }
7060 } else {
7061 var group = groups[group_key];
7062 var block = jQuery('<div>');
7063 if (group.name) {
7064 block.append(jQuery('<label>').html(group.name + ':'));
7065 }
7066 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
7067 for (var field_key in group.fields) {
7068
7069 var group_field = group.fields[field_key];
7070 var classes = '';
7071 if (group.classes) {
7072 if (group.classes[field_key]) {
7073 classes = group.classes[field_key];
7074 }
7075 }
7076 var field = '';
7077 var label = '';
7078 var wrap = '';
7079 var hidden = '';
7080 if (group_field.type === 'text') {
7081 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7082 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
7083 } else if (group_field.type === 'hidden') {
7084 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
7085 } else if (group_field.type === 'textarea') {
7086 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7087 var rows = '5';
7088 if (group_field.key == 'g_legends' || group_field.key == 'g_colors' || group_field.key == 'g_axis_text_callback_x' || group_field.key == 'g_axis_text_callback_y') {
7089 rows = '3';
7090 }
7091 field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
7092 } else if (group_field.type === 'checkbox') {
7093 wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7094 label = group_field.name;
7095 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
7096 if (group_field.value == group_field.option) {
7097 field.prop('checked', true);
7098 }
7099 if (jQuery.inArray('keep', group_field.atts) !== -1) {
7100 hidden = jQuery('<input>', {
7101 type: 'hidden',
7102 name: group_field.key,
7103 value: '0'
7104 });
7105 }
7106 } else if (group_field.type === 'color') {
7107 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
7108 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7109 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
7110 } else if (group_field.type === 'select') {
7111 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
7112 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
7113 for (var option_key in group_field.options) {
7114 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
7115 }
7116 field.val(group_field.value);
7117 } else if (group_field.type === 'link') {
7118 field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
7119 }
7120 for (var att_key in group_field.atts) {
7121 var att = group_field.atts[att_key];
7122 switch (att) {
7123 case 'readonly':
7124 field.attr('readonly', 'readonly');
7125 break;
7126 case 'disabled':
7127 field.attr('disabled', 'disabled');
7128 break;
7129 case 'number':
7130 field.addClass('e2pdf-numbers');
7131 break;
7132 case 'number-negative':
7133 field.addClass('e2pdf-number-negative');
7134 break;
7135 case 'autocomplete':
7136 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
7137 field.addClass('e2pdf-autocomplete-cl');
7138 field.autocomplete({
7139 source: group_field.source,
7140 minLength: 0,
7141 appendTo: wrap,
7142 open: function () {
7143 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7144 },
7145 classes: {
7146 "ui-autocomplete": "e2pdf-autocomplete"
7147 }
7148 });
7149 break;
7150 case 'collapse':
7151 field.attr('data-collapse', group_field.collapse);
7152 break;
7153 }
7154 }
7155 if (!wrap) {
7156 wrap = field;
7157 } else {
7158 wrap.prepend(field);
7159 }
7160 if (group_field.type === 'checkbox') {
7161 if (hidden) {
7162 wrap.prepend(hidden);
7163 }
7164 wrap.append(" " + label);
7165 if (classes.includes('e2pdf-sublabel')) {
7166 var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7167 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7168 } else {
7169 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7170 }
7171 } else {
7172 grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7173 }
7174 }
7175 block.append(grid);
7176 if (group.position === 'top') {
7177 fields_top.append(block);
7178 } else if (group.position === 'left') {
7179 fields_left.append(block);
7180 } else if (group.position === 'right') {
7181 fields_right.append(block);
7182 } else {
7183 fields_bottom.append(block);
7184 }
7185 }
7186 }
7187 }
7188 fields.append(fields_top, fields_left, fields_right, fields_bottom);
7189 return fields;
7190 },
7191 // e2pdf.properties.apply
7192 apply: function (el, data, onload) {
7193 if (onload !== true) {
7194 var groups = e2pdf.properties.getFields(el);
7195 for (var group_key in groups) {
7196 var group = groups[group_key];
7197 for (var field_key in group.fields) {
7198 var group_field = group.fields[field_key];
7199 var property = group_field['key'];
7200 if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7201 switch (group_field['type']) {
7202 case 'text':
7203 if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7204 delete data[property];
7205 }
7206 break;
7207 case 'color':
7208 case 'select':
7209 case 'textarea':
7210 if (!data[property]) {
7211 delete data[property];
7212 }
7213 break;
7214 }
7215 }
7216 }
7217 }
7218 }
7219 el.data('data-properties', JSON.stringify(data));
7220 },
7221 // e2pdf.properties.set
7222 set: function (el, key, value) {
7223 var properties = e2pdf.properties.get(el);
7224 properties[key] = value;
7225 e2pdf.properties.apply(el, properties);
7226 },
7227 // e2pdf.properties.getValue
7228 getValue: function (el, key, type = '') {
7229 var properties = e2pdf.properties.get(el);
7230 if (type) {
7231 if (type == 'string') {
7232 return e2pdf.helper.getString(properties[key]);
7233 } else if (type == 'checkbox') {
7234 return e2pdf.helper.getCheckbox(properties[key]);
7235 } else if (type == 'int') {
7236 return e2pdf.helper.getInt(properties[key]);
7237 } else if (type == 'float') {
7238 return e2pdf.helper.getFloat(properties[key]);
7239 } else {
7240 return '';
7241 }
7242 } else if (properties.hasOwnProperty(key)) {
7243 if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7244 return e2pdf.helper.toHtml(properties[key]);
7245 } else {
7246 return properties[key];
7247 }
7248 } else {
7249 return '';
7250 }
7251 },
7252 // e2pdf.properties.get
7253 get: function (el) {
7254 var properties = [];
7255 if (typeof el.data('data-properties') !== 'undefined') {
7256 properties = JSON.parse(el.data('data-properties'));
7257 if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7258 properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7259 properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7260 properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7261 properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
7262 }
7263 }
7264 return properties;
7265 },
7266 // e2pdf.properties.render
7267 render: function (el) {
7268 var properties = e2pdf.properties.get(el);
7269 var children = e2pdf.element.children(el);
7270 if (properties.hasOwnProperty('options')) {
7271 if (el.data('data-type') === 'e2pdf-select') {
7272 children.find('option').remove();
7273 var options = properties['options'].split("\n");
7274 if (typeof options !== 'undefined' && options.length > 0) {
7275 for (var key in options) {
7276 children.append(
7277 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
7278 );
7279 }
7280 }
7281 }
7282 }
7283 switch (el.data('data-type')) {
7284 case 'e2pdf-html':
7285 var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7286 if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7287 children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7288 children = e2pdf.element.children(el);
7289 } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7290 children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7291 children = e2pdf.element.children(el);
7292 }
7293 if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7294 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7295 children.val(e2pdf.helper.getString(properties['value']));
7296 } else {
7297 e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7298 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
7299 }
7300 break;
7301 case 'e2pdf-page-number':
7302 children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7303 break;
7304 case 'e2pdf-link':
7305 children.text(e2pdf.helper.getString(properties['link_label']));
7306 break;
7307 case 'e2pdf-input':
7308 case 'e2pdf-textarea':
7309 case 'e2pdf-select':
7310 children.val(e2pdf.helper.getString(properties['value']));
7311 break;
7312 case 'e2pdf-checkbox':
7313 if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7314 children.prop('checked', true);
7315 } else {
7316 children.prop('checked', false);
7317 }
7318 break;
7319 case 'e2pdf-radio':
7320 jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7321 var radio = jQuery(this).parent();
7322 var radio_properties = e2pdf.properties.get(radio);
7323 if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7324 e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7325 e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7326 e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7327 if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7328 jQuery(this).prop('checked', true);
7329 } else {
7330 jQuery(this).prop('checked', false);
7331 }
7332 }
7333 });
7334 break;
7335 case 'e2pdf-image':
7336 case 'e2pdf-qrcode':
7337 case 'e2pdf-barcode':
7338 case 'e2pdf-signature':
7339 case 'e2pdf-graph':
7340 e2pdf.helper.image.load(el);
7341 break;
7342 }
7343
7344 if (el.data('data-type') === 'e2pdf-select') {
7345 children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
7346 }
7347
7348 if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7349 children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
7350 }
7351
7352 el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7353 if (el.data('data-type') === 'e2pdf-select' ||
7354 el.data('data-type') === 'e2pdf-input' ||
7355 el.data('data-type') === 'e2pdf-textarea' ||
7356 el.data('data-type') === 'e2pdf-html' ||
7357 el.data('data-type') === 'e2pdf-page-number') {
7358 if (e2pdf.helper.getString(properties['rtl']) != '') {
7359 children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
7360 } else {
7361 children.attr('dir', false);
7362 }
7363 }
7364
7365 if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7366 children.css('background', e2pdf.helper.getString(properties['background']));
7367 } else {
7368 el.css('background', e2pdf.helper.getString(properties['background']));
7369 }
7370
7371 if (el.data('data-type') === 'e2pdf-input' ||
7372 el.data('data-type') === 'e2pdf-textarea' ||
7373 el.data('data-type') === 'e2pdf-select' ||
7374 el.data('data-type') === 'e2pdf-radio' ||
7375 el.data('data-type') === 'e2pdf-checkbox'
7376 ) {
7377 children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7378 } else {
7379 el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7380 el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7381 el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7382 el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7383 }
7384
7385 el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7386 el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7387 el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7388 el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7389 if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7390 el.css('color', e2pdf.helper.getString(properties['text_color']));
7391 } else if (el.data('data-type') === 'e2pdf-input' ||
7392 el.data('data-type') === 'e2pdf-textarea' ||
7393 el.data('data-type') === 'e2pdf-select' ||
7394 el.data('data-type') === 'e2pdf-radio' ||
7395 el.data('data-type') === 'e2pdf-checkbox'
7396 ) {
7397 children.css('color', e2pdf.helper.getString(properties['text_color']));
7398 }
7399
7400 var font = e2pdf.helper.getString(properties['text_font']);
7401 if (font) {
7402 var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7403 if (typeof path === 'undefined') {
7404 el.css('font-family', '');
7405 } else {
7406 var tmp = jQuery('<div>', {'name': font, 'path': path});
7407 e2pdf.font.load(tmp);
7408 el.css('font-family', CSS.escape(font));
7409 }
7410 } else {
7411 el.css('font-family', '');
7412 }
7413
7414 el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7415 el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7416 children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7417 if (el.data('data-type') === 'e2pdf-textarea') {
7418 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' : '');
7419 } else {
7420 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' : '');
7421 }
7422
7423 if (el.closest('.e2pdf-page').length > 0) {
7424 var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7425 var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7426 var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7427 if (height > page_h) {
7428 var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7429 el.css('top', top + 'px');
7430 } else {
7431 el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
7432 }
7433
7434 var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7435 if (width > page_w) {
7436 var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7437 el.css('left', left + "px");
7438 } else {
7439 el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
7440 }
7441
7442 var width = e2pdf.helper.getFloat(properties['width']);
7443 var left = e2pdf.helper.getFloat(el.css('left'));
7444 if (width > 0) {
7445 if (width > page_w - left) {
7446 el.css('width', page_w - left);
7447 e2pdf.properties.set(el, 'width', page_w - left);
7448 } else {
7449 el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7450 }
7451 }
7452
7453 var height = e2pdf.helper.getFloat(properties['height']);
7454 var top = e2pdf.helper.getFloat(el.css('top'));
7455 if (height > 0) {
7456 if (height > page_h - top) {
7457 el.css('height', page_h - top);
7458 e2pdf.properties.set(el, 'height', page_h - top);
7459 } else {
7460 el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7461 }
7462 }
7463 }
7464
7465 if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7466 el.addClass('e2pdf-locked');
7467 } else {
7468 el.removeClass('e2pdf-locked');
7469 }
7470 }
7471
7472 },
7473 // e2pdf.welcomeScreen
7474 welcomeScreen: function () {
7475 if (jQuery('.e2pdf-page').length === 0) {
7476 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7477 e2pdf.dialog.create(el);
7478 }
7479 },
7480 // e2pdf.createPdf
7481 createPdf: function (el) {
7482 var item = false;
7483 var item1 = false;
7484 var item2 = false;
7485 var action = el.attr('data-action');
7486 var data = e2pdf.form.serializeObject(el.closest('form'));
7487 if (action !== 'upload') {
7488 var disabled_settings = [
7489 'title', 'preset', 'font', 'font_size', 'line_height'
7490 ];
7491 for (var key in data) {
7492 if (jQuery.inArray(key, disabled_settings) === -1) {
7493 if (key == 'activated') {
7494 e2pdf.pdf.settings.change(key, data[key]);
7495 } else {
7496 e2pdf.pdf.settings.change(key, data[key]);
7497 }
7498 }
7499
7500 if (key === 'font') {
7501 jQuery('#e2pdf-font').val(data[key]);
7502 }
7503
7504 if (key === 'font_size') {
7505 jQuery('#e2pdf-font-size').val(data[key]);
7506 }
7507
7508 if (key === 'line_height') {
7509 jQuery('#e2pdf-line-height').val(data[key]);
7510 }
7511
7512 if (key === 'title') {
7513 jQuery('#e2pdf-title').val(data[key]);
7514 }
7515
7516 if (key === 'text_align') {
7517 jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7518 }
7519
7520 if (key === 'rtl') {
7521 jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7522 }
7523 }
7524
7525 if (!data['rtl']) {
7526 jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
7527 }
7528 }
7529
7530 if (action === 'apply') {
7531 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7532 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7533 var option = el.closest('form').find('.e2pdf-item option:selected');
7534 if (option && typeof option.data('data-item') !== 'undefined') {
7535 item = option.data('data-item');
7536 }
7537
7538 if (item && item.id == '-1') {
7539 if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7540 return false;
7541 }
7542 el.attr('form-id', 'e2pdf-build-form');
7543 el.attr('action', 'e2pdf_save_form');
7544 e2pdf.static.unsaved = false;
7545 e2pdf.request.submitForm(el);
7546 return;
7547 } else {
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
7557 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7558 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7559 item2 = option2.data('data-item');
7560 if (item2.id == '-1') {
7561 item2 = false;
7562 }
7563 }
7564 }
7565
7566 e2pdf.pages.changeTplSize(width, height);
7567 jQuery('.ui-dialog-content').dialog('close');
7568 }
7569 } else if (action === 'empty') {
7570 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7571 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7572 var option = el.closest('form').find('.e2pdf-item option:selected');
7573 if (option && typeof option.data('data-item') !== 'undefined') {
7574 item = option.data('data-item');
7575 if (item.id == '-1') {
7576 item = false;
7577 }
7578 }
7579 if (item && item.id == '-2') {
7580 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7581 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7582 item1 = option1.data('data-item');
7583 if (item1.id == '-1') {
7584 item1 = false;
7585 }
7586 }
7587
7588 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7589 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7590 item2 = option2.data('data-item');
7591 if (item2.id == '-1') {
7592 item2 = false;
7593 }
7594 }
7595 }
7596 e2pdf.pages.changeTplSize(width, height);
7597 e2pdf.pages.createPage();
7598 jQuery('.ui-dialog-content').dialog('close');
7599 } else if (action === 'auto') {
7600 var extension = el.closest('form').find('.e2pdf-extension').val();
7601 var option = el.closest('form').find('.e2pdf-item option:selected');
7602 if (option && typeof option.data('data-item') !== 'undefined') {
7603 item = option.data('data-item');
7604 if (item.id == '-1') {
7605 item = false;
7606 }
7607 }
7608 if (item && item.id == '-2') {
7609 var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7610 if (option1 && typeof option1.data('data-item') !== 'undefined') {
7611 item1 = option1.data('data-item');
7612 if (item1.id == '-1') {
7613 item1 = false;
7614 }
7615 }
7616 var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7617 if (option2 && typeof option2.data('data-item') !== 'undefined') {
7618 item2 = option2.data('data-item');
7619 if (item2.id == '-1') {
7620 item2 = false;
7621 }
7622 }
7623 }
7624 var data = {};
7625 data['extension'] = extension;
7626 data['item'] = item ? item.id : '';
7627 data['item1'] = item1 ? item1.id : '';
7628 data['item2'] = item2 ? item2.id : '';
7629 data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7630 data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
7631 e2pdf.request.submitRequest('e2pdf_auto', el, data);
7632 } else if (action === 'upload') {
7633 if (e2pdf.pdf.settings.get('ID')) {
7634 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
7635 return false;
7636 }
7637 }
7638 jQuery('.e2pdf-upload-pdf').click();
7639 }
7640 if (action === 'apply' || action === 'empty' || action === 'auto') {
7641 var link = jQuery('<a>', {
7642 'href': 'javascript:void(0);',
7643 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7644 'data-modal': 'tpl-options'
7645 }).html(e2pdf.lang.get('Not linked'));
7646 if (item && item.id) {
7647 if (item.id == '-2') {
7648 if ((item1 && item1.id) || (item2 && item2.id)) {
7649 var link = jQuery('<span>');
7650 if (item1 && item1.id) {
7651 link.append(jQuery('<a>', {
7652 'target': '_blank',
7653 'href': item1.url,
7654 'class': 'e2pdf-link'
7655 }).html(item1.name));
7656 }
7657 if (item1 && item1.id && item2 && item2.id) {
7658 link.append(' | ');
7659 }
7660 if (item2 && item2.id) {
7661 link.append(jQuery('<a>', {
7662 'target': '_blank',
7663 'href': item2.url,
7664 'class': 'e2pdf-link'
7665 }).html(item2.name));
7666 }
7667 link.removeClass('e2pdf-color-red');
7668 }
7669 } else {
7670 link = jQuery('<a>', {
7671 'target': '_blank',
7672 'href': item.url,
7673 'class': 'e2pdf-link'
7674 }).html(item.name);
7675 link.removeClass('e2pdf-color-red');
7676 }
7677 }
7678 jQuery('#e2pdf-post-item').html(link);
7679 }
7680
7681 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
7682 e2pdf.font.load(jQuery('#e2pdf-font'));
7683 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7684 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7685 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7686 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7687 e2pdf.event.fire('after.createPdf');
7688 },
7689 // e2pdf.pages
7690 pages: {
7691 // e2pdf.pages.initEvents
7692 initEvents: function (page) {
7693 page.off('contextmenu');
7694 page.contextmenu(function (e) {
7695 if (jQuery(e.target).hasClass('e2pdf-page')) {
7696 e2pdf.contextMenu(e, page);
7697 e.preventDefault();
7698 }
7699 });
7700 if (page.hasClass('ui-droppable')) {
7701 try {
7702 page.droppable('destroy');
7703 page.removeData('ui-droppable');
7704 } catch (e) {
7705
7706 }
7707 }
7708 page.droppable({
7709 over: function (ev, ui) {
7710 e2pdf.static.drag.page = jQuery(this);
7711 e2pdf.static.guide.guides = [];
7712 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())) {
7713 jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7714 jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7715 var coeff = 1;
7716 if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7717 coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7718 } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7719 coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7720 }
7721 jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7722 jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7723 }
7724
7725 if (ui.draggable.hasClass('e2pdf-clone')) {
7726 jQuery(this).find('.e2pdf-element').each(function () {
7727 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
7728 });
7729 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
7730 } else {
7731 e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
7732 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
7733 }
7734 },
7735 out: function (ev, ui) {
7736 e2pdf.static.drag.page = null;
7737 e2pdf.static.guide.guides = [];
7738 if (jQuery(ui.helper).data('original-width')) {
7739 jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7740 jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7741 jQuery(ui.helper).removeData('original-width');
7742 jQuery(ui.helper).removeData('original-height');
7743 }
7744
7745 },
7746 deactivate: function (ev) {
7747 e2pdf.static.drag.page = null;
7748 e2pdf.static.guide.guides = [];
7749 },
7750 drop: function (ev, ui) {
7751 if (ui.draggable.hasClass('e2pdf-clone')) {
7752 var type = jQuery(ui.draggable).attr('data-type');
7753 var page = jQuery(this).closest('.e2pdf-page');
7754 var pos = {
7755 top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.scale - 1)),
7756 left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.scale - 1)),
7757 right: Math.round(Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.scale))
7758 };
7759 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
7760 return false;
7761 }
7762
7763 var properties = {};
7764 properties['width'] = jQuery(ui.helper).css('width');
7765 properties['height'] = jQuery(ui.helper).css('height');
7766 properties['top'] = pos.top;
7767 properties['left'] = pos.left;
7768 var el = e2pdf.element.create(type, page, properties, false, true);
7769 jQuery(this).append(el);
7770 e2pdf.properties.render(el);
7771 var history = [];
7772 history.push(el.clone(true));
7773 e2pdf.history.set('element_create', history);
7774 }
7775 e2pdf.static.drag.page = null;
7776 }
7777 });
7778 if (page.hasClass('ui-selectable')) {
7779 try {
7780 page.selectable('destroy');
7781 page.removeData('selectable');
7782 } catch (e) {
7783 }
7784 }
7785 page.selectable(
7786 {
7787 filter: '.e2pdf-element',
7788 cancel: 'a,.e2pdf-element',
7789 distance: 10,
7790 selecting: function (event, ui) {
7791 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7792 jQuery(ui.selecting).addClass('e2pdf-selected');
7793 }
7794 },
7795 unselecting: function (event, ui) {
7796 jQuery(ui.unselecting).removeClass('e2pdf-selected');
7797 },
7798 selected: function (event, ui) {
7799 if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7800 e2pdf.element.select(jQuery(ui.selected));
7801 }
7802 },
7803 unselected: function (event, ui) {
7804 e2pdf.element.unselect(jQuery(ui.unselected));
7805 }
7806 }
7807 );
7808 },
7809 // e2pdf.pages.source
7810 source: function (page_id) {
7811 var page = jQuery('<div>', {
7812 'class': 'e2pdf-page ui-droppable',
7813 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7814 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7815 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7816 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7817 }).attr('data-page_id', page_id).append(
7818 jQuery('<div>', {'class': 'page-options-icons'}).append(
7819 jQuery('<a>', {
7820 'href': 'javascript:void(0);',
7821 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7822 }).append(
7823 jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7824 ),
7825 jQuery('<a>', {
7826 'href': 'javascript:void(0);',
7827 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7828 }).append(
7829 jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7830 ),
7831 jQuery('<a>', {
7832 'href': 'javascript:void(0);',
7833 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7834 'data-modal': 'page-options'
7835 }).append(
7836 jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7837 ),
7838 jQuery('<a>', {
7839 'href': 'javascript:void(0);',
7840 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7841 }).append(
7842 jQuery('<i>', {'class': 'dashicons dashicons-no'})
7843 )
7844 ),
7845 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7846 jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7847 );
7848 return page;
7849 },
7850 // e2pdf.pages.rebuildPages
7851 rebuildPages: function () {
7852 jQuery('.e2pdf-page').each(function (index) {
7853 if (!e2pdf.pdf.settings.get('pdf')) {
7854 if (index + 1 === 1) {
7855 jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7856 } else {
7857 jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7858 }
7859
7860 if (index + 1 === jQuery('.e2pdf-page').length) {
7861 jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7862 } else {
7863 jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7864 }
7865 }
7866 jQuery(this).attr('data-page_id', index + 1);
7867 });
7868 e2pdf.welcomeScreen();
7869 },
7870 // e2pdf.pages.createPage
7871 createPage: function (page, properties, actions, onload) {
7872 e2pdf.pages.rebuildPages();
7873 var newpage = true;
7874 if (page) {
7875 var newpage = false;
7876 }
7877 if (!properties) {
7878 properties = {};
7879 }
7880 if (!actions) {
7881 actions = {};
7882 }
7883 if (newpage) {
7884 var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7885 var page = e2pdf.pages.source(page_id);
7886 }
7887 page.data('data-type', 'e2pdf-page');
7888 e2pdf.properties.apply(page, properties, onload);
7889 e2pdf.actions.apply(page, actions);
7890 e2pdf.pages.initEvents(page);
7891 if (newpage) {
7892 if (!onload) {
7893 var history = [];
7894 history.push(page.clone(true));
7895 e2pdf.history.set('element_create', history);
7896 }
7897 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
7898 e2pdf.pages.rebuildPages();
7899 e2pdf.event.fire('after.pages.createPage.newpage');
7900 return true;
7901 } else {
7902 return false;
7903 }
7904 },
7905 // e2pdf.pages.movePage
7906 movePage: function (el, direction) {
7907 if (e2pdf.pdf.settings.get('pdf')) {
7908 return false;
7909 }
7910 if (direction === 'up') {
7911 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
7912 } else if (direction === 'down') {
7913 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
7914 }
7915 e2pdf.event.fire('after.pages.movePage');
7916 e2pdf.pages.rebuildPages();
7917 },
7918 // e2pdf.pages.deletePage
7919 deletePage: function (el) {
7920 el.closest('.e2pdf-page').remove();
7921 e2pdf.event.fire('after.pages.deletePage');
7922 e2pdf.pages.rebuildPages();
7923 },
7924 // e2pdf.pages.changeTplSize
7925 changeTplSize: function (width, height) {
7926 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
7927 },
7928 changePageSize: function (el, width, height) {
7929 var prev_width = parseFloat(el.css('width'));
7930 var prev_height = parseFloat(el.css('height'));
7931 var width_diff = width / prev_width;
7932 var height_diff = height / prev_height;
7933 el.find(".e2pdf-element").each(function () {
7934 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
7935 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
7936 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'))) {
7937 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7938 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
7939 } else {
7940 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
7941 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
7942 }
7943 });
7944 el.css('width', width);
7945 el.css('height', height);
7946 el.attr('data-width', width);
7947 el.attr('data-height', height);
7948 }
7949 },
7950 // e2pdf.contextMenu
7951 contextMenu: function (e, el) {
7952 e2pdf.delete('.e2pdf-context');
7953 jQuery('.e2pdf-page').css('z-index', '');
7954 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
7955 if (el.hasClass('e2pdf-page')) {
7956 var parent = el;
7957 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7958 menu.find('ul.e2pdf-context-menu').append(
7959 jQuery('<li>').append(
7960 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'))
7961 ),
7962 jQuery('<li>').append(
7963 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'))
7964 ),
7965 jQuery('<li>').append(
7966 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
7967 )
7968 );
7969 } else {
7970 if (!el.hasClass('e2pdf-selected')) {
7971 e2pdf.element.unselect();
7972 e2pdf.element.select(el);
7973 }
7974
7975 var parent = el.closest('.e2pdf-page');
7976 menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7977 if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7978 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7979 menu.find('ul.e2pdf-context-menu').append(
7980 jQuery('<li>').append(
7981 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7982 ));
7983 } else {
7984 menu.find('ul.e2pdf-context-menu').append(
7985 jQuery('<li>').append(
7986 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7987 ));
7988 }
7989 }
7990
7991 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')))) {
7992 menu.find('ul.e2pdf-context-menu').append(
7993 jQuery('<li>').append(
7994 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7995 ));
7996 }
7997
7998 menu.find('ul.e2pdf-context-menu').append(
7999 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8000 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8001 ,
8002 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
8003 jQuery('<li>').append(
8004 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
8005 ),
8006 jQuery('<li>').append(
8007 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
8008 ),
8009 jQuery('<li>').append(
8010 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
8011 ),
8012 jQuery('<li>').append(
8013 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8014 )
8015 )
8016 ),
8017 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8018 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8019 ,
8020 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
8021 jQuery('<li>').append(
8022 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'))
8023 ),
8024 jQuery('<li>').append(
8025 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'))
8026 ))
8027 ));
8028 menu.find('ul.e2pdf-context-menu').append(
8029 jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8030 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8031 ,
8032 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
8033 jQuery('<li>').append(
8034 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'))
8035 ))
8036 ),
8037 jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8038 jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8039 ,
8040 jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
8041 ),
8042 jQuery('<li>').append(
8043 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
8044 ),
8045 jQuery('<li>').append(
8046 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
8047 ),
8048 jQuery('<li>').append(
8049 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
8050 ));
8051 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
8052 if (Object.keys(e2pdf.element.selected).length == 1) {
8053 menu.find('ul.e2pdf-copy-menu').append(
8054 jQuery('<li>').append(
8055 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8056 ));
8057 }
8058 if (e2pdf.storage.get('style') !== null) {
8059 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8060 menu.find('ul.e2pdf-paste-menu').append(
8061 jQuery('<li>').append(
8062 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8063 ));
8064 }
8065 }
8066
8067 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8068 if (Object.keys(e2pdf.element.selected).length == 1) {
8069 menu.find('ul.e2pdf-copy-menu').append(
8070 jQuery('<li>').append(
8071 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8072 ));
8073 }
8074 if (e2pdf.storage.get('width') != null) {
8075 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8076 menu.find('ul.e2pdf-paste-menu').append(
8077 jQuery('<li>').append(
8078 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8079 ));
8080 }
8081 }
8082
8083 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8084
8085 if (Object.keys(e2pdf.element.selected).length == 1) {
8086 menu.find('ul.e2pdf-copy-menu').append(
8087 jQuery('<li>').append(
8088 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8089 ));
8090 }
8091
8092 if (e2pdf.storage.get('height') != null) {
8093 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8094 menu.find('ul.e2pdf-paste-menu').append(
8095 jQuery('<li>').append(
8096 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8097 ));
8098 }
8099 }
8100
8101 if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
8102
8103 if (Object.keys(e2pdf.element.selected).length == 1) {
8104 menu.find('ul.e2pdf-copy-menu').append(
8105 jQuery('<li>').append(
8106 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8107 ));
8108 }
8109
8110 if (e2pdf.storage.get('actions') !== null) {
8111 menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8112 menu.find('ul.e2pdf-paste-menu').append(
8113 jQuery('<li>').append(
8114 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8115 ));
8116 }
8117 }
8118
8119 if (Object.keys(e2pdf.element.selected).length == 1) {
8120 menu.find('ul.e2pdf-context-menu').append(
8121 jQuery('<li>').append(
8122 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8123 ));
8124 }
8125 }
8126 parent.css('z-index', '1');
8127 menu.hide().appendTo(parent);
8128 var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.scale;
8129 if ((parent.closest('.e2pdf-tpl').width() - 20 < e.pageX - parent.closest('.e2pdf-tpl').offset().left + menu.width()) && (e.pageX - parent.closest('.e2pdf-tpl').offset().left > menu.width())) {
8130 pos_x = pos_x - (menu.width() / e2pdf.zoom.scale);
8131 menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8132 }
8133 var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.scale;
8134 if ((parent.closest('.e2pdf-tpl').height() - 20 < e.pageY - parent.closest('.e2pdf-tpl').offset().top + menu.height()) && (e.pageY - parent.closest('.e2pdf-tpl').offset().top > menu.height())) {
8135 pos_y = pos_y - (menu.height() / e2pdf.zoom.scale);
8136 menu.addClass('e2pdf-context-bottom');
8137 }
8138 menu.css({top: pos_y + "px", left: pos_x + "px"});
8139 menu.show();
8140 },
8141 // e2pdf.delete
8142 delete: function (el) {
8143 jQuery(el).remove();
8144 },
8145 // e2pdf.element
8146 element: {
8147 // e2pdf.element.selected
8148 selected: [],
8149 // e2pdf.element.init
8150 init: function (el) {
8151 if (el.data('data-type') === 'e2pdf-html') {
8152 if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8153 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8154 } else {
8155 e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8156 }
8157 } else if (el.data('data-type') === 'e2pdf-input') {
8158 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
8159 } else if (el.data('data-type') === 'e2pdf-textarea') {
8160 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
8161 }
8162 e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8163 e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8164 e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
8165 },
8166 // e2pdf.element.initEvents
8167 initEvents: function (element, page) {
8168 var min_width = 2;
8169 var min_height = 2;
8170 if (element.data('data-type') == 'e2pdf-rectangle') {
8171 min_height = 1;
8172 min_width = 1;
8173 }
8174 if (!page) {
8175 page = element.closest('.e2pdf-page');
8176 }
8177 element.off('contextmenu');
8178 element.contextmenu(function (e) {
8179 e2pdf.contextMenu(e, element);
8180 e.preventDefault();
8181 });
8182 if (element.hasClass('ui-draggable')) {
8183 try {
8184 element.draggable('destroy');
8185 element.removeData('ui-draggable');
8186 } catch (e) {
8187
8188 }
8189 }
8190 element.draggable({
8191 cancel: '.no-drag',
8192 handle: '.e2pdf-drag',
8193 containment: jQuery(page),
8194 stop: function (ev, ui) {
8195 var page = jQuery(this).closest('.e2pdf-page');
8196 for (var key in e2pdf.element.selected) {
8197 var selected = e2pdf.element.selected[key];
8198 if (selected.hasClass('e2pdf-width-auto')) {
8199 selected.css({'width': 'auto'});
8200 }
8201 if (selected.hasClass('e2pdf-height-auto')) {
8202 selected.css({'height': 'auto'});
8203 }
8204 e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8205 e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
8206 }
8207 jQuery('.page-options-icons').css('z-index', '');
8208 e2pdf.event.fire('after.element.moved');
8209 e2pdf.element.unselect();
8210 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8211 },
8212 drag: function (ev, ui) {
8213 var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.scale;
8214 var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.scale;
8215 left = Math.min(left, e2pdf.static.drag.max_left);
8216 top = Math.min(top, e2pdf.static.drag.max_top);
8217 ui.position = {
8218 left: Math.max(e2pdf.static.drag.min_left, left),
8219 top: Math.max(e2pdf.static.drag.min_top, top)
8220 };
8221 var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8222 var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8223 for (var key in e2pdf.element.selected) {
8224 var selected = e2pdf.element.selected[key];
8225 if (!selected.is(jQuery(this))) {
8226 selected.finish().animate({
8227 left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8228 top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8229 }, 0);
8230 }
8231 }
8232 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8233 var w = parseFloat(jQuery(this).css('width'));
8234 var h = parseFloat(jQuery(this).css('height'));
8235 var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8236 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8237 jQuery.each(el_guides, function (i, elemGuide) {
8238 if (guide.type == elemGuide.type) {
8239 var prop = guide.type == "h" ? "top" : "left";
8240 var d = Math.abs(elemGuide[prop] - guide[prop]);
8241 if (d < guides[prop].dist) {
8242 guides[prop].dist = d;
8243 guides[prop].offset = elemGuide[prop] - ui.position[prop];
8244 guides[prop].guide = guide;
8245 }
8246 }
8247 });
8248 });
8249 if (guides.top.dist <= e2pdf.static.guide.distance) {
8250 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8251 var snap_top = guides.top.guide.top - guides.top.offset;
8252 if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8253 ui.position.top = snap_top;
8254 var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8255 for (var key in e2pdf.element.selected) {
8256 var selected = e2pdf.element.selected[key];
8257 if (!selected.is(jQuery(this))) {
8258 selected.finish().animate({
8259 top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8260 }, 0);
8261 }
8262 }
8263 }
8264 } else {
8265 jQuery('.e2pdf-guide-h').hide();
8266 }
8267 if (guides.left.dist <= e2pdf.static.guide.distance) {
8268 jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8269 var snap_left = guides.left.guide.left - guides.left.offset;
8270 if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8271 ui.position.left = snap_left;
8272 var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8273 for (var key in e2pdf.element.selected) {
8274 var selected = e2pdf.element.selected[key];
8275 if (!selected.is(jQuery(this))) {
8276 selected.finish().animate({
8277 left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8278 }, 0);
8279 }
8280 }
8281 }
8282 } else {
8283 jQuery('.e2pdf-guide-v').hide();
8284 }
8285 },
8286 start: function (ev, ui) {
8287 if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8288 return false;
8289 }
8290 e2pdf.element.select(jQuery(this));
8291 e2pdf.static.drag.min_left = 0;
8292 e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8293 e2pdf.static.drag.min_top = 0;
8294 e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8295 var history = [];
8296 for (var key in e2pdf.element.selected) {
8297 var selected = e2pdf.element.selected[key];
8298 history.push(selected.clone(true));
8299 if (selected.hasClass('e2pdf-width-auto')) {
8300 selected.css({"width": "auto"});
8301 }
8302 if (selected.hasClass('e2pdf-height-auto')) {
8303 selected.css({"height": "auto"});
8304 }
8305 var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8306 var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8307 var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8308 var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8309 var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8310 var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8311 var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8312 var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8313 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);
8314 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);
8315 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);
8316 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);
8317 }
8318 e2pdf.history.set('element_change', history);
8319 e2pdf.zoom.click.x = ev.clientX;
8320 e2pdf.zoom.click.y = ev.clientY;
8321 jQuery('.page-options-icons').css('z-index', -1);
8322 }
8323 });
8324 if (element.hasClass('e2pdf-resizable')) {
8325 if (element.hasClass('ui-resizable')) {
8326 try {
8327 element.resizable('destroy');
8328 element.removeData('ui-resizable');
8329 } catch (e) {
8330
8331 }
8332 }
8333 element.resizable({
8334 handles: 'n, e, s, w, ne, se, sw, nw',
8335 aspectRatio: false,
8336 minHeight: min_height,
8337 minWidth: min_width,
8338 start: function (ev, ui) {
8339 var _process = function (el, resize) {
8340 var left = e2pdf.helper.getFloat(el.css('left'));
8341 var top = e2pdf.helper.getFloat(el.css('top'));
8342 var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8343 var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8344 var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8345 var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8346 var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8347 var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8348 var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8349 var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8350 var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8351 var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8352 var width = e2pdf.helper.getFloat(el.css('width'));
8353 var height = e2pdf.helper.getFloat(el.css('height'));
8354 el.resizable("option", "maxWidth", page_width - left);
8355 el.resizable("option", "maxHeight", page_height - top);
8356 if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8357 el.resizable("option", "maxWidth", left + width);
8358 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8359 el.resizable("option", "maxHeight", top + height);
8360 } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8361 el.resizable("option", "maxWidth", left + width);
8362 el.resizable("option", "maxHeight", top + height);
8363 }
8364 if (resize) {
8365 ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8366 ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
8367 }
8368 };
8369 _process(jQuery(this), true);
8370 e2pdf.zoom.click.x = ev.clientX;
8371 e2pdf.zoom.click.y = ev.clientY;
8372 var history = [];
8373 history.push(jQuery(this).clone(true));
8374 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8375 var selected = jQuery(this);
8376 history.push(selected.clone(true));
8377 var width = e2pdf.helper.getFloat(selected.css('width'));
8378 var height = e2pdf.helper.getFloat(selected.css('height'));
8379 selected.data("ui-resizable-alsoresize", {
8380 width: width,
8381 height: height,
8382 left: e2pdf.helper.getFloat(selected.css('left')),
8383 top: e2pdf.helper.getFloat(selected.css('top'))
8384 });
8385 _process(jQuery(this), false);
8386 });
8387 e2pdf.history.set('element_change', history);
8388 e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8389 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
8390 },
8391 resize: function (ev, ui) {
8392 if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8393 var axis = ui.element.data("ui-resizable").axis;
8394 if (axis != 'nw' && axis != 'sw') {
8395 ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8396 ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
8397 }
8398 }
8399 var delta = {
8400 height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8401 width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8402 top: (ui.position.top - ui.originalPosition.top) || 0,
8403 left: (ui.position.left - ui.originalPosition.left) || 0
8404 };
8405 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8406 var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8407 var style = {};
8408 var css = ["width", "height", "top", "left"];
8409 jQuery.each(css, function (i, prop) {
8410 var sum = (start[prop] || 0) + (delta[prop] || 0);
8411 if (sum) {
8412 if (prop == 'width') {
8413 if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8414 style[prop] = sum;
8415 }
8416 } else if (prop == 'height') {
8417 if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8418 style[prop] = sum;
8419 }
8420 } else if (prop == 'left') {
8421 if (sum >= 0) {
8422 style[prop] = sum;
8423 }
8424 } else if (prop == 'top') {
8425 if (sum >= 0) {
8426 style[prop] = sum;
8427 }
8428 }
8429 }
8430 });
8431 el.css(style);
8432 });
8433 var handle = ui.element.data("ui-resizable").axis;
8434 jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
8435 var w = parseFloat(jQuery(this).css('width'));
8436 var h = parseFloat(jQuery(this).css('height'));
8437 if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8438 var hGuides = {dist: e2pdf.static.guide.distance + 1};
8439 var hPosition = ui.position.top;
8440 var hEdgeValue = ui.position.top;
8441 if (handle.indexOf('s') !== -1) {
8442 hEdgeValue = ui.position.top + h;
8443 }
8444 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8445 if (guide.type == "h") {
8446 var d = Math.abs(hEdgeValue - guide.top);
8447 if (d < hGuides.dist) {
8448 hGuides.dist = d;
8449 hGuides.guide = guide;
8450 hGuides.offset = hEdgeValue - hPosition;
8451 }
8452 }
8453 });
8454 if (hGuides.dist <= e2pdf.static.guide.distance) {
8455 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8456 var snap_top = hGuides.guide.top - hGuides.offset;
8457 if (handle.indexOf('n') !== -1) {
8458 var heightDiff = ui.position.top - snap_top;
8459 ui.position.top = snap_top;
8460 ui.size.height += heightDiff;
8461 } else if (handle.indexOf('s') !== -1) {
8462 var newHeight = hGuides.guide.top - ui.position.top;
8463 if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8464 ui.size.height = newHeight;
8465 }
8466 }
8467 }
8468 }
8469 if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8470 var vGuides = {dist: e2pdf.static.guide.distance + 1};
8471 var vPosition = ui.position.left;
8472 var vEdgeValue = ui.position.left;
8473 if (handle.indexOf('e') !== -1) {
8474 vEdgeValue = ui.position.left + w;
8475 }
8476 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8477 if (guide.type == "v") {
8478 var d = Math.abs(vEdgeValue - guide.left);
8479 if (d < vGuides.dist) {
8480 vGuides.dist = d;
8481 vGuides.guide = guide;
8482 vGuides.offset = vEdgeValue - vPosition;
8483 }
8484 }
8485 });
8486 if (vGuides.dist <= e2pdf.static.guide.distance) {
8487 jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8488 var snap_left = vGuides.guide.left - vGuides.offset;
8489 if (handle.indexOf('w') !== -1) {
8490 var widthDiff = ui.position.left - snap_left;
8491 ui.position.left = snap_left;
8492 ui.size.width += widthDiff;
8493 } else if (handle.indexOf('e') !== -1) {
8494 var newWidth = vGuides.guide.left - ui.position.left;
8495 if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8496 ui.size.width = newWidth;
8497 }
8498 }
8499 }
8500 }
8501 },
8502 stop: function (event, ui) {
8503 ui.size.width = Math.round(ui.size.width);
8504 ui.size.height = Math.round(ui.size.height);
8505 var _process = function (el, width, height) {
8506 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') {
8507 width += el.outerWidth() - el.width();
8508 height += el.outerWidth() - el.width();
8509 }
8510 e2pdf.properties.set(el, 'width', width);
8511 e2pdf.properties.set(el, 'height', height);
8512 e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8513 e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8514 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') {
8515 e2pdf.properties.render(el);
8516 }
8517 };
8518 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8519 jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8520 _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8521 jQuery(this).removeData("resizable-alsoresize");
8522 });
8523 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8524 }
8525 });
8526 }
8527 },
8528 // e2pdf.element.create
8529 create: function (type, page, properties, actions, default_properties, onload, element_id) {
8530 var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8531 var min_height = 2;
8532 var min_width = 2;
8533 if (!properties) {
8534 properties = {};
8535 }
8536 if (!actions) {
8537 actions = {};
8538 }
8539 switch (type) {
8540 case 'e2pdf-input':
8541 if (default_properties) {
8542 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8543 properties['width'] = '200';
8544 }
8545 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8546 properties['height'] = size;
8547 }
8548 if (!properties.hasOwnProperty('border')) {
8549 properties['border'] = '1';
8550 }
8551 if (!properties.hasOwnProperty('border_color')) {
8552 properties['border_color'] = '#000000';
8553 }
8554 }
8555 var element =
8556 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8557 jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8558 jQuery('<i>', {'class': 'e2pdf-drag'})
8559 );
8560 break;
8561 case 'e2pdf-textarea':
8562 if (default_properties) {
8563 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8564 properties['width'] = '200';
8565 }
8566 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8567 properties['height'] = '100';
8568 }
8569 if (!properties.hasOwnProperty('border')) {
8570 properties['border'] = '1';
8571 }
8572 if (!properties.hasOwnProperty('border_color')) {
8573 properties['border_color'] = '#000000';
8574 }
8575 }
8576 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8577 jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8578 jQuery('<i>', {'class': 'e2pdf-drag'})
8579 );
8580 break;
8581 case 'e2pdf-checkbox':
8582 if (default_properties) {
8583 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8584 properties['width'] = size;
8585 }
8586 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8587 properties['height'] = size;
8588 }
8589 if (!properties.hasOwnProperty('option')) {
8590 properties['option'] = 'option';
8591 }
8592 if (!properties.hasOwnProperty('border')) {
8593 properties['border'] = '1';
8594 }
8595 if (!properties.hasOwnProperty('border_color')) {
8596 properties['border_color'] = '#000000';
8597 }
8598 }
8599 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8600 jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8601 jQuery('<i>', {'class': 'e2pdf-drag'})
8602 );
8603 break;
8604 case 'e2pdf-radio':
8605 if (default_properties) {
8606 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8607 properties['width'] = size;
8608 }
8609 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8610 properties['height'] = size;
8611 }
8612 if (!properties.hasOwnProperty('group')) {
8613 properties['group'] = 'group';
8614 }
8615 if (!properties.hasOwnProperty('option')) {
8616 properties['option'] = 'option';
8617 }
8618 if (!properties.hasOwnProperty('border')) {
8619 properties['border'] = '1';
8620 }
8621 if (!properties.hasOwnProperty('border_color')) {
8622 properties['border_color'] = '#000000';
8623 }
8624 if (!properties.hasOwnProperty('text_type')) {
8625 properties['text_type'] = 'circle';
8626 }
8627
8628 }
8629 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8630 jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8631 jQuery('<i>', {'class': 'e2pdf-drag'})
8632 );
8633 break;
8634 case 'e2pdf-select':
8635 if (default_properties) {
8636 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8637 properties['width'] = '200';
8638 }
8639 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8640 properties['height'] = size;
8641 }
8642 if (!properties.hasOwnProperty('options')) {
8643 properties['options'] = '';
8644 }
8645 if (!properties.hasOwnProperty('border')) {
8646 properties['border'] = '1';
8647 }
8648 if (!properties.hasOwnProperty('border_color')) {
8649 properties['border_color'] = '#000000';
8650 }
8651 }
8652 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8653 jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8654 ),
8655 jQuery('<i>', {'class': 'e2pdf-drag'})
8656 );
8657 break;
8658 case 'e2pdf-signature':
8659 if (default_properties) {
8660 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8661 properties['width'] = '200';
8662 }
8663 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8664 properties['height'] = '75';
8665 }
8666 if (!properties.hasOwnProperty('vertical')) {
8667 properties['vertical'] = 'bottom';
8668 }
8669 if (!properties.hasOwnProperty('block_dimension')) {
8670 properties['block_dimension'] = '1';
8671 }
8672 if (!properties.hasOwnProperty('dimension')) {
8673 properties['dimension'] = '1';
8674 }
8675 if (!properties.hasOwnProperty('opacity')) {
8676 properties['opacity'] = '1';
8677 }
8678 } else {
8679 // backward compatibility
8680 if (!properties.hasOwnProperty('opacity')) {
8681 properties['opacity'] = '1';
8682 }
8683 }
8684 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8685 jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8686 jQuery('<i>', {'class': 'e2pdf-drag'})
8687 );
8688 break;
8689 case 'e2pdf-html':
8690 if (default_properties) {
8691 if (!properties.hasOwnProperty('width')) {
8692 properties['width'] = '200';
8693 } else if (properties['width'] === 'auto') {
8694 properties['width'] = size;
8695 }
8696 if (!properties.hasOwnProperty('height')) {
8697 properties['height'] = size;
8698 } else if (properties['height'] === 'auto') {
8699 delete properties['height'];
8700 }
8701 if (!properties.hasOwnProperty('html_worker')) {
8702 properties['html_worker'] = '1';
8703 }
8704 if (!properties.hasOwnProperty('css_priority')) {
8705 properties['css_priority'] = '1';
8706 }
8707 }
8708 if (properties['wysiwyg_disable'] == '1') {
8709 var element =
8710 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8711 jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8712 jQuery('<i>', {'class': 'e2pdf-drag'})
8713 );
8714 } else {
8715 var element =
8716 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8717 jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8718 jQuery('<i>', {'class': 'e2pdf-drag'})
8719 );
8720 }
8721 break;
8722 case 'e2pdf-image':
8723 if (default_properties) {
8724 if (!properties.hasOwnProperty('dimension')) {
8725 properties['dimension'] = '1';
8726 }
8727 if (!properties.hasOwnProperty('opacity')) {
8728 properties['opacity'] = '1';
8729 }
8730 if (!properties.hasOwnProperty('block_dimension')) {
8731 properties['block_dimension'] = '1';
8732 }
8733 if (!properties.hasOwnProperty('vertical')) {
8734 properties['vertical'] = 'bottom';
8735 }
8736 if (!properties.hasOwnProperty('pdf_resample')) {
8737 properties['pdf_resample'] = '-1';
8738 }
8739 } else {
8740 // backward compatibility
8741 if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8742 properties['block_dimension'] = '1';
8743 }
8744 if (!properties.hasOwnProperty('opacity')) {
8745 properties['opacity'] = '1';
8746 }
8747 if (!properties.hasOwnProperty('pdf_resample')) {
8748 properties['pdf_resample'] = '150';
8749 }
8750 }
8751 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8752 jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8753 jQuery('<i>', {'class': 'e2pdf-drag'})
8754 );
8755 break;
8756 case 'e2pdf-rectangle':
8757 if (default_properties) {
8758 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8759 properties['width'] = '200';
8760 }
8761 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8762 properties['height'] = '5';
8763 }
8764 if (!properties.hasOwnProperty('background')) {
8765 properties['background'] = '#000000';
8766 }
8767 }
8768 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8769 jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8770 jQuery('<i>', {'class': 'e2pdf-drag'})
8771 );
8772 break;
8773 case 'e2pdf-link':
8774 if (default_properties) {
8775 if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8776 properties['width'] = '200';
8777 }
8778
8779 if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8780 properties['height'] = size;
8781 }
8782 }
8783 var element =
8784 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8785 jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8786 jQuery('<i>', {'class': 'e2pdf-drag'})
8787 );
8788 break;
8789 case 'e2pdf-qrcode':
8790 if (default_properties) {
8791 if (!properties.hasOwnProperty('color')) {
8792 properties['color'] = '#000000';
8793 }
8794 if (!properties.hasOwnProperty('background')) {
8795 properties['background'] = '#ffffff';
8796 }
8797 if (!properties.hasOwnProperty('wq')) {
8798 properties['wq'] = '1';
8799 }
8800 }
8801 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8802 jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8803 jQuery('<i>', {'class': 'e2pdf-drag'})
8804 );
8805 break;
8806 case 'e2pdf-barcode':
8807 if (default_properties) {
8808 if (!properties.hasOwnProperty('color')) {
8809 properties['color'] = '#000000';
8810 }
8811 if (!properties.hasOwnProperty('text_color')) {
8812 properties['text_color'] = '#000000';
8813 }
8814 if (!properties.hasOwnProperty('vertical')) {
8815 properties['vertical'] = 'middle';
8816 }
8817 if (!properties.hasOwnProperty('horizontal')) {
8818 properties['horizontal'] = 'center';
8819 }
8820 if (!properties.hasOwnProperty('wq')) {
8821 properties['wq'] = '1';
8822 }
8823 if (!properties.hasOwnProperty('dimension')) {
8824 properties['dimension'] = '1';
8825 }
8826 if (!properties.hasOwnProperty('background')) {
8827 properties['background'] = '#ffffff';
8828 }
8829 if (!properties.hasOwnProperty('margin_top')) {
8830 properties['margin_top'] = '10';
8831 }
8832 if (!properties.hasOwnProperty('margin_left')) {
8833 properties['margin_left'] = '10';
8834 }
8835 if (!properties.hasOwnProperty('margin_right')) {
8836 properties['margin_right'] = '10';
8837 }
8838 if (!properties.hasOwnProperty('margin_bottom')) {
8839 properties['margin_bottom'] = '10';
8840 }
8841 } else {
8842 // backward compatibility
8843 if (!properties.hasOwnProperty('scale')) {
8844 properties['scale'] = '1';
8845 }
8846 if (!properties.hasOwnProperty('margin_top')) {
8847 properties['margin_top'] = '10';
8848 }
8849 if (!properties.hasOwnProperty('margin_left')) {
8850 properties['margin_left'] = '10';
8851 }
8852 if (!properties.hasOwnProperty('margin_right')) {
8853 properties['margin_right'] = '10';
8854 }
8855 if (!properties.hasOwnProperty('margin_bottom')) {
8856 properties['margin_bottom'] = '10';
8857 }
8858 }
8859 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8860 jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8861 jQuery('<i>', {'class': 'e2pdf-drag'})
8862 );
8863 break;
8864 case 'e2pdf-page-number':
8865 if (default_properties) {
8866 if (!properties.hasOwnProperty('width')) {
8867 properties['width'] = '100';
8868 } else if (properties['width'] === 'auto') {
8869 properties['width'] = '100';
8870 }
8871 if (!properties.hasOwnProperty('height')) {
8872 properties['height'] = size;
8873 } else if (properties['height'] === 'auto') {
8874 delete properties['height'];
8875 }
8876 if (!properties.hasOwnProperty('text_align')) {
8877 properties['text_align'] = 'center';
8878 }
8879 if (!properties.hasOwnProperty('html_worker')) {
8880 properties['html_worker'] = '1';
8881 }
8882 if (!properties.hasOwnProperty('value')) {
8883 properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8884 }
8885 }
8886 var value = properties['value'] ? properties['value'] : '';
8887 var element =
8888 jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8889 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'))),
8890 jQuery('<i>', {'class': 'e2pdf-drag'})
8891 );
8892 break;
8893 case 'e2pdf-graph':
8894 if (default_properties) {
8895 // Graph
8896 properties['g_palette'] = '#1e73be';
8897 properties['g_stroke_colour'] = '#000000';
8898 properties['g_stroke_width'] = '1';
8899 properties['g_sort'] = '1';
8900 // Titles
8901 properties['g_graph_title_colour'] = '#000000';
8902 properties['g_graph_title_space'] = '10';
8903 // Labels
8904 properties['g_label_colour'] = '#000000';
8905 properties['g_label_font_size'] = '10';
8906 properties['g_label_space'] = '10';
8907 // Markers
8908 properties['g_marker_colour'] = '#000000';
8909 properties['g_marker_size'] = '3';
8910 // Legend
8911 properties['g_legend_back_colour'] = '#ffffff';
8912 properties['g_legend_stroke_colour'] = '#000000';
8913 properties['g_legend_stroke_width'] = '1';
8914 properties['g_legend_entry_width'] = '20';
8915 properties['g_legend_entry_height'] = '20';
8916 properties['g_legend_padding_x'] = '5';
8917 properties['g_legend_padding_y'] = '5';
8918 properties['g_legend_colour'] = '#000000';
8919 properties['g_legend_font_size'] = '10';
8920 properties['g_show_legend'] = '1';
8921 // Grid
8922 properties['g_grid_colour'] = '#eeeeee';
8923 properties['g_grid_subdivision_colour'] = '#eeeeee';
8924 properties['g_minimum_grid_spacing'] = '20';
8925 properties['g_show_grid'] = '1';
8926 properties['g_show_grid_subdivisions'] = '1';
8927 // Axis
8928 properties['g_axis_colour'] = '#000000';
8929 properties['g_axis_font_size'] = '12';
8930 properties['g_show_axis_v'] = '1';
8931 properties['g_show_axis_text_v'] = '1';
8932 properties['g_show_axis_h'] = '1';
8933 properties['g_show_axis_text_h'] = '1';
8934 properties['g_show_subdivisions'] = '1';
8935 properties['g_axis_overlap'] = '5';
8936 properties['g_axis_stroke_width_v'] = '1';
8937 properties['g_axis_stroke_width_h'] = '1';
8938 // Bar Label
8939 properties['g_bar_label_colour'] = '#000000';
8940 properties['g_bar_label_font_size'] = '10';
8941 properties['g_bar_label_space'] = '3';
8942 properties['g_show_bar_labels'] = '1';
8943 properties['g_project_angle'] = '45';
8944 properties['g_depth'] = '20';
8945 properties['g_aspect_ratio'] = '1';
8946 properties['margin_top'] = '10';
8947 properties['margin_left'] = '10';
8948 properties['margin_right'] = '10';
8949 properties['margin_bottom'] = '10';
8950 properties['g_multiline'] = '2';
8951 // Bar
8952 properties['g_bar_width'] = '0';
8953 properties['g_bar_width_min'] = '1';
8954 properties['g_bar_space'] = '10';
8955 properties['g_show_labels'] = '1';
8956 properties['g_show_label_key'] = '1';
8957 properties['g_inner_radius'] = '0.5';
8958 properties['g_fill_opacity'] = '1';
8959 properties['g_axis_text_space_v'] = '2';
8960 properties['g_axis_text_space_h'] = '2';
8961 } else {
8962 // backward compatibility
8963 if (!properties.hasOwnProperty('g_depth')) {
8964 properties['g_depth'] = '40';
8965 }
8966 if (!properties.hasOwnProperty('g_aspect_ratio')) {
8967 properties['g_aspect_ratio'] = '1';
8968 }
8969 if (!properties.hasOwnProperty('g_legend_entry_height')) {
8970 properties['g_legend_entry_height'] = '20';
8971 }
8972 if (!properties.hasOwnProperty('g_bar_width')) {
8973 properties['g_bar_width'] = '0';
8974 }
8975 if (!properties.hasOwnProperty('g_bar_width_min')) {
8976 properties['g_bar_width_min'] = '1';
8977 }
8978 if (!properties.hasOwnProperty('g_bar_space')) {
8979 properties['g_bar_space'] = '10';
8980 }
8981 // backward compatibility
8982 if (!properties.hasOwnProperty('g_show_labels')) {
8983 properties['g_show_labels'] = '1';
8984 }
8985 if (!properties.hasOwnProperty('g_show_label_key')) {
8986 properties['g_show_label_key'] = '1';
8987 }
8988 if (!properties.hasOwnProperty('g_inner_radius')) {
8989 properties['g_inner_radius'] = '0.5';
8990 }
8991 if (!properties.hasOwnProperty('g_fill_opacity')) {
8992 properties['g_fill_opacity'] = '1';
8993 }
8994 if (!properties.hasOwnProperty('g_axis_text_space_v')) {
8995 properties['g_axis_text_space_v'] = '2';
8996 }
8997 if (!properties.hasOwnProperty('g_axis_text_space_h')) {
8998 properties['g_axis_text_space_h'] = '2';
8999 }
9000 }
9001 var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
9002 jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
9003 jQuery('<i>', {'class': 'e2pdf-drag'})
9004 );
9005 break;
9006 default:
9007 break;
9008 }
9009
9010 if (typeof element !== 'undefined') {
9011 if (!element_id) {
9012 var last_id = 0;
9013 jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
9014 var num_id = parseInt(jQuery(this).attr("data-element_id"));
9015 if (num_id > last_id) {
9016 last_id = num_id;
9017 }
9018 });
9019 element_id = parseInt(last_id + 1);
9020 }
9021 element.addClass('e2pdf-element');
9022 element.attr('data-element_id', element_id);
9023 element.data('data-type', type);
9024 if (properties.hasOwnProperty('width')) {
9025 element.css({'width': properties['width']});
9026 }
9027 if (properties.hasOwnProperty('height')) {
9028 element.css({'height': properties['height']});
9029 }
9030 if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
9031 element.css({'top': properties['top'], 'left': properties['left']});
9032 }
9033 element.css({"position": "absolute"});
9034 e2pdf.properties.apply(element, properties, onload);
9035 e2pdf.actions.apply(element, actions);
9036 e2pdf.element.initEvents(element, page);
9037 if (!onload) {
9038 e2pdf.event.fire('after.element.create');
9039 }
9040 return element;
9041 } else {
9042 return false;
9043 }
9044 },
9045 // e2pdf.element.children
9046 children: function (el) {
9047 var children = el.find('.' + el.data('data-type'));
9048 return children;
9049 },
9050 // e2pdf.element.select
9051 select: function (el) {
9052 var selected = false;
9053 for (var key in e2pdf.element.selected) {
9054 if (e2pdf.element.selected[key].is(el)) {
9055 selected = true;
9056 }
9057 }
9058 if (!selected) {
9059 el.addClass('e2pdf-selected');
9060 e2pdf.element.selected.push(el);
9061 }
9062 },
9063 // e2pdf.element.unselect
9064 unselect: function (el) {
9065 if (!el) {
9066 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
9067 e2pdf.element.selected = [];
9068 } else {
9069 for (var key in e2pdf.element.selected) {
9070 if (e2pdf.element.selected[key].is(el)) {
9071 el.removeClass('e2pdf-selected');
9072 delete e2pdf.element.selected[key];
9073 }
9074 }
9075 }
9076 },
9077 // e2pdf.element.unfocus
9078 unfocus: function (el) {
9079 e2pdf.wysiwyg.helper.dropSelection();
9080 if (!el) {
9081 jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9082 jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9083 jQuery(this).blur();
9084 });
9085 } else {
9086 el.find('.e2pdf-inner-element').blur();
9087 el.removeClass('e2pdf-focused');
9088 }
9089 },
9090 // e2pdf.element.focus
9091 focus: function (el) {
9092 el.one('beforeinput', function (e) {
9093 var history = [];
9094 history.push(el.clone(true));
9095 e2pdf.history.set('element_change', history);
9096 });
9097 var el_inner = el.find('.e2pdf-inner-element');
9098 if (el_inner.is('div.e2pdf-html')) {
9099 var node = el_inner.get(0);
9100 if (node) {
9101 node.focus();
9102 if (window.getSelection && document.createRange) {
9103 var range = document.createRange();
9104 var selection = window.getSelection();
9105 range.selectNodeContents(node);
9106 range.collapse(false);
9107 selection.removeAllRanges();
9108 selection.addRange(range);
9109 }
9110 } else {
9111 el_inner.focus();
9112 }
9113 } else {
9114 el_inner.focus();
9115 }
9116 el.addClass('e2pdf-focused');
9117 },
9118 // e2pdf.element.hide
9119 hide: function (el) {
9120 el.addClass('e2pdf-hide');
9121 },
9122 // e2pdf.element.show
9123 show: function (el) {
9124 el.removeClass('e2pdf-hide');
9125 },
9126 // e2pdf.element.delete
9127 delete: function (el) {
9128 el.remove();
9129 e2pdf.event.fire('after.element.delete');
9130 }
9131 },
9132 // e2pdf.storage
9133 storage: {
9134 get: function (key) {
9135 return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9136 },
9137 set: function (key, data) {
9138 localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9139 },
9140 delete: function (key) {
9141 localStorage.removeItem('e2pdf_' + key);
9142 }
9143 },
9144 // e2pdf.history
9145 history: {
9146 // e2pdf.history.set
9147 set: function (action, elements, data) {
9148 if (elements && elements.length > 0) {
9149 var history = {
9150 'action': action,
9151 'elements': elements,
9152 'data': data,
9153 };
9154 e2pdf.history.undoStack.push(history);
9155 if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9156 e2pdf.history.undoStack.shift();
9157 }
9158 if (e2pdf.history.undoStack.length > 0) {
9159 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9160 }
9161 }
9162 },
9163 // e2pdf.history.undo
9164 undo: function () {
9165 var history = e2pdf.history.undoStack.pop();
9166 if (history) {
9167 e2pdf.element.unselect();
9168 if (history.action == 'element_change') {
9169 for (var key in history.elements) {
9170 var buffered = history.elements[key];
9171 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9172 e2pdf.element.initEvents(buffered);
9173 e2pdf.element.select(buffered);
9174 }
9175 } else if (history.action == 'element_create') {
9176 for (var key in history.elements) {
9177 var buffered = history.elements[key];
9178 if (buffered.hasClass('e2pdf-page')) {
9179 jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9180 if (jQuery('.e2pdf-page').length == 0) {
9181 e2pdf.history.undo();
9182 }
9183 } else {
9184 jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9185 }
9186 }
9187 } else if (history.action == 'element_delete') {
9188 for (var key in history.elements) {
9189 var buffered = history.elements[key];
9190 var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9191 page.append(buffered);
9192 e2pdf.element.initEvents(buffered, page);
9193 e2pdf.element.select(buffered);
9194 }
9195 } else if (history.action == 'page_change') {
9196 for (var key in history.elements) {
9197 var buffered = history.elements[key];
9198 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9199 page.data('data-type', 'e2pdf-page');
9200 jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9201 if (buffered.css('background-image')) {
9202 page.css('background-image', buffered.css('background-image'));
9203 }
9204 buffered.find('.e2pdf-element').each(function () {
9205 page.append(jQuery(this));
9206 e2pdf.element.initEvents(jQuery(this), page);
9207 });
9208 e2pdf.pages.initEvents(page);
9209 e2pdf.pages.rebuildPages();
9210 }
9211 if (history.data) {
9212 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9213 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9214 }
9215 } else if (history.action == 'page_delete') {
9216 for (var key in history.elements) {
9217 var buffered = history.elements[key];
9218 var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9219 page.data('data-type', 'e2pdf-page');
9220 e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9221 e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9222 if (buffered.attr('data-page_id') == '1') {
9223 jQuery('.e2pdf-tpl-inner').prepend(page);
9224 } else {
9225 page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9226 }
9227 if (buffered.css('background-image')) {
9228 page.css('background-image', buffered.css('background-image'));
9229 }
9230 buffered.find('.e2pdf-element').each(function () {
9231 page.append(jQuery(this));
9232 e2pdf.element.initEvents(jQuery(this), page);
9233 });
9234 e2pdf.pages.initEvents(page);
9235 e2pdf.pages.rebuildPages();
9236 }
9237 if (history.data) {
9238 jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9239 jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9240 }
9241 } else if (history.action == 'wysiwyg') {
9242 for (var key in history.elements) {
9243 var buffered = history.elements[key];
9244 buffered.focus();
9245 document.execCommand('undo');
9246 }
9247 }
9248 if (e2pdf.history.undoStack.length == 0) {
9249 jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9250 }
9251 }
9252 },
9253 // e2pdf.history.redo
9254 redo: function () {
9255
9256 },
9257 clear: function () {
9258 e2pdf.history.undoStack = [];
9259 jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9260 },
9261 // e2pdf.history.undoStack
9262 undoStack: []
9263 },
9264 // e2pdf.copy
9265 copy: function (key, el) {
9266 e2pdf.element.init(el);
9267 switch (key) {
9268 case 'style':
9269 var data = {
9270 'type': el.data('data-type'),
9271 'fields': e2pdf.properties.getFields(el)
9272 };
9273 e2pdf.storage.set(key, data);
9274 break;
9275 case 'width':
9276 var data = {
9277 'width': e2pdf.properties.getValue(el, 'width', 'float')
9278 };
9279 e2pdf.storage.set(key, data);
9280 break;
9281 case 'height':
9282 var data = {
9283 'height': e2pdf.properties.getValue(el, 'height', 'float')
9284 };
9285 e2pdf.storage.set(key, data);
9286 break;
9287 case 'elements':
9288 var elements = e2pdf.storage.get('elements');
9289 if (elements == null) {
9290 elements = [];
9291 }
9292 var data = {
9293 'type': el.data('data-type'),
9294 'top': el.css('top'),
9295 'left': el.css('left'),
9296 'width': el.css('width'),
9297 'height': el.css('height'),
9298 'fields': e2pdf.properties.getFields(el),
9299 'properties': e2pdf.properties.get(el),
9300 'actions': e2pdf.actions.get(el)
9301 };
9302 elements.push(data);
9303 e2pdf.storage.set(key, elements);
9304 break;
9305 case 'actions':
9306 var data = {
9307 'actions': e2pdf.actions.get(el)
9308 };
9309 e2pdf.storage.set(key, data);
9310 break;
9311 }
9312 },
9313 // e2pdf.paste
9314 paste: function (key, el) {
9315 if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9316 switch (key) {
9317 case 'style':
9318 if (e2pdf.storage.get('style').type == el.data('data-type')) {
9319 e2pdf.element.init(el);
9320 var groups = e2pdf.storage.get('style').fields;
9321 for (var group_key in groups) {
9322 var group = groups[group_key];
9323 for (var field_key in group.fields) {
9324 var group_field = group.fields[field_key];
9325 if (group_field.type != 'link') {
9326 if (jQuery.inArray(group_field.key, [
9327 'page_id',
9328 'element_id',
9329 'element_type',
9330 'width',
9331 'height',
9332 'top',
9333 'left',
9334 'name',
9335 'field_name',
9336 'z_index',
9337 'group',
9338 'option',
9339 'options',
9340 'css',
9341 'parent',
9342 'value',
9343 'preg_pattern',
9344 'preg_replacement',
9345 'preg_match_all_pattern',
9346 'preg_match_all_output',
9347 'wysiwyg_disable',
9348 'multipage',
9349 'dynamic_height',
9350 'nl2br',
9351 'hide_if_empty',
9352 'hide_page_if_empty',
9353 'css_priority',
9354 'pdf_resample',
9355 'pdf_append',
9356 'html_worker',
9357 'esig',
9358 'dimension',
9359 'block_dimension',
9360 'keep_lower_size',
9361 'fill_image',
9362 'only_image',
9363 'hl',
9364 'placeholder',
9365 'pdf_page',
9366 'format',
9367 'g_type',
9368 'g_structure_key',
9369 'g_structure_value',
9370 'g_structure_colour',
9371 'g_structure_axis_text',
9372 'g_structure_legend_text',
9373 'g_structure_label',
9374 'g_structure_area',
9375 'g_structure_open',
9376 'g_structure_end',
9377 'g_structure_outliers',
9378 'g_structure_top',
9379 'g_structure_bottom',
9380 'g_structure_wtop',
9381 'g_structure_wbottom',
9382 'g_structure_high',
9383 'g_structure_low',
9384 'g_structured_data',
9385 'g_key_sep',
9386 'g_array_sep',
9387 'g_sub_array_sep',
9388 'g_graph_title',
9389 'g_label_v',
9390 'g_label_h',
9391 'g_legend_title'
9392 ]) === -1) {
9393 e2pdf.properties.set(el, group_field.key, group_field.value);
9394 }
9395 }
9396 }
9397 }
9398 e2pdf.properties.render(el);
9399 }
9400 break;
9401 case 'elements':
9402 case 'elements-in-place':
9403 e2pdf.element.unselect();
9404 var context = jQuery('.e2pdf-context');
9405 var page = context.closest('.e2pdf-page');
9406 var min_top = 99999999;
9407 var min_left = 99999999;
9408 var left_correction = 0;
9409 var top_correction = 0;
9410 if (key !== 'elements-in-place') {
9411 for (var element in e2pdf.storage.get('elements')) {
9412 var buffered = e2pdf.storage.get('elements')[element];
9413 var properties = buffered.properties;
9414 min_top = Math.min(parseFloat(properties['top']), min_top);
9415 min_left = Math.min(parseFloat(properties['left']), min_left);
9416 }
9417 for (var element in e2pdf.storage.get('elements')) {
9418 var buffered = e2pdf.storage.get('elements')[element];
9419 var properties = buffered.properties;
9420 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9421 if (context.hasClass('e2pdf-context-bottom')) {
9422 top += context.height();
9423 }
9424 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9425 if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9426 var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9427 left_correction = Math.max(correction, left_correction);
9428 }
9429 if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9430 var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9431 top_correction = Math.max(correction, top_correction);
9432 }
9433 }
9434 }
9435
9436 var history = [];
9437 for (var element in e2pdf.storage.get('elements')) {
9438 var buffered = e2pdf.storage.get('elements')[element];
9439 var properties = buffered.properties;
9440 var actions = buffered.actions;
9441 if (key !== 'elements-in-place') {
9442 var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9443 if (context.hasClass('e2pdf-context-bottom')) {
9444 top += context.height();
9445 }
9446 var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9447 properties['top'] = top;
9448 properties['left'] = left;
9449 }
9450 var el = e2pdf.element.create(buffered.type, page, properties, actions);
9451 page.append(el);
9452 e2pdf.properties.render(el);
9453 e2pdf.element.select(el);
9454 history.push(el.clone(true));
9455 }
9456 e2pdf.history.set('element_create', history);
9457 e2pdf.event.fire('after.element.paste');
9458 break;
9459 case 'actions':
9460 e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9461 break;
9462 case 'width':
9463 e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9464 e2pdf.properties.render(el);
9465 break;
9466 case 'height':
9467 e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9468 e2pdf.properties.render(el);
9469 break;
9470 }
9471 }
9472 },
9473 // e2pdf.wysiwyg
9474 wysiwyg: {
9475 // e2pdf.wysiwyg.apply
9476 apply: function (el) {
9477 var history = [];
9478 history.push(el);
9479 e2pdf.history.set('wysiwyg', history);
9480 var html = '';
9481 var command = el.attr('data-command');
9482 var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9483 if (command === 'H1') {
9484 if (node.is("h1") && document.getSelection().toString() === node.text()) {
9485 e2pdf.wysiwyg.clear('h1');
9486 } else {
9487 html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9488 document.execCommand('insertHTML', false, html);
9489 }
9490 } else if (command === 'H2') {
9491 if (node.is("h2") && document.getSelection().toString() === node.text()) {
9492 e2pdf.wysiwyg.clear('h2');
9493 } else {
9494 html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9495 document.execCommand('insertHTML', false, html);
9496 }
9497 } else if (command === 'createlink') {
9498 url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
9499 document.execCommand(command, false, url);
9500 } else if (command === 'font-size') {
9501 var font_size = el.find('option:selected').html();
9502 if (node.is("span") && document.getSelection().toString() === node.text()) {
9503 html = node.css('font-size', font_size + "px").prop('outerHTML');
9504 } else {
9505 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
9506 }
9507 document.execCommand('insertHTML', false, html);
9508 el.val('');
9509 } else if (command === 'line-height') {
9510 var font_size = el.find('option:selected').html();
9511 if (node.is("span") && document.getSelection().toString() === node.text()) {
9512 html = node.css('line-height', font_size + "px").prop('outerHTML');
9513 } else {
9514 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9515 }
9516 document.execCommand('insertHTML', false, html);
9517 el.val('');
9518 } else if (command === 'font') {
9519 e2pdf.font.load(el);
9520 var font = CSS.escape(el.find('option:selected').html());
9521 if (node.is("span") && document.getSelection().toString() === node.text()) {
9522 html = node.css('font-family', font).prop('outerHTML');
9523 } else {
9524 html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
9525 }
9526 document.execCommand('insertHTML', false, html);
9527 el.val('');
9528 } else if (command === 'color') {
9529 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
9530 var color = el.val();
9531 document.execCommand('foreColor', false, color);
9532 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
9533 } else if (command === 'clear') {
9534 document.execCommand("removeformat", false, "");
9535 e2pdf.wysiwyg.clear();
9536 } else if (command) {
9537 document.execCommand(command, false, null);
9538 }
9539 e2pdf.event.fire('after.wysiwyg.apply');
9540 },
9541 // e2pdf.wysiwyg.clear
9542 clear: function (tags) {
9543 if (!tags) {
9544 var tags = "h1,h2";
9545 }
9546 var array = tags.toLowerCase().split(",");
9547 e2pdf.wysiwyg.helper.getSelectedNodes().forEach(function (node) {
9548 if (node.nodeType === 1 &&
9549 array.indexOf(node.tagName.toLowerCase()) > -1) {
9550 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
9551 }
9552 });
9553 },
9554 // e2pdf.wysiwyg.helper
9555 helper: {
9556 // e2pdf.wysiwyg.helper.getSelectedNodes
9557 getSelectedNodes: function () {
9558 var nodes = [];
9559 if (window.getSelection) {
9560 var sel = window.getSelection();
9561 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9562 nodes.push.apply(nodes, e2pdf.wysiwyg.helper.getRangeSelectedNodes(sel.getRangeAt(i), true));
9563 }
9564 }
9565 return nodes;
9566 },
9567 // e2pdf.wysiwyg.helper.replaceWithOwnChildren
9568 replaceWithOwnChildren: function (el) {
9569 var parent = el.parentNode;
9570 while (el.hasChildNodes()) {
9571 parent.insertBefore(el.firstChild, el);
9572 }
9573 parent.removeChild(el);
9574 },
9575 // e2pdf.wysiwyg.helper.getRangeSelectedNodes
9576 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
9577 var node = range.startContainer;
9578 var endNode = range.endContainer;
9579 var rangeNodes = [];
9580 if (node === endNode) {
9581 rangeNodes = [node];
9582 } else {
9583 while (node && node !== endNode) {
9584 rangeNodes.push(node = e2pdf.wysiwyg.helper.nextNode(node));
9585 }
9586 node = range.startContainer;
9587 while (node && node !== range.commonAncestorContainer) {
9588 rangeNodes.unshift(node);
9589 node = node.parentNode;
9590 }
9591 }
9592
9593 if (includePartiallySelectedContainers) {
9594 node = range.commonAncestorContainer;
9595 while (node) {
9596 rangeNodes.push(node);
9597 node = node.parentNode;
9598 }
9599 }
9600
9601 return rangeNodes;
9602 },
9603 // e2pdf.wysiwyg.helper.getSelectedNode
9604 getSelectedNode: function () {
9605 var node, selection;
9606 if (window.getSelection) {
9607 selection = getSelection();
9608 node = selection.anchorNode;
9609 }
9610 if (!node && document.selection) {
9611 selection = document.selection;
9612 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
9613 node = range.commonAncestorContainer ? range.commonAncestorContainer :
9614 range.parentElement ? range.parentElement() : range.item(0);
9615 }
9616 if (node) {
9617 return (node.nodeName === "#text" ? node.parentNode : node);
9618 }
9619 },
9620 // e2pdf.wysiwyg.helper.nextNode
9621 nextNode: function (node) {
9622 if (node.hasChildNodes()) {
9623 return node.firstChild;
9624 } else {
9625 while (node && !node.nextSibling) {
9626 node = node.parentNode;
9627 }
9628 if (!node) {
9629 return null;
9630 }
9631 return node.nextSibling;
9632 }
9633 },
9634 // e2pdf.wysiwyg.helper.getSelectionHtml
9635 getSelectionHtml: function () {
9636 var html = "";
9637 if (typeof window.getSelection != 'undefined') {
9638 var sel = window.getSelection();
9639 if (sel.rangeCount) {
9640 var container = document.createElement("div");
9641 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
9642 container.appendChild(sel.getRangeAt(i).cloneContents());
9643 }
9644 html = container.innerHTML;
9645 }
9646 } else if (typeof document.selection != 'undefined') {
9647 if (document.selection.type === "Text") {
9648 html = document.selection.createRange().htmlText;
9649 }
9650 }
9651 return html;
9652 },
9653 // e2pdf.wysiwyg.helper.saveSelection
9654 saveSelection: function () {
9655 if (window.getSelection) {
9656 sel = window.getSelection();
9657 if (sel.getRangeAt && sel.rangeCount) {
9658 return sel.getRangeAt(0);
9659 }
9660 } else if (document.selection && document.selection.createRange) {
9661 return document.selection.createRange();
9662 }
9663 return null;
9664 },
9665 // e2pdf.wysiwyg.helper.restoreSelection
9666 restoreSelection: function (range) {
9667 if (range) {
9668 if (window.getSelection) {
9669 sel = window.getSelection();
9670 sel.removeAllRanges();
9671 sel.addRange(range);
9672 } else if (document.selection && range.select) {
9673 range.select();
9674 }
9675 }
9676 },
9677 // e2pdf.wysiwyg.helper.dropSelection
9678 dropSelection: function () {
9679 if (window.getSelection) {
9680 sel = window.getSelection();
9681 sel.removeAllRanges();
9682 }
9683 }
9684 }
9685 },
9686 // e2pdf.visual
9687 visual: {
9688 // e2pdf.visual.mapper
9689 mapper: {
9690 cursorPosStart: null,
9691 cursorPosEnd: null,
9692 cursorRange: null,
9693 selected: null,
9694 // e2pdf.visual.mapper.init
9695 init: function (el) {
9696 if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9697 if (el.find('.e2pdf-inner-element').is('div')) {
9698 if (window.getSelection) {
9699 sel = window.getSelection();
9700 if (sel.getRangeAt && sel.rangeCount) {
9701 e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9702 }
9703 } else if (document.selection && document.selection.createRange) {
9704 e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9705 }
9706 e2pdf.visual.mapper.cursorPosStart = null;
9707 e2pdf.visual.mapper.cursorPosEnd = null;
9708 } else {
9709 e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9710 e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9711 e2pdf.visual.mapper.cursorRange = null;
9712 }
9713 } else {
9714 e2pdf.visual.mapper.cursorPosStart = null;
9715 e2pdf.visual.mapper.cursorPosEnd = null;
9716 e2pdf.visual.mapper.cursorRange = null;
9717 }
9718
9719 e2pdf.visual.mapper.selected = el;
9720 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
9721 e2pdf.dialog.create(modal);
9722 },
9723 // e2pdf.visual.mapper.markup
9724 markup: function () {
9725 e2pdf.dialog.rebuild();
9726 },
9727 // e2pdf.visual.mapper.rebuild
9728 rebuild: function () {
9729 if (jQuery('.e2pdf-vm-content').length > 0) {
9730 var vc_content = jQuery('.e2pdf-vm-content');
9731 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9732 jQuery('.e2pdf-vm-wrapper').remove();
9733 }
9734 vc_content.find('input[type="hidden"]').each(function () {
9735 if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9736 jQuery(this).attr('e2pdf-vm-hidden', 'true');
9737 jQuery(this).attr('value', jQuery(this).attr('name'));
9738 }
9739 });
9740 if (e2pdf.static.vm.hidden) {
9741 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9742 jQuery(this).attr('type', 'text');
9743 });
9744 } else {
9745 vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9746 jQuery(this).attr('type', 'hidden');
9747 });
9748 }
9749
9750 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9751 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 () {
9752 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
9753 });
9754 vc_content.append(vc_wrapper);
9755 if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9756 jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9757 }
9758 }
9759 },
9760 // e2pdf.visual.mapper.clear
9761 clear: function () {
9762 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9763 jQuery('.e2pdf-vm-wrapper').remove();
9764 }
9765 },
9766 // e2pdf.visual.mapper.load
9767 load: function (el) {
9768 var loaded = false;
9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
9771 var width = el.css('width');
9772 var height = el.css('height');
9773 var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9774 var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9775 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9776 'width': width, 'height': height, 'top': top, 'left': left
9777 });
9778 var name = el.attr('name');
9779 var type = el.attr('type');
9780 var value = el.attr('value');
9781 if (el.is('select')) {
9782 type = 'select';
9783 value = '';
9784 el.find('option').each(function () {
9785 value += jQuery(this).attr('value');
9786 if (jQuery(this)[0] !== el.find('option:last-child')[0]) {
9787 value += "\n";
9788 }
9789 });
9790 }
9791
9792 loaded.data('name', name);
9793 loaded.data('type', type);
9794 loaded.data('value', value);
9795 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
9796 }
9797 return loaded;
9798 },
9799 // e2pdf.visual.mapper.apply
9800 apply: function (el) {
9801 if (e2pdf.visual.mapper.selected) {
9802 var history = [];
9803 history.push(e2pdf.visual.mapper.selected.clone(true));
9804 e2pdf.history.set('element_change', history);
9805 var name = el.data('name');
9806 var group = el.data('name');
9807 var value = el.data('value');
9808 if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9809 var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9810 var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9811 var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9812 var final = textBefore + name + textAfter;
9813 if (!e2pdf.static.vm.replace) {
9814 e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9815 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9816 } else {
9817 e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9818 }
9819 name = final;
9820 } else if (e2pdf.visual.mapper.cursorRange !== null) {
9821 e2pdf.visual.mapper.cursorRange.deleteContents();
9822 var node = document.createTextNode(name);
9823 e2pdf.visual.mapper.cursorRange.insertNode(node);
9824 } else {
9825 if (!e2pdf.static.vm.replace) {
9826 e2pdf.element.init(e2pdf.visual.mapper.selected);
9827 name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9828 }
9829 }
9830 switch (e2pdf.visual.mapper.selected.data('data-type')) {
9831 case 'e2pdf-checkbox':
9832 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9833 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9834 break;
9835 case 'e2pdf-radio':
9836 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9837 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9838 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9839 break;
9840 case 'e2pdf-select':
9841 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9842 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9843 break;
9844 case 'e2pdf-image':
9845 case 'e2pdf-qrcode':
9846 case 'e2pdf-barcode':
9847 case 'e2pdf-graph':
9848 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9849 break;
9850 default:
9851 if (e2pdf.visual.mapper.cursorRange === null) {
9852 e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9853 }
9854 break;
9855 }
9856 if (e2pdf.visual.mapper.cursorRange === null) {
9857 e2pdf.properties.render(e2pdf.visual.mapper.selected);
9858 }
9859 }
9860 if (e2pdf.static.vm.close) {
9861 e2pdf.dialog.close();
9862 }
9863 }
9864 }
9865 },
9866 zoom: {
9867 scale: 1,
9868 click: {
9869 x: 0,
9870 y: 0
9871 },
9872 apply: function (el) {
9873 const scale = Number(el.val()) / 100;
9874 e2pdf.zoom.scale = scale;
9875 const tpl = jQuery('.e2pdf-tpl');
9876 const inner = jQuery('.e2pdf-tpl-inner');
9877 document.documentElement.style.setProperty('--e2pdf-scale', scale);
9878 document.documentElement.style.setProperty('--e2pdf-scale-width', `${Math.max(100, 100 / scale)}%`);
9879 tpl.toggleClass('e2pdf-zoom', scale !== 1);
9880 tpl.scrollLeft(((inner.width() * e2pdf.zoom.scale) - tpl.width()) / 2);
9881 }
9882 }
9883 };
9884 jQuery(window).resize(function () {
9885 e2pdf.visual.mapper.clear();
9886 if (e2pdf.static.observer !== null) {
9887 e2pdf.static.observer.disconnect();
9888 e2pdf.static.observer = null;
9889 }
9890 if (this.e2pdfResizeTO) {
9891 clearTimeout(this.e2pdfResizeTO);
9892 }
9893 this.e2pdfResizeTO = setTimeout(function () {
9894 jQuery(this).trigger('e2pdfResizeEnd');
9895 }, 500);
9896 });
9897 jQuery(document).on('click', '.notice-dismiss', function (e) {
9898 jQuery(this).parent().addClass('e2pdf-hide');
9899 jQuery(this).trigger('e2pdfResizeEnd');
9900 });
9901 jQuery(window).bind('e2pdfResizeEnd', function () {
9902 e2pdf.dialog.rebuild();
9903 });
9904 jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9905 var collapse = jQuery(this).attr('data-collapse');
9906 if (collapse) {
9907 if (jQuery(this).is(':checked')) {
9908 jQuery('.' + collapse).removeClass('e2pdf-hide');
9909 } else {
9910 jQuery('.' + collapse).addClass('e2pdf-hide');
9911 }
9912 }
9913 });
9914 jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
9915
9916 const form = jQuery(this).closest('form');
9917 const value = jQuery(this).val();
9918 jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9919 if (value == '1') {
9920 form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9921 } else if (value == '2') {
9922 form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9923 }
9924
9925 form.off('submit.confirmOverwrite');
9926 if (value == '1' || value == '2' || value == '3') {
9927 form.on('submit.confirmOverwrite', function (e) {
9928 let message = '';
9929 if (value == '3') {
9930 message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9931 } else {
9932 const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9933 if (!template_id) {
9934 return true;
9935 }
9936 message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9937 }
9938 if (!confirm(message)) {
9939 e.preventDefault();
9940 return false;
9941 }
9942 });
9943 }
9944 });
9945 jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9946 if (jQuery(this).val() == 'attachment') {
9947 jQuery(this).closest('form').removeAttr('target');
9948 } else {
9949 jQuery(this).closest('form').attr('target', '_blank');
9950 }
9951 });
9952 jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9953 var collapse = jQuery(this).attr('data-collapse');
9954 if (collapse) {
9955 if (jQuery(this).hasClass('e2pdf-collapsed')) {
9956 jQuery('.' + collapse).addClass('e2pdf-hide');
9957 jQuery(this).removeClass('e2pdf-collapsed');
9958 } else {
9959 jQuery('.' + collapse).removeClass('e2pdf-hide');
9960 jQuery(this).addClass('e2pdf-collapsed');
9961 }
9962 }
9963 });
9964 jQuery(document).ready(function () {
9965 jQuery('body').removeClass('e2pdf-loading');
9966 if (jQuery('.e2pdf-select2').length > 0) {
9967 jQuery('.e2pdf-select2').attr('disabled', false);
9968 }
9969 jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
9970 e.stopPropagation();
9971 e.preventDefault();
9972 e.stopImmediatePropagation();
9973 return false;
9974 });
9975 jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
9976 var parent = jQuery(this).closest('.e2pdf-grid');
9977 var argument = parent.find('.e2pdf-argument').first().clone();
9978 var index = parent.find('.e2pdf-argument').length + 1;
9979 argument.find('input').val('').attr('placeholder', 'arg' + index);
9980 argument.appendTo(parent.find('.e2pdf-arguments'));
9981 });
9982 jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
9983 var parent = jQuery(this).closest('.e2pdf-grid');
9984 if (parent.find('.e2pdf-argument').length > 1) {
9985 parent.find('.e2pdf-argument').last().remove();
9986 }
9987 });
9988 jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
9989 var parent = jQuery('.e2pdf-search-replaces').first();
9990 var search_replace = parent.find('.e2pdf-search-replace').first().clone();
9991 search_replace.find('textarea').val('');
9992 search_replace.appendTo(parent);
9993 });
9994 jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
9995 var parent = jQuery(this).closest('.e2pdf-search-replace');
9996 if (parent) {
9997 parent.remove();
9998 }
9999 });
10000 jQuery(document).on('click', '.e2pdf-action-add', function (e) {
10001 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
10002 var form = jQuery(this).closest('form');
10003 if (form.attr('id') === 'e2pdf-tpl-actions') {
10004 var element = jQuery('.e2pdf-tpl');
10005 } else if (form.attr('id') === 'e2pdf-page-options') {
10006 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
10007 } else {
10008 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10009 }
10010 e2pdf.actions.add(element, actions);
10011 });
10012 jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
10013 var action_conditions = jQuery(this).closest('.e2pdf-action');
10014 var form = jQuery(this).closest('form');
10015 if (form.attr('id') === 'e2pdf-tpl-actions') {
10016 var element = jQuery('.e2pdf-tpl');
10017 } else if (form.attr('id') === 'e2pdf-page-options') {
10018 var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
10019 } else {
10020 var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10021 }
10022
10023 e2pdf.actions.conditions.add(element, action_conditions);
10024 });
10025 jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
10026 if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
10027 return false;
10028 }
10029 var action = jQuery(this).closest('.e2pdf-action');
10030 e2pdf.actions.delete(action);
10031 });
10032 jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
10033 var action = jQuery(this).closest('.e2pdf-action');
10034 e2pdf.actions.duplicate(action);
10035 });
10036 jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
10037 var action = jQuery(this).closest('.e2pdf-action');
10038 if (action.find('.e2pdf-condition').length === 1) {
10039 alert(e2pdf.lang.get('Last condition can\'t be removed'));
10040 return false;
10041 }
10042 if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
10043 return false;
10044 }
10045 var condition = jQuery(this).closest('.e2pdf-condition');
10046 e2pdf.actions.conditions.delete(condition);
10047 });
10048 jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
10049 jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
10050 });
10051 jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
10052 if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
10053 return false;
10054 }
10055 var history = [];
10056 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10057 var el = jQuery(this);
10058 history.push(el.clone(true));
10059 el.css('background', '');
10060 });
10061 e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
10062 jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
10063 });
10064 jQuery(document).on('change', '#e2pdf-zoom', function (e) {
10065 e2pdf.zoom.apply(jQuery(this));
10066 });
10067 jQuery(document).on('change', '.e2pdf-extension', function (e) {
10068 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
10069 });
10070 jQuery(document).on('change', '.e2pdf-item', function (e) {
10071 if (jQuery(this).val() == '-1') {
10072 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10073 jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10074 jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10075 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10076 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10077 } else if (jQuery(this).val() == '-2') {
10078 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10079 jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10080 jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10081 jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10082 jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
10083 } else {
10084 jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10085 jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10086 jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10087 jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10088 }
10089 });
10090 jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
10091 var action = jQuery(this).closest('.e2pdf-action');
10092 e2pdf.actions.change(action, jQuery(this));
10093 });
10094 jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10095 jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
10096 var tab = jQuery(this);
10097 tab.closest('ul').find('li').removeClass('active');
10098 tab.parent('li').addClass('active');
10099 jQuery(document.getElementById(tab.attr('data-tab'))).show();
10100 });
10101 jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
10102 var parent = jQuery(this).closest('.e2pdf-closed');
10103 if (parent.hasClass('e2pdf-opened')) {
10104 parent.removeClass('e2pdf-opened');
10105 } else {
10106 jQuery('.e2pdf-closed').each(function () {
10107 jQuery(this).removeClass('e2pdf-opened');
10108 });
10109 parent.addClass('e2pdf-opened');
10110 }
10111 });
10112 jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
10113 e.preventDefault();
10114 var el = jQuery(this);
10115 if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10116 if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10117 return false;
10118 }
10119 }
10120 if (el.attr('form-id') == 'license_key') {
10121 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?'))) {
10122 return false;
10123 }
10124 }
10125 e2pdf.request.submitForm(el);
10126 });
10127 jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
10128 var el = jQuery(this);
10129 if (el.hasClass('e2pdf-noclose')) {
10130 e2pdf.request.submitLocal(el, true);
10131 } else {
10132 e2pdf.request.submitLocal(el);
10133 }
10134 });
10135 jQuery(document).on('click', '.e2pdf-delete', function (e) {
10136 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?');
10137 if (!confirm(message)) {
10138 e2pdf.delete('.e2pdf-context');
10139 return false;
10140 }
10141 var history = [];
10142 for (var key in e2pdf.element.selected) {
10143 var selected = e2pdf.element.selected[key];
10144 e2pdf.element.init(selected);
10145 history.push(selected.clone(true));
10146 e2pdf.element.delete(selected);
10147 }
10148 e2pdf.history.set('element_delete', history);
10149 e2pdf.element.unselect();
10150 });
10151 jQuery(document).on('click', '.e2pdf-copy', function (e) {
10152 var type = jQuery(this).attr('type');
10153 if (type == 'elements') {
10154 e2pdf.storage.delete('elements');
10155 }
10156 for (var key in e2pdf.element.selected) {
10157 var selected = e2pdf.element.selected[key];
10158 e2pdf.copy(type, selected);
10159 }
10160 });
10161 jQuery(document).on('click', '.e2pdf-paste', function (e) {
10162 var type = jQuery(this).attr('type');
10163 if (type == 'elements' || type == 'elements-in-place') {
10164 e2pdf.paste(type);
10165 } else {
10166 var history = [];
10167 for (var key in e2pdf.element.selected) {
10168 var selected = e2pdf.element.selected[key];
10169 history.push(selected.clone(true));
10170 e2pdf.paste(type, selected);
10171 }
10172 e2pdf.history.set('element_change', history);
10173 }
10174 });
10175 jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10176 var history = [];
10177 for (var key in e2pdf.element.selected) {
10178 var selected = e2pdf.element.selected[key];
10179 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10180 history.push(selected.clone(true));
10181 e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10182 }
10183 }
10184 e2pdf.history.set('element_change', history);
10185 });
10186 jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10187 var history = [];
10188 for (var key in e2pdf.element.selected) {
10189 var selected = e2pdf.element.selected[key];
10190 if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10191 history.push(selected.clone(true));
10192 e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10193 e2pdf.properties.render(selected);
10194 } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10195 history.push(selected.clone(true));
10196 e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10197 e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10198 e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10199 e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10200 e2pdf.properties.render(selected);
10201 }
10202 }
10203 e2pdf.history.set('element_change', history);
10204 });
10205 jQuery(document).on('click', '.e2pdf-cut', function (e) {
10206 e2pdf.storage.delete('elements');
10207 var history = [];
10208 for (var key in e2pdf.element.selected) {
10209 var selected = e2pdf.element.selected[key];
10210 e2pdf.element.init(selected);
10211 history.push(selected.clone(true));
10212 e2pdf.copy('elements', selected);
10213 e2pdf.element.delete(selected);
10214 }
10215 e2pdf.history.set('element_delete', history);
10216 });
10217 jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10218 e.preventDefault();
10219 e.stopPropagation();
10220 e.stopImmediatePropagation();
10221 });
10222 jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10223 jQuery(this).find('ul').show();
10224 });
10225 jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10226 jQuery(this).find('ul').hide();
10227 });
10228 jQuery(document).on('click', '.e2pdf-resize', function (e) {
10229 for (var key in e2pdf.element.selected) {
10230 var selected = e2pdf.element.selected[key];
10231 selected.addClass('e2pdf-focused');
10232 }
10233 });
10234 jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10235 for (var key in e2pdf.element.selected) {
10236 var selected = e2pdf.element.selected[key];
10237 e2pdf.element.hide(selected);
10238 }
10239 });
10240 jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
10241 for (var key in e2pdf.element.selected) {
10242 var selected = e2pdf.element.selected[key];
10243 e2pdf.element.show(selected);
10244 }
10245 });
10246 jQuery(document).on('click', '.e2pdf-lock', function (e) {
10247 for (var key in e2pdf.element.selected) {
10248 var selected = e2pdf.element.selected[key];
10249 e2pdf.properties.set(selected, 'locked', '1');
10250 selected.addClass('e2pdf-locked');
10251 }
10252 });
10253 jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10254 for (var key in e2pdf.element.selected) {
10255 var selected = e2pdf.element.selected[key];
10256 e2pdf.properties.set(selected, 'locked', '0');
10257 selected.removeClass('e2pdf-locked');
10258 }
10259 });
10260 jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10261 return false;
10262 });
10263 jQuery(document).on('click', '.e2pdf-radio', function (e) {
10264 return false;
10265 });
10266 jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10267 if (jQuery(this).hasClass('e2pdf-inactive')) {
10268 jQuery('html').addClass('e2pdf-show-all-elements');
10269 jQuery(this).removeClass('e2pdf-inactive');
10270 } else {
10271 jQuery('html').removeClass('e2pdf-show-all-elements');
10272 jQuery(this).addClass('e2pdf-inactive');
10273 }
10274 });
10275 jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
10276 if (jQuery(this).hasClass('e2pdf-inactive')) {
10277 jQuery('html').addClass('e2pdf-unlock-all-elements');
10278 jQuery(this).removeClass('e2pdf-inactive');
10279 } else {
10280 jQuery('html').removeClass('e2pdf-unlock-all-elements');
10281 jQuery(this).addClass('e2pdf-inactive');
10282 }
10283 });
10284 jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
10285 if (jQuery(this).hasClass('e2pdf-inactive')) {
10286 jQuery(this).removeClass('e2pdf-inactive');
10287 } else {
10288 jQuery(this).addClass('e2pdf-inactive');
10289 }
10290 jQuery('.e2pdf-html').each(function () {
10291 var el = jQuery(this).parent();
10292 var children = jQuery(this);
10293 if (children.is('textarea')) {
10294 e2pdf.properties.set(el, 'value', children.val());
10295 } else {
10296 e2pdf.properties.set(el, 'value', children.html());
10297 }
10298 e2pdf.properties.render(el);
10299 });
10300 });
10301 jQuery(document).on('click', '.e2pdf-add-page', function (e) {
10302 if (e2pdf.pdf.settings.get('pdf')) {
10303 alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10304 } else if (e2pdf_params['license_type'] == 'FREE') {
10305 alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
10306 } else {
10307 e2pdf.pages.createPage();
10308 }
10309 });
10310 jQuery(document).on('click', '.e2pdf-undo', function (e) {
10311 e2pdf.history.undo();
10312 });
10313 jQuery(document).on('click', '.e2pdf-redo', function (e) {
10314 e2pdf.history.redo();
10315 });
10316 jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10317 if (e2pdf.url.get('revision_id')) {
10318 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10319 return false;
10320 }
10321 e2pdf.createPdf(jQuery(this));
10322 });
10323 jQuery(document).on('click', '.e2pdf-up-page', function (e) {
10324 e2pdf.pages.movePage(jQuery(this), 'up');
10325 });
10326 jQuery(document).on('click', '.e2pdf-down-page', function (e) {
10327 e2pdf.pages.movePage(jQuery(this), 'down');
10328 });
10329 jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
10330 if (e2pdf.pdf.settings.get('pdf')) {
10331 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10332 return false;
10333 }
10334 var history = [];
10335 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10336 var el = jQuery(this);
10337 history.push(el.closest('.e2pdf-page').clone(true));
10338 e2pdf.pages.deletePage(el);
10339 });
10340 history.reverse();
10341 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10342 } else {
10343 if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
10344 return false;
10345 }
10346 var el = jQuery(jQuery(this));
10347 var history = [];
10348 history.push(el.closest('.e2pdf-page').clone(true));
10349 e2pdf.history.set('page_delete', history);
10350 e2pdf.pages.deletePage(el);
10351 }
10352 });
10353 jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10354 if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
10355 return false;
10356 }
10357 var history = [];
10358 jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10359 var el = jQuery(this);
10360 history.push(el.closest('.e2pdf-page').clone(true));
10361 e2pdf.pages.deletePage(el);
10362 });
10363 history.reverse();
10364 if (e2pdf.pdf.settings.get('pdf')) {
10365 e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10366 } else {
10367 e2pdf.history.set('page_delete', history);
10368 }
10369 });
10370 jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10371 if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
10372 return false;
10373 }
10374 var el = jQuery(jQuery(this));
10375 e2pdf.font.delete(el);
10376 });
10377 jQuery(document).on('click', '.e2pdf-modal', function (e) {
10378 e2pdf.dialog.create(jQuery(this));
10379 });
10380 jQuery(document).on('click', 'body', function (e) {
10381 e2pdf.delete('.e2pdf-context');
10382 });
10383 jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10384 e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10385 });
10386 jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10387 if (jQuery(this).is('select')) {
10388 var data = {};
10389 data['id'] = jQuery('.e2pdf-export-template').val();
10390 data['datasets'] = {};
10391 jQuery('.e2pdf-export-dataset').each(function () {
10392 data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10393 });
10394 e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10395 }
10396 });
10397 jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
10398 var data = {};
10399 data['id'] = jQuery('.e2pdf-export-template').val();
10400 data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10401 data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10402 e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
10403 });
10404 jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10405 if (jQuery(this).is(':checked')) {
10406 if (jQuery(this).val() == '') {
10407 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10408 }
10409 } else {
10410 if (jQuery(this).val() == '') {
10411 jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10412 } else {
10413 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10414 }
10415 }
10416
10417 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10418 jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10419 }
10420
10421 if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10422 jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10423 } else {
10424 jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10425 }
10426 });
10427 jQuery(document).on('change', '#e2pdf-font', function (e) {
10428 e2pdf.font.load(jQuery(this));
10429 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10430 });
10431 jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10432 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10433 });
10434 jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10435 var text_align = jQuery(this).val();
10436 jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10437 if (
10438 jQuery(this).data('data-type') == 'e2pdf-input'
10439 || jQuery(this).data('data-type') == 'e2pdf-textarea'
10440 || jQuery(this).data('data-type') == 'e2pdf-html'
10441 || jQuery(this).data('data-type') == 'e2pdf-page-number'
10442 || jQuery(this).data('data-type') == 'e2pdf-link'
10443 ) {
10444 if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10445 var children = e2pdf.element.children(jQuery(this));
10446 children.css('text-align', text_align);
10447 }
10448 }
10449 });
10450 });
10451 jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10452 if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10453 jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10454 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
10455 (e.shiftKey === true && e.keyCode === 187) ||
10456 (e.keyCode >= 35 && e.keyCode <= 40)
10457 ) {
10458
10459 if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
10460 e.preventDefault();
10461 } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
10462 e.preventDefault();
10463 } else {
10464 return;
10465 }
10466 }
10467 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
10468 e.preventDefault();
10469 }
10470 });
10471 jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10472 if (e.which == 13) {
10473 e.preventDefault();
10474 if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10475 jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10476 } else {
10477 jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10478 }
10479 }
10480 });
10481 jQuery(document).on('change', '.e2pdf-numbers', function (e) {
10482 var value = jQuery(this).val().trim();
10483 var prefix = '';
10484 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
10485 prefix = '+';
10486 }
10487 value = parseFloat(value);
10488 if (isNaN(value)) {
10489 value = 0;
10490 }
10491 jQuery(this).val(prefix + value);
10492 });
10493 jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10494 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10495 });
10496 jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10497 if (jQuery(this).is(':checked')) {
10498 jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10499 } else {
10500 jQuery('.e2pdf-tpl').attr('dir', false);
10501 }
10502 });
10503 jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10504 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10505 });
10506 jQuery(document).on('click', '.e2pdf-upload', function (e) {
10507 e.preventDefault();
10508 for (var key in e2pdf.element.selected) {
10509 var selected = e2pdf.element.selected[key];
10510 e2pdf.mediaUploader.init(selected);
10511 }
10512 });
10513 jQuery(document).on('click', '.e2pdf-visual', function (e) {
10514 for (var key in e2pdf.element.selected) {
10515 var selected = e2pdf.element.selected[key];
10516 e2pdf.visual.mapper.init(selected);
10517 }
10518 });
10519 document.addEventListener('selectionchange', function () {
10520 if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10521 jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10522 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10523 const selection = window.getSelection();
10524 if (selection && selection.toString().length == 0) {
10525 jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10526 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10527 }
10528 } else {
10529 jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10530 jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10531 }
10532 });
10533 jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10534 e.preventDefault();
10535 if (jQuery(this).hasClass('e2pdf-inactive')) {
10536 return;
10537 }
10538 e2pdf.wysiwyg.apply(jQuery(this));
10539 });
10540 jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
10541 e.preventDefault();
10542 e.stopPropagation();
10543 e.stopImmediatePropagation();
10544 if (jQuery(this).hasClass('e2pdf-inactive')) {
10545 return;
10546 }
10547 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10548 var color_panel = jQuery(this).parent().find('.wp-picker-container');
10549 if (!color_panel.hasClass('wp-picker-active')) {
10550 color_panel.find('.wp-color-result').click();
10551 if (color_panel.find('.wp-color-close').length === 0) {
10552 var close = jQuery('<a>', {"class": "wp-color-close", "href": "javascript:void(0);", 'onclick': "e2pdf.helper.color.close(this);"});
10553 var width = parseFloat(jQuery(this).css('width'));
10554 var height = parseFloat(jQuery(this).css('height'));
10555 close.css({'width': width, "height": height, "margin-top": -height});
10556 color_panel.append(close);
10557 }
10558 }
10559 });
10560 jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10561 e.preventDefault();
10562 e.stopPropagation();
10563 e.stopImmediatePropagation();
10564 if (jQuery(this).hasClass('e2pdf-inactive')) {
10565 return;
10566 }
10567 var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10568 if (gridContainer.hasClass('e2pdf-hide')) {
10569 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10570 gridContainer.removeClass('e2pdf-hide').empty();
10571 for (let i = 0; i < 100; i++) {
10572 let gridItem = jQuery('<div>');
10573 gridItem.on('mouseover', function () {
10574 let rowCol = calculateRowCol(i);
10575 highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10576 });
10577 gridItem.on('mouseout', function () {
10578 highlightGrid(gridContainer, 0, 0);
10579 });
10580 gridItem.on('click', function () {
10581 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10582 let rowCol = calculateRowCol(i);
10583 let html = '<table>\n';
10584 for (let r = 0; r < rowCol.rows; r++) {
10585 html += '<tr>\n';
10586 for (let c = 0; c < rowCol.cols; c++) {
10587 html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10588 }
10589 html += '</tr>\n';
10590 }
10591 html += '</table>\n';
10592 document.execCommand('insertHTML', false, html);
10593 gridContainer.addClass('e2pdf-hide');
10594 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10595 });
10596 gridContainer.append(gridItem);
10597 }
10598 gridContainer.append(jQuery('<span>').text('0x0'));
10599 } else {
10600 gridContainer.addClass('e2pdf-hide');
10601 }
10602 function calculateRowCol(index) {
10603 let rows = Math.floor(index / 10) + 1;
10604 let cols = (index % 10) + 1;
10605 return {rows, cols};
10606 }
10607 function highlightGrid(gridContainer, rows, cols) {
10608 gridContainer.find('div').each(function (idx) {
10609 let itemRowCol = calculateRowCol(idx);
10610 gridContainer.find('span').text(rows + 'x' + cols);
10611 if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10612 jQuery(this).addClass('e2pdf-highlight');
10613 } else {
10614 jQuery(this).removeClass('e2pdf-highlight');
10615 }
10616 });
10617 }
10618 });
10619 jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
10620 e2pdf.wysiwyg.apply(jQuery(this));
10621 });
10622 jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10623 e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
10624 });
10625 jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10626 if (e2pdf.url.get('revision_id')) {
10627 alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10628 return false;
10629 }
10630
10631 var message = "";
10632 if (e2pdf.static.unsaved) {
10633 message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10634 }
10635 message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10636 jQuery(this).attr('disabled', 'disabled');
10637 jQuery(this).closest('form').append(
10638 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10639 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10640 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10641 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10642 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10643 ),
10644 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10645 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10646 )
10647 )
10648 )
10649 );
10650 });
10651 jQuery(document).on('change', '#e2pdf-revision', function (e) {
10652 if (e2pdf.static.unsaved) {
10653 if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10654 var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10655 jQuery(this).val(revision_id);
10656 return false;
10657 }
10658 }
10659 e2pdf.static.unsaved = false;
10660 var revision_id = jQuery(this).val();
10661 var template_id = e2pdf.pdf.settings.get('ID');
10662 var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10663 if (revision_id === '0') {
10664 url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10665 }
10666 jQuery(this).attr('disabled', 'disabled');
10667 location.href = url;
10668 });
10669 jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10670 if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10671 return false;
10672 }
10673 jQuery('html').addClass('e2pdf-loading');
10674 var data = {};
10675 e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10676 });
10677 jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10678 if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10679 return false;
10680 }
10681 jQuery('html').addClass('e2pdf-loading');
10682 var data = {};
10683 e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10684 });
10685 jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10686 jQuery(this).closest('.e2pdf-confirmation').remove();
10687 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10688 jQuery('.e2pdf-reupload-pdf').click();
10689 });
10690 jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10691 jQuery(this).closest('.e2pdf-confirmation').remove();
10692 jQuery('.e2pdf-w-reupload').attr('disabled', false);
10693 });
10694 jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10695 e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10696 });
10697 jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10698 jQuery(this).autocomplete("search", "");
10699 });
10700 jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10701 if (!jQuery(this).is(':checked')) {
10702 if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10703 return false;
10704 }
10705 }
10706 });
10707 jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
10708 e2pdf.event.fire('after.settings.style.change');
10709 });
10710 jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
10711 e2pdf.event.fire('after.settings.template.change');
10712 });
10713 jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10714 var form = jQuery(this).closest('form');
10715 var field = jQuery(this).attr('field');
10716 var search = jQuery(this).val();
10717 var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10718 var options = fieldset.data('options');
10719 var regex = new RegExp(search, "gi");
10720 fieldset.empty();
10721 jQuery.each(options, function (i) {
10722 var option = options[i];
10723 if (i == 0 || option.value.match(regex) !== null) {
10724 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}))));
10725 }
10726 });
10727 fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10728 if (fieldset.find('input[type="checkbox"]').length > 1) {
10729 form.find('.e2pdf-submit-form').attr('disabled', false);
10730 } else {
10731 fieldset.find('input[type="checkbox"]').attr('disabled', true);
10732 form.find('.e2pdf-submit-form').attr('disabled', true);
10733 }
10734 if (this.changeTrigger) {
10735 clearTimeout(this.changeTrigger);
10736 }
10737 this.changeTrigger = setTimeout(function () {
10738 fieldset.trigger('change');
10739 }, 1000);
10740 });
10741 jQuery(document).on('change', 'select[name="preset"]', function (e) {
10742 if (jQuery(this).val() !== '') {
10743 var form = jQuery(this).closest('form');
10744 var size = e2pdf_params['template_sizes'][jQuery(this).val()];
10745 form.find('input[name="width"]').val(size.width);
10746 form.find('input[name="height"]').val(size.height);
10747 }
10748 });
10749 jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
10750 e2pdf.visual.mapper.apply(jQuery(this));
10751 });
10752 jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10753 e2pdf.element.unselect();
10754 e2pdf.element.unfocus();
10755 var el = jQuery(this).closest('.e2pdf-element');
10756 e2pdf.element.focus(el);
10757 });
10758 jQuery(document).on('click', '.e2pdf-drag', function (e) {
10759 var el = jQuery(this).closest('.e2pdf-element');
10760 e2pdf.element.unfocus();
10761 if (e.ctrlKey || e.metaKey) {
10762 if (el.hasClass('e2pdf-selected')) {
10763 e2pdf.element.unselect(el);
10764 } else {
10765 e2pdf.element.select(el);
10766 }
10767 } else {
10768 if (el.hasClass('e2pdf-selected')) {
10769 if (Object.keys(e2pdf.element.selected).length > 1) {
10770 e2pdf.element.unselect();
10771 e2pdf.element.select(el);
10772 } else {
10773 e2pdf.element.unselect(el);
10774 }
10775 } else {
10776 if (Object.keys(e2pdf.element.selected).length > 0) {
10777 e2pdf.element.unselect();
10778 e2pdf.element.select(el);
10779 } else {
10780 e2pdf.element.select(el);
10781 }
10782 }
10783 }
10784 });
10785 jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
10786 var data = {};
10787 data['id'] = jQuery(this).attr('data-id');
10788 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
10789 });
10790 jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
10791 var data = {};
10792 data['id'] = jQuery(this).attr('data-id');
10793 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
10794 });
10795 jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10796 e.preventDefault();
10797 if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
10798 return false;
10799 }
10800 var data = {};
10801 data['template'] = jQuery(this).attr('template');
10802 data['dataset'] = jQuery(this).attr('dataset');
10803 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
10804 });
10805 jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10806 e.preventDefault();
10807 if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
10808 return false;
10809 }
10810 var data = {};
10811 data['template'] = jQuery(this).attr('template');
10812 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
10813 });
10814 jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10815 e.preventDefault();
10816 switch (jQuery(this).attr('action')) {
10817 case 'start':
10818 if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10819 return false;
10820 }
10821 break;
10822 case 'stop':
10823 if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10824 return false;
10825 }
10826 break;
10827 case 'delete':
10828 if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10829 return false;
10830 }
10831 break;
10832 }
10833 var data = {};
10834 data['bulk'] = jQuery(this).attr('bulk');
10835 data['action'] = jQuery(this).attr('action');
10836 e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10837 });
10838 jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
10839 jQuery(this).select();
10840 });
10841 jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
10842 jQuery(this).autocomplete("search", '');
10843 });
10844 jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10845 if (jQuery(this).is(':checked')) {
10846 e2pdf.static.vm.hidden = true;
10847 } else {
10848 e2pdf.static.vm.hidden = false;
10849 }
10850 e2pdf.visual.mapper.rebuild();
10851 });
10852 jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10853 var value = jQuery(this).val();
10854 if (value != '') {
10855 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10856 jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10857 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10858 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10859 jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10860 return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10861 }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10862 jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10863 return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10864 }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10865 } else {
10866 jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10867 }
10868 e2pdf.visual.mapper.rebuild();
10869 });
10870 jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10871 if (jQuery(this).is(':checked')) {
10872 e2pdf.static.vm.replace = true;
10873 } else {
10874 e2pdf.static.vm.replace = false;
10875 }
10876 });
10877 jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10878 if (jQuery(this).is(':checked')) {
10879 e2pdf.static.vm.close = true;
10880 } else {
10881 e2pdf.static.vm.close = false;
10882 }
10883 });
10884 jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10885 if (typeof e.clipboardData != 'undefined') {
10886 var clipboardData = e.clipboardData;
10887 } else if (typeof window.clipboardData != 'undefined') {
10888 var clipboardData = window.clipboardData;
10889 } else {
10890 var clipboardData = e.originalEvent.clipboardData;
10891 }
10892 if (typeof clipboardData.getData('text/plain') != 'undefined') {
10893 e.preventDefault();
10894 let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10895 data = e2pdf.helper.stripHTML(
10896 data,
10897 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10898 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10899 'span', 'a', 'br',
10900 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10901 'sub', 'sup',
10902 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10903 'ul', 'ol', 'li',
10904 'a'
10905 );
10906 return document.execCommand('insertHtml', false, data);
10907 }
10908 });
10909 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
10910 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
10911 }
10912
10913 if (jQuery('.e2pdf-form-builder > input[name="ID"]').length > 0) {
10914 e2pdf.pdf.settings.set('ID', jQuery('.e2pdf-form-builder > input[name="ID"]').val());
10915 }
10916
10917 if (jQuery('.e2pdf-form-builder > input[name="width"]').length > 0) {
10918 e2pdf.pdf.settings.set('width', jQuery('.e2pdf-form-builder > input[name="width"]').val());
10919 }
10920
10921 if (jQuery('.e2pdf-form-builder > input[name="height"]').length > 0) {
10922 e2pdf.pdf.settings.set('height', jQuery('.e2pdf-form-builder > input[name="height"]').val());
10923 }
10924
10925 if (jQuery('.e2pdf-form-builder > input[name="extension"]').length > 0) {
10926 e2pdf.pdf.settings.set('extension', jQuery('.e2pdf-form-builder > input[name="extension"]').val());
10927 }
10928
10929 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10930 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
10931 }
10932
10933 if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10934 e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10935 }
10936
10937 if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10938 e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10939 }
10940
10941 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
10942 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
10943 }
10944
10945 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
10946 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
10947 }
10948
10949 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10950 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10951 }
10952
10953 if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10954 e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10955 }
10956
10957 jQuery('#e2pdf-zoom').trigger('change');
10958 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
10959 if (e2pdf.url.get('id')) {
10960 e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
10961 e2pdf.static.autoloadExport = true;
10962 }
10963 }
10964
10965 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
10966 jQuery('.e2pdf-color-picker-load').each(function () {
10967 jQuery(this).wpColorPicker(
10968 {
10969 defaultColor: function () {
10970 var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
10971 if (el.attr('data-default')) {
10972 return el.attr('data-default');
10973 } else {
10974 return;
10975 }
10976 },
10977 change: function (event, ui) {
10978 jQuery(this).val(ui.color.toString()).change();
10979 }
10980 }
10981 ).removeClass('e2pdf-color-picker-load');
10982 });
10983 jQuery(window).bind("beforeunload", function (e) {
10984 if (e2pdf.static.unsaved) {
10985 var confirmationMessage = "\o/";
10986 (e || window.event).returnValue = confirmationMessage;
10987 return confirmationMessage;
10988 }
10989 });
10990 if (jQuery('#e2pdf-build-form').length > 0) {
10991 postboxes.add_postbox_toggles(pagenow);
10992 }
10993
10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
10995 && typeof (jQuery.ui.droppable) != 'undefined'
10996 && jQuery('.e2pdf-tpl').length > 0) {
10997 // jQuery UI scale bug fix
10998 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
10999 var i, j,
11000 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
11001 type = event ? event.type : null,
11002 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
11003 droppablesLoop: for (i = 0; i < m.length; i++) {
11004 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
11005 continue;
11006 }
11007 for (j = 0; j < list.length; j++) {
11008 if (list[ j ] === m[ i ].element[ 0 ]) {
11009 m[ i ].proportions().height = 0;
11010 continue droppablesLoop;
11011 }
11012 }
11013 m[ i ].visible = m[ i ].element.css("display") !== "none";
11014 if (!m[ i ].visible) {
11015 continue;
11016 }
11017 if (type === "mousedown") {
11018 m[ i ]._activate.call(m[ i ], event);
11019 }
11020 m[ i ].offset = m[ i ].element.offset();
11021 m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
11022 }
11023 };
11024 jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
11025 var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
11026 e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
11027 var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
11028 e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
11029 e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
11030 jQuery('.e2pdf-load-tpl').remove();
11031 jQuery('.e2pdf-load-el').each(function () {
11032 var element = jQuery(this);
11033 var type = element.attr('data-type');
11034 var page = element.closest('.e2pdf-page');
11035 var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11036 var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
11037 properties['width'] = element.attr('data-width');
11038 properties['height'] = element.attr('data-height');
11039 properties['top'] = element.attr('data-top');
11040 properties['left'] = element.attr('data-left');
11041 properties['value'] = element.find('.e2pdf-data-value').val();
11042 properties['name'] = element.find('.e2pdf-data-name').val();
11043 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
11044 jQuery(this).replaceWith(el);
11045 e2pdf.properties.render(el);
11046 });
11047 jQuery('.e2pdf-load-page').each(function () {
11048 var page = jQuery(this);
11049 var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11050 var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
11051 page.find('.e2pdf-data-properties').remove();
11052 page.find('.e2pdf-data-actions').remove();
11053 page.removeClass('e2pdf-load-page');
11054 e2pdf.pages.createPage(page, properties, actions, true);
11055 });
11056 jQuery('.e2pdf-be').draggable({
11057 cursorAt: {left: 0, top: 0},
11058 helper: function () {
11059 var element = jQuery(this).clone();
11060 var type = element.attr('data-type');
11061 var page = element.closest('.e2pdf-page');
11062 var el = e2pdf.element.create(type, page, false, false, true);
11063 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
11064 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
11066 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
11067 e2pdf.properties.render(el);
11068 el.css('z-index', 1);
11069 if (e2pdf.zoom.scale != 1) {
11070 el.css({
11071 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11072 'transform-origin': '0 0'
11073 });
11074 }
11075
11076 var w = el.width() * e2pdf.zoom.scale;
11077 var h = el.height() * e2pdf.zoom.scale;
11078 e2pdf.static.guide.x = Math.round(w / 2);
11079 e2pdf.static.guide.y = Math.round(h / 2);
11080 jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
11081 left: Math.round(w / 2),
11082 top: Math.round(h / 2)
11083 });
11084 return el;
11085 },
11086 start: function (ev, ui) {
11087 e2pdf.element.unselect();
11088 },
11089 stop: function (ev, ui) {
11090 ui.position.top = Math.round(ui.position.top);
11091 ui.position.left = Math.round(ui.position.left);
11092 jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
11093 },
11094 drag: function (ev, ui) {
11095 if (e2pdf.static.drag.page !== null) {
11096 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
11097 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
11098 var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11099 var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
11100 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
11101 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
11102 jQuery.each(el_guides, function (i, elemGuide) {
11103 if (guide.type == elemGuide.type) {
11104 var prop = guide.type == "h" ? "top" : "left";
11105 var d = Math.abs(elemGuide[prop] - guide[prop]);
11106 if (d < guides[prop].dist) {
11107 guides[prop].dist = d;
11108 guides[prop].offset = elemGuide[prop] - pos[prop];
11109 guides[prop].guide = guide;
11110 }
11111 }
11112 });
11113 });
11114 if (guides.top.dist <= e2pdf.static.guide.distance) {
11115 e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().top / e2pdf.zoom.scale - 1).show();
11116 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
11117 ui.position.top = snap_top;
11118 } else {
11119 jQuery('.e2pdf-guide-h').hide();
11120 }
11121 if (guides.left.dist <= e2pdf.static.guide.distance) {
11122 e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().left / e2pdf.zoom.scale - 1).show();
11123 var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
11124 ui.position.left = snap_left;
11125 } else {
11126 jQuery('.e2pdf-guide-v').hide();
11127 }
11128 }
11129 }
11130 });
11131 e2pdf.welcomeScreen();
11132 }
11133 e2pdf.font.load(jQuery('#e2pdf-font'));
11134 jQuery('.e2pdf-load-font').each(function () {
11135 e2pdf.font.load(jQuery(this));
11136 jQuery(this).remove();
11137 });
11138 e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11139 e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11140 e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11141 e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11142 }
11143
11144 jQuery(document).keydown(function (e) {
11145 if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11146 if (jQuery('.e2pdf-focused').length == 0
11147 && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11148 && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11149 && Object.keys(e2pdf.element.selected).length > 0) {
11150 e.preventDefault();
11151 switch (e.which) {
11152 case 37:
11153 // left
11154 var diff = 1;
11155 for (var key in e2pdf.element.selected) {
11156 var selected = e2pdf.element.selected[key];
11157 if (parseFloat(selected.css('left')) > 0) {
11158 if (parseFloat(selected.css('left')) - 1 < 0) {
11159 diff = Math.min(diff, selected.css('left'));
11160 }
11161 } else {
11162 diff = Math.min(diff, 0);
11163 }
11164 }
11165
11166 for (var key in e2pdf.element.selected) {
11167 var selected = e2pdf.element.selected[key];
11168 selected.finish().animate({
11169 left: "-=" + diff
11170 }, 0);
11171 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11172 }
11173 break;
11174 case 38:
11175 // top
11176 var diff = 1;
11177 for (var key in e2pdf.element.selected) {
11178 var selected = e2pdf.element.selected[key];
11179 if (parseFloat(selected.css('top')) > 0) {
11180 if (parseFloat(selected.css('top')) - 1 < 0) {
11181 diff = Math.min(diff, selected.css('top'));
11182 }
11183 } else {
11184 diff = Math.min(diff, 0);
11185 }
11186 }
11187
11188 for (var key in e2pdf.element.selected) {
11189 var selected = e2pdf.element.selected[key];
11190 selected.finish().animate({
11191 top: "-=" + diff
11192 }, 0);
11193 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11194 }
11195 break;
11196 case 39:
11197 // right
11198 var diff = 1;
11199 for (var key in e2pdf.element.selected) {
11200 var selected = e2pdf.element.selected[key];
11201 if (parseFloat(selected.css('right')) > 0) {
11202 if (parseFloat(selected.css('right')) - 1 < 0) {
11203 diff = Math.min(diff, selected.css('right'));
11204 }
11205 } else {
11206 diff = Math.min(diff, 0);
11207 }
11208 }
11209
11210 for (var key in e2pdf.element.selected) {
11211 var selected = e2pdf.element.selected[key];
11212 selected.finish().animate({
11213 left: "+=" + diff
11214 }, 0);
11215 e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11216 }
11217 break;
11218 case 40:
11219 // down
11220 var diff = 1;
11221 for (var key in e2pdf.element.selected) {
11222 var selected = e2pdf.element.selected[key];
11223 if (parseFloat(selected.css('bottom')) > 0) {
11224 if (parseFloat(selected.css('bottom')) - 1 < 0) {
11225 diff = Math.min(diff, selected.css('bottom'));
11226 }
11227 } else {
11228 diff = Math.min(diff, 0);
11229 }
11230 }
11231
11232 for (var key in e2pdf.element.selected) {
11233 var selected = e2pdf.element.selected[key];
11234 selected.finish().animate({
11235 top: "+=" + diff
11236 }, 0);
11237 e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11238 }
11239 break;
11240 case 46:
11241 // delete
11242 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?');
11243 if (!confirm(message)) {
11244 e2pdf.delete('.e2pdf-context');
11245 return false;
11246 }
11247 var history = [];
11248 for (var key in e2pdf.element.selected) {
11249 var selected = e2pdf.element.selected[key];
11250 e2pdf.element.init(selected);
11251 history.push(selected.clone(true));
11252 e2pdf.element.delete(selected);
11253 }
11254 e2pdf.history.set('element_delete', history);
11255 e2pdf.element.unselect();
11256 break;
11257 }
11258 }
11259 }
11260 });
11261 jQuery(document).on('click', '.e2pdf-select2', function (e) {
11262 e2pdf.select2.init(jQuery(this));
11263 });
11264 jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11265 e2pdf.select2.click(jQuery(this));
11266 });
11267 jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11268 e2pdf.select2.filter(jQuery(this));
11269 });
11270 jQuery(document).on('mousedown', 'body', function (e) {
11271 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
11272 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
11273 jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11274 jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11275 jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11276 jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11277 jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11278 e.ctrlKey !== true) {
11279 e2pdf.element.unselect();
11280 e2pdf.element.unfocus();
11281 }
11282 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
11283 jQuery('.e2pdf-closed').each(function () {
11284 jQuery(this).removeClass('e2pdf-opened');
11285 });
11286 }
11287 if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11288 jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11289 }
11290 if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11291 jQuery('.e2pdf-select2-dropdown').each(function () {
11292 e2pdf.select2.close(jQuery(this));
11293 });
11294 }
11295 });
11296 jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
11297 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11298 if (jQuery('.e2pdf-bulks-list').length > 0)
11299 {
11300 e2pdf.bulk.progress();
11301 }
11302 });