PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.53
E2Pdf – Export Pdf Tool for WordPress v1.32.53
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 1.06.02 1.07.11 All 74 releases
← All changes | js/e2pdf.backend.js +8474 -3077 1.01.01 → 1.32.53 View file →
@@ -1,8 +1,8 @@
1 1 var e2pdf = {
2 -//e2pdf.helper
2 +// e2pdf.helper
3 3 helper: {
4 -//e2pdf.helper.color
4 +// e2pdf.helper.color
5 5 color: {
6 6 close: function (el) {
7 7 var color_panel = jQuery(el).parent();
8 8 color_panel.find('.wp-color-result').click();
@@ -7,77 +7,571 @@
7 7 var color_panel = jQuery(el).parent();
8 8 color_panel.find('.wp-color-result').click();
9 9 }
10 10 },
11 - //e2pdf.helper.image
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
12 50 image: {
13 - //e2pdf.helper.image.load
51 + // e2pdf.helper.image.load
14 52 load: function (el) {
15 53 el.addClass('e2pdf-loader');
54 + var properties = e2pdf.properties.get(el);
55 + var value = e2pdf.helper.getString(properties['value']);
16 56 var image = new Image();
17 - image.src = e2pdf.properties.getValue(el, 'value');
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 +
18 81 var children = e2pdf.element.children(el);
82 + children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
19 83 image.onload = function ()
20 84 {
21 85 el.removeClass('e2pdf-loader');
22 - el.find('.e2pdf-image').attr('src', e2pdf.properties.getValue(el, 'value'));
23 - if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH) {
24 - var o_width = this.width;
25 - var o_height = this.height;
26 - var dimension = parseFloat(children.css('width')) / o_width;
27 - var height = o_height * dimension;
28 - var add_height = parseFloat(el.css('height')) - parseFloat(children.css('height'));
29 - el.css('height', height + add_height);
30 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
31 - } else if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT) {
32 - var o_width = this.width;
33 - var o_height = this.height;
34 - var dimension = parseFloat(children.css('height')) / o_height;
35 - var width = o_width * dimension;
36 - var add_width = parseFloat(el.css('width')) - parseFloat(children.css('width'));
37 - el.css('width', width + add_width);
38 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
39 - } else {
40 - el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
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;
41 148 }
42 -
43 - children.removeClass('e2pdf-image-blank');
44 149 };
45 150 image.onerror = function ()
46 151 {
47 152 el.removeClass('e2pdf-loader');
48 - children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank');
49 - if (el.data('data-type') === 'e2pdf-image' && (e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH || e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT)) {
50 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
51 - } else {
52 - el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
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;
53 174 }
54 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);
55 240 }
56 241 },
57 - //e2pdf.helper.convert
58 - convertPxToFloat: function (value) {
59 - return parseFloat(value.replace('px', ''));
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 + }
60 249 },
61 - //e2pdf.helper.ajaxurl
62 - ajaxurl: function (action) {
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 + }
63 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) {
64 296 if (action) {
65 - var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
297 + var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
66 298 } else {
67 - var url = ajaxurl + '?e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
299 + var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
68 300 }
69 -
70 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;
71 371 }
72 372 },
73 - //e2pdf.url
373 + // e2pdf.select2
374 + select2: {
375 + // e2pdf.select2.init
376 + init: function (el) {
377 + el.val('');
378 + var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
379 + var placeholder = e2pdf.lang.get('--- Select ---');
380 + if (val) {
381 + placeholder = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
382 + }
383 + el.attr('placeholder', placeholder);
384 + var select2 = document.createElement('div');
385 + select2.className = 'e2pdf-select2-dropdown';
386 + var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
387 + if (wrapper) {
388 + var select = wrapper.querySelector('select');
389 + if (select) {
390 + Array.from(select.children).forEach(function (option) {
391 + var optionDiv = document.createElement('div');
392 + optionDiv.setAttribute('value', option.value);
393 + optionDiv.innerHTML = option.textContent;
394 + select2.appendChild(optionDiv);
395 + });
396 + }
397 + el.get(0).insertAdjacentElement('afterend', select2);
398 + }
399 + },
400 + // e2pdf.select2.filter
401 + filter: function (el) {
402 + var search = el.val();
403 + var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
404 + if (wrapper) {
405 + var dropdownItems = wrapper.querySelectorAll('.e2pdf-select2-dropdown > div');
406 + dropdownItems.forEach(function (item) {
407 + if (!search) {
408 + item.style.display = "block";
409 + } else {
410 + var textContent = item.textContent.toLowerCase();
411 + var valueAttr = item.getAttribute('value') ? item.getAttribute('value').toLowerCase() : '';
412 + if (textContent.includes(search.toLowerCase()) || valueAttr.includes(search.toLowerCase()) || valueAttr === '') {
413 + item.style.display = "block";
414 + } else {
415 + item.style.display = "none";
416 + }
417 + }
418 + });
419 + }
420 + },
421 + // e2pdf.select2.update
422 + update: function (el) {
423 + var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
424 + var text = '';
425 + if (val) {
426 + text = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
427 + } else {
428 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('placeholder', e2pdf.lang.get('--- Select ---'));
429 + }
430 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().val(text);
431 + },
432 + // e2pdf.select2.click
433 + click: function (el) {
434 + el.closest('.e2pdf-select2-wrapper').find('select').first().val(el.attr('value')).trigger('change');
435 + e2pdf.select2.close(el);
436 + },
437 + // e2pdf.select2.val
438 + val: function (el, value) {
439 + el.closest('.e2pdf-select2-wrapper').find('select').first().val(value).trigger('change');
440 + e2pdf.select2.update(el);
441 + },
442 + // e2pdf.select2.disable
443 + disable: function (el) {
444 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', 'disabled');
445 + },
446 + // e2pdf.select2.enable
447 + enable: function (el) {
448 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', false);
449 + },
450 + // e2pdf.select2.close
451 + close: function (el) {
452 + e2pdf.select2.update(el);
453 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2-dropdown').remove();
454 + }
455 + },
456 + // e2pdf.hooks
457 + hooks: {
458 + // e2pdf.hooks.get
459 + get: function () {
460 + var hooks = {};
461 + switch (e2pdf.pdf.settings.get('extension')) {
462 + case 'formidable':
463 + hooks = {
464 + 'hook_formidable_entry_view': e2pdf.lang.get('WP Admin Entry View'),
465 + 'hook_formidable_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
466 + 'hook_formidable_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
467 + };
468 + break;
469 + case 'gravity':
470 + hooks = {
471 + 'hook_gravity_entry_view': e2pdf.lang.get('WP Admin Entry View'),
472 + 'hook_gravity_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
473 + };
474 + break;
475 + case 'jetformbuilder':
476 + hooks = {
477 + 'hook_jetformbuilder_entry_view': e2pdf.lang.get('WP Admin Entry View')
478 + };
479 + break;
480 + case 'woocommerce':
481 + if (e2pdf.pdf.settings.get('item') == 'shop_order') {
482 + hooks = {
483 + 'hook_woocommerce_order_edit': e2pdf.lang.get('WP Admin Order Details'),
484 + 'hook_woocommerce_order_row_actions': e2pdf.lang.get('WP Admin Order List Actions'),
485 + 'hook_woocommerce_order_row_column': e2pdf.lang.get('WP Admin Order List Column'),
486 + 'hook_woocommerce_my_account_my_orders_actions': e2pdf.lang.get('User Order List'),
487 + 'hook_woocommerce_order_details_before_order_table': e2pdf.lang.get('User Order Details (Before Order Table)'),
488 + 'hook_woocommerce_order_details_before_order_table_items': e2pdf.lang.get('User Order Details (Before Order Table Items)'),
489 + 'hook_woocommerce_order_details_after_order_table_items': e2pdf.lang.get('User Order Details (After Order Table Items)'),
490 + 'hook_woocommerce_order_details_after_order_table': e2pdf.lang.get('User Order Details (After Order Table)'),
491 + 'hook_woocommerce_after_order_details': e2pdf.lang.get('User Order Details (After Order Details)'),
492 + };
493 + } else if (e2pdf.pdf.settings.get('item') == 'shop_subscription') {
494 + hooks = {
495 + 'hook_woocommerce_subscription_edit': e2pdf.lang.get('WP Admin Subscription Details'),
496 + 'hook_woocommerce_subscription_row_column': e2pdf.lang.get('WP Admin Order List Column'),
497 + 'hook_woocommerce_subscription_before_actions': e2pdf.lang.get('User Subscription (Before Actions)'),
498 + 'hook_woocommerce_subscription_after_actions': e2pdf.lang.get('User Subscription (After Actions)'),
499 + 'hook_wcs_subscription_details_table_before_dates': e2pdf.lang.get('User Subscription (Before Dates)'),
500 + 'hook_wcs_subscription_details_table_after_dates': e2pdf.lang.get('User Subscription (After Dates)'),
501 + 'hook_wcs_subscription_details_table_before_payment_method': e2pdf.lang.get('User Subscription (Before Payment Method)'),
502 + 'hook_wcs_view_subscription_actions': e2pdf.lang.get('User Subscrition (Actions)'),
503 + };
504 + } else if (e2pdf.pdf.settings.get('item') == 'cart') {
505 + hooks = {
506 + 'hook_woocommerce_proceed_to_checkout': e2pdf.lang.get('User Cart'),
507 + 'hook_woocommerce_review_order_before_submit': e2pdf.lang.get('User Checkout (Before Submit)'),
508 + 'hook_woocommerce_review_order_after_submit': e2pdf.lang.get('User Checkout (After Submit)'),
509 + };
510 + }
511 + break;
512 + case 'wordpress':
513 + if (e2pdf.pdf.settings.get('item') == '-3') {
514 + hooks = {
515 + 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin User Row Actions')
516 + };
517 + } else {
518 + hooks = {
519 + 'hook_wordpress_page_edit': e2pdf.lang.get('WP Admin Page Edit'),
520 + 'hook_wordpress_row_actions': e2pdf.lang.get('WP Admin Page Row Actions')
521 + };
522 + }
523 + break;
524 + case 'wpforms':
525 + hooks = {
526 + 'hook_wpforms_entry_view': e2pdf.lang.get('WP Admin Entry View'),
527 + 'hook_wpforms_entry_edit': e2pdf.lang.get('WP Admin Entry Edit'),
528 + 'hook_wpforms_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
529 + };
530 + break;
531 + case 'everest':
532 + hooks = {
533 + 'hook_everest_entry_view': e2pdf.lang.get('WP Admin Entry View'),
534 + 'hook_everest_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions')
535 + };
536 + break;
537 + case 'metform':
538 + hooks = {
539 + 'hook_metform_entry_view': e2pdf.lang.get('WP Admin Entry View'),
540 + 'hook_metform_row_actions': e2pdf.lang.get('WP Admin Entry Row Actions'),
541 + 'hook_metform_entry_row_column': e2pdf.lang.get('WP Admin Entry List Column')
542 + };
543 + break;
544 + default:
545 + break;
546 + }
547 + return hooks;
548 + },
549 + getChecked: function () {
550 + var hooks = [];
551 + if (e2pdf.pdf.settings.get('hooks')) {
552 + hooks = e2pdf.pdf.settings.get('hooks').split(',');
553 + }
554 + return hooks;
555 + }
556 + },
557 + // e2pdf.lang
558 + lang: {
559 + // e2pdf.lang.get
560 + get: function (key) {
561 + if (typeof e2pdf_lang[key] === 'undefined') {
562 + return key;
563 + } else {
564 + return e2pdf_lang[key];
565 + }
566 + }
567 + },
568 + // e2pdf.url
74 569 url: {
75 - //e2pdf.url.change
570 + // e2pdf.url.change
76 571 change: function (page, path) {
77 572 if (window.history && window.history.pushState) {
78 573 var url = window.location.pathname;
79 -
80 574 if (page) {
81 575 url += '?page=' + page;
82 576 }
83 577
@@ -86,12 +580,11 @@
86 580 }
87 581 history.pushState({urlPath: url}, "", url);
88 582 }
89 583 },
90 - //e2pdf.url.build
91 - build: function (page, path, nonce) {
584 + // e2pdf.url.build
585 + build: function (page, path, _wpnonce) {
92 586 var url = window.location.pathname;
93 -
94 587 if (page) {
95 588 url += '?page=' + page;
96 589 }
97 590 if (path) {
@@ -96,25 +589,26 @@
96 589 }
97 590 if (path) {
98 591 url += '&' + path;
99 592 }
100 -
101 - if (nonce) {
102 - url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']
593 + if (_wpnonce) {
594 + url += '&_wpnonce=' + _wpnonce;
103 595 }
104 -
105 596 return url;
106 597 },
107 - //e2pdf.url.get
598 + // e2pdf.url.get
108 599 get: function (name, url) {
109 - if (!url)
600 + if (!url) {
110 601 url = window.location.href;
602 + }
603 + if (!name) {
604 + return url;
605 + }
111 606 name = name.replace(/[\[\]]/g, "\\$&");
112 607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
113 608 if (!results) {
114 609 return null;
115 610 }
116 -
117 611 if (!results[2]) {
118 612 return '';
119 613 }
120 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
@@ -119,38 +613,22 @@
119 613 }
120 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
121 615 },
122 616 pluginsUrl: function () {
123 - return e2pdfParams['plugins_url'];
617 + return e2pdf_params['plugins_url'];
124 618 },
125 619 uploadUrl: function () {
126 - return e2pdfParams['upload_url'];
620 + return e2pdf_params['upload_url'];
127 621 }
128 622 },
129 - //e2pdf.shortcode
130 - shortcode: {
131 - //e2pdf.shortcode.get
132 - get: function (template_id, dataset_id) {
133 -
134 - if (template_id && dataset_id) {
135 - var shortcode = '[e2pdf-download id="' + template_id + '" dataset="' + dataset_id + '"]';
136 - } else if (template_id) {
137 - var shortcode = '[e2pdf-download id="' + template_id + '"]';
138 - } else {
139 - var shortcode = false;
140 - }
141 - return shortcode;
142 - }
143 - },
144 - //e2pdf.guide
623 + // e2pdf.guide
145 624 guide: {
146 - //e2pdf.guide.calc
625 + // e2pdf.guide.calc
147 626 calc: function (el, pos, w, h, g) {
148 -
149 627 if (el != null) {
150 628 if (g) {
151 - w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
152 - h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
629 + w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.scale;
630 + h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.scale;
153 631 pos = jQuery(el).offset();
154 632 if (jQuery(el).hasClass('e2pdf-page')) {
155 633 pos = {
156 634 left: pos.left + 1,
@@ -157,12 +635,10 @@
157 635 top: pos.top + 1
158 636 };
159 637 }
160 638 } else {
161 -
162 639 w = parseFloat(jQuery(el).css('width'));
163 640 h = parseFloat(jQuery(el).css('height'));
164 -
165 641 if (jQuery(el).hasClass('e2pdf-page')) {
166 642 pos = {
167 643 left: 0,
168 644 top: 0
@@ -168,10 +644,10 @@
168 644 top: 0
169 645 };
170 646 } else {
171 647 pos = {
172 - left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')),
173 - top: parseFloat(e2pdf.properties.getValue(jQuery(el), 'top'))
648 + left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
649 + top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
174 650 };
175 651 }
176 652 }
177 653 }
@@ -185,14 +661,29 @@
185 661 {type: "v", left: pos.left + w / 2, top: pos.top}
186 662 ];
187 663 }
188 664 },
189 - //e2pdf.pdf
665 + // e2pdf.bulk
666 + bulk: {
667 + // e2pdf.bulk.progress
668 + progress: function () {
669 + setTimeout(function () {
670 + var data = {};
671 + data['bulks'] = [];
672 + jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
673 + data['bulks'].push(jQuery(this).attr('bulk'));
674 + });
675 + e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
676 + e2pdf.bulk.progress();
677 + }, 5000);
678 + }
679 + },
680 + // e2pdf.pdf
190 681 pdf: {
191 - //e2pdf.pdf.settings
682 + // e2pdf.pdf.settings
192 683 settings: {
193 684 options: [],
194 - //e2pdf.pdf.settings.change
685 + // e2pdf.pdf.settings.change
195 686 change: function (key, value) {
196 687 e2pdf.pdf.settings.options[key] = value;
197 688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
198 689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
@@ -200,22 +691,31 @@
200 691 var input = jQuery('<input>',
201 692 {
202 693 'type': 'hidden',
203 694 'name': key,
204 - 'value': value,
695 + 'value': value
205 696 });
206 697 jQuery('.e2pdf-form-builder').append(input);
207 698 }
208 699
209 - if (key == 'extension') {
210 - e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), value);
700 + if (key == 'item') {
701 + var data = {};
702 + data['extension'] = e2pdf.pdf.settings.get('extension');
703 + data['item'] = e2pdf.pdf.settings.get('item');
704 + e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
211 705 }
212 706 },
213 - //e2pdf.pdf.settings.set
707 + // e2pdf.pdf.settings.set
214 708 set: function (key, value) {
215 709 e2pdf.pdf.settings.options[key] = value;
710 + if (key == 'item') {
711 + var data = {};
712 + data['extension'] = e2pdf.pdf.settings.get('extension');
713 + data['item'] = e2pdf.pdf.settings.get('item');
714 + e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
715 + }
216 716 },
217 - //e2pdf.pdf.settings.get
717 + // e2pdf.pdf.settings.get
218 718 get: function (key) {
219 719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
220 720 return null;
221 721 } else {
@@ -223,63 +723,69 @@
223 723 }
224 724 }
225 725 }
226 726 },
227 - //e2pdf.static
727 + // e2pdf.static
228 728 static: {
229 - //e2pdf.static.unsaved
729 + // e2pdf.static.unsaved
230 730 unsaved: false,
231 - //e2pdf.static.mediaUploader
731 + // e2pdf.static.mediaUploader
232 732 mediaUploader: false,
233 - //e2pdf.static.autoloadExport
733 + // e2pdf.static.autoloadExport
234 734 autoloadExport: false,
235 - //e2pdf.static.selectionRange
735 + // e2pdf.static.selectionRange
236 736 selectionRange: null,
237 - //e2pdf.static.guide
737 + // e2pdf.static.observer
738 + observer: null,
739 + // e2pdf.static.vm
740 + vm: {
741 + // e2pdf.static.vm.hidden
742 + hidden: false,
743 + // e2pdf.static.vm.replace
744 + replace: true,
745 + // e2pdf.static.vm.close
746 + close: true
747 + },
748 + // e2pdf.static.guide
238 749 guide: {
239 - //e2pdf.static.guide.guides
750 + // e2pdf.static.guide.guides
240 751 guides: [],
241 - //e2pdf.static.guide.distance
752 + // e2pdf.static.guide.distance
242 753 distance: 5,
243 754 x: 0,
244 755 y: 0
245 756 },
246 - //e2pdf.static.drag
757 + // e2pdf.static.drag
247 758 drag: {
248 - //e2pdf.static.drag.min_top
759 + // e2pdf.static.drag.min_top
249 760 min_top: 0,
250 - //e2pdf.static.drag.max_top
761 + // e2pdf.static.drag.max_top
251 762 max_top: 0,
252 - //e2pdf.static.drag.min_left
763 + // e2pdf.static.drag.min_left
253 764 min_left: 0,
254 - //e2pdf.static.drag.max_left
765 + // e2pdf.static.drag.max_left
255 766 max_left: 0,
256 - //e2pdf.static.drag.page
257 - page: null,
258 - },
259 - //e2pdf.static.const
260 - const: {
261 - 'WIDTH_HEIGHT': '0',
262 - 'WIDTH': '1',
263 - 'HEIGHT': '2'
767 + // e2pdf.static.drag.page
768 + page: null
264 769 }
265 770 },
266 - //e2pdf.event
771 + // e2pdf.event
267 772 event: {
268 - //e2pdf.event.fire
773 + // e2pdf.event.fire
269 774 fire: function (event, action, el) {
270 - if (event === 'after.pages.deletePage'
271 - || event === 'after.createPdf'
272 - || event === 'after.pages.createPage.newpage'
273 - || event === 'after.element.create'
274 - || event === 'after.element.delete'
275 - || event === 'after.settings.style.change'
276 - || event === 'after.settings.template.change'
277 - || event === 'after.wysiwyg.apply'
278 - || event === 'after.request.submitLocal'
279 - || event === 'after.mediaUploader.select'
280 - || event === 'after.element.moved'
281 - || event === 'after.pages.movePage'
775 + if (
776 + event === 'after.pages.deletePage' ||
777 + event === 'after.createPdf' ||
778 + event === 'after.pages.createPage.newpage' ||
779 + event === 'after.element.create' ||
780 + event === 'after.element.delete' ||
781 + event === 'after.settings.style.change' ||
782 + event === 'after.settings.template.change' ||
783 + event === 'after.wysiwyg.apply' ||
784 + event === 'after.request.submitLocal' ||
785 + event === 'after.mediaUploader.select' ||
786 + event === 'after.element.moved' ||
787 + event === 'after.pages.movePage'
282 788 ) {
283 789 e2pdf.static.unsaved = true;
284 790 }
285 791
@@ -291,11 +797,10 @@
291 797 jQuery('.e2pdf-color-picker-load').each(function () {
292 798 jQuery(this).wpColorPicker(
293 799 {
294 800 defaultColor: function () {
295 - var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
296 - if (el.attr('data-default')) {
297 - return el.attr('data-default');
801 + if (jQuery(this).attr('data-default')) {
802 + return jQuery(this).attr('data-default');
298 803 } else {
299 804 return;
300 805 }
301 806 },
@@ -306,75 +811,98 @@
306 811 ).removeClass('e2pdf-color-picker-load');
307 812 });
308 813 }
309 814
310 - if (event === 'after.dialog.create') {
311 - e2pdf.element.unselect();
312 - }
313 -
314 - if (event === 'after.pages.deletePage'
315 - || event === 'after.pages.createPage.newpage') {
815 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
316 816 jQuery('#e2pdf-zoom').trigger('change');
317 817 }
318 818
319 819 if (event === 'before.request.submitRequest') {
320 820 el.attr('disabled', 'disabled');
321 -
322 - if (action === 'e2pdf_auto') {
323 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled');
821 + switch (action) {
822 + case 'e2pdf_auto':
823 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
824 + break;
825 + case 'e2pdf_extension':
826 + el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
827 + break;
828 + case 'e2pdf_templates':
829 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
830 + jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
831 + jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
832 + jQuery('.e2pdf-export-dataset').data('options', []).empty();
833 + jQuery('.e2pdf-fieldset-filter').val('');
834 + e2pdf.select2.disable(el);
835 + break;
836 + case 'e2pdf_dataset':
837 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
838 + jQuery('.e2pdf-dataset-shortcode-wr').hide();
839 + el.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions').empty();
840 + e2pdf.select2.disable(el);
841 + break;
842 + case 'e2pdf_datasets_refresh':
843 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-export-dataset').data('options', []).empty();
844 + e2pdf.select2.disable(el);
845 + break;
846 + case 'e2pdf_delete_item':
847 + case 'e2pdf_delete_items':
848 + e2pdf.select2.disable(el);
849 + break;
850 + default:
851 + break;
324 852 }
325 - if (action === 'e2pdf_extension') {
326 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled');
327 - }
328 -
329 - if (action === 'e2pdf_templates') {
330 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
331 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
332 - }
333 -
334 - if (action === 'e2pdf_dataset') {
335 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
336 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
337 - }
338 853 }
339 854
340 855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
341 - el.attr('disabled', false);
342 - if (action === 'e2pdf_auto') {
343 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
856 + if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
857 + el.attr('disabled', false);
344 858 }
345 - if (action === 'e2pdf_extension') {
346 - el.closest('form').find('#e2pdf-item').find('option').remove();
347 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', false);
859 + switch (action) {
860 + case 'e2pdf_auto':
861 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', false);
862 + break;
863 + case 'e2pdf_extension':
864 + el.closest('form').find('.e2pdf-items').find('option').remove();
865 + el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', false);
866 + break;
867 + case 'e2pdf_get_styles':
868 + jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
869 + jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
870 + break;
871 + case 'e2pdf_templates':
872 + case 'e2pdf_delete_item':
873 + case 'e2pdf_delete_items':
874 + e2pdf.select2.enable(el);
875 + break;
876 + default:
877 + break;
348 878 }
349 - if (action === 'e2pdf_get_styles') {
350 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
351 - }
352 879 }
353 880
354 881 if (event === 'before.request.upload') {
355 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled');
882 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
356 883 }
357 884
358 885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
359 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
360 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
361 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
886 + if (event === 'after.request.upload.error') {
887 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', false);
888 + }
889 + el.closest('form').find('.e2pdf-upload-pdf').replaceWith(
890 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
362 891 );
363 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
364 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
892 + el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
893 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
365 894 );
366 895 }
367 896 }
368 897 },
369 - //e2pdf.form
898 + // e2pdf.form
370 899 form: {
371 - //e2pdf.form.serializeObject
900 + // e2pdf.form.serializeObject
372 901 serializeObject: function (form) {
373 902
374 903 var o = {};
375 904 var a = form.serializeArray();
376 -
377 905 jQuery.each(a, function () {
378 906 if (this.name.endsWith('[]')) {
379 907
380 908 var name = this.name;
@@ -387,9 +915,8 @@
387 915
388 916 var name = this.name;
389 917 var path = name.split(/[\[\]]+/);
390 918 var curItem = o;
391 -
392 919 for (var j = 0; j < path.length - 2; j++)
393 920 {
394 921 if (!(path[j] in curItem))
395 922 {
@@ -398,9 +925,8 @@
398 925 curItem = curItem[path[j]];
399 926 }
400 927
401 928 curItem[path[j]] = this.value || '';
402 -
403 929 } else {
404 930 o[this.name] = this.value || '';
405 931 }
406 932 });
@@ -405,9 +931,9 @@
405 931 }
406 932 });
407 933 return o;
408 934 },
409 - //e2pdf.form.serializeElements
935 + // e2pdf.form.serializeElements
410 936 serializeElements: function () {
411 937 var o = {};
412 938 jQuery('.e2pdf-element').each(
413 939 function (index) {
@@ -412,103 +938,123 @@
412 938 jQuery('.e2pdf-element').each(
413 939 function (index) {
414 940 var el = {};
415 941 el.type = jQuery(this).data('data-type');
416 - el.properties = e2pdf.properties.get(jQuery(this), true);
942 + el.properties = e2pdf.properties.get(jQuery(this));
417 943 el.actions = e2pdf.actions.get(jQuery(this));
418 944 el.top = jQuery(this).css('top');
419 945 el.left = jQuery(this).css('left');
420 946 el.width = jQuery(this).css('width');
421 947 el.height = jQuery(this).css('height');
422 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
423 - el.value = jQuery(this).find('.e2pdf-html').html();
424 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
425 - el.value = jQuery(this).find('.e2pdf-input').val();
426 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
427 - el.value = jQuery(this).find('.e2pdf-textarea').val();
428 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
429 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
430 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
431 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
432 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
433 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
434 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
435 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
436 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
437 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
438 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
439 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
440 - } else {
441 - el.value = jQuery(this).html();
948 + switch (jQuery(this).data('data-type')) {
949 + case 'e2pdf-rectangle':
950 + el.value = '';
951 + break;
952 + case 'e2pdf-html':
953 + if (jQuery(this).find('.e2pdf-html').is('textarea')) {
954 + el.value = jQuery(this).find('.e2pdf-html').val();
955 + } else {
956 + el.value = jQuery(this).find('.e2pdf-html').html();
957 + }
958 + break;
959 + case 'e2pdf-input':
960 + el.value = jQuery(this).find('.e2pdf-input').val();
961 + break;
962 + case 'e2pdf-textarea':
963 + el.value = jQuery(this).find('.e2pdf-textarea').val();
964 + break;
965 + case 'e2pdf-page-number':
966 + case 'e2pdf-checkbox':
967 + case 'e2pdf-radio':
968 + case 'e2pdf-select':
969 + case 'e2pdf-image':
970 + case 'e2pdf-qrcode':
971 + case 'e2pdf-barcode':
972 + case 'e2pdf-graph':
973 + case 'e2pdf-link':
974 + case 'e2pdf-signature':
975 + el.value = e2pdf.helper.getString(el.properties['value']);
976 + break;
977 + default:
978 + el.value = jQuery(this).html();
979 + break;
442 980 }
981 + el.name = e2pdf.helper.getString(el.properties['name']);
443 982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
444 983 el.element_id = jQuery(this).attr('data-element_id');
984 + delete el.properties['width'];
985 + delete el.properties['height'];
986 + delete el.properties['value'];
987 + delete el.properties['top'];
988 + delete el.properties['left'];
989 + delete el.properties['name'];
990 + delete el.properties['element_type'];
991 + delete el.properties['element_id'];
992 + delete el.properties['page_id'];
445 993 o[index] = el;
446 994 });
447 995 return o;
448 996 }
449 997 },
450 - //e2pdf.font
998 + // e2pdf.font
451 999 font: {
452 - //e2pdf.font.load
1000 + // e2pdf.font.load
453 1001 load: function (el) {
1002 + var name, value;
454 1003 if (el.is('select')) {
455 - var name = el.val();
456 - var value = el.find('option:selected').attr('path');
1004 + name = el.val();
1005 + value = el.find('option:selected').attr('path');
457 1006 } else if (el.is('div')) {
458 - var name = el.attr('name');
459 - var value = el.attr('path');
1007 + name = el.attr('name');
1008 + value = el.attr('path');
460 1009 }
461 -
462 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
463 - jQuery("head").append("<style name='" + name + "' type='text/css'>@font-face {font-family: " + name + "; src: url('" + e2pdf.url.uploadUrl() + "/fonts/" + value + "')}</style>");
1010 + if (jQuery("head").find('style[name="' + CSS.escape(name) + '"]').length === 0) {
1011 + jQuery("head").append(
1012 + jQuery("<style>")
1013 + .attr('name', name)
1014 + .attr('type', 'text/css')
1015 + .text(`@font-face {font-family: "${CSS.escape(name)}"; src: url("${e2pdf.url.uploadUrl()}/fonts/${encodeURIComponent(value)}")}`)
1016 + );
464 1017 }
465 1018 },
466 - //e2pdf.font.apply
1019 + // e2pdf.font.apply
467 1020 apply: function (el, font) {
468 - var font_name = font.find('option:selected').html();
469 - if (font_name) {
470 - el.css('font-family', font_name);
471 - } else {
472 - el.css('font-family', '');
473 - }
1021 + let font_name = font.find('option:selected').html();
1022 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
474 1023 },
475 - //e2pdf.font.size
1024 + // e2pdf.font.size
476 1025 size: function (el, size) {
477 - var font_size = size.find('option:selected').html();
478 - el.css({'font-size': font_size});
1026 + var font_size = size.val();
1027 + el.css({'font-size': font_size + "px"});
479 1028 },
480 - //e2pdf.font.line
1029 + // e2pdf.font.line
481 1030 line: function (el, height) {
482 - var line_height = height.find('option:selected').html();
483 - el.css({'line-height': line_height});
1031 + var line_height = height.val();
1032 + el.css({'line-height': line_height + "px"});
484 1033 },
485 - //e2pdf.font.color
1034 + // e2pdf.font.color
486 1035 fontcolor: function (el, color) {
487 1036 var font_color = color.val();
488 1037 el.css({'color': font_color});
489 1038 },
490 - //e2pdf.font.delete
1039 + // e2pdf.font.delete
491 1040 delete: function (el) {
492 1041 var font = el.attr('data-font');
493 1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
494 1043 }
495 1044 },
496 - //e2pdf.request
1045 + // e2pdf.request
497 1046 request: {
498 - //e2pdf.request.upload
1047 + // e2pdf.request.upload
499 1048 upload: function (action, el) {
500 -
501 1049 if (el.attr('disabled')) {
502 1050 return;
503 1051 }
504 -
505 1052 var data = new FormData(el.closest('form')[0]);
506 1053 e2pdf.event.fire('before.request.upload', action, el);
507 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
508 - loader.css('visibility', 'visible').fadeIn();
1054 + jQuery('html').addClass('e2pdf-loading');
509 1055 jQuery.ajax({
510 - url: e2pdf.helper.ajaxurl(action),
1056 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
511 1057 type: 'POST',
512 1058 data: data,
513 1059 cache: false,
514 1060 contentType: false,
@@ -513,540 +1059,743 @@
513 1059 cache: false,
514 1060 contentType: false,
515 1061 processData: false,
516 1062 success: function (response) {
517 - loader.css('visibility', 'hidden').fadeOut();
518 - e2pdf.event.fire('after.request.upload.success', action, el);
519 1063 if (response.redirect !== undefined) {
520 - // recheck if redirect fires in other cases when not upload pdf
1064 + e2pdf.event.fire('after.request.upload.success', action, el);
521 1065 e2pdf.static.unsaved = false;
522 1066 location.href = response.redirect;
523 1067 } else if (response.error !== undefined) {
1068 + jQuery('html').removeClass('e2pdf-loading');
1069 + e2pdf.event.fire('after.request.upload.error', action, el);
524 1070 alert(response.error);
525 - } else if (response.content) {
526 - e2pdf.request.callBack(action, response.content);
1071 + } else {
1072 + jQuery('html').removeClass('e2pdf-loading');
1073 + e2pdf.event.fire('after.request.upload.error', action, el);
527 1074 }
528 1075 },
529 1076 error: function (response) {
530 - loader.css('visibility', 'hidden').fadeOut();
531 - e2pdf.event.fire('after.request.upload.success', action, el);
1077 + jQuery('html').removeClass('e2pdf-loading');
1078 + e2pdf.event.fire('after.request.upload.error', action, el);
532 1079 }
533 1080 });
534 1081 },
535 - //e2pdf.request.submitForm
1082 + // e2pdf.request.submitForm
536 1083 submitForm: function (el) {
537 1084 if (el.attr('disabled')) {
538 1085 return;
539 1086 }
540 1087 el.attr('disabled', 'disabled');
541 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
542 - loader.css('visibility', 'visible').fadeIn();
1088 + jQuery('html').addClass('e2pdf-loading');
543 1089 e2pdf.event.fire('before.request.submitForm');
544 1090 var form_id = el.attr('form-id');
545 1091 var form = jQuery(document.getElementById(form_id));
546 1092 var data = e2pdf.form.serializeObject(form);
547 - if (form_id === 'e2pdf_build_form') {
548 - var elements = e2pdf.form.serializeElements();
549 - data.pages = {};
550 - jQuery('.e2pdf-page').each(function () {
551 - var page_id = jQuery(this).attr('data-page_id');
552 - data.pages[page_id] = {};
553 - var properties = {};
554 - var page_elements = [];
555 - properties['width'] = jQuery(this).css('width').replace('px', '');
556 - properties['height'] = jQuery(this).css('height').replace('px', '');
557 - data.pages[page_id]['properties'] = properties;
558 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
559 - data.pages[page_id]['elements'] = page_elements;
560 - });
561 - for (var key in elements) {
562 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
563 - }
564 - data = JSON.stringify(data);
1093 + var action = el.attr('action');
1094 + var _wpnonce = el.attr('_wpnonce');
1095 + switch (form_id) {
1096 + case 'e2pdf-build-form':
1097 + var elements = e2pdf.form.serializeElements();
1098 + data.pages = {};
1099 + jQuery('.e2pdf-page').each(function () {
1100 + var page_id = jQuery(this).attr('data-page_id');
1101 + data.pages[page_id] = {};
1102 + var properties = e2pdf.properties.get(jQuery(this));
1103 + properties['width'] = jQuery(this).attr('data-width');
1104 + properties['height'] = jQuery(this).attr('data-height');
1105 + delete properties['page_id'];
1106 + delete properties['element_type'];
1107 + delete properties['preset'];
1108 + var page_elements = [];
1109 + data.pages[page_id]['properties'] = properties;
1110 + data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
1111 + data.pages[page_id]['elements'] = page_elements;
1112 + });
1113 + for (var key in elements) {
1114 + data.pages[elements[key].page_id]['elements'].push(elements[key]);
1115 + }
1116 + data.actions = e2pdf.actions.get(jQuery('.e2pdf-tpl'));
1117 + data.properties = e2pdf.properties.get(jQuery('.e2pdf-tpl'));
1118 + data = JSON.stringify(data);
1119 + break;
1120 + case 'e2pdf-export-form':
1121 + data = JSON.stringify(data);
1122 + break;
1123 + case 'e2pdf-email':
1124 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
1125 + data = {};
1126 + data['email'] = form.find('input[name="email"]').val();
1127 + if (form.find('input[name="email_code"]').length > 0) {
1128 + data['email_code'] = form.find('input[name="email_code"]').val();
1129 + }
1130 + break;
565 1131 }
566 -
567 - if (form_id === 'e2pdf-email') {
568 -
569 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
570 - data = {};
571 - data['email'] = form.find('input[name="email"]').val();
572 - if (form.find('input[name="email_code"]').length > 0) {
573 - data['email_code'] = form.find('input[name="email_code"]').val();
574 - }
575 - }
576 -
577 - var action = el.attr('action');
578 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1132 + jQuery('html').addClass('e2pdf-loading');
579 1133 if (el.attr('target') === '_blank') {
580 1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
581 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1135 + jQuery('<textarea>', {'name': 'preview'}).val(data)
582 1136 ).hide();
583 1137 jQuery('body').append(post_form);
584 1138 post_form.submit();
585 1139 post_form.remove();
586 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
587 - loader.css('visibility', 'hidden').fadeOut();
1140 + jQuery('html').removeClass('e2pdf-loading');
588 1141 el.attr('disabled', false);
589 1142 return false;
590 1143 }
591 -
592 1144 jQuery.ajax({
593 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1145 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
594 1146 data: {action: action, data: data},
595 1147 success: function (response) {
596 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
597 - loader.css('visibility', 'hidden').fadeOut();
598 - el.attr('disabled', false);
599 1148 if (response.redirect !== undefined) {
600 1149 location.href = response.redirect;
601 - } else if (response.error !== undefined) {
602 - alert(response.error);
603 - } else if (response.content) {
604 - e2pdf.request.callBack(action, response.content, el);
1150 + } else {
1151 + el.attr('disabled', false);
1152 + if (response.error !== undefined) {
1153 + jQuery('html').removeClass('e2pdf-loading');
1154 + alert(response.error);
1155 + } else if (response.content) {
1156 + e2pdf.request.callBack(action, response.content, el);
1157 + jQuery('html').removeClass('e2pdf-loading');
1158 + } else {
1159 + jQuery('html').removeClass('e2pdf-loading');
1160 + }
605 1161 }
606 1162 },
607 1163 error: function (response) {
608 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
609 - loader.css('visibility', 'hidden').fadeOut();
1164 + jQuery('html').removeClass('e2pdf-loading');
610 1165 el.attr('disabled', false);
611 1166 }
612 1167 });
613 1168 },
614 - //e2pdf.request.submitRequest
1169 + // e2pdf.request.submitRequest
615 1170 submitRequest: function (action, el, value) {
616 -
617 1171 if (el.attr('disabled')) {
618 1172 return;
619 1173 }
620 -
621 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1174 + if (action !== 'e2pdf_bulk_progress') {
1175 + jQuery('html').addClass('e2pdf-loading');
1176 + }
622 1177 if (!value) {
623 1178 var value = el.val();
624 1179 }
625 - loader.css('visibility', 'visible').fadeIn();
1180 + var _wpnonce = el.attr('_wpnonce');
1181 + if (action == 'e2pdf_bulk_progress') {
1182 + _wpnonce = e2pdf_params['nonce']['e2pdf'];
1183 + }
1184 +
626 1185 e2pdf.event.fire('before.request.submitRequest', action, el);
627 1186 jQuery.ajax({
628 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1187 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
629 1188 data: {action: action, data: value},
630 1189 success: function (response) {
631 - loader.css('visibility', 'hidden').fadeOut();
632 1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
633 1191 if (response.redirect !== undefined) {
634 1192 location.href = response.redirect;
635 1193 } else if (response.error !== undefined) {
1194 + jQuery('html').removeClass('e2pdf-loading');
636 1195 alert(response.error);
637 1196 } else if (response.content) {
638 1197 e2pdf.request.callBack(action, response.content, el);
1198 + jQuery('html').removeClass('e2pdf-loading');
1199 + } else {
1200 + jQuery('html').removeClass('e2pdf-loading');
639 1201 }
640 1202 },
641 1203 error: function (response) {
642 - loader.css('visibility', 'hidden').fadeOut();
1204 + jQuery('html').removeClass('e2pdf-loading');
643 1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
644 1206 }
645 1207 });
646 1208 },
647 - //e2pdf.request.submitLocal
648 - submitLocal: function (el) {
1209 + // e2pdf.request.submitLocal
1210 + submitLocal: function (el, noclose = false) {
649 1211 var form_id = el.attr('form-id');
650 -
651 1212 var form = jQuery(document.getElementById(form_id));
652 1213 var data = e2pdf.form.serializeObject(form);
653 -
654 - if (form_id === 'e2pdf-page-options') {
655 - var width = data['width'];
656 - var height = data['height'];
657 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
658 - e2pdf.actions.apply(page, data['actions']);
659 - e2pdf.pages.changePageSize(page, width, height);
660 - e2pdf.event.fire('after.request.submitLocal', false, page);
661 - } else {
662 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
663 -
664 - e2pdf.actions.apply(element, data['actions']);
665 - delete data['actions'];
666 -
667 - e2pdf.properties.apply(element, data);
668 - e2pdf.properties.render(element);
669 - e2pdf.dialog.close();
670 - e2pdf.event.fire('after.request.submitLocal', false, el);
671 - }
672 -
673 - e2pdf.dialog.close();
674 -
675 -
676 - },
677 - //e2pdf.request.callBack
678 - callBack: function (action, result, el) {
679 -
680 - if (action === 'e2pdf_email') {
681 -
682 - if (result === 'subscribed') {
683 - jQuery('.e2pdf-email-lock').remove();
684 - } else {
685 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
686 - var form_id = el.attr('form-id');
687 - var form = jQuery(document.getElementById(form_id));
688 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
689 - form.find('input[name="email"]').attr('type', 'hidden');
690 - jQuery('<input/>', {'type': 'text', 'name': 'email_code', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
691 - }
692 - }
693 -
694 - if (action === 'e2pdf_extension') {
695 - for (var key in result) {
696 - var option = jQuery('<option>',
697 - {
698 - 'value': result[key]['key']
699 - }).html(result[key]['value']);
700 - if (e2pdf.pdf.settings.get('item') === result[key]['key']) {
701 - option.attr('selected', 'selected');
702 - }
703 -
704 - jQuery('#e2pdf-item').append(option);
705 - }
706 - }
707 -
708 - if (action === 'e2pdf_get_styles') {
709 - for (var key in result) {
710 - jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
711 - }
712 - }
713 - if (action === 'e2pdf_visual_mapper') {
714 - el.html(result);
715 - e2pdf.visual.mapper.markup();
716 - }
717 - if (action === 'e2pdf_templates') {
718 -
719 - var dataset_field = jQuery('#e2pdf-export-dataset');
720 - dataset_field.attr('disabled', 'disabled').find('option').remove();
721 - for (var key in result['datasets']) {
722 - var option = jQuery('<option>',
723 - {
724 - 'value': result['datasets'][key]['key']
725 - }).html(result['datasets'][key]['value']);
726 - dataset_field.append(option);
727 - }
728 -
729 - dataset_field.val('');
730 - if (Object.keys(result['datasets']).length > 1) {
731 - dataset_field.attr('disabled', false);
732 - }
733 -
734 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
735 - options.hide();
736 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
737 - options.find('select').val('0').attr('disabled', 'disabled');
738 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
739 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
740 - jQuery('#e2pdf-dataset-shortcode').val('');
741 - jQuery('#e2pdf-template-shortcode').val('');
742 - if (Object.keys(result['options']).length > 0) {
743 - for (var key in result['options']) {
744 - var field = options.find('[name="options[' + key + ']"]');
745 - if (field.attr('type') === 'text' || field.is("select")) {
746 - field.val(result['options'][key]);
747 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
748 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
749 - checkbox.attr('checked', 'checked');
1214 + switch (form_id) {
1215 + case 'e2pdf-page-options':
1216 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1217 + var action_error = false;
1218 + for (var action in data['actions']) {
1219 + for (var condition in data['actions'][action]['conditions']) {
1220 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1221 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1222 + action_element.addClass('e2pdf-action-error');
1223 + action_error = true;
1224 + }
750 1225 }
751 1226 }
752 -
753 - var template_id = jQuery('#e2pdf-export-template').val();
754 - options.find('input[type="text"]').attr('disabled', false);
755 - options.find('input[type="checkbox"]').attr('disabled', false);
756 - options.find('select').attr('disabled', false);
757 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
758 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
759 - if (result['delete_items']) {
760 - jQuery('#e2pdf-delete-items').attr({'template': template_id, 'disabled': false});
1227 + if (action_error) {
1228 + setTimeout(function () {
1229 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1230 + }, 0);
1231 + return;
761 1232 }
762 -
763 - options.slideDown();
764 - if (e2pdf.static.autoloadExport) {
765 - if (e2pdf.url.get('dataset_id')) {
766 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
767 - dataset_field.val(e2pdf.url.get('dataset_id')).change();
1233 + var width = data['width'];
1234 + var height = data['height'];
1235 + var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1236 + e2pdf.actions.apply(page, data['actions']);
1237 + e2pdf.pages.changePageSize(page, width, height);
1238 + e2pdf.properties.apply(page, data);
1239 + e2pdf.event.fire('after.request.submitLocal', false, page);
1240 + break;
1241 + case 'e2pdf-tpl-actions':
1242 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1243 + var action_error = false;
1244 + for (var action in data['actions']) {
1245 + for (var condition in data['actions'][action]['conditions']) {
1246 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1247 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1248 + action_element.addClass('e2pdf-action-error');
1249 + action_error = true;
768 1250 }
769 1251 }
770 - e2pdf.static.autoloadExport = false;
771 - } else {
772 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
773 1252 }
774 -
775 - dataset_field.change();
776 - } else {
777 - e2pdf.url.change('e2pdf');
778 - }
779 - }
780 - if (action === 'e2pdf_dataset') {
781 - var template_id = jQuery('#e2pdf-export-template').val();
782 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
783 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
784 - jQuery('#e2pdf-dataset-shortcode').val('');
785 - if (dataset_id && dataset_id != "0") {
786 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
787 - jQuery('#e2pdf-dataset-shortcode-wr').show();
788 - }
789 -
790 - if (result['export']) {
791 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
792 - jQuery('#e2pdf-export-form').attr('action', export_url);
793 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
794 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
795 - } else {
796 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
797 - }
798 -
799 - if (result['view'] && result['dataset']) {
800 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
801 - }
802 -
803 - if (result['delete_item'] && result['dataset']) {
804 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
805 - }
806 -
807 - }
808 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
809 - if (action === 'e2pdf_activate_template') {
810 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
811 - } else {
812 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
813 - }
814 - }
815 - if (action === 'e2pdf_auto' || action === 'e2pdf_upload') {
816 - var elements = result.elements;
817 - var width = e2pdf.pdf.settings.get('width');
818 - var height = e2pdf.pdf.settings.get('height');
819 - e2pdf.pages.changeTplSize(width, height);
820 - e2pdf.pages.createPage();
821 - jQuery('.ui-dialog-content').dialog('close');
822 - var bottom = 0;
823 - var start_top = 0;
824 - if (typeof result.page !== 'undefined') {
825 - if (typeof result.page.bottom !== 'undefined') {
826 - bottom = parseFloat(result.page.bottom);
1253 + if (action_error) {
1254 + setTimeout(function () {
1255 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1256 + }, 0);
1257 + return;
827 1258 }
828 - if (typeof result.page.top !== 'undefined') {
829 - start_top = parseFloat(result.page.top);
1259 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1260 + break;
1261 + case 'e2pdf-tpl-properties':
1262 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1263 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1264 + break;
1265 + case 'e2pdf-tpl-hooks':
1266 + var hooks = data['hooks'];
1267 + if (hooks) {
1268 + e2pdf.pdf.settings.change('hooks', hooks.join(','));
1269 + } else {
1270 + e2pdf.pdf.settings.change('hooks', '');
830 1271 }
831 - }
832 -
833 - var correction = 0;
834 - var last_block = false;
835 - var i = 1;
836 - var page = jQuery('.e2pdf-page').last();
837 - for (var key in elements) {
838 - var element = elements[key];
839 - var type = element.type;
840 - var block = false;
841 - var float = false;
842 - var last_block_properties = false;
843 - var margin_left = 0;
844 - var margin_right = 0;
845 - var add_width = 0;
846 - var properties = {};
847 -
848 - if (element.properties) {
849 - for (var property in element.properties) {
850 - properties[property] = element.properties[property];
1272 + break;
1273 + default:
1274 + var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1275 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1276 + var action_error = false;
1277 + for (var action in data['actions']) {
1278 + for (var condition in data['actions'][action]['conditions']) {
1279 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1280 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1281 + action_element.addClass('e2pdf-action-error');
1282 + action_error = true;
1283 + }
851 1284 }
852 1285 }
853 - if (typeof element.margin_left !== 'undefined') {
854 - margin_left = parseFloat(element.margin_left);
1286 + if (action_error) {
1287 + setTimeout(function () {
1288 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1289 + }, 0);
1290 + return;
855 1291 }
856 - if (typeof element.margin_right !== 'undefined') {
857 - margin_right = parseFloat(element.margin_right);
1292 + var history = [];
1293 + history.push(element.clone(true));
1294 + e2pdf.history.set('element_change', history);
1295 + e2pdf.actions.apply(element, data['actions']);
1296 + delete data['actions'];
1297 + e2pdf.properties.apply(element, data);
1298 + e2pdf.properties.render(element);
1299 + e2pdf.event.fire('after.request.submitLocal', false, el);
1300 + break;
1301 + }
1302 + if (!noclose) {
1303 + e2pdf.dialog.close();
1304 + }
1305 + },
1306 + // e2pdf.request.callBack
1307 + callBack: function (action, result, el) {
1308 + switch (action) {
1309 + case 'e2pdf_email':
1310 + if (result === 'subscribed') {
1311 + jQuery('.e2pdf-email-lock').remove();
1312 + } else {
1313 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1314 + var form_id = el.attr('form-id');
1315 + var form = jQuery(document.getElementById(form_id));
1316 + form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1317 + form.find('input[name="email"]').attr('type', 'hidden');
1318 + jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
858 1319 }
859 - if (typeof element.add_width !== 'undefined') {
860 - add_width = parseFloat(element.add_width);
1320 + break;
1321 + case 'e2pdf_extension':
1322 + for (var key in result) {
1323 + var option = jQuery('<option>',
1324 + {
1325 + 'value': result[key]['id']
1326 + }).html(result[key]['name']);
1327 + if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1328 + option.attr('selected', 'selected');
1329 + }
1330 + option.data('data-item', result[key]);
1331 + jQuery('.e2pdf-item').append(option);
861 1332 }
862 -
863 - properties['margin_left'] = parseFloat(element.left);
864 - properties['margin_right'] = parseFloat(element.right);
865 -
866 - if (typeof element.block !== 'undefined') {
867 - block = element.block;
1333 + for (var key in result) {
1334 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1335 + var option = jQuery('<option>',
1336 + {
1337 + 'value': result[key]['id']
1338 + }).html(result[key]['name']);
1339 + if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1340 + option.attr('selected', 'selected');
1341 + }
1342 + option.data('data-item', result[key]);
1343 + jQuery('.e2pdf-item1').append(option);
1344 + }
868 1345 }
869 -
870 - if (typeof element.float !== 'undefined') {
871 - float = element.float;
1346 + for (var key in result) {
1347 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1348 + var option = jQuery('<option>',
1349 + {
1350 + 'value': result[key]['id']
1351 + }).html(result[key]['name']);
1352 + if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1353 + option.attr('selected', 'selected');
1354 + }
1355 + option.data('data-item', result[key]);
1356 + jQuery('.e2pdf-item2').append(option);
1357 + }
872 1358 }
873 -
874 - if (last_block) {
875 - last_block_properties = e2pdf.properties.get(last_block);
1359 + el.closest('form').find('.e2pdf-item').trigger('change');
1360 + break;
1361 + case 'e2pdf_get_styles':
1362 + for (var key in result) {
1363 + if (result[key].split('.').pop() == 'js') {
1364 + jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
1365 + } else {
1366 + jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1367 + }
876 1368 }
877 -
878 - if (block) {
879 - if (typeof properties.width === 'undefined') {
880 - if (typeof element.width !== 'undefined') {
881 - if (typeof element.width === 'string' && element.width.search("%") > 0) {
882 - properties['width'] = Math.floor((width * (parseFloat(element.width.replace('%', '')) / 100)) - parseFloat(element.left) - parseFloat(element.right));
1369 + break;
1370 + case 'e2pdf_visual_mapper':
1371 + el.html(result);
1372 + var height = el.outerHeight();
1373 + e2pdf.visual.mapper.markup();
1374 + if (window.ResizeObserver) {
1375 + e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1376 + for (var mutation of mutationsList) {
1377 + if (el.outerHeight() != height) {
1378 + e2pdf.visual.mapper.rebuild();
1379 + }
1380 + }
1381 + });
1382 + e2pdf.static.observer.observe(el[0]);
1383 + }
1384 + var images = el.find('img');
1385 + var counter = 0;
1386 + counter = images.length;
1387 + images.each(function () {
1388 + var img = new Image();
1389 + img.onload = function () {
1390 + counter--;
1391 + if (counter === 0) {
1392 + e2pdf.visual.mapper.rebuild();
1393 + }
1394 + };
1395 + img.onerror = function () {
1396 + counter--;
1397 + if (counter === 0) {
1398 + e2pdf.visual.mapper.rebuild();
1399 + }
1400 + };
1401 + img.src = jQuery(this).attr('src');
1402 + });
1403 + break;
1404 + case 'e2pdf_templates':
1405 + var template_id = result['id'];
1406 + if (template_id) {
1407 + jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1408 + for (var key in result['datasets']) {
1409 + var options = [];
1410 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1411 + dataset_field.closest('.e2pdf-export-item').show();
1412 + for (var subkey in result['datasets'][key]) {
1413 + var option = {
1414 + key: result['datasets'][key][subkey]['key'].toString(),
1415 + value: result['datasets'][key][subkey]['value'].toString()
1416 + };
1417 + options.push(option);
1418 + if (e2pdf.url.get('action') == 'bulk') {
1419 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
883 1420 } else {
884 - properties['width'] = parseFloat(element.width);
1421 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
885 1422 }
1423 + }
1424 + dataset_field.data('options', options);
1425 + if (e2pdf.url.get('action') == 'bulk') {
1426 + dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1427 + if (Object.keys(result['datasets'][key]).length > 1) {
1428 + dataset_field.attr('disabled', false);
1429 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1430 + } else {
1431 + dataset_field.attr('disabled', 'disabled');
1432 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1433 + }
886 1434 } else {
887 - properties['width'] = width - parseFloat(element.left) - parseFloat(element.right);
1435 + dataset_field.val('');
1436 + e2pdf.select2.update(dataset_field);
1437 + e2pdf.select2.enable(dataset_field);
888 1438 }
889 1439 }
890 - if (float && last_block) {
891 - var start_left = last_block_properties.left + last_block_properties.width + last_block_properties.margin_right;
892 - if (width - start_left >= properties.width + parseFloat(element.left) + parseFloat(element.right)) {
893 - if (page.find(last_block).length === 0) {
894 - page = last_block.closest('.e2pdf-page');
895 - }
896 - properties['left'] = start_left + parseFloat(element.left);
897 - } else {
898 - float = false;
899 - properties['left'] = parseFloat(element.left);
1440 + if (result['actions']) {
1441 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1442 + for (var key in result['actions']) {
1443 + ul.append(jQuery('<li>').html(result['actions'][key]));
900 1444 }
901 - } else {
902 - float = false;
903 - properties['left'] = parseFloat(element.left);
1445 + jQuery('.e2pdf-export-template-actions').append(ul);
904 1446 }
905 - } else {
906 - if (last_block) {
907 - if (typeof properties.left === 'undefined') {
908 - if (typeof element.left !== 'undefined') {
909 - if (typeof element.left === 'string' && element.left.search("%") > 0) {
910 - if (element.left.startsWith("-")) {
911 - properties['left'] = last_block_properties.left - Math.floor((last_block_properties.width * (parseFloat(element.left.replace('%', '').replace('-', '')) / 100))) + margin_left;
912 - } else {
913 - properties['left'] = last_block_properties.left + Math.floor((last_block_properties.width * (parseFloat(element.left.replace('%', '')) / 100))) + margin_left;
1447 + jQuery('.e2pdf-export-option').each(function () {
1448 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1449 + var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1450 + if (result['options'].hasOwnProperty(key)) {
1451 + jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1452 + if (result['options'][key]) {
1453 + jQuery(this).val(result['options'][key]);
1454 + } else {
1455 + if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1456 + jQuery(this).val('[e2pdf-dataset]');
1457 + } else {
1458 + if (key == 'args') {
1459 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1460 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
914 1461 }
915 -
916 - } else {
917 - properties['left'] = last_block_properties.left + parseFloat(element.left);
1462 + jQuery(this).val('');
918 1463 }
919 - } else {
920 - properties['left'] = last_block_properties.left;
921 1464 }
1465 + } else {
1466 + jQuery(this).val('');
922 1467 }
923 - if (typeof properties.width === 'undefined') {
924 - if (typeof element.width !== 'undefined') {
925 - if (typeof element.width === 'string' && element.width.search("%") > 0) {
926 - properties['width'] = Math.floor((last_block_properties.width * (parseFloat(element.width.replace('%', '')) / 100))) + add_width;
927 - } else {
928 - properties['width'] = parseFloat(element.width);
929 - }
930 - } else {
931 - properties['width'] = last_block_properties.width - parseFloat(element.left) - parseFloat(element.right);
1468 + if (jQuery(this).attr('name') == 'options[name]') {
1469 + if (e2pdf.url.get('action') == 'bulk') {
1470 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
932 1471 }
933 1472 }
934 - } else {
935 - if (typeof properties.left === 'undefined') {
936 - if (typeof element.left !== 'undefined') {
937 - if (typeof element.left === 'string' && element.left.search("%") > 0) {
938 - properties['left'] = Math.floor((width * (parseFloat(element.left.replace('%', '').replace('-', '')) / 100))) + margin_left;
939 - if (element.left.startsWith("-")) {
940 - properties['left'] = 0 - properties['left'];
941 - }
942 - } else {
943 - properties['left'] = parseFloat(element.left);
944 - }
945 - } else {
946 - properties['left'] = 0;
1473 + });
1474 + if (e2pdf.static.autoloadExport) {
1475 + var datasets = [
1476 + 'dataset',
1477 + 'dataset2'
1478 + ];
1479 + for (var key in datasets) {
1480 + if (e2pdf.url.get(datasets[key])) {
1481 + jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
947 1482 }
948 1483 }
949 - if (typeof properties.width === 'undefined') {
950 - if (typeof element.width !== 'undefined') {
951 - if (typeof element.width === 'string' && element.width.search("%") > 0) {
952 - properties['width'] = Math.floor((width * (parseFloat(element.width.replace('%', '')) / 100)) - parseFloat(element.left) - parseFloat(element.right));
953 - } else {
954 - properties['width'] = parseFloat(element.width);
955 - }
956 - } else {
957 - properties['width'] = width - parseFloat(element.left) - parseFloat(element.right);
1484 + for (var key in datasets) {
1485 + if (e2pdf.url.get(datasets[key])) {
1486 + e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
958 1487 }
959 1488 }
1489 + e2pdf.static.autoloadExport = false;
1490 + } else {
1491 + var url = '';
1492 + if (e2pdf.url.get('action')) {
1493 + url += 'action=' + e2pdf.url.get('action') + '&';
1494 + }
1495 + url += 'id=' + template_id;
1496 + e2pdf.url.change('e2pdf', url);
960 1497 }
1498 +
1499 + if (e2pdf.url.get('action') == 'bulk') {
1500 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1501 + }
1502 + jQuery('.e2pdf-export-options').slideDown();
1503 + } else {
1504 + if (e2pdf.url.get('action') == 'bulk') {
1505 + e2pdf.url.change('e2pdf', 'action=bulk');
1506 + } else {
1507 + e2pdf.url.change('e2pdf');
1508 + }
961 1509 }
962 -
963 - page.find('.e2pdf-element').each(function () {
964 - if (!block && last_block) {
965 - if (page.find(last_block).length === 0) {
966 - if (typeof result.page.top === 'undefined') {
967 - start_top = 0;
968 - } else {
969 - start_top = parseFloat(result.page.top);
1510 + break;
1511 + case 'e2pdf_dataset':
1512 + var template_id = result['id'];
1513 + var url = 'id=' + template_id;
1514 + var shortcode = '[e2pdf-download id="' + template_id + '"';
1515 + if (result['datasets']) {
1516 + for (var key in result['datasets']) {
1517 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1518 + var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1519 + e2pdf.select2.enable(dataset_field);
1520 + if (result['datasets'][key]['id'] == '') {
1521 + dataset_field.val('');
1522 + e2pdf.select2.update(dataset_field);
1523 + } else {
1524 + url += '&' + key + '=' + result['datasets'][key]['id'];
1525 + shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1526 + }
1527 + if (result['datasets'][key]['actions']) {
1528 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1529 + for (var dkey in result['datasets'][key]['actions']) {
1530 + ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
970 1531 }
971 - } else {
972 - start_top = last_block_properties.top + parseFloat(last_block.css('height').replace('px', ''));
1532 + actions.empty().append(ul);
973 1533 }
974 -
1534 + }
1535 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1536 + }
1537 + shortcode += "]";
1538 + if (result['export']) {
1539 + jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1540 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1541 + jQuery('.e2pdf-dataset-shortcode-wr').show();
1542 + }
1543 + e2pdf.url.change('e2pdf', url);
1544 + break;
1545 + case 'e2pdf_datasets_refresh':
1546 + var options = [];
1547 + var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1548 + for (var key in result['datasets']) {
1549 + var option = {
1550 + key: result['datasets'][key]['key'].toString(),
1551 + value: result['datasets'][key]['value'].toString()
1552 + };
1553 + options.push(option);
1554 + if (e2pdf.url.get('action') == 'bulk') {
1555 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
975 1556 } else {
976 - start_top = Math.max(start_top, parseFloat(jQuery(this).css('top').replace('px', '')) + parseFloat(jQuery(this).css('height').replace('px', '')));
1557 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
977 1558 }
978 - });
1559 + }
1560 + dataset_field.data('options', options);
1561 + e2pdf.select2.val(dataset_field, result['dataset']);
1562 + break;
1563 + case 'e2pdf_delete_item':
1564 + case 'e2pdf_delete_items':
1565 + jQuery('.e2pdf-export-template').trigger('change');
1566 + break;
1567 + case 'e2pdf_activate_template':
1568 + case 'e2pdf_deactivate_template':
1569 + if (result == 'activated') {
1570 + el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1571 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1572 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1573 + }
1574 + } else {
1575 + el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1576 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1577 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1578 + }
1579 + }
1580 + break;
1581 + case 'e2pdf_auto':
1582 + var hidden_elements = [];
1583 + var elements = result.elements;
1584 + var width = parseFloat(e2pdf.pdf.settings.get('width'));
1585 + var height = parseFloat(e2pdf.pdf.settings.get('height'));
1586 + e2pdf.pages.changeTplSize(width, height);
1587 + e2pdf.pages.createPage();
1588 + jQuery('.ui-dialog-content').dialog('close');
1589 + var i = 1;
1590 + var page = jQuery('.e2pdf-page').last();
1591 + var auto = {
1592 + 'block': {
1593 + 'top': 0,
1594 + 'left': 0,
1595 + 'right': 0,
1596 + 'bottom': 0,
1597 + 'width': 0,
1598 + 'page': page.attr('data-page_id')
1599 + },
1600 + 'element': {
1601 + 'top': 0,
1602 + 'left': 0,
1603 + 'right': 0,
1604 + 'bottom': 0,
1605 + 'width': 0,
1606 + 'properties': {}
1607 + },
1608 + page: {
1609 + 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1610 + 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1611 + 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1612 + 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1613 + }
1614 + };
1615 + for (var key in elements) {
1616 + var element = elements[key];
1617 + var type = element.type;
1618 + var properties = {};
1619 + element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1620 + element['block'] = typeof element.block === 'undefined' ? false : element.block;
1621 + element['float'] = typeof element.float === 'undefined' ? false : element.float;
1622 + element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1623 + element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1624 + element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1625 + element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1626 + element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1627 + element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1628 + for (var property in element.properties) {
1629 + properties[property] = element.properties[property];
1630 + }
979 1631
980 - if (i === 1) {
981 - properties['top'] = start_top;
982 - } else {
983 - if (float && block) {
984 - if (last_block) {
985 - properties['top'] = last_block_properties.top;
1632 + if (element.block) {
1633 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1634 + if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
1635 + page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1636 + properties['left'] = auto.block.right + parseFloat(properties.left);
1637 + properties['top'] = auto.block.top;
986 1638 } else {
987 - properties['top'] = start_top + parseFloat(element.top);
1639 + page = jQuery('.e2pdf-page').last();
1640 + auto.block['bottom'] = 0;
1641 + page.find('.e2pdf-element').each(function () {
1642 + auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
1643 + });
1644 + properties['left'] = parseFloat(properties.left);
1645 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
988 1646 }
989 1647 } else {
990 - if (page.find(last_block).length === 0 && !block) {
991 - properties['top'] = start_top + parseFloat(element.top) - correction;
1648 + if (element.float) {
1649 + if (element.properties.width !== 'auto') {
1650 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1651 + if (auto.element.properties.width === 'auto') {
1652 + properties['width'] = properties['width'] - auto.element.width;
1653 + }
1654 + }
1655 + properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1656 + properties['top'] = auto.element.top;
992 1657 } else {
993 - properties['top'] = start_top + parseFloat(element.top);
1658 + if (element.properties.width !== 'auto') {
1659 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1660 + }
1661 + properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1662 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
994 1663 }
995 1664 }
996 - }
997 - //changed
998 - var el = e2pdf.element.create(type, page, properties, false, true);
999 - e2pdf.properties.render(el);
1000 - e2pdf.properties.set(el, 'height', parseFloat(el.css('height').replace('px', '')));
1001 - page.append(el);
1002 - if (properties['top'] + parseFloat(el.css('height').replace('px', '')) + bottom > height) {
1003 1665
1004 - if (page.is(':last-child')) {
1666 + var obj = e2pdf.element.create(type, page, properties, false, true);
1667 + e2pdf.properties.render(obj);
1668 + page.append(obj);
1669 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1670 + e2pdf.actions.apply(obj, element.actions);
1671 + }
1005 1672
1006 - if (e2pdfParams['license_type'] == 'FREE') {
1007 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
1008 - return;
1673 + if (element.properties.height === 'auto') {
1674 + e2pdf.properties.set(obj, 'height', obj.height());
1675 + e2pdf.properties.render(obj);
1676 + } else if (element.properties.height === 'max') {
1677 + e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1678 + e2pdf.properties.render(obj);
1679 + }
1680 +
1681 + if (!element.block
1682 + && element.float
1683 + && auto.block.width > 0
1684 + && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1685 + e2pdf.properties.set(obj, 'left', auto.block.left);
1686 + e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1687 + e2pdf.properties.render(obj);
1688 + }
1689 +
1690 + if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1691 + if (page.is(':last-child')) {
1692 + if (e2pdf_params['license_type'] == 'FREE') {
1693 + obj.remove();
1694 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1695 + return;
1696 + }
1697 +
1698 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1699 + e2pdf.pages.createPage();
1700 + page = jQuery('.e2pdf-page').last();
1701 + }
1702 + } else {
1703 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1704 + page = page.next('.e2pdf-page');
1705 + }
1009 1706 }
1010 - e2pdf.pages.createPage();
1011 - page = jQuery('.e2pdf-page').last();
1012 - } else {
1013 - page = page.next('.e2pdf-page');
1707 +
1708 + e2pdf.element.delete(obj);
1709 + if (element.properties.height === 'auto') {
1710 + properties['height'] = element.properties.height;
1711 + }
1712 +
1713 + auto.block['bottom'] = auto.page.top;
1714 + properties['top'] = auto.block.bottom;
1715 + obj = e2pdf.element.create(type, page, properties, false, true);
1716 + e2pdf.properties.render(obj);
1717 + page.append(obj);
1718 + if (element.properties.height === 'auto') {
1719 + e2pdf.properties.set(obj, 'height', obj.height());
1720 + e2pdf.properties.render(obj);
1721 + }
1722 +
1723 + if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1724 + e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1725 + e2pdf.properties.render(obj);
1726 + e2pdf.properties.set(obj, 'top', properties['top']);
1727 + e2pdf.properties.render(obj);
1728 + }
1014 1729 }
1015 1730
1016 - if (typeof result.page.top === 'undefined') {
1017 - start_top = 0;
1731 + auto.element = {
1732 + 'top': e2pdf.properties.getValue(obj, 'top'),
1733 + 'left': e2pdf.properties.getValue(obj, 'left'),
1734 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1735 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1736 + 'width': e2pdf.properties.getValue(obj, 'width'),
1737 + 'properties': element.properties
1738 + };
1739 + if (element.block) {
1740 + auto.block = {
1741 + 'top': e2pdf.properties.getValue(obj, 'top'),
1742 + 'left': e2pdf.properties.getValue(obj, 'left'),
1743 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1744 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1745 + 'width': e2pdf.properties.getValue(obj, 'width'),
1746 + 'page': page.attr('data-page_id')
1747 + };
1018 1748 } else {
1019 - start_top = parseFloat(result.page.top);
1749 + auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1020 1750 }
1021 -
1022 - e2pdf.element.delete(el);
1023 - if (!block) {
1024 - correction = parseFloat(element.top);
1751 + if (element.hidden) {
1752 + hidden_elements.push(obj);
1025 1753 }
1026 -
1027 - properties['top'] = start_top + parseFloat(element.top) - correction;
1028 - if (properties.height > height - start_top - bottom) {
1029 - properties['height'] = height - start_top - bottom;
1754 + i++;
1755 + }
1756 + hidden_elements.forEach(function (element) {
1757 + e2pdf.element.delete(element);
1758 + });
1759 + break;
1760 + case 'e2pdf_bulk_action':
1761 + if (result.action == 'delete') {
1762 + el.closest('.e2pdf-bulk').remove();
1763 + if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1764 + jQuery('.e2pdf-bulks-list').remove();
1030 1765 }
1031 - //changed
1032 - var el = e2pdf.element.create(type, page, properties, false, true);
1033 - e2pdf.properties.render(el);
1034 - page.append(el);
1766 + } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1767 + el.closest('.e2pdf-bulk').attr('status', 'stop');
1768 + el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1769 + } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1770 + el.closest('.e2pdf-bulk').attr('status', 'pending');
1771 + el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1035 1772 }
1036 -
1037 - if (block) {
1038 - correction = 0;
1039 - last_block = el;
1773 + break;
1774 + case 'e2pdf_bulk_progress':
1775 + for (var key in result.bulks) {
1776 + var bulk = result.bulks[key];
1777 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1778 + if (bulk['status'] == 'completed') {
1779 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1780 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1781 + jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1782 + jQuery('<i>', {'class': 'dashicons dashicons-download'})
1783 + ));
1784 + }
1040 1785 }
1041 - i++;
1042 - }
1786 + break;
1787 + default:
1788 + break;
1043 1789 }
1044 1790 }
1045 1791 },
1046 - //e2pdf.dialog
1792 + // e2pdf.dialog
1047 1793 dialog: {
1048 - //e2pdf.dialog.create
1794 + top: null,
1795 + left: null,
1796 + center: true,
1797 + // e2pdf.dialog.create
1049 1798 create: function (el) {
1050 1799 e2pdf.dialog.close();
1051 1800 var modal = el.attr('data-modal');
1052 1801 var title = el.attr('data-modal-title');
@@ -1053,21 +1802,21 @@
1053 1802 var noclose = false;
1054 1803 var width = '600';
1055 1804 var height = '600';
1056 1805 if (modal === 'license-key') {
1057 - width = '300';
1806 + width = '400';
1058 1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1059 - jQuery('<form>', {'id': 'license_key'}).append(
1808 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1060 1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1061 1810 jQuery('<span>', {'class': 'spinner'})
1062 1811 ),
1063 1812 jQuery('<ul>').append(
1064 1813 jQuery('<li>').append(
1065 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1066 - jQuery('<input>', {'type': 'text', 'name': 'license_key'})
1814 + jQuery('<label>', {'class': 'e2pdf-mb5'}).html(e2pdf.lang.get('License Key') + ':'),
1815 + jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100 e2pdf-enter'})
1067 1816 ),
1068 1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1069 - jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdfLang['Submit']})
1818 + jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdf.lang.get('Apply'), '_wpnonce': e2pdf_params['nonce']['e2pdf_license']})
1070 1819 )
1071 1820 )
1072 1821 )
1073 1822 );
@@ -1072,23 +1821,21 @@
1072 1821 )
1073 1822 );
1074 1823 } else if (modal === 'properties') {
1075 1824 for (var key in e2pdf.element.selected) {
1076 - var title = e2pdfLang['Properties'];
1825 + var title = e2pdf.lang.get('Properties');
1077 1826 var selected = e2pdf.element.selected[key];
1078 - var properties = e2pdf.properties.get(selected);
1079 1827 var fields = e2pdf.properties.renderFields(selected);
1080 1828 var content = jQuery('<div>').append(
1081 1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1082 1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1083 1831 fields
1084 - ),
1085 1832 )
1833 + )
1086 1834 );
1087 1835 }
1088 1836 } else if (modal === 'page-options') {
1089 -
1090 - var title = e2pdfLang['Page Options'];
1837 + var title = e2pdf.lang.get('Page Options');
1091 1838 var page = el.closest('.e2pdf-page');
1092 1839 var readonly_size = false;
1093 1840 if (e2pdf.pdf.settings.get('pdf')) {
1094 1841 readonly_size = true;
@@ -1098,50 +1845,66 @@
1098 1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1099 1846 jQuery('<span>', {'class': 'spinner'})
1100 1847 ),
1101 1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1102 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1849 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1103 1850 )),
1104 1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1105 1852 jQuery('<span>', {'class': 'spinner'})
1106 1853 ));
1107 -
1108 -
1109 1854 var fields = e2pdf.properties.renderFields(page);
1110 -
1111 1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1112 1856 fields
1113 1857 ));
1114 -
1858 + } else if (modal === 'tpl-actions') {
1859 + width = '600';
1860 + var title = e2pdf.lang.get('Global Actions');
1861 + var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'));
1862 + var content = jQuery('<div>').append(
1863 + jQuery('<form>', {'id': 'e2pdf-tpl-actions'}).append(
1864 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1865 + fields
1866 + )
1867 + )
1868 + );
1869 + } else if (modal === 'tpl-properties') {
1870 + width = '600';
1871 + var title = e2pdf.lang.get('Global Properties');
1872 + var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'), false);
1873 + var content = jQuery('<div>').append(
1874 + jQuery('<form>', {'id': 'e2pdf-tpl-properties'}).append(
1875 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1876 + fields
1877 + )
1878 + )
1879 + );
1115 1880 } else if (modal === 'tpl-options') {
1116 - var noclose = false;
1117 1881 width = '500';
1118 - var title = e2pdfLang['PDF Options'];
1882 + var title = e2pdf.lang.get('Options');
1119 1883 var readonly_size = false;
1120 1884 if (e2pdf.pdf.settings.get('pdf')) {
1121 1885 readonly_size = true;
1122 1886 }
1123 -
1124 1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1125 1888 jQuery('<option>',
1126 1889 {
1127 - 'value': '',
1128 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1890 + 'value': ''
1891 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1129 1892 );
1130 - for (var size in e2pdfTemplateSizes) {
1893 + for (var size in e2pdf_params['template_sizes']) {
1131 1894 var option = jQuery('<option>',
1132 1895 {
1133 - 'value': size,
1134 - }).html(size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')');
1896 + 'value': size
1897 + }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1135 1898 sizes.append(option);
1136 1899 }
1137 1900
1138 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1139 - for (var extension in e2pdfTemplateExtensions) {
1901 + var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
1902 + for (var extension in e2pdf_params['extensions']) {
1140 1903 var option = jQuery('<option>',
1141 1904 {
1142 - 'value': extension,
1143 - }).html(e2pdfTemplateExtensions[extension]);
1905 + 'value': extension
1906 + }).html(e2pdf_params['extensions'][extension]);
1144 1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1145 1908 option.attr('selected', 'selected');
1146 1909 }
1147 1910 extensions.append(option);
@@ -1146,14 +1909,14 @@
1146 1909 }
1147 1910 extensions.append(option);
1148 1911 }
1149 1912
1150 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-create-pdf-form', 'class': 'e2pdf-rel'}).append(
1913 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-tpl-options', 'class': 'e2pdf-rel'}).append(
1151 1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1152 1915 jQuery('<span>', {'class': 'spinner'})
1153 1916 ),
1154 1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1155 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1918 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1156 1919 )),
1157 1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1158 1921 jQuery('<span>', {'class': 'spinner'})
1159 1922 ));
@@ -1158,49 +1921,119 @@
1158 1921 jQuery('<span>', {'class': 'spinner'})
1159 1922 ));
1160 1923 var default_width = '595';
1161 1924 if (e2pdf.pdf.settings.get('width')) {
1162 - var default_width = e2pdf.pdf.settings.get('width');
1925 + default_width = e2pdf.pdf.settings.get('width');
1163 1926 }
1164 1927
1165 1928 var default_height = '842';
1166 1929 if (e2pdf.pdf.settings.get('height')) {
1167 - var default_height = e2pdf.pdf.settings.get('height');
1930 + default_height = e2pdf.pdf.settings.get('height');
1168 1931 }
1169 1932
1170 1933 content.find('form').append(
1171 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1172 1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1173 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1174 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
1935 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
1936 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1175 1937 ),
1176 1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1177 1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1178 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1940 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1179 1941 ),
1180 1942 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1181 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1943 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1182 1944 )
1183 1945 )
1184 1946 );
1185 1947 content.find('form').append(
1186 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1948 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1187 1949 sizes);
1188 1950 content.find('form').append(
1189 - jQuery('<label>').html(e2pdfLang['Extension'] + ':'),
1951 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1952 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1953 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1954 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1955 + ),
1956 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1957 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1958 + jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
1959 + ),
1960 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
1961 + jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
1962 + ),
1963 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
1964 + jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1965 + )
1966 + )
1967 + );
1968 + content.find('form').append(
1969 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1970 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1971 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1972 + ),
1973 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1974 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1975 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1976 + ),
1977 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1978 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1979 + e2pdf.lang.get('RTL')
1980 + )
1981 + )
1982 + );
1983 + content.find('form').append(
1984 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1190 1985 extensions,
1191 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1192 - jQuery('<select>', {'id': 'e2pdf-item', 'name': 'item', 'class': 'e2pdf-item e2pdf-w100'})
1986 + jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1987 + jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1193 1988 );
1194 1989 content.find('form').append(
1195 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
1990 + jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1991 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1992 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1993 + ),
1994 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1995 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1996 + jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1997 + jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
1998 + jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
1999 + jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2000 + ).val('0'),
2001 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2002 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2003 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2004 + e2pdf.lang.get('Shortcodes')
2005 + )
2006 + )
2007 + )
2008 + )
2009 + )
1196 2010 );
2011 + content.find('form').append(
2012 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2013 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2014 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2015 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2016 + ),
2017 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2018 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2019 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2020 + ),
2021 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2022 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2023 + )
2024 + )
2025 + )
2026 + );
2027 + content.find('form').append(
2028 + jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2029 + );
1197 2030 if (e2pdf.pdf.settings.get('pdf')) {
1198 2031 content.find('form').append(
1199 - jQuery('<ul>').append(
2032 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1200 2033 jQuery('<li>'),
1201 2034 jQuery('<li>').append(
1202 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
2035 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
1203 2036 ),
1204 2037 jQuery('<li>')
1205 2038 )
1206 2039 );
@@ -1205,46 +2038,76 @@
1205 2038 )
1206 2039 );
1207 2040 } else {
1208 2041 content.find('form').append(
1209 - jQuery('<ul>').append(
2042 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1210 2043 jQuery('<li>').append(
1211 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
2044 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
1212 2045 ),
1213 2046 jQuery('<li>'),
1214 2047 jQuery('<li>').append(
1215 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
2048 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
1216 2049 )
1217 2050 )
1218 2051 );
1219 2052 }
1220 2053
2054 + } else if (modal === 'tpl-hooks') {
2055 + width = '600';
2056 + var title = e2pdf.lang.get('Integration Hooks');
2057 + var hooks = e2pdf.hooks.get();
2058 + var checked = e2pdf.hooks.getChecked();
2059 + var fields = jQuery('<div>');
2060 + fields.append(jQuery('<p>', {'class': 'e2pdf-bold'}).html(e2pdf.lang.get('Display PDF Download') + ':'));
2061 + for (var hook in hooks) {
2062 + var option = jQuery('<label>', {'class': 'e2pdf-label e2pdf-w50'}).append(
2063 + jQuery(
2064 + '<input>', {
2065 + 'type': 'checkbox', 'name': 'hooks[]',
2066 + 'class': 'e2pdf-ib',
2067 + 'value': hook,
2068 + 'checked': jQuery.inArray(hook, checked) !== -1 ? 'checked' : false
2069 + }
2070 + )
2071 + ).append(hooks[hook]);
2072 + fields.append(option);
2073 + }
2074 + if (Object.keys(hooks).length === 0) {
2075 + fields.append(jQuery('<p>').html(e2pdf.lang.get('No hooks are available for this extension')));
2076 + }
2077 + var content = jQuery('<div>').append(
2078 + jQuery('<form>', {'id': 'e2pdf-tpl-hooks'}).append(
2079 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
2080 + fields
2081 + )
2082 + )
2083 + );
1221 2084 } else if (modal === 'welcome-screen') {
1222 2085 var noclose = true;
1223 2086 width = '500';
1224 - var title = e2pdfLang['Create PDF'];
2087 + var title = e2pdf.lang.get('Create PDF');
1225 2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1226 2089 jQuery('<option>',
1227 2090 {
1228 - 'value': '',
1229 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2091 + 'value': ''
2092 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1230 2093 );
1231 - for (var size in e2pdfTemplateSizes) {
2094 + for (var size in e2pdf_params['template_sizes']) {
1232 2095 var option = jQuery('<option>',
1233 2096 {
1234 2097 'value': size,
1235 - 'data-width': e2pdfTemplateSizes[size]['width'],
1236 - 'data-height': e2pdfTemplateSizes[size]['height']
1237 - }).html(size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')');
2098 + 'data-width': e2pdf_params['template_sizes'][size]['width'],
2099 + 'data-height': e2pdf_params['template_sizes'][size]['height']
2100 + }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1238 2101 sizes.append(option);
1239 2102 }
1240 2103
1241 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1242 - for (var extension in e2pdfTemplateExtensions) {
2104 + var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
2105 + for (var extension in e2pdf_params['extensions']) {
1243 2106 var option = jQuery('<option>',
1244 2107 {
1245 - 'value': extension,
1246 - }).html(e2pdfTemplateExtensions[extension]);
2108 + 'value': extension
2109 + }).html(e2pdf_params['extensions'][extension]);
1247 2110 if (e2pdf.pdf.settings.get('extension') === extension) {
1248 2111 option.attr('selected', 'selected');
1249 2112 }
1250 2113 extensions.append(option);
@@ -1249,14 +2112,14 @@
1249 2112 }
1250 2113 extensions.append(option);
1251 2114 }
1252 2115
1253 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-create-pdf-form', 'class': 'e2pdf-rel'}).append(
2116 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-welcome-screen', 'class': 'e2pdf-rel'}).append(
1254 2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1255 2118 jQuery('<span>', {'class': 'spinner'})
1256 2119 ),
1257 2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1258 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2121 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1259 2122 )),
1260 2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1261 2124 jQuery('<span>', {'class': 'spinner'})
1262 2125 ));
@@ -1270,38 +2133,117 @@
1270 2133 var default_height = e2pdf.pdf.settings.get('height');
1271 2134 }
1272 2135
1273 2136 content.find('form').append(
1274 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1275 2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1276 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1277 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
2138 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
1278 2139 ),
1279 2140 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2141 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2142 + jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
2143 + )
2144 + )
2145 + );
2146 + content.find('form').append(
2147 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2148 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2149 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
2150 + ),
2151 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1280 2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1281 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2153 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
1282 2154 ),
1283 2155 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1284 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2156 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
1285 2157 )
1286 2158 )
1287 2159 );
1288 2160 content.find('form').append(
1289 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2161 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1290 2162 sizes);
1291 2163 content.find('form').append(
1292 - jQuery('<label>').html(e2pdfLang['Extension'] + ':'),
2164 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2165 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2166 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2167 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
2168 + ),
2169 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2170 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
2171 + jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
2172 + ),
2173 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
2174 + jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
2175 + ),
2176 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
2177 + jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
2178 + )
2179 + )
2180 + );
2181 + content.find('form').append(
2182 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2183 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2184 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2185 + ),
2186 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2187 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2188 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2189 + ),
2190 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2191 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2192 + e2pdf.lang.get('RTL')
2193 + )
2194 + )
2195 + );
2196 + content.find('form').append(
2197 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1293 2198 extensions,
1294 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1295 - jQuery('<select>', {'id': 'e2pdf-item', 'name': 'item', 'class': 'e2pdf-item e2pdf-w100'})
2199 + jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2200 + jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1296 2201 );
1297 2202 content.find('form').append(
1298 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2203 + jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
2204 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2205 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
2206 + ),
2207 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2208 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2209 + jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
2210 + jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
2211 + jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
2212 + jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2213 + ).val('0'),
2214 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2215 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2216 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2217 + e2pdf.lang.get('Shortcodes')
2218 + )
2219 + )
2220 + )
2221 + )
2222 + )
1299 2223 );
1300 2224 content.find('form').append(
2225 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2226 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2227 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2228 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2229 + ),
2230 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2231 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2232 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2233 + ),
2234 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2235 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2236 + )
2237 + )
2238 + )
2239 + );
2240 + content.find('form').append(
2241 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2242 + );
2243 + content.find('form').append(
1301 2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1302 2245 );
1303 -
1304 2246 if (e2pdf.pdf.settings.get('ID')) {
1305 2247 content.find('form').append(
1306 2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1307 2249 );
@@ -1307,48 +2249,49 @@
1307 2249 );
1308 2250 }
1309 2251
1310 2252 content.find('form').append(
1311 - jQuery('<ul>').append(
2253 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1312 2254 jQuery('<li>').append(
1313 - jQuery('<a>', {'id': 'e2pdf-w-empty', 'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Empty PDF'])
2255 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-w-empty e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Empty PDF'))
1314 2256 ),
1315 2257 jQuery('<li>').append(
1316 - jQuery('<a>', {'id': 'e2pdf-w-upload', 'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Upload PDF'])
2258 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-w-upload e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF')).append(jQuery('<span>').html(e2pdf.lang.get('Max Upload File Size') + ": " + e2pdf_params['upload_max_filesize']))
1317 2259 ),
1318 2260 jQuery('<li>').append(
1319 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
2261 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
1320 2262 )
1321 2263 )
1322 2264 );
1323 2265 } else if (modal === 'visual-mapper') {
1324 -
1325 - var title = e2pdfLang['Visual Mapper'];
1326 - var content = jQuery('<div>', {'id': 'visual-mapper', 'class': 'visual-mapper'}).append(
2266 + var title = e2pdf.lang.get('Visual Mapper');
2267 + var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
1327 2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1328 2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1329 2270 jQuery('<span>', {'class': 'spinner'})
1330 2271 )).append(
1331 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1332 - jQuery('<div>', {'id': 'e2pdf-vm-content', 'class': 'e2pdf-vm-content e2pdf-rel'})
2272 + jQuery('<div>', {'class': 'e2pdf-popup-inner'}).append(
2273 + jQuery('<div>', {'class': 'e2pdf-vm-content e2pdf-rel', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).append(
2274 + jQuery('<span>', {'class': 'spinner'})
1333 2275 )
2276 + )
1334 2277 ));
1335 2278 } else if (modal === 'pdf-reupload') {
1336 -
1337 - var title = e2pdfLang['PDF Upload'];
2279 + var title = e2pdf.lang.get('PDF Upload');
1338 2280 width = '500';
1339 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2281 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2282 + jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
1340 2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1341 2284 jQuery('<span>', {'class': 'spinner'})
1342 2285 ),
1343 2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1344 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2287 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1345 2288 )),
1346 2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1347 2290 jQuery('<span>', {'class': 'spinner'})
1348 2291 ));
1349 2292 content.find('form').append(
1350 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2293 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
1351 2294 );
1352 2295 if (e2pdf.pdf.settings.get('ID')) {
1353 2296 content.find('form').append(
1354 2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
@@ -1357,27 +2300,32 @@
1357 2300
1358 2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1359 2302 pages.append(
1360 2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1361 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1362 - jQuery('<label>').text(e2pdfLang['Page ID'])
2304 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2305 + jQuery('<label>').text(e2pdf.lang.get('Page ID'))
1363 2306 ),
1364 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1365 - jQuery('<label>').text(e2pdfLang['New Position'])
2307 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2308 + jQuery('<label>').text(e2pdf.lang.get('Page ID inside Upload PDF'))
1366 2309 ),
1367 2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1368 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2311 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1369 2312 ),
1370 2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1371 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2314 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1372 2315 )));
1373 2316 jQuery('.e2pdf-page').each(function () {
1374 2317 var page_id = jQuery(this).attr('data-page_id');
1375 2318 pages.append(
1376 2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1377 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).text(page_id),
2320 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).text(page_id),
2321 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w5 e2pdf-center'}).append(
2322 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-delete-reupload-page'}).append(
2323 + jQuery('<i>', {'class': 'dashicons dashicons-no'})
2324 + )
2325 + ),
1378 2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1379 - jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center', 'value': page_id})
2327 + jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
1380 2328 ),
1381 2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1382 2330 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
1383 2331 ),
@@ -1392,9 +2340,9 @@
1392 2340 jQuery('<ul>').append(
1393 2341 jQuery('<li>').append(
1394 2342 ),
1395 2343 jQuery('<li>').append(
1396 - jQuery('<a>', {'id': 'e2pdf-w-reupload', 'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large'}).html(e2pdfLang['Upload PDF'])
2344 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF'))
1397 2345 ),
1398 2346 jQuery('<li>').append(
1399 2347 )
1400 2348 )
@@ -1403,58 +2351,134 @@
1403 2351 var content = jQuery('<div>');
1404 2352 }
1405 2353
1406 2354 if (typeof content !== 'undefined') {
2355 +
2356 + var dialog_class = 'e2pdf-dialog';
2357 + if (modal === 'visual-mapper') {
2358 + dialog_class += ' e2pdf-dialog-visual-mapper';
2359 + } else if (modal === 'properties') {
2360 + dialog_class += ' e2pdf-dialog-element-properties';
2361 + dialog_class += ' for-' + selected.data('data-type');
2362 + }
1407 2363 content.dialog({
1408 2364 title: title,
1409 - dialogClass: 'e2pdf-dialog',
2365 + dialogClass: dialog_class,
1410 2366 modal: true,
1411 2367 width: width,
1412 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1413 - resizable: false,
1414 - minHeight: 0,
1415 - my: "center",
1416 - at: "center",
2368 + height: Math.min(height, jQuery(window).height() - 200),
2369 + resizable: modal === 'visual-mapper' || modal === 'properties' || modal === 'page-options' || modal === 'tpl-actions' || modal === 'tpl-properties' ? true : false,
2370 + minWidth: 200,
2371 + closeText: '',
2372 + my: 'center',
2373 + at: 'center',
2374 + of: window,
1417 2375 open: function (event, ui) {
2376 + jQuery('html').css('overflow', 'hidden');
2377 + jQuery('.e2pdf-dialog').css('min-height', '150');
1418 2378 if (noclose) {
1419 - jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).remove();
2379 + jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
2380 + location.href = e2pdf.url.build('e2pdf-templates');
2381 + e.preventDefault();
2382 + });
1420 2383 } else {
1421 2384 jQuery('.ui-widget-overlay').bind('click', function ()
1422 2385 {
2386 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2387 + return;
2388 + }
1423 2389 content.dialog('close');
1424 2390 });
1425 2391 }
1426 2392
1427 - var dialog_height = jQuery('.e2pdf-dialog').height();
1428 -
1429 -
1430 2393 if (modal === 'properties') {
1431 2394 jQuery(".ui-dialog-titlebar").after(
1432 2395 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1433 - jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2396 + jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-noclose', 'value': e2pdf.lang.get('Apply')}),
2397 + jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-ml5', 'value': e2pdf.lang.get('Save')})
1434 2398 )
1435 2399 );
2400 + } else if (modal === 'tpl-actions') {
2401 + jQuery(".ui-dialog-titlebar").after(
2402 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2403 + jQuery('<input>', {'form-id': "e2pdf-tpl-actions", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2404 + )
2405 + );
2406 + } else if (modal === 'tpl-properties') {
2407 + jQuery(".ui-dialog-titlebar").after(
2408 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2409 + jQuery('<input>', {'form-id': "e2pdf-tpl-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2410 + )
2411 + );
2412 + } else if (modal === 'tpl-hooks') {
2413 + jQuery(".ui-dialog-titlebar").after(
2414 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2415 + jQuery('<input>', {'form-id': "e2pdf-tpl-hooks", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2416 + )
2417 + );
2418 + } else if (modal === 'visual-mapper') {
2419 + jQuery(".ui-dialog-titlebar").after(
2420 + jQuery('<div>', {'class': 'e2pdf-dialog-over'}).append(
2421 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2422 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w40 e2pdf-pr10'}).append(
2423 + jQuery('<input>', {'type': 'text', 'name': 'vm_search', 'class': 'e2pdf-ib e2pdf-w100 e2pdf-hide', 'value': '', 'placeholder': e2pdf.lang.get('Filter...')})
2424 + ),
2425 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-align-right'}).append(
2426 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pr10'}).append(
2427 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_hidden', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.hidden ? 'checked' : false})
2428 + ).append(e2pdf.lang.get('Hidden Fields')),
2429 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10 e2pdf-pr10'}).append(
2430 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_replace', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.replace ? 'checked' : false})
2431 + ).append(e2pdf.lang.get('Replace Value')),
2432 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10'}).append(
2433 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_close', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.close ? 'checked' : false})
2434 + ).append(e2pdf.lang.get('Auto-Close'))
2435 + )
2436 + )
2437 + )
2438 + );
1436 2439 } else if (modal === 'page-options') {
1437 2440 jQuery(".ui-dialog-titlebar").after(
1438 2441 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1439 - jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2442 + jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
1440 2443 )
1441 2444 );
1442 2445 }
1443 -
1444 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1445 -
1446 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1447 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
2446 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
1448 2447 },
1449 2448 closeOnEscape: modal === 'welcome-screen' || modal === 'tpl-options' ? false : true,
2449 + beforeClose: function (event, ui) {
2450 + e2pdf.dialog.center = true;
2451 + },
2452 + dragStop: function (event, ui) {
2453 + e2pdf.dialog.center = false;
2454 + },
2455 + resizeStart: function (event, ui) {
2456 + },
2457 + resize: function (event, ui) {
2458 + var max_height = jQuery('.e2pdf-dialog').height();
2459 + var min_height = 0;
2460 + if (jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').length > 0) {
2461 + min_height += jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').outerHeight();
2462 + }
2463 + if (jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').length > 0) {
2464 + min_height += jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').outerHeight();
2465 + }
2466 + jQuery('.e2pdf-dialog').css('min-height', Math.max(150, min_height + 50));
2467 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': max_height - min_height});
2468 + },
2469 + resizeStop: function (event, ui) {
2470 + e2pdf.dialog.center = false;
2471 + },
1450 2472 close: function (event, ui)
1451 2473 {
2474 + jQuery('html').css('overflow', 'auto');
1452 2475 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1453 2476 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1454 2477 jQuery(this).click();
1455 2478 });
1456 2479 }
2480 + e2pdf.visual.mapper.selected = null;
1457 2481 jQuery(this).remove();
1458 2482 }
1459 2483 });
1460 2484 }
@@ -1459,56 +2483,58 @@
1459 2483 });
1460 2484 }
1461 2485
1462 2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1463 - e2pdf.request.submitRequest('e2pdf_extension', jQuery('#e2pdf-create-pdf-form select[name="extension"]'));
1464 - } else if (modal === 'properties') {
1465 - jQuery('.e2pdf-scale-field').each(function () {
1466 - jQuery(this).trigger('change');
1467 - });
2487 + jQuery('.e2pdf-extension').trigger('change');
1468 2488 } else if (modal === 'visual-mapper') {
1469 -
1470 2489 var data = {};
1471 2490 data['extension'] = e2pdf.pdf.settings.get('extension');
1472 2491 data['item'] = e2pdf.pdf.settings.get('item');
1473 - e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('#e2pdf-vm-content'), data);
2492 + data['item1'] = e2pdf.pdf.settings.get('item1');
2493 + data['item2'] = e2pdf.pdf.settings.get('item2');
2494 + e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('.e2pdf-vm-content'), data);
1474 2495 }
2496 +
2497 + if (modal !== 'visual-mapper') {
2498 + e2pdf.dialog.rebuild();
2499 + }
2500 +
1475 2501 e2pdf.event.fire('after.dialog.create');
1476 2502 },
1477 - //e2pdf.dialog.close
2503 + // e2pdf.dialog.close
1478 2504 close: function () {
1479 2505 if (jQuery('.e2pdf-dialog').length > 0) {
1480 2506 jQuery('.ui-dialog-content').dialog('close');
1481 2507 }
1482 2508 },
1483 - //e2pdf.dialog.rebuild
2509 + // e2pdf.dialog.rebuild
2510 +
1484 2511 rebuild: function () {
1485 - if (jQuery('.e2pdf-dialog').length > 0) {
1486 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1487 - var width = dialog.data("ui-dialog").options.width;
1488 - var height = 600;
1489 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1490 - var dialog_height = jQuery('.e2pdf-dialog').height();
1491 -
1492 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1493 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1494 -
2512 + if (jQuery('.e2pdf-dialog').not('.ui-dialog-resizing').length > 0) {
2513 + if (jQuery('.e2pdf-dialog').width() > jQuery(window).width()) {
2514 + jQuery('.e2pdf-dialog').width(jQuery(window).width() - 100);
2515 + }
2516 + if (e2pdf.dialog.center) {
2517 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').dialog('option', 'position', {my: 'center', at: 'center', of: window});
2518 + }
1495 2519 e2pdf.visual.mapper.rebuild();
1496 2520 }
1497 2521 }
1498 2522 },
1499 - //e2pdf.mediaUploader
2523 + // e2pdf.mediaUploader
1500 2524 mediaUploader: {
1501 - //e2pdf.mediaUploader.init
2525 + // e2pdf.mediaUploader.init
1502 2526 init: function (el) {
1503 -
1504 2527 var mediaUploader;
1505 2528 mediaUploader = wp.media.frames.file_frame = wp.media({
1506 - title: e2pdfLang['Choose Image'],
2529 + title: e2pdf.lang.get('Media Library'),
1507 2530 button: {
1508 - text: e2pdfLang['Choose Image']
2531 + text: e2pdf.lang.get('Select')
1509 2532 }, multiple: false});
1510 2533 mediaUploader.on('select', function () {
2534 + var history = [];
2535 + history.push(el.clone(true));
2536 + e2pdf.history.set('element_change', history);
1511 2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
1512 2538 e2pdf.properties.set(el, 'value', attachment.url);
1513 2539 e2pdf.properties.render(el);
1514 2540 e2pdf.event.fire('after.mediaUploader.select');
@@ -1515,15 +2541,13 @@
1515 2541 });
1516 2542 mediaUploader.open();
1517 2543 }
1518 2544 },
1519 - //e2pdf.actions
2545 + // e2pdf.actions
1520 2546 actions: {
1521 - //e2pdf.actions.add
1522 - add: function (el, target) {
1523 -
2547 + // e2pdf.actions.add
2548 + add: function (el, target, action) {
1524 2549 var last_id = -1;
1525 -
1526 2550 target.find('.e2pdf-action').each(function () {
1527 2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1528 2552 if (num_id > last_id) {
1529 2553 last_id = num_id;
@@ -1529,47 +2553,66 @@
1529 2553 last_id = num_id;
1530 2554 }
1531 2555 });
1532 2556 var action_id = parseInt(last_id + 1);
2557 + if (action) {
2558 + target.append(e2pdf.actions.renderField(el, action_id, action));
2559 + } else {
2560 + target.append(e2pdf.actions.renderField(el, action_id));
2561 + }
1533 2562
1534 -
1535 - target.append(e2pdf.actions.renderField(el, action_id));
1536 2563 },
1537 - //e2pdf.actions.change
1538 - change: function (action) {
2564 + // e2pdf.actions.change
2565 + change: function (action, trigger) {
1539 2566 var action_id = action.attr("data-action_id");
1540 -
1541 2567 var form = action.closest('form');
1542 2568 var data = e2pdf.form.serializeObject(form);
1543 -
1544 -
1545 2569 var el = false;
1546 -
1547 2570 if (form.attr('id') === 'e2pdf-page-options') {
1548 2571 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2572 + } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2573 + el = jQuery('.e2pdf-tpl');
1549 2574 } else {
1550 2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1551 2576 }
1552 2577
1553 - data['actions'][action_id]['change'] = '';
2578 + var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2579 + if (!formatRegex.test(trigger.attr('name'))) {
2580 + data['actions'][action_id]['change'] = '';
2581 + }
1554 2582
1555 2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1556 -
1557 2584 e2pdf.event.fire('after.actions.change');
1558 2585 },
1559 - //e2pdf.actions.delete
2586 + // e2pdf.actions.duplicate
2587 + duplicate: function (action) {
2588 + var actions = action.closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
2589 + var action_id = action.attr("data-action_id");
2590 + var form = action.closest('form');
2591 + var data = e2pdf.form.serializeObject(form);
2592 + var el = false;
2593 + if (form.attr('id') === 'e2pdf-page-options') {
2594 + el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2595 + } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2596 + el = jQuery('.e2pdf-tpl');
2597 + } else {
2598 + el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2599 + }
2600 + e2pdf.actions.add(el, actions, data['actions'][action_id]);
2601 + e2pdf.event.fire('after.actions.change');
2602 + },
2603 + // e2pdf.actions.delete
2604 +
1560 2605 delete: function (action) {
1561 2606 action.remove();
1562 2607 },
1563 - //e2pdf.actions.conditions
2608 + // e2pdf.actions.conditions
1564 2609 conditions: {
1565 - //e2pdf.actions.conditions.add
2610 + // e2pdf.actions.conditions.add
1566 2611 add: function (el, target) {
1567 2612 var action = target.closest('.e2pdf-action');
1568 -
1569 2613 var action_id = action.attr('data-action_id');
1570 2614 var last_id = -1;
1571 -
1572 2615 target.find('.e2pdf-condition').each(function () {
1573 2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1574 2617 if (num_id > last_id) {
1575 2618 last_id = num_id;
@@ -1575,14 +2618,13 @@
1575 2618 last_id = num_id;
1576 2619 }
1577 2620 });
1578 2621 var condition_id = parseInt(last_id + 1);
1579 -
1580 2622 action.find('.e2pdf-conditions').append(
1581 2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1582 2624 );
1583 2625 },
1584 - //e2pdf.actions.conditions.getFields
2626 + // e2pdf.actions.conditions.getFields
1585 2627 getFields: function (el, action_id, condition_id, condition) {
1586 2628 var obj = {
1587 2629 'condition': {
1588 2630 'fields': [
@@ -1587,42 +2629,37 @@
1587 2629 'condition': {
1588 2630 'fields': [
1589 2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1590 2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1591 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2633 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1592 2634 ],
1593 2635 'classes': [
1594 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2636 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1595 2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1596 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1597 - ],
1598 - },
1599 -
2638 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 + ]
2640 + }
1600 2641 };
1601 2642 return obj;
1602 2643 },
1603 - //e2pdf.actions.conditions.getField
2644 + // e2pdf.actions.conditions.getField
1604 2645 getField: function (field, el, action_id, condition_id, condition) {
1605 2646 var obj = false;
1606 -
1607 2647 switch (field) {
1608 -
1609 2648 case 'if':
1610 2649 var value = condition ? condition.if : '';
1611 2650 obj = {
1612 - 'name': e2pdfLang['If'],
2651 + 'name': e2pdf.lang.get('If'),
1613 2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1614 - 'type': 'text',
2653 + 'type': 'textarea',
1615 2654 'value': value,
1616 2655 'atts': []
1617 2656 };
1618 2657 break;
1619 -
1620 2658 case 'condition':
1621 2659 var value = condition ? condition.condition : '=';
1622 -
1623 2660 obj = {
1624 - 'name': e2pdfLang['Condition'],
2661 + 'name': e2pdf.lang.get('Condition'),
1625 2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1626 2663 'type': 'select',
1627 2664 'value': value,
1628 2665 'options': [
@@ -1631,44 +2668,45 @@
1631 2668 {'>': '>'},
1632 2669 {'>=': '>='},
1633 2670 {'<': '<'},
1634 2671 {'<=': '<='},
1635 - {'like': 'LIKE'},
1636 - {'not_like': 'NOT LIKE'}
2672 + {'like': e2pdf.lang.get('Contains')},
2673 + {'not_like': e2pdf.lang.get('Not Contains')},
2674 + {'in_array': e2pdf.lang.get('In Array')},
2675 + {'not_in_array': e2pdf.lang.get('Not In Array')},
2676 + {'in_list': e2pdf.lang.get('In List')},
2677 + {'not_in_list': e2pdf.lang.get('Not In List')},
2678 + {'array_key_exists': e2pdf.lang.get('Array Key Exists')},
2679 + {'array_key_not_exists': e2pdf.lang.get('Array Key Not Exists')}
1637 2680 ],
1638 2681 'atts': []
1639 2682 };
1640 2683 break;
1641 -
1642 -
1643 2684 case 'value':
1644 2685 var value = condition ? condition.value : '';
1645 2686 obj = {
1646 - 'name': e2pdfLang['Value'],
2687 + 'name': e2pdf.lang.get('Value'),
1647 2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1648 - 'type': 'text',
2689 + 'type': 'textarea',
1649 2690 'value': value,
1650 2691 'atts': []
1651 2692 };
1652 2693 break;
1653 2694 }
1654 -
1655 2695 return obj;
1656 2696 },
1657 - //e2pdf.actions.conditions.delete
2697 + // e2pdf.actions.conditions.delete
1658 2698 delete: function (condition) {
1659 2699 condition.remove();
1660 2700 },
1661 - //e2pdf.actions.conditions.renderField
2701 + // e2pdf.actions.conditions.renderField
1662 2702 renderField: function (el, action_id, condition_id, condition) {
1663 2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1664 -
1665 2704 if (groups) {
1666 2705 for (var group_key in groups) {
1667 2706
1668 2707 var group = groups[group_key];
1669 2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1670 -
1671 2709 for (var field_key in group.fields) {
1672 2710 var group_field = group.fields[field_key];
1673 2711 var classes = '';
1674 2712 if (group.classes) {
@@ -1679,12 +2717,11 @@
1679 2717
1680 2718 var field = '';
1681 2719 var label = '';
1682 2720 var wrap = '';
1683 -
1684 2721 if (group_field.type === 'text') {
1685 2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1686 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
2723 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1687 2724 } else if (group_field.type === 'hidden') {
1688 2725 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1689 2726 } else if (group_field.type === 'textarea') {
1690 2727 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
@@ -1692,14 +2729,14 @@
1692 2729 } else if (group_field.type === 'checkbox') {
1693 2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1694 2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1695 2732 if (group_field.value == group_field.option) {
1696 - field.attr('checked', 'checked');
2733 + field.prop('checked', true);
1697 2734 }
1698 2735 } else if (group_field.type === 'color') {
1699 2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1700 2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1701 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2738 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1702 2739 } else if (group_field.type === 'select') {
1703 2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1704 2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1705 2742 for (var option_key in group_field.options) {
@@ -1718,9 +2755,9 @@
1718 2755 }
1719 2756 }
1720 2757 }
1721 2758
1722 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w15 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2759 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
1723 2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1724 2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1725 2762 ),
1726 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1725,25 +2762,26 @@
1725 2762 ),
1726 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1727 2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1728 2765 )));
1729 -
1730 - var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition', 'data-condition_id': condition_id}).append(
2766 + var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition e2pdf-w100', 'data-condition_id': condition_id}).append(
2767 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
2768 + jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
2769 + ),
1731 2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1732 2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1733 2772 ),
1734 2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1735 - grid,
2774 + grid
1736 2775 )
1737 2776 );
1738 2777 return new_condition;
1739 2778 }
1740 2779 },
1741 -
1742 - //e2pdf.actions.get
2780 + // e2pdf.actions.get
1743 2781 get: function (el) {
1744 2782 var actions = [];
1745 - if (typeof el.data('data-properties') !== 'undefined') {
2783 + if (typeof el.data('data-actions') !== 'undefined') {
1746 2784 actions = JSON.parse(el.data('data-actions'));
1747 2785 actions = Object.values(actions).sort(function (a, b) {
1748 2786 if (parseInt(a.order) === parseInt(b.order)) {
1749 2787 return 0;
@@ -1752,9 +2790,9 @@
1752 2790 });
1753 2791 }
1754 2792 return actions;
1755 2793 },
1756 - //e2pdf.actions.apply
2794 + // e2pdf.actions.apply
1757 2795 apply: function (el, data) {
1758 2796 if (!data) {
1759 2797 data = [];
1760 2798 }
@@ -1759,18 +2797,16 @@
1759 2797 data = [];
1760 2798 }
1761 2799 el.data('data-actions', JSON.stringify(data));
1762 2800 },
1763 - //e2pdf.actions.getField
2801 + // e2pdf.actions.getField
1764 2802 getField: function (field, el, action_id, action) {
1765 -
1766 2803 var obj = false;
1767 -
1768 2804 switch (field) {
1769 2805 case 'order':
1770 2806 var value = action ? action.order : '0';
1771 2807 obj = {
1772 - 'name': e2pdfLang['Order'],
2808 + 'name': e2pdf.lang.get('Sort'),
1773 2809 'key': 'actions[' + action_id + '][order]',
1774 2810 'type': 'text',
1775 2811 'value': value,
1776 2812 'atts': ['number']
@@ -1775,74 +2811,228 @@
1775 2811 'value': value,
1776 2812 'atts': ['number']
1777 2813 };
1778 2814 break;
1779 -
1780 -
2815 + case 'format':
2816 + var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2817 + obj = {
2818 + 'name': e2pdf.lang.get('Format'),
2819 + 'key': 'actions[' + action_id + '][format]',
2820 + 'type': 'select',
2821 + 'value': value,
2822 + 'options': [
2823 + {'insert_before': e2pdf.lang.get('Insert Before')},
2824 + {'insert_after': e2pdf.lang.get('Insert After')},
2825 + {'replace': e2pdf.lang.get('Full Replacement')},
2826 + {'search': e2pdf.lang.get('Search / Replace')},
2827 + ],
2828 + 'atts': []
2829 + };
2830 + break;
2831 + case 'search':
2832 + var value = action && typeof action.search !== 'undefined' ? action.search : '';
2833 + obj = {
2834 + 'name': 'Search',
2835 + 'key': 'actions[' + action_id + '][search]',
2836 + 'type': 'textarea',
2837 + 'value': value,
2838 + 'atts': []
2839 + };
2840 + break;
2841 + case 'pre_replace':
2842 + var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2843 + obj = {
2844 + 'name': e2pdf.lang.get('Pre-Replace'),
2845 + 'key': 'actions[' + action_id + '][pre_replace]',
2846 + 'type': 'select',
2847 + 'value': value,
2848 + 'options': [
2849 + {'': '-'},
2850 + {'render': e2pdf.lang.get('Render Value')}
2851 + ],
2852 + 'atts': []
2853 + };
2854 + break;
1781 2855 case 'action':
1782 - var value = action ? action.action : 'hide';
2856 + if (el.data('data-type') == 'e2pdf-tpl') {
2857 + var value = action ? action.action : 'access_by_url';
2858 + // backward compatibility
2859 + value = value.replace('restrict_process_shortcode_', '');
2860 + value = value.replace('process_shortcode_', '');
2861 + value = value.replace('restrict_process_', '');
2862 + value = value.replace('process_', '');
2863 + value = value.replace('restrict_', '');
2864 + var options = [
2865 + {'access_by_url': e2pdf.lang.get('PDF Access By URL')},
2866 + {'redirect_access_by_url': e2pdf.lang.get('Redirect Access By URL')},
2867 + {'shortcodes': e2pdf.lang.get('Shortcodes: All')},
2868 + {'e2pdf_download': e2pdf.lang.get('Shortcode: e2pdf-download')},
2869 + {'e2pdf_attachment': e2pdf.lang.get('Shortcode: e2pdf-attachment')},
2870 + {'e2pdf_view': e2pdf.lang.get('Shortcode: e2pdf-view')},
2871 + {'e2pdf_save': e2pdf.lang.get('Shortcode: e2pdf-save')},
2872 + {'e2pdf_zapier': e2pdf.lang.get('Shortcode: e2pdf-zapier')},
2873 + {'e2pdf_adobesign': e2pdf.lang.get('Shortcode: e2pdf-adobesign')},
2874 + ];
2875 + var hooks = e2pdf.hooks.get();
2876 + if (Object.keys(hooks).length > 0) {
2877 + options.push({'hooks': 'Hooks: All'});
2878 + for (var hook in hooks) {
2879 + options.push({[hook]: 'Hook: ' + hooks[hook]});
2880 + }
2881 + }
2882 + if (!options.some(opt => Object.keys(opt)[0] === value)) {
2883 + options.push({[value]: value});
2884 + }
2885 + } else if (el.data('data-type') == 'e2pdf-page') {
2886 + var value = action ? action.action : 'hide';
2887 + var options = [
2888 + {'hide': e2pdf.lang.get('Hide Page')},
2889 + {'show': e2pdf.lang.get('Show Page')},
2890 + {'change': e2pdf.lang.get('Change Property')}
2891 + ];
2892 + } else {
2893 + var value = action ? action.action : 'hide';
2894 + var options = [
2895 + {'hide': e2pdf.lang.get('Hide Element')},
2896 + {'show': e2pdf.lang.get('Show Element')},
2897 + {'change': e2pdf.lang.get('Change Property')}
2898 + ];
2899 + }
1783 2900 obj = {
1784 - 'name': e2pdfLang['Action'],
2901 + 'name': e2pdf.lang.get('Action'),
1785 2902 'key': 'actions[' + action_id + '][action]',
1786 2903 'type': 'select',
1787 2904 'value': value,
1788 - 'options': [
1789 - {'hide': e2pdfLang['Hide']},
1790 - {'show': e2pdfLang['Show']},
1791 - {'change': e2pdfLang['Change']},
1792 - ],
2905 + 'options': options,
1793 2906 'atts': []
1794 2907 };
1795 2908 break;
2909 + case 'error_message':
2910 + if (el.data('data-type') == 'e2pdf-tpl') {
2911 + var value = action ? action.error_message : '';
2912 + obj = {
2913 + 'name': e2pdf.lang.get('Error Message'),
2914 + 'key': 'actions[' + action_id + '][error_message]',
2915 + 'type': 'textarea',
2916 + 'value': value,
2917 + 'atts': []
2918 + };
2919 + }
2920 + break;
2921 + case 'redirect_error_message':
2922 + if (el.data('data-type') == 'e2pdf-tpl') {
2923 + var value = action ? action.redirect_error_message : '';
2924 + if (!value) {
2925 + value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
2926 + }
2927 + obj = {
2928 + 'name': e2pdf.lang.get('Error Message'),
2929 + 'key': 'actions[' + action_id + '][redirect_error_message]',
2930 + 'type': 'textarea',
2931 + 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2932 + 'value': value,
2933 + 'atts': []
2934 + };
2935 + }
2936 + break;
2937 + case 'redirect_url':
2938 + if (el.data('data-type') == 'e2pdf-tpl') {
2939 + var value = action ? action.redirect_url : '';
2940 + obj = {
2941 + 'name': e2pdf.lang.get('Redirect URL'),
2942 + 'key': 'actions[' + action_id + '][redirect_url]',
2943 + 'type': 'text',
2944 + 'value': value,
2945 + 'atts': []
2946 + };
2947 + }
2948 + break;
2949 + case 'else':
2950 + if (el.data('data-type') == 'e2pdf-page') {
2951 + var options = [
2952 + {'': '-'},
2953 + {'hide': e2pdf.lang.get('Hide Page')}
2954 + ];
2955 + } else {
2956 + var options = [
2957 + {'': '-'},
2958 + {'hide': e2pdf.lang.get('Hide Element')}
2959 + ];
2960 + }
1796 2961
2962 + var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2963 + obj = {
2964 + 'name': e2pdf.lang.get('Else'),
2965 + 'key': 'actions[' + action_id + '][else]',
2966 + 'type': 'select',
2967 + 'options': options,
2968 + 'value': value,
2969 + 'atts': []
2970 + };
2971 + break;
1797 2972 case 'property':
1798 - var value = action ? action.property : '';
1799 -
1800 - if (action && action.action === 'change') {
1801 - var options = [];
1802 - var option = {
1803 - '': e2pdfLang['--- Select ---']
1804 - };
1805 - options.push(option);
1806 -
1807 - var groups = e2pdf.properties.getFields(el);
1808 -
1809 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1810 -
1811 - for (var group_key in groups) {
1812 - var group = groups[group_key];
1813 -
1814 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1815 - for (var field_key in group.fields) {
1816 - var group_field = group.fields[field_key];
1817 - var option = {};
1818 -
1819 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1820 - option[group_field.key] = group.name;
1821 - } else {
1822 - option[group_field.key] = group.name + ' ' + group_field.name;
1823 - }
1824 -
1825 - options.push(option);
1826 - }
2973 + if (el.data('data-type') == 'e2pdf-tpl') {
2974 + // backward compatibility
2975 + if (action && !action.property && action.action) {
2976 + if (action.action.includes('restrict_')) {
2977 + var value = 'disable';
2978 + } else {
2979 + var value = 'enable';
1827 2980 }
2981 + } else {
2982 + var value = action && action.property ? action.property : 'enable';
1828 2983 }
1829 -
2984 + var options = [
2985 + {'enable': e2pdf.lang.get('Enable')},
2986 + {'disable': e2pdf.lang.get('Disable')},
2987 + ];
1830 2988 obj = {
1831 - 'name': e2pdfLang['Property'],
2989 + 'name': e2pdf.lang.get('State'),
1832 2990 'key': 'actions[' + action_id + '][property]',
1833 - 'type': 'select',
2991 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1834 2992 'value': value,
1835 2993 'options': options,
1836 2994 'atts': []
1837 2995 };
1838 -
2996 + } else {
2997 + var value = action ? action.property : '';
2998 + if (action && action.action === 'change') {
2999 + var options = [];
3000 + var option = {
3001 + '': e2pdf.lang.get('--- Select ---')
3002 + };
3003 + options.push(option);
3004 + var groups = e2pdf.properties.getFields(el);
3005 + for (var group_key in groups) {
3006 + var group = groups[group_key];
3007 + for (var field_key in group.fields) {
3008 + var group_field = group.fields[field_key];
3009 + if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
3010 + var option = {};
3011 + if (group_field.key == 'g_multiline') {
3012 + option[group_field.key] = e2pdf.lang.get('Type');
3013 + } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
3014 + option[group_field.key] = group.name;
3015 + } else {
3016 + option[group_field.key] = group.name + ' ' + group_field.name;
3017 + }
3018 + options.push(option);
3019 + }
3020 + }
3021 + }
3022 + obj = {
3023 + 'name': e2pdf.lang.get('Property'),
3024 + 'key': 'actions[' + action_id + '][property]',
3025 + 'type': 'select',
3026 + 'value': value,
3027 + 'options': options,
3028 + 'atts': []
3029 + };
3030 + }
1839 3031 }
1840 3032 break;
1841 -
1842 3033 case 'change':
1843 3034 var value = action ? action.change : '';
1844 -
1845 3035 if (
1846 3036 action
1847 3037 && typeof action.action !== 'undefined'
1848 3038 && action.action === 'change'
@@ -1850,13 +3040,20 @@
1850 3040 && action.property !== ''
1851 3041 ) {
1852 3042
1853 3043 var property = e2pdf.properties.getField(action.property, el);
1854 -
1855 3044 if (property) {
1856 - property.name = e2pdfLang['Change'];
3045 + if (action.property == 'value'
3046 + && typeof action.format !== 'undefined'
3047 + && (action.format == 'insert_before' || action.format == 'insert_after')) {
3048 + property.name = e2pdf.lang.get('Value');
3049 + } else if (property.type != 'checkbox') {
3050 + property.name = e2pdf.lang.get('Change to');
3051 + }
1857 3052 property.key = 'actions[' + action_id + '][change]';
1858 -
3053 + if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
3054 + property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
3055 + }
1859 3056 if (jQuery.inArray('readonly', property.atts) === -1) {
1860 3057 if (property.type === 'select') {
1861 3058 for (var key in property.options) {
1862 3059 if (Object.keys(property.options[key])[0] == value) {
@@ -1873,25 +3070,22 @@
1873 3070 } else {
1874 3071 property.value = value;
1875 3072 }
1876 3073 }
1877 -
1878 3074 obj = property;
1879 3075 }
1880 3076 }
1881 -
1882 3077 break;
1883 -
1884 3078 case 'apply':
1885 3079 var value = action ? action.apply : 'any';
1886 3080 obj = {
1887 - 'name': e2pdfLang['Apply If'],
3081 + 'name': e2pdf.lang.get('Apply If'),
1888 3082 'key': 'actions[' + action_id + '][apply]',
1889 3083 'type': 'select',
1890 3084 'value': value,
1891 3085 'options': [
1892 - {'any': e2pdfLang['Any']},
1893 - {'all': e2pdfLang['All']},
3086 + {'any': e2pdf.lang.get('Any')},
3087 + {'all': e2pdf.lang.get('All')}
1894 3088 ],
1895 3089 'atts': []
1896 3090 };
1897 3091 break;
@@ -1897,9 +3091,9 @@
1897 3091 break;
1898 3092 }
1899 3093 return obj;
1900 3094 },
1901 - //e2pdf.actions.getFields
3095 + // e2pdf.actions.getFields
1902 3096 getFields: function (el, action_id, action) {
1903 3097 var obj = {
1904 3098 'action': {
1905 3099 'fields': [
@@ -1905,27 +3099,68 @@
1905 3099 'fields': [
1906 3100 e2pdf.actions.getField('order', el, action_id, action),
1907 3101 e2pdf.actions.getField('action', el, action_id, action),
1908 3102 e2pdf.actions.getField('property', el, action_id, action),
1909 - e2pdf.actions.getField('change', el, action_id, action),
1910 - e2pdf.actions.getField('apply', el, action_id, action),
3103 + e2pdf.actions.getField('apply', el, action_id, action)
1911 3104 ],
1912 3105 'classes': [
1913 3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1914 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1915 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1916 - 'e2pdf-w20 e2pdf-pl5 e2pdf-pr5 e2pdf-action-change',
3107 + el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w50 e2pdf-pr5 e2pdf-action-action' : 'e2pdf-w35 e2pdf-pr5 e2pdf-action-action',
3108 + el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w25 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property' : 'e2pdf-w40 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1917 3109 'e2pdf-w15 e2pdf-pl5'
1918 - ],
1919 - },
3110 + ]
3111 + }
1920 3112 };
3113 + if (
3114 + action
3115 + && typeof action.action !== 'undefined'
3116 + && action.action === 'change'
3117 + && typeof action.property !== 'undefined'
3118 + && action.property !== ''
3119 + ) {
3120 + if (action.property == 'value' && typeof action.format !== 'undefined' && action.format == 'search') {
3121 + obj.action.fields.push(e2pdf.actions.getField('pre_replace', el, action_id, action));
3122 + obj.action.classes.push('e2pdf-w100');
3123 + obj.action.fields.push(e2pdf.actions.getField('search', el, action_id, action));
3124 + obj.action.classes.push('e2pdf-w100');
3125 + }
3126 +
3127 + obj.action.fields.push(e2pdf.actions.getField('change', el, action_id, action));
3128 + obj.action.classes.push('e2pdf-w100 e2pdf-action-change');
3129 + if (action.property == 'value') {
3130 + obj.action.fields.push(e2pdf.actions.getField('format', el, action_id, action));
3131 + obj.action.classes.push('e2pdf-w100 e2pdf-action-format');
3132 + }
3133 + }
3134 +
3135 + if (action && action.action == 'show') {
3136 + obj.action.fields.push(e2pdf.actions.getField('else', el, action_id, action));
3137 + obj.action.classes.push('e2pdf-w100');
3138 + }
3139 +
3140 + if (el.data('data-type') == 'e2pdf-tpl') {
3141 + if (!action || (action && (action.action == 'access_by_url' || action.action == 'restrict_access_by_url'))) {
3142 + obj.action.fields.push(e2pdf.actions.getField('error_message', el, action_id, action));
3143 + obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3144 + } else if (action && action.action == 'redirect_access_by_url') {
3145 + obj.action.fields.push(e2pdf.actions.getField('redirect_url', el, action_id, action));
3146 + obj.action.classes.push('e2pdf-w100 e2pdf-action-redirect-url');
3147 + obj.action.fields.push(e2pdf.actions.getField('redirect_error_message', el, action_id, action));
3148 + obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3149 + }
3150 + }
3151 +
1921 3152 return obj;
1922 3153 },
1923 - //e2pdf.actions.renderField
3154 + // e2pdf.actions.renderField
1924 3155 renderField: function (el, action_id, action) {
1925 -
1926 3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
1927 3157 if (action) {
3158 + // backward compatibility for Merge option
3159 + if (typeof action.action !== 'undefined' && action.action == 'merge') {
3160 + action.action = 'change';
3161 + action.format = 'insert_after';
3162 + }
1928 3163 for (var condition in action.conditions) {
1929 3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
1930 3165 }
1931 3166 } else {
@@ -1932,16 +3167,13 @@
1932 3167 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
1933 3168 }
1934 3169
1935 3170 var groups = e2pdf.actions.getFields(el, action_id, action);
1936 -
1937 3171 if (groups) {
1938 -
1939 3172 for (var group_key in groups) {
1940 3173
1941 3174 var group = groups[group_key];
1942 3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1943 -
1944 3176 for (var field_key in group.fields) {
1945 3177 var group_field = group.fields[field_key];
1946 3178 var classes = '';
1947 3179 if (group.classes) {
@@ -1952,27 +3184,27 @@
1952 3184
1953 3185 var field = '';
1954 3186 var label = '';
1955 3187 var wrap = '';
1956 -
3188 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
1957 3189 if (group_field.type === 'text') {
1958 3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1959 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
3191 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1960 3192 } else if (group_field.type === 'hidden') {
1961 3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1962 3194 } else if (group_field.type === 'textarea') {
1963 3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1964 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
3196 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
1965 3197 } else if (group_field.type === 'checkbox') {
1966 - label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3198 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
1967 3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
1968 3200 if (group_field.value == group_field.option) {
1969 - field.attr('checked', 'checked');
3201 + field.prop('checked', true);
1970 3202 }
1971 3203 } else if (group_field.type === 'color') {
1972 3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1973 3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1974 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3206 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1975 3207 } else if (group_field.type === 'select') {
1976 3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1977 3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1978 3210 for (var option_key in group_field.options) {
@@ -1982,9 +3214,8 @@
1982 3214 }
1983 3215
1984 3216 for (var att_key in group_field.atts) {
1985 3217 var att = group_field.atts[att_key];
1986 -
1987 3218 switch (att) {
1988 3219 case 'readonly':
1989 3220 field.attr('readonly', 'readonly');
1990 3221 break;
@@ -1991,9 +3222,8 @@
1991 3222 case 'number':
1992 3223 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
1993 3224 break;
1994 3225 case 'autocomplete':
1995 -
1996 3226 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
1997 3227 field.addClass('e2pdf-autocomplete-cl');
1998 3228 field.autocomplete({
1999 3229 source: group_field.source,
@@ -1999,19 +3229,15 @@
1999 3229 source: group_field.source,
2000 3230 minLength: 0,
2001 3231 appendTo: wrap,
2002 3232 open: function () {
2003 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3233 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2004 3234 },
2005 3235 classes: {
2006 3236 "ui-autocomplete": "e2pdf-autocomplete"
2007 - },
3237 + }
2008 3238 });
2009 3239 break;
2010 -
2011 - case 'scale':
2012 - field.addClass('e2pdf-scale-field');
2013 - break;
2014 3240 }
2015 3241 }
2016 3242
2017 3243 if (!wrap) {
@@ -2025,8 +3251,11 @@
2025 3251 }
2026 3252 }
2027 3253
2028 3254 var new_action = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-rel e2pdf-w100 e2pdf-action', 'data-action_id': action_id}).append(
3255 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
3256 + jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
3257 + ),
2029 3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2030 3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2031 3260 ),
2032 3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2033,547 +3262,653 @@
2033 3262 grid
2034 3263 ),
2035 3264 conditions
2036 3265 );
2037 -
2038 3266 return new_action;
2039 3267 },
2040 - //e2pdf.actions.renderFields
3268 + // e2pdf.actions.renderFields
2041 3269 renderFields: function (el) {
2042 3270
2043 3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2044 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html("Add Action")
3272 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
2045 3273 );
2046 -
2047 3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2048 3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2049 -
2050 3276 var actions = e2pdf.actions.get(el);
2051 -
2052 3277 for (var action in actions) {
3278 + // Backward compatiability Show Element / Page
3279 + if (actions[action].action == 'show') {
3280 + if (typeof actions[action].else === 'undefined') {
3281 + actions[action].else = '';
3282 + }
3283 + }
2053 3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2054 3285 }
2055 3286
2056 3287 block.append(action_wrapper, add_action);
2057 -
2058 3288 return block;
2059 3289 }
2060 3290 },
2061 - //e2pdf.properties
3291 + // e2pdf.properties
2062 3292 properties: {
2063 - //e2pdf.properties.getField
3293 + // e2pdf.properties.getLink
3294 + getLink: function (title, href, classes, collapse) {
3295 + obj = {
3296 + 'name': title,
3297 + 'key': 'link',
3298 + 'type': 'link',
3299 + 'value': href,
3300 + 'classes': classes,
3301 + 'collapse': collapse,
3302 + 'atts': [
3303 + 'readonly',
3304 + 'collapse'
3305 + ]
3306 + };
3307 + return obj;
3308 + },
3309 + // e2pdf.properties.getField
2064 3310 getField: function (field, el) {
2065 3311
2066 3312 var obj = false;
2067 3313 var properties = e2pdf.properties.get(el);
2068 3314 var children = e2pdf.element.children(el);
2069 -
2070 3315 switch (field) {
2071 - case 'element_id':
2072 - var value = el.attr('data-element_id');
3316 + case 'page_id':
2073 3317 obj = {
2074 - 'name': e2pdfLang['ID'],
2075 - 'key': 'element_id',
3318 + 'name': e2pdf.lang.get('Page ID'),
2076 3319 'type': 'text',
2077 - 'value': value ? value : 0,
3320 + 'value': el.data('data-type') === 'e2pdf-page' ? e2pdf.helper.getInt(el.attr('data-page_id')) : e2pdf.helper.getInt(el.closest('.e2pdf-page').attr('data-page_id')),
2078 3321 'atts': [
2079 - 'readonly'
3322 + 'readonly',
3323 + 'number'
2080 3324 ]
2081 3325 };
3326 + if (el.data('data-type') !== 'e2pdf-page') {
3327 + obj.atts.push('editable');
3328 + }
2082 3329 break;
2083 -
2084 - case 'page_id':
2085 - var value = el.attr('data-page_id');
3330 + case 'element_id':
2086 3331 obj = {
2087 - 'name': e2pdfLang['ID'],
2088 - 'key': 'page_id',
3332 + 'name': 'ID',
2089 3333 'type': 'text',
2090 - 'value': value ? value : 0,
2091 - 'atts': [
2092 - 'readonly'
2093 - ]
3334 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 + 'atts': ['readonly']
2094 3336 };
2095 3337 break;
2096 -
3338 + case 'element_type':
3339 + obj = {
3340 + 'name': e2pdf.lang.get('Type'),
3341 + 'type': 'text',
3342 + 'value': el.data('data-type'),
3343 + 'atts': ['readonly']
3344 + };
3345 + break;
2097 3346 case 'width':
2098 -
2099 - var value = e2pdf.helper.convertPxToFloat(el.css('width'));
2100 -
2101 3347 obj = {
2102 - 'name': e2pdfLang['Width'],
2103 - 'key': 'width',
3348 + 'name': e2pdf.lang.get('Width'),
2104 3349 'type': 'text',
2105 - 'value': value,
2106 - 'atts': [
2107 - 'number'
2108 - ]
3350 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 + 'atts': ['number']
2109 3352 };
2110 -
2111 - if (el.data('data-type') == 'e2pdf-page') {
2112 - if (e2pdf.pdf.settings.get('pdf')) {
2113 - obj.atts.push('readonly')
2114 - }
3353 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 + obj.atts.push('readonly');
2115 3355 }
2116 -
2117 3356 break;
2118 3357 case 'height':
2119 - var value = e2pdf.helper.convertPxToFloat(el.css('height'));
2120 3358 obj = {
2121 - 'name': e2pdfLang['Height'],
2122 - 'key': 'height',
3359 + 'name': e2pdf.lang.get('Height'),
2123 3360 'type': 'text',
2124 - 'value': value,
2125 - 'atts': [
2126 - 'number'
2127 - ]
3361 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 + 'atts': ['number']
2128 3363 };
2129 -
2130 - if (el.data('data-type') == 'e2pdf-page') {
2131 - if (e2pdf.pdf.settings.get('pdf')) {
2132 - obj.atts.push('readonly')
2133 - }
3364 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 + obj.atts.push('readonly');
2134 3366 }
2135 -
2136 3367 break;
2137 3368 case 'top':
2138 - var value = parseFloat(el.css('top'));
2139 3369 obj = {
2140 - 'name': e2pdfLang['Top'],
2141 - 'key': 'top',
3370 + 'name': e2pdf.lang.get('Position Top'),
2142 3371 'type': 'text',
2143 - 'value': value,
2144 - 'atts': [
2145 - 'number'
2146 - ]
3372 + 'value': e2pdf.helper.getFloat(el.css('top')),
3373 + 'atts': ['number', 'keep']
2147 3374 };
2148 3375 break;
2149 3376 case 'left':
2150 - var value = parseFloat(el.css('left'));
2151 3377 obj = {
2152 - 'name': e2pdfLang['Left'],
2153 - 'key': 'left',
3378 + 'name': e2pdf.lang.get('Position Left'),
2154 3379 'type': 'text',
2155 - 'value': value,
2156 - 'atts': [
2157 - 'number'
2158 - ]
3380 + 'value': e2pdf.helper.getFloat(el.css('left')),
3381 + 'atts': ['number', 'keep']
2159 3382 };
2160 3383 break;
3384 + case 'name':
3385 + obj = {
3386 + 'name': e2pdf.lang.get('Field Name'),
3387 + 'type': 'text',
3388 + 'value': e2pdf.helper.getString(properties[field])
3389 + };
3390 + break;
3391 + case 'field_name':
3392 + obj = {
3393 + 'name': e2pdf.lang.get('As Field Name'),
3394 + 'type': 'checkbox',
3395 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3396 + 'option': '1'
3397 + };
3398 + break;
2161 3399 case 'dynamic_height':
2162 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2163 3400 obj = {
2164 - 'name': e2pdfLang['Dynamic Height'],
2165 - 'key': 'dynamic_height',
3401 + 'name': e2pdf.lang.get('Dynamic Height'),
2166 3402 'type': 'checkbox',
2167 - 'value': value,
2168 - 'option': 1,
2169 - 'atts': []
3403 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3404 + 'option': '1'
2170 3405 };
2171 3406 break;
3407 + case 'multipage':
3408 + obj = {
3409 + 'name': e2pdf.lang.get('Multipage'),
3410 + 'type': 'checkbox',
3411 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3412 + 'option': '1'
3413 + };
3414 + break;
3415 + case 'hide_if_empty':
3416 + obj = {
3417 + 'name': e2pdf.lang.get('Hide (If Empty)'),
3418 + 'type': 'checkbox',
3419 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3420 + 'option': '1'
3421 + };
3422 + break;
3423 + case 'hide_page_if_empty':
3424 + obj = {
3425 + 'name': e2pdf.lang.get('Hide Page (If Empty)'),
3426 + 'type': 'checkbox',
3427 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3428 + 'option': '1'
3429 + };
3430 + break;
3431 + case 'nl2br':
3432 + obj = {
3433 + 'name': e2pdf.lang.get('New Lines to BR'),
3434 + 'type': 'checkbox',
3435 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3436 + 'option': '1'
3437 + };
3438 + break;
3439 + case 'preload_img':
3440 + obj = {
3441 + 'name': e2pdf.lang.get('Preload Images'),
3442 + 'type': 'checkbox',
3443 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3444 + 'option': '1'
3445 + };
3446 + break;
2172 3447 case 'text_color':
2173 - var value = properties['text_color'];
2174 3448 obj = {
2175 - 'name': e2pdfLang['Color'],
2176 - 'key': 'text_color',
3449 + 'name': e2pdf.lang.get('Font Color'),
2177 3450 'type': 'color',
2178 - 'value': value,
2179 - 'atts': []
3451 + 'value': e2pdf.helper.getString(properties[field])
2180 3452 };
2181 3453 break;
3454 + case 'color':
3455 + obj = {
3456 + 'name': e2pdf.lang.get('Color'),
3457 + 'type': 'color',
3458 + 'value': e2pdf.helper.getString(properties[field])
3459 + };
3460 + break;
2182 3461 case 'text_type':
2183 - var value = properties['text_type'];
2184 3462 obj = {
2185 - 'name': e2pdfLang['Type'],
2186 - 'key': 'text_type',
3463 + 'name': e2pdf.lang.get('Type'),
2187 3464 'type': 'select',
2188 - 'value': value,
3465 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2189 3466 'options': [
2190 - {'check': e2pdfLang['Check']},
2191 - {'circle': e2pdfLang['Circle']},
2192 - {'cross': e2pdfLang['Cross']},
2193 - {'diamond': e2pdfLang['Diamond']},
2194 - {'square': e2pdfLang['Square']},
2195 - {'star': e2pdfLang['Star']},
2196 - ],
2197 - 'atts': []
3467 + {'check': 'Check'},
3468 + {'circle': 'Circle'},
3469 + {'cross': 'Cross'},
3470 + {'diamond': 'Diamond'},
3471 + {'square': 'Square'},
3472 + {'star': 'Star'}
3473 + ]
2198 3474 };
2199 3475 break;
2200 3476 case 'text_font':
2201 - var options = [];
2202 - jQuery('#e2pdf_wysiwyg_font').find('option').each(function () {
2203 - var option = {};
2204 - option[jQuery(this).attr('value')] = jQuery(this).html();
2205 - options.push(option);
2206 - });
2207 - var value = '';
2208 - if (properties['text_font']) {
2209 - value = properties['text_font'];
3477 + obj = {
3478 + 'name': e2pdf.lang.get('Font'),
3479 + 'type': 'select',
3480 + 'value': e2pdf.helper.getString(properties[field]),
3481 + 'options': e2pdf.helper.font.fonts(field)
3482 + };
3483 + break;
3484 + case 'text_auto_font_size':
3485 + if ((el.data('data-type') == 'e2pdf-textarea' || el.data('data-type') == 'e2pdf-input' || el.data('data-type') == 'e2pdf-select') && e2pdf.helper.getString(properties['text_font_size']) == '-1') {
3486 + var value = '1';
3487 + } else {
3488 + var value = e2pdf.helper.getCheckbox(properties[field]);
2210 3489 }
2211 3490 obj = {
2212 - 'name': e2pdfLang['Font'],
2213 - 'key': 'text_font',
2214 - 'type': 'select',
3491 + 'name': e2pdf.lang.get('Auto Font Size'),
3492 + 'type': 'checkbox',
2215 3493 'value': value,
2216 - 'options': options,
2217 - 'atts': []
3494 + 'option': '1'
2218 3495 };
2219 3496 break;
2220 3497 case 'text_font_size':
2221 - var options = [];
2222 - jQuery('#e2pdf_wysiwyg_fontsize').find('option').each(function () {
2223 - var option = {};
2224 - option[jQuery(this).attr('value')] = jQuery(this).html();
2225 - options.push(option);
2226 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2227 - option = {};
2228 - option['-1'] = e2pdfLang['Auto'];
2229 - options.push(option);
2230 - }
2231 - });
2232 - var value = '';
2233 - if (properties['text_font_size']) {
2234 - value = properties['text_font_size'];
2235 - }
2236 3498 obj = {
2237 - 'name': e2pdfLang['Size'],
2238 - 'key': 'text_font_size',
3499 + 'name': e2pdf.lang.get('Font Size'),
2239 3500 'type': 'select',
2240 - 'value': value,
2241 - 'options': options,
2242 - 'atts': []
3501 + 'value': e2pdf.helper.getString(properties[field]),
3502 + 'options': e2pdf.helper.font.sizes(field, properties)
2243 3503 };
2244 3504 break;
2245 3505 case 'text_line_height':
2246 -
2247 - var options = [];
2248 -
2249 - var value = '';
2250 - if (properties['text_line_height']) {
2251 - value = properties['text_line_height'];
2252 - }
2253 -
2254 - var option = {};
2255 - option[''] = '-';
2256 - options.push(option);
2257 -
2258 - jQuery('#e2pdf-line-height').find('option').each(function () {
2259 - var option = {};
2260 - option[jQuery(this).attr('value')] = jQuery(this).html();
2261 - options.push(option);
2262 - });
2263 -
2264 3506 obj = {
2265 - 'name': e2pdfLang['Line Height'],
2266 - 'key': 'text_line_height',
3507 + 'name': e2pdf.lang.get('Line Height'),
2267 3508 'type': 'select',
2268 - 'value': value,
2269 - 'options': options,
2270 - 'atts': []
3509 + 'value': e2pdf.helper.getString(properties[field]),
3510 + 'options': e2pdf.helper.font.lines(field)
2271 3511 };
2272 3512 break;
3513 + case 'text_letter_spacing':
3514 + obj = {
3515 + 'name': e2pdf.lang.get('Char Spacing'),
3516 + 'type': 'text',
3517 + 'value': e2pdf.helper.getFloat(properties[field]),
3518 + 'atts': ['number']
3519 + };
3520 + break;
2273 3521 case 'z_index':
2274 - var value = properties['z_index'];
2275 3522 obj = {
2276 - 'name': e2pdfLang['Z-index'],
2277 - 'key': 'z_index',
3523 + 'name': 'Z-index',
2278 3524 'type': 'text',
2279 - 'value': value,
2280 - 'atts': ['number']
3525 + 'value': e2pdf.helper.getInt(properties[field]),
3526 + 'atts': ['number', 'number-negative']
2281 3527 };
2282 3528 break;
2283 3529 case 'background':
2284 - var value = properties['background'];
2285 3530 obj = {
2286 - 'name': e2pdfLang['Background'],
3531 + 'name': e2pdf.lang.get('Background'),
2287 3532 'key': 'background',
2288 3533 'type': 'color',
2289 - 'value': value,
2290 - 'atts': []
3534 + 'value': e2pdf.helper.getString(properties[field])
2291 3535 };
2292 3536 break;
2293 3537 case 'border':
2294 - var value = properties['border'];
2295 3538 obj = {
2296 - 'name': e2pdfLang['Border'],
2297 - 'key': 'border',
3539 + 'name': e2pdf.lang.get('Border'),
2298 3540 'type': 'text',
2299 - 'value': value,
3541 + 'value': e2pdf.helper.getInt(properties[field]),
2300 3542 'atts': ['number']
2301 3543 };
2302 3544 break;
2303 3545 case 'border_top':
2304 - var value = properties['border_top'];
2305 3546 obj = {
2306 - 'name': e2pdfLang['Top'],
2307 - 'key': 'border_top',
3547 + 'name': e2pdf.lang.get('Border Top'),
2308 3548 'type': 'text',
2309 - 'value': value,
3549 + 'value': e2pdf.helper.getInt(properties[field]),
2310 3550 'atts': ['number']
2311 3551 };
2312 3552 break;
2313 3553 case 'border_left':
2314 - var value = properties['border_left'];
2315 3554 obj = {
2316 - 'name': e2pdfLang['Left'],
2317 - 'key': 'border_left',
3555 + 'name': e2pdf.lang.get('Border Left'),
2318 3556 'type': 'text',
2319 - 'value': value,
3557 + 'value': e2pdf.helper.getInt(properties[field]),
2320 3558 'atts': ['number']
2321 3559 };
2322 3560 break;
2323 3561 case 'border_right':
2324 - var value = properties['border_right'];
2325 3562 obj = {
2326 - 'name': e2pdfLang['Right'],
2327 - 'key': 'border_right',
3563 + 'name': e2pdf.lang.get('Border Right'),
2328 3564 'type': 'text',
2329 - 'value': value,
3565 + 'value': e2pdf.helper.getInt(properties[field]),
2330 3566 'atts': ['number']
2331 3567 };
2332 3568 break;
2333 3569 case 'border_bottom':
2334 - var value = properties['border_bottom'];
2335 3570 obj = {
2336 - 'name': e2pdfLang['Bottom'],
2337 - 'key': 'border_bottom',
3571 + 'name': e2pdf.lang.get('Border Bottom'),
2338 3572 'type': 'text',
2339 - 'value': value,
3573 + 'value': e2pdf.helper.getInt(properties[field]),
2340 3574 'atts': ['number']
2341 3575 };
2342 3576 break;
3577 + case 'border_radius':
3578 + obj = {
3579 + 'name': e2pdf.lang.get('Border Radius'),
3580 + 'type': 'text',
3581 + 'value': e2pdf.helper.getInt(properties[field]),
3582 + 'atts': ['number']
3583 + };
3584 + break;
2343 3585 case 'border_color':
2344 - var value = properties['border_color'];
2345 3586 obj = {
2346 - 'name': e2pdfLang['Color'],
2347 - 'key': 'border_color',
3587 + 'name': e2pdf.lang.get('Border Color'),
2348 3588 'type': 'color',
2349 - 'value': value,
3589 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2350 3590 };
2351 3591 break;
2352 3592 case 'padding_top':
2353 - var value = properties['padding_top'];
2354 3593 obj = {
2355 - 'name': e2pdfLang['Top'],
2356 - 'key': 'padding_top',
3594 + 'name': e2pdf.lang.get('Padding Top'),
2357 3595 'type': 'text',
2358 - 'value': value,
3596 + 'value': e2pdf.helper.getInt(properties[field]),
2359 3597 'atts': ['number']
2360 3598 };
2361 3599 break;
2362 3600 case 'padding_left':
2363 - var value = properties['padding_left'];
2364 3601 obj = {
2365 - 'name': e2pdfLang['Left'],
2366 - 'key': 'padding_left',
3602 + 'name': e2pdf.lang.get('Padding Left'),
2367 3603 'type': 'text',
2368 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2369 3605 'atts': ['number']
2370 3606 };
2371 3607 break;
2372 3608 case 'padding_right':
2373 - var value = properties['padding_right'];
2374 3609 obj = {
2375 - 'name': e2pdfLang['Right'],
2376 - 'key': 'padding_right',
3610 + 'name': e2pdf.lang.get('Padding Right'),
2377 3611 'type': 'text',
2378 - 'value': value,
3612 + 'value': e2pdf.helper.getInt(properties[field]),
2379 3613 'atts': ['number']
2380 3614 };
2381 3615 break;
2382 3616 case 'padding_bottom':
2383 - var value = properties['padding_bottom'];
2384 3617 obj = {
2385 - 'name': e2pdfLang['Bottom'],
2386 - 'key': 'padding_bottom',
3618 + 'name': e2pdf.lang.get('Padding Bottom'),
2387 3619 'type': 'text',
2388 - 'value': value,
3620 + 'value': e2pdf.helper.getInt(properties[field]),
2389 3621 'atts': ['number']
2390 3622 };
2391 3623 break;
3624 + case 'margin_top':
3625 + obj = {
3626 + 'name': e2pdf.lang.get('Margin Top'),
3627 + 'type': 'text',
3628 + 'value': e2pdf.helper.getInt(properties[field]),
3629 + 'atts': ['number']
3630 + };
3631 + if (el.data('data-type') == 'e2pdf-barcode') {
3632 + obj.atts.push('keep');
3633 + }
3634 + break;
3635 + case 'margin_left':
3636 + obj = {
3637 + 'name': e2pdf.lang.get('Margin Left'),
3638 + 'type': 'text',
3639 + 'value': e2pdf.helper.getInt(properties[field]),
3640 + 'atts': ['number']
3641 + };
3642 + if (el.data('data-type') == 'e2pdf-barcode') {
3643 + obj.atts.push('keep');
3644 + }
3645 + break;
3646 + case 'margin_right':
3647 + obj = {
3648 + 'name': e2pdf.lang.get('Margin Right'),
3649 + 'type': 'text',
3650 + 'value': e2pdf.helper.getInt(properties[field]),
3651 + 'atts': ['number']
3652 + };
3653 + if (el.data('data-type') == 'e2pdf-barcode') {
3654 + obj.atts.push('keep');
3655 + }
3656 + break;
3657 + case 'margin_bottom':
3658 + obj = {
3659 + 'name': e2pdf.lang.get('Margin Bottom'),
3660 + 'type': 'text',
3661 + 'value': e2pdf.helper.getInt(properties[field]),
3662 + 'atts': ['number']
3663 + };
3664 + if (el.data('data-type') == 'e2pdf-barcode') {
3665 + obj.atts.push('keep');
3666 + }
3667 + break;
2392 3668 case 'length':
2393 - var value = properties['length'];
2394 3669 obj = {
2395 - 'name': e2pdfLang['Length'],
2396 - 'key': 'length',
3670 + 'name': e2pdf.lang.get('Length'),
2397 3671 'type': 'text',
2398 - 'value': value,
3672 + 'value': e2pdf.helper.getInt(properties[field]),
2399 3673 'atts': ['number']
2400 3674 };
2401 3675 break;
2402 3676 case 'comb':
2403 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2404 3677 obj = {
2405 - 'name': e2pdfLang['Comb'],
2406 - 'key': 'comb',
3678 + 'name': e2pdf.lang.get('Comb'),
2407 3679 'type': 'checkbox',
2408 - 'option': 1,
2409 - 'value': value,
2410 - 'atts': []
3680 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3681 + 'option': '1'
2411 3682 };
2412 3683 break;
2413 3684 case 'rtl':
2414 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2415 3685 obj = {
2416 - 'name': e2pdfLang['RTL'],
2417 - 'key': 'rtl',
2418 - 'type': 'checkbox',
2419 - 'option': 1,
2420 - 'value': value,
2421 - 'atts': []
3686 + 'name': e2pdf.lang.get('Direction'),
3687 + 'type': 'select',
3688 + 'value': e2pdf.helper.getString(properties[field]),
3689 + 'options':
3690 + [
3691 + {'': '-'},
3692 + {'0': 'LTR'},
3693 + {'1': 'RTL'}
3694 + ]
2422 3695 };
2423 3696 break;
2424 3697 case 'required':
2425 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2426 3698 obj = {
2427 - 'name': e2pdfLang['Required'],
2428 - 'key': 'required',
3699 + 'name': e2pdf.lang.get('Required'),
2429 3700 'type': 'checkbox',
2430 - 'option': 1,
2431 - 'value': value,
2432 - 'atts': []
3701 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3702 + 'option': '1'
2433 3703 };
2434 3704 break;
2435 3705 case 'readonly':
2436 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2437 3706 obj = {
2438 - 'name': e2pdfLang['Readonly'],
2439 - 'key': 'readonly',
3707 + 'name': e2pdf.lang.get('Read-Only'),
2440 3708 'type': 'checkbox',
2441 - 'option': 1,
2442 - 'value': value,
2443 - 'atts': []
3709 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3710 + 'option': '1'
2444 3711 };
2445 3712 break;
2446 3713 case 'pass':
2447 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2448 3714 obj = {
2449 - 'name': e2pdfLang['Password'],
2450 - 'key': 'pass',
3715 + 'name': e2pdf.lang.get('Password'),
2451 3716 'type': 'checkbox',
2452 - 'option': 1,
2453 - 'value': value,
2454 - 'atts': []
3717 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3718 + 'option': '1'
2455 3719 };
2456 3720 break;
2457 3721 case 'multiline':
2458 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2459 3722 obj = {
2460 - 'name': e2pdfLang['Multiline'],
2461 - 'key': 'multiline',
3723 + 'name': e2pdf.lang.get('Multiline'),
2462 3724 'type': 'checkbox',
2463 - 'option': 1,
2464 - 'value': value,
3725 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3726 + 'option': '1'
3727 + };
3728 + break;
3729 + case 'dimension':
3730 + obj = {
3731 + 'name': e2pdf.lang.get('Keep Image Ratio'),
3732 + 'type': 'checkbox',
3733 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3734 + 'option': '1'
3735 + };
3736 + break;
3737 + case 'block_dimension':
3738 + obj = {
3739 + 'name': e2pdf.lang.get('Lock Aspect Ratio'),
3740 + 'type': 'checkbox',
3741 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3742 + 'option': '1',
2465 3743 'atts': []
2466 3744 };
3745 + if (el.data('data-type') === 'e2pdf-image') {
3746 + obj.atts.push('keep');
3747 + }
2467 3748 break;
2468 - case 'dimension':
2469 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3749 + case 'keep_lower_size':
2470 3750 obj = {
2471 - 'name': e2pdfLang['Keep dimension'],
2472 - 'key': 'dimension',
3751 + 'name': e2pdf.lang.get('Keep Lower Size'),
2473 3752 'type': 'checkbox',
2474 - 'option': 1,
3753 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3754 + 'option': '1'
3755 + };
3756 + break;
3757 + case 'fill_image':
3758 + obj = {
3759 + 'name': e2pdf.lang.get('Fill Image'),
3760 + 'type': 'checkbox',
3761 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3762 + 'option': '1'
3763 + };
3764 + break;
3765 + case 'pdf_page':
3766 + obj = {
3767 + 'name': e2pdf.lang.get('Page'),
3768 + 'type': 'text',
3769 + 'value': e2pdf.helper.getInt(properties[field]),
3770 + 'atts': ['number']
3771 + };
3772 + break;
3773 + case 'pdf_resample':
3774 + var value = e2pdf.helper.getString(properties[field], '-1');
3775 + if (value == '100') {
3776 + value = '150';
3777 + }
3778 + obj = {
3779 + 'name': e2pdf.lang.get('Resolution'),
3780 + 'type': 'select',
2475 3781 'value': value,
2476 - 'atts': []
3782 + 'options':
3783 + [
3784 + {'-1': e2pdf.lang.get('Auto')},
3785 + {'72': '72dpi'},
3786 + {'125': '90dpi'},
3787 + {'150': '108dpi'},
3788 + {'175': '126dpi'},
3789 + {'200': '144dpi'}
3790 + ]
2477 3791 };
2478 3792 break;
3793 + case 'pdf_append':
3794 + obj = {
3795 + 'name': e2pdf.lang.get('Append'),
3796 + 'type': 'select',
3797 + 'value': e2pdf.helper.getString(properties[field], 'vertical'),
3798 + 'options':
3799 + [
3800 + {'vertical': e2pdf.lang.get('Vertical')},
3801 + {'horizontal': e2pdf.lang.get('Horizontal')},
3802 + {'grid': e2pdf.lang.get('Grid')}
3803 + ]
3804 + };
3805 + break;
3806 + case 'pdf_space':
3807 + obj = {
3808 + 'name': e2pdf.lang.get('Space'),
3809 + 'type': 'text',
3810 + 'value': e2pdf.helper.getInt(properties[field]),
3811 + 'atts': ['number']
3812 + };
3813 + break;
3814 + case 'pdf_border':
3815 + obj = {
3816 + 'name': e2pdf.lang.get('Border'),
3817 + 'type': 'text',
3818 + 'value': e2pdf.helper.getInt(properties[field]),
3819 + 'atts': ['number']
3820 + };
3821 + break;
3822 + case 'hl':
3823 + obj = {
3824 + 'name': e2pdf.lang.get('Hide Label'),
3825 + 'type': 'checkbox',
3826 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3827 + 'option': '1'
3828 + };
3829 + break;
3830 + case 'only_image':
3831 + obj = {
3832 + 'name': e2pdf.lang.get('Disable Text to Image'),
3833 + 'type': 'checkbox',
3834 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3835 + 'option': '1'
3836 + };
3837 + break;
2479 3838 case 'esig':
2480 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2481 3839 obj = {
2482 - 'name': e2pdfLang['E-signature'],
2483 - 'key': 'esig',
3840 + 'name': e2pdf.lang.get('E-Signature'),
2484 3841 'type': 'checkbox',
2485 - 'option': 1,
2486 - 'value': value,
2487 - 'atts': []
3842 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3843 + 'option': '1'
2488 3844 };
2489 3845 break;
2490 3846 case 'esig_contact':
2491 - var value = properties['esig_contact'];
2492 3847 obj = {
2493 - 'name': e2pdfLang['Contact'],
2494 - 'key': 'esig_contact',
3848 + 'name': e2pdf.lang.get('Contact'),
2495 3849 'type': 'text',
2496 - 'value': value,
2497 - 'atts': []
3850 + 'value': e2pdf.helper.getString(properties[field])
2498 3851 };
2499 3852 break;
2500 3853 case 'esig_location':
2501 - var value = properties['esig_location'];
2502 3854 obj = {
2503 - 'name': e2pdfLang['Location'],
2504 - 'key': 'esig_location',
3855 + 'name': e2pdf.lang.get('Location'),
2505 3856 'type': 'text',
2506 - 'value': value,
2507 - 'atts': []
3857 + 'value': e2pdf.helper.getString(properties[field])
2508 3858 };
2509 3859 break;
2510 3860 case 'esig_reason':
2511 - var value = properties['esig_reason'];
2512 3861 obj = {
2513 - 'name': e2pdfLang['Reason'],
2514 - 'key': 'esig_reason',
3862 + 'name': e2pdf.lang.get('Reason'),
2515 3863 'type': 'text',
2516 - 'value': value,
2517 - 'atts': []
3864 + 'value': e2pdf.helper.getString(properties[field])
2518 3865 };
2519 3866 break;
2520 3867 case 'placeholder':
2521 - var value = properties['placeholder'];
2522 3868 obj = {
2523 - 'name': e2pdfLang['Placeholder'],
2524 - 'key': 'placeholder',
3869 + 'name': e2pdf.lang.get('Placeholder'),
2525 3870 'type': 'text',
2526 - 'value': value,
2527 - 'atts': []
3871 + 'value': e2pdf.helper.getString(properties[field])
2528 3872 };
2529 3873 break;
2530 3874 case 'horizontal':
2531 - var value = properties['horizontal'];
2532 3875 obj = {
2533 - 'name': e2pdfLang['Horizontal align'],
2534 - 'key': 'horizontal',
3876 + 'name': e2pdf.lang.get('Horizontal Align'),
2535 3877 'type': 'select',
2536 - 'value': value,
3878 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2537 3879 'options':
2538 3880 [
2539 - {'left': e2pdfLang['Left']},
2540 - {'center': e2pdfLang['Center']},
2541 - {'right': e2pdfLang['Right']},
3881 + {'left': e2pdf.lang.get('Left')},
3882 + {'center': e2pdf.lang.get('Center')},
3883 + {'right': e2pdf.lang.get('Right')}
2542 3884 ]
2543 - ,
2544 - 'atts': []
2545 3885 };
2546 3886 break;
2547 3887 case 'vertical':
2548 - var value = properties['vertical'];
2549 3888 obj = {
2550 - 'name': e2pdfLang['Vertical align'],
2551 - 'key': 'vertical',
3889 + 'name': e2pdf.lang.get('Vertical Align'),
2552 3890 'type': 'select',
2553 - 'value': value,
3891 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2554 3892 'options':
2555 3893 [
2556 - {'top': e2pdfLang['Top']},
2557 - {'middle': e2pdfLang['Middle']},
2558 - {'bottom': e2pdfLang['Bottom']},
3894 + {'top': e2pdf.lang.get('Top')},
3895 + {'middle': e2pdf.lang.get('Middle')},
3896 + {'bottom': e2pdf.lang.get('Bottom')}
2559 3897 ]
2560 - ,
2561 - 'atts': []
2562 3898 };
2563 3899 break;
2564 3900 case 'scale':
2565 - var value = properties['scale'];
2566 3901 obj = {
2567 - 'name': e2pdfLang['Scale'],
2568 - 'key': 'scale',
3902 + 'name': e2pdf.lang.get('Scale'),
2569 3903 'type': 'select',
2570 - 'value': value,
3904 + 'value': e2pdf.helper.getString(properties[field], '0'),
2571 3905 'options':
2572 3906 [
2573 - {'0': e2pdfLang['Width&Height']},
2574 - {'1': e2pdfLang['Width']},
2575 - {'2': e2pdfLang['Height']},
3907 + {'0': e2pdf.lang.get('Auto')},
3908 + {'1': e2pdf.lang.get('Width&Height')},
3909 + {'2': e2pdf.lang.get('Width')},
3910 + {'3': e2pdf.lang.get('Height')}
2576 3911 ]
2577 3912 ,
2578 3913 'atts': ['scale']
2579 3914 };
@@ -2578,56 +3913,162 @@
2578 3913 'atts': ['scale']
2579 3914 };
2580 3915 break;
2581 3916 case 'text_align':
2582 - var value = properties['text_align'];
2583 3917 obj = {
2584 - 'name': e2pdfLang['Text Align'],
2585 - 'key': 'text_align',
3918 + 'name': e2pdf.lang.get('Text Align'),
2586 3919 'type': 'select',
2587 - 'value': value,
3920 + 'value': e2pdf.helper.getString(properties[field]),
2588 3921 'options':
2589 3922 [
2590 - {'left': e2pdfLang['Left']},
2591 - {'center': e2pdfLang['Center']},
2592 - {'right': e2pdfLang['Right']},
3923 + {'': '-'},
3924 + {'left': e2pdf.lang.get('Left')},
3925 + {'center': e2pdf.lang.get('Center')},
3926 + {'right': e2pdf.lang.get('Right')}
2593 3927 ]
2594 - ,
2595 - 'atts': []
2596 3928 };
3929 + if (el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
3930 + obj.options.push(
3931 + {'justify': e2pdf.lang.get('Justify')},
3932 + {'justify-all': e2pdf.lang.get('Justify All')}
3933 + );
3934 + }
2597 3935 break;
3936 + case 'page_number':
3937 + obj = {
3938 + 'name': e2pdf.lang.get('Adjust Page Number'),
3939 + 'type': 'text',
3940 + 'value': e2pdf.helper.getInt(properties[field]),
3941 + 'atts': ['number', 'number-negative']
3942 + };
3943 + break;
3944 + case 'page_total':
3945 + obj = {
3946 + 'name': e2pdf.lang.get('Adjust Page Total'),
3947 + 'type': 'text',
3948 + 'value': e2pdf.helper.getInt(properties[field]),
3949 + 'atts': ['number', 'number-negative']
3950 + };
3951 + break;
3952 + case 'precision':
3953 + obj = {
3954 + 'name': e2pdf.lang.get('Precision'),
3955 + 'type': 'select',
3956 + 'value': e2pdf.helper.getString(properties[field], 'qrl'),
3957 + 'options':
3958 + [
3959 + {'qrl': e2pdf.lang.get('L - Smallest')},
3960 + {'qrm': e2pdf.lang.get('M - Medium')},
3961 + {'qrq': e2pdf.lang.get('Q - High')},
3962 + {'qrh': e2pdf.lang.get('H - Best')}
3963 + ]
3964 + };
3965 + break;
3966 + case 'wq':
3967 + obj = {
3968 + 'name': e2pdf.lang.get('Quiet Zone Size'),
3969 + 'type': 'text',
3970 + 'value': e2pdf.helper.getInt(properties[field]),
3971 + 'atts': ['number', 'keep']
3972 + };
3973 + break;
3974 + case 'format':
3975 + obj = {
3976 + 'name': e2pdf.lang.get('Format'),
3977 + 'type': 'select',
3978 + 'value': e2pdf.helper.getString(properties[field], 'upc-a'),
3979 + 'options':
3980 + [
3981 + {'upc-a': 'UPC-A'},
3982 + {'upc-e': 'UPC-E'},
3983 + {'ean-8': 'EAN-8'},
3984 + {'ean-13': 'EAN-13'},
3985 + {'ean-13-pad': 'EAN-13 PAD'},
3986 + {'ean-13-nopad': 'EAN-13 NOPAD'},
3987 + {'ean-128': 'EAN-128'},
3988 + {'code-39': 'CODE-39'},
3989 + {'code-39-ascii': 'CODE-39 ASCII'},
3990 + {'code-93': 'CODE-93'},
3991 + {'code-93-ascii': 'CODE-93 ASCII'},
3992 + {'code-128': 'CODE-128'},
3993 + {'codabar': 'CODEBAR'},
3994 + {'itf': 'ITF'},
3995 + {'dmtx': 'DMTX'},
3996 + {'dmtx-s': 'DMTX S'},
3997 + {'dmtx-r': 'DMTX R'},
3998 + {'gs1-dmtx': 'GS1 DMTX'},
3999 + {'gs1-dmtx-s': 'GS1 DMTX S'},
4000 + {'gs1-dmtx-r': 'GS1 DMTX R'}
4001 + ]
4002 + };
4003 + break;
4004 + case 'rotation':
4005 + obj = {
4006 + 'name': e2pdf.lang.get('Rotation'),
4007 + 'type': 'select',
4008 + 'value': e2pdf.helper.getString(properties[field], '0'),
4009 + 'options':
4010 + [
4011 + {'0': '0'},
4012 + {'90': '90'},
4013 + {'180': '180'},
4014 + {'270': '270'}
4015 + ]
4016 + };
4017 + break;
4018 + case 'quality':
4019 + obj = {
4020 + 'name': e2pdf.lang.get('Optimization'),
4021 + 'type': 'select',
4022 + 'value': e2pdf.helper.getInt(properties[field], '0'),
4023 + 'options':
4024 + [
4025 + {'0': e2pdf.lang.get('Inherit')},
4026 + {'-1': e2pdf.lang.get('Not Optimized')},
4027 + {'1': e2pdf.lang.get('Low Quality')},
4028 + {'2': e2pdf.lang.get('Basic Quality')},
4029 + {'3': e2pdf.lang.get('Good Quality')},
4030 + {'4': e2pdf.lang.get('Best Quality')},
4031 + {'5': e2pdf.lang.get('Ultra Quality')},
4032 + ]
4033 + };
4034 + break;
4035 + case 'opacity':
4036 + obj = {
4037 + 'name': e2pdf.lang.get('Opacity'),
4038 + 'type': 'text',
4039 + 'value': e2pdf.helper.getFloat(properties[field]),
4040 + 'atts': ['number', 'keep']
4041 + };
4042 + break;
2598 4043 case 'parent':
2599 - var value = properties['parent'];
2600 - var source = [
4044 + var options = [
4045 + {'': e2pdf.lang.get('--- Select ---')}
2601 4046 ];
2602 4047 if (el.data('data-type') === 'e2pdf-html') {
2603 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
4048 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2604 4049 if (!jQuery(this).is(children)) {
2605 4050 var parent = jQuery(this).parent().attr('data-element_id');
2606 - if (source.indexOf(parent) === -1) {
2607 - source.push(parent);
2608 - }
4051 + options.push({[parent]: parent});
2609 4052 }
2610 4053 });
2611 4054 }
2612 -
4055 + options.sort(function (a, b) {
4056 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
4057 + });
2613 4058 obj = {
2614 - 'name': e2pdfLang['Parent'],
2615 - 'key': 'parent',
2616 - 'type': 'text',
2617 - 'value': value,
2618 - 'source': source,
2619 - 'atts': ['autocomplete']
4059 + 'name': e2pdf.lang.get('Parent'),
4060 + 'type': 'select',
4061 + 'value': e2pdf.helper.getString(properties[field]),
4062 + 'options': options
2620 4063 };
2621 4064 break;
2622 4065 case 'group':
2623 - var value = properties['group'];
2624 - var source = [
2625 - ];
2626 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
4066 + var source = [];
4067 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2627 4068 if (!jQuery(this).is(children)) {
2628 4069 var radio = jQuery(this).parent();
2629 - var group = e2pdf.properties.getValue(radio, 'group');
4070 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2630 4071 if (source.indexOf(group) === -1) {
2631 4072 source.push(group);
2632 4073 }
2633 4074 }
@@ -2632,607 +4073,3042 @@
2632 4073 }
2633 4074 }
2634 4075 });
2635 4076 obj = {
2636 - 'name': e2pdfLang['Group'],
2637 - 'key': 'group',
4077 + 'name': e2pdf.lang.get('Group'),
2638 4078 'type': 'text',
2639 - 'value': value,
4079 + 'value': e2pdf.helper.getString(properties[field]),
2640 4080 'source': source,
2641 4081 'atts': ['autocomplete']
2642 4082 };
2643 4083 break;
2644 4084 case 'option':
2645 - var value = properties['option'];
2646 4085 obj = {
2647 - 'name': e2pdfLang['Option'],
2648 - 'key': 'option',
4086 + 'name': e2pdf.lang.get('Option'),
2649 4087 'type': 'textarea',
2650 - 'value': value,
2651 - 'atts': []
4088 + 'value': e2pdf.helper.getString(properties[field])
2652 4089 };
2653 4090 break;
2654 -
2655 4091 case 'options':
2656 - var value = properties['options'];
2657 4092 obj = {
2658 - 'name': e2pdfLang['Options'],
2659 - 'key': 'options',
4093 + 'name': e2pdf.lang.get('Options'),
2660 4094 'type': 'textarea',
2661 - 'value': value,
2662 - 'atts': []
4095 + 'value': e2pdf.helper.getString(properties[field])
2663 4096 };
2664 4097 break;
2665 -
2666 -
2667 4098 case 'value':
2668 - value = '';
2669 4099 if (el.data('data-type') === 'e2pdf-html') {
2670 - value = children.html();
4100 + if (children.is('textarea')) {
4101 + var value = children.val();
4102 + } else {
4103 + var value = children.html();
4104 + }
2671 4105 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2672 - value = children.val();
4106 + var value = children.val();
2673 4107 } else {
2674 - value = properties['value'];
4108 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2675 4109 }
2676 -
4110 + var name = e2pdf.lang.get('Value');
4111 + if (el.data('data-type') === 'e2pdf-image') {
4112 + name = e2pdf.lang.get('Image');
4113 + } else if (el.data('data-type') === 'e2pdf-link') {
4114 + name = e2pdf.lang.get('Link URL');
4115 + }
2677 4116 obj = {
2678 - 'name': e2pdfLang['Value'],
2679 - 'key': 'value',
4117 + 'name': name,
2680 4118 'type': 'textarea',
2681 - 'value': value,
2682 - 'atts': []
4119 + 'value': value
2683 4120 };
2684 4121 break;
2685 -
4122 + case 'css':
4123 + obj = {
4124 + 'name': 'CSS',
4125 + 'type': 'textarea',
4126 + 'value': e2pdf.helper.getString(properties[field])
4127 + };
4128 + break;
2686 4129 case 'preset':
2687 -
2688 - var value = '';
2689 -
2690 4130 var options = [];
2691 4131 var option = {
2692 - '': e2pdfLang['--- Select ---']
4132 + '': e2pdf.lang.get('--- Select ---')
2693 4133 };
2694 4134 options.push(option);
2695 -
2696 - for (var size in e2pdfTemplateSizes) {
4135 + for (var size in e2pdf_params['template_sizes']) {
2697 4136 var option = {};
2698 - option[size] = size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')';
4137 + option[size] = size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')';
2699 4138 options.push(option);
2700 4139 }
2701 -
2702 4140 obj = {
2703 - 'name': e2pdfLang['Size Preset'],
2704 - 'key': 'preset',
4141 + 'name': e2pdf.lang.get('Size'),
2705 4142 'type': 'select',
2706 - 'value': value,
4143 + 'value': '',
2707 4144 'options': options,
2708 - 'atts': [],
4145 + 'atts': [
4146 + 'uneditable'
4147 + ]
2709 4148 };
2710 -
2711 -
2712 4149 if (e2pdf.pdf.settings.get('pdf')) {
2713 4150 obj.atts.push('disabled');
2714 4151 }
2715 -
2716 4152 break;
4153 + case 'highlight':
4154 + obj = {
4155 + 'name': e2pdf.lang.get('Highlight'),
4156 + 'type': 'select',
4157 + 'value': e2pdf.helper.getString(properties[field], 'none'),
4158 + 'options': [
4159 + {'none': e2pdf.lang.get('None')},
4160 + {'invert': e2pdf.lang.get('Invert')},
4161 + {'outline': e2pdf.lang.get('Outline')},
4162 + {'push': e2pdf.lang.get('Push')}
4163 + ]
4164 + };
4165 + break;
4166 + case 'link_url':
4167 + obj = {
4168 + 'name': e2pdf.lang.get('Link URL'),
4169 + 'type': 'text',
4170 + 'value': e2pdf.helper.getString(properties[field], ''),
4171 + };
4172 + break;
4173 + case 'link_type':
4174 + obj = {
4175 + 'name': e2pdf.lang.get('Link Type'),
4176 + 'type': 'select',
4177 + 'value': e2pdf.helper.getString(properties[field], ''),
4178 + 'options': [
4179 + {'': e2pdf.lang.get('Url')},
4180 + {'attachment': e2pdf.lang.get('Attachment')},
4181 + ]
4182 + };
4183 + break;
4184 + case 'link_label':
4185 + obj = {
4186 + 'name': e2pdf.lang.get('Link Label'),
4187 + 'type': 'text',
4188 + 'value': e2pdf.helper.getString(properties[field], ''),
4189 + };
4190 + break;
4191 + case 'underline':
4192 + obj = {
4193 + 'name': e2pdf.lang.get('Underline'),
4194 + 'type': 'checkbox',
4195 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4196 + 'option': '1'
4197 + };
4198 + break;
4199 + case 'underline':
4200 + obj = {
4201 + 'name': e2pdf.lang.get('Underline'),
4202 + 'type': 'checkbox',
4203 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4204 + 'option': '1'
4205 + };
4206 + break;
4207 + case 'preg_pattern':
4208 + obj = {
4209 + 'name': e2pdf.lang.get('Preg Replace Pattern'),
4210 + 'type': 'text',
4211 + 'value': e2pdf.helper.getString(properties[field])
4212 + };
4213 + break;
4214 + case 'preg_replacement':
4215 + obj = {
4216 + 'name': e2pdf.lang.get('Preg Replace Replacement'),
4217 + 'type': 'text',
4218 + 'value': e2pdf.helper.getString(properties[field])
4219 + };
4220 + break;
4221 + case 'preg_match_all_pattern':
4222 + obj = {
4223 + 'name': e2pdf.lang.get('Preg Match All Pattern'),
4224 + 'type': 'text',
4225 + 'value': e2pdf.helper.getString(properties[field])
4226 + };
4227 + break;
4228 + case 'preg_match_all_output':
4229 + obj = {
4230 + 'name': e2pdf.lang.get('Preg Match All Output'),
4231 + 'type': 'text',
4232 + 'value': e2pdf.helper.getString(properties[field])
4233 + };
4234 + break;
4235 + case 'css_priority':
4236 + obj = {
4237 + 'name': e2pdf.lang.get('CSS Priority'),
4238 + 'type': 'checkbox',
4239 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4240 + 'option': '1'
4241 + };
4242 + break;
4243 + case 'css_style':
4244 + var options = [];
4245 + var option = {
4246 + '': '--- ' + e2pdf.lang.get('CSS Style') + ' ---'
4247 + };
4248 + options.push(option);
4249 + e2pdf_params['css_styles'].forEach(function (css_style) {
4250 + var option = {};
4251 + option[css_style] = css_style;
4252 + options.push(option);
4253 + });
4254 + obj = {
4255 + 'name': e2pdf.lang.get('CSS Style'),
4256 + 'type': 'select',
4257 + 'value': e2pdf.helper.getString(properties[field], ''),
4258 + 'options': options
4259 + };
4260 + break;
4261 + case 'html_worker':
4262 + obj = {
4263 + 'name': 'HTML Worker',
4264 + 'type': 'select',
4265 + 'value': e2pdf.helper.getString(properties[field], ''),
4266 + 'options': [
4267 + {'': 'HTML Worker: v1'},
4268 + {'1': 'HTML Worker: v2'},
4269 + {'3': 'HTML Worker: v3 (BETA)'}
4270 + ]
4271 + };
4272 + break;
4273 + case 'wysiwyg_disable':
4274 + obj = {
4275 + 'name': e2pdf.lang.get('Disable WYSIWYG Editor'),
4276 + 'type': 'checkbox',
4277 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4278 + 'option': '1'
4279 + };
4280 + break;
4281 + case 'g_type':
4282 + obj = {
4283 + 'name': e2pdf.lang.get('Type'),
4284 + 'type': 'select',
4285 + 'value': e2pdf.helper.getString(properties[field], 'BarGraph'),
4286 + 'options':
4287 + [
4288 + {'BarGraph': 'BarGraph'},
4289 + {'Bar3DGraph': 'Bar3DGraph'},
4290 + {'BarAndLineGraph': 'BarAndLineGraph'},
4291 + {'BoxAndWhiskerGraph': 'BoxAndWhiskerGraph'},
4292 + {'BubbleGraph': 'BubbleGraph'},
4293 + {'CylinderGraph': 'CylinderGraph'},
4294 + {'CandlestickGraph': 'CandlestickGraph'},
4295 + {'DonutGraph': 'DonutGraph'},
4296 + {'Donut3DGraph': 'Donut3DGraph'},
4297 + {'ExplodedPieGraph': 'ExplodedPieGraph'},
4298 + {'ExplodedPie3DGraph': 'ExplodedPie3DGraph'},
4299 + {'ExplodedDonutGraph': 'ExplodedDonutGraph'},
4300 + {'ExplodedDonut3DGraph': 'ExplodedDonut3DGraph'},
4301 + {'ExplodedSemiDonutGraph': 'ExplodedSemiDonutGraph'},
4302 + {'ExplodedSemiDonut3DGraph': 'ExplodedSemiDonut3DGraph'},
4303 + {'FloatingBarGraph': 'FloatingBarGraph'},
4304 + {'GroupedBarGraph': 'GroupedBarGraph'},
4305 + {'GroupedBar3DGraph': 'GroupedBar3DGraph'},
4306 + {'GroupedCylinderGraph': 'GroupedCylinderGraph'},
4307 + {'Histogram': 'Histogram'},
4308 + {'HorizontalBarGraph': 'HorizontalBarGraph'},
4309 + {'HorizontalBar3DGraph': 'HorizontalBar3DGraph'},
4310 + {'HorizontalStackedBarGraph': 'HorizontalStackedBarGraph'},
4311 + {'HorizontalStackedBar3DGraph': 'HorizontalStackedBar3DGraph'},
4312 + {'HorizontalGroupedBarGraph': 'HorizontalGroupedBarGraph'},
4313 + {'HorizontalGroupedBar3DGraph': 'HorizontalGroupedBar3DGraph'},
4314 + {'HorizontalFloatingBarGraph': 'HorizontalFloatingBarGraph'},
4315 + {'LineGraph': 'LineGraph'},
4316 + {'MultiLineGraph': 'MultiLineGraph'},
4317 + {'MultiRadarGraph': 'MultiRadarGraph'},
4318 + {'MultiScatterGraph': 'MultiScatterGraph'},
4319 + {'MultiSteppedLineGraph': 'MultiSteppedLineGraph'},
4320 + {'ParetoChart': 'ParetoChart'},
4321 + {'PieGraph': 'PieGraph'},
4322 + {'Pie3DGraph': 'Pie3DGraph'},
4323 + {'PolarAreaGraph': 'PolarAreaGraph'},
4324 + {'PolarArea3DGraph': 'PolarArea3DGraph'},
4325 + {'PopulationPyramid': 'PopulationPyramid'},
4326 + {'RadarGraph': 'RadarGraph'},
4327 + {'ScatterGraph': 'ScatterGraph'},
4328 + {'SemiDonutGraph': 'SemiDonutGraph'},
4329 + {'SemiDonut3DGraph': 'SemiDonut3DGraph'},
4330 + {'SteppedLineGraph': 'SteppedLineGraph'},
4331 + {'StackedBarGraph': 'StackedBarGraph'},
4332 + {'StackedBar3DGraph': 'StackedBar3DGraph'},
4333 + {'StackedBarAndLineGraph': 'StackedBarAndLineGraph'},
4334 + {'StackedCylinderGraph': 'StackedCylinderGraph'},
4335 + {'StackedLineGraph': 'StackedLineGraph'},
4336 + {'StackedGroupedBarGraph': 'StackedGroupedBarGraph'},
4337 + {'StackedGroupedBar3DGraph': 'StackedGroupedBar3DGraph'},
4338 + {'StackedGroupedCylinderGraph': 'StackedGroupedCylinderGraph'}
4339 + ]
4340 + };
4341 + break;
4342 + case 'g_palette':
4343 + obj = {
4344 + 'name': e2pdf.lang.get('Palette'),
4345 + 'type': 'color',
4346 + 'value': e2pdf.helper.getString(properties[field])
4347 + };
4348 + break;
4349 + case 'g_stroke_colour':
4350 + obj = {
4351 + 'name': e2pdf.lang.get('Line / Stroke Color'),
4352 + 'type': 'color',
4353 + 'value': e2pdf.helper.getString(properties[field])
4354 + };
4355 + break;
4356 + case 'g_stroke_width':
4357 + obj = {
4358 + 'name': e2pdf.lang.get('Width'),
4359 + 'type': 'text',
4360 + 'value': e2pdf.helper.getInt(properties[field]),
4361 + 'atts': ['number']
4362 + };
4363 + break;
4364 + case 'g_graph_title':
4365 + obj = {
4366 + 'name': e2pdf.lang.get('Title'),
4367 + 'type': 'text',
4368 + 'value': e2pdf.helper.getString(properties[field])
4369 + };
4370 + break;
4371 + case 'g_graph_title_font_size':
4372 + obj = {
4373 + 'name': e2pdf.lang.get('Font Size'),
4374 + 'type': 'select',
4375 + 'value': e2pdf.helper.getString(properties[field]),
4376 + 'options': e2pdf.helper.font.sizes(field)
4377 + };
4378 + break;
4379 + case 'g_label_font_size':
4380 + obj = {
4381 + 'name': e2pdf.lang.get('Font Size'),
4382 + 'type': 'select',
4383 + 'value': e2pdf.helper.getString(properties[field]),
4384 + 'options': e2pdf.helper.font.sizes(field)
4385 + };
4386 + break;
4387 + case 'g_graph_title_space':
4388 + obj = {
4389 + 'name': e2pdf.lang.get('Space'),
4390 + 'type': 'text',
4391 + 'value': e2pdf.helper.getInt(properties[field]),
4392 + 'atts': ['number']
4393 + };
4394 + break;
4395 + case 'g_label_space':
4396 + obj = {
4397 + 'name': e2pdf.lang.get('Space'),
4398 + 'type': 'text',
4399 + 'value': e2pdf.helper.getInt(properties[field]),
4400 + 'atts': ['number']
4401 + };
4402 + break;
4403 + case 'g_graph_title_colour':
4404 + obj = {
4405 + 'name': e2pdf.lang.get('Color'),
4406 + 'type': 'color',
4407 + 'value': e2pdf.helper.getString(properties[field])
4408 + };
4409 + break;
4410 + case 'g_label_colour':
4411 + obj = {
4412 + 'name': e2pdf.lang.get('Color'),
4413 + 'type': 'color',
4414 + 'value': e2pdf.helper.getString(properties[field])
4415 + };
4416 + break;
4417 + case 'g_graph_title_position':
4418 + obj = {
4419 + 'name': e2pdf.lang.get('Position'),
4420 + 'type': 'select',
4421 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4422 + 'options':
4423 + [
4424 + {'top': e2pdf.lang.get('Top')},
4425 + {'left': e2pdf.lang.get('Left')},
4426 + {'right': e2pdf.lang.get('Right')},
4427 + {'bottom': e2pdf.lang.get('Bottom')}
4428 + ]
4429 + };
4430 + break;
4431 + case 'g_label_v':
4432 + obj = {
4433 + 'name': e2pdf.lang.get('Vertical Label'),
4434 + 'type': 'text',
4435 + 'value': e2pdf.helper.getString(properties[field])
4436 + };
4437 + break;
4438 + case 'g_label_h':
4439 + obj = {
4440 + 'name': e2pdf.lang.get('Horizontal Label'),
4441 + 'type': 'text',
4442 + 'value': e2pdf.helper.getString(properties[field])
4443 + };
4444 + break;
4445 + case 'g_data_label_type':
4446 + obj = {
4447 + 'name': e2pdf.lang.get('Type'),
4448 + 'type': 'select',
4449 + 'value': e2pdf.helper.getString(properties[field], 'plain'),
4450 + 'options':
4451 + [
4452 + {'plain': 'Plain'},
4453 + {'box': 'Box'},
4454 + {'bubble': 'Bubble'},
4455 + {'line': 'Line'},
4456 + {'circle': 'Circle'},
4457 + {'square': 'Square'},
4458 + {'linecircle': 'LineCircle'},
4459 + {'linebox': 'LineBox'},
4460 + {'linesquare': 'LineSquare'},
4461 + {'line2': 'Line2'}
4462 + ]
4463 + };
4464 + break;
4465 + case 'g_key_sep':
4466 + obj = {
4467 + 'name': 'Key Separator',
4468 + 'type': 'text',
4469 + 'value': properties.hasOwnProperty('g_key_sep') && properties['g_key_sep'] ? properties['g_key_sep'] : ' => '
4470 + };
4471 + break;
4472 + case 'g_array_sep':
4473 + obj = {
4474 + 'name': 'Array Separator',
4475 + 'type': 'text',
4476 + 'value': properties.hasOwnProperty('g_array_sep') && properties['g_array_sep'] ? properties['g_array_sep'] : ', '
4477 + };
4478 + break;
4479 + case 'g_sub_array_sep':
4480 + obj = {
4481 + 'name': 'Sub Array Separator',
4482 + 'type': 'text',
4483 + 'value': properties.hasOwnProperty('g_sub_array_sep') && properties['g_sub_array_sep'] ? properties['g_sub_array_sep'] : '|'
4484 + };
4485 + break;
4486 + case 'g_structure_key':
4487 + obj = {
4488 + 'name': 'Key',
4489 + 'type': 'text',
4490 + 'value': e2pdf.helper.getString(properties[field])
4491 + };
4492 + break;
4493 + case 'g_structure_value':
4494 + obj = {
4495 + 'name': 'Value',
4496 + 'type': 'text',
4497 + 'value': e2pdf.helper.getString(properties[field])
4498 + };
4499 + break;
4500 + case 'g_structure_colour':
4501 + obj = {
4502 + 'name': 'Color',
4503 + 'type': 'text',
4504 + 'value': e2pdf.helper.getString(properties[field])
4505 + };
4506 + break;
4507 + case 'g_structure_axis_text':
4508 + obj = {
4509 + 'name': 'Axis Text',
4510 + 'type': 'text',
4511 + 'value': e2pdf.helper.getString(properties[field])
4512 + };
4513 + break;
4514 + case 'g_structure_legend_text':
4515 + obj = {
4516 + 'name': 'Legend Text',
4517 + 'type': 'text',
4518 + 'value': e2pdf.helper.getString(properties[field])
4519 + };
4520 + break;
4521 + case 'g_structure_label':
4522 + obj = {
4523 + 'name': 'Label',
4524 + 'type': 'text',
4525 + 'value': e2pdf.helper.getString(properties[field])
4526 + };
4527 + break;
4528 + case 'g_structure_area':
4529 + obj = {
4530 + 'name': 'Area',
4531 + 'type': 'text',
4532 + 'value': e2pdf.helper.getString(properties[field])
4533 + };
4534 + break;
4535 + case 'g_structure_open':
4536 + obj = {
4537 + 'name': 'Open',
4538 + 'type': 'text',
4539 + 'value': e2pdf.helper.getString(properties[field])
4540 + };
4541 + break;
4542 + case 'g_structure_end':
4543 + obj = {
4544 + 'name': 'End',
4545 + 'type': 'text',
4546 + 'value': e2pdf.helper.getString(properties[field])
4547 + };
4548 + break;
4549 + case 'g_structure_outliers':
4550 + obj = {
4551 + 'name': 'Outliers',
4552 + 'type': 'text',
4553 + 'value': e2pdf.helper.getString(properties[field])
4554 + };
4555 + break;
4556 + case 'g_structure_top':
4557 + obj = {
4558 + 'name': 'Top',
4559 + 'type': 'text',
4560 + 'value': e2pdf.helper.getString(properties[field])
4561 + };
4562 + break;
4563 + case 'g_structure_bottom':
4564 + obj = {
4565 + 'name': 'Bottom',
4566 + 'type': 'text',
4567 + 'value': e2pdf.helper.getString(properties[field])
4568 + };
4569 + break;
4570 + case 'g_structure_wtop':
4571 + obj = {
4572 + 'name': 'Wtop',
4573 + 'type': 'text',
4574 + 'value': e2pdf.helper.getString(properties[field])
4575 + };
4576 + break;
4577 + case 'g_structure_wbottom':
4578 + obj = {
4579 + 'name': 'Wbottom',
4580 + 'type': 'text',
4581 + 'value': e2pdf.helper.getString(properties[field])
4582 + };
4583 + break;
4584 + case 'g_structure_high':
4585 + obj = {
4586 + 'name': 'High',
4587 + 'type': 'text',
4588 + 'value': e2pdf.helper.getString(properties[field])
4589 + };
4590 + break;
4591 + case 'g_structure_low':
4592 + obj = {
4593 + 'name': 'Low',
4594 + 'type': 'text',
4595 + 'value': e2pdf.helper.getString(properties[field])
4596 + };
4597 + break;
4598 + case 'g_structured_data':
4599 + obj = {
4600 + 'name': 'Structured Data',
4601 + 'type': 'checkbox',
4602 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4603 + 'option': '1'
4604 + };
4605 + break;
4606 + case 'g_axis_font_size':
4607 + obj = {
4608 + 'name': e2pdf.lang.get('Font Size'),
4609 + 'key': 'g_axis_font_size',
4610 + 'type': 'select',
4611 + 'value': e2pdf.helper.getString(properties[field]),
4612 + 'options': e2pdf.helper.font.sizes(field)
4613 + };
4614 + break;
4615 + case 'g_axis_font_size_h':
4616 + obj = {
4617 + 'name': e2pdf.lang.get('Font Size'),
4618 + 'key': 'g_axis_font_size_h',
4619 + 'type': 'select',
4620 + 'value': e2pdf.helper.getString(properties[field]),
4621 + 'options': e2pdf.helper.font.sizes(field)
4622 + };
4623 + break;
4624 + case 'g_axis_font_size_v':
4625 + obj = {
4626 + 'name': e2pdf.lang.get('Font Size'),
4627 + 'key': 'g_axis_font_size_v',
4628 + 'type': 'select',
4629 + 'value': e2pdf.helper.getString(properties[field]),
4630 + 'options': e2pdf.helper.font.sizes(field)
4631 + };
4632 + break;
4633 + case 'g_axis_overlap':
4634 + obj = {
4635 + 'name': e2pdf.lang.get('Axis Overlap'),
4636 + 'type': 'text',
4637 + 'value': e2pdf.helper.getInt(properties[field]),
4638 + 'atts': ['number']
4639 + };
4640 + break;
4641 + case 'g_axis_stroke_width_v':
4642 + obj = {
4643 + 'name': e2pdf.lang.get('Width'),
4644 + 'type': 'text',
4645 + 'value': e2pdf.helper.getInt(properties[field]),
4646 + 'atts': ['number']
4647 + };
4648 + break;
4649 + case 'g_axis_stroke_width_h':
4650 + obj = {
4651 + 'name': e2pdf.lang.get('Width'),
4652 + 'type': 'text',
4653 + 'value': e2pdf.helper.getInt(properties[field]),
4654 + 'atts': ['number']
4655 + };
4656 + break;
4657 + case 'g_minimum_grid_spacing':
4658 + obj = {
4659 + 'name': e2pdf.lang.get('Grid Spacing'),
4660 + 'type': 'text',
4661 + 'value': e2pdf.helper.getInt(properties[field]),
4662 + 'atts': ['number']
4663 + };
4664 + break;
4665 + case 'g_minimum_grid_spacing_v':
4666 + obj = {
4667 + 'name': e2pdf.lang.get('Grid Spacing (V)'),
4668 + 'type': 'text',
4669 + 'value': e2pdf.helper.getInt(properties[field]),
4670 + 'atts': ['number']
4671 + };
4672 + break;
4673 + case 'g_minimum_grid_spacing_h':
4674 + obj = {
4675 + 'name': e2pdf.lang.get('Grid Spacing (H)'),
4676 + 'type': 'text',
4677 + 'value': e2pdf.helper.getInt(properties[field]),
4678 + 'atts': ['number']
4679 + };
4680 + break;
4681 + case 'g_grid_division_v':
4682 + obj = {
4683 + 'name': e2pdf.lang.get('Grid Division (V)'),
4684 + 'type': 'text',
4685 + 'value': e2pdf.helper.getFloat(properties[field]),
4686 + 'atts': ['number']
4687 + };
4688 + break;
4689 + case 'g_grid_division_h':
4690 + obj = {
4691 + 'name': e2pdf.lang.get('Grid Division (H)'),
4692 + 'type': 'text',
4693 + 'value': e2pdf.helper.getFloat(properties[field]),
4694 + 'atts': ['number']
4695 + };
4696 + break;
4697 + case 'g_axis_colour':
4698 + obj = {
4699 + 'name': e2pdf.lang.get('Axis Color'),
4700 + 'type': 'color',
4701 + 'value': e2pdf.helper.getString(properties[field])
4702 + };
4703 + break;
4704 + case 'g_axis_colour_h':
4705 + obj = {
4706 + 'name': e2pdf.lang.get('Axis Color'),
4707 + 'type': 'color',
4708 + 'value': e2pdf.helper.getString(properties[field])
4709 + };
4710 + break;
4711 + case 'g_axis_colour_v':
4712 + obj = {
4713 + 'name': e2pdf.lang.get('Axis Color'),
4714 + 'type': 'color',
4715 + 'value': e2pdf.helper.getString(properties[field])
4716 + };
4717 + break;
4718 + case 'g_grid_colour':
4719 + obj = {
4720 + 'name': e2pdf.lang.get('Grid Color'),
4721 + 'key': 'g_grid_colour',
4722 + 'type': 'color',
4723 + 'value': e2pdf.helper.getString(properties[field])
4724 + };
4725 + break;
4726 + case 'g_bar_width':
4727 + obj = {
4728 + 'name': e2pdf.lang.get('Width'),
4729 + 'type': 'text',
4730 + 'value': e2pdf.helper.getInt(properties[field]),
4731 + 'atts': ['number']
4732 + };
4733 + break;
4734 + case 'g_bar_width_min':
4735 + obj = {
4736 + 'name': e2pdf.lang.get('Min Width'),
4737 + 'type': 'text',
4738 + 'value': e2pdf.helper.getInt(properties[field]),
4739 + 'atts': ['number']
4740 + };
4741 + break;
4742 + case 'g_bar_space':
4743 + obj = {
4744 + 'name': e2pdf.lang.get('Space'),
4745 + 'type': 'text',
4746 + 'value': e2pdf.helper.getInt(properties[field]),
4747 + 'atts': ['number', 'keep']
4748 + };
4749 + break;
4750 + case 'g_bar_label_colour':
4751 + obj = {
4752 + 'name': e2pdf.lang.get('Bar Label Color'),
4753 + 'type': 'color',
4754 + 'value': e2pdf.helper.getString(properties[field])
4755 + };
4756 + break;
4757 + case 'g_bar_label_font_size':
4758 + obj = {
4759 + 'name': e2pdf.lang.get('Font Size'),
4760 + 'type': 'select',
4761 + 'value': e2pdf.helper.getString(properties[field]),
4762 + 'options': e2pdf.helper.font.sizes(field)
4763 + };
4764 + break;
4765 + case 'g_bar_label_space':
4766 + obj = {
4767 + 'name': e2pdf.lang.get('Space'),
4768 + 'type': 'text',
4769 + 'value': e2pdf.helper.getInt(properties[field]),
4770 + 'atts': ['number']
4771 + };
4772 + break;
4773 + case 'g_bar_label_position_vertical':
4774 + obj = {
4775 + 'name': e2pdf.lang.get('Position (V)'),
4776 + 'type': 'select',
4777 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4778 + 'options':
4779 + [
4780 + {'top': e2pdf.lang.get('Top')},
4781 + {'centre': e2pdf.lang.get('Middle')},
4782 + {'bottom': e2pdf.lang.get('Bottom')}
4783 + ]
4784 + };
4785 + break;
4786 + case 'g_bar_label_position_horizontal':
4787 + obj = {
4788 + 'name': e2pdf.lang.get('Position (H)'),
4789 + 'type': 'select',
4790 + 'value': e2pdf.helper.getString(properties[field], 'centre'),
4791 + 'options':
4792 + [
4793 + {'left': e2pdf.lang.get('Left')},
4794 + {'centre': e2pdf.lang.get('Center')},
4795 + {'right': e2pdf.lang.get('Right')}
4796 + ]
4797 + };
4798 + break;
4799 + case 'g_bar_label_position_join':
4800 + obj = {
4801 + 'name': e2pdf.lang.get('Position'),
4802 + 'type': 'select',
4803 + 'value': e2pdf.helper.getString(properties[field], 'outer'),
4804 + 'options':
4805 + [
4806 + {'inner': 'Inner'},
4807 + {'outer': 'Outer'}
4808 + ]
4809 + };
4810 + break;
4811 + case 'g_show_bar_labels':
4812 + obj = {
4813 + 'name': e2pdf.lang.get('Bar Labels'),
4814 + 'type': 'checkbox',
4815 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4816 + 'option': '1'
4817 + };
4818 + break;
4819 + case 'g_show_labels':
4820 + obj = {
4821 + 'name': e2pdf.lang.get('Labels'),
4822 + 'type': 'checkbox',
4823 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4824 + 'option': '1',
4825 + 'atts': ['keep'],
4826 + };
4827 + break;
4828 + case 'g_show_label_key':
4829 + obj = {
4830 + 'name': e2pdf.lang.get('Key Labels'),
4831 + 'type': 'checkbox',
4832 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4833 + 'option': '1',
4834 + 'atts': ['keep'],
4835 + };
4836 + break;
4837 + case 'g_show_label_amount':
4838 + obj = {
4839 + 'name': e2pdf.lang.get('Amount Labels'),
4840 + 'type': 'checkbox',
4841 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4842 + 'option': '1'
4843 + };
4844 + break;
4845 + case 'g_show_label_percent':
4846 + obj = {
4847 + 'name': e2pdf.lang.get('Percent Labels'),
4848 + 'type': 'checkbox',
4849 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4850 + 'option': '1'
4851 + };
4852 + break;
4853 + case 'g_marker_type':
4854 + obj = {
4855 + 'name': e2pdf.lang.get('Marker'),
4856 + 'type': 'select',
4857 + 'value': e2pdf.helper.getString(properties[field], 'circle'),
4858 + 'options':
4859 + [
4860 + {'circle': 'Circle'},
4861 + {'square': 'Square'},
4862 + {'triangle': 'Triangle'},
4863 + {'cross': 'Cross'},
4864 + {'x': 'X'},
4865 + {'pentagon': 'Pentagon'},
4866 + {'diamond': 'Diamond'},
4867 + {'hexagon': 'Hexagon'},
4868 + {'octagon': 'Octagon'},
4869 + {'asterisk': 'Asterisk'},
4870 + {'star': 'Star'},
4871 + {'threestar': 'Threestar'},
4872 + {'fourstar': 'Fourstar'},
4873 + {'eightstar': 'Eightstar'}
4874 + ]
4875 + };
4876 + break;
4877 + case 'g_marker_colour':
4878 + obj = {
4879 + 'name': e2pdf.lang.get('Color'),
4880 + 'type': 'color',
4881 + 'value': e2pdf.helper.getString(properties[field])
4882 + };
4883 + break;
4884 + case 'g_marker_size':
4885 + obj = {
4886 + 'name': e2pdf.lang.get('Size'),
4887 + 'type': 'text',
4888 + 'value': e2pdf.helper.getInt(properties[field]),
4889 + 'atts': ['number']
4890 + };
4891 + break;
4892 + case 'g_marker_dynamic_colour':
4893 + obj = {
4894 + 'name': e2pdf.lang.get('Dynamic Marker Color'),
4895 + 'type': 'checkbox',
4896 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4897 + 'option': '1'
4898 + };
4899 + break;
4900 + case 'g_grid_subdivision_colour':
4901 + obj = {
4902 + 'name': e2pdf.lang.get('Grid Subdivision Color'),
4903 + 'type': 'color',
4904 + 'value': e2pdf.helper.getString(properties[field])
4905 + };
4906 + break;
4907 + case 'g_show_subdivisions':
4908 + obj = {
4909 + 'name': e2pdf.lang.get('Sub Divisions'),
4910 + 'type': 'checkbox',
4911 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4912 + 'option': '1'
4913 + };
4914 + break;
4915 + case 'g_show_grid':
4916 + obj = {
4917 + 'name': e2pdf.lang.get('Grid'),
4918 + 'type': 'checkbox',
4919 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4920 + 'option': '1'
4921 + };
4922 + break;
4923 + case 'g_show_axis_v':
4924 + obj = {
4925 + 'name': e2pdf.lang.get('Axis (V)'),
4926 + 'type': 'checkbox',
4927 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4928 + 'option': '1'
4929 + };
4930 + break;
4931 + case 'g_show_axis_text_v':
4932 + obj = {
4933 + 'name': e2pdf.lang.get('Text'),
4934 + 'type': 'checkbox',
4935 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4936 + 'option': '1'
4937 + };
4938 + break;
4939 + case 'g_show_axis_h':
4940 + obj = {
4941 + 'name': e2pdf.lang.get('Axis (H)'),
4942 + 'type': 'checkbox',
4943 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4944 + 'option': '1'
4945 + };
4946 + break;
4947 + case 'g_show_axis_text_h':
4948 + obj = {
4949 + 'name': e2pdf.lang.get('Text'),
4950 + 'type': 'checkbox',
4951 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4952 + 'option': '1'
4953 + };
4954 + break;
4955 + case 'g_axis_min_h':
4956 + obj = {
4957 + 'name': e2pdf.lang.get('Min'),
4958 + 'type': 'text',
4959 + 'value': e2pdf.helper.getInt(properties[field]),
4960 + 'atts': ['number', 'number-negative']
4961 + };
4962 + break;
4963 + case 'g_axis_max_h':
4964 + obj = {
4965 + 'name': e2pdf.lang.get('Max'),
4966 + 'type': 'text',
4967 + 'value': e2pdf.helper.getInt(properties[field]),
4968 + 'atts': ['number', 'number-negative']
4969 + };
4970 + break;
4971 + case 'g_axis_min_max_h':
4972 + obj = {
4973 + 'name': e2pdf.lang.get('Enable'),
4974 + 'type': 'checkbox',
4975 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4976 + 'option': '1'
4977 + };
4978 + break;
4979 + case 'g_axis_min_v':
4980 + obj = {
4981 + 'name': e2pdf.lang.get('Min'),
4982 + 'type': 'text',
4983 + 'value': e2pdf.helper.getInt(properties[field]),
4984 + 'atts': ['number', 'number-negative']
4985 + };
4986 + break;
4987 + case 'g_axis_max_v':
4988 + obj = {
4989 + 'name': e2pdf.lang.get('Max'),
4990 + 'type': 'text',
4991 + 'value': e2pdf.helper.getInt(properties[field]),
4992 + 'atts': ['number', 'number-negative']
4993 + };
4994 + break;
4995 + case 'g_axis_min_max_v':
4996 + obj = {
4997 + 'name': e2pdf.lang.get('Enable'),
4998 + 'type': 'checkbox',
4999 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5000 + 'option': '1'
5001 + };
5002 + break;
5003 + case 'g_show_grid_subdivisions':
5004 + obj = {
5005 + 'name': e2pdf.lang.get('Sub Divisions'),
5006 + 'type': 'checkbox',
5007 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5008 + 'option': '1'
5009 + };
5010 + break;
5011 + case 'g_fill_under':
5012 + obj = {
5013 + 'name': e2pdf.lang.get('Fill Under'),
5014 + 'type': 'checkbox',
5015 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5016 + 'option': '1'
5017 + };
5018 + break;
5019 + case 'g_reverse':
5020 + obj = {
5021 + 'name': e2pdf.lang.get('Reverse'),
5022 + 'type': 'checkbox',
5023 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5024 + 'option': '1'
5025 + };
5026 + break;
5027 + case 'g_stroke_dynamic_colour':
5028 + obj = {
5029 + 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
5030 + 'type': 'checkbox',
5031 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5032 + 'option': '1'
5033 + };
5034 + break;
5035 + case 'g_sort':
5036 + obj = {
5037 + 'name': e2pdf.lang.get('Sort'),
5038 + 'type': 'checkbox',
5039 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5040 + 'option': '1'
5041 + };
5042 + break;
5043 + case 'g_percentage':
5044 + obj = {
5045 + 'name': e2pdf.lang.get('Percentage'),
5046 + 'type': 'checkbox',
5047 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5048 + 'option': '1'
5049 + };
5050 + break;
5051 + case 'g_legend_title':
5052 + obj = {
5053 + 'name': e2pdf.lang.get('Title'),
5054 + 'type': 'text',
5055 + 'value': e2pdf.helper.getString(properties[field])
5056 + };
5057 + break;
5058 + case 'g_legend_title_font_size':
5059 + obj = {
5060 + 'name': e2pdf.lang.get('Font Size'),
5061 + 'type': 'select',
5062 + 'value': e2pdf.helper.getString(properties[field]),
5063 + 'options': e2pdf.helper.font.sizes(field)
5064 + };
5065 + break;
5066 + case 'g_legend_font_size':
5067 + obj = {
5068 + 'name': e2pdf.lang.get('Font Size'),
5069 + 'type': 'select',
5070 + 'value': e2pdf.helper.getString(properties[field]),
5071 + 'options': e2pdf.helper.font.sizes(field)
5072 + };
5073 + break;
5074 + case 'g_legend_position_vertical':
5075 + obj = {
5076 + 'name': e2pdf.lang.get('Position (V)'),
5077 + 'key': 'g_legend_position_vertical',
5078 + 'type': 'select',
5079 + 'value': e2pdf.helper.getString(properties[field], 'top'),
5080 + 'options':
5081 + [
5082 + {'top': e2pdf.lang.get('Top')},
5083 + {'middle': e2pdf.lang.get('Middle')},
5084 + {'bottom': e2pdf.lang.get('Bottom')}
5085 + ]
5086 + };
5087 + break;
5088 + case 'g_legend_position_horizontal':
5089 + obj = {
5090 + 'name': e2pdf.lang.get('Position (H)'),
5091 + 'type': 'select',
5092 + 'value': e2pdf.helper.getString(properties[field], 'right'),
5093 + 'options':
5094 + [
5095 + {'left': e2pdf.lang.get('Left')},
5096 + {'center': e2pdf.lang.get('Center')},
5097 + {'right': e2pdf.lang.get('Right')}
5098 + ]
5099 + };
5100 + break;
5101 + case 'g_legend_position_join':
5102 + obj = {
5103 + 'name': e2pdf.lang.get('Position'),
5104 + 'type': 'select',
5105 + 'value': e2pdf.helper.getString(properties[field], 'inner'),
5106 + 'options':
5107 + [
5108 + {'inner': e2pdf.lang.get('Inner')},
5109 + {'outer': e2pdf.lang.get('Outer')}
5110 + ]
5111 + };
5112 + break;
5113 + case 'g_legend_position_vertical_margin':
5114 + obj = {
5115 + 'name': e2pdf.lang.get('Margin (V)'),
5116 + 'type': 'text',
5117 + 'value': e2pdf.helper.getFloat(properties[field]),
5118 + 'atts': ['number', 'number-negative']
5119 + };
5120 + break;
5121 + case 'g_legend_position_horizontal_margin':
5122 + obj = {
5123 + 'name': e2pdf.lang.get('Margin (H)'),
5124 + 'type': 'text',
5125 + 'value': e2pdf.helper.getFloat(properties[field]),
5126 + 'atts': ['number', 'number-negative']
5127 + };
5128 + break;
5129 + case 'g_legend_text_side':
5130 + obj = {
5131 + 'name': e2pdf.lang.get('Legend Text Side'),
5132 + 'type': 'select',
5133 + 'value': e2pdf.helper.getString(properties[field], 'left'),
5134 + 'options':
5135 + [
5136 + {'left': e2pdf.lang.get('Left')},
5137 + {'right': e2pdf.lang.get('Right')}
5138 + ]
5139 + };
5140 + break;
5141 + case 'g_legend_columns':
5142 + obj = {
5143 + 'name': e2pdf.lang.get('Columns'),
5144 + 'type': 'text',
5145 + 'value': e2pdf.helper.getInt(properties[field], 1),
5146 + 'atts': ['number']
5147 + };
5148 + break;
5149 + case 'g_legend_entry_width':
5150 + obj = {
5151 + 'name': e2pdf.lang.get('Width'),
5152 + 'type': 'text',
5153 + 'value': e2pdf.helper.getInt(properties[field]),
5154 + 'atts': ['number']
5155 + };
5156 + break;
5157 + case 'g_legend_entry_height':
5158 + obj = {
5159 + 'name': e2pdf.lang.get('Height'),
5160 + 'type': 'text',
5161 + 'value': e2pdf.helper.getInt(properties[field]),
5162 + 'atts': ['number', 'keep']
5163 + };
5164 + break;
5165 + case 'g_legend_padding_x':
5166 + obj = {
5167 + 'name': e2pdf.lang.get('Padding (X)'),
5168 + 'type': 'text',
5169 + 'value': e2pdf.helper.getInt(properties[field]),
5170 + 'atts': ['number']
5171 + };
5172 + break;
5173 + case 'g_legend_padding_y':
5174 + obj = {
5175 + 'name': e2pdf.lang.get('Padding (Y)'),
5176 + 'type': 'text',
5177 + 'value': e2pdf.helper.getInt(properties[field]),
5178 + 'atts': ['number']
5179 + };
5180 + break;
5181 + case 'g_legend_stroke_colour':
5182 + obj = {
5183 + 'name': e2pdf.lang.get('Stroke Color'),
5184 + 'type': 'color',
5185 + 'value': e2pdf.helper.getString(properties[field])
5186 + };
5187 + break;
5188 + case 'g_legend_stroke_width':
5189 + obj = {
5190 + 'name': e2pdf.lang.get('Stroke Width'),
5191 + 'type': 'text',
5192 + 'value': e2pdf.helper.getInt(properties[field]),
5193 + 'atts': ['number']
5194 + };
5195 + break;
5196 + case 'g_legend_back_colour':
5197 + obj = {
5198 + 'name': e2pdf.lang.get('Background'),
5199 + 'type': 'color',
5200 + 'value': e2pdf.helper.getString(properties[field])
5201 + };
5202 + break;
5203 + case 'g_legend_colour':
5204 + obj = {
5205 + 'name': e2pdf.lang.get('Color'),
5206 + 'type': 'color',
5207 + 'value': e2pdf.helper.getString(properties[field])
5208 + };
5209 + break;
5210 + case 'g_show_legend':
5211 + obj = {
5212 + 'name': e2pdf.lang.get('Legend'),
5213 + 'type': 'checkbox',
5214 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5215 + 'option': '1'
5216 + };
5217 + break;
5218 + case 'g_bubble_scale':
5219 + obj = {
5220 + 'name': e2pdf.lang.get('Bubble Scale'),
5221 + 'type': 'text',
5222 + 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5223 + 'atts': ['number']
5224 + };
5225 + break;
5226 + case 'g_increment':
5227 + obj = {
5228 + 'name': e2pdf.lang.get('Increment'),
5229 + 'type': 'text',
5230 + 'value': e2pdf.helper.getInt(properties[field]),
5231 + 'atts': ['number']
5232 + };
5233 + break;
5234 + case 'g_stack_group':
5235 + obj = {
5236 + 'name': e2pdf.lang.get('Stack Group'),
5237 + 'type': 'text',
5238 + 'value': e2pdf.helper.getString(properties[field])
5239 + };
5240 + break;
5241 + case 'g_line_dataset':
5242 + obj = {
5243 + 'name': e2pdf.lang.get('Line Dataset'),
5244 + 'type': 'text',
5245 + 'value': e2pdf.helper.getString(properties[field])
5246 + };
5247 + break;
5248 + case 'g_project_angle':
5249 + obj = {
5250 + 'name': e2pdf.lang.get('Project Angle'),
5251 + 'type': 'text',
5252 + 'value': e2pdf.helper.getInt(properties[field]),
5253 + 'atts': ['number']
5254 + };
5255 + break;
5256 + case 'g_depth':
5257 + obj = {
5258 + 'name': e2pdf.lang.get('Depth'),
5259 + 'type': 'text',
5260 + 'value': e2pdf.helper.getInt(properties[field]),
5261 + 'atts': ['number']
5262 + };
5263 + break;
5264 + case 'g_aspect_ratio':
5265 + obj = {
5266 + 'name': e2pdf.lang.get('Aspect Ratio'),
5267 + 'type': 'text',
5268 + 'value': e2pdf.helper.getFloat(properties[field]),
5269 + 'atts': ['number']
5270 + };
5271 + break;
5272 + case 'g_line_curve':
5273 + obj = {
5274 + 'name': e2pdf.lang.get('Line Curve'),
5275 + 'type': 'text',
5276 + 'value': e2pdf.helper.getString(properties[field])
5277 + };
5278 + break;
5279 + case 'g_units_y':
5280 + obj = {
5281 + 'name': e2pdf.lang.get('Units'),
5282 + 'type': 'text',
5283 + 'value': e2pdf.helper.getString(properties[field])
5284 + };
5285 + break;
5286 + case 'g_units_x':
5287 + obj = {
5288 + 'name': e2pdf.lang.get('Units'),
5289 + 'type': 'text',
5290 + 'value': e2pdf.helper.getString(properties[field])
5291 + };
5292 + break;
5293 + case 'g_axis_text_position_v':
5294 + obj = {
5295 + 'name': e2pdf.lang.get('Position'),
5296 + 'type': 'select',
5297 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5298 + 'options':
5299 + [
5300 + {'outside': e2pdf.lang.get('Outer')},
5301 + {'inside': e2pdf.lang.get('Inner')}
5302 + ]
5303 + };
5304 + break;
5305 + case 'g_axis_text_position_h':
5306 + obj = {
5307 + 'name': e2pdf.lang.get('Position'),
5308 + 'type': 'select',
5309 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5310 + 'options':
5311 + [
5312 + {'outside': e2pdf.lang.get('Outer')},
5313 + {'inside': e2pdf.lang.get('Inner')}
5314 + ]
5315 + };
5316 + break;
5317 + case 'g_axis_text_align_v':
5318 + obj = {
5319 + 'name': e2pdf.lang.get('Align'),
5320 + 'type': 'select',
5321 + 'value': e2pdf.helper.getString(properties[field], ''),
5322 + 'options':
5323 + [
5324 + {'': e2pdf.lang.get('Auto')},
5325 + {'left': e2pdf.lang.get('Left')},
5326 + {'centre': e2pdf.lang.get('Center')},
5327 + {'right': e2pdf.lang.get('Right')}
5328 + ]
5329 + };
5330 + break;
5331 + case 'g_axis_text_align_h':
5332 + obj = {
5333 + 'name': e2pdf.lang.get('Align'),
5334 + 'type': 'select',
5335 + 'value': e2pdf.helper.getString(properties[field], ''),
5336 + 'options':
5337 + [
5338 + {'': e2pdf.lang.get('Auto')},
5339 + {'left': e2pdf.lang.get('Left')},
5340 + {'centre': e2pdf.lang.get('Center')},
5341 + {'right': e2pdf.lang.get('Right')}
5342 + ]
5343 + };
5344 + break;
5345 + case 'g_axis_text_space_v':
5346 + obj = {
5347 + 'name': e2pdf.lang.get('Space'),
5348 + 'type': 'text',
5349 + 'value': e2pdf.helper.getInt(properties[field], 2),
5350 + 'atts': ['number', 'number-negative', 'keep']
5351 + };
5352 + break;
5353 + case 'g_axis_text_space_h':
5354 + obj = {
5355 + 'name': e2pdf.lang.get('Space'),
5356 + 'type': 'text',
5357 + 'value': e2pdf.helper.getInt(properties[field], 2),
5358 + 'atts': ['number', 'number-negative', 'keep']
5359 + };
5360 + break;
5361 + case 'g_axis_text_offset_x_v':
5362 + obj = {
5363 + 'name': e2pdf.lang.get('Offset (X)'),
5364 + 'type': 'text',
5365 + 'value': e2pdf.helper.getInt(properties[field]),
5366 + 'atts': ['number', 'number-negative']
5367 + };
5368 + break;
5369 + case 'g_axis_text_offset_y_v':
5370 + obj = {
5371 + 'name': e2pdf.lang.get('Offset (Y)'),
5372 + 'type': 'text',
5373 + 'value': e2pdf.helper.getInt(properties[field]),
5374 + 'atts': ['number', 'number-negative']
5375 + };
5376 + break;
5377 + case 'g_axis_text_offset_x_h':
5378 + obj = {
5379 + 'name': e2pdf.lang.get('Offset (X)'),
5380 + 'type': 'text',
5381 + 'value': e2pdf.helper.getInt(properties[field]),
5382 + 'atts': ['number', 'number-negative']
5383 + };
5384 + break;
5385 + case 'g_axis_text_offset_y_h':
5386 + obj = {
5387 + 'name': e2pdf.lang.get('Offset (Y)'),
5388 + 'type': 'text',
5389 + 'value': e2pdf.helper.getInt(properties[field]),
5390 + 'atts': ['number', 'number-negative']
5391 + };
5392 + break;
5393 + case 'g_units_label':
5394 + obj = {
5395 + 'name': e2pdf.lang.get('Units Label'),
5396 + 'type': 'text',
5397 + 'value': e2pdf.helper.getString(properties[field])
5398 + };
5399 + break;
5400 + case 'g_reverse_data':
5401 + obj = {
5402 + 'name': 'Reverse Data',
5403 + 'type': 'checkbox',
5404 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5405 + 'option': '1'
5406 + };
5407 + break;
5408 + case 'g_multiline':
5409 + obj = {
5410 + 'name': 'Lines',
5411 + 'type': 'select',
5412 + 'value': e2pdf.helper.getString(properties[field]),
5413 + 'options':
5414 + [
5415 + {'0': 'Unsorted Data'},
5416 + {'2': 'Single Array Data'},
5417 + {'1': 'Multi Array Data'}
5418 + ]
5419 + };
5420 + break;
5421 + case 'g_legends':
5422 + obj = {
5423 + 'name': e2pdf.lang.get('Legends'),
5424 + 'type': 'textarea',
5425 + 'value': e2pdf.helper.getString(properties[field])
5426 + };
5427 + break;
5428 + case 'g_axis_text_callback_y':
5429 + obj = {
5430 + 'name': e2pdf.lang.get('Custom Labels (Y-Axis)'),
5431 + 'type': 'textarea',
5432 + 'value': e2pdf.helper.getString(properties[field])
5433 + };
5434 + break;
5435 + case 'g_axis_text_callback_x':
5436 + obj = {
5437 + 'name': e2pdf.lang.get('Custom Labels (X-Axis)'),
5438 + 'type': 'textarea',
5439 + 'value': e2pdf.helper.getString(properties[field])
5440 + };
5441 + break;
5442 + case 'g_colors':
5443 + obj = {
5444 + 'name': e2pdf.lang.get('Colors'),
5445 + 'type': 'textarea',
5446 + 'value': e2pdf.helper.getString(properties[field])
5447 + };
5448 + break;
5449 + case 'g_inner_radius':
5450 + obj = {
5451 + 'name': e2pdf.lang.get('Inner Radius'),
5452 + 'type': 'text',
5453 + 'value': e2pdf.helper.getFloat(properties[field]),
5454 + 'atts': ['number', 'keep']
5455 + };
5456 + break;
5457 + case 'g_start_angle':
5458 + obj = {
5459 + 'name': e2pdf.lang.get('Start Angle'),
5460 + 'type': 'text',
5461 + 'value': e2pdf.helper.getFloat(properties[field]),
5462 + 'atts': ['number']
5463 + };
5464 + break;
5465 + case 'g_grid_straight':
5466 + obj = {
5467 + 'name': e2pdf.lang.get('Straight'),
5468 + 'type': 'checkbox',
5469 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5470 + 'option': '1',
5471 + };
5472 + break;
5473 + case 'g_grid_dash':
5474 + obj = {
5475 + 'name': e2pdf.lang.get('Grid Dash'),
5476 + 'type': 'text',
5477 + 'value': e2pdf.helper.getFloat(properties[field]),
5478 + 'atts': ['number']
5479 + };
5480 + break;
5481 + case 'g_grid_dash_h':
5482 + obj = {
5483 + 'name': e2pdf.lang.get('Grid Dash (H)'),
5484 + 'type': 'text',
5485 + 'value': e2pdf.helper.getFloat(properties[field]),
5486 + 'atts': ['number']
5487 + };
5488 + break;
5489 + case 'g_grid_dash_v':
5490 + obj = {
5491 + 'name': e2pdf.lang.get('Grid Dash (V)'),
5492 + 'type': 'text',
5493 + 'value': e2pdf.helper.getFloat(properties[field]),
5494 + 'atts': ['number']
5495 + };
5496 + break;
5497 + case 'g_fill_opacity':
5498 + obj = {
5499 + 'name': e2pdf.lang.get('Fill Opacity'),
5500 + 'type': 'text',
5501 + 'value': e2pdf.helper.getFloat(properties[field]),
5502 + 'atts': ['number', 'keep']
5503 + };
5504 + break;
5505 + case 'g_axis_font_weight_h':
5506 + obj = {
5507 + 'name': e2pdf.lang.get('Bold'),
5508 + 'type': 'checkbox',
5509 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5510 + 'option': '1'
5511 + };
5512 + break;
5513 + case 'g_axis_font_weight_v':
5514 + obj = {
5515 + 'name': e2pdf.lang.get('Bold'),
5516 + 'type': 'checkbox',
5517 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5518 + 'option': '1'
5519 + };
5520 + break;
2717 5521 }
2718 -
5522 + if (!obj.hasOwnProperty('key')) {
5523 + obj['key'] = field;
5524 + }
5525 + if (!obj.hasOwnProperty('atts')) {
5526 + obj['atts'] = [];
5527 + }
2719 5528 return obj;
2720 5529 },
2721 - //e2pdf.properties.getFields
5530 + // e2pdf.properties.getFields
2722 5531 getFields: function (el, actions) {
2723 - if (el.data('data-type') === 'e2pdf-page') {
5532 +
5533 + if (el.data('data-type') === 'e2pdf-tpl') {
5534 + var obj = {};
5535 + } else if (el.data('data-type') === 'e2pdf-page') {
2724 5536 var obj = {
2725 5537 'page_id': {
2726 - 'name': e2pdfLang['ID'],
5538 + 'name': '',
2727 5539 'fields': [
2728 5540 e2pdf.properties.getField('page_id', el),
5541 + e2pdf.properties.getField('element_type', el)
2729 5542 ],
2730 5543 'position': 'top',
2731 5544 'classes': [
2732 - 'e2pdf-w100 e2pdf-hide-label'
2733 - ],
5545 + 'e2pdf-w50 e2pdf-pr10',
5546 + 'e2pdf-w50 e2pdf-pl10'
5547 + ]
2734 5548 },
2735 5549 'size': {
2736 - 'name': e2pdfLang['Size'],
5550 + 'name': e2pdf.lang.get('Size'),
2737 5551 'fields': [
2738 5552 e2pdf.properties.getField('width', el),
2739 5553 e2pdf.properties.getField('height', el),
5554 + e2pdf.properties.getField('preset', el)
2740 5555 ],
2741 5556 'position': 'top',
2742 5557 'classes': [
2743 5558 'e2pdf-w50 e2pdf-pr10',
2744 - 'e2pdf-w50 e2pdf-pl10'
2745 - ],
2746 - },
2747 - 'preset': {
2748 - 'name': e2pdfLang['Size Preset'],
2749 - 'fields': [
2750 - e2pdf.properties.getField('preset', el),
2751 - ],
2752 - 'position': 'top',
2753 - 'classes': [
2754 - 'e2pdf-w100 e2pdf-hide-label'
5559 + 'e2pdf-w50 e2pdf-pl10',
5560 + 'e2pdf-w100'
2755 5561 ]
2756 5562 }
2757 5563 };
2758 5564 } else {
2759 -
2760 5565 var obj = {
2761 - 'element_id': {
2762 - 'name': e2pdfLang['ID'],
5566 + 'element': {
5567 + 'name': e2pdf.lang.get('Element'),
2763 5568 'fields': [
2764 - e2pdf.properties.getField('element_id', el)
5569 + e2pdf.properties.getField('element_id', el),
5570 + e2pdf.properties.getField('page_id', el),
5571 + e2pdf.properties.getField('element_type', el),
5572 + e2pdf.properties.getField('left', el),
5573 + e2pdf.properties.getField('top', el),
5574 + e2pdf.properties.getField('width', el),
5575 + e2pdf.properties.getField('height', el)
2765 5576 ],
2766 5577 'position': 'top',
2767 5578 'classes': [
2768 - 'e2pdf-w100 e2pdf-hide-label',
2769 - ],
2770 - },
2771 - 'position': {
2772 - 'name': e2pdfLang['Position'],
2773 - 'fields': [
2774 - e2pdf.properties.getField('left', el),
2775 - e2pdf.properties.getField('top', el)
2776 - ],
2777 - 'position': 'right',
2778 - 'classes': [
2779 - 'e2pdf-w50 e2pdf-pr10',
2780 - 'e2pdf-w50 e2pdf-pl10'
2781 - ],
2782 - },
5579 + 'e2pdf-w25',
5580 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5581 + 'e2pdf-w50 e2pdf-pl10',
5582 + 'e2pdf-w25',
5583 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5584 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5585 + 'e2pdf-w25'
5586 + ]
5587 + }
2783 5588 };
5589 + if (el.data('data-type') === 'e2pdf-input') {
2784 5590
2785 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2786 - obj['size'] = {
2787 - 'name': e2pdfLang['Size'],
5591 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5592 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5593 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5594 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5595 + obj['field'] = {
5596 + 'name': e2pdf.lang.get('Field'),
2788 5597 'fields': [
2789 - e2pdf.properties.getField('width', el),
2790 - e2pdf.properties.getField('height', el),
2791 - e2pdf.properties.getField('length', el)
5598 + e2pdf.properties.getField('text_color', el),
5599 + e2pdf.properties.getField('text_font', el),
5600 + e2pdf.properties.getField('text_font_size', el),
5601 + e2pdf.properties.getField('text_letter_spacing', el),
5602 + e2pdf.properties.getField('text_auto_font_size', el),
5603 + e2pdf.properties.getField('text_align', el),
5604 + e2pdf.properties.getField('rotation', el),
5605 + e2pdf.properties.getField('length', el),
5606 + e2pdf.properties.getField('rtl', el),
5607 + e2pdf.properties.getField('comb', el),
5608 + e2pdf.properties.getField('required', el),
5609 + e2pdf.properties.getField('readonly', el),
5610 + e2pdf.properties.getField('pass', el)
2792 5611 ],
2793 5612 'position': 'left',
2794 5613 'classes': [
2795 - 'e2pdf-w50 e2pdf-pr10',
5614 + 'e2pdf-w100',
5615 + 'e2pdf-w100',
5616 + 'e2pdf-w50',
2796 5617 'e2pdf-w50 e2pdf-pl10',
5618 + 'e2pdf-w100',
5619 + 'e2pdf-w50',
5620 + 'e2pdf-w50 e2pdf-pl10',
5621 + 'e2pdf-w70',
5622 + 'e2pdf-w30 e2pdf-pl10',
5623 + 'e2pdf-pr10',
5624 + 'e2pdf-pr10',
5625 + 'e2pdf-pr10',
5626 + 'e2pdf-pr10'
5627 + ]
5628 + };
5629 + obj['style'] = {
5630 + 'name': e2pdf.lang.get('Style'),
5631 + 'fields': [
5632 + e2pdf.properties.getField('background', el),
5633 + e2pdf.properties.getField('border_color', el),
5634 + e2pdf.properties.getField('border', el),
5635 + e2pdf.properties.getField('z_index', el)
5636 + ],
5637 + 'position': 'right',
5638 + 'classes': [
5639 + 'e2pdf-w100',
5640 + 'e2pdf-w70',
5641 + 'e2pdf-w30 e2pdf-pl10',
2797 5642 'e2pdf-w100'
2798 - ],
5643 + ]
2799 5644 };
2800 - } else {
2801 - obj['size'] = {
2802 - 'name': e2pdfLang['Size'],
5645 + obj['value'] = {
5646 + 'name': e2pdf.lang.get('Value'),
2803 5647 'fields': [
2804 - e2pdf.properties.getField('width', el),
2805 - e2pdf.properties.getField('height', el),
5648 + e2pdf.properties.getField('value', el),
5649 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5650 + e2pdf.properties.getField('preg_pattern', el),
5651 + e2pdf.properties.getField('preg_replacement', el),
5652 + e2pdf.properties.getField('preg_match_all_pattern', el),
5653 + e2pdf.properties.getField('preg_match_all_output', el)
2806 5654 ],
2807 - 'position': 'left',
5655 + 'position': 'bottom',
2808 5656 'classes': [
2809 - 'e2pdf-w50 e2pdf-pr10',
2810 - 'e2pdf-w50 e2pdf-pl10'
2811 -
2812 - ],
5657 + 'e2pdf-w100 e2pdf-hide-label',
5658 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5659 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5660 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5661 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5662 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5663 + ]
2813 5664 };
2814 5665 }
2815 5666
2816 - if (el.data('data-type') === 'e2pdf-html'
2817 - || el.data('data-type') === 'e2pdf-textarea'
2818 - ) {
2819 - obj['font'] = {
2820 - 'name': e2pdfLang['Font'],
5667 + if (el.data('data-type') === 'e2pdf-textarea') {
5668 +
5669 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5670 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5671 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5672 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5673 + obj['field'] = {
5674 + 'name': e2pdf.lang.get('Field'),
2821 5675 'fields': [
2822 5676 e2pdf.properties.getField('text_color', el),
2823 5677 e2pdf.properties.getField('text_font', el),
2824 5678 e2pdf.properties.getField('text_font_size', el),
5679 + e2pdf.properties.getField('text_letter_spacing', el),
5680 + e2pdf.properties.getField('text_auto_font_size', el),
2825 5681 e2pdf.properties.getField('text_line_height', el),
5682 + e2pdf.properties.getField('text_align', el),
5683 + e2pdf.properties.getField('rotation', el),
5684 + e2pdf.properties.getField('length', el),
5685 + e2pdf.properties.getField('rtl', el),
5686 + e2pdf.properties.getField('comb', el),
5687 + e2pdf.properties.getField('required', el),
5688 + e2pdf.properties.getField('readonly', el),
5689 + e2pdf.properties.getField('pass', el)
2826 5690 ],
2827 5691 'position': 'left',
2828 5692 'classes': [
2829 5693 'e2pdf-w100',
2830 5694 'e2pdf-w100',
2831 - 'e2pdf-w50 e2pdf-pr10',
2832 - 'e2pdf-w50 e2pdf-pl10'
5695 + 'e2pdf-w50',
5696 + 'e2pdf-w50 e2pdf-pl10',
5697 + 'e2pdf-w100',
5698 + 'e2pdf-w100',
5699 + 'e2pdf-w50',
5700 + 'e2pdf-w50 e2pdf-pl10',
5701 + 'e2pdf-w70',
5702 + 'e2pdf-w30 e2pdf-pl10',
5703 + 'e2pdf-pr10',
5704 + 'e2pdf-pr10',
5705 + 'e2pdf-pr10',
5706 + 'e2pdf-pr10'
5707 + ]
5708 + };
5709 + obj['style'] = {
5710 + 'name': e2pdf.lang.get('Style'),
5711 + 'fields': [
5712 + e2pdf.properties.getField('background', el),
5713 + e2pdf.properties.getField('border_color', el),
5714 + e2pdf.properties.getField('border', el),
5715 + e2pdf.properties.getField('z_index', el)
2833 5716 ],
5717 + 'position': 'right',
5718 + 'classes': [
5719 + 'e2pdf-w100',
5720 + 'e2pdf-w70',
5721 + 'e2pdf-w30 e2pdf-pl10',
5722 + 'e2pdf-w100'
5723 + ]
2834 5724 };
5725 + obj['value'] = {
5726 + 'name': e2pdf.lang.get('Value'),
5727 + 'fields': [
5728 + e2pdf.properties.getField('value', el),
5729 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5730 + e2pdf.properties.getField('preg_pattern', el),
5731 + e2pdf.properties.getField('preg_replacement', el),
5732 + e2pdf.properties.getField('preg_match_all_pattern', el),
5733 + e2pdf.properties.getField('preg_match_all_output', el)
5734 + ],
5735 + 'position': 'bottom',
5736 + 'classes': [
5737 + 'e2pdf-w100 e2pdf-hide-label',
5738 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5739 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5740 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5741 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5742 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5743 + ]
5744 + };
5745 + }
2835 5746
2836 - }
5747 + if (el.data('data-type') === 'e2pdf-checkbox') {
2837 5748
2838 - // Font
2839 - if (el.data('data-type') === 'e2pdf-input'
2840 - || el.data('data-type') === 'e2pdf-select'
2841 - || el.data('data-type') === 'e2pdf-signature'
2842 - ) {
2843 - obj['font'] = {
2844 - 'name': e2pdfLang['Font'],
5749 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5750 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5751 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5752 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5753 + obj['field'] = {
5754 + 'name': e2pdf.lang.get('Field'),
2845 5755 'fields': [
2846 5756 e2pdf.properties.getField('text_color', el),
2847 - e2pdf.properties.getField('text_font', el),
2848 - e2pdf.properties.getField('text_font_size', el),
5757 + e2pdf.properties.getField('text_type', el),
5758 + e2pdf.properties.getField('rotation', el),
5759 + e2pdf.properties.getField('rtl', el),
5760 + e2pdf.properties.getField('required', el),
5761 + e2pdf.properties.getField('readonly', el)
2849 5762 ],
2850 5763 'position': 'left',
2851 5764 'classes': [
2852 5765 'e2pdf-w100',
2853 - 'e2pdf-w70 e2pdf-pr10',
2854 - 'e2pdf-w30 e2pdf-pl10'
5766 + 'e2pdf-w100',
5767 + 'e2pdf-w70',
5768 + 'e2pdf-w30 e2pdf-pl10',
5769 + 'e2pdf-pr10',
5770 + 'e2pdf-pr10'
5771 + ]
5772 + };
5773 + obj['style'] = {
5774 + 'name': e2pdf.lang.get('Style'),
5775 + 'fields': [
5776 + e2pdf.properties.getField('background', el),
5777 + e2pdf.properties.getField('border_color', el),
5778 + e2pdf.properties.getField('border', el),
5779 + e2pdf.properties.getField('z_index', el)
2855 5780 ],
5781 + 'position': 'right',
5782 + 'classes': [
5783 + 'e2pdf-w100',
5784 + 'e2pdf-w70',
5785 + 'e2pdf-w30 e2pdf-pl10',
5786 + 'e2pdf-w100'
5787 + ]
2856 5788 };
2857 - }
2858 -
2859 - // Text align
2860 - if (el.data('data-type') === 'e2pdf-html'
2861 - || el.data('data-type') === 'e2pdf-input'
2862 - || el.data('data-type') === 'e2pdf-textarea'
2863 - ) {
2864 - obj['text_align'] = {
2865 - 'name': e2pdfLang['Text Align'],
5789 + obj['value'] = {
5790 + 'name': '',
2866 5791 'fields': [
2867 - e2pdf.properties.getField('text_align', el),
5792 + e2pdf.properties.getField('option', el),
5793 + e2pdf.properties.getField('value', el),
5794 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5795 + e2pdf.properties.getField('preg_pattern', el),
5796 + e2pdf.properties.getField('preg_replacement', el),
5797 + e2pdf.properties.getField('preg_match_all_pattern', el),
5798 + e2pdf.properties.getField('preg_match_all_output', el)
2868 5799 ],
2869 - 'position': 'left',
5800 + 'position': 'bottom',
2870 5801 'classes': [
2871 - 'e2pdf-w100 e2pdf-hide-label',
5802 + 'e2pdf-w100 e2pdf-strong-label',
5803 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5804 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5805 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5806 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5807 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5808 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
2872 5809 ]
2873 5810 };
2874 5811 }
2875 5812
2876 - // Settings
2877 - if (el.data('data-type') === 'e2pdf-html') {
2878 - obj['settings'] = {
2879 - 'name': e2pdfLang['Settings'],
5813 + if (el.data('data-type') === 'e2pdf-radio') {
5814 +
5815 + obj['field'] = {
5816 + 'name': e2pdf.lang.get('Field'),
2880 5817 'fields': [
5818 + e2pdf.properties.getField('text_color', el),
5819 + e2pdf.properties.getField('text_type', el),
5820 + e2pdf.properties.getField('rotation', el),
2881 5821 e2pdf.properties.getField('rtl', el),
2882 - e2pdf.properties.getField('dynamic_height', el),
5822 + e2pdf.properties.getField('required', el),
5823 + e2pdf.properties.getField('readonly', el)
2883 5824 ],
2884 5825 'position': 'left',
2885 5826 'classes': [
2886 5827 'e2pdf-w100',
2887 5828 'e2pdf-w100',
5829 + 'e2pdf-w70',
5830 + 'e2pdf-w30 e2pdf-pl10',
5831 + 'e2pdf-pr10',
5832 + 'e2pdf-pr10',
5833 + 'e2pdf-pr10'
2888 5834 ]
2889 5835 };
5836 + obj['style'] = {
5837 + 'name': e2pdf.lang.get('Style'),
5838 + 'fields': [
5839 + e2pdf.properties.getField('background', el),
5840 + e2pdf.properties.getField('border_color', el),
5841 + e2pdf.properties.getField('border', el),
5842 + e2pdf.properties.getField('z_index', el)
5843 + ],
5844 + 'position': 'right',
5845 + 'classes': [
5846 + 'e2pdf-w100',
5847 + 'e2pdf-w70',
5848 + 'e2pdf-w30 e2pdf-pl10',
5849 + 'e2pdf-w100'
5850 + ]
5851 + };
5852 + obj['value'] = {
5853 + 'name': '',
5854 + 'fields': [
5855 + e2pdf.properties.getField('group', el),
5856 + e2pdf.properties.getField('field_name', el),
5857 + e2pdf.properties.getField('option', el),
5858 + e2pdf.properties.getField('value', el),
5859 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5860 + e2pdf.properties.getField('preg_pattern', el),
5861 + e2pdf.properties.getField('preg_replacement', el),
5862 + e2pdf.properties.getField('preg_match_all_pattern', el),
5863 + e2pdf.properties.getField('preg_match_all_output', el)
5864 + ],
5865 + 'position': 'bottom',
5866 + 'classes': [
5867 + 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5868 + 'e2pdf-w25 e2pdf-mt-label',
5869 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5870 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5871 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5872 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5873 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5874 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5875 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5876 + ]
5877 + };
2890 5878 }
2891 5879
2892 - // Settings
2893 - if (el.data('data-type') === 'e2pdf-input'
2894 - || el.data('data-type') === 'e2pdf-textarea'
2895 - ) {
2896 - obj['settings'] = {
2897 - 'name': e2pdfLang['Settings'],
5880 + if (el.data('data-type') === 'e2pdf-select') {
5881 +
5882 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5883 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5884 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5885 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5886 + obj['field'] = {
5887 + 'name': e2pdf.lang.get('Field'),
2898 5888 'fields': [
5889 + e2pdf.properties.getField('text_color', el),
5890 + e2pdf.properties.getField('text_font', el),
5891 + e2pdf.properties.getField('text_font_size', el),
5892 + e2pdf.properties.getField('text_letter_spacing', el),
5893 + e2pdf.properties.getField('text_auto_font_size', el),
5894 + e2pdf.properties.getField('rotation', el),
2899 5895 e2pdf.properties.getField('rtl', el),
5896 + e2pdf.properties.getField('multiline', el),
2900 5897 e2pdf.properties.getField('required', el),
2901 - e2pdf.properties.getField('readonly', el),
2902 - e2pdf.properties.getField('pass', el),
2903 - e2pdf.properties.getField('comb', el),
5898 + e2pdf.properties.getField('readonly', el)
2904 5899 ],
2905 5900 'position': 'left',
2906 5901 'classes': [
2907 5902 'e2pdf-w100',
2908 5903 'e2pdf-w100',
5904 + 'e2pdf-w50',
5905 + 'e2pdf-w50 e2pdf-pl10',
2909 5906 'e2pdf-w100',
5907 + 'e2pdf-w70',
5908 + 'e2pdf-w30 e2pdf-pl10',
5909 + 'e2pdf-pr10',
5910 + 'e2pdf-pr10',
5911 + 'e2pdf-pr10'
5912 + ]
5913 + };
5914 + obj['style'] = {
5915 + 'name': e2pdf.lang.get('Style'),
5916 + 'fields': [
5917 + e2pdf.properties.getField('background', el),
5918 + e2pdf.properties.getField('border_color', el),
5919 + e2pdf.properties.getField('border', el),
5920 + e2pdf.properties.getField('z_index', el)
5921 + ],
5922 + 'position': 'right',
5923 + 'classes': [
2910 5924 'e2pdf-w100',
2911 - 'e2pdf-w100',
5925 + 'e2pdf-w70',
5926 + 'e2pdf-w30 e2pdf-pl10',
5927 + 'e2pdf-w100'
2912 5928 ]
2913 5929 };
5930 + obj['value'] = {
5931 + 'name': '',
5932 + 'fields': [
5933 + e2pdf.properties.getField('options', el),
5934 + e2pdf.properties.getField('value', el),
5935 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5936 + e2pdf.properties.getField('preg_pattern', el),
5937 + e2pdf.properties.getField('preg_replacement', el),
5938 + e2pdf.properties.getField('preg_match_all_pattern', el),
5939 + e2pdf.properties.getField('preg_match_all_output', el)
5940 + ],
5941 + 'position': 'bottom',
5942 + 'classes': [
5943 + 'e2pdf-w100 e2pdf-strong-label',
5944 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5945 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5946 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5947 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5948 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5949 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5950 + ]
5951 + };
2914 5952 }
2915 5953
2916 - // Settings Signature
2917 5954 if (el.data('data-type') === 'e2pdf-signature') {
2918 5955
2919 - obj['placeholder'] = {
2920 - 'name': e2pdfLang['Placeholder'],
5956 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5957 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5958 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5959 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5960 + obj['field'] = {
5961 + 'name': e2pdf.lang.get('Field'),
2921 5962 'fields': [
5963 + e2pdf.properties.getField('text_color', el),
5964 + e2pdf.properties.getField('text_font', el),
5965 + e2pdf.properties.getField('text_font_size', el),
2922 5966 e2pdf.properties.getField('placeholder', el),
5967 + e2pdf.properties.getField('esig', el),
5968 + e2pdf.properties.getField('required', el),
5969 + e2pdf.properties.getField('horizontal', el),
5970 + e2pdf.properties.getField('vertical', el),
5971 + e2pdf.properties.getField('rotation', el),
5972 + e2pdf.properties.getField('opacity', el),
5973 + e2pdf.properties.getField('dimension', el),
5974 + e2pdf.properties.getField('block_dimension', el),
5975 + e2pdf.properties.getField('keep_lower_size', el),
5976 + e2pdf.properties.getField('fill_image', el)
2923 5977 ],
2924 5978 'position': 'left',
2925 5979 'classes': [
5980 + 'e2pdf-w100',
5981 + 'e2pdf-w60 e2pdf-pr10',
5982 + 'e2pdf-w40',
5983 + 'e2pdf-w100',
5984 + 'e2pdf-w50',
5985 + 'e2pdf-w50 e2pdf-pl10',
5986 + 'e2pdf-w50',
5987 + 'e2pdf-w50 e2pdf-pl10',
5988 + 'e2pdf-w50',
5989 + 'e2pdf-w50 e2pdf-pl10',
5990 + 'e2pdf-w50',
5991 + 'e2pdf-w50 e2pdf-pl10',
5992 + 'e2pdf-w50',
5993 + 'e2pdf-w50 e2pdf-pl10'
5994 + ]
5995 + };
5996 + obj['style'] = {
5997 + 'name': e2pdf.lang.get('Style'),
5998 + 'fields': [
5999 + e2pdf.properties.getField('background', el),
6000 + e2pdf.properties.getField('padding_top', el),
6001 + e2pdf.properties.getField('padding_left', el),
6002 + e2pdf.properties.getField('padding_right', el),
6003 + e2pdf.properties.getField('padding_bottom', el),
6004 + e2pdf.properties.getField('border_color', el),
6005 + e2pdf.properties.getField('border_radius', el),
6006 + e2pdf.properties.getField('border_top', el),
6007 + e2pdf.properties.getField('border_left', el),
6008 + e2pdf.properties.getField('border_right', el),
6009 + e2pdf.properties.getField('border_bottom', el),
6010 + e2pdf.properties.getField('z_index', el)
6011 + ],
6012 + 'position': 'right',
6013 + 'classes': [
6014 + 'e2pdf-w100',
6015 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6016 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6017 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6018 + 'e2pdf-w25 e2pdf-fnl',
6019 + 'e2pdf-w100',
6020 + 'e2pdf-w100',
6021 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6022 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6023 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6024 + 'e2pdf-w25 e2pdf-fnl',
6025 + 'e2pdf-w100'
6026 + ]
6027 + };
6028 + obj['value'] = {
6029 + 'name': e2pdf.lang.get('Value'),
6030 + 'fields': [
6031 + e2pdf.properties.getField('value', el),
6032 + e2pdf.properties.getField('only_image', el),
6033 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6034 + e2pdf.properties.getField('preg_pattern', el),
6035 + e2pdf.properties.getField('preg_replacement', el),
6036 + e2pdf.properties.getField('preg_match_all_pattern', el),
6037 + e2pdf.properties.getField('preg_match_all_output', el)
6038 + ],
6039 + 'position': 'bottom',
6040 + 'classes': [
2926 6041 'e2pdf-w100 e2pdf-hide-label',
6042 + 'e2pdf-w50 e2pdf-pr10',
6043 + 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6044 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6045 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6046 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6047 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
2927 6048 ]
2928 6049 };
6050 + }
2929 6051
2930 -
2931 - obj['settings'] = {
2932 - 'name': e2pdfLang['Settings'],
6052 + if (el.data('data-type') === 'e2pdf-html') {
6053 + obj['field'] = {
6054 + 'name': e2pdf.lang.get('Field'),
2933 6055 'fields': [
2934 - e2pdf.properties.getField('esig', el),
6056 + e2pdf.properties.getField('text_color', el),
6057 + e2pdf.properties.getField('text_font', el),
6058 + e2pdf.properties.getField('text_font_size', el),
6059 + e2pdf.properties.getField('text_letter_spacing', el),
6060 + e2pdf.properties.getField('text_line_height', el),
6061 + e2pdf.properties.getField('text_align', el),
6062 + e2pdf.properties.getField('rotation', el),
6063 + e2pdf.properties.getField('vertical', el),
6064 + e2pdf.properties.getField('rtl', el),
6065 + e2pdf.properties.getField('multipage', el),
6066 + e2pdf.properties.getField('nl2br', el),
6067 + e2pdf.properties.getField('preload_img', el),
6068 + e2pdf.properties.getField('hide_if_empty', el),
6069 + e2pdf.properties.getField('hide_page_if_empty', el)
2935 6070 ],
2936 6071 'position': 'left',
2937 6072 'classes': [
2938 6073 'e2pdf-w100',
6074 + 'e2pdf-w100',
6075 + 'e2pdf-w50',
6076 + 'e2pdf-w50 e2pdf-pl10',
6077 + 'e2pdf-w100',
6078 + 'e2pdf-w50',
6079 + 'e2pdf-w50 e2pdf-pl10',
6080 + 'e2pdf-w70',
6081 + 'e2pdf-w30 e2pdf-pl10',
6082 + 'e2pdf-pr10',
6083 + 'e2pdf-pr10',
6084 + 'e2pdf-pr10',
6085 + 'e2pdf-pr10',
6086 + 'e2pdf-pr10'
2939 6087 ]
2940 6088 };
6089 + if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6090 + obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6091 + obj['field'].classes.push('e2pdf-pr10');
6092 + }
2941 6093
2942 -
2943 - }
2944 -
2945 - // Settings
2946 - if (el.data('data-type') === 'e2pdf-checkbox'
2947 - || el.data('data-type') === 'e2pdf-radio'
2948 - ) {
2949 - obj['settings'] = {
2950 - 'name': e2pdfLang['Settings'],
6094 + obj['style'] = {
6095 + 'name': e2pdf.lang.get('Style'),
2951 6096 'fields': [
2952 - e2pdf.properties.getField('required', el),
2953 - e2pdf.properties.getField('readonly', el),
6097 + e2pdf.properties.getField('background', el),
6098 + e2pdf.properties.getField('padding_top', el),
6099 + e2pdf.properties.getField('padding_left', el),
6100 + e2pdf.properties.getField('padding_right', el),
6101 + e2pdf.properties.getField('padding_bottom', el),
6102 + e2pdf.properties.getField('border_color', el),
6103 + e2pdf.properties.getField('border_top', el),
6104 + e2pdf.properties.getField('border_left', el),
6105 + e2pdf.properties.getField('border_right', el),
6106 + e2pdf.properties.getField('border_bottom', el),
6107 + e2pdf.properties.getField('z_index', el)
2954 6108 ],
2955 - 'position': 'left',
6109 + 'position': 'right',
2956 6110 'classes': [
2957 6111 'e2pdf-w100',
6112 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6113 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6114 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6115 + 'e2pdf-w25 e2pdf-fnl',
2958 6116 'e2pdf-w100',
6117 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6118 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6119 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6120 + 'e2pdf-w25 e2pdf-fnl',
6121 + 'e2pdf-w100'
2959 6122 ]
2960 6123 };
6124 + obj['value'] = {
6125 + 'name': '',
6126 + 'fields': [
6127 + e2pdf.properties.getField('parent', el),
6128 + e2pdf.properties.getField('css', el),
6129 + e2pdf.properties.getField('css_priority', el),
6130 + e2pdf.properties.getField('value', el),
6131 + e2pdf.properties.getField('html_worker', el),
6132 + e2pdf.properties.getField('wysiwyg_disable', el),
6133 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6134 + e2pdf.properties.getField('preg_pattern', el),
6135 + e2pdf.properties.getField('preg_replacement', el),
6136 + e2pdf.properties.getField('preg_match_all_pattern', el),
6137 + e2pdf.properties.getField('preg_match_all_output', el)
6138 + ],
6139 + 'position': 'bottom',
6140 + 'classes': [
6141 + 'e2pdf-w100 e2pdf-strong-label',
6142 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6143 + 'e2pdf-w20 e2pdf-pr10',
6144 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6145 + 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6146 + 'e2pdf-w50 e2pdf-pr10',
6147 + 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6148 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6149 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6150 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6151 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6152 + ]
6153 + };
2961 6154 }
2962 6155
2963 - // Settings
2964 - if (el.data('data-type') === 'e2pdf-select') {
2965 - obj['settings'] = {
2966 - 'name': e2pdfLang['Settings'],
6156 + if (el.data('data-type') === 'e2pdf-page-number') {
6157 + obj['field'] = {
6158 + 'name': e2pdf.lang.get('Field'),
2967 6159 'fields': [
2968 - e2pdf.properties.getField('rtl', el),
2969 - e2pdf.properties.getField('required', el),
2970 - e2pdf.properties.getField('readonly', el),
2971 - e2pdf.properties.getField('multiline', el),
6160 + e2pdf.properties.getField('text_color', el),
6161 + e2pdf.properties.getField('text_font', el),
6162 + e2pdf.properties.getField('text_font_size', el),
6163 + e2pdf.properties.getField('text_letter_spacing', el),
6164 + e2pdf.properties.getField('text_line_height', el),
6165 + e2pdf.properties.getField('text_align', el),
6166 + e2pdf.properties.getField('rotation', el),
6167 + e2pdf.properties.getField('vertical', el),
6168 + e2pdf.properties.getField('rtl', el)
2972 6169 ],
2973 6170 'position': 'left',
2974 6171 'classes': [
2975 6172 'e2pdf-w100',
2976 6173 'e2pdf-w100',
6174 + 'e2pdf-w50',
6175 + 'e2pdf-w50 e2pdf-pl10',
2977 6176 'e2pdf-w100',
2978 - 'e2pdf-w100',
6177 + 'e2pdf-w50',
6178 + 'e2pdf-w50 e2pdf-pl10',
6179 + 'e2pdf-w70',
6180 + 'e2pdf-w30 e2pdf-pl10'
2979 6181 ]
2980 6182 };
2981 - }
2982 -
2983 - // Selector
2984 - if (el.data('data-type') === 'e2pdf-checkbox'
2985 - || el.data('data-type') === 'e2pdf-radio'
2986 - ) {
2987 - obj['selector'] = {
2988 - 'name': e2pdfLang['Selector'],
6183 + obj['page_number'] = {
6184 + 'name': e2pdf.lang.get('Page Number'),
2989 6185 'fields': [
2990 - e2pdf.properties.getField('text_color', el),
2991 - e2pdf.properties.getField('text_type', el),
6186 + e2pdf.properties.getField('page_number', el),
6187 + e2pdf.properties.getField('page_total', el),
2992 6188 ],
2993 6189 'position': 'left',
2994 6190 'classes': [
6191 + 'e2pdf-w50',
6192 + 'e2pdf-w50 e2pdf-pl10',
6193 + ]
6194 + };
6195 + obj['style'] = {
6196 + 'name': e2pdf.lang.get('Style'),
6197 + 'fields': [
6198 + e2pdf.properties.getField('background', el),
6199 + e2pdf.properties.getField('padding_top', el),
6200 + e2pdf.properties.getField('padding_left', el),
6201 + e2pdf.properties.getField('padding_right', el),
6202 + e2pdf.properties.getField('padding_bottom', el),
6203 + e2pdf.properties.getField('border_color', el),
6204 + e2pdf.properties.getField('border_top', el),
6205 + e2pdf.properties.getField('border_left', el),
6206 + e2pdf.properties.getField('border_right', el),
6207 + e2pdf.properties.getField('border_bottom', el)
6208 + ],
6209 + 'position': 'right',
6210 + 'classes': [
2995 6211 'e2pdf-w100',
6212 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6213 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6214 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6215 + 'e2pdf-w25 e2pdf-fnl',
2996 6216 'e2pdf-w100',
6217 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6218 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6219 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6220 + 'e2pdf-w25 e2pdf-fnl'
2997 6221 ]
2998 6222 };
2999 - }
3000 -
3001 - // Background
3002 - if (el.data('data-type') === 'e2pdf-html'
3003 - || el.data('data-type') === 'e2pdf-input'
3004 - || el.data('data-type') === 'e2pdf-textarea'
3005 - || el.data('data-type') === 'e2pdf-image'
3006 - || el.data('data-type') === 'e2pdf-rectangle'
3007 - || el.data('data-type') === 'e2pdf-signature'
3008 - ) {
3009 - obj['background'] = {
3010 - 'name': e2pdfLang['Background'],
6223 + obj['value'] = {
6224 + 'name': '',
3011 6225 'fields': [
3012 - e2pdf.properties.getField('background', el)
6226 + e2pdf.properties.getField('css', el),
6227 + e2pdf.properties.getField('value', el),
6228 + e2pdf.properties.getField('html_worker', el)
3013 6229 ],
3014 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6230 + 'position': 'bottom',
3015 6231 'classes': [
3016 - 'e2pdf-w100 e2pdf-hide-label',
6232 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6233 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6234 + 'e2pdf-w30 e2pdf-pr10'
3017 6235 ]
3018 6236 };
3019 6237 }
3020 6238
3021 - // Resize
3022 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3023 - obj['resize'] = {
3024 - 'name': e2pdfLang['Resize'],
6239 + if (el.data('data-type') === 'e2pdf-image') {
6240 +
6241 + obj['field'] = {
6242 + 'name': e2pdf.lang.get('Field'),
3025 6243 'fields': [
3026 - e2pdf.properties.getField('scale', el),
6244 + e2pdf.properties.getField('text_color', el),
6245 + e2pdf.properties.getField('text_font', el),
6246 + e2pdf.properties.getField('text_font_size', el),
3027 6247 e2pdf.properties.getField('horizontal', el),
3028 6248 e2pdf.properties.getField('vertical', el),
6249 + e2pdf.properties.getField('rotation', el),
6250 + e2pdf.properties.getField('opacity', el),
6251 + e2pdf.properties.getField('quality', el),
3029 6252 e2pdf.properties.getField('dimension', el),
6253 + e2pdf.properties.getField('block_dimension', el),
6254 + e2pdf.properties.getField('keep_lower_size', el),
6255 + e2pdf.properties.getField('fill_image', el),
6256 + e2pdf.properties.getField('hide_page_if_empty', el)
3030 6257 ],
3031 6258 'position': 'left',
3032 6259 'classes': [
3033 6260 'e2pdf-w100',
3034 - 'e2pdf-w50 e2pdf-pr10',
6261 + 'e2pdf-w60 e2pdf-pr10',
6262 + 'e2pdf-w40',
6263 + 'e2pdf-w50',
3035 6264 'e2pdf-w50 e2pdf-pl10',
3036 - 'e2pdf-w100 e2pdf-mt5'
6265 + 'e2pdf-w50',
6266 + 'e2pdf-w50 e2pdf-pl10',
6267 + 'e2pdf-w100',
6268 + 'e2pdf-pr10',
6269 + 'e2pdf-pr10',
6270 + 'e2pdf-pr10',
6271 + 'e2pdf-pr10',
6272 + 'e2pdf-pr10'
3037 6273 ]
3038 6274 };
3039 - }
3040 -
3041 - // Border
3042 - if (el.data('data-type') === 'e2pdf-input'
3043 - || el.data('data-type') === 'e2pdf-textarea'
3044 - || el.data('data-type') === 'e2pdf-checkbox'
3045 - || el.data('data-type') === 'e2pdf-radio'
3046 - || el.data('data-type') === 'e2pdf-select'
3047 - ) {
3048 - obj['border'] = {
3049 - 'name': e2pdfLang['Border'],
6275 + obj['pdf'] = {
6276 + 'name': 'Pdf',
3050 6277 'fields': [
3051 - e2pdf.properties.getField('border', el),
3052 - e2pdf.properties.getField('border_color', el)
6278 + e2pdf.properties.getField('pdf_page', el),
6279 + e2pdf.properties.getField('pdf_resample', el),
6280 + e2pdf.properties.getField('pdf_append', el),
6281 + e2pdf.properties.getField('pdf_space', el),
6282 + e2pdf.properties.getField('pdf_border', el)
3053 6283 ],
6284 + 'position': 'left',
6285 + 'classes': [
6286 + 'e2pdf-w50',
6287 + 'e2pdf-w50 e2pdf-pl10',
6288 + 'e2pdf-w100',
6289 + 'e2pdf-w50',
6290 + 'e2pdf-w50 e2pdf-pl10'
6291 + ]
6292 + };
6293 + obj['style'] = {
6294 + 'name': e2pdf.lang.get('Style'),
6295 + 'fields': [
6296 + e2pdf.properties.getField('background', el),
6297 + e2pdf.properties.getField('padding_top', el),
6298 + e2pdf.properties.getField('padding_left', el),
6299 + e2pdf.properties.getField('padding_right', el),
6300 + e2pdf.properties.getField('padding_bottom', el),
6301 + e2pdf.properties.getField('border_color', el),
6302 + e2pdf.properties.getField('border_radius', el),
6303 + e2pdf.properties.getField('border_top', el),
6304 + e2pdf.properties.getField('border_left', el),
6305 + e2pdf.properties.getField('border_right', el),
6306 + e2pdf.properties.getField('border_bottom', el),
6307 + e2pdf.properties.getField('z_index', el)
6308 + ],
3054 6309 'position': 'right',
3055 6310 'classes': [
3056 - 'e2pdf-w25 e2pdf-pr10',
6311 + 'e2pdf-w100',
6312 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6313 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6314 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6315 + 'e2pdf-w25 e2pdf-fnl',
6316 + 'e2pdf-w100',
6317 + 'e2pdf-w100',
6318 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6319 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6320 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6321 + 'e2pdf-w25 e2pdf-fnl',
3057 6322 'e2pdf-w100'
6323 + ]
6324 + };
6325 + obj['value'] = {
6326 + 'name': '',
6327 + 'fields': [
6328 + e2pdf.properties.getField('link_url', el),
6329 + e2pdf.properties.getField('link_type', el),
6330 + e2pdf.properties.getField('highlight', el),
6331 + e2pdf.properties.getField('value', el),
6332 + e2pdf.properties.getField('only_image', el),
6333 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6334 + e2pdf.properties.getField('preg_pattern', el),
6335 + e2pdf.properties.getField('preg_replacement', el),
6336 + e2pdf.properties.getField('preg_match_all_pattern', el),
6337 + e2pdf.properties.getField('preg_match_all_output', el)
3058 6338 ],
6339 + 'position': 'bottom',
6340 + 'classes': [
6341 + 'e2pdf-w50 e2pdf-pr10',
6342 + 'e2pdf-w25 e2pdf-pr10',
6343 + 'e2pdf-w25',
6344 + 'e2pdf-w100',
6345 + 'e2pdf-w50 e2pdf-pr10',
6346 + 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6347 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6348 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6349 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6350 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6351 + ]
3059 6352 };
3060 6353 }
3061 6354
3062 - // Border
3063 - if (el.data('data-type') === 'e2pdf-html'
3064 - || el.data('data-type') === 'e2pdf-image'
3065 - || el.data('data-type') === 'e2pdf-signature'
3066 - ) {
3067 - obj['border'] = {
3068 - 'name': e2pdfLang['Border'],
6355 + if (el.data('data-type') === 'e2pdf-qrcode') {
6356 +
6357 + obj['qrcode'] = {
6358 + 'name': e2pdf.lang.get('QR Code'),
3069 6359 'fields': [
6360 + e2pdf.properties.getField('color', el),
6361 + e2pdf.properties.getField('precision', el),
6362 + e2pdf.properties.getField('wq', el)
6363 + ],
6364 + 'position': 'left',
6365 + 'classes': [
6366 + 'e2pdf-w100',
6367 + 'e2pdf-w50',
6368 + 'e2pdf-w50 e2pdf-pl10'
6369 + ]
6370 + };
6371 + obj['style'] = {
6372 + 'name': e2pdf.lang.get('Style'),
6373 + 'fields': [
6374 + e2pdf.properties.getField('background', el),
6375 + e2pdf.properties.getField('margin_top', el),
6376 + e2pdf.properties.getField('margin_left', el),
6377 + e2pdf.properties.getField('margin_right', el),
6378 + e2pdf.properties.getField('margin_bottom', el),
6379 + e2pdf.properties.getField('padding_top', el),
6380 + e2pdf.properties.getField('padding_left', el),
6381 + e2pdf.properties.getField('padding_right', el),
6382 + e2pdf.properties.getField('padding_bottom', el),
6383 + e2pdf.properties.getField('border_color', el),
3070 6384 e2pdf.properties.getField('border_top', el),
3071 6385 e2pdf.properties.getField('border_left', el),
3072 6386 e2pdf.properties.getField('border_right', el),
3073 6387 e2pdf.properties.getField('border_bottom', el),
3074 - e2pdf.properties.getField('border_color', el)
6388 + e2pdf.properties.getField('z_index', el)
3075 6389 ],
3076 6390 'position': 'right',
3077 6391 'classes': [
3078 - 'e2pdf-w25 e2pdf-pr10',
3079 - 'e2pdf-w25 e2pdf-pr10',
3080 - 'e2pdf-w25 e2pdf-pr10',
3081 - 'e2pdf-w25',
6392 + 'e2pdf-w100',
6393 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6394 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6395 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6396 + 'e2pdf-w25 e2pdf-fnl',
6397 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6398 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6399 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6400 + 'e2pdf-w25 e2pdf-fnl',
6401 + 'e2pdf-w100',
6402 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6403 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6404 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6405 + 'e2pdf-w25 e2pdf-fnl',
3082 6406 'e2pdf-w100'
6407 + ]
6408 + };
6409 + obj['value'] = {
6410 + 'name': e2pdf.lang.get('Value'),
6411 + 'fields': [
6412 + e2pdf.properties.getField('value', el),
6413 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6414 + e2pdf.properties.getField('preg_pattern', el),
6415 + e2pdf.properties.getField('preg_replacement', el),
6416 + e2pdf.properties.getField('preg_match_all_pattern', el),
6417 + e2pdf.properties.getField('preg_match_all_output', el)
3083 6418 ],
6419 + 'position': 'bottom',
6420 + 'classes': [
6421 + 'e2pdf-w100 e2pdf-hide-label',
6422 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6423 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6424 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6425 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6426 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6427 + ]
3084 6428 };
3085 6429 }
3086 6430
3087 - // Padding
3088 - if (el.data('data-type') === 'e2pdf-html'
3089 - || el.data('data-type') === 'e2pdf-image'
3090 - || el.data('data-type') === 'e2pdf-signature'
3091 - ) {
3092 - obj['padding'] = {
3093 - 'name': e2pdfLang['Padding'],
6431 + if (el.data('data-type') === 'e2pdf-barcode') {
6432 + obj['barcode'] = {
6433 + 'name': e2pdf.lang.get('Barcode'),
3094 6434 'fields': [
6435 + e2pdf.properties.getField('text_color', el),
6436 + e2pdf.properties.getField('text_font', el),
6437 + e2pdf.properties.getField('text_font_size', el),
6438 + e2pdf.properties.getField('text_line_height', el),
6439 + e2pdf.properties.getField('color', el),
6440 + e2pdf.properties.getField('format', el),
6441 + e2pdf.properties.getField('wq', el),
6442 + e2pdf.properties.getField('horizontal', el),
6443 + e2pdf.properties.getField('vertical', el),
6444 + e2pdf.properties.getField('scale', el),
6445 + e2pdf.properties.getField('rotation', el),
6446 + e2pdf.properties.getField('dimension', el),
6447 + e2pdf.properties.getField('hl', el)
6448 + ],
6449 + 'position': 'left',
6450 + 'classes': [
6451 + 'e2pdf-w100',
6452 + 'e2pdf-w60 e2pdf-pr10',
6453 + 'e2pdf-w40',
6454 + 'e2pdf-w100',
6455 + 'e2pdf-w100',
6456 + 'e2pdf-w50',
6457 + 'e2pdf-w50 e2pdf-pl10',
6458 + 'e2pdf-w50',
6459 + 'e2pdf-w50 e2pdf-pl10',
6460 + 'e2pdf-w50',
6461 + 'e2pdf-w50 e2pdf-pl10',
6462 + 'e2pdf-pr10',
6463 + 'e2pdf-pr10'
6464 + ]
6465 + };
6466 + obj['style'] = {
6467 + 'name': e2pdf.lang.get('Style'),
6468 + 'fields': [
6469 + e2pdf.properties.getField('background', el),
6470 + e2pdf.properties.getField('margin_top', el),
6471 + e2pdf.properties.getField('margin_left', el),
6472 + e2pdf.properties.getField('margin_right', el),
6473 + e2pdf.properties.getField('margin_bottom', el),
3095 6474 e2pdf.properties.getField('padding_top', el),
3096 6475 e2pdf.properties.getField('padding_left', el),
3097 6476 e2pdf.properties.getField('padding_right', el),
3098 - e2pdf.properties.getField('padding_bottom', el)
6477 + e2pdf.properties.getField('padding_bottom', el),
6478 + e2pdf.properties.getField('border_color', el),
6479 + e2pdf.properties.getField('border_top', el),
6480 + e2pdf.properties.getField('border_left', el),
6481 + e2pdf.properties.getField('border_right', el),
6482 + e2pdf.properties.getField('border_bottom', el),
6483 + e2pdf.properties.getField('z_index', el)
3099 6484 ],
3100 6485 'position': 'right',
3101 6486 'classes': [
3102 - 'e2pdf-w25 e2pdf-pr10',
3103 - 'e2pdf-w25 e2pdf-pr10',
3104 - 'e2pdf-w25 e2pdf-pr10',
3105 - 'e2pdf-w25',
6487 + 'e2pdf-w100',
6488 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6489 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6490 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6491 + 'e2pdf-w25 e2pdf-fnl',
6492 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6493 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6494 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6495 + 'e2pdf-w25 e2pdf-fnl',
6496 + 'e2pdf-w100',
6497 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6498 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6499 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6500 + 'e2pdf-w25 e2pdf-fnl',
6501 + 'e2pdf-w100'
3106 6502 ]
3107 6503 };
3108 - }
3109 -
3110 - // Z-index
3111 - obj['z_index'] = {
3112 - 'name': e2pdfLang['Z-index'],
3113 - 'fields': [
3114 - e2pdf.properties.getField('z_index', el)
3115 - ],
3116 - 'position': el.data('data-type') === 'e2pdf-link' ? 'left' : 'right',
3117 - 'classes': [
3118 - 'e2pdf-w100 e2pdf-hide-label',
3119 - ]
3120 - };
3121 -
3122 - // Parent
3123 - if (el.data('data-type') === 'e2pdf-html') {
3124 - obj['parent'] = {
3125 - 'name': e2pdfLang['Parent'],
6504 + obj['value'] = {
6505 + 'name': e2pdf.lang.get('Value'),
3126 6506 'fields': [
3127 - e2pdf.properties.getField('parent', el),
6507 + e2pdf.properties.getField('value', el),
6508 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6509 + e2pdf.properties.getField('preg_pattern', el),
6510 + e2pdf.properties.getField('preg_replacement', el),
6511 + e2pdf.properties.getField('preg_match_all_pattern', el),
6512 + e2pdf.properties.getField('preg_match_all_output', el)
3128 6513 ],
3129 6514 'position': 'bottom',
3130 6515 'classes': [
3131 6516 'e2pdf-w100 e2pdf-hide-label',
3132 - ],
6517 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6518 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6519 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6520 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6521 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6522 + ]
3133 6523 };
3134 6524 }
3135 6525
3136 - if (el.data('data-type') === 'e2pdf-radio') {
3137 - obj['group'] = {
3138 - 'name': e2pdfLang['Group'],
6526 + if (el.data('data-type') === 'e2pdf-graph') {
6527 + obj['graph'] = {
6528 + 'name': e2pdf.lang.get('Graph'),
3139 6529 'fields': [
3140 - e2pdf.properties.getField('group', el),
6530 + e2pdf.properties.getField('g_type', el),
6531 + e2pdf.properties.getField('text_font', el),
6532 + e2pdf.properties.getField('g_palette', el),
6533 + e2pdf.properties.getField('g_stroke_colour', el),
6534 + e2pdf.properties.getField('g_stroke_width', el),
6535 + e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6536 + e2pdf.properties.getField('g_sort', el),
6537 + e2pdf.properties.getField('g_fill_under', el),
6538 + e2pdf.properties.getField('g_reverse', el),
6539 + e2pdf.properties.getField('g_percentage', el),
3141 6540 ],
6541 + 'position': 'left',
6542 + 'classes': [
6543 + 'e2pdf-w100',
6544 + 'e2pdf-w100',
6545 + 'e2pdf-w100',
6546 + 'e2pdf-w70 e2pdf-pr10',
6547 + 'e2pdf-w30',
6548 + 'e2pdf-pr10',
6549 + 'e2pdf-pr10',
6550 + 'e2pdf-pr10',
6551 + 'e2pdf-pr10',
6552 + 'e2pdf-pr10',
6553 + ]
6554 + };
6555 + obj['title'] = {
6556 + 'name': e2pdf.lang.get('Title'),
6557 + 'fields': [
6558 + e2pdf.properties.getField('g_graph_title_colour', el),
6559 + e2pdf.properties.getField('g_graph_title', el),
6560 + e2pdf.properties.getField('g_graph_title_font_size', el),
6561 + e2pdf.properties.getField('g_graph_title_position', el),
6562 + e2pdf.properties.getField('g_graph_title_space', el),
6563 + ],
6564 + 'position': 'left',
6565 + 'classes': [
6566 + 'e2pdf-w100',
6567 + 'e2pdf-w60 e2pdf-pr10',
6568 + 'e2pdf-w40',
6569 + 'e2pdf-w70 e2pdf-pr10',
6570 + 'e2pdf-w30',
6571 + ]
6572 + };
6573 + obj['labels'] = {
6574 + 'name': e2pdf.lang.get('Labels'),
6575 + 'fields': [
6576 + e2pdf.properties.getField('g_label_colour', el),
6577 + e2pdf.properties.getField('g_label_font_size', el),
6578 + e2pdf.properties.getField('g_label_space', el),
6579 + e2pdf.properties.getField('g_label_v', el),
6580 + e2pdf.properties.getField('g_label_h', el),
6581 + e2pdf.properties.getField('g_show_labels', el),
6582 + e2pdf.properties.getField('g_show_label_key', el),
6583 + e2pdf.properties.getField('g_show_label_amount', el),
6584 + e2pdf.properties.getField('g_show_label_percent', el),
6585 + ],
6586 + 'position': 'left',
6587 + 'classes': [
6588 + 'e2pdf-w100',
6589 + 'e2pdf-w70 e2pdf-pr10',
6590 + 'e2pdf-w30',
6591 + 'e2pdf-w50 e2pdf-pr10',
6592 + 'e2pdf-w50',
6593 + 'e2pdf-pr10',
6594 + 'e2pdf-pr10',
6595 + 'e2pdf-pr10',
6596 + 'e2pdf-pr10',
6597 + ]
6598 + };
6599 + obj['marker'] = {
6600 + 'name': e2pdf.lang.get('Markers'),
6601 + 'fields': [
6602 + e2pdf.properties.getField('g_marker_colour', el),
6603 + e2pdf.properties.getField('g_marker_size', el),
6604 + e2pdf.properties.getField('g_marker_dynamic_colour', el),
6605 + e2pdf.properties.getField('g_marker_type', el),
6606 + ],
6607 + 'position': 'left',
6608 + 'classes': [
6609 + 'e2pdf-w70 e2pdf-pr10',
6610 + 'e2pdf-w30',
6611 + 'e2pdf-w100',
6612 + 'e2pdf-w100'
6613 + ]
6614 + };
6615 + obj['legend'] = {
6616 + 'name': e2pdf.lang.get('Legend'),
6617 + 'fields': [
6618 + e2pdf.properties.getField('g_legend_back_colour', el),
6619 + e2pdf.properties.getField('g_legend_stroke_colour', el),
6620 + e2pdf.properties.getField('g_legend_stroke_width', el),
6621 + e2pdf.properties.getField('g_legend_entry_width', el),
6622 + e2pdf.properties.getField('g_legend_entry_height', el),
6623 + e2pdf.properties.getField('g_legend_padding_x', el),
6624 + e2pdf.properties.getField('g_legend_padding_y', el),
6625 + e2pdf.properties.getField('g_legend_colour', el),
6626 + e2pdf.properties.getField('g_legend_title', el),
6627 + e2pdf.properties.getField('g_legend_title_font_size', el),
6628 + e2pdf.properties.getField('g_legend_font_size', el),
6629 + e2pdf.properties.getField('g_legend_position_horizontal', el),
6630 + e2pdf.properties.getField('g_legend_position_vertical', el),
6631 + e2pdf.properties.getField('g_legend_position_join', el),
6632 + e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6633 + e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6634 + e2pdf.properties.getField('g_legend_text_side', el),
6635 + e2pdf.properties.getField('g_legend_columns', el),
6636 + e2pdf.properties.getField('g_show_legend', el),
6637 + ],
6638 + 'position': 'left',
6639 + 'classes': [
6640 + 'e2pdf-w100',
6641 + 'e2pdf-w60 e2pdf-pr10',
6642 + 'e2pdf-w40',
6643 + 'e2pdf-w50',
6644 + 'e2pdf-w50 e2pdf-pl10',
6645 + 'e2pdf-w50',
6646 + 'e2pdf-w50 e2pdf-pl10',
6647 + 'e2pdf-w100',
6648 + 'e2pdf-w70 e2pdf-pr10',
6649 + 'e2pdf-w30',
6650 + 'e2pdf-w100',
6651 + 'e2pdf-w33 e2pdf-pr10',
6652 + 'e2pdf-w33',
6653 + 'e2pdf-w33 e2pdf-pl10',
6654 + 'e2pdf-w50 e2pdf-pr10',
6655 + 'e2pdf-w50',
6656 + 'e2pdf-w70 e2pdf-pr10',
6657 + 'e2pdf-w30',
6658 + 'e2pdf-pr10'
6659 + ]
6660 + };
6661 + obj['additional'] = {
6662 + 'name': 'Additional',
6663 + 'fields': [
6664 + e2pdf.properties.getField('g_bubble_scale', el),
6665 + e2pdf.properties.getField('g_increment', el),
6666 + e2pdf.properties.getField('g_stack_group', el),
6667 + e2pdf.properties.getField('g_line_dataset', el),
6668 + e2pdf.properties.getField('g_project_angle', el),
6669 + e2pdf.properties.getField('g_line_curve', el),
6670 + e2pdf.properties.getField('g_depth', el),
6671 + e2pdf.properties.getField('g_aspect_ratio', el),
6672 + e2pdf.properties.getField('g_inner_radius', el),
6673 + e2pdf.properties.getField('g_start_angle', el),
6674 + e2pdf.properties.getField('g_fill_opacity', el)
6675 + ],
6676 + 'position': 'left',
6677 + 'classes': [
6678 + 'e2pdf-w50 e2pdf-pr10',
6679 + 'e2pdf-w50',
6680 + 'e2pdf-w50 e2pdf-pr10',
6681 + 'e2pdf-w50',
6682 + 'e2pdf-w50 e2pdf-pr10',
6683 + 'e2pdf-w50',
6684 + 'e2pdf-w50 e2pdf-pr10',
6685 + 'e2pdf-w50',
6686 + 'e2pdf-w50 e2pdf-pr10',
6687 + 'e2pdf-w50',
6688 + 'e2pdf-w50 e2pdf-pr10',
6689 + ]
6690 + };
6691 + obj['grid'] = {
6692 + 'name': e2pdf.lang.get('Grid'),
6693 + 'fields': [
6694 + e2pdf.properties.getField('g_grid_colour', el),
6695 + e2pdf.properties.getField('g_grid_subdivision_colour', el),
6696 + e2pdf.properties.getField('g_minimum_grid_spacing', el),
6697 + e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6698 + e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6699 + e2pdf.properties.getField('g_grid_dash', el),
6700 + e2pdf.properties.getField('g_grid_dash_h', el),
6701 + e2pdf.properties.getField('g_grid_dash_v', el),
6702 + e2pdf.properties.getField('g_grid_division_h', el),
6703 + e2pdf.properties.getField('g_grid_division_v', el),
6704 + e2pdf.properties.getField('g_show_grid', el),
6705 + e2pdf.properties.getField('g_show_grid_subdivisions', el),
6706 + e2pdf.properties.getField('g_grid_straight', el)
6707 + ],
6708 + 'position': 'right',
6709 + 'classes': [
6710 + 'e2pdf-w100',
6711 + 'e2pdf-w100',
6712 + 'e2pdf-w100',
6713 + 'e2pdf-w50 e2pdf-pr10',
6714 + 'e2pdf-w50',
6715 + 'e2pdf-w100',
6716 + 'e2pdf-w50 e2pdf-pr10',
6717 + 'e2pdf-w50',
6718 + 'e2pdf-w50 e2pdf-pr10',
6719 + 'e2pdf-w50',
6720 + 'e2pdf-pr10',
6721 + 'e2pdf-pr10',
6722 + 'e2pdf-pr10'
6723 + ]
6724 + };
6725 + obj['axis'] = {
6726 + 'name': e2pdf.lang.get('Axis'),
6727 + 'fields': [
6728 + e2pdf.properties.getField('g_axis_colour', el),
6729 + e2pdf.properties.getField('g_axis_font_size', el),
6730 + e2pdf.properties.getField('g_axis_overlap', el),
6731 + e2pdf.properties.getField('g_show_subdivisions', el),
6732 + ],
6733 + 'position': 'right',
6734 + 'classes': [
6735 + 'e2pdf-w60 e2pdf-pr10',
6736 + 'e2pdf-w40',
6737 + 'e2pdf-w100',
6738 + 'e2pdf-w50 e2pdf-pr10',
6739 + ]
6740 + };
6741 + obj['axis_v'] = {
6742 + 'name': e2pdf.lang.get('Axis (V)'),
6743 + 'fields': [
6744 + e2pdf.properties.getField('g_axis_colour_v', el),
6745 + e2pdf.properties.getField('g_axis_font_size_v', el),
6746 + e2pdf.properties.getField('g_axis_font_weight_v', el),
6747 + e2pdf.properties.getField('g_axis_stroke_width_v', el),
6748 + e2pdf.properties.getField('g_show_axis_v', el),
6749 + e2pdf.properties.getField('g_show_axis_text_v', el),
6750 + e2pdf.properties.getField('g_axis_min_v', el),
6751 + e2pdf.properties.getField('g_axis_max_v', el),
6752 + e2pdf.properties.getField('g_axis_min_max_v', el),
6753 + e2pdf.properties.getField('g_axis_text_position_v', el),
6754 + e2pdf.properties.getField('g_axis_text_align_v', el),
6755 + e2pdf.properties.getField('g_axis_text_space_v', el),
6756 + e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6757 + e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6758 + e2pdf.properties.getField('g_units_x', el),
6759 + ],
6760 + 'position': 'right',
6761 + 'classes': [
6762 + 'e2pdf-w60 e2pdf-pr10',
6763 + 'e2pdf-w40',
6764 + 'e2pdf-w100',
6765 + 'e2pdf-w33 e2pdf-pr10',
6766 + 'e2pdf-w33 e2pdf-sublabel',
6767 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6768 + 'e2pdf-w33 e2pdf-pr10',
6769 + 'e2pdf-w33',
6770 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6771 + 'e2pdf-w33 e2pdf-pr10',
6772 + 'e2pdf-w33',
6773 + 'e2pdf-w33 e2pdf-pl10',
6774 + 'e2pdf-w33 e2pdf-pr10',
6775 + 'e2pdf-w33',
6776 + 'e2pdf-w33 e2pdf-pl10',
6777 + ]
6778 + };
6779 + obj['axis_h'] = {
6780 + 'name': e2pdf.lang.get('Axis (H)'),
6781 + 'fields': [
6782 + e2pdf.properties.getField('g_axis_colour_h', el),
6783 + e2pdf.properties.getField('g_axis_font_size_h', el),
6784 + e2pdf.properties.getField('g_axis_font_weight_h', el),
6785 + e2pdf.properties.getField('g_axis_stroke_width_h', el),
6786 + e2pdf.properties.getField('g_show_axis_h', el),
6787 + e2pdf.properties.getField('g_show_axis_text_h', el),
6788 + e2pdf.properties.getField('g_axis_min_h', el),
6789 + e2pdf.properties.getField('g_axis_max_h', el),
6790 + e2pdf.properties.getField('g_axis_min_max_h', el),
6791 + e2pdf.properties.getField('g_axis_text_position_h', el),
6792 + e2pdf.properties.getField('g_axis_text_align_h', el),
6793 + e2pdf.properties.getField('g_axis_text_space_h', el),
6794 + e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6795 + e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6796 + e2pdf.properties.getField('g_units_y', el),
6797 + ],
6798 + 'position': 'right',
6799 + 'classes': [
6800 + 'e2pdf-w60 e2pdf-pr10',
6801 + 'e2pdf-w40',
6802 + 'e2pdf-w100',
6803 + 'e2pdf-w33 e2pdf-pr10',
6804 + 'e2pdf-w33 e2pdf-sublabel',
6805 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6806 + 'e2pdf-w33 e2pdf-pr10',
6807 + 'e2pdf-w33',
6808 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6809 + 'e2pdf-w33 e2pdf-pr10',
6810 + 'e2pdf-w33',
6811 + 'e2pdf-w33 e2pdf-pl10',
6812 + 'e2pdf-w33 e2pdf-pr10',
6813 + 'e2pdf-w33',
6814 + 'e2pdf-w33 e2pdf-pl10',
6815 + ]
6816 + };
6817 + obj['bar'] = {
6818 + 'name': 'Bar',
6819 + 'fields': [
6820 + e2pdf.properties.getField('g_bar_width', el),
6821 + e2pdf.properties.getField('g_bar_width_min', el),
6822 + e2pdf.properties.getField('g_bar_space', el),
6823 + ],
6824 + 'position': 'right',
6825 + 'classes': [
6826 + 'e2pdf-w33 e2pdf-pr10',
6827 + 'e2pdf-w33',
6828 + 'e2pdf-w33 e2pdf-pl10',
6829 + ]
6830 + };
6831 + obj['barlabel'] = {
6832 + 'name': 'Bar Label',
6833 + 'fields': [
6834 + e2pdf.properties.getField('g_bar_label_colour', el),
6835 + e2pdf.properties.getField('g_bar_label_font_size', el),
6836 + e2pdf.properties.getField('g_units_label', el),
6837 + e2pdf.properties.getField('g_data_label_type', el),
6838 + e2pdf.properties.getField('g_bar_label_space', el),
6839 + e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6840 + e2pdf.properties.getField('g_bar_label_position_vertical', el),
6841 + e2pdf.properties.getField('g_bar_label_position_join', el),
6842 + e2pdf.properties.getField('g_show_bar_labels', el),
6843 + ],
6844 + 'position': 'right',
6845 + 'classes': [
6846 + 'e2pdf-w70 e2pdf-pr10',
6847 + 'e2pdf-w30',
6848 + 'e2pdf-w100',
6849 + 'e2pdf-w50 e2pdf-pr10',
6850 + 'e2pdf-w50',
6851 + 'e2pdf-w33 e2pdf-pr10',
6852 + 'e2pdf-w33',
6853 + 'e2pdf-w33 e2pdf-pl10',
6854 + 'e2pdf-pr10',
6855 + ]
6856 + };
6857 + obj['style'] = {
6858 + 'name': e2pdf.lang.get('Style'),
6859 + 'fields': [
6860 + e2pdf.properties.getField('background', el),
6861 + e2pdf.properties.getField('margin_top', el),
6862 + e2pdf.properties.getField('margin_left', el),
6863 + e2pdf.properties.getField('margin_right', el),
6864 + e2pdf.properties.getField('margin_bottom', el),
6865 + e2pdf.properties.getField('padding_top', el),
6866 + e2pdf.properties.getField('padding_left', el),
6867 + e2pdf.properties.getField('padding_right', el),
6868 + e2pdf.properties.getField('padding_bottom', el),
6869 + e2pdf.properties.getField('border_color', el),
6870 + e2pdf.properties.getField('border_top', el),
6871 + e2pdf.properties.getField('border_left', el),
6872 + e2pdf.properties.getField('border_right', el),
6873 + e2pdf.properties.getField('border_bottom', el),
6874 + e2pdf.properties.getField('z_index', el),
6875 + ],
6876 + 'position': 'right',
6877 + 'classes': [
6878 + 'e2pdf-w100',
6879 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6880 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6881 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6882 + 'e2pdf-w25 e2pdf-fnl',
6883 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6884 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6885 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6886 + 'e2pdf-w25 e2pdf-fnl',
6887 + 'e2pdf-w100',
6888 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6889 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6890 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6891 + 'e2pdf-w25 e2pdf-fnl',
6892 + 'e2pdf-w100',
6893 + ]
6894 + };
6895 + obj['structure'] = {
6896 + 'name': e2pdf.lang.get('Structure'),
6897 + 'fields': [
6898 + e2pdf.properties.getField('g_structure_key', el),
6899 + e2pdf.properties.getField('g_structure_value', el),
6900 + e2pdf.properties.getField('g_structure_colour', el),
6901 + e2pdf.properties.getField('g_structure_axis_text', el),
6902 + e2pdf.properties.getField('g_structure_legend_text', el),
6903 + e2pdf.properties.getField('g_structure_label', el),
6904 + e2pdf.properties.getField('g_structure_area', el),
6905 + e2pdf.properties.getField('g_structure_open', el),
6906 + e2pdf.properties.getField('g_structure_end', el),
6907 + e2pdf.properties.getField('g_structure_outliers', el),
6908 + e2pdf.properties.getField('g_structure_top', el),
6909 + e2pdf.properties.getField('g_structure_bottom', el),
6910 + e2pdf.properties.getField('g_structure_wtop', el),
6911 + e2pdf.properties.getField('g_structure_wbottom', el),
6912 + e2pdf.properties.getField('g_structure_high', el),
6913 + e2pdf.properties.getField('g_structure_low', el),
6914 + e2pdf.properties.getField('g_structured_data', el),
6915 + ],
3142 6916 'position': 'bottom',
3143 6917 'classes': [
3144 - 'e2pdf-w100 e2pdf-hide-label',
6918 + 'e2pdf-w33 e2pdf-pr10',
6919 + 'e2pdf-w33',
6920 + 'e2pdf-w33 e2pdf-pl10',
6921 + 'e2pdf-w33 e2pdf-pr10',
6922 + 'e2pdf-w33',
6923 + 'e2pdf-w33 e2pdf-pl10',
6924 + 'e2pdf-w33 e2pdf-pr10',
6925 + 'e2pdf-w33',
6926 + 'e2pdf-w33 e2pdf-pl10',
6927 + 'e2pdf-w33 e2pdf-pr10',
6928 + 'e2pdf-w33',
6929 + 'e2pdf-w33 e2pdf-pl10',
6930 + 'e2pdf-w33 e2pdf-pr10',
6931 + 'e2pdf-w33',
6932 + 'e2pdf-w33 e2pdf-pl10',
6933 + 'e2pdf-w33 e2pdf-pr10',
6934 + 'e2pdf-w33 e2pdf-sublabel',
3145 6935 ]
3146 6936 };
3147 - }
3148 -
3149 - if (el.data('data-type') === 'e2pdf-radio'
3150 - || el.data('data-type') === 'e2pdf-checkbox'
3151 - ) {
3152 - obj['option'] = {
3153 - 'name': e2pdfLang['Option'],
6937 + obj['value'] = {
6938 + 'name': '',
3154 6939 'fields': [
3155 - e2pdf.properties.getField('option', el),
6940 + e2pdf.properties.getField('g_key_sep', el),
6941 + e2pdf.properties.getField('g_array_sep', el),
6942 + e2pdf.properties.getField('g_sub_array_sep', el),
6943 + e2pdf.properties.getField('g_axis_text_callback_y', el),
6944 + e2pdf.properties.getField('g_axis_text_callback_x', el),
6945 + e2pdf.properties.getField('g_legends', el),
6946 + e2pdf.properties.getField('g_colors', el),
6947 + e2pdf.properties.getField('value', el),
6948 + e2pdf.properties.getField('g_multiline', el),
6949 + e2pdf.properties.getField('g_reverse_data', el),
6950 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6951 + e2pdf.properties.getField('preg_pattern', el),
6952 + e2pdf.properties.getField('preg_replacement', el),
6953 + e2pdf.properties.getField('preg_match_all_pattern', el),
6954 + e2pdf.properties.getField('preg_match_all_output', el),
3156 6955 ],
3157 6956 'position': 'bottom',
3158 6957 'classes': [
3159 - 'e2pdf-w100 e2pdf-hide-label',
6958 + 'e2pdf-w33 e2pdf-pr10',
6959 + 'e2pdf-w33',
6960 + 'e2pdf-w33 e2pdf-pl10',
6961 + 'e2pdf-w50 e2pdf-pr10',
6962 + 'e2pdf-w50',
6963 + 'e2pdf-w50 e2pdf-pr10',
6964 + 'e2pdf-w50',
6965 + 'e2pdf-w100 e2pdf-strong-label',
6966 + 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6967 + 'e2pdf-w30 e2pdf-pr10',
6968 + 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6969 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6970 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6971 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6972 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
3160 6973 ]
3161 6974 };
3162 6975 }
3163 6976
3164 - // Options
3165 - if (el.data('data-type') === 'e2pdf-select') {
3166 - obj['options'] = {
3167 - 'name': e2pdfLang['Options'],
6977 + if (el.data('data-type') === 'e2pdf-rectangle') {
6978 + obj['style'] = {
6979 + 'name': e2pdf.lang.get('Style'),
3168 6980 'fields': [
3169 - e2pdf.properties.getField('options', el),
6981 + e2pdf.properties.getField('background', el),
6982 + e2pdf.properties.getField('z_index', el),
3170 6983 ],
3171 6984 'position': 'bottom',
3172 6985 'classes': [
3173 - 'e2pdf-w100 e2pdf-hide-label',
6986 + 'e2pdf-w50 e2pdf-pr10',
6987 + 'e2pdf-w50 e2pdf-pl10',
3174 6988 ]
3175 6989 };
3176 6990 }
3177 6991
3178 - // Value
3179 - if (el.data('data-type') === 'e2pdf-html'
3180 - || el.data('data-type') === 'e2pdf-input'
3181 - || el.data('data-type') === 'e2pdf-textarea'
3182 - || el.data('data-type') === 'e2pdf-radio'
3183 - || el.data('data-type') === 'e2pdf-checkbox'
3184 - || el.data('data-type') === 'e2pdf-select'
3185 - || el.data('data-type') === 'e2pdf-image'
3186 - || el.data('data-type') === 'e2pdf-link'
3187 - || el.data('data-type') === 'e2pdf-signature'
3188 - ) {
6992 + if (el.data('data-type') === 'e2pdf-link') {
6993 + obj['field'] = {
6994 + 'name': e2pdf.lang.get('Field'),
6995 + 'fields': [
6996 + e2pdf.properties.getField('text_color', el),
6997 + e2pdf.properties.getField('text_font', el),
6998 + e2pdf.properties.getField('text_font_size', el),
6999 + e2pdf.properties.getField('text_letter_spacing', el),
7000 + e2pdf.properties.getField('text_line_height', el),
7001 + e2pdf.properties.getField('text_align', el),
7002 + e2pdf.properties.getField('vertical', el),
7003 + e2pdf.properties.getField('rtl', el),
7004 + e2pdf.properties.getField('underline', el),
7005 + ],
7006 + 'position': 'left',
7007 + 'classes': [
7008 + 'e2pdf-w100',
7009 + 'e2pdf-w100',
7010 + 'e2pdf-w50',
7011 + 'e2pdf-w50 e2pdf-pl10',
7012 + 'e2pdf-w50',
7013 + 'e2pdf-w50 e2pdf-pl10',
7014 + 'e2pdf-w70',
7015 + 'e2pdf-w30 e2pdf-pl10',
7016 + 'e2pdf-w33'
7017 + ]
7018 + };
7019 + obj['style'] = {
7020 + 'name': e2pdf.lang.get('Style'),
7021 + 'fields': [
7022 + e2pdf.properties.getField('z_index', el)
7023 + ],
7024 + 'position': 'right',
7025 + 'classes': [
7026 + 'e2pdf-w100'
7027 + ]
7028 + };
3189 7029 obj['value'] = {
3190 - 'name': e2pdfLang['Value'],
7030 + 'name': e2pdf.lang.get('Value'),
3191 7031 'fields': [
7032 + e2pdf.properties.getField('link_label', el),
7033 + e2pdf.properties.getField('link_type', el),
7034 + e2pdf.properties.getField('highlight', el),
3192 7035 e2pdf.properties.getField('value', el),
7036 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
7037 + e2pdf.properties.getField('preg_pattern', el),
7038 + e2pdf.properties.getField('preg_replacement', el),
7039 + e2pdf.properties.getField('preg_match_all_pattern', el),
7040 + e2pdf.properties.getField('preg_match_all_output', el)
3193 7041 ],
3194 7042 'position': 'bottom',
3195 7043 'classes': [
3196 - 'e2pdf-w100 e2pdf-hide-label',
7044 + 'e2pdf-w50 e2pdf-pr10',
7045 + 'e2pdf-w25 e2pdf-pr10',
7046 + 'e2pdf-w25',
7047 + 'e2pdf-w100',
7048 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
7049 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7050 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
7051 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
7052 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
3197 7053 ]
3198 7054 };
3199 7055 }
3200 7056 }
3201 7057
3202 - if (actions) {
3203 - // actions
3204 - obj['actions'] = {
3205 - 'name': e2pdfLang['Actions'],
3206 - 'fields': e2pdf.actions.renderFields(el),
3207 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3208 - };
7058 + // tpl-properties
7059 + if (el.data('data-type') === 'e2pdf-tpl') {
7060 + if (actions) {
7061 + if (actions) {
7062 + obj['actions'] = {
7063 + 'name': e2pdf.lang.get('Actions'),
7064 + 'fields': e2pdf.actions.renderFields(el),
7065 + 'position': 'bottom'
7066 + };
7067 + }
7068 + } else {
7069 + obj['value'] = {
7070 + 'name': '',
7071 + 'fields': [
7072 + e2pdf.properties.getField('css', el),
7073 + ],
7074 + 'position': 'bottom',
7075 + 'classes': [
7076 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
7077 + ]
7078 + };
7079 + }
7080 + } else {
7081 + if (actions) {
7082 + obj['actions'] = {
7083 + 'name': e2pdf.lang.get('Actions'),
7084 + 'fields': e2pdf.actions.renderFields(el),
7085 + 'position': 'bottom'
7086 + };
7087 + }
3209 7088 }
3210 -
3211 7089 return obj;
3212 7090 },
3213 - //e2pdf.properties.renderFields
3214 - renderFields: function (el) {
3215 -
3216 - var actions = true;
7091 + // e2pdf.properties.renderFields
7092 + renderFields: function (el, actions = true) {
3217 7093 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3218 7094 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3219 7095 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3220 7096 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3221 7097 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3222 -
3223 - if (el.data('data-type') == 'e2pdf-page') {
7098 + if (el.data('data-type') == 'e2pdf-tpl') {
7099 + fields_top = '';
3224 7100 fields_left = '';
3225 7101 fields_right = '';
3226 - fields_bottom = '';
7102 + } else if (el.data('data-type') == 'e2pdf-page') {
7103 + fields_left = '';
7104 + fields_right = '';
3227 7105 }
3228 7106
3229 7107 var groups = e2pdf.properties.getFields(el, actions);
3230 7108 if (groups) {
3231 7109 for (var group_key in groups) {
3232 -
3233 7110 if (group_key === 'actions') {
3234 -
3235 7111 var group = groups[group_key];
3236 7112 var block = jQuery('<div>');
3237 7113 if (group.name) {
3238 7114 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3238,9 +7114,8 @@
3238 7114 block.append(jQuery('<label>').html(group.name + ':'));
3239 7115 }
3240 7116 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3241 7117 grid.append(group.fields);
3242 -
3243 7118 block.append(grid);
3244 7119 if (group.position === 'top') {
3245 7120 fields_top.append(block);
3246 7121 } else if (group.position === 'left') {
@@ -3249,11 +7124,9 @@
3249 7124 fields_right.append(block);
3250 7125 } else {
3251 7126 fields_bottom.append(block);
3252 7127 }
3253 -
3254 7128 } else {
3255 -
3256 7129 var group = groups[group_key];
3257 7130 var block = jQuery('<div>');
3258 7131 if (group.name) {
3259 7132 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3267,31 +7140,42 @@
3267 7140 if (group.classes[field_key]) {
3268 7141 classes = group.classes[field_key];
3269 7142 }
3270 7143 }
3271 -
3272 7144 var field = '';
3273 7145 var label = '';
3274 7146 var wrap = '';
7147 + var hidden = '';
3275 7148 if (group_field.type === 'text') {
3276 7149 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3277 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
7150 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3278 7151 } else if (group_field.type === 'hidden') {
3279 7152 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3280 7153 } else if (group_field.type === 'textarea') {
3281 7154 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3282 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
7155 + var rows = '5';
7156 + 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') {
7157 + rows = '3';
7158 + }
7159 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
3283 7160 } else if (group_field.type === 'checkbox') {
3284 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3285 - label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
7161 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7162 + label = group_field.name;
3286 7163 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3287 7164 if (group_field.value == group_field.option) {
3288 - field.attr('checked', 'checked');
7165 + field.prop('checked', true);
3289 7166 }
7167 + if (jQuery.inArray('keep', group_field.atts) !== -1) {
7168 + hidden = jQuery('<input>', {
7169 + type: 'hidden',
7170 + name: group_field.key,
7171 + value: '0'
7172 + });
7173 + }
3290 7174 } else if (group_field.type === 'color') {
3291 7175 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3292 7176 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3293 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
7177 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3294 7178 } else if (group_field.type === 'select') {
3295 7179 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3296 7180 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3297 7181 for (var option_key in group_field.options) {
@@ -3297,13 +7181,13 @@
3297 7181 for (var option_key in group_field.options) {
3298 7182 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3299 7183 }
3300 7184 field.val(group_field.value);
7185 + } else if (group_field.type === 'link') {
7186 + field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
3301 7187 }
3302 -
3303 7188 for (var att_key in group_field.atts) {
3304 7189 var att = group_field.atts[att_key];
3305 -
3306 7190 switch (att) {
3307 7191 case 'readonly':
3308 7192 field.attr('readonly', 'readonly');
3309 7193 break;
@@ -3312,10 +7196,12 @@
3312 7196 break;
3313 7197 case 'number':
3314 7198 field.addClass('e2pdf-numbers');
3315 7199 break;
7200 + case 'number-negative':
7201 + field.addClass('e2pdf-number-negative');
7202 + break;
3316 7203 case 'autocomplete':
3317 -
3318 7204 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3319 7205 field.addClass('e2pdf-autocomplete-cl');
3320 7206 field.autocomplete({
3321 7207 source: group_field.source,
@@ -3321,32 +7207,40 @@
3321 7207 source: group_field.source,
3322 7208 minLength: 0,
3323 7209 appendTo: wrap,
3324 7210 open: function () {
3325 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7211 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3326 7212 },
3327 7213 classes: {
3328 7214 "ui-autocomplete": "e2pdf-autocomplete"
3329 - },
7215 + }
3330 7216 });
3331 7217 break;
3332 -
3333 - case 'scale':
3334 - field.addClass('e2pdf-scale-field');
7218 + case 'collapse':
7219 + field.attr('data-collapse', group_field.collapse);
3335 7220 break;
3336 7221 }
3337 7222 }
3338 -
3339 -
3340 7223 if (!wrap) {
3341 7224 wrap = field;
3342 7225 } else {
3343 7226 wrap.prepend(field);
3344 7227 }
3345 -
3346 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7228 + if (group_field.type === 'checkbox') {
7229 + if (hidden) {
7230 + wrap.prepend(hidden);
7231 + }
7232 + wrap.append(" " + label);
7233 + if (classes.includes('e2pdf-sublabel')) {
7234 + var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7235 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7236 + } else {
7237 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7238 + }
7239 + } else {
7240 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7241 + }
3347 7242 }
3348 -
3349 7243 block.append(grid);
3350 7244 if (group.position === 'top') {
3351 7245 fields_top.append(block);
3352 7246 } else if (group.position === 'left') {
@@ -3358,72 +7252,94 @@
3358 7252 }
3359 7253 }
3360 7254 }
3361 7255 }
3362 -
3363 7256 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3364 7257 return fields;
3365 7258 },
3366 - //e2pdf.properties.apply
3367 - apply: function (el, data) {
7259 + // e2pdf.properties.apply
7260 + apply: function (el, data, onload) {
7261 + if (onload !== true) {
7262 + var groups = e2pdf.properties.getFields(el);
7263 + for (var group_key in groups) {
7264 + var group = groups[group_key];
7265 + for (var field_key in group.fields) {
7266 + var group_field = group.fields[field_key];
7267 + var property = group_field['key'];
7268 + if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7269 + switch (group_field['type']) {
7270 + case 'text':
7271 + if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7272 + delete data[property];
7273 + }
7274 + break;
7275 + case 'color':
7276 + case 'select':
7277 + case 'textarea':
7278 + if (!data[property]) {
7279 + delete data[property];
7280 + }
7281 + break;
7282 + }
7283 + }
7284 + }
7285 + }
7286 + }
3368 7287 el.data('data-properties', JSON.stringify(data));
3369 7288 },
3370 - //e2pdf.properties.set
7289 + // e2pdf.properties.set
3371 7290 set: function (el, key, value) {
3372 7291 var properties = e2pdf.properties.get(el);
3373 7292 properties[key] = value;
3374 7293 e2pdf.properties.apply(el, properties);
3375 7294 },
3376 - //e2pdf.properties.getValue
3377 - getValue: function (el, key) {
7295 + // e2pdf.properties.getValue
7296 + getValue: function (el, key, type = '') {
3378 7297 var properties = e2pdf.properties.get(el);
3379 - return properties[key];
7298 + if (type) {
7299 + if (type == 'string') {
7300 + return e2pdf.helper.getString(properties[key]);
7301 + } else if (type == 'checkbox') {
7302 + return e2pdf.helper.getCheckbox(properties[key]);
7303 + } else if (type == 'int') {
7304 + return e2pdf.helper.getInt(properties[key]);
7305 + } else if (type == 'float') {
7306 + return e2pdf.helper.getFloat(properties[key]);
7307 + } else {
7308 + return '';
7309 + }
7310 + } else if (properties.hasOwnProperty(key)) {
7311 + if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7312 + return e2pdf.helper.toHtml(properties[key]);
7313 + } else {
7314 + return properties[key];
7315 + }
7316 + } else {
7317 + return '';
7318 + }
3380 7319 },
3381 - //e2pdf.properties.get
3382 - get: function (el, submit) {
3383 -
7320 + // e2pdf.properties.get
7321 + get: function (el) {
3384 7322 var properties = [];
3385 -
3386 7323 if (typeof el.data('data-properties') !== 'undefined') {
3387 7324 properties = JSON.parse(el.data('data-properties'));
3388 -
3389 - if (el.data('data-type') !== 'e2pdf-page') {
3390 - if (!("width" in properties)) {
3391 - properties['width'] = parseFloat(el.css('width'));
3392 - }
3393 - if (!("height" in properties)) {
3394 - properties['height'] = parseFloat(el.css('height'));
3395 - }
3396 -
3397 - if (!("top" in properties)) {
3398 - properties['top'] = parseFloat(el.css('top'));
3399 - }
3400 -
3401 - if (!("left" in properties)) {
3402 - properties['left'] = parseFloat(el.css('left'));
3403 - }
3404 -
3405 - if (submit) {
3406 - delete properties['width'];
3407 - delete properties['height'];
3408 - delete properties['value'];
3409 - delete properties['top'];
3410 - delete properties['left'];
3411 - }
7325 + if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7326 + properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7327 + properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7328 + properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7329 + properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
3412 7330 }
3413 7331 }
3414 -
3415 7332 return properties;
3416 7333 },
3417 - //e2pdf.properties.render
7334 + // e2pdf.properties.render
3418 7335 render: function (el) {
3419 7336 var properties = e2pdf.properties.get(el);
3420 7337 var children = e2pdf.element.children(el);
3421 - if (properties.hasOwnProperty("options")) {
3422 - var property = "options";
7338 + if (properties.hasOwnProperty('options')) {
3423 7339 if (el.data('data-type') === 'e2pdf-select') {
3424 7340 children.find('option').remove();
3425 - var options = properties[property].split("\n");
7341 + var options = properties['options'].split("\n");
3426 7342 if (typeof options !== 'undefined' && options.length > 0) {
3427 7343 for (var key in options) {
3428 7344 children.append(
3429 7345 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3430,437 +7346,471 @@
3430 7346 );
3431 7347 }
3432 7348 }
3433 7349 }
3434 -
3435 7350 }
3436 -
3437 - // value render
3438 - if (properties.hasOwnProperty("value")) {
3439 - var property = "value";
3440 - if (el.data('data-type') === 'e2pdf-html') {
3441 - children.html(properties[property]);
3442 - } else if (el.data('data-type') === 'e2pdf-input') {
3443 - children.val(properties[property]);
3444 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3445 - children.val(properties[property]);
3446 - } else if (el.data('data-type') === 'e2pdf-select') {
3447 - children.val(properties[property]);
3448 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3449 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3450 - children.attr('checked', 'checked');
7351 + switch (el.data('data-type')) {
7352 + case 'e2pdf-html':
7353 + var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7354 + if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7355 + children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7356 + children = e2pdf.element.children(el);
7357 + } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7358 + children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7359 + children = e2pdf.element.children(el);
7360 + }
7361 + if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7362 + e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7363 + children.val(e2pdf.helper.getString(properties['value']));
3451 7364 } else {
3452 - children.attr('checked', false);
7365 + e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7366 + children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
3453 7367 }
3454 - } else if (el.data('data-type') === 'e2pdf-image') {
7368 + break;
7369 + case 'e2pdf-page-number':
7370 + children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7371 + break;
7372 + case 'e2pdf-link':
7373 + children.text(e2pdf.helper.getString(properties['link_label']));
7374 + break;
7375 + case 'e2pdf-input':
7376 + case 'e2pdf-textarea':
7377 + case 'e2pdf-select':
7378 + children.val(e2pdf.helper.getString(properties['value']));
7379 + break;
7380 + case 'e2pdf-checkbox':
7381 + if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7382 + children.prop('checked', true);
7383 + } else {
7384 + children.prop('checked', false);
7385 + }
7386 + break;
7387 + case 'e2pdf-radio':
7388 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7389 + var radio = jQuery(this).parent();
7390 + var radio_properties = e2pdf.properties.get(radio);
7391 + if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7392 + e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7393 + e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7394 + e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7395 + if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7396 + jQuery(this).prop('checked', true);
7397 + } else {
7398 + jQuery(this).prop('checked', false);
7399 + }
7400 + }
7401 + });
7402 + break;
7403 + case 'e2pdf-image':
7404 + case 'e2pdf-qrcode':
7405 + case 'e2pdf-barcode':
7406 + case 'e2pdf-signature':
7407 + case 'e2pdf-graph':
3455 7408 e2pdf.helper.image.load(el);
3456 - }
7409 + break;
3457 7410 }
3458 7411
3459 - if (properties.hasOwnProperty("group")) {
3460 - var property = "group";
3461 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3462 - var radio = jQuery(this).parent();
3463 - var group = e2pdf.properties.getValue(radio, 'group');
3464 - if (group === properties[property]) {
3465 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3466 - e2pdf.properties.set(radio, 'required', properties['required']);
3467 - e2pdf.properties.set(radio, 'value', properties['value']);
3468 - var option = e2pdf.properties.getValue(radio, 'option');
3469 - if (properties['value'] === option) {
3470 - jQuery(this).attr('checked', 'checked');
3471 - } else {
3472 - jQuery(this).attr('checked', false);
3473 - }
3474 - }
3475 - });
3476 - }
3477 -
3478 - // multiline
3479 7412 if (el.data('data-type') === 'e2pdf-select') {
3480 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3481 - var property = "multiline";
3482 - children.attr('multiple', true);
3483 - } else {
3484 - children.attr('multiple', false);
3485 - }
7413 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3486 7414 }
3487 7415
3488 - // z_index render
3489 - if (properties.hasOwnProperty("z_index")) {
3490 - var property = "z_index";
3491 - el.css('z-index', properties[property]);
7416 + if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7417 + children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
3492 7418 }
3493 7419
3494 - // rtl
3495 - if (el.data('data-type') === 'e2pdf-select'
3496 - || el.data('data-type') === 'e2pdf-input'
3497 - || el.data('data-type') === 'e2pdf-textarea'
3498 - || el.data('data-type') === 'e2pdf-html') {
3499 - if (properties.hasOwnProperty("rtl")) {
3500 - children.attr('dir', 'rtl');
7420 + el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7421 + if (el.data('data-type') === 'e2pdf-select' ||
7422 + el.data('data-type') === 'e2pdf-input' ||
7423 + el.data('data-type') === 'e2pdf-textarea' ||
7424 + el.data('data-type') === 'e2pdf-html' ||
7425 + el.data('data-type') === 'e2pdf-page-number') {
7426 + if (e2pdf.helper.getString(properties['rtl']) != '') {
7427 + children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
3501 7428 } else {
3502 7429 children.attr('dir', false);
3503 7430 }
7431 + }
3504 7432
7433 + if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7434 + children.css('background', e2pdf.helper.getString(properties['background']));
7435 + } else {
7436 + el.css('background', e2pdf.helper.getString(properties['background']));
3505 7437 }
3506 7438
3507 - // background render
3508 - if (properties.hasOwnProperty("background")) {
3509 - var property = "background";
3510 - if (el.data('data-type') === 'e2pdf-radio'
3511 - || el.data('data-type') === 'e2pdf-checkbox'
3512 - ) {
3513 - children.css('background', properties[property]);
3514 - } else {
3515 - el.css('background', properties[property]);
3516 - }
7439 + if (el.data('data-type') === 'e2pdf-input' ||
7440 + el.data('data-type') === 'e2pdf-textarea' ||
7441 + el.data('data-type') === 'e2pdf-select' ||
7442 + el.data('data-type') === 'e2pdf-radio' ||
7443 + el.data('data-type') === 'e2pdf-checkbox'
7444 + ) {
7445 + children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7446 + } else {
7447 + el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7448 + el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7449 + el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7450 + el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
3517 7451 }
3518 7452
3519 - if (properties.hasOwnProperty("border_top")) {
3520 - var property = "border_top";
3521 - // border_top render
3522 - if (properties[property] !== '0') {
3523 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3524 - } else {
3525 - el.css('border-top', '');
3526 - }
7453 + el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7454 + el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7455 + el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7456 + el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7457 + if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7458 + el.css('color', e2pdf.helper.getString(properties['text_color']));
7459 + } else if (el.data('data-type') === 'e2pdf-input' ||
7460 + el.data('data-type') === 'e2pdf-textarea' ||
7461 + el.data('data-type') === 'e2pdf-select' ||
7462 + el.data('data-type') === 'e2pdf-radio' ||
7463 + el.data('data-type') === 'e2pdf-checkbox'
7464 + ) {
7465 + children.css('color', e2pdf.helper.getString(properties['text_color']));
3527 7466 }
3528 7467
3529 - if (properties.hasOwnProperty("border_left")) {
3530 - var property = "border_left";
3531 - // border_left render
3532 - if (properties[property] !== '0') {
3533 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
7468 + var font = e2pdf.helper.getString(properties['text_font']);
7469 + if (font) {
7470 + var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7471 + if (typeof path === 'undefined') {
7472 + el.css('font-family', '');
3534 7473 } else {
3535 - el.css('border-left', '');
7474 + var tmp = jQuery('<div>', {'name': font, 'path': path});
7475 + e2pdf.font.load(tmp);
7476 + el.css('font-family', CSS.escape(font));
3536 7477 }
7478 + } else {
7479 + el.css('font-family', '');
3537 7480 }
3538 7481
7482 + el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7483 + el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7484 + children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7485 + if (el.data('data-type') === 'e2pdf-textarea') {
7486 + 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' : '');
7487 + } else {
7488 + 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' : '');
7489 + }
3539 7490
3540 - if (properties.hasOwnProperty("border_right")) {
3541 - var property = "border_right";
3542 - // border_right render
3543 - if (properties[property] !== '0') {
3544 - el.css('border-right', properties[property] + 'px solid ' + properties['border_color']);
7491 + if (el.closest('.e2pdf-page').length > 0) {
7492 + var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7493 + var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7494 + var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7495 + if (height > page_h) {
7496 + var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7497 + el.css('top', top + 'px');
3545 7498 } else {
3546 - el.css('border-right', '');
7499 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3547 7500 }
3548 - }
3549 7501
3550 - if (properties.hasOwnProperty("border_bottom")) {
3551 - var property = "border_bottom";
3552 - // border_bottom render
3553 - if (properties[property] !== '0') {
3554 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
7502 + var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7503 + if (width > page_w) {
7504 + var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7505 + el.css('left', left + "px");
3555 7506 } else {
3556 - el.css('border-bottom', '');
7507 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3557 7508 }
3558 - }
3559 7509
3560 - if (properties.hasOwnProperty("padding_top")) {
3561 - var property = "padding_top";
3562 - el.css('padding-top', properties[property] + 'px');
3563 - }
7510 + var width = e2pdf.helper.getFloat(properties['width']);
7511 + var left = e2pdf.helper.getFloat(el.css('left'));
7512 + if (width > 0) {
7513 + if (width > page_w - left) {
7514 + el.css('width', page_w - left);
7515 + e2pdf.properties.set(el, 'width', page_w - left);
7516 + } else {
7517 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7518 + }
7519 + }
3564 7520
3565 - if (properties.hasOwnProperty("padding_left")) {
3566 - var property = "padding_left";
3567 - el.css('padding-left', properties[property] + 'px');
7521 + var height = e2pdf.helper.getFloat(properties['height']);
7522 + var top = e2pdf.helper.getFloat(el.css('top'));
7523 + if (height > 0) {
7524 + if (height > page_h - top) {
7525 + el.css('height', page_h - top);
7526 + e2pdf.properties.set(el, 'height', page_h - top);
7527 + } else {
7528 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7529 + }
7530 + }
3568 7531 }
3569 7532
3570 - if (properties.hasOwnProperty("padding_right")) {
3571 - var property = "padding_right";
3572 - el.css('padding-right', properties[property] + 'px');
7533 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7534 + el.addClass('e2pdf-locked');
7535 + } else {
7536 + el.removeClass('e2pdf-locked');
3573 7537 }
7538 + }
3574 7539
3575 - if (properties.hasOwnProperty("padding_bottom")) {
3576 - var property = "padding_bottom";
3577 - el.css('padding-bottom', properties[property] + 'px');
3578 - }
3579 -
3580 - if (properties.hasOwnProperty("border")) {
3581 - var property = "border";
3582 - if (el.data('data-type') === 'e2pdf-input'
3583 - || el.data('data-type') === 'e2pdf-textarea'
3584 - || el.data('data-type') === 'e2pdf-select'
3585 - || el.data('data-type') === 'e2pdf-radio'
3586 - || el.data('data-type') === 'e2pdf-checkbox'
3587 - ) {
3588 - if (properties[property] !== '0') {
3589 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
7540 + },
7541 + // e2pdf.welcomeScreen
7542 + welcomeScreen: function () {
7543 + if (jQuery('.e2pdf-page').length === 0) {
7544 + var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7545 + e2pdf.dialog.create(el);
7546 + }
7547 + },
7548 + // e2pdf.createPdf
7549 + createPdf: function (el) {
7550 + var item = false;
7551 + var item1 = false;
7552 + var item2 = false;
7553 + var action = el.attr('data-action');
7554 + var data = e2pdf.form.serializeObject(el.closest('form'));
7555 + if (action !== 'upload') {
7556 + var disabled_settings = [
7557 + 'title', 'preset', 'font', 'font_size', 'line_height'
7558 + ];
7559 + for (var key in data) {
7560 + if (jQuery.inArray(key, disabled_settings) === -1) {
7561 + if (key == 'activated') {
7562 + e2pdf.pdf.settings.change(key, data[key]);
3590 7563 } else {
3591 - children.css('border', '');
7564 + e2pdf.pdf.settings.change(key, data[key]);
3592 7565 }
3593 7566 }
3594 - }
3595 7567
3596 - if (properties.hasOwnProperty("text_color")) {
3597 - var property = "text_color";
3598 - if (el.data('data-type') === 'e2pdf-html') {
3599 - el.css('color', properties[property]);
3600 - } else if (el.data('data-type') === 'e2pdf-input'
3601 - || el.data('data-type') === 'e2pdf-textarea'
3602 - || el.data('data-type') === 'e2pdf-select'
3603 - || el.data('data-type') === 'e2pdf-radio'
3604 - || el.data('data-type') === 'e2pdf-checkbox'
3605 - ) {
3606 - children.css('color', properties[property]);
7568 + if (key === 'font') {
7569 + jQuery('#e2pdf-font').val(data[key]);
3607 7570 }
3608 - }
3609 7571
3610 - if (properties.hasOwnProperty("text_font")) {
3611 - var property = "text_font";
3612 - if (properties[property] && properties[property] !== "") {
3613 - var path = jQuery('#e2pdf_wysiwyg_font').find("[value='" + properties[property] + "']").attr('path');
3614 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
3615 - e2pdf.font.load(tmp);
3616 - el.css('font-family', properties[property]);
3617 - } else {
3618 - el.css('font-family', '');
7572 + if (key === 'font_size') {
7573 + jQuery('#e2pdf-font-size').val(data[key]);
3619 7574 }
3620 - }
3621 7575
3622 - if (properties.hasOwnProperty("text_font_size")) {
3623 - var property = "text_font_size";
3624 - if (properties[property] !== '') {
3625 - el.css('font-size', properties[property] + "px");
3626 - } else {
3627 - el.css('font-size', '');
7576 + if (key === 'line_height') {
7577 + jQuery('#e2pdf-line-height').val(data[key]);
3628 7578 }
3629 - }
3630 7579
3631 - if (properties.hasOwnProperty("text_line_height")) {
3632 - var property = "text_line_height";
3633 - //backward compatiability with input
3634 - if (properties[property] !== '' && properties[property] !== '0') {
3635 - if (el.data('data-type') === 'e2pdf-textarea') {
3636 - children.css('line-height', properties[property] + "px");
3637 - } else {
3638 - el.css('line-height', properties[property] + "px");
3639 - }
3640 - } else {
3641 - if (el.data('data-type') === 'e2pdf-textarea') {
3642 - children.css('line-height', '');
3643 - } else {
3644 - el.css('line-height', '');
3645 - }
7580 + if (key === 'title') {
7581 + jQuery('#e2pdf-title').val(data[key]);
3646 7582 }
3647 - }
3648 7583
3649 - if (properties.hasOwnProperty("top")) {
3650 - var property = "top";
3651 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3652 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3653 - var top = page_height - parseFloat(el.css('height'));
3654 - el.css('top', top + "px");
3655 - } else if (properties[property] >= 0) {
3656 - el.css('top', properties[property] + "px");
7584 + if (key === 'text_align') {
7585 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
3657 7586 }
7587 +
7588 + if (key === 'rtl') {
7589 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7590 + }
3658 7591 }
3659 7592
3660 - if (properties.hasOwnProperty("left")) {
3661 - var property = "left";
3662 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3663 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3664 - var left = page_width - parseFloat(el.css('width'));
3665 - el.css('left', left + "px");
3666 - } else if (properties[property] >= 0) {
3667 - el.css('left', properties[property] + "px");
3668 - }
7593 + if (!data['rtl']) {
7594 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3669 7595 }
7596 + }
3670 7597
3671 - if (properties.hasOwnProperty("text_align")) {
3672 - var property = "text_align";
3673 - children.css('text-align', properties[property]);
7598 + if (action === 'apply') {
7599 + var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7600 + var height = parseFloat(el.closest('form').find('input[name="height"]').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');
3674 7604 }
3675 7605
3676 - // width render
3677 - if (properties.hasOwnProperty("width")) {
3678 - var property = "width";
3679 - var width = parseFloat(properties[property]);
3680 - var left = parseFloat(el.css('left'));
3681 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3682 - if (width > 0) {
3683 - if (width > page_width - left) {
3684 - el.css('width', page_width - left);
3685 - e2pdf.properties.set(el, 'width', page_width - left);
3686 - } else {
3687 - el.css('width', properties[property]);
7606 + if (item && item.id == '-1') {
7607 + if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7608 + return false;
7609 + }
7610 + el.attr('form-id', 'e2pdf-build-form');
7611 + el.attr('action', 'e2pdf_save_form');
7612 + e2pdf.static.unsaved = false;
7613 + e2pdf.request.submitForm(el);
7614 + return;
7615 + } else {
7616 + if (item && item.id == '-2') {
7617 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7618 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7619 + item1 = option1.data('data-item');
7620 + if (item1.id == '-1') {
7621 + item1 = false;
7622 + }
3688 7623 }
3689 - }
3690 - }
3691 7624
3692 - // height render
3693 - if (properties.hasOwnProperty("height")) {
3694 - var property = "height";
3695 - // height render
3696 - var height = parseFloat(properties[property]);
3697 - var top = parseFloat(el.css('top'));
3698 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3699 - if (height > 0) {
3700 - if (height > page_height - top) {
3701 - el.css('height', page_height - top);
3702 - e2pdf.properties.set(el, 'width', page_height - top);
3703 - } else {
3704 - el.css('height', properties[property]);
7625 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7626 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7627 + item2 = option2.data('data-item');
7628 + if (item2.id == '-1') {
7629 + item2 = false;
7630 + }
3705 7631 }
3706 7632 }
7633 +
7634 + e2pdf.pages.changeTplSize(width, height);
7635 + jQuery('.ui-dialog-content').dialog('close');
3707 7636 }
3708 - }
3709 - },
3710 - //e2pdf.welcomeScreen
3711 - welcomeScreen: function () {
3712 - if (jQuery('.e2pdf-page').length === 0) {
3713 - var el = jQuery('<div/>', {'data-modal': 'welcome-screen'});
3714 - e2pdf.dialog.create(el);
3715 - }
3716 - },
3717 - //e2pdf.createPdf
3718 - createPdf: function (el) {
3719 -
3720 - var action = el.attr('data-action');
3721 - var data = e2pdf.form.serializeObject(el.closest('form'));
3722 - for (var key in data) {
3723 - e2pdf.pdf.settings.change(key, data[key]);
3724 - }
3725 -
3726 - if (action === 'apply') {
3727 - var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3728 - var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3729 - e2pdf.pages.changeTplSize(width, height);
3730 - jQuery('.ui-dialog-content').dialog('close');
3731 7637 } else if (action === 'empty') {
3732 7638 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3733 7639 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7640 + var option = el.closest('form').find('.e2pdf-item option:selected');
7641 + if (option && typeof option.data('data-item') !== 'undefined') {
7642 + item = option.data('data-item');
7643 + if (item.id == '-1') {
7644 + item = false;
7645 + }
7646 + }
7647 + if (item && item.id == '-2') {
7648 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7649 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7650 + item1 = option1.data('data-item');
7651 + if (item1.id == '-1') {
7652 + item1 = false;
7653 + }
7654 + }
7655 +
7656 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7657 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7658 + item2 = option2.data('data-item');
7659 + if (item2.id == '-1') {
7660 + item2 = false;
7661 + }
7662 + }
7663 + }
3734 7664 e2pdf.pages.changeTplSize(width, height);
3735 7665 e2pdf.pages.createPage();
3736 7666 jQuery('.ui-dialog-content').dialog('close');
3737 7667 } else if (action === 'auto') {
3738 -
3739 - var extension = el.closest('form').find('#e2pdf-extension').val();
3740 - var item = el.closest('form').find('#e2pdf-item').val();
7668 + var extension = el.closest('form').find('.e2pdf-extension').val();
7669 + var option = el.closest('form').find('.e2pdf-item option:selected');
7670 + if (option && typeof option.data('data-item') !== 'undefined') {
7671 + item = option.data('data-item');
7672 + if (item.id == '-1') {
7673 + item = false;
7674 + }
7675 + }
7676 + if (item && item.id == '-2') {
7677 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7678 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7679 + item1 = option1.data('data-item');
7680 + if (item1.id == '-1') {
7681 + item1 = false;
7682 + }
7683 + }
7684 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7685 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7686 + item2 = option2.data('data-item');
7687 + if (item2.id == '-1') {
7688 + item2 = false;
7689 + }
7690 + }
7691 + }
3741 7692 var data = {};
3742 7693 data['extension'] = extension;
3743 - data['item'] = item;
7694 + data['item'] = item ? item.id : '';
7695 + data['item1'] = item1 ? item1.id : '';
7696 + data['item2'] = item2 ? item2.id : '';
7697 + data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7698 + data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
3744 7699 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3745 7700 } else if (action === 'upload') {
3746 7701 if (e2pdf.pdf.settings.get('ID')) {
3747 - if (!confirm(e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'])) {
7702 + if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
3748 7703 return false;
3749 7704 }
3750 7705 }
3751 - jQuery('#e2pdf-upload-pdf').click();
7706 + jQuery('.e2pdf-upload-pdf').click();
3752 7707 }
7708 + if (action === 'apply' || action === 'empty' || action === 'auto') {
7709 + var link = jQuery('<a>', {
7710 + 'href': 'javascript:void(0);',
7711 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7712 + 'data-modal': 'tpl-options'
7713 + }).html(e2pdf.lang.get('Not linked'));
7714 + if (item && item.id) {
7715 + if (item.id == '-2') {
7716 + if ((item1 && item1.id) || (item2 && item2.id)) {
7717 + var link = jQuery('<span>');
7718 + if (item1 && item1.id) {
7719 + link.append(jQuery('<a>', {
7720 + 'target': '_blank',
7721 + 'href': item1.url,
7722 + 'class': 'e2pdf-link'
7723 + }).html(item1.name));
7724 + }
7725 + if (item1 && item1.id && item2 && item2.id) {
7726 + link.append(' | ');
7727 + }
7728 + if (item2 && item2.id) {
7729 + link.append(jQuery('<a>', {
7730 + 'target': '_blank',
7731 + 'href': item2.url,
7732 + 'class': 'e2pdf-link'
7733 + }).html(item2.name));
7734 + }
7735 + link.removeClass('e2pdf-color-red');
7736 + }
7737 + } else {
7738 + link = jQuery('<a>', {
7739 + 'target': '_blank',
7740 + 'href': item.url,
7741 + 'class': 'e2pdf-link'
7742 + }).html(item.name);
7743 + link.removeClass('e2pdf-color-red');
7744 + }
7745 + }
7746 + jQuery('#e2pdf-post-item').html(link);
7747 + }
3753 7748
7749 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3754 7750 e2pdf.font.load(jQuery('#e2pdf-font'));
3755 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3756 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3757 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3758 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7751 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7752 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7753 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7754 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
3759 7755 e2pdf.event.fire('after.createPdf');
3760 7756 },
3761 - //e2pdf.pages
7757 + // e2pdf.pages
3762 7758 pages: {
3763 - //e2pdf.pages.rebuildPages
3764 - rebuildPages: function () {
3765 - jQuery('.e2pdf-page').each(function (index) {
3766 -
3767 - if (!e2pdf.pdf.settings.get('pdf')) {
3768 - if (index + 1 === 1) {
3769 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3770 - } else {
3771 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3772 - }
3773 -
3774 - if (index + 1 === jQuery('.e2pdf-page').length) {
3775 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3776 - } else {
3777 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3778 - }
7759 + // e2pdf.pages.initEvents
7760 + initEvents: function (page) {
7761 + page.off('contextmenu');
7762 + page.contextmenu(function (e) {
7763 + if (jQuery(e.target).hasClass('e2pdf-page')) {
7764 + e2pdf.contextMenu(e, page);
7765 + e.preventDefault();
3779 7766 }
3780 -
3781 - jQuery(this).attr('data-page_id', index + 1);
3782 7767 });
3783 - e2pdf.welcomeScreen();
3784 - },
3785 - //e2pdf.pages.createPage
3786 - createPage: function (page, properties, actions) {
3787 - e2pdf.pages.rebuildPages();
3788 - var newpage = true;
3789 - if (page) {
3790 - var newpage = false;
3791 - }
7768 + if (page.hasClass('ui-droppable')) {
7769 + try {
7770 + page.droppable('destroy');
7771 + page.removeData('ui-droppable');
7772 + } catch (e) {
3792 7773
3793 - if (!properties) {
3794 - var properties = {};
7774 + }
3795 7775 }
3796 -
3797 - if (!actions) {
3798 - var actions = {};
3799 - }
3800 -
3801 - if (newpage) {
3802 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
3803 - var page = jQuery('<div/>', {
3804 - 'class': 'e2pdf-page ui-droppable',
3805 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
3806 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
3807 - }).attr('data-page_id', page_id).append(
3808 - jQuery('<div>', {'class': 'page-options-icons'}).append(
3809 - jQuery('<a>', {
3810 - 'href': 'javascript:void(0);',
3811 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
3812 - }).append(
3813 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
3814 - ),
3815 - jQuery('<a>', {
3816 - 'href': 'javascript:void(0);',
3817 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
3818 - }).append(
3819 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
3820 - ),
3821 - jQuery('<a>', {
3822 - 'href': 'javascript:void(0);',
3823 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
3824 - 'data-modal': 'page-options'
3825 - }).append(
3826 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
3827 - ),
3828 - jQuery('<a>', {
3829 - 'href': 'javascript:void(0);',
3830 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
3831 - }).append(
3832 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
3833 - ),
3834 - ),
3835 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
3836 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
3837 - );
3838 - }
3839 -
3840 - page.data('data-type', 'e2pdf-page');
3841 -
3842 - e2pdf.properties.apply(page, properties);
3843 - e2pdf.actions.apply(page, actions);
3844 -
3845 7776 page.droppable({
3846 7777 over: function (ev, ui) {
3847 7778 e2pdf.static.drag.page = jQuery(this);
3848 7779 e2pdf.static.guide.guides = [];
7780 + 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())) {
7781 + jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7782 + jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7783 + var coeff = 1;
7784 + if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7785 + coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7786 + } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7787 + coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7788 + }
7789 + jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7790 + jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7791 + }
3849 7792
3850 7793 if (ui.draggable.hasClass('e2pdf-clone')) {
3851 - jQuery(this).find(".e2pdf-element").each(function () {
7794 + jQuery(this).find('.e2pdf-element').each(function () {
3852 7795 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
3853 7796 });
3854 7797 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
3855 7798 } else {
3856 - e2pdf.static.guide.guides = jQuery.map(jQuery(this).find(".e2pdf-element").not('.e2pdf-selected'), e2pdf.guide.calc);
7799 + e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
3857 7800 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
3858 7801 }
3859 7802 },
3860 - out: function (ev) {
7803 + out: function (ev, ui) {
3861 7804 e2pdf.static.drag.page = null;
3862 7805 e2pdf.static.guide.guides = [];
7806 + if (jQuery(ui.helper).data('original-width')) {
7807 + jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7808 + jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7809 + jQuery(ui.helper).removeData('original-width');
7810 + jQuery(ui.helper).removeData('original-height');
7811 + }
7812 +
3863 7813 },
3864 7814 deactivate: function (ev) {
3865 7815 e2pdf.static.drag.page = null;
3866 7816 e2pdf.static.guide.guides = [];
@@ -3869,13 +7819,12 @@
3869 7819 if (ui.draggable.hasClass('e2pdf-clone')) {
3870 7820 var type = jQuery(ui.draggable).attr('data-type');
3871 7821 var page = jQuery(this).closest('.e2pdf-page');
3872 7822 var pos = {
3873 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
3874 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
3875 - right: Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.zoom),
7823 + top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.scale - 1)),
7824 + left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.scale - 1)),
7825 + 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))
3876 7826 };
3877 -
3878 7827 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
3879 7828 return false;
3880 7829 }
3881 7830
@@ -3883,23 +7832,25 @@
3883 7832 properties['width'] = jQuery(ui.helper).css('width');
3884 7833 properties['height'] = jQuery(ui.helper).css('height');
3885 7834 properties['top'] = pos.top;
3886 7835 properties['left'] = pos.left;
3887 - properties['value'] = jQuery(ui.draggable).attr('data-value');
3888 - //changed
3889 7836 var el = e2pdf.element.create(type, page, properties, false, true);
3890 7837 jQuery(this).append(el);
3891 7838 e2pdf.properties.render(el);
7839 + var history = [];
7840 + history.push(el.clone(true));
7841 + e2pdf.history.set('element_create', history);
3892 7842 }
3893 7843 e2pdf.static.drag.page = null;
3894 7844 }
3895 7845 });
3896 - page.contextmenu(function (e) {
3897 - if (jQuery(e.target).hasClass('e2pdf-page')) {
3898 - e2pdf.contextMenu(e, page);
3899 - e.preventDefault();
7846 + if (page.hasClass('ui-selectable')) {
7847 + try {
7848 + page.selectable('destroy');
7849 + page.removeData('selectable');
7850 + } catch (e) {
3900 7851 }
3901 - });
7852 + }
3902 7853 page.selectable(
3903 7854 {
3904 7855 filter: '.e2pdf-element',
3905 7856 cancel: 'a,.e2pdf-element',
@@ -3904,21 +7855,114 @@
3904 7855 filter: '.e2pdf-element',
3905 7856 cancel: 'a,.e2pdf-element',
3906 7857 distance: 10,
3907 7858 selecting: function (event, ui) {
3908 - jQuery(ui.selecting).addClass('e2pdf-selected');
7859 + if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7860 + jQuery(ui.selecting).addClass('e2pdf-selected');
7861 + }
3909 7862 },
3910 7863 unselecting: function (event, ui) {
3911 7864 jQuery(ui.unselecting).removeClass('e2pdf-selected');
3912 7865 },
3913 7866 selected: function (event, ui) {
3914 - e2pdf.element.select(jQuery(ui.selected));
7867 + if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7868 + e2pdf.element.select(jQuery(ui.selected));
7869 + }
3915 7870 },
3916 7871 unselected: function (event, ui) {
3917 7872 e2pdf.element.unselect(jQuery(ui.unselected));
3918 7873 }
3919 - });
7874 + }
7875 + );
7876 + },
7877 + // e2pdf.pages.source
7878 + source: function (page_id) {
7879 + var page = jQuery('<div>', {
7880 + 'class': 'e2pdf-page ui-droppable',
7881 + 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7882 + 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7883 + 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7884 + 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7885 + }).attr('data-page_id', page_id).append(
7886 + jQuery('<div>', {'class': 'page-options-icons'}).append(
7887 + jQuery('<a>', {
7888 + 'href': 'javascript:void(0);',
7889 + 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7890 + }).append(
7891 + jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7892 + ),
7893 + jQuery('<a>', {
7894 + 'href': 'javascript:void(0);',
7895 + 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7896 + }).append(
7897 + jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7898 + ),
7899 + jQuery('<a>', {
7900 + 'href': 'javascript:void(0);',
7901 + 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7902 + 'data-modal': 'page-options'
7903 + }).append(
7904 + jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7905 + ),
7906 + jQuery('<a>', {
7907 + 'href': 'javascript:void(0);',
7908 + 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7909 + }).append(
7910 + jQuery('<i>', {'class': 'dashicons dashicons-no'})
7911 + )
7912 + ),
7913 + jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7914 + jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7915 + );
7916 + return page;
7917 + },
7918 + // e2pdf.pages.rebuildPages
7919 + rebuildPages: function () {
7920 + jQuery('.e2pdf-page').each(function (index) {
7921 + if (!e2pdf.pdf.settings.get('pdf')) {
7922 + if (index + 1 === 1) {
7923 + jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7924 + } else {
7925 + jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7926 + }
7927 +
7928 + if (index + 1 === jQuery('.e2pdf-page').length) {
7929 + jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7930 + } else {
7931 + jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7932 + }
7933 + }
7934 + jQuery(this).attr('data-page_id', index + 1);
7935 + });
7936 + e2pdf.welcomeScreen();
7937 + },
7938 + // e2pdf.pages.createPage
7939 + createPage: function (page, properties, actions, onload) {
7940 + e2pdf.pages.rebuildPages();
7941 + var newpage = true;
7942 + if (page) {
7943 + var newpage = false;
7944 + }
7945 + if (!properties) {
7946 + properties = {};
7947 + }
7948 + if (!actions) {
7949 + actions = {};
7950 + }
3920 7951 if (newpage) {
7952 + var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7953 + var page = e2pdf.pages.source(page_id);
7954 + }
7955 + page.data('data-type', 'e2pdf-page');
7956 + e2pdf.properties.apply(page, properties, onload);
7957 + e2pdf.actions.apply(page, actions);
7958 + e2pdf.pages.initEvents(page);
7959 + if (newpage) {
7960 + if (!onload) {
7961 + var history = [];
7962 + history.push(page.clone(true));
7963 + e2pdf.history.set('element_create', history);
7964 + }
3921 7965 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
3922 7966 e2pdf.pages.rebuildPages();
3923 7967 e2pdf.event.fire('after.pages.createPage.newpage');
3924 7968 return true;
@@ -3925,11 +7969,10 @@
3925 7969 } else {
3926 7970 return false;
3927 7971 }
3928 7972 },
3929 - //e2pdf.pages.movePage
7973 + // e2pdf.pages.movePage
3930 7974 movePage: function (el, direction) {
3931 -
3932 7975 if (e2pdf.pdf.settings.get('pdf')) {
3933 7976 return false;
3934 7977 }
3935 7978 if (direction === 'up') {
@@ -3936,26 +7979,22 @@
3936 7979 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
3937 7980 } else if (direction === 'down') {
3938 7981 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
3939 7982 }
3940 -
3941 7983 e2pdf.event.fire('after.pages.movePage');
3942 7984 e2pdf.pages.rebuildPages();
3943 7985 },
3944 - //e2pdf.pages.deletePage
7986 + // e2pdf.pages.deletePage
3945 7987 deletePage: function (el) {
3946 7988 el.closest('.e2pdf-page').remove();
3947 7989 e2pdf.event.fire('after.pages.deletePage');
3948 7990 e2pdf.pages.rebuildPages();
3949 7991 },
3950 - //e2pdf.pages.changeTplSize
7992 + // e2pdf.pages.changeTplSize
3951 7993 changeTplSize: function (width, height) {
3952 7994 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
3953 7995 },
3954 7996 changePageSize: function (el, width, height) {
3955 -
3956 - var set_width = true;
3957 - var set_height = true;
3958 7997 var prev_width = parseFloat(el.css('width'));
3959 7998 var prev_height = parseFloat(el.css('height'));
3960 7999 var width_diff = width / prev_width;
3961 8000 var height_diff = height / prev_height;
@@ -3961,51 +8000,42 @@
3961 8000 var height_diff = height / prev_height;
3962 8001 el.find(".e2pdf-element").each(function () {
3963 8002 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
3964 8003 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
3965 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
3966 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
3967 - if (scale === e2pdf.static.const.WIDTH) {
3968 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
3969 - set_height = false;
3970 - } else if (scale === e2pdf.static.const.HEIGHT) {
3971 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
3972 - set_width = false;
3973 - }
3974 - }
3975 -
3976 - if (set_width) {
8004 + 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'))) {
3977 8005 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
3978 - }
3979 -
3980 - if (set_height) {
8006 + jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
8007 + } else {
8008 + jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
3981 8009 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
3982 8010 }
3983 -
3984 8011 });
3985 8012 el.css('width', width);
3986 8013 el.css('height', height);
8014 + el.attr('data-width', width);
8015 + el.attr('data-height', height);
3987 8016 }
3988 8017 },
3989 - //e2pdf.contextMenu
8018 + // e2pdf.contextMenu
3990 8019 contextMenu: function (e, el) {
3991 8020 e2pdf.delete('.e2pdf-context');
3992 - var menu = jQuery('<div/>', {'class': 'e2pdf-context'});
8021 + jQuery('.e2pdf-page').css('z-index', '');
8022 + var menu = jQuery('<div>', {'class': 'e2pdf-context'});
3993 8023 if (el.hasClass('e2pdf-page')) {
3994 8024 var parent = el;
3995 - menu.append(jQuery('<ul/>', {'class': 'e2pdf-context-menu'}).append(
3996 - jQuery('<li/>').append(
3997 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste'])
8025 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8026 + menu.find('ul.e2pdf-context-menu').append(
8027 + jQuery('<li>').append(
8028 + 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'))
3998 8029 ),
3999 - jQuery('<li/>').append(
4000 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-pasteinplace e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste in Place'])
8030 + jQuery('<li>').append(
8031 + 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'))
8032 + ),
8033 + jQuery('<li>').append(
8034 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
4001 8035 )
4002 - ));
4003 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4004 - menu.find('a').attr('disabled', false);
4005 - }
8036 + );
4006 8037 } else {
4007 -
4008 8038 if (!el.hasClass('e2pdf-selected')) {
4009 8039 e2pdf.element.unselect();
4010 8040 e2pdf.element.select(el);
4011 8041 }
@@ -4010,642 +8040,1069 @@
4010 8040 e2pdf.element.select(el);
4011 8041 }
4012 8042
4013 8043 var parent = el.closest('.e2pdf-page');
4014 - menu.append(jQuery('<ul/>', {'class': 'e2pdf-context-menu'}).append(
4015 - jQuery('<li/>').append(
4016 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdfLang['Show'] : e2pdfLang['Hide'])
8044 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8045 + if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
8046 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
8047 + menu.find('ul.e2pdf-context-menu').append(
8048 + jQuery('<li>').append(
8049 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
8050 + ));
8051 + } else {
8052 + menu.find('ul.e2pdf-context-menu').append(
8053 + jQuery('<li>').append(
8054 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
8055 + ));
8056 + }
8057 + }
8058 +
8059 + 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')))) {
8060 + menu.find('ul.e2pdf-context-menu').append(
8061 + jQuery('<li>').append(
8062 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
8063 + ));
8064 + }
8065 +
8066 + menu.find('ul.e2pdf-context-menu').append(
8067 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8068 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8069 + ,
8070 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
8071 + jQuery('<li>').append(
8072 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
4017 8073 ),
4018 - jQuery('<li/>').append(
4019 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy'}).html(e2pdfLang['Copy'])
8074 + jQuery('<li>').append(
8075 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
4020 8076 ),
4021 - jQuery('<li/>').append(
4022 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdfLang['Cut'])
8077 + jQuery('<li>').append(
8078 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
4023 8079 ),
4024 - jQuery('<li/>').append(
4025 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete', }).html(e2pdfLang['Delete'])
8080 + jQuery('<li>').append(
8081 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8082 + )
8083 + )
4026 8084 ),
8085 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8086 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8087 + ,
8088 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
8089 + jQuery('<li>').append(
8090 + 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'))
8091 + ),
8092 + jQuery('<li>').append(
8093 + 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'))
8094 + ))
4027 8095 ));
4028 - if (Object.keys(e2pdf.element.selected).length == 1) {
8096 + menu.find('ul.e2pdf-context-menu').append(
8097 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8098 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8099 + ,
8100 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
8101 + jQuery('<li>').append(
8102 + 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'))
8103 + ))
8104 + ),
8105 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8106 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8107 + ,
8108 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
8109 + ),
8110 + jQuery('<li>').append(
8111 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
8112 + ),
8113 + jQuery('<li>').append(
8114 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
8115 + ),
8116 + jQuery('<li>').append(
8117 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
8118 + ));
8119 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
8120 + if (Object.keys(e2pdf.element.selected).length == 1) {
8121 + menu.find('ul.e2pdf-copy-menu').append(
8122 + jQuery('<li>').append(
8123 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8124 + ));
8125 + }
8126 + if (e2pdf.storage.get('style') !== null) {
8127 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8128 + menu.find('ul.e2pdf-paste-menu').append(
8129 + jQuery('<li>').append(
8130 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8131 + ));
8132 + }
8133 + }
4029 8134
4030 - menu.find('ul').append(
4031 - jQuery('<li/>').append(
4032 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4033 - ));
4034 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4035 - menu.find('ul').prepend(
4036 - jQuery('<li/>').append(
4037 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdfLang['Choose Image'])
8135 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8136 + if (Object.keys(e2pdf.element.selected).length == 1) {
8137 + menu.find('ul.e2pdf-copy-menu').append(
8138 + jQuery('<li>').append(
8139 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
4038 8140 ));
4039 8141 }
8142 + if (e2pdf.storage.get('width') != null) {
8143 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8144 + menu.find('ul.e2pdf-paste-menu').append(
8145 + jQuery('<li>').append(
8146 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8147 + ));
8148 + }
8149 + }
4040 8150
4041 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4042 - menu.find('ul').prepend(jQuery('<li/>').append(
4043 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdfLang['Map Field'])
8151 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8152 +
8153 + if (Object.keys(e2pdf.element.selected).length == 1) {
8154 + menu.find('ul.e2pdf-copy-menu').append(
8155 + jQuery('<li>').append(
8156 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
4044 8157 ));
4045 8158 }
4046 8159
8160 + if (e2pdf.storage.get('height') != null) {
8161 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8162 + menu.find('ul.e2pdf-paste-menu').append(
8163 + jQuery('<li>').append(
8164 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8165 + ));
8166 + }
4047 8167 }
8168 +
8169 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
8170 +
8171 + if (Object.keys(e2pdf.element.selected).length == 1) {
8172 + menu.find('ul.e2pdf-copy-menu').append(
8173 + jQuery('<li>').append(
8174 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8175 + ));
8176 + }
8177 +
8178 + if (e2pdf.storage.get('actions') !== null) {
8179 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8180 + menu.find('ul.e2pdf-paste-menu').append(
8181 + jQuery('<li>').append(
8182 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8183 + ));
8184 + }
8185 + }
8186 +
8187 + if (Object.keys(e2pdf.element.selected).length == 1) {
8188 + menu.find('ul.e2pdf-context-menu').append(
8189 + jQuery('<li>').append(
8190 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8191 + ));
8192 + }
4048 8193 }
4049 -
4050 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4051 - var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8194 + parent.css('z-index', '1');
8195 + menu.hide().appendTo(parent);
8196 + var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.scale;
8197 + 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())) {
8198 + pos_x = pos_x - (menu.width() / e2pdf.zoom.scale);
8199 + menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8200 + }
8201 + var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.scale;
8202 + 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())) {
8203 + pos_y = pos_y - (menu.height() / e2pdf.zoom.scale);
8204 + menu.addClass('e2pdf-context-bottom');
8205 + }
4052 8206 menu.css({top: pos_y + "px", left: pos_x + "px"});
4053 - menu.appendTo(parent);
8207 + menu.show();
4054 8208 },
4055 - //e2pdf.delete
8209 + // e2pdf.delete
4056 8210 delete: function (el) {
4057 8211 jQuery(el).remove();
4058 8212 },
4059 - //e2pdf.element
8213 + // e2pdf.element
4060 8214 element: {
4061 - //e2pdf.element.buffered
4062 - buffered: [],
4063 - //e2pdf.element.selected
8215 + // e2pdf.element.selected
4064 8216 selected: [],
4065 - //e2pdf.element.init
8217 + // e2pdf.element.init
4066 8218 init: function (el) {
4067 -
4068 8219 if (el.data('data-type') === 'e2pdf-html') {
4069 - e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8220 + if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8221 + e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8222 + } else {
8223 + e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8224 + }
4070 8225 } else if (el.data('data-type') === 'e2pdf-input') {
4071 8226 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4072 8227 } else if (el.data('data-type') === 'e2pdf-textarea') {
4073 8228 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4074 8229 }
4075 -
8230 + e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8231 + e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8232 + e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
4076 8233 },
4077 - //e2pdf.element.create
4078 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4079 -
4080 - var aspect = false;
4081 - var min_height = 10;
4082 - if (!properties) {
4083 - var properties = {};
8234 + // e2pdf.element.initEvents
8235 + initEvents: function (element, page) {
8236 + var min_width = 2;
8237 + var min_height = 2;
8238 + if (element.data('data-type') == 'e2pdf-rectangle') {
8239 + min_height = 1;
8240 + min_width = 1;
4084 8241 }
4085 -
4086 - if (!actions) {
4087 - var actions = {};
8242 + if (!page) {
8243 + page = element.closest('.e2pdf-page');
4088 8244 }
8245 + element.off('contextmenu');
8246 + element.contextmenu(function (e) {
8247 + e2pdf.contextMenu(e, element);
8248 + e.preventDefault();
8249 + });
8250 + if (element.hasClass('ui-draggable')) {
8251 + try {
8252 + element.draggable('destroy');
8253 + element.removeData('ui-draggable');
8254 + } catch (e) {
4089 8255
4090 - if (!properties['value']) {
4091 - properties['value'] = '';
4092 - }
4093 -
4094 - // Switch element types
4095 - if (type === 'e2pdf-html') {
4096 -
4097 - if (!properties['width']) {
4098 - properties['width'] = '200';
4099 8256 }
4100 -
4101 - if (!properties['height']) {
4102 - properties['height'] = '22';
4103 - }
4104 -
4105 -
4106 - var element =
4107 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4108 - jQuery('<div/>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4109 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4110 - );
4111 - } else if (type === 'e2pdf-input') {
4112 -
4113 - if (!properties['width']) {
4114 - properties['width'] = '200';
4115 - }
4116 -
4117 - if (!properties['height']) {
4118 - properties['height'] = '22';
4119 - }
4120 -
4121 - var element =
4122 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4123 - jQuery('<input/>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4124 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4125 - );
4126 - } else if (type === 'e2pdf-textarea') {
4127 -
4128 - if (!properties['width']) {
4129 - properties['width'] = '200';
4130 - }
4131 -
4132 - if (!properties['height']) {
4133 - properties['height'] = '100';
4134 - }
4135 -
4136 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4137 - jQuery('<textarea/>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4138 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4139 - );
4140 - } else if (type === 'e2pdf-checkbox') {
4141 -
4142 - if (!properties['width']) {
4143 - properties['width'] = '16';
4144 - }
4145 -
4146 - if (!properties['height']) {
4147 - properties['height'] = '16';
4148 - }
4149 -
4150 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4151 - jQuery('<input/>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4152 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4153 - );
4154 - } else if (type === 'e2pdf-radio') {
4155 -
4156 - if (!properties['width']) {
4157 - properties['width'] = '16';
4158 - }
4159 -
4160 - if (!properties['height']) {
4161 - properties['height'] = '16';
4162 - }
4163 -
4164 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4165 - jQuery('<input/>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4166 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4167 - );
4168 - var aspect = false;
4169 - } else if (type === 'e2pdf-select') {
4170 -
4171 - if (!properties['width']) {
4172 - properties['width'] = '200';
4173 - }
4174 -
4175 - if (!properties['height']) {
4176 - properties['height'] = '22';
4177 - }
4178 -
4179 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4180 - jQuery('<select/>', {'class': 'e2pdf-select'}).append(
4181 - ),
4182 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4183 - );
4184 - } else if (type === 'e2pdf-image') {
4185 -
4186 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4187 - jQuery('<img/>', {'class': 'e2pdf-image'}),
4188 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4189 - );
4190 - } else if (type === 'e2pdf-rectangle') {
4191 -
4192 - if (!properties['width']) {
4193 - properties['width'] = '200';
4194 - }
4195 -
4196 - if (!properties['height']) {
4197 - properties['height'] = '5';
4198 - }
4199 -
4200 - var min_height = 1;
4201 - var element =
4202 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4203 - jQuery('<div/>', {'class': 'content e2pdf-rectangle'}),
4204 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4205 - );
4206 - } else if (type === 'e2pdf-link') {
4207 -
4208 - if (!properties['width']) {
4209 - properties['width'] = '200';
4210 - }
4211 -
4212 - if (!properties['height']) {
4213 - properties['height'] = '22';
4214 - }
4215 -
4216 - var min_height = 1;
4217 - var element =
4218 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4219 - jQuery('<div/>', {'class': 'content e2pdf-link'}),
4220 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4221 - );
4222 - } else if (type === 'e2pdf-signature') {
4223 -
4224 - if (!properties['width']) {
4225 - properties['width'] = '200';
4226 - }
4227 -
4228 - if (!properties['height']) {
4229 - properties['height'] = '22';
4230 - }
4231 -
4232 - if (!properties['dimension']) {
4233 - if (default_properties) {
4234 - properties['dimension'] = '1';
4235 - }
4236 - }
4237 -
4238 - var min_height = 1;
4239 - var element =
4240 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4241 - jQuery('<div/>', {'class': 'content e2pdf-signature'}),
4242 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4243 - );
4244 8257 }
4245 -
4246 - // If element exists
4247 - if (typeof element !== "undefined") {
4248 - element.contextmenu(function (e) {
4249 - e2pdf.contextMenu(e, element);
4250 - e.preventDefault();
4251 - });
4252 - if (!element_id) {
4253 - var last_id = 0;
4254 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4255 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4256 - if (num_id > last_id) {
4257 - last_id = num_id;
8258 + element.draggable({
8259 + cancel: '.no-drag',
8260 + handle: '.e2pdf-drag',
8261 + containment: jQuery(page),
8262 + stop: function (ev, ui) {
8263 + var page = jQuery(this).closest('.e2pdf-page');
8264 + for (var key in e2pdf.element.selected) {
8265 + var selected = e2pdf.element.selected[key];
8266 + if (selected.hasClass('e2pdf-width-auto')) {
8267 + selected.css({'width': 'auto'});
4258 8268 }
4259 - });
4260 - element_id = parseInt(last_id + 1);
4261 - }
4262 - element.addClass('e2pdf-element');
4263 - element.attr('data-element_id', element_id);
4264 - if (type === 'e2pdf-select') {
4265 - if (!properties['options']) {
4266 - if (default_properties) {
4267 - properties['options'] = '';
8269 + if (selected.hasClass('e2pdf-height-auto')) {
8270 + selected.css({'height': 'auto'});
4268 8271 }
8272 + e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8273 + e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
4269 8274 }
4270 - }
4271 -
4272 - if (!properties['z_index']) {
4273 - properties['z_index'] = 0;
4274 - }
4275 -
4276 - if (type === 'e2pdf-input'
4277 - || type === 'e2pdf-textarea'
4278 - || type === 'e2pdf-select'
4279 - || type === 'e2pdf-radio'
4280 - || type === 'e2pdf-checkbox'
4281 - ) {
4282 - if (!properties['border']) {
4283 - if (default_properties) {
4284 - properties['border'] = 1;
8275 + jQuery('.page-options-icons').css('z-index', '');
8276 + e2pdf.event.fire('after.element.moved');
8277 + e2pdf.element.unselect();
8278 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8279 + },
8280 + drag: function (ev, ui) {
8281 + var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.scale;
8282 + var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.scale;
8283 + left = Math.min(left, e2pdf.static.drag.max_left);
8284 + top = Math.min(top, e2pdf.static.drag.max_top);
8285 + ui.position = {
8286 + left: Math.max(e2pdf.static.drag.min_left, left),
8287 + top: Math.max(e2pdf.static.drag.min_top, top)
8288 + };
8289 + var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8290 + var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8291 + for (var key in e2pdf.element.selected) {
8292 + var selected = e2pdf.element.selected[key];
8293 + if (!selected.is(jQuery(this))) {
8294 + selected.finish().animate({
8295 + left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8296 + top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8297 + }, 0);
4285 8298 }
4286 8299 }
4287 - }
4288 -
4289 - if (type === 'e2pdf-image'
4290 - || type === 'e2pdf-signature') {
4291 - if (!properties['scale']) {
4292 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4293 - }
4294 - if (!properties['horizontal']) {
4295 - properties['horizontal'] = 'left';
4296 - }
4297 - if (!properties['vertical']) {
4298 - properties['vertical'] = 'bottom';
4299 - }
4300 - }
4301 -
4302 - if (type === 'e2pdf-html'
4303 - || type === 'e2pdf-image'
4304 - || type === 'e2pdf-signature'
4305 - ) {
4306 -
4307 - if (!properties['border_top']) {
4308 - properties['border_top'] = 0;
4309 - }
4310 -
4311 - if (!properties['border_left']) {
4312 - properties['border_left'] = 0;
4313 - }
4314 -
4315 - if (!properties['border_right']) {
4316 - properties['border_right'] = 0;
4317 - }
4318 -
4319 - if (!properties['border_bottom']) {
4320 - properties['border_bottom'] = 0;
4321 - }
4322 -
4323 - if (!properties['padding_top']) {
4324 - properties['padding_top'] = 0;
4325 - }
4326 -
4327 - if (!properties['padding_left']) {
4328 - properties['padding_left'] = 0;
4329 - }
4330 -
4331 - if (!properties['padding_right']) {
4332 - properties['padding_right'] = 0;
4333 - }
4334 -
4335 - if (!properties['padding_bottom']) {
4336 - properties['padding_bottom'] = 0;
4337 - }
4338 - }
4339 -
4340 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4341 - if (!properties['length']) {
4342 - properties['length'] = 0;
4343 - }
4344 - }
4345 -
4346 - if (type !== 'e2pdf-rectangle') {
4347 - if (!properties['border_color']) {
4348 - properties['border_color'] = '';
4349 - if (default_properties && (type === 'e2pdf-input'
4350 - || type === 'e2pdf-textarea'
4351 - || type === 'e2pdf-select'
4352 - || type === 'e2pdf-radio'
4353 - || type === 'e2pdf-checkbox'
4354 - )
4355 - ) {
4356 - properties['border_color'] = '#000000';
8300 + var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8301 + var w = parseFloat(jQuery(this).css('width'));
8302 + var h = parseFloat(jQuery(this).css('height'));
8303 + var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8304 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8305 + jQuery.each(el_guides, function (i, elemGuide) {
8306 + if (guide.type == elemGuide.type) {
8307 + var prop = guide.type == "h" ? "top" : "left";
8308 + var d = Math.abs(elemGuide[prop] - guide[prop]);
8309 + if (d < guides[prop].dist) {
8310 + guides[prop].dist = d;
8311 + guides[prop].offset = elemGuide[prop] - ui.position[prop];
8312 + guides[prop].guide = guide;
8313 + }
8314 + }
8315 + });
8316 + });
8317 + if (guides.top.dist <= e2pdf.static.guide.distance) {
8318 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8319 + var snap_top = guides.top.guide.top - guides.top.offset;
8320 + if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8321 + ui.position.top = snap_top;
8322 + var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8323 + for (var key in e2pdf.element.selected) {
8324 + var selected = e2pdf.element.selected[key];
8325 + if (!selected.is(jQuery(this))) {
8326 + selected.finish().animate({
8327 + top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8328 + }, 0);
8329 + }
8330 + }
4357 8331 }
8332 + } else {
8333 + jQuery('.e2pdf-guide-h').hide();
4358 8334 }
4359 - }
4360 -
4361 - if (type !== 'e2pdf-image') {
4362 -
4363 - if (!properties['text_color']) {
4364 - properties['text_color'] = '';
4365 - }
4366 -
4367 - if (!properties['text_font']) {
4368 - properties['text_font'] = '';
4369 - }
4370 -
4371 - if (!properties['text_font_size']) {
4372 - properties['text_font_size'] = '';
4373 - }
4374 -
4375 - if (!properties['text_line_height']) {
4376 - properties['text_line_height'] = '';
4377 - }
4378 - }
4379 -
4380 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4381 - if (!properties['option']) {
4382 - if (default_properties) {
4383 - properties['option'] = "option" + element_id;
8335 + if (guides.left.dist <= e2pdf.static.guide.distance) {
8336 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8337 + var snap_left = guides.left.guide.left - guides.left.offset;
8338 + if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8339 + ui.position.left = snap_left;
8340 + var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8341 + for (var key in e2pdf.element.selected) {
8342 + var selected = e2pdf.element.selected[key];
8343 + if (!selected.is(jQuery(this))) {
8344 + selected.finish().animate({
8345 + left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8346 + }, 0);
8347 + }
8348 + }
4384 8349 }
8350 + } else {
8351 + jQuery('.e2pdf-guide-v').hide();
4385 8352 }
4386 -
4387 - if (!properties['text_type']) {
4388 - if (default_properties) {
4389 - if (type === 'e2pdf-radio') {
4390 - properties['text_type'] = 'circle';
4391 - } else if (type === 'e2pdf-checkbox') {
4392 - properties['text_type'] = 'check';
4393 - }
4394 - }
8353 + },
8354 + start: function (ev, ui) {
8355 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8356 + return false;
4395 8357 }
4396 - }
4397 -
4398 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4399 - if (!properties['text_align']) {
4400 - if (default_properties) {
4401 - properties['text_align'] = 'left';
8358 + e2pdf.element.select(jQuery(this));
8359 + e2pdf.static.drag.min_left = 0;
8360 + e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8361 + e2pdf.static.drag.min_top = 0;
8362 + e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8363 + var history = [];
8364 + for (var key in e2pdf.element.selected) {
8365 + var selected = e2pdf.element.selected[key];
8366 + history.push(selected.clone(true));
8367 + if (selected.hasClass('e2pdf-width-auto')) {
8368 + selected.css({"width": "auto"});
4402 8369 }
4403 - }
4404 - }
4405 -
4406 - if (type === 'e2pdf-radio') {
4407 - if (!properties['group']) {
4408 - if (default_properties) {
4409 - properties['group'] = "group";
8370 + if (selected.hasClass('e2pdf-height-auto')) {
8371 + selected.css({"height": "auto"});
4410 8372 }
8373 + var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8374 + var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8375 + var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8376 + var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8377 + var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8378 + var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8379 + var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8380 + var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8381 + 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);
8382 + 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);
8383 + 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);
8384 + 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);
4411 8385 }
8386 + e2pdf.history.set('element_change', history);
8387 + e2pdf.zoom.click.x = ev.clientX;
8388 + e2pdf.zoom.click.y = ev.clientY;
8389 + jQuery('.page-options-icons').css('z-index', -1);
4412 8390 }
8391 + });
8392 + if (element.hasClass('e2pdf-resizable')) {
8393 + if (element.hasClass('ui-resizable')) {
8394 + try {
8395 + element.resizable('destroy');
8396 + element.removeData('ui-resizable');
8397 + } catch (e) {
4413 8398
4414 - element.data('data-type', type);
4415 - if (properties['width']) {
4416 - element.css({"width": properties['width']});
4417 - }
4418 -
4419 - if (properties['height']) {
4420 - element.css({"height": properties['height']});
4421 - }
4422 -
4423 - if (type === 'e2pdf-rectangle') {
4424 - if (!properties['background']) {
4425 - if (default_properties) {
4426 - properties['background'] = '#000000';
4427 - }
4428 8399 }
4429 8400 }
4430 -
4431 - if (properties['top'] && properties['left']) {
4432 - element.css({"top": properties['top'], "left": properties['left']});
4433 - }
4434 -
4435 - element.css({"position": "absolute"});
4436 - e2pdf.properties.apply(element, properties);
4437 - e2pdf.actions.apply(element, actions);
4438 - // If element draggable
4439 - element.draggable({
4440 - cancel: '.no-drag',
4441 - handle: ".e2pdf-drag",
4442 - containment: jQuery(page),
4443 - stop: function (ev, ui) {
4444 -
4445 - var page = jQuery(this).closest('.e2pdf-page');
4446 - for (var key in e2pdf.element.selected) {
4447 - var selected = e2pdf.element.selected[key];
4448 - if (selected.hasClass('e2pdf-width-auto')) {
4449 - selected.css({'width': 'auto'});
8401 + element.resizable({
8402 + handles: 'n, e, s, w, ne, se, sw, nw',
8403 + aspectRatio: false,
8404 + minHeight: min_height,
8405 + minWidth: min_width,
8406 + start: function (ev, ui) {
8407 + var _process = function (el, resize) {
8408 + var left = e2pdf.helper.getFloat(el.css('left'));
8409 + var top = e2pdf.helper.getFloat(el.css('top'));
8410 + var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8411 + var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8412 + var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8413 + var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8414 + var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8415 + var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8416 + var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8417 + var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8418 + var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8419 + var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8420 + var width = e2pdf.helper.getFloat(el.css('width'));
8421 + var height = e2pdf.helper.getFloat(el.css('height'));
8422 + el.resizable("option", "maxWidth", page_width - left);
8423 + el.resizable("option", "maxHeight", page_height - top);
8424 + if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8425 + el.resizable("option", "maxWidth", left + width);
8426 + } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8427 + el.resizable("option", "maxHeight", top + height);
8428 + } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8429 + el.resizable("option", "maxWidth", left + width);
8430 + el.resizable("option", "maxHeight", top + height);
4450 8431 }
4451 - if (selected.hasClass('e2pdf-height-auto')) {
4452 - selected.css({'height': 'auto'});
8432 + if (resize) {
8433 + ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8434 + ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4453 8435 }
4454 -
4455 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.convertPxToFloat(selected.css('top'))));
4456 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.convertPxToFloat(selected.css('left'))));
4457 - }
4458 -
4459 - jQuery('.page-options-icons').css('z-index', '');
4460 - e2pdf.event.fire('after.element.moved');
4461 - e2pdf.element.unselect();
4462 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
8436 + };
8437 + _process(jQuery(this), true);
8438 + e2pdf.zoom.click.x = ev.clientX;
8439 + e2pdf.zoom.click.y = ev.clientY;
8440 + var history = [];
8441 + history.push(jQuery(this).clone(true));
8442 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8443 + var selected = jQuery(this);
8444 + history.push(selected.clone(true));
8445 + var width = e2pdf.helper.getFloat(selected.css('width'));
8446 + var height = e2pdf.helper.getFloat(selected.css('height'));
8447 + selected.data("ui-resizable-alsoresize", {
8448 + width: width,
8449 + height: height,
8450 + left: e2pdf.helper.getFloat(selected.css('left')),
8451 + top: e2pdf.helper.getFloat(selected.css('top'))
8452 + });
8453 + _process(jQuery(this), false);
8454 + });
8455 + e2pdf.history.set('element_change', history);
8456 + e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8457 + e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
4463 8458 },
4464 - drag: function (ev, ui) {
4465 -
4466 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4467 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4468 -
4469 - left = Math.min(left, e2pdf.static.drag.max_left);
4470 - top = Math.min(top, e2pdf.static.drag.max_top);
4471 -
4472 - ui.position = {
4473 - left: Math.max(e2pdf.static.drag.min_left, left),
4474 - top: Math.max(e2pdf.static.drag.min_top, top)
4475 - };
4476 -
4477 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4478 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4479 - for (var key in e2pdf.element.selected) {
4480 - var selected = e2pdf.element.selected[key];
4481 - if (!selected.is(jQuery(this))) {
4482 - selected.finish().animate({
4483 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4484 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4485 - }, 0);
8459 + resize: function (ev, ui) {
8460 + if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8461 + var axis = ui.element.data("ui-resizable").axis;
8462 + if (axis != 'nw' && axis != 'sw') {
8463 + ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8464 + ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
4486 8465 }
4487 8466 }
4488 -
4489 - var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8467 + var delta = {
8468 + height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8469 + width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8470 + top: (ui.position.top - ui.originalPosition.top) || 0,
8471 + left: (ui.position.left - ui.originalPosition.left) || 0
8472 + };
8473 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8474 + var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8475 + var style = {};
8476 + var css = ["width", "height", "top", "left"];
8477 + jQuery.each(css, function (i, prop) {
8478 + var sum = (start[prop] || 0) + (delta[prop] || 0);
8479 + if (sum) {
8480 + if (prop == 'width') {
8481 + if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8482 + style[prop] = sum;
8483 + }
8484 + } else if (prop == 'height') {
8485 + if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8486 + style[prop] = sum;
8487 + }
8488 + } else if (prop == 'left') {
8489 + if (sum >= 0) {
8490 + style[prop] = sum;
8491 + }
8492 + } else if (prop == 'top') {
8493 + if (sum >= 0) {
8494 + style[prop] = sum;
8495 + }
8496 + }
8497 + }
8498 + });
8499 + el.css(style);
8500 + });
8501 + var handle = ui.element.data("ui-resizable").axis;
8502 + jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
4490 8503 var w = parseFloat(jQuery(this).css('width'));
4491 8504 var h = parseFloat(jQuery(this).css('height'));
4492 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4493 -
4494 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4495 - jQuery.each(el_guides, function (i, elemGuide) {
4496 - if (guide.type == elemGuide.type) {
4497 - var prop = guide.type == "h" ? "top" : "left";
4498 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4499 - if (d < guides[prop].dist) {
4500 - guides[prop].dist = d;
4501 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4502 - guides[prop].guide = guide;
8505 + if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8506 + var hGuides = {dist: e2pdf.static.guide.distance + 1};
8507 + var hPosition = ui.position.top;
8508 + var hEdgeValue = ui.position.top;
8509 + if (handle.indexOf('s') !== -1) {
8510 + hEdgeValue = ui.position.top + h;
8511 + }
8512 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8513 + if (guide.type == "h") {
8514 + var d = Math.abs(hEdgeValue - guide.top);
8515 + if (d < hGuides.dist) {
8516 + hGuides.dist = d;
8517 + hGuides.guide = guide;
8518 + hGuides.offset = hEdgeValue - hPosition;
4503 8519 }
4504 8520 }
4505 8521 });
4506 - });
4507 -
4508 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4509 -
4510 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4511 -
4512 - var snap_top = guides.top.guide.top - guides.top.offset;
4513 -
4514 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4515 - ui.position.top = snap_top;
4516 -
4517 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4518 -
4519 - for (var key in e2pdf.element.selected) {
4520 - var selected = e2pdf.element.selected[key];
4521 - if (!selected.is(jQuery(this))) {
4522 - selected.finish().animate({
4523 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4524 - }, 0);
8522 + if (hGuides.dist <= e2pdf.static.guide.distance) {
8523 + jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8524 + var snap_top = hGuides.guide.top - hGuides.offset;
8525 + if (handle.indexOf('n') !== -1) {
8526 + var heightDiff = ui.position.top - snap_top;
8527 + ui.position.top = snap_top;
8528 + ui.size.height += heightDiff;
8529 + } else if (handle.indexOf('s') !== -1) {
8530 + var newHeight = hGuides.guide.top - ui.position.top;
8531 + if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8532 + ui.size.height = newHeight;
4525 8533 }
4526 8534 }
4527 8535 }
4528 - } else {
4529 - jQuery(".e2pdf-guide-h").hide();
4530 8536 }
4531 -
4532 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4533 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4534 -
4535 - var snap_left = guides.left.guide.left - guides.left.offset;
4536 -
4537 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4538 - ui.position.left = snap_left;
4539 -
4540 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4541 -
4542 - for (var key in e2pdf.element.selected) {
4543 - var selected = e2pdf.element.selected[key];
4544 - if (!selected.is(jQuery(this))) {
4545 - selected.finish().animate({
4546 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4547 - }, 0);
8537 + if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8538 + var vGuides = {dist: e2pdf.static.guide.distance + 1};
8539 + var vPosition = ui.position.left;
8540 + var vEdgeValue = ui.position.left;
8541 + if (handle.indexOf('e') !== -1) {
8542 + vEdgeValue = ui.position.left + w;
8543 + }
8544 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8545 + if (guide.type == "v") {
8546 + var d = Math.abs(vEdgeValue - guide.left);
8547 + if (d < vGuides.dist) {
8548 + vGuides.dist = d;
8549 + vGuides.guide = guide;
8550 + vGuides.offset = vEdgeValue - vPosition;
4548 8551 }
4549 8552 }
8553 + });
8554 + if (vGuides.dist <= e2pdf.static.guide.distance) {
8555 + jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8556 + var snap_left = vGuides.guide.left - vGuides.offset;
8557 + if (handle.indexOf('w') !== -1) {
8558 + var widthDiff = ui.position.left - snap_left;
8559 + ui.position.left = snap_left;
8560 + ui.size.width += widthDiff;
8561 + } else if (handle.indexOf('e') !== -1) {
8562 + var newWidth = vGuides.guide.left - ui.position.left;
8563 + if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8564 + ui.size.width = newWidth;
8565 + }
8566 + }
4550 8567 }
4551 - } else {
4552 - jQuery(".e2pdf-guide-v").hide();
4553 8568 }
4554 -
4555 8569 },
4556 - start: function (ev, ui) {
4557 -
4558 - e2pdf.element.select(jQuery(this));
4559 -
4560 - e2pdf.static.drag.min_left = 0;
4561 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4562 - e2pdf.static.drag.min_top = 0;
4563 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4564 -
4565 - for (var key in e2pdf.element.selected) {
4566 - var selected = e2pdf.element.selected[key];
4567 -
4568 - if (selected.hasClass('e2pdf-width-auto')) {
4569 - selected.css({"width": "auto"});
8570 + stop: function (event, ui) {
8571 + ui.size.width = Math.round(ui.size.width);
8572 + ui.size.height = Math.round(ui.size.height);
8573 + var _process = function (el, width, height) {
8574 + 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') {
8575 + width += el.outerWidth() - el.width();
8576 + height += el.outerWidth() - el.width();
4570 8577 }
4571 -
4572 - if (selected.hasClass('e2pdf-height-auto')) {
4573 - selected.css({"height": "auto"});
8578 + e2pdf.properties.set(el, 'width', width);
8579 + e2pdf.properties.set(el, 'height', height);
8580 + e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8581 + e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8582 + 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') {
8583 + e2pdf.properties.render(el);
4574 8584 }
8585 + };
8586 + _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8587 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8588 + _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8589 + jQuery(this).removeData("resizable-alsoresize");
8590 + });
8591 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8592 + }
8593 + });
8594 + }
8595 + },
8596 + // e2pdf.element.create
8597 + create: function (type, page, properties, actions, default_properties, onload, element_id) {
8598 + var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8599 + var min_height = 2;
8600 + var min_width = 2;
8601 + if (!properties) {
8602 + properties = {};
8603 + }
8604 + if (!actions) {
8605 + actions = {};
8606 + }
8607 + switch (type) {
8608 + case 'e2pdf-input':
8609 + if (default_properties) {
8610 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8611 + properties['width'] = '200';
8612 + }
8613 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8614 + properties['height'] = size;
8615 + }
8616 + if (!properties.hasOwnProperty('border')) {
8617 + properties['border'] = '1';
8618 + }
8619 + if (!properties.hasOwnProperty('border_color')) {
8620 + properties['border_color'] = '#000000';
8621 + }
8622 + }
8623 + var element =
8624 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8625 + jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8626 + jQuery('<i>', {'class': 'e2pdf-drag'})
8627 + );
8628 + break;
8629 + case 'e2pdf-textarea':
8630 + if (default_properties) {
8631 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8632 + properties['width'] = '200';
8633 + }
8634 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8635 + properties['height'] = '100';
8636 + }
8637 + if (!properties.hasOwnProperty('border')) {
8638 + properties['border'] = '1';
8639 + }
8640 + if (!properties.hasOwnProperty('border_color')) {
8641 + properties['border_color'] = '#000000';
8642 + }
8643 + }
8644 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8645 + jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8646 + jQuery('<i>', {'class': 'e2pdf-drag'})
8647 + );
8648 + break;
8649 + case 'e2pdf-checkbox':
8650 + if (default_properties) {
8651 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8652 + properties['width'] = size;
8653 + }
8654 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8655 + properties['height'] = size;
8656 + }
8657 + if (!properties.hasOwnProperty('option')) {
8658 + properties['option'] = 'option';
8659 + }
8660 + if (!properties.hasOwnProperty('border')) {
8661 + properties['border'] = '1';
8662 + }
8663 + if (!properties.hasOwnProperty('border_color')) {
8664 + properties['border_color'] = '#000000';
8665 + }
8666 + }
8667 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8668 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8669 + jQuery('<i>', {'class': 'e2pdf-drag'})
8670 + );
8671 + break;
8672 + case 'e2pdf-radio':
8673 + if (default_properties) {
8674 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8675 + properties['width'] = size;
8676 + }
8677 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8678 + properties['height'] = size;
8679 + }
8680 + if (!properties.hasOwnProperty('group')) {
8681 + properties['group'] = 'group';
8682 + }
8683 + if (!properties.hasOwnProperty('option')) {
8684 + properties['option'] = 'option';
8685 + }
8686 + if (!properties.hasOwnProperty('border')) {
8687 + properties['border'] = '1';
8688 + }
8689 + if (!properties.hasOwnProperty('border_color')) {
8690 + properties['border_color'] = '#000000';
8691 + }
8692 + if (!properties.hasOwnProperty('text_type')) {
8693 + properties['text_type'] = 'circle';
8694 + }
4575 8695
4576 - var padding_top = e2pdf.helper.convertPxToFloat(selected.css('padding-top'));
4577 - var padding_left = e2pdf.helper.convertPxToFloat(selected.css('padding-left'));
4578 - var padding_right = e2pdf.helper.convertPxToFloat(selected.css('padding-right'));
4579 - var padding_bottom = e2pdf.helper.convertPxToFloat(selected.css('padding-bottom'));
4580 - var border_top = e2pdf.helper.convertPxToFloat(selected.css('border-top-width'));
4581 - var border_left = e2pdf.helper.convertPxToFloat(selected.css('border-left-width'));
4582 - var border_right = e2pdf.helper.convertPxToFloat(selected.css('border-right-width'));
4583 - var border_bottom = e2pdf.helper.convertPxToFloat(selected.css('border-bottom-width'));
4584 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4585 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4586 - e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - parseFloat(e2pdf.properties.getValue(selected, 'left'))), e2pdf.static.drag.max_left);
4587 - e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - parseFloat(e2pdf.properties.getValue(selected, 'top'))), e2pdf.static.drag.max_top);
8696 + }
8697 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8698 + jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8699 + jQuery('<i>', {'class': 'e2pdf-drag'})
8700 + );
8701 + break;
8702 + case 'e2pdf-select':
8703 + if (default_properties) {
8704 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8705 + properties['width'] = '200';
4588 8706 }
8707 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8708 + properties['height'] = size;
8709 + }
8710 + if (!properties.hasOwnProperty('options')) {
8711 + properties['options'] = '';
8712 + }
8713 + if (!properties.hasOwnProperty('border')) {
8714 + properties['border'] = '1';
8715 + }
8716 + if (!properties.hasOwnProperty('border_color')) {
8717 + properties['border_color'] = '#000000';
8718 + }
8719 + }
8720 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8721 + jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8722 + ),
8723 + jQuery('<i>', {'class': 'e2pdf-drag'})
8724 + );
8725 + break;
8726 + case 'e2pdf-signature':
8727 + if (default_properties) {
8728 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8729 + properties['width'] = '200';
8730 + }
8731 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8732 + properties['height'] = '75';
8733 + }
8734 + if (!properties.hasOwnProperty('vertical')) {
8735 + properties['vertical'] = 'bottom';
8736 + }
8737 + if (!properties.hasOwnProperty('block_dimension')) {
8738 + properties['block_dimension'] = '1';
8739 + }
8740 + if (!properties.hasOwnProperty('dimension')) {
8741 + properties['dimension'] = '1';
8742 + }
8743 + if (!properties.hasOwnProperty('opacity')) {
8744 + properties['opacity'] = '1';
8745 + }
8746 + } else {
8747 + // backward compatibility
8748 + if (!properties.hasOwnProperty('opacity')) {
8749 + properties['opacity'] = '1';
8750 + }
8751 + }
8752 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8753 + jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8754 + jQuery('<i>', {'class': 'e2pdf-drag'})
8755 + );
8756 + break;
8757 + case 'e2pdf-html':
8758 + if (default_properties) {
8759 + if (!properties.hasOwnProperty('width')) {
8760 + properties['width'] = '200';
8761 + } else if (properties['width'] === 'auto') {
8762 + properties['width'] = size;
8763 + }
8764 + if (!properties.hasOwnProperty('height')) {
8765 + properties['height'] = size;
8766 + } else if (properties['height'] === 'auto') {
8767 + delete properties['height'];
8768 + }
8769 + if (!properties.hasOwnProperty('html_worker')) {
8770 + properties['html_worker'] = '1';
8771 + }
8772 + if (!properties.hasOwnProperty('css_priority')) {
8773 + properties['css_priority'] = '1';
8774 + }
8775 + }
8776 + if (properties['wysiwyg_disable'] == '1') {
8777 + var element =
8778 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8779 + jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8780 + jQuery('<i>', {'class': 'e2pdf-drag'})
8781 + );
8782 + } else {
8783 + var element =
8784 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8785 + jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8786 + jQuery('<i>', {'class': 'e2pdf-drag'})
8787 + );
8788 + }
8789 + break;
8790 + case 'e2pdf-image':
8791 + if (default_properties) {
8792 + if (!properties.hasOwnProperty('dimension')) {
8793 + properties['dimension'] = '1';
8794 + }
8795 + if (!properties.hasOwnProperty('opacity')) {
8796 + properties['opacity'] = '1';
8797 + }
8798 + if (!properties.hasOwnProperty('block_dimension')) {
8799 + properties['block_dimension'] = '1';
8800 + }
8801 + if (!properties.hasOwnProperty('vertical')) {
8802 + properties['vertical'] = 'bottom';
8803 + }
8804 + if (!properties.hasOwnProperty('pdf_resample')) {
8805 + properties['pdf_resample'] = '-1';
8806 + }
8807 + } else {
8808 + // backward compatibility
8809 + if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8810 + properties['block_dimension'] = '1';
8811 + }
8812 + if (!properties.hasOwnProperty('opacity')) {
8813 + properties['opacity'] = '1';
8814 + }
8815 + if (!properties.hasOwnProperty('pdf_resample')) {
8816 + properties['pdf_resample'] = '150';
8817 + }
8818 + }
8819 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8820 + jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8821 + jQuery('<i>', {'class': 'e2pdf-drag'})
8822 + );
8823 + break;
8824 + case 'e2pdf-rectangle':
8825 + if (default_properties) {
8826 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8827 + properties['width'] = '200';
8828 + }
8829 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8830 + properties['height'] = '5';
8831 + }
8832 + if (!properties.hasOwnProperty('background')) {
8833 + properties['background'] = '#000000';
8834 + }
8835 + }
8836 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8837 + jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8838 + jQuery('<i>', {'class': 'e2pdf-drag'})
8839 + );
8840 + break;
8841 + case 'e2pdf-link':
8842 + if (default_properties) {
8843 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8844 + properties['width'] = '200';
8845 + }
4589 8846
4590 - e2pdf.zoom.click.x = ev.clientX;
4591 - e2pdf.zoom.click.y = ev.clientY;
4592 - jQuery('.page-options-icons').css('z-index', -1);
8847 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8848 + properties['height'] = size;
8849 + }
4593 8850 }
4594 - });
4595 - // If element resizable
4596 - if (element.hasClass('e2pdf-resizable')) {
4597 - element.resizable({
4598 - aspectRatio: aspect,
4599 - minHeight: min_height,
4600 - start: function (ev, ui) {
4601 - var left = parseFloat(jQuery(this).css('left'));
4602 - var top = parseFloat(jQuery(this).css('top'));
4603 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4604 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4605 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4606 - jQuery(this).resizable("option", "maxHeight", page_height - top);
8851 + var element =
8852 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8853 + jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8854 + jQuery('<i>', {'class': 'e2pdf-drag'})
8855 + );
8856 + break;
8857 + case 'e2pdf-qrcode':
8858 + if (default_properties) {
8859 + if (!properties.hasOwnProperty('color')) {
8860 + properties['color'] = '#000000';
8861 + }
8862 + if (!properties.hasOwnProperty('background')) {
8863 + properties['background'] = '#ffffff';
8864 + }
8865 + if (!properties.hasOwnProperty('wq')) {
8866 + properties['wq'] = '1';
8867 + }
8868 + }
8869 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8870 + jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8871 + jQuery('<i>', {'class': 'e2pdf-drag'})
8872 + );
8873 + break;
8874 + case 'e2pdf-barcode':
8875 + if (default_properties) {
8876 + if (!properties.hasOwnProperty('color')) {
8877 + properties['color'] = '#000000';
8878 + }
8879 + if (!properties.hasOwnProperty('text_color')) {
8880 + properties['text_color'] = '#000000';
8881 + }
8882 + if (!properties.hasOwnProperty('vertical')) {
8883 + properties['vertical'] = 'middle';
8884 + }
8885 + if (!properties.hasOwnProperty('horizontal')) {
8886 + properties['horizontal'] = 'center';
8887 + }
8888 + if (!properties.hasOwnProperty('wq')) {
8889 + properties['wq'] = '1';
8890 + }
8891 + if (!properties.hasOwnProperty('dimension')) {
8892 + properties['dimension'] = '1';
8893 + }
8894 + if (!properties.hasOwnProperty('background')) {
8895 + properties['background'] = '#ffffff';
8896 + }
8897 + if (!properties.hasOwnProperty('margin_top')) {
8898 + properties['margin_top'] = '10';
8899 + }
8900 + if (!properties.hasOwnProperty('margin_left')) {
8901 + properties['margin_left'] = '10';
8902 + }
8903 + if (!properties.hasOwnProperty('margin_right')) {
8904 + properties['margin_right'] = '10';
8905 + }
8906 + if (!properties.hasOwnProperty('margin_bottom')) {
8907 + properties['margin_bottom'] = '10';
8908 + }
8909 + } else {
8910 + // backward compatibility
8911 + if (!properties.hasOwnProperty('scale')) {
8912 + properties['scale'] = '1';
8913 + }
8914 + if (!properties.hasOwnProperty('margin_top')) {
8915 + properties['margin_top'] = '10';
8916 + }
8917 + if (!properties.hasOwnProperty('margin_left')) {
8918 + properties['margin_left'] = '10';
8919 + }
8920 + if (!properties.hasOwnProperty('margin_right')) {
8921 + properties['margin_right'] = '10';
8922 + }
8923 + if (!properties.hasOwnProperty('margin_bottom')) {
8924 + properties['margin_bottom'] = '10';
8925 + }
8926 + }
8927 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8928 + jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8929 + jQuery('<i>', {'class': 'e2pdf-drag'})
8930 + );
8931 + break;
8932 + case 'e2pdf-page-number':
8933 + if (default_properties) {
8934 + if (!properties.hasOwnProperty('width')) {
8935 + properties['width'] = '100';
8936 + } else if (properties['width'] === 'auto') {
8937 + properties['width'] = '100';
8938 + }
8939 + if (!properties.hasOwnProperty('height')) {
8940 + properties['height'] = size;
8941 + } else if (properties['height'] === 'auto') {
8942 + delete properties['height'];
8943 + }
8944 + if (!properties.hasOwnProperty('text_align')) {
8945 + properties['text_align'] = 'center';
8946 + }
8947 + if (!properties.hasOwnProperty('html_worker')) {
8948 + properties['html_worker'] = '1';
8949 + }
8950 + if (!properties.hasOwnProperty('value')) {
8951 + properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8952 + }
8953 + }
8954 + var value = properties['value'] ? properties['value'] : '';
8955 + var element =
8956 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8957 + 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'))),
8958 + jQuery('<i>', {'class': 'e2pdf-drag'})
8959 + );
8960 + break;
8961 + case 'e2pdf-graph':
8962 + if (default_properties) {
8963 + // Graph
8964 + properties['g_palette'] = '#1e73be';
8965 + properties['g_stroke_colour'] = '#000000';
8966 + properties['g_stroke_width'] = '1';
8967 + properties['g_sort'] = '1';
8968 + // Titles
8969 + properties['g_graph_title_colour'] = '#000000';
8970 + properties['g_graph_title_space'] = '10';
8971 + // Labels
8972 + properties['g_label_colour'] = '#000000';
8973 + properties['g_label_font_size'] = '10';
8974 + properties['g_label_space'] = '10';
8975 + // Markers
8976 + properties['g_marker_colour'] = '#000000';
8977 + properties['g_marker_size'] = '3';
8978 + // Legend
8979 + properties['g_legend_back_colour'] = '#ffffff';
8980 + properties['g_legend_stroke_colour'] = '#000000';
8981 + properties['g_legend_stroke_width'] = '1';
8982 + properties['g_legend_entry_width'] = '20';
8983 + properties['g_legend_entry_height'] = '20';
8984 + properties['g_legend_padding_x'] = '5';
8985 + properties['g_legend_padding_y'] = '5';
8986 + properties['g_legend_colour'] = '#000000';
8987 + properties['g_legend_font_size'] = '10';
8988 + properties['g_show_legend'] = '1';
8989 + // Grid
8990 + properties['g_grid_colour'] = '#eeeeee';
8991 + properties['g_grid_subdivision_colour'] = '#eeeeee';
8992 + properties['g_minimum_grid_spacing'] = '20';
8993 + properties['g_show_grid'] = '1';
8994 + properties['g_show_grid_subdivisions'] = '1';
8995 + // Axis
8996 + properties['g_axis_colour'] = '#000000';
8997 + properties['g_axis_font_size'] = '12';
8998 + properties['g_show_axis_v'] = '1';
8999 + properties['g_show_axis_text_v'] = '1';
9000 + properties['g_show_axis_h'] = '1';
9001 + properties['g_show_axis_text_h'] = '1';
9002 + properties['g_show_subdivisions'] = '1';
9003 + properties['g_axis_overlap'] = '5';
9004 + properties['g_axis_stroke_width_v'] = '1';
9005 + properties['g_axis_stroke_width_h'] = '1';
9006 + // Bar Label
9007 + properties['g_bar_label_colour'] = '#000000';
9008 + properties['g_bar_label_font_size'] = '10';
9009 + properties['g_bar_label_space'] = '3';
9010 + properties['g_show_bar_labels'] = '1';
9011 + properties['g_project_angle'] = '45';
9012 + properties['g_depth'] = '20';
9013 + properties['g_aspect_ratio'] = '1';
9014 + properties['margin_top'] = '10';
9015 + properties['margin_left'] = '10';
9016 + properties['margin_right'] = '10';
9017 + properties['margin_bottom'] = '10';
9018 + properties['g_multiline'] = '2';
9019 + // Bar
9020 + properties['g_bar_width'] = '0';
9021 + properties['g_bar_width_min'] = '1';
9022 + properties['g_bar_space'] = '10';
9023 + properties['g_show_labels'] = '1';
9024 + properties['g_show_label_key'] = '1';
9025 + properties['g_inner_radius'] = '0.5';
9026 + properties['g_fill_opacity'] = '1';
9027 + properties['g_axis_text_space_v'] = '2';
9028 + properties['g_axis_text_space_h'] = '2';
9029 + } else {
9030 + // backward compatibility
9031 + if (!properties.hasOwnProperty('g_depth')) {
9032 + properties['g_depth'] = '40';
9033 + }
9034 + if (!properties.hasOwnProperty('g_aspect_ratio')) {
9035 + properties['g_aspect_ratio'] = '1';
9036 + }
9037 + if (!properties.hasOwnProperty('g_legend_entry_height')) {
9038 + properties['g_legend_entry_height'] = '20';
9039 + }
9040 + if (!properties.hasOwnProperty('g_bar_width')) {
9041 + properties['g_bar_width'] = '0';
9042 + }
9043 + if (!properties.hasOwnProperty('g_bar_width_min')) {
9044 + properties['g_bar_width_min'] = '1';
9045 + }
9046 + if (!properties.hasOwnProperty('g_bar_space')) {
9047 + properties['g_bar_space'] = '10';
9048 + }
9049 + // backward compatibility
9050 + if (!properties.hasOwnProperty('g_show_labels')) {
9051 + properties['g_show_labels'] = '1';
9052 + }
9053 + if (!properties.hasOwnProperty('g_show_label_key')) {
9054 + properties['g_show_label_key'] = '1';
9055 + }
9056 + if (!properties.hasOwnProperty('g_inner_radius')) {
9057 + properties['g_inner_radius'] = '0.5';
9058 + }
9059 + if (!properties.hasOwnProperty('g_fill_opacity')) {
9060 + properties['g_fill_opacity'] = '1';
9061 + }
9062 + if (!properties.hasOwnProperty('g_axis_text_space_v')) {
9063 + properties['g_axis_text_space_v'] = '2';
9064 + }
9065 + if (!properties.hasOwnProperty('g_axis_text_space_h')) {
9066 + properties['g_axis_text_space_h'] = '2';
9067 + }
9068 + }
9069 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
9070 + jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
9071 + jQuery('<i>', {'class': 'e2pdf-drag'})
9072 + );
9073 + break;
9074 + default:
9075 + break;
9076 + }
4607 9077
4608 - var padding_top = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-top'));
4609 - var padding_left = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-left'));
4610 - var padding_right = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-right'));
4611 - var padding_bottom = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-bottom'));
4612 - var border_top = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-top-width'));
4613 - var border_left = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-left-width'));
4614 - var border_right = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-right-width'));
4615 - var border_bottom = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-bottom-width'));
4616 -
4617 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4618 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4619 -
4620 - e2pdf.zoom.click.x = ev.clientX;
4621 - e2pdf.zoom.click.y = ev.clientY;
4622 - },
4623 - resize: function (ev, ui) {
4624 - },
4625 - stop: function (event, ui) {
4626 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4627 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
9078 + if (typeof element !== 'undefined') {
9079 + if (!element_id) {
9080 + var last_id = 0;
9081 + jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
9082 + var num_id = parseInt(jQuery(this).attr("data-element_id"));
9083 + if (num_id > last_id) {
9084 + last_id = num_id;
4628 9085 }
4629 9086 });
4630 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4631 - element.resizable({
4632 - handles: 'e, w, se',
4633 - resize: function (e, ui) {
4634 - jQuery(this).css('height', 'auto');
4635 - },
4636 - start: function (e, ui) {
4637 - var left = parseFloat(jQuery(this).css('left'));
4638 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4639 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4640 - },
4641 - stop: function (event, ui) {
4642 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4643 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4644 - }
4645 - }
4646 - );
9087 + element_id = parseInt(last_id + 1);
4647 9088 }
9089 + element.addClass('e2pdf-element');
9090 + element.attr('data-element_id', element_id);
9091 + element.data('data-type', type);
9092 + if (properties.hasOwnProperty('width')) {
9093 + element.css({'width': properties['width']});
9094 + }
9095 + if (properties.hasOwnProperty('height')) {
9096 + element.css({'height': properties['height']});
9097 + }
9098 + if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
9099 + element.css({'top': properties['top'], 'left': properties['left']});
9100 + }
9101 + element.css({"position": "absolute"});
9102 + e2pdf.properties.apply(element, properties, onload);
9103 + e2pdf.actions.apply(element, actions);
9104 + e2pdf.element.initEvents(element, page);
4648 9105 if (!onload) {
4649 9106 e2pdf.event.fire('after.element.create');
4650 9107 }
4651 9108 return element;
@@ -4652,42 +9109,14 @@
4652 9109 } else {
4653 9110 return false;
4654 9111 }
4655 9112 },
4656 - //e2pdf.element.children
9113 + // e2pdf.element.children
4657 9114 children: function (el) {
4658 -
4659 - var children = false;
4660 -
4661 - if (el.data('data-type') === 'e2pdf-html') {
4662 - children = el.find('.e2pdf-html');
4663 - } else if (el.data('data-type') === 'e2pdf-input') {
4664 - children = el.find('.e2pdf-input');
4665 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4666 - children = el.find('.e2pdf-textarea');
4667 - } else if (el.data('data-type') === 'e2pdf-select') {
4668 - children = el.find('.e2pdf-select');
4669 - } else if (el.data('data-type') === 'e2pdf-radio') {
4670 - children = el.find('.e2pdf-radio');
4671 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4672 - children = el.find('.e2pdf-checkbox');
4673 - } else if (el.data('data-type') === 'e2pdf-image') {
4674 - children = el.find('.e2pdf-image');
4675 - }
9115 + var children = el.find('.' + el.data('data-type'));
4676 9116 return children;
4677 9117 },
4678 - //e2pdf.element.copy
4679 - copy: function (el) {
4680 - e2pdf.element.init(el);
4681 - e2pdf.element.buffer(el.clone(true));
4682 - },
4683 - //e2pdf.element.cut
4684 - cut: function (el) {
4685 - e2pdf.element.init(el);
4686 - e2pdf.element.buffer(el.clone(true));
4687 - e2pdf.element.delete(el);
4688 - },
4689 - //e2pdf.element.select
9118 + // e2pdf.element.select
4690 9119 select: function (el) {
4691 9120 var selected = false;
4692 9121 for (var key in e2pdf.element.selected) {
4693 9122 if (e2pdf.element.selected[key].is(el)) {
@@ -4698,9 +9127,9 @@
4698 9127 el.addClass('e2pdf-selected');
4699 9128 e2pdf.element.selected.push(el);
4700 9129 }
4701 9130 },
4702 - //e2pdf.element.unselect
9131 + // e2pdf.element.unselect
4703 9132 unselect: function (el) {
4704 9133 if (!el) {
4705 9134 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4706 9135 e2pdf.element.selected = [];
@@ -4712,150 +9141,457 @@
4712 9141 }
4713 9142 }
4714 9143 }
4715 9144 },
4716 - //e2pdf.element.buffer
4717 - buffer: function (el) {
4718 - var buffered = false;
4719 - for (var key in e2pdf.element.buffered) {
4720 - if (e2pdf.element.buffered[key].is(el)) {
4721 - buffered = true;
4722 - }
9145 + // e2pdf.element.unfocus
9146 + unfocus: function (el) {
9147 + e2pdf.wysiwyg.helper.dropSelection();
9148 + if (!el) {
9149 + jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9150 + jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9151 + jQuery(this).blur();
9152 + });
9153 + } else {
9154 + el.find('.e2pdf-inner-element').blur();
9155 + el.removeClass('e2pdf-focused');
4723 9156 }
4724 - if (!buffered) {
4725 - e2pdf.element.buffered.push(el);
4726 - }
4727 9157 },
4728 - //e2pdf.element.unbuffer
4729 - unbuffer: function (el) {
4730 - if (!el) {
4731 - e2pdf.element.buffered = [];
4732 - } else {
4733 - for (var key in e2pdf.element.buffered) {
4734 - if (e2pdf.element.buffered[key].is(el)) {
4735 - delete e2pdf.element.buffered[key];
9158 + // e2pdf.element.focus
9159 + focus: function (el) {
9160 + el.one('beforeinput', function (e) {
9161 + var history = [];
9162 + history.push(el.clone(true));
9163 + e2pdf.history.set('element_change', history);
9164 + });
9165 + var el_inner = el.find('.e2pdf-inner-element');
9166 + if (el_inner.is('div.e2pdf-html')) {
9167 + var node = el_inner.get(0);
9168 + if (node) {
9169 + node.focus();
9170 + if (window.getSelection && document.createRange) {
9171 + var range = document.createRange();
9172 + var selection = window.getSelection();
9173 + range.selectNodeContents(node);
9174 + range.collapse(false);
9175 + selection.removeAllRanges();
9176 + selection.addRange(range);
4736 9177 }
9178 + } else {
9179 + el_inner.focus();
4737 9180 }
9181 + } else {
9182 + el_inner.focus();
4738 9183 }
9184 + el.addClass('e2pdf-focused');
4739 9185 },
4740 - //e2pdf.element.hide
9186 + // e2pdf.element.hide
4741 9187 hide: function (el) {
4742 9188 el.addClass('e2pdf-hide');
4743 9189 },
4744 - //e2pdf.element.show
9190 + // e2pdf.element.show
4745 9191 show: function (el) {
4746 9192 el.removeClass('e2pdf-hide');
4747 9193 },
4748 - //e2pdf.element.paste
4749 - paste: function (keep_position) {
4750 - e2pdf.element.unselect();
4751 - var min_top = 99999999;
4752 - var min_left = 9999999;
4753 - var left_correction = 0;
4754 - var top_correction = 0;
4755 - if (!keep_position) {
4756 - for (var key in e2pdf.element.buffered) {
4757 - var buffered = e2pdf.element.buffered[key];
4758 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4759 - min_left = Math.min(e2pdf.properties.getValue(buffered, 'left'), min_left);
9194 + // e2pdf.element.delete
9195 + delete: function (el) {
9196 + el.remove();
9197 + e2pdf.event.fire('after.element.delete');
9198 + }
9199 + },
9200 + // e2pdf.storage
9201 + storage: {
9202 + get: function (key) {
9203 + return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9204 + },
9205 + set: function (key, data) {
9206 + localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9207 + },
9208 + delete: function (key) {
9209 + localStorage.removeItem('e2pdf_' + key);
9210 + }
9211 + },
9212 + // e2pdf.history
9213 + history: {
9214 + // e2pdf.history.set
9215 + set: function (action, elements, data) {
9216 + if (elements && elements.length > 0) {
9217 + var history = {
9218 + 'action': action,
9219 + 'elements': elements,
9220 + 'data': data,
9221 + };
9222 + e2pdf.history.undoStack.push(history);
9223 + if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9224 + e2pdf.history.undoStack.shift();
4760 9225 }
9226 + if (e2pdf.history.undoStack.length > 0) {
9227 + jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9228 + }
9229 + }
9230 + },
9231 + // e2pdf.history.undo
9232 + undo: function () {
9233 + var history = e2pdf.history.undoStack.pop();
9234 + if (history) {
9235 + e2pdf.element.unselect();
9236 + if (history.action == 'element_change') {
9237 + for (var key in history.elements) {
9238 + var buffered = history.elements[key];
9239 + jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9240 + e2pdf.element.initEvents(buffered);
9241 + e2pdf.element.select(buffered);
9242 + }
9243 + } else if (history.action == 'element_create') {
9244 + for (var key in history.elements) {
9245 + var buffered = history.elements[key];
9246 + if (buffered.hasClass('e2pdf-page')) {
9247 + jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9248 + if (jQuery('.e2pdf-page').length == 0) {
9249 + e2pdf.history.undo();
9250 + }
9251 + } else {
9252 + jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9253 + }
9254 + }
9255 + } else if (history.action == 'element_delete') {
9256 + for (var key in history.elements) {
9257 + var buffered = history.elements[key];
9258 + var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9259 + page.append(buffered);
9260 + e2pdf.element.initEvents(buffered, page);
9261 + e2pdf.element.select(buffered);
9262 + }
9263 + } else if (history.action == 'page_change') {
9264 + for (var key in history.elements) {
9265 + var buffered = history.elements[key];
9266 + var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9267 + page.data('data-type', 'e2pdf-page');
9268 + jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9269 + if (buffered.css('background-image')) {
9270 + page.css('background-image', buffered.css('background-image'));
9271 + }
9272 + buffered.find('.e2pdf-element').each(function () {
9273 + page.append(jQuery(this));
9274 + e2pdf.element.initEvents(jQuery(this), page);
9275 + });
9276 + e2pdf.pages.initEvents(page);
9277 + e2pdf.pages.rebuildPages();
9278 + }
9279 + if (history.data) {
9280 + jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9281 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9282 + }
9283 + } else if (history.action == 'page_delete') {
9284 + for (var key in history.elements) {
9285 + var buffered = history.elements[key];
9286 + var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9287 + page.data('data-type', 'e2pdf-page');
9288 + e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9289 + e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9290 + if (buffered.attr('data-page_id') == '1') {
9291 + jQuery('.e2pdf-tpl-inner').prepend(page);
9292 + } else {
9293 + page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9294 + }
9295 + if (buffered.css('background-image')) {
9296 + page.css('background-image', buffered.css('background-image'));
9297 + }
9298 + buffered.find('.e2pdf-element').each(function () {
9299 + page.append(jQuery(this));
9300 + e2pdf.element.initEvents(jQuery(this), page);
9301 + });
9302 + e2pdf.pages.initEvents(page);
9303 + e2pdf.pages.rebuildPages();
9304 + }
9305 + if (history.data) {
9306 + jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9307 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9308 + }
9309 + } else if (history.action == 'wysiwyg') {
9310 + for (var key in history.elements) {
9311 + var buffered = history.elements[key];
9312 + buffered.focus();
9313 + document.execCommand('undo');
9314 + }
9315 + }
9316 + if (e2pdf.history.undoStack.length == 0) {
9317 + jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9318 + }
9319 + }
9320 + },
9321 + // e2pdf.history.redo
9322 + redo: function () {
4761 9323
4762 - for (var key in e2pdf.element.buffered) {
4763 - var buffered = e2pdf.element.buffered[key];
9324 + },
9325 + clear: function () {
9326 + e2pdf.history.undoStack = [];
9327 + jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9328 + },
9329 + // e2pdf.history.undoStack
9330 + undoStack: []
9331 + },
9332 + // e2pdf.copy
9333 + copy: function (key, el) {
9334 + e2pdf.element.init(el);
9335 + switch (key) {
9336 + case 'style':
9337 + var data = {
9338 + 'type': el.data('data-type'),
9339 + 'fields': e2pdf.properties.getFields(el)
9340 + };
9341 + e2pdf.storage.set(key, data);
9342 + break;
9343 + case 'width':
9344 + var data = {
9345 + 'width': e2pdf.properties.getValue(el, 'width', 'float')
9346 + };
9347 + e2pdf.storage.set(key, data);
9348 + break;
9349 + case 'height':
9350 + var data = {
9351 + 'height': e2pdf.properties.getValue(el, 'height', 'float')
9352 + };
9353 + e2pdf.storage.set(key, data);
9354 + break;
9355 + case 'elements':
9356 + var elements = e2pdf.storage.get('elements');
9357 + if (elements == null) {
9358 + elements = [];
9359 + }
9360 + var data = {
9361 + 'type': el.data('data-type'),
9362 + 'top': el.css('top'),
9363 + 'left': el.css('left'),
9364 + 'width': el.css('width'),
9365 + 'height': el.css('height'),
9366 + 'fields': e2pdf.properties.getFields(el),
9367 + 'properties': e2pdf.properties.get(el),
9368 + 'actions': e2pdf.actions.get(el)
9369 + };
9370 + elements.push(data);
9371 + e2pdf.storage.set(key, elements);
9372 + break;
9373 + case 'actions':
9374 + var data = {
9375 + 'actions': e2pdf.actions.get(el)
9376 + };
9377 + e2pdf.storage.set(key, data);
9378 + break;
9379 + }
9380 + },
9381 + // e2pdf.paste
9382 + paste: function (key, el) {
9383 + if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9384 + switch (key) {
9385 + case 'style':
9386 + if (e2pdf.storage.get('style').type == el.data('data-type')) {
9387 + e2pdf.element.init(el);
9388 + var groups = e2pdf.storage.get('style').fields;
9389 + for (var group_key in groups) {
9390 + var group = groups[group_key];
9391 + for (var field_key in group.fields) {
9392 + var group_field = group.fields[field_key];
9393 + if (group_field.type != 'link') {
9394 + if (jQuery.inArray(group_field.key, [
9395 + 'page_id',
9396 + 'element_id',
9397 + 'element_type',
9398 + 'width',
9399 + 'height',
9400 + 'top',
9401 + 'left',
9402 + 'name',
9403 + 'field_name',
9404 + 'z_index',
9405 + 'group',
9406 + 'option',
9407 + 'options',
9408 + 'css',
9409 + 'parent',
9410 + 'value',
9411 + 'preg_pattern',
9412 + 'preg_replacement',
9413 + 'preg_match_all_pattern',
9414 + 'preg_match_all_output',
9415 + 'wysiwyg_disable',
9416 + 'multipage',
9417 + 'dynamic_height',
9418 + 'nl2br',
9419 + 'hide_if_empty',
9420 + 'hide_page_if_empty',
9421 + 'css_priority',
9422 + 'pdf_resample',
9423 + 'pdf_append',
9424 + 'html_worker',
9425 + 'esig',
9426 + 'dimension',
9427 + 'block_dimension',
9428 + 'keep_lower_size',
9429 + 'fill_image',
9430 + 'only_image',
9431 + 'hl',
9432 + 'placeholder',
9433 + 'pdf_page',
9434 + 'format',
9435 + 'g_type',
9436 + 'g_structure_key',
9437 + 'g_structure_value',
9438 + 'g_structure_colour',
9439 + 'g_structure_axis_text',
9440 + 'g_structure_legend_text',
9441 + 'g_structure_label',
9442 + 'g_structure_area',
9443 + 'g_structure_open',
9444 + 'g_structure_end',
9445 + 'g_structure_outliers',
9446 + 'g_structure_top',
9447 + 'g_structure_bottom',
9448 + 'g_structure_wtop',
9449 + 'g_structure_wbottom',
9450 + 'g_structure_high',
9451 + 'g_structure_low',
9452 + 'g_structured_data',
9453 + 'g_key_sep',
9454 + 'g_array_sep',
9455 + 'g_sub_array_sep',
9456 + 'g_graph_title',
9457 + 'g_label_v',
9458 + 'g_label_h',
9459 + 'g_legend_title'
9460 + ]) === -1) {
9461 + e2pdf.properties.set(el, group_field.key, group_field.value);
9462 + }
9463 + }
9464 + }
9465 + }
9466 + e2pdf.properties.render(el);
9467 + }
9468 + break;
9469 + case 'elements':
9470 + case 'elements-in-place':
9471 + e2pdf.element.unselect();
4764 9472 var context = jQuery('.e2pdf-context');
4765 - var properties = e2pdf.properties.get(buffered);
4766 - var width = parseFloat(properties['width']);
4767 - var height = parseFloat(properties['height']);
4768 9473 var page = context.closest('.e2pdf-page');
4769 - var top = parseFloat(e2pdf.helper.convertPxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4770 - var left = parseFloat(e2pdf.helper.convertPxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4771 - if ((left + width) > parseFloat(page.css('width'))) {
4772 - var correction = left - (parseFloat(page.css('width')) - width);
4773 - left_correction = Math.max(correction, left_correction);
9474 + var min_top = 99999999;
9475 + var min_left = 99999999;
9476 + var left_correction = 0;
9477 + var top_correction = 0;
9478 + if (key !== 'elements-in-place') {
9479 + for (var element in e2pdf.storage.get('elements')) {
9480 + var buffered = e2pdf.storage.get('elements')[element];
9481 + var properties = buffered.properties;
9482 + min_top = Math.min(parseFloat(properties['top']), min_top);
9483 + min_left = Math.min(parseFloat(properties['left']), min_left);
9484 + }
9485 + for (var element in e2pdf.storage.get('elements')) {
9486 + var buffered = e2pdf.storage.get('elements')[element];
9487 + var properties = buffered.properties;
9488 + var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9489 + if (context.hasClass('e2pdf-context-bottom')) {
9490 + top += context.height();
9491 + }
9492 + var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9493 + if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9494 + var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9495 + left_correction = Math.max(correction, left_correction);
9496 + }
9497 + if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9498 + var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9499 + top_correction = Math.max(correction, top_correction);
9500 + }
9501 + }
4774 9502 }
4775 9503
4776 - if ((top + height) > parseFloat(page.css('height'))) {
4777 - var correction = top - (parseFloat(page.css('height')) - height);
4778 - top_correction = Math.max(correction, top_correction);
9504 + var history = [];
9505 + for (var element in e2pdf.storage.get('elements')) {
9506 + var buffered = e2pdf.storage.get('elements')[element];
9507 + var properties = buffered.properties;
9508 + var actions = buffered.actions;
9509 + if (key !== 'elements-in-place') {
9510 + var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9511 + if (context.hasClass('e2pdf-context-bottom')) {
9512 + top += context.height();
9513 + }
9514 + var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9515 + properties['top'] = top;
9516 + properties['left'] = left;
9517 + }
9518 + var el = e2pdf.element.create(buffered.type, page, properties, actions);
9519 + page.append(el);
9520 + e2pdf.properties.render(el);
9521 + e2pdf.element.select(el);
9522 + history.push(el.clone(true));
4779 9523 }
4780 - }
9524 + e2pdf.history.set('element_create', history);
9525 + e2pdf.event.fire('after.element.paste');
9526 + break;
9527 + case 'actions':
9528 + e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9529 + break;
9530 + case 'width':
9531 + e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9532 + e2pdf.properties.render(el);
9533 + break;
9534 + case 'height':
9535 + e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9536 + e2pdf.properties.render(el);
9537 + break;
4781 9538 }
4782 -
4783 - for (var key in e2pdf.element.buffered) {
4784 - var buffered = e2pdf.element.buffered[key];
4785 - var context = jQuery('.e2pdf-context');
4786 - var properties = e2pdf.properties.get(buffered);
4787 - var actions = e2pdf.actions.get(buffered);
4788 - var width = parseFloat(properties['width']);
4789 - var height = parseFloat(properties['height']);
4790 - var page = context.closest('.e2pdf-page');
4791 - var type = buffered.data('data-type');
4792 - if (!keep_position) {
4793 -
4794 - var top = parseFloat(e2pdf.helper.convertPxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4795 - var left = parseFloat(e2pdf.helper.convertPxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4796 - properties['top'] = top;
4797 - properties['left'] = left;
4798 - }
4799 - //changed
4800 - var el = e2pdf.element.create(type, page, properties, actions);
4801 - page.append(el);
4802 - e2pdf.properties.render(el);
4803 - e2pdf.element.select(el);
4804 - }
4805 -
4806 - e2pdf.event.fire('after.element.paste');
4807 - },
4808 - //e2pdf.element.delete
4809 - delete: function (el) {
4810 - el.remove();
4811 - e2pdf.event.fire('after.element.delete');
4812 9539 }
4813 9540 },
4814 - //e2pdf.wysiwyg
9541 + // e2pdf.wysiwyg
4815 9542 wysiwyg: {
4816 - //e2pdf.wysiwyg.apply
9543 + // e2pdf.wysiwyg.apply
4817 9544 apply: function (el) {
9545 + var history = [];
9546 + history.push(el);
9547 + e2pdf.history.set('wysiwyg', history);
9548 + var html = '';
4818 9549 var command = el.attr('data-command');
9550 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4819 9551 if (command === 'H1') {
4820 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4821 9552 if (node.is("h1") && document.getSelection().toString() === node.text()) {
4822 9553 e2pdf.wysiwyg.clear('h1');
4823 9554 } else {
4824 - var html = jQuery('<h1/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9555 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4825 9556 document.execCommand('insertHTML', false, html);
4826 9557 }
4827 9558 } else if (command === 'H2') {
4828 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4829 9559 if (node.is("h2") && document.getSelection().toString() === node.text()) {
4830 9560 e2pdf.wysiwyg.clear('h2');
4831 9561 } else {
4832 - var html = jQuery('<h2/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9562 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4833 9563 document.execCommand('insertHTML', false, html);
4834 9564 }
4835 9565 } else if (command === 'createlink') {
4836 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9566 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
4837 9567 document.execCommand(command, false, url);
4838 9568 } else if (command === 'font-size') {
4839 9569 var font_size = el.find('option:selected').html();
4840 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4841 9570 if (node.is("span") && document.getSelection().toString() === node.text()) {
4842 - var html = node.css('font-size', font_size).prop('outerHTML');
9571 + html = node.css('font-size', font_size + "px").prop('outerHTML');
4843 9572 } else {
4844 - var html = jQuery('<span/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size).prop('outerHTML');
9573 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
4845 9574 }
4846 9575 document.execCommand('insertHTML', false, html);
4847 9576 el.val('');
9577 + } else if (command === 'line-height') {
9578 + var font_size = el.find('option:selected').html();
9579 + if (node.is("span") && document.getSelection().toString() === node.text()) {
9580 + html = node.css('line-height', font_size + "px").prop('outerHTML');
9581 + } else {
9582 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9583 + }
9584 + document.execCommand('insertHTML', false, html);
9585 + el.val('');
4848 9586 } else if (command === 'font') {
4849 9587 e2pdf.font.load(el);
4850 - var font = el.find('option:selected').html();
4851 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9588 + var font = CSS.escape(el.find('option:selected').html());
4852 9589 if (node.is("span") && document.getSelection().toString() === node.text()) {
4853 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9590 + html = node.css('font-family', font).prop('outerHTML');
4854 9591 } else {
4855 - var html = jQuery('<span/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', '"' + font + '"').prop('outerHTML');
9592 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
4856 9593 }
4857 -
4858 9594 document.execCommand('insertHTML', false, html);
4859 9595 el.val('');
4860 9596 } else if (command === 'color') {
4861 9597 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -4864,14 +9600,14 @@
4864 9600 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
4865 9601 } else if (command === 'clear') {
4866 9602 document.execCommand("removeformat", false, "");
4867 9603 e2pdf.wysiwyg.clear();
4868 - } else {
9604 + } else if (command) {
4869 9605 document.execCommand(command, false, null);
4870 9606 }
4871 -
4872 9607 e2pdf.event.fire('after.wysiwyg.apply');
4873 9608 },
9609 + // e2pdf.wysiwyg.clear
4874 9610 clear: function (tags) {
4875 9611 if (!tags) {
4876 9612 var tags = "h1,h2";
4877 9613 }
@@ -4882,9 +9618,11 @@
4882 9618 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
4883 9619 }
4884 9620 });
4885 9621 },
9622 + // e2pdf.wysiwyg.helper
4886 9623 helper: {
9624 + // e2pdf.wysiwyg.helper.getSelectedNodes
4887 9625 getSelectedNodes: function () {
4888 9626 var nodes = [];
4889 9627 if (window.getSelection) {
4890 9628 var sel = window.getSelection();
@@ -4893,8 +9631,9 @@
4893 9631 }
4894 9632 }
4895 9633 return nodes;
4896 9634 },
9635 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
4897 9636 replaceWithOwnChildren: function (el) {
4898 9637 var parent = el.parentNode;
4899 9638 while (el.hasChildNodes()) {
4900 9639 parent.insertBefore(el.firstChild, el);
@@ -4900,8 +9639,9 @@
4900 9639 parent.insertBefore(el.firstChild, el);
4901 9640 }
4902 9641 parent.removeChild(el);
4903 9642 },
9643 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
4904 9644 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
4905 9645 var node = range.startContainer;
4906 9646 var endNode = range.endContainer;
4907 9647 var rangeNodes = [];
@@ -4927,8 +9667,9 @@
4927 9667 }
4928 9668
4929 9669 return rangeNodes;
4930 9670 },
9671 + // e2pdf.wysiwyg.helper.getSelectedNode
4931 9672 getSelectedNode: function () {
4932 9673 var node, selection;
4933 9674 if (window.getSelection) {
4934 9675 selection = getSelection();
@@ -4934,9 +9675,9 @@
4934 9675 selection = getSelection();
4935 9676 node = selection.anchorNode;
4936 9677 }
4937 9678 if (!node && document.selection) {
4938 - selection = document.selection
9679 + selection = document.selection;
4939 9680 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
4940 9681 node = range.commonAncestorContainer ? range.commonAncestorContainer :
4941 9682 range.parentElement ? range.parentElement() : range.item(0);
4942 9683 }
@@ -4943,10 +9684,10 @@
4943 9684 if (node) {
4944 9685 return (node.nodeName === "#text" ? node.parentNode : node);
4945 9686 }
4946 9687 },
9688 + // e2pdf.wysiwyg.helper.nextNode
4947 9689 nextNode: function (node) {
4948 -
4949 9690 if (node.hasChildNodes()) {
4950 9691 return node.firstChild;
4951 9692 } else {
4952 9693 while (node && !node.nextSibling) {
@@ -4956,13 +9697,13 @@
4956 9697 return null;
4957 9698 }
4958 9699 return node.nextSibling;
4959 9700 }
4960 -
4961 9701 },
9702 + // e2pdf.wysiwyg.helper.getSelectionHtml
4962 9703 getSelectionHtml: function () {
4963 9704 var html = "";
4964 - if (typeof window.getSelection != "undefined") {
9705 + if (typeof window.getSelection != 'undefined') {
4965 9706 var sel = window.getSelection();
4966 9707 if (sel.rangeCount) {
4967 9708 var container = document.createElement("div");
4968 9709 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -4969,9 +9710,9 @@
4969 9710 container.appendChild(sel.getRangeAt(i).cloneContents());
4970 9711 }
4971 9712 html = container.innerHTML;
4972 9713 }
4973 - } else if (typeof document.selection != "undefined") {
9714 + } else if (typeof document.selection != 'undefined') {
4974 9715 if (document.selection.type === "Text") {
4975 9716 html = document.selection.createRange().htmlText;
4976 9717 }
4977 9718 }
@@ -4976,8 +9717,9 @@
4976 9717 }
4977 9718 }
4978 9719 return html;
4979 9720 },
9721 + // e2pdf.wysiwyg.helper.saveSelection
4980 9722 saveSelection: function () {
4981 9723 if (window.getSelection) {
4982 9724 sel = window.getSelection();
4983 9725 if (sel.getRangeAt && sel.rangeCount) {
@@ -4987,8 +9729,9 @@
4987 9729 return document.selection.createRange();
4988 9730 }
4989 9731 return null;
4990 9732 },
9733 + // e2pdf.wysiwyg.helper.restoreSelection
4991 9734 restoreSelection: function (range) {
4992 9735 if (range) {
4993 9736 if (window.getSelection) {
4994 9737 sel = window.getSelection();
@@ -4997,43 +9740,99 @@
4997 9740 } else if (document.selection && range.select) {
4998 9741 range.select();
4999 9742 }
5000 9743 }
9744 + },
9745 + // e2pdf.wysiwyg.helper.dropSelection
9746 + dropSelection: function () {
9747 + if (window.getSelection) {
9748 + sel = window.getSelection();
9749 + sel.removeAllRanges();
9750 + }
5001 9751 }
5002 9752 }
5003 9753 },
5004 - //e2pdf.visual
9754 + // e2pdf.visual
5005 9755 visual: {
5006 - //e2pdf.visual.mapper
9756 + // e2pdf.visual.mapper
5007 9757 mapper: {
9758 + cursorPosStart: null,
9759 + cursorPosEnd: null,
9760 + cursorRange: null,
5008 9761 selected: null,
5009 - //e2pdf.visual.mapper.init
9762 + // e2pdf.visual.mapper.init
5010 9763 init: function (el) {
9764 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9765 + if (el.find('.e2pdf-inner-element').is('div')) {
9766 + if (window.getSelection) {
9767 + sel = window.getSelection();
9768 + if (sel.getRangeAt && sel.rangeCount) {
9769 + e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9770 + }
9771 + } else if (document.selection && document.selection.createRange) {
9772 + e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9773 + }
9774 + e2pdf.visual.mapper.cursorPosStart = null;
9775 + e2pdf.visual.mapper.cursorPosEnd = null;
9776 + } else {
9777 + e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9778 + e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9779 + e2pdf.visual.mapper.cursorRange = null;
9780 + }
9781 + } else {
9782 + e2pdf.visual.mapper.cursorPosStart = null;
9783 + e2pdf.visual.mapper.cursorPosEnd = null;
9784 + e2pdf.visual.mapper.cursorRange = null;
9785 + }
9786 +
5011 9787 e2pdf.visual.mapper.selected = el;
5012 - var modal = jQuery('<div/>', {'data-modal': 'visual-mapper'});
9788 + var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5013 9789 e2pdf.dialog.create(modal);
5014 9790 },
5015 - //e2pdf.visual.mapper.markup
9791 + // e2pdf.visual.mapper.markup
5016 9792 markup: function () {
5017 9793 e2pdf.dialog.rebuild();
5018 9794 },
5019 - //e2pdf.visual.mapper.rebuild
9795 + // e2pdf.visual.mapper.rebuild
5020 9796 rebuild: function () {
5021 - if (jQuery('#e2pdf-vm-content').length > 0) {
5022 - var vc_content = jQuery('#e2pdf-vm-content');
5023 - var vc_wrapper = jQuery('<div/>', {'class': 'e2pdf-vm-wrapper'});
5024 - 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"], button[type="upload"], textarea, select').each(function () {
9797 + if (jQuery('.e2pdf-vm-content').length > 0) {
9798 + var vc_content = jQuery('.e2pdf-vm-content');
9799 + if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9800 + jQuery('.e2pdf-vm-wrapper').remove();
9801 + }
9802 + vc_content.find('input[type="hidden"]').each(function () {
9803 + if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9804 + jQuery(this).attr('e2pdf-vm-hidden', 'true');
9805 + jQuery(this).attr('value', jQuery(this).attr('name'));
9806 + }
9807 + });
9808 + if (e2pdf.static.vm.hidden) {
9809 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9810 + jQuery(this).attr('type', 'text');
9811 + });
9812 + } else {
9813 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9814 + jQuery(this).attr('type', 'hidden');
9815 + });
9816 + }
9817 +
9818 + var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9819 + 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 () {
5025 9820 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5026 9821 });
5027 9822 vc_content.append(vc_wrapper);
9823 + if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9824 + jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9825 + }
5028 9826 }
5029 9827 },
5030 - //e2pdf.visual.mapper.clear
9828 + // e2pdf.visual.mapper.clear
5031 9829 clear: function () {
5032 9830 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5033 9831 jQuery('.e2pdf-vm-wrapper').remove();
5034 9832 }
5035 9833 },
9834 + // e2pdf.visual.mapper.load
5036 9835 load: function (el) {
5037 9836 var loaded = false;
5038 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5039 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5038,17 +9837,17 @@
5038 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5039 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5040 9839 var width = el.css('width');
5041 9840 var height = el.css('height');
5042 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5043 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
5044 - loaded = jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9841 + var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9842 + var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9843 + loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5045 9844 'width': width, 'height': height, 'top': top, 'left': left
5046 9845 });
5047 9846 var name = el.attr('name');
5048 9847 var type = el.attr('type');
5049 9848 var value = el.attr('value');
5050 - if (el.is("select")) {
9849 + if (el.is('select')) {
5051 9850 type = 'select';
5052 9851 value = '';
5053 9852 el.find('option').each(function () {
5054 9853 value += jQuery(this).attr('value');
@@ -5064,137 +9863,311 @@
5064 9863 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5065 9864 }
5066 9865 return loaded;
5067 9866 },
9867 + // e2pdf.visual.mapper.apply
5068 9868 apply: function (el) {
5069 9869 if (e2pdf.visual.mapper.selected) {
9870 + var history = [];
9871 + history.push(e2pdf.visual.mapper.selected.clone(true));
9872 + e2pdf.history.set('element_change', history);
5070 9873 var name = el.data('name');
9874 + var group = el.data('name');
5071 9875 var value = el.data('value');
5072 - var type = el.data('type');
5073 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5074 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5075 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5076 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5077 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5078 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5079 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5080 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5081 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5082 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5083 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5084 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9876 + if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9877 + var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9878 + var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9879 + var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9880 + var final = textBefore + name + textAfter;
9881 + if (!e2pdf.static.vm.replace) {
9882 + e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9883 + e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9884 + } else {
9885 + e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9886 + }
9887 + name = final;
9888 + } else if (e2pdf.visual.mapper.cursorRange !== null) {
9889 + e2pdf.visual.mapper.cursorRange.deleteContents();
9890 + var node = document.createTextNode(name);
9891 + e2pdf.visual.mapper.cursorRange.insertNode(node);
5085 9892 } else {
5086 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9893 + if (!e2pdf.static.vm.replace) {
9894 + e2pdf.element.init(e2pdf.visual.mapper.selected);
9895 + name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9896 + }
5087 9897 }
5088 -
5089 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5090 - e2pdf.visual.mapper.selected = null;
9898 + switch (e2pdf.visual.mapper.selected.data('data-type')) {
9899 + case 'e2pdf-checkbox':
9900 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9901 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9902 + break;
9903 + case 'e2pdf-radio':
9904 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9905 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9906 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9907 + break;
9908 + case 'e2pdf-select':
9909 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9910 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9911 + break;
9912 + case 'e2pdf-image':
9913 + case 'e2pdf-qrcode':
9914 + case 'e2pdf-barcode':
9915 + case 'e2pdf-graph':
9916 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9917 + break;
9918 + default:
9919 + if (e2pdf.visual.mapper.cursorRange === null) {
9920 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9921 + }
9922 + break;
9923 + }
9924 + if (e2pdf.visual.mapper.cursorRange === null) {
9925 + e2pdf.properties.render(e2pdf.visual.mapper.selected);
9926 + }
5091 9927 }
5092 - e2pdf.dialog.close();
9928 + if (e2pdf.static.vm.close) {
9929 + e2pdf.dialog.close();
9930 + }
5093 9931 }
5094 9932 }
5095 9933 },
5096 9934 zoom: {
5097 - zoom: 1,
9935 + scale: 1,
5098 9936 click: {
5099 9937 x: 0,
5100 9938 y: 0
5101 9939 },
5102 9940 apply: function (el) {
5103 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5104 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5105 - });
5106 - if (el.val() !== '100') {
5107 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5108 - }
5109 -
5110 - e2pdf.zoom.zoom = el.val() / 100;
5111 - jQuery('#e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('#e2pdf-tpl').width()) / 2);
9941 + const scale = Number(el.val()) / 100;
9942 + e2pdf.zoom.scale = scale;
9943 + const tpl = jQuery('.e2pdf-tpl');
9944 + const inner = jQuery('.e2pdf-tpl-inner');
9945 + document.documentElement.style.setProperty('--e2pdf-scale', scale);
9946 + document.documentElement.style.setProperty('--e2pdf-scale-width', `${Math.max(100, 100 / scale)}%`);
9947 + tpl.toggleClass('e2pdf-zoom', scale !== 1);
9948 + tpl.scrollLeft(((inner.width() * e2pdf.zoom.scale) - tpl.width()) / 2);
5112 9949 }
5113 9950 }
5114 9951 };
5115 -
5116 -
5117 -
5118 9952 jQuery(window).resize(function () {
5119 9953 e2pdf.visual.mapper.clear();
5120 - if (this.e2pdfResizeTO)
9954 + if (e2pdf.static.observer !== null) {
9955 + e2pdf.static.observer.disconnect();
9956 + e2pdf.static.observer = null;
9957 + }
9958 + if (this.e2pdfResizeTO) {
5121 9959 clearTimeout(this.e2pdfResizeTO);
9960 + }
5122 9961 this.e2pdfResizeTO = setTimeout(function () {
5123 9962 jQuery(this).trigger('e2pdfResizeEnd');
5124 9963 }, 500);
5125 9964 });
5126 -
9965 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9966 + jQuery(this).parent().addClass('e2pdf-hide');
9967 + jQuery(this).trigger('e2pdfResizeEnd');
9968 +});
5127 9969 jQuery(window).bind('e2pdfResizeEnd', function () {
5128 9970 e2pdf.dialog.rebuild();
5129 9971 });
9972 +jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9973 + var collapse = jQuery(this).attr('data-collapse');
9974 + if (collapse) {
9975 + if (jQuery(this).is(':checked')) {
9976 + jQuery('.' + collapse).removeClass('e2pdf-hide');
9977 + } else {
9978 + jQuery('.' + collapse).addClass('e2pdf-hide');
9979 + }
9980 + }
9981 +});
9982 +jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
5130 9983
9984 + const form = jQuery(this).closest('form');
9985 + const value = jQuery(this).val();
9986 + jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9987 + if (value == '1') {
9988 + form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9989 + } else if (value == '2') {
9990 + form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9991 + }
9992 +
9993 + form.off('submit.confirmOverwrite');
9994 + if (value == '1' || value == '2' || value == '3') {
9995 + form.on('submit.confirmOverwrite', function (e) {
9996 + let message = '';
9997 + if (value == '3') {
9998 + message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9999 + } else {
10000 + const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
10001 + if (!template_id) {
10002 + return true;
10003 + }
10004 + message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
10005 + }
10006 + if (!confirm(message)) {
10007 + e.preventDefault();
10008 + return false;
10009 + }
10010 + });
10011 + }
10012 +});
10013 +jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
10014 + if (jQuery(this).val() == 'attachment') {
10015 + jQuery(this).closest('form').removeAttr('target');
10016 + } else {
10017 + jQuery(this).closest('form').attr('target', '_blank');
10018 + }
10019 +});
10020 +jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
10021 + var collapse = jQuery(this).attr('data-collapse');
10022 + if (collapse) {
10023 + if (jQuery(this).hasClass('e2pdf-collapsed')) {
10024 + jQuery('.' + collapse).addClass('e2pdf-hide');
10025 + jQuery(this).removeClass('e2pdf-collapsed');
10026 + } else {
10027 + jQuery('.' + collapse).removeClass('e2pdf-hide');
10028 + jQuery(this).addClass('e2pdf-collapsed');
10029 + }
10030 + }
10031 +});
5131 10032 jQuery(document).ready(function () {
5132 -
5133 - jQuery('a.e2pdf-link[disabled="disabled"]').live('click', function (e) {
10033 + jQuery('body').removeClass('e2pdf-loading');
10034 + if (jQuery('.e2pdf-select2').length > 0) {
10035 + jQuery('.e2pdf-select2').attr('disabled', false);
10036 + }
10037 + jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
5134 10038 e.stopPropagation();
5135 10039 e.preventDefault();
5136 10040 e.stopImmediatePropagation();
5137 10041 return false;
5138 10042 });
5139 -
5140 - jQuery('.e2pdf-action-add').live('click', function (e) {
10043 + jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
10044 + var parent = jQuery(this).closest('.e2pdf-grid');
10045 + var argument = parent.find('.e2pdf-argument').first().clone();
10046 + var index = parent.find('.e2pdf-argument').length + 1;
10047 + argument.find('input').val('').attr('placeholder', 'arg' + index);
10048 + argument.appendTo(parent.find('.e2pdf-arguments'));
10049 + });
10050 + jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
10051 + var parent = jQuery(this).closest('.e2pdf-grid');
10052 + if (parent.find('.e2pdf-argument').length > 1) {
10053 + parent.find('.e2pdf-argument').last().remove();
10054 + }
10055 + });
10056 + jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
10057 + var parent = jQuery('.e2pdf-search-replaces').first();
10058 + var search_replace = parent.find('.e2pdf-search-replace').first().clone();
10059 + search_replace.find('textarea').val('');
10060 + search_replace.appendTo(parent);
10061 + });
10062 + jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
10063 + var parent = jQuery(this).closest('.e2pdf-search-replace');
10064 + if (parent) {
10065 + parent.remove();
10066 + }
10067 + });
10068 + jQuery(document).on('click', '.e2pdf-action-add', function (e) {
5141 10069 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5142 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
10070 + var form = jQuery(this).closest('form');
10071 + if (form.attr('id') === 'e2pdf-tpl-actions') {
10072 + var element = jQuery('.e2pdf-tpl');
10073 + } else if (form.attr('id') === 'e2pdf-page-options') {
10074 + var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
10075 + } else {
10076 + var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10077 + }
5143 10078 e2pdf.actions.add(element, actions);
5144 - jQuery(this).trigger('e2pdfResizeEnd');
5145 10079 });
10080 + jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
10081 + var action_conditions = jQuery(this).closest('.e2pdf-action');
10082 + var form = jQuery(this).closest('form');
10083 + if (form.attr('id') === 'e2pdf-tpl-actions') {
10084 + var element = jQuery('.e2pdf-tpl');
10085 + } else if (form.attr('id') === 'e2pdf-page-options') {
10086 + var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
10087 + } else {
10088 + var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10089 + }
5146 10090
5147 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5148 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5149 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5150 10091 e2pdf.actions.conditions.add(element, action_conditions);
5151 - jQuery(this).trigger('e2pdfResizeEnd');
5152 10092 });
5153 -
5154 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5155 - if (!confirm(e2pdfLang['Action will be removed! Are you sure want to continue?'])) {
10093 + jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
10094 + if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
5156 10095 return false;
5157 10096 }
5158 10097 var action = jQuery(this).closest('.e2pdf-action');
5159 10098 e2pdf.actions.delete(action);
5160 10099 });
5161 -
5162 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10100 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5163 10101 var action = jQuery(this).closest('.e2pdf-action');
10102 + e2pdf.actions.duplicate(action);
10103 + });
10104 + jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
10105 + var action = jQuery(this).closest('.e2pdf-action');
5164 10106 if (action.find('.e2pdf-condition').length === 1) {
5165 - alert(e2pdfLang["Last condition can't be removed"]);
10107 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5166 10108 return false;
5167 10109 }
5168 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10110 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5169 10111 return false;
5170 10112 }
5171 10113 var condition = jQuery(this).closest('.e2pdf-condition');
5172 10114 e2pdf.actions.conditions.delete(condition);
5173 10115 });
5174 -
5175 - jQuery('#e2pdf-zoom').live('change', function () {
10116 + jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
10117 + jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
10118 + });
10119 + jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
10120 + if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
10121 + return false;
10122 + }
10123 + var history = [];
10124 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10125 + var el = jQuery(this);
10126 + history.push(el.clone(true));
10127 + el.css('background', '');
10128 + });
10129 + e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
10130 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
10131 + });
10132 + jQuery(document).on('change', '#e2pdf-zoom', function (e) {
5176 10133 e2pdf.zoom.apply(jQuery(this));
5177 10134 });
5178 -
5179 - jQuery('#e2pdf-extension').live('change', function () {
10135 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5180 10136 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5181 10137 });
5182 -
5183 - jQuery('.e2pdf-action-action select, .e2pdf-action-property select').live('change', function () {
10138 + jQuery(document).on('change', '.e2pdf-item', function (e) {
10139 + if (jQuery(this).val() == '-1') {
10140 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10141 + jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10142 + jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10143 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10144 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10145 + } else if (jQuery(this).val() == '-2') {
10146 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10147 + jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10148 + jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10149 + jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10150 + jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
10151 + } else {
10152 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10153 + jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10154 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10155 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10156 + }
10157 + });
10158 + jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
5184 10159 var action = jQuery(this).closest('.e2pdf-action');
5185 - e2pdf.actions.change(action);
10160 + e2pdf.actions.change(action, jQuery(this));
5186 10161 });
5187 -
5188 - jQuery('.e2pdf-tabs a').live('click', function () {
5189 - jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide()
10162 + jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10163 + jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
5190 10164 var tab = jQuery(this);
5191 10165 tab.closest('ul').find('li').removeClass('active');
5192 10166 tab.parent('li').addClass('active');
5193 10167 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5194 10168 });
5195 -
5196 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10169 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5197 10170 var parent = jQuery(this).closest('.e2pdf-closed');
5198 10171 if (parent.hasClass('e2pdf-opened')) {
5199 10172 parent.removeClass('e2pdf-opened');
5200 10173 } else {
@@ -5203,197 +10176,358 @@
5203 10176 });
5204 10177 parent.addClass('e2pdf-opened');
5205 10178 }
5206 10179 });
5207 -
5208 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10180 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5209 10181 e.preventDefault();
5210 10182 var el = jQuery(this);
10183 + if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10184 + if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10185 + return false;
10186 + }
10187 + }
10188 + if (el.attr('form-id') == 'license_key') {
10189 + 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?'))) {
10190 + return false;
10191 + }
10192 + }
5211 10193 e2pdf.request.submitForm(el);
5212 10194 });
5213 -
5214 - jQuery('.e2pdf-submit-local').live('click', function () {
10195 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5215 10196 var el = jQuery(this);
5216 - e2pdf.request.submitLocal(el);
10197 + if (el.hasClass('e2pdf-noclose')) {
10198 + e2pdf.request.submitLocal(el, true);
10199 + } else {
10200 + e2pdf.request.submitLocal(el);
10201 + }
5217 10202 });
5218 -
5219 - jQuery('.e2pdf-delete').live('click', function () {
5220 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
10203 + jQuery(document).on('click', '.e2pdf-delete', function (e) {
10204 + 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?');
5221 10205 if (!confirm(message)) {
5222 10206 e2pdf.delete('.e2pdf-context');
5223 10207 return false;
5224 10208 }
10209 + var history = [];
5225 10210 for (var key in e2pdf.element.selected) {
5226 10211 var selected = e2pdf.element.selected[key];
10212 + e2pdf.element.init(selected);
10213 + history.push(selected.clone(true));
5227 10214 e2pdf.element.delete(selected);
5228 10215 }
5229 -
10216 + e2pdf.history.set('element_delete', history);
5230 10217 e2pdf.element.unselect();
5231 10218 });
5232 -
5233 - jQuery('.e2pdf-copy').live('click', function () {
5234 - e2pdf.element.unbuffer();
5235 -
10219 + jQuery(document).on('click', '.e2pdf-copy', function (e) {
10220 + var type = jQuery(this).attr('type');
10221 + if (type == 'elements') {
10222 + e2pdf.storage.delete('elements');
10223 + }
5236 10224 for (var key in e2pdf.element.selected) {
5237 10225 var selected = e2pdf.element.selected[key];
5238 - e2pdf.element.copy(selected);
10226 + e2pdf.copy(type, selected);
5239 10227 }
5240 10228 });
5241 -
5242 - jQuery('.e2pdf-hidden').live('click', function () {
10229 + jQuery(document).on('click', '.e2pdf-paste', function (e) {
10230 + var type = jQuery(this).attr('type');
10231 + if (type == 'elements' || type == 'elements-in-place') {
10232 + e2pdf.paste(type);
10233 + } else {
10234 + var history = [];
10235 + for (var key in e2pdf.element.selected) {
10236 + var selected = e2pdf.element.selected[key];
10237 + history.push(selected.clone(true));
10238 + e2pdf.paste(type, selected);
10239 + }
10240 + e2pdf.history.set('element_change', history);
10241 + }
10242 + });
10243 + jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10244 + var history = [];
5243 10245 for (var key in e2pdf.element.selected) {
5244 10246 var selected = e2pdf.element.selected[key];
10247 + if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10248 + history.push(selected.clone(true));
10249 + e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10250 + }
10251 + }
10252 + e2pdf.history.set('element_change', history);
10253 + });
10254 + jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10255 + var history = [];
10256 + for (var key in e2pdf.element.selected) {
10257 + var selected = e2pdf.element.selected[key];
10258 + if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10259 + history.push(selected.clone(true));
10260 + e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10261 + e2pdf.properties.render(selected);
10262 + } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10263 + history.push(selected.clone(true));
10264 + e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10265 + e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10266 + e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10267 + e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10268 + e2pdf.properties.render(selected);
10269 + }
10270 + }
10271 + e2pdf.history.set('element_change', history);
10272 + });
10273 + jQuery(document).on('click', '.e2pdf-cut', function (e) {
10274 + e2pdf.storage.delete('elements');
10275 + var history = [];
10276 + for (var key in e2pdf.element.selected) {
10277 + var selected = e2pdf.element.selected[key];
10278 + e2pdf.element.init(selected);
10279 + history.push(selected.clone(true));
10280 + e2pdf.copy('elements', selected);
10281 + e2pdf.element.delete(selected);
10282 + }
10283 + e2pdf.history.set('element_delete', history);
10284 + });
10285 + jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10286 + e.preventDefault();
10287 + e.stopPropagation();
10288 + e.stopImmediatePropagation();
10289 + });
10290 + jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10291 + jQuery(this).find('ul').show();
10292 + });
10293 + jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10294 + jQuery(this).find('ul').hide();
10295 + });
10296 + jQuery(document).on('click', '.e2pdf-resize', function (e) {
10297 + for (var key in e2pdf.element.selected) {
10298 + var selected = e2pdf.element.selected[key];
10299 + selected.addClass('e2pdf-focused');
10300 + }
10301 + });
10302 + jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10303 + for (var key in e2pdf.element.selected) {
10304 + var selected = e2pdf.element.selected[key];
5245 10305 e2pdf.element.hide(selected);
5246 10306 }
5247 10307 });
5248 -
5249 - jQuery('.e2pdf-unhidden').live('click', function () {
10308 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5250 10309 for (var key in e2pdf.element.selected) {
5251 10310 var selected = e2pdf.element.selected[key];
5252 10311 e2pdf.element.show(selected);
5253 10312 }
5254 10313 });
5255 -
5256 - jQuery('.e2pdf-cut').live('click', function () {
5257 - e2pdf.element.unbuffer();
10314 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5258 10315 for (var key in e2pdf.element.selected) {
5259 10316 var selected = e2pdf.element.selected[key];
5260 - e2pdf.element.cut(selected);
10317 + e2pdf.properties.set(selected, 'locked', '1');
10318 + selected.addClass('e2pdf-locked');
5261 10319 }
5262 10320 });
5263 -
5264 - jQuery('.e2pdf-paste').live('click', function () {
5265 - e2pdf.element.paste(false);
10321 + jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10322 + for (var key in e2pdf.element.selected) {
10323 + var selected = e2pdf.element.selected[key];
10324 + e2pdf.properties.set(selected, 'locked', '0');
10325 + selected.removeClass('e2pdf-locked');
10326 + }
5266 10327 });
5267 -
5268 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5269 - e2pdf.element.paste(true);
10328 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10329 + return false;
5270 10330 });
5271 -
5272 - jQuery('.e2pdf-checkbox').live('click', function () {
10331 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5273 10332 return false;
5274 10333 });
5275 -
5276 - jQuery('.e2pdf-radio').live('click', function () {
5277 - return false;
10334 + jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10335 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10336 + jQuery('html').addClass('e2pdf-show-all-elements');
10337 + jQuery(this).removeClass('e2pdf-inactive');
10338 + } else {
10339 + jQuery('html').removeClass('e2pdf-show-all-elements');
10340 + jQuery(this).addClass('e2pdf-inactive');
10341 + }
5278 10342 });
5279 -
5280 - jQuery('.e2pdf-hide-controls').live('click', function () {
5281 -
10343 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5282 10344 if (jQuery(this).hasClass('e2pdf-inactive')) {
5283 - jQuery('html').removeClass('e2pdf-hide-markup');
10345 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5284 10346 jQuery(this).removeClass('e2pdf-inactive');
5285 10347 } else {
5286 - jQuery('html').addClass('e2pdf-hide-markup');
10348 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5287 10349 jQuery(this).addClass('e2pdf-inactive');
5288 10350 }
5289 10351 });
5290 -
5291 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10352 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5292 10353 if (jQuery(this).hasClass('e2pdf-inactive')) {
5293 - jQuery('html').addClass('e2pdf-show-all-elements');
5294 10354 jQuery(this).removeClass('e2pdf-inactive');
5295 10355 } else {
5296 - jQuery('html').removeClass('e2pdf-show-all-elements');
5297 10356 jQuery(this).addClass('e2pdf-inactive');
5298 10357 }
10358 + jQuery('.e2pdf-html').each(function () {
10359 + var el = jQuery(this).parent();
10360 + var children = jQuery(this);
10361 + if (children.is('textarea')) {
10362 + e2pdf.properties.set(el, 'value', children.val());
10363 + } else {
10364 + e2pdf.properties.set(el, 'value', children.html());
10365 + }
10366 + e2pdf.properties.render(el);
10367 + });
5299 10368 });
5300 -
5301 - jQuery('.e2pdf-add-page').live('click', function () {
10369 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5302 10370 if (e2pdf.pdf.settings.get('pdf')) {
5303 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5304 - } else if (e2pdfParams['license_type'] == 'FREE') {
5305 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
10371 + alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10372 + } else if (e2pdf_params['license_type'] == 'FREE') {
10373 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
5306 10374 } else {
5307 10375 e2pdf.pages.createPage();
5308 10376 }
5309 10377 });
5310 -
5311 - jQuery('.e2pdf-create-pdf').live('click', function () {
10378 + jQuery(document).on('click', '.e2pdf-undo', function (e) {
10379 + e2pdf.history.undo();
10380 + });
10381 + jQuery(document).on('click', '.e2pdf-redo', function (e) {
10382 + e2pdf.history.redo();
10383 + });
10384 + jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10385 + if (e2pdf.url.get('revision_id')) {
10386 + alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10387 + return false;
10388 + }
5312 10389 e2pdf.createPdf(jQuery(this));
5313 10390 });
5314 -
5315 - jQuery('.e2pdf-up-page').live('click', function () {
10391 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5316 10392 e2pdf.pages.movePage(jQuery(this), 'up');
5317 10393 });
5318 -
5319 - jQuery('.e2pdf-down-page').live('click', function () {
10394 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5320 10395 e2pdf.pages.movePage(jQuery(this), 'down');
5321 10396 });
5322 -
5323 - jQuery('.e2pdf-delete-page').live('click', function () {
10397 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5324 10398 if (e2pdf.pdf.settings.get('pdf')) {
5325 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10399 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5326 10400 return false;
5327 10401 }
5328 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10402 + var history = [];
10403 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5329 10404 var el = jQuery(this);
10405 + history.push(el.closest('.e2pdf-page').clone(true));
5330 10406 e2pdf.pages.deletePage(el);
5331 10407 });
10408 + history.reverse();
10409 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5332 10410 } else {
5333 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10411 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5334 10412 return false;
5335 10413 }
5336 10414 var el = jQuery(jQuery(this));
10415 + var history = [];
10416 + history.push(el.closest('.e2pdf-page').clone(true));
10417 + e2pdf.history.set('page_delete', history);
5337 10418 e2pdf.pages.deletePage(el);
5338 10419 }
5339 10420 });
5340 -
5341 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5342 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10421 + jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10422 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5343 10423 return false;
5344 10424 }
5345 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10425 + var history = [];
10426 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5346 10427 var el = jQuery(this);
10428 + history.push(el.closest('.e2pdf-page').clone(true));
5347 10429 e2pdf.pages.deletePage(el);
5348 10430 });
10431 + history.reverse();
10432 + if (e2pdf.pdf.settings.get('pdf')) {
10433 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10434 + } else {
10435 + e2pdf.history.set('page_delete', history);
10436 + }
5349 10437 });
5350 -
5351 - jQuery('.e2pdf-delete-font').live('click', function () {
5352 - if (!confirm(e2pdfLang['Are you sure want to remove font?'])) {
10438 + jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10439 + if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
5353 10440 return false;
5354 10441 }
5355 10442 var el = jQuery(jQuery(this));
5356 10443 e2pdf.font.delete(el);
5357 10444 });
5358 -
5359 - jQuery('.e2pdf-modal').live('click', function () {
10445 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5360 10446 e2pdf.dialog.create(jQuery(this));
5361 10447 });
5362 -
5363 - jQuery('body').live('click', function (e) {
10448 + jQuery(document).on('click', 'body', function (e) {
5364 10449 e2pdf.delete('.e2pdf-context');
5365 10450 });
5366 -
5367 - jQuery('#e2pdf-font').live('change', function () {
5368 - e2pdf.font.load(jQuery(this));
5369 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery(this));
10451 + jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10452 + e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
5370 10453 });
5371 -
5372 - jQuery('#e2pdf-export-template').live('change', function () {
5373 - e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10454 + jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10455 + if (jQuery(this).is('select')) {
10456 + var data = {};
10457 + data['id'] = jQuery('.e2pdf-export-template').val();
10458 + data['datasets'] = {};
10459 + jQuery('.e2pdf-export-dataset').each(function () {
10460 + data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10461 + });
10462 + e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10463 + }
5374 10464 });
5375 -
5376 - jQuery('#e2pdf-export-dataset').live('change', function () {
10465 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5377 10466 var data = {};
5378 - data['template'] = jQuery('#e2pdf-export-template').val();
5379 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5380 - e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10467 + data['id'] = jQuery('.e2pdf-export-template').val();
10468 + data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10469 + data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10470 + e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
5381 10471 });
10472 + jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10473 + if (jQuery(this).is(':checked')) {
10474 + if (jQuery(this).val() == '') {
10475 + jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10476 + }
10477 + } else {
10478 + if (jQuery(this).val() == '') {
10479 + jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10480 + } else {
10481 + jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10482 + }
10483 + }
5382 10484
5383 - jQuery('#e2pdf-font-size').live('change', function () {
5384 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery(this));
10485 + if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10486 + jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10487 + }
10488 +
10489 + if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10490 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10491 + } else {
10492 + jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10493 + }
5385 10494 });
5386 -
5387 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5388 - if (jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10495 + jQuery(document).on('change', '#e2pdf-font', function (e) {
10496 + e2pdf.font.load(jQuery(this));
10497 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10498 + });
10499 + jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10500 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10501 + });
10502 + jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10503 + var text_align = jQuery(this).val();
10504 + jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10505 + if (
10506 + jQuery(this).data('data-type') == 'e2pdf-input'
10507 + || jQuery(this).data('data-type') == 'e2pdf-textarea'
10508 + || jQuery(this).data('data-type') == 'e2pdf-html'
10509 + || jQuery(this).data('data-type') == 'e2pdf-page-number'
10510 + || jQuery(this).data('data-type') == 'e2pdf-link'
10511 + ) {
10512 + if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10513 + var children = e2pdf.element.children(jQuery(this));
10514 + children.css('text-align', text_align);
10515 + }
10516 + }
10517 + });
10518 + });
10519 + jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10520 + if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10521 + jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
5389 10522 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5390 10523 (e.shiftKey === true && e.keyCode === 187) ||
5391 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10524 + (e.keyCode >= 35 && e.keyCode <= 40)
10525 + ) {
5392 10526
5393 - if ((e.keyCode === 109 || e.keyCode === 189) && !jQuery(this).hasClass('e2pdf-number-negative')) {
10527 + if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
5394 10528 e.preventDefault();
5395 - } else if ((e.keyCode === 187 || e.keyCode === 107) && !jQuery(this).hasClass('e2pdf-number-positive')) {
10529 + } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
5396 10530 e.preventDefault();
5397 10531 } else {
5398 10532 return;
5399 10533 }
@@ -5401,10 +10535,19 @@
5401 10535 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5402 10536 e.preventDefault();
5403 10537 }
5404 10538 });
5405 -
5406 - jQuery('.e2pdf-numbers').live('change', function (e) {
10539 + jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10540 + if (e.which == 13) {
10541 + e.preventDefault();
10542 + if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10543 + jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10544 + } else {
10545 + jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10546 + }
10547 + }
10548 + });
10549 + jQuery(document).on('change', '.e2pdf-numbers', function (e) {
5407 10550 var value = jQuery(this).val().trim();
5408 10551 var prefix = '';
5409 10552 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5410 10553 prefix = '+';
@@ -5414,18 +10557,22 @@
5414 10557 value = 0;
5415 10558 }
5416 10559 jQuery(this).val(prefix + value);
5417 10560 });
5418 -
5419 - jQuery('#e2pdf-font-color').live('change', function () {
5420 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10561 + jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10562 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
5421 10563 });
5422 -
5423 - jQuery('#e2pdf-line-height').live('change', function () {
5424 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery(this));
10564 + jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10565 + if (jQuery(this).is(':checked')) {
10566 + jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10567 + } else {
10568 + jQuery('.e2pdf-tpl').attr('dir', false);
10569 + }
5425 10570 });
5426 -
5427 - jQuery('.e2pdf-upload').live('click', function (e) {
10571 + jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10572 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10573 + });
10574 + jQuery(document).on('click', '.e2pdf-upload', function (e) {
5428 10575 e.preventDefault();
5429 10576 for (var key in e2pdf.element.selected) {
5430 10577 var selected = e2pdf.element.selected[key];
5431 10578 e2pdf.mediaUploader.init(selected);
@@ -5430,25 +10577,43 @@
5430 10577 var selected = e2pdf.element.selected[key];
5431 10578 e2pdf.mediaUploader.init(selected);
5432 10579 }
5433 10580 });
5434 -
5435 - jQuery('.e2pdf-visual').live('click', function (e) {
10581 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5436 10582 for (var key in e2pdf.element.selected) {
5437 10583 var selected = e2pdf.element.selected[key];
5438 10584 e2pdf.visual.mapper.init(selected);
5439 10585 }
5440 10586 });
5441 -
5442 - jQuery('.e2pdf-apply-wysiwyg').live('click', function () {
10587 + document.addEventListener('selectionchange', function () {
10588 + if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10589 + jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10590 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10591 + const selection = window.getSelection();
10592 + if (selection && selection.toString().length == 0) {
10593 + jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10594 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10595 + }
10596 + } else {
10597 + jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10598 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10599 + }
10600 + });
10601 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10602 + e.preventDefault();
10603 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10604 + return;
10605 + }
5443 10606 e2pdf.wysiwyg.apply(jQuery(this));
5444 10607 });
5445 -
5446 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5447 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10608 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5448 10609 e.preventDefault();
5449 10610 e.stopPropagation();
5450 10611 e.stopImmediatePropagation();
10612 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10613 + return;
10614 + }
10615 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5451 10616 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5452 10617 if (!color_panel.hasClass('wp-picker-active')) {
5453 10618 color_panel.find('.wp-color-result').click();
5454 10619 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5459,87 +10624,210 @@
5459 10624 color_panel.append(close);
5460 10625 }
5461 10626 }
5462 10627 });
5463 -
5464 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5465 - e2pdf.wysiwyg.apply(jQuery(this));
10628 + jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10629 + e.preventDefault();
10630 + e.stopPropagation();
10631 + e.stopImmediatePropagation();
10632 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10633 + return;
10634 + }
10635 + var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10636 + if (gridContainer.hasClass('e2pdf-hide')) {
10637 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10638 + gridContainer.removeClass('e2pdf-hide').empty();
10639 + for (let i = 0; i < 100; i++) {
10640 + let gridItem = jQuery('<div>');
10641 + gridItem.on('mouseover', function () {
10642 + let rowCol = calculateRowCol(i);
10643 + highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10644 + });
10645 + gridItem.on('mouseout', function () {
10646 + highlightGrid(gridContainer, 0, 0);
10647 + });
10648 + gridItem.on('click', function () {
10649 + e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10650 + let rowCol = calculateRowCol(i);
10651 + let html = '<table>\n';
10652 + for (let r = 0; r < rowCol.rows; r++) {
10653 + html += '<tr>\n';
10654 + for (let c = 0; c < rowCol.cols; c++) {
10655 + html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10656 + }
10657 + html += '</tr>\n';
10658 + }
10659 + html += '</table>\n';
10660 + document.execCommand('insertHTML', false, html);
10661 + gridContainer.addClass('e2pdf-hide');
10662 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10663 + });
10664 + gridContainer.append(gridItem);
10665 + }
10666 + gridContainer.append(jQuery('<span>').text('0x0'));
10667 + } else {
10668 + gridContainer.addClass('e2pdf-hide');
10669 + }
10670 + function calculateRowCol(index) {
10671 + let rows = Math.floor(index / 10) + 1;
10672 + let cols = (index % 10) + 1;
10673 + return {rows, cols};
10674 + }
10675 + function highlightGrid(gridContainer, rows, cols) {
10676 + gridContainer.find('div').each(function (idx) {
10677 + let itemRowCol = calculateRowCol(idx);
10678 + gridContainer.find('span').text(rows + 'x' + cols);
10679 + if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10680 + jQuery(this).addClass('e2pdf-highlight');
10681 + } else {
10682 + jQuery(this).removeClass('e2pdf-highlight');
10683 + }
10684 + });
10685 + }
5466 10686 });
5467 -
5468 - jQuery('#e2pdf_wysiwyg_fontsize').live('change', function () {
10687 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5469 10688 e2pdf.wysiwyg.apply(jQuery(this));
5470 10689 });
5471 -
5472 - jQuery('#e2pdf_wysiwyg_font').live('change', function () {
5473 - e2pdf.wysiwyg.apply(jQuery(this));
10690 + jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10691 + e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
5474 10692 });
10693 + jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10694 + if (e2pdf.url.get('revision_id')) {
10695 + alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10696 + return false;
10697 + }
5475 10698
5476 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5477 - e2pdf.request.upload('e2pdf_upload', jQuery('#e2pdf-w-upload'));
10699 + var message = "";
10700 + if (e2pdf.static.unsaved) {
10701 + message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10702 + }
10703 + message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10704 + jQuery(this).attr('disabled', 'disabled');
10705 + jQuery(this).closest('form').append(
10706 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10707 + jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10708 + jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10709 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10710 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10711 + ),
10712 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10713 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10714 + )
10715 + )
10716 + )
10717 + );
5478 10718 });
5479 -
5480 - jQuery('#e2pdf-w-reupload').live('click', function () {
5481 - var message = "";
10719 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
5482 10720 if (e2pdf.static.unsaved) {
5483 - message += e2pdfLang['WARNING: Template has changes after last save! Changes will be lost!'] + "\r\n";
10721 + if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10722 + var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10723 + jQuery(this).val(revision_id);
10724 + return false;
10725 + }
5484 10726 }
5485 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5486 - if (!confirm(message)) {
10727 + e2pdf.static.unsaved = false;
10728 + var revision_id = jQuery(this).val();
10729 + var template_id = e2pdf.pdf.settings.get('ID');
10730 + var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10731 + if (revision_id === '0') {
10732 + url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10733 + }
10734 + jQuery(this).attr('disabled', 'disabled');
10735 + location.href = url;
10736 + });
10737 + jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10738 + if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
5487 10739 return false;
5488 10740 }
5489 - jQuery('#e2pdf-reupload-pdf').click();
10741 + jQuery('html').addClass('e2pdf-loading');
10742 + var data = {};
10743 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
5490 10744 });
5491 -
5492 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5493 - e2pdf.request.upload('e2pdf_reupload', jQuery('#e2pdf-w-reupload'));
10745 + jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10746 + if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10747 + return false;
10748 + }
10749 + jQuery('html').addClass('e2pdf-loading');
10750 + var data = {};
10751 + e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
5494 10752 });
5495 -
5496 - jQuery('.e2pdf-scale-field').live('change', function () {
5497 - var value = jQuery(this).val();
5498 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5499 - fields.find('input[name="height"]').attr('readonly', false);
5500 - fields.find('input[name="width"]').attr('readonly', false);
5501 - var image = new Image();
5502 - image.src = fields.find('*[name="value"]').val();
5503 - image.onload = function ()
5504 - {
5505 - if (value === e2pdf.static.const.WIDTH) {
5506 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5507 - } else if (value === e2pdf.static.const.HEIGHT) {
5508 - fields.find('input[name="width"]').attr('readonly', 'readonly');
5509 - }
5510 - };
10753 + jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10754 + jQuery(this).closest('.e2pdf-confirmation').remove();
10755 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10756 + jQuery('.e2pdf-reupload-pdf').click();
5511 10757 });
5512 -
5513 - jQuery('.e2pdf-el-properties input[name="group"]').live('click', function () {
10758 + jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10759 + jQuery(this).closest('.e2pdf-confirmation').remove();
10760 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10761 + });
10762 + jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10763 + e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10764 + });
10765 + jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
5514 10766 jQuery(this).autocomplete("search", "");
5515 10767 });
5516 -
5517 - jQuery('.e2pdf-settings-style-change').live('change', function () {
10768 + jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10769 + if (!jQuery(this).is(':checked')) {
10770 + if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10771 + return false;
10772 + }
10773 + }
10774 + });
10775 + jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
5518 10776 e2pdf.event.fire('after.settings.style.change');
5519 10777 });
5520 -
5521 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10778 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5522 10779 e2pdf.event.fire('after.settings.template.change');
5523 10780 });
5524 -
5525 - jQuery('select[name="preset"]').live('change', function () {
10781 + jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10782 + var form = jQuery(this).closest('form');
10783 + var field = jQuery(this).attr('field');
10784 + var search = jQuery(this).val();
10785 + var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10786 + var options = fieldset.data('options');
10787 + var regex = new RegExp(search, "gi");
10788 + fieldset.empty();
10789 + jQuery.each(options, function (i) {
10790 + var option = options[i];
10791 + if (i == 0 || option.value.match(regex) !== null) {
10792 + 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}))));
10793 + }
10794 + });
10795 + fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10796 + if (fieldset.find('input[type="checkbox"]').length > 1) {
10797 + form.find('.e2pdf-submit-form').attr('disabled', false);
10798 + } else {
10799 + fieldset.find('input[type="checkbox"]').attr('disabled', true);
10800 + form.find('.e2pdf-submit-form').attr('disabled', true);
10801 + }
10802 + if (this.changeTrigger) {
10803 + clearTimeout(this.changeTrigger);
10804 + }
10805 + this.changeTrigger = setTimeout(function () {
10806 + fieldset.trigger('change');
10807 + }, 1000);
10808 + });
10809 + jQuery(document).on('change', 'select[name="preset"]', function (e) {
5526 10810 if (jQuery(this).val() !== '') {
5527 10811 var form = jQuery(this).closest('form');
5528 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10812 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5529 10813 form.find('input[name="width"]').val(size.width);
5530 10814 form.find('input[name="height"]').val(size.height);
5531 10815 }
5532 10816 });
5533 -
5534 - jQuery('.e2pdf-vm-element').live('click', function () {
10817 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5535 10818 e2pdf.visual.mapper.apply(jQuery(this));
5536 10819 });
5537 -
5538 - jQuery('.e2pdf-drag').live('click', function (e) {
10820 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10821 + e2pdf.element.unselect();
10822 + e2pdf.element.unfocus();
5539 10823 var el = jQuery(this).closest('.e2pdf-element');
5540 -
5541 - if (e.ctrlKey) {
10824 + e2pdf.element.focus(el);
10825 + });
10826 + jQuery(document).on('click', '.e2pdf-drag', function (e) {
10827 + var el = jQuery(this).closest('.e2pdf-element');
10828 + e2pdf.element.unfocus();
10829 + if (e.ctrlKey || e.metaKey) {
5542 10830 if (el.hasClass('e2pdf-selected')) {
5543 10831 e2pdf.element.unselect(el);
5544 10832 } else {
5545 10833 e2pdf.element.select(el);
@@ -5561,23 +10849,21 @@
5561 10849 }
5562 10850 }
5563 10851 }
5564 10852 });
5565 -
5566 - jQuery('.e2pdf-activate-template').live('click', function () {
10853 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5567 10854 var data = {};
5568 10855 data['id'] = jQuery(this).attr('data-id');
5569 10856 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5570 10857 });
5571 -
5572 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10858 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5573 10859 var data = {};
5574 10860 data['id'] = jQuery(this).attr('data-id');
5575 10861 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5576 10862 });
5577 -
5578 - jQuery('.e2pdf-delete-item').live('click', function () {
5579 - if (!confirm(e2pdfLang['Dataset will be removed! Are you sure want to continue?'])) {
10863 + jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10864 + e.preventDefault();
10865 + if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
5580 10866 return false;
5581 10867 }
5582 10868 var data = {};
5583 10869 data['template'] = jQuery(this).attr('template');
@@ -5583,11 +10869,11 @@
5583 10869 data['template'] = jQuery(this).attr('template');
5584 10870 data['dataset'] = jQuery(this).attr('dataset');
5585 10871 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5586 10872 });
5587 -
5588 - jQuery('.e2pdf-delete-items').live('click', function () {
5589 - if (!confirm(e2pdfLang['All datasets will be removed! Are you sure want to continue?'])) {
10873 + jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10874 + e.preventDefault();
10875 + if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
5590 10876 return false;
5591 10877 }
5592 10878 var data = {};
5593 10879 data['template'] = jQuery(this).attr('template');
@@ -5592,17 +10878,103 @@
5592 10878 var data = {};
5593 10879 data['template'] = jQuery(this).attr('template');
5594 10880 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5595 10881 });
5596 -
5597 - jQuery('.e2pdf-copy-field').live('click', function () {
10882 + jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10883 + e.preventDefault();
10884 + switch (jQuery(this).attr('action')) {
10885 + case 'start':
10886 + if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10887 + return false;
10888 + }
10889 + break;
10890 + case 'stop':
10891 + if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10892 + return false;
10893 + }
10894 + break;
10895 + case 'delete':
10896 + if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10897 + return false;
10898 + }
10899 + break;
10900 + }
10901 + var data = {};
10902 + data['bulk'] = jQuery(this).attr('bulk');
10903 + data['action'] = jQuery(this).attr('action');
10904 + e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10905 + });
10906 + jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
5598 10907 jQuery(this).select();
5599 10908 });
5600 -
5601 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10909 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5602 10910 jQuery(this).autocomplete("search", '');
5603 10911 });
5604 -
10912 + jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10913 + if (jQuery(this).is(':checked')) {
10914 + e2pdf.static.vm.hidden = true;
10915 + } else {
10916 + e2pdf.static.vm.hidden = false;
10917 + }
10918 + e2pdf.visual.mapper.rebuild();
10919 + });
10920 + jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10921 + var value = jQuery(this).val();
10922 + if (value != '') {
10923 + jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10924 + jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10925 + return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10926 + }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10927 + jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10928 + return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10929 + }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10930 + jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10931 + return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10932 + }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10933 + } else {
10934 + jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10935 + }
10936 + e2pdf.visual.mapper.rebuild();
10937 + });
10938 + jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10939 + if (jQuery(this).is(':checked')) {
10940 + e2pdf.static.vm.replace = true;
10941 + } else {
10942 + e2pdf.static.vm.replace = false;
10943 + }
10944 + });
10945 + jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10946 + if (jQuery(this).is(':checked')) {
10947 + e2pdf.static.vm.close = true;
10948 + } else {
10949 + e2pdf.static.vm.close = false;
10950 + }
10951 + });
10952 + jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10953 + if (typeof e.clipboardData != 'undefined') {
10954 + var clipboardData = e.clipboardData;
10955 + } else if (typeof window.clipboardData != 'undefined') {
10956 + var clipboardData = window.clipboardData;
10957 + } else {
10958 + var clipboardData = e.originalEvent.clipboardData;
10959 + }
10960 + if (typeof clipboardData.getData('text/plain') != 'undefined') {
10961 + e.preventDefault();
10962 + let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10963 + data = e2pdf.helper.stripHTML(
10964 + data,
10965 + 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10966 + 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10967 + 'span', 'a', 'br',
10968 + 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10969 + 'sub', 'sup',
10970 + 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10971 + 'ul', 'ol', 'li',
10972 + 'a'
10973 + );
10974 + return document.execCommand('insertHtml', false, data);
10975 + }
10976 + });
5605 10977 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5606 10978 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5607 10979 }
5608 10980
@@ -5625,8 +10997,16 @@
5625 10997 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5626 10998 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5627 10999 }
5628 11000
11001 + if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
11002 + e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
11003 + }
11004 +
11005 + if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
11006 + e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
11007 + }
11008 +
5629 11009 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5630 11010 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5631 11011 }
5632 11012
@@ -5633,23 +11013,25 @@
5633 11013 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
5634 11014 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
5635 11015 }
5636 11016
11017 + if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
11018 + e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
11019 + }
11020 +
11021 + if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
11022 + e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
11023 + }
11024 +
5637 11025 jQuery('#e2pdf-zoom').trigger('change');
5638 -
5639 11026 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5640 - if (e2pdf.url.get('template_id')) {
11027 + if (e2pdf.url.get('id')) {
11028 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5641 11029 e2pdf.static.autoloadExport = true;
5642 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5643 - jQuery('#e2pdf-export-template').val('0').change();
5644 - } else {
5645 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5646 - }
5647 11030 }
5648 11031 }
5649 11032
5650 11033 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5651 -
5652 11034 jQuery('.e2pdf-color-picker-load').each(function () {
5653 11035 jQuery(this).wpColorPicker(
5654 11036 {
5655 11037 defaultColor: function () {
@@ -5665,9 +11047,8 @@
5665 11047 }
5666 11048 }
5667 11049 ).removeClass('e2pdf-color-picker-load');
5668 11050 });
5669 -
5670 11051 jQuery(window).bind("beforeunload", function (e) {
5671 11052 if (e2pdf.static.unsaved) {
5672 11053 var confirmationMessage = "\o/";
5673 11054 (e || window.event).returnValue = confirmationMessage;
@@ -5673,17 +11054,9 @@
5673 11054 (e || window.event).returnValue = confirmationMessage;
5674 11055 return confirmationMessage;
5675 11056 }
5676 11057 });
5677 -
5678 - jQuery(document).bind("mousedown", function (e) {
5679 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5680 - e2pdf.delete('.e2pdf-fade');
5681 - e2pdf.delete('.e2pdf-properties-window');
5682 - }
5683 - });
5684 -
5685 - if (jQuery('#e2pdf_build_form').length > 0) {
11058 + if (jQuery('#e2pdf-build-form').length > 0) {
5686 11059 postboxes.add_postbox_toggles(pagenow);
5687 11060 }
5688 11061
5689 11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
@@ -5688,16 +11061,14 @@
5688 11061
5689 11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5690 11063 && typeof (jQuery.ui.droppable) != 'undefined'
5691 11064 && jQuery('.e2pdf-tpl').length > 0) {
5692 -
5693 - // jQuery UI scale bug fix
11065 +// jQuery UI scale bug fix
5694 11066 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5695 11067 var i, j,
5696 11068 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5697 11069 type = event ? event.type : null,
5698 11070 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5699 -
5700 11071 droppablesLoop: for (i = 0; i < m.length; i++) {
5701 11072 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5702 11073 continue;
5703 11074 }
@@ -5714,51 +11085,49 @@
5714 11085 if (type === "mousedown") {
5715 11086 m[ i ]._activate.call(m[ i ], event);
5716 11087 }
5717 11088 m[ i ].offset = m[ i ].element.offset();
5718 - m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
11089 + m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
5719 11090 }
5720 - }
5721 -
5722 - jQuery(".e2pdf-load-el").each(function () {
11091 + };
11092 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
11093 + var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
11094 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
11095 + var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
11096 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
11097 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
11098 + jQuery('.e2pdf-load-tpl').remove();
11099 + jQuery('.e2pdf-load-el').each(function () {
5723 11100 var element = jQuery(this);
5724 11101 var type = element.attr('data-type');
5725 11102 var page = element.closest('.e2pdf-page');
5726 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5727 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5728 -
11103 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11104 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5729 11105 properties['width'] = element.attr('data-width');
5730 11106 properties['height'] = element.attr('data-height');
5731 11107 properties['top'] = element.attr('data-top');
5732 11108 properties['left'] = element.attr('data-left');
5733 - if (type == 'e2pdf-html') {
5734 - properties['value'] = element.find('.e2pdf-data-value').html();
5735 - } else {
5736 - properties['value'] = element.find('.e2pdf-data-value').text();
5737 - }
5738 - //changed
11109 + properties['value'] = element.find('.e2pdf-data-value').val();
11110 + properties['name'] = element.find('.e2pdf-data-name').val();
5739 11111 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5740 11112 jQuery(this).replaceWith(el);
5741 11113 e2pdf.properties.render(el);
5742 11114 });
5743 -
5744 - jQuery(".e2pdf-load-page").each(function () {
11115 + jQuery('.e2pdf-load-page').each(function () {
5745 11116 var page = jQuery(this);
5746 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
5747 - var properties = JSON.parse(page.find('.e2pdf-data-properties').text());
11117 + var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11118 + var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
5748 11119 page.find('.e2pdf-data-properties').remove();
5749 11120 page.find('.e2pdf-data-actions').remove();
5750 11121 page.removeClass('e2pdf-load-page');
5751 - e2pdf.pages.createPage(page, properties, actions);
5752 -
11122 + e2pdf.pages.createPage(page, properties, actions, true);
5753 11123 });
5754 -
5755 - jQuery(".e2pdf-be").draggable({
11124 + jQuery('.e2pdf-be').draggable({
11125 + cursorAt: {left: 0, top: 0},
5756 11126 helper: function () {
5757 11127 var element = jQuery(this).clone();
5758 11128 var type = element.attr('data-type');
5759 - var page = element.closest('.e2pdf-page')
5760 - //changed
11129 + var page = element.closest('.e2pdf-page');
5761 11130 var el = e2pdf.element.create(type, page, false, false, true);
5762 11131 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
5763 11132 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
5764 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -5764,35 +11133,40 @@
5764 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
5765 11134 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
5766 11135 e2pdf.properties.render(el);
5767 11136 el.css('z-index', 1);
5768 - if (e2pdf.zoom.zoom != 1) {
5769 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
5770 - el.css('transform-origin', '0 0');
11137 + if (e2pdf.zoom.scale != 1) {
11138 + el.css({
11139 + 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11140 + 'transform-origin': '0 0'
11141 + });
5771 11142 }
11143 +
11144 + var w = el.width() * e2pdf.zoom.scale;
11145 + var h = el.height() * e2pdf.zoom.scale;
11146 + e2pdf.static.guide.x = Math.round(w / 2);
11147 + e2pdf.static.guide.y = Math.round(h / 2);
11148 + jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
11149 + left: Math.round(w / 2),
11150 + top: Math.round(h / 2)
11151 + });
5772 11152 return el;
5773 11153 },
5774 11154 start: function (ev, ui) {
5775 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
5776 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
5777 11155 e2pdf.element.unselect();
5778 11156 },
5779 11157 stop: function (ev, ui) {
5780 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
5781 -
11158 + ui.position.top = Math.round(ui.position.top);
11159 + ui.position.left = Math.round(ui.position.left);
11160 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
5782 11161 },
5783 11162 drag: function (ev, ui) {
5784 -
5785 11163 if (e2pdf.static.drag.page !== null) {
5786 -
5787 11164 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
5788 -
5789 11165 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
5790 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
5791 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
5792 -
11166 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11167 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
5793 11168 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
5794 -
5795 11169 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
5796 11170 jQuery.each(el_guides, function (i, elemGuide) {
5797 11171 if (guide.type == elemGuide.type) {
5798 11172 var prop = guide.type == "h" ? "top" : "left";
@@ -5804,23 +11178,21 @@
5804 11178 }
5805 11179 }
5806 11180 });
5807 11181 });
5808 -
5809 11182 if (guides.top.dist <= e2pdf.static.guide.distance) {
5810 - e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().top / e2pdf.zoom.zoom - 1).show();
11183 + 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();
5811 11184 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
5812 11185 ui.position.top = snap_top;
5813 11186 } else {
5814 - jQuery(".e2pdf-guide-h").hide();
11187 + jQuery('.e2pdf-guide-h').hide();
5815 11188 }
5816 -
5817 11189 if (guides.left.dist <= e2pdf.static.guide.distance) {
5818 - e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().left / e2pdf.zoom.zoom - 1).show();
5819 - var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left + 5;
11190 + 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();
11191 + var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
5820 11192 ui.position.left = snap_left;
5821 11193 } else {
5822 - jQuery(".e2pdf-guide-v").hide();
11194 + jQuery('.e2pdf-guide-v').hide();
5823 11195 }
5824 11196 }
5825 11197 }
5826 11198 });
@@ -5826,141 +11198,155 @@
5826 11198 });
5827 11199 e2pdf.welcomeScreen();
5828 11200 }
5829 11201 e2pdf.font.load(jQuery('#e2pdf-font'));
5830 -
5831 11202 jQuery('.e2pdf-load-font').each(function () {
5832 11203 e2pdf.font.load(jQuery(this));
5833 11204 jQuery(this).remove();
5834 11205 });
5835 -
5836 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
5837 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
5838 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
5839 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11206 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11207 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11208 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11209 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
5840 11210 }
5841 11211
5842 11212 jQuery(document).keydown(function (e) {
5843 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
5844 - e.preventDefault();
5845 - switch (e.which) {
5846 - case 37:
5847 - //left
5848 - var diff = 1;
5849 -
5850 - for (var key in e2pdf.element.selected) {
5851 - var selected = e2pdf.element.selected[key];
5852 - if (parseFloat(selected.css('left')) > 0) {
5853 - if (parseFloat(selected.css('left')) - 1 < 0) {
5854 - diff = Math.min(diff, selected.css('left'));
11213 + if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11214 + if (jQuery('.e2pdf-focused').length == 0
11215 + && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11216 + && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11217 + && Object.keys(e2pdf.element.selected).length > 0) {
11218 + e.preventDefault();
11219 + switch (e.which) {
11220 + case 37:
11221 + // left
11222 + var diff = 1;
11223 + for (var key in e2pdf.element.selected) {
11224 + var selected = e2pdf.element.selected[key];
11225 + if (parseFloat(selected.css('left')) > 0) {
11226 + if (parseFloat(selected.css('left')) - 1 < 0) {
11227 + diff = Math.min(diff, selected.css('left'));
11228 + }
11229 + } else {
11230 + diff = Math.min(diff, 0);
5855 11231 }
5856 - } else {
5857 - diff = Math.min(diff, 0);
5858 11232 }
5859 - }
5860 11233
5861 - for (var key in e2pdf.element.selected) {
5862 - var selected = e2pdf.element.selected[key];
5863 - selected.finish().animate({
5864 - left: "-=" + diff
5865 - }, 0);
5866 - e2pdf.properties.set(selected, 'left', parseFloat(selected.css('left').replace('px', '')));
5867 - }
5868 - break;
5869 - case 38:
5870 - //top
5871 - var diff = 1;
5872 -
5873 - for (var key in e2pdf.element.selected) {
5874 - var selected = e2pdf.element.selected[key];
5875 - if (parseFloat(selected.css('top')) > 0) {
5876 - if (parseFloat(selected.css('top')) - 1 < 0) {
5877 - diff = Math.min(diff, selected.css('top'));
11234 + for (var key in e2pdf.element.selected) {
11235 + var selected = e2pdf.element.selected[key];
11236 + selected.finish().animate({
11237 + left: "-=" + diff
11238 + }, 0);
11239 + e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11240 + }
11241 + break;
11242 + case 38:
11243 + // top
11244 + var diff = 1;
11245 + for (var key in e2pdf.element.selected) {
11246 + var selected = e2pdf.element.selected[key];
11247 + if (parseFloat(selected.css('top')) > 0) {
11248 + if (parseFloat(selected.css('top')) - 1 < 0) {
11249 + diff = Math.min(diff, selected.css('top'));
11250 + }
11251 + } else {
11252 + diff = Math.min(diff, 0);
5878 11253 }
5879 - } else {
5880 - diff = Math.min(diff, 0);
5881 11254 }
5882 - }
5883 11255
5884 - for (var key in e2pdf.element.selected) {
5885 - var selected = e2pdf.element.selected[key];
5886 - selected.finish().animate({
5887 - top: "-=" + diff
5888 - }, 0);
5889 - e2pdf.properties.set(selected, 'top', parseFloat(selected.css('top').replace('px', '')));
5890 - }
5891 - break;
5892 - case 39:
5893 - //right
5894 - var diff = 1;
5895 -
5896 - for (var key in e2pdf.element.selected) {
5897 - var selected = e2pdf.element.selected[key];
5898 - if (parseFloat(selected.css('right')) > 0) {
5899 - if (parseFloat(selected.css('right')) - 1 < 0) {
5900 - diff = Math.min(diff, selected.css('right'));
11256 + for (var key in e2pdf.element.selected) {
11257 + var selected = e2pdf.element.selected[key];
11258 + selected.finish().animate({
11259 + top: "-=" + diff
11260 + }, 0);
11261 + e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11262 + }
11263 + break;
11264 + case 39:
11265 + // right
11266 + var diff = 1;
11267 + for (var key in e2pdf.element.selected) {
11268 + var selected = e2pdf.element.selected[key];
11269 + if (parseFloat(selected.css('right')) > 0) {
11270 + if (parseFloat(selected.css('right')) - 1 < 0) {
11271 + diff = Math.min(diff, selected.css('right'));
11272 + }
11273 + } else {
11274 + diff = Math.min(diff, 0);
5901 11275 }
5902 - } else {
5903 - diff = Math.min(diff, 0);
5904 11276 }
5905 - }
5906 11277
5907 - for (var key in e2pdf.element.selected) {
5908 - var selected = e2pdf.element.selected[key];
5909 - selected.finish().animate({
5910 - left: "+=" + diff
5911 - }, 0);
5912 - e2pdf.properties.set(selected, 'left', parseFloat(selected.css('left').replace('px', '')));
5913 - }
5914 - break;
5915 - case 40:
5916 - //down
5917 - var diff = 1;
5918 -
5919 - for (var key in e2pdf.element.selected) {
5920 - var selected = e2pdf.element.selected[key];
5921 - if (parseFloat(selected.css('bottom')) > 0) {
5922 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
5923 - diff = Math.min(diff, selected.css('bottom'));
11278 + for (var key in e2pdf.element.selected) {
11279 + var selected = e2pdf.element.selected[key];
11280 + selected.finish().animate({
11281 + left: "+=" + diff
11282 + }, 0);
11283 + e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11284 + }
11285 + break;
11286 + case 40:
11287 + // down
11288 + var diff = 1;
11289 + for (var key in e2pdf.element.selected) {
11290 + var selected = e2pdf.element.selected[key];
11291 + if (parseFloat(selected.css('bottom')) > 0) {
11292 + if (parseFloat(selected.css('bottom')) - 1 < 0) {
11293 + diff = Math.min(diff, selected.css('bottom'));
11294 + }
11295 + } else {
11296 + diff = Math.min(diff, 0);
5924 11297 }
5925 - } else {
5926 - diff = Math.min(diff, 0);
5927 11298 }
5928 - }
5929 11299
5930 - for (var key in e2pdf.element.selected) {
5931 - var selected = e2pdf.element.selected[key];
5932 - selected.finish().animate({
5933 - top: "+=" + diff
5934 - }, 0);
5935 - e2pdf.properties.set(selected, 'top', parseFloat(selected.css('top').replace('px', '')));
5936 - }
5937 - break;
5938 - case 46:
5939 - //delete
5940 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
5941 - if (!confirm(message)) {
5942 - e2pdf.delete('.e2pdf-context');
5943 - return false;
5944 - }
5945 -
5946 - for (var key in e2pdf.element.selected) {
5947 - var selected = e2pdf.element.selected[key];
5948 - e2pdf.element.delete(selected);
5949 - }
5950 -
5951 - e2pdf.element.unselect();
5952 - break;
11300 + for (var key in e2pdf.element.selected) {
11301 + var selected = e2pdf.element.selected[key];
11302 + selected.finish().animate({
11303 + top: "+=" + diff
11304 + }, 0);
11305 + e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11306 + }
11307 + break;
11308 + case 46:
11309 + // delete
11310 + 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?');
11311 + if (!confirm(message)) {
11312 + e2pdf.delete('.e2pdf-context');
11313 + return false;
11314 + }
11315 + var history = [];
11316 + for (var key in e2pdf.element.selected) {
11317 + var selected = e2pdf.element.selected[key];
11318 + e2pdf.element.init(selected);
11319 + history.push(selected.clone(true));
11320 + e2pdf.element.delete(selected);
11321 + }
11322 + e2pdf.history.set('element_delete', history);
11323 + e2pdf.element.unselect();
11324 + break;
11325 + }
5953 11326 }
5954 11327 }
5955 11328 });
5956 -
5957 - jQuery(document).live('click', function (e) {
11329 + jQuery(document).on('click', '.e2pdf-select2', function (e) {
11330 + e2pdf.select2.init(jQuery(this));
11331 + });
11332 + jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11333 + e2pdf.select2.click(jQuery(this));
11334 + });
11335 + jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11336 + e2pdf.select2.filter(jQuery(this));
11337 + });
11338 + jQuery(document).on('mousedown', 'body', function (e) {
5958 11339 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
5959 11340 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
5960 - jQuery(e.target).closest('.e2pdf-element').length == 0
5961 - ) {
11341 + jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11342 + jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11343 + jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11344 + jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11345 + jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11346 + e.ctrlKey !== true) {
5962 11347 e2pdf.element.unselect();
11348 + e2pdf.element.unfocus();
5963 11349 }
5964 11350 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
5965 11351 jQuery('.e2pdf-closed').each(function () {
5966 11352 jQuery(this).removeClass('e2pdf-opened');
@@ -5965,9 +11351,20 @@
5965 11351 jQuery('.e2pdf-closed').each(function () {
5966 11352 jQuery(this).removeClass('e2pdf-opened');
5967 11353 });
5968 11354 }
11355 + if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11356 + jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11357 + }
11358 + if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11359 + jQuery('.e2pdf-select2-dropdown').each(function () {
11360 + e2pdf.select2.close(jQuery(this));
11361 + });
11362 + }
5969 11363 });
5970 -
5971 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11364 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
5972 11365 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11366 + if (jQuery('.e2pdf-bulks-list').length > 0)
11367 + {
11368 + e2pdf.bulk.progress();
11369 + }
5973 11370 });