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 +8395 -3120 1.03.07 → 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,71 +7,284 @@
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');
16 - var value = e2pdf.properties.getValue(el, 'value');
54 + var properties = e2pdf.properties.get(el);
55 + var value = e2pdf.helper.getString(properties['value']);
17 56 var image = new Image();
18 - if (typeof value === 'string' && !value.trim().startsWith("https://") && !value.trim().startsWith("http://")) {
19 - value = e2pdf.url.pluginsUrl() + '/img/upload.png';
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;
20 79 }
21 - image.src = value;
80 +
22 81 var children = e2pdf.element.children(el);
82 + children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
23 83 image.onload = function ()
24 84 {
25 85 el.removeClass('e2pdf-loader');
26 - if (value === e2pdf.url.pluginsUrl() + '/img/upload.png') {
27 - children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank');
28 - 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)) {
86 + switch (el.data('data-type')) {
87 + case 'e2pdf-qrcode':
88 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
29 89 el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
30 - } else {
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');
31 94 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
32 - }
33 - } else {
34 - el.find('.e2pdf-image').attr('src', value);
35 - if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH) {
36 - var o_width = this.width;
37 - var o_height = this.height;
38 - var dimension = parseFloat(children.css('width')) / o_width;
39 - var height = o_height * dimension;
40 - var add_height = parseFloat(el.css('height')) - parseFloat(children.css('height'));
41 - el.css('height', height + add_height);
42 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
43 - } else if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT) {
44 - var o_width = this.width;
45 - var o_height = this.height;
46 - var dimension = parseFloat(children.css('height')) / o_height;
47 - var width = o_width * dimension;
48 - var add_width = parseFloat(el.css('width')) - parseFloat(children.css('width'));
49 - el.css('width', width + add_width);
50 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
51 - } else {
95 + break;
96 + case 'e2pdf-graph':
97 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
52 98 el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
53 - }
54 - children.removeClass('e2pdf-image-blank');
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;
55 148 }
56 149 };
57 150 image.onerror = function ()
58 151 {
59 152 el.removeClass('e2pdf-loader');
60 - children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank');
61 - 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)) {
62 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
63 - } else {
64 - 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;
65 174 }
66 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);
67 240 }
68 241 },
69 - //e2pdf.helper.pxToFloat
70 - pxToFloat: function (value) {
71 - 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 + }
72 249 },
73 - //e2pdf.helper.sizeToFloat
250 + getInt: function (value, def = 0, units = '') {
251 + const val = parseInt(value);
252 + if (units) {
253 + return isNaN(val) ? def : val + units;
254 + } else {
255 + return isNaN(val) ? def : val;
256 + }
257 +
258 + },
259 + getString: function (value, def = '', units = '') {
260 + const val = value;
261 + if (units) {
262 + return typeof val === 'undefined' ? def : val + units;
263 + } else {
264 + return typeof val === 'undefined' ? def : val;
265 + }
266 + },
267 + getCheckbox: function (value, def = '', units = '') {
268 + const val = value;
269 + if (units) {
270 + return typeof val === 'undefined' || val != '1' ? def : val + units;
271 + } else {
272 + return typeof val === 'undefined' || val != '1' ? def : val;
273 + }
274 + },
275 + // e2pdf.helper.toHtml
276 + toHtml: function (value) {
277 + var div = document.createElement('div');
278 + div.innerHTML = value;
279 + return (div.innerHTML);
280 + },
281 + stripHTML: function (html, ...args) {
282 + return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 + return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 + }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 + },
286 + // e2pdf.helper.sizeToFloat
74 287 sizeToFloat: function (value, width) {
75 288 if (typeof value === 'string' && value.search("%") > 0) {
76 289 return parseFloat(width) * (parseFloat(value.replace('%', '')) / 100);
77 290 } else {
@@ -77,27 +290,288 @@
77 290 } else {
78 291 return parseFloat(value);
79 292 }
80 293 },
81 - //e2pdf.helper.ajaxurl
82 - ajaxurl: function (action) {
83 -
294 + // e2pdf.helper.ajaxurl
295 + ajaxurl: function (action, _wpnonce) {
84 296 if (action) {
85 - var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
297 + var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
86 298 } else {
87 - var url = ajaxurl + '?e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
299 + var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
88 300 }
89 -
90 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;
91 371 }
92 372 },
93 - //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
94 569 url: {
95 - //e2pdf.url.change
570 + // e2pdf.url.change
96 571 change: function (page, path) {
97 572 if (window.history && window.history.pushState) {
98 573 var url = window.location.pathname;
99 -
100 574 if (page) {
101 575 url += '?page=' + page;
102 576 }
103 577
@@ -106,12 +580,11 @@
106 580 }
107 581 history.pushState({urlPath: url}, "", url);
108 582 }
109 583 },
110 - //e2pdf.url.build
111 - build: function (page, path, nonce) {
584 + // e2pdf.url.build
585 + build: function (page, path, _wpnonce) {
112 586 var url = window.location.pathname;
113 -
114 587 if (page) {
115 588 url += '?page=' + page;
116 589 }
117 590 if (path) {
@@ -116,25 +589,26 @@
116 589 }
117 590 if (path) {
118 591 url += '&' + path;
119 592 }
120 -
121 - if (nonce) {
122 - url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']
593 + if (_wpnonce) {
594 + url += '&_wpnonce=' + _wpnonce;
123 595 }
124 -
125 596 return url;
126 597 },
127 - //e2pdf.url.get
598 + // e2pdf.url.get
128 599 get: function (name, url) {
129 - if (!url)
600 + if (!url) {
130 601 url = window.location.href;
602 + }
603 + if (!name) {
604 + return url;
605 + }
131 606 name = name.replace(/[\[\]]/g, "\\$&");
132 607 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
133 608 if (!results) {
134 609 return null;
135 610 }
136 -
137 611 if (!results[2]) {
138 612 return '';
139 613 }
140 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
@@ -139,38 +613,22 @@
139 613 }
140 614 return decodeURIComponent(results[2].replace(/\+/g, " "));
141 615 },
142 616 pluginsUrl: function () {
143 - return e2pdfParams['plugins_url'];
617 + return e2pdf_params['plugins_url'];
144 618 },
145 619 uploadUrl: function () {
146 - return e2pdfParams['upload_url'];
620 + return e2pdf_params['upload_url'];
147 621 }
148 622 },
149 - //e2pdf.shortcode
150 - shortcode: {
151 - //e2pdf.shortcode.get
152 - get: function (template_id, dataset_id) {
153 -
154 - if (template_id && dataset_id) {
155 - var shortcode = '[e2pdf-download id="' + template_id + '" dataset="' + dataset_id + '"]';
156 - } else if (template_id) {
157 - var shortcode = '[e2pdf-download id="' + template_id + '"]';
158 - } else {
159 - var shortcode = false;
160 - }
161 - return shortcode;
162 - }
163 - },
164 - //e2pdf.guide
623 + // e2pdf.guide
165 624 guide: {
166 - //e2pdf.guide.calc
625 + // e2pdf.guide.calc
167 626 calc: function (el, pos, w, h, g) {
168 -
169 627 if (el != null) {
170 628 if (g) {
171 - w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
172 - 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;
173 631 pos = jQuery(el).offset();
174 632 if (jQuery(el).hasClass('e2pdf-page')) {
175 633 pos = {
176 634 left: pos.left + 1,
@@ -177,12 +635,10 @@
177 635 top: pos.top + 1
178 636 };
179 637 }
180 638 } else {
181 -
182 639 w = parseFloat(jQuery(el).css('width'));
183 640 h = parseFloat(jQuery(el).css('height'));
184 -
185 641 if (jQuery(el).hasClass('e2pdf-page')) {
186 642 pos = {
187 643 left: 0,
188 644 top: 0
@@ -188,10 +644,10 @@
188 644 top: 0
189 645 };
190 646 } else {
191 647 pos = {
192 - left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')),
193 - 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')
194 650 };
195 651 }
196 652 }
197 653 }
@@ -205,14 +661,29 @@
205 661 {type: "v", left: pos.left + w / 2, top: pos.top}
206 662 ];
207 663 }
208 664 },
209 - //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
210 681 pdf: {
211 - //e2pdf.pdf.settings
682 + // e2pdf.pdf.settings
212 683 settings: {
213 684 options: [],
214 - //e2pdf.pdf.settings.change
685 + // e2pdf.pdf.settings.change
215 686 change: function (key, value) {
216 687 e2pdf.pdf.settings.options[key] = value;
217 688 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
218 689 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
@@ -220,22 +691,31 @@
220 691 var input = jQuery('<input>',
221 692 {
222 693 'type': 'hidden',
223 694 'name': key,
224 - 'value': value,
695 + 'value': value
225 696 });
226 697 jQuery('.e2pdf-form-builder').append(input);
227 698 }
228 699
229 - if (key == 'extension') {
230 - 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);
231 705 }
232 706 },
233 - //e2pdf.pdf.settings.set
707 + // e2pdf.pdf.settings.set
234 708 set: function (key, value) {
235 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 + }
236 716 },
237 - //e2pdf.pdf.settings.get
717 + // e2pdf.pdf.settings.get
238 718 get: function (key) {
239 719 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
240 720 return null;
241 721 } else {
@@ -243,63 +723,69 @@
243 723 }
244 724 }
245 725 }
246 726 },
247 - //e2pdf.static
727 + // e2pdf.static
248 728 static: {
249 - //e2pdf.static.unsaved
729 + // e2pdf.static.unsaved
250 730 unsaved: false,
251 - //e2pdf.static.mediaUploader
731 + // e2pdf.static.mediaUploader
252 732 mediaUploader: false,
253 - //e2pdf.static.autoloadExport
733 + // e2pdf.static.autoloadExport
254 734 autoloadExport: false,
255 - //e2pdf.static.selectionRange
735 + // e2pdf.static.selectionRange
256 736 selectionRange: null,
257 - //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
258 749 guide: {
259 - //e2pdf.static.guide.guides
750 + // e2pdf.static.guide.guides
260 751 guides: [],
261 - //e2pdf.static.guide.distance
752 + // e2pdf.static.guide.distance
262 753 distance: 5,
263 754 x: 0,
264 755 y: 0
265 756 },
266 - //e2pdf.static.drag
757 + // e2pdf.static.drag
267 758 drag: {
268 - //e2pdf.static.drag.min_top
759 + // e2pdf.static.drag.min_top
269 760 min_top: 0,
270 - //e2pdf.static.drag.max_top
761 + // e2pdf.static.drag.max_top
271 762 max_top: 0,
272 - //e2pdf.static.drag.min_left
763 + // e2pdf.static.drag.min_left
273 764 min_left: 0,
274 - //e2pdf.static.drag.max_left
765 + // e2pdf.static.drag.max_left
275 766 max_left: 0,
276 - //e2pdf.static.drag.page
277 - page: null,
278 - },
279 - //e2pdf.static.const
280 - const: {
281 - 'WIDTH_HEIGHT': '0',
282 - 'WIDTH': '1',
283 - 'HEIGHT': '2'
767 + // e2pdf.static.drag.page
768 + page: null
284 769 }
285 770 },
286 - //e2pdf.event
771 + // e2pdf.event
287 772 event: {
288 - //e2pdf.event.fire
773 + // e2pdf.event.fire
289 774 fire: function (event, action, el) {
290 - if (event === 'after.pages.deletePage'
291 - || event === 'after.createPdf'
292 - || event === 'after.pages.createPage.newpage'
293 - || event === 'after.element.create'
294 - || event === 'after.element.delete'
295 - || event === 'after.settings.style.change'
296 - || event === 'after.settings.template.change'
297 - || event === 'after.wysiwyg.apply'
298 - || event === 'after.request.submitLocal'
299 - || event === 'after.mediaUploader.select'
300 - || event === 'after.element.moved'
301 - || 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'
302 788 ) {
303 789 e2pdf.static.unsaved = true;
304 790 }
305 791
@@ -325,75 +811,98 @@
325 811 ).removeClass('e2pdf-color-picker-load');
326 812 });
327 813 }
328 814
329 - if (event === 'after.dialog.create') {
330 - e2pdf.element.unselect();
331 - }
332 -
333 - if (event === 'after.pages.deletePage'
334 - || event === 'after.pages.createPage.newpage') {
815 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
335 816 jQuery('#e2pdf-zoom').trigger('change');
336 817 }
337 818
338 819 if (event === 'before.request.submitRequest') {
339 820 el.attr('disabled', 'disabled');
340 -
341 - if (action === 'e2pdf_auto') {
342 - 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;
343 852 }
344 - if (action === 'e2pdf_extension') {
345 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled');
346 - }
347 -
348 - if (action === 'e2pdf_templates') {
349 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
350 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
351 - }
352 -
353 - if (action === 'e2pdf_dataset') {
354 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
355 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
356 - }
357 853 }
358 854
359 855 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
360 - el.attr('disabled', false);
361 - if (action === 'e2pdf_auto') {
362 - 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);
363 858 }
364 - if (action === 'e2pdf_extension') {
365 - el.closest('form').find('#e2pdf-item').find('option').remove();
366 - 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;
367 878 }
368 - if (action === 'e2pdf_get_styles') {
369 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
370 - }
371 879 }
372 880
373 881 if (event === 'before.request.upload') {
374 - 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');
375 883 }
376 884
377 885 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
378 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
379 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
380 - 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'})
381 891 );
382 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
383 - 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'})
384 894 );
385 895 }
386 896 }
387 897 },
388 - //e2pdf.form
898 + // e2pdf.form
389 899 form: {
390 - //e2pdf.form.serializeObject
900 + // e2pdf.form.serializeObject
391 901 serializeObject: function (form) {
392 902
393 903 var o = {};
394 904 var a = form.serializeArray();
395 -
396 905 jQuery.each(a, function () {
397 906 if (this.name.endsWith('[]')) {
398 907
399 908 var name = this.name;
@@ -406,9 +915,8 @@
406 915
407 916 var name = this.name;
408 917 var path = name.split(/[\[\]]+/);
409 918 var curItem = o;
410 -
411 919 for (var j = 0; j < path.length - 2; j++)
412 920 {
413 921 if (!(path[j] in curItem))
414 922 {
@@ -417,9 +925,8 @@
417 925 curItem = curItem[path[j]];
418 926 }
419 927
420 928 curItem[path[j]] = this.value || '';
421 -
422 929 } else {
423 930 o[this.name] = this.value || '';
424 931 }
425 932 });
@@ -424,9 +931,9 @@
424 931 }
425 932 });
426 933 return o;
427 934 },
428 - //e2pdf.form.serializeElements
935 + // e2pdf.form.serializeElements
429 936 serializeElements: function () {
430 937 var o = {};
431 938 jQuery('.e2pdf-element').each(
432 939 function (index) {
@@ -431,103 +938,123 @@
431 938 jQuery('.e2pdf-element').each(
432 939 function (index) {
433 940 var el = {};
434 941 el.type = jQuery(this).data('data-type');
435 - el.properties = e2pdf.properties.get(jQuery(this), true);
942 + el.properties = e2pdf.properties.get(jQuery(this));
436 943 el.actions = e2pdf.actions.get(jQuery(this));
437 944 el.top = jQuery(this).css('top');
438 945 el.left = jQuery(this).css('left');
439 946 el.width = jQuery(this).css('width');
440 947 el.height = jQuery(this).css('height');
441 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
442 - el.value = jQuery(this).find('.e2pdf-html').html();
443 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
444 - el.value = jQuery(this).find('.e2pdf-input').val();
445 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
446 - el.value = jQuery(this).find('.e2pdf-textarea').val();
447 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
448 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
449 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
450 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
451 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
452 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
453 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
454 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
455 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
456 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
457 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
458 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
459 - } else {
460 - 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;
461 980 }
981 + el.name = e2pdf.helper.getString(el.properties['name']);
462 982 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
463 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'];
464 993 o[index] = el;
465 994 });
466 995 return o;
467 996 }
468 997 },
469 - //e2pdf.font
998 + // e2pdf.font
470 999 font: {
471 - //e2pdf.font.load
1000 + // e2pdf.font.load
472 1001 load: function (el) {
1002 + var name, value;
473 1003 if (el.is('select')) {
474 - var name = el.val();
475 - var value = el.find('option:selected').attr('path');
1004 + name = el.val();
1005 + value = el.find('option:selected').attr('path');
476 1006 } else if (el.is('div')) {
477 - var name = el.attr('name');
478 - var value = el.attr('path');
1007 + name = el.attr('name');
1008 + value = el.attr('path');
479 1009 }
480 -
481 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
482 - 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 + );
483 1017 }
484 1018 },
485 - //e2pdf.font.apply
1019 + // e2pdf.font.apply
486 1020 apply: function (el, font) {
487 - var font_name = font.find('option:selected').html();
488 - if (font_name) {
489 - el.css('font-family', font_name);
490 - } else {
491 - el.css('font-family', '');
492 - }
1021 + let font_name = font.find('option:selected').html();
1022 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
493 1023 },
494 - //e2pdf.font.size
1024 + // e2pdf.font.size
495 1025 size: function (el, size) {
496 - var font_size = size.find('option:selected').html();
497 - el.css({'font-size': font_size});
1026 + var font_size = size.val();
1027 + el.css({'font-size': font_size + "px"});
498 1028 },
499 - //e2pdf.font.line
1029 + // e2pdf.font.line
500 1030 line: function (el, height) {
501 - var line_height = height.find('option:selected').html();
502 - el.css({'line-height': line_height});
1031 + var line_height = height.val();
1032 + el.css({'line-height': line_height + "px"});
503 1033 },
504 - //e2pdf.font.color
1034 + // e2pdf.font.color
505 1035 fontcolor: function (el, color) {
506 1036 var font_color = color.val();
507 1037 el.css({'color': font_color});
508 1038 },
509 - //e2pdf.font.delete
1039 + // e2pdf.font.delete
510 1040 delete: function (el) {
511 1041 var font = el.attr('data-font');
512 1042 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
513 1043 }
514 1044 },
515 - //e2pdf.request
1045 + // e2pdf.request
516 1046 request: {
517 - //e2pdf.request.upload
1047 + // e2pdf.request.upload
518 1048 upload: function (action, el) {
519 -
520 1049 if (el.attr('disabled')) {
521 1050 return;
522 1051 }
523 -
524 1052 var data = new FormData(el.closest('form')[0]);
525 1053 e2pdf.event.fire('before.request.upload', action, el);
526 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
527 - loader.css('visibility', 'visible').fadeIn();
1054 + jQuery('html').addClass('e2pdf-loading');
528 1055 jQuery.ajax({
529 - url: e2pdf.helper.ajaxurl(action),
1056 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
530 1057 type: 'POST',
531 1058 data: data,
532 1059 cache: false,
533 1060 contentType: false,
@@ -532,512 +1059,743 @@
532 1059 cache: false,
533 1060 contentType: false,
534 1061 processData: false,
535 1062 success: function (response) {
536 - loader.css('visibility', 'hidden').fadeOut();
537 - e2pdf.event.fire('after.request.upload.success', action, el);
538 1063 if (response.redirect !== undefined) {
539 - // recheck if redirect fires in other cases when not upload pdf
1064 + e2pdf.event.fire('after.request.upload.success', action, el);
540 1065 e2pdf.static.unsaved = false;
541 1066 location.href = response.redirect;
542 1067 } else if (response.error !== undefined) {
1068 + jQuery('html').removeClass('e2pdf-loading');
1069 + e2pdf.event.fire('after.request.upload.error', action, el);
543 1070 alert(response.error);
544 - } else if (response.content) {
545 - e2pdf.request.callBack(action, response.content);
1071 + } else {
1072 + jQuery('html').removeClass('e2pdf-loading');
1073 + e2pdf.event.fire('after.request.upload.error', action, el);
546 1074 }
547 1075 },
548 1076 error: function (response) {
549 - loader.css('visibility', 'hidden').fadeOut();
550 - 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);
551 1079 }
552 1080 });
553 1081 },
554 - //e2pdf.request.submitForm
1082 + // e2pdf.request.submitForm
555 1083 submitForm: function (el) {
556 1084 if (el.attr('disabled')) {
557 1085 return;
558 1086 }
559 1087 el.attr('disabled', 'disabled');
560 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
561 - loader.css('visibility', 'visible').fadeIn();
1088 + jQuery('html').addClass('e2pdf-loading');
562 1089 e2pdf.event.fire('before.request.submitForm');
563 1090 var form_id = el.attr('form-id');
564 1091 var form = jQuery(document.getElementById(form_id));
565 1092 var data = e2pdf.form.serializeObject(form);
566 - if (form_id === 'e2pdf_build_form') {
567 - var elements = e2pdf.form.serializeElements();
568 - data.pages = {};
569 - jQuery('.e2pdf-page').each(function () {
570 - var page_id = jQuery(this).attr('data-page_id');
571 - data.pages[page_id] = {};
572 - var properties = {};
573 - var page_elements = [];
574 - properties['width'] = jQuery(this).attr('data-width');
575 - properties['height'] = jQuery(this).attr('data-height');
576 - data.pages[page_id]['properties'] = properties;
577 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
578 - data.pages[page_id]['elements'] = page_elements;
579 - });
580 - for (var key in elements) {
581 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
582 - }
583 - 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;
584 1131 }
585 -
586 - if (form_id === 'e2pdf-email') {
587 -
588 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
589 - data = {};
590 - data['email'] = form.find('input[name="email"]').val();
591 - if (form.find('input[name="email_code"]').length > 0) {
592 - data['email_code'] = form.find('input[name="email_code"]').val();
593 - }
594 - }
595 -
596 - var action = el.attr('action');
597 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1132 + jQuery('html').addClass('e2pdf-loading');
598 1133 if (el.attr('target') === '_blank') {
599 1134 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
600 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1135 + jQuery('<textarea>', {'name': 'preview'}).val(data)
601 1136 ).hide();
602 1137 jQuery('body').append(post_form);
603 1138 post_form.submit();
604 1139 post_form.remove();
605 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
606 - loader.css('visibility', 'hidden').fadeOut();
1140 + jQuery('html').removeClass('e2pdf-loading');
607 1141 el.attr('disabled', false);
608 1142 return false;
609 1143 }
610 -
611 1144 jQuery.ajax({
612 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1145 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
613 1146 data: {action: action, data: data},
614 1147 success: function (response) {
615 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
616 - loader.css('visibility', 'hidden').fadeOut();
617 - el.attr('disabled', false);
618 1148 if (response.redirect !== undefined) {
619 1149 location.href = response.redirect;
620 - } else if (response.error !== undefined) {
621 - alert(response.error);
622 - } else if (response.content) {
623 - 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 + }
624 1161 }
625 1162 },
626 1163 error: function (response) {
627 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
628 - loader.css('visibility', 'hidden').fadeOut();
1164 + jQuery('html').removeClass('e2pdf-loading');
629 1165 el.attr('disabled', false);
630 1166 }
631 1167 });
632 1168 },
633 - //e2pdf.request.submitRequest
1169 + // e2pdf.request.submitRequest
634 1170 submitRequest: function (action, el, value) {
635 -
636 1171 if (el.attr('disabled')) {
637 1172 return;
638 1173 }
639 -
640 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1174 + if (action !== 'e2pdf_bulk_progress') {
1175 + jQuery('html').addClass('e2pdf-loading');
1176 + }
641 1177 if (!value) {
642 1178 var value = el.val();
643 1179 }
644 - 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 +
645 1185 e2pdf.event.fire('before.request.submitRequest', action, el);
646 1186 jQuery.ajax({
647 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1187 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
648 1188 data: {action: action, data: value},
649 1189 success: function (response) {
650 - loader.css('visibility', 'hidden').fadeOut();
651 1190 e2pdf.event.fire('after.request.submitRequest.success', action, el);
652 1191 if (response.redirect !== undefined) {
653 1192 location.href = response.redirect;
654 1193 } else if (response.error !== undefined) {
1194 + jQuery('html').removeClass('e2pdf-loading');
655 1195 alert(response.error);
656 1196 } else if (response.content) {
657 1197 e2pdf.request.callBack(action, response.content, el);
1198 + jQuery('html').removeClass('e2pdf-loading');
1199 + } else {
1200 + jQuery('html').removeClass('e2pdf-loading');
658 1201 }
659 1202 },
660 1203 error: function (response) {
661 - loader.css('visibility', 'hidden').fadeOut();
1204 + jQuery('html').removeClass('e2pdf-loading');
662 1205 e2pdf.event.fire('after.request.submitRequest.error', action, el);
663 1206 }
664 1207 });
665 1208 },
666 - //e2pdf.request.submitLocal
667 - submitLocal: function (el) {
1209 + // e2pdf.request.submitLocal
1210 + submitLocal: function (el, noclose = false) {
668 1211 var form_id = el.attr('form-id');
669 -
670 1212 var form = jQuery(document.getElementById(form_id));
671 1213 var data = e2pdf.form.serializeObject(form);
672 -
673 - if (form_id === 'e2pdf-page-options') {
674 - var width = data['width'];
675 - var height = data['height'];
676 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
677 - e2pdf.actions.apply(page, data['actions']);
678 - e2pdf.pages.changePageSize(page, width, height);
679 - e2pdf.event.fire('after.request.submitLocal', false, page);
680 - } else {
681 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
682 -
683 - e2pdf.actions.apply(element, data['actions']);
684 - delete data['actions'];
685 -
686 - e2pdf.properties.apply(element, data);
687 - e2pdf.properties.render(element);
1214 + switch (form_id) {
1215 + case 'e2pdf-page-options':
1216 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1217 + var action_error = false;
1218 + for (var action in data['actions']) {
1219 + for (var condition in data['actions'][action]['conditions']) {
1220 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1221 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1222 + action_element.addClass('e2pdf-action-error');
1223 + action_error = true;
1224 + }
1225 + }
1226 + }
1227 + if (action_error) {
1228 + setTimeout(function () {
1229 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1230 + }, 0);
1231 + return;
1232 + }
1233 + var width = data['width'];
1234 + var height = data['height'];
1235 + var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1236 + e2pdf.actions.apply(page, data['actions']);
1237 + e2pdf.pages.changePageSize(page, width, height);
1238 + e2pdf.properties.apply(page, data);
1239 + e2pdf.event.fire('after.request.submitLocal', false, page);
1240 + break;
1241 + case 'e2pdf-tpl-actions':
1242 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1243 + var action_error = false;
1244 + for (var action in data['actions']) {
1245 + for (var condition in data['actions'][action]['conditions']) {
1246 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1247 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1248 + action_element.addClass('e2pdf-action-error');
1249 + action_error = true;
1250 + }
1251 + }
1252 + }
1253 + if (action_error) {
1254 + setTimeout(function () {
1255 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1256 + }, 0);
1257 + return;
1258 + }
1259 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1260 + break;
1261 + case 'e2pdf-tpl-properties':
1262 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1263 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1264 + break;
1265 + case 'e2pdf-tpl-hooks':
1266 + var hooks = data['hooks'];
1267 + if (hooks) {
1268 + e2pdf.pdf.settings.change('hooks', hooks.join(','));
1269 + } else {
1270 + e2pdf.pdf.settings.change('hooks', '');
1271 + }
1272 + break;
1273 + default:
1274 + var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1275 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1276 + var action_error = false;
1277 + for (var action in data['actions']) {
1278 + for (var condition in data['actions'][action]['conditions']) {
1279 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1280 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1281 + action_element.addClass('e2pdf-action-error');
1282 + action_error = true;
1283 + }
1284 + }
1285 + }
1286 + if (action_error) {
1287 + setTimeout(function () {
1288 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1289 + }, 0);
1290 + return;
1291 + }
1292 + var history = [];
1293 + history.push(element.clone(true));
1294 + e2pdf.history.set('element_change', history);
1295 + e2pdf.actions.apply(element, data['actions']);
1296 + delete data['actions'];
1297 + e2pdf.properties.apply(element, data);
1298 + e2pdf.properties.render(element);
1299 + e2pdf.event.fire('after.request.submitLocal', false, el);
1300 + break;
1301 + }
1302 + if (!noclose) {
688 1303 e2pdf.dialog.close();
689 - e2pdf.event.fire('after.request.submitLocal', false, el);
690 - }
691 -
692 - e2pdf.dialog.close();
1304 + }
693 1305 },
694 - //e2pdf.request.callBack
1306 + // e2pdf.request.callBack
695 1307 callBack: function (action, result, el) {
696 -
697 - if (action === 'e2pdf_email') {
698 -
699 - if (result === 'subscribed') {
700 - jQuery('.e2pdf-email-lock').remove();
701 - } else {
702 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
703 - var form_id = el.attr('form-id');
704 - var form = jQuery(document.getElementById(form_id));
705 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
706 - form.find('input[name="email"]').attr('type', 'hidden');
707 - jQuery('<input>', {'type': 'text', 'name': 'email_code', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
708 - }
709 - }
710 -
711 - if (action === 'e2pdf_extension') {
712 - for (var key in result) {
713 - var option = jQuery('<option>',
714 - {
715 - 'value': result[key]['id']
716 - }).html(result[key]['name']);
717 - if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
718 - option.attr('selected', 'selected');
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"]'));
719 1319 }
720 - option.data('data-item', result[key]);
721 - jQuery('#e2pdf-item').append(option);
722 - }
723 - }
724 -
725 - if (action === 'e2pdf_get_styles') {
726 - for (var key in result) {
727 - jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
728 - }
729 - }
730 - if (action === 'e2pdf_visual_mapper') {
731 - el.html(result);
732 - e2pdf.visual.mapper.markup();
733 -
734 - var images = el.find('img');
735 - var counter = 0;
736 - counter = images.length;
737 - images.each(function () {
738 - var img = new Image();
739 - img.onload = function () {
740 - counter--;
741 - if (counter === 0) {
742 - e2pdf.visual.mapper.rebuild();
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');
743 1329 }
744 - };
745 - img.onerror = function () {
746 - counter--;
747 - if (counter === 0) {
748 - e2pdf.visual.mapper.rebuild();
1330 + option.data('data-item', result[key]);
1331 + jQuery('.e2pdf-item').append(option);
1332 + }
1333 + for (var key in result) {
1334 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1335 + var option = jQuery('<option>',
1336 + {
1337 + 'value': result[key]['id']
1338 + }).html(result[key]['name']);
1339 + if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1340 + option.attr('selected', 'selected');
1341 + }
1342 + option.data('data-item', result[key]);
1343 + jQuery('.e2pdf-item1').append(option);
749 1344 }
750 - };
751 - img.src = jQuery(this).attr('src');
752 - });
753 - }
754 - if (action === 'e2pdf_templates') {
755 -
756 - var dataset_field = jQuery('#e2pdf-export-dataset');
757 - dataset_field.attr('disabled', 'disabled').find('option').remove();
758 - for (var key in result['datasets']) {
759 - var option = jQuery('<option>',
760 - {
761 - 'value': result['datasets'][key]['key']
762 - }).html(result['datasets'][key]['value']);
763 - dataset_field.append(option);
764 - }
765 -
766 - dataset_field.val('');
767 - if (Object.keys(result['datasets']).length > 1) {
768 - dataset_field.attr('disabled', false);
769 - }
770 -
771 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
772 - options.hide();
773 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
774 - options.find('select').val('0').attr('disabled', 'disabled');
775 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
776 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
777 - jQuery('#e2pdf-dataset-shortcode').val('');
778 - jQuery('#e2pdf-template-shortcode').val('');
779 - if (Object.keys(result['options']).length > 0) {
780 - for (var key in result['options']) {
781 - var field = options.find('[name="options[' + key + ']"]');
782 - if (field.attr('type') === 'text' || field.is("select")) {
783 - field.val(result['options'][key]);
784 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
785 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
786 - checkbox.attr('checked', 'checked');
787 - }
788 1345 }
789 -
790 - var template_id = jQuery('#e2pdf-export-template').val();
791 - options.find('input[type="text"]').attr('disabled', false);
792 - options.find('input[type="checkbox"]').attr('disabled', false);
793 - options.find('select').attr('disabled', false);
794 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
795 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
796 - if (result['delete_items']) {
797 - jQuery('#e2pdf-delete-items').attr({'template': template_id, 'disabled': false});
798 - }
799 -
800 - options.slideDown();
801 - if (e2pdf.static.autoloadExport) {
802 - if (e2pdf.url.get('dataset_id')) {
803 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
804 - dataset_field.val(e2pdf.url.get('dataset_id')).change();
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');
805 1354 }
1355 + option.data('data-item', result[key]);
1356 + jQuery('.e2pdf-item2').append(option);
806 1357 }
807 - e2pdf.static.autoloadExport = false;
808 - } else {
809 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
810 1358 }
811 -
812 - dataset_field.change();
813 - } else {
814 - e2pdf.url.change('e2pdf');
815 - }
816 - }
817 - if (action === 'e2pdf_dataset') {
818 - var template_id = jQuery('#e2pdf-export-template').val();
819 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
820 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
821 - jQuery('#e2pdf-dataset-shortcode').val('');
822 - if (dataset_id && dataset_id != "0") {
823 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
824 - jQuery('#e2pdf-dataset-shortcode-wr').show();
825 - }
826 -
827 - if (result['export']) {
828 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
829 - jQuery('#e2pdf-export-form').attr('action', export_url);
830 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
831 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
832 - } else {
833 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
834 - }
835 -
836 - if (result['view'] && result['dataset']) {
837 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
838 - }
839 -
840 - if (result['delete_item'] && result['dataset']) {
841 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
842 - }
843 - }
844 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
845 - if (action === 'e2pdf_activate_template') {
846 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
847 - } else {
848 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
849 - }
850 - }
851 - if (action === 'e2pdf_auto') {
852 - var elements = result.elements;
853 - var width = parseFloat(e2pdf.pdf.settings.get('width'));
854 - var height = parseFloat(e2pdf.pdf.settings.get('height'));
855 - e2pdf.pages.changeTplSize(width, height);
856 - e2pdf.pages.createPage();
857 - jQuery('.ui-dialog-content').dialog('close');
858 -
859 - var i = 1;
860 - var page = jQuery('.e2pdf-page').last();
861 -
862 - var auto = {
863 - 'block': {
864 - 'top': 0,
865 - 'left': 0,
866 - 'right': 0,
867 - 'bottom': 0,
868 - 'width': 0,
869 - 'page': page.attr('data-page_id')
870 - },
871 - 'element': {
872 - 'top': 0,
873 - 'left': 0,
874 - 'right': 0,
875 - 'bottom': 0,
876 - 'width': 0,
877 - 'properties': {}
878 - },
879 - page: {
880 - 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
881 - 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
882 - 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
883 - 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0,
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 + }
884 1368 }
885 - };
886 -
887 - for (var key in elements) {
888 - var element = elements[key];
889 - var type = element.type;
890 -
891 - var properties = {};
892 -
893 - //fix empty values
894 - element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
895 - element['block'] = typeof element.block === 'undefined' ? false : element.block;
896 - element['float'] = typeof element.float === 'undefined' ? false : element.float;
897 - element.properties['width'] = typeof element.properties.width === 'undefined' ? 0 : element.properties.width;
898 - element.properties['height'] = typeof element.properties.height === 'undefined' ? 0 : element.properties.height;
899 - element.properties['top'] = typeof element.properties.top === 'undefined' ? 0 : element.properties.top;
900 - element.properties['left'] = typeof element.properties.left === 'undefined' ? 0 : element.properties.left;
901 - element.properties['right'] = typeof element.properties.right === 'undefined' ? 0 : element.properties.right;
902 -
903 - //assing properties to element
904 - for (var property in element.properties) {
905 - properties[property] = element.properties[property];
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]);
906 1383 }
907 -
908 - //calculate width
909 - if (element.block) {
910 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
911 - }
912 -
913 - if (element.block) {
914 - 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)) {
915 - page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
916 - properties['left'] = auto.block.right + parseFloat(properties.left);
917 - properties['top'] = auto.block.top;
918 - } else {
919 - page = jQuery('.e2pdf-page').last();
920 - auto.block['bottom'] = 0;
921 - page.find('.e2pdf-element').each(function () {
922 - auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
923 - });
924 - properties['left'] = parseFloat(properties.left);
925 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1384 + var images = el.find('img');
1385 + var counter = 0;
1386 + counter = images.length;
1387 + images.each(function () {
1388 + var img = new Image();
1389 + img.onload = function () {
1390 + counter--;
1391 + if (counter === 0) {
1392 + e2pdf.visual.mapper.rebuild();
1393 + }
1394 + };
1395 + img.onerror = function () {
1396 + counter--;
1397 + if (counter === 0) {
1398 + e2pdf.visual.mapper.rebuild();
1399 + }
1400 + };
1401 + img.src = jQuery(this).attr('src');
1402 + });
1403 + break;
1404 + case 'e2pdf_templates':
1405 + var template_id = result['id'];
1406 + if (template_id) {
1407 + jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1408 + for (var key in result['datasets']) {
1409 + var options = [];
1410 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1411 + dataset_field.closest('.e2pdf-export-item').show();
1412 + for (var subkey in result['datasets'][key]) {
1413 + var option = {
1414 + key: result['datasets'][key][subkey]['key'].toString(),
1415 + value: result['datasets'][key][subkey]['value'].toString()
1416 + };
1417 + options.push(option);
1418 + if (e2pdf.url.get('action') == 'bulk') {
1419 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1420 + } else {
1421 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1422 + }
1423 + }
1424 + dataset_field.data('options', options);
1425 + if (e2pdf.url.get('action') == 'bulk') {
1426 + dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1427 + if (Object.keys(result['datasets'][key]).length > 1) {
1428 + dataset_field.attr('disabled', false);
1429 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1430 + } else {
1431 + dataset_field.attr('disabled', 'disabled');
1432 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1433 + }
1434 + } else {
1435 + dataset_field.val('');
1436 + e2pdf.select2.update(dataset_field);
1437 + e2pdf.select2.enable(dataset_field);
1438 + }
926 1439 }
927 - } else {
928 - if (element.float) {
929 - if (element.properties.width !== 'auto') {
930 - 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));
931 - if (auto.element.properties.width === 'auto') {
932 - properties['width'] = properties['width'] - auto.element.width;
1440 + if (result['actions']) {
1441 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1442 + for (var key in result['actions']) {
1443 + ul.append(jQuery('<li>').html(result['actions'][key]));
1444 + }
1445 + jQuery('.e2pdf-export-template-actions').append(ul);
1446 + }
1447 + jQuery('.e2pdf-export-option').each(function () {
1448 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1449 + var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1450 + if (result['options'].hasOwnProperty(key)) {
1451 + jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1452 + if (result['options'][key]) {
1453 + jQuery(this).val(result['options'][key]);
1454 + } else {
1455 + if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1456 + jQuery(this).val('[e2pdf-dataset]');
1457 + } else {
1458 + if (key == 'args') {
1459 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1460 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1461 + }
1462 + jQuery(this).val('');
1463 + }
933 1464 }
1465 + } else {
1466 + jQuery(this).val('');
934 1467 }
1468 + if (jQuery(this).attr('name') == 'options[name]') {
1469 + if (e2pdf.url.get('action') == 'bulk') {
1470 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1471 + }
1472 + }
1473 + });
1474 + if (e2pdf.static.autoloadExport) {
1475 + var datasets = [
1476 + 'dataset',
1477 + 'dataset2'
1478 + ];
1479 + for (var key in datasets) {
1480 + if (e2pdf.url.get(datasets[key])) {
1481 + jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1482 + }
1483 + }
1484 + for (var key in datasets) {
1485 + if (e2pdf.url.get(datasets[key])) {
1486 + e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1487 + }
1488 + }
1489 + e2pdf.static.autoloadExport = false;
1490 + } else {
1491 + var url = '';
1492 + if (e2pdf.url.get('action')) {
1493 + url += 'action=' + e2pdf.url.get('action') + '&';
1494 + }
1495 + url += 'id=' + template_id;
1496 + e2pdf.url.change('e2pdf', url);
1497 + }
935 1498
936 - properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
937 - properties['top'] = auto.element.top;
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');
938 1506 } else {
939 - if (element.properties.width !== 'auto') {
940 - 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));
1507 + e2pdf.url.change('e2pdf');
1508 + }
1509 + }
1510 + break;
1511 + case 'e2pdf_dataset':
1512 + var template_id = result['id'];
1513 + var url = 'id=' + template_id;
1514 + var shortcode = '[e2pdf-download id="' + template_id + '"';
1515 + if (result['datasets']) {
1516 + for (var key in result['datasets']) {
1517 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1518 + var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1519 + e2pdf.select2.enable(dataset_field);
1520 + if (result['datasets'][key]['id'] == '') {
1521 + dataset_field.val('');
1522 + e2pdf.select2.update(dataset_field);
1523 + } else {
1524 + url += '&' + key + '=' + result['datasets'][key]['id'];
1525 + shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
941 1526 }
942 - properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
943 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1527 + if (result['datasets'][key]['actions']) {
1528 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1529 + for (var dkey in result['datasets'][key]['actions']) {
1530 + ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
1531 + }
1532 + actions.empty().append(ul);
1533 + }
944 1534 }
1535 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
945 1536 }
946 -
947 - var obj = e2pdf.element.create(type, page, properties, false, true);
948 -
949 - e2pdf.properties.render(obj);
950 - page.append(obj);
951 -
952 - if (element.properties.height === 'auto') {
953 - e2pdf.properties.set(obj, 'height', obj.height());
954 - e2pdf.properties.render(obj);
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();
955 1542 }
956 -
957 - if (!element.block
958 - && element.float
959 - && auto.block.width > 0
960 - && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
961 - e2pdf.properties.set(obj, 'left', auto.block.left);
962 - e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
963 - e2pdf.properties.render(obj);
1543 + e2pdf.url.change('e2pdf', url);
1544 + break;
1545 + case 'e2pdf_datasets_refresh':
1546 + var options = [];
1547 + var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1548 + for (var key in result['datasets']) {
1549 + var option = {
1550 + key: result['datasets'][key]['key'].toString(),
1551 + value: result['datasets'][key]['value'].toString()
1552 + };
1553 + options.push(option);
1554 + if (e2pdf.url.get('action') == 'bulk') {
1555 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1556 + } else {
1557 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1558 + }
964 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 + }
965 1631
966 - if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
967 - if (page.is(':last-child')) {
968 - if (e2pdfParams['license_type'] == 'FREE') {
969 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
970 - return;
971 - }
972 -
973 - if (page.find('.e2pdf-element').not(obj).length > 0) {
974 - e2pdf.pages.createPage();
1632 + if (element.block) {
1633 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1634 + if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
1635 + page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1636 + properties['left'] = auto.block.right + parseFloat(properties.left);
1637 + properties['top'] = auto.block.top;
1638 + } else {
975 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);
976 1646 }
977 1647 } else {
978 - if (page.find('.e2pdf-element').not(obj).length > 0) {
979 - page = page.next('.e2pdf-page');
1648 + if (element.float) {
1649 + if (element.properties.width !== 'auto') {
1650 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1651 + if (auto.element.properties.width === 'auto') {
1652 + properties['width'] = properties['width'] - auto.element.width;
1653 + }
1654 + }
1655 + properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1656 + properties['top'] = auto.element.top;
1657 + } else {
1658 + if (element.properties.width !== 'auto') {
1659 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1660 + }
1661 + properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1662 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
980 1663 }
981 1664 }
982 1665
983 - e2pdf.element.delete(obj);
984 -
985 -
986 - if (element.properties.height === 'auto') {
987 - properties['height'] = element.properties.height;
988 - }
989 -
990 - auto.block['bottom'] = auto.page.top;
991 - properties['top'] = auto.block.bottom;
992 -
993 - obj = e2pdf.element.create(type, page, properties, false, true);
1666 + var obj = e2pdf.element.create(type, page, properties, false, true);
994 1667 e2pdf.properties.render(obj);
995 1668 page.append(obj);
1669 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1670 + e2pdf.actions.apply(obj, element.actions);
1671 + }
996 1672
997 1673 if (element.properties.height === 'auto') {
998 1674 e2pdf.properties.set(obj, 'height', obj.height());
999 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);
1000 1679 }
1001 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 +
1002 1690 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1003 - e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1691 + if (page.is(':last-child')) {
1692 + if (e2pdf_params['license_type'] == 'FREE') {
1693 + obj.remove();
1694 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1695 + return;
1696 + }
1697 +
1698 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1699 + e2pdf.pages.createPage();
1700 + page = jQuery('.e2pdf-page').last();
1701 + }
1702 + } else {
1703 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1704 + page = page.next('.e2pdf-page');
1705 + }
1706 + }
1707 +
1708 + e2pdf.element.delete(obj);
1709 + if (element.properties.height === 'auto') {
1710 + properties['height'] = element.properties.height;
1711 + }
1712 +
1713 + auto.block['bottom'] = auto.page.top;
1714 + properties['top'] = auto.block.bottom;
1715 + obj = e2pdf.element.create(type, page, properties, false, true);
1004 1716 e2pdf.properties.render(obj);
1005 - e2pdf.properties.set(obj, 'top', properties['top']);
1006 - 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 + }
1007 1729 }
1008 - }
1009 1730
1010 - auto.element = {
1011 - 'top': e2pdf.properties.getValue(obj, 'top'),
1012 - 'left': e2pdf.properties.getValue(obj, 'left'),
1013 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1014 - 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1015 - 'width': e2pdf.properties.getValue(obj, 'width'),
1016 - 'properties': element.properties
1017 - };
1018 -
1019 - if (element.block) {
1020 - auto.block = {
1731 + auto.element = {
1021 1732 'top': e2pdf.properties.getValue(obj, 'top'),
1022 1733 'left': e2pdf.properties.getValue(obj, 'left'),
1023 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1734 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1024 1735 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1025 1736 'width': e2pdf.properties.getValue(obj, 'width'),
1026 - 'page': page.attr('data-page_id')
1737 + 'properties': element.properties
1027 1738 };
1028 - } else {
1029 - auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1739 + if (element.block) {
1740 + auto.block = {
1741 + 'top': e2pdf.properties.getValue(obj, 'top'),
1742 + 'left': e2pdf.properties.getValue(obj, 'left'),
1743 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1744 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1745 + 'width': e2pdf.properties.getValue(obj, 'width'),
1746 + 'page': page.attr('data-page_id')
1747 + };
1748 + } else {
1749 + auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1750 + }
1751 + if (element.hidden) {
1752 + hidden_elements.push(obj);
1753 + }
1754 + i++;
1030 1755 }
1031 -
1032 - i++;
1033 - }
1756 + hidden_elements.forEach(function (element) {
1757 + e2pdf.element.delete(element);
1758 + });
1759 + break;
1760 + case 'e2pdf_bulk_action':
1761 + if (result.action == 'delete') {
1762 + el.closest('.e2pdf-bulk').remove();
1763 + if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1764 + jQuery('.e2pdf-bulks-list').remove();
1765 + }
1766 + } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1767 + el.closest('.e2pdf-bulk').attr('status', 'stop');
1768 + el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1769 + } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1770 + el.closest('.e2pdf-bulk').attr('status', 'pending');
1771 + el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1772 + }
1773 + break;
1774 + case 'e2pdf_bulk_progress':
1775 + for (var key in result.bulks) {
1776 + var bulk = result.bulks[key];
1777 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1778 + if (bulk['status'] == 'completed') {
1779 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1780 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1781 + jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1782 + jQuery('<i>', {'class': 'dashicons dashicons-download'})
1783 + ));
1784 + }
1785 + }
1786 + break;
1787 + default:
1788 + break;
1034 1789 }
1035 1790 }
1036 1791 },
1037 - //e2pdf.dialog
1792 + // e2pdf.dialog
1038 1793 dialog: {
1039 - //e2pdf.dialog.create
1794 + top: null,
1795 + left: null,
1796 + center: true,
1797 + // e2pdf.dialog.create
1040 1798 create: function (el) {
1041 1799 e2pdf.dialog.close();
1042 1800 var modal = el.attr('data-modal');
1043 1801 var title = el.attr('data-modal-title');
@@ -1044,21 +1802,21 @@
1044 1802 var noclose = false;
1045 1803 var width = '600';
1046 1804 var height = '600';
1047 1805 if (modal === 'license-key') {
1048 - width = '300';
1806 + width = '400';
1049 1807 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1050 - jQuery('<form>', {'id': 'license_key'}).append(
1808 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1051 1809 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1052 1810 jQuery('<span>', {'class': 'spinner'})
1053 1811 ),
1054 1812 jQuery('<ul>').append(
1055 1813 jQuery('<li>').append(
1056 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1057 - 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'})
1058 1816 ),
1059 1817 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1060 - 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']})
1061 1819 )
1062 1820 )
1063 1821 )
1064 1822 );
@@ -1063,23 +1821,21 @@
1063 1821 )
1064 1822 );
1065 1823 } else if (modal === 'properties') {
1066 1824 for (var key in e2pdf.element.selected) {
1067 - var title = e2pdfLang['Properties'];
1825 + var title = e2pdf.lang.get('Properties');
1068 1826 var selected = e2pdf.element.selected[key];
1069 - var properties = e2pdf.properties.get(selected);
1070 1827 var fields = e2pdf.properties.renderFields(selected);
1071 1828 var content = jQuery('<div>').append(
1072 1829 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1073 1830 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1074 1831 fields
1075 - ),
1076 1832 )
1833 + )
1077 1834 );
1078 1835 }
1079 1836 } else if (modal === 'page-options') {
1080 -
1081 - var title = e2pdfLang['Page Options'];
1837 + var title = e2pdf.lang.get('Page Options');
1082 1838 var page = el.closest('.e2pdf-page');
1083 1839 var readonly_size = false;
1084 1840 if (e2pdf.pdf.settings.get('pdf')) {
1085 1841 readonly_size = true;
@@ -1089,49 +1845,66 @@
1089 1845 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1090 1846 jQuery('<span>', {'class': 'spinner'})
1091 1847 ),
1092 1848 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1093 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1849 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1094 1850 )),
1095 1851 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1096 1852 jQuery('<span>', {'class': 'spinner'})
1097 1853 ));
1098 -
1099 1854 var fields = e2pdf.properties.renderFields(page);
1100 -
1101 1855 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1102 1856 fields
1103 1857 ));
1104 -
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 + );
1105 1880 } else if (modal === 'tpl-options') {
1106 - var noclose = false;
1107 1881 width = '500';
1108 - var title = e2pdfLang['PDF Options'];
1882 + var title = e2pdf.lang.get('Options');
1109 1883 var readonly_size = false;
1110 1884 if (e2pdf.pdf.settings.get('pdf')) {
1111 1885 readonly_size = true;
1112 1886 }
1113 -
1114 1887 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1115 1888 jQuery('<option>',
1116 1889 {
1117 - 'value': '',
1118 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1890 + 'value': ''
1891 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1119 1892 );
1120 - for (var size in e2pdfTemplateSizes) {
1893 + for (var size in e2pdf_params['template_sizes']) {
1121 1894 var option = jQuery('<option>',
1122 1895 {
1123 - 'value': size,
1124 - }).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'] + ')');
1125 1898 sizes.append(option);
1126 1899 }
1127 1900
1128 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1129 - 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']) {
1130 1903 var option = jQuery('<option>',
1131 1904 {
1132 - 'value': extension,
1133 - }).html(e2pdfTemplateExtensions[extension]);
1905 + 'value': extension
1906 + }).html(e2pdf_params['extensions'][extension]);
1134 1907 if (e2pdf.pdf.settings.get('extension') === extension) {
1135 1908 option.attr('selected', 'selected');
1136 1909 }
1137 1910 extensions.append(option);
@@ -1136,14 +1909,14 @@
1136 1909 }
1137 1910 extensions.append(option);
1138 1911 }
1139 1912
1140 - 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(
1141 1914 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1142 1915 jQuery('<span>', {'class': 'spinner'})
1143 1916 ),
1144 1917 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1145 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1918 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1146 1919 )),
1147 1920 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1148 1921 jQuery('<span>', {'class': 'spinner'})
1149 1922 ));
@@ -1157,31 +1930,29 @@
1157 1930 default_height = e2pdf.pdf.settings.get('height');
1158 1931 }
1159 1932
1160 1933 content.find('form').append(
1161 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1162 1934 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1163 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1164 - 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') + ':')
1165 1937 ),
1166 1938 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1167 1939 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1168 - 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})
1169 1941 ),
1170 1942 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1171 - 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})
1172 1944 )
1173 1945 )
1174 1946 );
1175 1947 content.find('form').append(
1176 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1948 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1177 1949 sizes);
1178 -
1179 1950 content.find('form').append(
1180 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1181 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1182 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1183 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
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') + ':')
1184 1955 ),
1185 1956 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1186 1957 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1187 1958 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1193,24 +1964,76 @@
1193 1964 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1194 1965 )
1195 1966 )
1196 1967 );
1197 -
1198 1968 content.find('form').append(
1199 - jQuery('<label>', {'class': 'e2pdf-mt10'}).html(e2pdfLang['Extension'] + ':'),
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') + ':'),
1200 1985 extensions,
1201 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1202 - 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'})
1203 1988 );
1204 1989 content.find('form').append(
1205 - 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 + )
1206 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 + );
1207 2030 if (e2pdf.pdf.settings.get('pdf')) {
1208 2031 content.find('form').append(
1209 - jQuery('<ul>').append(
2032 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1210 2033 jQuery('<li>'),
1211 2034 jQuery('<li>').append(
1212 - 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'))
1213 2036 ),
1214 2037 jQuery('<li>')
1215 2038 )
1216 2039 );
@@ -1215,46 +2038,76 @@
1215 2038 )
1216 2039 );
1217 2040 } else {
1218 2041 content.find('form').append(
1219 - jQuery('<ul>').append(
2042 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1220 2043 jQuery('<li>').append(
1221 - 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'))
1222 2045 ),
1223 2046 jQuery('<li>'),
1224 2047 jQuery('<li>').append(
1225 - 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'))
1226 2049 )
1227 2050 )
1228 2051 );
1229 2052 }
1230 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 + );
1231 2084 } else if (modal === 'welcome-screen') {
1232 2085 var noclose = true;
1233 2086 width = '500';
1234 - var title = e2pdfLang['Create PDF'];
2087 + var title = e2pdf.lang.get('Create PDF');
1235 2088 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1236 2089 jQuery('<option>',
1237 2090 {
1238 - 'value': '',
1239 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2091 + 'value': ''
2092 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1240 2093 );
1241 - for (var size in e2pdfTemplateSizes) {
2094 + for (var size in e2pdf_params['template_sizes']) {
1242 2095 var option = jQuery('<option>',
1243 2096 {
1244 2097 'value': size,
1245 - 'data-width': e2pdfTemplateSizes[size]['width'],
1246 - 'data-height': e2pdfTemplateSizes[size]['height']
1247 - }).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'] + ')');
1248 2101 sizes.append(option);
1249 2102 }
1250 2103
1251 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1252 - 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']) {
1253 2106 var option = jQuery('<option>',
1254 2107 {
1255 - 'value': extension,
1256 - }).html(e2pdfTemplateExtensions[extension]);
2108 + 'value': extension
2109 + }).html(e2pdf_params['extensions'][extension]);
1257 2110 if (e2pdf.pdf.settings.get('extension') === extension) {
1258 2111 option.attr('selected', 'selected');
1259 2112 }
1260 2113 extensions.append(option);
@@ -1259,14 +2112,14 @@
1259 2112 }
1260 2113 extensions.append(option);
1261 2114 }
1262 2115
1263 - 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(
1264 2117 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1265 2118 jQuery('<span>', {'class': 'spinner'})
1266 2119 ),
1267 2120 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1268 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2121 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1269 2122 )),
1270 2123 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1271 2124 jQuery('<span>', {'class': 'spinner'})
1272 2125 ));
@@ -1280,31 +2133,39 @@
1280 2133 var default_height = e2pdf.pdf.settings.get('height');
1281 2134 }
1282 2135
1283 2136 content.find('form').append(
1284 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1285 2137 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1286 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1287 - 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') + ':'),
1288 2139 ),
1289 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(
1290 2152 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1291 - 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})
1292 2154 ),
1293 2155 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1294 - 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})
1295 2157 )
1296 2158 )
1297 2159 );
1298 2160 content.find('form').append(
1299 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2161 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1300 2162 sizes);
1301 -
1302 2163 content.find('form').append(
1303 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1304 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1305 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1306 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
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') + ':'),
1307 2168 ),
1308 2169 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1309 2170 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1310 2171 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1316,23 +2177,73 @@
1316 2177 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1317 2178 )
1318 2179 )
1319 2180 );
1320 -
1321 2181 content.find('form').append(
1322 - jQuery('<label>', {'class': 'e2pdf-mt10'}).html(e2pdfLang['Extension'] + ':'),
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') + ':'),
1323 2198 extensions,
1324 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1325 - 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'})
1326 2201 );
1327 -
1328 2202 content.find('form').append(
1329 - 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 + )
1330 2223 );
1331 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(
1332 2244 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1333 2245 );
1334 -
1335 2246 if (e2pdf.pdf.settings.get('ID')) {
1336 2247 content.find('form').append(
1337 2248 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1338 2249 );
@@ -1338,48 +2249,49 @@
1338 2249 );
1339 2250 }
1340 2251
1341 2252 content.find('form').append(
1342 - jQuery('<ul>').append(
2253 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1343 2254 jQuery('<li>').append(
1344 - 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'))
1345 2256 ),
1346 2257 jQuery('<li>').append(
1347 - 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']))
1348 2259 ),
1349 2260 jQuery('<li>').append(
1350 - 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'))
1351 2262 )
1352 2263 )
1353 2264 );
1354 2265 } else if (modal === 'visual-mapper') {
1355 -
1356 - var title = e2pdfLang['Visual Mapper'];
1357 - 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(
1358 2268 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1359 2269 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1360 2270 jQuery('<span>', {'class': 'spinner'})
1361 2271 )).append(
1362 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1363 - 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'})
1364 2275 )
2276 + )
1365 2277 ));
1366 2278 } else if (modal === 'pdf-reupload') {
1367 -
1368 - var title = e2pdfLang['PDF Upload'];
2279 + var title = e2pdf.lang.get('PDF Upload');
1369 2280 width = '500';
1370 - 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(
1371 2283 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1372 2284 jQuery('<span>', {'class': 'spinner'})
1373 2285 ),
1374 2286 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1375 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2287 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1376 2288 )),
1377 2289 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1378 2290 jQuery('<span>', {'class': 'spinner'})
1379 2291 ));
1380 2292 content.find('form').append(
1381 - 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'})
1382 2294 );
1383 2295 if (e2pdf.pdf.settings.get('ID')) {
1384 2296 content.find('form').append(
1385 2297 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
@@ -1388,27 +2300,32 @@
1388 2300
1389 2301 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1390 2302 pages.append(
1391 2303 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1392 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1393 - 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'))
1394 2306 ),
1395 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1396 - 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'))
1397 2309 ),
1398 2310 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1399 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2311 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1400 2312 ),
1401 2313 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1402 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2314 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1403 2315 )));
1404 2316 jQuery('.e2pdf-page').each(function () {
1405 2317 var page_id = jQuery(this).attr('data-page_id');
1406 2318 pages.append(
1407 2319 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1408 - 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 + ),
1409 2326 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1410 - 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})
1411 2328 ),
1412 2329 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1413 2330 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
1414 2331 ),
@@ -1423,9 +2340,9 @@
1423 2340 jQuery('<ul>').append(
1424 2341 jQuery('<li>').append(
1425 2342 ),
1426 2343 jQuery('<li>').append(
1427 - 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'))
1428 2345 ),
1429 2346 jQuery('<li>').append(
1430 2347 )
1431 2348 )
@@ -1434,57 +2351,134 @@
1434 2351 var content = jQuery('<div>');
1435 2352 }
1436 2353
1437 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 + }
1438 2363 content.dialog({
1439 2364 title: title,
1440 - dialogClass: 'e2pdf-dialog',
2365 + dialogClass: dialog_class,
1441 2366 modal: true,
1442 2367 width: width,
1443 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1444 - resizable: false,
1445 - minHeight: 0,
1446 - my: "center",
1447 - 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,
1448 2375 open: function (event, ui) {
2376 + jQuery('html').css('overflow', 'hidden');
2377 + jQuery('.e2pdf-dialog').css('min-height', '150');
1449 2378 if (noclose) {
1450 - 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 + });
1451 2383 } else {
1452 2384 jQuery('.ui-widget-overlay').bind('click', function ()
1453 2385 {
2386 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2387 + return;
2388 + }
1454 2389 content.dialog('close');
1455 2390 });
1456 2391 }
1457 2392
1458 - var dialog_height = jQuery('.e2pdf-dialog').height();
1459 -
1460 2393 if (modal === 'properties') {
1461 2394 jQuery(".ui-dialog-titlebar").after(
1462 2395 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1463 - 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')})
1464 2398 )
1465 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 + );
1466 2439 } else if (modal === 'page-options') {
1467 2440 jQuery(".ui-dialog-titlebar").after(
1468 2441 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1469 - 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')})
1470 2443 )
1471 2444 );
1472 2445 }
1473 -
1474 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1475 -
1476 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1477 - 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)});
1478 2447 },
1479 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 + },
1480 2472 close: function (event, ui)
1481 2473 {
2474 + jQuery('html').css('overflow', 'auto');
1482 2475 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1483 2476 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1484 2477 jQuery(this).click();
1485 2478 });
1486 2479 }
2480 + e2pdf.visual.mapper.selected = null;
1487 2481 jQuery(this).remove();
1488 2482 }
1489 2483 });
1490 2484 }
@@ -1489,56 +2483,58 @@
1489 2483 });
1490 2484 }
1491 2485
1492 2486 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1493 - e2pdf.request.submitRequest('e2pdf_extension', jQuery('#e2pdf-create-pdf-form select[name="extension"]'));
1494 - } else if (modal === 'properties') {
1495 - jQuery('.e2pdf-scale-field').each(function () {
1496 - jQuery(this).trigger('change');
1497 - });
2487 + jQuery('.e2pdf-extension').trigger('change');
1498 2488 } else if (modal === 'visual-mapper') {
1499 -
1500 2489 var data = {};
1501 2490 data['extension'] = e2pdf.pdf.settings.get('extension');
1502 2491 data['item'] = e2pdf.pdf.settings.get('item');
1503 - 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);
1504 2495 }
2496 +
2497 + if (modal !== 'visual-mapper') {
2498 + e2pdf.dialog.rebuild();
2499 + }
2500 +
1505 2501 e2pdf.event.fire('after.dialog.create');
1506 2502 },
1507 - //e2pdf.dialog.close
2503 + // e2pdf.dialog.close
1508 2504 close: function () {
1509 2505 if (jQuery('.e2pdf-dialog').length > 0) {
1510 2506 jQuery('.ui-dialog-content').dialog('close');
1511 2507 }
1512 2508 },
1513 - //e2pdf.dialog.rebuild
2509 + // e2pdf.dialog.rebuild
2510 +
1514 2511 rebuild: function () {
1515 - if (jQuery('.e2pdf-dialog').length > 0) {
1516 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1517 - var width = dialog.data("ui-dialog").options.width;
1518 - var height = 600;
1519 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1520 - var dialog_height = jQuery('.e2pdf-dialog').height();
1521 -
1522 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1523 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1524 -
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 + }
1525 2519 e2pdf.visual.mapper.rebuild();
1526 2520 }
1527 2521 }
1528 2522 },
1529 - //e2pdf.mediaUploader
2523 + // e2pdf.mediaUploader
1530 2524 mediaUploader: {
1531 - //e2pdf.mediaUploader.init
2525 + // e2pdf.mediaUploader.init
1532 2526 init: function (el) {
1533 -
1534 2527 var mediaUploader;
1535 2528 mediaUploader = wp.media.frames.file_frame = wp.media({
1536 - title: e2pdfLang['Choose Image'],
2529 + title: e2pdf.lang.get('Media Library'),
1537 2530 button: {
1538 - text: e2pdfLang['Choose Image']
2531 + text: e2pdf.lang.get('Select')
1539 2532 }, multiple: false});
1540 2533 mediaUploader.on('select', function () {
2534 + var history = [];
2535 + history.push(el.clone(true));
2536 + e2pdf.history.set('element_change', history);
1541 2537 var attachment = mediaUploader.state().get('selection').first().toJSON();
1542 2538 e2pdf.properties.set(el, 'value', attachment.url);
1543 2539 e2pdf.properties.render(el);
1544 2540 e2pdf.event.fire('after.mediaUploader.select');
@@ -1545,15 +2541,13 @@
1545 2541 });
1546 2542 mediaUploader.open();
1547 2543 }
1548 2544 },
1549 - //e2pdf.actions
2545 + // e2pdf.actions
1550 2546 actions: {
1551 - //e2pdf.actions.add
1552 - add: function (el, target) {
1553 -
2547 + // e2pdf.actions.add
2548 + add: function (el, target, action) {
1554 2549 var last_id = -1;
1555 -
1556 2550 target.find('.e2pdf-action').each(function () {
1557 2551 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1558 2552 if (num_id > last_id) {
1559 2553 last_id = num_id;
@@ -1559,45 +2553,66 @@
1559 2553 last_id = num_id;
1560 2554 }
1561 2555 });
1562 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 + }
1563 2562
1564 - target.append(e2pdf.actions.renderField(el, action_id));
1565 2563 },
1566 - //e2pdf.actions.change
1567 - change: function (action) {
2564 + // e2pdf.actions.change
2565 + change: function (action, trigger) {
1568 2566 var action_id = action.attr("data-action_id");
1569 -
1570 2567 var form = action.closest('form');
1571 2568 var data = e2pdf.form.serializeObject(form);
1572 -
1573 2569 var el = false;
1574 -
1575 2570 if (form.attr('id') === 'e2pdf-page-options') {
1576 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');
1577 2574 } else {
1578 2575 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1579 2576 }
1580 2577
1581 - 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 + }
1582 2582
1583 2583 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1584 -
1585 2584 e2pdf.event.fire('after.actions.change');
1586 2585 },
1587 - //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 +
1588 2605 delete: function (action) {
1589 2606 action.remove();
1590 2607 },
1591 - //e2pdf.actions.conditions
2608 + // e2pdf.actions.conditions
1592 2609 conditions: {
1593 - //e2pdf.actions.conditions.add
2610 + // e2pdf.actions.conditions.add
1594 2611 add: function (el, target) {
1595 2612 var action = target.closest('.e2pdf-action');
1596 -
1597 2613 var action_id = action.attr('data-action_id');
1598 2614 var last_id = -1;
1599 -
1600 2615 target.find('.e2pdf-condition').each(function () {
1601 2616 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1602 2617 if (num_id > last_id) {
1603 2618 last_id = num_id;
@@ -1603,14 +2618,13 @@
1603 2618 last_id = num_id;
1604 2619 }
1605 2620 });
1606 2621 var condition_id = parseInt(last_id + 1);
1607 -
1608 2622 action.find('.e2pdf-conditions').append(
1609 2623 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1610 2624 );
1611 2625 },
1612 - //e2pdf.actions.conditions.getFields
2626 + // e2pdf.actions.conditions.getFields
1613 2627 getFields: function (el, action_id, condition_id, condition) {
1614 2628 var obj = {
1615 2629 'condition': {
1616 2630 'fields': [
@@ -1615,42 +2629,37 @@
1615 2629 'condition': {
1616 2630 'fields': [
1617 2631 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1618 2632 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1619 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2633 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1620 2634 ],
1621 2635 'classes': [
1622 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2636 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1623 2637 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1624 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1625 - ],
1626 - },
1627 -
2638 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2639 + ]
2640 + }
1628 2641 };
1629 2642 return obj;
1630 2643 },
1631 - //e2pdf.actions.conditions.getField
2644 + // e2pdf.actions.conditions.getField
1632 2645 getField: function (field, el, action_id, condition_id, condition) {
1633 2646 var obj = false;
1634 -
1635 2647 switch (field) {
1636 -
1637 2648 case 'if':
1638 2649 var value = condition ? condition.if : '';
1639 2650 obj = {
1640 - 'name': e2pdfLang['If'],
2651 + 'name': e2pdf.lang.get('If'),
1641 2652 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1642 - 'type': 'text',
2653 + 'type': 'textarea',
1643 2654 'value': value,
1644 2655 'atts': []
1645 2656 };
1646 2657 break;
1647 -
1648 2658 case 'condition':
1649 2659 var value = condition ? condition.condition : '=';
1650 -
1651 2660 obj = {
1652 - 'name': e2pdfLang['Condition'],
2661 + 'name': e2pdf.lang.get('Condition'),
1653 2662 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1654 2663 'type': 'select',
1655 2664 'value': value,
1656 2665 'options': [
@@ -1659,43 +2668,45 @@
1659 2668 {'>': '>'},
1660 2669 {'>=': '>='},
1661 2670 {'<': '<'},
1662 2671 {'<=': '<='},
1663 - {'like': 'LIKE'},
1664 - {'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')}
1665 2680 ],
1666 2681 'atts': []
1667 2682 };
1668 2683 break;
1669 -
1670 2684 case 'value':
1671 2685 var value = condition ? condition.value : '';
1672 2686 obj = {
1673 - 'name': e2pdfLang['Value'],
2687 + 'name': e2pdf.lang.get('Value'),
1674 2688 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1675 - 'type': 'text',
2689 + 'type': 'textarea',
1676 2690 'value': value,
1677 2691 'atts': []
1678 2692 };
1679 2693 break;
1680 2694 }
1681 -
1682 2695 return obj;
1683 2696 },
1684 - //e2pdf.actions.conditions.delete
2697 + // e2pdf.actions.conditions.delete
1685 2698 delete: function (condition) {
1686 2699 condition.remove();
1687 2700 },
1688 - //e2pdf.actions.conditions.renderField
2701 + // e2pdf.actions.conditions.renderField
1689 2702 renderField: function (el, action_id, condition_id, condition) {
1690 2703 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1691 -
1692 2704 if (groups) {
1693 2705 for (var group_key in groups) {
1694 2706
1695 2707 var group = groups[group_key];
1696 2708 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1697 -
1698 2709 for (var field_key in group.fields) {
1699 2710 var group_field = group.fields[field_key];
1700 2711 var classes = '';
1701 2712 if (group.classes) {
@@ -1706,12 +2717,11 @@
1706 2717
1707 2718 var field = '';
1708 2719 var label = '';
1709 2720 var wrap = '';
1710 -
1711 2721 if (group_field.type === 'text') {
1712 2722 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1713 - 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});
1714 2724 } else if (group_field.type === 'hidden') {
1715 2725 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1716 2726 } else if (group_field.type === 'textarea') {
1717 2727 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
@@ -1719,17 +2729,14 @@
1719 2729 } else if (group_field.type === 'checkbox') {
1720 2730 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1721 2731 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1722 2732 if (group_field.value == group_field.option) {
1723 - field.attr('checked', 'checked');
2733 + field.prop('checked', true);
1724 2734 }
1725 2735 } else if (group_field.type === 'color') {
1726 2736 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1727 2737 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1728 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1729 - if (group_field.key === 'border_color') {
1730 - field.attr('data-default', '#000000');
1731 - }
2738 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1732 2739 } else if (group_field.type === 'select') {
1733 2740 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1734 2741 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1735 2742 for (var option_key in group_field.options) {
@@ -1748,9 +2755,9 @@
1748 2755 }
1749 2756 }
1750 2757 }
1751 2758
1752 - 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(
1753 2760 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1754 2761 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1755 2762 ),
1756 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1755,26 +2762,26 @@
1755 2762 ),
1756 2763 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1757 2764 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1758 2765 )));
1759 -
1760 - 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 + ),
1761 2770 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1762 2771 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1763 2772 ),
1764 2773 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1765 - grid,
2774 + grid
1766 2775 )
1767 2776 );
1768 2777 return new_condition;
1769 2778 }
1770 2779 },
1771 -
1772 - //e2pdf.actions.get
2780 + // e2pdf.actions.get
1773 2781 get: function (el) {
1774 2782 var actions = [];
1775 -
1776 - if (typeof el.data('data-properties') !== 'undefined') {
2783 + if (typeof el.data('data-actions') !== 'undefined') {
1777 2784 actions = JSON.parse(el.data('data-actions'));
1778 2785 actions = Object.values(actions).sort(function (a, b) {
1779 2786 if (parseInt(a.order) === parseInt(b.order)) {
1780 2787 return 0;
@@ -1783,9 +2790,9 @@
1783 2790 });
1784 2791 }
1785 2792 return actions;
1786 2793 },
1787 - //e2pdf.actions.apply
2794 + // e2pdf.actions.apply
1788 2795 apply: function (el, data) {
1789 2796 if (!data) {
1790 2797 data = [];
1791 2798 }
@@ -1790,18 +2797,16 @@
1790 2797 data = [];
1791 2798 }
1792 2799 el.data('data-actions', JSON.stringify(data));
1793 2800 },
1794 - //e2pdf.actions.getField
2801 + // e2pdf.actions.getField
1795 2802 getField: function (field, el, action_id, action) {
1796 -
1797 2803 var obj = false;
1798 -
1799 2804 switch (field) {
1800 2805 case 'order':
1801 2806 var value = action ? action.order : '0';
1802 2807 obj = {
1803 - 'name': e2pdfLang['Order'],
2808 + 'name': e2pdf.lang.get('Sort'),
1804 2809 'key': 'actions[' + action_id + '][order]',
1805 2810 'type': 'text',
1806 2811 'value': value,
1807 2812 'atts': ['number']
@@ -1806,72 +2811,228 @@
1806 2811 'value': value,
1807 2812 'atts': ['number']
1808 2813 };
1809 2814 break;
1810 -
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;
1811 2855 case 'action':
1812 - 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 + }
1813 2900 obj = {
1814 - 'name': e2pdfLang['Action'],
2901 + 'name': e2pdf.lang.get('Action'),
1815 2902 'key': 'actions[' + action_id + '][action]',
1816 2903 'type': 'select',
1817 2904 'value': value,
1818 - 'options': [
1819 - {'hide': e2pdfLang['Hide']},
1820 - {'show': e2pdfLang['Show']},
1821 - {'change': e2pdfLang['Change']},
1822 - ],
2905 + 'options': options,
1823 2906 'atts': []
1824 2907 };
1825 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 + }
1826 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;
1827 2972 case 'property':
1828 - var value = action ? action.property : '';
1829 -
1830 - if (action && action.action === 'change') {
1831 - var options = [];
1832 - var option = {
1833 - '': e2pdfLang['--- Select ---']
1834 - };
1835 - options.push(option);
1836 -
1837 - var groups = e2pdf.properties.getFields(el);
1838 -
1839 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1840 -
1841 - for (var group_key in groups) {
1842 - var group = groups[group_key];
1843 -
1844 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1845 - for (var field_key in group.fields) {
1846 - var group_field = group.fields[field_key];
1847 - var option = {};
1848 -
1849 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1850 - option[group_field.key] = group.name;
1851 - } else {
1852 - option[group_field.key] = group.name + ' ' + group_field.name;
1853 - }
1854 -
1855 - options.push(option);
1856 - }
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';
1857 2980 }
2981 + } else {
2982 + var value = action && action.property ? action.property : 'enable';
1858 2983 }
1859 -
2984 + var options = [
2985 + {'enable': e2pdf.lang.get('Enable')},
2986 + {'disable': e2pdf.lang.get('Disable')},
2987 + ];
1860 2988 obj = {
1861 - 'name': e2pdfLang['Property'],
2989 + 'name': e2pdf.lang.get('State'),
1862 2990 'key': 'actions[' + action_id + '][property]',
1863 - 'type': 'select',
2991 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1864 2992 'value': value,
1865 2993 'options': options,
1866 2994 'atts': []
1867 2995 };
2996 + } else {
2997 + var value = action ? action.property : '';
2998 + if (action && action.action === 'change') {
2999 + var options = [];
3000 + var option = {
3001 + '': e2pdf.lang.get('--- Select ---')
3002 + };
3003 + options.push(option);
3004 + var groups = e2pdf.properties.getFields(el);
3005 + for (var group_key in groups) {
3006 + var group = groups[group_key];
3007 + for (var field_key in group.fields) {
3008 + var group_field = group.fields[field_key];
3009 + if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
3010 + var option = {};
3011 + if (group_field.key == 'g_multiline') {
3012 + option[group_field.key] = e2pdf.lang.get('Type');
3013 + } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
3014 + option[group_field.key] = group.name;
3015 + } else {
3016 + option[group_field.key] = group.name + ' ' + group_field.name;
3017 + }
3018 + options.push(option);
3019 + }
3020 + }
3021 + }
3022 + obj = {
3023 + 'name': e2pdf.lang.get('Property'),
3024 + 'key': 'actions[' + action_id + '][property]',
3025 + 'type': 'select',
3026 + 'value': value,
3027 + 'options': options,
3028 + 'atts': []
3029 + };
3030 + }
1868 3031 }
1869 3032 break;
1870 -
1871 3033 case 'change':
1872 3034 var value = action ? action.change : '';
1873 -
1874 3035 if (
1875 3036 action
1876 3037 && typeof action.action !== 'undefined'
1877 3038 && action.action === 'change'
@@ -1879,13 +3040,20 @@
1879 3040 && action.property !== ''
1880 3041 ) {
1881 3042
1882 3043 var property = e2pdf.properties.getField(action.property, el);
1883 -
1884 3044 if (property) {
1885 - 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 + }
1886 3052 property.key = 'actions[' + action_id + '][change]';
1887 -
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 + }
1888 3056 if (jQuery.inArray('readonly', property.atts) === -1) {
1889 3057 if (property.type === 'select') {
1890 3058 for (var key in property.options) {
1891 3059 if (Object.keys(property.options[key])[0] == value) {
@@ -1906,19 +3074,18 @@
1906 3074 obj = property;
1907 3075 }
1908 3076 }
1909 3077 break;
1910 -
1911 3078 case 'apply':
1912 3079 var value = action ? action.apply : 'any';
1913 3080 obj = {
1914 - 'name': e2pdfLang['Apply If'],
3081 + 'name': e2pdf.lang.get('Apply If'),
1915 3082 'key': 'actions[' + action_id + '][apply]',
1916 3083 'type': 'select',
1917 3084 'value': value,
1918 3085 'options': [
1919 - {'any': e2pdfLang['Any']},
1920 - {'all': e2pdfLang['All']},
3086 + {'any': e2pdf.lang.get('Any')},
3087 + {'all': e2pdf.lang.get('All')}
1921 3088 ],
1922 3089 'atts': []
1923 3090 };
1924 3091 break;
@@ -1924,9 +3091,9 @@
1924 3091 break;
1925 3092 }
1926 3093 return obj;
1927 3094 },
1928 - //e2pdf.actions.getFields
3095 + // e2pdf.actions.getFields
1929 3096 getFields: function (el, action_id, action) {
1930 3097 var obj = {
1931 3098 'action': {
1932 3099 'fields': [
@@ -1932,27 +3099,68 @@
1932 3099 'fields': [
1933 3100 e2pdf.actions.getField('order', el, action_id, action),
1934 3101 e2pdf.actions.getField('action', el, action_id, action),
1935 3102 e2pdf.actions.getField('property', el, action_id, action),
1936 - e2pdf.actions.getField('change', el, action_id, action),
1937 - e2pdf.actions.getField('apply', el, action_id, action),
3103 + e2pdf.actions.getField('apply', el, action_id, action)
1938 3104 ],
1939 3105 'classes': [
1940 3106 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1941 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1942 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1943 - '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',
1944 3109 'e2pdf-w15 e2pdf-pl5'
1945 - ],
1946 - },
3110 + ]
3111 + }
1947 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 +
1948 3152 return obj;
1949 3153 },
1950 - //e2pdf.actions.renderField
3154 + // e2pdf.actions.renderField
1951 3155 renderField: function (el, action_id, action) {
1952 -
1953 3156 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
1954 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 + }
1955 3163 for (var condition in action.conditions) {
1956 3164 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
1957 3165 }
1958 3166 } else {
@@ -1959,16 +3167,13 @@
1959 3167 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
1960 3168 }
1961 3169
1962 3170 var groups = e2pdf.actions.getFields(el, action_id, action);
1963 -
1964 3171 if (groups) {
1965 -
1966 3172 for (var group_key in groups) {
1967 3173
1968 3174 var group = groups[group_key];
1969 3175 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1970 -
1971 3176 for (var field_key in group.fields) {
1972 3177 var group_field = group.fields[field_key];
1973 3178 var classes = '';
1974 3179 if (group.classes) {
@@ -1979,30 +3184,27 @@
1979 3184
1980 3185 var field = '';
1981 3186 var label = '';
1982 3187 var wrap = '';
1983 -
3188 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
1984 3189 if (group_field.type === 'text') {
1985 3190 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1986 - 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});
1987 3192 } else if (group_field.type === 'hidden') {
1988 3193 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1989 3194 } else if (group_field.type === 'textarea') {
1990 3195 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1991 - 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);
1992 3197 } else if (group_field.type === 'checkbox') {
1993 - 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);
1994 3199 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
1995 3200 if (group_field.value == group_field.option) {
1996 - field.attr('checked', 'checked');
3201 + field.prop('checked', true);
1997 3202 }
1998 3203 } else if (group_field.type === 'color') {
1999 3204 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2000 3205 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2001 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2002 - if (group_field.key === 'border_color') {
2003 - field.attr('data-default', '#000000');
2004 - }
3206 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2005 3207 } else if (group_field.type === 'select') {
2006 3208 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2007 3209 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2008 3210 for (var option_key in group_field.options) {
@@ -2012,9 +3214,8 @@
2012 3214 }
2013 3215
2014 3216 for (var att_key in group_field.atts) {
2015 3217 var att = group_field.atts[att_key];
2016 -
2017 3218 switch (att) {
2018 3219 case 'readonly':
2019 3220 field.attr('readonly', 'readonly');
2020 3221 break;
@@ -2021,9 +3222,8 @@
2021 3222 case 'number':
2022 3223 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
2023 3224 break;
2024 3225 case 'autocomplete':
2025 -
2026 3226 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
2027 3227 field.addClass('e2pdf-autocomplete-cl');
2028 3228 field.autocomplete({
2029 3229 source: group_field.source,
@@ -2029,19 +3229,15 @@
2029 3229 source: group_field.source,
2030 3230 minLength: 0,
2031 3231 appendTo: wrap,
2032 3232 open: function () {
2033 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3233 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2034 3234 },
2035 3235 classes: {
2036 3236 "ui-autocomplete": "e2pdf-autocomplete"
2037 - },
3237 + }
2038 3238 });
2039 3239 break;
2040 -
2041 - case 'scale':
2042 - field.addClass('e2pdf-scale-field');
2043 - break;
2044 3240 }
2045 3241 }
2046 3242
2047 3243 if (!wrap) {
@@ -2055,8 +3251,11 @@
2055 3251 }
2056 3252 }
2057 3253
2058 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 + ),
2059 3258 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2060 3259 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2061 3260 ),
2062 3261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2063,569 +3262,653 @@
2063 3262 grid
2064 3263 ),
2065 3264 conditions
2066 3265 );
2067 -
2068 3266 return new_action;
2069 3267 },
2070 - //e2pdf.actions.renderFields
3268 + // e2pdf.actions.renderFields
2071 3269 renderFields: function (el) {
2072 3270
2073 3271 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2074 - 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'))
2075 3273 );
2076 -
2077 3274 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2078 3275 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2079 -
2080 3276 var actions = e2pdf.actions.get(el);
2081 -
2082 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 + }
2083 3284 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2084 3285 }
2085 3286
2086 3287 block.append(action_wrapper, add_action);
2087 -
2088 3288 return block;
2089 3289 }
2090 3290 },
2091 - //e2pdf.properties
3291 + // e2pdf.properties
2092 3292 properties: {
2093 - //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
2094 3310 getField: function (field, el) {
2095 3311
2096 3312 var obj = false;
2097 3313 var properties = e2pdf.properties.get(el);
2098 3314 var children = e2pdf.element.children(el);
2099 -
2100 3315 switch (field) {
2101 - case 'element_id':
2102 - var value = el.attr('data-element_id');
3316 + case 'page_id':
2103 3317 obj = {
2104 - 'name': e2pdfLang['ID'],
2105 - 'key': 'element_id',
3318 + 'name': e2pdf.lang.get('Page ID'),
2106 3319 'type': 'text',
2107 - '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')),
2108 3321 'atts': [
2109 - 'readonly'
3322 + 'readonly',
3323 + 'number'
2110 3324 ]
2111 3325 };
3326 + if (el.data('data-type') !== 'e2pdf-page') {
3327 + obj.atts.push('editable');
3328 + }
2112 3329 break;
2113 -
2114 - case 'element_type':
2115 - var value = el.data('data-type');
3330 + case 'element_id':
2116 3331 obj = {
2117 - 'name': e2pdfLang['Type'],
2118 - 'key': 'element_type',
3332 + 'name': 'ID',
2119 3333 'type': 'text',
2120 - 'value': value,
2121 - 'atts': [
2122 - 'readonly'
2123 - ]
3334 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3335 + 'atts': ['readonly']
2124 3336 };
2125 3337 break;
2126 -
2127 - case 'page_id':
2128 - var value = el.attr('data-page_id');
3338 + case 'element_type':
2129 3339 obj = {
2130 - 'name': e2pdfLang['ID'],
2131 - 'key': 'page_id',
3340 + 'name': e2pdf.lang.get('Type'),
2132 3341 'type': 'text',
2133 - 'value': value ? value : 0,
2134 - 'atts': [
2135 - 'readonly'
2136 - ]
3342 + 'value': el.data('data-type'),
3343 + 'atts': ['readonly']
2137 3344 };
2138 3345 break;
2139 -
2140 3346 case 'width':
2141 - if (el.data('data-type') == 'e2pdf-page') {
2142 - var value = el.attr('data-width');
2143 - } else {
2144 - var value = e2pdf.helper.pxToFloat(el.css('width'));
2145 - }
2146 -
2147 3347 obj = {
2148 - 'name': e2pdfLang['Width'],
2149 - 'key': 'width',
3348 + 'name': e2pdf.lang.get('Width'),
2150 3349 'type': 'text',
2151 - 'value': value,
2152 - 'atts': [
2153 - 'number'
2154 - ]
3350 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3351 + 'atts': ['number']
2155 3352 };
2156 -
2157 - if (el.data('data-type') == 'e2pdf-page') {
2158 - if (e2pdf.pdf.settings.get('pdf')) {
2159 - obj.atts.push('readonly')
2160 - }
3353 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3354 + obj.atts.push('readonly');
2161 3355 }
2162 -
2163 3356 break;
2164 3357 case 'height':
2165 -
2166 - if (el.data('data-type') == 'e2pdf-page') {
2167 - var value = el.attr('data-height');
2168 - } else {
2169 - var value = e2pdf.helper.pxToFloat(el.css('height'));
2170 - }
2171 -
2172 3358 obj = {
2173 - 'name': e2pdfLang['Height'],
2174 - 'key': 'height',
3359 + 'name': e2pdf.lang.get('Height'),
2175 3360 'type': 'text',
2176 - 'value': value,
2177 - 'atts': [
2178 - 'number'
2179 - ]
3361 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3362 + 'atts': ['number']
2180 3363 };
2181 -
2182 - if (el.data('data-type') == 'e2pdf-page') {
2183 - if (e2pdf.pdf.settings.get('pdf')) {
2184 - obj.atts.push('readonly')
2185 - }
3364 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3365 + obj.atts.push('readonly');
2186 3366 }
2187 -
2188 3367 break;
2189 3368 case 'top':
2190 - var value = parseFloat(el.css('top'));
2191 3369 obj = {
2192 - 'name': e2pdfLang['Top'],
2193 - 'key': 'top',
3370 + 'name': e2pdf.lang.get('Position Top'),
2194 3371 'type': 'text',
2195 - 'value': value,
2196 - 'atts': [
2197 - 'number'
2198 - ]
3372 + 'value': e2pdf.helper.getFloat(el.css('top')),
3373 + 'atts': ['number', 'keep']
2199 3374 };
2200 3375 break;
2201 3376 case 'left':
2202 - var value = parseFloat(el.css('left'));
2203 3377 obj = {
2204 - 'name': e2pdfLang['Left'],
2205 - 'key': 'left',
3378 + 'name': e2pdf.lang.get('Position Left'),
2206 3379 'type': 'text',
2207 - 'value': value,
2208 - 'atts': [
2209 - 'number'
2210 - ]
3380 + 'value': e2pdf.helper.getFloat(el.css('left')),
3381 + 'atts': ['number', 'keep']
2211 3382 };
2212 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;
2213 3399 case 'dynamic_height':
2214 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2215 3400 obj = {
2216 - 'name': e2pdfLang['Dynamic Height'],
2217 - 'key': 'dynamic_height',
3401 + 'name': e2pdf.lang.get('Dynamic Height'),
2218 3402 'type': 'checkbox',
2219 - 'value': value,
2220 - 'option': 1,
2221 - 'atts': []
3403 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3404 + 'option': '1'
2222 3405 };
2223 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;
2224 3447 case 'text_color':
2225 - var value = properties['text_color'];
2226 3448 obj = {
2227 - 'name': e2pdfLang['Color'],
2228 - 'key': 'text_color',
3449 + 'name': e2pdf.lang.get('Font Color'),
2229 3450 'type': 'color',
2230 - 'value': value,
2231 - 'atts': []
3451 + 'value': e2pdf.helper.getString(properties[field])
2232 3452 };
2233 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;
2234 3461 case 'text_type':
2235 - var value = properties['text_type'];
2236 3462 obj = {
2237 - 'name': e2pdfLang['Type'],
2238 - 'key': 'text_type',
3463 + 'name': e2pdf.lang.get('Type'),
2239 3464 'type': 'select',
2240 - 'value': value,
3465 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2241 3466 'options': [
2242 - {'check': e2pdfLang['Check']},
2243 - {'circle': e2pdfLang['Circle']},
2244 - {'cross': e2pdfLang['Cross']},
2245 - {'diamond': e2pdfLang['Diamond']},
2246 - {'square': e2pdfLang['Square']},
2247 - {'star': e2pdfLang['Star']},
2248 - ],
2249 - 'atts': []
3467 + {'check': 'Check'},
3468 + {'circle': 'Circle'},
3469 + {'cross': 'Cross'},
3470 + {'diamond': 'Diamond'},
3471 + {'square': 'Square'},
3472 + {'star': 'Star'}
3473 + ]
2250 3474 };
2251 3475 break;
2252 3476 case 'text_font':
2253 - var options = [];
2254 - jQuery('#e2pdf-wysiwyg-font').find('option').each(function () {
2255 - var option = {};
2256 - option[jQuery(this).attr('value')] = jQuery(this).html();
2257 - options.push(option);
2258 - });
2259 - var value = '';
2260 - if (properties['text_font']) {
2261 - 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]);
2262 3489 }
2263 3490 obj = {
2264 - 'name': e2pdfLang['Font'],
2265 - 'key': 'text_font',
2266 - 'type': 'select',
3491 + 'name': e2pdf.lang.get('Auto Font Size'),
3492 + 'type': 'checkbox',
2267 3493 'value': value,
2268 - 'options': options,
2269 - 'atts': []
3494 + 'option': '1'
2270 3495 };
2271 3496 break;
2272 3497 case 'text_font_size':
2273 - var options = [];
2274 - jQuery('#e2pdf-wysiwyg-fontsize').find('option').each(function () {
2275 - var option = {};
2276 - option[jQuery(this).attr('value')] = jQuery(this).html();
2277 - options.push(option);
2278 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2279 - option = {};
2280 - option['-1'] = e2pdfLang['Auto'];
2281 - options.push(option);
2282 - }
2283 - });
2284 - var value = '';
2285 - if (properties['text_font_size']) {
2286 - value = properties['text_font_size'];
2287 - }
2288 3498 obj = {
2289 - 'name': e2pdfLang['Size'],
2290 - 'key': 'text_font_size',
3499 + 'name': e2pdf.lang.get('Font Size'),
2291 3500 'type': 'select',
2292 - 'value': value,
2293 - 'options': options,
2294 - 'atts': []
3501 + 'value': e2pdf.helper.getString(properties[field]),
3502 + 'options': e2pdf.helper.font.sizes(field, properties)
2295 3503 };
2296 3504 break;
2297 3505 case 'text_line_height':
2298 -
2299 - var options = [];
2300 -
2301 - var value = '';
2302 - if (properties['text_line_height']) {
2303 - value = properties['text_line_height'];
2304 - }
2305 -
2306 - var option = {};
2307 - option[''] = '-';
2308 - options.push(option);
2309 -
2310 - jQuery('#e2pdf-line-height').find('option').each(function () {
2311 - var option = {};
2312 - option[jQuery(this).attr('value')] = jQuery(this).html();
2313 - options.push(option);
2314 - });
2315 -
2316 3506 obj = {
2317 - 'name': e2pdfLang['Line Height'],
2318 - 'key': 'text_line_height',
3507 + 'name': e2pdf.lang.get('Line Height'),
2319 3508 'type': 'select',
2320 - 'value': value,
2321 - 'options': options,
2322 - 'atts': []
3509 + 'value': e2pdf.helper.getString(properties[field]),
3510 + 'options': e2pdf.helper.font.lines(field)
2323 3511 };
2324 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;
2325 3521 case 'z_index':
2326 - var value = properties['z_index'];
2327 3522 obj = {
2328 - 'name': e2pdfLang['Z-index'],
2329 - 'key': 'z_index',
3523 + 'name': 'Z-index',
2330 3524 'type': 'text',
2331 - 'value': value,
2332 - 'atts': ['number']
3525 + 'value': e2pdf.helper.getInt(properties[field]),
3526 + 'atts': ['number', 'number-negative']
2333 3527 };
2334 3528 break;
2335 3529 case 'background':
2336 - var value = properties['background'];
2337 3530 obj = {
2338 - 'name': e2pdfLang['Background'],
3531 + 'name': e2pdf.lang.get('Background'),
2339 3532 'key': 'background',
2340 3533 'type': 'color',
2341 - 'value': value,
2342 - 'atts': []
3534 + 'value': e2pdf.helper.getString(properties[field])
2343 3535 };
2344 3536 break;
2345 3537 case 'border':
2346 - var value = properties['border'];
2347 3538 obj = {
2348 - 'name': e2pdfLang['Border'],
2349 - 'key': 'border',
3539 + 'name': e2pdf.lang.get('Border'),
2350 3540 'type': 'text',
2351 - 'value': value,
3541 + 'value': e2pdf.helper.getInt(properties[field]),
2352 3542 'atts': ['number']
2353 3543 };
2354 3544 break;
2355 3545 case 'border_top':
2356 - var value = properties['border_top'];
2357 3546 obj = {
2358 - 'name': e2pdfLang['Top'],
2359 - 'key': 'border_top',
3547 + 'name': e2pdf.lang.get('Border Top'),
2360 3548 'type': 'text',
2361 - 'value': value,
3549 + 'value': e2pdf.helper.getInt(properties[field]),
2362 3550 'atts': ['number']
2363 3551 };
2364 3552 break;
2365 3553 case 'border_left':
2366 - var value = properties['border_left'];
2367 3554 obj = {
2368 - 'name': e2pdfLang['Left'],
2369 - 'key': 'border_left',
3555 + 'name': e2pdf.lang.get('Border Left'),
2370 3556 'type': 'text',
2371 - 'value': value,
3557 + 'value': e2pdf.helper.getInt(properties[field]),
2372 3558 'atts': ['number']
2373 3559 };
2374 3560 break;
2375 3561 case 'border_right':
2376 - var value = properties['border_right'];
2377 3562 obj = {
2378 - 'name': e2pdfLang['Right'],
2379 - 'key': 'border_right',
3563 + 'name': e2pdf.lang.get('Border Right'),
2380 3564 'type': 'text',
2381 - 'value': value,
3565 + 'value': e2pdf.helper.getInt(properties[field]),
2382 3566 'atts': ['number']
2383 3567 };
2384 3568 break;
2385 3569 case 'border_bottom':
2386 - var value = properties['border_bottom'];
2387 3570 obj = {
2388 - 'name': e2pdfLang['Bottom'],
2389 - 'key': 'border_bottom',
3571 + 'name': e2pdf.lang.get('Border Bottom'),
2390 3572 'type': 'text',
2391 - 'value': value,
3573 + 'value': e2pdf.helper.getInt(properties[field]),
2392 3574 'atts': ['number']
2393 3575 };
2394 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;
2395 3585 case 'border_color':
2396 - var value = properties['border_color'];
2397 3586 obj = {
2398 - 'name': e2pdfLang['Color'],
2399 - 'key': 'border_color',
3587 + 'name': e2pdf.lang.get('Border Color'),
2400 3588 'type': 'color',
2401 - 'value': value ? value : "#000000",
3589 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2402 3590 };
2403 3591 break;
2404 3592 case 'padding_top':
2405 - var value = properties['padding_top'];
2406 3593 obj = {
2407 - 'name': e2pdfLang['Top'],
2408 - 'key': 'padding_top',
3594 + 'name': e2pdf.lang.get('Padding Top'),
2409 3595 'type': 'text',
2410 - 'value': value,
3596 + 'value': e2pdf.helper.getInt(properties[field]),
2411 3597 'atts': ['number']
2412 3598 };
2413 3599 break;
2414 3600 case 'padding_left':
2415 - var value = properties['padding_left'];
2416 3601 obj = {
2417 - 'name': e2pdfLang['Left'],
2418 - 'key': 'padding_left',
3602 + 'name': e2pdf.lang.get('Padding Left'),
2419 3603 'type': 'text',
2420 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2421 3605 'atts': ['number']
2422 3606 };
2423 3607 break;
2424 3608 case 'padding_right':
2425 - var value = properties['padding_right'];
2426 3609 obj = {
2427 - 'name': e2pdfLang['Right'],
2428 - 'key': 'padding_right',
3610 + 'name': e2pdf.lang.get('Padding Right'),
2429 3611 'type': 'text',
2430 - 'value': value,
3612 + 'value': e2pdf.helper.getInt(properties[field]),
2431 3613 'atts': ['number']
2432 3614 };
2433 3615 break;
2434 3616 case 'padding_bottom':
2435 - var value = properties['padding_bottom'];
2436 3617 obj = {
2437 - 'name': e2pdfLang['Bottom'],
2438 - 'key': 'padding_bottom',
3618 + 'name': e2pdf.lang.get('Padding Bottom'),
2439 3619 'type': 'text',
2440 - 'value': value,
3620 + 'value': e2pdf.helper.getInt(properties[field]),
2441 3621 'atts': ['number']
2442 3622 };
2443 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;
2444 3668 case 'length':
2445 - var value = properties['length'];
2446 3669 obj = {
2447 - 'name': e2pdfLang['Length'],
2448 - 'key': 'length',
3670 + 'name': e2pdf.lang.get('Length'),
2449 3671 'type': 'text',
2450 - 'value': value,
3672 + 'value': e2pdf.helper.getInt(properties[field]),
2451 3673 'atts': ['number']
2452 3674 };
2453 3675 break;
2454 3676 case 'comb':
2455 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2456 3677 obj = {
2457 - 'name': e2pdfLang['Comb'],
2458 - 'key': 'comb',
3678 + 'name': e2pdf.lang.get('Comb'),
2459 3679 'type': 'checkbox',
2460 - 'option': 1,
2461 - 'value': value,
2462 - 'atts': []
3680 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3681 + 'option': '1'
2463 3682 };
2464 3683 break;
2465 3684 case 'rtl':
2466 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2467 3685 obj = {
2468 - 'name': e2pdfLang['RTL'],
2469 - 'key': 'rtl',
2470 - 'type': 'checkbox',
2471 - 'option': 1,
2472 - 'value': value,
2473 - '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 + ]
2474 3695 };
2475 3696 break;
2476 3697 case 'required':
2477 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2478 3698 obj = {
2479 - 'name': e2pdfLang['Required'],
2480 - 'key': 'required',
3699 + 'name': e2pdf.lang.get('Required'),
2481 3700 'type': 'checkbox',
2482 - 'option': 1,
2483 - 'value': value,
2484 - 'atts': []
3701 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3702 + 'option': '1'
2485 3703 };
2486 3704 break;
2487 3705 case 'readonly':
2488 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2489 3706 obj = {
2490 - 'name': e2pdfLang['Readonly'],
2491 - 'key': 'readonly',
3707 + 'name': e2pdf.lang.get('Read-Only'),
2492 3708 'type': 'checkbox',
2493 - 'option': 1,
2494 - 'value': value,
2495 - 'atts': []
3709 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3710 + 'option': '1'
2496 3711 };
2497 3712 break;
2498 3713 case 'pass':
2499 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2500 3714 obj = {
2501 - 'name': e2pdfLang['Password'],
2502 - 'key': 'pass',
3715 + 'name': e2pdf.lang.get('Password'),
2503 3716 'type': 'checkbox',
2504 - 'option': 1,
2505 - 'value': value,
2506 - 'atts': []
3717 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3718 + 'option': '1'
2507 3719 };
2508 3720 break;
2509 3721 case 'multiline':
2510 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2511 3722 obj = {
2512 - 'name': e2pdfLang['Multiline'],
2513 - 'key': 'multiline',
3723 + 'name': e2pdf.lang.get('Multiline'),
2514 3724 'type': 'checkbox',
2515 - 'option': 1,
2516 - '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',
2517 3743 'atts': []
2518 3744 };
3745 + if (el.data('data-type') === 'e2pdf-image') {
3746 + obj.atts.push('keep');
3747 + }
2519 3748 break;
2520 - case 'dimension':
2521 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3749 + case 'keep_lower_size':
2522 3750 obj = {
2523 - 'name': e2pdfLang['Keep dimension'],
2524 - 'key': 'dimension',
3751 + 'name': e2pdf.lang.get('Keep Lower Size'),
2525 3752 'type': 'checkbox',
2526 - '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',
2527 3781 'value': value,
2528 - '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 + ]
2529 3791 };
2530 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;
2531 3838 case 'esig':
2532 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2533 3839 obj = {
2534 - 'name': e2pdfLang['E-signature'],
2535 - 'key': 'esig',
3840 + 'name': e2pdf.lang.get('E-Signature'),
2536 3841 'type': 'checkbox',
2537 - 'option': 1,
2538 - 'value': value,
2539 - 'atts': []
3842 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3843 + 'option': '1'
2540 3844 };
2541 3845 break;
2542 3846 case 'esig_contact':
2543 - var value = properties['esig_contact'];
2544 3847 obj = {
2545 - 'name': e2pdfLang['Contact'],
2546 - 'key': 'esig_contact',
3848 + 'name': e2pdf.lang.get('Contact'),
2547 3849 'type': 'text',
2548 - 'value': value,
2549 - 'atts': []
3850 + 'value': e2pdf.helper.getString(properties[field])
2550 3851 };
2551 3852 break;
2552 3853 case 'esig_location':
2553 - var value = properties['esig_location'];
2554 3854 obj = {
2555 - 'name': e2pdfLang['Location'],
2556 - 'key': 'esig_location',
3855 + 'name': e2pdf.lang.get('Location'),
2557 3856 'type': 'text',
2558 - 'value': value,
2559 - 'atts': []
3857 + 'value': e2pdf.helper.getString(properties[field])
2560 3858 };
2561 3859 break;
2562 3860 case 'esig_reason':
2563 - var value = properties['esig_reason'];
2564 3861 obj = {
2565 - 'name': e2pdfLang['Reason'],
2566 - 'key': 'esig_reason',
3862 + 'name': e2pdf.lang.get('Reason'),
2567 3863 'type': 'text',
2568 - 'value': value,
2569 - 'atts': []
3864 + 'value': e2pdf.helper.getString(properties[field])
2570 3865 };
2571 3866 break;
2572 3867 case 'placeholder':
2573 - var value = properties['placeholder'];
2574 3868 obj = {
2575 - 'name': e2pdfLang['Placeholder'],
2576 - 'key': 'placeholder',
3869 + 'name': e2pdf.lang.get('Placeholder'),
2577 3870 'type': 'text',
2578 - 'value': value,
2579 - 'atts': []
3871 + 'value': e2pdf.helper.getString(properties[field])
2580 3872 };
2581 3873 break;
2582 3874 case 'horizontal':
2583 - var value = properties['horizontal'];
2584 3875 obj = {
2585 - 'name': e2pdfLang['Horizontal align'],
2586 - 'key': 'horizontal',
3876 + 'name': e2pdf.lang.get('Horizontal Align'),
2587 3877 'type': 'select',
2588 - 'value': value,
3878 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2589 3879 'options':
2590 3880 [
2591 - {'left': e2pdfLang['Left']},
2592 - {'center': e2pdfLang['Center']},
2593 - {'right': e2pdfLang['Right']},
3881 + {'left': e2pdf.lang.get('Left')},
3882 + {'center': e2pdf.lang.get('Center')},
3883 + {'right': e2pdf.lang.get('Right')}
2594 3884 ]
2595 - ,
2596 - 'atts': []
2597 3885 };
2598 3886 break;
2599 3887 case 'vertical':
2600 - var value = properties['vertical'];
2601 3888 obj = {
2602 - 'name': e2pdfLang['Vertical align'],
2603 - 'key': 'vertical',
3889 + 'name': e2pdf.lang.get('Vertical Align'),
2604 3890 'type': 'select',
2605 - 'value': value,
3891 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2606 3892 'options':
2607 3893 [
2608 - {'top': e2pdfLang['Top']},
2609 - {'middle': e2pdfLang['Middle']},
2610 - {'bottom': e2pdfLang['Bottom']},
3894 + {'top': e2pdf.lang.get('Top')},
3895 + {'middle': e2pdf.lang.get('Middle')},
3896 + {'bottom': e2pdf.lang.get('Bottom')}
2611 3897 ]
2612 - ,
2613 - 'atts': []
2614 3898 };
2615 3899 break;
2616 3900 case 'scale':
2617 - var value = properties['scale'];
2618 3901 obj = {
2619 - 'name': e2pdfLang['Scale'],
2620 - 'key': 'scale',
3902 + 'name': e2pdf.lang.get('Scale'),
2621 3903 'type': 'select',
2622 - 'value': value,
3904 + 'value': e2pdf.helper.getString(properties[field], '0'),
2623 3905 'options':
2624 3906 [
2625 - {'0': e2pdfLang['Width&Height']},
2626 - {'1': e2pdfLang['Width']},
2627 - {'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')}
2628 3911 ]
2629 3912 ,
2630 3913 'atts': ['scale']
2631 3914 };
@@ -2630,56 +3913,162 @@
2630 3913 'atts': ['scale']
2631 3914 };
2632 3915 break;
2633 3916 case 'text_align':
2634 - var value = properties['text_align'];
2635 3917 obj = {
2636 - 'name': e2pdfLang['Text Align'],
2637 - 'key': 'text_align',
3918 + 'name': e2pdf.lang.get('Text Align'),
2638 3919 'type': 'select',
2639 - 'value': value,
3920 + 'value': e2pdf.helper.getString(properties[field]),
2640 3921 'options':
2641 3922 [
2642 - {'left': e2pdfLang['Left']},
2643 - {'center': e2pdfLang['Center']},
2644 - {'right': e2pdfLang['Right']},
3923 + {'': '-'},
3924 + {'left': e2pdf.lang.get('Left')},
3925 + {'center': e2pdf.lang.get('Center')},
3926 + {'right': e2pdf.lang.get('Right')}
2645 3927 ]
2646 - ,
2647 - 'atts': []
2648 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 + }
2649 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;
2650 4043 case 'parent':
2651 - var value = properties['parent'];
2652 - var source = [
4044 + var options = [
4045 + {'': e2pdf.lang.get('--- Select ---')}
2653 4046 ];
2654 4047 if (el.data('data-type') === 'e2pdf-html') {
2655 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
4048 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2656 4049 if (!jQuery(this).is(children)) {
2657 4050 var parent = jQuery(this).parent().attr('data-element_id');
2658 - if (source.indexOf(parent) === -1) {
2659 - source.push(parent);
2660 - }
4051 + options.push({[parent]: parent});
2661 4052 }
2662 4053 });
2663 4054 }
2664 -
4055 + options.sort(function (a, b) {
4056 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
4057 + });
2665 4058 obj = {
2666 - 'name': e2pdfLang['Parent'],
2667 - 'key': 'parent',
2668 - 'type': 'text',
2669 - 'value': value,
2670 - 'source': source,
2671 - 'atts': ['autocomplete']
4059 + 'name': e2pdf.lang.get('Parent'),
4060 + 'type': 'select',
4061 + 'value': e2pdf.helper.getString(properties[field]),
4062 + 'options': options
2672 4063 };
2673 4064 break;
2674 4065 case 'group':
2675 - var value = properties['group'];
2676 - var source = [
2677 - ];
2678 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
4066 + var source = [];
4067 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2679 4068 if (!jQuery(this).is(children)) {
2680 4069 var radio = jQuery(this).parent();
2681 - var group = e2pdf.properties.getValue(radio, 'group');
4070 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2682 4071 if (source.indexOf(group) === -1) {
2683 4072 source.push(group);
2684 4073 }
2685 4074 }
@@ -2684,609 +4073,3042 @@
2684 4073 }
2685 4074 }
2686 4075 });
2687 4076 obj = {
2688 - 'name': e2pdfLang['Group'],
2689 - 'key': 'group',
4077 + 'name': e2pdf.lang.get('Group'),
2690 4078 'type': 'text',
2691 - 'value': value,
4079 + 'value': e2pdf.helper.getString(properties[field]),
2692 4080 'source': source,
2693 4081 'atts': ['autocomplete']
2694 4082 };
2695 4083 break;
2696 4084 case 'option':
2697 - var value = properties['option'];
2698 4085 obj = {
2699 - 'name': e2pdfLang['Option'],
2700 - 'key': 'option',
4086 + 'name': e2pdf.lang.get('Option'),
2701 4087 'type': 'textarea',
2702 - 'value': value,
2703 - 'atts': []
4088 + 'value': e2pdf.helper.getString(properties[field])
2704 4089 };
2705 4090 break;
2706 -
2707 4091 case 'options':
2708 - var value = properties['options'];
2709 4092 obj = {
2710 - 'name': e2pdfLang['Options'],
2711 - 'key': 'options',
4093 + 'name': e2pdf.lang.get('Options'),
2712 4094 'type': 'textarea',
2713 - 'value': value,
2714 - 'atts': []
4095 + 'value': e2pdf.helper.getString(properties[field])
2715 4096 };
2716 4097 break;
2717 -
2718 -
2719 4098 case 'value':
2720 - value = '';
2721 4099 if (el.data('data-type') === 'e2pdf-html') {
2722 - value = children.html();
4100 + if (children.is('textarea')) {
4101 + var value = children.val();
4102 + } else {
4103 + var value = children.html();
4104 + }
2723 4105 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2724 - value = children.val();
4106 + var value = children.val();
2725 4107 } else {
2726 - value = properties['value'];
4108 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2727 4109 }
2728 -
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 + }
2729 4116 obj = {
2730 - 'name': e2pdfLang['Value'],
2731 - 'key': 'value',
4117 + 'name': name,
2732 4118 'type': 'textarea',
2733 - 'value': value,
2734 - 'atts': []
4119 + 'value': value
2735 4120 };
2736 4121 break;
2737 -
4122 + case 'css':
4123 + obj = {
4124 + 'name': 'CSS',
4125 + 'type': 'textarea',
4126 + 'value': e2pdf.helper.getString(properties[field])
4127 + };
4128 + break;
2738 4129 case 'preset':
2739 -
2740 - var value = '';
2741 -
2742 4130 var options = [];
2743 4131 var option = {
2744 - '': e2pdfLang['--- Select ---']
4132 + '': e2pdf.lang.get('--- Select ---')
2745 4133 };
2746 4134 options.push(option);
2747 -
2748 - for (var size in e2pdfTemplateSizes) {
4135 + for (var size in e2pdf_params['template_sizes']) {
2749 4136 var option = {};
2750 - 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'] + ')';
2751 4138 options.push(option);
2752 4139 }
2753 -
2754 4140 obj = {
2755 - 'name': e2pdfLang['Size Preset'],
2756 - 'key': 'preset',
4141 + 'name': e2pdf.lang.get('Size'),
2757 4142 'type': 'select',
2758 - 'value': value,
4143 + 'value': '',
2759 4144 'options': options,
2760 - 'atts': [],
4145 + 'atts': [
4146 + 'uneditable'
4147 + ]
2761 4148 };
2762 -
2763 -
2764 4149 if (e2pdf.pdf.settings.get('pdf')) {
2765 4150 obj.atts.push('disabled');
2766 4151 }
2767 -
2768 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;
2769 5521 }
2770 -
5522 + if (!obj.hasOwnProperty('key')) {
5523 + obj['key'] = field;
5524 + }
5525 + if (!obj.hasOwnProperty('atts')) {
5526 + obj['atts'] = [];
5527 + }
2771 5528 return obj;
2772 5529 },
2773 - //e2pdf.properties.getFields
5530 + // e2pdf.properties.getFields
2774 5531 getFields: function (el, actions) {
2775 - 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') {
2776 5536 var obj = {
2777 5537 'page_id': {
2778 - 'name': e2pdfLang['ID'],
5538 + 'name': '',
2779 5539 'fields': [
2780 5540 e2pdf.properties.getField('page_id', el),
5541 + e2pdf.properties.getField('element_type', el)
2781 5542 ],
2782 5543 'position': 'top',
2783 5544 'classes': [
2784 - 'e2pdf-w100 e2pdf-hide-label'
2785 - ],
5545 + 'e2pdf-w50 e2pdf-pr10',
5546 + 'e2pdf-w50 e2pdf-pl10'
5547 + ]
2786 5548 },
2787 5549 'size': {
2788 - 'name': e2pdfLang['Size'],
5550 + 'name': e2pdf.lang.get('Size'),
2789 5551 'fields': [
2790 5552 e2pdf.properties.getField('width', el),
2791 5553 e2pdf.properties.getField('height', el),
5554 + e2pdf.properties.getField('preset', el)
2792 5555 ],
2793 5556 'position': 'top',
2794 5557 'classes': [
2795 5558 'e2pdf-w50 e2pdf-pr10',
2796 - 'e2pdf-w50 e2pdf-pl10'
2797 - ],
2798 - },
2799 - 'preset': {
2800 - 'name': e2pdfLang['Size Preset'],
2801 - 'fields': [
2802 - e2pdf.properties.getField('preset', el),
2803 - ],
2804 - 'position': 'top',
2805 - 'classes': [
2806 - 'e2pdf-w100 e2pdf-hide-label'
5559 + 'e2pdf-w50 e2pdf-pl10',
5560 + 'e2pdf-w100'
2807 5561 ]
2808 5562 }
2809 5563 };
2810 5564 } else {
2811 -
2812 5565 var obj = {
2813 - 'element_id': {
2814 - 'name': '',
5566 + 'element': {
5567 + 'name': e2pdf.lang.get('Element'),
2815 5568 'fields': [
2816 5569 e2pdf.properties.getField('element_id', el),
2817 - e2pdf.properties.getField('element_type', 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)
2818 5576 ],
2819 5577 'position': 'top',
2820 5578 'classes': [
2821 - 'e2pdf-w50 e2pdf-pr10',
5579 + 'e2pdf-w25',
5580 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
2822 5581 'e2pdf-w50 e2pdf-pl10',
2823 - ],
2824 - },
2825 - 'position': {
2826 - 'name': e2pdfLang['Position'],
2827 - 'fields': [
2828 - e2pdf.properties.getField('left', el),
2829 - e2pdf.properties.getField('top', el)
2830 - ],
2831 - 'position': 'right',
2832 - 'classes': [
2833 - 'e2pdf-w50 e2pdf-pr10',
2834 - 'e2pdf-w50 e2pdf-pl10'
2835 - ],
2836 - },
5582 + 'e2pdf-w25',
5583 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5584 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5585 + 'e2pdf-w25'
5586 + ]
5587 + }
2837 5588 };
5589 + if (el.data('data-type') === 'e2pdf-input') {
2838 5590
2839 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2840 - obj['size'] = {
2841 - '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'),
2842 5597 'fields': [
2843 - e2pdf.properties.getField('width', el),
2844 - e2pdf.properties.getField('height', el),
2845 - 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)
2846 5611 ],
2847 5612 'position': 'left',
2848 5613 'classes': [
2849 - 'e2pdf-w50 e2pdf-pr10',
5614 + 'e2pdf-w100',
5615 + 'e2pdf-w100',
5616 + 'e2pdf-w50',
2850 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',
2851 5642 'e2pdf-w100'
2852 - ],
5643 + ]
2853 5644 };
2854 - } else {
2855 - obj['size'] = {
2856 - 'name': e2pdfLang['Size'],
5645 + obj['value'] = {
5646 + 'name': e2pdf.lang.get('Value'),
2857 5647 'fields': [
2858 - e2pdf.properties.getField('width', el),
2859 - 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)
2860 5654 ],
2861 - 'position': 'left',
5655 + 'position': 'bottom',
2862 5656 'classes': [
2863 - 'e2pdf-w50 e2pdf-pr10',
2864 - 'e2pdf-w50 e2pdf-pl10'
2865 -
2866 - ],
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 + ]
2867 5664 };
2868 5665 }
2869 5666
2870 - if (el.data('data-type') === 'e2pdf-html'
2871 - || el.data('data-type') === 'e2pdf-textarea'
2872 - ) {
2873 - obj['font'] = {
2874 - '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'),
2875 5675 'fields': [
2876 5676 e2pdf.properties.getField('text_color', el),
2877 5677 e2pdf.properties.getField('text_font', el),
2878 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),
2879 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)
2880 5690 ],
2881 5691 'position': 'left',
2882 5692 'classes': [
2883 5693 'e2pdf-w100',
2884 5694 'e2pdf-w100',
2885 - 'e2pdf-w50 e2pdf-pr10',
2886 - '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)
2887 5716 ],
5717 + 'position': 'right',
5718 + 'classes': [
5719 + 'e2pdf-w100',
5720 + 'e2pdf-w70',
5721 + 'e2pdf-w30 e2pdf-pl10',
5722 + 'e2pdf-w100'
5723 + ]
2888 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 + }
2889 5746
2890 - }
5747 + if (el.data('data-type') === 'e2pdf-checkbox') {
2891 5748
2892 - // Font
2893 - if (el.data('data-type') === 'e2pdf-input'
2894 - || el.data('data-type') === 'e2pdf-select'
2895 - || el.data('data-type') === 'e2pdf-signature'
2896 - ) {
2897 - obj['font'] = {
2898 - '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'),
2899 5755 'fields': [
2900 5756 e2pdf.properties.getField('text_color', el),
2901 - e2pdf.properties.getField('text_font', el),
2902 - 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)
2903 5762 ],
2904 5763 'position': 'left',
2905 5764 'classes': [
2906 5765 'e2pdf-w100',
2907 - 'e2pdf-w70 e2pdf-pr10',
2908 - '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)
2909 5780 ],
5781 + 'position': 'right',
5782 + 'classes': [
5783 + 'e2pdf-w100',
5784 + 'e2pdf-w70',
5785 + 'e2pdf-w30 e2pdf-pl10',
5786 + 'e2pdf-w100'
5787 + ]
2910 5788 };
2911 - }
2912 -
2913 - // Text align
2914 - if (el.data('data-type') === 'e2pdf-html'
2915 - || el.data('data-type') === 'e2pdf-input'
2916 - || el.data('data-type') === 'e2pdf-textarea'
2917 - ) {
2918 - obj['text_align'] = {
2919 - 'name': e2pdfLang['Text Align'],
5789 + obj['value'] = {
5790 + 'name': '',
2920 5791 'fields': [
2921 - 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)
2922 5799 ],
2923 - 'position': 'left',
5800 + 'position': 'bottom',
2924 5801 'classes': [
2925 - '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'
2926 5809 ]
2927 5810 };
2928 5811 }
2929 5812
2930 - // Settings
2931 - if (el.data('data-type') === 'e2pdf-html') {
2932 - obj['settings'] = {
2933 - 'name': e2pdfLang['Settings'],
5813 + if (el.data('data-type') === 'e2pdf-radio') {
5814 +
5815 + obj['field'] = {
5816 + 'name': e2pdf.lang.get('Field'),
2934 5817 'fields': [
5818 + e2pdf.properties.getField('text_color', el),
5819 + e2pdf.properties.getField('text_type', el),
5820 + e2pdf.properties.getField('rotation', el),
2935 5821 e2pdf.properties.getField('rtl', el),
2936 - e2pdf.properties.getField('dynamic_height', el),
5822 + e2pdf.properties.getField('required', el),
5823 + e2pdf.properties.getField('readonly', el)
2937 5824 ],
2938 5825 'position': 'left',
2939 5826 'classes': [
2940 5827 'e2pdf-w100',
2941 5828 'e2pdf-w100',
5829 + 'e2pdf-w70',
5830 + 'e2pdf-w30 e2pdf-pl10',
5831 + 'e2pdf-pr10',
5832 + 'e2pdf-pr10',
5833 + 'e2pdf-pr10'
2942 5834 ]
2943 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 + };
2944 5878 }
2945 5879
2946 - // Settings
2947 - if (el.data('data-type') === 'e2pdf-input'
2948 - || el.data('data-type') === 'e2pdf-textarea'
2949 - ) {
2950 - obj['settings'] = {
2951 - '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'),
2952 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),
2953 5895 e2pdf.properties.getField('rtl', el),
5896 + e2pdf.properties.getField('multiline', el),
2954 5897 e2pdf.properties.getField('required', el),
2955 - e2pdf.properties.getField('readonly', el),
2956 - e2pdf.properties.getField('pass', el),
2957 - e2pdf.properties.getField('comb', el),
5898 + e2pdf.properties.getField('readonly', el)
2958 5899 ],
2959 5900 'position': 'left',
2960 5901 'classes': [
2961 5902 'e2pdf-w100',
2962 5903 'e2pdf-w100',
5904 + 'e2pdf-w50',
5905 + 'e2pdf-w50 e2pdf-pl10',
2963 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': [
2964 5924 'e2pdf-w100',
2965 - 'e2pdf-w100',
5925 + 'e2pdf-w70',
5926 + 'e2pdf-w30 e2pdf-pl10',
5927 + 'e2pdf-w100'
2966 5928 ]
2967 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 + };
2968 5952 }
2969 5953
2970 - // Settings Signature
2971 5954 if (el.data('data-type') === 'e2pdf-signature') {
2972 5955
2973 - obj['placeholder'] = {
2974 - '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'),
2975 5962 'fields': [
5963 + e2pdf.properties.getField('text_color', el),
5964 + e2pdf.properties.getField('text_font', el),
5965 + e2pdf.properties.getField('text_font_size', el),
2976 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)
2977 5977 ],
2978 5978 'position': 'left',
2979 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': [
2980 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'
2981 6048 ]
2982 6049 };
6050 + }
2983 6051
2984 -
2985 - obj['settings'] = {
2986 - 'name': e2pdfLang['Settings'],
6052 + if (el.data('data-type') === 'e2pdf-html') {
6053 + obj['field'] = {
6054 + 'name': e2pdf.lang.get('Field'),
2987 6055 'fields': [
2988 - 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)
2989 6070 ],
2990 6071 'position': 'left',
2991 6072 'classes': [
2992 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'
2993 6087 ]
2994 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 + }
2995 6093
2996 -
2997 - }
2998 -
2999 - // Settings
3000 - if (el.data('data-type') === 'e2pdf-checkbox'
3001 - || el.data('data-type') === 'e2pdf-radio'
3002 - ) {
3003 - obj['settings'] = {
3004 - 'name': e2pdfLang['Settings'],
6094 + obj['style'] = {
6095 + 'name': e2pdf.lang.get('Style'),
3005 6096 'fields': [
3006 - e2pdf.properties.getField('required', el),
3007 - 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)
3008 6108 ],
3009 - 'position': 'left',
6109 + 'position': 'right',
3010 6110 'classes': [
3011 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',
3012 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'
3013 6122 ]
3014 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 + };
3015 6154 }
3016 6155
3017 - // Settings
3018 - if (el.data('data-type') === 'e2pdf-select') {
3019 - obj['settings'] = {
3020 - 'name': e2pdfLang['Settings'],
6156 + if (el.data('data-type') === 'e2pdf-page-number') {
6157 + obj['field'] = {
6158 + 'name': e2pdf.lang.get('Field'),
3021 6159 'fields': [
3022 - e2pdf.properties.getField('rtl', el),
3023 - e2pdf.properties.getField('required', el),
3024 - e2pdf.properties.getField('readonly', el),
3025 - 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)
3026 6169 ],
3027 6170 'position': 'left',
3028 6171 'classes': [
3029 6172 'e2pdf-w100',
3030 6173 'e2pdf-w100',
6174 + 'e2pdf-w50',
6175 + 'e2pdf-w50 e2pdf-pl10',
3031 6176 'e2pdf-w100',
3032 - 'e2pdf-w100',
6177 + 'e2pdf-w50',
6178 + 'e2pdf-w50 e2pdf-pl10',
6179 + 'e2pdf-w70',
6180 + 'e2pdf-w30 e2pdf-pl10'
3033 6181 ]
3034 6182 };
3035 - }
3036 -
3037 - // Selector
3038 - if (el.data('data-type') === 'e2pdf-checkbox'
3039 - || el.data('data-type') === 'e2pdf-radio'
3040 - ) {
3041 - obj['selector'] = {
3042 - 'name': e2pdfLang['Selector'],
6183 + obj['page_number'] = {
6184 + 'name': e2pdf.lang.get('Page Number'),
3043 6185 'fields': [
3044 - e2pdf.properties.getField('text_color', el),
3045 - e2pdf.properties.getField('text_type', el),
6186 + e2pdf.properties.getField('page_number', el),
6187 + e2pdf.properties.getField('page_total', el),
3046 6188 ],
3047 6189 'position': 'left',
3048 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': [
3049 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',
3050 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'
3051 6221 ]
3052 6222 };
3053 - }
3054 -
3055 - // Background
3056 - if (el.data('data-type') === 'e2pdf-html'
3057 - || el.data('data-type') === 'e2pdf-input'
3058 - || el.data('data-type') === 'e2pdf-textarea'
3059 - || el.data('data-type') === 'e2pdf-image'
3060 - || el.data('data-type') === 'e2pdf-rectangle'
3061 - || el.data('data-type') === 'e2pdf-signature'
3062 - ) {
3063 - obj['background'] = {
3064 - 'name': e2pdfLang['Background'],
6223 + obj['value'] = {
6224 + 'name': '',
3065 6225 'fields': [
3066 - e2pdf.properties.getField('background', el)
6226 + e2pdf.properties.getField('css', el),
6227 + e2pdf.properties.getField('value', el),
6228 + e2pdf.properties.getField('html_worker', el)
3067 6229 ],
3068 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6230 + 'position': 'bottom',
3069 6231 'classes': [
3070 - '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'
3071 6235 ]
3072 6236 };
3073 6237 }
3074 6238
3075 - // Resize
3076 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3077 - obj['resize'] = {
3078 - 'name': e2pdfLang['Resize'],
6239 + if (el.data('data-type') === 'e2pdf-image') {
6240 +
6241 + obj['field'] = {
6242 + 'name': e2pdf.lang.get('Field'),
3079 6243 'fields': [
3080 - 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),
3081 6247 e2pdf.properties.getField('horizontal', el),
3082 6248 e2pdf.properties.getField('vertical', el),
6249 + e2pdf.properties.getField('rotation', el),
6250 + e2pdf.properties.getField('opacity', el),
6251 + e2pdf.properties.getField('quality', el),
3083 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)
3084 6257 ],
3085 6258 'position': 'left',
3086 6259 'classes': [
3087 6260 'e2pdf-w100',
3088 - 'e2pdf-w50 e2pdf-pr10',
6261 + 'e2pdf-w60 e2pdf-pr10',
6262 + 'e2pdf-w40',
6263 + 'e2pdf-w50',
3089 6264 'e2pdf-w50 e2pdf-pl10',
3090 - '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'
3091 6273 ]
3092 6274 };
3093 - }
3094 -
3095 - // Border
3096 - if (el.data('data-type') === 'e2pdf-input'
3097 - || el.data('data-type') === 'e2pdf-textarea'
3098 - || el.data('data-type') === 'e2pdf-checkbox'
3099 - || el.data('data-type') === 'e2pdf-radio'
3100 - || el.data('data-type') === 'e2pdf-select'
3101 - ) {
3102 - obj['border'] = {
3103 - 'name': e2pdfLang['Border'],
6275 + obj['pdf'] = {
6276 + 'name': 'Pdf',
3104 6277 'fields': [
3105 - e2pdf.properties.getField('border', el),
3106 - 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)
3107 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 + ],
3108 6309 'position': 'right',
3109 6310 'classes': [
3110 - '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',
3111 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)
3112 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 + ]
3113 6352 };
3114 6353 }
3115 6354
3116 - // Border
3117 - if (el.data('data-type') === 'e2pdf-html'
3118 - || el.data('data-type') === 'e2pdf-image'
3119 - || el.data('data-type') === 'e2pdf-signature'
3120 - ) {
3121 - obj['border'] = {
3122 - 'name': e2pdfLang['Border'],
6355 + if (el.data('data-type') === 'e2pdf-qrcode') {
6356 +
6357 + obj['qrcode'] = {
6358 + 'name': e2pdf.lang.get('QR Code'),
3123 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),
3124 6384 e2pdf.properties.getField('border_top', el),
3125 6385 e2pdf.properties.getField('border_left', el),
3126 6386 e2pdf.properties.getField('border_right', el),
3127 6387 e2pdf.properties.getField('border_bottom', el),
3128 - e2pdf.properties.getField('border_color', el)
6388 + e2pdf.properties.getField('z_index', el)
3129 6389 ],
3130 6390 'position': 'right',
3131 6391 'classes': [
3132 - 'e2pdf-w25 e2pdf-pr10',
3133 - 'e2pdf-w25 e2pdf-pr10',
3134 - 'e2pdf-w25 e2pdf-pr10',
3135 - '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',
3136 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)
3137 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 + ]
3138 6428 };
3139 6429 }
3140 6430
3141 - // Padding
3142 - if (el.data('data-type') === 'e2pdf-html'
3143 - || el.data('data-type') === 'e2pdf-image'
3144 - || el.data('data-type') === 'e2pdf-signature'
3145 - ) {
3146 - obj['padding'] = {
3147 - 'name': e2pdfLang['Padding'],
6431 + if (el.data('data-type') === 'e2pdf-barcode') {
6432 + obj['barcode'] = {
6433 + 'name': e2pdf.lang.get('Barcode'),
3148 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),
3149 6474 e2pdf.properties.getField('padding_top', el),
3150 6475 e2pdf.properties.getField('padding_left', el),
3151 6476 e2pdf.properties.getField('padding_right', el),
3152 - 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)
3153 6484 ],
3154 6485 'position': 'right',
3155 6486 'classes': [
3156 - 'e2pdf-w25 e2pdf-pr10',
3157 - 'e2pdf-w25 e2pdf-pr10',
3158 - 'e2pdf-w25 e2pdf-pr10',
3159 - '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'
3160 6502 ]
3161 6503 };
3162 - }
3163 -
3164 - // Z-index
3165 - obj['z_index'] = {
3166 - 'name': e2pdfLang['Z-index'],
3167 - 'fields': [
3168 - e2pdf.properties.getField('z_index', el)
3169 - ],
3170 - 'position': el.data('data-type') === 'e2pdf-link' ? 'left' : 'right',
3171 - 'classes': [
3172 - 'e2pdf-w100 e2pdf-hide-label',
3173 - ]
3174 - };
3175 -
3176 - // Parent
3177 - if (el.data('data-type') === 'e2pdf-html') {
3178 - obj['parent'] = {
3179 - 'name': e2pdfLang['Parent'],
6504 + obj['value'] = {
6505 + 'name': e2pdf.lang.get('Value'),
3180 6506 'fields': [
3181 - 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)
3182 6513 ],
3183 6514 'position': 'bottom',
3184 6515 'classes': [
3185 6516 'e2pdf-w100 e2pdf-hide-label',
3186 - ],
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 + ]
3187 6523 };
3188 6524 }
3189 6525
3190 - if (el.data('data-type') === 'e2pdf-radio') {
3191 - obj['group'] = {
3192 - 'name': e2pdfLang['Group'],
6526 + if (el.data('data-type') === 'e2pdf-graph') {
6527 + obj['graph'] = {
6528 + 'name': e2pdf.lang.get('Graph'),
3193 6529 'fields': [
3194 - 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),
3195 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 + ],
3196 6916 'position': 'bottom',
3197 6917 'classes': [
3198 - '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',
3199 6935 ]
3200 6936 };
3201 - }
3202 -
3203 - if (el.data('data-type') === 'e2pdf-radio'
3204 - || el.data('data-type') === 'e2pdf-checkbox'
3205 - ) {
3206 - obj['option'] = {
3207 - 'name': e2pdfLang['Option'],
6937 + obj['value'] = {
6938 + 'name': '',
3208 6939 'fields': [
3209 - 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),
3210 6955 ],
3211 6956 'position': 'bottom',
3212 6957 'classes': [
3213 - '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',
3214 6973 ]
3215 6974 };
3216 6975 }
3217 6976
3218 - // Options
3219 - if (el.data('data-type') === 'e2pdf-select') {
3220 - obj['options'] = {
3221 - 'name': e2pdfLang['Options'],
6977 + if (el.data('data-type') === 'e2pdf-rectangle') {
6978 + obj['style'] = {
6979 + 'name': e2pdf.lang.get('Style'),
3222 6980 'fields': [
3223 - e2pdf.properties.getField('options', el),
6981 + e2pdf.properties.getField('background', el),
6982 + e2pdf.properties.getField('z_index', el),
3224 6983 ],
3225 6984 'position': 'bottom',
3226 6985 'classes': [
3227 - 'e2pdf-w100 e2pdf-hide-label',
6986 + 'e2pdf-w50 e2pdf-pr10',
6987 + 'e2pdf-w50 e2pdf-pl10',
3228 6988 ]
3229 6989 };
3230 6990 }
3231 6991
3232 - // Value
3233 - if (el.data('data-type') === 'e2pdf-html'
3234 - || el.data('data-type') === 'e2pdf-input'
3235 - || el.data('data-type') === 'e2pdf-textarea'
3236 - || el.data('data-type') === 'e2pdf-radio'
3237 - || el.data('data-type') === 'e2pdf-checkbox'
3238 - || el.data('data-type') === 'e2pdf-select'
3239 - || el.data('data-type') === 'e2pdf-image'
3240 - || el.data('data-type') === 'e2pdf-link'
3241 - || el.data('data-type') === 'e2pdf-signature'
3242 - ) {
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 + };
3243 7029 obj['value'] = {
3244 - 'name': e2pdfLang['Value'],
7030 + 'name': e2pdf.lang.get('Value'),
3245 7031 'fields': [
7032 + e2pdf.properties.getField('link_label', el),
7033 + e2pdf.properties.getField('link_type', el),
7034 + e2pdf.properties.getField('highlight', el),
3246 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)
3247 7041 ],
3248 7042 'position': 'bottom',
3249 7043 'classes': [
3250 - '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'
3251 7053 ]
3252 7054 };
3253 7055 }
3254 7056 }
3255 7057
3256 - if (actions) {
3257 - // actions
3258 - obj['actions'] = {
3259 - 'name': e2pdfLang['Actions'],
3260 - 'fields': e2pdf.actions.renderFields(el),
3261 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3262 - };
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 + }
3263 7088 }
3264 -
3265 7089 return obj;
3266 7090 },
3267 - //e2pdf.properties.renderFields
3268 - renderFields: function (el) {
3269 -
3270 - var actions = true;
7091 + // e2pdf.properties.renderFields
7092 + renderFields: function (el, actions = true) {
3271 7093 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3272 7094 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3273 7095 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3274 7096 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3275 7097 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3276 -
3277 - if (el.data('data-type') == 'e2pdf-page') {
7098 + if (el.data('data-type') == 'e2pdf-tpl') {
7099 + fields_top = '';
3278 7100 fields_left = '';
3279 7101 fields_right = '';
3280 - fields_bottom = '';
7102 + } else if (el.data('data-type') == 'e2pdf-page') {
7103 + fields_left = '';
7104 + fields_right = '';
3281 7105 }
3282 7106
3283 7107 var groups = e2pdf.properties.getFields(el, actions);
3284 7108 if (groups) {
3285 7109 for (var group_key in groups) {
3286 -
3287 7110 if (group_key === 'actions') {
3288 -
3289 7111 var group = groups[group_key];
3290 7112 var block = jQuery('<div>');
3291 7113 if (group.name) {
3292 7114 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3292,9 +7114,8 @@
3292 7114 block.append(jQuery('<label>').html(group.name + ':'));
3293 7115 }
3294 7116 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3295 7117 grid.append(group.fields);
3296 -
3297 7118 block.append(grid);
3298 7119 if (group.position === 'top') {
3299 7120 fields_top.append(block);
3300 7121 } else if (group.position === 'left') {
@@ -3303,11 +7124,9 @@
3303 7124 fields_right.append(block);
3304 7125 } else {
3305 7126 fields_bottom.append(block);
3306 7127 }
3307 -
3308 7128 } else {
3309 -
3310 7129 var group = groups[group_key];
3311 7130 var block = jQuery('<div>');
3312 7131 if (group.name) {
3313 7132 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3321,34 +7140,42 @@
3321 7140 if (group.classes[field_key]) {
3322 7141 classes = group.classes[field_key];
3323 7142 }
3324 7143 }
3325 -
3326 7144 var field = '';
3327 7145 var label = '';
3328 7146 var wrap = '';
7147 + var hidden = '';
3329 7148 if (group_field.type === 'text') {
3330 7149 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3331 - 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});
3332 7151 } else if (group_field.type === 'hidden') {
3333 7152 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3334 7153 } else if (group_field.type === 'textarea') {
3335 7154 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3336 - 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);
3337 7160 } else if (group_field.type === 'checkbox') {
3338 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3339 - 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;
3340 7163 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3341 7164 if (group_field.value == group_field.option) {
3342 - field.attr('checked', 'checked');
7165 + field.prop('checked', true);
3343 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 + }
3344 7174 } else if (group_field.type === 'color') {
3345 7175 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3346 7176 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3347 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3348 - if (group_field.key === 'border_color') {
3349 - field.attr('data-default', '#000000');
3350 - }
7177 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3351 7178 } else if (group_field.type === 'select') {
3352 7179 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3353 7180 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3354 7181 for (var option_key in group_field.options) {
@@ -3354,13 +7181,13 @@
3354 7181 for (var option_key in group_field.options) {
3355 7182 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3356 7183 }
3357 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);
3358 7187 }
3359 -
3360 7188 for (var att_key in group_field.atts) {
3361 7189 var att = group_field.atts[att_key];
3362 -
3363 7190 switch (att) {
3364 7191 case 'readonly':
3365 7192 field.attr('readonly', 'readonly');
3366 7193 break;
@@ -3369,10 +7196,12 @@
3369 7196 break;
3370 7197 case 'number':
3371 7198 field.addClass('e2pdf-numbers');
3372 7199 break;
7200 + case 'number-negative':
7201 + field.addClass('e2pdf-number-negative');
7202 + break;
3373 7203 case 'autocomplete':
3374 -
3375 7204 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3376 7205 field.addClass('e2pdf-autocomplete-cl');
3377 7206 field.autocomplete({
3378 7207 source: group_field.source,
@@ -3378,31 +7207,40 @@
3378 7207 source: group_field.source,
3379 7208 minLength: 0,
3380 7209 appendTo: wrap,
3381 7210 open: function () {
3382 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7211 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3383 7212 },
3384 7213 classes: {
3385 7214 "ui-autocomplete": "e2pdf-autocomplete"
3386 - },
7215 + }
3387 7216 });
3388 7217 break;
3389 -
3390 - case 'scale':
3391 - field.addClass('e2pdf-scale-field');
7218 + case 'collapse':
7219 + field.attr('data-collapse', group_field.collapse);
3392 7220 break;
3393 7221 }
3394 7222 }
3395 -
3396 7223 if (!wrap) {
3397 7224 wrap = field;
3398 7225 } else {
3399 7226 wrap.prepend(field);
3400 7227 }
3401 -
3402 - 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 + }
3403 7242 }
3404 -
3405 7243 block.append(grid);
3406 7244 if (group.position === 'top') {
3407 7245 fields_top.append(block);
3408 7246 } else if (group.position === 'left') {
@@ -3414,82 +7252,94 @@
3414 7252 }
3415 7253 }
3416 7254 }
3417 7255 }
3418 -
3419 7256 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3420 7257 return fields;
3421 7258 },
3422 - //e2pdf.properties.apply
3423 - 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 + }
3424 7287 el.data('data-properties', JSON.stringify(data));
3425 7288 },
3426 - //e2pdf.properties.set
7289 + // e2pdf.properties.set
3427 7290 set: function (el, key, value) {
3428 7291 var properties = e2pdf.properties.get(el);
3429 7292 properties[key] = value;
3430 7293 e2pdf.properties.apply(el, properties);
3431 7294 },
3432 - //e2pdf.properties.getValue
3433 - getValue: function (el, key) {
7295 + // e2pdf.properties.getValue
7296 + getValue: function (el, key, type = '') {
3434 7297 var properties = e2pdf.properties.get(el);
3435 - 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 + }
3436 7319 },
3437 - //e2pdf.properties.get
3438 - get: function (el, submit) {
3439 -
7320 + // e2pdf.properties.get
7321 + get: function (el) {
3440 7322 var properties = [];
3441 -
3442 7323 if (typeof el.data('data-properties') !== 'undefined') {
3443 7324 properties = JSON.parse(el.data('data-properties'));
3444 -
3445 - if (el.data('data-type') !== 'e2pdf-page') {
3446 - if (!("width" in properties)) {
3447 - properties['width'] = parseFloat(el.css('width'));
3448 - } else {
3449 - properties['width'] = parseFloat(properties['width']);
3450 - }
3451 -
3452 -
3453 - if (!("height" in properties)) {
3454 - properties['height'] = parseFloat(el.css('height'));
3455 - } else {
3456 - properties['height'] = parseFloat(properties['height']);
3457 - }
3458 -
3459 - if (!("top" in properties)) {
3460 - properties['top'] = parseFloat(el.css('top'));
3461 - } else {
3462 - properties['top'] = parseFloat(properties['top']);
3463 - }
3464 -
3465 - if (!("left" in properties)) {
3466 - properties['left'] = parseFloat(el.css('left'));
3467 - } else {
3468 - properties['left'] = parseFloat(properties['left']);
3469 - }
3470 -
3471 - if (submit) {
3472 - delete properties['width'];
3473 - delete properties['height'];
3474 - delete properties['value'];
3475 - delete properties['top'];
3476 - delete properties['left'];
3477 - }
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'));
3478 7330 }
3479 7331 }
3480 -
3481 7332 return properties;
3482 7333 },
3483 - //e2pdf.properties.render
7334 + // e2pdf.properties.render
3484 7335 render: function (el) {
3485 7336 var properties = e2pdf.properties.get(el);
3486 7337 var children = e2pdf.element.children(el);
3487 - if (properties.hasOwnProperty("options")) {
3488 - var property = "options";
7338 + if (properties.hasOwnProperty('options')) {
3489 7339 if (el.data('data-type') === 'e2pdf-select') {
3490 7340 children.find('option').remove();
3491 - var options = properties[property].split("\n");
7341 + var options = properties['options'].split("\n");
3492 7342 if (typeof options !== 'undefined' && options.length > 0) {
3493 7343 for (var key in options) {
3494 7344 children.append(
3495 7345 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3496,285 +7346,200 @@
3496 7346 );
3497 7347 }
3498 7348 }
3499 7349 }
3500 -
3501 7350 }
3502 -
3503 - // value render
3504 - if (properties.hasOwnProperty("value")) {
3505 - var property = "value";
3506 - if (el.data('data-type') === 'e2pdf-html') {
3507 - children.html(properties[property]);
3508 - } else if (el.data('data-type') === 'e2pdf-input') {
3509 - children.val(properties[property]);
3510 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3511 - children.val(properties[property]);
3512 - } else if (el.data('data-type') === 'e2pdf-select') {
3513 - children.val(properties[property]);
3514 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3515 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3516 - 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']));
3517 7364 } else {
3518 - 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'])));
3519 7367 }
3520 - } 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':
3521 7408 e2pdf.helper.image.load(el);
3522 - }
7409 + break;
3523 7410 }
3524 7411
3525 - if (properties.hasOwnProperty("group")) {
3526 - var property = "group";
3527 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3528 - var radio = jQuery(this).parent();
3529 - var group = e2pdf.properties.getValue(radio, 'group');
3530 - if (group === properties[property]) {
3531 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3532 - e2pdf.properties.set(radio, 'required', properties['required']);
3533 - e2pdf.properties.set(radio, 'value', properties['value']);
3534 - var option = e2pdf.properties.getValue(radio, 'option');
3535 - if (properties['value'] === option) {
3536 - jQuery(this).attr('checked', 'checked');
3537 - } else {
3538 - jQuery(this).attr('checked', false);
3539 - }
3540 - }
3541 - });
3542 - }
3543 -
3544 - // multiline
3545 7412 if (el.data('data-type') === 'e2pdf-select') {
3546 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3547 - var property = "multiline";
3548 - children.attr('multiple', true);
3549 - } else {
3550 - children.attr('multiple', false);
3551 - }
7413 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3552 7414 }
3553 7415
3554 - // z_index render
3555 - if (properties.hasOwnProperty("z_index")) {
3556 - var property = "z_index";
3557 - 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']));
3558 7418 }
3559 7419
3560 - // rtl
3561 - if (el.data('data-type') === 'e2pdf-select'
3562 - || el.data('data-type') === 'e2pdf-input'
3563 - || el.data('data-type') === 'e2pdf-textarea'
3564 - || el.data('data-type') === 'e2pdf-html') {
3565 - if (properties.hasOwnProperty("rtl")) {
3566 - 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');
3567 7428 } else {
3568 7429 children.attr('dir', false);
3569 7430 }
3570 -
3571 7431 }
3572 7432
3573 - // background render
3574 - if (properties.hasOwnProperty("background")) {
3575 - var property = "background";
3576 - if (el.data('data-type') === 'e2pdf-radio'
3577 - || el.data('data-type') === 'e2pdf-checkbox'
3578 - ) {
3579 - children.css('background', properties[property]);
3580 - } else {
3581 - el.css('background', properties[property]);
3582 - }
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']));
3583 7437 }
3584 7438
3585 - if (properties.hasOwnProperty("border_top")) {
3586 - var property = "border_top";
3587 - // border_top render
3588 - if (properties[property] != '0') {
3589 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3590 - } else {
3591 - el.css('border-top', '');
3592 - }
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'));
3593 7451 }
3594 7452
3595 - if (properties.hasOwnProperty("border_left")) {
3596 - var property = "border_left";
3597 - // border_left render
3598 - if (properties[property] != '0') {
3599 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
3600 - } else {
3601 - el.css('border-left', '');
3602 - }
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']));
3603 7466 }
3604 7467
3605 -
3606 - if (properties.hasOwnProperty("border_right")) {
3607 - var property = "border_right";
3608 - // border_right render
3609 - if (properties[property] != '0') {
3610 - el.css('border-right', 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', '');
3611 7473 } else {
3612 - el.css('border-right', '');
3613 - }
3614 - }
3615 -
3616 - if (properties.hasOwnProperty("border_bottom")) {
3617 - var property = "border_bottom";
3618 - // border_bottom render
3619 - if (properties[property] != '0') {
3620 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
3621 - } else {
3622 - el.css('border-bottom', '');
3623 - }
3624 - }
3625 -
3626 - if (properties.hasOwnProperty("padding_top")) {
3627 - var property = "padding_top";
3628 - el.css('padding-top', properties[property] + 'px');
3629 - }
3630 -
3631 - if (properties.hasOwnProperty("padding_left")) {
3632 - var property = "padding_left";
3633 - el.css('padding-left', properties[property] + 'px');
3634 - }
3635 -
3636 - if (properties.hasOwnProperty("padding_right")) {
3637 - var property = "padding_right";
3638 - el.css('padding-right', properties[property] + 'px');
3639 - }
3640 -
3641 - if (properties.hasOwnProperty("padding_bottom")) {
3642 - var property = "padding_bottom";
3643 - el.css('padding-bottom', properties[property] + 'px');
3644 - }
3645 -
3646 - if (properties.hasOwnProperty("border")) {
3647 - var property = "border";
3648 - if (el.data('data-type') === 'e2pdf-input'
3649 - || el.data('data-type') === 'e2pdf-textarea'
3650 - || el.data('data-type') === 'e2pdf-select'
3651 - || el.data('data-type') === 'e2pdf-radio'
3652 - || el.data('data-type') === 'e2pdf-checkbox'
3653 - ) {
3654 - if (properties[property] != '0') {
3655 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
3656 - } else {
3657 - children.css('border', '');
3658 - }
3659 - }
3660 - }
3661 -
3662 - if (properties.hasOwnProperty("text_color")) {
3663 - var property = "text_color";
3664 - if (el.data('data-type') === 'e2pdf-html') {
3665 - el.css('color', properties[property]);
3666 - } else if (el.data('data-type') === 'e2pdf-input'
3667 - || el.data('data-type') === 'e2pdf-textarea'
3668 - || el.data('data-type') === 'e2pdf-select'
3669 - || el.data('data-type') === 'e2pdf-radio'
3670 - || el.data('data-type') === 'e2pdf-checkbox'
3671 - ) {
3672 - children.css('color', properties[property]);
3673 - }
3674 - }
3675 -
3676 - if (properties.hasOwnProperty("text_font")) {
3677 - var property = "text_font";
3678 - if (properties[property] && properties[property] !== "") {
3679 - var path = jQuery('#e2pdf-wysiwyg-font').find("[value='" + properties[property] + "']").attr('path');
3680 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
7474 + var tmp = jQuery('<div>', {'name': font, 'path': path});
3681 7475 e2pdf.font.load(tmp);
3682 - el.css('font-family', properties[property]);
3683 - } else {
3684 - el.css('font-family', '');
7476 + el.css('font-family', CSS.escape(font));
3685 7477 }
7478 + } else {
7479 + el.css('font-family', '');
3686 7480 }
3687 7481
3688 - if (properties.hasOwnProperty("text_font_size")) {
3689 - var property = "text_font_size";
3690 - if (properties[property] !== '') {
3691 - el.css('font-size', properties[property] + "px");
3692 - } else {
3693 - el.css('font-size', '');
3694 - }
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' : '');
3695 7489 }
3696 7490
3697 - if (properties.hasOwnProperty("text_line_height")) {
3698 - var property = "text_line_height";
3699 - //backward compatiability with input
3700 - if (properties[property] !== '' && properties[property] !== '0') {
3701 - if (el.data('data-type') === 'e2pdf-textarea') {
3702 - children.css('line-height', properties[property] + "px");
3703 - } else {
3704 - el.css('line-height', properties[property] + "px");
3705 - }
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');
3706 7498 } else {
3707 - if (el.data('data-type') === 'e2pdf-textarea') {
3708 - children.css('line-height', '');
3709 - } else {
3710 - el.css('line-height', '');
3711 - }
7499 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3712 7500 }
3713 - }
3714 7501
3715 - if (properties.hasOwnProperty("top")) {
3716 - var property = "top";
3717 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3718 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3719 - var top = page_height - parseFloat(el.css('height'));
3720 - el.css('top', top + "px");
3721 - } else if (properties[property] >= 0) {
3722 - el.css('top', properties[property] + "px");
3723 - }
3724 - }
3725 -
3726 - if (properties.hasOwnProperty("left")) {
3727 - var property = "left";
3728 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3729 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3730 - var left = page_width - parseFloat(el.css('width'));
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'));
3731 7505 el.css('left', left + "px");
3732 - } else if (properties[property] >= 0) {
3733 - el.css('left', properties[property] + "px");
7506 + } else {
7507 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3734 7508 }
3735 - }
3736 7509
3737 - if (properties.hasOwnProperty("text_align")) {
3738 - var property = "text_align";
3739 - children.css('text-align', properties[property]);
3740 - }
3741 -
3742 - // width render
3743 - if (properties.hasOwnProperty("width")) {
3744 - var property = "width";
3745 - var width = parseFloat(properties[property]);
3746 - var left = parseFloat(el.css('left'));
3747 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
7510 + var width = e2pdf.helper.getFloat(properties['width']);
7511 + var left = e2pdf.helper.getFloat(el.css('left'));
3748 7512 if (width > 0) {
3749 - if (width > page_width - left) {
3750 - el.css('width', page_width - left);
3751 - e2pdf.properties.set(el, 'width', page_width - left);
7513 + if (width > page_w - left) {
7514 + el.css('width', page_w - left);
7515 + e2pdf.properties.set(el, 'width', page_w - left);
3752 7516 } else {
3753 - el.css('width', properties[property]);
7517 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
3754 7518 }
3755 7519 }
3756 - }
3757 7520
3758 - // height render
3759 - if (properties.hasOwnProperty("height")) {
3760 - var property = "height";
3761 - // height render
3762 - var height = parseFloat(properties[property]);
3763 - var top = parseFloat(el.css('top'));
3764 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
7521 + var height = e2pdf.helper.getFloat(properties['height']);
7522 + var top = e2pdf.helper.getFloat(el.css('top'));
3765 7523 if (height > 0) {
3766 - if (height > page_height - top) {
3767 - el.css('height', page_height - top);
3768 - e2pdf.properties.set(el, 'width', page_height - top);
7524 + if (height > page_h - top) {
7525 + el.css('height', page_h - top);
7526 + e2pdf.properties.set(el, 'height', page_h - top);
3769 7527 } else {
3770 - el.css('height', properties[property]);
7528 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
3771 7529 }
3772 7530 }
3773 7531 }
7532 +
7533 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7534 + el.addClass('e2pdf-locked');
7535 + } else {
7536 + el.removeClass('e2pdf-locked');
7537 + }
3774 7538 }
7539 +
3775 7540 },
3776 - //e2pdf.welcomeScreen
7541 + // e2pdf.welcomeScreen
3777 7542 welcomeScreen: function () {
3778 7543 if (jQuery('.e2pdf-page').length === 0) {
3779 7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3780 7545 e2pdf.dialog.create(el);
@@ -3779,200 +7544,273 @@
3779 7544 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3780 7545 e2pdf.dialog.create(el);
3781 7546 }
3782 7547 },
3783 - //e2pdf.createPdf
7548 + // e2pdf.createPdf
3784 7549 createPdf: function (el) {
3785 -
3786 7550 var item = false;
7551 + var item1 = false;
7552 + var item2 = false;
3787 7553 var action = el.attr('data-action');
3788 7554 var data = e2pdf.form.serializeObject(el.closest('form'));
3789 - for (var key in data) {
3790 - e2pdf.pdf.settings.change(key, data[key]);
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]);
7563 + } else {
7564 + e2pdf.pdf.settings.change(key, data[key]);
7565 + }
7566 + }
3791 7567
3792 - if (key === 'font') {
3793 - jQuery('#e2pdf-font').val(data[key]);
3794 - }
7568 + if (key === 'font') {
7569 + jQuery('#e2pdf-font').val(data[key]);
7570 + }
3795 7571
3796 - if (key === 'font_size') {
3797 - jQuery('#e2pdf-font-size').val(data[key]);
7572 + if (key === 'font_size') {
7573 + jQuery('#e2pdf-font-size').val(data[key]);
7574 + }
7575 +
7576 + if (key === 'line_height') {
7577 + jQuery('#e2pdf-line-height').val(data[key]);
7578 + }
7579 +
7580 + if (key === 'title') {
7581 + jQuery('#e2pdf-title').val(data[key]);
7582 + }
7583 +
7584 + if (key === 'text_align') {
7585 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7586 + }
7587 +
7588 + if (key === 'rtl') {
7589 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7590 + }
3798 7591 }
3799 7592
3800 - if (key === 'line_height') {
3801 - jQuery('#e2pdf-line-height').val(data[key]);
7593 + if (!data['rtl']) {
7594 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3802 7595 }
3803 -
3804 7596 }
3805 7597
3806 7598 if (action === 'apply') {
3807 7599 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3808 7600 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3809 - var option = el.closest('form').find('#e2pdf-item option:selected');
7601 + var option = el.closest('form').find('.e2pdf-item option:selected');
3810 7602 if (option && typeof option.data('data-item') !== 'undefined') {
3811 7603 item = option.data('data-item');
3812 7604 }
3813 - e2pdf.pages.changeTplSize(width, height);
3814 - jQuery('.ui-dialog-content').dialog('close');
7605 +
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 + }
7623 + }
7624 +
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 + }
7631 + }
7632 + }
7633 +
7634 + e2pdf.pages.changeTplSize(width, height);
7635 + jQuery('.ui-dialog-content').dialog('close');
7636 + }
3815 7637 } else if (action === 'empty') {
3816 7638 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3817 7639 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3818 - var option = el.closest('form').find('#e2pdf-item option:selected');
7640 + var option = el.closest('form').find('.e2pdf-item option:selected');
3819 7641 if (option && typeof option.data('data-item') !== 'undefined') {
3820 7642 item = option.data('data-item');
7643 + if (item.id == '-1') {
7644 + item = false;
7645 + }
3821 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 + }
3822 7664 e2pdf.pages.changeTplSize(width, height);
3823 7665 e2pdf.pages.createPage();
3824 7666 jQuery('.ui-dialog-content').dialog('close');
3825 7667 } else if (action === 'auto') {
3826 -
3827 - var extension = el.closest('form').find('#e2pdf-extension').val();
3828 - var option = el.closest('form').find('#e2pdf-item option:selected');
7668 + var extension = el.closest('form').find('.e2pdf-extension').val();
7669 + var option = el.closest('form').find('.e2pdf-item option:selected');
3829 7670 if (option && typeof option.data('data-item') !== 'undefined') {
3830 7671 item = option.data('data-item');
7672 + if (item.id == '-1') {
7673 + item = false;
7674 + }
3831 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 + }
3832 7692 var data = {};
3833 7693 data['extension'] = extension;
3834 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();
3835 7699 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3836 7700 } else if (action === 'upload') {
3837 7701 if (e2pdf.pdf.settings.get('ID')) {
3838 - 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?'))) {
3839 7703 return false;
3840 7704 }
3841 7705 }
3842 - jQuery('#e2pdf-upload-pdf').click();
7706 + jQuery('.e2pdf-upload-pdf').click();
3843 7707 }
3844 -
3845 7708 if (action === 'apply' || action === 'empty' || action === 'auto') {
3846 -
3847 7709 var link = jQuery('<a>', {
3848 7710 'href': 'javascript:void(0);',
3849 - 'class': 'e2pdf-link e2pdf-modal',
7711 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
3850 7712 'data-modal': 'tpl-options'
3851 - }).html(e2pdfLang['None']);
3852 -
7713 + }).html(e2pdf.lang.get('Not linked'));
3853 7714 if (item && item.id) {
3854 - link = jQuery('<a>', {
3855 - 'target': '_blank',
3856 - 'href': item.url,
3857 - 'class': 'e2pdf-link',
3858 - }).html(item.name);
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 + }
3859 7745 }
3860 -
3861 - $('#e2pdf-post-item').html(link);
7746 + jQuery('#e2pdf-post-item').html(link);
3862 7747 }
3863 7748
7749 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3864 7750 e2pdf.font.load(jQuery('#e2pdf-font'));
3865 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3866 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3867 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3868 - 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'));
3869 7755 e2pdf.event.fire('after.createPdf');
3870 7756 },
3871 - //e2pdf.pages
7757 + // e2pdf.pages
3872 7758 pages: {
3873 - //e2pdf.pages.rebuildPages
3874 - rebuildPages: function () {
3875 - jQuery('.e2pdf-page').each(function (index) {
3876 -
3877 - if (!e2pdf.pdf.settings.get('pdf')) {
3878 - if (index + 1 === 1) {
3879 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3880 - } else {
3881 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3882 - }
3883 -
3884 - if (index + 1 === jQuery('.e2pdf-page').length) {
3885 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3886 - } else {
3887 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3888 - }
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();
3889 7766 }
3890 -
3891 - jQuery(this).attr('data-page_id', index + 1);
3892 7767 });
3893 - e2pdf.welcomeScreen();
3894 - },
3895 - //e2pdf.pages.createPage
3896 - createPage: function (page, properties, actions) {
3897 - e2pdf.pages.rebuildPages();
3898 - var newpage = true;
3899 - if (page) {
3900 - var newpage = false;
3901 - }
7768 + if (page.hasClass('ui-droppable')) {
7769 + try {
7770 + page.droppable('destroy');
7771 + page.removeData('ui-droppable');
7772 + } catch (e) {
3902 7773
3903 - if (!properties) {
3904 - var properties = {};
7774 + }
3905 7775 }
3906 -
3907 - if (!actions) {
3908 - var actions = {};
3909 - }
3910 -
3911 - if (newpage) {
3912 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
3913 - var page = jQuery('<div>', {
3914 - 'class': 'e2pdf-page ui-droppable',
3915 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
3916 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
3917 - 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
3918 - 'data-height': jQuery('.e2pdf-tpl').attr('data-height'),
3919 - }).attr('data-page_id', page_id).append(
3920 - jQuery('<div>', {'class': 'page-options-icons'}).append(
3921 - jQuery('<a>', {
3922 - 'href': 'javascript:void(0);',
3923 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
3924 - }).append(
3925 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
3926 - ),
3927 - jQuery('<a>', {
3928 - 'href': 'javascript:void(0);',
3929 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
3930 - }).append(
3931 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
3932 - ),
3933 - jQuery('<a>', {
3934 - 'href': 'javascript:void(0);',
3935 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
3936 - 'data-modal': 'page-options'
3937 - }).append(
3938 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
3939 - ),
3940 - jQuery('<a>', {
3941 - 'href': 'javascript:void(0);',
3942 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
3943 - }).append(
3944 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
3945 - ),
3946 - ),
3947 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
3948 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
3949 - );
3950 - }
3951 -
3952 - page.data('data-type', 'e2pdf-page');
3953 -
3954 - e2pdf.properties.apply(page, properties);
3955 - e2pdf.actions.apply(page, actions);
3956 -
3957 7776 page.droppable({
3958 7777 over: function (ev, ui) {
3959 7778 e2pdf.static.drag.page = jQuery(this);
3960 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 + }
3961 7792
3962 7793 if (ui.draggable.hasClass('e2pdf-clone')) {
3963 - jQuery(this).find(".e2pdf-element").each(function () {
7794 + jQuery(this).find('.e2pdf-element').each(function () {
3964 7795 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
3965 7796 });
3966 7797 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
3967 7798 } else {
3968 - 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);
3969 7800 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
3970 7801 }
3971 7802 },
3972 - out: function (ev) {
7803 + out: function (ev, ui) {
3973 7804 e2pdf.static.drag.page = null;
3974 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 +
3975 7813 },
3976 7814 deactivate: function (ev) {
3977 7815 e2pdf.static.drag.page = null;
3978 7816 e2pdf.static.guide.guides = [];
@@ -3981,13 +7819,12 @@
3981 7819 if (ui.draggable.hasClass('e2pdf-clone')) {
3982 7820 var type = jQuery(ui.draggable).attr('data-type');
3983 7821 var page = jQuery(this).closest('.e2pdf-page');
3984 7822 var pos = {
3985 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
3986 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
3987 - 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))
3988 7826 };
3989 -
3990 7827 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
3991 7828 return false;
3992 7829 }
3993 7830
@@ -3995,23 +7832,25 @@
3995 7832 properties['width'] = jQuery(ui.helper).css('width');
3996 7833 properties['height'] = jQuery(ui.helper).css('height');
3997 7834 properties['top'] = pos.top;
3998 7835 properties['left'] = pos.left;
3999 - properties['value'] = jQuery(ui.draggable).attr('data-value');
4000 - //changed
4001 7836 var el = e2pdf.element.create(type, page, properties, false, true);
4002 7837 jQuery(this).append(el);
4003 7838 e2pdf.properties.render(el);
7839 + var history = [];
7840 + history.push(el.clone(true));
7841 + e2pdf.history.set('element_create', history);
4004 7842 }
4005 7843 e2pdf.static.drag.page = null;
4006 7844 }
4007 7845 });
4008 - page.contextmenu(function (e) {
4009 - if (jQuery(e.target).hasClass('e2pdf-page')) {
4010 - e2pdf.contextMenu(e, page);
4011 - e.preventDefault();
7846 + if (page.hasClass('ui-selectable')) {
7847 + try {
7848 + page.selectable('destroy');
7849 + page.removeData('selectable');
7850 + } catch (e) {
4012 7851 }
4013 - });
7852 + }
4014 7853 page.selectable(
4015 7854 {
4016 7855 filter: '.e2pdf-element',
4017 7856 cancel: 'a,.e2pdf-element',
@@ -4016,21 +7855,114 @@
4016 7855 filter: '.e2pdf-element',
4017 7856 cancel: 'a,.e2pdf-element',
4018 7857 distance: 10,
4019 7858 selecting: function (event, ui) {
4020 - 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 + }
4021 7862 },
4022 7863 unselecting: function (event, ui) {
4023 7864 jQuery(ui.unselecting).removeClass('e2pdf-selected');
4024 7865 },
4025 7866 selected: function (event, ui) {
4026 - 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 + }
4027 7870 },
4028 7871 unselected: function (event, ui) {
4029 7872 e2pdf.element.unselect(jQuery(ui.unselected));
4030 7873 }
4031 - });
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 + }
4032 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 + }
4033 7965 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
4034 7966 e2pdf.pages.rebuildPages();
4035 7967 e2pdf.event.fire('after.pages.createPage.newpage');
4036 7968 return true;
@@ -4037,11 +7969,10 @@
4037 7969 } else {
4038 7970 return false;
4039 7971 }
4040 7972 },
4041 - //e2pdf.pages.movePage
7973 + // e2pdf.pages.movePage
4042 7974 movePage: function (el, direction) {
4043 -
4044 7975 if (e2pdf.pdf.settings.get('pdf')) {
4045 7976 return false;
4046 7977 }
4047 7978 if (direction === 'up') {
@@ -4048,26 +7979,22 @@
4048 7979 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
4049 7980 } else if (direction === 'down') {
4050 7981 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
4051 7982 }
4052 -
4053 7983 e2pdf.event.fire('after.pages.movePage');
4054 7984 e2pdf.pages.rebuildPages();
4055 7985 },
4056 - //e2pdf.pages.deletePage
7986 + // e2pdf.pages.deletePage
4057 7987 deletePage: function (el) {
4058 7988 el.closest('.e2pdf-page').remove();
4059 7989 e2pdf.event.fire('after.pages.deletePage');
4060 7990 e2pdf.pages.rebuildPages();
4061 7991 },
4062 - //e2pdf.pages.changeTplSize
7992 + // e2pdf.pages.changeTplSize
4063 7993 changeTplSize: function (width, height) {
4064 7994 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
4065 7995 },
4066 7996 changePageSize: function (el, width, height) {
4067 -
4068 - var set_width = true;
4069 - var set_height = true;
4070 7997 var prev_width = parseFloat(el.css('width'));
4071 7998 var prev_height = parseFloat(el.css('height'));
4072 7999 var width_diff = width / prev_width;
4073 8000 var height_diff = height / prev_height;
@@ -4073,27 +8000,15 @@
4073 8000 var height_diff = height / prev_height;
4074 8001 el.find(".e2pdf-element").each(function () {
4075 8002 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
4076 8003 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
4077 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
4078 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
4079 - if (scale === e2pdf.static.const.WIDTH) {
4080 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
4081 - set_height = false;
4082 - } else if (scale === e2pdf.static.const.HEIGHT) {
4083 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
4084 - set_width = false;
4085 - }
4086 - }
4087 -
4088 - 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'))) {
4089 8005 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4090 - }
4091 -
4092 - 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);
4093 8009 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
4094 8010 }
4095 -
4096 8011 });
4097 8012 el.css('width', width);
4098 8013 el.css('height', height);
4099 8014 el.attr('data-width', width);
@@ -4099,27 +8014,28 @@
4099 8014 el.attr('data-width', width);
4100 8015 el.attr('data-height', height);
4101 8016 }
4102 8017 },
4103 - //e2pdf.contextMenu
8018 + // e2pdf.contextMenu
4104 8019 contextMenu: function (e, el) {
4105 8020 e2pdf.delete('.e2pdf-context');
8021 + jQuery('.e2pdf-page').css('z-index', '');
4106 8022 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
4107 8023 if (el.hasClass('e2pdf-page')) {
4108 8024 var parent = el;
4109 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
8025 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
8026 + menu.find('ul.e2pdf-context-menu').append(
4110 8027 jQuery('<li>').append(
4111 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste'])
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'))
4112 8029 ),
4113 8030 jQuery('<li>').append(
4114 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-pasteinplace e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste in Place'])
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'))
4115 8035 )
4116 - ));
4117 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4118 - menu.find('a').attr('disabled', false);
4119 - }
8036 + );
4120 8037 } else {
4121 -
4122 8038 if (!el.hasClass('e2pdf-selected')) {
4123 8039 e2pdf.element.unselect();
4124 8040 e2pdf.element.select(el);
4125 8041 }
@@ -4124,645 +8040,1069 @@
4124 8040 e2pdf.element.select(el);
4125 8041 }
4126 8042
4127 8043 var parent = el.closest('.e2pdf-page');
4128 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
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(
4129 8071 jQuery('<li>').append(
4130 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdfLang['Show'] : e2pdfLang['Hide'])
8072 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
4131 8073 ),
4132 8074 jQuery('<li>').append(
4133 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy'}).html(e2pdfLang['Copy'])
8075 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
4134 8076 ),
4135 8077 jQuery('<li>').append(
4136 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdfLang['Cut'])
8078 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
4137 8079 ),
4138 8080 jQuery('<li>').append(
4139 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete', }).html(e2pdfLang['Delete'])
8081 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8082 + )
8083 + )
4140 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 + ))
4141 8095 ));
4142 - 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 + }
4143 8134
4144 - menu.find('ul').append(
4145 - jQuery('<li>').append(
4146 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4147 - ));
4148 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4149 - menu.find('ul').prepend(
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(
4150 8138 jQuery('<li>').append(
4151 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdfLang['Choose Image'])
8139 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
4152 8140 ));
4153 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 + }
4154 8150
4155 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4156 - menu.find('ul').prepend(jQuery('<li>').append(
4157 - 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'))
4158 8157 ));
4159 8158 }
4160 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 + }
4161 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 + }
4162 8193 }
4163 -
4164 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4165 - 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 + }
4166 8206 menu.css({top: pos_y + "px", left: pos_x + "px"});
4167 - menu.appendTo(parent);
8207 + menu.show();
4168 8208 },
4169 - //e2pdf.delete
8209 + // e2pdf.delete
4170 8210 delete: function (el) {
4171 8211 jQuery(el).remove();
4172 8212 },
4173 - //e2pdf.element
8213 + // e2pdf.element
4174 8214 element: {
4175 - //e2pdf.element.buffered
4176 - buffered: [],
4177 - //e2pdf.element.selected
8215 + // e2pdf.element.selected
4178 8216 selected: [],
4179 - //e2pdf.element.init
8217 + // e2pdf.element.init
4180 8218 init: function (el) {
4181 -
4182 8219 if (el.data('data-type') === 'e2pdf-html') {
4183 - 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 + }
4184 8225 } else if (el.data('data-type') === 'e2pdf-input') {
4185 8226 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4186 8227 } else if (el.data('data-type') === 'e2pdf-textarea') {
4187 8228 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4188 8229 }
4189 -
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'));
4190 8233 },
4191 - //e2pdf.element.create
4192 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4193 -
4194 - var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
4195 -
4196 - var aspect = false;
8234 + // e2pdf.element.initEvents
8235 + initEvents: function (element, page) {
8236 + var min_width = 2;
4197 8237 var min_height = 2;
4198 - var min_width = 2;
4199 - if (!properties) {
4200 - properties = {};
8238 + if (element.data('data-type') == 'e2pdf-rectangle') {
8239 + min_height = 1;
8240 + min_width = 1;
4201 8241 }
4202 -
4203 - if (!actions) {
4204 - actions = {};
8242 + if (!page) {
8243 + page = element.closest('.e2pdf-page');
4205 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) {
4206 8255
4207 - if (!properties['value']) {
4208 - properties['value'] = '';
4209 - }
4210 -
4211 - // Switch element types
4212 - if (type === 'e2pdf-html') {
4213 -
4214 - if (!properties['width']) {
4215 - properties['width'] = '200';
4216 - } else if (properties['width'] === 'auto') {
4217 - properties['width'] = size;
4218 8256 }
4219 -
4220 - if (!properties['height']) {
4221 - properties['height'] = size;
4222 -
4223 - } else if (properties['height'] === 'auto') {
4224 - delete properties['height'];
4225 - }
4226 -
4227 - var element =
4228 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4229 - jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4230 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4231 - );
4232 - } else if (type === 'e2pdf-input') {
4233 -
4234 - if (!properties['width'] || properties['width'] === 'auto') {
4235 - properties['width'] = '200';
4236 - }
4237 -
4238 - if (!properties['height'] || properties['height'] === 'auto') {
4239 - properties['height'] = size;
4240 - }
4241 -
4242 - var element =
4243 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4244 - jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4245 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4246 - );
4247 - } else if (type === 'e2pdf-textarea') {
4248 -
4249 - if (!properties['width'] || properties['width'] === 'auto') {
4250 - properties['width'] = '200';
4251 - }
4252 -
4253 - if (!properties['height'] || properties['height'] === 'auto') {
4254 - properties['height'] = '100';
4255 - }
4256 -
4257 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4258 - jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4259 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4260 - );
4261 - } else if (type === 'e2pdf-checkbox') {
4262 -
4263 - if (!properties['width'] || properties['width'] === 'auto') {
4264 - properties['width'] = size;
4265 - }
4266 -
4267 - if (!properties['height'] || properties['height'] === 'auto') {
4268 - properties['height'] = size;
4269 - }
4270 -
4271 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4272 - jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4273 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4274 - );
4275 - } else if (type === 'e2pdf-radio') {
4276 -
4277 - if (!properties['width'] || properties['width'] === 'auto') {
4278 - properties['width'] = size;
4279 - }
4280 -
4281 - if (!properties['height'] || properties['height'] === 'auto') {
4282 - properties['height'] = size;
4283 - }
4284 -
4285 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4286 - jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4287 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4288 - );
4289 - var aspect = false;
4290 - } else if (type === 'e2pdf-select') {
4291 -
4292 - if (!properties['width'] || properties['width'] === 'auto') {
4293 - properties['width'] = '200';
4294 - }
4295 -
4296 - if (!properties['height'] || properties['height'] === 'auto') {
4297 - properties['height'] = size;
4298 - }
4299 -
4300 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4301 - jQuery('<select>', {'class': 'e2pdf-select'}).append(
4302 - ),
4303 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4304 - );
4305 - } else if (type === 'e2pdf-image') {
4306 -
4307 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4308 - jQuery('<img>', {'class': 'e2pdf-image'}),
4309 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4310 - );
4311 - } else if (type === 'e2pdf-rectangle') {
4312 -
4313 - if (!properties['width'] || properties['width'] === 'auto') {
4314 - properties['width'] = '200';
4315 - }
4316 -
4317 - if (!properties['height'] || properties['height'] === 'auto') {
4318 - properties['height'] = '5';
4319 - }
4320 -
4321 - var min_height = 1;
4322 - var min_width = 1;
4323 - var element =
4324 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4325 - jQuery('<div>', {'class': 'content e2pdf-rectangle'}),
4326 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4327 - );
4328 - } else if (type === 'e2pdf-link') {
4329 -
4330 - if (!properties['width'] || properties['width'] === 'auto') {
4331 - properties['width'] = '200';
4332 - }
4333 -
4334 - if (!properties['height'] || properties['height'] === 'auto') {
4335 - properties['height'] = size;
4336 - }
4337 -
4338 - var element =
4339 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4340 - jQuery('<div>', {'class': 'content e2pdf-link'}),
4341 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4342 - );
4343 - } else if (type === 'e2pdf-signature') {
4344 -
4345 - if (!properties['width'] || properties['width'] === 'auto') {
4346 - properties['width'] = '200';
4347 - }
4348 -
4349 - if (!properties['height'] || properties['height'] === 'auto') {
4350 - properties['height'] = size;
4351 - }
4352 -
4353 - if (!properties['dimension']) {
4354 - if (default_properties) {
4355 - properties['dimension'] = '1';
4356 - }
4357 - }
4358 -
4359 - var element =
4360 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4361 - jQuery('<div>', {'class': 'content e2pdf-signature'}),
4362 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4363 - );
4364 8257 }
4365 -
4366 - // If element exists
4367 - if (typeof element !== "undefined") {
4368 - element.contextmenu(function (e) {
4369 - e2pdf.contextMenu(e, element);
4370 - e.preventDefault();
4371 - });
4372 - if (!element_id) {
4373 - var last_id = 0;
4374 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4375 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4376 - if (num_id > last_id) {
4377 - 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'});
4378 8268 }
4379 - });
4380 - element_id = parseInt(last_id + 1);
4381 - }
4382 - element.addClass('e2pdf-element');
4383 - element.attr('data-element_id', element_id);
4384 - if (type === 'e2pdf-select') {
4385 - if (!properties['options']) {
4386 - if (default_properties) {
4387 - properties['options'] = '';
8269 + if (selected.hasClass('e2pdf-height-auto')) {
8270 + selected.css({'height': 'auto'});
4388 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'))));
4389 8274 }
4390 - }
4391 -
4392 - if (!properties['z_index']) {
4393 - properties['z_index'] = '0';
4394 - }
4395 -
4396 - if (type === 'e2pdf-input'
4397 - || type === 'e2pdf-textarea'
4398 - || type === 'e2pdf-select'
4399 - || type === 'e2pdf-radio'
4400 - || type === 'e2pdf-checkbox'
4401 - ) {
4402 - if (!properties['border']) {
4403 - if (default_properties) {
4404 - 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);
4405 8298 }
4406 8299 }
4407 - }
4408 -
4409 - if (type === 'e2pdf-image'
4410 - || type === 'e2pdf-signature') {
4411 - if (!properties['scale']) {
4412 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4413 - }
4414 - if (!properties['horizontal']) {
4415 - properties['horizontal'] = 'left';
4416 - }
4417 - if (!properties['vertical']) {
4418 - properties['vertical'] = 'bottom';
4419 - }
4420 - }
4421 -
4422 - if (type === 'e2pdf-html'
4423 - || type === 'e2pdf-image'
4424 - || type === 'e2pdf-signature'
4425 - ) {
4426 -
4427 - if (!properties['border_top']) {
4428 - properties['border_top'] = '0';
4429 - }
4430 -
4431 - if (!properties['border_left']) {
4432 - properties['border_left'] = '0';
4433 - }
4434 -
4435 - if (!properties['border_right']) {
4436 - properties['border_right'] = '0';
4437 - }
4438 -
4439 - if (!properties['border_bottom']) {
4440 - properties['border_bottom'] = '0';
4441 - }
4442 -
4443 - if (!properties['padding_top']) {
4444 - properties['padding_top'] = '0';
4445 - }
4446 -
4447 - if (!properties['padding_left']) {
4448 - properties['padding_left'] = '0';
4449 - }
4450 -
4451 - if (!properties['padding_right']) {
4452 - properties['padding_right'] = '0';
4453 - }
4454 -
4455 - if (!properties['padding_bottom']) {
4456 - properties['padding_bottom'] = '0';
4457 - }
4458 - }
4459 -
4460 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4461 - if (!properties['length']) {
4462 - properties['length'] = '0';
4463 - }
4464 - }
4465 -
4466 - if (type !== 'e2pdf-rectangle') {
4467 - if (!properties['border_color']) {
4468 - properties['border_color'] = '';
4469 - if (default_properties) {
4470 - 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 + }
4471 8331 }
8332 + } else {
8333 + jQuery('.e2pdf-guide-h').hide();
4472 8334 }
4473 - }
4474 -
4475 - if (type !== 'e2pdf-image') {
4476 -
4477 - if (!properties['text_color']) {
4478 - properties['text_color'] = '';
4479 - }
4480 -
4481 - if (!properties['text_font']) {
4482 - properties['text_font'] = '';
4483 - }
4484 -
4485 - if (!properties['text_font_size']) {
4486 - properties['text_font_size'] = '';
4487 - }
4488 -
4489 - if (!properties['text_line_height']) {
4490 - properties['text_line_height'] = '';
4491 - }
4492 - }
4493 -
4494 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4495 - if (!properties['option']) {
4496 - if (default_properties) {
4497 - 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 + }
4498 8349 }
8350 + } else {
8351 + jQuery('.e2pdf-guide-v').hide();
4499 8352 }
4500 -
4501 - if (!properties['text_type']) {
4502 - if (default_properties) {
4503 - if (type === 'e2pdf-radio') {
4504 - properties['text_type'] = 'circle';
4505 - } else if (type === 'e2pdf-checkbox') {
4506 - properties['text_type'] = 'check';
4507 - }
4508 - }
8353 + },
8354 + start: function (ev, ui) {
8355 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8356 + return false;
4509 8357 }
4510 - }
4511 -
4512 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4513 - if (!properties['text_align']) {
4514 - if (default_properties) {
4515 - 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"});
4516 8369 }
4517 - }
4518 - }
4519 -
4520 - if (type === 'e2pdf-radio') {
4521 - if (!properties['group']) {
4522 - if (default_properties) {
4523 - properties['group'] = "group";
8370 + if (selected.hasClass('e2pdf-height-auto')) {
8371 + selected.css({"height": "auto"});
4524 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);
4525 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);
4526 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) {
4527 8398
4528 - element.data('data-type', type);
4529 - if (properties['width']) {
4530 - element.css({"width": properties['width']});
4531 - }
4532 -
4533 - if (properties['height']) {
4534 - element.css({"height": properties['height']});
4535 - }
4536 -
4537 - if (type === 'e2pdf-rectangle') {
4538 - if (!properties['background']) {
4539 - if (default_properties) {
4540 - properties['background'] = '#000000';
4541 - }
4542 8399 }
4543 8400 }
4544 -
4545 - if (properties['top'] && properties['left']) {
4546 - element.css({"top": properties['top'], "left": properties['left']});
4547 - }
4548 -
4549 - element.css({"position": "absolute"});
4550 - e2pdf.properties.apply(element, properties);
4551 - e2pdf.actions.apply(element, actions);
4552 - // If element draggable
4553 - element.draggable({
4554 - cancel: '.no-drag',
4555 - handle: ".e2pdf-drag",
4556 - containment: jQuery(page),
4557 - stop: function (ev, ui) {
4558 -
4559 - var page = jQuery(this).closest('.e2pdf-page');
4560 - for (var key in e2pdf.element.selected) {
4561 - var selected = e2pdf.element.selected[key];
4562 - if (selected.hasClass('e2pdf-width-auto')) {
4563 - 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);
4564 8431 }
4565 - if (selected.hasClass('e2pdf-height-auto')) {
4566 - 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;
4567 8435 }
4568 -
4569 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.pxToFloat(selected.css('top'))));
4570 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.pxToFloat(selected.css('left'))));
4571 - }
4572 -
4573 - jQuery('.page-options-icons').css('z-index', '');
4574 - e2pdf.event.fire('after.element.moved');
4575 - e2pdf.element.unselect();
4576 - 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));
4577 8458 },
4578 - drag: function (ev, ui) {
4579 -
4580 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4581 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4582 -
4583 - left = Math.min(left, e2pdf.static.drag.max_left);
4584 - top = Math.min(top, e2pdf.static.drag.max_top);
4585 -
4586 - ui.position = {
4587 - left: Math.max(e2pdf.static.drag.min_left, left),
4588 - top: Math.max(e2pdf.static.drag.min_top, top)
4589 - };
4590 -
4591 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4592 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4593 - for (var key in e2pdf.element.selected) {
4594 - var selected = e2pdf.element.selected[key];
4595 - if (!selected.is(jQuery(this))) {
4596 - selected.finish().animate({
4597 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4598 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4599 - }, 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();
4600 8465 }
4601 8466 }
4602 -
4603 - 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();
4604 8503 var w = parseFloat(jQuery(this).css('width'));
4605 8504 var h = parseFloat(jQuery(this).css('height'));
4606 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4607 -
4608 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4609 - jQuery.each(el_guides, function (i, elemGuide) {
4610 - if (guide.type == elemGuide.type) {
4611 - var prop = guide.type == "h" ? "top" : "left";
4612 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4613 - if (d < guides[prop].dist) {
4614 - guides[prop].dist = d;
4615 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4616 - 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;
4617 8519 }
4618 8520 }
4619 8521 });
4620 - });
4621 -
4622 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4623 -
4624 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4625 -
4626 - var snap_top = guides.top.guide.top - guides.top.offset;
4627 -
4628 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4629 - ui.position.top = snap_top;
4630 -
4631 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4632 -
4633 - for (var key in e2pdf.element.selected) {
4634 - var selected = e2pdf.element.selected[key];
4635 - if (!selected.is(jQuery(this))) {
4636 - selected.finish().animate({
4637 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4638 - }, 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;
4639 8533 }
4640 8534 }
4641 8535 }
4642 - } else {
4643 - jQuery(".e2pdf-guide-h").hide();
4644 8536 }
4645 -
4646 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4647 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4648 -
4649 - var snap_left = guides.left.guide.left - guides.left.offset;
4650 -
4651 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4652 - ui.position.left = snap_left;
4653 -
4654 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4655 -
4656 - for (var key in e2pdf.element.selected) {
4657 - var selected = e2pdf.element.selected[key];
4658 - if (!selected.is(jQuery(this))) {
4659 - selected.finish().animate({
4660 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4661 - }, 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;
4662 8551 }
4663 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 + }
4664 8567 }
4665 - } else {
4666 - jQuery(".e2pdf-guide-v").hide();
4667 8568 }
4668 -
4669 8569 },
4670 - start: function (ev, ui) {
4671 -
4672 - e2pdf.element.select(jQuery(this));
4673 -
4674 - e2pdf.static.drag.min_left = 0;
4675 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4676 - e2pdf.static.drag.min_top = 0;
4677 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4678 -
4679 - for (var key in e2pdf.element.selected) {
4680 - var selected = e2pdf.element.selected[key];
4681 -
4682 - if (selected.hasClass('e2pdf-width-auto')) {
4683 - 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();
4684 8577 }
4685 -
4686 - if (selected.hasClass('e2pdf-height-auto')) {
4687 - 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);
4688 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 + }
4689 8695
4690 - var padding_top = e2pdf.helper.pxToFloat(selected.css('padding-top'));
4691 - var padding_left = e2pdf.helper.pxToFloat(selected.css('padding-left'));
4692 - var padding_right = e2pdf.helper.pxToFloat(selected.css('padding-right'));
4693 - var padding_bottom = e2pdf.helper.pxToFloat(selected.css('padding-bottom'));
4694 - var border_top = e2pdf.helper.pxToFloat(selected.css('border-top-width'));
4695 - var border_left = e2pdf.helper.pxToFloat(selected.css('border-left-width'));
4696 - var border_right = e2pdf.helper.pxToFloat(selected.css('border-right-width'));
4697 - var border_bottom = e2pdf.helper.pxToFloat(selected.css('border-bottom-width'));
4698 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4699 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4700 - 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);
4701 - 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';
4702 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 + }
4703 8846
4704 - e2pdf.zoom.click.x = ev.clientX;
4705 - e2pdf.zoom.click.y = ev.clientY;
4706 - jQuery('.page-options-icons').css('z-index', -1);
8847 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8848 + properties['height'] = size;
8849 + }
4707 8850 }
4708 - });
4709 - // If element resizable
4710 - if (element.hasClass('e2pdf-resizable')) {
4711 - element.resizable({
4712 - aspectRatio: aspect,
4713 - minHeight: min_height,
4714 - minWidth: min_width,
4715 - start: function (ev, ui) {
4716 - var left = parseFloat(jQuery(this).css('left'));
4717 - var top = parseFloat(jQuery(this).css('top'));
4718 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4719 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4720 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4721 - 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 + }
4722 9077
4723 - var padding_top = e2pdf.helper.pxToFloat(jQuery(this).css('padding-top'));
4724 - var padding_left = e2pdf.helper.pxToFloat(jQuery(this).css('padding-left'));
4725 - var padding_right = e2pdf.helper.pxToFloat(jQuery(this).css('padding-right'));
4726 - var padding_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('padding-bottom'));
4727 - var border_top = e2pdf.helper.pxToFloat(jQuery(this).css('border-top-width'));
4728 - var border_left = e2pdf.helper.pxToFloat(jQuery(this).css('border-left-width'));
4729 - var border_right = e2pdf.helper.pxToFloat(jQuery(this).css('border-right-width'));
4730 - var border_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('border-bottom-width'));
4731 -
4732 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4733 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4734 -
4735 - e2pdf.zoom.click.x = ev.clientX;
4736 - e2pdf.zoom.click.y = ev.clientY;
4737 - },
4738 - resize: function (ev, ui) {
4739 - },
4740 - stop: function (event, ui) {
4741 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4742 - 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;
4743 9085 }
4744 9086 });
4745 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4746 - element.resizable({
4747 - handles: 'e, w, se',
4748 - minHeight: min_height,
4749 - minWidth: min_width,
4750 - resize: function (e, ui) {
4751 - jQuery(this).css('height', 'auto');
4752 - },
4753 - start: function (e, ui) {
4754 - var left = parseFloat(jQuery(this).css('left'));
4755 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4756 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4757 - },
4758 - stop: function (event, ui) {
4759 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4760 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4761 - }
4762 - }
4763 - );
9087 + element_id = parseInt(last_id + 1);
4764 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);
4765 9105 if (!onload) {
4766 9106 e2pdf.event.fire('after.element.create');
4767 9107 }
4768 9108 return element;
@@ -4769,42 +9109,14 @@
4769 9109 } else {
4770 9110 return false;
4771 9111 }
4772 9112 },
4773 - //e2pdf.element.children
9113 + // e2pdf.element.children
4774 9114 children: function (el) {
4775 -
4776 - var children = false;
4777 -
4778 - if (el.data('data-type') === 'e2pdf-html') {
4779 - children = el.find('.e2pdf-html');
4780 - } else if (el.data('data-type') === 'e2pdf-input') {
4781 - children = el.find('.e2pdf-input');
4782 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4783 - children = el.find('.e2pdf-textarea');
4784 - } else if (el.data('data-type') === 'e2pdf-select') {
4785 - children = el.find('.e2pdf-select');
4786 - } else if (el.data('data-type') === 'e2pdf-radio') {
4787 - children = el.find('.e2pdf-radio');
4788 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4789 - children = el.find('.e2pdf-checkbox');
4790 - } else if (el.data('data-type') === 'e2pdf-image') {
4791 - children = el.find('.e2pdf-image');
4792 - }
9115 + var children = el.find('.' + el.data('data-type'));
4793 9116 return children;
4794 9117 },
4795 - //e2pdf.element.copy
4796 - copy: function (el) {
4797 - e2pdf.element.init(el);
4798 - e2pdf.element.buffer(el.clone(true));
4799 - },
4800 - //e2pdf.element.cut
4801 - cut: function (el) {
4802 - e2pdf.element.init(el);
4803 - e2pdf.element.buffer(el.clone(true));
4804 - e2pdf.element.delete(el);
4805 - },
4806 - //e2pdf.element.select
9118 + // e2pdf.element.select
4807 9119 select: function (el) {
4808 9120 var selected = false;
4809 9121 for (var key in e2pdf.element.selected) {
4810 9122 if (e2pdf.element.selected[key].is(el)) {
@@ -4815,9 +9127,9 @@
4815 9127 el.addClass('e2pdf-selected');
4816 9128 e2pdf.element.selected.push(el);
4817 9129 }
4818 9130 },
4819 - //e2pdf.element.unselect
9131 + // e2pdf.element.unselect
4820 9132 unselect: function (el) {
4821 9133 if (!el) {
4822 9134 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4823 9135 e2pdf.element.selected = [];
@@ -4829,150 +9141,457 @@
4829 9141 }
4830 9142 }
4831 9143 }
4832 9144 },
4833 - //e2pdf.element.buffer
4834 - buffer: function (el) {
4835 - var buffered = false;
4836 - for (var key in e2pdf.element.buffered) {
4837 - if (e2pdf.element.buffered[key].is(el)) {
4838 - buffered = true;
4839 - }
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');
4840 9156 }
4841 - if (!buffered) {
4842 - e2pdf.element.buffered.push(el);
4843 - }
4844 9157 },
4845 - //e2pdf.element.unbuffer
4846 - unbuffer: function (el) {
4847 - if (!el) {
4848 - e2pdf.element.buffered = [];
4849 - } else {
4850 - for (var key in e2pdf.element.buffered) {
4851 - if (e2pdf.element.buffered[key].is(el)) {
4852 - 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);
4853 9177 }
9178 + } else {
9179 + el_inner.focus();
4854 9180 }
9181 + } else {
9182 + el_inner.focus();
4855 9183 }
9184 + el.addClass('e2pdf-focused');
4856 9185 },
4857 - //e2pdf.element.hide
9186 + // e2pdf.element.hide
4858 9187 hide: function (el) {
4859 9188 el.addClass('e2pdf-hide');
4860 9189 },
4861 - //e2pdf.element.show
9190 + // e2pdf.element.show
4862 9191 show: function (el) {
4863 9192 el.removeClass('e2pdf-hide');
4864 9193 },
4865 - //e2pdf.element.paste
4866 - paste: function (keep_position) {
4867 - e2pdf.element.unselect();
4868 - var min_top = 99999999;
4869 - var min_left = 9999999;
4870 - var left_correction = 0;
4871 - var top_correction = 0;
4872 - if (!keep_position) {
4873 - for (var key in e2pdf.element.buffered) {
4874 - var buffered = e2pdf.element.buffered[key];
4875 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4876 - 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();
4877 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 () {
4878 9323
4879 - for (var key in e2pdf.element.buffered) {
4880 - 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();
4881 9472 var context = jQuery('.e2pdf-context');
4882 - var properties = e2pdf.properties.get(buffered);
4883 - var width = parseFloat(properties['width']);
4884 - var height = parseFloat(properties['height']);
4885 9473 var page = context.closest('.e2pdf-page');
4886 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4887 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4888 - if ((left + width) > parseFloat(page.css('width'))) {
4889 - var correction = left - (parseFloat(page.css('width')) - width);
4890 - 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 + }
4891 9502 }
4892 9503
4893 - if ((top + height) > parseFloat(page.css('height'))) {
4894 - var correction = top - (parseFloat(page.css('height')) - height);
4895 - 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));
4896 9523 }
4897 - }
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;
4898 9538 }
4899 -
4900 - for (var key in e2pdf.element.buffered) {
4901 - var buffered = e2pdf.element.buffered[key];
4902 - var context = jQuery('.e2pdf-context');
4903 - var properties = e2pdf.properties.get(buffered);
4904 - var actions = e2pdf.actions.get(buffered);
4905 - var width = parseFloat(properties['width']);
4906 - var height = parseFloat(properties['height']);
4907 - var page = context.closest('.e2pdf-page');
4908 - var type = buffered.data('data-type');
4909 - if (!keep_position) {
4910 -
4911 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4912 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4913 - properties['top'] = top;
4914 - properties['left'] = left;
4915 - }
4916 - //changed
4917 - var el = e2pdf.element.create(type, page, properties, actions);
4918 - page.append(el);
4919 - e2pdf.properties.render(el);
4920 - e2pdf.element.select(el);
4921 - }
4922 -
4923 - e2pdf.event.fire('after.element.paste');
4924 - },
4925 - //e2pdf.element.delete
4926 - delete: function (el) {
4927 - el.remove();
4928 - e2pdf.event.fire('after.element.delete');
4929 9539 }
4930 9540 },
4931 - //e2pdf.wysiwyg
9541 + // e2pdf.wysiwyg
4932 9542 wysiwyg: {
4933 - //e2pdf.wysiwyg.apply
9543 + // e2pdf.wysiwyg.apply
4934 9544 apply: function (el) {
9545 + var history = [];
9546 + history.push(el);
9547 + e2pdf.history.set('wysiwyg', history);
9548 + var html = '';
4935 9549 var command = el.attr('data-command');
9550 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4936 9551 if (command === 'H1') {
4937 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4938 9552 if (node.is("h1") && document.getSelection().toString() === node.text()) {
4939 9553 e2pdf.wysiwyg.clear('h1');
4940 9554 } else {
4941 - var html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9555 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4942 9556 document.execCommand('insertHTML', false, html);
4943 9557 }
4944 9558 } else if (command === 'H2') {
4945 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4946 9559 if (node.is("h2") && document.getSelection().toString() === node.text()) {
4947 9560 e2pdf.wysiwyg.clear('h2');
4948 9561 } else {
4949 - var html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9562 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4950 9563 document.execCommand('insertHTML', false, html);
4951 9564 }
4952 9565 } else if (command === 'createlink') {
4953 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9566 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
4954 9567 document.execCommand(command, false, url);
4955 9568 } else if (command === 'font-size') {
4956 9569 var font_size = el.find('option:selected').html();
4957 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4958 9570 if (node.is("span") && document.getSelection().toString() === node.text()) {
4959 - var html = node.css('font-size', font_size).prop('outerHTML');
9571 + html = node.css('font-size', font_size + "px").prop('outerHTML');
4960 9572 } else {
4961 - 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');
4962 9574 }
4963 9575 document.execCommand('insertHTML', false, html);
4964 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('');
4965 9586 } else if (command === 'font') {
4966 9587 e2pdf.font.load(el);
4967 - var font = el.find('option:selected').html();
4968 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9588 + var font = CSS.escape(el.find('option:selected').html());
4969 9589 if (node.is("span") && document.getSelection().toString() === node.text()) {
4970 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9590 + html = node.css('font-family', font).prop('outerHTML');
4971 9591 } else {
4972 - 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');
4973 9593 }
4974 -
4975 9594 document.execCommand('insertHTML', false, html);
4976 9595 el.val('');
4977 9596 } else if (command === 'color') {
4978 9597 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -4981,14 +9600,14 @@
4981 9600 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
4982 9601 } else if (command === 'clear') {
4983 9602 document.execCommand("removeformat", false, "");
4984 9603 e2pdf.wysiwyg.clear();
4985 - } else {
9604 + } else if (command) {
4986 9605 document.execCommand(command, false, null);
4987 9606 }
4988 -
4989 9607 e2pdf.event.fire('after.wysiwyg.apply');
4990 9608 },
9609 + // e2pdf.wysiwyg.clear
4991 9610 clear: function (tags) {
4992 9611 if (!tags) {
4993 9612 var tags = "h1,h2";
4994 9613 }
@@ -4999,9 +9618,11 @@
4999 9618 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
5000 9619 }
5001 9620 });
5002 9621 },
9622 + // e2pdf.wysiwyg.helper
5003 9623 helper: {
9624 + // e2pdf.wysiwyg.helper.getSelectedNodes
5004 9625 getSelectedNodes: function () {
5005 9626 var nodes = [];
5006 9627 if (window.getSelection) {
5007 9628 var sel = window.getSelection();
@@ -5010,8 +9631,9 @@
5010 9631 }
5011 9632 }
5012 9633 return nodes;
5013 9634 },
9635 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
5014 9636 replaceWithOwnChildren: function (el) {
5015 9637 var parent = el.parentNode;
5016 9638 while (el.hasChildNodes()) {
5017 9639 parent.insertBefore(el.firstChild, el);
@@ -5017,8 +9639,9 @@
5017 9639 parent.insertBefore(el.firstChild, el);
5018 9640 }
5019 9641 parent.removeChild(el);
5020 9642 },
9643 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
5021 9644 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
5022 9645 var node = range.startContainer;
5023 9646 var endNode = range.endContainer;
5024 9647 var rangeNodes = [];
@@ -5044,8 +9667,9 @@
5044 9667 }
5045 9668
5046 9669 return rangeNodes;
5047 9670 },
9671 + // e2pdf.wysiwyg.helper.getSelectedNode
5048 9672 getSelectedNode: function () {
5049 9673 var node, selection;
5050 9674 if (window.getSelection) {
5051 9675 selection = getSelection();
@@ -5051,9 +9675,9 @@
5051 9675 selection = getSelection();
5052 9676 node = selection.anchorNode;
5053 9677 }
5054 9678 if (!node && document.selection) {
5055 - selection = document.selection
9679 + selection = document.selection;
5056 9680 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
5057 9681 node = range.commonAncestorContainer ? range.commonAncestorContainer :
5058 9682 range.parentElement ? range.parentElement() : range.item(0);
5059 9683 }
@@ -5060,10 +9684,10 @@
5060 9684 if (node) {
5061 9685 return (node.nodeName === "#text" ? node.parentNode : node);
5062 9686 }
5063 9687 },
9688 + // e2pdf.wysiwyg.helper.nextNode
5064 9689 nextNode: function (node) {
5065 -
5066 9690 if (node.hasChildNodes()) {
5067 9691 return node.firstChild;
5068 9692 } else {
5069 9693 while (node && !node.nextSibling) {
@@ -5073,13 +9697,13 @@
5073 9697 return null;
5074 9698 }
5075 9699 return node.nextSibling;
5076 9700 }
5077 -
5078 9701 },
9702 + // e2pdf.wysiwyg.helper.getSelectionHtml
5079 9703 getSelectionHtml: function () {
5080 9704 var html = "";
5081 - if (typeof window.getSelection != "undefined") {
9705 + if (typeof window.getSelection != 'undefined') {
5082 9706 var sel = window.getSelection();
5083 9707 if (sel.rangeCount) {
5084 9708 var container = document.createElement("div");
5085 9709 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -5086,9 +9710,9 @@
5086 9710 container.appendChild(sel.getRangeAt(i).cloneContents());
5087 9711 }
5088 9712 html = container.innerHTML;
5089 9713 }
5090 - } else if (typeof document.selection != "undefined") {
9714 + } else if (typeof document.selection != 'undefined') {
5091 9715 if (document.selection.type === "Text") {
5092 9716 html = document.selection.createRange().htmlText;
5093 9717 }
5094 9718 }
@@ -5093,8 +9717,9 @@
5093 9717 }
5094 9718 }
5095 9719 return html;
5096 9720 },
9721 + // e2pdf.wysiwyg.helper.saveSelection
5097 9722 saveSelection: function () {
5098 9723 if (window.getSelection) {
5099 9724 sel = window.getSelection();
5100 9725 if (sel.getRangeAt && sel.rangeCount) {
@@ -5104,8 +9729,9 @@
5104 9729 return document.selection.createRange();
5105 9730 }
5106 9731 return null;
5107 9732 },
9733 + // e2pdf.wysiwyg.helper.restoreSelection
5108 9734 restoreSelection: function (range) {
5109 9735 if (range) {
5110 9736 if (window.getSelection) {
5111 9737 sel = window.getSelection();
@@ -5114,48 +9740,99 @@
5114 9740 } else if (document.selection && range.select) {
5115 9741 range.select();
5116 9742 }
5117 9743 }
9744 + },
9745 + // e2pdf.wysiwyg.helper.dropSelection
9746 + dropSelection: function () {
9747 + if (window.getSelection) {
9748 + sel = window.getSelection();
9749 + sel.removeAllRanges();
9750 + }
5118 9751 }
5119 9752 }
5120 9753 },
5121 - //e2pdf.visual
9754 + // e2pdf.visual
5122 9755 visual: {
5123 - //e2pdf.visual.mapper
9756 + // e2pdf.visual.mapper
5124 9757 mapper: {
9758 + cursorPosStart: null,
9759 + cursorPosEnd: null,
9760 + cursorRange: null,
5125 9761 selected: null,
5126 - //e2pdf.visual.mapper.init
9762 + // e2pdf.visual.mapper.init
5127 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 +
5128 9787 e2pdf.visual.mapper.selected = el;
5129 9788 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5130 9789 e2pdf.dialog.create(modal);
5131 9790 },
5132 - //e2pdf.visual.mapper.markup
9791 + // e2pdf.visual.mapper.markup
5133 9792 markup: function () {
5134 9793 e2pdf.dialog.rebuild();
5135 9794 },
5136 - //e2pdf.visual.mapper.rebuild
9795 + // e2pdf.visual.mapper.rebuild
5137 9796 rebuild: function () {
5138 - if (jQuery('#e2pdf-vm-content').length > 0) {
5139 - var vc_content = jQuery('#e2pdf-vm-content');
5140 -
9797 + if (jQuery('.e2pdf-vm-content').length > 0) {
9798 + var vc_content = jQuery('.e2pdf-vm-content');
5141 9799 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5142 9800 jQuery('.e2pdf-vm-wrapper').remove();
5143 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 + }
5144 9817
5145 9818 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
5146 - 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 () {
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 () {
5147 9820 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5148 9821 });
5149 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 + }
5150 9826 }
5151 9827 },
5152 - //e2pdf.visual.mapper.clear
9828 + // e2pdf.visual.mapper.clear
5153 9829 clear: function () {
5154 9830 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5155 9831 jQuery('.e2pdf-vm-wrapper').remove();
5156 9832 }
5157 9833 },
9834 + // e2pdf.visual.mapper.load
5158 9835 load: function (el) {
5159 9836 var loaded = false;
5160 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5161 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5160,10 +9837,10 @@
5160 9837 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5161 9838 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5162 9839 var width = el.css('width');
5163 9840 var height = el.css('height');
5164 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5165 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
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;
5166 9843 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5167 9844 'width': width, 'height': height, 'top': top, 'left': left
5168 9845 });
5169 9846 var name = el.attr('name');
@@ -5168,9 +9845,9 @@
5168 9845 });
5169 9846 var name = el.attr('name');
5170 9847 var type = el.attr('type');
5171 9848 var value = el.attr('value');
5172 - if (el.is("select")) {
9849 + if (el.is('select')) {
5173 9850 type = 'select';
5174 9851 value = '';
5175 9852 el.find('option').each(function () {
5176 9853 value += jQuery(this).attr('value');
@@ -5186,137 +9863,311 @@
5186 9863 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5187 9864 }
5188 9865 return loaded;
5189 9866 },
9867 + // e2pdf.visual.mapper.apply
5190 9868 apply: function (el) {
5191 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);
5192 9873 var name = el.data('name');
9874 + var group = el.data('name');
5193 9875 var value = el.data('value');
5194 - var type = el.data('type');
5195 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5196 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5197 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5198 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5199 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5200 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5201 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5202 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5203 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5204 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5205 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5206 - 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);
5207 9892 } else {
5208 - 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 + }
5209 9897 }
5210 -
5211 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5212 - 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 + }
5213 9927 }
5214 - e2pdf.dialog.close();
9928 + if (e2pdf.static.vm.close) {
9929 + e2pdf.dialog.close();
9930 + }
5215 9931 }
5216 9932 }
5217 9933 },
5218 9934 zoom: {
5219 - zoom: 1,
9935 + scale: 1,
5220 9936 click: {
5221 9937 x: 0,
5222 9938 y: 0
5223 9939 },
5224 9940 apply: function (el) {
5225 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5226 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5227 - });
5228 - if (el.val() !== '100') {
5229 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5230 - }
5231 -
5232 - e2pdf.zoom.zoom = el.val() / 100;
5233 - 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);
5234 9949 }
5235 9950 }
5236 9951 };
5237 -
5238 -
5239 -
5240 9952 jQuery(window).resize(function () {
5241 9953 e2pdf.visual.mapper.clear();
5242 - if (this.e2pdfResizeTO)
9954 + if (e2pdf.static.observer !== null) {
9955 + e2pdf.static.observer.disconnect();
9956 + e2pdf.static.observer = null;
9957 + }
9958 + if (this.e2pdfResizeTO) {
5243 9959 clearTimeout(this.e2pdfResizeTO);
9960 + }
5244 9961 this.e2pdfResizeTO = setTimeout(function () {
5245 9962 jQuery(this).trigger('e2pdfResizeEnd');
5246 9963 }, 500);
5247 9964 });
5248 -
9965 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9966 + jQuery(this).parent().addClass('e2pdf-hide');
9967 + jQuery(this).trigger('e2pdfResizeEnd');
9968 +});
5249 9969 jQuery(window).bind('e2pdfResizeEnd', function () {
5250 9970 e2pdf.dialog.rebuild();
5251 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) {
5252 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 +});
5253 10032 jQuery(document).ready(function () {
5254 -
5255 - 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) {
5256 10038 e.stopPropagation();
5257 10039 e.preventDefault();
5258 10040 e.stopImmediatePropagation();
5259 10041 return false;
5260 10042 });
5261 -
5262 - 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) {
5263 10069 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5264 - 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 + }
5265 10078 e2pdf.actions.add(element, actions);
5266 - jQuery(this).trigger('e2pdfResizeEnd');
5267 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 + }
5268 10090
5269 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5270 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5271 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5272 10091 e2pdf.actions.conditions.add(element, action_conditions);
5273 - jQuery(this).trigger('e2pdfResizeEnd');
5274 10092 });
5275 -
5276 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5277 - 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?'))) {
5278 10095 return false;
5279 10096 }
5280 10097 var action = jQuery(this).closest('.e2pdf-action');
5281 10098 e2pdf.actions.delete(action);
5282 10099 });
5283 -
5284 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10100 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5285 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');
5286 10106 if (action.find('.e2pdf-condition').length === 1) {
5287 - alert(e2pdfLang["Last condition can't be removed"]);
10107 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5288 10108 return false;
5289 10109 }
5290 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10110 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5291 10111 return false;
5292 10112 }
5293 10113 var condition = jQuery(this).closest('.e2pdf-condition');
5294 10114 e2pdf.actions.conditions.delete(condition);
5295 10115 });
5296 -
5297 - 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) {
5298 10133 e2pdf.zoom.apply(jQuery(this));
5299 10134 });
5300 -
5301 - jQuery('#e2pdf-extension').live('change', function () {
10135 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5302 10136 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5303 10137 });
5304 -
5305 - 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) {
5306 10159 var action = jQuery(this).closest('.e2pdf-action');
5307 - e2pdf.actions.change(action);
10160 + e2pdf.actions.change(action, jQuery(this));
5308 10161 });
5309 -
5310 - jQuery('.e2pdf-tabs a').live('click', function () {
5311 - 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();
5312 10164 var tab = jQuery(this);
5313 10165 tab.closest('ul').find('li').removeClass('active');
5314 10166 tab.parent('li').addClass('active');
5315 10167 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5316 10168 });
5317 -
5318 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10169 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5319 10170 var parent = jQuery(this).closest('.e2pdf-closed');
5320 10171 if (parent.hasClass('e2pdf-opened')) {
5321 10172 parent.removeClass('e2pdf-opened');
5322 10173 } else {
@@ -5325,197 +10176,358 @@
5325 10176 });
5326 10177 parent.addClass('e2pdf-opened');
5327 10178 }
5328 10179 });
5329 -
5330 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10180 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5331 10181 e.preventDefault();
5332 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 + }
5333 10193 e2pdf.request.submitForm(el);
5334 10194 });
5335 -
5336 - jQuery('.e2pdf-submit-local').live('click', function () {
10195 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5337 10196 var el = jQuery(this);
5338 - e2pdf.request.submitLocal(el);
10197 + if (el.hasClass('e2pdf-noclose')) {
10198 + e2pdf.request.submitLocal(el, true);
10199 + } else {
10200 + e2pdf.request.submitLocal(el);
10201 + }
5339 10202 });
5340 -
5341 - jQuery('.e2pdf-delete').live('click', function () {
5342 - 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?');
5343 10205 if (!confirm(message)) {
5344 10206 e2pdf.delete('.e2pdf-context');
5345 10207 return false;
5346 10208 }
10209 + var history = [];
5347 10210 for (var key in e2pdf.element.selected) {
5348 10211 var selected = e2pdf.element.selected[key];
10212 + e2pdf.element.init(selected);
10213 + history.push(selected.clone(true));
5349 10214 e2pdf.element.delete(selected);
5350 10215 }
5351 -
10216 + e2pdf.history.set('element_delete', history);
5352 10217 e2pdf.element.unselect();
5353 10218 });
5354 -
5355 - jQuery('.e2pdf-copy').live('click', function () {
5356 - e2pdf.element.unbuffer();
5357 -
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 + }
5358 10224 for (var key in e2pdf.element.selected) {
5359 10225 var selected = e2pdf.element.selected[key];
5360 - e2pdf.element.copy(selected);
10226 + e2pdf.copy(type, selected);
5361 10227 }
5362 10228 });
5363 -
5364 - 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 = [];
5365 10245 for (var key in e2pdf.element.selected) {
5366 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];
5367 10305 e2pdf.element.hide(selected);
5368 10306 }
5369 10307 });
5370 -
5371 - jQuery('.e2pdf-unhidden').live('click', function () {
10308 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5372 10309 for (var key in e2pdf.element.selected) {
5373 10310 var selected = e2pdf.element.selected[key];
5374 10311 e2pdf.element.show(selected);
5375 10312 }
5376 10313 });
5377 -
5378 - jQuery('.e2pdf-cut').live('click', function () {
5379 - e2pdf.element.unbuffer();
10314 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5380 10315 for (var key in e2pdf.element.selected) {
5381 10316 var selected = e2pdf.element.selected[key];
5382 - e2pdf.element.cut(selected);
10317 + e2pdf.properties.set(selected, 'locked', '1');
10318 + selected.addClass('e2pdf-locked');
5383 10319 }
5384 10320 });
5385 -
5386 - jQuery('.e2pdf-paste').live('click', function () {
5387 - 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 + }
5388 10327 });
5389 -
5390 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5391 - e2pdf.element.paste(true);
10328 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10329 + return false;
5392 10330 });
5393 -
5394 - jQuery('.e2pdf-checkbox').live('click', function () {
10331 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5395 10332 return false;
5396 10333 });
5397 -
5398 - jQuery('.e2pdf-radio').live('click', function () {
5399 - 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 + }
5400 10342 });
5401 -
5402 - jQuery('.e2pdf-hide-controls').live('click', function () {
5403 -
10343 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5404 10344 if (jQuery(this).hasClass('e2pdf-inactive')) {
5405 - jQuery('html').removeClass('e2pdf-hide-markup');
10345 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5406 10346 jQuery(this).removeClass('e2pdf-inactive');
5407 10347 } else {
5408 - jQuery('html').addClass('e2pdf-hide-markup');
10348 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5409 10349 jQuery(this).addClass('e2pdf-inactive');
5410 10350 }
5411 10351 });
5412 -
5413 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10352 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5414 10353 if (jQuery(this).hasClass('e2pdf-inactive')) {
5415 - jQuery('html').addClass('e2pdf-show-all-elements');
5416 10354 jQuery(this).removeClass('e2pdf-inactive');
5417 10355 } else {
5418 - jQuery('html').removeClass('e2pdf-show-all-elements');
5419 10356 jQuery(this).addClass('e2pdf-inactive');
5420 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 + });
5421 10368 });
5422 -
5423 - jQuery('.e2pdf-add-page').live('click', function () {
10369 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5424 10370 if (e2pdf.pdf.settings.get('pdf')) {
5425 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5426 - } else if (e2pdfParams['license_type'] == 'FREE') {
5427 - 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'));
5428 10374 } else {
5429 10375 e2pdf.pages.createPage();
5430 10376 }
5431 10377 });
5432 -
5433 - 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 + }
5434 10389 e2pdf.createPdf(jQuery(this));
5435 10390 });
5436 -
5437 - jQuery('.e2pdf-up-page').live('click', function () {
10391 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5438 10392 e2pdf.pages.movePage(jQuery(this), 'up');
5439 10393 });
5440 -
5441 - jQuery('.e2pdf-down-page').live('click', function () {
10394 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5442 10395 e2pdf.pages.movePage(jQuery(this), 'down');
5443 10396 });
5444 -
5445 - jQuery('.e2pdf-delete-page').live('click', function () {
10397 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5446 10398 if (e2pdf.pdf.settings.get('pdf')) {
5447 - 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?'))) {
5448 10400 return false;
5449 10401 }
5450 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10402 + var history = [];
10403 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5451 10404 var el = jQuery(this);
10405 + history.push(el.closest('.e2pdf-page').clone(true));
5452 10406 e2pdf.pages.deletePage(el);
5453 10407 });
10408 + history.reverse();
10409 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5454 10410 } else {
5455 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10411 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5456 10412 return false;
5457 10413 }
5458 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);
5459 10418 e2pdf.pages.deletePage(el);
5460 10419 }
5461 10420 });
5462 -
5463 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5464 - 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?'))) {
5465 10423 return false;
5466 10424 }
5467 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10425 + var history = [];
10426 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5468 10427 var el = jQuery(this);
10428 + history.push(el.closest('.e2pdf-page').clone(true));
5469 10429 e2pdf.pages.deletePage(el);
5470 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 + }
5471 10437 });
5472 -
5473 - jQuery('.e2pdf-delete-font').live('click', function () {
5474 - 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?'))) {
5475 10440 return false;
5476 10441 }
5477 10442 var el = jQuery(jQuery(this));
5478 10443 e2pdf.font.delete(el);
5479 10444 });
5480 -
5481 - jQuery('.e2pdf-modal').live('click', function () {
10445 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5482 10446 e2pdf.dialog.create(jQuery(this));
5483 10447 });
5484 -
5485 - jQuery('body').live('click', function (e) {
10448 + jQuery(document).on('click', 'body', function (e) {
5486 10449 e2pdf.delete('.e2pdf-context');
5487 10450 });
5488 -
5489 - jQuery('#e2pdf-font').live('change', function () {
5490 - e2pdf.font.load(jQuery(this));
5491 - 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));
5492 10453 });
5493 -
5494 - jQuery('#e2pdf-export-template').live('change', function () {
5495 - 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 + }
5496 10464 });
5497 -
5498 - jQuery('#e2pdf-export-dataset').live('change', function () {
10465 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5499 10466 var data = {};
5500 - data['template'] = jQuery('#e2pdf-export-template').val();
5501 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5502 - 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);
5503 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 + }
5504 10484
5505 - jQuery('#e2pdf-font-size').live('change', function () {
5506 - 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 + }
5507 10494 });
5508 -
5509 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5510 - 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 ||
5511 10522 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5512 10523 (e.shiftKey === true && e.keyCode === 187) ||
5513 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10524 + (e.keyCode >= 35 && e.keyCode <= 40)
10525 + ) {
5514 10526
5515 - 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')) {
5516 10528 e.preventDefault();
5517 - } 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')) {
5518 10530 e.preventDefault();
5519 10531 } else {
5520 10532 return;
5521 10533 }
@@ -5523,10 +10535,19 @@
5523 10535 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5524 10536 e.preventDefault();
5525 10537 }
5526 10538 });
5527 -
5528 - 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) {
5529 10550 var value = jQuery(this).val().trim();
5530 10551 var prefix = '';
5531 10552 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5532 10553 prefix = '+';
@@ -5536,18 +10557,22 @@
5536 10557 value = 0;
5537 10558 }
5538 10559 jQuery(this).val(prefix + value);
5539 10560 });
5540 -
5541 - jQuery('#e2pdf-font-color').live('change', function () {
5542 - 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'));
5543 10563 });
5544 -
5545 - jQuery('#e2pdf-line-height').live('change', function () {
5546 - 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 + }
5547 10570 });
5548 -
5549 - 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) {
5550 10575 e.preventDefault();
5551 10576 for (var key in e2pdf.element.selected) {
5552 10577 var selected = e2pdf.element.selected[key];
5553 10578 e2pdf.mediaUploader.init(selected);
@@ -5552,25 +10577,43 @@
5552 10577 var selected = e2pdf.element.selected[key];
5553 10578 e2pdf.mediaUploader.init(selected);
5554 10579 }
5555 10580 });
5556 -
5557 - jQuery('.e2pdf-visual').live('click', function (e) {
10581 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5558 10582 for (var key in e2pdf.element.selected) {
5559 10583 var selected = e2pdf.element.selected[key];
5560 10584 e2pdf.visual.mapper.init(selected);
5561 10585 }
5562 10586 });
5563 -
5564 - 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 + }
5565 10606 e2pdf.wysiwyg.apply(jQuery(this));
5566 10607 });
5567 -
5568 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5569 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10608 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5570 10609 e.preventDefault();
5571 10610 e.stopPropagation();
5572 10611 e.stopImmediatePropagation();
10612 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10613 + return;
10614 + }
10615 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5573 10616 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5574 10617 if (!color_panel.hasClass('wp-picker-active')) {
5575 10618 color_panel.find('.wp-color-result').click();
5576 10619 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5581,87 +10624,210 @@
5581 10624 color_panel.append(close);
5582 10625 }
5583 10626 }
5584 10627 });
5585 -
5586 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5587 - 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 + }
5588 10686 });
5589 -
5590 - jQuery('#e2pdf-wysiwyg-fontsize').live('change', function () {
10687 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5591 10688 e2pdf.wysiwyg.apply(jQuery(this));
5592 10689 });
5593 -
5594 - jQuery('#e2pdf-wysiwyg-font').live('change', function () {
5595 - 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'));
5596 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 + }
5597 10698
5598 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5599 - 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 + );
5600 10718 });
5601 -
5602 - jQuery('#e2pdf-w-reupload').live('click', function () {
5603 - var message = "";
10719 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
5604 10720 if (e2pdf.static.unsaved) {
5605 - 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 + }
5606 10726 }
5607 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5608 - 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?'))) {
5609 10739 return false;
5610 10740 }
5611 - jQuery('#e2pdf-reupload-pdf').click();
10741 + jQuery('html').addClass('e2pdf-loading');
10742 + var data = {};
10743 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
5612 10744 });
5613 -
5614 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5615 - 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);
5616 10752 });
5617 -
5618 - jQuery('.e2pdf-scale-field').live('change', function () {
5619 - var value = jQuery(this).val();
5620 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5621 - fields.find('input[name="height"]').attr('readonly', false);
5622 - fields.find('input[name="width"]').attr('readonly', false);
5623 - var image = new Image();
5624 - image.src = fields.find('*[name="value"]').val();
5625 - image.onload = function ()
5626 - {
5627 - if (value === e2pdf.static.const.WIDTH) {
5628 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5629 - } else if (value === e2pdf.static.const.HEIGHT) {
5630 - fields.find('input[name="width"]').attr('readonly', 'readonly');
5631 - }
5632 - };
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();
5633 10757 });
5634 -
5635 - 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) {
5636 10766 jQuery(this).autocomplete("search", "");
5637 10767 });
5638 -
5639 - 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) {
5640 10776 e2pdf.event.fire('after.settings.style.change');
5641 10777 });
5642 -
5643 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10778 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5644 10779 e2pdf.event.fire('after.settings.template.change');
5645 10780 });
5646 -
5647 - 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) {
5648 10810 if (jQuery(this).val() !== '') {
5649 10811 var form = jQuery(this).closest('form');
5650 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10812 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5651 10813 form.find('input[name="width"]').val(size.width);
5652 10814 form.find('input[name="height"]').val(size.height);
5653 10815 }
5654 10816 });
5655 -
5656 - jQuery('.e2pdf-vm-element').live('click', function () {
10817 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5657 10818 e2pdf.visual.mapper.apply(jQuery(this));
5658 10819 });
5659 -
5660 - jQuery('.e2pdf-drag').live('click', function (e) {
10820 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10821 + e2pdf.element.unselect();
10822 + e2pdf.element.unfocus();
5661 10823 var el = jQuery(this).closest('.e2pdf-element');
5662 -
5663 - 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) {
5664 10830 if (el.hasClass('e2pdf-selected')) {
5665 10831 e2pdf.element.unselect(el);
5666 10832 } else {
5667 10833 e2pdf.element.select(el);
@@ -5683,23 +10849,21 @@
5683 10849 }
5684 10850 }
5685 10851 }
5686 10852 });
5687 -
5688 - jQuery('.e2pdf-activate-template').live('click', function () {
10853 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5689 10854 var data = {};
5690 10855 data['id'] = jQuery(this).attr('data-id');
5691 10856 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5692 10857 });
5693 -
5694 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10858 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5695 10859 var data = {};
5696 10860 data['id'] = jQuery(this).attr('data-id');
5697 10861 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5698 10862 });
5699 -
5700 - jQuery('.e2pdf-delete-item').live('click', function () {
5701 - 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?'))) {
5702 10866 return false;
5703 10867 }
5704 10868 var data = {};
5705 10869 data['template'] = jQuery(this).attr('template');
@@ -5705,11 +10869,11 @@
5705 10869 data['template'] = jQuery(this).attr('template');
5706 10870 data['dataset'] = jQuery(this).attr('dataset');
5707 10871 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5708 10872 });
5709 -
5710 - jQuery('.e2pdf-delete-items').live('click', function () {
5711 - 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?'))) {
5712 10876 return false;
5713 10877 }
5714 10878 var data = {};
5715 10879 data['template'] = jQuery(this).attr('template');
@@ -5714,17 +10878,103 @@
5714 10878 var data = {};
5715 10879 data['template'] = jQuery(this).attr('template');
5716 10880 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5717 10881 });
5718 -
5719 - 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) {
5720 10907 jQuery(this).select();
5721 10908 });
5722 -
5723 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10909 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5724 10910 jQuery(this).autocomplete("search", '');
5725 10911 });
5726 -
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 + });
5727 10977 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5728 10978 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5729 10979 }
5730 10980
@@ -5747,8 +10997,16 @@
5747 10997 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5748 10998 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5749 10999 }
5750 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 +
5751 11009 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5752 11010 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5753 11011 }
5754 11012
@@ -5755,23 +11013,25 @@
5755 11013 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
5756 11014 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
5757 11015 }
5758 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 +
5759 11025 jQuery('#e2pdf-zoom').trigger('change');
5760 -
5761 11026 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5762 - if (e2pdf.url.get('template_id')) {
11027 + if (e2pdf.url.get('id')) {
11028 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5763 11029 e2pdf.static.autoloadExport = true;
5764 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5765 - jQuery('#e2pdf-export-template').val('0').change();
5766 - } else {
5767 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5768 - }
5769 11030 }
5770 11031 }
5771 11032
5772 11033 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5773 -
5774 11034 jQuery('.e2pdf-color-picker-load').each(function () {
5775 11035 jQuery(this).wpColorPicker(
5776 11036 {
5777 11037 defaultColor: function () {
@@ -5787,9 +11047,8 @@
5787 11047 }
5788 11048 }
5789 11049 ).removeClass('e2pdf-color-picker-load');
5790 11050 });
5791 -
5792 11051 jQuery(window).bind("beforeunload", function (e) {
5793 11052 if (e2pdf.static.unsaved) {
5794 11053 var confirmationMessage = "\o/";
5795 11054 (e || window.event).returnValue = confirmationMessage;
@@ -5795,17 +11054,9 @@
5795 11054 (e || window.event).returnValue = confirmationMessage;
5796 11055 return confirmationMessage;
5797 11056 }
5798 11057 });
5799 -
5800 - jQuery(document).bind("mousedown", function (e) {
5801 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5802 - e2pdf.delete('.e2pdf-fade');
5803 - e2pdf.delete('.e2pdf-properties-window');
5804 - }
5805 - });
5806 -
5807 - if (jQuery('#e2pdf_build_form').length > 0) {
11058 + if (jQuery('#e2pdf-build-form').length > 0) {
5808 11059 postboxes.add_postbox_toggles(pagenow);
5809 11060 }
5810 11061
5811 11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
@@ -5810,16 +11061,14 @@
5810 11061
5811 11062 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5812 11063 && typeof (jQuery.ui.droppable) != 'undefined'
5813 11064 && jQuery('.e2pdf-tpl').length > 0) {
5814 -
5815 - // jQuery UI scale bug fix
11065 +// jQuery UI scale bug fix
5816 11066 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5817 11067 var i, j,
5818 11068 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5819 11069 type = event ? event.type : null,
5820 11070 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5821 -
5822 11071 droppablesLoop: for (i = 0; i < m.length; i++) {
5823 11072 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5824 11073 continue;
5825 11074 }
@@ -5836,51 +11085,49 @@
5836 11085 if (type === "mousedown") {
5837 11086 m[ i ]._activate.call(m[ i ], event);
5838 11087 }
5839 11088 m[ i ].offset = m[ i ].element.offset();
5840 - 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});
5841 11090 }
5842 - }
5843 -
5844 - 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 () {
5845 11100 var element = jQuery(this);
5846 11101 var type = element.attr('data-type');
5847 11102 var page = element.closest('.e2pdf-page');
5848 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5849 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5850 -
11103 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11104 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5851 11105 properties['width'] = element.attr('data-width');
5852 11106 properties['height'] = element.attr('data-height');
5853 11107 properties['top'] = element.attr('data-top');
5854 11108 properties['left'] = element.attr('data-left');
5855 - if (type == 'e2pdf-html') {
5856 - properties['value'] = element.find('.e2pdf-data-value').html();
5857 - } else {
5858 - properties['value'] = element.find('.e2pdf-data-value').text();
5859 - }
5860 - //changed
11109 + properties['value'] = element.find('.e2pdf-data-value').val();
11110 + properties['name'] = element.find('.e2pdf-data-name').val();
5861 11111 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5862 11112 jQuery(this).replaceWith(el);
5863 11113 e2pdf.properties.render(el);
5864 11114 });
5865 -
5866 - jQuery(".e2pdf-load-page").each(function () {
11115 + jQuery('.e2pdf-load-page').each(function () {
5867 11116 var page = jQuery(this);
5868 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
5869 - 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());
5870 11119 page.find('.e2pdf-data-properties').remove();
5871 11120 page.find('.e2pdf-data-actions').remove();
5872 11121 page.removeClass('e2pdf-load-page');
5873 - e2pdf.pages.createPage(page, properties, actions);
5874 -
11122 + e2pdf.pages.createPage(page, properties, actions, true);
5875 11123 });
5876 -
5877 - jQuery(".e2pdf-be").draggable({
11124 + jQuery('.e2pdf-be').draggable({
11125 + cursorAt: {left: 0, top: 0},
5878 11126 helper: function () {
5879 11127 var element = jQuery(this).clone();
5880 11128 var type = element.attr('data-type');
5881 - var page = element.closest('.e2pdf-page')
5882 - //changed
11129 + var page = element.closest('.e2pdf-page');
5883 11130 var el = e2pdf.element.create(type, page, false, false, true);
5884 11131 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
5885 11132 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
5886 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -5886,35 +11133,40 @@
5886 11133 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
5887 11134 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
5888 11135 e2pdf.properties.render(el);
5889 11136 el.css('z-index', 1);
5890 - if (e2pdf.zoom.zoom != 1) {
5891 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
5892 - 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 + });
5893 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 + });
5894 11152 return el;
5895 11153 },
5896 11154 start: function (ev, ui) {
5897 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
5898 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
5899 11155 e2pdf.element.unselect();
5900 11156 },
5901 11157 stop: function (ev, ui) {
5902 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
5903 -
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();
5904 11161 },
5905 11162 drag: function (ev, ui) {
5906 -
5907 11163 if (e2pdf.static.drag.page !== null) {
5908 -
5909 11164 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
5910 -
5911 11165 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
5912 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
5913 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
5914 -
11166 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11167 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
5915 11168 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
5916 -
5917 11169 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
5918 11170 jQuery.each(el_guides, function (i, elemGuide) {
5919 11171 if (guide.type == elemGuide.type) {
5920 11172 var prop = guide.type == "h" ? "top" : "left";
@@ -5926,23 +11178,21 @@
5926 11178 }
5927 11179 }
5928 11180 });
5929 11181 });
5930 -
5931 11182 if (guides.top.dist <= e2pdf.static.guide.distance) {
5932 - 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();
5933 11184 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
5934 11185 ui.position.top = snap_top;
5935 11186 } else {
5936 - jQuery(".e2pdf-guide-h").hide();
11187 + jQuery('.e2pdf-guide-h').hide();
5937 11188 }
5938 -
5939 11189 if (guides.left.dist <= e2pdf.static.guide.distance) {
5940 - 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();
5941 - 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;
5942 11192 ui.position.left = snap_left;
5943 11193 } else {
5944 - jQuery(".e2pdf-guide-v").hide();
11194 + jQuery('.e2pdf-guide-v').hide();
5945 11195 }
5946 11196 }
5947 11197 }
5948 11198 });
@@ -5948,141 +11198,155 @@
5948 11198 });
5949 11199 e2pdf.welcomeScreen();
5950 11200 }
5951 11201 e2pdf.font.load(jQuery('#e2pdf-font'));
5952 -
5953 11202 jQuery('.e2pdf-load-font').each(function () {
5954 11203 e2pdf.font.load(jQuery(this));
5955 11204 jQuery(this).remove();
5956 11205 });
5957 -
5958 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
5959 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
5960 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
5961 - 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'));
5962 11210 }
5963 11211
5964 11212 jQuery(document).keydown(function (e) {
5965 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
5966 - e.preventDefault();
5967 - switch (e.which) {
5968 - case 37:
5969 - //left
5970 - var diff = 1;
5971 -
5972 - for (var key in e2pdf.element.selected) {
5973 - var selected = e2pdf.element.selected[key];
5974 - if (parseFloat(selected.css('left')) > 0) {
5975 - if (parseFloat(selected.css('left')) - 1 < 0) {
5976 - 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);
5977 11231 }
5978 - } else {
5979 - diff = Math.min(diff, 0);
5980 11232 }
5981 - }
5982 11233
5983 - for (var key in e2pdf.element.selected) {
5984 - var selected = e2pdf.element.selected[key];
5985 - selected.finish().animate({
5986 - left: "-=" + diff
5987 - }, 0);
5988 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
5989 - }
5990 - break;
5991 - case 38:
5992 - //top
5993 - var diff = 1;
5994 -
5995 - for (var key in e2pdf.element.selected) {
5996 - var selected = e2pdf.element.selected[key];
5997 - if (parseFloat(selected.css('top')) > 0) {
5998 - if (parseFloat(selected.css('top')) - 1 < 0) {
5999 - 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);
6000 11253 }
6001 - } else {
6002 - diff = Math.min(diff, 0);
6003 11254 }
6004 - }
6005 11255
6006 - for (var key in e2pdf.element.selected) {
6007 - var selected = e2pdf.element.selected[key];
6008 - selected.finish().animate({
6009 - top: "-=" + diff
6010 - }, 0);
6011 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6012 - }
6013 - break;
6014 - case 39:
6015 - //right
6016 - var diff = 1;
6017 -
6018 - for (var key in e2pdf.element.selected) {
6019 - var selected = e2pdf.element.selected[key];
6020 - if (parseFloat(selected.css('right')) > 0) {
6021 - if (parseFloat(selected.css('right')) - 1 < 0) {
6022 - 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);
6023 11275 }
6024 - } else {
6025 - diff = Math.min(diff, 0);
6026 11276 }
6027 - }
6028 11277
6029 - for (var key in e2pdf.element.selected) {
6030 - var selected = e2pdf.element.selected[key];
6031 - selected.finish().animate({
6032 - left: "+=" + diff
6033 - }, 0);
6034 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6035 - }
6036 - break;
6037 - case 40:
6038 - //down
6039 - var diff = 1;
6040 -
6041 - for (var key in e2pdf.element.selected) {
6042 - var selected = e2pdf.element.selected[key];
6043 - if (parseFloat(selected.css('bottom')) > 0) {
6044 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
6045 - 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);
6046 11297 }
6047 - } else {
6048 - diff = Math.min(diff, 0);
6049 11298 }
6050 - }
6051 11299
6052 - for (var key in e2pdf.element.selected) {
6053 - var selected = e2pdf.element.selected[key];
6054 - selected.finish().animate({
6055 - top: "+=" + diff
6056 - }, 0);
6057 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6058 - }
6059 - break;
6060 - case 46:
6061 - //delete
6062 - 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?'];
6063 - if (!confirm(message)) {
6064 - e2pdf.delete('.e2pdf-context');
6065 - return false;
6066 - }
6067 -
6068 - for (var key in e2pdf.element.selected) {
6069 - var selected = e2pdf.element.selected[key];
6070 - e2pdf.element.delete(selected);
6071 - }
6072 -
6073 - e2pdf.element.unselect();
6074 - 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 + }
6075 11326 }
6076 11327 }
6077 11328 });
6078 -
6079 - 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) {
6080 11339 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
6081 11340 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
6082 - jQuery(e.target).closest('.e2pdf-element').length == 0
6083 - ) {
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) {
6084 11347 e2pdf.element.unselect();
11348 + e2pdf.element.unfocus();
6085 11349 }
6086 11350 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
6087 11351 jQuery('.e2pdf-closed').each(function () {
6088 11352 jQuery(this).removeClass('e2pdf-opened');
@@ -6087,9 +11351,20 @@
6087 11351 jQuery('.e2pdf-closed').each(function () {
6088 11352 jQuery(this).removeClass('e2pdf-opened');
6089 11353 });
6090 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 + }
6091 11363 });
6092 -
6093 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11364 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
6094 11365 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11366 + if (jQuery('.e2pdf-bulks-list').length > 0)
11367 + {
11368 + e2pdf.bulk.progress();
11369 + }
6095 11370 });