PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.55
E2Pdf – Export Pdf Tool for WordPress v1.32.55
1.32.55 1.32.56 1.32.53 1.32.51 1.32.49 1.32.48 1.32.43 1.32.40 1.32.34 1.32.32 1.32.31 1.32.26 1.32.22 1.32.23 1.32.18 1.32.17 1.32.15 trunk 1.00.00 1.00.13 1.01.01 1.02.02 1.03.07 1.04.07 1.05.03 All 76 releases
← All changes | js/e2pdf.backend.js +8231 -3156 1.05.03 → 1.32.55 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,220 @@
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 extension = e2pdf.pdf.settings.get('extension');
461 + var hooks = {};
462 + switch (extension) {
463 + case 'woocommerce':
464 + if (e2pdf.pdf.settings.get('item')) {
465 + hooks = e2pdf_params['extension_hooks'][extension + '_' + e2pdf.pdf.settings.get('item')] || {};
466 + }
467 + break;
468 + case 'wordpress':
469 + if (e2pdf.pdf.settings.get('item') == '-3') {
470 + hooks = e2pdf_params['extension_hooks'][extension + '_' + e2pdf.pdf.settings.get('item')] || {};
471 + } else {
472 + hooks = e2pdf_params['extension_hooks'][extension] || {};
473 + }
474 + break;
475 + default:
476 + hooks = e2pdf_params['extension_hooks'][extension] || {};
477 + break;
478 + }
479 + return hooks;
480 + },
481 + getChecked: function () {
482 + var hooks = [];
483 + if (e2pdf.pdf.settings.get('hooks')) {
484 + hooks = e2pdf.pdf.settings.get('hooks').split(',');
485 + }
486 + return hooks;
487 + }
488 + },
489 + // e2pdf.lang
490 + lang: {
491 + // e2pdf.lang.get
492 + get: function (key) {
493 + if (typeof e2pdf_lang[key] === 'undefined') {
494 + return key;
495 + } else {
496 + return e2pdf_lang[key];
497 + }
498 + }
499 + },
500 + // e2pdf.url
94 501 url: {
95 - //e2pdf.url.change
502 + // e2pdf.url.change
96 503 change: function (page, path) {
97 504 if (window.history && window.history.pushState) {
98 505 var url = window.location.pathname;
99 -
100 506 if (page) {
101 507 url += '?page=' + page;
102 508 }
103 509
@@ -106,12 +512,11 @@
106 512 }
107 513 history.pushState({urlPath: url}, "", url);
108 514 }
109 515 },
110 - //e2pdf.url.build
111 - build: function (page, path, nonce) {
516 + // e2pdf.url.build
517 + build: function (page, path, _wpnonce) {
112 518 var url = window.location.pathname;
113 -
114 519 if (page) {
115 520 url += '?page=' + page;
116 521 }
117 522 if (path) {
@@ -116,25 +521,26 @@
116 521 }
117 522 if (path) {
118 523 url += '&' + path;
119 524 }
120 -
121 - if (nonce) {
122 - url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']
525 + if (_wpnonce) {
526 + url += '&_wpnonce=' + _wpnonce;
123 527 }
124 -
125 528 return url;
126 529 },
127 - //e2pdf.url.get
530 + // e2pdf.url.get
128 531 get: function (name, url) {
129 - if (!url)
532 + if (!url) {
130 533 url = window.location.href;
534 + }
535 + if (!name) {
536 + return url;
537 + }
131 538 name = name.replace(/[\[\]]/g, "\\$&");
132 539 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
133 540 if (!results) {
134 541 return null;
135 542 }
136 -
137 543 if (!results[2]) {
138 544 return '';
139 545 }
140 546 return decodeURIComponent(results[2].replace(/\+/g, " "));
@@ -139,38 +545,22 @@
139 545 }
140 546 return decodeURIComponent(results[2].replace(/\+/g, " "));
141 547 },
142 548 pluginsUrl: function () {
143 - return e2pdfParams['plugins_url'];
549 + return e2pdf_params['plugins_url'];
144 550 },
145 551 uploadUrl: function () {
146 - return e2pdfParams['upload_url'];
552 + return e2pdf_params['upload_url'];
147 553 }
148 554 },
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
555 + // e2pdf.guide
165 556 guide: {
166 - //e2pdf.guide.calc
557 + // e2pdf.guide.calc
167 558 calc: function (el, pos, w, h, g) {
168 -
169 559 if (el != null) {
170 560 if (g) {
171 - w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
172 - h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.zoom;
561 + w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.scale;
562 + h = parseFloat(jQuery(el).css('height')) * e2pdf.zoom.scale;
173 563 pos = jQuery(el).offset();
174 564 if (jQuery(el).hasClass('e2pdf-page')) {
175 565 pos = {
176 566 left: pos.left + 1,
@@ -177,12 +567,10 @@
177 567 top: pos.top + 1
178 568 };
179 569 }
180 570 } else {
181 -
182 571 w = parseFloat(jQuery(el).css('width'));
183 572 h = parseFloat(jQuery(el).css('height'));
184 -
185 573 if (jQuery(el).hasClass('e2pdf-page')) {
186 574 pos = {
187 575 left: 0,
188 576 top: 0
@@ -188,10 +576,10 @@
188 576 top: 0
189 577 };
190 578 } else {
191 579 pos = {
192 - left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')),
193 - top: parseFloat(e2pdf.properties.getValue(jQuery(el), 'top'))
580 + left: e2pdf.properties.getValue(jQuery(el), 'left', 'float'),
581 + top: e2pdf.properties.getValue(jQuery(el), 'top', 'float')
194 582 };
195 583 }
196 584 }
197 585 }
@@ -205,44 +593,30 @@
205 593 {type: "v", left: pos.left + w / 2, top: pos.top}
206 594 ];
207 595 }
208 596 },
209 - //e2pdf.pdf
597 + // e2pdf.bulk
598 + bulk: {
599 + // e2pdf.bulk.progress
600 + progress: function () {
601 + setTimeout(function () {
602 + var data = {};
603 + data['bulks'] = [];
604 + jQuery('.e2pdf-bulk[status="pending"],.e2pdf-bulk[status="busy"]').each(function () {
605 + data['bulks'].push(jQuery(this).attr('bulk'));
606 + });
607 + e2pdf.request.submitRequest('e2pdf_bulk_progress', jQuery(this), data);
608 + e2pdf.bulk.progress();
609 + }, 5000);
610 + }
611 + },
612 + // e2pdf.pdf
210 613 pdf: {
211 - //e2pdf.pdf.settings
614 + // e2pdf.pdf.settings
212 615 settings: {
213 616 options: [],
214 - //e2pdf.pdf.settings.change
617 + // e2pdf.pdf.settings.change
215 618 change: function (key, value) {
216 - if (key == 'activated') {
217 - jQuery('.e2pdf-post-activated').remove();
218 - var activation_link = jQuery('#e2pdf-post-activation > .e2pdf-link');
219 - if (value == '1') {
220 - if (e2pdf.pdf.settings.get('activated') == '0') {
221 - e2pdf.pdf.settings.change('templates_limit', parseInt(e2pdf.pdf.settings.get('templates_limit')) - 1);
222 - }
223 - if (activation_link.attr('disabled')) {
224 - activation_link.html(e2pdfLang['Activated']);
225 - } else if (activation_link.hasClass('e2pdf-activate-template')) {
226 - activation_link.after(
227 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-post-activated', 'disabled': 'disabled'}).text(' (' + e2pdfLang['Activated'] + ')')
228 - );
229 - }
230 - } else {
231 - if (e2pdf.pdf.settings.get('activated') == '1') {
232 - e2pdf.pdf.settings.change('templates_limit', parseInt(e2pdf.pdf.settings.get('templates_limit')) + 1);
233 - }
234 -
235 - if (activation_link.attr('disabled')) {
236 - activation_link.html(e2pdfLang['Not Activated']);
237 - } else if (activation_link.hasClass('e2pdf-deactivate-template')) {
238 - activation_link.after(
239 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-post-activated', 'disabled': 'disabled'}).text(' (' + e2pdfLang['Not Activated'] + ')')
240 - );
241 - }
242 - }
243 - }
244 -
245 619 e2pdf.pdf.settings.options[key] = value;
246 620 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
247 621 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
248 622 } else {
@@ -249,22 +623,31 @@
249 623 var input = jQuery('<input>',
250 624 {
251 625 'type': 'hidden',
252 626 'name': key,
253 - 'value': value,
627 + 'value': value
254 628 });
255 629 jQuery('.e2pdf-form-builder').append(input);
256 630 }
257 631
258 - if (key == 'extension') {
259 - e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), value);
632 + if (key == 'item') {
633 + var data = {};
634 + data['extension'] = e2pdf.pdf.settings.get('extension');
635 + data['item'] = e2pdf.pdf.settings.get('item');
636 + e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
260 637 }
261 638 },
262 - //e2pdf.pdf.settings.set
639 + // e2pdf.pdf.settings.set
263 640 set: function (key, value) {
264 641 e2pdf.pdf.settings.options[key] = value;
642 + if (key == 'item') {
643 + var data = {};
644 + data['extension'] = e2pdf.pdf.settings.get('extension');
645 + data['item'] = e2pdf.pdf.settings.get('item');
646 + e2pdf.request.submitRequest('e2pdf_get_styles', jQuery('.e2pdf-submit-form'), data);
647 + }
265 648 },
266 - //e2pdf.pdf.settings.get
649 + // e2pdf.pdf.settings.get
267 650 get: function (key) {
268 651 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
269 652 return null;
270 653 } else {
@@ -272,63 +655,69 @@
272 655 }
273 656 }
274 657 }
275 658 },
276 - //e2pdf.static
659 + // e2pdf.static
277 660 static: {
278 - //e2pdf.static.unsaved
661 + // e2pdf.static.unsaved
279 662 unsaved: false,
280 - //e2pdf.static.mediaUploader
663 + // e2pdf.static.mediaUploader
281 664 mediaUploader: false,
282 - //e2pdf.static.autoloadExport
665 + // e2pdf.static.autoloadExport
283 666 autoloadExport: false,
284 - //e2pdf.static.selectionRange
667 + // e2pdf.static.selectionRange
285 668 selectionRange: null,
286 - //e2pdf.static.guide
669 + // e2pdf.static.observer
670 + observer: null,
671 + // e2pdf.static.vm
672 + vm: {
673 + // e2pdf.static.vm.hidden
674 + hidden: false,
675 + // e2pdf.static.vm.replace
676 + replace: true,
677 + // e2pdf.static.vm.close
678 + close: true
679 + },
680 + // e2pdf.static.guide
287 681 guide: {
288 - //e2pdf.static.guide.guides
682 + // e2pdf.static.guide.guides
289 683 guides: [],
290 - //e2pdf.static.guide.distance
684 + // e2pdf.static.guide.distance
291 685 distance: 5,
292 686 x: 0,
293 687 y: 0
294 688 },
295 - //e2pdf.static.drag
689 + // e2pdf.static.drag
296 690 drag: {
297 - //e2pdf.static.drag.min_top
691 + // e2pdf.static.drag.min_top
298 692 min_top: 0,
299 - //e2pdf.static.drag.max_top
693 + // e2pdf.static.drag.max_top
300 694 max_top: 0,
301 - //e2pdf.static.drag.min_left
695 + // e2pdf.static.drag.min_left
302 696 min_left: 0,
303 - //e2pdf.static.drag.max_left
697 + // e2pdf.static.drag.max_left
304 698 max_left: 0,
305 - //e2pdf.static.drag.page
306 - page: null,
307 - },
308 - //e2pdf.static.const
309 - const: {
310 - 'WIDTH_HEIGHT': '0',
311 - 'WIDTH': '1',
312 - 'HEIGHT': '2'
699 + // e2pdf.static.drag.page
700 + page: null
313 701 }
314 702 },
315 - //e2pdf.event
703 + // e2pdf.event
316 704 event: {
317 - //e2pdf.event.fire
705 + // e2pdf.event.fire
318 706 fire: function (event, action, el) {
319 - if (event === 'after.pages.deletePage'
320 - || event === 'after.createPdf'
321 - || event === 'after.pages.createPage.newpage'
322 - || event === 'after.element.create'
323 - || event === 'after.element.delete'
324 - || event === 'after.settings.style.change'
325 - || event === 'after.settings.template.change'
326 - || event === 'after.wysiwyg.apply'
327 - || event === 'after.request.submitLocal'
328 - || event === 'after.mediaUploader.select'
329 - || event === 'after.element.moved'
330 - || event === 'after.pages.movePage'
707 + if (
708 + event === 'after.pages.deletePage' ||
709 + event === 'after.createPdf' ||
710 + event === 'after.pages.createPage.newpage' ||
711 + event === 'after.element.create' ||
712 + event === 'after.element.delete' ||
713 + event === 'after.settings.style.change' ||
714 + event === 'after.settings.template.change' ||
715 + event === 'after.wysiwyg.apply' ||
716 + event === 'after.request.submitLocal' ||
717 + event === 'after.mediaUploader.select' ||
718 + event === 'after.element.moved' ||
719 + event === 'after.pages.movePage'
331 720 ) {
332 721 e2pdf.static.unsaved = true;
333 722 }
334 723
@@ -354,76 +743,98 @@
354 743 ).removeClass('e2pdf-color-picker-load');
355 744 });
356 745 }
357 746
358 - if (event === 'after.dialog.create') {
359 - e2pdf.element.unselect();
360 - }
361 -
362 - if (event === 'after.pages.deletePage'
363 - || event === 'after.pages.createPage.newpage') {
747 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
364 748 jQuery('#e2pdf-zoom').trigger('change');
365 749 }
366 750
367 751 if (event === 'before.request.submitRequest') {
368 752 el.attr('disabled', 'disabled');
369 -
370 - if (action === 'e2pdf_auto') {
371 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled');
753 + switch (action) {
754 + case 'e2pdf_auto':
755 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', 'disabled');
756 + break;
757 + case 'e2pdf_extension':
758 + el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
759 + break;
760 + case 'e2pdf_templates':
761 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
762 + jQuery('.e2pdf-export-options, .e2pdf-export-item, .e2pdf-dataset-shortcode-wr').hide();
763 + jQuery('.e2pdf-export-template-actions, .e2pdf-export-dataset-actions').empty();
764 + jQuery('.e2pdf-export-dataset').data('options', []).empty();
765 + jQuery('.e2pdf-fieldset-filter').val('');
766 + e2pdf.select2.disable(el);
767 + break;
768 + case 'e2pdf_dataset':
769 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
770 + jQuery('.e2pdf-dataset-shortcode-wr').hide();
771 + el.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions').empty();
772 + e2pdf.select2.disable(el);
773 + break;
774 + case 'e2pdf_datasets_refresh':
775 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-export-dataset').data('options', []).empty();
776 + e2pdf.select2.disable(el);
777 + break;
778 + case 'e2pdf_delete_item':
779 + case 'e2pdf_delete_items':
780 + e2pdf.select2.disable(el);
781 + break;
782 + default:
783 + break;
372 784 }
373 - if (action === 'e2pdf_extension') {
374 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled');
375 - }
376 -
377 - if (action === 'e2pdf_templates') {
378 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
379 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
380 - }
381 -
382 - if (action === 'e2pdf_dataset') {
383 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
384 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
385 - }
386 785 }
387 786
388 787 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
389 - el.attr('disabled', false);
390 - if (action === 'e2pdf_auto') {
391 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
788 + if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
789 + el.attr('disabled', false);
392 790 }
393 - if (action === 'e2pdf_extension') {
394 - el.closest('form').find('#e2pdf-item').find('option').remove();
395 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', false);
791 + switch (action) {
792 + case 'e2pdf_auto':
793 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items').attr('disabled', false);
794 + break;
795 + case 'e2pdf_extension':
796 + el.closest('form').find('.e2pdf-items').find('option').remove();
797 + el.closest('form').find('.e2pdf-create-pdf, .e2pdf-items, #auto_form_label').attr('disabled', false);
798 + break;
799 + case 'e2pdf_get_styles':
800 + jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
801 + jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
802 + break;
803 + case 'e2pdf_templates':
804 + case 'e2pdf_delete_item':
805 + case 'e2pdf_delete_items':
806 + e2pdf.select2.enable(el);
807 + break;
808 + default:
809 + break;
396 810 }
397 - if (action === 'e2pdf_get_styles') {
398 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
399 - jQuery('script[id^="e2pdf-dynamic-script-"]').remove();
400 - }
401 811 }
402 812
403 813 if (event === 'before.request.upload') {
404 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', 'disabled');
814 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', 'disabled');
405 815 }
406 816
407 817 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
408 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
409 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
410 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
818 + if (event === 'after.request.upload.error') {
819 + el.closest('form').find('.e2pdf-submit, .e2pdf-extension, .e2pdf-items, #auto_form_label').attr('disabled', false);
820 + }
821 + el.closest('form').find('.e2pdf-upload-pdf').replaceWith(
822 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
411 823 );
412 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
413 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
824 + el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
825 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
414 826 );
415 827 }
416 828 }
417 829 },
418 - //e2pdf.form
830 + // e2pdf.form
419 831 form: {
420 - //e2pdf.form.serializeObject
832 + // e2pdf.form.serializeObject
421 833 serializeObject: function (form) {
422 834
423 835 var o = {};
424 836 var a = form.serializeArray();
425 -
426 837 jQuery.each(a, function () {
427 838 if (this.name.endsWith('[]')) {
428 839
429 840 var name = this.name;
@@ -436,9 +847,8 @@
436 847
437 848 var name = this.name;
438 849 var path = name.split(/[\[\]]+/);
439 850 var curItem = o;
440 -
441 851 for (var j = 0; j < path.length - 2; j++)
442 852 {
443 853 if (!(path[j] in curItem))
444 854 {
@@ -447,9 +857,8 @@
447 857 curItem = curItem[path[j]];
448 858 }
449 859
450 860 curItem[path[j]] = this.value || '';
451 -
452 861 } else {
453 862 o[this.name] = this.value || '';
454 863 }
455 864 });
@@ -454,9 +863,9 @@
454 863 }
455 864 });
456 865 return o;
457 866 },
458 - //e2pdf.form.serializeElements
867 + // e2pdf.form.serializeElements
459 868 serializeElements: function () {
460 869 var o = {};
461 870 jQuery('.e2pdf-element').each(
462 871 function (index) {
@@ -461,102 +870,123 @@
461 870 jQuery('.e2pdf-element').each(
462 871 function (index) {
463 872 var el = {};
464 873 el.type = jQuery(this).data('data-type');
465 - el.properties = e2pdf.properties.get(jQuery(this), true);
874 + el.properties = e2pdf.properties.get(jQuery(this));
466 875 el.actions = e2pdf.actions.get(jQuery(this));
467 876 el.top = jQuery(this).css('top');
468 877 el.left = jQuery(this).css('left');
469 878 el.width = jQuery(this).css('width');
470 879 el.height = jQuery(this).css('height');
471 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
472 - el.value = jQuery(this).find('.e2pdf-html').html();
473 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
474 - el.value = jQuery(this).find('.e2pdf-input').val();
475 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
476 - el.value = jQuery(this).find('.e2pdf-textarea').val();
477 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
478 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
479 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
480 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
481 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
482 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
483 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
484 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
485 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
486 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
487 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
488 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
489 - } else {
490 - el.value = jQuery(this).html();
880 + switch (jQuery(this).data('data-type')) {
881 + case 'e2pdf-rectangle':
882 + el.value = '';
883 + break;
884 + case 'e2pdf-html':
885 + if (jQuery(this).find('.e2pdf-html').is('textarea')) {
886 + el.value = jQuery(this).find('.e2pdf-html').val();
887 + } else {
888 + el.value = jQuery(this).find('.e2pdf-html').html();
889 + }
890 + break;
891 + case 'e2pdf-input':
892 + el.value = jQuery(this).find('.e2pdf-input').val();
893 + break;
894 + case 'e2pdf-textarea':
895 + el.value = jQuery(this).find('.e2pdf-textarea').val();
896 + break;
897 + case 'e2pdf-page-number':
898 + case 'e2pdf-checkbox':
899 + case 'e2pdf-radio':
900 + case 'e2pdf-select':
901 + case 'e2pdf-image':
902 + case 'e2pdf-qrcode':
903 + case 'e2pdf-barcode':
904 + case 'e2pdf-graph':
905 + case 'e2pdf-link':
906 + case 'e2pdf-signature':
907 + el.value = e2pdf.helper.getString(el.properties['value']);
908 + break;
909 + default:
910 + el.value = jQuery(this).html();
911 + break;
491 912 }
913 + el.name = e2pdf.helper.getString(el.properties['name']);
492 914 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
493 915 el.element_id = jQuery(this).attr('data-element_id');
916 + delete el.properties['width'];
917 + delete el.properties['height'];
918 + delete el.properties['value'];
919 + delete el.properties['top'];
920 + delete el.properties['left'];
921 + delete el.properties['name'];
922 + delete el.properties['element_type'];
923 + delete el.properties['element_id'];
924 + delete el.properties['page_id'];
494 925 o[index] = el;
495 926 });
496 927 return o;
497 928 }
498 929 },
499 - //e2pdf.font
930 + // e2pdf.font
500 931 font: {
501 - //e2pdf.font.load
932 + // e2pdf.font.load
502 933 load: function (el) {
934 + var name, value;
503 935 if (el.is('select')) {
504 - var name = el.val();
505 - var value = el.find('option:selected').attr('path');
936 + name = el.val();
937 + value = el.find('option:selected').attr('path');
506 938 } else if (el.is('div')) {
507 - var name = el.attr('name');
508 - var value = el.attr('path');
939 + name = el.attr('name');
940 + value = el.attr('path');
509 941 }
510 -
511 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
512 - jQuery("head").append("<style name='" + name + "' type='text/css'>@font-face {font-family: " + name + "; src: url('" + e2pdf.url.uploadUrl() + "/fonts/" + value + "')}</style>");
942 + if (jQuery("head").find('style[name="' + CSS.escape(name) + '"]').length === 0) {
943 + jQuery("head").append(
944 + jQuery("<style>")
945 + .attr('name', name)
946 + .attr('type', 'text/css')
947 + .text(`@font-face {font-family: "${CSS.escape(name)}"; src: url("${e2pdf.url.uploadUrl()}/fonts/${encodeURIComponent(value)}")}`)
948 + );
513 949 }
514 950 },
515 - //e2pdf.font.apply
951 + // e2pdf.font.apply
516 952 apply: function (el, font) {
517 - var font_name = font.find('option:selected').html();
518 - if (font_name) {
519 - el.css('font-family', font_name);
520 - } else {
521 - el.css('font-family', '');
522 - }
953 + let font_name = font.find('option:selected').html();
954 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
523 955 },
524 - //e2pdf.font.size
956 + // e2pdf.font.size
525 957 size: function (el, size) {
526 - var font_size = size.find('option:selected').html();
527 - el.css({'font-size': font_size});
958 + var font_size = size.val();
959 + el.css({'font-size': font_size + "px"});
528 960 },
529 - //e2pdf.font.line
961 + // e2pdf.font.line
530 962 line: function (el, height) {
531 - var line_height = height.find('option:selected').html();
532 - el.css({'line-height': line_height});
963 + var line_height = height.val();
964 + el.css({'line-height': line_height + "px"});
533 965 },
534 - //e2pdf.font.color
966 + // e2pdf.font.color
535 967 fontcolor: function (el, color) {
536 968 var font_color = color.val();
537 969 el.css({'color': font_color});
538 970 },
539 - //e2pdf.font.delete
971 + // e2pdf.font.delete
540 972 delete: function (el) {
541 973 var font = el.attr('data-font');
542 974 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
543 975 }
544 976 },
545 - //e2pdf.request
977 + // e2pdf.request
546 978 request: {
547 - //e2pdf.request.upload
979 + // e2pdf.request.upload
548 980 upload: function (action, el) {
549 981 if (el.attr('disabled')) {
550 982 return;
551 983 }
552 -
553 984 var data = new FormData(el.closest('form')[0]);
554 985 e2pdf.event.fire('before.request.upload', action, el);
555 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
556 - loader.css('visibility', 'visible').fadeIn();
986 + jQuery('html').addClass('e2pdf-loading');
557 987 jQuery.ajax({
558 - url: e2pdf.helper.ajaxurl(action),
988 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
559 989 type: 'POST',
560 990 data: data,
561 991 cache: false,
562 992 contentType: false,
@@ -561,516 +991,743 @@
561 991 cache: false,
562 992 contentType: false,
563 993 processData: false,
564 994 success: function (response) {
565 - loader.css('visibility', 'hidden').fadeOut();
566 - e2pdf.event.fire('after.request.upload.success', action, el);
567 995 if (response.redirect !== undefined) {
568 - // recheck if redirect fires in other cases when not upload pdf
996 + e2pdf.event.fire('after.request.upload.success', action, el);
569 997 e2pdf.static.unsaved = false;
570 998 location.href = response.redirect;
571 999 } else if (response.error !== undefined) {
1000 + jQuery('html').removeClass('e2pdf-loading');
1001 + e2pdf.event.fire('after.request.upload.error', action, el);
572 1002 alert(response.error);
573 - } else if (response.content) {
574 - e2pdf.request.callBack(action, response.content);
1003 + } else {
1004 + jQuery('html').removeClass('e2pdf-loading');
1005 + e2pdf.event.fire('after.request.upload.error', action, el);
575 1006 }
576 1007 },
577 1008 error: function (response) {
578 - loader.css('visibility', 'hidden').fadeOut();
579 - e2pdf.event.fire('after.request.upload.success', action, el);
1009 + jQuery('html').removeClass('e2pdf-loading');
1010 + e2pdf.event.fire('after.request.upload.error', action, el);
580 1011 }
581 1012 });
582 1013 },
583 - //e2pdf.request.submitForm
1014 + // e2pdf.request.submitForm
584 1015 submitForm: function (el) {
585 1016 if (el.attr('disabled')) {
586 1017 return;
587 1018 }
588 1019 el.attr('disabled', 'disabled');
589 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
590 - loader.css('visibility', 'visible').fadeIn();
1020 + jQuery('html').addClass('e2pdf-loading');
591 1021 e2pdf.event.fire('before.request.submitForm');
592 1022 var form_id = el.attr('form-id');
593 1023 var form = jQuery(document.getElementById(form_id));
594 1024 var data = e2pdf.form.serializeObject(form);
595 - if (form_id === 'e2pdf-build-form') {
596 - var elements = e2pdf.form.serializeElements();
597 - data.pages = {};
598 - jQuery('.e2pdf-page').each(function () {
599 - var page_id = jQuery(this).attr('data-page_id');
600 - data.pages[page_id] = {};
601 - var properties = {};
602 - var page_elements = [];
603 - properties['width'] = jQuery(this).attr('data-width');
604 - properties['height'] = jQuery(this).attr('data-height');
605 - data.pages[page_id]['properties'] = properties;
606 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
607 - data.pages[page_id]['elements'] = page_elements;
608 - });
609 - for (var key in elements) {
610 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
611 - }
612 - data = JSON.stringify(data);
1025 + var action = el.attr('action');
1026 + var _wpnonce = el.attr('_wpnonce');
1027 + switch (form_id) {
1028 + case 'e2pdf-build-form':
1029 + var elements = e2pdf.form.serializeElements();
1030 + data.pages = {};
1031 + jQuery('.e2pdf-page').each(function () {
1032 + var page_id = jQuery(this).attr('data-page_id');
1033 + data.pages[page_id] = {};
1034 + var properties = e2pdf.properties.get(jQuery(this));
1035 + properties['width'] = jQuery(this).attr('data-width');
1036 + properties['height'] = jQuery(this).attr('data-height');
1037 + delete properties['page_id'];
1038 + delete properties['element_type'];
1039 + delete properties['preset'];
1040 + var page_elements = [];
1041 + data.pages[page_id]['properties'] = properties;
1042 + data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
1043 + data.pages[page_id]['elements'] = page_elements;
1044 + });
1045 + for (var key in elements) {
1046 + data.pages[elements[key].page_id]['elements'].push(elements[key]);
1047 + }
1048 + data.actions = e2pdf.actions.get(jQuery('.e2pdf-tpl'));
1049 + data.properties = e2pdf.properties.get(jQuery('.e2pdf-tpl'));
1050 + data = JSON.stringify(data);
1051 + break;
1052 + case 'e2pdf-export-form':
1053 + data = JSON.stringify(data);
1054 + break;
1055 + case 'e2pdf-email':
1056 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
1057 + data = {};
1058 + data['email'] = form.find('input[name="email"]').val();
1059 + if (form.find('input[name="email_code"]').length > 0) {
1060 + data['email_code'] = form.find('input[name="email_code"]').val();
1061 + }
1062 + break;
613 1063 }
614 -
615 - if (form_id === 'e2pdf-email') {
616 -
617 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
618 - data = {};
619 - data['email'] = form.find('input[name="email"]').val();
620 - if (form.find('input[name="email_code"]').length > 0) {
621 - data['email_code'] = form.find('input[name="email_code"]').val();
622 - }
623 - }
624 -
625 - var action = el.attr('action');
626 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1064 + jQuery('html').addClass('e2pdf-loading');
627 1065 if (el.attr('target') === '_blank') {
628 1066 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
629 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1067 + jQuery('<textarea>', {'name': 'preview'}).val(data)
630 1068 ).hide();
631 1069 jQuery('body').append(post_form);
632 1070 post_form.submit();
633 1071 post_form.remove();
634 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
635 - loader.css('visibility', 'hidden').fadeOut();
1072 + jQuery('html').removeClass('e2pdf-loading');
636 1073 el.attr('disabled', false);
637 1074 return false;
638 1075 }
639 -
640 1076 jQuery.ajax({
641 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1077 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
642 1078 data: {action: action, data: data},
643 1079 success: function (response) {
644 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
645 - loader.css('visibility', 'hidden').fadeOut();
646 - el.attr('disabled', false);
647 1080 if (response.redirect !== undefined) {
648 1081 location.href = response.redirect;
649 - } else if (response.error !== undefined) {
650 - alert(response.error);
651 - } else if (response.content) {
652 - e2pdf.request.callBack(action, response.content, el);
1082 + } else {
1083 + el.attr('disabled', false);
1084 + if (response.error !== undefined) {
1085 + jQuery('html').removeClass('e2pdf-loading');
1086 + alert(response.error);
1087 + } else if (response.content) {
1088 + e2pdf.request.callBack(action, response.content, el);
1089 + jQuery('html').removeClass('e2pdf-loading');
1090 + } else {
1091 + jQuery('html').removeClass('e2pdf-loading');
1092 + }
653 1093 }
654 1094 },
655 1095 error: function (response) {
656 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
657 - loader.css('visibility', 'hidden').fadeOut();
1096 + jQuery('html').removeClass('e2pdf-loading');
658 1097 el.attr('disabled', false);
659 1098 }
660 1099 });
661 1100 },
662 - //e2pdf.request.submitRequest
1101 + // e2pdf.request.submitRequest
663 1102 submitRequest: function (action, el, value) {
664 1103 if (el.attr('disabled')) {
665 1104 return;
666 1105 }
667 -
668 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1106 + if (action !== 'e2pdf_bulk_progress') {
1107 + jQuery('html').addClass('e2pdf-loading');
1108 + }
669 1109 if (!value) {
670 1110 var value = el.val();
671 1111 }
672 - loader.css('visibility', 'visible').fadeIn();
1112 + var _wpnonce = el.attr('_wpnonce');
1113 + if (action == 'e2pdf_bulk_progress') {
1114 + _wpnonce = e2pdf_params['nonce']['e2pdf'];
1115 + }
1116 +
673 1117 e2pdf.event.fire('before.request.submitRequest', action, el);
674 1118 jQuery.ajax({
675 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1119 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
676 1120 data: {action: action, data: value},
677 1121 success: function (response) {
678 - loader.css('visibility', 'hidden').fadeOut();
679 1122 e2pdf.event.fire('after.request.submitRequest.success', action, el);
680 1123 if (response.redirect !== undefined) {
681 1124 location.href = response.redirect;
682 1125 } else if (response.error !== undefined) {
1126 + jQuery('html').removeClass('e2pdf-loading');
683 1127 alert(response.error);
684 1128 } else if (response.content) {
685 1129 e2pdf.request.callBack(action, response.content, el);
1130 + jQuery('html').removeClass('e2pdf-loading');
1131 + } else {
1132 + jQuery('html').removeClass('e2pdf-loading');
686 1133 }
687 1134 },
688 1135 error: function (response) {
689 - loader.css('visibility', 'hidden').fadeOut();
1136 + jQuery('html').removeClass('e2pdf-loading');
690 1137 e2pdf.event.fire('after.request.submitRequest.error', action, el);
691 1138 }
692 1139 });
693 1140 },
694 - //e2pdf.request.submitLocal
695 - submitLocal: function (el) {
1141 + // e2pdf.request.submitLocal
1142 + submitLocal: function (el, noclose = false) {
696 1143 var form_id = el.attr('form-id');
697 1144 var form = jQuery(document.getElementById(form_id));
698 1145 var data = e2pdf.form.serializeObject(form);
699 -
700 - if (form_id === 'e2pdf-page-options') {
701 - var width = data['width'];
702 - var height = data['height'];
703 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
704 - e2pdf.actions.apply(page, data['actions']);
705 - e2pdf.pages.changePageSize(page, width, height);
706 - e2pdf.event.fire('after.request.submitLocal', false, page);
707 - } else {
708 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
709 -
710 - e2pdf.actions.apply(element, data['actions']);
711 - delete data['actions'];
712 -
713 - e2pdf.properties.apply(element, data);
714 - e2pdf.properties.render(element);
715 - e2pdf.dialog.close();
716 - e2pdf.event.fire('after.request.submitLocal', false, el);
717 - }
718 -
719 - e2pdf.dialog.close();
720 - },
721 - //e2pdf.request.callBack
722 - callBack: function (action, result, el) {
723 - if (action === 'e2pdf_email') {
724 - if (result === 'subscribed') {
725 - jQuery('.e2pdf-email-lock').remove();
726 - } else {
727 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
728 - var form_id = el.attr('form-id');
729 - var form = jQuery(document.getElementById(form_id));
730 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
731 - form.find('input[name="email"]').attr('type', 'hidden');
732 - jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
733 - }
734 - }
735 -
736 - if (action === 'e2pdf_extension') {
737 - for (var key in result) {
738 - var option = jQuery('<option>',
739 - {
740 - 'value': result[key]['id']
741 - }).html(result[key]['name']);
742 - if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
743 - option.attr('selected', 'selected');
1146 + switch (form_id) {
1147 + case 'e2pdf-page-options':
1148 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1149 + var action_error = false;
1150 + for (var action in data['actions']) {
1151 + for (var condition in data['actions'][action]['conditions']) {
1152 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1153 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1154 + action_element.addClass('e2pdf-action-error');
1155 + action_error = true;
1156 + }
1157 + }
744 1158 }
745 - option.data('data-item', result[key]);
746 - jQuery('#e2pdf-item').append(option);
747 -
748 - }
749 - }
750 -
751 - if (action === 'e2pdf_get_styles') {
752 - for (var key in result) {
753 - if (result[key].split('.').pop() == 'js') {
754 - jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
755 - } else {
756 - jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1159 + if (action_error) {
1160 + setTimeout(function () {
1161 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1162 + }, 0);
1163 + return;
757 1164 }
758 - }
759 - }
760 - if (action === 'e2pdf_visual_mapper') {
761 - el.html(result);
762 - e2pdf.visual.mapper.markup();
763 -
764 - var images = el.find('img');
765 - var counter = 0;
766 - counter = images.length;
767 - images.each(function () {
768 - var img = new Image();
769 - img.onload = function () {
770 - counter--;
771 - if (counter === 0) {
772 - e2pdf.visual.mapper.rebuild();
1165 + var width = data['width'];
1166 + var height = data['height'];
1167 + var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1168 + e2pdf.actions.apply(page, data['actions']);
1169 + e2pdf.pages.changePageSize(page, width, height);
1170 + e2pdf.properties.apply(page, data);
1171 + e2pdf.event.fire('after.request.submitLocal', false, page);
1172 + break;
1173 + case 'e2pdf-tpl-actions':
1174 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1175 + var action_error = false;
1176 + for (var action in data['actions']) {
1177 + for (var condition in data['actions'][action]['conditions']) {
1178 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1179 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1180 + action_element.addClass('e2pdf-action-error');
1181 + action_error = true;
1182 + }
773 1183 }
774 - };
775 - img.onerror = function () {
776 - counter--;
777 - if (counter === 0) {
778 - e2pdf.visual.mapper.rebuild();
779 - }
780 - };
781 - img.src = jQuery(this).attr('src');
782 - });
783 - }
784 - if (action === 'e2pdf_templates') {
785 - var dataset_field = jQuery('#e2pdf-export-dataset');
786 - dataset_field.attr('disabled', 'disabled').find('option').remove();
787 - for (var key in result['datasets']) {
788 - var option = jQuery('<option>',
789 - {
790 - 'value': result['datasets'][key]['key']
791 - }).html(result['datasets'][key]['value']);
792 - dataset_field.append(option);
793 - }
794 -
795 - dataset_field.val('');
796 - if (Object.keys(result['datasets']).length > 1) {
797 - dataset_field.attr('disabled', false);
798 - }
799 -
800 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
801 - options.hide();
802 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
803 - options.find('select').val('0').attr('disabled', 'disabled');
804 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
805 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
806 - jQuery('#e2pdf-dataset-shortcode').val('');
807 - jQuery('#e2pdf-template-shortcode').val('');
808 - if (Object.keys(result['options']).length > 0) {
809 - for (var key in result['options']) {
810 - var field = options.find('[name="options[' + key + ']"]');
811 - if (field.attr('type') === 'text' || field.is("select")) {
812 - field.val(result['options'][key]);
813 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
814 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
815 - checkbox.attr('checked', 'checked');
816 - }
817 1184 }
818 -
819 - var template_id = jQuery('#e2pdf-export-template').val();
820 - options.find('input[type="text"]').attr('disabled', false);
821 - options.find('input[type="checkbox"]').attr('disabled', false);
822 - options.find('select').attr('disabled', false);
823 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
824 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
825 - if (result['delete_items']) {
826 - jQuery('#e2pdf-delete-items').attr({'template': template_id, 'disabled': false});
1185 + if (action_error) {
1186 + setTimeout(function () {
1187 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1188 + }, 0);
1189 + return;
827 1190 }
828 -
829 - options.slideDown();
830 - if (e2pdf.static.autoloadExport) {
831 - if (e2pdf.url.get('dataset_id')) {
832 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
833 - dataset_field.val(e2pdf.url.get('dataset_id')).change();
1191 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1192 + break;
1193 + case 'e2pdf-tpl-properties':
1194 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1195 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1196 + break;
1197 + case 'e2pdf-tpl-hooks':
1198 + var hooks = data['hooks'];
1199 + if (hooks) {
1200 + e2pdf.pdf.settings.change('hooks', hooks.join(','));
1201 + } else {
1202 + e2pdf.pdf.settings.change('hooks', '');
1203 + }
1204 + break;
1205 + default:
1206 + var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1207 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1208 + var action_error = false;
1209 + for (var action in data['actions']) {
1210 + for (var condition in data['actions'][action]['conditions']) {
1211 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1212 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1213 + action_element.addClass('e2pdf-action-error');
1214 + action_error = true;
834 1215 }
835 1216 }
836 - e2pdf.static.autoloadExport = false;
1217 + }
1218 + if (action_error) {
1219 + setTimeout(function () {
1220 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1221 + }, 0);
1222 + return;
1223 + }
1224 + var history = [];
1225 + history.push(element.clone(true));
1226 + e2pdf.history.set('element_change', history);
1227 + e2pdf.actions.apply(element, data['actions']);
1228 + delete data['actions'];
1229 + e2pdf.properties.apply(element, data);
1230 + e2pdf.properties.render(element);
1231 + e2pdf.event.fire('after.request.submitLocal', false, el);
1232 + break;
1233 + }
1234 + if (!noclose) {
1235 + e2pdf.dialog.close();
1236 + }
1237 + },
1238 + // e2pdf.request.callBack
1239 + callBack: function (action, result, el) {
1240 + switch (action) {
1241 + case 'e2pdf_email':
1242 + if (result === 'subscribed') {
1243 + jQuery('.e2pdf-email-lock').remove();
837 1244 } else {
838 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
1245 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1246 + var form_id = el.attr('form-id');
1247 + var form = jQuery(document.getElementById(form_id));
1248 + form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1249 + form.find('input[name="email"]').attr('type', 'hidden');
1250 + jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
839 1251 }
840 - dataset_field.change();
841 - } else {
842 - e2pdf.url.change('e2pdf');
843 - }
844 - }
845 -
846 - if (action === 'e2pdf_dataset') {
847 - var template_id = jQuery('#e2pdf-export-template').val();
848 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
849 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
850 - jQuery('#e2pdf-dataset-shortcode').val('');
851 - if (dataset_id && dataset_id != "0") {
852 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
853 - jQuery('#e2pdf-dataset-shortcode-wr').show();
854 - }
855 -
856 - if (result['export']) {
857 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
858 - jQuery('#e2pdf-export-form').attr('action', export_url);
859 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
860 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
861 - } else {
862 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
863 - }
864 -
865 - if (result['view'] && result['dataset']) {
866 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
867 - }
868 -
869 - if (result['delete_item'] && result['dataset']) {
870 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
871 - }
872 - }
873 -
874 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
875 - if (action === 'e2pdf_activate_template') {
876 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
877 - if (el.parent().attr('id') == 'e2pdf-post-activation') {
878 - e2pdf.pdf.settings.change('activated', '1');
1252 + break;
1253 + case 'e2pdf_extension':
1254 + for (var key in result) {
1255 + var option = jQuery('<option>',
1256 + {
1257 + 'value': result[key]['id']
1258 + }).html(result[key]['name']);
1259 + if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1260 + option.attr('selected', 'selected');
1261 + }
1262 + option.data('data-item', result[key]);
1263 + jQuery('.e2pdf-item').append(option);
879 1264 }
880 - } else {
881 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
882 - if (el.parent().attr('id') == 'e2pdf-post-activation') {
883 - e2pdf.pdf.settings.change('activated', '0');
1265 + for (var key in result) {
1266 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1267 + var option = jQuery('<option>',
1268 + {
1269 + 'value': result[key]['id']
1270 + }).html(result[key]['name']);
1271 + if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1272 + option.attr('selected', 'selected');
1273 + }
1274 + option.data('data-item', result[key]);
1275 + jQuery('.e2pdf-item1').append(option);
1276 + }
884 1277 }
885 - }
886 - }
887 -
888 - if (action === 'e2pdf_auto') {
889 - var elements = result.elements;
890 - var width = parseFloat(e2pdf.pdf.settings.get('width'));
891 - var height = parseFloat(e2pdf.pdf.settings.get('height'));
892 - e2pdf.pages.changeTplSize(width, height);
893 - e2pdf.pages.createPage();
894 - jQuery('.ui-dialog-content').dialog('close');
895 -
896 - var i = 1;
897 - var page = jQuery('.e2pdf-page').last();
898 -
899 - var auto = {
900 - 'block': {
901 - 'top': 0,
902 - 'left': 0,
903 - 'right': 0,
904 - 'bottom': 0,
905 - 'width': 0,
906 - 'page': page.attr('data-page_id')
907 - },
908 - 'element': {
909 - 'top': 0,
910 - 'left': 0,
911 - 'right': 0,
912 - 'bottom': 0,
913 - 'width': 0,
914 - 'properties': {}
915 - },
916 - page: {
917 - 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
918 - 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
919 - 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
920 - 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0,
1278 + for (var key in result) {
1279 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1280 + var option = jQuery('<option>',
1281 + {
1282 + 'value': result[key]['id']
1283 + }).html(result[key]['name']);
1284 + if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1285 + option.attr('selected', 'selected');
1286 + }
1287 + option.data('data-item', result[key]);
1288 + jQuery('.e2pdf-item2').append(option);
1289 + }
921 1290 }
922 - };
923 -
924 - for (var key in elements) {
925 - var element = elements[key];
926 - var type = element.type;
927 - var properties = {};
928 -
929 - //fix empty values
930 - element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
931 - element['block'] = typeof element.block === 'undefined' ? false : element.block;
932 - element['float'] = typeof element.float === 'undefined' ? false : element.float;
933 - element.properties['width'] = typeof element.properties.width === 'undefined' ? 0 : element.properties.width;
934 - element.properties['height'] = typeof element.properties.height === 'undefined' ? 0 : element.properties.height;
935 - element.properties['top'] = typeof element.properties.top === 'undefined' ? 0 : element.properties.top;
936 - element.properties['left'] = typeof element.properties.left === 'undefined' ? 0 : element.properties.left;
937 - element.properties['right'] = typeof element.properties.right === 'undefined' ? 0 : element.properties.right;
938 -
939 - //assing properties to element
940 - for (var property in element.properties) {
941 - properties[property] = element.properties[property];
1291 + el.closest('form').find('.e2pdf-item').trigger('change');
1292 + break;
1293 + case 'e2pdf_get_styles':
1294 + for (var key in result) {
1295 + if (result[key].split('.').pop() == 'js') {
1296 + jQuery('<script>', {'id': 'e2pdf-dynamic-script-' + key + '-js', 'type': 'text/javascript', 'href': result[key]}).appendTo('head');
1297 + } else {
1298 + jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
1299 + }
942 1300 }
943 -
944 - //calculate width
945 - if (element.block) {
946 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1301 + break;
1302 + case 'e2pdf_visual_mapper':
1303 + el.html(result);
1304 + var height = el.outerHeight();
1305 + e2pdf.visual.mapper.markup();
1306 + if (window.ResizeObserver) {
1307 + e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1308 + for (var mutation of mutationsList) {
1309 + if (el.outerHeight() != height) {
1310 + e2pdf.visual.mapper.rebuild();
1311 + }
1312 + }
1313 + });
1314 + e2pdf.static.observer.observe(el[0]);
947 1315 }
1316 + var images = el.find('img');
1317 + var counter = 0;
1318 + counter = images.length;
1319 + images.each(function () {
1320 + var img = new Image();
1321 + img.onload = function () {
1322 + counter--;
1323 + if (counter === 0) {
1324 + e2pdf.visual.mapper.rebuild();
1325 + }
1326 + };
1327 + img.onerror = function () {
1328 + counter--;
1329 + if (counter === 0) {
1330 + e2pdf.visual.mapper.rebuild();
1331 + }
1332 + };
1333 + img.src = jQuery(this).attr('src');
1334 + });
1335 + break;
1336 + case 'e2pdf_templates':
1337 + var template_id = result['id'];
1338 + if (template_id) {
1339 + jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1340 + for (var key in result['datasets']) {
1341 + var options = [];
1342 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1343 + dataset_field.closest('.e2pdf-export-item').show();
1344 + for (var subkey in result['datasets'][key]) {
1345 + var option = {
1346 + key: result['datasets'][key][subkey]['key'].toString(),
1347 + value: result['datasets'][key][subkey]['value'].toString()
1348 + };
1349 + options.push(option);
1350 + if (e2pdf.url.get('action') == 'bulk') {
1351 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1352 + } else {
1353 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1354 + }
1355 + }
1356 + dataset_field.data('options', options);
1357 + if (e2pdf.url.get('action') == 'bulk') {
1358 + dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1359 + if (Object.keys(result['datasets'][key]).length > 1) {
1360 + dataset_field.attr('disabled', false);
1361 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1362 + } else {
1363 + dataset_field.attr('disabled', 'disabled');
1364 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1365 + }
1366 + } else {
1367 + dataset_field.val('');
1368 + e2pdf.select2.update(dataset_field);
1369 + e2pdf.select2.enable(dataset_field);
1370 + }
1371 + }
1372 + if (result['actions']) {
1373 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1374 + for (var key in result['actions']) {
1375 + ul.append(jQuery('<li>').html(result['actions'][key]));
1376 + }
1377 + jQuery('.e2pdf-export-template-actions').append(ul);
1378 + }
1379 + jQuery('.e2pdf-export-option').each(function () {
1380 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1381 + var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1382 + if (result['options'].hasOwnProperty(key)) {
1383 + jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1384 + if (result['options'][key]) {
1385 + jQuery(this).val(result['options'][key]);
1386 + } else {
1387 + if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1388 + jQuery(this).val('[e2pdf-dataset]');
1389 + } else {
1390 + if (key == 'args') {
1391 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1392 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1393 + }
1394 + jQuery(this).val('');
1395 + }
1396 + }
1397 + } else {
1398 + jQuery(this).val('');
1399 + }
1400 + if (jQuery(this).attr('name') == 'options[name]') {
1401 + if (e2pdf.url.get('action') == 'bulk') {
1402 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1403 + }
1404 + }
1405 + });
1406 + if (e2pdf.static.autoloadExport) {
1407 + var datasets = [
1408 + 'dataset',
1409 + 'dataset2'
1410 + ];
1411 + for (var key in datasets) {
1412 + if (e2pdf.url.get(datasets[key])) {
1413 + jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1414 + }
1415 + }
1416 + for (var key in datasets) {
1417 + if (e2pdf.url.get(datasets[key])) {
1418 + e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1419 + }
1420 + }
1421 + e2pdf.static.autoloadExport = false;
1422 + } else {
1423 + var url = '';
1424 + if (e2pdf.url.get('action')) {
1425 + url += 'action=' + e2pdf.url.get('action') + '&';
1426 + }
1427 + url += 'id=' + template_id;
1428 + e2pdf.url.change('e2pdf', url);
1429 + }
948 1430
949 - if (element.block) {
950 - 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)) {
951 - page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
952 - properties['left'] = auto.block.right + parseFloat(properties.left);
953 - properties['top'] = auto.block.top;
1431 + if (e2pdf.url.get('action') == 'bulk') {
1432 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1433 + }
1434 + jQuery('.e2pdf-export-options').slideDown();
1435 + } else {
1436 + if (e2pdf.url.get('action') == 'bulk') {
1437 + e2pdf.url.change('e2pdf', 'action=bulk');
954 1438 } else {
955 - page = jQuery('.e2pdf-page').last();
956 - auto.block['bottom'] = 0;
957 - page.find('.e2pdf-element').each(function () {
958 - auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
959 - });
960 - properties['left'] = parseFloat(properties.left);
961 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1439 + e2pdf.url.change('e2pdf');
962 1440 }
963 - } else {
964 - if (element.float) {
965 - if (element.properties.width !== 'auto') {
966 - 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));
967 - if (auto.element.properties.width === 'auto') {
968 - properties['width'] = properties['width'] - auto.element.width;
1441 + }
1442 + break;
1443 + case 'e2pdf_dataset':
1444 + var template_id = result['id'];
1445 + var url = 'id=' + template_id;
1446 + var shortcode = '[e2pdf-download id="' + template_id + '"';
1447 + if (result['datasets']) {
1448 + for (var key in result['datasets']) {
1449 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1450 + var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1451 + e2pdf.select2.enable(dataset_field);
1452 + if (result['datasets'][key]['id'] == '') {
1453 + dataset_field.val('');
1454 + e2pdf.select2.update(dataset_field);
1455 + } else {
1456 + url += '&' + key + '=' + result['datasets'][key]['id'];
1457 + shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1458 + }
1459 + if (result['datasets'][key]['actions']) {
1460 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1461 + for (var dkey in result['datasets'][key]['actions']) {
1462 + ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
969 1463 }
1464 + actions.empty().append(ul);
970 1465 }
971 - properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
972 - properties['top'] = auto.element.top;
1466 + }
1467 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1468 + }
1469 + shortcode += "]";
1470 + if (result['export']) {
1471 + jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1472 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1473 + jQuery('.e2pdf-dataset-shortcode-wr').show();
1474 + }
1475 + e2pdf.url.change('e2pdf', url);
1476 + break;
1477 + case 'e2pdf_datasets_refresh':
1478 + var options = [];
1479 + var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1480 + for (var key in result['datasets']) {
1481 + var option = {
1482 + key: result['datasets'][key]['key'].toString(),
1483 + value: result['datasets'][key]['value'].toString()
1484 + };
1485 + options.push(option);
1486 + if (e2pdf.url.get('action') == 'bulk') {
1487 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
973 1488 } else {
974 - if (element.properties.width !== 'auto') {
975 - 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));
976 - }
977 - properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
978 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1489 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
979 1490 }
980 1491 }
981 -
982 - var obj = e2pdf.element.create(type, page, properties, false, true);
983 - e2pdf.properties.render(obj);
984 - page.append(obj);
985 -
986 - if (element.properties.height === 'auto') {
987 - e2pdf.properties.set(obj, 'height', obj.height());
988 - e2pdf.properties.render(obj);
1492 + dataset_field.data('options', options);
1493 + e2pdf.select2.val(dataset_field, result['dataset']);
1494 + break;
1495 + case 'e2pdf_delete_item':
1496 + case 'e2pdf_delete_items':
1497 + jQuery('.e2pdf-export-template').trigger('change');
1498 + break;
1499 + case 'e2pdf_activate_template':
1500 + case 'e2pdf_deactivate_template':
1501 + if (result == 'activated') {
1502 + el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1503 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1504 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1505 + }
1506 + } else {
1507 + el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1508 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1509 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1510 + }
989 1511 }
1512 + break;
1513 + case 'e2pdf_auto':
1514 + var hidden_elements = [];
1515 + var elements = result.elements;
1516 + var width = parseFloat(e2pdf.pdf.settings.get('width'));
1517 + var height = parseFloat(e2pdf.pdf.settings.get('height'));
1518 + e2pdf.pages.changeTplSize(width, height);
1519 + e2pdf.pages.createPage();
1520 + jQuery('.ui-dialog-content').dialog('close');
1521 + var i = 1;
1522 + var page = jQuery('.e2pdf-page').last();
1523 + var auto = {
1524 + 'block': {
1525 + 'top': 0,
1526 + 'left': 0,
1527 + 'right': 0,
1528 + 'bottom': 0,
1529 + 'width': 0,
1530 + 'page': page.attr('data-page_id')
1531 + },
1532 + 'element': {
1533 + 'top': 0,
1534 + 'left': 0,
1535 + 'right': 0,
1536 + 'bottom': 0,
1537 + 'width': 0,
1538 + 'properties': {}
1539 + },
1540 + page: {
1541 + 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1542 + 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1543 + 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1544 + 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1545 + }
1546 + };
1547 + for (var key in elements) {
1548 + var element = elements[key];
1549 + var type = element.type;
1550 + var properties = {};
1551 + element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1552 + element['block'] = typeof element.block === 'undefined' ? false : element.block;
1553 + element['float'] = typeof element.float === 'undefined' ? false : element.float;
1554 + element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1555 + element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1556 + element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1557 + element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1558 + element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1559 + element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1560 + for (var property in element.properties) {
1561 + properties[property] = element.properties[property];
1562 + }
990 1563
991 - if (!element.block
992 - && element.float
993 - && auto.block.width > 0
994 - && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
995 - e2pdf.properties.set(obj, 'left', auto.block.left);
996 - e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
997 - e2pdf.properties.render(obj);
998 - }
999 -
1000 - if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1001 - if (page.is(':last-child')) {
1002 - if (e2pdfParams['license_type'] == 'FREE') {
1003 - obj.remove();
1004 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
1005 - return;
1006 - }
1007 -
1008 - if (page.find('.e2pdf-element').not(obj).length > 0) {
1009 - e2pdf.pages.createPage();
1564 + if (element.block) {
1565 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
1566 + if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
1567 + page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
1568 + properties['left'] = auto.block.right + parseFloat(properties.left);
1569 + properties['top'] = auto.block.top;
1570 + } else {
1010 1571 page = jQuery('.e2pdf-page').last();
1572 + auto.block['bottom'] = 0;
1573 + page.find('.e2pdf-element').each(function () {
1574 + auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
1575 + });
1576 + properties['left'] = parseFloat(properties.left);
1577 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
1011 1578 }
1012 1579 } else {
1013 - if (page.find('.e2pdf-element').not(obj).length > 0) {
1014 - page = page.next('.e2pdf-page');
1580 + if (element.float) {
1581 + if (element.properties.width !== 'auto') {
1582 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1583 + if (auto.element.properties.width === 'auto') {
1584 + properties['width'] = properties['width'] - auto.element.width;
1585 + }
1586 + }
1587 + properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1588 + properties['top'] = auto.element.top;
1589 + } else {
1590 + if (element.properties.width !== 'auto') {
1591 + properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1592 + }
1593 + properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
1594 + properties['top'] = auto.block.bottom + parseFloat(properties.top);
1015 1595 }
1016 1596 }
1017 1597
1018 - e2pdf.element.delete(obj);
1019 -
1020 - if (element.properties.height === 'auto') {
1021 - properties['height'] = element.properties.height;
1022 - }
1023 -
1024 - auto.block['bottom'] = auto.page.top;
1025 - properties['top'] = auto.block.bottom;
1026 -
1027 - obj = e2pdf.element.create(type, page, properties, false, true);
1598 + var obj = e2pdf.element.create(type, page, properties, false, true);
1028 1599 e2pdf.properties.render(obj);
1029 1600 page.append(obj);
1601 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1602 + e2pdf.actions.apply(obj, element.actions);
1603 + }
1030 1604
1031 1605 if (element.properties.height === 'auto') {
1032 1606 e2pdf.properties.set(obj, 'height', obj.height());
1033 1607 e2pdf.properties.render(obj);
1608 + } else if (element.properties.height === 'max') {
1609 + e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1610 + e2pdf.properties.render(obj);
1034 1611 }
1035 1612
1613 + if (!element.block
1614 + && element.float
1615 + && auto.block.width > 0
1616 + && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1617 + e2pdf.properties.set(obj, 'left', auto.block.left);
1618 + e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1619 + e2pdf.properties.render(obj);
1620 + }
1621 +
1036 1622 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1037 - e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1623 + if (page.is(':last-child')) {
1624 + if (e2pdf_params['license_type'] == 'FREE') {
1625 + obj.remove();
1626 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1627 + return;
1628 + }
1629 +
1630 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1631 + e2pdf.pages.createPage();
1632 + page = jQuery('.e2pdf-page').last();
1633 + }
1634 + } else {
1635 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1636 + page = page.next('.e2pdf-page');
1637 + }
1638 + }
1639 +
1640 + e2pdf.element.delete(obj);
1641 + if (element.properties.height === 'auto') {
1642 + properties['height'] = element.properties.height;
1643 + }
1644 +
1645 + auto.block['bottom'] = auto.page.top;
1646 + properties['top'] = auto.block.bottom;
1647 + obj = e2pdf.element.create(type, page, properties, false, true);
1038 1648 e2pdf.properties.render(obj);
1039 - e2pdf.properties.set(obj, 'top', properties['top']);
1040 - e2pdf.properties.render(obj);
1649 + page.append(obj);
1650 + if (element.properties.height === 'auto') {
1651 + e2pdf.properties.set(obj, 'height', obj.height());
1652 + e2pdf.properties.render(obj);
1653 + }
1654 +
1655 + if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1656 + e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1657 + e2pdf.properties.render(obj);
1658 + e2pdf.properties.set(obj, 'top', properties['top']);
1659 + e2pdf.properties.render(obj);
1660 + }
1041 1661 }
1042 - }
1043 1662
1044 - auto.element = {
1045 - 'top': e2pdf.properties.getValue(obj, 'top'),
1046 - 'left': e2pdf.properties.getValue(obj, 'left'),
1047 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1048 - 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1049 - 'width': e2pdf.properties.getValue(obj, 'width'),
1050 - 'properties': element.properties
1051 - };
1052 -
1053 - if (element.block) {
1054 - auto.block = {
1663 + auto.element = {
1055 1664 'top': e2pdf.properties.getValue(obj, 'top'),
1056 1665 'left': e2pdf.properties.getValue(obj, 'left'),
1057 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1666 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1058 1667 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1059 1668 'width': e2pdf.properties.getValue(obj, 'width'),
1060 - 'page': page.attr('data-page_id')
1669 + 'properties': element.properties
1061 1670 };
1062 - } else {
1063 - auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1671 + if (element.block) {
1672 + auto.block = {
1673 + 'top': e2pdf.properties.getValue(obj, 'top'),
1674 + 'left': e2pdf.properties.getValue(obj, 'left'),
1675 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1676 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1677 + 'width': e2pdf.properties.getValue(obj, 'width'),
1678 + 'page': page.attr('data-page_id')
1679 + };
1680 + } else {
1681 + auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1682 + }
1683 + if (element.hidden) {
1684 + hidden_elements.push(obj);
1685 + }
1686 + i++;
1064 1687 }
1065 - i++;
1066 - }
1688 + hidden_elements.forEach(function (element) {
1689 + e2pdf.element.delete(element);
1690 + });
1691 + break;
1692 + case 'e2pdf_bulk_action':
1693 + if (result.action == 'delete') {
1694 + el.closest('.e2pdf-bulk').remove();
1695 + if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1696 + jQuery('.e2pdf-bulks-list').remove();
1697 + }
1698 + } else if (result.action == 'stop' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1699 + el.closest('.e2pdf-bulk').attr('status', 'stop');
1700 + el.attr('action', 'start').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-play'}));
1701 + } else if (result.action == 'start' && el.closest('.e2pdf-bulk').attr('status') != 'completed') {
1702 + el.closest('.e2pdf-bulk').attr('status', 'pending');
1703 + el.attr('action', 'stop').html(jQuery('<i>', {'class': 'dashicons dashicons-controls-pause'}));
1704 + }
1705 + break;
1706 + case 'e2pdf_bulk_progress':
1707 + for (var key in result.bulks) {
1708 + var bulk = result.bulks[key];
1709 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-count').html(bulk['count']);
1710 + if (bulk['status'] == 'completed') {
1711 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').attr('status', 'completed');
1712 + jQuery('.e2pdf-bulk[bulk="' + bulk['ID'] + '"]').find('.e2pdf-bulk-action:not([action="delete"])').replaceWith(
1713 + jQuery('<a>', {'class': 'e2pdf-link', 'href': e2pdf.url.build('e2pdf', 'action=bulk&uid=' + bulk['uid'])}).append(
1714 + jQuery('<i>', {'class': 'dashicons dashicons-download'})
1715 + ));
1716 + }
1717 + }
1718 + break;
1719 + default:
1720 + break;
1067 1721 }
1068 1722 }
1069 1723 },
1070 - //e2pdf.dialog
1724 + // e2pdf.dialog
1071 1725 dialog: {
1072 - //e2pdf.dialog.create
1726 + top: null,
1727 + left: null,
1728 + center: true,
1729 + // e2pdf.dialog.create
1073 1730 create: function (el) {
1074 1731 e2pdf.dialog.close();
1075 1732 var modal = el.attr('data-modal');
1076 1733 var title = el.attr('data-modal-title');
@@ -1077,21 +1734,21 @@
1077 1734 var noclose = false;
1078 1735 var width = '600';
1079 1736 var height = '600';
1080 1737 if (modal === 'license-key') {
1081 - width = '300';
1738 + width = '400';
1082 1739 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1083 - jQuery('<form>', {'id': 'license_key'}).append(
1740 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1084 1741 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1085 1742 jQuery('<span>', {'class': 'spinner'})
1086 1743 ),
1087 1744 jQuery('<ul>').append(
1088 1745 jQuery('<li>').append(
1089 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1090 - jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100'})
1746 + jQuery('<label>', {'class': 'e2pdf-mb5'}).html(e2pdf.lang.get('License Key') + ':'),
1747 + jQuery('<input>', {'type': 'text', 'name': 'license_key', 'class': 'e2pdf-w100 e2pdf-enter'})
1091 1748 ),
1092 1749 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1093 - jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdfLang['Submit']})
1750 + jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdf.lang.get('Apply'), '_wpnonce': e2pdf_params['nonce']['e2pdf_license']})
1094 1751 )
1095 1752 )
1096 1753 )
1097 1754 );
@@ -1096,22 +1753,21 @@
1096 1753 )
1097 1754 );
1098 1755 } else if (modal === 'properties') {
1099 1756 for (var key in e2pdf.element.selected) {
1100 - var title = e2pdfLang['Properties'];
1757 + var title = e2pdf.lang.get('Properties');
1101 1758 var selected = e2pdf.element.selected[key];
1102 - var properties = e2pdf.properties.get(selected);
1103 1759 var fields = e2pdf.properties.renderFields(selected);
1104 1760 var content = jQuery('<div>').append(
1105 1761 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1106 1762 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1107 1763 fields
1108 - ),
1109 1764 )
1765 + )
1110 1766 );
1111 1767 }
1112 1768 } else if (modal === 'page-options') {
1113 - var title = e2pdfLang['Page Options'];
1769 + var title = e2pdf.lang.get('Page Options');
1114 1770 var page = el.closest('.e2pdf-page');
1115 1771 var readonly_size = false;
1116 1772 if (e2pdf.pdf.settings.get('pdf')) {
1117 1773 readonly_size = true;
@@ -1121,49 +1777,66 @@
1121 1777 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1122 1778 jQuery('<span>', {'class': 'spinner'})
1123 1779 ),
1124 1780 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1125 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1781 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1126 1782 )),
1127 1783 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1128 1784 jQuery('<span>', {'class': 'spinner'})
1129 1785 ));
1130 -
1131 1786 var fields = e2pdf.properties.renderFields(page);
1132 -
1133 1787 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1134 1788 fields
1135 1789 ));
1136 -
1790 + } else if (modal === 'tpl-actions') {
1791 + width = '600';
1792 + var title = e2pdf.lang.get('Global Actions');
1793 + var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'));
1794 + var content = jQuery('<div>').append(
1795 + jQuery('<form>', {'id': 'e2pdf-tpl-actions'}).append(
1796 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1797 + fields
1798 + )
1799 + )
1800 + );
1801 + } else if (modal === 'tpl-properties') {
1802 + width = '600';
1803 + var title = e2pdf.lang.get('Global Properties');
1804 + var fields = e2pdf.properties.renderFields(jQuery('.e2pdf-tpl'), false);
1805 + var content = jQuery('<div>').append(
1806 + jQuery('<form>', {'id': 'e2pdf-tpl-properties'}).append(
1807 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1808 + fields
1809 + )
1810 + )
1811 + );
1137 1812 } else if (modal === 'tpl-options') {
1138 - var noclose = false;
1139 1813 width = '500';
1140 - var title = e2pdfLang['PDF Options'];
1814 + var title = e2pdf.lang.get('Options');
1141 1815 var readonly_size = false;
1142 1816 if (e2pdf.pdf.settings.get('pdf')) {
1143 1817 readonly_size = true;
1144 1818 }
1145 -
1146 1819 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1147 1820 jQuery('<option>',
1148 1821 {
1149 - 'value': '',
1150 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1822 + 'value': ''
1823 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1151 1824 );
1152 - for (var size in e2pdfTemplateSizes) {
1825 + for (var size in e2pdf_params['template_sizes']) {
1153 1826 var option = jQuery('<option>',
1154 1827 {
1155 - 'value': size,
1156 - }).html(size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')');
1828 + 'value': size
1829 + }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1157 1830 sizes.append(option);
1158 1831 }
1159 1832
1160 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1161 - for (var extension in e2pdfTemplateExtensions) {
1833 + var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
1834 + for (var extension in e2pdf_params['extensions']) {
1162 1835 var option = jQuery('<option>',
1163 1836 {
1164 - 'value': extension,
1165 - }).html(e2pdfTemplateExtensions[extension]);
1837 + 'value': extension
1838 + }).html(e2pdf_params['extensions'][extension]);
1166 1839 if (e2pdf.pdf.settings.get('extension') === extension) {
1167 1840 option.attr('selected', 'selected');
1168 1841 }
1169 1842 extensions.append(option);
@@ -1173,9 +1846,9 @@
1173 1846 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1174 1847 jQuery('<span>', {'class': 'spinner'})
1175 1848 ),
1176 1849 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1177 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1850 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1178 1851 )),
1179 1852 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1180 1853 jQuery('<span>', {'class': 'spinner'})
1181 1854 ));
@@ -1190,10 +1863,10 @@
1190 1863 }
1191 1864
1192 1865 content.find('form').append(
1193 1866 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1194 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1195 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
1867 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
1868 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1196 1869 ),
1197 1870 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1198 1871 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1199 1872 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
@@ -1202,18 +1875,16 @@
1202 1875 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1203 1876 )
1204 1877 )
1205 1878 );
1206 -
1207 1879 content.find('form').append(
1208 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1880 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1209 1881 sizes);
1210 -
1211 1882 content.find('form').append(
1212 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1213 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1214 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1215 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
1883 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1884 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1885 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1886 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1216 1887 ),
1217 1888 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1218 1889 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1219 1890 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1225,26 +1896,76 @@
1225 1896 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1226 1897 )
1227 1898 )
1228 1899 );
1229 -
1230 1900 content.find('form').append(
1231 - jQuery('<label>', {'class': 'e2pdf-mt10'}).html(e2pdfLang['Extension'] + ':'),
1901 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1902 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1903 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1904 + ),
1905 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1906 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1907 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1908 + ),
1909 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1910 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1911 + e2pdf.lang.get('RTL')
1912 + )
1913 + )
1914 + );
1915 + content.find('form').append(
1916 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1232 1917 extensions,
1233 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1234 - jQuery('<select>', {'id': 'e2pdf-item', 'name': 'item', 'class': 'e2pdf-item e2pdf-w100'})
1918 + jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
1919 + jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1235 1920 );
1236 -
1237 1921 content.find('form').append(
1238 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
1922 + jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
1923 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1924 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
1925 + ),
1926 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1927 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1928 + jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
1929 + jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
1930 + jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
1931 + jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
1932 + ).val('0'),
1933 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
1934 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
1935 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
1936 + e2pdf.lang.get('Shortcodes')
1937 + )
1938 + )
1939 + )
1940 + )
1941 + )
1239 1942 );
1240 -
1943 + content.find('form').append(
1944 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
1945 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1946 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
1947 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
1948 + ),
1949 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1950 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1951 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
1952 + ),
1953 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1954 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
1955 + )
1956 + )
1957 + )
1958 + );
1959 + content.find('form').append(
1960 + jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
1961 + );
1241 1962 if (e2pdf.pdf.settings.get('pdf')) {
1242 1963 content.find('form').append(
1243 - jQuery('<ul>').append(
1964 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1244 1965 jQuery('<li>'),
1245 1966 jQuery('<li>').append(
1246 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
1967 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
1247 1968 ),
1248 1969 jQuery('<li>')
1249 1970 )
1250 1971 );
@@ -1249,47 +1970,76 @@
1249 1970 )
1250 1971 );
1251 1972 } else {
1252 1973 content.find('form').append(
1253 - jQuery('<ul>').append(
1974 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1254 1975 jQuery('<li>').append(
1255 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
1976 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-w-apply e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Apply'))
1256 1977 ),
1257 1978 jQuery('<li>'),
1258 1979 jQuery('<li>').append(
1259 - 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'])
1980 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
1260 1981 )
1261 1982 )
1262 1983 );
1263 1984 }
1264 1985
1986 + } else if (modal === 'tpl-hooks') {
1987 + width = '600';
1988 + var title = e2pdf.lang.get('Integration Hooks');
1989 + var hooks = e2pdf.hooks.get();
1990 + var checked = e2pdf.hooks.getChecked();
1991 + var fields = jQuery('<div>');
1992 + fields.append(jQuery('<p>', {'class': 'e2pdf-bold'}).html(e2pdf.lang.get('Display PDF Download') + ':'));
1993 + for (var hook in hooks) {
1994 + var option = jQuery('<label>', {'class': 'e2pdf-label e2pdf-w50'}).append(
1995 + jQuery(
1996 + '<input>', {
1997 + 'type': 'checkbox', 'name': 'hooks[]',
1998 + 'class': 'e2pdf-ib',
1999 + 'value': hook,
2000 + 'checked': jQuery.inArray(hook, checked) !== -1 ? 'checked' : false
2001 + }
2002 + )
2003 + ).append(hooks[hook]);
2004 + fields.append(option);
2005 + }
2006 + if (Object.keys(hooks).length === 0) {
2007 + fields.append(jQuery('<p>').html(e2pdf.lang.get('No hooks are available for this extension')));
2008 + }
2009 + var content = jQuery('<div>').append(
2010 + jQuery('<form>', {'id': 'e2pdf-tpl-hooks'}).append(
2011 + jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
2012 + fields
2013 + )
2014 + )
2015 + );
1265 2016 } else if (modal === 'welcome-screen') {
1266 2017 var noclose = true;
1267 2018 width = '500';
1268 - var title = e2pdfLang['Create PDF'];
2019 + var title = e2pdf.lang.get('Create PDF');
1269 2020 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1270 2021 jQuery('<option>',
1271 2022 {
1272 - 'value': '',
1273 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2023 + 'value': ''
2024 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1274 2025 );
1275 -
1276 - for (var size in e2pdfTemplateSizes) {
2026 + for (var size in e2pdf_params['template_sizes']) {
1277 2027 var option = jQuery('<option>',
1278 2028 {
1279 2029 'value': size,
1280 - 'data-width': e2pdfTemplateSizes[size]['width'],
1281 - 'data-height': e2pdfTemplateSizes[size]['height']
1282 - }).html(size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')');
2030 + 'data-width': e2pdf_params['template_sizes'][size]['width'],
2031 + 'data-height': e2pdf_params['template_sizes'][size]['height']
2032 + }).html(size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')');
1283 2033 sizes.append(option);
1284 2034 }
1285 2035
1286 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1287 - for (var extension in e2pdfTemplateExtensions) {
2036 + var extensions = jQuery('<select>', {'name': 'extension', 'class': 'e2pdf-extension e2pdf-w100', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']});
2037 + for (var extension in e2pdf_params['extensions']) {
1288 2038 var option = jQuery('<option>',
1289 2039 {
1290 - 'value': extension,
1291 - }).html(e2pdfTemplateExtensions[extension]);
2040 + 'value': extension
2041 + }).html(e2pdf_params['extensions'][extension]);
1292 2042 if (e2pdf.pdf.settings.get('extension') === extension) {
1293 2043 option.attr('selected', 'selected');
1294 2044 }
1295 2045 extensions.append(option);
@@ -1299,14 +2049,13 @@
1299 2049 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1300 2050 jQuery('<span>', {'class': 'spinner'})
1301 2051 ),
1302 2052 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1303 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2053 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1304 2054 )),
1305 2055 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1306 2056 jQuery('<span>', {'class': 'spinner'})
1307 2057 ));
1308 -
1309 2058 var default_width = '595';
1310 2059 if (e2pdf.pdf.settings.get('width')) {
1311 2060 var default_width = e2pdf.pdf.settings.get('width');
1312 2061 }
@@ -1315,35 +2064,22 @@
1315 2064 if (e2pdf.pdf.settings.get('height')) {
1316 2065 var default_height = e2pdf.pdf.settings.get('height');
1317 2066 }
1318 2067
1319 - var disabled_activation = false;
1320 - if (parseInt(e2pdf.pdf.settings.get('templates_limit')) <= 0 && e2pdf.pdf.settings.get('activated') != '1') {
1321 - disabled_activation = 'disabled';
1322 - }
1323 -
1324 2068 content.find('form').append(
1325 2069 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1326 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w70 e2pdf-pr10'}).html(e2pdfLang['Title'] + ':'),
1327 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10'}).html(e2pdfLang['Status'] + ':')
2070 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
1328 2071 ),
1329 2072 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1330 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w70 e2pdf-pr10'}).append(
2073 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1331 2074 jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
1332 - ),
1333 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10'}).append(
1334 - jQuery('<select>', {'id': 'e2pdf-activated', 'class': 'e2pdf-w100', 'name': 'activated'}).append(
1335 - jQuery('<option>', {'value': '0'}).text(e2pdfLang['Not Activated']),
1336 - jQuery('<option>', {'value': '1', 'disabled': disabled_activation}).text(e2pdfLang['Activated']),
1337 - ).val(e2pdf.pdf.settings.get('activated'))
1338 2075 )
1339 2076 )
1340 2077 );
1341 -
1342 2078 content.find('form').append(
1343 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1344 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1345 - jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
2079 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2080 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2081 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
1346 2082 ),
1347 2083 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1348 2084 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1349 2085 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
@@ -1352,18 +2088,16 @@
1352 2088 jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
1353 2089 )
1354 2090 )
1355 2091 );
1356 -
1357 2092 content.find('form').append(
1358 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2093 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1359 2094 sizes);
1360 -
1361 2095 content.find('form').append(
1362 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1363 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1364 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1365 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
2096 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2097 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2098 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2099 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
1366 2100 ),
1367 2101 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1368 2102 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1369 2103 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1375,24 +2109,73 @@
1375 2109 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1376 2110 )
1377 2111 )
1378 2112 );
1379 -
1380 2113 content.find('form').append(
1381 - jQuery('<label>', {'class': 'e2pdf-mt10'}).html(e2pdfLang['Extension'] + ':'),
2114 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2115 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2116 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2117 + ),
2118 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2119 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2120 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2121 + ),
2122 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2123 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2124 + e2pdf.lang.get('RTL')
2125 + )
2126 + )
2127 + );
2128 + content.find('form').append(
2129 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1382 2130 extensions,
1383 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1384 - jQuery('<select>', {'id': 'e2pdf-item', 'name': 'item', 'class': 'e2pdf-item e2pdf-w100'})
2131 + jQuery('<label>').html(e2pdf.lang.get('Connection') + ':'),
2132 + jQuery('<select>', {'name': 'item', 'class': 'e2pdf-item e2pdf-items e2pdf-w100'})
1385 2133 );
1386 -
1387 2134 content.find('form').append(
1388 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2135 + jQuery('<div>', {'id': 'e2pdf-item-options', 'class': 'e2pdf-hide'}).append(
2136 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2137 + jQuery('<label>', {'class': 'e2pdf-ib'}).html(e2pdf.lang.get('Labels') + ':')
2138 + ),
2139 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2140 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2141 + jQuery('<select>', {'id': 'auto_form_label', 'class': 'e2pdf-w100', 'name': 'auto_form_label'}).append(
2142 + jQuery('<option>', {'value': '0'}).text(e2pdf.lang.get('None')),
2143 + jQuery('<option>', {'value': 'value'}).text(e2pdf.lang.get('Field Values')),
2144 + jQuery('<option>', {'value': 'name'}).text(e2pdf.lang.get('Field Names'))
2145 + ).val('0'),
2146 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-align-right e2pdf-mt5'}).append(
2147 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'}).append(
2148 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': 'auto_form_shortcode', 'value': '1'}),
2149 + e2pdf.lang.get('Shortcodes')
2150 + )
2151 + )
2152 + )
2153 + )
2154 + )
1389 2155 );
1390 -
1391 2156 content.find('form').append(
2157 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
2158 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2159 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
2160 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
2161 + ),
2162 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2163 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
2164 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
2165 + ),
2166 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
2167 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
2168 + )
2169 + )
2170 + )
2171 + );
2172 + content.find('form').append(
2173 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
2174 + );
2175 + content.find('form').append(
1392 2176 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1393 2177 );
1394 -
1395 2178 if (e2pdf.pdf.settings.get('ID')) {
1396 2179 content.find('form').append(
1397 2180 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1398 2181 );
@@ -1398,48 +2181,50 @@
1398 2181 );
1399 2182 }
1400 2183
1401 2184 content.find('form').append(
1402 - jQuery('<ul>').append(
2185 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1403 2186 jQuery('<li>').append(
1404 - 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'])
2187 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-w-empty e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Empty PDF'))
1405 2188 ),
1406 2189 jQuery('<li>').append(
1407 - 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'])
2190 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-w-upload e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF')).append(jQuery('<span>').html(e2pdf.lang.get('Max Upload File Size') + ": " + e2pdf_params['upload_max_filesize']))
1408 2191 ),
1409 2192 jQuery('<li>').append(
1410 - 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'])
2193 + jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-w-auto e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).html(e2pdf.lang.get('Auto PDF'))
1411 2194 )
1412 2195 )
1413 2196 );
1414 2197 } else if (modal === 'visual-mapper') {
1415 - var title = e2pdfLang['Visual Mapper'];
1416 - var content = jQuery('<div>', {'id': 'visual-mapper', 'class': 'visual-mapper'}).append(
2198 + var title = e2pdf.lang.get('Visual Mapper');
2199 + var content = jQuery('<div>', {'class': 'visual-mapper'}).append(
1417 2200 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1418 2201 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1419 2202 jQuery('<span>', {'class': 'spinner'})
1420 2203 )).append(
1421 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1422 - jQuery('<div>', {'id': 'e2pdf-vm-content', 'class': 'e2pdf-vm-content e2pdf-rel'})
2204 + jQuery('<div>', {'class': 'e2pdf-popup-inner'}).append(
2205 + jQuery('<div>', {'class': 'e2pdf-vm-content e2pdf-rel', '_wpnonce': e2pdf_params['nonce']['e2pdf_templates']}).append(
2206 + jQuery('<span>', {'class': 'spinner'})
1423 2207 )
2208 + )
1424 2209 ));
1425 2210 } else if (modal === 'pdf-reupload') {
1426 - var title = e2pdfLang['PDF Upload'];
2211 + var title = e2pdf.lang.get('PDF Upload');
1427 2212 width = '500';
1428 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
2213 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(
2214 + jQuery('<form>', {'id': 'e2pdf-reupload-pdf-form', 'class': 'e2pdf-rel'}).append(
1429 2215 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1430 2216 jQuery('<span>', {'class': 'spinner'})
1431 2217 ),
1432 2218 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1433 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2219 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1434 2220 )),
1435 2221 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1436 2222 jQuery('<span>', {'class': 'spinner'})
1437 2223 ));
1438 2224 content.find('form').append(
1439 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
2225 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
1440 2226 );
1441 -
1442 2227 if (e2pdf.pdf.settings.get('ID')) {
1443 2228 content.find('form').append(
1444 2229 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1445 2230 );
@@ -1447,26 +2232,30 @@
1447 2232
1448 2233 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1449 2234 pages.append(
1450 2235 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1451 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1452 - jQuery('<label>').text(e2pdfLang['Page ID'])
2236 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2237 + jQuery('<label>').text(e2pdf.lang.get('Page ID'))
1453 2238 ),
1454 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1455 - jQuery('<label>').text(e2pdfLang['New Position'])
2239 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
2240 + jQuery('<label>').text(e2pdf.lang.get('Page ID inside Upload PDF'))
1456 2241 ),
1457 2242 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1458 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2243 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1459 2244 ),
1460 2245 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1461 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2246 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1462 2247 )));
1463 -
1464 2248 jQuery('.e2pdf-page').each(function () {
1465 2249 var page_id = jQuery(this).attr('data-page_id');
1466 2250 pages.append(
1467 2251 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1468 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).text(page_id),
2252 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).text(page_id),
2253 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w5 e2pdf-center'}).append(
2254 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-delete-reupload-page'}).append(
2255 + jQuery('<i>', {'class': 'dashicons dashicons-no'})
2256 + )
2257 + ),
1469 2258 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1470 2259 jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
1471 2260 ),
1472 2261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
@@ -1483,9 +2272,9 @@
1483 2272 jQuery('<ul>').append(
1484 2273 jQuery('<li>').append(
1485 2274 ),
1486 2275 jQuery('<li>').append(
1487 - jQuery('<a>', {'id': 'e2pdf-w-reupload', 'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Upload PDF'])
2276 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdf.lang.get('Upload PDF'))
1488 2277 ),
1489 2278 jQuery('<li>').append(
1490 2279 )
1491 2280 )
@@ -1494,56 +2283,134 @@
1494 2283 var content = jQuery('<div>');
1495 2284 }
1496 2285
1497 2286 if (typeof content !== 'undefined') {
2287 +
2288 + var dialog_class = 'e2pdf-dialog';
2289 + if (modal === 'visual-mapper') {
2290 + dialog_class += ' e2pdf-dialog-visual-mapper';
2291 + } else if (modal === 'properties') {
2292 + dialog_class += ' e2pdf-dialog-element-properties';
2293 + dialog_class += ' for-' + selected.data('data-type');
2294 + }
1498 2295 content.dialog({
1499 2296 title: title,
1500 - dialogClass: 'e2pdf-dialog',
2297 + dialogClass: dialog_class,
1501 2298 modal: true,
1502 2299 width: width,
1503 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1504 - resizable: false,
1505 - minHeight: 0,
1506 - my: "center",
1507 - at: "center",
2300 + height: Math.min(height, jQuery(window).height() - 200),
2301 + resizable: modal === 'visual-mapper' || modal === 'properties' || modal === 'page-options' || modal === 'tpl-actions' || modal === 'tpl-properties' ? true : false,
2302 + minWidth: 200,
2303 + closeText: '',
2304 + my: 'center',
2305 + at: 'center',
2306 + of: window,
1508 2307 open: function (event, ui) {
2308 + jQuery('html').css('overflow', 'hidden');
2309 + jQuery('.e2pdf-dialog').css('min-height', '150');
1509 2310 if (noclose) {
1510 - jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).remove();
2311 + jQuery(".ui-dialog-titlebar-close", ui.dialog | ui).off().click(function (e) {
2312 + location.href = e2pdf.url.build('e2pdf-templates');
2313 + e.preventDefault();
2314 + });
1511 2315 } else {
1512 2316 jQuery('.ui-widget-overlay').bind('click', function ()
1513 2317 {
2318 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2319 + return;
2320 + }
1514 2321 content.dialog('close');
1515 2322 });
1516 2323 }
1517 2324
1518 - var dialog_height = jQuery('.e2pdf-dialog').height();
1519 -
1520 2325 if (modal === 'properties') {
1521 2326 jQuery(".ui-dialog-titlebar").after(
1522 2327 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1523 - jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2328 + jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-noclose', 'value': e2pdf.lang.get('Apply')}),
2329 + jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small e2pdf-ml5', 'value': e2pdf.lang.get('Save')})
1524 2330 )
1525 2331 );
2332 + } else if (modal === 'tpl-actions') {
2333 + jQuery(".ui-dialog-titlebar").after(
2334 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2335 + jQuery('<input>', {'form-id': "e2pdf-tpl-actions", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2336 + )
2337 + );
2338 + } else if (modal === 'tpl-properties') {
2339 + jQuery(".ui-dialog-titlebar").after(
2340 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2341 + jQuery('<input>', {'form-id': "e2pdf-tpl-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2342 + )
2343 + );
2344 + } else if (modal === 'tpl-hooks') {
2345 + jQuery(".ui-dialog-titlebar").after(
2346 + jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
2347 + jQuery('<input>', {'form-id': "e2pdf-tpl-hooks", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
2348 + )
2349 + );
2350 + } else if (modal === 'visual-mapper') {
2351 + jQuery(".ui-dialog-titlebar").after(
2352 + jQuery('<div>', {'class': 'e2pdf-dialog-over'}).append(
2353 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2354 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w40 e2pdf-pr10'}).append(
2355 + jQuery('<input>', {'type': 'text', 'name': 'vm_search', 'class': 'e2pdf-ib e2pdf-w100 e2pdf-hide', 'value': '', 'placeholder': e2pdf.lang.get('Filter...')})
2356 + ),
2357 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-align-right'}).append(
2358 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pr10'}).append(
2359 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_hidden', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.hidden ? 'checked' : false})
2360 + ).append(e2pdf.lang.get('Hidden Fields')),
2361 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10 e2pdf-pr10'}).append(
2362 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_replace', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.replace ? 'checked' : false})
2363 + ).append(e2pdf.lang.get('Replace Value')),
2364 + jQuery('<label>', {'class': 'e2pdf-label e2pdf-wauto e2pdf-pl10'}).append(
2365 + jQuery('<input>', {'type': 'checkbox', 'name': 'vm_close', 'class': 'e2pdf-ib', 'value': '1', 'checked': e2pdf.static.vm.close ? 'checked' : false})
2366 + ).append(e2pdf.lang.get('Auto-Close'))
2367 + )
2368 + )
2369 + )
2370 + );
1526 2371 } else if (modal === 'page-options') {
1527 2372 jQuery(".ui-dialog-titlebar").after(
1528 2373 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1529 - jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2374 + jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
1530 2375 )
1531 2376 );
1532 2377 }
1533 -
1534 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1535 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1536 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
2378 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
1537 2379 },
1538 2380 closeOnEscape: modal === 'welcome-screen' || modal === 'tpl-options' ? false : true,
2381 + beforeClose: function (event, ui) {
2382 + e2pdf.dialog.center = true;
2383 + },
2384 + dragStop: function (event, ui) {
2385 + e2pdf.dialog.center = false;
2386 + },
2387 + resizeStart: function (event, ui) {
2388 + },
2389 + resize: function (event, ui) {
2390 + var max_height = jQuery('.e2pdf-dialog').height();
2391 + var min_height = 0;
2392 + if (jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').length > 0) {
2393 + min_height += jQuery('.e2pdf-dialog').find('.ui-dialog-titlebar').outerHeight();
2394 + }
2395 + if (jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').length > 0) {
2396 + min_height += jQuery('.e2pdf-dialog').find('.e2pdf-dialog-over').outerHeight();
2397 + }
2398 + jQuery('.e2pdf-dialog').css('min-height', Math.max(150, min_height + 50));
2399 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': max_height - min_height});
2400 + },
2401 + resizeStop: function (event, ui) {
2402 + e2pdf.dialog.center = false;
2403 + },
1539 2404 close: function (event, ui)
1540 2405 {
2406 + jQuery('html').css('overflow', 'auto');
1541 2407 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1542 2408 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1543 2409 jQuery(this).click();
1544 2410 });
1545 2411 }
2412 + e2pdf.visual.mapper.selected = null;
1546 2413 jQuery(this).remove();
1547 2414 }
1548 2415 });
1549 2416 }
@@ -1548,54 +2415,58 @@
1548 2415 });
1549 2416 }
1550 2417
1551 2418 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1552 - jQuery('#e2pdf-extension').trigger('change');
1553 - } else if (modal === 'properties') {
1554 - jQuery('.e2pdf-scale-field').each(function () {
1555 - jQuery(this).trigger('change');
1556 - });
2419 + jQuery('.e2pdf-extension').trigger('change');
1557 2420 } else if (modal === 'visual-mapper') {
1558 2421 var data = {};
1559 2422 data['extension'] = e2pdf.pdf.settings.get('extension');
1560 2423 data['item'] = e2pdf.pdf.settings.get('item');
1561 - e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('#e2pdf-vm-content'), data);
2424 + data['item1'] = e2pdf.pdf.settings.get('item1');
2425 + data['item2'] = e2pdf.pdf.settings.get('item2');
2426 + e2pdf.request.submitRequest('e2pdf_visual_mapper', jQuery('.e2pdf-vm-content'), data);
1562 2427 }
2428 +
2429 + if (modal !== 'visual-mapper') {
2430 + e2pdf.dialog.rebuild();
2431 + }
2432 +
1563 2433 e2pdf.event.fire('after.dialog.create');
1564 2434 },
1565 - //e2pdf.dialog.close
2435 + // e2pdf.dialog.close
1566 2436 close: function () {
1567 2437 if (jQuery('.e2pdf-dialog').length > 0) {
1568 2438 jQuery('.ui-dialog-content').dialog('close');
1569 2439 }
1570 2440 },
1571 - //e2pdf.dialog.rebuild
2441 + // e2pdf.dialog.rebuild
2442 +
1572 2443 rebuild: function () {
1573 - if (jQuery('.e2pdf-dialog').length > 0) {
1574 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1575 - var width = dialog.data("ui-dialog").options.width;
1576 - var height = 600;
1577 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1578 - var dialog_height = jQuery('.e2pdf-dialog').height();
1579 -
1580 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1581 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1582 -
2444 + if (jQuery('.e2pdf-dialog').not('.ui-dialog-resizing').length > 0) {
2445 + if (jQuery('.e2pdf-dialog').width() > jQuery(window).width()) {
2446 + jQuery('.e2pdf-dialog').width(jQuery(window).width() - 100);
2447 + }
2448 + if (e2pdf.dialog.center) {
2449 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').dialog('option', 'position', {my: 'center', at: 'center', of: window});
2450 + }
1583 2451 e2pdf.visual.mapper.rebuild();
1584 2452 }
1585 2453 }
1586 2454 },
1587 - //e2pdf.mediaUploader
2455 + // e2pdf.mediaUploader
1588 2456 mediaUploader: {
1589 - //e2pdf.mediaUploader.init
2457 + // e2pdf.mediaUploader.init
1590 2458 init: function (el) {
1591 2459 var mediaUploader;
1592 2460 mediaUploader = wp.media.frames.file_frame = wp.media({
1593 - title: e2pdfLang['Choose Image'],
2461 + title: e2pdf.lang.get('Media Library'),
1594 2462 button: {
1595 - text: e2pdfLang['Choose Image']
2463 + text: e2pdf.lang.get('Select')
1596 2464 }, multiple: false});
1597 2465 mediaUploader.on('select', function () {
2466 + var history = [];
2467 + history.push(el.clone(true));
2468 + e2pdf.history.set('element_change', history);
1598 2469 var attachment = mediaUploader.state().get('selection').first().toJSON();
1599 2470 e2pdf.properties.set(el, 'value', attachment.url);
1600 2471 e2pdf.properties.render(el);
1601 2472 e2pdf.event.fire('after.mediaUploader.select');
@@ -1602,12 +2473,12 @@
1602 2473 });
1603 2474 mediaUploader.open();
1604 2475 }
1605 2476 },
1606 - //e2pdf.actions
2477 + // e2pdf.actions
1607 2478 actions: {
1608 - //e2pdf.actions.add
1609 - add: function (el, target) {
2479 + // e2pdf.actions.add
2480 + add: function (el, target, action) {
1610 2481 var last_id = -1;
1611 2482 target.find('.e2pdf-action').each(function () {
1612 2483 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1613 2484 if (num_id > last_id) {
@@ -1614,41 +2485,66 @@
1614 2485 last_id = num_id;
1615 2486 }
1616 2487 });
1617 2488 var action_id = parseInt(last_id + 1);
1618 - target.append(e2pdf.actions.renderField(el, action_id));
2489 + if (action) {
2490 + target.append(e2pdf.actions.renderField(el, action_id, action));
2491 + } else {
2492 + target.append(e2pdf.actions.renderField(el, action_id));
2493 + }
2494 +
1619 2495 },
1620 - //e2pdf.actions.change
1621 - change: function (action) {
2496 + // e2pdf.actions.change
2497 + change: function (action, trigger) {
1622 2498 var action_id = action.attr("data-action_id");
1623 2499 var form = action.closest('form');
1624 2500 var data = e2pdf.form.serializeObject(form);
1625 2501 var el = false;
1626 -
1627 2502 if (form.attr('id') === 'e2pdf-page-options') {
1628 2503 el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2504 + } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2505 + el = jQuery('.e2pdf-tpl');
1629 2506 } else {
1630 2507 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1631 2508 }
1632 2509
1633 - data['actions'][action_id]['change'] = '';
2510 + var formatRegex = new RegExp('actions\\[\\d+\\]\\[format\\]');
2511 + if (!formatRegex.test(trigger.attr('name'))) {
2512 + data['actions'][action_id]['change'] = '';
2513 + }
1634 2514
1635 2515 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1636 -
1637 2516 e2pdf.event.fire('after.actions.change');
1638 2517 },
1639 - //e2pdf.actions.delete
2518 + // e2pdf.actions.duplicate
2519 + duplicate: function (action) {
2520 + var actions = action.closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
2521 + var action_id = action.attr("data-action_id");
2522 + var form = action.closest('form');
2523 + var data = e2pdf.form.serializeObject(form);
2524 + var el = false;
2525 + if (form.attr('id') === 'e2pdf-page-options') {
2526 + el = jQuery('.e2pdf-page[data-page_id="' + data.page_id + '"]');
2527 + } else if (form.attr('id') === 'e2pdf-tpl-actions') {
2528 + el = jQuery('.e2pdf-tpl');
2529 + } else {
2530 + el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
2531 + }
2532 + e2pdf.actions.add(el, actions, data['actions'][action_id]);
2533 + e2pdf.event.fire('after.actions.change');
2534 + },
2535 + // e2pdf.actions.delete
2536 +
1640 2537 delete: function (action) {
1641 2538 action.remove();
1642 2539 },
1643 - //e2pdf.actions.conditions
2540 + // e2pdf.actions.conditions
1644 2541 conditions: {
1645 - //e2pdf.actions.conditions.add
2542 + // e2pdf.actions.conditions.add
1646 2543 add: function (el, target) {
1647 2544 var action = target.closest('.e2pdf-action');
1648 2545 var action_id = action.attr('data-action_id');
1649 2546 var last_id = -1;
1650 -
1651 2547 target.find('.e2pdf-condition').each(function () {
1652 2548 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1653 2549 if (num_id > last_id) {
1654 2550 last_id = num_id;
@@ -1654,14 +2550,13 @@
1654 2550 last_id = num_id;
1655 2551 }
1656 2552 });
1657 2553 var condition_id = parseInt(last_id + 1);
1658 -
1659 2554 action.find('.e2pdf-conditions').append(
1660 2555 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1661 2556 );
1662 2557 },
1663 - //e2pdf.actions.conditions.getFields
2558 + // e2pdf.actions.conditions.getFields
1664 2559 getFields: function (el, action_id, condition_id, condition) {
1665 2560 var obj = {
1666 2561 'condition': {
1667 2562 'fields': [
@@ -1666,31 +2561,29 @@
1666 2561 'condition': {
1667 2562 'fields': [
1668 2563 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1669 2564 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1670 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2565 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1671 2566 ],
1672 2567 'classes': [
1673 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2568 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1674 2569 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1675 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1676 - ],
1677 - },
1678 -
2570 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2571 + ]
2572 + }
1679 2573 };
1680 2574 return obj;
1681 2575 },
1682 - //e2pdf.actions.conditions.getField
2576 + // e2pdf.actions.conditions.getField
1683 2577 getField: function (field, el, action_id, condition_id, condition) {
1684 2578 var obj = false;
1685 -
1686 2579 switch (field) {
1687 2580 case 'if':
1688 2581 var value = condition ? condition.if : '';
1689 2582 obj = {
1690 - 'name': e2pdfLang['If'],
2583 + 'name': e2pdf.lang.get('If'),
1691 2584 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1692 - 'type': 'text',
2585 + 'type': 'textarea',
1693 2586 'value': value,
1694 2587 'atts': []
1695 2588 };
1696 2589 break;
@@ -1695,11 +2588,10 @@
1695 2588 };
1696 2589 break;
1697 2590 case 'condition':
1698 2591 var value = condition ? condition.condition : '=';
1699 -
1700 2592 obj = {
1701 - 'name': e2pdfLang['Condition'],
2593 + 'name': e2pdf.lang.get('Condition'),
1702 2594 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1703 2595 'type': 'select',
1704 2596 'value': value,
1705 2597 'options': [
@@ -1708,10 +2600,16 @@
1708 2600 {'>': '>'},
1709 2601 {'>=': '>='},
1710 2602 {'<': '<'},
1711 2603 {'<=': '<='},
1712 - {'like': 'LIKE'},
1713 - {'not_like': 'NOT LIKE'}
2604 + {'like': e2pdf.lang.get('Contains')},
2605 + {'not_like': e2pdf.lang.get('Not Contains')},
2606 + {'in_array': e2pdf.lang.get('In Array')},
2607 + {'not_in_array': e2pdf.lang.get('Not In Array')},
2608 + {'in_list': e2pdf.lang.get('In List')},
2609 + {'not_in_list': e2pdf.lang.get('Not In List')},
2610 + {'array_key_exists': e2pdf.lang.get('Array Key Exists')},
2611 + {'array_key_not_exists': e2pdf.lang.get('Array Key Not Exists')}
1714 2612 ],
1715 2613 'atts': []
1716 2614 };
1717 2615 break;
@@ -1717,33 +2615,30 @@
1717 2615 break;
1718 2616 case 'value':
1719 2617 var value = condition ? condition.value : '';
1720 2618 obj = {
1721 - 'name': e2pdfLang['Value'],
2619 + 'name': e2pdf.lang.get('Value'),
1722 2620 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1723 - 'type': 'text',
2621 + 'type': 'textarea',
1724 2622 'value': value,
1725 2623 'atts': []
1726 2624 };
1727 2625 break;
1728 2626 }
1729 -
1730 2627 return obj;
1731 2628 },
1732 - //e2pdf.actions.conditions.delete
2629 + // e2pdf.actions.conditions.delete
1733 2630 delete: function (condition) {
1734 2631 condition.remove();
1735 2632 },
1736 - //e2pdf.actions.conditions.renderField
2633 + // e2pdf.actions.conditions.renderField
1737 2634 renderField: function (el, action_id, condition_id, condition) {
1738 2635 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1739 -
1740 2636 if (groups) {
1741 2637 for (var group_key in groups) {
1742 2638
1743 2639 var group = groups[group_key];
1744 2640 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1745 -
1746 2641 for (var field_key in group.fields) {
1747 2642 var group_field = group.fields[field_key];
1748 2643 var classes = '';
1749 2644 if (group.classes) {
@@ -1754,9 +2649,8 @@
1754 2649
1755 2650 var field = '';
1756 2651 var label = '';
1757 2652 var wrap = '';
1758 -
1759 2653 if (group_field.type === 'text') {
1760 2654 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1761 2655 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1762 2656 } else if (group_field.type === 'hidden') {
@@ -1767,17 +2661,14 @@
1767 2661 } else if (group_field.type === 'checkbox') {
1768 2662 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1769 2663 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1770 2664 if (group_field.value == group_field.option) {
1771 - field.attr('checked', 'checked');
2665 + field.prop('checked', true);
1772 2666 }
1773 2667 } else if (group_field.type === 'color') {
1774 2668 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1775 2669 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1776 2670 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1777 - if (group_field.key === 'border_color') {
1778 - field.attr('data-default', '#000000');
1779 - }
1780 2671 } else if (group_field.type === 'select') {
1781 2672 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1782 2673 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1783 2674 for (var option_key in group_field.options) {
@@ -1796,9 +2687,9 @@
1796 2687 }
1797 2688 }
1798 2689 }
1799 2690
1800 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w15 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
2691 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w10 e2pdf-pl5 e2pdf-mt23 e2pdf-center'}).append(
1801 2692 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1802 2693 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1803 2694 ),
1804 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1803,26 +2694,26 @@
1803 2694 ),
1804 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1805 2696 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1806 2697 )));
1807 -
1808 - var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition', 'data-condition_id': condition_id}).append(
2698 + var new_condition = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-condition e2pdf-w100', 'data-condition_id': condition_id}).append(
2699 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
2700 + jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
2701 + ),
1809 2702 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1810 2703 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1811 2704 ),
1812 2705 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1813 - grid,
2706 + grid
1814 2707 )
1815 2708 );
1816 2709 return new_condition;
1817 2710 }
1818 2711 },
1819 -
1820 - //e2pdf.actions.get
2712 + // e2pdf.actions.get
1821 2713 get: function (el) {
1822 2714 var actions = [];
1823 -
1824 - if (typeof el.data('data-properties') !== 'undefined') {
2715 + if (typeof el.data('data-actions') !== 'undefined') {
1825 2716 actions = JSON.parse(el.data('data-actions'));
1826 2717 actions = Object.values(actions).sort(function (a, b) {
1827 2718 if (parseInt(a.order) === parseInt(b.order)) {
1828 2719 return 0;
@@ -1831,9 +2722,9 @@
1831 2722 });
1832 2723 }
1833 2724 return actions;
1834 2725 },
1835 - //e2pdf.actions.apply
2726 + // e2pdf.actions.apply
1836 2727 apply: function (el, data) {
1837 2728 if (!data) {
1838 2729 data = [];
1839 2730 }
@@ -1838,18 +2729,16 @@
1838 2729 data = [];
1839 2730 }
1840 2731 el.data('data-actions', JSON.stringify(data));
1841 2732 },
1842 - //e2pdf.actions.getField
2733 + // e2pdf.actions.getField
1843 2734 getField: function (field, el, action_id, action) {
1844 -
1845 2735 var obj = false;
1846 -
1847 2736 switch (field) {
1848 2737 case 'order':
1849 2738 var value = action ? action.order : '0';
1850 2739 obj = {
1851 - 'name': e2pdfLang['Order'],
2740 + 'name': e2pdf.lang.get('Sort'),
1852 2741 'key': 'actions[' + action_id + '][order]',
1853 2742 'type': 'text',
1854 2743 'value': value,
1855 2744 'atts': ['number']
@@ -1854,74 +2743,228 @@
1854 2743 'value': value,
1855 2744 'atts': ['number']
1856 2745 };
1857 2746 break;
2747 + case 'format':
2748 + var value = action && typeof action.format !== 'undefined' ? action.format : 'replace';
2749 + obj = {
2750 + 'name': e2pdf.lang.get('Format'),
2751 + 'key': 'actions[' + action_id + '][format]',
2752 + 'type': 'select',
2753 + 'value': value,
2754 + 'options': [
2755 + {'insert_before': e2pdf.lang.get('Insert Before')},
2756 + {'insert_after': e2pdf.lang.get('Insert After')},
2757 + {'replace': e2pdf.lang.get('Full Replacement')},
2758 + {'search': e2pdf.lang.get('Search / Replace')},
2759 + ],
2760 + 'atts': []
2761 + };
2762 + break;
2763 + case 'search':
2764 + var value = action && typeof action.search !== 'undefined' ? action.search : '';
2765 + obj = {
2766 + 'name': 'Search',
2767 + 'key': 'actions[' + action_id + '][search]',
2768 + 'type': 'textarea',
2769 + 'value': value,
2770 + 'atts': []
2771 + };
2772 + break;
2773 + case 'pre_replace':
2774 + var value = action && typeof action.pre_replace !== 'undefined' ? action.pre_replace : '';
2775 + obj = {
2776 + 'name': e2pdf.lang.get('Pre-Replace'),
2777 + 'key': 'actions[' + action_id + '][pre_replace]',
2778 + 'type': 'select',
2779 + 'value': value,
2780 + 'options': [
2781 + {'': '-'},
2782 + {'render': e2pdf.lang.get('Render Value')}
2783 + ],
2784 + 'atts': []
2785 + };
2786 + break;
1858 2787 case 'action':
1859 - var value = action ? action.action : 'hide';
2788 + if (el.data('data-type') == 'e2pdf-tpl') {
2789 + var value = action ? action.action : 'access_by_url';
2790 + // backward compatibility
2791 + value = value.replace('restrict_process_shortcode_', '');
2792 + value = value.replace('process_shortcode_', '');
2793 + value = value.replace('restrict_process_', '');
2794 + value = value.replace('process_', '');
2795 + value = value.replace('restrict_', '');
2796 + var options = [
2797 + {'access_by_url': e2pdf.lang.get('PDF Access By URL')},
2798 + {'redirect_access_by_url': e2pdf.lang.get('Redirect Access By URL')},
2799 + {'shortcodes': e2pdf.lang.get('Shortcodes: All')},
2800 + {'e2pdf_download': e2pdf.lang.get('Shortcode: e2pdf-download')},
2801 + {'e2pdf_attachment': e2pdf.lang.get('Shortcode: e2pdf-attachment')},
2802 + {'e2pdf_view': e2pdf.lang.get('Shortcode: e2pdf-view')},
2803 + {'e2pdf_save': e2pdf.lang.get('Shortcode: e2pdf-save')},
2804 + {'e2pdf_zapier': e2pdf.lang.get('Shortcode: e2pdf-zapier')},
2805 + {'e2pdf_adobesign': e2pdf.lang.get('Shortcode: e2pdf-adobesign')},
2806 + ];
2807 + var hooks = e2pdf.hooks.get();
2808 + if (Object.keys(hooks).length > 0) {
2809 + options.push({'hooks': 'Hooks: All'});
2810 + for (var hook in hooks) {
2811 + options.push({[hook]: 'Hook: ' + hooks[hook]});
2812 + }
2813 + }
2814 + if (!options.some(opt => Object.keys(opt)[0] === value)) {
2815 + options.push({[value]: value});
2816 + }
2817 + } else if (el.data('data-type') == 'e2pdf-page') {
2818 + var value = action ? action.action : 'hide';
2819 + var options = [
2820 + {'hide': e2pdf.lang.get('Hide Page')},
2821 + {'show': e2pdf.lang.get('Show Page')},
2822 + {'change': e2pdf.lang.get('Change Property')}
2823 + ];
2824 + } else {
2825 + var value = action ? action.action : 'hide';
2826 + var options = [
2827 + {'hide': e2pdf.lang.get('Hide Element')},
2828 + {'show': e2pdf.lang.get('Show Element')},
2829 + {'change': e2pdf.lang.get('Change Property')}
2830 + ];
2831 + }
1860 2832 obj = {
1861 - 'name': e2pdfLang['Action'],
2833 + 'name': e2pdf.lang.get('Action'),
1862 2834 'key': 'actions[' + action_id + '][action]',
1863 2835 'type': 'select',
1864 2836 'value': value,
1865 - 'options': [
1866 - {'hide': e2pdfLang['Hide']},
1867 - {'show': e2pdfLang['Show']},
1868 - {'change': e2pdfLang['Change']},
1869 - ],
2837 + 'options': options,
1870 2838 'atts': []
1871 2839 };
1872 2840 break;
1873 - case 'property':
1874 - var value = action ? action.property : '';
1875 -
1876 - if (action && action.action === 'change') {
1877 - var options = [];
1878 - var option = {
1879 - '': e2pdfLang['--- Select ---']
2841 + case 'error_message':
2842 + if (el.data('data-type') == 'e2pdf-tpl') {
2843 + var value = action ? action.error_message : '';
2844 + obj = {
2845 + 'name': e2pdf.lang.get('Error Message'),
2846 + 'key': 'actions[' + action_id + '][error_message]',
2847 + 'type': 'textarea',
2848 + 'value': value,
2849 + 'atts': []
1880 2850 };
1881 - options.push(option);
1882 -
1883 - var groups = e2pdf.properties.getFields(el);
1884 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1885 -
1886 - if (el.data('data-type') !== 'e2pdf-page') {
1887 - var option = {
1888 - 'page_id': e2pdfLang['Page ID']
1889 - }
1890 - options.push(option);
2851 + }
2852 + break;
2853 + case 'redirect_error_message':
2854 + if (el.data('data-type') == 'e2pdf-tpl') {
2855 + var value = action ? action.redirect_error_message : '';
2856 + if (!value) {
2857 + value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
1891 2858 }
2859 + obj = {
2860 + 'name': e2pdf.lang.get('Error Message'),
2861 + 'key': 'actions[' + action_id + '][redirect_error_message]',
2862 + 'type': 'textarea',
2863 + 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2864 + 'value': value,
2865 + 'atts': []
2866 + };
2867 + }
2868 + break;
2869 + case 'redirect_url':
2870 + if (el.data('data-type') == 'e2pdf-tpl') {
2871 + var value = action ? action.redirect_url : '';
2872 + obj = {
2873 + 'name': e2pdf.lang.get('Redirect URL'),
2874 + 'key': 'actions[' + action_id + '][redirect_url]',
2875 + 'type': 'text',
2876 + 'value': value,
2877 + 'atts': []
2878 + };
2879 + }
2880 + break;
2881 + case 'else':
2882 + if (el.data('data-type') == 'e2pdf-page') {
2883 + var options = [
2884 + {'': '-'},
2885 + {'hide': e2pdf.lang.get('Hide Page')}
2886 + ];
2887 + } else {
2888 + var options = [
2889 + {'': '-'},
2890 + {'hide': e2pdf.lang.get('Hide Element')}
2891 + ];
2892 + }
1892 2893
1893 - for (var group_key in groups) {
1894 - var group = groups[group_key];
1895 -
1896 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1897 - for (var field_key in group.fields) {
1898 - var group_field = group.fields[field_key];
1899 - var option = {};
1900 -
1901 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1902 - option[group_field.key] = group.name;
1903 - } else {
1904 - option[group_field.key] = group.name + ' ' + group_field.name;
1905 - }
1906 - options.push(option);
1907 - }
2894 + var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2895 + obj = {
2896 + 'name': e2pdf.lang.get('Else'),
2897 + 'key': 'actions[' + action_id + '][else]',
2898 + 'type': 'select',
2899 + 'options': options,
2900 + 'value': value,
2901 + 'atts': []
2902 + };
2903 + break;
2904 + case 'property':
2905 + if (el.data('data-type') == 'e2pdf-tpl') {
2906 + // backward compatibility
2907 + if (action && !action.property && action.action) {
2908 + if (action.action.includes('restrict_')) {
2909 + var value = 'disable';
2910 + } else {
2911 + var value = 'enable';
1908 2912 }
2913 + } else {
2914 + var value = action && action.property ? action.property : 'enable';
1909 2915 }
1910 -
2916 + var options = [
2917 + {'enable': e2pdf.lang.get('Enable')},
2918 + {'disable': e2pdf.lang.get('Disable')},
2919 + ];
1911 2920 obj = {
1912 - 'name': e2pdfLang['Property'],
2921 + 'name': e2pdf.lang.get('State'),
1913 2922 'key': 'actions[' + action_id + '][property]',
1914 - 'type': 'select',
2923 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1915 2924 'value': value,
1916 2925 'options': options,
1917 2926 'atts': []
1918 2927 };
2928 + } else {
2929 + var value = action ? action.property : '';
2930 + if (action && action.action === 'change') {
2931 + var options = [];
2932 + var option = {
2933 + '': e2pdf.lang.get('--- Select ---')
2934 + };
2935 + options.push(option);
2936 + var groups = e2pdf.properties.getFields(el);
2937 + for (var group_key in groups) {
2938 + var group = groups[group_key];
2939 + for (var field_key in group.fields) {
2940 + var group_field = group.fields[field_key];
2941 + if (jQuery.inArray('uneditable', group_field.atts) === -1 && (jQuery.inArray('readonly', group_field.atts) === -1 || (jQuery.inArray('readonly', group_field.atts) !== -1 && jQuery.inArray('editable', group_field.atts) !== -1))) {
2942 + var option = {};
2943 + if (group_field.key == 'g_multiline') {
2944 + option[group_field.key] = e2pdf.lang.get('Type');
2945 + } else if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label") && group_field.key != 'html_worker') {
2946 + option[group_field.key] = group.name;
2947 + } else {
2948 + option[group_field.key] = group.name + ' ' + group_field.name;
2949 + }
2950 + options.push(option);
2951 + }
2952 + }
2953 + }
2954 + obj = {
2955 + 'name': e2pdf.lang.get('Property'),
2956 + 'key': 'actions[' + action_id + '][property]',
2957 + 'type': 'select',
2958 + 'value': value,
2959 + 'options': options,
2960 + 'atts': []
2961 + };
2962 + }
1919 2963 }
1920 2964 break;
1921 2965 case 'change':
1922 2966 var value = action ? action.change : '';
1923 -
1924 2967 if (
1925 2968 action
1926 2969 && typeof action.action !== 'undefined'
1927 2970 && action.action === 'change'
@@ -1929,17 +2972,20 @@
1929 2972 && action.property !== ''
1930 2973 ) {
1931 2974
1932 2975 var property = e2pdf.properties.getField(action.property, el);
1933 -
1934 2976 if (property) {
1935 - property.name = e2pdfLang['Change'];
2977 + if (action.property == 'value'
2978 + && typeof action.format !== 'undefined'
2979 + && (action.format == 'insert_before' || action.format == 'insert_after')) {
2980 + property.name = e2pdf.lang.get('Value');
2981 + } else if (property.type != 'checkbox') {
2982 + property.name = e2pdf.lang.get('Change to');
2983 + }
1936 2984 property.key = 'actions[' + action_id + '][change]';
1937 -
1938 - if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('changeable', property.atts) !== -1) {
2985 + if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
1939 2986 property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
1940 2987 }
1941 -
1942 2988 if (jQuery.inArray('readonly', property.atts) === -1) {
1943 2989 if (property.type === 'select') {
1944 2990 for (var key in property.options) {
1945 2991 if (Object.keys(property.options[key])[0] == value) {
@@ -1963,15 +3009,15 @@
1963 3009 break;
1964 3010 case 'apply':
1965 3011 var value = action ? action.apply : 'any';
1966 3012 obj = {
1967 - 'name': e2pdfLang['Apply If'],
3013 + 'name': e2pdf.lang.get('Apply If'),
1968 3014 'key': 'actions[' + action_id + '][apply]',
1969 3015 'type': 'select',
1970 3016 'value': value,
1971 3017 'options': [
1972 - {'any': e2pdfLang['Any']},
1973 - {'all': e2pdfLang['All']},
3018 + {'any': e2pdf.lang.get('Any')},
3019 + {'all': e2pdf.lang.get('All')}
1974 3020 ],
1975 3021 'atts': []
1976 3022 };
1977 3023 break;
@@ -1977,9 +3023,9 @@
1977 3023 break;
1978 3024 }
1979 3025 return obj;
1980 3026 },
1981 - //e2pdf.actions.getFields
3027 + // e2pdf.actions.getFields
1982 3028 getFields: function (el, action_id, action) {
1983 3029 var obj = {
1984 3030 'action': {
1985 3031 'fields': [
@@ -1985,27 +3031,68 @@
1985 3031 'fields': [
1986 3032 e2pdf.actions.getField('order', el, action_id, action),
1987 3033 e2pdf.actions.getField('action', el, action_id, action),
1988 3034 e2pdf.actions.getField('property', el, action_id, action),
1989 - e2pdf.actions.getField('change', el, action_id, action),
1990 - e2pdf.actions.getField('apply', el, action_id, action),
3035 + e2pdf.actions.getField('apply', el, action_id, action)
1991 3036 ],
1992 3037 'classes': [
1993 3038 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1994 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1995 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1996 - 'e2pdf-w20 e2pdf-pl5 e2pdf-pr5 e2pdf-action-change',
3039 + el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w50 e2pdf-pr5 e2pdf-action-action' : 'e2pdf-w35 e2pdf-pr5 e2pdf-action-action',
3040 + el.data('data-type') == 'e2pdf-tpl' ? 'e2pdf-w25 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property' : 'e2pdf-w40 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1997 3041 'e2pdf-w15 e2pdf-pl5'
1998 - ],
1999 - },
3042 + ]
3043 + }
2000 3044 };
3045 + if (
3046 + action
3047 + && typeof action.action !== 'undefined'
3048 + && action.action === 'change'
3049 + && typeof action.property !== 'undefined'
3050 + && action.property !== ''
3051 + ) {
3052 + if (action.property == 'value' && typeof action.format !== 'undefined' && action.format == 'search') {
3053 + obj.action.fields.push(e2pdf.actions.getField('pre_replace', el, action_id, action));
3054 + obj.action.classes.push('e2pdf-w100');
3055 + obj.action.fields.push(e2pdf.actions.getField('search', el, action_id, action));
3056 + obj.action.classes.push('e2pdf-w100');
3057 + }
3058 +
3059 + obj.action.fields.push(e2pdf.actions.getField('change', el, action_id, action));
3060 + obj.action.classes.push('e2pdf-w100 e2pdf-action-change');
3061 + if (action.property == 'value') {
3062 + obj.action.fields.push(e2pdf.actions.getField('format', el, action_id, action));
3063 + obj.action.classes.push('e2pdf-w100 e2pdf-action-format');
3064 + }
3065 + }
3066 +
3067 + if (action && action.action == 'show') {
3068 + obj.action.fields.push(e2pdf.actions.getField('else', el, action_id, action));
3069 + obj.action.classes.push('e2pdf-w100');
3070 + }
3071 +
3072 + if (el.data('data-type') == 'e2pdf-tpl') {
3073 + if (!action || (action && (action.action == 'access_by_url' || action.action == 'restrict_access_by_url'))) {
3074 + obj.action.fields.push(e2pdf.actions.getField('error_message', el, action_id, action));
3075 + obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3076 + } else if (action && action.action == 'redirect_access_by_url') {
3077 + obj.action.fields.push(e2pdf.actions.getField('redirect_url', el, action_id, action));
3078 + obj.action.classes.push('e2pdf-w100 e2pdf-action-redirect-url');
3079 + obj.action.fields.push(e2pdf.actions.getField('redirect_error_message', el, action_id, action));
3080 + obj.action.classes.push('e2pdf-w100 e2pdf-action-message');
3081 + }
3082 + }
3083 +
2001 3084 return obj;
2002 3085 },
2003 - //e2pdf.actions.renderField
3086 + // e2pdf.actions.renderField
2004 3087 renderField: function (el, action_id, action) {
2005 -
2006 3088 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
2007 3089 if (action) {
3090 + // backward compatibility for Merge option
3091 + if (typeof action.action !== 'undefined' && action.action == 'merge') {
3092 + action.action = 'change';
3093 + action.format = 'insert_after';
3094 + }
2008 3095 for (var condition in action.conditions) {
2009 3096 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
2010 3097 }
2011 3098 } else {
@@ -2017,9 +3104,8 @@
2017 3104 for (var group_key in groups) {
2018 3105
2019 3106 var group = groups[group_key];
2020 3107 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
2021 -
2022 3108 for (var field_key in group.fields) {
2023 3109 var group_field = group.fields[field_key];
2024 3110 var classes = '';
2025 3111 if (group.classes) {
@@ -2030,9 +3116,9 @@
2030 3116
2031 3117 var field = '';
2032 3118 var label = '';
2033 3119 var wrap = '';
2034 -
3120 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
2035 3121 if (group_field.type === 'text') {
2036 3122 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2037 3123 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
2038 3124 } else if (group_field.type === 'hidden') {
@@ -2038,22 +3124,19 @@
2038 3124 } else if (group_field.type === 'hidden') {
2039 3125 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
2040 3126 } else if (group_field.type === 'textarea') {
2041 3127 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2042 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
3128 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
2043 3129 } else if (group_field.type === 'checkbox') {
2044 - label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3130 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-mt10'}).html(group_field.name);
2045 3131 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
2046 3132 if (group_field.value == group_field.option) {
2047 - field.attr('checked', 'checked');
3133 + field.prop('checked', true);
2048 3134 }
2049 3135 } else if (group_field.type === 'color') {
2050 3136 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2051 3137 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2052 3138 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2053 - if (group_field.key === 'border_color') {
2054 - field.attr('data-default', '#000000');
2055 - }
2056 3139 } else if (group_field.type === 'select') {
2057 3140 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2058 3141 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2059 3142 for (var option_key in group_field.options) {
@@ -2063,9 +3146,8 @@
2063 3146 }
2064 3147
2065 3148 for (var att_key in group_field.atts) {
2066 3149 var att = group_field.atts[att_key];
2067 -
2068 3150 switch (att) {
2069 3151 case 'readonly':
2070 3152 field.attr('readonly', 'readonly');
2071 3153 break;
@@ -2083,14 +3165,11 @@
2083 3165 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2084 3166 },
2085 3167 classes: {
2086 3168 "ui-autocomplete": "e2pdf-autocomplete"
2087 - },
3169 + }
2088 3170 });
2089 3171 break;
2090 - case 'scale':
2091 - field.addClass('e2pdf-scale-field');
2092 - break;
2093 3172 }
2094 3173 }
2095 3174
2096 3175 if (!wrap) {
@@ -2104,8 +3183,11 @@
2104 3183 }
2105 3184 }
2106 3185
2107 3186 var new_action = jQuery("<div>", {'class': 'e2pdf-ib e2pdf-rel e2pdf-w100 e2pdf-action', 'data-action_id': action_id}).append(
3187 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-duplicate'}).append(
3188 + jQuery('<i>', {'class': 'dashicons dashicons-admin-page'})
3189 + ),
2108 3190 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2109 3191 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2110 3192 ),
2111 3193 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2112,565 +3194,653 @@
2112 3194 grid
2113 3195 ),
2114 3196 conditions
2115 3197 );
2116 -
2117 3198 return new_action;
2118 3199 },
2119 - //e2pdf.actions.renderFields
3200 + // e2pdf.actions.renderFields
2120 3201 renderFields: function (el) {
3202 +
2121 3203 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2122 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html("Add Action")
3204 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
2123 3205 );
2124 -
2125 3206 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2126 3207 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2127 3208 var actions = e2pdf.actions.get(el);
2128 -
2129 3209 for (var action in actions) {
3210 + // Backward compatiability Show Element / Page
3211 + if (actions[action].action == 'show') {
3212 + if (typeof actions[action].else === 'undefined') {
3213 + actions[action].else = '';
3214 + }
3215 + }
2130 3216 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2131 3217 }
2132 3218
2133 3219 block.append(action_wrapper, add_action);
2134 -
2135 3220 return block;
2136 3221 }
2137 3222 },
2138 - //e2pdf.properties
3223 + // e2pdf.properties
2139 3224 properties: {
2140 - //e2pdf.properties.getField
3225 + // e2pdf.properties.getLink
3226 + getLink: function (title, href, classes, collapse) {
3227 + obj = {
3228 + 'name': title,
3229 + 'key': 'link',
3230 + 'type': 'link',
3231 + 'value': href,
3232 + 'classes': classes,
3233 + 'collapse': collapse,
3234 + 'atts': [
3235 + 'readonly',
3236 + 'collapse'
3237 + ]
3238 + };
3239 + return obj;
3240 + },
3241 + // e2pdf.properties.getField
2141 3242 getField: function (field, el) {
2142 3243
2143 3244 var obj = false;
2144 3245 var properties = e2pdf.properties.get(el);
2145 3246 var children = e2pdf.element.children(el);
2146 -
2147 3247 switch (field) {
2148 - case 'element_id':
2149 - var value = el.attr('data-element_id');
3248 + case 'page_id':
2150 3249 obj = {
2151 - 'name': e2pdfLang['ID'],
2152 - 'key': 'element_id',
3250 + 'name': e2pdf.lang.get('Page ID'),
2153 3251 'type': 'text',
2154 - 'value': value ? value : 0,
3252 + 'value': el.data('data-type') === 'e2pdf-page' ? e2pdf.helper.getInt(el.attr('data-page_id')) : e2pdf.helper.getInt(el.closest('.e2pdf-page').attr('data-page_id')),
2155 3253 'atts': [
2156 - 'readonly'
3254 + 'readonly',
3255 + 'number'
2157 3256 ]
2158 3257 };
3258 + if (el.data('data-type') !== 'e2pdf-page') {
3259 + obj.atts.push('editable');
3260 + }
2159 3261 break;
2160 - case 'element_type':
2161 - var value = el.data('data-type');
3262 + case 'element_id':
2162 3263 obj = {
2163 - 'name': e2pdfLang['Type'],
2164 - 'key': 'element_type',
3264 + 'name': 'ID',
2165 3265 'type': 'text',
2166 - 'value': value,
2167 - 'atts': [
2168 - 'readonly'
2169 - ]
3266 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3267 + 'atts': ['readonly']
2170 3268 };
2171 3269 break;
2172 - case 'page_id':
2173 - if (el.data('data-type') == 'e2pdf-page') {
2174 - var value = el.attr('data-page_id');
2175 - } else {
2176 - var value = el.closest('.e2pdf-page').attr('data-page_id');
2177 - }
3270 + case 'element_type':
2178 3271 obj = {
2179 - 'name': e2pdfLang['Page ID'],
2180 - 'key': 'page_id',
3272 + 'name': e2pdf.lang.get('Type'),
2181 3273 'type': 'text',
2182 - 'value': value ? value : 0,
2183 - 'atts': [
2184 - 'readonly',
2185 - 'changeable',
2186 - 'number'
2187 - ]
3274 + 'value': el.data('data-type'),
3275 + 'atts': ['readonly']
2188 3276 };
2189 3277 break;
2190 3278 case 'width':
2191 - if (el.data('data-type') == 'e2pdf-page') {
2192 - var value = el.attr('data-width');
2193 - } else {
2194 - var value = e2pdf.helper.pxToFloat(el.css('width'));
2195 - }
2196 -
2197 3279 obj = {
2198 - 'name': e2pdfLang['Width'],
2199 - 'key': 'width',
3280 + 'name': e2pdf.lang.get('Width'),
2200 3281 'type': 'text',
2201 - 'value': value,
2202 - 'atts': [
2203 - 'number'
2204 - ]
3282 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3283 + 'atts': ['number']
2205 3284 };
2206 -
2207 - if (el.data('data-type') == 'e2pdf-page') {
2208 - if (e2pdf.pdf.settings.get('pdf')) {
2209 - obj.atts.push('readonly')
2210 - }
3285 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3286 + obj.atts.push('readonly');
2211 3287 }
2212 3288 break;
2213 3289 case 'height':
2214 - if (el.data('data-type') == 'e2pdf-page') {
2215 - var value = el.attr('data-height');
2216 - } else {
2217 - var value = e2pdf.helper.pxToFloat(el.css('height'));
2218 - }
2219 -
2220 3290 obj = {
2221 - 'name': e2pdfLang['Height'],
2222 - 'key': 'height',
3291 + 'name': e2pdf.lang.get('Height'),
2223 3292 'type': 'text',
2224 - 'value': value,
2225 - 'atts': [
2226 - 'number'
2227 - ]
3293 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3294 + 'atts': ['number']
2228 3295 };
2229 -
2230 - if (el.data('data-type') == 'e2pdf-page') {
2231 - if (e2pdf.pdf.settings.get('pdf')) {
2232 - obj.atts.push('readonly')
2233 - }
3296 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3297 + obj.atts.push('readonly');
2234 3298 }
2235 3299 break;
2236 3300 case 'top':
2237 - var value = parseFloat(el.css('top'));
2238 3301 obj = {
2239 - 'name': e2pdfLang['Top'],
2240 - 'key': 'top',
3302 + 'name': e2pdf.lang.get('Position Top'),
2241 3303 'type': 'text',
2242 - 'value': value,
2243 - 'atts': [
2244 - 'number'
2245 - ]
3304 + 'value': e2pdf.helper.getFloat(el.css('top')),
3305 + 'atts': ['number', 'keep']
2246 3306 };
2247 3307 break;
2248 3308 case 'left':
2249 - var value = parseFloat(el.css('left'));
2250 3309 obj = {
2251 - 'name': e2pdfLang['Left'],
2252 - 'key': 'left',
3310 + 'name': e2pdf.lang.get('Position Left'),
2253 3311 'type': 'text',
2254 - 'value': value,
2255 - 'atts': [
2256 - 'number'
2257 - ]
3312 + 'value': e2pdf.helper.getFloat(el.css('left')),
3313 + 'atts': ['number', 'keep']
2258 3314 };
2259 3315 break;
3316 + case 'name':
3317 + obj = {
3318 + 'name': e2pdf.lang.get('Field Name'),
3319 + 'type': 'text',
3320 + 'value': e2pdf.helper.getString(properties[field])
3321 + };
3322 + break;
3323 + case 'field_name':
3324 + obj = {
3325 + 'name': e2pdf.lang.get('As Field Name'),
3326 + 'type': 'checkbox',
3327 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3328 + 'option': '1'
3329 + };
3330 + break;
2260 3331 case 'dynamic_height':
2261 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2262 3332 obj = {
2263 - 'name': e2pdfLang['Dynamic Height'],
2264 - 'key': 'dynamic_height',
3333 + 'name': e2pdf.lang.get('Dynamic Height'),
2265 3334 'type': 'checkbox',
2266 - 'value': value,
2267 - 'option': 1,
2268 - 'atts': []
3335 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3336 + 'option': '1'
2269 3337 };
2270 3338 break;
3339 + case 'multipage':
3340 + obj = {
3341 + 'name': e2pdf.lang.get('Multipage'),
3342 + 'type': 'checkbox',
3343 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3344 + 'option': '1'
3345 + };
3346 + break;
3347 + case 'hide_if_empty':
3348 + obj = {
3349 + 'name': e2pdf.lang.get('Hide (If Empty)'),
3350 + 'type': 'checkbox',
3351 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3352 + 'option': '1'
3353 + };
3354 + break;
3355 + case 'hide_page_if_empty':
3356 + obj = {
3357 + 'name': e2pdf.lang.get('Hide Page (If Empty)'),
3358 + 'type': 'checkbox',
3359 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3360 + 'option': '1'
3361 + };
3362 + break;
3363 + case 'nl2br':
3364 + obj = {
3365 + 'name': e2pdf.lang.get('New Lines to BR'),
3366 + 'type': 'checkbox',
3367 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3368 + 'option': '1'
3369 + };
3370 + break;
3371 + case 'preload_img':
3372 + obj = {
3373 + 'name': e2pdf.lang.get('Preload Images'),
3374 + 'type': 'checkbox',
3375 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3376 + 'option': '1'
3377 + };
3378 + break;
2271 3379 case 'text_color':
2272 - var value = properties['text_color'];
2273 3380 obj = {
2274 - 'name': e2pdfLang['Color'],
2275 - 'key': 'text_color',
3381 + 'name': e2pdf.lang.get('Font Color'),
2276 3382 'type': 'color',
2277 - 'value': value,
2278 - 'atts': []
3383 + 'value': e2pdf.helper.getString(properties[field])
2279 3384 };
2280 3385 break;
3386 + case 'color':
3387 + obj = {
3388 + 'name': e2pdf.lang.get('Color'),
3389 + 'type': 'color',
3390 + 'value': e2pdf.helper.getString(properties[field])
3391 + };
3392 + break;
2281 3393 case 'text_type':
2282 - var value = properties['text_type'];
2283 3394 obj = {
2284 - 'name': e2pdfLang['Type'],
2285 - 'key': 'text_type',
3395 + 'name': e2pdf.lang.get('Type'),
2286 3396 'type': 'select',
2287 - 'value': value,
3397 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2288 3398 'options': [
2289 - {'check': e2pdfLang['Check']},
2290 - {'circle': e2pdfLang['Circle']},
2291 - {'cross': e2pdfLang['Cross']},
2292 - {'diamond': e2pdfLang['Diamond']},
2293 - {'square': e2pdfLang['Square']},
2294 - {'star': e2pdfLang['Star']},
2295 - ],
2296 - 'atts': []
3399 + {'check': 'Check'},
3400 + {'circle': 'Circle'},
3401 + {'cross': 'Cross'},
3402 + {'diamond': 'Diamond'},
3403 + {'square': 'Square'},
3404 + {'star': 'Star'}
3405 + ]
2297 3406 };
2298 3407 break;
2299 3408 case 'text_font':
2300 - var options = [];
2301 - jQuery('#e2pdf-wysiwyg-font').find('option').each(function () {
2302 - var option = {};
2303 - option[jQuery(this).attr('value')] = jQuery(this).html();
2304 - options.push(option);
2305 - });
2306 - var value = '';
2307 - if (properties['text_font']) {
2308 - value = properties['text_font'];
3409 + obj = {
3410 + 'name': e2pdf.lang.get('Font'),
3411 + 'type': 'select',
3412 + 'value': e2pdf.helper.getString(properties[field]),
3413 + 'options': e2pdf.helper.font.fonts(field)
3414 + };
3415 + break;
3416 + case 'text_auto_font_size':
3417 + if ((el.data('data-type') == 'e2pdf-textarea' || el.data('data-type') == 'e2pdf-input' || el.data('data-type') == 'e2pdf-select') && e2pdf.helper.getString(properties['text_font_size']) == '-1') {
3418 + var value = '1';
3419 + } else {
3420 + var value = e2pdf.helper.getCheckbox(properties[field]);
2309 3421 }
2310 3422 obj = {
2311 - 'name': e2pdfLang['Font'],
2312 - 'key': 'text_font',
2313 - 'type': 'select',
3423 + 'name': e2pdf.lang.get('Auto Font Size'),
3424 + 'type': 'checkbox',
2314 3425 'value': value,
2315 - 'options': options,
2316 - 'atts': []
3426 + 'option': '1'
2317 3427 };
2318 3428 break;
2319 3429 case 'text_font_size':
2320 - var options = [];
2321 - jQuery('#e2pdf-wysiwyg-fontsize').find('option').each(function () {
2322 - var option = {};
2323 - option[jQuery(this).attr('value')] = jQuery(this).html();
2324 - options.push(option);
2325 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2326 - option = {};
2327 - option['-1'] = e2pdfLang['Auto'];
2328 - options.push(option);
2329 - }
2330 - });
2331 - var value = '';
2332 - if (properties['text_font_size']) {
2333 - value = properties['text_font_size'];
2334 - }
2335 3430 obj = {
2336 - 'name': e2pdfLang['Size'],
2337 - 'key': 'text_font_size',
3431 + 'name': e2pdf.lang.get('Font Size'),
2338 3432 'type': 'select',
2339 - 'value': value,
2340 - 'options': options,
2341 - 'atts': []
3433 + 'value': e2pdf.helper.getString(properties[field]),
3434 + 'options': e2pdf.helper.font.sizes(field, properties)
2342 3435 };
2343 3436 break;
2344 3437 case 'text_line_height':
2345 - var options = [];
2346 - var value = '';
2347 - if (properties['text_line_height']) {
2348 - value = properties['text_line_height'];
2349 - }
2350 -
2351 - var option = {};
2352 - option[''] = '-';
2353 - options.push(option);
2354 -
2355 - jQuery('#e2pdf-line-height').find('option').each(function () {
2356 - var option = {};
2357 - option[jQuery(this).attr('value')] = jQuery(this).html();
2358 - options.push(option);
2359 - });
2360 -
2361 3438 obj = {
2362 - 'name': e2pdfLang['Line Height'],
2363 - 'key': 'text_line_height',
3439 + 'name': e2pdf.lang.get('Line Height'),
2364 3440 'type': 'select',
2365 - 'value': value,
2366 - 'options': options,
2367 - 'atts': []
3441 + 'value': e2pdf.helper.getString(properties[field]),
3442 + 'options': e2pdf.helper.font.lines(field)
2368 3443 };
2369 3444 break;
3445 + case 'text_letter_spacing':
3446 + obj = {
3447 + 'name': e2pdf.lang.get('Char Spacing'),
3448 + 'type': 'text',
3449 + 'value': e2pdf.helper.getFloat(properties[field]),
3450 + 'atts': ['number']
3451 + };
3452 + break;
2370 3453 case 'z_index':
2371 - var value = properties['z_index'];
2372 3454 obj = {
2373 - 'name': e2pdfLang['Z-index'],
2374 - 'key': 'z_index',
3455 + 'name': 'Z-index',
2375 3456 'type': 'text',
2376 - 'value': value,
2377 - 'atts': ['number']
3457 + 'value': e2pdf.helper.getInt(properties[field]),
3458 + 'atts': ['number', 'number-negative']
2378 3459 };
2379 3460 break;
2380 3461 case 'background':
2381 - var value = properties['background'];
2382 3462 obj = {
2383 - 'name': e2pdfLang['Background'],
3463 + 'name': e2pdf.lang.get('Background'),
2384 3464 'key': 'background',
2385 3465 'type': 'color',
2386 - 'value': value,
2387 - 'atts': []
3466 + 'value': e2pdf.helper.getString(properties[field])
2388 3467 };
2389 3468 break;
2390 3469 case 'border':
2391 - var value = properties['border'];
2392 3470 obj = {
2393 - 'name': e2pdfLang['Border'],
2394 - 'key': 'border',
3471 + 'name': e2pdf.lang.get('Border'),
2395 3472 'type': 'text',
2396 - 'value': value,
3473 + 'value': e2pdf.helper.getInt(properties[field]),
2397 3474 'atts': ['number']
2398 3475 };
2399 3476 break;
2400 3477 case 'border_top':
2401 - var value = properties['border_top'];
2402 3478 obj = {
2403 - 'name': e2pdfLang['Top'],
2404 - 'key': 'border_top',
3479 + 'name': e2pdf.lang.get('Border Top'),
2405 3480 'type': 'text',
2406 - 'value': value,
3481 + 'value': e2pdf.helper.getInt(properties[field]),
2407 3482 'atts': ['number']
2408 3483 };
2409 3484 break;
2410 3485 case 'border_left':
2411 - var value = properties['border_left'];
2412 3486 obj = {
2413 - 'name': e2pdfLang['Left'],
2414 - 'key': 'border_left',
3487 + 'name': e2pdf.lang.get('Border Left'),
2415 3488 'type': 'text',
2416 - 'value': value,
3489 + 'value': e2pdf.helper.getInt(properties[field]),
2417 3490 'atts': ['number']
2418 3491 };
2419 3492 break;
2420 3493 case 'border_right':
2421 - var value = properties['border_right'];
2422 3494 obj = {
2423 - 'name': e2pdfLang['Right'],
2424 - 'key': 'border_right',
3495 + 'name': e2pdf.lang.get('Border Right'),
2425 3496 'type': 'text',
2426 - 'value': value,
3497 + 'value': e2pdf.helper.getInt(properties[field]),
2427 3498 'atts': ['number']
2428 3499 };
2429 3500 break;
2430 3501 case 'border_bottom':
2431 - var value = properties['border_bottom'];
2432 3502 obj = {
2433 - 'name': e2pdfLang['Bottom'],
2434 - 'key': 'border_bottom',
3503 + 'name': e2pdf.lang.get('Border Bottom'),
2435 3504 'type': 'text',
2436 - 'value': value,
3505 + 'value': e2pdf.helper.getInt(properties[field]),
2437 3506 'atts': ['number']
2438 3507 };
2439 3508 break;
3509 + case 'border_radius':
3510 + obj = {
3511 + 'name': e2pdf.lang.get('Border Radius'),
3512 + 'type': 'text',
3513 + 'value': e2pdf.helper.getInt(properties[field]),
3514 + 'atts': ['number']
3515 + };
3516 + break;
2440 3517 case 'border_color':
2441 - var value = properties['border_color'];
2442 3518 obj = {
2443 - 'name': e2pdfLang['Color'],
2444 - 'key': 'border_color',
3519 + 'name': e2pdf.lang.get('Border Color'),
2445 3520 'type': 'color',
2446 - 'value': value ? value : "#000000",
3521 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2447 3522 };
2448 3523 break;
2449 3524 case 'padding_top':
2450 - var value = properties['padding_top'];
2451 3525 obj = {
2452 - 'name': e2pdfLang['Top'],
2453 - 'key': 'padding_top',
3526 + 'name': e2pdf.lang.get('Padding Top'),
2454 3527 'type': 'text',
2455 - 'value': value,
3528 + 'value': e2pdf.helper.getInt(properties[field]),
2456 3529 'atts': ['number']
2457 3530 };
2458 3531 break;
2459 3532 case 'padding_left':
2460 - var value = properties['padding_left'];
2461 3533 obj = {
2462 - 'name': e2pdfLang['Left'],
2463 - 'key': 'padding_left',
3534 + 'name': e2pdf.lang.get('Padding Left'),
2464 3535 'type': 'text',
2465 - 'value': value,
3536 + 'value': e2pdf.helper.getInt(properties[field]),
2466 3537 'atts': ['number']
2467 3538 };
2468 3539 break;
2469 3540 case 'padding_right':
2470 - var value = properties['padding_right'];
2471 3541 obj = {
2472 - 'name': e2pdfLang['Right'],
2473 - 'key': 'padding_right',
3542 + 'name': e2pdf.lang.get('Padding Right'),
2474 3543 'type': 'text',
2475 - 'value': value,
3544 + 'value': e2pdf.helper.getInt(properties[field]),
2476 3545 'atts': ['number']
2477 3546 };
2478 3547 break;
2479 3548 case 'padding_bottom':
2480 - var value = properties['padding_bottom'];
2481 3549 obj = {
2482 - 'name': e2pdfLang['Bottom'],
2483 - 'key': 'padding_bottom',
3550 + 'name': e2pdf.lang.get('Padding Bottom'),
2484 3551 'type': 'text',
2485 - 'value': value,
3552 + 'value': e2pdf.helper.getInt(properties[field]),
2486 3553 'atts': ['number']
2487 3554 };
2488 3555 break;
3556 + case 'margin_top':
3557 + obj = {
3558 + 'name': e2pdf.lang.get('Margin Top'),
3559 + 'type': 'text',
3560 + 'value': e2pdf.helper.getInt(properties[field]),
3561 + 'atts': ['number']
3562 + };
3563 + if (el.data('data-type') == 'e2pdf-barcode') {
3564 + obj.atts.push('keep');
3565 + }
3566 + break;
3567 + case 'margin_left':
3568 + obj = {
3569 + 'name': e2pdf.lang.get('Margin Left'),
3570 + 'type': 'text',
3571 + 'value': e2pdf.helper.getInt(properties[field]),
3572 + 'atts': ['number']
3573 + };
3574 + if (el.data('data-type') == 'e2pdf-barcode') {
3575 + obj.atts.push('keep');
3576 + }
3577 + break;
3578 + case 'margin_right':
3579 + obj = {
3580 + 'name': e2pdf.lang.get('Margin Right'),
3581 + 'type': 'text',
3582 + 'value': e2pdf.helper.getInt(properties[field]),
3583 + 'atts': ['number']
3584 + };
3585 + if (el.data('data-type') == 'e2pdf-barcode') {
3586 + obj.atts.push('keep');
3587 + }
3588 + break;
3589 + case 'margin_bottom':
3590 + obj = {
3591 + 'name': e2pdf.lang.get('Margin Bottom'),
3592 + 'type': 'text',
3593 + 'value': e2pdf.helper.getInt(properties[field]),
3594 + 'atts': ['number']
3595 + };
3596 + if (el.data('data-type') == 'e2pdf-barcode') {
3597 + obj.atts.push('keep');
3598 + }
3599 + break;
2489 3600 case 'length':
2490 - var value = properties['length'];
2491 3601 obj = {
2492 - 'name': e2pdfLang['Length'],
2493 - 'key': 'length',
3602 + 'name': e2pdf.lang.get('Length'),
2494 3603 'type': 'text',
2495 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2496 3605 'atts': ['number']
2497 3606 };
2498 3607 break;
2499 3608 case 'comb':
2500 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2501 3609 obj = {
2502 - 'name': e2pdfLang['Comb'],
2503 - 'key': 'comb',
3610 + 'name': e2pdf.lang.get('Comb'),
2504 3611 'type': 'checkbox',
2505 - 'option': 1,
2506 - 'value': value,
2507 - 'atts': []
3612 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3613 + 'option': '1'
2508 3614 };
2509 3615 break;
2510 3616 case 'rtl':
2511 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2512 3617 obj = {
2513 - 'name': e2pdfLang['RTL'],
2514 - 'key': 'rtl',
2515 - 'type': 'checkbox',
2516 - 'option': 1,
2517 - 'value': value,
2518 - 'atts': []
3618 + 'name': e2pdf.lang.get('Direction'),
3619 + 'type': 'select',
3620 + 'value': e2pdf.helper.getString(properties[field]),
3621 + 'options':
3622 + [
3623 + {'': '-'},
3624 + {'0': 'LTR'},
3625 + {'1': 'RTL'}
3626 + ]
2519 3627 };
2520 3628 break;
2521 3629 case 'required':
2522 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2523 3630 obj = {
2524 - 'name': e2pdfLang['Required'],
2525 - 'key': 'required',
3631 + 'name': e2pdf.lang.get('Required'),
2526 3632 'type': 'checkbox',
2527 - 'option': 1,
2528 - 'value': value,
2529 - 'atts': []
3633 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3634 + 'option': '1'
2530 3635 };
2531 3636 break;
2532 3637 case 'readonly':
2533 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2534 3638 obj = {
2535 - 'name': e2pdfLang['Readonly'],
2536 - 'key': 'readonly',
3639 + 'name': e2pdf.lang.get('Read-Only'),
2537 3640 'type': 'checkbox',
2538 - 'option': 1,
2539 - 'value': value,
2540 - 'atts': []
3641 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3642 + 'option': '1'
2541 3643 };
2542 3644 break;
2543 3645 case 'pass':
2544 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2545 3646 obj = {
2546 - 'name': e2pdfLang['Password'],
2547 - 'key': 'pass',
3647 + 'name': e2pdf.lang.get('Password'),
2548 3648 'type': 'checkbox',
2549 - 'option': 1,
2550 - 'value': value,
2551 - 'atts': []
3649 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3650 + 'option': '1'
2552 3651 };
2553 3652 break;
2554 3653 case 'multiline':
2555 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2556 3654 obj = {
2557 - 'name': e2pdfLang['Multiline'],
2558 - 'key': 'multiline',
3655 + 'name': e2pdf.lang.get('Multiline'),
2559 3656 'type': 'checkbox',
2560 - 'option': 1,
2561 - 'value': value,
3657 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3658 + 'option': '1'
3659 + };
3660 + break;
3661 + case 'dimension':
3662 + obj = {
3663 + 'name': e2pdf.lang.get('Keep Image Ratio'),
3664 + 'type': 'checkbox',
3665 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3666 + 'option': '1'
3667 + };
3668 + break;
3669 + case 'block_dimension':
3670 + obj = {
3671 + 'name': e2pdf.lang.get('Lock Aspect Ratio'),
3672 + 'type': 'checkbox',
3673 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3674 + 'option': '1',
2562 3675 'atts': []
2563 3676 };
3677 + if (el.data('data-type') === 'e2pdf-image') {
3678 + obj.atts.push('keep');
3679 + }
2564 3680 break;
2565 - case 'dimension':
2566 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3681 + case 'keep_lower_size':
2567 3682 obj = {
2568 - 'name': e2pdfLang['Keep dimension'],
2569 - 'key': 'dimension',
3683 + 'name': e2pdf.lang.get('Keep Lower Size'),
2570 3684 'type': 'checkbox',
2571 - 'option': 1,
3685 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3686 + 'option': '1'
3687 + };
3688 + break;
3689 + case 'fill_image':
3690 + obj = {
3691 + 'name': e2pdf.lang.get('Fill Image'),
3692 + 'type': 'checkbox',
3693 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3694 + 'option': '1'
3695 + };
3696 + break;
3697 + case 'pdf_page':
3698 + obj = {
3699 + 'name': e2pdf.lang.get('Page'),
3700 + 'type': 'text',
3701 + 'value': e2pdf.helper.getInt(properties[field]),
3702 + 'atts': ['number']
3703 + };
3704 + break;
3705 + case 'pdf_resample':
3706 + var value = e2pdf.helper.getString(properties[field], '-1');
3707 + if (value == '100') {
3708 + value = '150';
3709 + }
3710 + obj = {
3711 + 'name': e2pdf.lang.get('Resolution'),
3712 + 'type': 'select',
2572 3713 'value': value,
2573 - 'atts': []
3714 + 'options':
3715 + [
3716 + {'-1': e2pdf.lang.get('Auto')},
3717 + {'72': '72dpi'},
3718 + {'125': '90dpi'},
3719 + {'150': '108dpi'},
3720 + {'175': '126dpi'},
3721 + {'200': '144dpi'}
3722 + ]
2574 3723 };
2575 3724 break;
3725 + case 'pdf_append':
3726 + obj = {
3727 + 'name': e2pdf.lang.get('Append'),
3728 + 'type': 'select',
3729 + 'value': e2pdf.helper.getString(properties[field], 'vertical'),
3730 + 'options':
3731 + [
3732 + {'vertical': e2pdf.lang.get('Vertical')},
3733 + {'horizontal': e2pdf.lang.get('Horizontal')},
3734 + {'grid': e2pdf.lang.get('Grid')}
3735 + ]
3736 + };
3737 + break;
3738 + case 'pdf_space':
3739 + obj = {
3740 + 'name': e2pdf.lang.get('Space'),
3741 + 'type': 'text',
3742 + 'value': e2pdf.helper.getInt(properties[field]),
3743 + 'atts': ['number']
3744 + };
3745 + break;
3746 + case 'pdf_border':
3747 + obj = {
3748 + 'name': e2pdf.lang.get('Border'),
3749 + 'type': 'text',
3750 + 'value': e2pdf.helper.getInt(properties[field]),
3751 + 'atts': ['number']
3752 + };
3753 + break;
3754 + case 'hl':
3755 + obj = {
3756 + 'name': e2pdf.lang.get('Hide Label'),
3757 + 'type': 'checkbox',
3758 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3759 + 'option': '1'
3760 + };
3761 + break;
3762 + case 'only_image':
3763 + obj = {
3764 + 'name': e2pdf.lang.get('Disable Text to Image'),
3765 + 'type': 'checkbox',
3766 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3767 + 'option': '1'
3768 + };
3769 + break;
2576 3770 case 'esig':
2577 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2578 3771 obj = {
2579 - 'name': e2pdfLang['E-signature'],
2580 - 'key': 'esig',
3772 + 'name': e2pdf.lang.get('E-Signature'),
2581 3773 'type': 'checkbox',
2582 - 'option': 1,
2583 - 'value': value,
2584 - 'atts': []
3774 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3775 + 'option': '1'
2585 3776 };
2586 3777 break;
2587 3778 case 'esig_contact':
2588 - var value = properties['esig_contact'];
2589 3779 obj = {
2590 - 'name': e2pdfLang['Contact'],
2591 - 'key': 'esig_contact',
3780 + 'name': e2pdf.lang.get('Contact'),
2592 3781 'type': 'text',
2593 - 'value': value,
2594 - 'atts': []
3782 + 'value': e2pdf.helper.getString(properties[field])
2595 3783 };
2596 3784 break;
2597 3785 case 'esig_location':
2598 - var value = properties['esig_location'];
2599 3786 obj = {
2600 - 'name': e2pdfLang['Location'],
2601 - 'key': 'esig_location',
3787 + 'name': e2pdf.lang.get('Location'),
2602 3788 'type': 'text',
2603 - 'value': value,
2604 - 'atts': []
3789 + 'value': e2pdf.helper.getString(properties[field])
2605 3790 };
2606 3791 break;
2607 3792 case 'esig_reason':
2608 - var value = properties['esig_reason'];
2609 3793 obj = {
2610 - 'name': e2pdfLang['Reason'],
2611 - 'key': 'esig_reason',
3794 + 'name': e2pdf.lang.get('Reason'),
2612 3795 'type': 'text',
2613 - 'value': value,
2614 - 'atts': []
3796 + 'value': e2pdf.helper.getString(properties[field])
2615 3797 };
2616 3798 break;
2617 3799 case 'placeholder':
2618 - var value = properties['placeholder'];
2619 3800 obj = {
2620 - 'name': e2pdfLang['Placeholder'],
2621 - 'key': 'placeholder',
3801 + 'name': e2pdf.lang.get('Placeholder'),
2622 3802 'type': 'text',
2623 - 'value': value,
2624 - 'atts': []
3803 + 'value': e2pdf.helper.getString(properties[field])
2625 3804 };
2626 3805 break;
2627 3806 case 'horizontal':
2628 - var value = properties['horizontal'];
2629 3807 obj = {
2630 - 'name': e2pdfLang['Horizontal align'],
2631 - 'key': 'horizontal',
3808 + 'name': e2pdf.lang.get('Horizontal Align'),
2632 3809 'type': 'select',
2633 - 'value': value,
3810 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2634 3811 'options':
2635 3812 [
2636 - {'left': e2pdfLang['Left']},
2637 - {'center': e2pdfLang['Center']},
2638 - {'right': e2pdfLang['Right']},
3813 + {'left': e2pdf.lang.get('Left')},
3814 + {'center': e2pdf.lang.get('Center')},
3815 + {'right': e2pdf.lang.get('Right')}
2639 3816 ]
2640 - ,
2641 - 'atts': []
2642 3817 };
2643 3818 break;
2644 3819 case 'vertical':
2645 - var value = properties['vertical'];
2646 3820 obj = {
2647 - 'name': e2pdfLang['Vertical align'],
2648 - 'key': 'vertical',
3821 + 'name': e2pdf.lang.get('Vertical Align'),
2649 3822 'type': 'select',
2650 - 'value': value,
3823 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2651 3824 'options':
2652 3825 [
2653 - {'top': e2pdfLang['Top']},
2654 - {'middle': e2pdfLang['Middle']},
2655 - {'bottom': e2pdfLang['Bottom']},
3826 + {'top': e2pdf.lang.get('Top')},
3827 + {'middle': e2pdf.lang.get('Middle')},
3828 + {'bottom': e2pdf.lang.get('Bottom')}
2656 3829 ]
2657 - ,
2658 - 'atts': []
2659 3830 };
2660 3831 break;
2661 3832 case 'scale':
2662 - var value = properties['scale'];
2663 3833 obj = {
2664 - 'name': e2pdfLang['Scale'],
2665 - 'key': 'scale',
3834 + 'name': e2pdf.lang.get('Scale'),
2666 3835 'type': 'select',
2667 - 'value': value,
3836 + 'value': e2pdf.helper.getString(properties[field], '0'),
2668 3837 'options':
2669 3838 [
2670 - {'0': e2pdfLang['Width&Height']},
2671 - {'1': e2pdfLang['Width']},
2672 - {'2': e2pdfLang['Height']},
3839 + {'0': e2pdf.lang.get('Auto')},
3840 + {'1': e2pdf.lang.get('Width&Height')},
3841 + {'2': e2pdf.lang.get('Width')},
3842 + {'3': e2pdf.lang.get('Height')}
2673 3843 ]
2674 3844 ,
2675 3845 'atts': ['scale']
2676 3846 };
@@ -2675,56 +3845,162 @@
2675 3845 'atts': ['scale']
2676 3846 };
2677 3847 break;
2678 3848 case 'text_align':
2679 - var value = properties['text_align'];
2680 3849 obj = {
2681 - 'name': e2pdfLang['Text Align'],
2682 - 'key': 'text_align',
3850 + 'name': e2pdf.lang.get('Text Align'),
2683 3851 'type': 'select',
2684 - 'value': value,
3852 + 'value': e2pdf.helper.getString(properties[field]),
2685 3853 'options':
2686 3854 [
2687 - {'left': e2pdfLang['Left']},
2688 - {'center': e2pdfLang['Center']},
2689 - {'right': e2pdfLang['Right']},
3855 + {'': '-'},
3856 + {'left': e2pdf.lang.get('Left')},
3857 + {'center': e2pdf.lang.get('Center')},
3858 + {'right': e2pdf.lang.get('Right')}
2690 3859 ]
2691 - ,
2692 - 'atts': []
2693 3860 };
3861 + if (el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
3862 + obj.options.push(
3863 + {'justify': e2pdf.lang.get('Justify')},
3864 + {'justify-all': e2pdf.lang.get('Justify All')}
3865 + );
3866 + }
2694 3867 break;
3868 + case 'page_number':
3869 + obj = {
3870 + 'name': e2pdf.lang.get('Adjust Page Number'),
3871 + 'type': 'text',
3872 + 'value': e2pdf.helper.getInt(properties[field]),
3873 + 'atts': ['number', 'number-negative']
3874 + };
3875 + break;
3876 + case 'page_total':
3877 + obj = {
3878 + 'name': e2pdf.lang.get('Adjust Page Total'),
3879 + 'type': 'text',
3880 + 'value': e2pdf.helper.getInt(properties[field]),
3881 + 'atts': ['number', 'number-negative']
3882 + };
3883 + break;
3884 + case 'precision':
3885 + obj = {
3886 + 'name': e2pdf.lang.get('Precision'),
3887 + 'type': 'select',
3888 + 'value': e2pdf.helper.getString(properties[field], 'qrl'),
3889 + 'options':
3890 + [
3891 + {'qrl': e2pdf.lang.get('L - Smallest')},
3892 + {'qrm': e2pdf.lang.get('M - Medium')},
3893 + {'qrq': e2pdf.lang.get('Q - High')},
3894 + {'qrh': e2pdf.lang.get('H - Best')}
3895 + ]
3896 + };
3897 + break;
3898 + case 'wq':
3899 + obj = {
3900 + 'name': e2pdf.lang.get('Quiet Zone Size'),
3901 + 'type': 'text',
3902 + 'value': e2pdf.helper.getInt(properties[field]),
3903 + 'atts': ['number', 'keep']
3904 + };
3905 + break;
3906 + case 'format':
3907 + obj = {
3908 + 'name': e2pdf.lang.get('Format'),
3909 + 'type': 'select',
3910 + 'value': e2pdf.helper.getString(properties[field], 'upc-a'),
3911 + 'options':
3912 + [
3913 + {'upc-a': 'UPC-A'},
3914 + {'upc-e': 'UPC-E'},
3915 + {'ean-8': 'EAN-8'},
3916 + {'ean-13': 'EAN-13'},
3917 + {'ean-13-pad': 'EAN-13 PAD'},
3918 + {'ean-13-nopad': 'EAN-13 NOPAD'},
3919 + {'ean-128': 'EAN-128'},
3920 + {'code-39': 'CODE-39'},
3921 + {'code-39-ascii': 'CODE-39 ASCII'},
3922 + {'code-93': 'CODE-93'},
3923 + {'code-93-ascii': 'CODE-93 ASCII'},
3924 + {'code-128': 'CODE-128'},
3925 + {'codabar': 'CODEBAR'},
3926 + {'itf': 'ITF'},
3927 + {'dmtx': 'DMTX'},
3928 + {'dmtx-s': 'DMTX S'},
3929 + {'dmtx-r': 'DMTX R'},
3930 + {'gs1-dmtx': 'GS1 DMTX'},
3931 + {'gs1-dmtx-s': 'GS1 DMTX S'},
3932 + {'gs1-dmtx-r': 'GS1 DMTX R'}
3933 + ]
3934 + };
3935 + break;
3936 + case 'rotation':
3937 + obj = {
3938 + 'name': e2pdf.lang.get('Rotation'),
3939 + 'type': 'select',
3940 + 'value': e2pdf.helper.getString(properties[field], '0'),
3941 + 'options':
3942 + [
3943 + {'0': '0'},
3944 + {'90': '90'},
3945 + {'180': '180'},
3946 + {'270': '270'}
3947 + ]
3948 + };
3949 + break;
3950 + case 'quality':
3951 + obj = {
3952 + 'name': e2pdf.lang.get('Optimization'),
3953 + 'type': 'select',
3954 + 'value': e2pdf.helper.getInt(properties[field], '0'),
3955 + 'options':
3956 + [
3957 + {'0': e2pdf.lang.get('Inherit')},
3958 + {'-1': e2pdf.lang.get('Not Optimized')},
3959 + {'1': e2pdf.lang.get('Low Quality')},
3960 + {'2': e2pdf.lang.get('Basic Quality')},
3961 + {'3': e2pdf.lang.get('Good Quality')},
3962 + {'4': e2pdf.lang.get('Best Quality')},
3963 + {'5': e2pdf.lang.get('Ultra Quality')},
3964 + ]
3965 + };
3966 + break;
3967 + case 'opacity':
3968 + obj = {
3969 + 'name': e2pdf.lang.get('Opacity'),
3970 + 'type': 'text',
3971 + 'value': e2pdf.helper.getFloat(properties[field]),
3972 + 'atts': ['number', 'keep']
3973 + };
3974 + break;
2695 3975 case 'parent':
2696 - var value = properties['parent'];
2697 - var source = [
3976 + var options = [
3977 + {'': e2pdf.lang.get('--- Select ---')}
2698 3978 ];
2699 3979 if (el.data('data-type') === 'e2pdf-html') {
2700 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
3980 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2701 3981 if (!jQuery(this).is(children)) {
2702 3982 var parent = jQuery(this).parent().attr('data-element_id');
2703 - if (source.indexOf(parent) === -1) {
2704 - source.push(parent);
2705 - }
3983 + options.push({[parent]: parent});
2706 3984 }
2707 3985 });
2708 3986 }
2709 -
3987 + options.sort(function (a, b) {
3988 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
3989 + });
2710 3990 obj = {
2711 - 'name': e2pdfLang['Parent'],
2712 - 'key': 'parent',
2713 - 'type': 'text',
2714 - 'value': value,
2715 - 'source': source,
2716 - 'atts': ['autocomplete']
3991 + 'name': e2pdf.lang.get('Parent'),
3992 + 'type': 'select',
3993 + 'value': e2pdf.helper.getString(properties[field]),
3994 + 'options': options
2717 3995 };
2718 3996 break;
2719 3997 case 'group':
2720 - var value = properties['group'];
2721 - var source = [
2722 - ];
2723 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3998 + var source = [];
3999 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2724 4000 if (!jQuery(this).is(children)) {
2725 4001 var radio = jQuery(this).parent();
2726 - var group = e2pdf.properties.getValue(radio, 'group');
4002 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2727 4003 if (source.indexOf(group) === -1) {
2728 4004 source.push(group);
2729 4005 }
2730 4006 }
@@ -2729,628 +4005,3042 @@
2729 4005 }
2730 4006 }
2731 4007 });
2732 4008 obj = {
2733 - 'name': e2pdfLang['Group'],
2734 - 'key': 'group',
4009 + 'name': e2pdf.lang.get('Group'),
2735 4010 'type': 'text',
2736 - 'value': value,
4011 + 'value': e2pdf.helper.getString(properties[field]),
2737 4012 'source': source,
2738 4013 'atts': ['autocomplete']
2739 4014 };
2740 4015 break;
2741 4016 case 'option':
2742 - var value = properties['option'];
2743 4017 obj = {
2744 - 'name': e2pdfLang['Option'],
2745 - 'key': 'option',
4018 + 'name': e2pdf.lang.get('Option'),
2746 4019 'type': 'textarea',
2747 - 'value': value,
2748 - 'atts': []
4020 + 'value': e2pdf.helper.getString(properties[field])
2749 4021 };
2750 4022 break;
2751 4023 case 'options':
2752 - var value = properties['options'];
2753 4024 obj = {
2754 - 'name': e2pdfLang['Options'],
2755 - 'key': 'options',
4025 + 'name': e2pdf.lang.get('Options'),
2756 4026 'type': 'textarea',
2757 - 'value': value,
2758 - 'atts': []
4027 + 'value': e2pdf.helper.getString(properties[field])
2759 4028 };
2760 4029 break;
2761 4030 case 'value':
2762 - value = '';
2763 4031 if (el.data('data-type') === 'e2pdf-html') {
2764 - value = children.html();
4032 + if (children.is('textarea')) {
4033 + var value = children.val();
4034 + } else {
4035 + var value = children.html();
4036 + }
2765 4037 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2766 - value = children.val();
4038 + var value = children.val();
2767 4039 } else {
2768 - value = properties['value'];
4040 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2769 4041 }
2770 -
4042 + var name = e2pdf.lang.get('Value');
4043 + if (el.data('data-type') === 'e2pdf-image') {
4044 + name = e2pdf.lang.get('Image');
4045 + } else if (el.data('data-type') === 'e2pdf-link') {
4046 + name = e2pdf.lang.get('Link URL');
4047 + }
2771 4048 obj = {
2772 - 'name': e2pdfLang['Value'],
2773 - 'key': 'value',
4049 + 'name': name,
2774 4050 'type': 'textarea',
2775 - 'value': value,
2776 - 'atts': []
4051 + 'value': value
2777 4052 };
2778 4053 break;
4054 + case 'css':
4055 + obj = {
4056 + 'name': 'CSS',
4057 + 'type': 'textarea',
4058 + 'value': e2pdf.helper.getString(properties[field])
4059 + };
4060 + break;
2779 4061 case 'preset':
2780 - var value = '';
2781 4062 var options = [];
2782 4063 var option = {
2783 - '': e2pdfLang['--- Select ---']
4064 + '': e2pdf.lang.get('--- Select ---')
2784 4065 };
2785 4066 options.push(option);
2786 -
2787 - for (var size in e2pdfTemplateSizes) {
4067 + for (var size in e2pdf_params['template_sizes']) {
2788 4068 var option = {};
2789 - option[size] = size + ' (' + e2pdfTemplateSizes[size]['width'] + 'x' + e2pdfTemplateSizes[size]['height'] + ')';
4069 + option[size] = size + ' (' + e2pdf_params['template_sizes'][size]['width'] + 'x' + e2pdf_params['template_sizes'][size]['height'] + ')';
2790 4070 options.push(option);
2791 4071 }
2792 -
2793 4072 obj = {
2794 - 'name': e2pdfLang['Size Preset'],
2795 - 'key': 'preset',
4073 + 'name': e2pdf.lang.get('Size'),
2796 4074 'type': 'select',
2797 - 'value': value,
4075 + 'value': '',
2798 4076 'options': options,
2799 - 'atts': [],
4077 + 'atts': [
4078 + 'uneditable'
4079 + ]
2800 4080 };
2801 -
2802 4081 if (e2pdf.pdf.settings.get('pdf')) {
2803 4082 obj.atts.push('disabled');
2804 4083 }
2805 -
2806 4084 break;
2807 4085 case 'highlight':
2808 - var value = properties['highlight'];
2809 4086 obj = {
2810 - 'name': e2pdfLang['Highlight'],
2811 - 'key': 'highlight',
4087 + 'name': e2pdf.lang.get('Highlight'),
2812 4088 'type': 'select',
2813 - 'value': value,
4089 + 'value': e2pdf.helper.getString(properties[field], 'none'),
2814 4090 'options': [
2815 - {'none': e2pdfLang['None']},
2816 - {'invert': e2pdfLang['Invert']},
2817 - {'outline': e2pdfLang['Outline']},
2818 - {'push': e2pdfLang['Push']},
2819 - ],
2820 - 'atts': []
4091 + {'none': e2pdf.lang.get('None')},
4092 + {'invert': e2pdf.lang.get('Invert')},
4093 + {'outline': e2pdf.lang.get('Outline')},
4094 + {'push': e2pdf.lang.get('Push')}
4095 + ]
2821 4096 };
2822 4097 break;
4098 + case 'link_url':
4099 + obj = {
4100 + 'name': e2pdf.lang.get('Link URL'),
4101 + 'type': 'text',
4102 + 'value': e2pdf.helper.getString(properties[field], ''),
4103 + };
4104 + break;
4105 + case 'link_type':
4106 + obj = {
4107 + 'name': e2pdf.lang.get('Link Type'),
4108 + 'type': 'select',
4109 + 'value': e2pdf.helper.getString(properties[field], ''),
4110 + 'options': [
4111 + {'': e2pdf.lang.get('Url')},
4112 + {'attachment': e2pdf.lang.get('Attachment')},
4113 + ]
4114 + };
4115 + break;
4116 + case 'link_label':
4117 + obj = {
4118 + 'name': e2pdf.lang.get('Link Label'),
4119 + 'type': 'text',
4120 + 'value': e2pdf.helper.getString(properties[field], ''),
4121 + };
4122 + break;
4123 + case 'underline':
4124 + obj = {
4125 + 'name': e2pdf.lang.get('Underline'),
4126 + 'type': 'checkbox',
4127 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4128 + 'option': '1'
4129 + };
4130 + break;
4131 + case 'underline':
4132 + obj = {
4133 + 'name': e2pdf.lang.get('Underline'),
4134 + 'type': 'checkbox',
4135 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4136 + 'option': '1'
4137 + };
4138 + break;
4139 + case 'preg_pattern':
4140 + obj = {
4141 + 'name': e2pdf.lang.get('Preg Replace Pattern'),
4142 + 'type': 'text',
4143 + 'value': e2pdf.helper.getString(properties[field])
4144 + };
4145 + break;
4146 + case 'preg_replacement':
4147 + obj = {
4148 + 'name': e2pdf.lang.get('Preg Replace Replacement'),
4149 + 'type': 'text',
4150 + 'value': e2pdf.helper.getString(properties[field])
4151 + };
4152 + break;
4153 + case 'preg_match_all_pattern':
4154 + obj = {
4155 + 'name': e2pdf.lang.get('Preg Match All Pattern'),
4156 + 'type': 'text',
4157 + 'value': e2pdf.helper.getString(properties[field])
4158 + };
4159 + break;
4160 + case 'preg_match_all_output':
4161 + obj = {
4162 + 'name': e2pdf.lang.get('Preg Match All Output'),
4163 + 'type': 'text',
4164 + 'value': e2pdf.helper.getString(properties[field])
4165 + };
4166 + break;
4167 + case 'css_priority':
4168 + obj = {
4169 + 'name': e2pdf.lang.get('CSS Priority'),
4170 + 'type': 'checkbox',
4171 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4172 + 'option': '1'
4173 + };
4174 + break;
4175 + case 'css_style':
4176 + var options = [];
4177 + var option = {
4178 + '': '--- ' + e2pdf.lang.get('CSS Style') + ' ---'
4179 + };
4180 + options.push(option);
4181 + e2pdf_params['css_styles'].forEach(function (css_style) {
4182 + var option = {};
4183 + option[css_style] = css_style;
4184 + options.push(option);
4185 + });
4186 + obj = {
4187 + 'name': e2pdf.lang.get('CSS Style'),
4188 + 'type': 'select',
4189 + 'value': e2pdf.helper.getString(properties[field], ''),
4190 + 'options': options
4191 + };
4192 + break;
4193 + case 'html_worker':
4194 + obj = {
4195 + 'name': 'HTML Worker',
4196 + 'type': 'select',
4197 + 'value': e2pdf.helper.getString(properties[field], ''),
4198 + 'options': [
4199 + {'': 'HTML Worker: v1'},
4200 + {'1': 'HTML Worker: v2'},
4201 + {'3': 'HTML Worker: v3 (BETA)'}
4202 + ]
4203 + };
4204 + break;
4205 + case 'wysiwyg_disable':
4206 + obj = {
4207 + 'name': e2pdf.lang.get('Disable WYSIWYG Editor'),
4208 + 'type': 'checkbox',
4209 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4210 + 'option': '1'
4211 + };
4212 + break;
4213 + case 'g_type':
4214 + obj = {
4215 + 'name': e2pdf.lang.get('Type'),
4216 + 'type': 'select',
4217 + 'value': e2pdf.helper.getString(properties[field], 'BarGraph'),
4218 + 'options':
4219 + [
4220 + {'BarGraph': 'BarGraph'},
4221 + {'Bar3DGraph': 'Bar3DGraph'},
4222 + {'BarAndLineGraph': 'BarAndLineGraph'},
4223 + {'BoxAndWhiskerGraph': 'BoxAndWhiskerGraph'},
4224 + {'BubbleGraph': 'BubbleGraph'},
4225 + {'CylinderGraph': 'CylinderGraph'},
4226 + {'CandlestickGraph': 'CandlestickGraph'},
4227 + {'DonutGraph': 'DonutGraph'},
4228 + {'Donut3DGraph': 'Donut3DGraph'},
4229 + {'ExplodedPieGraph': 'ExplodedPieGraph'},
4230 + {'ExplodedPie3DGraph': 'ExplodedPie3DGraph'},
4231 + {'ExplodedDonutGraph': 'ExplodedDonutGraph'},
4232 + {'ExplodedDonut3DGraph': 'ExplodedDonut3DGraph'},
4233 + {'ExplodedSemiDonutGraph': 'ExplodedSemiDonutGraph'},
4234 + {'ExplodedSemiDonut3DGraph': 'ExplodedSemiDonut3DGraph'},
4235 + {'FloatingBarGraph': 'FloatingBarGraph'},
4236 + {'GroupedBarGraph': 'GroupedBarGraph'},
4237 + {'GroupedBar3DGraph': 'GroupedBar3DGraph'},
4238 + {'GroupedCylinderGraph': 'GroupedCylinderGraph'},
4239 + {'Histogram': 'Histogram'},
4240 + {'HorizontalBarGraph': 'HorizontalBarGraph'},
4241 + {'HorizontalBar3DGraph': 'HorizontalBar3DGraph'},
4242 + {'HorizontalStackedBarGraph': 'HorizontalStackedBarGraph'},
4243 + {'HorizontalStackedBar3DGraph': 'HorizontalStackedBar3DGraph'},
4244 + {'HorizontalGroupedBarGraph': 'HorizontalGroupedBarGraph'},
4245 + {'HorizontalGroupedBar3DGraph': 'HorizontalGroupedBar3DGraph'},
4246 + {'HorizontalFloatingBarGraph': 'HorizontalFloatingBarGraph'},
4247 + {'LineGraph': 'LineGraph'},
4248 + {'MultiLineGraph': 'MultiLineGraph'},
4249 + {'MultiRadarGraph': 'MultiRadarGraph'},
4250 + {'MultiScatterGraph': 'MultiScatterGraph'},
4251 + {'MultiSteppedLineGraph': 'MultiSteppedLineGraph'},
4252 + {'ParetoChart': 'ParetoChart'},
4253 + {'PieGraph': 'PieGraph'},
4254 + {'Pie3DGraph': 'Pie3DGraph'},
4255 + {'PolarAreaGraph': 'PolarAreaGraph'},
4256 + {'PolarArea3DGraph': 'PolarArea3DGraph'},
4257 + {'PopulationPyramid': 'PopulationPyramid'},
4258 + {'RadarGraph': 'RadarGraph'},
4259 + {'ScatterGraph': 'ScatterGraph'},
4260 + {'SemiDonutGraph': 'SemiDonutGraph'},
4261 + {'SemiDonut3DGraph': 'SemiDonut3DGraph'},
4262 + {'SteppedLineGraph': 'SteppedLineGraph'},
4263 + {'StackedBarGraph': 'StackedBarGraph'},
4264 + {'StackedBar3DGraph': 'StackedBar3DGraph'},
4265 + {'StackedBarAndLineGraph': 'StackedBarAndLineGraph'},
4266 + {'StackedCylinderGraph': 'StackedCylinderGraph'},
4267 + {'StackedLineGraph': 'StackedLineGraph'},
4268 + {'StackedGroupedBarGraph': 'StackedGroupedBarGraph'},
4269 + {'StackedGroupedBar3DGraph': 'StackedGroupedBar3DGraph'},
4270 + {'StackedGroupedCylinderGraph': 'StackedGroupedCylinderGraph'}
4271 + ]
4272 + };
4273 + break;
4274 + case 'g_palette':
4275 + obj = {
4276 + 'name': e2pdf.lang.get('Palette'),
4277 + 'type': 'color',
4278 + 'value': e2pdf.helper.getString(properties[field])
4279 + };
4280 + break;
4281 + case 'g_stroke_colour':
4282 + obj = {
4283 + 'name': e2pdf.lang.get('Line / Stroke Color'),
4284 + 'type': 'color',
4285 + 'value': e2pdf.helper.getString(properties[field])
4286 + };
4287 + break;
4288 + case 'g_stroke_width':
4289 + obj = {
4290 + 'name': e2pdf.lang.get('Width'),
4291 + 'type': 'text',
4292 + 'value': e2pdf.helper.getInt(properties[field]),
4293 + 'atts': ['number']
4294 + };
4295 + break;
4296 + case 'g_graph_title':
4297 + obj = {
4298 + 'name': e2pdf.lang.get('Title'),
4299 + 'type': 'text',
4300 + 'value': e2pdf.helper.getString(properties[field])
4301 + };
4302 + break;
4303 + case 'g_graph_title_font_size':
4304 + obj = {
4305 + 'name': e2pdf.lang.get('Font Size'),
4306 + 'type': 'select',
4307 + 'value': e2pdf.helper.getString(properties[field]),
4308 + 'options': e2pdf.helper.font.sizes(field)
4309 + };
4310 + break;
4311 + case 'g_label_font_size':
4312 + obj = {
4313 + 'name': e2pdf.lang.get('Font Size'),
4314 + 'type': 'select',
4315 + 'value': e2pdf.helper.getString(properties[field]),
4316 + 'options': e2pdf.helper.font.sizes(field)
4317 + };
4318 + break;
4319 + case 'g_graph_title_space':
4320 + obj = {
4321 + 'name': e2pdf.lang.get('Space'),
4322 + 'type': 'text',
4323 + 'value': e2pdf.helper.getInt(properties[field]),
4324 + 'atts': ['number']
4325 + };
4326 + break;
4327 + case 'g_label_space':
4328 + obj = {
4329 + 'name': e2pdf.lang.get('Space'),
4330 + 'type': 'text',
4331 + 'value': e2pdf.helper.getInt(properties[field]),
4332 + 'atts': ['number']
4333 + };
4334 + break;
4335 + case 'g_graph_title_colour':
4336 + obj = {
4337 + 'name': e2pdf.lang.get('Color'),
4338 + 'type': 'color',
4339 + 'value': e2pdf.helper.getString(properties[field])
4340 + };
4341 + break;
4342 + case 'g_label_colour':
4343 + obj = {
4344 + 'name': e2pdf.lang.get('Color'),
4345 + 'type': 'color',
4346 + 'value': e2pdf.helper.getString(properties[field])
4347 + };
4348 + break;
4349 + case 'g_graph_title_position':
4350 + obj = {
4351 + 'name': e2pdf.lang.get('Position'),
4352 + 'type': 'select',
4353 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4354 + 'options':
4355 + [
4356 + {'top': e2pdf.lang.get('Top')},
4357 + {'left': e2pdf.lang.get('Left')},
4358 + {'right': e2pdf.lang.get('Right')},
4359 + {'bottom': e2pdf.lang.get('Bottom')}
4360 + ]
4361 + };
4362 + break;
4363 + case 'g_label_v':
4364 + obj = {
4365 + 'name': e2pdf.lang.get('Vertical Label'),
4366 + 'type': 'text',
4367 + 'value': e2pdf.helper.getString(properties[field])
4368 + };
4369 + break;
4370 + case 'g_label_h':
4371 + obj = {
4372 + 'name': e2pdf.lang.get('Horizontal Label'),
4373 + 'type': 'text',
4374 + 'value': e2pdf.helper.getString(properties[field])
4375 + };
4376 + break;
4377 + case 'g_data_label_type':
4378 + obj = {
4379 + 'name': e2pdf.lang.get('Type'),
4380 + 'type': 'select',
4381 + 'value': e2pdf.helper.getString(properties[field], 'plain'),
4382 + 'options':
4383 + [
4384 + {'plain': 'Plain'},
4385 + {'box': 'Box'},
4386 + {'bubble': 'Bubble'},
4387 + {'line': 'Line'},
4388 + {'circle': 'Circle'},
4389 + {'square': 'Square'},
4390 + {'linecircle': 'LineCircle'},
4391 + {'linebox': 'LineBox'},
4392 + {'linesquare': 'LineSquare'},
4393 + {'line2': 'Line2'}
4394 + ]
4395 + };
4396 + break;
4397 + case 'g_key_sep':
4398 + obj = {
4399 + 'name': 'Key Separator',
4400 + 'type': 'text',
4401 + 'value': properties.hasOwnProperty('g_key_sep') && properties['g_key_sep'] ? properties['g_key_sep'] : ' => '
4402 + };
4403 + break;
4404 + case 'g_array_sep':
4405 + obj = {
4406 + 'name': 'Array Separator',
4407 + 'type': 'text',
4408 + 'value': properties.hasOwnProperty('g_array_sep') && properties['g_array_sep'] ? properties['g_array_sep'] : ', '
4409 + };
4410 + break;
4411 + case 'g_sub_array_sep':
4412 + obj = {
4413 + 'name': 'Sub Array Separator',
4414 + 'type': 'text',
4415 + 'value': properties.hasOwnProperty('g_sub_array_sep') && properties['g_sub_array_sep'] ? properties['g_sub_array_sep'] : '|'
4416 + };
4417 + break;
4418 + case 'g_structure_key':
4419 + obj = {
4420 + 'name': 'Key',
4421 + 'type': 'text',
4422 + 'value': e2pdf.helper.getString(properties[field])
4423 + };
4424 + break;
4425 + case 'g_structure_value':
4426 + obj = {
4427 + 'name': 'Value',
4428 + 'type': 'text',
4429 + 'value': e2pdf.helper.getString(properties[field])
4430 + };
4431 + break;
4432 + case 'g_structure_colour':
4433 + obj = {
4434 + 'name': 'Color',
4435 + 'type': 'text',
4436 + 'value': e2pdf.helper.getString(properties[field])
4437 + };
4438 + break;
4439 + case 'g_structure_axis_text':
4440 + obj = {
4441 + 'name': 'Axis Text',
4442 + 'type': 'text',
4443 + 'value': e2pdf.helper.getString(properties[field])
4444 + };
4445 + break;
4446 + case 'g_structure_legend_text':
4447 + obj = {
4448 + 'name': 'Legend Text',
4449 + 'type': 'text',
4450 + 'value': e2pdf.helper.getString(properties[field])
4451 + };
4452 + break;
4453 + case 'g_structure_label':
4454 + obj = {
4455 + 'name': 'Label',
4456 + 'type': 'text',
4457 + 'value': e2pdf.helper.getString(properties[field])
4458 + };
4459 + break;
4460 + case 'g_structure_area':
4461 + obj = {
4462 + 'name': 'Area',
4463 + 'type': 'text',
4464 + 'value': e2pdf.helper.getString(properties[field])
4465 + };
4466 + break;
4467 + case 'g_structure_open':
4468 + obj = {
4469 + 'name': 'Open',
4470 + 'type': 'text',
4471 + 'value': e2pdf.helper.getString(properties[field])
4472 + };
4473 + break;
4474 + case 'g_structure_end':
4475 + obj = {
4476 + 'name': 'End',
4477 + 'type': 'text',
4478 + 'value': e2pdf.helper.getString(properties[field])
4479 + };
4480 + break;
4481 + case 'g_structure_outliers':
4482 + obj = {
4483 + 'name': 'Outliers',
4484 + 'type': 'text',
4485 + 'value': e2pdf.helper.getString(properties[field])
4486 + };
4487 + break;
4488 + case 'g_structure_top':
4489 + obj = {
4490 + 'name': 'Top',
4491 + 'type': 'text',
4492 + 'value': e2pdf.helper.getString(properties[field])
4493 + };
4494 + break;
4495 + case 'g_structure_bottom':
4496 + obj = {
4497 + 'name': 'Bottom',
4498 + 'type': 'text',
4499 + 'value': e2pdf.helper.getString(properties[field])
4500 + };
4501 + break;
4502 + case 'g_structure_wtop':
4503 + obj = {
4504 + 'name': 'Wtop',
4505 + 'type': 'text',
4506 + 'value': e2pdf.helper.getString(properties[field])
4507 + };
4508 + break;
4509 + case 'g_structure_wbottom':
4510 + obj = {
4511 + 'name': 'Wbottom',
4512 + 'type': 'text',
4513 + 'value': e2pdf.helper.getString(properties[field])
4514 + };
4515 + break;
4516 + case 'g_structure_high':
4517 + obj = {
4518 + 'name': 'High',
4519 + 'type': 'text',
4520 + 'value': e2pdf.helper.getString(properties[field])
4521 + };
4522 + break;
4523 + case 'g_structure_low':
4524 + obj = {
4525 + 'name': 'Low',
4526 + 'type': 'text',
4527 + 'value': e2pdf.helper.getString(properties[field])
4528 + };
4529 + break;
4530 + case 'g_structured_data':
4531 + obj = {
4532 + 'name': 'Structured Data',
4533 + 'type': 'checkbox',
4534 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4535 + 'option': '1'
4536 + };
4537 + break;
4538 + case 'g_axis_font_size':
4539 + obj = {
4540 + 'name': e2pdf.lang.get('Font Size'),
4541 + 'key': 'g_axis_font_size',
4542 + 'type': 'select',
4543 + 'value': e2pdf.helper.getString(properties[field]),
4544 + 'options': e2pdf.helper.font.sizes(field)
4545 + };
4546 + break;
4547 + case 'g_axis_font_size_h':
4548 + obj = {
4549 + 'name': e2pdf.lang.get('Font Size'),
4550 + 'key': 'g_axis_font_size_h',
4551 + 'type': 'select',
4552 + 'value': e2pdf.helper.getString(properties[field]),
4553 + 'options': e2pdf.helper.font.sizes(field)
4554 + };
4555 + break;
4556 + case 'g_axis_font_size_v':
4557 + obj = {
4558 + 'name': e2pdf.lang.get('Font Size'),
4559 + 'key': 'g_axis_font_size_v',
4560 + 'type': 'select',
4561 + 'value': e2pdf.helper.getString(properties[field]),
4562 + 'options': e2pdf.helper.font.sizes(field)
4563 + };
4564 + break;
4565 + case 'g_axis_overlap':
4566 + obj = {
4567 + 'name': e2pdf.lang.get('Axis Overlap'),
4568 + 'type': 'text',
4569 + 'value': e2pdf.helper.getInt(properties[field]),
4570 + 'atts': ['number']
4571 + };
4572 + break;
4573 + case 'g_axis_stroke_width_v':
4574 + obj = {
4575 + 'name': e2pdf.lang.get('Width'),
4576 + 'type': 'text',
4577 + 'value': e2pdf.helper.getInt(properties[field]),
4578 + 'atts': ['number']
4579 + };
4580 + break;
4581 + case 'g_axis_stroke_width_h':
4582 + obj = {
4583 + 'name': e2pdf.lang.get('Width'),
4584 + 'type': 'text',
4585 + 'value': e2pdf.helper.getInt(properties[field]),
4586 + 'atts': ['number']
4587 + };
4588 + break;
4589 + case 'g_minimum_grid_spacing':
4590 + obj = {
4591 + 'name': e2pdf.lang.get('Grid Spacing'),
4592 + 'type': 'text',
4593 + 'value': e2pdf.helper.getInt(properties[field]),
4594 + 'atts': ['number']
4595 + };
4596 + break;
4597 + case 'g_minimum_grid_spacing_v':
4598 + obj = {
4599 + 'name': e2pdf.lang.get('Grid Spacing (V)'),
4600 + 'type': 'text',
4601 + 'value': e2pdf.helper.getInt(properties[field]),
4602 + 'atts': ['number']
4603 + };
4604 + break;
4605 + case 'g_minimum_grid_spacing_h':
4606 + obj = {
4607 + 'name': e2pdf.lang.get('Grid Spacing (H)'),
4608 + 'type': 'text',
4609 + 'value': e2pdf.helper.getInt(properties[field]),
4610 + 'atts': ['number']
4611 + };
4612 + break;
4613 + case 'g_grid_division_v':
4614 + obj = {
4615 + 'name': e2pdf.lang.get('Grid Division (V)'),
4616 + 'type': 'text',
4617 + 'value': e2pdf.helper.getFloat(properties[field]),
4618 + 'atts': ['number']
4619 + };
4620 + break;
4621 + case 'g_grid_division_h':
4622 + obj = {
4623 + 'name': e2pdf.lang.get('Grid Division (H)'),
4624 + 'type': 'text',
4625 + 'value': e2pdf.helper.getFloat(properties[field]),
4626 + 'atts': ['number']
4627 + };
4628 + break;
4629 + case 'g_axis_colour':
4630 + obj = {
4631 + 'name': e2pdf.lang.get('Axis Color'),
4632 + 'type': 'color',
4633 + 'value': e2pdf.helper.getString(properties[field])
4634 + };
4635 + break;
4636 + case 'g_axis_colour_h':
4637 + obj = {
4638 + 'name': e2pdf.lang.get('Axis Color'),
4639 + 'type': 'color',
4640 + 'value': e2pdf.helper.getString(properties[field])
4641 + };
4642 + break;
4643 + case 'g_axis_colour_v':
4644 + obj = {
4645 + 'name': e2pdf.lang.get('Axis Color'),
4646 + 'type': 'color',
4647 + 'value': e2pdf.helper.getString(properties[field])
4648 + };
4649 + break;
4650 + case 'g_grid_colour':
4651 + obj = {
4652 + 'name': e2pdf.lang.get('Grid Color'),
4653 + 'key': 'g_grid_colour',
4654 + 'type': 'color',
4655 + 'value': e2pdf.helper.getString(properties[field])
4656 + };
4657 + break;
4658 + case 'g_bar_width':
4659 + obj = {
4660 + 'name': e2pdf.lang.get('Width'),
4661 + 'type': 'text',
4662 + 'value': e2pdf.helper.getInt(properties[field]),
4663 + 'atts': ['number']
4664 + };
4665 + break;
4666 + case 'g_bar_width_min':
4667 + obj = {
4668 + 'name': e2pdf.lang.get('Min Width'),
4669 + 'type': 'text',
4670 + 'value': e2pdf.helper.getInt(properties[field]),
4671 + 'atts': ['number']
4672 + };
4673 + break;
4674 + case 'g_bar_space':
4675 + obj = {
4676 + 'name': e2pdf.lang.get('Space'),
4677 + 'type': 'text',
4678 + 'value': e2pdf.helper.getInt(properties[field]),
4679 + 'atts': ['number', 'keep']
4680 + };
4681 + break;
4682 + case 'g_bar_label_colour':
4683 + obj = {
4684 + 'name': e2pdf.lang.get('Bar Label Color'),
4685 + 'type': 'color',
4686 + 'value': e2pdf.helper.getString(properties[field])
4687 + };
4688 + break;
4689 + case 'g_bar_label_font_size':
4690 + obj = {
4691 + 'name': e2pdf.lang.get('Font Size'),
4692 + 'type': 'select',
4693 + 'value': e2pdf.helper.getString(properties[field]),
4694 + 'options': e2pdf.helper.font.sizes(field)
4695 + };
4696 + break;
4697 + case 'g_bar_label_space':
4698 + obj = {
4699 + 'name': e2pdf.lang.get('Space'),
4700 + 'type': 'text',
4701 + 'value': e2pdf.helper.getInt(properties[field]),
4702 + 'atts': ['number']
4703 + };
4704 + break;
4705 + case 'g_bar_label_position_vertical':
4706 + obj = {
4707 + 'name': e2pdf.lang.get('Position (V)'),
4708 + 'type': 'select',
4709 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4710 + 'options':
4711 + [
4712 + {'top': e2pdf.lang.get('Top')},
4713 + {'centre': e2pdf.lang.get('Middle')},
4714 + {'bottom': e2pdf.lang.get('Bottom')}
4715 + ]
4716 + };
4717 + break;
4718 + case 'g_bar_label_position_horizontal':
4719 + obj = {
4720 + 'name': e2pdf.lang.get('Position (H)'),
4721 + 'type': 'select',
4722 + 'value': e2pdf.helper.getString(properties[field], 'centre'),
4723 + 'options':
4724 + [
4725 + {'left': e2pdf.lang.get('Left')},
4726 + {'centre': e2pdf.lang.get('Center')},
4727 + {'right': e2pdf.lang.get('Right')}
4728 + ]
4729 + };
4730 + break;
4731 + case 'g_bar_label_position_join':
4732 + obj = {
4733 + 'name': e2pdf.lang.get('Position'),
4734 + 'type': 'select',
4735 + 'value': e2pdf.helper.getString(properties[field], 'outer'),
4736 + 'options':
4737 + [
4738 + {'inner': 'Inner'},
4739 + {'outer': 'Outer'}
4740 + ]
4741 + };
4742 + break;
4743 + case 'g_show_bar_labels':
4744 + obj = {
4745 + 'name': e2pdf.lang.get('Bar Labels'),
4746 + 'type': 'checkbox',
4747 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4748 + 'option': '1'
4749 + };
4750 + break;
4751 + case 'g_show_labels':
4752 + obj = {
4753 + 'name': e2pdf.lang.get('Labels'),
4754 + 'type': 'checkbox',
4755 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4756 + 'option': '1',
4757 + 'atts': ['keep'],
4758 + };
4759 + break;
4760 + case 'g_show_label_key':
4761 + obj = {
4762 + 'name': e2pdf.lang.get('Key Labels'),
4763 + 'type': 'checkbox',
4764 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4765 + 'option': '1',
4766 + 'atts': ['keep'],
4767 + };
4768 + break;
4769 + case 'g_show_label_amount':
4770 + obj = {
4771 + 'name': e2pdf.lang.get('Amount Labels'),
4772 + 'type': 'checkbox',
4773 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4774 + 'option': '1'
4775 + };
4776 + break;
4777 + case 'g_show_label_percent':
4778 + obj = {
4779 + 'name': e2pdf.lang.get('Percent Labels'),
4780 + 'type': 'checkbox',
4781 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4782 + 'option': '1'
4783 + };
4784 + break;
4785 + case 'g_marker_type':
4786 + obj = {
4787 + 'name': e2pdf.lang.get('Marker'),
4788 + 'type': 'select',
4789 + 'value': e2pdf.helper.getString(properties[field], 'circle'),
4790 + 'options':
4791 + [
4792 + {'circle': 'Circle'},
4793 + {'square': 'Square'},
4794 + {'triangle': 'Triangle'},
4795 + {'cross': 'Cross'},
4796 + {'x': 'X'},
4797 + {'pentagon': 'Pentagon'},
4798 + {'diamond': 'Diamond'},
4799 + {'hexagon': 'Hexagon'},
4800 + {'octagon': 'Octagon'},
4801 + {'asterisk': 'Asterisk'},
4802 + {'star': 'Star'},
4803 + {'threestar': 'Threestar'},
4804 + {'fourstar': 'Fourstar'},
4805 + {'eightstar': 'Eightstar'}
4806 + ]
4807 + };
4808 + break;
4809 + case 'g_marker_colour':
4810 + obj = {
4811 + 'name': e2pdf.lang.get('Color'),
4812 + 'type': 'color',
4813 + 'value': e2pdf.helper.getString(properties[field])
4814 + };
4815 + break;
4816 + case 'g_marker_size':
4817 + obj = {
4818 + 'name': e2pdf.lang.get('Size'),
4819 + 'type': 'text',
4820 + 'value': e2pdf.helper.getInt(properties[field]),
4821 + 'atts': ['number']
4822 + };
4823 + break;
4824 + case 'g_marker_dynamic_colour':
4825 + obj = {
4826 + 'name': e2pdf.lang.get('Dynamic Marker Color'),
4827 + 'type': 'checkbox',
4828 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4829 + 'option': '1'
4830 + };
4831 + break;
4832 + case 'g_grid_subdivision_colour':
4833 + obj = {
4834 + 'name': e2pdf.lang.get('Grid Subdivision Color'),
4835 + 'type': 'color',
4836 + 'value': e2pdf.helper.getString(properties[field])
4837 + };
4838 + break;
4839 + case 'g_show_subdivisions':
4840 + obj = {
4841 + 'name': e2pdf.lang.get('Sub Divisions'),
4842 + 'type': 'checkbox',
4843 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4844 + 'option': '1'
4845 + };
4846 + break;
4847 + case 'g_show_grid':
4848 + obj = {
4849 + 'name': e2pdf.lang.get('Grid'),
4850 + 'type': 'checkbox',
4851 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4852 + 'option': '1'
4853 + };
4854 + break;
4855 + case 'g_show_axis_v':
4856 + obj = {
4857 + 'name': e2pdf.lang.get('Axis (V)'),
4858 + 'type': 'checkbox',
4859 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4860 + 'option': '1'
4861 + };
4862 + break;
4863 + case 'g_show_axis_text_v':
4864 + obj = {
4865 + 'name': e2pdf.lang.get('Text'),
4866 + 'type': 'checkbox',
4867 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4868 + 'option': '1'
4869 + };
4870 + break;
4871 + case 'g_show_axis_h':
4872 + obj = {
4873 + 'name': e2pdf.lang.get('Axis (H)'),
4874 + 'type': 'checkbox',
4875 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4876 + 'option': '1'
4877 + };
4878 + break;
4879 + case 'g_show_axis_text_h':
4880 + obj = {
4881 + 'name': e2pdf.lang.get('Text'),
4882 + 'type': 'checkbox',
4883 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4884 + 'option': '1'
4885 + };
4886 + break;
4887 + case 'g_axis_min_h':
4888 + obj = {
4889 + 'name': e2pdf.lang.get('Min'),
4890 + 'type': 'text',
4891 + 'value': e2pdf.helper.getInt(properties[field]),
4892 + 'atts': ['number', 'number-negative']
4893 + };
4894 + break;
4895 + case 'g_axis_max_h':
4896 + obj = {
4897 + 'name': e2pdf.lang.get('Max'),
4898 + 'type': 'text',
4899 + 'value': e2pdf.helper.getInt(properties[field]),
4900 + 'atts': ['number', 'number-negative']
4901 + };
4902 + break;
4903 + case 'g_axis_min_max_h':
4904 + obj = {
4905 + 'name': e2pdf.lang.get('Enable'),
4906 + 'type': 'checkbox',
4907 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4908 + 'option': '1'
4909 + };
4910 + break;
4911 + case 'g_axis_min_v':
4912 + obj = {
4913 + 'name': e2pdf.lang.get('Min'),
4914 + 'type': 'text',
4915 + 'value': e2pdf.helper.getInt(properties[field]),
4916 + 'atts': ['number', 'number-negative']
4917 + };
4918 + break;
4919 + case 'g_axis_max_v':
4920 + obj = {
4921 + 'name': e2pdf.lang.get('Max'),
4922 + 'type': 'text',
4923 + 'value': e2pdf.helper.getInt(properties[field]),
4924 + 'atts': ['number', 'number-negative']
4925 + };
4926 + break;
4927 + case 'g_axis_min_max_v':
4928 + obj = {
4929 + 'name': e2pdf.lang.get('Enable'),
4930 + 'type': 'checkbox',
4931 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4932 + 'option': '1'
4933 + };
4934 + break;
4935 + case 'g_show_grid_subdivisions':
4936 + obj = {
4937 + 'name': e2pdf.lang.get('Sub Divisions'),
4938 + 'type': 'checkbox',
4939 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4940 + 'option': '1'
4941 + };
4942 + break;
4943 + case 'g_fill_under':
4944 + obj = {
4945 + 'name': e2pdf.lang.get('Fill Under'),
4946 + 'type': 'checkbox',
4947 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4948 + 'option': '1'
4949 + };
4950 + break;
4951 + case 'g_reverse':
4952 + obj = {
4953 + 'name': e2pdf.lang.get('Reverse'),
4954 + 'type': 'checkbox',
4955 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4956 + 'option': '1'
4957 + };
4958 + break;
4959 + case 'g_stroke_dynamic_colour':
4960 + obj = {
4961 + 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
4962 + 'type': 'checkbox',
4963 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4964 + 'option': '1'
4965 + };
4966 + break;
4967 + case 'g_sort':
4968 + obj = {
4969 + 'name': e2pdf.lang.get('Sort'),
4970 + 'type': 'checkbox',
4971 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4972 + 'option': '1'
4973 + };
4974 + break;
4975 + case 'g_percentage':
4976 + obj = {
4977 + 'name': e2pdf.lang.get('Percentage'),
4978 + 'type': 'checkbox',
4979 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4980 + 'option': '1'
4981 + };
4982 + break;
4983 + case 'g_legend_title':
4984 + obj = {
4985 + 'name': e2pdf.lang.get('Title'),
4986 + 'type': 'text',
4987 + 'value': e2pdf.helper.getString(properties[field])
4988 + };
4989 + break;
4990 + case 'g_legend_title_font_size':
4991 + obj = {
4992 + 'name': e2pdf.lang.get('Font Size'),
4993 + 'type': 'select',
4994 + 'value': e2pdf.helper.getString(properties[field]),
4995 + 'options': e2pdf.helper.font.sizes(field)
4996 + };
4997 + break;
4998 + case 'g_legend_font_size':
4999 + obj = {
5000 + 'name': e2pdf.lang.get('Font Size'),
5001 + 'type': 'select',
5002 + 'value': e2pdf.helper.getString(properties[field]),
5003 + 'options': e2pdf.helper.font.sizes(field)
5004 + };
5005 + break;
5006 + case 'g_legend_position_vertical':
5007 + obj = {
5008 + 'name': e2pdf.lang.get('Position (V)'),
5009 + 'key': 'g_legend_position_vertical',
5010 + 'type': 'select',
5011 + 'value': e2pdf.helper.getString(properties[field], 'top'),
5012 + 'options':
5013 + [
5014 + {'top': e2pdf.lang.get('Top')},
5015 + {'middle': e2pdf.lang.get('Middle')},
5016 + {'bottom': e2pdf.lang.get('Bottom')}
5017 + ]
5018 + };
5019 + break;
5020 + case 'g_legend_position_horizontal':
5021 + obj = {
5022 + 'name': e2pdf.lang.get('Position (H)'),
5023 + 'type': 'select',
5024 + 'value': e2pdf.helper.getString(properties[field], 'right'),
5025 + 'options':
5026 + [
5027 + {'left': e2pdf.lang.get('Left')},
5028 + {'center': e2pdf.lang.get('Center')},
5029 + {'right': e2pdf.lang.get('Right')}
5030 + ]
5031 + };
5032 + break;
5033 + case 'g_legend_position_join':
5034 + obj = {
5035 + 'name': e2pdf.lang.get('Position'),
5036 + 'type': 'select',
5037 + 'value': e2pdf.helper.getString(properties[field], 'inner'),
5038 + 'options':
5039 + [
5040 + {'inner': e2pdf.lang.get('Inner')},
5041 + {'outer': e2pdf.lang.get('Outer')}
5042 + ]
5043 + };
5044 + break;
5045 + case 'g_legend_position_vertical_margin':
5046 + obj = {
5047 + 'name': e2pdf.lang.get('Margin (V)'),
5048 + 'type': 'text',
5049 + 'value': e2pdf.helper.getFloat(properties[field]),
5050 + 'atts': ['number', 'number-negative']
5051 + };
5052 + break;
5053 + case 'g_legend_position_horizontal_margin':
5054 + obj = {
5055 + 'name': e2pdf.lang.get('Margin (H)'),
5056 + 'type': 'text',
5057 + 'value': e2pdf.helper.getFloat(properties[field]),
5058 + 'atts': ['number', 'number-negative']
5059 + };
5060 + break;
5061 + case 'g_legend_text_side':
5062 + obj = {
5063 + 'name': e2pdf.lang.get('Legend Text Side'),
5064 + 'type': 'select',
5065 + 'value': e2pdf.helper.getString(properties[field], 'left'),
5066 + 'options':
5067 + [
5068 + {'left': e2pdf.lang.get('Left')},
5069 + {'right': e2pdf.lang.get('Right')}
5070 + ]
5071 + };
5072 + break;
5073 + case 'g_legend_columns':
5074 + obj = {
5075 + 'name': e2pdf.lang.get('Columns'),
5076 + 'type': 'text',
5077 + 'value': e2pdf.helper.getInt(properties[field], 1),
5078 + 'atts': ['number']
5079 + };
5080 + break;
5081 + case 'g_legend_entry_width':
5082 + obj = {
5083 + 'name': e2pdf.lang.get('Width'),
5084 + 'type': 'text',
5085 + 'value': e2pdf.helper.getInt(properties[field]),
5086 + 'atts': ['number']
5087 + };
5088 + break;
5089 + case 'g_legend_entry_height':
5090 + obj = {
5091 + 'name': e2pdf.lang.get('Height'),
5092 + 'type': 'text',
5093 + 'value': e2pdf.helper.getInt(properties[field]),
5094 + 'atts': ['number', 'keep']
5095 + };
5096 + break;
5097 + case 'g_legend_padding_x':
5098 + obj = {
5099 + 'name': e2pdf.lang.get('Padding (X)'),
5100 + 'type': 'text',
5101 + 'value': e2pdf.helper.getInt(properties[field]),
5102 + 'atts': ['number']
5103 + };
5104 + break;
5105 + case 'g_legend_padding_y':
5106 + obj = {
5107 + 'name': e2pdf.lang.get('Padding (Y)'),
5108 + 'type': 'text',
5109 + 'value': e2pdf.helper.getInt(properties[field]),
5110 + 'atts': ['number']
5111 + };
5112 + break;
5113 + case 'g_legend_stroke_colour':
5114 + obj = {
5115 + 'name': e2pdf.lang.get('Stroke Color'),
5116 + 'type': 'color',
5117 + 'value': e2pdf.helper.getString(properties[field])
5118 + };
5119 + break;
5120 + case 'g_legend_stroke_width':
5121 + obj = {
5122 + 'name': e2pdf.lang.get('Stroke Width'),
5123 + 'type': 'text',
5124 + 'value': e2pdf.helper.getInt(properties[field]),
5125 + 'atts': ['number']
5126 + };
5127 + break;
5128 + case 'g_legend_back_colour':
5129 + obj = {
5130 + 'name': e2pdf.lang.get('Background'),
5131 + 'type': 'color',
5132 + 'value': e2pdf.helper.getString(properties[field])
5133 + };
5134 + break;
5135 + case 'g_legend_colour':
5136 + obj = {
5137 + 'name': e2pdf.lang.get('Color'),
5138 + 'type': 'color',
5139 + 'value': e2pdf.helper.getString(properties[field])
5140 + };
5141 + break;
5142 + case 'g_show_legend':
5143 + obj = {
5144 + 'name': e2pdf.lang.get('Legend'),
5145 + 'type': 'checkbox',
5146 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5147 + 'option': '1'
5148 + };
5149 + break;
5150 + case 'g_bubble_scale':
5151 + obj = {
5152 + 'name': e2pdf.lang.get('Bubble Scale'),
5153 + 'type': 'text',
5154 + 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5155 + 'atts': ['number']
5156 + };
5157 + break;
5158 + case 'g_increment':
5159 + obj = {
5160 + 'name': e2pdf.lang.get('Increment'),
5161 + 'type': 'text',
5162 + 'value': e2pdf.helper.getInt(properties[field]),
5163 + 'atts': ['number']
5164 + };
5165 + break;
5166 + case 'g_stack_group':
5167 + obj = {
5168 + 'name': e2pdf.lang.get('Stack Group'),
5169 + 'type': 'text',
5170 + 'value': e2pdf.helper.getString(properties[field])
5171 + };
5172 + break;
5173 + case 'g_line_dataset':
5174 + obj = {
5175 + 'name': e2pdf.lang.get('Line Dataset'),
5176 + 'type': 'text',
5177 + 'value': e2pdf.helper.getString(properties[field])
5178 + };
5179 + break;
5180 + case 'g_project_angle':
5181 + obj = {
5182 + 'name': e2pdf.lang.get('Project Angle'),
5183 + 'type': 'text',
5184 + 'value': e2pdf.helper.getInt(properties[field]),
5185 + 'atts': ['number']
5186 + };
5187 + break;
5188 + case 'g_depth':
5189 + obj = {
5190 + 'name': e2pdf.lang.get('Depth'),
5191 + 'type': 'text',
5192 + 'value': e2pdf.helper.getInt(properties[field]),
5193 + 'atts': ['number']
5194 + };
5195 + break;
5196 + case 'g_aspect_ratio':
5197 + obj = {
5198 + 'name': e2pdf.lang.get('Aspect Ratio'),
5199 + 'type': 'text',
5200 + 'value': e2pdf.helper.getFloat(properties[field]),
5201 + 'atts': ['number']
5202 + };
5203 + break;
5204 + case 'g_line_curve':
5205 + obj = {
5206 + 'name': e2pdf.lang.get('Line Curve'),
5207 + 'type': 'text',
5208 + 'value': e2pdf.helper.getString(properties[field])
5209 + };
5210 + break;
5211 + case 'g_units_y':
5212 + obj = {
5213 + 'name': e2pdf.lang.get('Units'),
5214 + 'type': 'text',
5215 + 'value': e2pdf.helper.getString(properties[field])
5216 + };
5217 + break;
5218 + case 'g_units_x':
5219 + obj = {
5220 + 'name': e2pdf.lang.get('Units'),
5221 + 'type': 'text',
5222 + 'value': e2pdf.helper.getString(properties[field])
5223 + };
5224 + break;
5225 + case 'g_axis_text_position_v':
5226 + obj = {
5227 + 'name': e2pdf.lang.get('Position'),
5228 + 'type': 'select',
5229 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5230 + 'options':
5231 + [
5232 + {'outside': e2pdf.lang.get('Outer')},
5233 + {'inside': e2pdf.lang.get('Inner')}
5234 + ]
5235 + };
5236 + break;
5237 + case 'g_axis_text_position_h':
5238 + obj = {
5239 + 'name': e2pdf.lang.get('Position'),
5240 + 'type': 'select',
5241 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5242 + 'options':
5243 + [
5244 + {'outside': e2pdf.lang.get('Outer')},
5245 + {'inside': e2pdf.lang.get('Inner')}
5246 + ]
5247 + };
5248 + break;
5249 + case 'g_axis_text_align_v':
5250 + obj = {
5251 + 'name': e2pdf.lang.get('Align'),
5252 + 'type': 'select',
5253 + 'value': e2pdf.helper.getString(properties[field], ''),
5254 + 'options':
5255 + [
5256 + {'': e2pdf.lang.get('Auto')},
5257 + {'left': e2pdf.lang.get('Left')},
5258 + {'centre': e2pdf.lang.get('Center')},
5259 + {'right': e2pdf.lang.get('Right')}
5260 + ]
5261 + };
5262 + break;
5263 + case 'g_axis_text_align_h':
5264 + obj = {
5265 + 'name': e2pdf.lang.get('Align'),
5266 + 'type': 'select',
5267 + 'value': e2pdf.helper.getString(properties[field], ''),
5268 + 'options':
5269 + [
5270 + {'': e2pdf.lang.get('Auto')},
5271 + {'left': e2pdf.lang.get('Left')},
5272 + {'centre': e2pdf.lang.get('Center')},
5273 + {'right': e2pdf.lang.get('Right')}
5274 + ]
5275 + };
5276 + break;
5277 + case 'g_axis_text_space_v':
5278 + obj = {
5279 + 'name': e2pdf.lang.get('Space'),
5280 + 'type': 'text',
5281 + 'value': e2pdf.helper.getInt(properties[field], 2),
5282 + 'atts': ['number', 'number-negative', 'keep']
5283 + };
5284 + break;
5285 + case 'g_axis_text_space_h':
5286 + obj = {
5287 + 'name': e2pdf.lang.get('Space'),
5288 + 'type': 'text',
5289 + 'value': e2pdf.helper.getInt(properties[field], 2),
5290 + 'atts': ['number', 'number-negative', 'keep']
5291 + };
5292 + break;
5293 + case 'g_axis_text_offset_x_v':
5294 + obj = {
5295 + 'name': e2pdf.lang.get('Offset (X)'),
5296 + 'type': 'text',
5297 + 'value': e2pdf.helper.getInt(properties[field]),
5298 + 'atts': ['number', 'number-negative']
5299 + };
5300 + break;
5301 + case 'g_axis_text_offset_y_v':
5302 + obj = {
5303 + 'name': e2pdf.lang.get('Offset (Y)'),
5304 + 'type': 'text',
5305 + 'value': e2pdf.helper.getInt(properties[field]),
5306 + 'atts': ['number', 'number-negative']
5307 + };
5308 + break;
5309 + case 'g_axis_text_offset_x_h':
5310 + obj = {
5311 + 'name': e2pdf.lang.get('Offset (X)'),
5312 + 'type': 'text',
5313 + 'value': e2pdf.helper.getInt(properties[field]),
5314 + 'atts': ['number', 'number-negative']
5315 + };
5316 + break;
5317 + case 'g_axis_text_offset_y_h':
5318 + obj = {
5319 + 'name': e2pdf.lang.get('Offset (Y)'),
5320 + 'type': 'text',
5321 + 'value': e2pdf.helper.getInt(properties[field]),
5322 + 'atts': ['number', 'number-negative']
5323 + };
5324 + break;
5325 + case 'g_units_label':
5326 + obj = {
5327 + 'name': e2pdf.lang.get('Units Label'),
5328 + 'type': 'text',
5329 + 'value': e2pdf.helper.getString(properties[field])
5330 + };
5331 + break;
5332 + case 'g_reverse_data':
5333 + obj = {
5334 + 'name': 'Reverse Data',
5335 + 'type': 'checkbox',
5336 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5337 + 'option': '1'
5338 + };
5339 + break;
5340 + case 'g_multiline':
5341 + obj = {
5342 + 'name': 'Lines',
5343 + 'type': 'select',
5344 + 'value': e2pdf.helper.getString(properties[field]),
5345 + 'options':
5346 + [
5347 + {'0': 'Unsorted Data'},
5348 + {'2': 'Single Array Data'},
5349 + {'1': 'Multi Array Data'}
5350 + ]
5351 + };
5352 + break;
5353 + case 'g_legends':
5354 + obj = {
5355 + 'name': e2pdf.lang.get('Legends'),
5356 + 'type': 'textarea',
5357 + 'value': e2pdf.helper.getString(properties[field])
5358 + };
5359 + break;
5360 + case 'g_axis_text_callback_y':
5361 + obj = {
5362 + 'name': e2pdf.lang.get('Custom Labels (Y-Axis)'),
5363 + 'type': 'textarea',
5364 + 'value': e2pdf.helper.getString(properties[field])
5365 + };
5366 + break;
5367 + case 'g_axis_text_callback_x':
5368 + obj = {
5369 + 'name': e2pdf.lang.get('Custom Labels (X-Axis)'),
5370 + 'type': 'textarea',
5371 + 'value': e2pdf.helper.getString(properties[field])
5372 + };
5373 + break;
5374 + case 'g_colors':
5375 + obj = {
5376 + 'name': e2pdf.lang.get('Colors'),
5377 + 'type': 'textarea',
5378 + 'value': e2pdf.helper.getString(properties[field])
5379 + };
5380 + break;
5381 + case 'g_inner_radius':
5382 + obj = {
5383 + 'name': e2pdf.lang.get('Inner Radius'),
5384 + 'type': 'text',
5385 + 'value': e2pdf.helper.getFloat(properties[field]),
5386 + 'atts': ['number', 'keep']
5387 + };
5388 + break;
5389 + case 'g_start_angle':
5390 + obj = {
5391 + 'name': e2pdf.lang.get('Start Angle'),
5392 + 'type': 'text',
5393 + 'value': e2pdf.helper.getFloat(properties[field]),
5394 + 'atts': ['number']
5395 + };
5396 + break;
5397 + case 'g_grid_straight':
5398 + obj = {
5399 + 'name': e2pdf.lang.get('Straight'),
5400 + 'type': 'checkbox',
5401 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5402 + 'option': '1',
5403 + };
5404 + break;
5405 + case 'g_grid_dash':
5406 + obj = {
5407 + 'name': e2pdf.lang.get('Grid Dash'),
5408 + 'type': 'text',
5409 + 'value': e2pdf.helper.getFloat(properties[field]),
5410 + 'atts': ['number']
5411 + };
5412 + break;
5413 + case 'g_grid_dash_h':
5414 + obj = {
5415 + 'name': e2pdf.lang.get('Grid Dash (H)'),
5416 + 'type': 'text',
5417 + 'value': e2pdf.helper.getFloat(properties[field]),
5418 + 'atts': ['number']
5419 + };
5420 + break;
5421 + case 'g_grid_dash_v':
5422 + obj = {
5423 + 'name': e2pdf.lang.get('Grid Dash (V)'),
5424 + 'type': 'text',
5425 + 'value': e2pdf.helper.getFloat(properties[field]),
5426 + 'atts': ['number']
5427 + };
5428 + break;
5429 + case 'g_fill_opacity':
5430 + obj = {
5431 + 'name': e2pdf.lang.get('Fill Opacity'),
5432 + 'type': 'text',
5433 + 'value': e2pdf.helper.getFloat(properties[field]),
5434 + 'atts': ['number', 'keep']
5435 + };
5436 + break;
5437 + case 'g_axis_font_weight_h':
5438 + obj = {
5439 + 'name': e2pdf.lang.get('Bold'),
5440 + 'type': 'checkbox',
5441 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5442 + 'option': '1'
5443 + };
5444 + break;
5445 + case 'g_axis_font_weight_v':
5446 + obj = {
5447 + 'name': e2pdf.lang.get('Bold'),
5448 + 'type': 'checkbox',
5449 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5450 + 'option': '1'
5451 + };
5452 + break;
2823 5453 }
2824 -
5454 + if (!obj.hasOwnProperty('key')) {
5455 + obj['key'] = field;
5456 + }
5457 + if (!obj.hasOwnProperty('atts')) {
5458 + obj['atts'] = [];
5459 + }
2825 5460 return obj;
2826 5461 },
2827 - //e2pdf.properties.getFields
5462 + // e2pdf.properties.getFields
2828 5463 getFields: function (el, actions) {
2829 - if (el.data('data-type') === 'e2pdf-page') {
5464 +
5465 + if (el.data('data-type') === 'e2pdf-tpl') {
5466 + var obj = {};
5467 + } else if (el.data('data-type') === 'e2pdf-page') {
2830 5468 var obj = {
2831 5469 'page_id': {
2832 5470 'name': '',
2833 5471 'fields': [
2834 5472 e2pdf.properties.getField('page_id', el),
2835 - e2pdf.properties.getField('element_type', el),
5473 + e2pdf.properties.getField('element_type', el)
2836 5474 ],
2837 5475 'position': 'top',
2838 5476 'classes': [
2839 5477 'e2pdf-w50 e2pdf-pr10',
2840 - 'e2pdf-w50 e2pdf-pl10',
2841 - ],
5478 + 'e2pdf-w50 e2pdf-pl10'
5479 + ]
2842 5480 },
2843 5481 'size': {
2844 - 'name': e2pdfLang['Size'],
5482 + 'name': e2pdf.lang.get('Size'),
2845 5483 'fields': [
2846 5484 e2pdf.properties.getField('width', el),
2847 5485 e2pdf.properties.getField('height', el),
5486 + e2pdf.properties.getField('preset', el)
2848 5487 ],
2849 5488 'position': 'top',
2850 5489 'classes': [
2851 5490 'e2pdf-w50 e2pdf-pr10',
2852 - 'e2pdf-w50 e2pdf-pl10'
2853 - ],
2854 - },
2855 - 'preset': {
2856 - 'name': e2pdfLang['Size Preset'],
2857 - 'fields': [
2858 - e2pdf.properties.getField('preset', el),
2859 - ],
2860 - 'position': 'top',
2861 - 'classes': [
2862 - 'e2pdf-w100 e2pdf-hide-label'
5491 + 'e2pdf-w50 e2pdf-pl10',
5492 + 'e2pdf-w100'
2863 5493 ]
2864 5494 }
2865 5495 };
2866 5496 } else {
2867 5497 var obj = {
2868 - 'element_id': {
2869 - 'name': '',
5498 + 'element': {
5499 + 'name': e2pdf.lang.get('Element'),
2870 5500 'fields': [
2871 5501 e2pdf.properties.getField('element_id', el),
2872 5502 e2pdf.properties.getField('page_id', el),
2873 5503 e2pdf.properties.getField('element_type', el),
5504 + e2pdf.properties.getField('left', el),
5505 + e2pdf.properties.getField('top', el),
5506 + e2pdf.properties.getField('width', el),
5507 + e2pdf.properties.getField('height', el)
2874 5508 ],
2875 5509 'position': 'top',
2876 5510 'classes': [
2877 - 'e2pdf-w25 e2pdf-pr10',
5511 + 'e2pdf-w25',
2878 5512 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
2879 5513 'e2pdf-w50 e2pdf-pl10',
2880 - ],
2881 - },
2882 - 'position': {
2883 - 'name': e2pdfLang['Position'],
2884 - 'fields': [
2885 - e2pdf.properties.getField('left', el),
2886 - e2pdf.properties.getField('top', el)
2887 - ],
2888 - 'position': 'right',
2889 - 'classes': [
2890 - 'e2pdf-w50 e2pdf-pr10',
2891 - 'e2pdf-w50 e2pdf-pl10'
2892 - ],
2893 - },
5514 + 'e2pdf-w25',
5515 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5516 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5517 + 'e2pdf-w25'
5518 + ]
5519 + }
2894 5520 };
5521 + if (el.data('data-type') === 'e2pdf-input') {
2895 5522
2896 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2897 - obj['size'] = {
2898 - 'name': e2pdfLang['Size'],
5523 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5524 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5525 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5526 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5527 + obj['field'] = {
5528 + 'name': e2pdf.lang.get('Field'),
2899 5529 'fields': [
2900 - e2pdf.properties.getField('width', el),
2901 - e2pdf.properties.getField('height', el),
2902 - e2pdf.properties.getField('length', el)
5530 + e2pdf.properties.getField('text_color', el),
5531 + e2pdf.properties.getField('text_font', el),
5532 + e2pdf.properties.getField('text_font_size', el),
5533 + e2pdf.properties.getField('text_letter_spacing', el),
5534 + e2pdf.properties.getField('text_auto_font_size', el),
5535 + e2pdf.properties.getField('text_align', el),
5536 + e2pdf.properties.getField('rotation', el),
5537 + e2pdf.properties.getField('length', el),
5538 + e2pdf.properties.getField('rtl', el),
5539 + e2pdf.properties.getField('comb', el),
5540 + e2pdf.properties.getField('required', el),
5541 + e2pdf.properties.getField('readonly', el),
5542 + e2pdf.properties.getField('pass', el)
2903 5543 ],
2904 5544 'position': 'left',
2905 5545 'classes': [
2906 - 'e2pdf-w50 e2pdf-pr10',
5546 + 'e2pdf-w100',
5547 + 'e2pdf-w100',
5548 + 'e2pdf-w50',
2907 5549 'e2pdf-w50 e2pdf-pl10',
5550 + 'e2pdf-w100',
5551 + 'e2pdf-w50',
5552 + 'e2pdf-w50 e2pdf-pl10',
5553 + 'e2pdf-w70',
5554 + 'e2pdf-w30 e2pdf-pl10',
5555 + 'e2pdf-pr10',
5556 + 'e2pdf-pr10',
5557 + 'e2pdf-pr10',
5558 + 'e2pdf-pr10'
5559 + ]
5560 + };
5561 + obj['style'] = {
5562 + 'name': e2pdf.lang.get('Style'),
5563 + 'fields': [
5564 + e2pdf.properties.getField('background', el),
5565 + e2pdf.properties.getField('border_color', el),
5566 + e2pdf.properties.getField('border', el),
5567 + e2pdf.properties.getField('z_index', el)
5568 + ],
5569 + 'position': 'right',
5570 + 'classes': [
5571 + 'e2pdf-w100',
5572 + 'e2pdf-w70',
5573 + 'e2pdf-w30 e2pdf-pl10',
2908 5574 'e2pdf-w100'
2909 - ],
5575 + ]
2910 5576 };
2911 - } else {
2912 - obj['size'] = {
2913 - 'name': e2pdfLang['Size'],
5577 + obj['value'] = {
5578 + 'name': e2pdf.lang.get('Value'),
2914 5579 'fields': [
2915 - e2pdf.properties.getField('width', el),
2916 - e2pdf.properties.getField('height', el),
5580 + e2pdf.properties.getField('value', el),
5581 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5582 + e2pdf.properties.getField('preg_pattern', el),
5583 + e2pdf.properties.getField('preg_replacement', el),
5584 + e2pdf.properties.getField('preg_match_all_pattern', el),
5585 + e2pdf.properties.getField('preg_match_all_output', el)
2917 5586 ],
2918 - 'position': 'left',
5587 + 'position': 'bottom',
2919 5588 'classes': [
2920 - 'e2pdf-w50 e2pdf-pr10',
2921 - 'e2pdf-w50 e2pdf-pl10'
2922 - ],
5589 + 'e2pdf-w100 e2pdf-hide-label',
5590 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5591 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5592 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5593 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5594 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5595 + ]
2923 5596 };
2924 5597 }
2925 5598
2926 - if (el.data('data-type') === 'e2pdf-html'
2927 - || el.data('data-type') === 'e2pdf-textarea'
2928 - ) {
2929 - obj['font'] = {
2930 - 'name': e2pdfLang['Font'],
5599 + if (el.data('data-type') === 'e2pdf-textarea') {
5600 +
5601 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5602 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5603 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5604 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5605 + obj['field'] = {
5606 + 'name': e2pdf.lang.get('Field'),
2931 5607 'fields': [
2932 5608 e2pdf.properties.getField('text_color', el),
2933 5609 e2pdf.properties.getField('text_font', el),
2934 5610 e2pdf.properties.getField('text_font_size', el),
5611 + e2pdf.properties.getField('text_letter_spacing', el),
5612 + e2pdf.properties.getField('text_auto_font_size', el),
2935 5613 e2pdf.properties.getField('text_line_height', el),
5614 + e2pdf.properties.getField('text_align', el),
5615 + e2pdf.properties.getField('rotation', el),
5616 + e2pdf.properties.getField('length', el),
5617 + e2pdf.properties.getField('rtl', el),
5618 + e2pdf.properties.getField('comb', el),
5619 + e2pdf.properties.getField('required', el),
5620 + e2pdf.properties.getField('readonly', el),
5621 + e2pdf.properties.getField('pass', el)
2936 5622 ],
2937 5623 'position': 'left',
2938 5624 'classes': [
2939 5625 'e2pdf-w100',
2940 5626 'e2pdf-w100',
2941 - 'e2pdf-w50 e2pdf-pr10',
2942 - 'e2pdf-w50 e2pdf-pl10'
5627 + 'e2pdf-w50',
5628 + 'e2pdf-w50 e2pdf-pl10',
5629 + 'e2pdf-w100',
5630 + 'e2pdf-w100',
5631 + 'e2pdf-w50',
5632 + 'e2pdf-w50 e2pdf-pl10',
5633 + 'e2pdf-w70',
5634 + 'e2pdf-w30 e2pdf-pl10',
5635 + 'e2pdf-pr10',
5636 + 'e2pdf-pr10',
5637 + 'e2pdf-pr10',
5638 + 'e2pdf-pr10'
5639 + ]
5640 + };
5641 + obj['style'] = {
5642 + 'name': e2pdf.lang.get('Style'),
5643 + 'fields': [
5644 + e2pdf.properties.getField('background', el),
5645 + e2pdf.properties.getField('border_color', el),
5646 + e2pdf.properties.getField('border', el),
5647 + e2pdf.properties.getField('z_index', el)
2943 5648 ],
5649 + 'position': 'right',
5650 + 'classes': [
5651 + 'e2pdf-w100',
5652 + 'e2pdf-w70',
5653 + 'e2pdf-w30 e2pdf-pl10',
5654 + 'e2pdf-w100'
5655 + ]
2944 5656 };
5657 + obj['value'] = {
5658 + 'name': e2pdf.lang.get('Value'),
5659 + 'fields': [
5660 + e2pdf.properties.getField('value', el),
5661 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5662 + e2pdf.properties.getField('preg_pattern', el),
5663 + e2pdf.properties.getField('preg_replacement', el),
5664 + e2pdf.properties.getField('preg_match_all_pattern', el),
5665 + e2pdf.properties.getField('preg_match_all_output', el)
5666 + ],
5667 + 'position': 'bottom',
5668 + 'classes': [
5669 + 'e2pdf-w100 e2pdf-hide-label',
5670 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5671 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5672 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5673 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5674 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5675 + ]
5676 + };
2945 5677 }
2946 5678
2947 - // Font
2948 - if (el.data('data-type') === 'e2pdf-input'
2949 - || el.data('data-type') === 'e2pdf-select'
2950 - || el.data('data-type') === 'e2pdf-signature'
2951 - ) {
2952 - obj['font'] = {
2953 - 'name': e2pdfLang['Font'],
5679 + if (el.data('data-type') === 'e2pdf-checkbox') {
5680 +
5681 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5682 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5683 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5684 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5685 + obj['field'] = {
5686 + 'name': e2pdf.lang.get('Field'),
2954 5687 'fields': [
2955 5688 e2pdf.properties.getField('text_color', el),
2956 - e2pdf.properties.getField('text_font', el),
2957 - e2pdf.properties.getField('text_font_size', el),
5689 + e2pdf.properties.getField('text_type', el),
5690 + e2pdf.properties.getField('rotation', el),
5691 + e2pdf.properties.getField('rtl', el),
5692 + e2pdf.properties.getField('required', el),
5693 + e2pdf.properties.getField('readonly', el)
2958 5694 ],
2959 5695 'position': 'left',
2960 5696 'classes': [
2961 5697 'e2pdf-w100',
2962 - 'e2pdf-w70 e2pdf-pr10',
2963 - 'e2pdf-w30 e2pdf-pl10'
5698 + 'e2pdf-w100',
5699 + 'e2pdf-w70',
5700 + 'e2pdf-w30 e2pdf-pl10',
5701 + 'e2pdf-pr10',
5702 + 'e2pdf-pr10'
5703 + ]
5704 + };
5705 + obj['style'] = {
5706 + 'name': e2pdf.lang.get('Style'),
5707 + 'fields': [
5708 + e2pdf.properties.getField('background', el),
5709 + e2pdf.properties.getField('border_color', el),
5710 + e2pdf.properties.getField('border', el),
5711 + e2pdf.properties.getField('z_index', el)
2964 5712 ],
5713 + 'position': 'right',
5714 + 'classes': [
5715 + 'e2pdf-w100',
5716 + 'e2pdf-w70',
5717 + 'e2pdf-w30 e2pdf-pl10',
5718 + 'e2pdf-w100'
5719 + ]
2965 5720 };
2966 - }
2967 -
2968 - // Text align
2969 - if (el.data('data-type') === 'e2pdf-html'
2970 - || el.data('data-type') === 'e2pdf-input'
2971 - || el.data('data-type') === 'e2pdf-textarea'
2972 - ) {
2973 - obj['text_align'] = {
2974 - 'name': e2pdfLang['Text Align'],
5721 + obj['value'] = {
5722 + 'name': '',
2975 5723 'fields': [
2976 - e2pdf.properties.getField('text_align', el),
5724 + e2pdf.properties.getField('option', el),
5725 + e2pdf.properties.getField('value', el),
5726 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5727 + e2pdf.properties.getField('preg_pattern', el),
5728 + e2pdf.properties.getField('preg_replacement', el),
5729 + e2pdf.properties.getField('preg_match_all_pattern', el),
5730 + e2pdf.properties.getField('preg_match_all_output', el)
2977 5731 ],
2978 - 'position': 'left',
5732 + 'position': 'bottom',
2979 5733 'classes': [
2980 - 'e2pdf-w100 e2pdf-hide-label',
5734 + 'e2pdf-w100 e2pdf-strong-label',
5735 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5736 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5737 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5738 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5739 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5740 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
2981 5741 ]
2982 5742 };
2983 5743 }
2984 5744
2985 - // Settings
2986 - if (el.data('data-type') === 'e2pdf-html') {
2987 - obj['settings'] = {
2988 - 'name': e2pdfLang['Settings'],
5745 + if (el.data('data-type') === 'e2pdf-radio') {
5746 +
5747 + obj['field'] = {
5748 + 'name': e2pdf.lang.get('Field'),
2989 5749 'fields': [
5750 + e2pdf.properties.getField('text_color', el),
5751 + e2pdf.properties.getField('text_type', el),
5752 + e2pdf.properties.getField('rotation', el),
2990 5753 e2pdf.properties.getField('rtl', el),
2991 - e2pdf.properties.getField('dynamic_height', el),
5754 + e2pdf.properties.getField('required', el),
5755 + e2pdf.properties.getField('readonly', el)
2992 5756 ],
2993 5757 'position': 'left',
2994 5758 'classes': [
2995 5759 'e2pdf-w100',
2996 5760 'e2pdf-w100',
5761 + 'e2pdf-w70',
5762 + 'e2pdf-w30 e2pdf-pl10',
5763 + 'e2pdf-pr10',
5764 + 'e2pdf-pr10',
5765 + 'e2pdf-pr10'
2997 5766 ]
2998 5767 };
5768 + obj['style'] = {
5769 + 'name': e2pdf.lang.get('Style'),
5770 + 'fields': [
5771 + e2pdf.properties.getField('background', el),
5772 + e2pdf.properties.getField('border_color', el),
5773 + e2pdf.properties.getField('border', el),
5774 + e2pdf.properties.getField('z_index', el)
5775 + ],
5776 + 'position': 'right',
5777 + 'classes': [
5778 + 'e2pdf-w100',
5779 + 'e2pdf-w70',
5780 + 'e2pdf-w30 e2pdf-pl10',
5781 + 'e2pdf-w100'
5782 + ]
5783 + };
5784 + obj['value'] = {
5785 + 'name': '',
5786 + 'fields': [
5787 + e2pdf.properties.getField('group', el),
5788 + e2pdf.properties.getField('field_name', el),
5789 + e2pdf.properties.getField('option', el),
5790 + e2pdf.properties.getField('value', el),
5791 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5792 + e2pdf.properties.getField('preg_pattern', el),
5793 + e2pdf.properties.getField('preg_replacement', el),
5794 + e2pdf.properties.getField('preg_match_all_pattern', el),
5795 + e2pdf.properties.getField('preg_match_all_output', el)
5796 + ],
5797 + 'position': 'bottom',
5798 + 'classes': [
5799 + 'e2pdf-w75 e2pdf-strong-label e2pdf-pr10',
5800 + 'e2pdf-w25 e2pdf-mt-label',
5801 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5802 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5803 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5804 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5805 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5806 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5807 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5808 + ]
5809 + };
2999 5810 }
3000 5811
3001 - // Settings
3002 - if (el.data('data-type') === 'e2pdf-input'
3003 - || el.data('data-type') === 'e2pdf-textarea'
3004 - ) {
3005 - obj['settings'] = {
3006 - 'name': e2pdfLang['Settings'],
5812 + if (el.data('data-type') === 'e2pdf-select') {
5813 +
5814 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5815 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5816 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5817 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5818 + obj['field'] = {
5819 + 'name': e2pdf.lang.get('Field'),
3007 5820 'fields': [
5821 + e2pdf.properties.getField('text_color', el),
5822 + e2pdf.properties.getField('text_font', el),
5823 + e2pdf.properties.getField('text_font_size', el),
5824 + e2pdf.properties.getField('text_letter_spacing', el),
5825 + e2pdf.properties.getField('text_auto_font_size', el),
5826 + e2pdf.properties.getField('rotation', el),
3008 5827 e2pdf.properties.getField('rtl', el),
5828 + e2pdf.properties.getField('multiline', el),
3009 5829 e2pdf.properties.getField('required', el),
3010 - e2pdf.properties.getField('readonly', el),
3011 - e2pdf.properties.getField('pass', el),
3012 - e2pdf.properties.getField('comb', el),
5830 + e2pdf.properties.getField('readonly', el)
3013 5831 ],
3014 5832 'position': 'left',
3015 5833 'classes': [
3016 5834 'e2pdf-w100',
3017 5835 'e2pdf-w100',
5836 + 'e2pdf-w50',
5837 + 'e2pdf-w50 e2pdf-pl10',
3018 5838 'e2pdf-w100',
5839 + 'e2pdf-w70',
5840 + 'e2pdf-w30 e2pdf-pl10',
5841 + 'e2pdf-pr10',
5842 + 'e2pdf-pr10',
5843 + 'e2pdf-pr10'
5844 + ]
5845 + };
5846 + obj['style'] = {
5847 + 'name': e2pdf.lang.get('Style'),
5848 + 'fields': [
5849 + e2pdf.properties.getField('background', el),
5850 + e2pdf.properties.getField('border_color', el),
5851 + e2pdf.properties.getField('border', el),
5852 + e2pdf.properties.getField('z_index', el)
5853 + ],
5854 + 'position': 'right',
5855 + 'classes': [
3019 5856 'e2pdf-w100',
3020 - 'e2pdf-w100',
5857 + 'e2pdf-w70',
5858 + 'e2pdf-w30 e2pdf-pl10',
5859 + 'e2pdf-w100'
3021 5860 ]
3022 5861 };
5862 + obj['value'] = {
5863 + 'name': '',
5864 + 'fields': [
5865 + e2pdf.properties.getField('options', el),
5866 + e2pdf.properties.getField('value', el),
5867 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5868 + e2pdf.properties.getField('preg_pattern', el),
5869 + e2pdf.properties.getField('preg_replacement', el),
5870 + e2pdf.properties.getField('preg_match_all_pattern', el),
5871 + e2pdf.properties.getField('preg_match_all_output', el)
5872 + ],
5873 + 'position': 'bottom',
5874 + 'classes': [
5875 + 'e2pdf-w100 e2pdf-strong-label',
5876 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
5877 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5878 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5879 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5880 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5881 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5882 + ]
5883 + };
3023 5884 }
3024 5885
3025 - // Settings Signature
3026 5886 if (el.data('data-type') === 'e2pdf-signature') {
3027 - obj['placeholder'] = {
3028 - 'name': e2pdfLang['Placeholder'],
5887 +
5888 + obj['element'].fields.push(e2pdf.properties.getField('name', el));
5889 + obj['element'].fields.push(e2pdf.properties.getField('field_name', el));
5890 + obj['element'].classes.push('e2pdf-w75 e2pdf-pr10');
5891 + obj['element'].classes.push('e2pdf-w25 e2pdf-mt-label');
5892 + obj['field'] = {
5893 + 'name': e2pdf.lang.get('Field'),
3029 5894 'fields': [
5895 + e2pdf.properties.getField('text_color', el),
5896 + e2pdf.properties.getField('text_font', el),
5897 + e2pdf.properties.getField('text_font_size', el),
3030 5898 e2pdf.properties.getField('placeholder', el),
5899 + e2pdf.properties.getField('esig', el),
5900 + e2pdf.properties.getField('required', el),
5901 + e2pdf.properties.getField('horizontal', el),
5902 + e2pdf.properties.getField('vertical', el),
5903 + e2pdf.properties.getField('rotation', el),
5904 + e2pdf.properties.getField('opacity', el),
5905 + e2pdf.properties.getField('dimension', el),
5906 + e2pdf.properties.getField('block_dimension', el),
5907 + e2pdf.properties.getField('keep_lower_size', el),
5908 + e2pdf.properties.getField('fill_image', el)
3031 5909 ],
3032 5910 'position': 'left',
3033 5911 'classes': [
5912 + 'e2pdf-w100',
5913 + 'e2pdf-w60 e2pdf-pr10',
5914 + 'e2pdf-w40',
5915 + 'e2pdf-w100',
5916 + 'e2pdf-w50',
5917 + 'e2pdf-w50 e2pdf-pl10',
5918 + 'e2pdf-w50',
5919 + 'e2pdf-w50 e2pdf-pl10',
5920 + 'e2pdf-w50',
5921 + 'e2pdf-w50 e2pdf-pl10',
5922 + 'e2pdf-w50',
5923 + 'e2pdf-w50 e2pdf-pl10',
5924 + 'e2pdf-w50',
5925 + 'e2pdf-w50 e2pdf-pl10'
5926 + ]
5927 + };
5928 + obj['style'] = {
5929 + 'name': e2pdf.lang.get('Style'),
5930 + 'fields': [
5931 + e2pdf.properties.getField('background', el),
5932 + e2pdf.properties.getField('padding_top', el),
5933 + e2pdf.properties.getField('padding_left', el),
5934 + e2pdf.properties.getField('padding_right', el),
5935 + e2pdf.properties.getField('padding_bottom', el),
5936 + e2pdf.properties.getField('border_color', el),
5937 + e2pdf.properties.getField('border_radius', el),
5938 + e2pdf.properties.getField('border_top', el),
5939 + e2pdf.properties.getField('border_left', el),
5940 + e2pdf.properties.getField('border_right', el),
5941 + e2pdf.properties.getField('border_bottom', el),
5942 + e2pdf.properties.getField('z_index', el)
5943 + ],
5944 + 'position': 'right',
5945 + 'classes': [
5946 + 'e2pdf-w100',
5947 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5948 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5949 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5950 + 'e2pdf-w25 e2pdf-fnl',
5951 + 'e2pdf-w100',
5952 + 'e2pdf-w100',
5953 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5954 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5955 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
5956 + 'e2pdf-w25 e2pdf-fnl',
5957 + 'e2pdf-w100'
5958 + ]
5959 + };
5960 + obj['value'] = {
5961 + 'name': e2pdf.lang.get('Value'),
5962 + 'fields': [
5963 + e2pdf.properties.getField('value', el),
5964 + e2pdf.properties.getField('only_image', el),
5965 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5966 + e2pdf.properties.getField('preg_pattern', el),
5967 + e2pdf.properties.getField('preg_replacement', el),
5968 + e2pdf.properties.getField('preg_match_all_pattern', el),
5969 + e2pdf.properties.getField('preg_match_all_output', el)
5970 + ],
5971 + 'position': 'bottom',
5972 + 'classes': [
3034 5973 'e2pdf-w100 e2pdf-hide-label',
5974 + 'e2pdf-w50 e2pdf-pr10',
5975 + 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5976 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5977 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5978 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5979 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
3035 5980 ]
3036 5981 };
5982 + }
3037 5983
3038 - obj['settings'] = {
3039 - 'name': e2pdfLang['Settings'],
5984 + if (el.data('data-type') === 'e2pdf-html') {
5985 + obj['field'] = {
5986 + 'name': e2pdf.lang.get('Field'),
3040 5987 'fields': [
3041 - e2pdf.properties.getField('esig', el),
5988 + e2pdf.properties.getField('text_color', el),
5989 + e2pdf.properties.getField('text_font', el),
5990 + e2pdf.properties.getField('text_font_size', el),
5991 + e2pdf.properties.getField('text_letter_spacing', el),
5992 + e2pdf.properties.getField('text_line_height', el),
5993 + e2pdf.properties.getField('text_align', el),
5994 + e2pdf.properties.getField('rotation', el),
5995 + e2pdf.properties.getField('vertical', el),
5996 + e2pdf.properties.getField('rtl', el),
5997 + e2pdf.properties.getField('multipage', el),
5998 + e2pdf.properties.getField('nl2br', el),
5999 + e2pdf.properties.getField('preload_img', el),
6000 + e2pdf.properties.getField('hide_if_empty', el),
6001 + e2pdf.properties.getField('hide_page_if_empty', el)
3042 6002 ],
3043 6003 'position': 'left',
3044 6004 'classes': [
3045 6005 'e2pdf-w100',
6006 + 'e2pdf-w100',
6007 + 'e2pdf-w50',
6008 + 'e2pdf-w50 e2pdf-pl10',
6009 + 'e2pdf-w100',
6010 + 'e2pdf-w50',
6011 + 'e2pdf-w50 e2pdf-pl10',
6012 + 'e2pdf-w70',
6013 + 'e2pdf-w30 e2pdf-pl10',
6014 + 'e2pdf-pr10',
6015 + 'e2pdf-pr10',
6016 + 'e2pdf-pr10',
6017 + 'e2pdf-pr10',
6018 + 'e2pdf-pr10'
3046 6019 ]
3047 6020 };
3048 - }
6021 + if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6022 + obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6023 + obj['field'].classes.push('e2pdf-pr10');
6024 + }
3049 6025
3050 - // Settings
3051 - if (el.data('data-type') === 'e2pdf-checkbox'
3052 - || el.data('data-type') === 'e2pdf-radio'
3053 - ) {
3054 - obj['settings'] = {
3055 - 'name': e2pdfLang['Settings'],
6026 + obj['style'] = {
6027 + 'name': e2pdf.lang.get('Style'),
3056 6028 'fields': [
3057 - e2pdf.properties.getField('required', el),
3058 - e2pdf.properties.getField('readonly', el),
6029 + e2pdf.properties.getField('background', el),
6030 + e2pdf.properties.getField('padding_top', el),
6031 + e2pdf.properties.getField('padding_left', el),
6032 + e2pdf.properties.getField('padding_right', el),
6033 + e2pdf.properties.getField('padding_bottom', el),
6034 + e2pdf.properties.getField('border_color', el),
6035 + e2pdf.properties.getField('border_top', el),
6036 + e2pdf.properties.getField('border_left', el),
6037 + e2pdf.properties.getField('border_right', el),
6038 + e2pdf.properties.getField('border_bottom', el),
6039 + e2pdf.properties.getField('z_index', el)
3059 6040 ],
3060 - 'position': 'left',
6041 + 'position': 'right',
3061 6042 'classes': [
3062 6043 'e2pdf-w100',
6044 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6045 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6046 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6047 + 'e2pdf-w25 e2pdf-fnl',
3063 6048 'e2pdf-w100',
6049 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6050 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6051 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6052 + 'e2pdf-w25 e2pdf-fnl',
6053 + 'e2pdf-w100'
3064 6054 ]
3065 6055 };
6056 + obj['value'] = {
6057 + 'name': '',
6058 + 'fields': [
6059 + e2pdf.properties.getField('parent', el),
6060 + e2pdf.properties.getField('css', el),
6061 + e2pdf.properties.getField('css_priority', el),
6062 + e2pdf.properties.getField('value', el),
6063 + e2pdf.properties.getField('html_worker', el),
6064 + e2pdf.properties.getField('wysiwyg_disable', el),
6065 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6066 + e2pdf.properties.getField('preg_pattern', el),
6067 + e2pdf.properties.getField('preg_replacement', el),
6068 + e2pdf.properties.getField('preg_match_all_pattern', el),
6069 + e2pdf.properties.getField('preg_match_all_output', el)
6070 + ],
6071 + 'position': 'bottom',
6072 + 'classes': [
6073 + 'e2pdf-w100 e2pdf-strong-label',
6074 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6075 + 'e2pdf-w20 e2pdf-pr10',
6076 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6077 + 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6078 + 'e2pdf-w50 e2pdf-pr10',
6079 + 'e2pdf-w20 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6080 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6081 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6082 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6083 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6084 + ]
6085 + };
3066 6086 }
3067 6087
3068 - // Settings
3069 - if (el.data('data-type') === 'e2pdf-select') {
3070 - obj['settings'] = {
3071 - 'name': e2pdfLang['Settings'],
6088 + if (el.data('data-type') === 'e2pdf-page-number') {
6089 + obj['field'] = {
6090 + 'name': e2pdf.lang.get('Field'),
3072 6091 'fields': [
3073 - e2pdf.properties.getField('rtl', el),
3074 - e2pdf.properties.getField('required', el),
3075 - e2pdf.properties.getField('readonly', el),
3076 - e2pdf.properties.getField('multiline', el),
6092 + e2pdf.properties.getField('text_color', el),
6093 + e2pdf.properties.getField('text_font', el),
6094 + e2pdf.properties.getField('text_font_size', el),
6095 + e2pdf.properties.getField('text_letter_spacing', el),
6096 + e2pdf.properties.getField('text_line_height', el),
6097 + e2pdf.properties.getField('text_align', el),
6098 + e2pdf.properties.getField('rotation', el),
6099 + e2pdf.properties.getField('vertical', el),
6100 + e2pdf.properties.getField('rtl', el)
3077 6101 ],
3078 6102 'position': 'left',
3079 6103 'classes': [
3080 6104 'e2pdf-w100',
3081 6105 'e2pdf-w100',
6106 + 'e2pdf-w50',
6107 + 'e2pdf-w50 e2pdf-pl10',
3082 6108 'e2pdf-w100',
3083 - 'e2pdf-w100',
6109 + 'e2pdf-w50',
6110 + 'e2pdf-w50 e2pdf-pl10',
6111 + 'e2pdf-w70',
6112 + 'e2pdf-w30 e2pdf-pl10'
3084 6113 ]
3085 6114 };
3086 - }
3087 -
3088 - // Selector
3089 - if (el.data('data-type') === 'e2pdf-checkbox'
3090 - || el.data('data-type') === 'e2pdf-radio'
3091 - ) {
3092 - obj['selector'] = {
3093 - 'name': e2pdfLang['Selector'],
6115 + obj['page_number'] = {
6116 + 'name': e2pdf.lang.get('Page Number'),
3094 6117 'fields': [
3095 - e2pdf.properties.getField('text_color', el),
3096 - e2pdf.properties.getField('text_type', el),
6118 + e2pdf.properties.getField('page_number', el),
6119 + e2pdf.properties.getField('page_total', el),
3097 6120 ],
3098 6121 'position': 'left',
3099 6122 'classes': [
6123 + 'e2pdf-w50',
6124 + 'e2pdf-w50 e2pdf-pl10',
6125 + ]
6126 + };
6127 + obj['style'] = {
6128 + 'name': e2pdf.lang.get('Style'),
6129 + 'fields': [
6130 + e2pdf.properties.getField('background', el),
6131 + e2pdf.properties.getField('padding_top', el),
6132 + e2pdf.properties.getField('padding_left', el),
6133 + e2pdf.properties.getField('padding_right', el),
6134 + e2pdf.properties.getField('padding_bottom', el),
6135 + e2pdf.properties.getField('border_color', el),
6136 + e2pdf.properties.getField('border_top', el),
6137 + e2pdf.properties.getField('border_left', el),
6138 + e2pdf.properties.getField('border_right', el),
6139 + e2pdf.properties.getField('border_bottom', el)
6140 + ],
6141 + 'position': 'right',
6142 + 'classes': [
3100 6143 'e2pdf-w100',
6144 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6145 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6146 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6147 + 'e2pdf-w25 e2pdf-fnl',
3101 6148 'e2pdf-w100',
6149 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6150 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6151 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6152 + 'e2pdf-w25 e2pdf-fnl'
3102 6153 ]
3103 6154 };
3104 - }
3105 -
3106 - // Background
3107 - if (el.data('data-type') === 'e2pdf-html'
3108 - || el.data('data-type') === 'e2pdf-input'
3109 - || el.data('data-type') === 'e2pdf-textarea'
3110 - || el.data('data-type') === 'e2pdf-image'
3111 - || el.data('data-type') === 'e2pdf-rectangle'
3112 - || el.data('data-type') === 'e2pdf-signature'
3113 - ) {
3114 - obj['background'] = {
3115 - 'name': e2pdfLang['Background'],
6155 + obj['value'] = {
6156 + 'name': '',
3116 6157 'fields': [
3117 - e2pdf.properties.getField('background', el)
6158 + e2pdf.properties.getField('css', el),
6159 + e2pdf.properties.getField('value', el),
6160 + e2pdf.properties.getField('html_worker', el)
3118 6161 ],
3119 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6162 + 'position': 'bottom',
3120 6163 'classes': [
3121 - 'e2pdf-w100 e2pdf-hide-label',
6164 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6165 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
6166 + 'e2pdf-w30 e2pdf-pr10'
3122 6167 ]
3123 6168 };
3124 6169 }
3125 6170
3126 - // Resize
3127 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3128 - obj['resize'] = {
3129 - 'name': e2pdfLang['Resize'],
6171 + if (el.data('data-type') === 'e2pdf-image') {
6172 +
6173 + obj['field'] = {
6174 + 'name': e2pdf.lang.get('Field'),
3130 6175 'fields': [
3131 - e2pdf.properties.getField('scale', el),
6176 + e2pdf.properties.getField('text_color', el),
6177 + e2pdf.properties.getField('text_font', el),
6178 + e2pdf.properties.getField('text_font_size', el),
3132 6179 e2pdf.properties.getField('horizontal', el),
3133 6180 e2pdf.properties.getField('vertical', el),
6181 + e2pdf.properties.getField('rotation', el),
6182 + e2pdf.properties.getField('opacity', el),
6183 + e2pdf.properties.getField('quality', el),
3134 6184 e2pdf.properties.getField('dimension', el),
6185 + e2pdf.properties.getField('block_dimension', el),
6186 + e2pdf.properties.getField('keep_lower_size', el),
6187 + e2pdf.properties.getField('fill_image', el),
6188 + e2pdf.properties.getField('hide_page_if_empty', el)
3135 6189 ],
3136 6190 'position': 'left',
3137 6191 'classes': [
3138 6192 'e2pdf-w100',
3139 - 'e2pdf-w50 e2pdf-pr10',
6193 + 'e2pdf-w60 e2pdf-pr10',
6194 + 'e2pdf-w40',
6195 + 'e2pdf-w50',
3140 6196 'e2pdf-w50 e2pdf-pl10',
3141 - 'e2pdf-w100 e2pdf-mt5'
6197 + 'e2pdf-w50',
6198 + 'e2pdf-w50 e2pdf-pl10',
6199 + 'e2pdf-w100',
6200 + 'e2pdf-pr10',
6201 + 'e2pdf-pr10',
6202 + 'e2pdf-pr10',
6203 + 'e2pdf-pr10',
6204 + 'e2pdf-pr10'
3142 6205 ]
3143 6206 };
3144 - }
3145 -
3146 - // Border
3147 - if (el.data('data-type') === 'e2pdf-input'
3148 - || el.data('data-type') === 'e2pdf-textarea'
3149 - || el.data('data-type') === 'e2pdf-checkbox'
3150 - || el.data('data-type') === 'e2pdf-radio'
3151 - || el.data('data-type') === 'e2pdf-select'
3152 - ) {
3153 - obj['border'] = {
3154 - 'name': e2pdfLang['Border'],
6207 + obj['pdf'] = {
6208 + 'name': 'Pdf',
3155 6209 'fields': [
3156 - e2pdf.properties.getField('border', el),
3157 - e2pdf.properties.getField('border_color', el)
6210 + e2pdf.properties.getField('pdf_page', el),
6211 + e2pdf.properties.getField('pdf_resample', el),
6212 + e2pdf.properties.getField('pdf_append', el),
6213 + e2pdf.properties.getField('pdf_space', el),
6214 + e2pdf.properties.getField('pdf_border', el)
3158 6215 ],
6216 + 'position': 'left',
6217 + 'classes': [
6218 + 'e2pdf-w50',
6219 + 'e2pdf-w50 e2pdf-pl10',
6220 + 'e2pdf-w100',
6221 + 'e2pdf-w50',
6222 + 'e2pdf-w50 e2pdf-pl10'
6223 + ]
6224 + };
6225 + obj['style'] = {
6226 + 'name': e2pdf.lang.get('Style'),
6227 + 'fields': [
6228 + e2pdf.properties.getField('background', el),
6229 + e2pdf.properties.getField('padding_top', el),
6230 + e2pdf.properties.getField('padding_left', el),
6231 + e2pdf.properties.getField('padding_right', el),
6232 + e2pdf.properties.getField('padding_bottom', el),
6233 + e2pdf.properties.getField('border_color', el),
6234 + e2pdf.properties.getField('border_radius', el),
6235 + e2pdf.properties.getField('border_top', el),
6236 + e2pdf.properties.getField('border_left', el),
6237 + e2pdf.properties.getField('border_right', el),
6238 + e2pdf.properties.getField('border_bottom', el),
6239 + e2pdf.properties.getField('z_index', el)
6240 + ],
3159 6241 'position': 'right',
3160 6242 'classes': [
3161 - 'e2pdf-w25 e2pdf-pr10',
6243 + 'e2pdf-w100',
6244 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6245 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6246 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6247 + 'e2pdf-w25 e2pdf-fnl',
6248 + 'e2pdf-w100',
6249 + 'e2pdf-w100',
6250 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6251 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6252 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6253 + 'e2pdf-w25 e2pdf-fnl',
3162 6254 'e2pdf-w100'
6255 + ]
6256 + };
6257 + obj['value'] = {
6258 + 'name': '',
6259 + 'fields': [
6260 + e2pdf.properties.getField('link_url', el),
6261 + e2pdf.properties.getField('link_type', el),
6262 + e2pdf.properties.getField('highlight', el),
6263 + e2pdf.properties.getField('value', el),
6264 + e2pdf.properties.getField('only_image', el),
6265 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6266 + e2pdf.properties.getField('preg_pattern', el),
6267 + e2pdf.properties.getField('preg_replacement', el),
6268 + e2pdf.properties.getField('preg_match_all_pattern', el),
6269 + e2pdf.properties.getField('preg_match_all_output', el)
3163 6270 ],
6271 + 'position': 'bottom',
6272 + 'classes': [
6273 + 'e2pdf-w50 e2pdf-pr10',
6274 + 'e2pdf-w25 e2pdf-pr10',
6275 + 'e2pdf-w25',
6276 + 'e2pdf-w100',
6277 + 'e2pdf-w50 e2pdf-pr10',
6278 + 'e2pdf-w50 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6279 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6280 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6281 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6282 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6283 + ]
3164 6284 };
3165 6285 }
3166 6286
3167 - // Border
3168 - if (el.data('data-type') === 'e2pdf-html'
3169 - || el.data('data-type') === 'e2pdf-image'
3170 - || el.data('data-type') === 'e2pdf-signature'
3171 - ) {
3172 - obj['border'] = {
3173 - 'name': e2pdfLang['Border'],
6287 + if (el.data('data-type') === 'e2pdf-qrcode') {
6288 +
6289 + obj['qrcode'] = {
6290 + 'name': e2pdf.lang.get('QR Code'),
3174 6291 'fields': [
6292 + e2pdf.properties.getField('color', el),
6293 + e2pdf.properties.getField('precision', el),
6294 + e2pdf.properties.getField('wq', el)
6295 + ],
6296 + 'position': 'left',
6297 + 'classes': [
6298 + 'e2pdf-w100',
6299 + 'e2pdf-w50',
6300 + 'e2pdf-w50 e2pdf-pl10'
6301 + ]
6302 + };
6303 + obj['style'] = {
6304 + 'name': e2pdf.lang.get('Style'),
6305 + 'fields': [
6306 + e2pdf.properties.getField('background', el),
6307 + e2pdf.properties.getField('margin_top', el),
6308 + e2pdf.properties.getField('margin_left', el),
6309 + e2pdf.properties.getField('margin_right', el),
6310 + e2pdf.properties.getField('margin_bottom', el),
6311 + e2pdf.properties.getField('padding_top', el),
6312 + e2pdf.properties.getField('padding_left', el),
6313 + e2pdf.properties.getField('padding_right', el),
6314 + e2pdf.properties.getField('padding_bottom', el),
6315 + e2pdf.properties.getField('border_color', el),
3175 6316 e2pdf.properties.getField('border_top', el),
3176 6317 e2pdf.properties.getField('border_left', el),
3177 6318 e2pdf.properties.getField('border_right', el),
3178 6319 e2pdf.properties.getField('border_bottom', el),
3179 - e2pdf.properties.getField('border_color', el)
6320 + e2pdf.properties.getField('z_index', el)
3180 6321 ],
3181 6322 'position': 'right',
3182 6323 'classes': [
3183 - 'e2pdf-w25 e2pdf-pr10',
3184 - 'e2pdf-w25 e2pdf-pr10',
3185 - 'e2pdf-w25 e2pdf-pr10',
3186 - 'e2pdf-w25',
6324 + 'e2pdf-w100',
6325 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6326 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6327 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6328 + 'e2pdf-w25 e2pdf-fnl',
6329 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6330 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6331 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6332 + 'e2pdf-w25 e2pdf-fnl',
6333 + 'e2pdf-w100',
6334 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6335 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6336 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6337 + 'e2pdf-w25 e2pdf-fnl',
3187 6338 'e2pdf-w100'
6339 + ]
6340 + };
6341 + obj['value'] = {
6342 + 'name': e2pdf.lang.get('Value'),
6343 + 'fields': [
6344 + e2pdf.properties.getField('value', el),
6345 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6346 + e2pdf.properties.getField('preg_pattern', el),
6347 + e2pdf.properties.getField('preg_replacement', el),
6348 + e2pdf.properties.getField('preg_match_all_pattern', el),
6349 + e2pdf.properties.getField('preg_match_all_output', el)
3188 6350 ],
6351 + 'position': 'bottom',
6352 + 'classes': [
6353 + 'e2pdf-w100 e2pdf-hide-label',
6354 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6355 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6356 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6357 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6358 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6359 + ]
3189 6360 };
3190 6361 }
3191 6362
3192 - // Padding
3193 - if (el.data('data-type') === 'e2pdf-html'
3194 - || el.data('data-type') === 'e2pdf-image'
3195 - || el.data('data-type') === 'e2pdf-signature'
3196 - ) {
3197 - obj['padding'] = {
3198 - 'name': e2pdfLang['Padding'],
6363 + if (el.data('data-type') === 'e2pdf-barcode') {
6364 + obj['barcode'] = {
6365 + 'name': e2pdf.lang.get('Barcode'),
3199 6366 'fields': [
6367 + e2pdf.properties.getField('text_color', el),
6368 + e2pdf.properties.getField('text_font', el),
6369 + e2pdf.properties.getField('text_font_size', el),
6370 + e2pdf.properties.getField('text_line_height', el),
6371 + e2pdf.properties.getField('color', el),
6372 + e2pdf.properties.getField('format', el),
6373 + e2pdf.properties.getField('wq', el),
6374 + e2pdf.properties.getField('horizontal', el),
6375 + e2pdf.properties.getField('vertical', el),
6376 + e2pdf.properties.getField('scale', el),
6377 + e2pdf.properties.getField('rotation', el),
6378 + e2pdf.properties.getField('dimension', el),
6379 + e2pdf.properties.getField('hl', el)
6380 + ],
6381 + 'position': 'left',
6382 + 'classes': [
6383 + 'e2pdf-w100',
6384 + 'e2pdf-w60 e2pdf-pr10',
6385 + 'e2pdf-w40',
6386 + 'e2pdf-w100',
6387 + 'e2pdf-w100',
6388 + 'e2pdf-w50',
6389 + 'e2pdf-w50 e2pdf-pl10',
6390 + 'e2pdf-w50',
6391 + 'e2pdf-w50 e2pdf-pl10',
6392 + 'e2pdf-w50',
6393 + 'e2pdf-w50 e2pdf-pl10',
6394 + 'e2pdf-pr10',
6395 + 'e2pdf-pr10'
6396 + ]
6397 + };
6398 + obj['style'] = {
6399 + 'name': e2pdf.lang.get('Style'),
6400 + 'fields': [
6401 + e2pdf.properties.getField('background', el),
6402 + e2pdf.properties.getField('margin_top', el),
6403 + e2pdf.properties.getField('margin_left', el),
6404 + e2pdf.properties.getField('margin_right', el),
6405 + e2pdf.properties.getField('margin_bottom', el),
3200 6406 e2pdf.properties.getField('padding_top', el),
3201 6407 e2pdf.properties.getField('padding_left', el),
3202 6408 e2pdf.properties.getField('padding_right', el),
3203 - e2pdf.properties.getField('padding_bottom', el)
6409 + e2pdf.properties.getField('padding_bottom', el),
6410 + e2pdf.properties.getField('border_color', el),
6411 + e2pdf.properties.getField('border_top', el),
6412 + e2pdf.properties.getField('border_left', el),
6413 + e2pdf.properties.getField('border_right', el),
6414 + e2pdf.properties.getField('border_bottom', el),
6415 + e2pdf.properties.getField('z_index', el)
3204 6416 ],
3205 6417 'position': 'right',
3206 6418 'classes': [
3207 - 'e2pdf-w25 e2pdf-pr10',
3208 - 'e2pdf-w25 e2pdf-pr10',
3209 - 'e2pdf-w25 e2pdf-pr10',
3210 - 'e2pdf-w25',
6419 + 'e2pdf-w100',
6420 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6421 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6422 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6423 + 'e2pdf-w25 e2pdf-fnl',
6424 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6425 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6426 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6427 + 'e2pdf-w25 e2pdf-fnl',
6428 + 'e2pdf-w100',
6429 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6430 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6431 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6432 + 'e2pdf-w25 e2pdf-fnl',
6433 + 'e2pdf-w100'
3211 6434 ]
3212 6435 };
6436 + obj['value'] = {
6437 + 'name': e2pdf.lang.get('Value'),
6438 + 'fields': [
6439 + e2pdf.properties.getField('value', el),
6440 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6441 + e2pdf.properties.getField('preg_pattern', el),
6442 + e2pdf.properties.getField('preg_replacement', el),
6443 + e2pdf.properties.getField('preg_match_all_pattern', el),
6444 + e2pdf.properties.getField('preg_match_all_output', el)
6445 + ],
6446 + 'position': 'bottom',
6447 + 'classes': [
6448 + 'e2pdf-w100 e2pdf-hide-label',
6449 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6450 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6451 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6452 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6453 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
6454 + ]
6455 + };
3213 6456 }
3214 6457
3215 - if (el.data('data-type') === 'e2pdf-link') {
3216 - obj['highlight'] = {
3217 - 'name': e2pdfLang['Highlight'],
6458 + if (el.data('data-type') === 'e2pdf-graph') {
6459 + obj['graph'] = {
6460 + 'name': e2pdf.lang.get('Graph'),
3218 6461 'fields': [
3219 - e2pdf.properties.getField('highlight', el)
6462 + e2pdf.properties.getField('g_type', el),
6463 + e2pdf.properties.getField('text_font', el),
6464 + e2pdf.properties.getField('g_palette', el),
6465 + e2pdf.properties.getField('g_stroke_colour', el),
6466 + e2pdf.properties.getField('g_stroke_width', el),
6467 + e2pdf.properties.getField('g_stroke_dynamic_colour', el),
6468 + e2pdf.properties.getField('g_sort', el),
6469 + e2pdf.properties.getField('g_fill_under', el),
6470 + e2pdf.properties.getField('g_reverse', el),
6471 + e2pdf.properties.getField('g_percentage', el),
3220 6472 ],
3221 6473 'position': 'left',
3222 6474 'classes': [
3223 - 'e2pdf-w100 e2pdf-hide-label',
6475 + 'e2pdf-w100',
6476 + 'e2pdf-w100',
6477 + 'e2pdf-w100',
6478 + 'e2pdf-w70 e2pdf-pr10',
6479 + 'e2pdf-w30',
6480 + 'e2pdf-pr10',
6481 + 'e2pdf-pr10',
6482 + 'e2pdf-pr10',
6483 + 'e2pdf-pr10',
6484 + 'e2pdf-pr10',
3224 6485 ]
3225 6486 };
3226 - }
3227 -
3228 - // Z-index
3229 - obj['z_index'] = {
3230 - 'name': e2pdfLang['Z-index'],
3231 - 'fields': [
3232 - e2pdf.properties.getField('z_index', el)
3233 - ],
3234 - 'position': 'right',
3235 - 'classes': [
3236 - 'e2pdf-w100 e2pdf-hide-label',
3237 - ]
3238 - };
3239 -
3240 - // Parent
3241 - if (el.data('data-type') === 'e2pdf-html') {
3242 - obj['parent'] = {
3243 - 'name': e2pdfLang['Parent'],
6487 + obj['title'] = {
6488 + 'name': e2pdf.lang.get('Title'),
3244 6489 'fields': [
3245 - e2pdf.properties.getField('parent', el),
6490 + e2pdf.properties.getField('g_graph_title_colour', el),
6491 + e2pdf.properties.getField('g_graph_title', el),
6492 + e2pdf.properties.getField('g_graph_title_font_size', el),
6493 + e2pdf.properties.getField('g_graph_title_position', el),
6494 + e2pdf.properties.getField('g_graph_title_space', el),
3246 6495 ],
3247 - 'position': 'bottom',
6496 + 'position': 'left',
3248 6497 'classes': [
3249 - 'e2pdf-w100 e2pdf-hide-label',
6498 + 'e2pdf-w100',
6499 + 'e2pdf-w60 e2pdf-pr10',
6500 + 'e2pdf-w40',
6501 + 'e2pdf-w70 e2pdf-pr10',
6502 + 'e2pdf-w30',
6503 + ]
6504 + };
6505 + obj['labels'] = {
6506 + 'name': e2pdf.lang.get('Labels'),
6507 + 'fields': [
6508 + e2pdf.properties.getField('g_label_colour', el),
6509 + e2pdf.properties.getField('g_label_font_size', el),
6510 + e2pdf.properties.getField('g_label_space', el),
6511 + e2pdf.properties.getField('g_label_v', el),
6512 + e2pdf.properties.getField('g_label_h', el),
6513 + e2pdf.properties.getField('g_show_labels', el),
6514 + e2pdf.properties.getField('g_show_label_key', el),
6515 + e2pdf.properties.getField('g_show_label_amount', el),
6516 + e2pdf.properties.getField('g_show_label_percent', el),
3250 6517 ],
6518 + 'position': 'left',
6519 + 'classes': [
6520 + 'e2pdf-w100',
6521 + 'e2pdf-w70 e2pdf-pr10',
6522 + 'e2pdf-w30',
6523 + 'e2pdf-w50 e2pdf-pr10',
6524 + 'e2pdf-w50',
6525 + 'e2pdf-pr10',
6526 + 'e2pdf-pr10',
6527 + 'e2pdf-pr10',
6528 + 'e2pdf-pr10',
6529 + ]
3251 6530 };
3252 - }
3253 -
3254 - if (el.data('data-type') === 'e2pdf-radio') {
3255 - obj['group'] = {
3256 - 'name': e2pdfLang['Group'],
6531 + obj['marker'] = {
6532 + 'name': e2pdf.lang.get('Markers'),
3257 6533 'fields': [
3258 - e2pdf.properties.getField('group', el),
6534 + e2pdf.properties.getField('g_marker_colour', el),
6535 + e2pdf.properties.getField('g_marker_size', el),
6536 + e2pdf.properties.getField('g_marker_dynamic_colour', el),
6537 + e2pdf.properties.getField('g_marker_type', el),
3259 6538 ],
6539 + 'position': 'left',
6540 + 'classes': [
6541 + 'e2pdf-w70 e2pdf-pr10',
6542 + 'e2pdf-w30',
6543 + 'e2pdf-w100',
6544 + 'e2pdf-w100'
6545 + ]
6546 + };
6547 + obj['legend'] = {
6548 + 'name': e2pdf.lang.get('Legend'),
6549 + 'fields': [
6550 + e2pdf.properties.getField('g_legend_back_colour', el),
6551 + e2pdf.properties.getField('g_legend_stroke_colour', el),
6552 + e2pdf.properties.getField('g_legend_stroke_width', el),
6553 + e2pdf.properties.getField('g_legend_entry_width', el),
6554 + e2pdf.properties.getField('g_legend_entry_height', el),
6555 + e2pdf.properties.getField('g_legend_padding_x', el),
6556 + e2pdf.properties.getField('g_legend_padding_y', el),
6557 + e2pdf.properties.getField('g_legend_colour', el),
6558 + e2pdf.properties.getField('g_legend_title', el),
6559 + e2pdf.properties.getField('g_legend_title_font_size', el),
6560 + e2pdf.properties.getField('g_legend_font_size', el),
6561 + e2pdf.properties.getField('g_legend_position_horizontal', el),
6562 + e2pdf.properties.getField('g_legend_position_vertical', el),
6563 + e2pdf.properties.getField('g_legend_position_join', el),
6564 + e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6565 + e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6566 + e2pdf.properties.getField('g_legend_text_side', el),
6567 + e2pdf.properties.getField('g_legend_columns', el),
6568 + e2pdf.properties.getField('g_show_legend', el),
6569 + ],
6570 + 'position': 'left',
6571 + 'classes': [
6572 + 'e2pdf-w100',
6573 + 'e2pdf-w60 e2pdf-pr10',
6574 + 'e2pdf-w40',
6575 + 'e2pdf-w50',
6576 + 'e2pdf-w50 e2pdf-pl10',
6577 + 'e2pdf-w50',
6578 + 'e2pdf-w50 e2pdf-pl10',
6579 + 'e2pdf-w100',
6580 + 'e2pdf-w70 e2pdf-pr10',
6581 + 'e2pdf-w30',
6582 + 'e2pdf-w100',
6583 + 'e2pdf-w33 e2pdf-pr10',
6584 + 'e2pdf-w33',
6585 + 'e2pdf-w33 e2pdf-pl10',
6586 + 'e2pdf-w50 e2pdf-pr10',
6587 + 'e2pdf-w50',
6588 + 'e2pdf-w70 e2pdf-pr10',
6589 + 'e2pdf-w30',
6590 + 'e2pdf-pr10'
6591 + ]
6592 + };
6593 + obj['additional'] = {
6594 + 'name': 'Additional',
6595 + 'fields': [
6596 + e2pdf.properties.getField('g_bubble_scale', el),
6597 + e2pdf.properties.getField('g_increment', el),
6598 + e2pdf.properties.getField('g_stack_group', el),
6599 + e2pdf.properties.getField('g_line_dataset', el),
6600 + e2pdf.properties.getField('g_project_angle', el),
6601 + e2pdf.properties.getField('g_line_curve', el),
6602 + e2pdf.properties.getField('g_depth', el),
6603 + e2pdf.properties.getField('g_aspect_ratio', el),
6604 + e2pdf.properties.getField('g_inner_radius', el),
6605 + e2pdf.properties.getField('g_start_angle', el),
6606 + e2pdf.properties.getField('g_fill_opacity', el)
6607 + ],
6608 + 'position': 'left',
6609 + 'classes': [
6610 + 'e2pdf-w50 e2pdf-pr10',
6611 + 'e2pdf-w50',
6612 + 'e2pdf-w50 e2pdf-pr10',
6613 + 'e2pdf-w50',
6614 + 'e2pdf-w50 e2pdf-pr10',
6615 + 'e2pdf-w50',
6616 + 'e2pdf-w50 e2pdf-pr10',
6617 + 'e2pdf-w50',
6618 + 'e2pdf-w50 e2pdf-pr10',
6619 + 'e2pdf-w50',
6620 + 'e2pdf-w50 e2pdf-pr10',
6621 + ]
6622 + };
6623 + obj['grid'] = {
6624 + 'name': e2pdf.lang.get('Grid'),
6625 + 'fields': [
6626 + e2pdf.properties.getField('g_grid_colour', el),
6627 + e2pdf.properties.getField('g_grid_subdivision_colour', el),
6628 + e2pdf.properties.getField('g_minimum_grid_spacing', el),
6629 + e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6630 + e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6631 + e2pdf.properties.getField('g_grid_dash', el),
6632 + e2pdf.properties.getField('g_grid_dash_h', el),
6633 + e2pdf.properties.getField('g_grid_dash_v', el),
6634 + e2pdf.properties.getField('g_grid_division_h', el),
6635 + e2pdf.properties.getField('g_grid_division_v', el),
6636 + e2pdf.properties.getField('g_show_grid', el),
6637 + e2pdf.properties.getField('g_show_grid_subdivisions', el),
6638 + e2pdf.properties.getField('g_grid_straight', el)
6639 + ],
6640 + 'position': 'right',
6641 + 'classes': [
6642 + 'e2pdf-w100',
6643 + 'e2pdf-w100',
6644 + 'e2pdf-w100',
6645 + 'e2pdf-w50 e2pdf-pr10',
6646 + 'e2pdf-w50',
6647 + 'e2pdf-w100',
6648 + 'e2pdf-w50 e2pdf-pr10',
6649 + 'e2pdf-w50',
6650 + 'e2pdf-w50 e2pdf-pr10',
6651 + 'e2pdf-w50',
6652 + 'e2pdf-pr10',
6653 + 'e2pdf-pr10',
6654 + 'e2pdf-pr10'
6655 + ]
6656 + };
6657 + obj['axis'] = {
6658 + 'name': e2pdf.lang.get('Axis'),
6659 + 'fields': [
6660 + e2pdf.properties.getField('g_axis_colour', el),
6661 + e2pdf.properties.getField('g_axis_font_size', el),
6662 + e2pdf.properties.getField('g_axis_overlap', el),
6663 + e2pdf.properties.getField('g_show_subdivisions', el),
6664 + ],
6665 + 'position': 'right',
6666 + 'classes': [
6667 + 'e2pdf-w60 e2pdf-pr10',
6668 + 'e2pdf-w40',
6669 + 'e2pdf-w100',
6670 + 'e2pdf-w50 e2pdf-pr10',
6671 + ]
6672 + };
6673 + obj['axis_v'] = {
6674 + 'name': e2pdf.lang.get('Axis (V)'),
6675 + 'fields': [
6676 + e2pdf.properties.getField('g_axis_colour_v', el),
6677 + e2pdf.properties.getField('g_axis_font_size_v', el),
6678 + e2pdf.properties.getField('g_axis_font_weight_v', el),
6679 + e2pdf.properties.getField('g_axis_stroke_width_v', el),
6680 + e2pdf.properties.getField('g_show_axis_v', el),
6681 + e2pdf.properties.getField('g_show_axis_text_v', el),
6682 + e2pdf.properties.getField('g_axis_min_v', el),
6683 + e2pdf.properties.getField('g_axis_max_v', el),
6684 + e2pdf.properties.getField('g_axis_min_max_v', el),
6685 + e2pdf.properties.getField('g_axis_text_position_v', el),
6686 + e2pdf.properties.getField('g_axis_text_align_v', el),
6687 + e2pdf.properties.getField('g_axis_text_space_v', el),
6688 + e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6689 + e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6690 + e2pdf.properties.getField('g_units_x', el),
6691 + ],
6692 + 'position': 'right',
6693 + 'classes': [
6694 + 'e2pdf-w60 e2pdf-pr10',
6695 + 'e2pdf-w40',
6696 + 'e2pdf-w100',
6697 + 'e2pdf-w33 e2pdf-pr10',
6698 + 'e2pdf-w33 e2pdf-sublabel',
6699 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6700 + 'e2pdf-w33 e2pdf-pr10',
6701 + 'e2pdf-w33',
6702 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6703 + 'e2pdf-w33 e2pdf-pr10',
6704 + 'e2pdf-w33',
6705 + 'e2pdf-w33 e2pdf-pl10',
6706 + 'e2pdf-w33 e2pdf-pr10',
6707 + 'e2pdf-w33',
6708 + 'e2pdf-w33 e2pdf-pl10',
6709 + ]
6710 + };
6711 + obj['axis_h'] = {
6712 + 'name': e2pdf.lang.get('Axis (H)'),
6713 + 'fields': [
6714 + e2pdf.properties.getField('g_axis_colour_h', el),
6715 + e2pdf.properties.getField('g_axis_font_size_h', el),
6716 + e2pdf.properties.getField('g_axis_font_weight_h', el),
6717 + e2pdf.properties.getField('g_axis_stroke_width_h', el),
6718 + e2pdf.properties.getField('g_show_axis_h', el),
6719 + e2pdf.properties.getField('g_show_axis_text_h', el),
6720 + e2pdf.properties.getField('g_axis_min_h', el),
6721 + e2pdf.properties.getField('g_axis_max_h', el),
6722 + e2pdf.properties.getField('g_axis_min_max_h', el),
6723 + e2pdf.properties.getField('g_axis_text_position_h', el),
6724 + e2pdf.properties.getField('g_axis_text_align_h', el),
6725 + e2pdf.properties.getField('g_axis_text_space_h', el),
6726 + e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6727 + e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6728 + e2pdf.properties.getField('g_units_y', el),
6729 + ],
6730 + 'position': 'right',
6731 + 'classes': [
6732 + 'e2pdf-w60 e2pdf-pr10',
6733 + 'e2pdf-w40',
6734 + 'e2pdf-w100',
6735 + 'e2pdf-w33 e2pdf-pr10',
6736 + 'e2pdf-w33 e2pdf-sublabel',
6737 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6738 + 'e2pdf-w33 e2pdf-pr10',
6739 + 'e2pdf-w33',
6740 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6741 + 'e2pdf-w33 e2pdf-pr10',
6742 + 'e2pdf-w33',
6743 + 'e2pdf-w33 e2pdf-pl10',
6744 + 'e2pdf-w33 e2pdf-pr10',
6745 + 'e2pdf-w33',
6746 + 'e2pdf-w33 e2pdf-pl10',
6747 + ]
6748 + };
6749 + obj['bar'] = {
6750 + 'name': 'Bar',
6751 + 'fields': [
6752 + e2pdf.properties.getField('g_bar_width', el),
6753 + e2pdf.properties.getField('g_bar_width_min', el),
6754 + e2pdf.properties.getField('g_bar_space', el),
6755 + ],
6756 + 'position': 'right',
6757 + 'classes': [
6758 + 'e2pdf-w33 e2pdf-pr10',
6759 + 'e2pdf-w33',
6760 + 'e2pdf-w33 e2pdf-pl10',
6761 + ]
6762 + };
6763 + obj['barlabel'] = {
6764 + 'name': 'Bar Label',
6765 + 'fields': [
6766 + e2pdf.properties.getField('g_bar_label_colour', el),
6767 + e2pdf.properties.getField('g_bar_label_font_size', el),
6768 + e2pdf.properties.getField('g_units_label', el),
6769 + e2pdf.properties.getField('g_data_label_type', el),
6770 + e2pdf.properties.getField('g_bar_label_space', el),
6771 + e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6772 + e2pdf.properties.getField('g_bar_label_position_vertical', el),
6773 + e2pdf.properties.getField('g_bar_label_position_join', el),
6774 + e2pdf.properties.getField('g_show_bar_labels', el),
6775 + ],
6776 + 'position': 'right',
6777 + 'classes': [
6778 + 'e2pdf-w70 e2pdf-pr10',
6779 + 'e2pdf-w30',
6780 + 'e2pdf-w100',
6781 + 'e2pdf-w50 e2pdf-pr10',
6782 + 'e2pdf-w50',
6783 + 'e2pdf-w33 e2pdf-pr10',
6784 + 'e2pdf-w33',
6785 + 'e2pdf-w33 e2pdf-pl10',
6786 + 'e2pdf-pr10',
6787 + ]
6788 + };
6789 + obj['style'] = {
6790 + 'name': e2pdf.lang.get('Style'),
6791 + 'fields': [
6792 + e2pdf.properties.getField('background', el),
6793 + e2pdf.properties.getField('margin_top', el),
6794 + e2pdf.properties.getField('margin_left', el),
6795 + e2pdf.properties.getField('margin_right', el),
6796 + e2pdf.properties.getField('margin_bottom', el),
6797 + e2pdf.properties.getField('padding_top', el),
6798 + e2pdf.properties.getField('padding_left', el),
6799 + e2pdf.properties.getField('padding_right', el),
6800 + e2pdf.properties.getField('padding_bottom', el),
6801 + e2pdf.properties.getField('border_color', el),
6802 + e2pdf.properties.getField('border_top', el),
6803 + e2pdf.properties.getField('border_left', el),
6804 + e2pdf.properties.getField('border_right', el),
6805 + e2pdf.properties.getField('border_bottom', el),
6806 + e2pdf.properties.getField('z_index', el),
6807 + ],
6808 + 'position': 'right',
6809 + 'classes': [
6810 + 'e2pdf-w100',
6811 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6812 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6813 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6814 + 'e2pdf-w25 e2pdf-fnl',
6815 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6816 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6817 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6818 + 'e2pdf-w25 e2pdf-fnl',
6819 + 'e2pdf-w100',
6820 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6821 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6822 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6823 + 'e2pdf-w25 e2pdf-fnl',
6824 + 'e2pdf-w100',
6825 + ]
6826 + };
6827 + obj['structure'] = {
6828 + 'name': e2pdf.lang.get('Structure'),
6829 + 'fields': [
6830 + e2pdf.properties.getField('g_structure_key', el),
6831 + e2pdf.properties.getField('g_structure_value', el),
6832 + e2pdf.properties.getField('g_structure_colour', el),
6833 + e2pdf.properties.getField('g_structure_axis_text', el),
6834 + e2pdf.properties.getField('g_structure_legend_text', el),
6835 + e2pdf.properties.getField('g_structure_label', el),
6836 + e2pdf.properties.getField('g_structure_area', el),
6837 + e2pdf.properties.getField('g_structure_open', el),
6838 + e2pdf.properties.getField('g_structure_end', el),
6839 + e2pdf.properties.getField('g_structure_outliers', el),
6840 + e2pdf.properties.getField('g_structure_top', el),
6841 + e2pdf.properties.getField('g_structure_bottom', el),
6842 + e2pdf.properties.getField('g_structure_wtop', el),
6843 + e2pdf.properties.getField('g_structure_wbottom', el),
6844 + e2pdf.properties.getField('g_structure_high', el),
6845 + e2pdf.properties.getField('g_structure_low', el),
6846 + e2pdf.properties.getField('g_structured_data', el),
6847 + ],
3260 6848 'position': 'bottom',
3261 6849 'classes': [
3262 - 'e2pdf-w100 e2pdf-hide-label',
6850 + 'e2pdf-w33 e2pdf-pr10',
6851 + 'e2pdf-w33',
6852 + 'e2pdf-w33 e2pdf-pl10',
6853 + 'e2pdf-w33 e2pdf-pr10',
6854 + 'e2pdf-w33',
6855 + 'e2pdf-w33 e2pdf-pl10',
6856 + 'e2pdf-w33 e2pdf-pr10',
6857 + 'e2pdf-w33',
6858 + 'e2pdf-w33 e2pdf-pl10',
6859 + 'e2pdf-w33 e2pdf-pr10',
6860 + 'e2pdf-w33',
6861 + 'e2pdf-w33 e2pdf-pl10',
6862 + 'e2pdf-w33 e2pdf-pr10',
6863 + 'e2pdf-w33',
6864 + 'e2pdf-w33 e2pdf-pl10',
6865 + 'e2pdf-w33 e2pdf-pr10',
6866 + 'e2pdf-w33 e2pdf-sublabel',
3263 6867 ]
3264 6868 };
3265 - }
3266 -
3267 - if (el.data('data-type') === 'e2pdf-radio'
3268 - || el.data('data-type') === 'e2pdf-checkbox'
3269 - ) {
3270 - obj['option'] = {
3271 - 'name': e2pdfLang['Option'],
6869 + obj['value'] = {
6870 + 'name': '',
3272 6871 'fields': [
3273 - e2pdf.properties.getField('option', el),
6872 + e2pdf.properties.getField('g_key_sep', el),
6873 + e2pdf.properties.getField('g_array_sep', el),
6874 + e2pdf.properties.getField('g_sub_array_sep', el),
6875 + e2pdf.properties.getField('g_axis_text_callback_y', el),
6876 + e2pdf.properties.getField('g_axis_text_callback_x', el),
6877 + e2pdf.properties.getField('g_legends', el),
6878 + e2pdf.properties.getField('g_colors', el),
6879 + e2pdf.properties.getField('value', el),
6880 + e2pdf.properties.getField('g_multiline', el),
6881 + e2pdf.properties.getField('g_reverse_data', el),
6882 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6883 + e2pdf.properties.getField('preg_pattern', el),
6884 + e2pdf.properties.getField('preg_replacement', el),
6885 + e2pdf.properties.getField('preg_match_all_pattern', el),
6886 + e2pdf.properties.getField('preg_match_all_output', el),
3274 6887 ],
3275 6888 'position': 'bottom',
3276 6889 'classes': [
3277 - 'e2pdf-w100 e2pdf-hide-label',
6890 + 'e2pdf-w33 e2pdf-pr10',
6891 + 'e2pdf-w33',
6892 + 'e2pdf-w33 e2pdf-pl10',
6893 + 'e2pdf-w50 e2pdf-pr10',
6894 + 'e2pdf-w50',
6895 + 'e2pdf-w50 e2pdf-pr10',
6896 + 'e2pdf-w50',
6897 + 'e2pdf-w100 e2pdf-strong-label',
6898 + 'e2pdf-w30 e2pdf-pr10 e2pdf-hide-label',
6899 + 'e2pdf-w30 e2pdf-pr10',
6900 + 'e2pdf-w40 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6901 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6902 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6903 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6904 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
3278 6905 ]
3279 6906 };
3280 6907 }
3281 6908
3282 - // Options
3283 - if (el.data('data-type') === 'e2pdf-select') {
3284 - obj['options'] = {
3285 - 'name': e2pdfLang['Options'],
6909 + if (el.data('data-type') === 'e2pdf-rectangle') {
6910 + obj['style'] = {
6911 + 'name': e2pdf.lang.get('Style'),
3286 6912 'fields': [
3287 - e2pdf.properties.getField('options', el),
6913 + e2pdf.properties.getField('background', el),
6914 + e2pdf.properties.getField('z_index', el),
3288 6915 ],
3289 6916 'position': 'bottom',
3290 6917 'classes': [
3291 - 'e2pdf-w100 e2pdf-hide-label',
6918 + 'e2pdf-w50 e2pdf-pr10',
6919 + 'e2pdf-w50 e2pdf-pl10',
3292 6920 ]
3293 6921 };
3294 6922 }
3295 6923
3296 - // Value
3297 - if (el.data('data-type') === 'e2pdf-html'
3298 - || el.data('data-type') === 'e2pdf-input'
3299 - || el.data('data-type') === 'e2pdf-textarea'
3300 - || el.data('data-type') === 'e2pdf-radio'
3301 - || el.data('data-type') === 'e2pdf-checkbox'
3302 - || el.data('data-type') === 'e2pdf-select'
3303 - || el.data('data-type') === 'e2pdf-image'
3304 - || el.data('data-type') === 'e2pdf-link'
3305 - || el.data('data-type') === 'e2pdf-signature'
3306 - ) {
6924 + if (el.data('data-type') === 'e2pdf-link') {
6925 + obj['field'] = {
6926 + 'name': e2pdf.lang.get('Field'),
6927 + 'fields': [
6928 + e2pdf.properties.getField('text_color', el),
6929 + e2pdf.properties.getField('text_font', el),
6930 + e2pdf.properties.getField('text_font_size', el),
6931 + e2pdf.properties.getField('text_letter_spacing', el),
6932 + e2pdf.properties.getField('text_line_height', el),
6933 + e2pdf.properties.getField('text_align', el),
6934 + e2pdf.properties.getField('vertical', el),
6935 + e2pdf.properties.getField('rtl', el),
6936 + e2pdf.properties.getField('underline', el),
6937 + ],
6938 + 'position': 'left',
6939 + 'classes': [
6940 + 'e2pdf-w100',
6941 + 'e2pdf-w100',
6942 + 'e2pdf-w50',
6943 + 'e2pdf-w50 e2pdf-pl10',
6944 + 'e2pdf-w50',
6945 + 'e2pdf-w50 e2pdf-pl10',
6946 + 'e2pdf-w70',
6947 + 'e2pdf-w30 e2pdf-pl10',
6948 + 'e2pdf-w33'
6949 + ]
6950 + };
6951 + obj['style'] = {
6952 + 'name': e2pdf.lang.get('Style'),
6953 + 'fields': [
6954 + e2pdf.properties.getField('z_index', el)
6955 + ],
6956 + 'position': 'right',
6957 + 'classes': [
6958 + 'e2pdf-w100'
6959 + ]
6960 + };
3307 6961 obj['value'] = {
3308 - 'name': e2pdfLang['Value'],
6962 + 'name': e2pdf.lang.get('Value'),
3309 6963 'fields': [
6964 + e2pdf.properties.getField('link_label', el),
6965 + e2pdf.properties.getField('link_type', el),
6966 + e2pdf.properties.getField('highlight', el),
3310 6967 e2pdf.properties.getField('value', el),
6968 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
6969 + e2pdf.properties.getField('preg_pattern', el),
6970 + e2pdf.properties.getField('preg_replacement', el),
6971 + e2pdf.properties.getField('preg_match_all_pattern', el),
6972 + e2pdf.properties.getField('preg_match_all_output', el)
3311 6973 ],
3312 6974 'position': 'bottom',
3313 6975 'classes': [
3314 - 'e2pdf-w100 e2pdf-hide-label',
6976 + 'e2pdf-w50 e2pdf-pr10',
6977 + 'e2pdf-w25 e2pdf-pr10',
6978 + 'e2pdf-w25',
6979 + 'e2pdf-w100',
6980 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
6981 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6982 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
6983 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
6984 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
3315 6985 ]
3316 6986 };
3317 6987 }
3318 6988 }
3319 6989
3320 - if (actions) {
3321 - // actions
3322 - obj['actions'] = {
3323 - 'name': e2pdfLang['Actions'],
3324 - 'fields': e2pdf.actions.renderFields(el),
3325 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3326 - };
6990 + // tpl-properties
6991 + if (el.data('data-type') === 'e2pdf-tpl') {
6992 + if (actions) {
6993 + if (actions) {
6994 + obj['actions'] = {
6995 + 'name': e2pdf.lang.get('Actions'),
6996 + 'fields': e2pdf.actions.renderFields(el),
6997 + 'position': 'bottom'
6998 + };
6999 + }
7000 + } else {
7001 + obj['value'] = {
7002 + 'name': '',
7003 + 'fields': [
7004 + e2pdf.properties.getField('css', el),
7005 + ],
7006 + 'position': 'bottom',
7007 + 'classes': [
7008 + 'e2pdf-w100 e2pdf-strong-label e2pdf-mt10',
7009 + ]
7010 + };
7011 + }
7012 + } else {
7013 + if (actions) {
7014 + obj['actions'] = {
7015 + 'name': e2pdf.lang.get('Actions'),
7016 + 'fields': e2pdf.actions.renderFields(el),
7017 + 'position': 'bottom'
7018 + };
7019 + }
3327 7020 }
3328 -
3329 7021 return obj;
3330 7022 },
3331 - //e2pdf.properties.renderFields
3332 - renderFields: function (el) {
3333 -
3334 - var actions = true;
7023 + // e2pdf.properties.renderFields
7024 + renderFields: function (el, actions = true) {
3335 7025 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3336 7026 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3337 7027 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3338 7028 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3339 7029 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3340 -
3341 - if (el.data('data-type') == 'e2pdf-page') {
7030 + if (el.data('data-type') == 'e2pdf-tpl') {
7031 + fields_top = '';
3342 7032 fields_left = '';
3343 7033 fields_right = '';
3344 - fields_bottom = '';
7034 + } else if (el.data('data-type') == 'e2pdf-page') {
7035 + fields_left = '';
7036 + fields_right = '';
3345 7037 }
3346 7038
3347 7039 var groups = e2pdf.properties.getFields(el, actions);
3348 7040 if (groups) {
3349 7041 for (var group_key in groups) {
3350 -
3351 7042 if (group_key === 'actions') {
3352 -
3353 7043 var group = groups[group_key];
3354 7044 var block = jQuery('<div>');
3355 7045 if (group.name) {
3356 7046 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3356,9 +7046,8 @@
3356 7046 block.append(jQuery('<label>').html(group.name + ':'));
3357 7047 }
3358 7048 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3359 7049 grid.append(group.fields);
3360 -
3361 7050 block.append(grid);
3362 7051 if (group.position === 'top') {
3363 7052 fields_top.append(block);
3364 7053 } else if (group.position === 'left') {
@@ -3367,9 +7056,8 @@
3367 7056 fields_right.append(block);
3368 7057 } else {
3369 7058 fields_bottom.append(block);
3370 7059 }
3371 -
3372 7060 } else {
3373 7061 var group = groups[group_key];
3374 7062 var block = jQuery('<div>');
3375 7063 if (group.name) {
@@ -3384,12 +7072,12 @@
3384 7072 if (group.classes[field_key]) {
3385 7073 classes = group.classes[field_key];
3386 7074 }
3387 7075 }
3388 -
3389 7076 var field = '';
3390 7077 var label = '';
3391 7078 var wrap = '';
7079 + var hidden = '';
3392 7080 if (group_field.type === 'text') {
3393 7081 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3394 7082 field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3395 7083 } else if (group_field.type === 'hidden') {
@@ -3395,23 +7083,31 @@
3395 7083 } else if (group_field.type === 'hidden') {
3396 7084 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3397 7085 } else if (group_field.type === 'textarea') {
3398 7086 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3399 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
7087 + var rows = '5';
7088 + if (group_field.key == 'g_legends' || group_field.key == 'g_colors' || group_field.key == 'g_axis_text_callback_x' || group_field.key == 'g_axis_text_callback_y') {
7089 + rows = '3';
7090 + }
7091 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': rows}).val(group_field.value);
3400 7092 } else if (group_field.type === 'checkbox') {
3401 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3402 - label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
7093 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7094 + label = group_field.name;
3403 7095 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3404 7096 if (group_field.value == group_field.option) {
3405 - field.attr('checked', 'checked');
7097 + field.prop('checked', true);
3406 7098 }
7099 + if (jQuery.inArray('keep', group_field.atts) !== -1) {
7100 + hidden = jQuery('<input>', {
7101 + type: 'hidden',
7102 + name: group_field.key,
7103 + value: '0'
7104 + });
7105 + }
3407 7106 } else if (group_field.type === 'color') {
3408 7107 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3409 7108 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3410 7109 field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3411 - if (group_field.key === 'border_color') {
3412 - field.attr('data-default', '#000000');
3413 - }
3414 7110 } else if (group_field.type === 'select') {
3415 7111 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3416 7112 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3417 7113 for (var option_key in group_field.options) {
@@ -3417,13 +7113,13 @@
3417 7113 for (var option_key in group_field.options) {
3418 7114 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3419 7115 }
3420 7116 field.val(group_field.value);
7117 + } else if (group_field.type === 'link') {
7118 + field = jQuery('<a>', {'href': group_field.value, 'class': group_field.classes}).append(group_field.name);
3421 7119 }
3422 -
3423 7120 for (var att_key in group_field.atts) {
3424 7121 var att = group_field.atts[att_key];
3425 -
3426 7122 switch (att) {
3427 7123 case 'readonly':
3428 7124 field.attr('readonly', 'readonly');
3429 7125 break;
@@ -3432,8 +7128,11 @@
3432 7128 break;
3433 7129 case 'number':
3434 7130 field.addClass('e2pdf-numbers');
3435 7131 break;
7132 + case 'number-negative':
7133 + field.addClass('e2pdf-number-negative');
7134 + break;
3436 7135 case 'autocomplete':
3437 7136 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3438 7137 field.addClass('e2pdf-autocomplete-cl');
3439 7138 field.autocomplete({
@@ -3444,26 +7143,36 @@
3444 7143 jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3445 7144 },
3446 7145 classes: {
3447 7146 "ui-autocomplete": "e2pdf-autocomplete"
3448 - },
7147 + }
3449 7148 });
3450 7149 break;
3451 - case 'scale':
3452 - field.addClass('e2pdf-scale-field');
7150 + case 'collapse':
7151 + field.attr('data-collapse', group_field.collapse);
3453 7152 break;
3454 7153 }
3455 7154 }
3456 -
3457 7155 if (!wrap) {
3458 7156 wrap = field;
3459 7157 } else {
3460 7158 wrap.prepend(field);
3461 7159 }
3462 -
3463 - grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7160 + if (group_field.type === 'checkbox') {
7161 + if (hidden) {
7162 + wrap.prepend(hidden);
7163 + }
7164 + wrap.append(" " + label);
7165 + if (classes.includes('e2pdf-sublabel')) {
7166 + var sublabel = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html("&nbsp;");
7167 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(sublabel, wrap));
7168 + } else {
7169 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(wrap));
7170 + }
7171 + } else {
7172 + grid.append(jQuery('<div>', {'class': 'e2pdf-ib ' + classes}).append(label, wrap));
7173 + }
3464 7174 }
3465 -
3466 7175 block.append(grid);
3467 7176 if (group.position === 'top') {
3468 7177 fields_top.append(block);
3469 7178 } else if (group.position === 'left') {
@@ -3475,84 +7184,94 @@
3475 7184 }
3476 7185 }
3477 7186 }
3478 7187 }
3479 -
3480 7188 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3481 7189 return fields;
3482 7190 },
3483 - //e2pdf.properties.apply
3484 - apply: function (el, data) {
7191 + // e2pdf.properties.apply
7192 + apply: function (el, data, onload) {
7193 + if (onload !== true) {
7194 + var groups = e2pdf.properties.getFields(el);
7195 + for (var group_key in groups) {
7196 + var group = groups[group_key];
7197 + for (var field_key in group.fields) {
7198 + var group_field = group.fields[field_key];
7199 + var property = group_field['key'];
7200 + if (jQuery.inArray('keep', group_field['atts']) === -1 && data.hasOwnProperty(property)) {
7201 + switch (group_field['type']) {
7202 + case 'text':
7203 + if ((jQuery.inArray('number', group_field['atts']) !== -1 && data[property] == '0') || !data[property]) {
7204 + delete data[property];
7205 + }
7206 + break;
7207 + case 'color':
7208 + case 'select':
7209 + case 'textarea':
7210 + if (!data[property]) {
7211 + delete data[property];
7212 + }
7213 + break;
7214 + }
7215 + }
7216 + }
7217 + }
7218 + }
3485 7219 el.data('data-properties', JSON.stringify(data));
3486 7220 },
3487 - //e2pdf.properties.set
7221 + // e2pdf.properties.set
3488 7222 set: function (el, key, value) {
3489 7223 var properties = e2pdf.properties.get(el);
3490 7224 properties[key] = value;
3491 7225 e2pdf.properties.apply(el, properties);
3492 7226 },
3493 - //e2pdf.properties.getValue
3494 - getValue: function (el, key) {
7227 + // e2pdf.properties.getValue
7228 + getValue: function (el, key, type = '') {
3495 7229 var properties = e2pdf.properties.get(el);
3496 - return properties[key];
7230 + if (type) {
7231 + if (type == 'string') {
7232 + return e2pdf.helper.getString(properties[key]);
7233 + } else if (type == 'checkbox') {
7234 + return e2pdf.helper.getCheckbox(properties[key]);
7235 + } else if (type == 'int') {
7236 + return e2pdf.helper.getInt(properties[key]);
7237 + } else if (type == 'float') {
7238 + return e2pdf.helper.getFloat(properties[key]);
7239 + } else {
7240 + return '';
7241 + }
7242 + } else if (properties.hasOwnProperty(key)) {
7243 + if (el.data('data-type') === 'e2pdf-page-number' && key == 'value') {
7244 + return e2pdf.helper.toHtml(properties[key]);
7245 + } else {
7246 + return properties[key];
7247 + }
7248 + } else {
7249 + return '';
7250 + }
3497 7251 },
3498 - //e2pdf.properties.get
3499 - get: function (el, submit) {
3500 -
7252 + // e2pdf.properties.get
7253 + get: function (el) {
3501 7254 var properties = [];
3502 -
3503 7255 if (typeof el.data('data-properties') !== 'undefined') {
3504 7256 properties = JSON.parse(el.data('data-properties'));
3505 -
3506 - if (el.data('data-type') !== 'e2pdf-page') {
3507 - if (!("width" in properties)) {
3508 - properties['width'] = parseFloat(el.css('width'));
3509 - } else {
3510 - properties['width'] = parseFloat(properties['width']);
3511 - }
3512 -
3513 - if (!("height" in properties)) {
3514 - properties['height'] = parseFloat(el.css('height'));
3515 - } else {
3516 - properties['height'] = parseFloat(properties['height']);
3517 - }
3518 -
3519 - if (!("top" in properties)) {
3520 - properties['top'] = parseFloat(el.css('top'));
3521 - } else {
3522 - properties['top'] = parseFloat(properties['top']);
3523 - }
3524 -
3525 - if (!("left" in properties)) {
3526 - properties['left'] = parseFloat(el.css('left'));
3527 - } else {
3528 - properties['left'] = parseFloat(properties['left']);
3529 - }
3530 -
3531 - if (submit) {
3532 - delete properties['width'];
3533 - delete properties['height'];
3534 - delete properties['value'];
3535 - delete properties['top'];
3536 - delete properties['left'];
3537 - delete properties['element_type'];
3538 - delete properties['element_id'];
3539 - delete properties['page_id'];
3540 - }
7257 + if (el.data('data-type') !== 'e2pdf-page' && el.data('data-type') !== 'e2pdf-tpl') {
7258 + properties['width'] = properties.hasOwnProperty('width') ? parseFloat(properties['width']) : parseFloat(el.css('width'));
7259 + properties['height'] = properties.hasOwnProperty('height') ? parseFloat(properties['height']) : parseFloat(el.css('height'));
7260 + properties['top'] = properties.hasOwnProperty('top') ? parseFloat(properties['top']) : parseFloat(el.css('top'));
7261 + properties['left'] = properties.hasOwnProperty('left') ? parseFloat(properties['left']) : parseFloat(el.css('left'));
3541 7262 }
3542 7263 }
3543 -
3544 7264 return properties;
3545 7265 },
3546 - //e2pdf.properties.render
7266 + // e2pdf.properties.render
3547 7267 render: function (el) {
3548 7268 var properties = e2pdf.properties.get(el);
3549 7269 var children = e2pdf.element.children(el);
3550 - if (properties.hasOwnProperty("options")) {
3551 - var property = "options";
7270 + if (properties.hasOwnProperty('options')) {
3552 7271 if (el.data('data-type') === 'e2pdf-select') {
3553 7272 children.find('option').remove();
3554 - var options = properties[property].split("\n");
7273 + var options = properties['options'].split("\n");
3555 7274 if (typeof options !== 'undefined' && options.length > 0) {
3556 7275 for (var key in options) {
3557 7276 children.append(
3558 7277 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3560,281 +7279,199 @@
3560 7279 }
3561 7280 }
3562 7281 }
3563 7282 }
3564 -
3565 - // value render
3566 - if (properties.hasOwnProperty("value")) {
3567 - var property = "value";
3568 - if (el.data('data-type') === 'e2pdf-html') {
3569 - children.html(properties[property]);
3570 - } else if (el.data('data-type') === 'e2pdf-input') {
3571 - children.val(properties[property]);
3572 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3573 - children.val(properties[property]);
3574 - } else if (el.data('data-type') === 'e2pdf-select') {
3575 - children.val(properties[property]);
3576 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3577 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3578 - children.attr('checked', 'checked');
7283 + switch (el.data('data-type')) {
7284 + case 'e2pdf-html':
7285 + var wysiwyg_source = !jQuery('.e2pdf-wysiwyg-source').hasClass('e2pdf-inactive');
7286 + if (children.is('textarea') && e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) != '1' && !wysiwyg_source) {
7287 + children.replaceWith(jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7288 + children = e2pdf.element.children(el);
7289 + } else if (children.is('div') && (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source)) {
7290 + children.replaceWith(jQuery('<textarea>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}));
7291 + children = e2pdf.element.children(el);
7292 + }
7293 + if (e2pdf.helper.getCheckbox(properties['wysiwyg_disable']) == '1' || wysiwyg_source) {
7294 + e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), '');
7295 + children.val(e2pdf.helper.getString(properties['value']));
3579 7296 } else {
3580 - children.attr('checked', false);
7297 + e2pdf.helper.css(e2pdf.helper.getInt(el.attr('data-element_id')), e2pdf.helper.getString(properties['css']));
7298 + children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value'])));
3581 7299 }
3582 - } else if (el.data('data-type') === 'e2pdf-image') {
7300 + break;
7301 + case 'e2pdf-page-number':
7302 + children.html(e2pdf.helper.sanitizeHTML(e2pdf.helper.getString(properties['value']).replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2')));
7303 + break;
7304 + case 'e2pdf-link':
7305 + children.text(e2pdf.helper.getString(properties['link_label']));
7306 + break;
7307 + case 'e2pdf-input':
7308 + case 'e2pdf-textarea':
7309 + case 'e2pdf-select':
7310 + children.val(e2pdf.helper.getString(properties['value']));
7311 + break;
7312 + case 'e2pdf-checkbox':
7313 + if (e2pdf.helper.getString(properties['value']) == e2pdf.helper.getString(properties['option'])) {
7314 + children.prop('checked', true);
7315 + } else {
7316 + children.prop('checked', false);
7317 + }
7318 + break;
7319 + case 'e2pdf-radio':
7320 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
7321 + var radio = jQuery(this).parent();
7322 + var radio_properties = e2pdf.properties.get(radio);
7323 + if (e2pdf.helper.getString(radio_properties['group']) === e2pdf.helper.getString(properties['group'])) {
7324 + e2pdf.properties.set(radio, 'readonly', e2pdf.helper.getCheckbox(properties['readonly']));
7325 + e2pdf.properties.set(radio, 'required', e2pdf.helper.getCheckbox(properties['required']));
7326 + e2pdf.properties.set(radio, 'value', e2pdf.helper.getString(properties['value']));
7327 + if (e2pdf.helper.getString(properties['value']) === e2pdf.helper.getString(radio_properties['option'])) {
7328 + jQuery(this).prop('checked', true);
7329 + } else {
7330 + jQuery(this).prop('checked', false);
7331 + }
7332 + }
7333 + });
7334 + break;
7335 + case 'e2pdf-image':
7336 + case 'e2pdf-qrcode':
7337 + case 'e2pdf-barcode':
7338 + case 'e2pdf-signature':
7339 + case 'e2pdf-graph':
3583 7340 e2pdf.helper.image.load(el);
3584 - }
7341 + break;
3585 7342 }
3586 7343
3587 - if (properties.hasOwnProperty("group")) {
3588 - var property = "group";
3589 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3590 - var radio = jQuery(this).parent();
3591 - var group = e2pdf.properties.getValue(radio, 'group');
3592 - if (group === properties[property]) {
3593 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3594 - e2pdf.properties.set(radio, 'required', properties['required']);
3595 - e2pdf.properties.set(radio, 'value', properties['value']);
3596 - var option = e2pdf.properties.getValue(radio, 'option');
3597 - if (properties['value'] === option) {
3598 - jQuery(this).attr('checked', 'checked');
3599 - } else {
3600 - jQuery(this).attr('checked', false);
3601 - }
3602 - }
3603 - });
3604 - }
3605 -
3606 - // multiline
3607 7344 if (el.data('data-type') === 'e2pdf-select') {
3608 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3609 - var property = "multiline";
3610 - children.attr('multiple', true);
3611 - } else {
3612 - children.attr('multiple', false);
3613 - }
7345 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3614 7346 }
3615 7347
3616 - // z_index render
3617 - if (properties.hasOwnProperty("z_index")) {
3618 - var property = "z_index";
3619 - el.css('z-index', properties[property]);
7348 + if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
7349 + children.css('opacity', e2pdf.helper.getFloat(properties['opacity']));
3620 7350 }
3621 7351
3622 - // rtl
3623 - if (el.data('data-type') === 'e2pdf-select'
3624 - || el.data('data-type') === 'e2pdf-input'
3625 - || el.data('data-type') === 'e2pdf-textarea'
3626 - || el.data('data-type') === 'e2pdf-html') {
3627 - if (properties.hasOwnProperty("rtl")) {
3628 - children.attr('dir', 'rtl');
7352 + el.css('z-index', e2pdf.helper.getInt(properties['z_index']));
7353 + if (el.data('data-type') === 'e2pdf-select' ||
7354 + el.data('data-type') === 'e2pdf-input' ||
7355 + el.data('data-type') === 'e2pdf-textarea' ||
7356 + el.data('data-type') === 'e2pdf-html' ||
7357 + el.data('data-type') === 'e2pdf-page-number') {
7358 + if (e2pdf.helper.getString(properties['rtl']) != '') {
7359 + children.attr('dir', e2pdf.helper.getString(properties['rtl']) == '0' ? 'ltr' : 'rtl');
3629 7360 } else {
3630 7361 children.attr('dir', false);
3631 7362 }
3632 7363 }
3633 7364
3634 - // background render
3635 - if (properties.hasOwnProperty("background")) {
3636 - var property = "background";
3637 - if (el.data('data-type') === 'e2pdf-radio'
3638 - || el.data('data-type') === 'e2pdf-checkbox'
3639 - ) {
3640 - children.css('background', properties[property]);
3641 - } else {
3642 - el.css('background', properties[property]);
3643 - }
7365 + if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7366 + children.css('background', e2pdf.helper.getString(properties['background']));
7367 + } else {
7368 + el.css('background', e2pdf.helper.getString(properties['background']));
3644 7369 }
3645 7370
3646 - if (properties.hasOwnProperty("border_top")) {
3647 - var property = "border_top";
3648 - // border_top render
3649 - if (properties[property] != '0') {
3650 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3651 - } else {
3652 - el.css('border-top', '');
3653 - }
7371 + if (el.data('data-type') === 'e2pdf-input' ||
7372 + el.data('data-type') === 'e2pdf-textarea' ||
7373 + el.data('data-type') === 'e2pdf-select' ||
7374 + el.data('data-type') === 'e2pdf-radio' ||
7375 + el.data('data-type') === 'e2pdf-checkbox'
7376 + ) {
7377 + children.css('border', e2pdf.helper.getInt(properties['border']) > 0 ? e2pdf.helper.getInt(properties['border']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000') : '');
7378 + } else {
7379 + el.css('border-top', e2pdf.helper.getInt(properties['border_top']) + 'px solid ' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7380 + el.css('border-left', e2pdf.helper.getInt(properties['border_left']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7381 + el.css('border-right', e2pdf.helper.getInt(properties['border_right']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
7382 + el.css('border-bottom', e2pdf.helper.getInt(properties['border_bottom']) + 'px solid' + e2pdf.helper.getString(properties['border_color'], '#000000'));
3654 7383 }
3655 7384
3656 - if (properties.hasOwnProperty("border_left")) {
3657 - var property = "border_left";
3658 - // border_left render
3659 - if (properties[property] != '0') {
3660 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
3661 - } else {
3662 - el.css('border-left', '');
3663 - }
7385 + el.css('padding-top', e2pdf.helper.getInt(properties['padding_top']) + 'px');
7386 + el.css('padding-left', e2pdf.helper.getInt(properties['padding_left']) + 'px');
7387 + el.css('padding-right', e2pdf.helper.getInt(properties['padding_right']) + 'px');
7388 + el.css('padding-bottom', e2pdf.helper.getInt(properties['padding_bottom']) + 'px');
7389 + if (el.data('data-type') === 'e2pdf-html' || el.data('data-type') === 'e2pdf-page-number') {
7390 + el.css('color', e2pdf.helper.getString(properties['text_color']));
7391 + } else if (el.data('data-type') === 'e2pdf-input' ||
7392 + el.data('data-type') === 'e2pdf-textarea' ||
7393 + el.data('data-type') === 'e2pdf-select' ||
7394 + el.data('data-type') === 'e2pdf-radio' ||
7395 + el.data('data-type') === 'e2pdf-checkbox'
7396 + ) {
7397 + children.css('color', e2pdf.helper.getString(properties['text_color']));
3664 7398 }
3665 7399
3666 - if (properties.hasOwnProperty("border_right")) {
3667 - var property = "border_right";
3668 - // border_right render
3669 - if (properties[property] != '0') {
3670 - el.css('border-right', properties[property] + 'px solid ' + properties['border_color']);
7400 + var font = e2pdf.helper.getString(properties['text_font']);
7401 + if (font) {
7402 + var path = jQuery('.e2pdf-wysiwyg-font').find("[value='" + CSS.escape(font) + "']").attr('path');
7403 + if (typeof path === 'undefined') {
7404 + el.css('font-family', '');
3671 7405 } else {
3672 - el.css('border-right', '');
3673 - }
3674 - }
3675 -
3676 - if (properties.hasOwnProperty("border_bottom")) {
3677 - var property = "border_bottom";
3678 - // border_bottom render
3679 - if (properties[property] != '0') {
3680 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
3681 - } else {
3682 - el.css('border-bottom', '');
3683 - }
3684 - }
3685 -
3686 - if (properties.hasOwnProperty("padding_top")) {
3687 - var property = "padding_top";
3688 - el.css('padding-top', properties[property] + 'px');
3689 - }
3690 -
3691 - if (properties.hasOwnProperty("padding_left")) {
3692 - var property = "padding_left";
3693 - el.css('padding-left', properties[property] + 'px');
3694 - }
3695 -
3696 - if (properties.hasOwnProperty("padding_right")) {
3697 - var property = "padding_right";
3698 - el.css('padding-right', properties[property] + 'px');
3699 - }
3700 -
3701 - if (properties.hasOwnProperty("padding_bottom")) {
3702 - var property = "padding_bottom";
3703 - el.css('padding-bottom', properties[property] + 'px');
3704 - }
3705 -
3706 - if (properties.hasOwnProperty("border")) {
3707 - var property = "border";
3708 - if (el.data('data-type') === 'e2pdf-input'
3709 - || el.data('data-type') === 'e2pdf-textarea'
3710 - || el.data('data-type') === 'e2pdf-select'
3711 - || el.data('data-type') === 'e2pdf-radio'
3712 - || el.data('data-type') === 'e2pdf-checkbox'
3713 - ) {
3714 - if (properties[property] != '0') {
3715 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
3716 - } else {
3717 - children.css('border', '');
3718 - }
3719 - }
3720 - }
3721 -
3722 - if (properties.hasOwnProperty("text_color")) {
3723 - var property = "text_color";
3724 - if (el.data('data-type') === 'e2pdf-html') {
3725 - el.css('color', properties[property]);
3726 - } else if (el.data('data-type') === 'e2pdf-input'
3727 - || el.data('data-type') === 'e2pdf-textarea'
3728 - || el.data('data-type') === 'e2pdf-select'
3729 - || el.data('data-type') === 'e2pdf-radio'
3730 - || el.data('data-type') === 'e2pdf-checkbox'
3731 - ) {
3732 - children.css('color', properties[property]);
3733 - }
3734 - }
3735 -
3736 - if (properties.hasOwnProperty("text_font")) {
3737 - var property = "text_font";
3738 - if (properties[property] && properties[property] !== "") {
3739 - var path = jQuery('#e2pdf-wysiwyg-font').find("[value='" + properties[property] + "']").attr('path');
3740 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
7406 + var tmp = jQuery('<div>', {'name': font, 'path': path});
3741 7407 e2pdf.font.load(tmp);
3742 - el.css('font-family', properties[property]);
3743 - } else {
3744 - el.css('font-family', '');
7408 + el.css('font-family', CSS.escape(font));
3745 7409 }
7410 + } else {
7411 + el.css('font-family', '');
3746 7412 }
3747 7413
3748 - if (properties.hasOwnProperty("text_font_size")) {
3749 - var property = "text_font_size";
3750 - if (properties[property] !== '') {
3751 - el.css('font-size', properties[property] + "px");
3752 - } else {
3753 - el.css('font-size', '');
3754 - }
7414 + el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7415 + el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7416 + children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7417 + if (el.data('data-type') === 'e2pdf-textarea') {
7418 + children.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
7419 + } else {
7420 + el.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
3755 7421 }
3756 7422
3757 - if (properties.hasOwnProperty("text_line_height")) {
3758 - var property = "text_line_height";
3759 - //backward compatiability with input
3760 - if (properties[property] !== '' && properties[property] !== '0') {
3761 - if (el.data('data-type') === 'e2pdf-textarea') {
3762 - children.css('line-height', properties[property] + "px");
3763 - } else {
3764 - el.css('line-height', properties[property] + "px");
3765 - }
7423 + if (el.closest('.e2pdf-page').length > 0) {
7424 + var page_w = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
7425 + var page_h = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
7426 + var height = e2pdf.helper.getFloat(properties['top']) + e2pdf.helper.getFloat(el.css('height'));
7427 + if (height > page_h) {
7428 + var top = page_h - e2pdf.helper.getFloat(el.css('height'));
7429 + el.css('top', top + 'px');
3766 7430 } else {
3767 - if (el.data('data-type') === 'e2pdf-textarea') {
3768 - children.css('line-height', '');
3769 - } else {
3770 - el.css('line-height', '');
3771 - }
7431 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3772 7432 }
3773 - }
3774 7433
3775 - if (properties.hasOwnProperty("top")) {
3776 - var property = "top";
3777 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3778 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3779 - var top = page_height - parseFloat(el.css('height'));
3780 - el.css('top', top + "px");
3781 - } else if (properties[property] >= 0) {
3782 - el.css('top', properties[property] + "px");
3783 - }
3784 - }
3785 -
3786 - if (properties.hasOwnProperty("left")) {
3787 - var property = "left";
3788 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3789 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3790 - var left = page_width - parseFloat(el.css('width'));
7434 + var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7435 + if (width > page_w) {
7436 + var left = page_w - e2pdf.helper.getFloat(el.css('width'));
3791 7437 el.css('left', left + "px");
3792 - } else if (properties[property] >= 0) {
3793 - el.css('left', properties[property] + "px");
7438 + } else {
7439 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3794 7440 }
3795 - }
3796 7441
3797 - if (properties.hasOwnProperty("text_align")) {
3798 - var property = "text_align";
3799 - children.css('text-align', properties[property]);
3800 - }
3801 -
3802 - // width render
3803 - if (properties.hasOwnProperty("width")) {
3804 - var property = "width";
3805 - var width = parseFloat(properties[property]);
3806 - var left = parseFloat(el.css('left'));
3807 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
7442 + var width = e2pdf.helper.getFloat(properties['width']);
7443 + var left = e2pdf.helper.getFloat(el.css('left'));
3808 7444 if (width > 0) {
3809 - if (width > page_width - left) {
3810 - el.css('width', page_width - left);
3811 - e2pdf.properties.set(el, 'width', page_width - left);
7445 + if (width > page_w - left) {
7446 + el.css('width', page_w - left);
7447 + e2pdf.properties.set(el, 'width', page_w - left);
3812 7448 } else {
3813 - el.css('width', properties[property]);
7449 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
3814 7450 }
3815 7451 }
3816 - }
3817 7452
3818 - // height render
3819 - if (properties.hasOwnProperty("height")) {
3820 - var property = "height";
3821 - // height render
3822 - var height = parseFloat(properties[property]);
3823 - var top = parseFloat(el.css('top'));
3824 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
7453 + var height = e2pdf.helper.getFloat(properties['height']);
7454 + var top = e2pdf.helper.getFloat(el.css('top'));
3825 7455 if (height > 0) {
3826 - if (height > page_height - top) {
3827 - el.css('height', page_height - top);
3828 - e2pdf.properties.set(el, 'width', page_height - top);
7456 + if (height > page_h - top) {
7457 + el.css('height', page_h - top);
7458 + e2pdf.properties.set(el, 'height', page_h - top);
3829 7459 } else {
3830 - el.css('height', properties[property]);
7460 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
3831 7461 }
3832 7462 }
3833 7463 }
7464 +
7465 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7466 + el.addClass('e2pdf-locked');
7467 + } else {
7468 + el.removeClass('e2pdf-locked');
7469 + }
3834 7470 }
7471 +
3835 7472 },
3836 - //e2pdf.welcomeScreen
7473 + // e2pdf.welcomeScreen
3837 7474 welcomeScreen: function () {
3838 7475 if (jQuery('.e2pdf-page').length === 0) {
3839 7476 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3840 7477 e2pdf.dialog.create(el);
@@ -3839,41 +7476,55 @@
3839 7476 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3840 7477 e2pdf.dialog.create(el);
3841 7478 }
3842 7479 },
3843 - //e2pdf.createPdf
7480 + // e2pdf.createPdf
3844 7481 createPdf: function (el) {
3845 7482 var item = false;
7483 + var item1 = false;
7484 + var item2 = false;
3846 7485 var action = el.attr('data-action');
3847 7486 var data = e2pdf.form.serializeObject(el.closest('form'));
7487 + if (action !== 'upload') {
7488 + var disabled_settings = [
7489 + 'title', 'preset', 'font', 'font_size', 'line_height'
7490 + ];
7491 + for (var key in data) {
7492 + if (jQuery.inArray(key, disabled_settings) === -1) {
7493 + if (key == 'activated') {
7494 + e2pdf.pdf.settings.change(key, data[key]);
7495 + } else {
7496 + e2pdf.pdf.settings.change(key, data[key]);
7497 + }
7498 + }
3848 7499
3849 - var disabled_settings = [
3850 - 'title', 'preset', 'font', 'font_size', 'line_height'
3851 - ];
7500 + if (key === 'font') {
7501 + jQuery('#e2pdf-font').val(data[key]);
7502 + }
3852 7503
3853 - for (var key in data) {
3854 - if (jQuery.inArray(key, disabled_settings) === -1) {
3855 - if (key == 'activated') {
3856 - e2pdf.pdf.settings.change(key, data[key]);
3857 - } else {
3858 - e2pdf.pdf.settings.change(key, data[key]);
7504 + if (key === 'font_size') {
7505 + jQuery('#e2pdf-font-size').val(data[key]);
3859 7506 }
3860 - }
3861 7507
3862 - if (key === 'font') {
3863 - jQuery('#e2pdf-font').val(data[key]);
3864 - }
7508 + if (key === 'line_height') {
7509 + jQuery('#e2pdf-line-height').val(data[key]);
7510 + }
3865 7511
3866 - if (key === 'font_size') {
3867 - jQuery('#e2pdf-font-size').val(data[key]);
3868 - }
7512 + if (key === 'title') {
7513 + jQuery('#e2pdf-title').val(data[key]);
7514 + }
3869 7515
3870 - if (key === 'line_height') {
3871 - jQuery('#e2pdf-line-height').val(data[key]);
7516 + if (key === 'text_align') {
7517 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7518 + }
7519 +
7520 + if (key === 'rtl') {
7521 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7522 + }
3872 7523 }
3873 7524
3874 - if (key === 'title') {
3875 - jQuery('#e2pdf-title').val(data[key]);
7525 + if (!data['rtl']) {
7526 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3876 7527 }
3877 7528 }
3878 7529
3879 7530 if (action === 'apply') {
@@ -3878,15 +7529,15 @@
3878 7529
3879 7530 if (action === 'apply') {
3880 7531 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3881 7532 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3882 - var option = el.closest('form').find('#e2pdf-item option:selected');
7533 + var option = el.closest('form').find('.e2pdf-item option:selected');
3883 7534 if (option && typeof option.data('data-item') !== 'undefined') {
3884 7535 item = option.data('data-item');
3885 7536 }
3886 7537
3887 7538 if (item && item.id == '-1') {
3888 - if (!confirm(e2pdfLang['All Field Values will be overwritten! Are you sure want to continue?'])) {
7539 + if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
3889 7540 return false;
3890 7541 }
3891 7542 el.attr('form-id', 'e2pdf-build-form');
3892 7543 el.attr('action', 'e2pdf_save_form');
@@ -3893,14 +7544,33 @@
3893 7544 e2pdf.static.unsaved = false;
3894 7545 e2pdf.request.submitForm(el);
3895 7546 return;
3896 7547 } else {
7548 + if (item && item.id == '-2') {
7549 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7550 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7551 + item1 = option1.data('data-item');
7552 + if (item1.id == '-1') {
7553 + item1 = false;
7554 + }
7555 + }
7556 +
7557 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7558 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7559 + item2 = option2.data('data-item');
7560 + if (item2.id == '-1') {
7561 + item2 = false;
7562 + }
7563 + }
7564 + }
7565 +
7566 + e2pdf.pages.changeTplSize(width, height);
3897 7567 jQuery('.ui-dialog-content').dialog('close');
3898 7568 }
3899 7569 } else if (action === 'empty') {
3900 7570 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3901 7571 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3902 - var option = el.closest('form').find('#e2pdf-item option:selected');
7572 + var option = el.closest('form').find('.e2pdf-item option:selected');
3903 7573 if (option && typeof option.data('data-item') !== 'undefined') {
3904 7574 item = option.data('data-item');
3905 7575 if (item.id == '-1') {
3906 7576 item = false;
@@ -3905,14 +7575,31 @@
3905 7575 if (item.id == '-1') {
3906 7576 item = false;
3907 7577 }
3908 7578 }
7579 + if (item && item.id == '-2') {
7580 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7581 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7582 + item1 = option1.data('data-item');
7583 + if (item1.id == '-1') {
7584 + item1 = false;
7585 + }
7586 + }
7587 +
7588 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7589 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7590 + item2 = option2.data('data-item');
7591 + if (item2.id == '-1') {
7592 + item2 = false;
7593 + }
7594 + }
7595 + }
3909 7596 e2pdf.pages.changeTplSize(width, height);
3910 7597 e2pdf.pages.createPage();
3911 7598 jQuery('.ui-dialog-content').dialog('close');
3912 7599 } else if (action === 'auto') {
3913 - var extension = el.closest('form').find('#e2pdf-extension').val();
3914 - var option = el.closest('form').find('#e2pdf-item option:selected');
7600 + var extension = el.closest('form').find('.e2pdf-extension').val();
7601 + var option = el.closest('form').find('.e2pdf-item option:selected');
3915 7602 if (option && typeof option.data('data-item') !== 'undefined') {
3916 7603 item = option.data('data-item');
3917 7604 if (item.id == '-1') {
3918 7605 item = false;
@@ -3917,149 +7604,145 @@
3917 7604 if (item.id == '-1') {
3918 7605 item = false;
3919 7606 }
3920 7607 }
7608 + if (item && item.id == '-2') {
7609 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7610 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7611 + item1 = option1.data('data-item');
7612 + if (item1.id == '-1') {
7613 + item1 = false;
7614 + }
7615 + }
7616 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7617 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7618 + item2 = option2.data('data-item');
7619 + if (item2.id == '-1') {
7620 + item2 = false;
7621 + }
7622 + }
7623 + }
3921 7624 var data = {};
3922 7625 data['extension'] = extension;
3923 7626 data['item'] = item ? item.id : '';
7627 + data['item1'] = item1 ? item1.id : '';
7628 + data['item2'] = item2 ? item2.id : '';
7629 + data['font_size'] = el.closest('form').find('select[name="font_size"]').val();
7630 + data['line_height'] = el.closest('form').find('select[name="line_height"]').val();
3924 7631 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3925 7632 } else if (action === 'upload') {
3926 7633 if (e2pdf.pdf.settings.get('ID')) {
3927 - if (!confirm(e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'])) {
7634 + if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
3928 7635 return false;
3929 7636 }
3930 7637 }
3931 - jQuery('#e2pdf-upload-pdf').click();
7638 + jQuery('.e2pdf-upload-pdf').click();
3932 7639 }
3933 -
3934 7640 if (action === 'apply' || action === 'empty' || action === 'auto') {
3935 7641 var link = jQuery('<a>', {
3936 7642 'href': 'javascript:void(0);',
3937 - 'class': 'e2pdf-link e2pdf-modal',
7643 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
3938 7644 'data-modal': 'tpl-options'
3939 - }).html(e2pdfLang['None']);
3940 -
7645 + }).html(e2pdf.lang.get('Not linked'));
3941 7646 if (item && item.id) {
3942 - link = jQuery('<a>', {
3943 - 'target': '_blank',
3944 - 'href': item.url,
3945 - 'class': 'e2pdf-link',
3946 - }).html(item.name);
7647 + if (item.id == '-2') {
7648 + if ((item1 && item1.id) || (item2 && item2.id)) {
7649 + var link = jQuery('<span>');
7650 + if (item1 && item1.id) {
7651 + link.append(jQuery('<a>', {
7652 + 'target': '_blank',
7653 + 'href': item1.url,
7654 + 'class': 'e2pdf-link'
7655 + }).html(item1.name));
7656 + }
7657 + if (item1 && item1.id && item2 && item2.id) {
7658 + link.append(' | ');
7659 + }
7660 + if (item2 && item2.id) {
7661 + link.append(jQuery('<a>', {
7662 + 'target': '_blank',
7663 + 'href': item2.url,
7664 + 'class': 'e2pdf-link'
7665 + }).html(item2.name));
7666 + }
7667 + link.removeClass('e2pdf-color-red');
7668 + }
7669 + } else {
7670 + link = jQuery('<a>', {
7671 + 'target': '_blank',
7672 + 'href': item.url,
7673 + 'class': 'e2pdf-link'
7674 + }).html(item.name);
7675 + link.removeClass('e2pdf-color-red');
7676 + }
3947 7677 }
3948 7678 jQuery('#e2pdf-post-item').html(link);
3949 7679 }
3950 7680
7681 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3951 7682 e2pdf.font.load(jQuery('#e2pdf-font'));
3952 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3953 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3954 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3955 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
7683 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
7684 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
7685 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
7686 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
3956 7687 e2pdf.event.fire('after.createPdf');
3957 7688 },
3958 - //e2pdf.pages
7689 + // e2pdf.pages
3959 7690 pages: {
3960 - //e2pdf.pages.rebuildPages
3961 - rebuildPages: function () {
3962 - jQuery('.e2pdf-page').each(function (index) {
3963 -
3964 - if (!e2pdf.pdf.settings.get('pdf')) {
3965 - if (index + 1 === 1) {
3966 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3967 - } else {
3968 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3969 - }
3970 -
3971 - if (index + 1 === jQuery('.e2pdf-page').length) {
3972 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3973 - } else {
3974 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3975 - }
7691 + // e2pdf.pages.initEvents
7692 + initEvents: function (page) {
7693 + page.off('contextmenu');
7694 + page.contextmenu(function (e) {
7695 + if (jQuery(e.target).hasClass('e2pdf-page')) {
7696 + e2pdf.contextMenu(e, page);
7697 + e.preventDefault();
3976 7698 }
3977 -
3978 - jQuery(this).attr('data-page_id', index + 1);
3979 7699 });
3980 - e2pdf.welcomeScreen();
3981 - },
3982 - //e2pdf.pages.createPage
3983 - createPage: function (page, properties, actions) {
3984 - e2pdf.pages.rebuildPages();
3985 - var newpage = true;
3986 - if (page) {
3987 - var newpage = false;
3988 - }
7700 + if (page.hasClass('ui-droppable')) {
7701 + try {
7702 + page.droppable('destroy');
7703 + page.removeData('ui-droppable');
7704 + } catch (e) {
3989 7705
3990 - if (!properties) {
3991 - var properties = {};
7706 + }
3992 7707 }
3993 -
3994 - if (!actions) {
3995 - var actions = {};
3996 - }
3997 -
3998 - if (newpage) {
3999 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
4000 - var page = jQuery('<div>', {
4001 - 'class': 'e2pdf-page ui-droppable',
4002 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
4003 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
4004 - 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
4005 - 'data-height': jQuery('.e2pdf-tpl').attr('data-height'),
4006 - }).attr('data-page_id', page_id).append(
4007 - jQuery('<div>', {'class': 'page-options-icons'}).append(
4008 - jQuery('<a>', {
4009 - 'href': 'javascript:void(0);',
4010 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
4011 - }).append(
4012 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
4013 - ),
4014 - jQuery('<a>', {
4015 - 'href': 'javascript:void(0);',
4016 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
4017 - }).append(
4018 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
4019 - ),
4020 - jQuery('<a>', {
4021 - 'href': 'javascript:void(0);',
4022 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
4023 - 'data-modal': 'page-options'
4024 - }).append(
4025 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
4026 - ),
4027 - jQuery('<a>', {
4028 - 'href': 'javascript:void(0);',
4029 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
4030 - }).append(
4031 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
4032 - ),
4033 - ),
4034 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
4035 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
4036 - );
4037 - }
4038 -
4039 - page.data('data-type', 'e2pdf-page');
4040 -
4041 - e2pdf.properties.apply(page, properties);
4042 - e2pdf.actions.apply(page, actions);
4043 -
4044 7708 page.droppable({
4045 7709 over: function (ev, ui) {
4046 7710 e2pdf.static.drag.page = jQuery(this);
4047 7711 e2pdf.static.guide.guides = [];
7712 + if ((jQuery(ui.draggable).attr('data-type') == 'e2pdf-qrcode' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-barcode' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-graph' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-signature' || jQuery(ui.draggable).attr('data-type') == 'e2pdf-image') && !jQuery(ui.helper).data('original-width') && (jQuery(ui.helper).width() > e2pdf.static.drag.page.width() || jQuery(ui.helper).height() > e2pdf.static.drag.page.height())) {
7713 + jQuery(ui.helper).data('original-width', jQuery(ui.helper).width());
7714 + jQuery(ui.helper).data('original-height', jQuery(ui.helper).height());
7715 + var coeff = 1;
7716 + if (jQuery(ui.helper).width() > e2pdf.static.drag.page.width()) {
7717 + coeff = e2pdf.static.drag.page.width() / jQuery(ui.helper).width();
7718 + } else if (jQuery(ui.helper).height() > e2pdf.static.drag.page.height()) {
7719 + coeff = e2pdf.static.drag.page.height() / jQuery(ui.helper).height();
7720 + }
7721 + jQuery(ui.helper).width(jQuery(ui.helper).width() * coeff);
7722 + jQuery(ui.helper).height(jQuery(ui.helper).height() * coeff);
7723 + }
4048 7724
4049 7725 if (ui.draggable.hasClass('e2pdf-clone')) {
4050 - jQuery(this).find(".e2pdf-element").each(function () {
7726 + jQuery(this).find('.e2pdf-element').each(function () {
4051 7727 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
4052 7728 });
4053 7729 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
4054 7730 } else {
4055 - e2pdf.static.guide.guides = jQuery.map(jQuery(this).find(".e2pdf-element").not('.e2pdf-selected'), e2pdf.guide.calc);
7731 + e2pdf.static.guide.guides = jQuery.map(jQuery(this).find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
4056 7732 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
4057 7733 }
4058 7734 },
4059 - out: function (ev) {
7735 + out: function (ev, ui) {
4060 7736 e2pdf.static.drag.page = null;
4061 7737 e2pdf.static.guide.guides = [];
7738 + if (jQuery(ui.helper).data('original-width')) {
7739 + jQuery(ui.helper).width(jQuery(ui.helper).data('original-width'));
7740 + jQuery(ui.helper).height(jQuery(ui.helper).data('original-height'));
7741 + jQuery(ui.helper).removeData('original-width');
7742 + jQuery(ui.helper).removeData('original-height');
7743 + }
7744 +
4062 7745 },
4063 7746 deactivate: function (ev) {
4064 7747 e2pdf.static.drag.page = null;
4065 7748 e2pdf.static.guide.guides = [];
@@ -4068,13 +7751,12 @@
4068 7751 if (ui.draggable.hasClass('e2pdf-clone')) {
4069 7752 var type = jQuery(ui.draggable).attr('data-type');
4070 7753 var page = jQuery(this).closest('.e2pdf-page');
4071 7754 var pos = {
4072 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
4073 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
4074 - 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),
7755 + top: Math.round(Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.scale - 1)),
7756 + left: Math.round(Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.scale - 1)),
7757 + right: Math.round(Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.scale))
4075 7758 };
4076 -
4077 7759 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
4078 7760 return false;
4079 7761 }
4080 7762
@@ -4082,23 +7764,25 @@
4082 7764 properties['width'] = jQuery(ui.helper).css('width');
4083 7765 properties['height'] = jQuery(ui.helper).css('height');
4084 7766 properties['top'] = pos.top;
4085 7767 properties['left'] = pos.left;
4086 - properties['value'] = jQuery(ui.draggable).attr('data-value');
4087 - //changed
4088 7768 var el = e2pdf.element.create(type, page, properties, false, true);
4089 7769 jQuery(this).append(el);
4090 7770 e2pdf.properties.render(el);
7771 + var history = [];
7772 + history.push(el.clone(true));
7773 + e2pdf.history.set('element_create', history);
4091 7774 }
4092 7775 e2pdf.static.drag.page = null;
4093 7776 }
4094 7777 });
4095 - page.contextmenu(function (e) {
4096 - if (jQuery(e.target).hasClass('e2pdf-page')) {
4097 - e2pdf.contextMenu(e, page);
4098 - e.preventDefault();
7778 + if (page.hasClass('ui-selectable')) {
7779 + try {
7780 + page.selectable('destroy');
7781 + page.removeData('selectable');
7782 + } catch (e) {
4099 7783 }
4100 - });
7784 + }
4101 7785 page.selectable(
4102 7786 {
4103 7787 filter: '.e2pdf-element',
4104 7788 cancel: 'a,.e2pdf-element',
@@ -4103,21 +7787,114 @@
4103 7787 filter: '.e2pdf-element',
4104 7788 cancel: 'a,.e2pdf-element',
4105 7789 distance: 10,
4106 7790 selecting: function (event, ui) {
4107 - jQuery(ui.selecting).addClass('e2pdf-selected');
7791 + if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selecting).hasClass('e2pdf-locked')) {
7792 + jQuery(ui.selecting).addClass('e2pdf-selected');
7793 + }
4108 7794 },
4109 7795 unselecting: function (event, ui) {
4110 7796 jQuery(ui.unselecting).removeClass('e2pdf-selected');
4111 7797 },
4112 7798 selected: function (event, ui) {
4113 - e2pdf.element.select(jQuery(ui.selected));
7799 + if (jQuery('html').hasClass('e2pdf-unlock-all-elements') || !jQuery(ui.selected).hasClass('e2pdf-locked')) {
7800 + e2pdf.element.select(jQuery(ui.selected));
7801 + }
4114 7802 },
4115 7803 unselected: function (event, ui) {
4116 7804 e2pdf.element.unselect(jQuery(ui.unselected));
4117 7805 }
4118 - });
7806 + }
7807 + );
7808 + },
7809 + // e2pdf.pages.source
7810 + source: function (page_id) {
7811 + var page = jQuery('<div>', {
7812 + 'class': 'e2pdf-page ui-droppable',
7813 + 'width': jQuery('.e2pdf-tpl').attr('data-width'),
7814 + 'height': jQuery('.e2pdf-tpl').attr('data-height'),
7815 + 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
7816 + 'data-height': jQuery('.e2pdf-tpl').attr('data-height')
7817 + }).attr('data-page_id', page_id).append(
7818 + jQuery('<div>', {'class': 'page-options-icons'}).append(
7819 + jQuery('<a>', {
7820 + 'href': 'javascript:void(0);',
7821 + 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
7822 + }).append(
7823 + jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
7824 + ),
7825 + jQuery('<a>', {
7826 + 'href': 'javascript:void(0);',
7827 + 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
7828 + }).append(
7829 + jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
7830 + ),
7831 + jQuery('<a>', {
7832 + 'href': 'javascript:void(0);',
7833 + 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
7834 + 'data-modal': 'page-options'
7835 + }).append(
7836 + jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
7837 + ),
7838 + jQuery('<a>', {
7839 + 'href': 'javascript:void(0);',
7840 + 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
7841 + }).append(
7842 + jQuery('<i>', {'class': 'dashicons dashicons-no'})
7843 + )
7844 + ),
7845 + jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
7846 + jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'})
7847 + );
7848 + return page;
7849 + },
7850 + // e2pdf.pages.rebuildPages
7851 + rebuildPages: function () {
7852 + jQuery('.e2pdf-page').each(function (index) {
7853 + if (!e2pdf.pdf.settings.get('pdf')) {
7854 + if (index + 1 === 1) {
7855 + jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
7856 + } else {
7857 + jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
7858 + }
7859 +
7860 + if (index + 1 === jQuery('.e2pdf-page').length) {
7861 + jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
7862 + } else {
7863 + jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
7864 + }
7865 + }
7866 + jQuery(this).attr('data-page_id', index + 1);
7867 + });
7868 + e2pdf.welcomeScreen();
7869 + },
7870 + // e2pdf.pages.createPage
7871 + createPage: function (page, properties, actions, onload) {
7872 + e2pdf.pages.rebuildPages();
7873 + var newpage = true;
7874 + if (page) {
7875 + var newpage = false;
7876 + }
7877 + if (!properties) {
7878 + properties = {};
7879 + }
7880 + if (!actions) {
7881 + actions = {};
7882 + }
4119 7883 if (newpage) {
7884 + var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
7885 + var page = e2pdf.pages.source(page_id);
7886 + }
7887 + page.data('data-type', 'e2pdf-page');
7888 + e2pdf.properties.apply(page, properties, onload);
7889 + e2pdf.actions.apply(page, actions);
7890 + e2pdf.pages.initEvents(page);
7891 + if (newpage) {
7892 + if (!onload) {
7893 + var history = [];
7894 + history.push(page.clone(true));
7895 + e2pdf.history.set('element_create', history);
7896 + }
4120 7897 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
4121 7898 e2pdf.pages.rebuildPages();
4122 7899 e2pdf.event.fire('after.pages.createPage.newpage');
4123 7900 return true;
@@ -4124,11 +7901,10 @@
4124 7901 } else {
4125 7902 return false;
4126 7903 }
4127 7904 },
4128 - //e2pdf.pages.movePage
7905 + // e2pdf.pages.movePage
4129 7906 movePage: function (el, direction) {
4130 -
4131 7907 if (e2pdf.pdf.settings.get('pdf')) {
4132 7908 return false;
4133 7909 }
4134 7910 if (direction === 'up') {
@@ -4138,21 +7914,19 @@
4138 7914 }
4139 7915 e2pdf.event.fire('after.pages.movePage');
4140 7916 e2pdf.pages.rebuildPages();
4141 7917 },
4142 - //e2pdf.pages.deletePage
7918 + // e2pdf.pages.deletePage
4143 7919 deletePage: function (el) {
4144 7920 el.closest('.e2pdf-page').remove();
4145 7921 e2pdf.event.fire('after.pages.deletePage');
4146 7922 e2pdf.pages.rebuildPages();
4147 7923 },
4148 - //e2pdf.pages.changeTplSize
7924 + // e2pdf.pages.changeTplSize
4149 7925 changeTplSize: function (width, height) {
4150 7926 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
4151 7927 },
4152 7928 changePageSize: function (el, width, height) {
4153 - var set_width = true;
4154 - var set_height = true;
4155 7929 var prev_width = parseFloat(el.css('width'));
4156 7930 var prev_height = parseFloat(el.css('height'));
4157 7931 var width_diff = width / prev_width;
4158 7932 var height_diff = height / prev_height;
@@ -4158,24 +7932,13 @@
4158 7932 var height_diff = height / prev_height;
4159 7933 el.find(".e2pdf-element").each(function () {
4160 7934 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
4161 7935 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
4162 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
4163 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
4164 - if (scale === e2pdf.static.const.WIDTH) {
4165 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
4166 - set_height = false;
4167 - } else if (scale === e2pdf.static.const.HEIGHT) {
4168 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
4169 - set_width = false;
4170 - }
4171 - }
4172 -
4173 - if (set_width) {
7936 + if (jQuery(this).data('data-type') === 'e2pdf-qrcode' || (e2pdf.properties.getValue(jQuery(this), 'dimension', 'checkbox') == '1' && (jQuery(this).data('data-type') === 'e2pdf-image' || jQuery(this).data('data-type') === 'e2pdf-barcode' || jQuery(this).data('data-type') === 'e2pdf-graph' || jQuery(this).data('data-type') === 'e2pdf-signature'))) {
4174 7937 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4175 - }
4176 -
4177 - if (set_height) {
7938 + jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
7939 + } else {
7940 + jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4178 7941 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
4179 7942 }
4180 7943 });
4181 7944 el.css('width', width);
@@ -4183,27 +7946,28 @@
4183 7946 el.attr('data-width', width);
4184 7947 el.attr('data-height', height);
4185 7948 }
4186 7949 },
4187 - //e2pdf.contextMenu
7950 + // e2pdf.contextMenu
4188 7951 contextMenu: function (e, el) {
4189 7952 e2pdf.delete('.e2pdf-context');
7953 + jQuery('.e2pdf-page').css('z-index', '');
4190 7954 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
4191 7955 if (el.hasClass('e2pdf-page')) {
4192 7956 var parent = el;
4193 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
7957 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7958 + menu.find('ul.e2pdf-context-menu').append(
4194 7959 jQuery('<li>').append(
4195 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste'])
7960 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste'))
4196 7961 ),
4197 7962 jQuery('<li>').append(
4198 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-pasteinplace e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste in Place'])
7963 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements-in-place', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste in Place'))
7964 + ),
7965 + jQuery('<li>').append(
7966 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
4199 7967 )
4200 - ));
4201 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4202 - menu.find('a').attr('disabled', false);
4203 - }
7968 + );
4204 7969 } else {
4205 -
4206 7970 if (!el.hasClass('e2pdf-selected')) {
4207 7971 e2pdf.element.unselect();
4208 7972 e2pdf.element.select(el);
4209 7973 }
@@ -4208,644 +7972,1069 @@
4208 7972 e2pdf.element.select(el);
4209 7973 }
4210 7974
4211 7975 var parent = el.closest('.e2pdf-page');
7976 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7977 + if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7978 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7979 + menu.find('ul.e2pdf-context-menu').append(
7980 + jQuery('<li>').append(
7981 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7982 + ));
7983 + } else {
7984 + menu.find('ul.e2pdf-context-menu').append(
7985 + jQuery('<li>').append(
7986 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7987 + ));
7988 + }
7989 + }
4212 7990
4213 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
7991 + if (Object.keys(e2pdf.element.selected).length == 1 && (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-link' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig', 'checkbox')))) {
7992 + menu.find('ul.e2pdf-context-menu').append(
7993 + jQuery('<li>').append(
7994 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7995 + ));
7996 + }
7997 +
7998 + menu.find('ul.e2pdf-context-menu').append(
7999 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8000 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8001 + ,
8002 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
4214 8003 jQuery('<li>').append(
4215 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdfLang['Show'] : e2pdfLang['Hide'])
8004 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
4216 8005 ),
4217 8006 jQuery('<li>').append(
4218 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy'}).html(e2pdfLang['Copy'])
8007 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
4219 8008 ),
4220 8009 jQuery('<li>').append(
4221 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdfLang['Cut'])
8010 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
4222 8011 ),
4223 8012 jQuery('<li>').append(
4224 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete', }).html(e2pdfLang['Delete'])
8013 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8014 + )
8015 + )
4225 8016 ),
8017 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8018 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Lock / Hide')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8019 + ,
8020 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu'}).append(
8021 + jQuery('<li>').append(
8022 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-locked') ? 'e2pdf-unlock' : 'e2pdf-lock'}).html(el.hasClass('e2pdf-locked') ? e2pdf.lang.get('Unlock') : e2pdf.lang.get('Lock'))
8023 + ),
8024 + jQuery('<li>').append(
8025 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdf.lang.get('Unhide') : e2pdf.lang.get('Hide'))
8026 + ))
4226 8027 ));
8028 + menu.find('ul.e2pdf-context-menu').append(
8029 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8030 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Copy')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8031 + ,
8032 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-copy-menu'}).append(
8033 + jQuery('<li>').append(
8034 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'elements'}).html(Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements') : e2pdf.lang.get('Element'))
8035 + ))
8036 + ),
8037 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu e2pdf-paste-menu e2pdf-hide'}).append(
8038 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Paste')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8039 + ,
8040 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-paste-menu'})
8041 + ),
8042 + jQuery('<li>').append(
8043 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-resize'}).html(e2pdf.lang.get('Resize'))
8044 + ),
8045 + jQuery('<li>').append(
8046 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdf.lang.get('Cut'))
8047 + ),
8048 + jQuery('<li>').append(
8049 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete'}).html(e2pdf.lang.get('Delete'))
8050 + ));
8051 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('style') !== null) {
8052 + if (Object.keys(e2pdf.element.selected).length == 1) {
8053 + menu.find('ul.e2pdf-copy-menu').append(
8054 + jQuery('<li>').append(
8055 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8056 + ));
8057 + }
8058 + if (e2pdf.storage.get('style') !== null) {
8059 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8060 + menu.find('ul.e2pdf-paste-menu').append(
8061 + jQuery('<li>').append(
8062 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'style'}).html(e2pdf.lang.get('Style'))
8063 + ));
8064 + }
8065 + }
4227 8066
4228 - if (Object.keys(e2pdf.element.selected).length == 1) {
4229 - menu.find('ul').append(
4230 - jQuery('<li>').append(
4231 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4232 - ));
4233 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4234 - menu.find('ul').prepend(
8067 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8068 + if (Object.keys(e2pdf.element.selected).length == 1) {
8069 + menu.find('ul.e2pdf-copy-menu').append(
4235 8070 jQuery('<li>').append(
4236 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdfLang['Choose Image'])
8071 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
4237 8072 ));
4238 8073 }
8074 + if (e2pdf.storage.get('width') != null) {
8075 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8076 + menu.find('ul.e2pdf-paste-menu').append(
8077 + jQuery('<li>').append(
8078 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'width'}).html(e2pdf.lang.get('Width'))
8079 + ));
8080 + }
8081 + }
4239 8082
4240 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4241 - menu.find('ul').prepend(jQuery('<li>').append(
4242 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdfLang['Map Field'])
8083 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('height') != null) {
8084 +
8085 + if (Object.keys(e2pdf.element.selected).length == 1) {
8086 + menu.find('ul.e2pdf-copy-menu').append(
8087 + jQuery('<li>').append(
8088 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'height'}).html(e2pdf.lang.get('Height'))
4243 8089 ));
4244 8090 }
8091 +
8092 + if (e2pdf.storage.get('height') != null) {
8093 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8094 + menu.find('ul.e2pdf-paste-menu').append(
8095 + jQuery('<li>').append(
8096 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'height'}).html(e2pdf.lang.get('Height'))
8097 + ));
8098 + }
4245 8099 }
8100 +
8101 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('actions') !== null) {
8102 +
8103 + if (Object.keys(e2pdf.element.selected).length == 1) {
8104 + menu.find('ul.e2pdf-copy-menu').append(
8105 + jQuery('<li>').append(
8106 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8107 + ));
8108 + }
8109 +
8110 + if (e2pdf.storage.get('actions') !== null) {
8111 + menu.find('li.e2pdf-paste-menu').removeClass('e2pdf-hide');
8112 + menu.find('ul.e2pdf-paste-menu').append(
8113 + jQuery('<li>').append(
8114 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste', 'type': 'actions'}).html(e2pdf.lang.get('Actions'))
8115 + ));
8116 + }
8117 + }
8118 +
8119 + if (Object.keys(e2pdf.element.selected).length == 1) {
8120 + menu.find('ul.e2pdf-context-menu').append(
8121 + jQuery('<li>').append(
8122 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdf.lang.get('Properties'))
8123 + ));
8124 + }
4246 8125 }
4247 -
4248 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4249 - var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
8126 + parent.css('z-index', '1');
8127 + menu.hide().appendTo(parent);
8128 + var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.scale;
8129 + if ((parent.closest('.e2pdf-tpl').width() - 20 < e.pageX - parent.closest('.e2pdf-tpl').offset().left + menu.width()) && (e.pageX - parent.closest('.e2pdf-tpl').offset().left > menu.width())) {
8130 + pos_x = pos_x - (menu.width() / e2pdf.zoom.scale);
8131 + menu.find('ul.e2pdf-context-menu').addClass('e2pdf-context-right');
8132 + }
8133 + var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.scale;
8134 + if ((parent.closest('.e2pdf-tpl').height() - 20 < e.pageY - parent.closest('.e2pdf-tpl').offset().top + menu.height()) && (e.pageY - parent.closest('.e2pdf-tpl').offset().top > menu.height())) {
8135 + pos_y = pos_y - (menu.height() / e2pdf.zoom.scale);
8136 + menu.addClass('e2pdf-context-bottom');
8137 + }
4250 8138 menu.css({top: pos_y + "px", left: pos_x + "px"});
4251 - menu.appendTo(parent);
8139 + menu.show();
4252 8140 },
4253 - //e2pdf.delete
8141 + // e2pdf.delete
4254 8142 delete: function (el) {
4255 8143 jQuery(el).remove();
4256 8144 },
4257 - //e2pdf.element
8145 + // e2pdf.element
4258 8146 element: {
4259 - //e2pdf.element.buffered
4260 - buffered: [],
4261 - //e2pdf.element.selected
8147 + // e2pdf.element.selected
4262 8148 selected: [],
4263 - //e2pdf.element.init
8149 + // e2pdf.element.init
4264 8150 init: function (el) {
4265 -
4266 8151 if (el.data('data-type') === 'e2pdf-html') {
4267 - e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8152 + if (e2pdf.properties.getValue(el, 'wysiwyg_disable', 'checkbox') == '1') {
8153 + e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').val());
8154 + } else {
8155 + e2pdf.properties.set(el, 'value', el.find('.e2pdf-html').html());
8156 + }
4268 8157 } else if (el.data('data-type') === 'e2pdf-input') {
4269 8158 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4270 8159 } else if (el.data('data-type') === 'e2pdf-textarea') {
4271 8160 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4272 8161 }
4273 -
8162 + e2pdf.properties.set(el, 'width', parseFloat(el.css('width')));
8163 + e2pdf.properties.set(el, 'height', parseFloat(el.css('height')));
8164 + e2pdf.properties.set(el, 'page_id', el.closest('.e2pdf-page').attr('data-page_id'));
4274 8165 },
4275 - //e2pdf.element.create
4276 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4277 -
4278 - var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
4279 - var aspect = false;
8166 + // e2pdf.element.initEvents
8167 + initEvents: function (element, page) {
8168 + var min_width = 2;
4280 8169 var min_height = 2;
4281 - var min_width = 2;
4282 - if (!properties) {
4283 - properties = {};
8170 + if (element.data('data-type') == 'e2pdf-rectangle') {
8171 + min_height = 1;
8172 + min_width = 1;
4284 8173 }
4285 -
4286 - if (!actions) {
4287 - actions = {};
8174 + if (!page) {
8175 + page = element.closest('.e2pdf-page');
4288 8176 }
8177 + element.off('contextmenu');
8178 + element.contextmenu(function (e) {
8179 + e2pdf.contextMenu(e, element);
8180 + e.preventDefault();
8181 + });
8182 + if (element.hasClass('ui-draggable')) {
8183 + try {
8184 + element.draggable('destroy');
8185 + element.removeData('ui-draggable');
8186 + } catch (e) {
4289 8187
4290 - if (!properties['value']) {
4291 - properties['value'] = '';
4292 - }
4293 -
4294 - // Switch element types
4295 - if (type === 'e2pdf-html') {
4296 -
4297 - if (!properties['width']) {
4298 - properties['width'] = '200';
4299 - } else if (properties['width'] === 'auto') {
4300 - properties['width'] = size;
4301 8188 }
4302 -
4303 - if (!properties['height']) {
4304 - properties['height'] = size;
4305 -
4306 - } else if (properties['height'] === 'auto') {
4307 - delete properties['height'];
4308 - }
4309 -
4310 - var element =
4311 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4312 - jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4313 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4314 - );
4315 - } else if (type === 'e2pdf-input') {
4316 -
4317 - if (!properties['width'] || properties['width'] === 'auto') {
4318 - properties['width'] = '200';
4319 - }
4320 -
4321 - if (!properties['height'] || properties['height'] === 'auto') {
4322 - properties['height'] = size;
4323 - }
4324 -
4325 - var element =
4326 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4327 - jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4328 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4329 - );
4330 - } else if (type === 'e2pdf-textarea') {
4331 -
4332 - if (!properties['width'] || properties['width'] === 'auto') {
4333 - properties['width'] = '200';
4334 - }
4335 -
4336 - if (!properties['height'] || properties['height'] === 'auto') {
4337 - properties['height'] = '100';
4338 - }
4339 -
4340 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4341 - jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4342 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4343 - );
4344 - } else if (type === 'e2pdf-checkbox') {
4345 -
4346 - if (!properties['width'] || properties['width'] === 'auto') {
4347 - properties['width'] = size;
4348 - }
4349 -
4350 - if (!properties['height'] || properties['height'] === 'auto') {
4351 - properties['height'] = size;
4352 - }
4353 -
4354 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4355 - jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4356 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4357 - );
4358 - } else if (type === 'e2pdf-radio') {
4359 -
4360 - if (!properties['width'] || properties['width'] === 'auto') {
4361 - properties['width'] = size;
4362 - }
4363 -
4364 - if (!properties['height'] || properties['height'] === 'auto') {
4365 - properties['height'] = size;
4366 - }
4367 -
4368 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4369 - jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4370 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4371 - );
4372 - var aspect = false;
4373 - } else if (type === 'e2pdf-select') {
4374 -
4375 - if (!properties['width'] || properties['width'] === 'auto') {
4376 - properties['width'] = '200';
4377 - }
4378 -
4379 - if (!properties['height'] || properties['height'] === 'auto') {
4380 - properties['height'] = size;
4381 - }
4382 -
4383 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4384 - jQuery('<select>', {'class': 'e2pdf-select'}).append(
4385 - ),
4386 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4387 - );
4388 - } else if (type === 'e2pdf-image') {
4389 -
4390 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4391 - jQuery('<img>', {'class': 'e2pdf-image'}),
4392 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4393 - );
4394 - } else if (type === 'e2pdf-rectangle') {
4395 -
4396 - if (!properties['width'] || properties['width'] === 'auto') {
4397 - properties['width'] = '200';
4398 - }
4399 -
4400 - if (!properties['height'] || properties['height'] === 'auto') {
4401 - properties['height'] = '5';
4402 - }
4403 -
4404 - var min_height = 1;
4405 - var min_width = 1;
4406 - var element =
4407 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4408 - jQuery('<div>', {'class': 'content e2pdf-rectangle'}),
4409 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4410 - );
4411 - } else if (type === 'e2pdf-link') {
4412 -
4413 - if (!properties['width'] || properties['width'] === 'auto') {
4414 - properties['width'] = '200';
4415 - }
4416 -
4417 - if (!properties['height'] || properties['height'] === 'auto') {
4418 - properties['height'] = size;
4419 - }
4420 -
4421 - var element =
4422 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4423 - jQuery('<div>', {'class': 'content e2pdf-link'}),
4424 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4425 - );
4426 - } else if (type === 'e2pdf-signature') {
4427 -
4428 - if (!properties['width'] || properties['width'] === 'auto') {
4429 - properties['width'] = '200';
4430 - }
4431 -
4432 - if (!properties['height'] || properties['height'] === 'auto') {
4433 - properties['height'] = size;
4434 - }
4435 -
4436 - if (!properties['dimension']) {
4437 - if (default_properties) {
4438 - properties['dimension'] = '1';
4439 - }
4440 - }
4441 -
4442 - var element =
4443 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4444 - jQuery('<div>', {'class': 'content e2pdf-signature'}),
4445 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4446 - );
4447 8189 }
4448 -
4449 - // If element exists
4450 - if (typeof element !== "undefined") {
4451 - element.contextmenu(function (e) {
4452 - e2pdf.contextMenu(e, element);
4453 - e.preventDefault();
4454 - });
4455 - if (!element_id) {
4456 - var last_id = 0;
4457 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4458 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4459 - if (num_id > last_id) {
4460 - last_id = num_id;
8190 + element.draggable({
8191 + cancel: '.no-drag',
8192 + handle: '.e2pdf-drag',
8193 + containment: jQuery(page),
8194 + stop: function (ev, ui) {
8195 + var page = jQuery(this).closest('.e2pdf-page');
8196 + for (var key in e2pdf.element.selected) {
8197 + var selected = e2pdf.element.selected[key];
8198 + if (selected.hasClass('e2pdf-width-auto')) {
8199 + selected.css({'width': 'auto'});
4461 8200 }
4462 - });
4463 - element_id = parseInt(last_id + 1);
4464 - }
4465 - element.addClass('e2pdf-element');
4466 - element.attr('data-element_id', element_id);
4467 - if (type === 'e2pdf-select') {
4468 - if (!properties['options']) {
4469 - if (default_properties) {
4470 - properties['options'] = '';
8201 + if (selected.hasClass('e2pdf-height-auto')) {
8202 + selected.css({'height': 'auto'});
4471 8203 }
8204 + e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.getFloat(selected.css('top'))));
8205 + e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.getFloat(selected.css('left'))));
4472 8206 }
4473 - }
4474 -
4475 - if (!properties['z_index']) {
4476 - properties['z_index'] = '0';
4477 - }
4478 -
4479 - if (type === 'e2pdf-input'
4480 - || type === 'e2pdf-textarea'
4481 - || type === 'e2pdf-select'
4482 - || type === 'e2pdf-radio'
4483 - || type === 'e2pdf-checkbox'
4484 - ) {
4485 - if (!properties['border']) {
4486 - if (default_properties) {
4487 - properties['border'] = '1';
8207 + jQuery('.page-options-icons').css('z-index', '');
8208 + e2pdf.event.fire('after.element.moved');
8209 + e2pdf.element.unselect();
8210 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8211 + },
8212 + drag: function (ev, ui) {
8213 + var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.scale;
8214 + var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.scale;
8215 + left = Math.min(left, e2pdf.static.drag.max_left);
8216 + top = Math.min(top, e2pdf.static.drag.max_top);
8217 + ui.position = {
8218 + left: Math.max(e2pdf.static.drag.min_left, left),
8219 + top: Math.max(e2pdf.static.drag.min_top, top)
8220 + };
8221 + var diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8222 + var diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8223 + for (var key in e2pdf.element.selected) {
8224 + var selected = e2pdf.element.selected[key];
8225 + if (!selected.is(jQuery(this))) {
8226 + selected.finish().animate({
8227 + left: e2pdf.properties.getValue(selected, 'left', 'float') + diff_left,
8228 + top: e2pdf.properties.getValue(selected, 'top', 'float') + diff_top
8229 + }, 0);
4488 8230 }
4489 8231 }
4490 - }
4491 -
4492 - if (type === 'e2pdf-image'
4493 - || type === 'e2pdf-signature') {
4494 - if (!properties['scale']) {
4495 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4496 - }
4497 - if (!properties['horizontal']) {
4498 - properties['horizontal'] = 'left';
4499 - }
4500 - if (!properties['vertical']) {
4501 - properties['vertical'] = 'bottom';
4502 - }
4503 - }
4504 -
4505 - if (type === 'e2pdf-html'
4506 - || type === 'e2pdf-image'
4507 - || type === 'e2pdf-signature'
4508 - ) {
4509 -
4510 - if (!properties['border_top']) {
4511 - properties['border_top'] = '0';
4512 - }
4513 -
4514 - if (!properties['border_left']) {
4515 - properties['border_left'] = '0';
4516 - }
4517 -
4518 - if (!properties['border_right']) {
4519 - properties['border_right'] = '0';
4520 - }
4521 -
4522 - if (!properties['border_bottom']) {
4523 - properties['border_bottom'] = '0';
4524 - }
4525 -
4526 - if (!properties['padding_top']) {
4527 - properties['padding_top'] = '0';
4528 - }
4529 -
4530 - if (!properties['padding_left']) {
4531 - properties['padding_left'] = '0';
4532 - }
4533 -
4534 - if (!properties['padding_right']) {
4535 - properties['padding_right'] = '0';
4536 - }
4537 -
4538 - if (!properties['padding_bottom']) {
4539 - properties['padding_bottom'] = '0';
4540 - }
4541 - }
4542 -
4543 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4544 - if (!properties['length']) {
4545 - properties['length'] = '0';
4546 - }
4547 - }
4548 -
4549 - if (type !== 'e2pdf-rectangle') {
4550 - if (!properties['border_color']) {
4551 - properties['border_color'] = '#000000';
4552 - }
4553 - }
4554 -
4555 - if (type !== 'e2pdf-image') {
4556 -
4557 - if (!properties['text_color']) {
4558 - properties['text_color'] = '';
4559 - }
4560 -
4561 - if (!properties['text_font']) {
4562 - properties['text_font'] = '';
4563 - }
4564 -
4565 - if (!properties['text_font_size']) {
4566 - properties['text_font_size'] = '';
4567 - }
4568 -
4569 - if (!properties['text_line_height']) {
4570 - properties['text_line_height'] = '';
4571 - }
4572 - }
4573 -
4574 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4575 - if (!properties['option']) {
4576 - if (default_properties) {
4577 - properties['option'] = "option" + element_id;
8232 + var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8233 + var w = parseFloat(jQuery(this).css('width'));
8234 + var h = parseFloat(jQuery(this).css('height'));
8235 + var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
8236 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8237 + jQuery.each(el_guides, function (i, elemGuide) {
8238 + if (guide.type == elemGuide.type) {
8239 + var prop = guide.type == "h" ? "top" : "left";
8240 + var d = Math.abs(elemGuide[prop] - guide[prop]);
8241 + if (d < guides[prop].dist) {
8242 + guides[prop].dist = d;
8243 + guides[prop].offset = elemGuide[prop] - ui.position[prop];
8244 + guides[prop].guide = guide;
8245 + }
8246 + }
8247 + });
8248 + });
8249 + if (guides.top.dist <= e2pdf.static.guide.distance) {
8250 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
8251 + var snap_top = guides.top.guide.top - guides.top.offset;
8252 + if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
8253 + ui.position.top = snap_top;
8254 + var guide_diff_top = ui.position.top - e2pdf.properties.getValue(jQuery(this), 'top', 'float');
8255 + for (var key in e2pdf.element.selected) {
8256 + var selected = e2pdf.element.selected[key];
8257 + if (!selected.is(jQuery(this))) {
8258 + selected.finish().animate({
8259 + top: e2pdf.properties.getValue(selected, 'top', 'float') + guide_diff_top
8260 + }, 0);
8261 + }
8262 + }
4578 8263 }
8264 + } else {
8265 + jQuery('.e2pdf-guide-h').hide();
4579 8266 }
4580 -
4581 - if (!properties['text_type']) {
4582 - if (default_properties) {
4583 - if (type === 'e2pdf-radio') {
4584 - properties['text_type'] = 'circle';
4585 - } else if (type === 'e2pdf-checkbox') {
4586 - properties['text_type'] = 'check';
8267 + if (guides.left.dist <= e2pdf.static.guide.distance) {
8268 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8269 + var snap_left = guides.left.guide.left - guides.left.offset;
8270 + if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8271 + ui.position.left = snap_left;
8272 + var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8273 + for (var key in e2pdf.element.selected) {
8274 + var selected = e2pdf.element.selected[key];
8275 + if (!selected.is(jQuery(this))) {
8276 + selected.finish().animate({
8277 + left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8278 + }, 0);
8279 + }
4587 8280 }
4588 8281 }
8282 + } else {
8283 + jQuery('.e2pdf-guide-v').hide();
4589 8284 }
4590 - }
4591 -
4592 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4593 - if (!properties['text_align']) {
4594 - properties['text_align'] = 'left';
8285 + },
8286 + start: function (ev, ui) {
8287 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8288 + return false;
4595 8289 }
4596 - }
4597 -
4598 - if (type === 'e2pdf-radio') {
4599 - if (!properties['group']) {
4600 - if (default_properties) {
4601 - properties['group'] = "group";
8290 + e2pdf.element.select(jQuery(this));
8291 + e2pdf.static.drag.min_left = 0;
8292 + e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
8293 + e2pdf.static.drag.min_top = 0;
8294 + e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
8295 + var history = [];
8296 + for (var key in e2pdf.element.selected) {
8297 + var selected = e2pdf.element.selected[key];
8298 + history.push(selected.clone(true));
8299 + if (selected.hasClass('e2pdf-width-auto')) {
8300 + selected.css({"width": "auto"});
4602 8301 }
4603 - }
4604 - }
4605 -
4606 - element.data('data-type', type);
4607 - if (properties['width']) {
4608 - element.css({"width": properties['width']});
4609 - }
4610 -
4611 - if (properties['height']) {
4612 - element.css({"height": properties['height']});
4613 - }
4614 -
4615 - if (type === 'e2pdf-rectangle') {
4616 - if (!properties['background']) {
4617 - if (default_properties) {
4618 - properties['background'] = '#000000';
8302 + if (selected.hasClass('e2pdf-height-auto')) {
8303 + selected.css({"height": "auto"});
4619 8304 }
8305 + var padding_top = e2pdf.helper.getFloat(selected.css('padding-top'));
8306 + var padding_left = e2pdf.helper.getFloat(selected.css('padding-left'));
8307 + var padding_right = e2pdf.helper.getFloat(selected.css('padding-right'));
8308 + var padding_bottom = e2pdf.helper.getFloat(selected.css('padding-bottom'));
8309 + var border_top = e2pdf.helper.getFloat(selected.css('border-top-width'));
8310 + var border_left = e2pdf.helper.getFloat(selected.css('border-left-width'));
8311 + var border_right = e2pdf.helper.getFloat(selected.css('border-right-width'));
8312 + var border_bottom = e2pdf.helper.getFloat(selected.css('border-bottom-width'));
8313 + e2pdf.static.drag.min_left = Math.max(e2pdf.properties.getValue(jQuery(this), 'left', 'float') - e2pdf.properties.getValue(selected, 'left', 'float'), e2pdf.static.drag.min_left);
8314 + e2pdf.static.drag.min_top = Math.max(e2pdf.properties.getValue(jQuery(this), 'top', 'float') - e2pdf.properties.getValue(selected, 'top', 'float'), e2pdf.static.drag.min_top);
8315 + e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (e2pdf.properties.getValue(jQuery(this), 'left', 'float') - e2pdf.properties.getValue(selected, 'left', 'float')), e2pdf.static.drag.max_left);
8316 + e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (e2pdf.properties.getValue(jQuery(this), 'top', 'float') - e2pdf.properties.getValue(selected, 'top', 'float')), e2pdf.static.drag.max_top);
4620 8317 }
8318 + e2pdf.history.set('element_change', history);
8319 + e2pdf.zoom.click.x = ev.clientX;
8320 + e2pdf.zoom.click.y = ev.clientY;
8321 + jQuery('.page-options-icons').css('z-index', -1);
4621 8322 }
8323 + });
8324 + if (element.hasClass('e2pdf-resizable')) {
8325 + if (element.hasClass('ui-resizable')) {
8326 + try {
8327 + element.resizable('destroy');
8328 + element.removeData('ui-resizable');
8329 + } catch (e) {
4622 8330
4623 - if (type === 'e2pdf-link') {
4624 - if (!properties['highlight']) {
4625 - properties['highlight'] = 'none';
4626 8331 }
4627 8332 }
4628 -
4629 - if (properties['top'] && properties['left']) {
4630 - element.css({"top": properties['top'], "left": properties['left']});
4631 - }
4632 -
4633 - element.css({"position": "absolute"});
4634 - e2pdf.properties.apply(element, properties);
4635 - e2pdf.actions.apply(element, actions);
4636 - // If element draggable
4637 - element.draggable({
4638 - cancel: '.no-drag',
4639 - handle: ".e2pdf-drag",
4640 - containment: jQuery(page),
4641 - stop: function (ev, ui) {
4642 - var page = jQuery(this).closest('.e2pdf-page');
4643 - for (var key in e2pdf.element.selected) {
4644 - var selected = e2pdf.element.selected[key];
4645 - if (selected.hasClass('e2pdf-width-auto')) {
4646 - selected.css({'width': 'auto'});
8333 + element.resizable({
8334 + handles: 'n, e, s, w, ne, se, sw, nw',
8335 + aspectRatio: false,
8336 + minHeight: min_height,
8337 + minWidth: min_width,
8338 + start: function (ev, ui) {
8339 + var _process = function (el, resize) {
8340 + var left = e2pdf.helper.getFloat(el.css('left'));
8341 + var top = e2pdf.helper.getFloat(el.css('top'));
8342 + var page_width = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('width'));
8343 + var page_height = e2pdf.helper.getFloat(el.closest('.e2pdf-page').css('height'));
8344 + var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
8345 + var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
8346 + var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
8347 + var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
8348 + var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
8349 + var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
8350 + var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
8351 + var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
8352 + var width = e2pdf.helper.getFloat(el.css('width'));
8353 + var height = e2pdf.helper.getFloat(el.css('height'));
8354 + el.resizable("option", "maxWidth", page_width - left);
8355 + el.resizable("option", "maxHeight", page_height - top);
8356 + if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-w') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-sw')) {
8357 + el.resizable("option", "maxWidth", left + width);
8358 + } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-n') || jQuery(ev.originalEvent.target).hasClass('ui-resizable-ne')) {
8359 + el.resizable("option", "maxHeight", top + height);
8360 + } else if (jQuery(ev.originalEvent.target).hasClass('ui-resizable-nw')) {
8361 + el.resizable("option", "maxWidth", left + width);
8362 + el.resizable("option", "maxHeight", top + height);
4647 8363 }
4648 - if (selected.hasClass('e2pdf-height-auto')) {
4649 - selected.css({'height': 'auto'});
8364 + if (resize) {
8365 + ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
8366 + ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4650 8367 }
4651 -
4652 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.pxToFloat(selected.css('top'))));
4653 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.pxToFloat(selected.css('left'))));
4654 - }
4655 -
4656 - jQuery('.page-options-icons').css('z-index', '');
4657 - e2pdf.event.fire('after.element.moved');
4658 - e2pdf.element.unselect();
4659 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
8368 + };
8369 + _process(jQuery(this), true);
8370 + e2pdf.zoom.click.x = ev.clientX;
8371 + e2pdf.zoom.click.y = ev.clientY;
8372 + var history = [];
8373 + history.push(jQuery(this).clone(true));
8374 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8375 + var selected = jQuery(this);
8376 + history.push(selected.clone(true));
8377 + var width = e2pdf.helper.getFloat(selected.css('width'));
8378 + var height = e2pdf.helper.getFloat(selected.css('height'));
8379 + selected.data("ui-resizable-alsoresize", {
8380 + width: width,
8381 + height: height,
8382 + left: e2pdf.helper.getFloat(selected.css('left')),
8383 + top: e2pdf.helper.getFloat(selected.css('top'))
8384 + });
8385 + _process(jQuery(this), false);
8386 + });
8387 + e2pdf.history.set('element_change', history);
8388 + e2pdf.static.guide.guides = jQuery.map(jQuery(this).closest('.e2pdf-page').find('.e2pdf-element').not('.e2pdf-selected'), e2pdf.guide.calc);
8389 + e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this).closest('.e2pdf-page'), null, null, null, false));
4660 8390 },
4661 - drag: function (ev, ui) {
4662 -
4663 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4664 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4665 -
4666 - left = Math.min(left, e2pdf.static.drag.max_left);
4667 - top = Math.min(top, e2pdf.static.drag.max_top);
4668 -
4669 - ui.position = {
4670 - left: Math.max(e2pdf.static.drag.min_left, left),
4671 - top: Math.max(e2pdf.static.drag.min_top, top)
4672 - };
4673 -
4674 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4675 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4676 - for (var key in e2pdf.element.selected) {
4677 - var selected = e2pdf.element.selected[key];
4678 - if (!selected.is(jQuery(this))) {
4679 - selected.finish().animate({
4680 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4681 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4682 - }, 0);
8391 + resize: function (ev, ui) {
8392 + if (jQuery(this).data('uiResizable')._aspectRatio && ui.element.data("ui-resizable") && typeof ui.element.data("ui-resizable").axis != 'undefined') {
8393 + var axis = ui.element.data("ui-resizable").axis;
8394 + if (axis != 'nw' && axis != 'sw') {
8395 + ui.size.width += jQuery(ui.element).outerWidth() - jQuery(ui.element).width();
8396 + ui.size.height += jQuery(ui.element).outerHeight() - jQuery(ui.element).height();
4683 8397 }
4684 8398 }
4685 -
4686 - var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
8399 + var delta = {
8400 + height: (jQuery(ui.element).outerHeight() - ui.originalSize.height) || 0,
8401 + width: (jQuery(ui.element).outerWidth() - ui.originalSize.width) || 0,
8402 + top: (ui.position.top - ui.originalPosition.top) || 0,
8403 + left: (ui.position.left - ui.originalPosition.left) || 0
8404 + };
8405 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8406 + var el = jQuery(this), start = jQuery(this).data("ui-resizable-alsoresize");
8407 + var style = {};
8408 + var css = ["width", "height", "top", "left"];
8409 + jQuery.each(css, function (i, prop) {
8410 + var sum = (start[prop] || 0) + (delta[prop] || 0);
8411 + if (sum) {
8412 + if (prop == 'width') {
8413 + if (sum >= 0 && sum <= el.resizable("option", "maxWidth")) {
8414 + style[prop] = sum;
8415 + }
8416 + } else if (prop == 'height') {
8417 + if (sum >= 0 && sum <= el.resizable("option", "maxHeight")) {
8418 + style[prop] = sum;
8419 + }
8420 + } else if (prop == 'left') {
8421 + if (sum >= 0) {
8422 + style[prop] = sum;
8423 + }
8424 + } else if (prop == 'top') {
8425 + if (sum >= 0) {
8426 + style[prop] = sum;
8427 + }
8428 + }
8429 + }
8430 + });
8431 + el.css(style);
8432 + });
8433 + var handle = ui.element.data("ui-resizable").axis;
8434 + jQuery('.e2pdf-guide-h, .e2pdf-guide-v').hide();
4687 8435 var w = parseFloat(jQuery(this).css('width'));
4688 8436 var h = parseFloat(jQuery(this).css('height'));
4689 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4690 -
4691 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4692 - jQuery.each(el_guides, function (i, elemGuide) {
4693 - if (guide.type == elemGuide.type) {
4694 - var prop = guide.type == "h" ? "top" : "left";
4695 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4696 - if (d < guides[prop].dist) {
4697 - guides[prop].dist = d;
4698 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4699 - guides[prop].guide = guide;
8437 + if (handle.indexOf('n') !== -1 || handle.indexOf('s') !== -1) {
8438 + var hGuides = {dist: e2pdf.static.guide.distance + 1};
8439 + var hPosition = ui.position.top;
8440 + var hEdgeValue = ui.position.top;
8441 + if (handle.indexOf('s') !== -1) {
8442 + hEdgeValue = ui.position.top + h;
8443 + }
8444 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8445 + if (guide.type == "h") {
8446 + var d = Math.abs(hEdgeValue - guide.top);
8447 + if (d < hGuides.dist) {
8448 + hGuides.dist = d;
8449 + hGuides.guide = guide;
8450 + hGuides.offset = hEdgeValue - hPosition;
4700 8451 }
4701 8452 }
4702 8453 });
4703 - });
4704 -
4705 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4706 -
4707 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4708 -
4709 - var snap_top = guides.top.guide.top - guides.top.offset;
4710 -
4711 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4712 - ui.position.top = snap_top;
4713 -
4714 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4715 -
4716 - for (var key in e2pdf.element.selected) {
4717 - var selected = e2pdf.element.selected[key];
4718 - if (!selected.is(jQuery(this))) {
4719 - selected.finish().animate({
4720 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4721 - }, 0);
8454 + if (hGuides.dist <= e2pdf.static.guide.distance) {
8455 + jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-h').css('top', hGuides.guide.top).show();
8456 + var snap_top = hGuides.guide.top - hGuides.offset;
8457 + if (handle.indexOf('n') !== -1) {
8458 + var heightDiff = ui.position.top - snap_top;
8459 + ui.position.top = snap_top;
8460 + ui.size.height += heightDiff;
8461 + } else if (handle.indexOf('s') !== -1) {
8462 + var newHeight = hGuides.guide.top - ui.position.top;
8463 + if (newHeight >= ui.element.resizable('option', 'minHeight')) {
8464 + ui.size.height = newHeight;
4722 8465 }
4723 8466 }
4724 8467 }
4725 - } else {
4726 - jQuery(".e2pdf-guide-h").hide();
4727 8468 }
4728 -
4729 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4730 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4731 -
4732 - var snap_left = guides.left.guide.left - guides.left.offset;
4733 -
4734 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4735 - ui.position.left = snap_left;
4736 -
4737 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4738 -
4739 - for (var key in e2pdf.element.selected) {
4740 - var selected = e2pdf.element.selected[key];
4741 - if (!selected.is(jQuery(this))) {
4742 - selected.finish().animate({
4743 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4744 - }, 0);
8469 + if (handle.indexOf('w') !== -1 || handle.indexOf('e') !== -1) {
8470 + var vGuides = {dist: e2pdf.static.guide.distance + 1};
8471 + var vPosition = ui.position.left;
8472 + var vEdgeValue = ui.position.left;
8473 + if (handle.indexOf('e') !== -1) {
8474 + vEdgeValue = ui.position.left + w;
8475 + }
8476 + jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
8477 + if (guide.type == "v") {
8478 + var d = Math.abs(vEdgeValue - guide.left);
8479 + if (d < vGuides.dist) {
8480 + vGuides.dist = d;
8481 + vGuides.guide = guide;
8482 + vGuides.offset = vEdgeValue - vPosition;
4745 8483 }
4746 8484 }
8485 + });
8486 + if (vGuides.dist <= e2pdf.static.guide.distance) {
8487 + jQuery(this).closest('.e2pdf-page').find('.e2pdf-guide-v').css('left', vGuides.guide.left).show();
8488 + var snap_left = vGuides.guide.left - vGuides.offset;
8489 + if (handle.indexOf('w') !== -1) {
8490 + var widthDiff = ui.position.left - snap_left;
8491 + ui.position.left = snap_left;
8492 + ui.size.width += widthDiff;
8493 + } else if (handle.indexOf('e') !== -1) {
8494 + var newWidth = vGuides.guide.left - ui.position.left;
8495 + if (newWidth >= ui.element.resizable('option', 'minWidth')) {
8496 + ui.size.width = newWidth;
8497 + }
8498 + }
4747 8499 }
4748 - } else {
4749 - jQuery(".e2pdf-guide-v").hide();
4750 8500 }
4751 -
4752 8501 },
4753 - start: function (ev, ui) {
4754 -
4755 - e2pdf.element.select(jQuery(this));
4756 -
4757 - e2pdf.static.drag.min_left = 0;
4758 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4759 - e2pdf.static.drag.min_top = 0;
4760 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4761 -
4762 - for (var key in e2pdf.element.selected) {
4763 - var selected = e2pdf.element.selected[key];
4764 -
4765 - if (selected.hasClass('e2pdf-width-auto')) {
4766 - selected.css({"width": "auto"});
8502 + stop: function (event, ui) {
8503 + ui.size.width = Math.round(ui.size.width);
8504 + ui.size.height = Math.round(ui.size.height);
8505 + var _process = function (el, width, height) {
8506 + if (el.data('data-type') === 'e2pdf-signature' || el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-qrcode' || el.data('data-type') === 'e2pdf-graph') {
8507 + width += el.outerWidth() - el.width();
8508 + height += el.outerWidth() - el.width();
4767 8509 }
4768 -
4769 - if (selected.hasClass('e2pdf-height-auto')) {
4770 - selected.css({"height": "auto"});
8510 + e2pdf.properties.set(el, 'width', width);
8511 + e2pdf.properties.set(el, 'height', height);
8512 + e2pdf.properties.set(el, 'top', Math.max(0, e2pdf.helper.getFloat(el.css('top'))));
8513 + e2pdf.properties.set(el, 'left', Math.max(0, e2pdf.helper.getFloat(el.css('left'))));
8514 + if (el.data('data-type') === 'e2pdf-signature' || el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-qrcode' || el.data('data-type') === 'e2pdf-graph') {
8515 + e2pdf.properties.render(el);
4771 8516 }
8517 + };
8518 + _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8519 + jQuery('.e2pdf-selected').not(jQuery(this)).each(function () {
8520 + _process(jQuery(this), jQuery(this).width(), jQuery(this).height());
8521 + jQuery(this).removeData("resizable-alsoresize");
8522 + });
8523 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
8524 + }
8525 + });
8526 + }
8527 + },
8528 + // e2pdf.element.create
8529 + create: function (type, page, properties, actions, default_properties, onload, element_id) {
8530 + var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
8531 + var min_height = 2;
8532 + var min_width = 2;
8533 + if (!properties) {
8534 + properties = {};
8535 + }
8536 + if (!actions) {
8537 + actions = {};
8538 + }
8539 + switch (type) {
8540 + case 'e2pdf-input':
8541 + if (default_properties) {
8542 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8543 + properties['width'] = '200';
8544 + }
8545 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8546 + properties['height'] = size;
8547 + }
8548 + if (!properties.hasOwnProperty('border')) {
8549 + properties['border'] = '1';
8550 + }
8551 + if (!properties.hasOwnProperty('border_color')) {
8552 + properties['border_color'] = '#000000';
8553 + }
8554 + }
8555 + var element =
8556 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8557 + jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8558 + jQuery('<i>', {'class': 'e2pdf-drag'})
8559 + );
8560 + break;
8561 + case 'e2pdf-textarea':
8562 + if (default_properties) {
8563 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8564 + properties['width'] = '200';
8565 + }
8566 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8567 + properties['height'] = '100';
8568 + }
8569 + if (!properties.hasOwnProperty('border')) {
8570 + properties['border'] = '1';
8571 + }
8572 + if (!properties.hasOwnProperty('border_color')) {
8573 + properties['border_color'] = '#000000';
8574 + }
8575 + }
8576 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8577 + jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea e2pdf-inner-element'}).val(properties['value'] ? properties['value'] : ''),
8578 + jQuery('<i>', {'class': 'e2pdf-drag'})
8579 + );
8580 + break;
8581 + case 'e2pdf-checkbox':
8582 + if (default_properties) {
8583 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8584 + properties['width'] = size;
8585 + }
8586 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8587 + properties['height'] = size;
8588 + }
8589 + if (!properties.hasOwnProperty('option')) {
8590 + properties['option'] = 'option';
8591 + }
8592 + if (!properties.hasOwnProperty('border')) {
8593 + properties['border'] = '1';
8594 + }
8595 + if (!properties.hasOwnProperty('border_color')) {
8596 + properties['border_color'] = '#000000';
8597 + }
8598 + }
8599 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8600 + jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox e2pdf-inner-element'}),
8601 + jQuery('<i>', {'class': 'e2pdf-drag'})
8602 + );
8603 + break;
8604 + case 'e2pdf-radio':
8605 + if (default_properties) {
8606 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8607 + properties['width'] = size;
8608 + }
8609 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8610 + properties['height'] = size;
8611 + }
8612 + if (!properties.hasOwnProperty('group')) {
8613 + properties['group'] = 'group';
8614 + }
8615 + if (!properties.hasOwnProperty('option')) {
8616 + properties['option'] = 'option';
8617 + }
8618 + if (!properties.hasOwnProperty('border')) {
8619 + properties['border'] = '1';
8620 + }
8621 + if (!properties.hasOwnProperty('border_color')) {
8622 + properties['border_color'] = '#000000';
8623 + }
8624 + if (!properties.hasOwnProperty('text_type')) {
8625 + properties['text_type'] = 'circle';
8626 + }
4772 8627
4773 - var padding_top = e2pdf.helper.pxToFloat(selected.css('padding-top'));
4774 - var padding_left = e2pdf.helper.pxToFloat(selected.css('padding-left'));
4775 - var padding_right = e2pdf.helper.pxToFloat(selected.css('padding-right'));
4776 - var padding_bottom = e2pdf.helper.pxToFloat(selected.css('padding-bottom'));
4777 - var border_top = e2pdf.helper.pxToFloat(selected.css('border-top-width'));
4778 - var border_left = e2pdf.helper.pxToFloat(selected.css('border-left-width'));
4779 - var border_right = e2pdf.helper.pxToFloat(selected.css('border-right-width'));
4780 - var border_bottom = e2pdf.helper.pxToFloat(selected.css('border-bottom-width'));
4781 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4782 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4783 - 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);
4784 - 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);
8628 + }
8629 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8630 + jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio e2pdf-inner-element'}),
8631 + jQuery('<i>', {'class': 'e2pdf-drag'})
8632 + );
8633 + break;
8634 + case 'e2pdf-select':
8635 + if (default_properties) {
8636 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8637 + properties['width'] = '200';
4785 8638 }
8639 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8640 + properties['height'] = size;
8641 + }
8642 + if (!properties.hasOwnProperty('options')) {
8643 + properties['options'] = '';
8644 + }
8645 + if (!properties.hasOwnProperty('border')) {
8646 + properties['border'] = '1';
8647 + }
8648 + if (!properties.hasOwnProperty('border_color')) {
8649 + properties['border_color'] = '#000000';
8650 + }
8651 + }
8652 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8653 + jQuery('<select>', {'class': 'e2pdf-select e2pdf-inner-element'}).append(
8654 + ),
8655 + jQuery('<i>', {'class': 'e2pdf-drag'})
8656 + );
8657 + break;
8658 + case 'e2pdf-signature':
8659 + if (default_properties) {
8660 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8661 + properties['width'] = '200';
8662 + }
8663 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8664 + properties['height'] = '75';
8665 + }
8666 + if (!properties.hasOwnProperty('vertical')) {
8667 + properties['vertical'] = 'bottom';
8668 + }
8669 + if (!properties.hasOwnProperty('block_dimension')) {
8670 + properties['block_dimension'] = '1';
8671 + }
8672 + if (!properties.hasOwnProperty('dimension')) {
8673 + properties['dimension'] = '1';
8674 + }
8675 + if (!properties.hasOwnProperty('opacity')) {
8676 + properties['opacity'] = '1';
8677 + }
8678 + } else {
8679 + // backward compatibility
8680 + if (!properties.hasOwnProperty('opacity')) {
8681 + properties['opacity'] = '1';
8682 + }
8683 + }
8684 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable'}).append(
8685 + jQuery('<img>', {'class': 'e2pdf-signature e2pdf-inner-element'}),
8686 + jQuery('<i>', {'class': 'e2pdf-drag'})
8687 + );
8688 + break;
8689 + case 'e2pdf-html':
8690 + if (default_properties) {
8691 + if (!properties.hasOwnProperty('width')) {
8692 + properties['width'] = '200';
8693 + } else if (properties['width'] === 'auto') {
8694 + properties['width'] = size;
8695 + }
8696 + if (!properties.hasOwnProperty('height')) {
8697 + properties['height'] = size;
8698 + } else if (properties['height'] === 'auto') {
8699 + delete properties['height'];
8700 + }
8701 + if (!properties.hasOwnProperty('html_worker')) {
8702 + properties['html_worker'] = '1';
8703 + }
8704 + if (!properties.hasOwnProperty('css_priority')) {
8705 + properties['css_priority'] = '1';
8706 + }
8707 + }
8708 + if (properties['wysiwyg_disable'] == '1') {
8709 + var element =
8710 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8711 + jQuery('<textarea>', {'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? properties['value'] : ''),
8712 + jQuery('<i>', {'class': 'e2pdf-drag'})
8713 + );
8714 + } else {
8715 + var element =
8716 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8717 + jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html e2pdf-inner-element'}).html(properties['value'] ? e2pdf.helper.sanitizeHTML(properties['value']) : ''),
8718 + jQuery('<i>', {'class': 'e2pdf-drag'})
8719 + );
8720 + }
8721 + break;
8722 + case 'e2pdf-image':
8723 + if (default_properties) {
8724 + if (!properties.hasOwnProperty('dimension')) {
8725 + properties['dimension'] = '1';
8726 + }
8727 + if (!properties.hasOwnProperty('opacity')) {
8728 + properties['opacity'] = '1';
8729 + }
8730 + if (!properties.hasOwnProperty('block_dimension')) {
8731 + properties['block_dimension'] = '1';
8732 + }
8733 + if (!properties.hasOwnProperty('vertical')) {
8734 + properties['vertical'] = 'bottom';
8735 + }
8736 + if (!properties.hasOwnProperty('pdf_resample')) {
8737 + properties['pdf_resample'] = '-1';
8738 + }
8739 + } else {
8740 + // backward compatibility
8741 + if (!properties.hasOwnProperty('block_dimension') && properties.hasOwnProperty('scale') && (properties['scale'] == '1' || properties['scale'] == '2')) {
8742 + properties['block_dimension'] = '1';
8743 + }
8744 + if (!properties.hasOwnProperty('opacity')) {
8745 + properties['opacity'] = '1';
8746 + }
8747 + if (!properties.hasOwnProperty('pdf_resample')) {
8748 + properties['pdf_resample'] = '150';
8749 + }
8750 + }
8751 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8752 + jQuery('<img>', {'class': 'e2pdf-image e2pdf-inner-element'}),
8753 + jQuery('<i>', {'class': 'e2pdf-drag'})
8754 + );
8755 + break;
8756 + case 'e2pdf-rectangle':
8757 + if (default_properties) {
8758 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8759 + properties['width'] = '200';
8760 + }
8761 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8762 + properties['height'] = '5';
8763 + }
8764 + if (!properties.hasOwnProperty('background')) {
8765 + properties['background'] = '#000000';
8766 + }
8767 + }
8768 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8769 + jQuery('<div>', {'class': 'content e2pdf-rectangle e2pdf-inner-element'}),
8770 + jQuery('<i>', {'class': 'e2pdf-drag'})
8771 + );
8772 + break;
8773 + case 'e2pdf-link':
8774 + if (default_properties) {
8775 + if (!properties.hasOwnProperty('width') || properties['width'] === 'auto') {
8776 + properties['width'] = '200';
8777 + }
4786 8778
4787 - e2pdf.zoom.click.x = ev.clientX;
4788 - e2pdf.zoom.click.y = ev.clientY;
4789 - jQuery('.page-options-icons').css('z-index', -1);
8779 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8780 + properties['height'] = size;
8781 + }
4790 8782 }
4791 - });
4792 - // If element resizable
4793 - if (element.hasClass('e2pdf-resizable')) {
4794 - element.resizable({
4795 - aspectRatio: aspect,
4796 - minHeight: min_height,
4797 - minWidth: min_width,
4798 - start: function (ev, ui) {
4799 - var left = parseFloat(jQuery(this).css('left'));
4800 - var top = parseFloat(jQuery(this).css('top'));
4801 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4802 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4803 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4804 - jQuery(this).resizable("option", "maxHeight", page_height - top);
8783 + var element =
8784 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8785 + jQuery('<div>', {'class': 'content e2pdf-link e2pdf-inner-element'}),
8786 + jQuery('<i>', {'class': 'e2pdf-drag'})
8787 + );
8788 + break;
8789 + case 'e2pdf-qrcode':
8790 + if (default_properties) {
8791 + if (!properties.hasOwnProperty('color')) {
8792 + properties['color'] = '#000000';
8793 + }
8794 + if (!properties.hasOwnProperty('background')) {
8795 + properties['background'] = '#ffffff';
8796 + }
8797 + if (!properties.hasOwnProperty('wq')) {
8798 + properties['wq'] = '1';
8799 + }
8800 + }
8801 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
8802 + jQuery('<img>', {'class': 'e2pdf-qrcode e2pdf-inner-element'}),
8803 + jQuery('<i>', {'class': 'e2pdf-drag'})
8804 + );
8805 + break;
8806 + case 'e2pdf-barcode':
8807 + if (default_properties) {
8808 + if (!properties.hasOwnProperty('color')) {
8809 + properties['color'] = '#000000';
8810 + }
8811 + if (!properties.hasOwnProperty('text_color')) {
8812 + properties['text_color'] = '#000000';
8813 + }
8814 + if (!properties.hasOwnProperty('vertical')) {
8815 + properties['vertical'] = 'middle';
8816 + }
8817 + if (!properties.hasOwnProperty('horizontal')) {
8818 + properties['horizontal'] = 'center';
8819 + }
8820 + if (!properties.hasOwnProperty('wq')) {
8821 + properties['wq'] = '1';
8822 + }
8823 + if (!properties.hasOwnProperty('dimension')) {
8824 + properties['dimension'] = '1';
8825 + }
8826 + if (!properties.hasOwnProperty('background')) {
8827 + properties['background'] = '#ffffff';
8828 + }
8829 + if (!properties.hasOwnProperty('margin_top')) {
8830 + properties['margin_top'] = '10';
8831 + }
8832 + if (!properties.hasOwnProperty('margin_left')) {
8833 + properties['margin_left'] = '10';
8834 + }
8835 + if (!properties.hasOwnProperty('margin_right')) {
8836 + properties['margin_right'] = '10';
8837 + }
8838 + if (!properties.hasOwnProperty('margin_bottom')) {
8839 + properties['margin_bottom'] = '10';
8840 + }
8841 + } else {
8842 + // backward compatibility
8843 + if (!properties.hasOwnProperty('scale')) {
8844 + properties['scale'] = '1';
8845 + }
8846 + if (!properties.hasOwnProperty('margin_top')) {
8847 + properties['margin_top'] = '10';
8848 + }
8849 + if (!properties.hasOwnProperty('margin_left')) {
8850 + properties['margin_left'] = '10';
8851 + }
8852 + if (!properties.hasOwnProperty('margin_right')) {
8853 + properties['margin_right'] = '10';
8854 + }
8855 + if (!properties.hasOwnProperty('margin_bottom')) {
8856 + properties['margin_bottom'] = '10';
8857 + }
8858 + }
8859 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '200px', height: '75px'}).append(
8860 + jQuery('<img>', {'class': 'e2pdf-barcode e2pdf-inner-element'}),
8861 + jQuery('<i>', {'class': 'e2pdf-drag'})
8862 + );
8863 + break;
8864 + case 'e2pdf-page-number':
8865 + if (default_properties) {
8866 + if (!properties.hasOwnProperty('width')) {
8867 + properties['width'] = '100';
8868 + } else if (properties['width'] === 'auto') {
8869 + properties['width'] = '100';
8870 + }
8871 + if (!properties.hasOwnProperty('height')) {
8872 + properties['height'] = size;
8873 + } else if (properties['height'] === 'auto') {
8874 + delete properties['height'];
8875 + }
8876 + if (!properties.hasOwnProperty('text_align')) {
8877 + properties['text_align'] = 'center';
8878 + }
8879 + if (!properties.hasOwnProperty('html_worker')) {
8880 + properties['html_worker'] = '1';
8881 + }
8882 + if (!properties.hasOwnProperty('value')) {
8883 + properties['value'] = '[e2pdf-page-number] / [e2pdf-page-total]';
8884 + }
8885 + }
8886 + var value = properties['value'] ? properties['value'] : '';
8887 + var element =
8888 + jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
8889 + jQuery('<div>', {'class': 'content e2pdf-page-number e2pdf-inner-element'}).html(e2pdf.helper.sanitizeHTML(value.replace('[e2pdf-page-number]', '1').replace('[e2pdf-page-total]', '2'))),
8890 + jQuery('<i>', {'class': 'e2pdf-drag'})
8891 + );
8892 + break;
8893 + case 'e2pdf-graph':
8894 + if (default_properties) {
8895 + // Graph
8896 + properties['g_palette'] = '#1e73be';
8897 + properties['g_stroke_colour'] = '#000000';
8898 + properties['g_stroke_width'] = '1';
8899 + properties['g_sort'] = '1';
8900 + // Titles
8901 + properties['g_graph_title_colour'] = '#000000';
8902 + properties['g_graph_title_space'] = '10';
8903 + // Labels
8904 + properties['g_label_colour'] = '#000000';
8905 + properties['g_label_font_size'] = '10';
8906 + properties['g_label_space'] = '10';
8907 + // Markers
8908 + properties['g_marker_colour'] = '#000000';
8909 + properties['g_marker_size'] = '3';
8910 + // Legend
8911 + properties['g_legend_back_colour'] = '#ffffff';
8912 + properties['g_legend_stroke_colour'] = '#000000';
8913 + properties['g_legend_stroke_width'] = '1';
8914 + properties['g_legend_entry_width'] = '20';
8915 + properties['g_legend_entry_height'] = '20';
8916 + properties['g_legend_padding_x'] = '5';
8917 + properties['g_legend_padding_y'] = '5';
8918 + properties['g_legend_colour'] = '#000000';
8919 + properties['g_legend_font_size'] = '10';
8920 + properties['g_show_legend'] = '1';
8921 + // Grid
8922 + properties['g_grid_colour'] = '#eeeeee';
8923 + properties['g_grid_subdivision_colour'] = '#eeeeee';
8924 + properties['g_minimum_grid_spacing'] = '20';
8925 + properties['g_show_grid'] = '1';
8926 + properties['g_show_grid_subdivisions'] = '1';
8927 + // Axis
8928 + properties['g_axis_colour'] = '#000000';
8929 + properties['g_axis_font_size'] = '12';
8930 + properties['g_show_axis_v'] = '1';
8931 + properties['g_show_axis_text_v'] = '1';
8932 + properties['g_show_axis_h'] = '1';
8933 + properties['g_show_axis_text_h'] = '1';
8934 + properties['g_show_subdivisions'] = '1';
8935 + properties['g_axis_overlap'] = '5';
8936 + properties['g_axis_stroke_width_v'] = '1';
8937 + properties['g_axis_stroke_width_h'] = '1';
8938 + // Bar Label
8939 + properties['g_bar_label_colour'] = '#000000';
8940 + properties['g_bar_label_font_size'] = '10';
8941 + properties['g_bar_label_space'] = '3';
8942 + properties['g_show_bar_labels'] = '1';
8943 + properties['g_project_angle'] = '45';
8944 + properties['g_depth'] = '20';
8945 + properties['g_aspect_ratio'] = '1';
8946 + properties['margin_top'] = '10';
8947 + properties['margin_left'] = '10';
8948 + properties['margin_right'] = '10';
8949 + properties['margin_bottom'] = '10';
8950 + properties['g_multiline'] = '2';
8951 + // Bar
8952 + properties['g_bar_width'] = '0';
8953 + properties['g_bar_width_min'] = '1';
8954 + properties['g_bar_space'] = '10';
8955 + properties['g_show_labels'] = '1';
8956 + properties['g_show_label_key'] = '1';
8957 + properties['g_inner_radius'] = '0.5';
8958 + properties['g_fill_opacity'] = '1';
8959 + properties['g_axis_text_space_v'] = '2';
8960 + properties['g_axis_text_space_h'] = '2';
8961 + } else {
8962 + // backward compatibility
8963 + if (!properties.hasOwnProperty('g_depth')) {
8964 + properties['g_depth'] = '40';
8965 + }
8966 + if (!properties.hasOwnProperty('g_aspect_ratio')) {
8967 + properties['g_aspect_ratio'] = '1';
8968 + }
8969 + if (!properties.hasOwnProperty('g_legend_entry_height')) {
8970 + properties['g_legend_entry_height'] = '20';
8971 + }
8972 + if (!properties.hasOwnProperty('g_bar_width')) {
8973 + properties['g_bar_width'] = '0';
8974 + }
8975 + if (!properties.hasOwnProperty('g_bar_width_min')) {
8976 + properties['g_bar_width_min'] = '1';
8977 + }
8978 + if (!properties.hasOwnProperty('g_bar_space')) {
8979 + properties['g_bar_space'] = '10';
8980 + }
8981 + // backward compatibility
8982 + if (!properties.hasOwnProperty('g_show_labels')) {
8983 + properties['g_show_labels'] = '1';
8984 + }
8985 + if (!properties.hasOwnProperty('g_show_label_key')) {
8986 + properties['g_show_label_key'] = '1';
8987 + }
8988 + if (!properties.hasOwnProperty('g_inner_radius')) {
8989 + properties['g_inner_radius'] = '0.5';
8990 + }
8991 + if (!properties.hasOwnProperty('g_fill_opacity')) {
8992 + properties['g_fill_opacity'] = '1';
8993 + }
8994 + if (!properties.hasOwnProperty('g_axis_text_space_v')) {
8995 + properties['g_axis_text_space_v'] = '2';
8996 + }
8997 + if (!properties.hasOwnProperty('g_axis_text_space_h')) {
8998 + properties['g_axis_text_space_h'] = '2';
8999 + }
9000 + }
9001 + var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '250px', height: '150px'}).append(
9002 + jQuery('<img>', {'class': 'e2pdf-graph e2pdf-inner-element'}),
9003 + jQuery('<i>', {'class': 'e2pdf-drag'})
9004 + );
9005 + break;
9006 + default:
9007 + break;
9008 + }
4805 9009
4806 - var padding_top = e2pdf.helper.pxToFloat(jQuery(this).css('padding-top'));
4807 - var padding_left = e2pdf.helper.pxToFloat(jQuery(this).css('padding-left'));
4808 - var padding_right = e2pdf.helper.pxToFloat(jQuery(this).css('padding-right'));
4809 - var padding_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('padding-bottom'));
4810 - var border_top = e2pdf.helper.pxToFloat(jQuery(this).css('border-top-width'));
4811 - var border_left = e2pdf.helper.pxToFloat(jQuery(this).css('border-left-width'));
4812 - var border_right = e2pdf.helper.pxToFloat(jQuery(this).css('border-right-width'));
4813 - var border_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('border-bottom-width'));
4814 -
4815 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4816 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4817 -
4818 - e2pdf.zoom.click.x = ev.clientX;
4819 - e2pdf.zoom.click.y = ev.clientY;
4820 - },
4821 - resize: function (ev, ui) {
4822 - },
4823 - stop: function (event, ui) {
4824 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4825 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
9010 + if (typeof element !== 'undefined') {
9011 + if (!element_id) {
9012 + var last_id = 0;
9013 + jQuery('.e2pdf-tpl .e2pdf-element').each(function () {
9014 + var num_id = parseInt(jQuery(this).attr("data-element_id"));
9015 + if (num_id > last_id) {
9016 + last_id = num_id;
4826 9017 }
4827 9018 });
4828 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4829 - element.resizable({
4830 - handles: 'e, w, se',
4831 - minHeight: min_height,
4832 - minWidth: min_width,
4833 - resize: function (e, ui) {
4834 - jQuery(this).css('height', 'auto');
4835 - },
4836 - start: function (e, ui) {
4837 - var left = parseFloat(jQuery(this).css('left'));
4838 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4839 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4840 - },
4841 - stop: function (event, ui) {
4842 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4843 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4844 - }
4845 - }
4846 - );
9019 + element_id = parseInt(last_id + 1);
4847 9020 }
9021 + element.addClass('e2pdf-element');
9022 + element.attr('data-element_id', element_id);
9023 + element.data('data-type', type);
9024 + if (properties.hasOwnProperty('width')) {
9025 + element.css({'width': properties['width']});
9026 + }
9027 + if (properties.hasOwnProperty('height')) {
9028 + element.css({'height': properties['height']});
9029 + }
9030 + if (properties.hasOwnProperty('top') && properties.hasOwnProperty('left')) {
9031 + element.css({'top': properties['top'], 'left': properties['left']});
9032 + }
9033 + element.css({"position": "absolute"});
9034 + e2pdf.properties.apply(element, properties, onload);
9035 + e2pdf.actions.apply(element, actions);
9036 + e2pdf.element.initEvents(element, page);
4848 9037 if (!onload) {
4849 9038 e2pdf.event.fire('after.element.create');
4850 9039 }
4851 9040 return element;
@@ -4852,44 +9041,14 @@
4852 9041 } else {
4853 9042 return false;
4854 9043 }
4855 9044 },
4856 - //e2pdf.element.children
9045 + // e2pdf.element.children
4857 9046 children: function (el) {
4858 -
4859 - var children = false;
4860 -
4861 - if (el.data('data-type') === 'e2pdf-html') {
4862 - children = el.find('.e2pdf-html');
4863 - } else if (el.data('data-type') === 'e2pdf-input') {
4864 - children = el.find('.e2pdf-input');
4865 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4866 - children = el.find('.e2pdf-textarea');
4867 - } else if (el.data('data-type') === 'e2pdf-select') {
4868 - children = el.find('.e2pdf-select');
4869 - } else if (el.data('data-type') === 'e2pdf-radio') {
4870 - children = el.find('.e2pdf-radio');
4871 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4872 - children = el.find('.e2pdf-checkbox');
4873 - } else if (el.data('data-type') === 'e2pdf-image') {
4874 - children = el.find('.e2pdf-image');
4875 - } else if (el.data('data-type') === 'e2pdf-signature') {
4876 - children = el.find('.e2pdf-signature');
4877 - }
9047 + var children = el.find('.' + el.data('data-type'));
4878 9048 return children;
4879 9049 },
4880 - //e2pdf.element.copy
4881 - copy: function (el) {
4882 - e2pdf.element.init(el);
4883 - e2pdf.element.buffer(el.clone(true));
4884 - },
4885 - //e2pdf.element.cut
4886 - cut: function (el) {
4887 - e2pdf.element.init(el);
4888 - e2pdf.element.buffer(el.clone(true));
4889 - e2pdf.element.delete(el);
4890 - },
4891 - //e2pdf.element.select
9050 + // e2pdf.element.select
4892 9051 select: function (el) {
4893 9052 var selected = false;
4894 9053 for (var key in e2pdf.element.selected) {
4895 9054 if (e2pdf.element.selected[key].is(el)) {
@@ -4900,9 +9059,9 @@
4900 9059 el.addClass('e2pdf-selected');
4901 9060 e2pdf.element.selected.push(el);
4902 9061 }
4903 9062 },
4904 - //e2pdf.element.unselect
9063 + // e2pdf.element.unselect
4905 9064 unselect: function (el) {
4906 9065 if (!el) {
4907 9066 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4908 9067 e2pdf.element.selected = [];
@@ -4914,150 +9073,457 @@
4914 9073 }
4915 9074 }
4916 9075 }
4917 9076 },
4918 - //e2pdf.element.buffer
4919 - buffer: function (el) {
4920 - var buffered = false;
4921 - for (var key in e2pdf.element.buffered) {
4922 - if (e2pdf.element.buffered[key].is(el)) {
4923 - buffered = true;
4924 - }
9077 + // e2pdf.element.unfocus
9078 + unfocus: function (el) {
9079 + e2pdf.wysiwyg.helper.dropSelection();
9080 + if (!el) {
9081 + jQuery('.e2pdf-focused').removeClass('e2pdf-focused');
9082 + jQuery('.e2pdf-el-wrapper').find('.e2pdf-inner-element:focus').each(function () {
9083 + jQuery(this).blur();
9084 + });
9085 + } else {
9086 + el.find('.e2pdf-inner-element').blur();
9087 + el.removeClass('e2pdf-focused');
4925 9088 }
4926 - if (!buffered) {
4927 - e2pdf.element.buffered.push(el);
4928 - }
4929 9089 },
4930 - //e2pdf.element.unbuffer
4931 - unbuffer: function (el) {
4932 - if (!el) {
4933 - e2pdf.element.buffered = [];
4934 - } else {
4935 - for (var key in e2pdf.element.buffered) {
4936 - if (e2pdf.element.buffered[key].is(el)) {
4937 - delete e2pdf.element.buffered[key];
9090 + // e2pdf.element.focus
9091 + focus: function (el) {
9092 + el.one('beforeinput', function (e) {
9093 + var history = [];
9094 + history.push(el.clone(true));
9095 + e2pdf.history.set('element_change', history);
9096 + });
9097 + var el_inner = el.find('.e2pdf-inner-element');
9098 + if (el_inner.is('div.e2pdf-html')) {
9099 + var node = el_inner.get(0);
9100 + if (node) {
9101 + node.focus();
9102 + if (window.getSelection && document.createRange) {
9103 + var range = document.createRange();
9104 + var selection = window.getSelection();
9105 + range.selectNodeContents(node);
9106 + range.collapse(false);
9107 + selection.removeAllRanges();
9108 + selection.addRange(range);
4938 9109 }
9110 + } else {
9111 + el_inner.focus();
4939 9112 }
9113 + } else {
9114 + el_inner.focus();
4940 9115 }
9116 + el.addClass('e2pdf-focused');
4941 9117 },
4942 - //e2pdf.element.hide
9118 + // e2pdf.element.hide
4943 9119 hide: function (el) {
4944 9120 el.addClass('e2pdf-hide');
4945 9121 },
4946 - //e2pdf.element.show
9122 + // e2pdf.element.show
4947 9123 show: function (el) {
4948 9124 el.removeClass('e2pdf-hide');
4949 9125 },
4950 - //e2pdf.element.paste
4951 - paste: function (keep_position) {
4952 - e2pdf.element.unselect();
4953 - var min_top = 99999999;
4954 - var min_left = 9999999;
4955 - var left_correction = 0;
4956 - var top_correction = 0;
4957 - if (!keep_position) {
4958 - for (var key in e2pdf.element.buffered) {
4959 - var buffered = e2pdf.element.buffered[key];
4960 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4961 - min_left = Math.min(e2pdf.properties.getValue(buffered, 'left'), min_left);
9126 + // e2pdf.element.delete
9127 + delete: function (el) {
9128 + el.remove();
9129 + e2pdf.event.fire('after.element.delete');
9130 + }
9131 + },
9132 + // e2pdf.storage
9133 + storage: {
9134 + get: function (key) {
9135 + return localStorage.getItem('e2pdf_' + key) !== null ? JSON.parse(localStorage.getItem('e2pdf_' + key)) : null;
9136 + },
9137 + set: function (key, data) {
9138 + localStorage.setItem('e2pdf_' + key, JSON.stringify(data));
9139 + },
9140 + delete: function (key) {
9141 + localStorage.removeItem('e2pdf_' + key);
9142 + }
9143 + },
9144 + // e2pdf.history
9145 + history: {
9146 + // e2pdf.history.set
9147 + set: function (action, elements, data) {
9148 + if (elements && elements.length > 0) {
9149 + var history = {
9150 + 'action': action,
9151 + 'elements': elements,
9152 + 'data': data,
9153 + };
9154 + e2pdf.history.undoStack.push(history);
9155 + if (e2pdf.history.undoStack.length > e2pdf_params['undo_limit']) {
9156 + e2pdf.history.undoStack.shift();
4962 9157 }
9158 + if (e2pdf.history.undoStack.length > 0) {
9159 + jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9160 + }
9161 + }
9162 + },
9163 + // e2pdf.history.undo
9164 + undo: function () {
9165 + var history = e2pdf.history.undoStack.pop();
9166 + if (history) {
9167 + e2pdf.element.unselect();
9168 + if (history.action == 'element_change') {
9169 + for (var key in history.elements) {
9170 + var buffered = history.elements[key];
9171 + jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().replaceWith(buffered);
9172 + e2pdf.element.initEvents(buffered);
9173 + e2pdf.element.select(buffered);
9174 + }
9175 + } else if (history.action == 'element_create') {
9176 + for (var key in history.elements) {
9177 + var buffered = history.elements[key];
9178 + if (buffered.hasClass('e2pdf-page')) {
9179 + jQuery(".e2pdf-page[data-page_id='" + buffered.attr('data-page_id') + "']").first().remove();
9180 + if (jQuery('.e2pdf-page').length == 0) {
9181 + e2pdf.history.undo();
9182 + }
9183 + } else {
9184 + jQuery(".e2pdf-element[data-element_id='" + buffered.attr('data-element_id') + "']").first().remove();
9185 + }
9186 + }
9187 + } else if (history.action == 'element_delete') {
9188 + for (var key in history.elements) {
9189 + var buffered = history.elements[key];
9190 + var page = jQuery('.e2pdf-page[data-page_id="' + e2pdf.properties.getValue(buffered, 'page_id') + '"]').first();
9191 + page.append(buffered);
9192 + e2pdf.element.initEvents(buffered, page);
9193 + e2pdf.element.select(buffered);
9194 + }
9195 + } else if (history.action == 'page_change') {
9196 + for (var key in history.elements) {
9197 + var buffered = history.elements[key];
9198 + var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9199 + page.data('data-type', 'e2pdf-page');
9200 + jQuery('.e2pdf-page[data-page_id="' + buffered.attr('data-page_id') + '"]').first().replaceWith(page);
9201 + if (buffered.css('background-image')) {
9202 + page.css('background-image', buffered.css('background-image'));
9203 + }
9204 + buffered.find('.e2pdf-element').each(function () {
9205 + page.append(jQuery(this));
9206 + e2pdf.element.initEvents(jQuery(this), page);
9207 + });
9208 + e2pdf.pages.initEvents(page);
9209 + e2pdf.pages.rebuildPages();
9210 + }
9211 + if (history.data) {
9212 + jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9213 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9214 + }
9215 + } else if (history.action == 'page_delete') {
9216 + for (var key in history.elements) {
9217 + var buffered = history.elements[key];
9218 + var page = e2pdf.pages.source(buffered.attr('data-page_id'));
9219 + page.data('data-type', 'e2pdf-page');
9220 + e2pdf.properties.apply(page, e2pdf.properties.get(buffered));
9221 + e2pdf.actions.apply(page, e2pdf.actions.get(buffered));
9222 + if (buffered.attr('data-page_id') == '1') {
9223 + jQuery('.e2pdf-tpl-inner').prepend(page);
9224 + } else {
9225 + page.insertAfter(jQuery('.e2pdf-tpl-inner').find('.e2pdf-page[data-page_id="' + (parseInt(buffered.attr('data-page_id')) - 1) + '"]'));
9226 + }
9227 + if (buffered.css('background-image')) {
9228 + page.css('background-image', buffered.css('background-image'));
9229 + }
9230 + buffered.find('.e2pdf-element').each(function () {
9231 + page.append(jQuery(this));
9232 + e2pdf.element.initEvents(jQuery(this), page);
9233 + });
9234 + e2pdf.pages.initEvents(page);
9235 + e2pdf.pages.rebuildPages();
9236 + }
9237 + if (history.data) {
9238 + jQuery('.e2pdf-up-page, .e2pdf-down-page').attr('disabled', 'disabled');
9239 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val(history.data);
9240 + }
9241 + } else if (history.action == 'wysiwyg') {
9242 + for (var key in history.elements) {
9243 + var buffered = history.elements[key];
9244 + buffered.focus();
9245 + document.execCommand('undo');
9246 + }
9247 + }
9248 + if (e2pdf.history.undoStack.length == 0) {
9249 + jQuery('.e2pdf-undo').addClass('e2pdf-inactive');
9250 + }
9251 + }
9252 + },
9253 + // e2pdf.history.redo
9254 + redo: function () {
4963 9255
4964 - for (var key in e2pdf.element.buffered) {
4965 - var buffered = e2pdf.element.buffered[key];
9256 + },
9257 + clear: function () {
9258 + e2pdf.history.undoStack = [];
9259 + jQuery('.e2pdf-undo').removeClass('e2pdf-inactive');
9260 + },
9261 + // e2pdf.history.undoStack
9262 + undoStack: []
9263 + },
9264 + // e2pdf.copy
9265 + copy: function (key, el) {
9266 + e2pdf.element.init(el);
9267 + switch (key) {
9268 + case 'style':
9269 + var data = {
9270 + 'type': el.data('data-type'),
9271 + 'fields': e2pdf.properties.getFields(el)
9272 + };
9273 + e2pdf.storage.set(key, data);
9274 + break;
9275 + case 'width':
9276 + var data = {
9277 + 'width': e2pdf.properties.getValue(el, 'width', 'float')
9278 + };
9279 + e2pdf.storage.set(key, data);
9280 + break;
9281 + case 'height':
9282 + var data = {
9283 + 'height': e2pdf.properties.getValue(el, 'height', 'float')
9284 + };
9285 + e2pdf.storage.set(key, data);
9286 + break;
9287 + case 'elements':
9288 + var elements = e2pdf.storage.get('elements');
9289 + if (elements == null) {
9290 + elements = [];
9291 + }
9292 + var data = {
9293 + 'type': el.data('data-type'),
9294 + 'top': el.css('top'),
9295 + 'left': el.css('left'),
9296 + 'width': el.css('width'),
9297 + 'height': el.css('height'),
9298 + 'fields': e2pdf.properties.getFields(el),
9299 + 'properties': e2pdf.properties.get(el),
9300 + 'actions': e2pdf.actions.get(el)
9301 + };
9302 + elements.push(data);
9303 + e2pdf.storage.set(key, elements);
9304 + break;
9305 + case 'actions':
9306 + var data = {
9307 + 'actions': e2pdf.actions.get(el)
9308 + };
9309 + e2pdf.storage.set(key, data);
9310 + break;
9311 + }
9312 + },
9313 + // e2pdf.paste
9314 + paste: function (key, el) {
9315 + if (e2pdf.storage.get(key) !== null || (key == 'elements-in-place' && e2pdf.storage.get('elements') !== null)) {
9316 + switch (key) {
9317 + case 'style':
9318 + if (e2pdf.storage.get('style').type == el.data('data-type')) {
9319 + e2pdf.element.init(el);
9320 + var groups = e2pdf.storage.get('style').fields;
9321 + for (var group_key in groups) {
9322 + var group = groups[group_key];
9323 + for (var field_key in group.fields) {
9324 + var group_field = group.fields[field_key];
9325 + if (group_field.type != 'link') {
9326 + if (jQuery.inArray(group_field.key, [
9327 + 'page_id',
9328 + 'element_id',
9329 + 'element_type',
9330 + 'width',
9331 + 'height',
9332 + 'top',
9333 + 'left',
9334 + 'name',
9335 + 'field_name',
9336 + 'z_index',
9337 + 'group',
9338 + 'option',
9339 + 'options',
9340 + 'css',
9341 + 'parent',
9342 + 'value',
9343 + 'preg_pattern',
9344 + 'preg_replacement',
9345 + 'preg_match_all_pattern',
9346 + 'preg_match_all_output',
9347 + 'wysiwyg_disable',
9348 + 'multipage',
9349 + 'dynamic_height',
9350 + 'nl2br',
9351 + 'hide_if_empty',
9352 + 'hide_page_if_empty',
9353 + 'css_priority',
9354 + 'pdf_resample',
9355 + 'pdf_append',
9356 + 'html_worker',
9357 + 'esig',
9358 + 'dimension',
9359 + 'block_dimension',
9360 + 'keep_lower_size',
9361 + 'fill_image',
9362 + 'only_image',
9363 + 'hl',
9364 + 'placeholder',
9365 + 'pdf_page',
9366 + 'format',
9367 + 'g_type',
9368 + 'g_structure_key',
9369 + 'g_structure_value',
9370 + 'g_structure_colour',
9371 + 'g_structure_axis_text',
9372 + 'g_structure_legend_text',
9373 + 'g_structure_label',
9374 + 'g_structure_area',
9375 + 'g_structure_open',
9376 + 'g_structure_end',
9377 + 'g_structure_outliers',
9378 + 'g_structure_top',
9379 + 'g_structure_bottom',
9380 + 'g_structure_wtop',
9381 + 'g_structure_wbottom',
9382 + 'g_structure_high',
9383 + 'g_structure_low',
9384 + 'g_structured_data',
9385 + 'g_key_sep',
9386 + 'g_array_sep',
9387 + 'g_sub_array_sep',
9388 + 'g_graph_title',
9389 + 'g_label_v',
9390 + 'g_label_h',
9391 + 'g_legend_title'
9392 + ]) === -1) {
9393 + e2pdf.properties.set(el, group_field.key, group_field.value);
9394 + }
9395 + }
9396 + }
9397 + }
9398 + e2pdf.properties.render(el);
9399 + }
9400 + break;
9401 + case 'elements':
9402 + case 'elements-in-place':
9403 + e2pdf.element.unselect();
4966 9404 var context = jQuery('.e2pdf-context');
4967 - var properties = e2pdf.properties.get(buffered);
4968 - var width = parseFloat(properties['width']);
4969 - var height = parseFloat(properties['height']);
4970 9405 var page = context.closest('.e2pdf-page');
4971 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4972 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4973 - if ((left + width) > parseFloat(page.css('width'))) {
4974 - var correction = left - (parseFloat(page.css('width')) - width);
4975 - left_correction = Math.max(correction, left_correction);
9406 + var min_top = 99999999;
9407 + var min_left = 99999999;
9408 + var left_correction = 0;
9409 + var top_correction = 0;
9410 + if (key !== 'elements-in-place') {
9411 + for (var element in e2pdf.storage.get('elements')) {
9412 + var buffered = e2pdf.storage.get('elements')[element];
9413 + var properties = buffered.properties;
9414 + min_top = Math.min(parseFloat(properties['top']), min_top);
9415 + min_left = Math.min(parseFloat(properties['left']), min_left);
9416 + }
9417 + for (var element in e2pdf.storage.get('elements')) {
9418 + var buffered = e2pdf.storage.get('elements')[element];
9419 + var properties = buffered.properties;
9420 + var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
9421 + if (context.hasClass('e2pdf-context-bottom')) {
9422 + top += context.height();
9423 + }
9424 + var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
9425 + if ((left + parseFloat(properties['width'])) > parseFloat(page.css('width'))) {
9426 + var correction = left - (parseFloat(page.css('width')) - parseFloat(properties['width']));
9427 + left_correction = Math.max(correction, left_correction);
9428 + }
9429 + if ((top + parseFloat(properties['height'])) > parseFloat(page.css('height'))) {
9430 + var correction = top - (parseFloat(page.css('height')) - parseFloat(properties['height']));
9431 + top_correction = Math.max(correction, top_correction);
9432 + }
9433 + }
4976 9434 }
4977 9435
4978 - if ((top + height) > parseFloat(page.css('height'))) {
4979 - var correction = top - (parseFloat(page.css('height')) - height);
4980 - top_correction = Math.max(correction, top_correction);
9436 + var history = [];
9437 + for (var element in e2pdf.storage.get('elements')) {
9438 + var buffered = e2pdf.storage.get('elements')[element];
9439 + var properties = buffered.properties;
9440 + var actions = buffered.actions;
9441 + if (key !== 'elements-in-place') {
9442 + var top = parseFloat(e2pdf.helper.getFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
9443 + if (context.hasClass('e2pdf-context-bottom')) {
9444 + top += context.height();
9445 + }
9446 + var left = parseFloat(e2pdf.helper.getFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
9447 + properties['top'] = top;
9448 + properties['left'] = left;
9449 + }
9450 + var el = e2pdf.element.create(buffered.type, page, properties, actions);
9451 + page.append(el);
9452 + e2pdf.properties.render(el);
9453 + e2pdf.element.select(el);
9454 + history.push(el.clone(true));
4981 9455 }
4982 - }
9456 + e2pdf.history.set('element_create', history);
9457 + e2pdf.event.fire('after.element.paste');
9458 + break;
9459 + case 'actions':
9460 + e2pdf.actions.apply(el, e2pdf.storage.get('actions').actions);
9461 + break;
9462 + case 'width':
9463 + e2pdf.properties.set(el, 'width', e2pdf.storage.get('width').width);
9464 + e2pdf.properties.render(el);
9465 + break;
9466 + case 'height':
9467 + e2pdf.properties.set(el, 'height', e2pdf.storage.get('height').height);
9468 + e2pdf.properties.render(el);
9469 + break;
4983 9470 }
4984 -
4985 - for (var key in e2pdf.element.buffered) {
4986 - var buffered = e2pdf.element.buffered[key];
4987 - var context = jQuery('.e2pdf-context');
4988 - var properties = e2pdf.properties.get(buffered);
4989 - var actions = e2pdf.actions.get(buffered);
4990 - var width = parseFloat(properties['width']);
4991 - var height = parseFloat(properties['height']);
4992 - var page = context.closest('.e2pdf-page');
4993 - var type = buffered.data('data-type');
4994 -
4995 - if (!keep_position) {
4996 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4997 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4998 - properties['top'] = top;
4999 - properties['left'] = left;
5000 - }
5001 - //changed
5002 - var el = e2pdf.element.create(type, page, properties, actions);
5003 - page.append(el);
5004 - e2pdf.properties.render(el);
5005 - e2pdf.element.select(el);
5006 - }
5007 -
5008 - e2pdf.event.fire('after.element.paste');
5009 - },
5010 - //e2pdf.element.delete
5011 - delete: function (el) {
5012 - el.remove();
5013 - e2pdf.event.fire('after.element.delete');
5014 9471 }
5015 9472 },
5016 - //e2pdf.wysiwyg
9473 + // e2pdf.wysiwyg
5017 9474 wysiwyg: {
5018 - //e2pdf.wysiwyg.apply
9475 + // e2pdf.wysiwyg.apply
5019 9476 apply: function (el) {
9477 + var history = [];
9478 + history.push(el);
9479 + e2pdf.history.set('wysiwyg', history);
9480 + var html = '';
5020 9481 var command = el.attr('data-command');
9482 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5021 9483 if (command === 'H1') {
5022 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5023 9484 if (node.is("h1") && document.getSelection().toString() === node.text()) {
5024 9485 e2pdf.wysiwyg.clear('h1');
5025 9486 } else {
5026 - var html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9487 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
5027 9488 document.execCommand('insertHTML', false, html);
5028 9489 }
5029 9490 } else if (command === 'H2') {
5030 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5031 9491 if (node.is("h2") && document.getSelection().toString() === node.text()) {
5032 9492 e2pdf.wysiwyg.clear('h2');
5033 9493 } else {
5034 - var html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9494 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
5035 9495 document.execCommand('insertHTML', false, html);
5036 9496 }
5037 9497 } else if (command === 'createlink') {
5038 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9498 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
5039 9499 document.execCommand(command, false, url);
5040 9500 } else if (command === 'font-size') {
5041 9501 var font_size = el.find('option:selected').html();
5042 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
5043 9502 if (node.is("span") && document.getSelection().toString() === node.text()) {
5044 - var html = node.css('font-size', font_size).prop('outerHTML');
9503 + html = node.css('font-size', font_size + "px").prop('outerHTML');
5045 9504 } else {
5046 - var html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size).prop('outerHTML');
9505 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-size', font_size + "px").prop('outerHTML');
5047 9506 }
5048 9507 document.execCommand('insertHTML', false, html);
5049 9508 el.val('');
9509 + } else if (command === 'line-height') {
9510 + var font_size = el.find('option:selected').html();
9511 + if (node.is("span") && document.getSelection().toString() === node.text()) {
9512 + html = node.css('line-height', font_size + "px").prop('outerHTML');
9513 + } else {
9514 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('line-height', font_size + "px").prop('outerHTML');
9515 + }
9516 + document.execCommand('insertHTML', false, html);
9517 + el.val('');
5050 9518 } else if (command === 'font') {
5051 9519 e2pdf.font.load(el);
5052 - var font = el.find('option:selected').html();
5053 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9520 + var font = CSS.escape(el.find('option:selected').html());
5054 9521 if (node.is("span") && document.getSelection().toString() === node.text()) {
5055 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9522 + html = node.css('font-family', font).prop('outerHTML');
5056 9523 } else {
5057 - var html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', '"' + font + '"').prop('outerHTML');
9524 + html = jQuery('<span>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).css('font-family', font).prop('outerHTML');
5058 9525 }
5059 -
5060 9526 document.execCommand('insertHTML', false, html);
5061 9527 el.val('');
5062 9528 } else if (command === 'color') {
5063 9529 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -5066,14 +9532,14 @@
5066 9532 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5067 9533 } else if (command === 'clear') {
5068 9534 document.execCommand("removeformat", false, "");
5069 9535 e2pdf.wysiwyg.clear();
5070 - } else {
9536 + } else if (command) {
5071 9537 document.execCommand(command, false, null);
5072 9538 }
5073 -
5074 9539 e2pdf.event.fire('after.wysiwyg.apply');
5075 9540 },
9541 + // e2pdf.wysiwyg.clear
5076 9542 clear: function (tags) {
5077 9543 if (!tags) {
5078 9544 var tags = "h1,h2";
5079 9545 }
@@ -5084,9 +9550,11 @@
5084 9550 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
5085 9551 }
5086 9552 });
5087 9553 },
9554 + // e2pdf.wysiwyg.helper
5088 9555 helper: {
9556 + // e2pdf.wysiwyg.helper.getSelectedNodes
5089 9557 getSelectedNodes: function () {
5090 9558 var nodes = [];
5091 9559 if (window.getSelection) {
5092 9560 var sel = window.getSelection();
@@ -5095,8 +9563,9 @@
5095 9563 }
5096 9564 }
5097 9565 return nodes;
5098 9566 },
9567 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
5099 9568 replaceWithOwnChildren: function (el) {
5100 9569 var parent = el.parentNode;
5101 9570 while (el.hasChildNodes()) {
5102 9571 parent.insertBefore(el.firstChild, el);
@@ -5102,8 +9571,9 @@
5102 9571 parent.insertBefore(el.firstChild, el);
5103 9572 }
5104 9573 parent.removeChild(el);
5105 9574 },
9575 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
5106 9576 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
5107 9577 var node = range.startContainer;
5108 9578 var endNode = range.endContainer;
5109 9579 var rangeNodes = [];
@@ -5129,8 +9599,9 @@
5129 9599 }
5130 9600
5131 9601 return rangeNodes;
5132 9602 },
9603 + // e2pdf.wysiwyg.helper.getSelectedNode
5133 9604 getSelectedNode: function () {
5134 9605 var node, selection;
5135 9606 if (window.getSelection) {
5136 9607 selection = getSelection();
@@ -5136,9 +9607,9 @@
5136 9607 selection = getSelection();
5137 9608 node = selection.anchorNode;
5138 9609 }
5139 9610 if (!node && document.selection) {
5140 - selection = document.selection
9611 + selection = document.selection;
5141 9612 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
5142 9613 node = range.commonAncestorContainer ? range.commonAncestorContainer :
5143 9614 range.parentElement ? range.parentElement() : range.item(0);
5144 9615 }
@@ -5145,8 +9616,9 @@
5145 9616 if (node) {
5146 9617 return (node.nodeName === "#text" ? node.parentNode : node);
5147 9618 }
5148 9619 },
9620 + // e2pdf.wysiwyg.helper.nextNode
5149 9621 nextNode: function (node) {
5150 9622 if (node.hasChildNodes()) {
5151 9623 return node.firstChild;
5152 9624 } else {
@@ -5158,11 +9630,12 @@
5158 9630 }
5159 9631 return node.nextSibling;
5160 9632 }
5161 9633 },
9634 + // e2pdf.wysiwyg.helper.getSelectionHtml
5162 9635 getSelectionHtml: function () {
5163 9636 var html = "";
5164 - if (typeof window.getSelection != "undefined") {
9637 + if (typeof window.getSelection != 'undefined') {
5165 9638 var sel = window.getSelection();
5166 9639 if (sel.rangeCount) {
5167 9640 var container = document.createElement("div");
5168 9641 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -5169,9 +9642,9 @@
5169 9642 container.appendChild(sel.getRangeAt(i).cloneContents());
5170 9643 }
5171 9644 html = container.innerHTML;
5172 9645 }
5173 - } else if (typeof document.selection != "undefined") {
9646 + } else if (typeof document.selection != 'undefined') {
5174 9647 if (document.selection.type === "Text") {
5175 9648 html = document.selection.createRange().htmlText;
5176 9649 }
5177 9650 }
@@ -5176,8 +9649,9 @@
5176 9649 }
5177 9650 }
5178 9651 return html;
5179 9652 },
9653 + // e2pdf.wysiwyg.helper.saveSelection
5180 9654 saveSelection: function () {
5181 9655 if (window.getSelection) {
5182 9656 sel = window.getSelection();
5183 9657 if (sel.getRangeAt && sel.rangeCount) {
@@ -5187,8 +9661,9 @@
5187 9661 return document.selection.createRange();
5188 9662 }
5189 9663 return null;
5190 9664 },
9665 + // e2pdf.wysiwyg.helper.restoreSelection
5191 9666 restoreSelection: function (range) {
5192 9667 if (range) {
5193 9668 if (window.getSelection) {
5194 9669 sel = window.getSelection();
@@ -5197,48 +9672,99 @@
5197 9672 } else if (document.selection && range.select) {
5198 9673 range.select();
5199 9674 }
5200 9675 }
9676 + },
9677 + // e2pdf.wysiwyg.helper.dropSelection
9678 + dropSelection: function () {
9679 + if (window.getSelection) {
9680 + sel = window.getSelection();
9681 + sel.removeAllRanges();
9682 + }
5201 9683 }
5202 9684 }
5203 9685 },
5204 - //e2pdf.visual
9686 + // e2pdf.visual
5205 9687 visual: {
5206 - //e2pdf.visual.mapper
9688 + // e2pdf.visual.mapper
5207 9689 mapper: {
9690 + cursorPosStart: null,
9691 + cursorPosEnd: null,
9692 + cursorRange: null,
5208 9693 selected: null,
5209 - //e2pdf.visual.mapper.init
9694 + // e2pdf.visual.mapper.init
5210 9695 init: function (el) {
9696 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
9697 + if (el.find('.e2pdf-inner-element').is('div')) {
9698 + if (window.getSelection) {
9699 + sel = window.getSelection();
9700 + if (sel.getRangeAt && sel.rangeCount) {
9701 + e2pdf.visual.mapper.cursorRange = sel.getRangeAt(0);
9702 + }
9703 + } else if (document.selection && document.selection.createRange) {
9704 + e2pdf.visual.mapper.cursorRange = document.selection.createRange();
9705 + }
9706 + e2pdf.visual.mapper.cursorPosStart = null;
9707 + e2pdf.visual.mapper.cursorPosEnd = null;
9708 + } else {
9709 + e2pdf.visual.mapper.cursorPosStart = el.find('.e2pdf-inner-element').prop('selectionStart');
9710 + e2pdf.visual.mapper.cursorPosEnd = el.find('.e2pdf-inner-element').prop('selectionEnd');
9711 + e2pdf.visual.mapper.cursorRange = null;
9712 + }
9713 + } else {
9714 + e2pdf.visual.mapper.cursorPosStart = null;
9715 + e2pdf.visual.mapper.cursorPosEnd = null;
9716 + e2pdf.visual.mapper.cursorRange = null;
9717 + }
9718 +
5211 9719 e2pdf.visual.mapper.selected = el;
5212 9720 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5213 9721 e2pdf.dialog.create(modal);
5214 9722 },
5215 - //e2pdf.visual.mapper.markup
9723 + // e2pdf.visual.mapper.markup
5216 9724 markup: function () {
5217 9725 e2pdf.dialog.rebuild();
5218 9726 },
5219 - //e2pdf.visual.mapper.rebuild
9727 + // e2pdf.visual.mapper.rebuild
5220 9728 rebuild: function () {
5221 - if (jQuery('#e2pdf-vm-content').length > 0) {
5222 - var vc_content = jQuery('#e2pdf-vm-content');
5223 -
9729 + if (jQuery('.e2pdf-vm-content').length > 0) {
9730 + var vc_content = jQuery('.e2pdf-vm-content');
5224 9731 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5225 9732 jQuery('.e2pdf-vm-wrapper').remove();
5226 9733 }
9734 + vc_content.find('input[type="hidden"]').each(function () {
9735 + if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9736 + jQuery(this).attr('e2pdf-vm-hidden', 'true');
9737 + jQuery(this).attr('value', jQuery(this).attr('name'));
9738 + }
9739 + });
9740 + if (e2pdf.static.vm.hidden) {
9741 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9742 + jQuery(this).attr('type', 'text');
9743 + });
9744 + } else {
9745 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9746 + jQuery(this).attr('type', 'hidden');
9747 + });
9748 + }
5227 9749
5228 9750 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
5229 - 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 () {
9751 + vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="time"], button[type="upload"], textarea, select').each(function () {
5230 9752 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5231 9753 });
5232 9754 vc_content.append(vc_wrapper);
9755 + if (e2pdf.pdf.settings.get('extension') == 'wordpress' || e2pdf.pdf.settings.get('extension') == 'woocommerce') {
9756 + jQuery('.e2pdf-dialog-visual-mapper input.e2pdf-hide[name="vm_search"]').removeClass('e2pdf-hide');
9757 + }
5233 9758 }
5234 9759 },
5235 - //e2pdf.visual.mapper.clear
9760 + // e2pdf.visual.mapper.clear
5236 9761 clear: function () {
5237 9762 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5238 9763 jQuery('.e2pdf-vm-wrapper').remove();
5239 9764 }
5240 9765 },
9766 + // e2pdf.visual.mapper.load
5241 9767 load: function (el) {
5242 9768 var loaded = false;
5243 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5244 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5243,10 +9769,10 @@
5243 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5244 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5245 9771 var width = el.css('width');
5246 9772 var height = el.css('height');
5247 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5248 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
9773 + var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9774 + var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
5249 9775 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5250 9776 'width': width, 'height': height, 'top': top, 'left': left
5251 9777 });
5252 9778 var name = el.attr('name');
@@ -5251,9 +9777,9 @@
5251 9777 });
5252 9778 var name = el.attr('name');
5253 9779 var type = el.attr('type');
5254 9780 var value = el.attr('value');
5255 - if (el.is("select")) {
9781 + if (el.is('select')) {
5256 9782 type = 'select';
5257 9783 value = '';
5258 9784 el.find('option').each(function () {
5259 9785 value += jQuery(this).attr('value');
@@ -5269,72 +9795,114 @@
5269 9795 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5270 9796 }
5271 9797 return loaded;
5272 9798 },
9799 + // e2pdf.visual.mapper.apply
5273 9800 apply: function (el) {
5274 9801 if (e2pdf.visual.mapper.selected) {
9802 + var history = [];
9803 + history.push(e2pdf.visual.mapper.selected.clone(true));
9804 + e2pdf.history.set('element_change', history);
5275 9805 var name = el.data('name');
9806 + var group = el.data('name');
5276 9807 var value = el.data('value');
5277 - var type = el.data('type');
5278 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5279 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5280 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5281 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5282 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5283 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5284 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5285 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5286 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5287 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5288 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5289 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9808 + if (e2pdf.visual.mapper.cursorPosStart !== null && e2pdf.visual.mapper.cursorPosEnd !== null) {
9809 + var value = e2pdf.visual.mapper.selected.find('.e2pdf-inner-element').val();
9810 + var textBefore = value.substring(0, e2pdf.visual.mapper.cursorPosStart);
9811 + var textAfter = value.substring(e2pdf.visual.mapper.cursorPosEnd, value.length);
9812 + var final = textBefore + name + textAfter;
9813 + if (!e2pdf.static.vm.replace) {
9814 + e2pdf.visual.mapper.cursorPosStart = e2pdf.visual.mapper.cursorPosEnd + name.length;
9815 + e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart;
9816 + } else {
9817 + e2pdf.visual.mapper.cursorPosEnd = e2pdf.visual.mapper.cursorPosStart + name.length;
9818 + }
9819 + name = final;
9820 + } else if (e2pdf.visual.mapper.cursorRange !== null) {
9821 + e2pdf.visual.mapper.cursorRange.deleteContents();
9822 + var node = document.createTextNode(name);
9823 + e2pdf.visual.mapper.cursorRange.insertNode(node);
5290 9824 } else {
5291 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9825 + if (!e2pdf.static.vm.replace) {
9826 + e2pdf.element.init(e2pdf.visual.mapper.selected);
9827 + name = e2pdf.properties.getValue(e2pdf.visual.mapper.selected, 'value', 'string') + name;
9828 + }
5292 9829 }
5293 -
5294 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5295 - e2pdf.visual.mapper.selected = null;
9830 + switch (e2pdf.visual.mapper.selected.data('data-type')) {
9831 + case 'e2pdf-checkbox':
9832 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9833 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9834 + break;
9835 + case 'e2pdf-radio':
9836 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', group);
9837 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9838 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
9839 + break;
9840 + case 'e2pdf-select':
9841 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9842 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
9843 + break;
9844 + case 'e2pdf-image':
9845 + case 'e2pdf-qrcode':
9846 + case 'e2pdf-barcode':
9847 + case 'e2pdf-graph':
9848 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9849 + break;
9850 + default:
9851 + if (e2pdf.visual.mapper.cursorRange === null) {
9852 + e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
9853 + }
9854 + break;
9855 + }
9856 + if (e2pdf.visual.mapper.cursorRange === null) {
9857 + e2pdf.properties.render(e2pdf.visual.mapper.selected);
9858 + }
5296 9859 }
5297 - e2pdf.dialog.close();
9860 + if (e2pdf.static.vm.close) {
9861 + e2pdf.dialog.close();
9862 + }
5298 9863 }
5299 9864 }
5300 9865 },
5301 9866 zoom: {
5302 - zoom: 1,
9867 + scale: 1,
5303 9868 click: {
5304 9869 x: 0,
5305 9870 y: 0
5306 9871 },
5307 9872 apply: function (el) {
5308 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5309 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5310 - });
5311 - if (el.val() !== '100') {
5312 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5313 - }
5314 -
5315 - e2pdf.zoom.zoom = el.val() / 100;
5316 - jQuery('#e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('#e2pdf-tpl').width()) / 2);
9873 + const scale = Number(el.val()) / 100;
9874 + e2pdf.zoom.scale = scale;
9875 + const tpl = jQuery('.e2pdf-tpl');
9876 + const inner = jQuery('.e2pdf-tpl-inner');
9877 + document.documentElement.style.setProperty('--e2pdf-scale', scale);
9878 + document.documentElement.style.setProperty('--e2pdf-scale-width', `${Math.max(100, 100 / scale)}%`);
9879 + tpl.toggleClass('e2pdf-zoom', scale !== 1);
9880 + tpl.scrollLeft(((inner.width() * e2pdf.zoom.scale) - tpl.width()) / 2);
5317 9881 }
5318 9882 }
5319 9883 };
5320 -
5321 -
5322 -
5323 9884 jQuery(window).resize(function () {
5324 9885 e2pdf.visual.mapper.clear();
5325 - if (this.e2pdfResizeTO)
9886 + if (e2pdf.static.observer !== null) {
9887 + e2pdf.static.observer.disconnect();
9888 + e2pdf.static.observer = null;
9889 + }
9890 + if (this.e2pdfResizeTO) {
5326 9891 clearTimeout(this.e2pdfResizeTO);
9892 + }
5327 9893 this.e2pdfResizeTO = setTimeout(function () {
5328 9894 jQuery(this).trigger('e2pdfResizeEnd');
5329 9895 }, 500);
5330 9896 });
5331 -
9897 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9898 + jQuery(this).parent().addClass('e2pdf-hide');
9899 + jQuery(this).trigger('e2pdfResizeEnd');
9900 +});
5332 9901 jQuery(window).bind('e2pdfResizeEnd', function () {
5333 9902 e2pdf.dialog.rebuild();
5334 9903 });
5335 -
5336 -jQuery(' input.e2pdf-collapse[type="checkbox"]').live('change', function (e) {
9904 +jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
5337 9905 var collapse = jQuery(this).attr('data-collapse');
5338 9906 if (collapse) {
5339 9907 if (jQuery(this).is(':checked')) {
5340 9908 jQuery('.' + collapse).removeClass('e2pdf-hide');
@@ -5342,83 +9910,196 @@
5342 9910 jQuery('.' + collapse).addClass('e2pdf-hide');
5343 9911 }
5344 9912 }
5345 9913 });
9914 +jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
5346 9915
9916 + const form = jQuery(this).closest('form');
9917 + const value = jQuery(this).val();
9918 + jQuery('.e2pdf-import-overwrite-option').addClass('e2pdf-hide');
9919 + if (value == '1') {
9920 + form.find('[name="options[template_id]"]').closest('li').removeClass('e2pdf-hide');
9921 + } else if (value == '2') {
9922 + form.find('[name="options[custom_template_id]"]').closest('li').removeClass('e2pdf-hide');
9923 + }
9924 +
9925 + form.off('submit.confirmOverwrite');
9926 + if (value == '1' || value == '2' || value == '3') {
9927 + form.on('submit.confirmOverwrite', function (e) {
9928 + let message = '';
9929 + if (value == '3') {
9930 + message = e2pdf.lang.get('The Template ID used in the backup will be overwritten. Continue?');
9931 + } else {
9932 + const template_id = value == '1' ? form.find('[name="options[template_id]"]').val() : form.find('[name="options[custom_template_id]"]').val();
9933 + if (!template_id) {
9934 + return true;
9935 + }
9936 + message = e2pdf.lang.get('This will overwrite the Template ID "%d". Continue?').replace('%d', template_id);
9937 + }
9938 + if (!confirm(message)) {
9939 + e.preventDefault();
9940 + return false;
9941 + }
9942 + });
9943 + }
9944 +});
9945 +jQuery(document).on('change', '.e2pdf-export-disposition input[type="radio"]', function (e) {
9946 + if (jQuery(this).val() == 'attachment') {
9947 + jQuery(this).closest('form').removeAttr('target');
9948 + } else {
9949 + jQuery(this).closest('form').attr('target', '_blank');
9950 + }
9951 +});
9952 +jQuery(document).on('click', 'a.e2pdf-collapse', function (e) {
9953 + var collapse = jQuery(this).attr('data-collapse');
9954 + if (collapse) {
9955 + if (jQuery(this).hasClass('e2pdf-collapsed')) {
9956 + jQuery('.' + collapse).addClass('e2pdf-hide');
9957 + jQuery(this).removeClass('e2pdf-collapsed');
9958 + } else {
9959 + jQuery('.' + collapse).removeClass('e2pdf-hide');
9960 + jQuery(this).addClass('e2pdf-collapsed');
9961 + }
9962 + }
9963 +});
5347 9964 jQuery(document).ready(function () {
5348 -
5349 - jQuery('a.e2pdf-link[disabled="disabled"]').live('click', function (e) {
9965 + jQuery('body').removeClass('e2pdf-loading');
9966 + if (jQuery('.e2pdf-select2').length > 0) {
9967 + jQuery('.e2pdf-select2').attr('disabled', false);
9968 + }
9969 + jQuery(document).on('click', 'a.e2pdf-link[disabled="disabled"]', function (e) {
5350 9970 e.stopPropagation();
5351 9971 e.preventDefault();
5352 9972 e.stopImmediatePropagation();
5353 9973 return false;
5354 9974 });
5355 -
5356 - jQuery('.e2pdf-action-add').live('click', function (e) {
9975 + jQuery(document).on('click', '.e2pdf-argument-add', function (e) {
9976 + var parent = jQuery(this).closest('.e2pdf-grid');
9977 + var argument = parent.find('.e2pdf-argument').first().clone();
9978 + var index = parent.find('.e2pdf-argument').length + 1;
9979 + argument.find('input').val('').attr('placeholder', 'arg' + index);
9980 + argument.appendTo(parent.find('.e2pdf-arguments'));
9981 + });
9982 + jQuery(document).on('click', '.e2pdf-argument-delete', function (e) {
9983 + var parent = jQuery(this).closest('.e2pdf-grid');
9984 + if (parent.find('.e2pdf-argument').length > 1) {
9985 + parent.find('.e2pdf-argument').last().remove();
9986 + }
9987 + });
9988 + jQuery(document).on('click', '.e2pdf-search-replace-add', function (e) {
9989 + var parent = jQuery('.e2pdf-search-replaces').first();
9990 + var search_replace = parent.find('.e2pdf-search-replace').first().clone();
9991 + search_replace.find('textarea').val('');
9992 + search_replace.appendTo(parent);
9993 + });
9994 + jQuery(document).on('click', '.e2pdf-search-replace-delete', function (e) {
9995 + var parent = jQuery(this).closest('.e2pdf-search-replace');
9996 + if (parent) {
9997 + parent.remove();
9998 + }
9999 + });
10000 + jQuery(document).on('click', '.e2pdf-action-add', function (e) {
5357 10001 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5358 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
10002 + var form = jQuery(this).closest('form');
10003 + if (form.attr('id') === 'e2pdf-tpl-actions') {
10004 + var element = jQuery('.e2pdf-tpl');
10005 + } else if (form.attr('id') === 'e2pdf-page-options') {
10006 + var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]').first();
10007 + } else {
10008 + var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10009 + }
5359 10010 e2pdf.actions.add(element, actions);
5360 - jQuery(this).trigger('e2pdfResizeEnd');
5361 10011 });
10012 + jQuery(document).on('click', '.e2pdf-action-condition-add', function (e) {
10013 + var action_conditions = jQuery(this).closest('.e2pdf-action');
10014 + var form = jQuery(this).closest('form');
10015 + if (form.attr('id') === 'e2pdf-tpl-actions') {
10016 + var element = jQuery('.e2pdf-tpl');
10017 + } else if (form.attr('id') === 'e2pdf-page-options') {
10018 + var element = jQuery('.e2pdf-page[data-page_id="' + form.find('input[name="page_id"]').val() + '"]');
10019 + } else {
10020 + var element = jQuery(".e2pdf-element[data-element_id='" + form.find('input[name="element_id"]').val() + "']").first();
10021 + }
5362 10022
5363 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5364 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5365 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5366 10023 e2pdf.actions.conditions.add(element, action_conditions);
5367 - jQuery(this).trigger('e2pdfResizeEnd');
5368 10024 });
5369 -
5370 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5371 - if (!confirm(e2pdfLang['Action will be removed! Are you sure want to continue?'])) {
10025 + jQuery(document).on('click', '.e2pdf-action-delete', function (e) {
10026 + if (!confirm(e2pdf.lang.get('Action will be removed! Continue?'))) {
5372 10027 return false;
5373 10028 }
5374 10029 var action = jQuery(this).closest('.e2pdf-action');
5375 10030 e2pdf.actions.delete(action);
5376 10031 });
5377 -
5378 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10032 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5379 10033 var action = jQuery(this).closest('.e2pdf-action');
10034 + e2pdf.actions.duplicate(action);
10035 + });
10036 + jQuery(document).on('click', '.e2pdf-action-condition-delete', function (e) {
10037 + var action = jQuery(this).closest('.e2pdf-action');
5380 10038 if (action.find('.e2pdf-condition').length === 1) {
5381 - alert(e2pdfLang["Last condition can't be removed"]);
10039 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5382 10040 return false;
5383 10041 }
5384 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10042 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5385 10043 return false;
5386 10044 }
5387 10045 var condition = jQuery(this).closest('.e2pdf-condition');
5388 10046 e2pdf.actions.conditions.delete(condition);
5389 10047 });
5390 -
5391 - jQuery('#e2pdf-zoom').live('change', function () {
10048 + jQuery(document).on('click', '.e2pdf-delete-reupload-page', function (e) {
10049 + jQuery(this).closest('.e2pdf-grid').find('input[name^="positions"]').val('0');
10050 + });
10051 + jQuery(document).on('click', '.e2pdf-delete-pdf', function (e) {
10052 + if (!confirm(e2pdf.lang.get('Pre-uploaded PDF will be removed from E2Pdf Template! Continue?'))) {
10053 + return false;
10054 + }
10055 + var history = [];
10056 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
10057 + var el = jQuery(this);
10058 + history.push(el.clone(true));
10059 + el.css('background', '');
10060 + });
10061 + e2pdf.history.set('page_change', history, e2pdf.pdf.settings.get('pdf'));
10062 + jQuery('.e2pdf-form-builder > input[name="pdf"]').val('');
10063 + });
10064 + jQuery(document).on('change', '#e2pdf-zoom', function (e) {
5392 10065 e2pdf.zoom.apply(jQuery(this));
5393 10066 });
5394 -
5395 - jQuery('#e2pdf-extension').live('change', function () {
10067 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5396 10068 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5397 10069 });
5398 -
5399 - jQuery('#e2pdf-item').live('change', function () {
10070 + jQuery(document).on('change', '.e2pdf-item', function (e) {
5400 10071 if (jQuery(this).val() == '-1') {
5401 - jQuery(this).closest('form').find('#e2pdf-w-empty,#e2pdf-w-auto').attr('disabled', 'disabled');
10072 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10073 + jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10074 + jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10075 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10076 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10077 + } else if (jQuery(this).val() == '-2') {
10078 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10079 + jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10080 + jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10081 + jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10082 + jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
5402 10083 } else {
5403 - jQuery(this).closest('form').find('#e2pdf-w-empty,#e2pdf-w-auto').attr('disabled', false);
10084 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10085 + jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10086 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10087 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
5404 10088 }
5405 10089 });
5406 -
5407 - jQuery('.e2pdf-action-action select, .e2pdf-action-property select').live('change', function () {
10090 + jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
5408 10091 var action = jQuery(this).closest('.e2pdf-action');
5409 - e2pdf.actions.change(action);
10092 + e2pdf.actions.change(action, jQuery(this));
5410 10093 });
5411 -
5412 - jQuery('.e2pdf-tabs a').live('click', function () {
5413 - jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide()
10094 + jQuery(document).on('click', '.e2pdf-tabs a', function (e) {
10095 + jQuery(this).closest('.e2pdf-tabs-panel').find('.tabs-panel').hide();
5414 10096 var tab = jQuery(this);
5415 10097 tab.closest('ul').find('li').removeClass('active');
5416 10098 tab.parent('li').addClass('active');
5417 10099 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5418 10100 });
5419 -
5420 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10101 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5421 10102 var parent = jQuery(this).closest('.e2pdf-closed');
5422 10103 if (parent.hasClass('e2pdf-opened')) {
5423 10104 parent.removeClass('e2pdf-opened');
5424 10105 } else {
@@ -5427,197 +10108,358 @@
5427 10108 });
5428 10109 parent.addClass('e2pdf-opened');
5429 10110 }
5430 10111 });
5431 -
5432 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10112 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5433 10113 e.preventDefault();
5434 10114 var el = jQuery(this);
10115 + if (el.attr('form-id') == 'e2pdf-build-form' && el.hasClass('restore')) {
10116 + if (!confirm(e2pdf.lang.get('Saved Template will be overwritten! Continue?'))) {
10117 + return false;
10118 + }
10119 + }
10120 + if (el.attr('form-id') == 'license_key') {
10121 + if (el.closest('form').find('input[name="license_key"]').val().trim() == '' && !confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10122 + return false;
10123 + }
10124 + }
5435 10125 e2pdf.request.submitForm(el);
5436 10126 });
5437 -
5438 - jQuery('.e2pdf-submit-local').live('click', function () {
10127 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5439 10128 var el = jQuery(this);
5440 - e2pdf.request.submitLocal(el);
10129 + if (el.hasClass('e2pdf-noclose')) {
10130 + e2pdf.request.submitLocal(el, true);
10131 + } else {
10132 + e2pdf.request.submitLocal(el);
10133 + }
5441 10134 });
5442 -
5443 - jQuery('.e2pdf-delete').live('click', function () {
5444 - 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?'];
10135 + jQuery(document).on('click', '.e2pdf-delete', function (e) {
10136 + var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements will be removed! Continue?') : e2pdf.lang.get('Element will be removed! Continue?');
5445 10137 if (!confirm(message)) {
5446 10138 e2pdf.delete('.e2pdf-context');
5447 10139 return false;
5448 10140 }
10141 + var history = [];
5449 10142 for (var key in e2pdf.element.selected) {
5450 10143 var selected = e2pdf.element.selected[key];
10144 + e2pdf.element.init(selected);
10145 + history.push(selected.clone(true));
5451 10146 e2pdf.element.delete(selected);
5452 10147 }
5453 -
10148 + e2pdf.history.set('element_delete', history);
5454 10149 e2pdf.element.unselect();
5455 10150 });
5456 -
5457 - jQuery('.e2pdf-copy').live('click', function () {
5458 - e2pdf.element.unbuffer();
5459 -
10151 + jQuery(document).on('click', '.e2pdf-copy', function (e) {
10152 + var type = jQuery(this).attr('type');
10153 + if (type == 'elements') {
10154 + e2pdf.storage.delete('elements');
10155 + }
5460 10156 for (var key in e2pdf.element.selected) {
5461 10157 var selected = e2pdf.element.selected[key];
5462 - e2pdf.element.copy(selected);
10158 + e2pdf.copy(type, selected);
5463 10159 }
5464 10160 });
5465 -
5466 - jQuery('.e2pdf-hidden').live('click', function () {
10161 + jQuery(document).on('click', '.e2pdf-paste', function (e) {
10162 + var type = jQuery(this).attr('type');
10163 + if (type == 'elements' || type == 'elements-in-place') {
10164 + e2pdf.paste(type);
10165 + } else {
10166 + var history = [];
10167 + for (var key in e2pdf.element.selected) {
10168 + var selected = e2pdf.element.selected[key];
10169 + history.push(selected.clone(true));
10170 + e2pdf.paste(type, selected);
10171 + }
10172 + e2pdf.history.set('element_change', history);
10173 + }
10174 + });
10175 + jQuery(document).on('click', '.e2pdf-quick-readonly', function (e) {
10176 + var history = [];
5467 10177 for (var key in e2pdf.element.selected) {
5468 10178 var selected = e2pdf.element.selected[key];
10179 + if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10180 + history.push(selected.clone(true));
10181 + e2pdf.properties.set(selected, 'readonly', jQuery(this).attr('data-value'));
10182 + }
10183 + }
10184 + e2pdf.history.set('element_change', history);
10185 + });
10186 + jQuery(document).on('click', '.e2pdf-quick-border', function (e) {
10187 + var history = [];
10188 + for (var key in e2pdf.element.selected) {
10189 + var selected = e2pdf.element.selected[key];
10190 + if (jQuery.inArray(selected.data('data-type'), ['e2pdf-input', 'e2pdf-textarea', 'e2pdf-checkbox', 'e2pdf-radio', 'e2pdf-select']) !== -1) {
10191 + history.push(selected.clone(true));
10192 + e2pdf.properties.set(selected, 'border', jQuery(this).attr('data-value'));
10193 + e2pdf.properties.render(selected);
10194 + } else if (jQuery.inArray(selected.data('data-type'), ['e2pdf-signature', 'e2pdf-html', 'e2pdf-image', 'e2pdf-qrcode', 'e2pdf-barcode', 'e2pdf-graph', 'e2pdf-page-number']) !== -1) {
10195 + history.push(selected.clone(true));
10196 + e2pdf.properties.set(selected, 'border_top', jQuery(this).attr('data-value'));
10197 + e2pdf.properties.set(selected, 'border_left', jQuery(this).attr('data-value'));
10198 + e2pdf.properties.set(selected, 'border_right', jQuery(this).attr('data-value'));
10199 + e2pdf.properties.set(selected, 'border_bottom', jQuery(this).attr('data-value'));
10200 + e2pdf.properties.render(selected);
10201 + }
10202 + }
10203 + e2pdf.history.set('element_change', history);
10204 + });
10205 + jQuery(document).on('click', '.e2pdf-cut', function (e) {
10206 + e2pdf.storage.delete('elements');
10207 + var history = [];
10208 + for (var key in e2pdf.element.selected) {
10209 + var selected = e2pdf.element.selected[key];
10210 + e2pdf.element.init(selected);
10211 + history.push(selected.clone(true));
10212 + e2pdf.copy('elements', selected);
10213 + e2pdf.element.delete(selected);
10214 + }
10215 + e2pdf.history.set('element_delete', history);
10216 + });
10217 + jQuery(document).on('click', '.e2pdf-inner-context-menu > a', function (e) {
10218 + e.preventDefault();
10219 + e.stopPropagation();
10220 + e.stopImmediatePropagation();
10221 + });
10222 + jQuery(document).on('mouseover', '.e2pdf-inner-context-menu', function (e) {
10223 + jQuery(this).find('ul').show();
10224 + });
10225 + jQuery(document).on('mouseout', '.e2pdf-inner-context-menu', function (e) {
10226 + jQuery(this).find('ul').hide();
10227 + });
10228 + jQuery(document).on('click', '.e2pdf-resize', function (e) {
10229 + for (var key in e2pdf.element.selected) {
10230 + var selected = e2pdf.element.selected[key];
10231 + selected.addClass('e2pdf-focused');
10232 + }
10233 + });
10234 + jQuery(document).on('click', '.e2pdf-hidden', function (e) {
10235 + for (var key in e2pdf.element.selected) {
10236 + var selected = e2pdf.element.selected[key];
5469 10237 e2pdf.element.hide(selected);
5470 10238 }
5471 10239 });
5472 -
5473 - jQuery('.e2pdf-unhidden').live('click', function () {
10240 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5474 10241 for (var key in e2pdf.element.selected) {
5475 10242 var selected = e2pdf.element.selected[key];
5476 10243 e2pdf.element.show(selected);
5477 10244 }
5478 10245 });
5479 -
5480 - jQuery('.e2pdf-cut').live('click', function () {
5481 - e2pdf.element.unbuffer();
10246 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5482 10247 for (var key in e2pdf.element.selected) {
5483 10248 var selected = e2pdf.element.selected[key];
5484 - e2pdf.element.cut(selected);
10249 + e2pdf.properties.set(selected, 'locked', '1');
10250 + selected.addClass('e2pdf-locked');
5485 10251 }
5486 10252 });
5487 -
5488 - jQuery('.e2pdf-paste').live('click', function () {
5489 - e2pdf.element.paste(false);
10253 + jQuery(document).on('click', '.e2pdf-unlock', function (e) {
10254 + for (var key in e2pdf.element.selected) {
10255 + var selected = e2pdf.element.selected[key];
10256 + e2pdf.properties.set(selected, 'locked', '0');
10257 + selected.removeClass('e2pdf-locked');
10258 + }
5490 10259 });
5491 -
5492 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5493 - e2pdf.element.paste(true);
10260 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10261 + return false;
5494 10262 });
5495 -
5496 - jQuery('.e2pdf-checkbox').live('click', function () {
10263 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5497 10264 return false;
5498 10265 });
5499 -
5500 - jQuery('.e2pdf-radio').live('click', function () {
5501 - return false;
10266 + jQuery(document).on('click', '.e2pdf-hidden-elements', function (e) {
10267 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10268 + jQuery('html').addClass('e2pdf-show-all-elements');
10269 + jQuery(this).removeClass('e2pdf-inactive');
10270 + } else {
10271 + jQuery('html').removeClass('e2pdf-show-all-elements');
10272 + jQuery(this).addClass('e2pdf-inactive');
10273 + }
5502 10274 });
5503 -
5504 - jQuery('.e2pdf-hide-controls').live('click', function () {
5505 -
10275 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5506 10276 if (jQuery(this).hasClass('e2pdf-inactive')) {
5507 - jQuery('html').removeClass('e2pdf-hide-markup');
10277 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5508 10278 jQuery(this).removeClass('e2pdf-inactive');
5509 10279 } else {
5510 - jQuery('html').addClass('e2pdf-hide-markup');
10280 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5511 10281 jQuery(this).addClass('e2pdf-inactive');
5512 10282 }
5513 10283 });
5514 -
5515 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10284 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5516 10285 if (jQuery(this).hasClass('e2pdf-inactive')) {
5517 - jQuery('html').addClass('e2pdf-show-all-elements');
5518 10286 jQuery(this).removeClass('e2pdf-inactive');
5519 10287 } else {
5520 - jQuery('html').removeClass('e2pdf-show-all-elements');
5521 10288 jQuery(this).addClass('e2pdf-inactive');
5522 10289 }
10290 + jQuery('.e2pdf-html').each(function () {
10291 + var el = jQuery(this).parent();
10292 + var children = jQuery(this);
10293 + if (children.is('textarea')) {
10294 + e2pdf.properties.set(el, 'value', children.val());
10295 + } else {
10296 + e2pdf.properties.set(el, 'value', children.html());
10297 + }
10298 + e2pdf.properties.render(el);
10299 + });
5523 10300 });
5524 -
5525 - jQuery('.e2pdf-add-page').live('click', function () {
10301 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5526 10302 if (e2pdf.pdf.settings.get('pdf')) {
5527 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5528 - } else if (e2pdfParams['license_type'] == 'FREE') {
5529 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
10303 + alert(e2pdf.lang.get('Adding new pages not available in "Uploaded PDF"'));
10304 + } else if (e2pdf_params['license_type'] == 'FREE') {
10305 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
5530 10306 } else {
5531 10307 e2pdf.pages.createPage();
5532 10308 }
5533 10309 });
5534 -
5535 - jQuery('.e2pdf-create-pdf').live('click', function () {
10310 + jQuery(document).on('click', '.e2pdf-undo', function (e) {
10311 + e2pdf.history.undo();
10312 + });
10313 + jQuery(document).on('click', '.e2pdf-redo', function (e) {
10314 + e2pdf.history.redo();
10315 + });
10316 + jQuery(document).on('click', '.e2pdf-create-pdf', function (e) {
10317 + if (e2pdf.url.get('revision_id')) {
10318 + alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10319 + return false;
10320 + }
5536 10321 e2pdf.createPdf(jQuery(this));
5537 10322 });
5538 -
5539 - jQuery('.e2pdf-up-page').live('click', function () {
10323 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5540 10324 e2pdf.pages.movePage(jQuery(this), 'up');
5541 10325 });
5542 -
5543 - jQuery('.e2pdf-down-page').live('click', function () {
10326 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5544 10327 e2pdf.pages.movePage(jQuery(this), 'down');
5545 10328 });
5546 -
5547 - jQuery('.e2pdf-delete-page').live('click', function () {
10329 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5548 10330 if (e2pdf.pdf.settings.get('pdf')) {
5549 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10331 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5550 10332 return false;
5551 10333 }
5552 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10334 + var history = [];
10335 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5553 10336 var el = jQuery(this);
10337 + history.push(el.closest('.e2pdf-page').clone(true));
5554 10338 e2pdf.pages.deletePage(el);
5555 10339 });
10340 + history.reverse();
10341 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5556 10342 } else {
5557 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10343 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5558 10344 return false;
5559 10345 }
5560 10346 var el = jQuery(jQuery(this));
10347 + var history = [];
10348 + history.push(el.closest('.e2pdf-page').clone(true));
10349 + e2pdf.history.set('page_delete', history);
5561 10350 e2pdf.pages.deletePage(el);
5562 10351 }
5563 10352 });
5564 -
5565 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5566 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10353 + jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10354 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5567 10355 return false;
5568 10356 }
5569 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10357 + var history = [];
10358 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5570 10359 var el = jQuery(this);
10360 + history.push(el.closest('.e2pdf-page').clone(true));
5571 10361 e2pdf.pages.deletePage(el);
5572 10362 });
10363 + history.reverse();
10364 + if (e2pdf.pdf.settings.get('pdf')) {
10365 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
10366 + } else {
10367 + e2pdf.history.set('page_delete', history);
10368 + }
5573 10369 });
5574 -
5575 - jQuery('.e2pdf-delete-font').live('click', function () {
5576 - if (!confirm(e2pdfLang['Are you sure want to remove font?'])) {
10370 + jQuery(document).on('click', '.e2pdf-delete-font', function (e) {
10371 + if (!confirm(e2pdf.lang.get('Font will be removed! Continue?'))) {
5577 10372 return false;
5578 10373 }
5579 10374 var el = jQuery(jQuery(this));
5580 10375 e2pdf.font.delete(el);
5581 10376 });
5582 -
5583 - jQuery('.e2pdf-modal').live('click', function () {
10377 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5584 10378 e2pdf.dialog.create(jQuery(this));
5585 10379 });
5586 -
5587 - jQuery('body').live('click', function (e) {
10380 + jQuery(document).on('click', 'body', function (e) {
5588 10381 e2pdf.delete('.e2pdf-context');
5589 10382 });
5590 -
5591 - jQuery('#e2pdf-font').live('change', function () {
5592 - e2pdf.font.load(jQuery(this));
5593 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery(this));
10383 + jQuery(document).on('change', '.e2pdf-export-template', function (e) {
10384 + e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
5594 10385 });
5595 -
5596 - jQuery('#e2pdf-export-template').live('change', function () {
5597 - e2pdf.request.submitRequest('e2pdf_templates', jQuery(this));
10386 + jQuery(document).on('change', '.e2pdf-export-dataset', function (e) {
10387 + if (jQuery(this).is('select')) {
10388 + var data = {};
10389 + data['id'] = jQuery('.e2pdf-export-template').val();
10390 + data['datasets'] = {};
10391 + jQuery('.e2pdf-export-dataset').each(function () {
10392 + data['datasets'][jQuery(this).attr('name')] = jQuery(this).val();
10393 + });
10394 + e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10395 + }
5598 10396 });
5599 -
5600 - jQuery('#e2pdf-export-dataset').live('change', function () {
10397 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5601 10398 var data = {};
5602 - data['template'] = jQuery('#e2pdf-export-template').val();
5603 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5604 - e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
10399 + data['id'] = jQuery('.e2pdf-export-template').val();
10400 + data['dataset'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().val();
10401 + data['name'] = jQuery(this).closest('.e2pdf-select2-wrapper').find('select').first().attr('name');
10402 + e2pdf.request.submitRequest('e2pdf_datasets_refresh', jQuery(this), data);
5605 10403 });
10404 + jQuery(document).on('change', 'fieldset.e2pdf-fieldset input[type="checkbox"]', function (e) {
10405 + if (jQuery(this).is(':checked')) {
10406 + if (jQuery(this).val() == '') {
10407 + jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', true);
10408 + }
10409 + } else {
10410 + if (jQuery(this).val() == '') {
10411 + jQuery(this).closest('fieldset').find('input[type="checkbox"]').prop('checked', false);
10412 + } else {
10413 + jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', false);
10414 + }
10415 + }
5606 10416
5607 - jQuery('#e2pdf-font-size').live('change', function () {
5608 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery(this));
10417 + if (jQuery(this).closest('fieldset').find('input[type="checkbox"]').length - 1 == jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length) {
10418 + jQuery(this).closest('fieldset').find('input[type="checkbox"][value=""]').prop('checked', true);
10419 + }
10420 +
10421 + if (jQuery(this).closest('fieldset').find('input[type="checkbox"]:checked').length > 0) {
10422 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
10423 + } else {
10424 + jQuery('.e2pdf-export-form-submit').attr('disabled', true);
10425 + }
5609 10426 });
5610 -
5611 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5612 - if (jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
10427 + jQuery(document).on('change', '#e2pdf-font', function (e) {
10428 + e2pdf.font.load(jQuery(this));
10429 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery(this));
10430 + });
10431 + jQuery(document).on('change', '#e2pdf-font-size', function (e) {
10432 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery(this));
10433 + });
10434 + jQuery(document).on('change', '#e2pdf-text-align', function (e) {
10435 + var text_align = jQuery(this).val();
10436 + jQuery('.e2pdf-tpl .e2pdf-element ').each(function () {
10437 + if (
10438 + jQuery(this).data('data-type') == 'e2pdf-input'
10439 + || jQuery(this).data('data-type') == 'e2pdf-textarea'
10440 + || jQuery(this).data('data-type') == 'e2pdf-html'
10441 + || jQuery(this).data('data-type') == 'e2pdf-page-number'
10442 + || jQuery(this).data('data-type') == 'e2pdf-link'
10443 + ) {
10444 + if (e2pdf.properties.getValue(jQuery(this), 'text_align', 'string') == '') {
10445 + var children = e2pdf.element.children(jQuery(this));
10446 + children.css('text-align', text_align);
10447 + }
10448 + }
10449 + });
10450 + });
10451 + jQuery(document).on('keydown', '.e2pdf-numbers', function (e) {
10452 + if (jQuery.inArray(e.key, ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'Delete', 'Tab', 'Escape', 'Enter', '+', '-', '.']) !== -1 ||
10453 + jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
5613 10454 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5614 10455 (e.shiftKey === true && e.keyCode === 187) ||
5615 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10456 + (e.keyCode >= 35 && e.keyCode <= 40)
10457 + ) {
5616 10458
5617 - if ((e.keyCode === 109 || e.keyCode === 189) && !jQuery(this).hasClass('e2pdf-number-negative')) {
10459 + if ((e.keyCode === 189 || e.keyCode === 109 || e.key === '-') && !jQuery(this).hasClass('e2pdf-number-negative')) {
5618 10460 e.preventDefault();
5619 - } else if ((e.keyCode === 187 || e.keyCode === 107) && !jQuery(this).hasClass('e2pdf-number-positive')) {
10461 + } else if ((e.keyCode === 187 || e.keyCode === 107 || e.key === '+') && !jQuery(this).hasClass('e2pdf-number-positive')) {
5620 10462 e.preventDefault();
5621 10463 } else {
5622 10464 return;
5623 10465 }
@@ -5625,10 +10467,19 @@
5625 10467 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5626 10468 e.preventDefault();
5627 10469 }
5628 10470 });
5629 -
5630 - jQuery('.e2pdf-numbers').live('change', function (e) {
10471 + jQuery(document).on('keydown', '.e2pdf-enter', function (e) {
10472 + if (e.which == 13) {
10473 + e.preventDefault();
10474 + if (jQuery(this).attr('name') == 'email' || jQuery(this).attr('name') == 'email_code') {
10475 + jQuery(this).closest('form').find('.e2pdf-submit-form[action="e2pdf_email"]').click();
10476 + } else {
10477 + jQuery(this).closest('form').find('.e2pdf-submit-form').click();
10478 + }
10479 + }
10480 + });
10481 + jQuery(document).on('change', '.e2pdf-numbers', function (e) {
5631 10482 var value = jQuery(this).val().trim();
5632 10483 var prefix = '';
5633 10484 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5634 10485 prefix = '+';
@@ -5638,18 +10489,22 @@
5638 10489 value = 0;
5639 10490 }
5640 10491 jQuery(this).val(prefix + value);
5641 10492 });
5642 -
5643 - jQuery('#e2pdf-font-color').live('change', function () {
5644 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
10493 + jQuery(document).on('change', '#e2pdf-font-color', function (e) {
10494 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
5645 10495 });
5646 -
5647 - jQuery('#e2pdf-line-height').live('change', function () {
5648 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery(this));
10496 + jQuery(document).on('change', '#e2pdf-rtl', function (e) {
10497 + if (jQuery(this).is(':checked')) {
10498 + jQuery('.e2pdf-tpl').attr('dir', 'rtl');
10499 + } else {
10500 + jQuery('.e2pdf-tpl').attr('dir', false);
10501 + }
5649 10502 });
5650 -
5651 - jQuery('.e2pdf-upload').live('click', function (e) {
10503 + jQuery(document).on('change', '#e2pdf-line-height', function (e) {
10504 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery(this));
10505 + });
10506 + jQuery(document).on('click', '.e2pdf-upload', function (e) {
5652 10507 e.preventDefault();
5653 10508 for (var key in e2pdf.element.selected) {
5654 10509 var selected = e2pdf.element.selected[key];
5655 10510 e2pdf.mediaUploader.init(selected);
@@ -5654,25 +10509,43 @@
5654 10509 var selected = e2pdf.element.selected[key];
5655 10510 e2pdf.mediaUploader.init(selected);
5656 10511 }
5657 10512 });
5658 -
5659 - jQuery('.e2pdf-visual').live('click', function (e) {
10513 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5660 10514 for (var key in e2pdf.element.selected) {
5661 10515 var selected = e2pdf.element.selected[key];
5662 10516 e2pdf.visual.mapper.init(selected);
5663 10517 }
5664 10518 });
5665 -
5666 - jQuery('.e2pdf-apply-wysiwyg').live('click', function () {
10519 + document.addEventListener('selectionchange', function () {
10520 + if (jQuery('.e2pdf-focused').length == 1 && jQuery('.e2pdf-focused').first().data('data-type') === 'e2pdf-html' && !jQuery('.e2pdf-focused').first().find('.e2pdf-html').is('textarea')) {
10521 + jQuery('.e2pdf-apply-wysiwyg').removeClass('e2pdf-inactive');
10522 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', false);
10523 + const selection = window.getSelection();
10524 + if (selection && selection.toString().length == 0) {
10525 + jQuery('.e2pdf-apply-wysiwyg-selection').addClass('e2pdf-inactive');
10526 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10527 + }
10528 + } else {
10529 + jQuery('.e2pdf-apply-wysiwyg').addClass('e2pdf-inactive');
10530 + jQuery('.e2pdf-apply-wysiwyg-change').attr('disabled', true);
10531 + }
10532 + });
10533 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg', function (e) {
10534 + e.preventDefault();
10535 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10536 + return;
10537 + }
5667 10538 e2pdf.wysiwyg.apply(jQuery(this));
5668 10539 });
5669 -
5670 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5671 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10540 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5672 10541 e.preventDefault();
5673 10542 e.stopPropagation();
5674 10543 e.stopImmediatePropagation();
10544 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10545 + return;
10546 + }
10547 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5675 10548 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5676 10549 if (!color_panel.hasClass('wp-picker-active')) {
5677 10550 color_panel.find('.wp-color-result').click();
5678 10551 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5683,32 +10556,84 @@
5683 10556 color_panel.append(close);
5684 10557 }
5685 10558 }
5686 10559 });
5687 -
5688 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5689 - e2pdf.wysiwyg.apply(jQuery(this));
10560 + jQuery(document).on('click', '.e2pdf-wysiwyg-table', function (e) {
10561 + e.preventDefault();
10562 + e.stopPropagation();
10563 + e.stopImmediatePropagation();
10564 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10565 + return;
10566 + }
10567 + var gridContainer = jQuery('.e2pdf-wysiwyg-table-grid');
10568 + if (gridContainer.hasClass('e2pdf-hide')) {
10569 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10570 + gridContainer.removeClass('e2pdf-hide').empty();
10571 + for (let i = 0; i < 100; i++) {
10572 + let gridItem = jQuery('<div>');
10573 + gridItem.on('mouseover', function () {
10574 + let rowCol = calculateRowCol(i);
10575 + highlightGrid(gridContainer, rowCol.rows, rowCol.cols);
10576 + });
10577 + gridItem.on('mouseout', function () {
10578 + highlightGrid(gridContainer, 0, 0);
10579 + });
10580 + gridItem.on('click', function () {
10581 + e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
10582 + let rowCol = calculateRowCol(i);
10583 + let html = '<table>\n';
10584 + for (let r = 0; r < rowCol.rows; r++) {
10585 + html += '<tr>\n';
10586 + for (let c = 0; c < rowCol.cols; c++) {
10587 + html += '<td class="r' + r + ' c' + c + '">r' + r + ' c' + c + '</td>\n';
10588 + }
10589 + html += '</tr>\n';
10590 + }
10591 + html += '</table>\n';
10592 + document.execCommand('insertHTML', false, html);
10593 + gridContainer.addClass('e2pdf-hide');
10594 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10595 + });
10596 + gridContainer.append(gridItem);
10597 + }
10598 + gridContainer.append(jQuery('<span>').text('0x0'));
10599 + } else {
10600 + gridContainer.addClass('e2pdf-hide');
10601 + }
10602 + function calculateRowCol(index) {
10603 + let rows = Math.floor(index / 10) + 1;
10604 + let cols = (index % 10) + 1;
10605 + return {rows, cols};
10606 + }
10607 + function highlightGrid(gridContainer, rows, cols) {
10608 + gridContainer.find('div').each(function (idx) {
10609 + let itemRowCol = calculateRowCol(idx);
10610 + gridContainer.find('span').text(rows + 'x' + cols);
10611 + if (itemRowCol.rows <= rows && itemRowCol.cols <= cols) {
10612 + jQuery(this).addClass('e2pdf-highlight');
10613 + } else {
10614 + jQuery(this).removeClass('e2pdf-highlight');
10615 + }
10616 + });
10617 + }
5690 10618 });
5691 -
5692 - jQuery('#e2pdf-wysiwyg-fontsize').live('change', function () {
10619 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5693 10620 e2pdf.wysiwyg.apply(jQuery(this));
5694 10621 });
5695 -
5696 - jQuery('#e2pdf-wysiwyg-font').live('change', function () {
5697 - e2pdf.wysiwyg.apply(jQuery(this));
10622 + jQuery(document).on('change', '.e2pdf-upload-pdf', function (e) {
10623 + e2pdf.request.upload('e2pdf_upload', jQuery('.e2pdf-w-upload'));
5698 10624 });
10625 + jQuery(document).on('click', '.e2pdf-w-reupload', function (e) {
10626 + if (e2pdf.url.get('revision_id')) {
10627 + alert(e2pdf.lang.get('Not Available in Revision Edit Mode'));
10628 + return false;
10629 + }
5699 10630
5700 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5701 - e2pdf.request.upload('e2pdf_upload', jQuery('#e2pdf-w-upload'));
5702 - });
5703 -
5704 - jQuery('#e2pdf-w-reupload').live('click', function () {
5705 10631 var message = "";
5706 10632 if (e2pdf.static.unsaved) {
5707 - message += e2pdfLang['WARNING: Template has changes after last save! Changes will be lost!'] + "\r\n";
10633 + message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
5708 10634 }
5709 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5710 -
10635 + message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
5711 10636 jQuery(this).attr('disabled', 'disabled');
5712 10637 jQuery(this).closest('form').append(
5713 10638 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
5714 10639 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
@@ -5713,79 +10638,128 @@
5713 10638 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
5714 10639 jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
5715 10640 jQuery('<div>', {'class': 'e2pdf-w100'}).append(
5716 10641 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
5717 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdfLang['Confirm'])
10642 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
5718 10643 ),
5719 10644 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
5720 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdfLang['Cancel'])
10645 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
5721 10646 )
5722 10647 )
5723 10648 )
5724 10649 );
5725 10650 });
5726 -
5727 - jQuery('.e2pdf-confirmation-confirm').live('click', function () {
10651 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
10652 + if (e2pdf.static.unsaved) {
10653 + if (!confirm(e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost!'))) {
10654 + var revision_id = e2pdf.url.get('revision_id') ? e2pdf.url.get('revision_id') : '0';
10655 + jQuery(this).val(revision_id);
10656 + return false;
10657 + }
10658 + }
10659 + e2pdf.static.unsaved = false;
10660 + var revision_id = jQuery(this).val();
10661 + var template_id = e2pdf.pdf.settings.get('ID');
10662 + var url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id + '&revision_id=' + revision_id);
10663 + if (revision_id === '0') {
10664 + url = e2pdf.url.build('e2pdf-templates', 'action=edit&id=' + template_id);
10665 + }
10666 + jQuery(this).attr('disabled', 'disabled');
10667 + location.href = url;
10668 + });
10669 + jQuery(document).on('click', '#e2pdf-unlink-license-key', function (e) {
10670 + if (!confirm(e2pdf.lang.get('Website will be forced to use "FREE" License Key! Continue?'))) {
10671 + return false;
10672 + }
10673 + jQuery('html').addClass('e2pdf-loading');
10674 + var data = {};
10675 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
10676 + });
10677 + jQuery(document).on('click', '#e2pdf-deactivate-all-templates', function (e) {
10678 + if (!confirm(e2pdf.lang.get('All Templates for this Website will be deactivated! Continue?'))) {
10679 + return false;
10680 + }
10681 + jQuery('html').addClass('e2pdf-loading');
10682 + var data = {};
10683 + e2pdf.request.submitRequest('e2pdf_deactivate_all_templates', jQuery(this), data);
10684 + });
10685 + jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
5728 10686 jQuery(this).closest('.e2pdf-confirmation').remove();
5729 - jQuery('#e2pdf-w-reupload').attr('disabled', false);
5730 - jQuery('#e2pdf-reupload-pdf').click();
10687 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10688 + jQuery('.e2pdf-reupload-pdf').click();
5731 10689 });
5732 -
5733 - jQuery('.e2pdf-confirmation-cancel').live('click', function () {
10690 + jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
5734 10691 jQuery(this).closest('.e2pdf-confirmation').remove();
5735 - jQuery('#e2pdf-w-reupload').attr('disabled', false);
10692 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
5736 10693 });
5737 -
5738 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5739 - e2pdf.request.upload('e2pdf_reupload', jQuery('#e2pdf-w-reupload'));
10694 + jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10695 + e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
5740 10696 });
5741 -
5742 - jQuery('.e2pdf-scale-field').live('change', function () {
5743 - var value = jQuery(this).val();
5744 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5745 - fields.find('input[name="height"]').attr('readonly', false);
5746 - fields.find('input[name="width"]').attr('readonly', false);
5747 - var image = new Image();
5748 - image.src = fields.find('*[name="value"]').val();
5749 - image.onload = function ()
5750 - {
5751 - if (value === e2pdf.static.const.WIDTH) {
5752 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5753 - } else if (value === e2pdf.static.const.HEIGHT) {
5754 - fields.find('input[name="width"]').attr('readonly', 'readonly');
10697 + jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
10698 + jQuery(this).autocomplete("search", "");
10699 + });
10700 + jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10701 + if (!jQuery(this).is(':checked')) {
10702 + if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10703 + return false;
5755 10704 }
5756 - };
10705 + }
5757 10706 });
5758 -
5759 - jQuery('.e2pdf-el-properties input[name="group"]').live('click', function () {
5760 - jQuery(this).autocomplete("search", "");
5761 - });
5762 -
5763 - jQuery('.e2pdf-settings-style-change').live('change', function () {
10707 + jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
5764 10708 e2pdf.event.fire('after.settings.style.change');
5765 10709 });
5766 -
5767 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10710 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5768 10711 e2pdf.event.fire('after.settings.template.change');
5769 10712 });
5770 -
5771 - jQuery('select[name="preset"]').live('change', function () {
10713 + jQuery(document).on('keyup', '.e2pdf-fieldset-filter', function (e) {
10714 + var form = jQuery(this).closest('form');
10715 + var field = jQuery(this).attr('field');
10716 + var search = jQuery(this).val();
10717 + var fieldset = jQuery(this).closest('.e2pdf-fieldset-wrapper').find('.e2pdf-fieldset[name="' + field + '"]').first();
10718 + var options = fieldset.data('options');
10719 + var regex = new RegExp(search, "gi");
10720 + fieldset.empty();
10721 + jQuery.each(options, function (i) {
10722 + var option = options[i];
10723 + if (i == 0 || option.value.match(regex) !== null) {
10724 + fieldset.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': field + '[]', 'type': 'checkbox', 'value': option.key}))));
10725 + }
10726 + });
10727 + fieldset.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
10728 + if (fieldset.find('input[type="checkbox"]').length > 1) {
10729 + form.find('.e2pdf-submit-form').attr('disabled', false);
10730 + } else {
10731 + fieldset.find('input[type="checkbox"]').attr('disabled', true);
10732 + form.find('.e2pdf-submit-form').attr('disabled', true);
10733 + }
10734 + if (this.changeTrigger) {
10735 + clearTimeout(this.changeTrigger);
10736 + }
10737 + this.changeTrigger = setTimeout(function () {
10738 + fieldset.trigger('change');
10739 + }, 1000);
10740 + });
10741 + jQuery(document).on('change', 'select[name="preset"]', function (e) {
5772 10742 if (jQuery(this).val() !== '') {
5773 10743 var form = jQuery(this).closest('form');
5774 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10744 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5775 10745 form.find('input[name="width"]').val(size.width);
5776 10746 form.find('input[name="height"]').val(size.height);
5777 10747 }
5778 10748 });
5779 -
5780 - jQuery('.e2pdf-vm-element').live('click', function () {
10749 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5781 10750 e2pdf.visual.mapper.apply(jQuery(this));
5782 10751 });
5783 -
5784 - jQuery('.e2pdf-drag').live('click', function (e) {
10752 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10753 + e2pdf.element.unselect();
10754 + e2pdf.element.unfocus();
5785 10755 var el = jQuery(this).closest('.e2pdf-element');
5786 -
5787 - if (e.ctrlKey) {
10756 + e2pdf.element.focus(el);
10757 + });
10758 + jQuery(document).on('click', '.e2pdf-drag', function (e) {
10759 + var el = jQuery(this).closest('.e2pdf-element');
10760 + e2pdf.element.unfocus();
10761 + if (e.ctrlKey || e.metaKey) {
5788 10762 if (el.hasClass('e2pdf-selected')) {
5789 10763 e2pdf.element.unselect(el);
5790 10764 } else {
5791 10765 e2pdf.element.select(el);
@@ -5807,23 +10781,21 @@
5807 10781 }
5808 10782 }
5809 10783 }
5810 10784 });
5811 -
5812 - jQuery('.e2pdf-activate-template').live('click', function () {
10785 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5813 10786 var data = {};
5814 10787 data['id'] = jQuery(this).attr('data-id');
5815 10788 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5816 10789 });
5817 -
5818 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10790 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5819 10791 var data = {};
5820 10792 data['id'] = jQuery(this).attr('data-id');
5821 10793 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5822 10794 });
5823 -
5824 - jQuery('.e2pdf-delete-item').live('click', function () {
5825 - if (!confirm(e2pdfLang['Dataset will be removed! Are you sure want to continue?'])) {
10795 + jQuery(document).on('click', '.e2pdf-delete-item', function (e) {
10796 + e.preventDefault();
10797 + if (!confirm(e2pdf.lang.get('Dataset will be removed! Continue?'))) {
5826 10798 return false;
5827 10799 }
5828 10800 var data = {};
5829 10801 data['template'] = jQuery(this).attr('template');
@@ -5829,11 +10801,11 @@
5829 10801 data['template'] = jQuery(this).attr('template');
5830 10802 data['dataset'] = jQuery(this).attr('dataset');
5831 10803 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5832 10804 });
5833 -
5834 - jQuery('.e2pdf-delete-items').live('click', function () {
5835 - if (!confirm(e2pdfLang['All datasets will be removed! Are you sure want to continue?'])) {
10805 + jQuery(document).on('click', '.e2pdf-delete-items', function (e) {
10806 + e.preventDefault();
10807 + if (!confirm(e2pdf.lang.get('All datasets will be removed! Continue?'))) {
5836 10808 return false;
5837 10809 }
5838 10810 var data = {};
5839 10811 data['template'] = jQuery(this).attr('template');
@@ -5838,17 +10810,103 @@
5838 10810 var data = {};
5839 10811 data['template'] = jQuery(this).attr('template');
5840 10812 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5841 10813 });
5842 -
5843 - jQuery('.e2pdf-copy-field').live('click', function () {
10814 + jQuery(document).on('click', '.e2pdf-bulk-action', function (e) {
10815 + e.preventDefault();
10816 + switch (jQuery(this).attr('action')) {
10817 + case 'start':
10818 + if (!confirm(e2pdf.lang.get('The bulk export task will be started! Continue?'))) {
10819 + return false;
10820 + }
10821 + break;
10822 + case 'stop':
10823 + if (!confirm(e2pdf.lang.get('The bulk export task will be stopped! Continue?'))) {
10824 + return false;
10825 + }
10826 + break;
10827 + case 'delete':
10828 + if (!confirm(e2pdf.lang.get('The bulk export task will be removed! Continue?'))) {
10829 + return false;
10830 + }
10831 + break;
10832 + }
10833 + var data = {};
10834 + data['bulk'] = jQuery(this).attr('bulk');
10835 + data['action'] = jQuery(this).attr('action');
10836 + e2pdf.request.submitRequest('e2pdf_bulk_action', jQuery(this), data);
10837 + });
10838 + jQuery(document).on('click', '.e2pdf-copy-field', function (e) {
5844 10839 jQuery(this).select();
5845 10840 });
5846 -
5847 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10841 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5848 10842 jQuery(this).autocomplete("search", '');
5849 10843 });
5850 -
10844 + jQuery(document).on('change', 'input[name="vm_hidden"]', function (e) {
10845 + if (jQuery(this).is(':checked')) {
10846 + e2pdf.static.vm.hidden = true;
10847 + } else {
10848 + e2pdf.static.vm.hidden = false;
10849 + }
10850 + e2pdf.visual.mapper.rebuild();
10851 + });
10852 + jQuery(document).on('keyup', 'input[name="vm_search"]', function (e) {
10853 + var value = jQuery(this).val();
10854 + if (value != '') {
10855 + jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').hide();
10856 + jQuery('.e2pdf-vm-content').find('label').filter(function (c) {
10857 + return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10858 + }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10859 + jQuery('.e2pdf-vm-content').find('input').filter(function (c) {
10860 + return jQuery(this).val().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10861 + }).closest('.e2pdf-vm-item').show().closest('.e2pdf-grid').prev('h3').show();
10862 + jQuery('.e2pdf-vm-content').find('h3').filter(function (c) {
10863 + return jQuery(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0;
10864 + }).show().next('.e2pdf-grid').find('.e2pdf-vm-item').show();
10865 + } else {
10866 + jQuery('.e2pdf-vm-content').find('.e2pdf-vm-item, h3').show();
10867 + }
10868 + e2pdf.visual.mapper.rebuild();
10869 + });
10870 + jQuery(document).on('change', 'input[name="vm_replace"]', function (e) {
10871 + if (jQuery(this).is(':checked')) {
10872 + e2pdf.static.vm.replace = true;
10873 + } else {
10874 + e2pdf.static.vm.replace = false;
10875 + }
10876 + });
10877 + jQuery(document).on('change', 'input[name="vm_close"]', function (e) {
10878 + if (jQuery(this).is(':checked')) {
10879 + e2pdf.static.vm.close = true;
10880 + } else {
10881 + e2pdf.static.vm.close = false;
10882 + }
10883 + });
10884 + jQuery(document).on('paste', '.e2pdf-inner-element[contenteditable="true"]', function (e) {
10885 + if (typeof e.clipboardData != 'undefined') {
10886 + var clipboardData = e.clipboardData;
10887 + } else if (typeof window.clipboardData != 'undefined') {
10888 + var clipboardData = window.clipboardData;
10889 + } else {
10890 + var clipboardData = e.originalEvent.clipboardData;
10891 + }
10892 + if (typeof clipboardData.getData('text/plain') != 'undefined') {
10893 + e.preventDefault();
10894 + let data = clipboardData.getData('text/html') || clipboardData.getData('text/plain');
10895 + data = e2pdf.helper.stripHTML(
10896 + data,
10897 + 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
10898 + 'div', 'p', 'summary', 'details', 'figure', 'figure', 'figcaption', 'blockquote', 'main',
10899 + 'span', 'a', 'br',
10900 + 'b', 's', 'i', 'u', 'em', 'strong', 'small',
10901 + 'sub', 'sup',
10902 + 'table', 'th', 'thead', 'tbody', 'tr', 'td',
10903 + 'ul', 'ol', 'li',
10904 + 'a'
10905 + );
10906 + return document.execCommand('insertHtml', false, data);
10907 + }
10908 + });
5851 10909 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5852 10910 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5853 10911 }
5854 10912
@@ -5871,8 +10929,16 @@
5871 10929 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5872 10930 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5873 10931 }
5874 10932
10933 + if (jQuery('.e2pdf-form-builder > input[name="item1"]').length > 0) {
10934 + e2pdf.pdf.settings.set('item1', jQuery('.e2pdf-form-builder > input[name="item1"]').val());
10935 + }
10936 +
10937 + if (jQuery('.e2pdf-form-builder > input[name="item2"]').length > 0) {
10938 + e2pdf.pdf.settings.set('item2', jQuery('.e2pdf-form-builder > input[name="item2"]').val());
10939 + }
10940 +
5875 10941 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5876 10942 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5877 10943 }
5878 10944
@@ -5883,27 +10949,21 @@
5883 10949 if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
5884 10950 e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
5885 10951 }
5886 10952
5887 - if (jQuery('.e2pdf-form-builder > input[name="templates_limit"]').length > 0) {
5888 - e2pdf.pdf.settings.set('templates_limit', jQuery('.e2pdf-form-builder > input[name="templates_limit"]').val());
10953 + if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10954 + e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
5889 10955 }
5890 10956
5891 10957 jQuery('#e2pdf-zoom').trigger('change');
5892 -
5893 10958 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5894 - if (e2pdf.url.get('template_id')) {
10959 + if (e2pdf.url.get('id')) {
10960 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5895 10961 e2pdf.static.autoloadExport = true;
5896 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5897 - jQuery('#e2pdf-export-template').val('0').change();
5898 - } else {
5899 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5900 - }
5901 10962 }
5902 10963 }
5903 10964
5904 10965 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5905 -
5906 10966 jQuery('.e2pdf-color-picker-load').each(function () {
5907 10967 jQuery(this).wpColorPicker(
5908 10968 {
5909 10969 defaultColor: function () {
@@ -5919,9 +10979,8 @@
5919 10979 }
5920 10980 }
5921 10981 ).removeClass('e2pdf-color-picker-load');
5922 10982 });
5923 -
5924 10983 jQuery(window).bind("beforeunload", function (e) {
5925 10984 if (e2pdf.static.unsaved) {
5926 10985 var confirmationMessage = "\o/";
5927 10986 (e || window.event).returnValue = confirmationMessage;
@@ -5927,16 +10986,8 @@
5927 10986 (e || window.event).returnValue = confirmationMessage;
5928 10987 return confirmationMessage;
5929 10988 }
5930 10989 });
5931 -
5932 - jQuery(document).bind("mousedown", function (e) {
5933 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5934 - e2pdf.delete('.e2pdf-fade');
5935 - e2pdf.delete('.e2pdf-properties-window');
5936 - }
5937 - });
5938 -
5939 10990 if (jQuery('#e2pdf-build-form').length > 0) {
5940 10991 postboxes.add_postbox_toggles(pagenow);
5941 10992 }
5942 10993
@@ -5942,16 +10993,14 @@
5942 10993
5943 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5944 10995 && typeof (jQuery.ui.droppable) != 'undefined'
5945 10996 && jQuery('.e2pdf-tpl').length > 0) {
5946 -
5947 - // jQuery UI scale bug fix
10997 +// jQuery UI scale bug fix
5948 10998 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5949 10999 var i, j,
5950 11000 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5951 11001 type = event ? event.type : null,
5952 11002 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5953 -
5954 11003 droppablesLoop: for (i = 0; i < m.length; i++) {
5955 11004 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5956 11005 continue;
5957 11006 }
@@ -5968,51 +11017,49 @@
5968 11017 if (type === "mousedown") {
5969 11018 m[ i ]._activate.call(m[ i ], event);
5970 11019 }
5971 11020 m[ i ].offset = m[ i ].element.offset();
5972 - m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
11021 + m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
5973 11022 }
5974 - }
5975 -
5976 - jQuery(".e2pdf-load-el").each(function () {
11023 + };
11024 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
11025 + var actions = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-actions').val());
11026 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), actions);
11027 + var properties = JSON.parse(jQuery('.e2pdf-load-tpl').find('.e2pdf-data-properties').val());
11028 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), properties);
11029 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(properties['css']));
11030 + jQuery('.e2pdf-load-tpl').remove();
11031 + jQuery('.e2pdf-load-el').each(function () {
5977 11032 var element = jQuery(this);
5978 11033 var type = element.attr('data-type');
5979 11034 var page = element.closest('.e2pdf-page');
5980 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5981 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5982 -
11035 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11036 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5983 11037 properties['width'] = element.attr('data-width');
5984 11038 properties['height'] = element.attr('data-height');
5985 11039 properties['top'] = element.attr('data-top');
5986 11040 properties['left'] = element.attr('data-left');
5987 - if (type == 'e2pdf-html') {
5988 - properties['value'] = element.find('.e2pdf-data-value').html();
5989 - } else {
5990 - properties['value'] = element.find('.e2pdf-data-value').text();
5991 - }
5992 - //changed
11041 + properties['value'] = element.find('.e2pdf-data-value').val();
11042 + properties['name'] = element.find('.e2pdf-data-name').val();
5993 11043 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5994 11044 jQuery(this).replaceWith(el);
5995 11045 e2pdf.properties.render(el);
5996 11046 });
5997 -
5998 - jQuery(".e2pdf-load-page").each(function () {
11047 + jQuery('.e2pdf-load-page').each(function () {
5999 11048 var page = jQuery(this);
6000 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
6001 - var properties = JSON.parse(page.find('.e2pdf-data-properties').text());
11049 + var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11050 + var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
6002 11051 page.find('.e2pdf-data-properties').remove();
6003 11052 page.find('.e2pdf-data-actions').remove();
6004 11053 page.removeClass('e2pdf-load-page');
6005 - e2pdf.pages.createPage(page, properties, actions);
6006 -
11054 + e2pdf.pages.createPage(page, properties, actions, true);
6007 11055 });
6008 -
6009 - jQuery(".e2pdf-be").draggable({
11056 + jQuery('.e2pdf-be').draggable({
11057 + cursorAt: {left: 0, top: 0},
6010 11058 helper: function () {
6011 11059 var element = jQuery(this).clone();
6012 11060 var type = element.attr('data-type');
6013 - var page = element.closest('.e2pdf-page')
6014 - //changed
11061 + var page = element.closest('.e2pdf-page');
6015 11062 var el = e2pdf.element.create(type, page, false, false, true);
6016 11063 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
6017 11064 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
6018 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -6018,35 +11065,40 @@
6018 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
6019 11066 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
6020 11067 e2pdf.properties.render(el);
6021 11068 el.css('z-index', 1);
6022 - if (e2pdf.zoom.zoom != 1) {
6023 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
6024 - el.css('transform-origin', '0 0');
11069 + if (e2pdf.zoom.scale != 1) {
11070 + el.css({
11071 + 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11072 + 'transform-origin': '0 0'
11073 + });
6025 11074 }
11075 +
11076 + var w = el.width() * e2pdf.zoom.scale;
11077 + var h = el.height() * e2pdf.zoom.scale;
11078 + e2pdf.static.guide.x = Math.round(w / 2);
11079 + e2pdf.static.guide.y = Math.round(h / 2);
11080 + jQuery('.e2pdf-be').draggable('option', 'cursorAt', {
11081 + left: Math.round(w / 2),
11082 + top: Math.round(h / 2)
11083 + });
6026 11084 return el;
6027 11085 },
6028 11086 start: function (ev, ui) {
6029 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
6030 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
6031 11087 e2pdf.element.unselect();
6032 11088 },
6033 11089 stop: function (ev, ui) {
6034 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
6035 -
11090 + ui.position.top = Math.round(ui.position.top);
11091 + ui.position.left = Math.round(ui.position.left);
11092 + jQuery('.e2pdf-guide-v, .e2pdf-guide-h').hide();
6036 11093 },
6037 11094 drag: function (ev, ui) {
6038 -
6039 11095 if (e2pdf.static.drag.page !== null) {
6040 -
6041 11096 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
6042 -
6043 11097 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
6044 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
6045 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
6046 -
11098 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11099 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
6047 11100 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
6048 -
6049 11101 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
6050 11102 jQuery.each(el_guides, function (i, elemGuide) {
6051 11103 if (guide.type == elemGuide.type) {
6052 11104 var prop = guide.type == "h" ? "top" : "left";
@@ -6058,23 +11110,21 @@
6058 11110 }
6059 11111 }
6060 11112 });
6061 11113 });
6062 -
6063 11114 if (guides.top.dist <= e2pdf.static.guide.distance) {
6064 - 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();
11115 + e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().top / e2pdf.zoom.scale - 1).show();
6065 11116 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
6066 11117 ui.position.top = snap_top;
6067 11118 } else {
6068 - jQuery(".e2pdf-guide-h").hide();
11119 + jQuery('.e2pdf-guide-h').hide();
6069 11120 }
6070 -
6071 11121 if (guides.left.dist <= e2pdf.static.guide.distance) {
6072 - 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();
6073 - var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left + 5;
11122 + e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.scale - e2pdf.static.drag.page.offset().left / e2pdf.zoom.scale - 1).show();
11123 + var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left;
6074 11124 ui.position.left = snap_left;
6075 11125 } else {
6076 - jQuery(".e2pdf-guide-v").hide();
11126 + jQuery('.e2pdf-guide-v').hide();
6077 11127 }
6078 11128 }
6079 11129 }
6080 11130 });
@@ -6080,141 +11130,155 @@
6080 11130 });
6081 11131 e2pdf.welcomeScreen();
6082 11132 }
6083 11133 e2pdf.font.load(jQuery('#e2pdf-font'));
6084 -
6085 11134 jQuery('.e2pdf-load-font').each(function () {
6086 11135 e2pdf.font.load(jQuery(this));
6087 11136 jQuery(this).remove();
6088 11137 });
6089 -
6090 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
6091 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
6092 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
6093 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
11138 + e2pdf.font.apply(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font'));
11139 + e2pdf.font.size(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-size'));
11140 + e2pdf.font.line(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-line-height'));
11141 + e2pdf.font.fontcolor(jQuery('.e2pdf-tpl'), jQuery('#e2pdf-font-color'));
6094 11142 }
6095 11143
6096 11144 jQuery(document).keydown(function (e) {
6097 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
6098 - e.preventDefault();
6099 - switch (e.which) {
6100 - case 37:
6101 - //left
6102 - var diff = 1;
6103 -
6104 - for (var key in e2pdf.element.selected) {
6105 - var selected = e2pdf.element.selected[key];
6106 - if (parseFloat(selected.css('left')) > 0) {
6107 - if (parseFloat(selected.css('left')) - 1 < 0) {
6108 - diff = Math.min(diff, selected.css('left'));
11145 + if (jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
11146 + if (jQuery('.e2pdf-focused').length == 0
11147 + && jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0
11148 + && jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0
11149 + && Object.keys(e2pdf.element.selected).length > 0) {
11150 + e.preventDefault();
11151 + switch (e.which) {
11152 + case 37:
11153 + // left
11154 + var diff = 1;
11155 + for (var key in e2pdf.element.selected) {
11156 + var selected = e2pdf.element.selected[key];
11157 + if (parseFloat(selected.css('left')) > 0) {
11158 + if (parseFloat(selected.css('left')) - 1 < 0) {
11159 + diff = Math.min(diff, selected.css('left'));
11160 + }
11161 + } else {
11162 + diff = Math.min(diff, 0);
6109 11163 }
6110 - } else {
6111 - diff = Math.min(diff, 0);
6112 11164 }
6113 - }
6114 11165
6115 - for (var key in e2pdf.element.selected) {
6116 - var selected = e2pdf.element.selected[key];
6117 - selected.finish().animate({
6118 - left: "-=" + diff
6119 - }, 0);
6120 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6121 - }
6122 - break;
6123 - case 38:
6124 - //top
6125 - var diff = 1;
6126 -
6127 - for (var key in e2pdf.element.selected) {
6128 - var selected = e2pdf.element.selected[key];
6129 - if (parseFloat(selected.css('top')) > 0) {
6130 - if (parseFloat(selected.css('top')) - 1 < 0) {
6131 - diff = Math.min(diff, selected.css('top'));
11166 + for (var key in e2pdf.element.selected) {
11167 + var selected = e2pdf.element.selected[key];
11168 + selected.finish().animate({
11169 + left: "-=" + diff
11170 + }, 0);
11171 + e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11172 + }
11173 + break;
11174 + case 38:
11175 + // top
11176 + var diff = 1;
11177 + for (var key in e2pdf.element.selected) {
11178 + var selected = e2pdf.element.selected[key];
11179 + if (parseFloat(selected.css('top')) > 0) {
11180 + if (parseFloat(selected.css('top')) - 1 < 0) {
11181 + diff = Math.min(diff, selected.css('top'));
11182 + }
11183 + } else {
11184 + diff = Math.min(diff, 0);
6132 11185 }
6133 - } else {
6134 - diff = Math.min(diff, 0);
6135 11186 }
6136 - }
6137 11187
6138 - for (var key in e2pdf.element.selected) {
6139 - var selected = e2pdf.element.selected[key];
6140 - selected.finish().animate({
6141 - top: "-=" + diff
6142 - }, 0);
6143 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6144 - }
6145 - break;
6146 - case 39:
6147 - //right
6148 - var diff = 1;
6149 -
6150 - for (var key in e2pdf.element.selected) {
6151 - var selected = e2pdf.element.selected[key];
6152 - if (parseFloat(selected.css('right')) > 0) {
6153 - if (parseFloat(selected.css('right')) - 1 < 0) {
6154 - diff = Math.min(diff, selected.css('right'));
11188 + for (var key in e2pdf.element.selected) {
11189 + var selected = e2pdf.element.selected[key];
11190 + selected.finish().animate({
11191 + top: "-=" + diff
11192 + }, 0);
11193 + e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11194 + }
11195 + break;
11196 + case 39:
11197 + // right
11198 + var diff = 1;
11199 + for (var key in e2pdf.element.selected) {
11200 + var selected = e2pdf.element.selected[key];
11201 + if (parseFloat(selected.css('right')) > 0) {
11202 + if (parseFloat(selected.css('right')) - 1 < 0) {
11203 + diff = Math.min(diff, selected.css('right'));
11204 + }
11205 + } else {
11206 + diff = Math.min(diff, 0);
6155 11207 }
6156 - } else {
6157 - diff = Math.min(diff, 0);
6158 11208 }
6159 - }
6160 11209
6161 - for (var key in e2pdf.element.selected) {
6162 - var selected = e2pdf.element.selected[key];
6163 - selected.finish().animate({
6164 - left: "+=" + diff
6165 - }, 0);
6166 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6167 - }
6168 - break;
6169 - case 40:
6170 - //down
6171 - var diff = 1;
6172 -
6173 - for (var key in e2pdf.element.selected) {
6174 - var selected = e2pdf.element.selected[key];
6175 - if (parseFloat(selected.css('bottom')) > 0) {
6176 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
6177 - diff = Math.min(diff, selected.css('bottom'));
11210 + for (var key in e2pdf.element.selected) {
11211 + var selected = e2pdf.element.selected[key];
11212 + selected.finish().animate({
11213 + left: "+=" + diff
11214 + }, 0);
11215 + e2pdf.properties.set(selected, 'left', e2pdf.helper.getFloat(selected.css('left')));
11216 + }
11217 + break;
11218 + case 40:
11219 + // down
11220 + var diff = 1;
11221 + for (var key in e2pdf.element.selected) {
11222 + var selected = e2pdf.element.selected[key];
11223 + if (parseFloat(selected.css('bottom')) > 0) {
11224 + if (parseFloat(selected.css('bottom')) - 1 < 0) {
11225 + diff = Math.min(diff, selected.css('bottom'));
11226 + }
11227 + } else {
11228 + diff = Math.min(diff, 0);
6178 11229 }
6179 - } else {
6180 - diff = Math.min(diff, 0);
6181 11230 }
6182 - }
6183 11231
6184 - for (var key in e2pdf.element.selected) {
6185 - var selected = e2pdf.element.selected[key];
6186 - selected.finish().animate({
6187 - top: "+=" + diff
6188 - }, 0);
6189 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6190 - }
6191 - break;
6192 - case 46:
6193 - //delete
6194 - 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?'];
6195 - if (!confirm(message)) {
6196 - e2pdf.delete('.e2pdf-context');
6197 - return false;
6198 - }
6199 -
6200 - for (var key in e2pdf.element.selected) {
6201 - var selected = e2pdf.element.selected[key];
6202 - e2pdf.element.delete(selected);
6203 - }
6204 -
6205 - e2pdf.element.unselect();
6206 - break;
11232 + for (var key in e2pdf.element.selected) {
11233 + var selected = e2pdf.element.selected[key];
11234 + selected.finish().animate({
11235 + top: "+=" + diff
11236 + }, 0);
11237 + e2pdf.properties.set(selected, 'top', e2pdf.helper.getFloat(selected.css('top')));
11238 + }
11239 + break;
11240 + case 46:
11241 + // delete
11242 + var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdf.lang.get('Elements will be removed! Continue?') : e2pdf.lang.get('Element will be removed! Continue?');
11243 + if (!confirm(message)) {
11244 + e2pdf.delete('.e2pdf-context');
11245 + return false;
11246 + }
11247 + var history = [];
11248 + for (var key in e2pdf.element.selected) {
11249 + var selected = e2pdf.element.selected[key];
11250 + e2pdf.element.init(selected);
11251 + history.push(selected.clone(true));
11252 + e2pdf.element.delete(selected);
11253 + }
11254 + e2pdf.history.set('element_delete', history);
11255 + e2pdf.element.unselect();
11256 + break;
11257 + }
6207 11258 }
6208 11259 }
6209 11260 });
6210 -
6211 - jQuery(document).live('click', function (e) {
11261 + jQuery(document).on('click', '.e2pdf-select2', function (e) {
11262 + e2pdf.select2.init(jQuery(this));
11263 + });
11264 + jQuery(document).on('click', '.e2pdf-select2-dropdown > div', function (e) {
11265 + e2pdf.select2.click(jQuery(this));
11266 + });
11267 + jQuery(document).on('keyup', '.e2pdf-select2', function (e) {
11268 + e2pdf.select2.filter(jQuery(this));
11269 + });
11270 + jQuery(document).on('mousedown', 'body', function (e) {
6212 11271 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
6213 11272 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
6214 - jQuery(e.target).closest('.e2pdf-element').length == 0
6215 - ) {
11273 + jQuery(e.target).closest('.e2pdf-element').length == 0 &&
11274 + jQuery(e.target).closest('.e2pdf-dialog-visual-mapper').length == 0 &&
11275 + jQuery(e.target).closest('.e2pdf-dialog-element-properties').length == 0 &&
11276 + jQuery(e.target).closest('.e2pdf-panel-options').length == 0 &&
11277 + jQuery(e.target).closest('.e2pdf-wysiwyg-color').length == 0 &&
11278 + e.ctrlKey !== true) {
6216 11279 e2pdf.element.unselect();
11280 + e2pdf.element.unfocus();
6217 11281 }
6218 11282 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
6219 11283 jQuery('.e2pdf-closed').each(function () {
6220 11284 jQuery(this).removeClass('e2pdf-opened');
@@ -6219,9 +11283,20 @@
6219 11283 jQuery('.e2pdf-closed').each(function () {
6220 11284 jQuery(this).removeClass('e2pdf-opened');
6221 11285 });
6222 11286 }
11287 + if (!jQuery(e.target).hasClass('e2pdf-wysiwyg-table-grid') && !jQuery(e.target).parent().hasClass('e2pdf-wysiwyg-table-grid')) {
11288 + jQuery('.e2pdf-wysiwyg-table-grid').addClass('e2pdf-hide');
11289 + }
11290 + if (jQuery(e.target).closest('.e2pdf-select2-dropdown').length == 0) {
11291 + jQuery('.e2pdf-select2-dropdown').each(function () {
11292 + e2pdf.select2.close(jQuery(this));
11293 + });
11294 + }
6223 11295 });
6224 -
6225 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11296 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
6226 11297 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11298 + if (jQuery('.e2pdf-bulks-list').length > 0)
11299 + {
11300 + e2pdf.bulk.progress();
11301 + }
6227 11302 });