PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.56
E2Pdf – Export Pdf Tool for WordPress v1.32.56
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 +8327 -3120 1.03.07 → 1.32.56 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,14 +593,29 @@
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 619 e2pdf.pdf.settings.options[key] = value;
217 620 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
218 621 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
@@ -220,22 +623,31 @@
220 623 var input = jQuery('<input>',
221 624 {
222 625 'type': 'hidden',
223 626 'name': key,
224 - 'value': value,
627 + 'value': value
225 628 });
226 629 jQuery('.e2pdf-form-builder').append(input);
227 630 }
228 631
229 - if (key == 'extension') {
230 - 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);
231 637 }
232 638 },
233 - //e2pdf.pdf.settings.set
639 + // e2pdf.pdf.settings.set
234 640 set: function (key, value) {
235 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 + }
236 648 },
237 - //e2pdf.pdf.settings.get
649 + // e2pdf.pdf.settings.get
238 650 get: function (key) {
239 651 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
240 652 return null;
241 653 } else {
@@ -243,63 +655,69 @@
243 655 }
244 656 }
245 657 }
246 658 },
247 - //e2pdf.static
659 + // e2pdf.static
248 660 static: {
249 - //e2pdf.static.unsaved
661 + // e2pdf.static.unsaved
250 662 unsaved: false,
251 - //e2pdf.static.mediaUploader
663 + // e2pdf.static.mediaUploader
252 664 mediaUploader: false,
253 - //e2pdf.static.autoloadExport
665 + // e2pdf.static.autoloadExport
254 666 autoloadExport: false,
255 - //e2pdf.static.selectionRange
667 + // e2pdf.static.selectionRange
256 668 selectionRange: null,
257 - //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
258 681 guide: {
259 - //e2pdf.static.guide.guides
682 + // e2pdf.static.guide.guides
260 683 guides: [],
261 - //e2pdf.static.guide.distance
684 + // e2pdf.static.guide.distance
262 685 distance: 5,
263 686 x: 0,
264 687 y: 0
265 688 },
266 - //e2pdf.static.drag
689 + // e2pdf.static.drag
267 690 drag: {
268 - //e2pdf.static.drag.min_top
691 + // e2pdf.static.drag.min_top
269 692 min_top: 0,
270 - //e2pdf.static.drag.max_top
693 + // e2pdf.static.drag.max_top
271 694 max_top: 0,
272 - //e2pdf.static.drag.min_left
695 + // e2pdf.static.drag.min_left
273 696 min_left: 0,
274 - //e2pdf.static.drag.max_left
697 + // e2pdf.static.drag.max_left
275 698 max_left: 0,
276 - //e2pdf.static.drag.page
277 - page: null,
278 - },
279 - //e2pdf.static.const
280 - const: {
281 - 'WIDTH_HEIGHT': '0',
282 - 'WIDTH': '1',
283 - 'HEIGHT': '2'
699 + // e2pdf.static.drag.page
700 + page: null
284 701 }
285 702 },
286 - //e2pdf.event
703 + // e2pdf.event
287 704 event: {
288 - //e2pdf.event.fire
705 + // e2pdf.event.fire
289 706 fire: function (event, action, el) {
290 - if (event === 'after.pages.deletePage'
291 - || event === 'after.createPdf'
292 - || event === 'after.pages.createPage.newpage'
293 - || event === 'after.element.create'
294 - || event === 'after.element.delete'
295 - || event === 'after.settings.style.change'
296 - || event === 'after.settings.template.change'
297 - || event === 'after.wysiwyg.apply'
298 - || event === 'after.request.submitLocal'
299 - || event === 'after.mediaUploader.select'
300 - || event === 'after.element.moved'
301 - || event === 'after.pages.movePage'
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'
302 720 ) {
303 721 e2pdf.static.unsaved = true;
304 722 }
305 723
@@ -325,75 +743,98 @@
325 743 ).removeClass('e2pdf-color-picker-load');
326 744 });
327 745 }
328 746
329 - if (event === 'after.dialog.create') {
330 - e2pdf.element.unselect();
331 - }
332 -
333 - if (event === 'after.pages.deletePage'
334 - || event === 'after.pages.createPage.newpage') {
747 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
335 748 jQuery('#e2pdf-zoom').trigger('change');
336 749 }
337 750
338 751 if (event === 'before.request.submitRequest') {
339 752 el.attr('disabled', 'disabled');
340 -
341 - if (action === 'e2pdf_auto') {
342 - 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;
343 784 }
344 - if (action === 'e2pdf_extension') {
345 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled');
346 - }
347 -
348 - if (action === 'e2pdf_templates') {
349 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
350 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
351 - }
352 -
353 - if (action === 'e2pdf_dataset') {
354 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
355 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
356 - }
357 785 }
358 786
359 787 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
360 - el.attr('disabled', false);
361 - if (action === 'e2pdf_auto') {
362 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
788 + if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
789 + el.attr('disabled', false);
363 790 }
364 - if (action === 'e2pdf_extension') {
365 - el.closest('form').find('#e2pdf-item').find('option').remove();
366 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', false);
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;
367 810 }
368 - if (action === 'e2pdf_get_styles') {
369 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
370 - }
371 811 }
372 812
373 813 if (event === 'before.request.upload') {
374 - 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');
375 815 }
376 816
377 817 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
378 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
379 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
380 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
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'})
381 823 );
382 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
383 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
824 + el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
825 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
384 826 );
385 827 }
386 828 }
387 829 },
388 - //e2pdf.form
830 + // e2pdf.form
389 831 form: {
390 - //e2pdf.form.serializeObject
832 + // e2pdf.form.serializeObject
391 833 serializeObject: function (form) {
392 834
393 835 var o = {};
394 836 var a = form.serializeArray();
395 -
396 837 jQuery.each(a, function () {
397 838 if (this.name.endsWith('[]')) {
398 839
399 840 var name = this.name;
@@ -406,9 +847,8 @@
406 847
407 848 var name = this.name;
408 849 var path = name.split(/[\[\]]+/);
409 850 var curItem = o;
410 -
411 851 for (var j = 0; j < path.length - 2; j++)
412 852 {
413 853 if (!(path[j] in curItem))
414 854 {
@@ -417,9 +857,8 @@
417 857 curItem = curItem[path[j]];
418 858 }
419 859
420 860 curItem[path[j]] = this.value || '';
421 -
422 861 } else {
423 862 o[this.name] = this.value || '';
424 863 }
425 864 });
@@ -424,9 +863,9 @@
424 863 }
425 864 });
426 865 return o;
427 866 },
428 - //e2pdf.form.serializeElements
867 + // e2pdf.form.serializeElements
429 868 serializeElements: function () {
430 869 var o = {};
431 870 jQuery('.e2pdf-element').each(
432 871 function (index) {
@@ -431,103 +870,123 @@
431 870 jQuery('.e2pdf-element').each(
432 871 function (index) {
433 872 var el = {};
434 873 el.type = jQuery(this).data('data-type');
435 - el.properties = e2pdf.properties.get(jQuery(this), true);
874 + el.properties = e2pdf.properties.get(jQuery(this));
436 875 el.actions = e2pdf.actions.get(jQuery(this));
437 876 el.top = jQuery(this).css('top');
438 877 el.left = jQuery(this).css('left');
439 878 el.width = jQuery(this).css('width');
440 879 el.height = jQuery(this).css('height');
441 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
442 - el.value = jQuery(this).find('.e2pdf-html').html();
443 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
444 - el.value = jQuery(this).find('.e2pdf-input').val();
445 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
446 - el.value = jQuery(this).find('.e2pdf-textarea').val();
447 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
448 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
449 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
450 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
451 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
452 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
453 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
454 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
455 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
456 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
457 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
458 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
459 - } else {
460 - el.value = jQuery(this).html();
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;
461 912 }
913 + el.name = e2pdf.helper.getString(el.properties['name']);
462 914 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
463 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'];
464 925 o[index] = el;
465 926 });
466 927 return o;
467 928 }
468 929 },
469 - //e2pdf.font
930 + // e2pdf.font
470 931 font: {
471 - //e2pdf.font.load
932 + // e2pdf.font.load
472 933 load: function (el) {
934 + var name, value;
473 935 if (el.is('select')) {
474 - var name = el.val();
475 - var value = el.find('option:selected').attr('path');
936 + name = el.val();
937 + value = el.find('option:selected').attr('path');
476 938 } else if (el.is('div')) {
477 - var name = el.attr('name');
478 - var value = el.attr('path');
939 + name = el.attr('name');
940 + value = el.attr('path');
479 941 }
480 -
481 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
482 - jQuery("head").append("<style name='" + name + "' type='text/css'>@font-face {font-family: " + name + "; src: url('" + e2pdf.url.uploadUrl() + "/fonts/" + value + "')}</style>");
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 + );
483 949 }
484 950 },
485 - //e2pdf.font.apply
951 + // e2pdf.font.apply
486 952 apply: function (el, font) {
487 - var font_name = font.find('option:selected').html();
488 - if (font_name) {
489 - el.css('font-family', font_name);
490 - } else {
491 - el.css('font-family', '');
492 - }
953 + let font_name = font.find('option:selected').html();
954 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
493 955 },
494 - //e2pdf.font.size
956 + // e2pdf.font.size
495 957 size: function (el, size) {
496 - var font_size = size.find('option:selected').html();
497 - el.css({'font-size': font_size});
958 + var font_size = size.val();
959 + el.css({'font-size': font_size + "px"});
498 960 },
499 - //e2pdf.font.line
961 + // e2pdf.font.line
500 962 line: function (el, height) {
501 - var line_height = height.find('option:selected').html();
502 - el.css({'line-height': line_height});
963 + var line_height = height.val();
964 + el.css({'line-height': line_height + "px"});
503 965 },
504 - //e2pdf.font.color
966 + // e2pdf.font.color
505 967 fontcolor: function (el, color) {
506 968 var font_color = color.val();
507 969 el.css({'color': font_color});
508 970 },
509 - //e2pdf.font.delete
971 + // e2pdf.font.delete
510 972 delete: function (el) {
511 973 var font = el.attr('data-font');
512 974 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
513 975 }
514 976 },
515 - //e2pdf.request
977 + // e2pdf.request
516 978 request: {
517 - //e2pdf.request.upload
979 + // e2pdf.request.upload
518 980 upload: function (action, el) {
519 -
520 981 if (el.attr('disabled')) {
521 982 return;
522 983 }
523 -
524 984 var data = new FormData(el.closest('form')[0]);
525 985 e2pdf.event.fire('before.request.upload', action, el);
526 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
527 - loader.css('visibility', 'visible').fadeIn();
986 + jQuery('html').addClass('e2pdf-loading');
528 987 jQuery.ajax({
529 - url: e2pdf.helper.ajaxurl(action),
988 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
530 989 type: 'POST',
531 990 data: data,
532 991 cache: false,
533 992 contentType: false,
@@ -532,512 +991,743 @@
532 991 cache: false,
533 992 contentType: false,
534 993 processData: false,
535 994 success: function (response) {
536 - loader.css('visibility', 'hidden').fadeOut();
537 - e2pdf.event.fire('after.request.upload.success', action, el);
538 995 if (response.redirect !== undefined) {
539 - // recheck if redirect fires in other cases when not upload pdf
996 + e2pdf.event.fire('after.request.upload.success', action, el);
540 997 e2pdf.static.unsaved = false;
541 998 location.href = response.redirect;
542 999 } else if (response.error !== undefined) {
1000 + jQuery('html').removeClass('e2pdf-loading');
1001 + e2pdf.event.fire('after.request.upload.error', action, el);
543 1002 alert(response.error);
544 - } else if (response.content) {
545 - e2pdf.request.callBack(action, response.content);
1003 + } else {
1004 + jQuery('html').removeClass('e2pdf-loading');
1005 + e2pdf.event.fire('after.request.upload.error', action, el);
546 1006 }
547 1007 },
548 1008 error: function (response) {
549 - loader.css('visibility', 'hidden').fadeOut();
550 - 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);
551 1011 }
552 1012 });
553 1013 },
554 - //e2pdf.request.submitForm
1014 + // e2pdf.request.submitForm
555 1015 submitForm: function (el) {
556 1016 if (el.attr('disabled')) {
557 1017 return;
558 1018 }
559 1019 el.attr('disabled', 'disabled');
560 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
561 - loader.css('visibility', 'visible').fadeIn();
1020 + jQuery('html').addClass('e2pdf-loading');
562 1021 e2pdf.event.fire('before.request.submitForm');
563 1022 var form_id = el.attr('form-id');
564 1023 var form = jQuery(document.getElementById(form_id));
565 1024 var data = e2pdf.form.serializeObject(form);
566 - if (form_id === 'e2pdf_build_form') {
567 - var elements = e2pdf.form.serializeElements();
568 - data.pages = {};
569 - jQuery('.e2pdf-page').each(function () {
570 - var page_id = jQuery(this).attr('data-page_id');
571 - data.pages[page_id] = {};
572 - var properties = {};
573 - var page_elements = [];
574 - properties['width'] = jQuery(this).attr('data-width');
575 - properties['height'] = jQuery(this).attr('data-height');
576 - data.pages[page_id]['properties'] = properties;
577 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
578 - data.pages[page_id]['elements'] = page_elements;
579 - });
580 - for (var key in elements) {
581 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
582 - }
583 - data = JSON.stringify(data);
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;
584 1063 }
585 -
586 - if (form_id === 'e2pdf-email') {
587 -
588 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
589 - data = {};
590 - data['email'] = form.find('input[name="email"]').val();
591 - if (form.find('input[name="email_code"]').length > 0) {
592 - data['email_code'] = form.find('input[name="email_code"]').val();
593 - }
594 - }
595 -
596 - var action = el.attr('action');
597 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1064 + jQuery('html').addClass('e2pdf-loading');
598 1065 if (el.attr('target') === '_blank') {
599 1066 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
600 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1067 + jQuery('<textarea>', {'name': 'preview'}).val(data)
601 1068 ).hide();
602 1069 jQuery('body').append(post_form);
603 1070 post_form.submit();
604 1071 post_form.remove();
605 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
606 - loader.css('visibility', 'hidden').fadeOut();
1072 + jQuery('html').removeClass('e2pdf-loading');
607 1073 el.attr('disabled', false);
608 1074 return false;
609 1075 }
610 -
611 1076 jQuery.ajax({
612 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1077 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
613 1078 data: {action: action, data: data},
614 1079 success: function (response) {
615 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
616 - loader.css('visibility', 'hidden').fadeOut();
617 - el.attr('disabled', false);
618 1080 if (response.redirect !== undefined) {
619 1081 location.href = response.redirect;
620 - } else if (response.error !== undefined) {
621 - alert(response.error);
622 - } else if (response.content) {
623 - e2pdf.request.callBack(action, response.content, el);
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 + }
624 1093 }
625 1094 },
626 1095 error: function (response) {
627 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
628 - loader.css('visibility', 'hidden').fadeOut();
1096 + jQuery('html').removeClass('e2pdf-loading');
629 1097 el.attr('disabled', false);
630 1098 }
631 1099 });
632 1100 },
633 - //e2pdf.request.submitRequest
1101 + // e2pdf.request.submitRequest
634 1102 submitRequest: function (action, el, value) {
635 -
636 1103 if (el.attr('disabled')) {
637 1104 return;
638 1105 }
639 -
640 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1106 + if (action !== 'e2pdf_bulk_progress') {
1107 + jQuery('html').addClass('e2pdf-loading');
1108 + }
641 1109 if (!value) {
642 1110 var value = el.val();
643 1111 }
644 - 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 +
645 1117 e2pdf.event.fire('before.request.submitRequest', action, el);
646 1118 jQuery.ajax({
647 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1119 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
648 1120 data: {action: action, data: value},
649 1121 success: function (response) {
650 - loader.css('visibility', 'hidden').fadeOut();
651 1122 e2pdf.event.fire('after.request.submitRequest.success', action, el);
652 1123 if (response.redirect !== undefined) {
653 1124 location.href = response.redirect;
654 1125 } else if (response.error !== undefined) {
1126 + jQuery('html').removeClass('e2pdf-loading');
655 1127 alert(response.error);
656 1128 } else if (response.content) {
657 1129 e2pdf.request.callBack(action, response.content, el);
1130 + jQuery('html').removeClass('e2pdf-loading');
1131 + } else {
1132 + jQuery('html').removeClass('e2pdf-loading');
658 1133 }
659 1134 },
660 1135 error: function (response) {
661 - loader.css('visibility', 'hidden').fadeOut();
1136 + jQuery('html').removeClass('e2pdf-loading');
662 1137 e2pdf.event.fire('after.request.submitRequest.error', action, el);
663 1138 }
664 1139 });
665 1140 },
666 - //e2pdf.request.submitLocal
667 - submitLocal: function (el) {
1141 + // e2pdf.request.submitLocal
1142 + submitLocal: function (el, noclose = false) {
668 1143 var form_id = el.attr('form-id');
669 -
670 1144 var form = jQuery(document.getElementById(form_id));
671 1145 var data = e2pdf.form.serializeObject(form);
672 -
673 - if (form_id === 'e2pdf-page-options') {
674 - var width = data['width'];
675 - var height = data['height'];
676 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
677 - e2pdf.actions.apply(page, data['actions']);
678 - e2pdf.pages.changePageSize(page, width, height);
679 - e2pdf.event.fire('after.request.submitLocal', false, page);
680 - } else {
681 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
682 -
683 - e2pdf.actions.apply(element, data['actions']);
684 - delete data['actions'];
685 -
686 - e2pdf.properties.apply(element, data);
687 - e2pdf.properties.render(element);
1146 + switch (form_id) {
1147 + case 'e2pdf-page-options':
1148 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1149 + var action_error = false;
1150 + for (var action in data['actions']) {
1151 + for (var condition in data['actions'][action]['conditions']) {
1152 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1153 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1154 + action_element.addClass('e2pdf-action-error');
1155 + action_error = true;
1156 + }
1157 + }
1158 + }
1159 + if (action_error) {
1160 + setTimeout(function () {
1161 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1162 + }, 0);
1163 + return;
1164 + }
1165 + var width = data['width'];
1166 + var height = data['height'];
1167 + var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1168 + e2pdf.actions.apply(page, data['actions']);
1169 + e2pdf.pages.changePageSize(page, width, height);
1170 + e2pdf.properties.apply(page, data);
1171 + e2pdf.event.fire('after.request.submitLocal', false, page);
1172 + break;
1173 + case 'e2pdf-tpl-actions':
1174 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1175 + var action_error = false;
1176 + for (var action in data['actions']) {
1177 + for (var condition in data['actions'][action]['conditions']) {
1178 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1179 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1180 + action_element.addClass('e2pdf-action-error');
1181 + action_error = true;
1182 + }
1183 + }
1184 + }
1185 + if (action_error) {
1186 + setTimeout(function () {
1187 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1188 + }, 0);
1189 + return;
1190 + }
1191 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1192 + break;
1193 + case 'e2pdf-tpl-properties':
1194 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1195 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1196 + break;
1197 + case 'e2pdf-tpl-hooks':
1198 + var hooks = data['hooks'];
1199 + if (hooks) {
1200 + e2pdf.pdf.settings.change('hooks', hooks.join(','));
1201 + } else {
1202 + e2pdf.pdf.settings.change('hooks', '');
1203 + }
1204 + break;
1205 + default:
1206 + var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1207 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1208 + var action_error = false;
1209 + for (var action in data['actions']) {
1210 + for (var condition in data['actions'][action]['conditions']) {
1211 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1212 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1213 + action_element.addClass('e2pdf-action-error');
1214 + action_error = true;
1215 + }
1216 + }
1217 + }
1218 + if (action_error) {
1219 + setTimeout(function () {
1220 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1221 + }, 0);
1222 + return;
1223 + }
1224 + var history = [];
1225 + history.push(element.clone(true));
1226 + e2pdf.history.set('element_change', history);
1227 + e2pdf.actions.apply(element, data['actions']);
1228 + delete data['actions'];
1229 + e2pdf.properties.apply(element, data);
1230 + e2pdf.properties.render(element);
1231 + e2pdf.event.fire('after.request.submitLocal', false, el);
1232 + break;
1233 + }
1234 + if (!noclose) {
688 1235 e2pdf.dialog.close();
689 - e2pdf.event.fire('after.request.submitLocal', false, el);
690 - }
691 -
692 - e2pdf.dialog.close();
1236 + }
693 1237 },
694 - //e2pdf.request.callBack
1238 + // e2pdf.request.callBack
695 1239 callBack: function (action, result, el) {
696 -
697 - if (action === 'e2pdf_email') {
698 -
699 - if (result === 'subscribed') {
700 - jQuery('.e2pdf-email-lock').remove();
701 - } else {
702 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
703 - var form_id = el.attr('form-id');
704 - var form = jQuery(document.getElementById(form_id));
705 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
706 - form.find('input[name="email"]').attr('type', 'hidden');
707 - jQuery('<input>', {'type': 'text', 'name': 'email_code', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
708 - }
709 - }
710 -
711 - if (action === 'e2pdf_extension') {
712 - for (var key in result) {
713 - var option = jQuery('<option>',
714 - {
715 - 'value': result[key]['id']
716 - }).html(result[key]['name']);
717 - if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
718 - option.attr('selected', 'selected');
1240 + switch (action) {
1241 + case 'e2pdf_email':
1242 + if (result === 'subscribed') {
1243 + jQuery('.e2pdf-email-lock').remove();
1244 + } else {
1245 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1246 + var form_id = el.attr('form-id');
1247 + var form = jQuery(document.getElementById(form_id));
1248 + form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1249 + form.find('input[name="email"]').attr('type', 'hidden');
1250 + jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
719 1251 }
720 - option.data('data-item', result[key]);
721 - jQuery('#e2pdf-item').append(option);
722 - }
723 - }
724 -
725 - if (action === 'e2pdf_get_styles') {
726 - for (var key in result) {
727 - jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
728 - }
729 - }
730 - if (action === 'e2pdf_visual_mapper') {
731 - el.html(result);
732 - e2pdf.visual.mapper.markup();
733 -
734 - var images = el.find('img');
735 - var counter = 0;
736 - counter = images.length;
737 - images.each(function () {
738 - var img = new Image();
739 - img.onload = function () {
740 - counter--;
741 - if (counter === 0) {
742 - e2pdf.visual.mapper.rebuild();
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');
743 1261 }
744 - };
745 - img.onerror = function () {
746 - counter--;
747 - if (counter === 0) {
748 - e2pdf.visual.mapper.rebuild();
1262 + option.data('data-item', result[key]);
1263 + jQuery('.e2pdf-item').append(option);
1264 + }
1265 + for (var key in result) {
1266 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1267 + var option = jQuery('<option>',
1268 + {
1269 + 'value': result[key]['id']
1270 + }).html(result[key]['name']);
1271 + if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1272 + option.attr('selected', 'selected');
1273 + }
1274 + option.data('data-item', result[key]);
1275 + jQuery('.e2pdf-item1').append(option);
749 1276 }
750 - };
751 - img.src = jQuery(this).attr('src');
752 - });
753 - }
754 - if (action === 'e2pdf_templates') {
755 -
756 - var dataset_field = jQuery('#e2pdf-export-dataset');
757 - dataset_field.attr('disabled', 'disabled').find('option').remove();
758 - for (var key in result['datasets']) {
759 - var option = jQuery('<option>',
760 - {
761 - 'value': result['datasets'][key]['key']
762 - }).html(result['datasets'][key]['value']);
763 - dataset_field.append(option);
764 - }
765 -
766 - dataset_field.val('');
767 - if (Object.keys(result['datasets']).length > 1) {
768 - dataset_field.attr('disabled', false);
769 - }
770 -
771 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
772 - options.hide();
773 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
774 - options.find('select').val('0').attr('disabled', 'disabled');
775 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
776 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
777 - jQuery('#e2pdf-dataset-shortcode').val('');
778 - jQuery('#e2pdf-template-shortcode').val('');
779 - if (Object.keys(result['options']).length > 0) {
780 - for (var key in result['options']) {
781 - var field = options.find('[name="options[' + key + ']"]');
782 - if (field.attr('type') === 'text' || field.is("select")) {
783 - field.val(result['options'][key]);
784 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
785 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
786 - checkbox.attr('checked', 'checked');
787 - }
788 1277 }
789 -
790 - var template_id = jQuery('#e2pdf-export-template').val();
791 - options.find('input[type="text"]').attr('disabled', false);
792 - options.find('input[type="checkbox"]').attr('disabled', false);
793 - options.find('select').attr('disabled', false);
794 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
795 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
796 - if (result['delete_items']) {
797 - jQuery('#e2pdf-delete-items').attr({'template': template_id, 'disabled': false});
798 - }
799 -
800 - options.slideDown();
801 - if (e2pdf.static.autoloadExport) {
802 - if (e2pdf.url.get('dataset_id')) {
803 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
804 - dataset_field.val(e2pdf.url.get('dataset_id')).change();
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');
805 1286 }
1287 + option.data('data-item', result[key]);
1288 + jQuery('.e2pdf-item2').append(option);
806 1289 }
807 - e2pdf.static.autoloadExport = false;
808 - } else {
809 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
810 1290 }
811 -
812 - dataset_field.change();
813 - } else {
814 - e2pdf.url.change('e2pdf');
815 - }
816 - }
817 - if (action === 'e2pdf_dataset') {
818 - var template_id = jQuery('#e2pdf-export-template').val();
819 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
820 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
821 - jQuery('#e2pdf-dataset-shortcode').val('');
822 - if (dataset_id && dataset_id != "0") {
823 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
824 - jQuery('#e2pdf-dataset-shortcode-wr').show();
825 - }
826 -
827 - if (result['export']) {
828 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
829 - jQuery('#e2pdf-export-form').attr('action', export_url);
830 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
831 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
832 - } else {
833 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
834 - }
835 -
836 - if (result['view'] && result['dataset']) {
837 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
838 - }
839 -
840 - if (result['delete_item'] && result['dataset']) {
841 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
842 - }
843 - }
844 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
845 - if (action === 'e2pdf_activate_template') {
846 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
847 - } else {
848 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
849 - }
850 - }
851 - if (action === 'e2pdf_auto') {
852 - var elements = result.elements;
853 - var width = parseFloat(e2pdf.pdf.settings.get('width'));
854 - var height = parseFloat(e2pdf.pdf.settings.get('height'));
855 - e2pdf.pages.changeTplSize(width, height);
856 - e2pdf.pages.createPage();
857 - jQuery('.ui-dialog-content').dialog('close');
858 -
859 - var i = 1;
860 - var page = jQuery('.e2pdf-page').last();
861 -
862 - var auto = {
863 - 'block': {
864 - 'top': 0,
865 - 'left': 0,
866 - 'right': 0,
867 - 'bottom': 0,
868 - 'width': 0,
869 - 'page': page.attr('data-page_id')
870 - },
871 - 'element': {
872 - 'top': 0,
873 - 'left': 0,
874 - 'right': 0,
875 - 'bottom': 0,
876 - 'width': 0,
877 - 'properties': {}
878 - },
879 - page: {
880 - 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
881 - 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
882 - 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
883 - 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0,
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 + }
884 1300 }
885 - };
886 -
887 - for (var key in elements) {
888 - var element = elements[key];
889 - var type = element.type;
890 -
891 - var properties = {};
892 -
893 - //fix empty values
894 - element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
895 - element['block'] = typeof element.block === 'undefined' ? false : element.block;
896 - element['float'] = typeof element.float === 'undefined' ? false : element.float;
897 - element.properties['width'] = typeof element.properties.width === 'undefined' ? 0 : element.properties.width;
898 - element.properties['height'] = typeof element.properties.height === 'undefined' ? 0 : element.properties.height;
899 - element.properties['top'] = typeof element.properties.top === 'undefined' ? 0 : element.properties.top;
900 - element.properties['left'] = typeof element.properties.left === 'undefined' ? 0 : element.properties.left;
901 - element.properties['right'] = typeof element.properties.right === 'undefined' ? 0 : element.properties.right;
902 -
903 - //assing properties to element
904 - for (var property in element.properties) {
905 - properties[property] = element.properties[property];
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]);
906 1315 }
907 -
908 - //calculate width
909 - if (element.block) {
910 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(element.properties.width, width) - parseFloat(element.properties.left) - parseFloat(element.properties.right));
911 - }
912 -
913 - if (element.block) {
914 - if (element.float && auto.block.width > 0 && (auto.block.right + Math.floor(e2pdf.helper.sizeToFloat(properties.width, width) - parseFloat(properties.left) - parseFloat(properties.right)) <= width - auto.page.right)) {
915 - page = jQuery('.e2pdf-page[data-page_id="' + auto.block.page + '"]');
916 - properties['left'] = auto.block.right + parseFloat(properties.left);
917 - properties['top'] = auto.block.top;
918 - } else {
919 - page = jQuery('.e2pdf-page').last();
920 - auto.block['bottom'] = 0;
921 - page.find('.e2pdf-element').each(function () {
922 - auto.block['bottom'] = Math.max(auto.block['bottom'], e2pdf.properties.getValue(jQuery(this), 'top') + e2pdf.properties.getValue(jQuery(this), 'height'));
923 - });
924 - properties['left'] = parseFloat(properties.left);
925 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
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 + }
926 1371 }
927 - } else {
928 - if (element.float) {
929 - if (element.properties.width !== 'auto') {
930 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
931 - if (auto.element.properties.width === 'auto') {
932 - properties['width'] = properties['width'] - auto.element.width;
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 + }
933 1396 }
1397 + } else {
1398 + jQuery(this).val('');
934 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 + }
935 1430
936 - properties['left'] = auto.element.right + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
937 - properties['top'] = auto.element.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');
938 1438 } else {
939 - if (element.properties.width !== 'auto') {
940 - properties['width'] = Math.floor(e2pdf.helper.sizeToFloat(properties.width, auto.block.width) - e2pdf.helper.sizeToFloat(properties.left, auto.block.width) - e2pdf.helper.sizeToFloat(properties.right, auto.block.width));
1439 + e2pdf.url.change('e2pdf');
1440 + }
1441 + }
1442 + break;
1443 + case 'e2pdf_dataset':
1444 + var template_id = result['id'];
1445 + var url = 'id=' + template_id;
1446 + var shortcode = '[e2pdf-download id="' + template_id + '"';
1447 + if (result['datasets']) {
1448 + for (var key in result['datasets']) {
1449 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1450 + var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1451 + e2pdf.select2.enable(dataset_field);
1452 + if (result['datasets'][key]['id'] == '') {
1453 + dataset_field.val('');
1454 + e2pdf.select2.update(dataset_field);
1455 + } else {
1456 + url += '&' + key + '=' + result['datasets'][key]['id'];
1457 + shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
941 1458 }
942 - properties['left'] = auto.block.left + e2pdf.helper.sizeToFloat(properties.left, auto.block.width);
943 - properties['top'] = auto.block.bottom + parseFloat(properties.top);
1459 + if (result['datasets'][key]['actions']) {
1460 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1461 + for (var dkey in result['datasets'][key]['actions']) {
1462 + ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
1463 + }
1464 + actions.empty().append(ul);
1465 + }
944 1466 }
1467 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
945 1468 }
946 -
947 - var obj = e2pdf.element.create(type, page, properties, false, true);
948 -
949 - e2pdf.properties.render(obj);
950 - page.append(obj);
951 -
952 - if (element.properties.height === 'auto') {
953 - e2pdf.properties.set(obj, 'height', obj.height());
954 - e2pdf.properties.render(obj);
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();
955 1474 }
956 -
957 - if (!element.block
958 - && element.float
959 - && auto.block.width > 0
960 - && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
961 - e2pdf.properties.set(obj, 'left', auto.block.left);
962 - e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
963 - e2pdf.properties.render(obj);
1475 + e2pdf.url.change('e2pdf', url);
1476 + break;
1477 + case 'e2pdf_datasets_refresh':
1478 + var options = [];
1479 + var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1480 + for (var key in result['datasets']) {
1481 + var option = {
1482 + key: result['datasets'][key]['key'].toString(),
1483 + value: result['datasets'][key]['value'].toString()
1484 + };
1485 + options.push(option);
1486 + if (e2pdf.url.get('action') == 'bulk') {
1487 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1488 + } else {
1489 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1490 + }
964 1491 }
1492 + dataset_field.data('options', options);
1493 + e2pdf.select2.val(dataset_field, result['dataset']);
1494 + break;
1495 + case 'e2pdf_delete_item':
1496 + case 'e2pdf_delete_items':
1497 + jQuery('.e2pdf-export-template').trigger('change');
1498 + break;
1499 + case 'e2pdf_activate_template':
1500 + case 'e2pdf_deactivate_template':
1501 + if (result == 'activated') {
1502 + el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdf.lang.get('Activated'));
1503 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1504 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', false);
1505 + }
1506 + } else {
1507 + el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdf.lang.get('Not Activated'));
1508 + if (el.parent().attr('id') === 'e2pdf-post-activation') {
1509 + el.closest("#minor-publishing").find('.e2pdf-generate-pdf-button').attr('disabled', 'disabled');
1510 + }
1511 + }
1512 + break;
1513 + case 'e2pdf_auto':
1514 + var hidden_elements = [];
1515 + var elements = result.elements;
1516 + var width = parseFloat(e2pdf.pdf.settings.get('width'));
1517 + var height = parseFloat(e2pdf.pdf.settings.get('height'));
1518 + e2pdf.pages.changeTplSize(width, height);
1519 + e2pdf.pages.createPage();
1520 + jQuery('.ui-dialog-content').dialog('close');
1521 + var i = 1;
1522 + var page = jQuery('.e2pdf-page').last();
1523 + var auto = {
1524 + 'block': {
1525 + 'top': 0,
1526 + 'left': 0,
1527 + 'right': 0,
1528 + 'bottom': 0,
1529 + 'width': 0,
1530 + 'page': page.attr('data-page_id')
1531 + },
1532 + 'element': {
1533 + 'top': 0,
1534 + 'left': 0,
1535 + 'right': 0,
1536 + 'bottom': 0,
1537 + 'width': 0,
1538 + 'properties': {}
1539 + },
1540 + page: {
1541 + 'top': typeof result.page.top !== 'undefined' ? parseFloat(result.page.top) : 0,
1542 + 'left': typeof result.page.left !== 'undefined' ? parseFloat(result.page.left) : 0,
1543 + 'right': typeof result.page.right !== 'undefined' ? parseFloat(result.page.right) : 0,
1544 + 'bottom': typeof result.page.bottom !== 'undefined' ? parseFloat(result.page.bottom) : 0
1545 + }
1546 + };
1547 + for (var key in elements) {
1548 + var element = elements[key];
1549 + var type = element.type;
1550 + var properties = {};
1551 + element['properties'] = typeof element.properties === 'undefined' ? {} : element.properties;
1552 + element['block'] = typeof element.block === 'undefined' ? false : element.block;
1553 + element['float'] = typeof element.float === 'undefined' ? false : element.float;
1554 + element['hidden'] = typeof element.hidden === 'undefined' ? false : element.hidden;
1555 + element.properties['width'] = typeof element.properties.width === 'undefined' ? '0' : element.properties.width;
1556 + element.properties['height'] = typeof element.properties.height === 'undefined' ? '0' : element.properties.height;
1557 + element.properties['top'] = typeof element.properties.top === 'undefined' ? '0' : element.properties.top;
1558 + element.properties['left'] = typeof element.properties.left === 'undefined' ? '0' : element.properties.left;
1559 + element.properties['right'] = typeof element.properties.right === 'undefined' ? '0' : element.properties.right;
1560 + for (var property in element.properties) {
1561 + properties[property] = element.properties[property];
1562 + }
965 1563
966 - if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
967 - if (page.is(':last-child')) {
968 - if (e2pdfParams['license_type'] == 'FREE') {
969 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
970 - return;
971 - }
972 -
973 - if (page.find('.e2pdf-element').not(obj).length > 0) {
974 - e2pdf.pages.createPage();
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 {
975 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);
976 1578 }
977 1579 } else {
978 - if (page.find('.e2pdf-element').not(obj).length > 0) {
979 - 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);
980 1595 }
981 1596 }
982 1597
983 - e2pdf.element.delete(obj);
984 -
985 -
986 - if (element.properties.height === 'auto') {
987 - properties['height'] = element.properties.height;
988 - }
989 -
990 - auto.block['bottom'] = auto.page.top;
991 - properties['top'] = auto.block.bottom;
992 -
993 - obj = e2pdf.element.create(type, page, properties, false, true);
1598 + var obj = e2pdf.element.create(type, page, properties, false, true);
994 1599 e2pdf.properties.render(obj);
995 1600 page.append(obj);
1601 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1602 + e2pdf.actions.apply(obj, element.actions);
1603 + }
996 1604
997 1605 if (element.properties.height === 'auto') {
998 1606 e2pdf.properties.set(obj, 'height', obj.height());
999 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);
1000 1611 }
1001 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 +
1002 1622 if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1003 - e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
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);
1004 1648 e2pdf.properties.render(obj);
1005 - e2pdf.properties.set(obj, 'top', properties['top']);
1006 - 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 + }
1007 1661 }
1008 - }
1009 1662
1010 - auto.element = {
1011 - 'top': e2pdf.properties.getValue(obj, 'top'),
1012 - 'left': e2pdf.properties.getValue(obj, 'left'),
1013 - 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1014 - 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1015 - 'width': e2pdf.properties.getValue(obj, 'width'),
1016 - 'properties': element.properties
1017 - };
1018 -
1019 - if (element.block) {
1020 - auto.block = {
1663 + auto.element = {
1021 1664 'top': e2pdf.properties.getValue(obj, 'top'),
1022 1665 'left': e2pdf.properties.getValue(obj, 'left'),
1023 - '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),
1024 1667 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1025 1668 'width': e2pdf.properties.getValue(obj, 'width'),
1026 - 'page': page.attr('data-page_id')
1669 + 'properties': element.properties
1027 1670 };
1028 - } else {
1029 - 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++;
1030 1687 }
1031 -
1032 - i++;
1033 - }
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;
1034 1721 }
1035 1722 }
1036 1723 },
1037 - //e2pdf.dialog
1724 + // e2pdf.dialog
1038 1725 dialog: {
1039 - //e2pdf.dialog.create
1726 + top: null,
1727 + left: null,
1728 + center: true,
1729 + // e2pdf.dialog.create
1040 1730 create: function (el) {
1041 1731 e2pdf.dialog.close();
1042 1732 var modal = el.attr('data-modal');
1043 1733 var title = el.attr('data-modal-title');
@@ -1044,21 +1734,21 @@
1044 1734 var noclose = false;
1045 1735 var width = '600';
1046 1736 var height = '600';
1047 1737 if (modal === 'license-key') {
1048 - width = '300';
1738 + width = '400';
1049 1739 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1050 - jQuery('<form>', {'id': 'license_key'}).append(
1740 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1051 1741 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1052 1742 jQuery('<span>', {'class': 'spinner'})
1053 1743 ),
1054 1744 jQuery('<ul>').append(
1055 1745 jQuery('<li>').append(
1056 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1057 - jQuery('<input>', {'type': 'text', 'name': 'license_key'})
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'})
1058 1748 ),
1059 1749 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1060 - jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdfLang['Submit']})
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']})
1061 1751 )
1062 1752 )
1063 1753 )
1064 1754 );
@@ -1063,23 +1753,21 @@
1063 1753 )
1064 1754 );
1065 1755 } else if (modal === 'properties') {
1066 1756 for (var key in e2pdf.element.selected) {
1067 - var title = e2pdfLang['Properties'];
1757 + var title = e2pdf.lang.get('Properties');
1068 1758 var selected = e2pdf.element.selected[key];
1069 - var properties = e2pdf.properties.get(selected);
1070 1759 var fields = e2pdf.properties.renderFields(selected);
1071 1760 var content = jQuery('<div>').append(
1072 1761 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1073 1762 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1074 1763 fields
1075 - ),
1076 1764 )
1765 + )
1077 1766 );
1078 1767 }
1079 1768 } else if (modal === 'page-options') {
1080 -
1081 - var title = e2pdfLang['Page Options'];
1769 + var title = e2pdf.lang.get('Page Options');
1082 1770 var page = el.closest('.e2pdf-page');
1083 1771 var readonly_size = false;
1084 1772 if (e2pdf.pdf.settings.get('pdf')) {
1085 1773 readonly_size = true;
@@ -1089,49 +1777,66 @@
1089 1777 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1090 1778 jQuery('<span>', {'class': 'spinner'})
1091 1779 ),
1092 1780 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1093 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1781 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1094 1782 )),
1095 1783 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1096 1784 jQuery('<span>', {'class': 'spinner'})
1097 1785 ));
1098 -
1099 1786 var fields = e2pdf.properties.renderFields(page);
1100 -
1101 1787 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1102 1788 fields
1103 1789 ));
1104 -
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 + );
1105 1812 } else if (modal === 'tpl-options') {
1106 - var noclose = false;
1107 1813 width = '500';
1108 - var title = e2pdfLang['PDF Options'];
1814 + var title = e2pdf.lang.get('Options');
1109 1815 var readonly_size = false;
1110 1816 if (e2pdf.pdf.settings.get('pdf')) {
1111 1817 readonly_size = true;
1112 1818 }
1113 -
1114 1819 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1115 1820 jQuery('<option>',
1116 1821 {
1117 - 'value': '',
1118 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1822 + 'value': ''
1823 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1119 1824 );
1120 - for (var size in e2pdfTemplateSizes) {
1825 + for (var size in e2pdf_params['template_sizes']) {
1121 1826 var option = jQuery('<option>',
1122 1827 {
1123 - 'value': size,
1124 - }).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'] + ')');
1125 1830 sizes.append(option);
1126 1831 }
1127 1832
1128 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1129 - 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']) {
1130 1835 var option = jQuery('<option>',
1131 1836 {
1132 - 'value': extension,
1133 - }).html(e2pdfTemplateExtensions[extension]);
1837 + 'value': extension
1838 + }).html(e2pdf_params['extensions'][extension]);
1134 1839 if (e2pdf.pdf.settings.get('extension') === extension) {
1135 1840 option.attr('selected', 'selected');
1136 1841 }
1137 1842 extensions.append(option);
@@ -1136,14 +1841,14 @@
1136 1841 }
1137 1842 extensions.append(option);
1138 1843 }
1139 1844
1140 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-create-pdf-form', 'class': 'e2pdf-rel'}).append(
1845 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-tpl-options', 'class': 'e2pdf-rel'}).append(
1141 1846 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1142 1847 jQuery('<span>', {'class': 'spinner'})
1143 1848 ),
1144 1849 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1145 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1850 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1146 1851 )),
1147 1852 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1148 1853 jQuery('<span>', {'class': 'spinner'})
1149 1854 ));
@@ -1157,31 +1862,29 @@
1157 1862 default_height = e2pdf.pdf.settings.get('height');
1158 1863 }
1159 1864
1160 1865 content.find('form').append(
1161 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1162 1866 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1163 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1164 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
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') + ':')
1165 1869 ),
1166 1870 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1167 1871 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1168 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1872 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1169 1873 ),
1170 1874 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1171 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1875 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1172 1876 )
1173 1877 )
1174 1878 );
1175 1879 content.find('form').append(
1176 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1880 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1177 1881 sizes);
1178 -
1179 1882 content.find('form').append(
1180 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1181 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1182 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1183 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
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') + ':')
1184 1887 ),
1185 1888 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1186 1889 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1187 1890 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1193,24 +1896,76 @@
1193 1896 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1194 1897 )
1195 1898 )
1196 1899 );
1197 -
1198 1900 content.find('form').append(
1199 - 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') + ':'),
1200 1917 extensions,
1201 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1202 - 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'})
1203 1920 );
1204 1921 content.find('form').append(
1205 - 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 + )
1206 1942 );
1943 + content.find('form').append(
1944 + jQuery('<div>', {'class': 'e2pdf-item-merged e2pdf-hide'}).append(
1945 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1946 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Connection') + ' #1:'),
1947 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Connection') + ' #2:')
1948 + ),
1949 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1950 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1951 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item1 e2pdf-items', 'type': 'text', 'name': 'item1'})
1952 + ),
1953 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1954 + jQuery('<select>', {'class': 'e2pdf-w100 e2pdf-item2 e2pdf-items', 'type': 'text', 'name': 'item2'})
1955 + )
1956 + )
1957 + )
1958 + );
1959 + content.find('form').append(
1960 + jQuery('<input>', {'type': 'file', 'accept': '.pdf', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
1961 + );
1207 1962 if (e2pdf.pdf.settings.get('pdf')) {
1208 1963 content.find('form').append(
1209 - jQuery('<ul>').append(
1964 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1210 1965 jQuery('<li>'),
1211 1966 jQuery('<li>').append(
1212 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
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'))
1213 1968 ),
1214 1969 jQuery('<li>')
1215 1970 )
1216 1971 );
@@ -1215,46 +1970,76 @@
1215 1970 )
1216 1971 );
1217 1972 } else {
1218 1973 content.find('form').append(
1219 - jQuery('<ul>').append(
1974 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1220 1975 jQuery('<li>').append(
1221 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
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'))
1222 1977 ),
1223 1978 jQuery('<li>'),
1224 1979 jQuery('<li>').append(
1225 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
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'))
1226 1981 )
1227 1982 )
1228 1983 );
1229 1984 }
1230 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 + );
1231 2016 } else if (modal === 'welcome-screen') {
1232 2017 var noclose = true;
1233 2018 width = '500';
1234 - var title = e2pdfLang['Create PDF'];
2019 + var title = e2pdf.lang.get('Create PDF');
1235 2020 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1236 2021 jQuery('<option>',
1237 2022 {
1238 - 'value': '',
1239 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2023 + 'value': ''
2024 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1240 2025 );
1241 - for (var size in e2pdfTemplateSizes) {
2026 + for (var size in e2pdf_params['template_sizes']) {
1242 2027 var option = jQuery('<option>',
1243 2028 {
1244 2029 'value': size,
1245 - 'data-width': e2pdfTemplateSizes[size]['width'],
1246 - 'data-height': e2pdfTemplateSizes[size]['height']
1247 - }).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'] + ')');
1248 2033 sizes.append(option);
1249 2034 }
1250 2035
1251 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1252 - 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']) {
1253 2038 var option = jQuery('<option>',
1254 2039 {
1255 - 'value': extension,
1256 - }).html(e2pdfTemplateExtensions[extension]);
2040 + 'value': extension
2041 + }).html(e2pdf_params['extensions'][extension]);
1257 2042 if (e2pdf.pdf.settings.get('extension') === extension) {
1258 2043 option.attr('selected', 'selected');
1259 2044 }
1260 2045 extensions.append(option);
@@ -1259,14 +2044,14 @@
1259 2044 }
1260 2045 extensions.append(option);
1261 2046 }
1262 2047
1263 - var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-create-pdf-form', 'class': 'e2pdf-rel'}).append(
2048 + var content = jQuery('<div>', {'class': 'e2pdf-welcome'}).append(jQuery('<form>', {'id': 'e2pdf-welcome-screen', 'class': 'e2pdf-rel'}).append(
1264 2049 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1265 2050 jQuery('<span>', {'class': 'spinner'})
1266 2051 ),
1267 2052 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1268 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2053 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1269 2054 )),
1270 2055 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1271 2056 jQuery('<span>', {'class': 'spinner'})
1272 2057 ));
@@ -1280,31 +2065,39 @@
1280 2065 var default_height = e2pdf.pdf.settings.get('height');
1281 2066 }
1282 2067
1283 2068 content.find('form').append(
1284 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1285 2069 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1286 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1287 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
2070 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
1288 2071 ),
1289 2072 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2073 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
2074 + jQuery('<input>', {'id': 'e2pdf-title', 'type': 'text', 'name': 'title', 'class': 'e2pdf-w100', 'value': jQuery('#e2pdf-build-form').find('input[name="title"]').val()})
2075 + )
2076 + )
2077 + );
2078 + content.find('form').append(
2079 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2080 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).html(e2pdf.lang.get('Width') + ':'),
2081 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).html(e2pdf.lang.get('Height') + ':')
2082 + ),
2083 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1290 2084 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1291 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2085 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
1292 2086 ),
1293 2087 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1294 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2088 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
1295 2089 )
1296 2090 )
1297 2091 );
1298 2092 content.find('form').append(
1299 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2093 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1300 2094 sizes);
1301 -
1302 2095 content.find('form').append(
1303 - jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt10'}).append(
1304 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Font'] + ':'),
1305 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdfLang['Size'] + ':'),
1306 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Line Height'] + ':')
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') + ':'),
1307 2100 ),
1308 2101 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1309 2102 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1310 2103 jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
@@ -1316,23 +2109,73 @@
1316 2109 jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1317 2110 )
1318 2111 )
1319 2112 );
1320 -
1321 2113 content.find('form').append(
1322 - 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') + ':'),
1323 2130 extensions,
1324 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1325 - 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'})
1326 2133 );
1327 -
1328 2134 content.find('form').append(
1329 - 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 + )
1330 2155 );
1331 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(
1332 2176 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1333 2177 );
1334 -
1335 2178 if (e2pdf.pdf.settings.get('ID')) {
1336 2179 content.find('form').append(
1337 2180 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1338 2181 );
@@ -1338,48 +2181,49 @@
1338 2181 );
1339 2182 }
1340 2183
1341 2184 content.find('form').append(
1342 - jQuery('<ul>').append(
2185 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1343 2186 jQuery('<li>').append(
1344 - jQuery('<a>', {'id': 'e2pdf-w-empty', 'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Empty PDF'])
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'))
1345 2188 ),
1346 2189 jQuery('<li>').append(
1347 - jQuery('<a>', {'id': 'e2pdf-w-upload', 'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Upload PDF'])
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']))
1348 2191 ),
1349 2192 jQuery('<li>').append(
1350 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
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'))
1351 2194 )
1352 2195 )
1353 2196 );
1354 2197 } else if (modal === 'visual-mapper') {
1355 -
1356 - var title = e2pdfLang['Visual Mapper'];
1357 - 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(
1358 2200 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1359 2201 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1360 2202 jQuery('<span>', {'class': 'spinner'})
1361 2203 )).append(
1362 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1363 - jQuery('<div>', {'id': 'e2pdf-vm-content', 'class': 'e2pdf-vm-content e2pdf-rel'})
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'})
1364 2207 )
2208 + )
1365 2209 ));
1366 2210 } else if (modal === 'pdf-reupload') {
1367 -
1368 - var title = e2pdfLang['PDF Upload'];
2211 + var title = e2pdf.lang.get('PDF Upload');
1369 2212 width = '500';
1370 - 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(
1371 2215 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1372 2216 jQuery('<span>', {'class': 'spinner'})
1373 2217 ),
1374 2218 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1375 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2219 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1376 2220 )),
1377 2221 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1378 2222 jQuery('<span>', {'class': 'spinner'})
1379 2223 ));
1380 2224 content.find('form').append(
1381 - 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'})
1382 2226 );
1383 2227 if (e2pdf.pdf.settings.get('ID')) {
1384 2228 content.find('form').append(
1385 2229 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
@@ -1388,27 +2232,32 @@
1388 2232
1389 2233 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1390 2234 pages.append(
1391 2235 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1392 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1393 - jQuery('<label>').text(e2pdfLang['Page ID'])
2236 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2237 + jQuery('<label>').text(e2pdf.lang.get('Page ID'))
1394 2238 ),
1395 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1396 - 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'))
1397 2241 ),
1398 2242 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1399 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2243 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1400 2244 ),
1401 2245 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1402 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2246 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1403 2247 )));
1404 2248 jQuery('.e2pdf-page').each(function () {
1405 2249 var page_id = jQuery(this).attr('data-page_id');
1406 2250 pages.append(
1407 2251 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1408 - 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 + ),
1409 2258 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1410 - jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center', 'value': page_id})
2259 + jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
1411 2260 ),
1412 2261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1413 2262 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
1414 2263 ),
@@ -1423,9 +2272,9 @@
1423 2272 jQuery('<ul>').append(
1424 2273 jQuery('<li>').append(
1425 2274 ),
1426 2275 jQuery('<li>').append(
1427 - jQuery('<a>', {'id': 'e2pdf-w-reupload', 'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large'}).html(e2pdfLang['Upload PDF'])
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'))
1428 2277 ),
1429 2278 jQuery('<li>').append(
1430 2279 )
1431 2280 )
@@ -1434,57 +2283,134 @@
1434 2283 var content = jQuery('<div>');
1435 2284 }
1436 2285
1437 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 + }
1438 2295 content.dialog({
1439 2296 title: title,
1440 - dialogClass: 'e2pdf-dialog',
2297 + dialogClass: dialog_class,
1441 2298 modal: true,
1442 2299 width: width,
1443 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1444 - resizable: false,
1445 - minHeight: 0,
1446 - my: "center",
1447 - 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,
1448 2307 open: function (event, ui) {
2308 + jQuery('html').css('overflow', 'hidden');
2309 + jQuery('.e2pdf-dialog').css('min-height', '150');
1449 2310 if (noclose) {
1450 - 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 + });
1451 2315 } else {
1452 2316 jQuery('.ui-widget-overlay').bind('click', function ()
1453 2317 {
2318 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2319 + return;
2320 + }
1454 2321 content.dialog('close');
1455 2322 });
1456 2323 }
1457 2324
1458 - var dialog_height = jQuery('.e2pdf-dialog').height();
1459 -
1460 2325 if (modal === 'properties') {
1461 2326 jQuery(".ui-dialog-titlebar").after(
1462 2327 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1463 - jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
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')})
1464 2330 )
1465 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 + );
1466 2371 } else if (modal === 'page-options') {
1467 2372 jQuery(".ui-dialog-titlebar").after(
1468 2373 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1469 - jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2374 + jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
1470 2375 )
1471 2376 );
1472 2377 }
1473 -
1474 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1475 -
1476 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1477 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
2378 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
1478 2379 },
1479 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 + },
1480 2404 close: function (event, ui)
1481 2405 {
2406 + jQuery('html').css('overflow', 'auto');
1482 2407 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1483 2408 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1484 2409 jQuery(this).click();
1485 2410 });
1486 2411 }
2412 + e2pdf.visual.mapper.selected = null;
1487 2413 jQuery(this).remove();
1488 2414 }
1489 2415 });
1490 2416 }
@@ -1489,56 +2415,58 @@
1489 2415 });
1490 2416 }
1491 2417
1492 2418 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1493 - e2pdf.request.submitRequest('e2pdf_extension', jQuery('#e2pdf-create-pdf-form select[name="extension"]'));
1494 - } else if (modal === 'properties') {
1495 - jQuery('.e2pdf-scale-field').each(function () {
1496 - jQuery(this).trigger('change');
1497 - });
2419 + jQuery('.e2pdf-extension').trigger('change');
1498 2420 } else if (modal === 'visual-mapper') {
1499 -
1500 2421 var data = {};
1501 2422 data['extension'] = e2pdf.pdf.settings.get('extension');
1502 2423 data['item'] = e2pdf.pdf.settings.get('item');
1503 - 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);
1504 2427 }
2428 +
2429 + if (modal !== 'visual-mapper') {
2430 + e2pdf.dialog.rebuild();
2431 + }
2432 +
1505 2433 e2pdf.event.fire('after.dialog.create');
1506 2434 },
1507 - //e2pdf.dialog.close
2435 + // e2pdf.dialog.close
1508 2436 close: function () {
1509 2437 if (jQuery('.e2pdf-dialog').length > 0) {
1510 2438 jQuery('.ui-dialog-content').dialog('close');
1511 2439 }
1512 2440 },
1513 - //e2pdf.dialog.rebuild
2441 + // e2pdf.dialog.rebuild
2442 +
1514 2443 rebuild: function () {
1515 - if (jQuery('.e2pdf-dialog').length > 0) {
1516 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1517 - var width = dialog.data("ui-dialog").options.width;
1518 - var height = 600;
1519 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1520 - var dialog_height = jQuery('.e2pdf-dialog').height();
1521 -
1522 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1523 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1524 -
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 + }
1525 2451 e2pdf.visual.mapper.rebuild();
1526 2452 }
1527 2453 }
1528 2454 },
1529 - //e2pdf.mediaUploader
2455 + // e2pdf.mediaUploader
1530 2456 mediaUploader: {
1531 - //e2pdf.mediaUploader.init
2457 + // e2pdf.mediaUploader.init
1532 2458 init: function (el) {
1533 -
1534 2459 var mediaUploader;
1535 2460 mediaUploader = wp.media.frames.file_frame = wp.media({
1536 - title: e2pdfLang['Choose Image'],
2461 + title: e2pdf.lang.get('Media Library'),
1537 2462 button: {
1538 - text: e2pdfLang['Choose Image']
2463 + text: e2pdf.lang.get('Select')
1539 2464 }, multiple: false});
1540 2465 mediaUploader.on('select', function () {
2466 + var history = [];
2467 + history.push(el.clone(true));
2468 + e2pdf.history.set('element_change', history);
1541 2469 var attachment = mediaUploader.state().get('selection').first().toJSON();
1542 2470 e2pdf.properties.set(el, 'value', attachment.url);
1543 2471 e2pdf.properties.render(el);
1544 2472 e2pdf.event.fire('after.mediaUploader.select');
@@ -1545,15 +2473,13 @@
1545 2473 });
1546 2474 mediaUploader.open();
1547 2475 }
1548 2476 },
1549 - //e2pdf.actions
2477 + // e2pdf.actions
1550 2478 actions: {
1551 - //e2pdf.actions.add
1552 - add: function (el, target) {
1553 -
2479 + // e2pdf.actions.add
2480 + add: function (el, target, action) {
1554 2481 var last_id = -1;
1555 -
1556 2482 target.find('.e2pdf-action').each(function () {
1557 2483 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1558 2484 if (num_id > last_id) {
1559 2485 last_id = num_id;
@@ -1559,45 +2485,66 @@
1559 2485 last_id = num_id;
1560 2486 }
1561 2487 });
1562 2488 var action_id = parseInt(last_id + 1);
2489 + if (action) {
2490 + target.append(e2pdf.actions.renderField(el, action_id, action));
2491 + } else {
2492 + target.append(e2pdf.actions.renderField(el, action_id));
2493 + }
1563 2494
1564 - target.append(e2pdf.actions.renderField(el, action_id));
1565 2495 },
1566 - //e2pdf.actions.change
1567 - change: function (action) {
2496 + // e2pdf.actions.change
2497 + change: function (action, trigger) {
1568 2498 var action_id = action.attr("data-action_id");
1569 -
1570 2499 var form = action.closest('form');
1571 2500 var data = e2pdf.form.serializeObject(form);
1572 -
1573 2501 var el = false;
1574 -
1575 2502 if (form.attr('id') === 'e2pdf-page-options') {
1576 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');
1577 2506 } else {
1578 2507 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1579 2508 }
1580 2509
1581 - 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 + }
1582 2514
1583 2515 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1584 -
1585 2516 e2pdf.event.fire('after.actions.change');
1586 2517 },
1587 - //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 +
1588 2537 delete: function (action) {
1589 2538 action.remove();
1590 2539 },
1591 - //e2pdf.actions.conditions
2540 + // e2pdf.actions.conditions
1592 2541 conditions: {
1593 - //e2pdf.actions.conditions.add
2542 + // e2pdf.actions.conditions.add
1594 2543 add: function (el, target) {
1595 2544 var action = target.closest('.e2pdf-action');
1596 -
1597 2545 var action_id = action.attr('data-action_id');
1598 2546 var last_id = -1;
1599 -
1600 2547 target.find('.e2pdf-condition').each(function () {
1601 2548 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1602 2549 if (num_id > last_id) {
1603 2550 last_id = num_id;
@@ -1603,14 +2550,13 @@
1603 2550 last_id = num_id;
1604 2551 }
1605 2552 });
1606 2553 var condition_id = parseInt(last_id + 1);
1607 -
1608 2554 action.find('.e2pdf-conditions').append(
1609 2555 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1610 2556 );
1611 2557 },
1612 - //e2pdf.actions.conditions.getFields
2558 + // e2pdf.actions.conditions.getFields
1613 2559 getFields: function (el, action_id, condition_id, condition) {
1614 2560 var obj = {
1615 2561 'condition': {
1616 2562 'fields': [
@@ -1615,42 +2561,37 @@
1615 2561 'condition': {
1616 2562 'fields': [
1617 2563 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1618 2564 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1619 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2565 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1620 2566 ],
1621 2567 'classes': [
1622 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2568 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1623 2569 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1624 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1625 - ],
1626 - },
1627 -
2570 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2571 + ]
2572 + }
1628 2573 };
1629 2574 return obj;
1630 2575 },
1631 - //e2pdf.actions.conditions.getField
2576 + // e2pdf.actions.conditions.getField
1632 2577 getField: function (field, el, action_id, condition_id, condition) {
1633 2578 var obj = false;
1634 -
1635 2579 switch (field) {
1636 -
1637 2580 case 'if':
1638 2581 var value = condition ? condition.if : '';
1639 2582 obj = {
1640 - 'name': e2pdfLang['If'],
2583 + 'name': e2pdf.lang.get('If'),
1641 2584 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1642 - 'type': 'text',
2585 + 'type': 'textarea',
1643 2586 'value': value,
1644 2587 'atts': []
1645 2588 };
1646 2589 break;
1647 -
1648 2590 case 'condition':
1649 2591 var value = condition ? condition.condition : '=';
1650 -
1651 2592 obj = {
1652 - 'name': e2pdfLang['Condition'],
2593 + 'name': e2pdf.lang.get('Condition'),
1653 2594 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1654 2595 'type': 'select',
1655 2596 'value': value,
1656 2597 'options': [
@@ -1659,43 +2600,45 @@
1659 2600 {'>': '>'},
1660 2601 {'>=': '>='},
1661 2602 {'<': '<'},
1662 2603 {'<=': '<='},
1663 - {'like': 'LIKE'},
1664 - {'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')}
1665 2612 ],
1666 2613 'atts': []
1667 2614 };
1668 2615 break;
1669 -
1670 2616 case 'value':
1671 2617 var value = condition ? condition.value : '';
1672 2618 obj = {
1673 - 'name': e2pdfLang['Value'],
2619 + 'name': e2pdf.lang.get('Value'),
1674 2620 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1675 - 'type': 'text',
2621 + 'type': 'textarea',
1676 2622 'value': value,
1677 2623 'atts': []
1678 2624 };
1679 2625 break;
1680 2626 }
1681 -
1682 2627 return obj;
1683 2628 },
1684 - //e2pdf.actions.conditions.delete
2629 + // e2pdf.actions.conditions.delete
1685 2630 delete: function (condition) {
1686 2631 condition.remove();
1687 2632 },
1688 - //e2pdf.actions.conditions.renderField
2633 + // e2pdf.actions.conditions.renderField
1689 2634 renderField: function (el, action_id, condition_id, condition) {
1690 2635 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1691 -
1692 2636 if (groups) {
1693 2637 for (var group_key in groups) {
1694 2638
1695 2639 var group = groups[group_key];
1696 2640 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1697 -
1698 2641 for (var field_key in group.fields) {
1699 2642 var group_field = group.fields[field_key];
1700 2643 var classes = '';
1701 2644 if (group.classes) {
@@ -1706,12 +2649,11 @@
1706 2649
1707 2650 var field = '';
1708 2651 var label = '';
1709 2652 var wrap = '';
1710 -
1711 2653 if (group_field.type === 'text') {
1712 2654 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1713 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
2655 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1714 2656 } else if (group_field.type === 'hidden') {
1715 2657 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1716 2658 } else if (group_field.type === 'textarea') {
1717 2659 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
@@ -1719,17 +2661,14 @@
1719 2661 } else if (group_field.type === 'checkbox') {
1720 2662 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1721 2663 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1722 2664 if (group_field.value == group_field.option) {
1723 - field.attr('checked', 'checked');
2665 + field.prop('checked', true);
1724 2666 }
1725 2667 } else if (group_field.type === 'color') {
1726 2668 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1727 2669 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1728 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1729 - if (group_field.key === 'border_color') {
1730 - field.attr('data-default', '#000000');
1731 - }
2670 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1732 2671 } else if (group_field.type === 'select') {
1733 2672 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1734 2673 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1735 2674 for (var option_key in group_field.options) {
@@ -1748,9 +2687,9 @@
1748 2687 }
1749 2688 }
1750 2689 }
1751 2690
1752 - 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(
1753 2692 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1754 2693 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1755 2694 ),
1756 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1755,26 +2694,26 @@
1755 2694 ),
1756 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1757 2696 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1758 2697 )));
1759 -
1760 - 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 + ),
1761 2702 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1762 2703 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1763 2704 ),
1764 2705 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1765 - grid,
2706 + grid
1766 2707 )
1767 2708 );
1768 2709 return new_condition;
1769 2710 }
1770 2711 },
1771 -
1772 - //e2pdf.actions.get
2712 + // e2pdf.actions.get
1773 2713 get: function (el) {
1774 2714 var actions = [];
1775 -
1776 - if (typeof el.data('data-properties') !== 'undefined') {
2715 + if (typeof el.data('data-actions') !== 'undefined') {
1777 2716 actions = JSON.parse(el.data('data-actions'));
1778 2717 actions = Object.values(actions).sort(function (a, b) {
1779 2718 if (parseInt(a.order) === parseInt(b.order)) {
1780 2719 return 0;
@@ -1783,9 +2722,9 @@
1783 2722 });
1784 2723 }
1785 2724 return actions;
1786 2725 },
1787 - //e2pdf.actions.apply
2726 + // e2pdf.actions.apply
1788 2727 apply: function (el, data) {
1789 2728 if (!data) {
1790 2729 data = [];
1791 2730 }
@@ -1790,18 +2729,16 @@
1790 2729 data = [];
1791 2730 }
1792 2731 el.data('data-actions', JSON.stringify(data));
1793 2732 },
1794 - //e2pdf.actions.getField
2733 + // e2pdf.actions.getField
1795 2734 getField: function (field, el, action_id, action) {
1796 -
1797 2735 var obj = false;
1798 -
1799 2736 switch (field) {
1800 2737 case 'order':
1801 2738 var value = action ? action.order : '0';
1802 2739 obj = {
1803 - 'name': e2pdfLang['Order'],
2740 + 'name': e2pdf.lang.get('Sort'),
1804 2741 'key': 'actions[' + action_id + '][order]',
1805 2742 'type': 'text',
1806 2743 'value': value,
1807 2744 'atts': ['number']
@@ -1806,72 +2743,228 @@
1806 2743 'value': value,
1807 2744 'atts': ['number']
1808 2745 };
1809 2746 break;
1810 -
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;
1811 2787 case 'action':
1812 - 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 + }
1813 2832 obj = {
1814 - 'name': e2pdfLang['Action'],
2833 + 'name': e2pdf.lang.get('Action'),
1815 2834 'key': 'actions[' + action_id + '][action]',
1816 2835 'type': 'select',
1817 2836 'value': value,
1818 - 'options': [
1819 - {'hide': e2pdfLang['Hide']},
1820 - {'show': e2pdfLang['Show']},
1821 - {'change': e2pdfLang['Change']},
1822 - ],
2837 + 'options': options,
1823 2838 'atts': []
1824 2839 };
1825 2840 break;
2841 + case 'error_message':
2842 + if (el.data('data-type') == 'e2pdf-tpl') {
2843 + var value = action ? action.error_message : '';
2844 + obj = {
2845 + 'name': e2pdf.lang.get('Error Message'),
2846 + 'key': 'actions[' + action_id + '][error_message]',
2847 + 'type': 'textarea',
2848 + 'value': value,
2849 + 'atts': []
2850 + };
2851 + }
2852 + break;
2853 + case 'redirect_error_message':
2854 + if (el.data('data-type') == 'e2pdf-tpl') {
2855 + var value = action ? action.redirect_error_message : '';
2856 + if (!value) {
2857 + value = 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...';
2858 + }
2859 + obj = {
2860 + 'name': e2pdf.lang.get('Error Message'),
2861 + 'key': 'actions[' + action_id + '][redirect_error_message]',
2862 + 'type': 'textarea',
2863 + 'placeholder': 'Access denied. Please, click <a href="%s" target="_blank">here</a> for more details...',
2864 + 'value': value,
2865 + 'atts': []
2866 + };
2867 + }
2868 + break;
2869 + case 'redirect_url':
2870 + if (el.data('data-type') == 'e2pdf-tpl') {
2871 + var value = action ? action.redirect_url : '';
2872 + obj = {
2873 + 'name': e2pdf.lang.get('Redirect URL'),
2874 + 'key': 'actions[' + action_id + '][redirect_url]',
2875 + 'type': 'text',
2876 + 'value': value,
2877 + 'atts': []
2878 + };
2879 + }
2880 + break;
2881 + case 'else':
2882 + if (el.data('data-type') == 'e2pdf-page') {
2883 + var options = [
2884 + {'': '-'},
2885 + {'hide': e2pdf.lang.get('Hide Page')}
2886 + ];
2887 + } else {
2888 + var options = [
2889 + {'': '-'},
2890 + {'hide': e2pdf.lang.get('Hide Element')}
2891 + ];
2892 + }
1826 2893
2894 + var value = action && typeof action.else !== 'undefined' ? action.else : 'hide';
2895 + obj = {
2896 + 'name': e2pdf.lang.get('Else'),
2897 + 'key': 'actions[' + action_id + '][else]',
2898 + 'type': 'select',
2899 + 'options': options,
2900 + 'value': value,
2901 + 'atts': []
2902 + };
2903 + break;
1827 2904 case 'property':
1828 - var value = action ? action.property : '';
1829 -
1830 - if (action && action.action === 'change') {
1831 - var options = [];
1832 - var option = {
1833 - '': e2pdfLang['--- Select ---']
1834 - };
1835 - options.push(option);
1836 -
1837 - var groups = e2pdf.properties.getFields(el);
1838 -
1839 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1840 -
1841 - for (var group_key in groups) {
1842 - var group = groups[group_key];
1843 -
1844 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1845 - for (var field_key in group.fields) {
1846 - var group_field = group.fields[field_key];
1847 - var option = {};
1848 -
1849 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1850 - option[group_field.key] = group.name;
1851 - } else {
1852 - option[group_field.key] = group.name + ' ' + group_field.name;
1853 - }
1854 -
1855 - options.push(option);
1856 - }
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';
1857 2912 }
2913 + } else {
2914 + var value = action && action.property ? action.property : 'enable';
1858 2915 }
1859 -
2916 + var options = [
2917 + {'enable': e2pdf.lang.get('Enable')},
2918 + {'disable': e2pdf.lang.get('Disable')},
2919 + ];
1860 2920 obj = {
1861 - 'name': e2pdfLang['Property'],
2921 + 'name': e2pdf.lang.get('State'),
1862 2922 'key': 'actions[' + action_id + '][property]',
1863 - 'type': 'select',
2923 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1864 2924 'value': value,
1865 2925 'options': options,
1866 2926 'atts': []
1867 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 + }
1868 2963 }
1869 2964 break;
1870 -
1871 2965 case 'change':
1872 2966 var value = action ? action.change : '';
1873 -
1874 2967 if (
1875 2968 action
1876 2969 && typeof action.action !== 'undefined'
1877 2970 && action.action === 'change'
@@ -1879,13 +2972,20 @@
1879 2972 && action.property !== ''
1880 2973 ) {
1881 2974
1882 2975 var property = e2pdf.properties.getField(action.property, el);
1883 -
1884 2976 if (property) {
1885 - 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 + }
1886 2984 property.key = 'actions[' + action_id + '][change]';
1887 -
2985 + if (jQuery.inArray('readonly', property.atts) !== -1 && jQuery.inArray('editable', property.atts) !== -1) {
2986 + property.atts.splice(jQuery.inArray('readonly', property.atts), 1);
2987 + }
1888 2988 if (jQuery.inArray('readonly', property.atts) === -1) {
1889 2989 if (property.type === 'select') {
1890 2990 for (var key in property.options) {
1891 2991 if (Object.keys(property.options[key])[0] == value) {
@@ -1906,19 +3006,18 @@
1906 3006 obj = property;
1907 3007 }
1908 3008 }
1909 3009 break;
1910 -
1911 3010 case 'apply':
1912 3011 var value = action ? action.apply : 'any';
1913 3012 obj = {
1914 - 'name': e2pdfLang['Apply If'],
3013 + 'name': e2pdf.lang.get('Apply If'),
1915 3014 'key': 'actions[' + action_id + '][apply]',
1916 3015 'type': 'select',
1917 3016 'value': value,
1918 3017 'options': [
1919 - {'any': e2pdfLang['Any']},
1920 - {'all': e2pdfLang['All']},
3018 + {'any': e2pdf.lang.get('Any')},
3019 + {'all': e2pdf.lang.get('All')}
1921 3020 ],
1922 3021 'atts': []
1923 3022 };
1924 3023 break;
@@ -1924,9 +3023,9 @@
1924 3023 break;
1925 3024 }
1926 3025 return obj;
1927 3026 },
1928 - //e2pdf.actions.getFields
3027 + // e2pdf.actions.getFields
1929 3028 getFields: function (el, action_id, action) {
1930 3029 var obj = {
1931 3030 'action': {
1932 3031 'fields': [
@@ -1932,27 +3031,68 @@
1932 3031 'fields': [
1933 3032 e2pdf.actions.getField('order', el, action_id, action),
1934 3033 e2pdf.actions.getField('action', el, action_id, action),
1935 3034 e2pdf.actions.getField('property', el, action_id, action),
1936 - e2pdf.actions.getField('change', el, action_id, action),
1937 - e2pdf.actions.getField('apply', el, action_id, action),
3035 + e2pdf.actions.getField('apply', el, action_id, action)
1938 3036 ],
1939 3037 'classes': [
1940 3038 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1941 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1942 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1943 - 'e2pdf-w20 e2pdf-pl5 e2pdf-pr5 e2pdf-action-change',
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',
1944 3041 'e2pdf-w15 e2pdf-pl5'
1945 - ],
1946 - },
3042 + ]
3043 + }
1947 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 +
1948 3084 return obj;
1949 3085 },
1950 - //e2pdf.actions.renderField
3086 + // e2pdf.actions.renderField
1951 3087 renderField: function (el, action_id, action) {
1952 -
1953 3088 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
1954 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 + }
1955 3095 for (var condition in action.conditions) {
1956 3096 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
1957 3097 }
1958 3098 } else {
@@ -1959,16 +3099,13 @@
1959 3099 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
1960 3100 }
1961 3101
1962 3102 var groups = e2pdf.actions.getFields(el, action_id, action);
1963 -
1964 3103 if (groups) {
1965 -
1966 3104 for (var group_key in groups) {
1967 3105
1968 3106 var group = groups[group_key];
1969 3107 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1970 -
1971 3108 for (var field_key in group.fields) {
1972 3109 var group_field = group.fields[field_key];
1973 3110 var classes = '';
1974 3111 if (group.classes) {
@@ -1979,30 +3116,27 @@
1979 3116
1980 3117 var field = '';
1981 3118 var label = '';
1982 3119 var wrap = '';
1983 -
3120 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
1984 3121 if (group_field.type === 'text') {
1985 3122 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1986 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
3123 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1987 3124 } else if (group_field.type === 'hidden') {
1988 3125 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1989 3126 } else if (group_field.type === 'textarea') {
1990 3127 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1991 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
3128 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
1992 3129 } else if (group_field.type === 'checkbox') {
1993 - 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);
1994 3131 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
1995 3132 if (group_field.value == group_field.option) {
1996 - field.attr('checked', 'checked');
3133 + field.prop('checked', true);
1997 3134 }
1998 3135 } else if (group_field.type === 'color') {
1999 3136 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
2000 3137 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2001 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2002 - if (group_field.key === 'border_color') {
2003 - field.attr('data-default', '#000000');
2004 - }
3138 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2005 3139 } else if (group_field.type === 'select') {
2006 3140 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
2007 3141 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
2008 3142 for (var option_key in group_field.options) {
@@ -2012,9 +3146,8 @@
2012 3146 }
2013 3147
2014 3148 for (var att_key in group_field.atts) {
2015 3149 var att = group_field.atts[att_key];
2016 -
2017 3150 switch (att) {
2018 3151 case 'readonly':
2019 3152 field.attr('readonly', 'readonly');
2020 3153 break;
@@ -2021,9 +3154,8 @@
2021 3154 case 'number':
2022 3155 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
2023 3156 break;
2024 3157 case 'autocomplete':
2025 -
2026 3158 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
2027 3159 field.addClass('e2pdf-autocomplete-cl');
2028 3160 field.autocomplete({
2029 3161 source: group_field.source,
@@ -2029,19 +3161,15 @@
2029 3161 source: group_field.source,
2030 3162 minLength: 0,
2031 3163 appendTo: wrap,
2032 3164 open: function () {
2033 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3165 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2034 3166 },
2035 3167 classes: {
2036 3168 "ui-autocomplete": "e2pdf-autocomplete"
2037 - },
3169 + }
2038 3170 });
2039 3171 break;
2040 -
2041 - case 'scale':
2042 - field.addClass('e2pdf-scale-field');
2043 - break;
2044 3172 }
2045 3173 }
2046 3174
2047 3175 if (!wrap) {
@@ -2055,8 +3183,11 @@
2055 3183 }
2056 3184 }
2057 3185
2058 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 + ),
2059 3190 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2060 3191 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2061 3192 ),
2062 3193 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2063,569 +3194,653 @@
2063 3194 grid
2064 3195 ),
2065 3196 conditions
2066 3197 );
2067 -
2068 3198 return new_action;
2069 3199 },
2070 - //e2pdf.actions.renderFields
3200 + // e2pdf.actions.renderFields
2071 3201 renderFields: function (el) {
2072 3202
2073 3203 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2074 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html("Add Action")
3204 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
2075 3205 );
2076 -
2077 3206 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2078 3207 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2079 -
2080 3208 var actions = e2pdf.actions.get(el);
2081 -
2082 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 + }
2083 3216 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2084 3217 }
2085 3218
2086 3219 block.append(action_wrapper, add_action);
2087 -
2088 3220 return block;
2089 3221 }
2090 3222 },
2091 - //e2pdf.properties
3223 + // e2pdf.properties
2092 3224 properties: {
2093 - //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
2094 3242 getField: function (field, el) {
2095 3243
2096 3244 var obj = false;
2097 3245 var properties = e2pdf.properties.get(el);
2098 3246 var children = e2pdf.element.children(el);
2099 -
2100 3247 switch (field) {
2101 - case 'element_id':
2102 - var value = el.attr('data-element_id');
3248 + case 'page_id':
2103 3249 obj = {
2104 - 'name': e2pdfLang['ID'],
2105 - 'key': 'element_id',
3250 + 'name': e2pdf.lang.get('Page ID'),
2106 3251 'type': 'text',
2107 - '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')),
2108 3253 'atts': [
2109 - 'readonly'
3254 + 'readonly',
3255 + 'number'
2110 3256 ]
2111 3257 };
3258 + if (el.data('data-type') !== 'e2pdf-page') {
3259 + obj.atts.push('editable');
3260 + }
2112 3261 break;
2113 -
2114 - case 'element_type':
2115 - var value = el.data('data-type');
3262 + case 'element_id':
2116 3263 obj = {
2117 - 'name': e2pdfLang['Type'],
2118 - 'key': 'element_type',
3264 + 'name': 'ID',
2119 3265 'type': 'text',
2120 - 'value': value,
2121 - 'atts': [
2122 - 'readonly'
2123 - ]
3266 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3267 + 'atts': ['readonly']
2124 3268 };
2125 3269 break;
2126 -
2127 - case 'page_id':
2128 - var value = el.attr('data-page_id');
3270 + case 'element_type':
2129 3271 obj = {
2130 - 'name': e2pdfLang['ID'],
2131 - 'key': 'page_id',
3272 + 'name': e2pdf.lang.get('Type'),
2132 3273 'type': 'text',
2133 - 'value': value ? value : 0,
2134 - 'atts': [
2135 - 'readonly'
2136 - ]
3274 + 'value': el.data('data-type'),
3275 + 'atts': ['readonly']
2137 3276 };
2138 3277 break;
2139 -
2140 3278 case 'width':
2141 - if (el.data('data-type') == 'e2pdf-page') {
2142 - var value = el.attr('data-width');
2143 - } else {
2144 - var value = e2pdf.helper.pxToFloat(el.css('width'));
2145 - }
2146 -
2147 3279 obj = {
2148 - 'name': e2pdfLang['Width'],
2149 - 'key': 'width',
3280 + 'name': e2pdf.lang.get('Width'),
2150 3281 'type': 'text',
2151 - 'value': value,
2152 - 'atts': [
2153 - 'number'
2154 - ]
3282 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3283 + 'atts': ['number']
2155 3284 };
2156 -
2157 - if (el.data('data-type') == 'e2pdf-page') {
2158 - if (e2pdf.pdf.settings.get('pdf')) {
2159 - obj.atts.push('readonly')
2160 - }
3285 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3286 + obj.atts.push('readonly');
2161 3287 }
2162 -
2163 3288 break;
2164 3289 case 'height':
2165 -
2166 - if (el.data('data-type') == 'e2pdf-page') {
2167 - var value = el.attr('data-height');
2168 - } else {
2169 - var value = e2pdf.helper.pxToFloat(el.css('height'));
2170 - }
2171 -
2172 3290 obj = {
2173 - 'name': e2pdfLang['Height'],
2174 - 'key': 'height',
3291 + 'name': e2pdf.lang.get('Height'),
2175 3292 'type': 'text',
2176 - 'value': value,
2177 - 'atts': [
2178 - 'number'
2179 - ]
3293 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3294 + 'atts': ['number']
2180 3295 };
2181 -
2182 - if (el.data('data-type') == 'e2pdf-page') {
2183 - if (e2pdf.pdf.settings.get('pdf')) {
2184 - obj.atts.push('readonly')
2185 - }
3296 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3297 + obj.atts.push('readonly');
2186 3298 }
2187 -
2188 3299 break;
2189 3300 case 'top':
2190 - var value = parseFloat(el.css('top'));
2191 3301 obj = {
2192 - 'name': e2pdfLang['Top'],
2193 - 'key': 'top',
3302 + 'name': e2pdf.lang.get('Position Top'),
2194 3303 'type': 'text',
2195 - 'value': value,
2196 - 'atts': [
2197 - 'number'
2198 - ]
3304 + 'value': e2pdf.helper.getFloat(el.css('top')),
3305 + 'atts': ['number', 'keep']
2199 3306 };
2200 3307 break;
2201 3308 case 'left':
2202 - var value = parseFloat(el.css('left'));
2203 3309 obj = {
2204 - 'name': e2pdfLang['Left'],
2205 - 'key': 'left',
3310 + 'name': e2pdf.lang.get('Position Left'),
2206 3311 'type': 'text',
2207 - 'value': value,
2208 - 'atts': [
2209 - 'number'
2210 - ]
3312 + 'value': e2pdf.helper.getFloat(el.css('left')),
3313 + 'atts': ['number', 'keep']
2211 3314 };
2212 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;
2213 3331 case 'dynamic_height':
2214 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2215 3332 obj = {
2216 - 'name': e2pdfLang['Dynamic Height'],
2217 - 'key': 'dynamic_height',
3333 + 'name': e2pdf.lang.get('Dynamic Height'),
2218 3334 'type': 'checkbox',
2219 - 'value': value,
2220 - 'option': 1,
2221 - 'atts': []
3335 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3336 + 'option': '1'
2222 3337 };
2223 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;
2224 3379 case 'text_color':
2225 - var value = properties['text_color'];
2226 3380 obj = {
2227 - 'name': e2pdfLang['Color'],
2228 - 'key': 'text_color',
3381 + 'name': e2pdf.lang.get('Font Color'),
2229 3382 'type': 'color',
2230 - 'value': value,
2231 - 'atts': []
3383 + 'value': e2pdf.helper.getString(properties[field])
2232 3384 };
2233 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;
2234 3393 case 'text_type':
2235 - var value = properties['text_type'];
2236 3394 obj = {
2237 - 'name': e2pdfLang['Type'],
2238 - 'key': 'text_type',
3395 + 'name': e2pdf.lang.get('Type'),
2239 3396 'type': 'select',
2240 - 'value': value,
3397 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2241 3398 'options': [
2242 - {'check': e2pdfLang['Check']},
2243 - {'circle': e2pdfLang['Circle']},
2244 - {'cross': e2pdfLang['Cross']},
2245 - {'diamond': e2pdfLang['Diamond']},
2246 - {'square': e2pdfLang['Square']},
2247 - {'star': e2pdfLang['Star']},
2248 - ],
2249 - 'atts': []
3399 + {'check': 'Check'},
3400 + {'circle': 'Circle'},
3401 + {'cross': 'Cross'},
3402 + {'diamond': 'Diamond'},
3403 + {'square': 'Square'},
3404 + {'star': 'Star'}
3405 + ]
2250 3406 };
2251 3407 break;
2252 3408 case 'text_font':
2253 - var options = [];
2254 - jQuery('#e2pdf-wysiwyg-font').find('option').each(function () {
2255 - var option = {};
2256 - option[jQuery(this).attr('value')] = jQuery(this).html();
2257 - options.push(option);
2258 - });
2259 - var value = '';
2260 - if (properties['text_font']) {
2261 - value = properties['text_font'];
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]);
2262 3421 }
2263 3422 obj = {
2264 - 'name': e2pdfLang['Font'],
2265 - 'key': 'text_font',
2266 - 'type': 'select',
3423 + 'name': e2pdf.lang.get('Auto Font Size'),
3424 + 'type': 'checkbox',
2267 3425 'value': value,
2268 - 'options': options,
2269 - 'atts': []
3426 + 'option': '1'
2270 3427 };
2271 3428 break;
2272 3429 case 'text_font_size':
2273 - var options = [];
2274 - jQuery('#e2pdf-wysiwyg-fontsize').find('option').each(function () {
2275 - var option = {};
2276 - option[jQuery(this).attr('value')] = jQuery(this).html();
2277 - options.push(option);
2278 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2279 - option = {};
2280 - option['-1'] = e2pdfLang['Auto'];
2281 - options.push(option);
2282 - }
2283 - });
2284 - var value = '';
2285 - if (properties['text_font_size']) {
2286 - value = properties['text_font_size'];
2287 - }
2288 3430 obj = {
2289 - 'name': e2pdfLang['Size'],
2290 - 'key': 'text_font_size',
3431 + 'name': e2pdf.lang.get('Font Size'),
2291 3432 'type': 'select',
2292 - 'value': value,
2293 - 'options': options,
2294 - 'atts': []
3433 + 'value': e2pdf.helper.getString(properties[field]),
3434 + 'options': e2pdf.helper.font.sizes(field, properties)
2295 3435 };
2296 3436 break;
2297 3437 case 'text_line_height':
2298 -
2299 - var options = [];
2300 -
2301 - var value = '';
2302 - if (properties['text_line_height']) {
2303 - value = properties['text_line_height'];
2304 - }
2305 -
2306 - var option = {};
2307 - option[''] = '-';
2308 - options.push(option);
2309 -
2310 - jQuery('#e2pdf-line-height').find('option').each(function () {
2311 - var option = {};
2312 - option[jQuery(this).attr('value')] = jQuery(this).html();
2313 - options.push(option);
2314 - });
2315 -
2316 3438 obj = {
2317 - 'name': e2pdfLang['Line Height'],
2318 - 'key': 'text_line_height',
3439 + 'name': e2pdf.lang.get('Line Height'),
2319 3440 'type': 'select',
2320 - 'value': value,
2321 - 'options': options,
2322 - 'atts': []
3441 + 'value': e2pdf.helper.getString(properties[field]),
3442 + 'options': e2pdf.helper.font.lines(field)
2323 3443 };
2324 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;
2325 3453 case 'z_index':
2326 - var value = properties['z_index'];
2327 3454 obj = {
2328 - 'name': e2pdfLang['Z-index'],
2329 - 'key': 'z_index',
3455 + 'name': 'Z-index',
2330 3456 'type': 'text',
2331 - 'value': value,
2332 - 'atts': ['number']
3457 + 'value': e2pdf.helper.getInt(properties[field]),
3458 + 'atts': ['number', 'number-negative']
2333 3459 };
2334 3460 break;
2335 3461 case 'background':
2336 - var value = properties['background'];
2337 3462 obj = {
2338 - 'name': e2pdfLang['Background'],
3463 + 'name': e2pdf.lang.get('Background'),
2339 3464 'key': 'background',
2340 3465 'type': 'color',
2341 - 'value': value,
2342 - 'atts': []
3466 + 'value': e2pdf.helper.getString(properties[field])
2343 3467 };
2344 3468 break;
2345 3469 case 'border':
2346 - var value = properties['border'];
2347 3470 obj = {
2348 - 'name': e2pdfLang['Border'],
2349 - 'key': 'border',
3471 + 'name': e2pdf.lang.get('Border'),
2350 3472 'type': 'text',
2351 - 'value': value,
3473 + 'value': e2pdf.helper.getInt(properties[field]),
2352 3474 'atts': ['number']
2353 3475 };
2354 3476 break;
2355 3477 case 'border_top':
2356 - var value = properties['border_top'];
2357 3478 obj = {
2358 - 'name': e2pdfLang['Top'],
2359 - 'key': 'border_top',
3479 + 'name': e2pdf.lang.get('Border Top'),
2360 3480 'type': 'text',
2361 - 'value': value,
3481 + 'value': e2pdf.helper.getInt(properties[field]),
2362 3482 'atts': ['number']
2363 3483 };
2364 3484 break;
2365 3485 case 'border_left':
2366 - var value = properties['border_left'];
2367 3486 obj = {
2368 - 'name': e2pdfLang['Left'],
2369 - 'key': 'border_left',
3487 + 'name': e2pdf.lang.get('Border Left'),
2370 3488 'type': 'text',
2371 - 'value': value,
3489 + 'value': e2pdf.helper.getInt(properties[field]),
2372 3490 'atts': ['number']
2373 3491 };
2374 3492 break;
2375 3493 case 'border_right':
2376 - var value = properties['border_right'];
2377 3494 obj = {
2378 - 'name': e2pdfLang['Right'],
2379 - 'key': 'border_right',
3495 + 'name': e2pdf.lang.get('Border Right'),
2380 3496 'type': 'text',
2381 - 'value': value,
3497 + 'value': e2pdf.helper.getInt(properties[field]),
2382 3498 'atts': ['number']
2383 3499 };
2384 3500 break;
2385 3501 case 'border_bottom':
2386 - var value = properties['border_bottom'];
2387 3502 obj = {
2388 - 'name': e2pdfLang['Bottom'],
2389 - 'key': 'border_bottom',
3503 + 'name': e2pdf.lang.get('Border Bottom'),
2390 3504 'type': 'text',
2391 - 'value': value,
3505 + 'value': e2pdf.helper.getInt(properties[field]),
2392 3506 'atts': ['number']
2393 3507 };
2394 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;
2395 3517 case 'border_color':
2396 - var value = properties['border_color'];
2397 3518 obj = {
2398 - 'name': e2pdfLang['Color'],
2399 - 'key': 'border_color',
3519 + 'name': e2pdf.lang.get('Border Color'),
2400 3520 'type': 'color',
2401 - 'value': value ? value : "#000000",
3521 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2402 3522 };
2403 3523 break;
2404 3524 case 'padding_top':
2405 - var value = properties['padding_top'];
2406 3525 obj = {
2407 - 'name': e2pdfLang['Top'],
2408 - 'key': 'padding_top',
3526 + 'name': e2pdf.lang.get('Padding Top'),
2409 3527 'type': 'text',
2410 - 'value': value,
3528 + 'value': e2pdf.helper.getInt(properties[field]),
2411 3529 'atts': ['number']
2412 3530 };
2413 3531 break;
2414 3532 case 'padding_left':
2415 - var value = properties['padding_left'];
2416 3533 obj = {
2417 - 'name': e2pdfLang['Left'],
2418 - 'key': 'padding_left',
3534 + 'name': e2pdf.lang.get('Padding Left'),
2419 3535 'type': 'text',
2420 - 'value': value,
3536 + 'value': e2pdf.helper.getInt(properties[field]),
2421 3537 'atts': ['number']
2422 3538 };
2423 3539 break;
2424 3540 case 'padding_right':
2425 - var value = properties['padding_right'];
2426 3541 obj = {
2427 - 'name': e2pdfLang['Right'],
2428 - 'key': 'padding_right',
3542 + 'name': e2pdf.lang.get('Padding Right'),
2429 3543 'type': 'text',
2430 - 'value': value,
3544 + 'value': e2pdf.helper.getInt(properties[field]),
2431 3545 'atts': ['number']
2432 3546 };
2433 3547 break;
2434 3548 case 'padding_bottom':
2435 - var value = properties['padding_bottom'];
2436 3549 obj = {
2437 - 'name': e2pdfLang['Bottom'],
2438 - 'key': 'padding_bottom',
3550 + 'name': e2pdf.lang.get('Padding Bottom'),
2439 3551 'type': 'text',
2440 - 'value': value,
3552 + 'value': e2pdf.helper.getInt(properties[field]),
2441 3553 'atts': ['number']
2442 3554 };
2443 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;
2444 3600 case 'length':
2445 - var value = properties['length'];
2446 3601 obj = {
2447 - 'name': e2pdfLang['Length'],
2448 - 'key': 'length',
3602 + 'name': e2pdf.lang.get('Length'),
2449 3603 'type': 'text',
2450 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2451 3605 'atts': ['number']
2452 3606 };
2453 3607 break;
2454 3608 case 'comb':
2455 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2456 3609 obj = {
2457 - 'name': e2pdfLang['Comb'],
2458 - 'key': 'comb',
3610 + 'name': e2pdf.lang.get('Comb'),
2459 3611 'type': 'checkbox',
2460 - 'option': 1,
2461 - 'value': value,
2462 - 'atts': []
3612 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3613 + 'option': '1'
2463 3614 };
2464 3615 break;
2465 3616 case 'rtl':
2466 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2467 3617 obj = {
2468 - 'name': e2pdfLang['RTL'],
2469 - 'key': 'rtl',
2470 - 'type': 'checkbox',
2471 - 'option': 1,
2472 - 'value': value,
2473 - '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 + ]
2474 3627 };
2475 3628 break;
2476 3629 case 'required':
2477 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2478 3630 obj = {
2479 - 'name': e2pdfLang['Required'],
2480 - 'key': 'required',
3631 + 'name': e2pdf.lang.get('Required'),
2481 3632 'type': 'checkbox',
2482 - 'option': 1,
2483 - 'value': value,
2484 - 'atts': []
3633 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3634 + 'option': '1'
2485 3635 };
2486 3636 break;
2487 3637 case 'readonly':
2488 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2489 3638 obj = {
2490 - 'name': e2pdfLang['Readonly'],
2491 - 'key': 'readonly',
3639 + 'name': e2pdf.lang.get('Read-Only'),
2492 3640 'type': 'checkbox',
2493 - 'option': 1,
2494 - 'value': value,
2495 - 'atts': []
3641 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3642 + 'option': '1'
2496 3643 };
2497 3644 break;
2498 3645 case 'pass':
2499 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2500 3646 obj = {
2501 - 'name': e2pdfLang['Password'],
2502 - 'key': 'pass',
3647 + 'name': e2pdf.lang.get('Password'),
2503 3648 'type': 'checkbox',
2504 - 'option': 1,
2505 - 'value': value,
2506 - 'atts': []
3649 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3650 + 'option': '1'
2507 3651 };
2508 3652 break;
2509 3653 case 'multiline':
2510 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2511 3654 obj = {
2512 - 'name': e2pdfLang['Multiline'],
2513 - 'key': 'multiline',
3655 + 'name': e2pdf.lang.get('Multiline'),
2514 3656 'type': 'checkbox',
2515 - 'option': 1,
2516 - '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',
2517 3675 'atts': []
2518 3676 };
3677 + if (el.data('data-type') === 'e2pdf-image') {
3678 + obj.atts.push('keep');
3679 + }
2519 3680 break;
2520 - case 'dimension':
2521 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3681 + case 'keep_lower_size':
2522 3682 obj = {
2523 - 'name': e2pdfLang['Keep dimension'],
2524 - 'key': 'dimension',
3683 + 'name': e2pdf.lang.get('Keep Lower Size'),
2525 3684 'type': 'checkbox',
2526 - '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',
2527 3713 'value': value,
2528 - '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 + ]
2529 3723 };
2530 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;
2531 3770 case 'esig':
2532 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2533 3771 obj = {
2534 - 'name': e2pdfLang['E-signature'],
2535 - 'key': 'esig',
3772 + 'name': e2pdf.lang.get('E-Signature'),
2536 3773 'type': 'checkbox',
2537 - 'option': 1,
2538 - 'value': value,
2539 - 'atts': []
3774 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3775 + 'option': '1'
2540 3776 };
2541 3777 break;
2542 3778 case 'esig_contact':
2543 - var value = properties['esig_contact'];
2544 3779 obj = {
2545 - 'name': e2pdfLang['Contact'],
2546 - 'key': 'esig_contact',
3780 + 'name': e2pdf.lang.get('Contact'),
2547 3781 'type': 'text',
2548 - 'value': value,
2549 - 'atts': []
3782 + 'value': e2pdf.helper.getString(properties[field])
2550 3783 };
2551 3784 break;
2552 3785 case 'esig_location':
2553 - var value = properties['esig_location'];
2554 3786 obj = {
2555 - 'name': e2pdfLang['Location'],
2556 - 'key': 'esig_location',
3787 + 'name': e2pdf.lang.get('Location'),
2557 3788 'type': 'text',
2558 - 'value': value,
2559 - 'atts': []
3789 + 'value': e2pdf.helper.getString(properties[field])
2560 3790 };
2561 3791 break;
2562 3792 case 'esig_reason':
2563 - var value = properties['esig_reason'];
2564 3793 obj = {
2565 - 'name': e2pdfLang['Reason'],
2566 - 'key': 'esig_reason',
3794 + 'name': e2pdf.lang.get('Reason'),
2567 3795 'type': 'text',
2568 - 'value': value,
2569 - 'atts': []
3796 + 'value': e2pdf.helper.getString(properties[field])
2570 3797 };
2571 3798 break;
2572 3799 case 'placeholder':
2573 - var value = properties['placeholder'];
2574 3800 obj = {
2575 - 'name': e2pdfLang['Placeholder'],
2576 - 'key': 'placeholder',
3801 + 'name': e2pdf.lang.get('Placeholder'),
2577 3802 'type': 'text',
2578 - 'value': value,
2579 - 'atts': []
3803 + 'value': e2pdf.helper.getString(properties[field])
2580 3804 };
2581 3805 break;
2582 3806 case 'horizontal':
2583 - var value = properties['horizontal'];
2584 3807 obj = {
2585 - 'name': e2pdfLang['Horizontal align'],
2586 - 'key': 'horizontal',
3808 + 'name': e2pdf.lang.get('Horizontal Align'),
2587 3809 'type': 'select',
2588 - 'value': value,
3810 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2589 3811 'options':
2590 3812 [
2591 - {'left': e2pdfLang['Left']},
2592 - {'center': e2pdfLang['Center']},
2593 - {'right': e2pdfLang['Right']},
3813 + {'left': e2pdf.lang.get('Left')},
3814 + {'center': e2pdf.lang.get('Center')},
3815 + {'right': e2pdf.lang.get('Right')}
2594 3816 ]
2595 - ,
2596 - 'atts': []
2597 3817 };
2598 3818 break;
2599 3819 case 'vertical':
2600 - var value = properties['vertical'];
2601 3820 obj = {
2602 - 'name': e2pdfLang['Vertical align'],
2603 - 'key': 'vertical',
3821 + 'name': e2pdf.lang.get('Vertical Align'),
2604 3822 'type': 'select',
2605 - 'value': value,
3823 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2606 3824 'options':
2607 3825 [
2608 - {'top': e2pdfLang['Top']},
2609 - {'middle': e2pdfLang['Middle']},
2610 - {'bottom': e2pdfLang['Bottom']},
3826 + {'top': e2pdf.lang.get('Top')},
3827 + {'middle': e2pdf.lang.get('Middle')},
3828 + {'bottom': e2pdf.lang.get('Bottom')}
2611 3829 ]
2612 - ,
2613 - 'atts': []
2614 3830 };
2615 3831 break;
2616 3832 case 'scale':
2617 - var value = properties['scale'];
2618 3833 obj = {
2619 - 'name': e2pdfLang['Scale'],
2620 - 'key': 'scale',
3834 + 'name': e2pdf.lang.get('Scale'),
2621 3835 'type': 'select',
2622 - 'value': value,
3836 + 'value': e2pdf.helper.getString(properties[field], '0'),
2623 3837 'options':
2624 3838 [
2625 - {'0': e2pdfLang['Width&Height']},
2626 - {'1': e2pdfLang['Width']},
2627 - {'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')}
2628 3843 ]
2629 3844 ,
2630 3845 'atts': ['scale']
2631 3846 };
@@ -2630,56 +3845,162 @@
2630 3845 'atts': ['scale']
2631 3846 };
2632 3847 break;
2633 3848 case 'text_align':
2634 - var value = properties['text_align'];
2635 3849 obj = {
2636 - 'name': e2pdfLang['Text Align'],
2637 - 'key': 'text_align',
3850 + 'name': e2pdf.lang.get('Text Align'),
2638 3851 'type': 'select',
2639 - 'value': value,
3852 + 'value': e2pdf.helper.getString(properties[field]),
2640 3853 'options':
2641 3854 [
2642 - {'left': e2pdfLang['Left']},
2643 - {'center': e2pdfLang['Center']},
2644 - {'right': e2pdfLang['Right']},
3855 + {'': '-'},
3856 + {'left': e2pdf.lang.get('Left')},
3857 + {'center': e2pdf.lang.get('Center')},
3858 + {'right': e2pdf.lang.get('Right')}
2645 3859 ]
2646 - ,
2647 - 'atts': []
2648 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 + }
2649 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;
2650 3975 case 'parent':
2651 - var value = properties['parent'];
2652 - var source = [
3976 + var options = [
3977 + {'': e2pdf.lang.get('--- Select ---')}
2653 3978 ];
2654 3979 if (el.data('data-type') === 'e2pdf-html') {
2655 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
3980 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2656 3981 if (!jQuery(this).is(children)) {
2657 3982 var parent = jQuery(this).parent().attr('data-element_id');
2658 - if (source.indexOf(parent) === -1) {
2659 - source.push(parent);
2660 - }
3983 + options.push({[parent]: parent});
2661 3984 }
2662 3985 });
2663 3986 }
2664 -
3987 + options.sort(function (a, b) {
3988 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
3989 + });
2665 3990 obj = {
2666 - 'name': e2pdfLang['Parent'],
2667 - 'key': 'parent',
2668 - 'type': 'text',
2669 - 'value': value,
2670 - 'source': source,
2671 - 'atts': ['autocomplete']
3991 + 'name': e2pdf.lang.get('Parent'),
3992 + 'type': 'select',
3993 + 'value': e2pdf.helper.getString(properties[field]),
3994 + 'options': options
2672 3995 };
2673 3996 break;
2674 3997 case 'group':
2675 - var value = properties['group'];
2676 - var source = [
2677 - ];
2678 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3998 + var source = [];
3999 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2679 4000 if (!jQuery(this).is(children)) {
2680 4001 var radio = jQuery(this).parent();
2681 - var group = e2pdf.properties.getValue(radio, 'group');
4002 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2682 4003 if (source.indexOf(group) === -1) {
2683 4004 source.push(group);
2684 4005 }
2685 4006 }
@@ -2684,609 +4005,3042 @@
2684 4005 }
2685 4006 }
2686 4007 });
2687 4008 obj = {
2688 - 'name': e2pdfLang['Group'],
2689 - 'key': 'group',
4009 + 'name': e2pdf.lang.get('Group'),
2690 4010 'type': 'text',
2691 - 'value': value,
4011 + 'value': e2pdf.helper.getString(properties[field]),
2692 4012 'source': source,
2693 4013 'atts': ['autocomplete']
2694 4014 };
2695 4015 break;
2696 4016 case 'option':
2697 - var value = properties['option'];
2698 4017 obj = {
2699 - 'name': e2pdfLang['Option'],
2700 - 'key': 'option',
4018 + 'name': e2pdf.lang.get('Option'),
2701 4019 'type': 'textarea',
2702 - 'value': value,
2703 - 'atts': []
4020 + 'value': e2pdf.helper.getString(properties[field])
2704 4021 };
2705 4022 break;
2706 -
2707 4023 case 'options':
2708 - var value = properties['options'];
2709 4024 obj = {
2710 - 'name': e2pdfLang['Options'],
2711 - 'key': 'options',
4025 + 'name': e2pdf.lang.get('Options'),
2712 4026 'type': 'textarea',
2713 - 'value': value,
2714 - 'atts': []
4027 + 'value': e2pdf.helper.getString(properties[field])
2715 4028 };
2716 4029 break;
2717 -
2718 -
2719 4030 case 'value':
2720 - value = '';
2721 4031 if (el.data('data-type') === 'e2pdf-html') {
2722 - value = children.html();
4032 + if (children.is('textarea')) {
4033 + var value = children.val();
4034 + } else {
4035 + var value = children.html();
4036 + }
2723 4037 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2724 - value = children.val();
4038 + var value = children.val();
2725 4039 } else {
2726 - value = properties['value'];
4040 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2727 4041 }
2728 -
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 + }
2729 4048 obj = {
2730 - 'name': e2pdfLang['Value'],
2731 - 'key': 'value',
4049 + 'name': name,
2732 4050 'type': 'textarea',
2733 - 'value': value,
2734 - 'atts': []
4051 + 'value': value
2735 4052 };
2736 4053 break;
2737 -
4054 + case 'css':
4055 + obj = {
4056 + 'name': 'CSS',
4057 + 'type': 'textarea',
4058 + 'value': e2pdf.helper.getString(properties[field])
4059 + };
4060 + break;
2738 4061 case 'preset':
2739 -
2740 - var value = '';
2741 -
2742 4062 var options = [];
2743 4063 var option = {
2744 - '': e2pdfLang['--- Select ---']
4064 + '': e2pdf.lang.get('--- Select ---')
2745 4065 };
2746 4066 options.push(option);
2747 -
2748 - for (var size in e2pdfTemplateSizes) {
4067 + for (var size in e2pdf_params['template_sizes']) {
2749 4068 var option = {};
2750 - 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'] + ')';
2751 4070 options.push(option);
2752 4071 }
2753 -
2754 4072 obj = {
2755 - 'name': e2pdfLang['Size Preset'],
2756 - 'key': 'preset',
4073 + 'name': e2pdf.lang.get('Size'),
2757 4074 'type': 'select',
2758 - 'value': value,
4075 + 'value': '',
2759 4076 'options': options,
2760 - 'atts': [],
4077 + 'atts': [
4078 + 'uneditable'
4079 + ]
2761 4080 };
2762 -
2763 -
2764 4081 if (e2pdf.pdf.settings.get('pdf')) {
2765 4082 obj.atts.push('disabled');
2766 4083 }
2767 -
2768 4084 break;
4085 + case 'highlight':
4086 + obj = {
4087 + 'name': e2pdf.lang.get('Highlight'),
4088 + 'type': 'select',
4089 + 'value': e2pdf.helper.getString(properties[field], 'none'),
4090 + 'options': [
4091 + {'none': e2pdf.lang.get('None')},
4092 + {'invert': e2pdf.lang.get('Invert')},
4093 + {'outline': e2pdf.lang.get('Outline')},
4094 + {'push': e2pdf.lang.get('Push')}
4095 + ]
4096 + };
4097 + break;
4098 + case 'link_url':
4099 + obj = {
4100 + 'name': e2pdf.lang.get('Link URL'),
4101 + 'type': 'text',
4102 + 'value': e2pdf.helper.getString(properties[field], ''),
4103 + };
4104 + break;
4105 + case 'link_type':
4106 + obj = {
4107 + 'name': e2pdf.lang.get('Link Type'),
4108 + 'type': 'select',
4109 + 'value': e2pdf.helper.getString(properties[field], ''),
4110 + 'options': [
4111 + {'': e2pdf.lang.get('Url')},
4112 + {'attachment': e2pdf.lang.get('Attachment')},
4113 + ]
4114 + };
4115 + break;
4116 + case 'link_label':
4117 + obj = {
4118 + 'name': e2pdf.lang.get('Link Label'),
4119 + 'type': 'text',
4120 + 'value': e2pdf.helper.getString(properties[field], ''),
4121 + };
4122 + break;
4123 + case 'underline':
4124 + obj = {
4125 + 'name': e2pdf.lang.get('Underline'),
4126 + 'type': 'checkbox',
4127 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4128 + 'option': '1'
4129 + };
4130 + break;
4131 + case 'underline':
4132 + obj = {
4133 + 'name': e2pdf.lang.get('Underline'),
4134 + 'type': 'checkbox',
4135 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4136 + 'option': '1'
4137 + };
4138 + break;
4139 + case 'preg_pattern':
4140 + obj = {
4141 + 'name': e2pdf.lang.get('Preg Replace Pattern'),
4142 + 'type': 'text',
4143 + 'value': e2pdf.helper.getString(properties[field])
4144 + };
4145 + break;
4146 + case 'preg_replacement':
4147 + obj = {
4148 + 'name': e2pdf.lang.get('Preg Replace Replacement'),
4149 + 'type': 'text',
4150 + 'value': e2pdf.helper.getString(properties[field])
4151 + };
4152 + break;
4153 + case 'preg_match_all_pattern':
4154 + obj = {
4155 + 'name': e2pdf.lang.get('Preg Match All Pattern'),
4156 + 'type': 'text',
4157 + 'value': e2pdf.helper.getString(properties[field])
4158 + };
4159 + break;
4160 + case 'preg_match_all_output':
4161 + obj = {
4162 + 'name': e2pdf.lang.get('Preg Match All Output'),
4163 + 'type': 'text',
4164 + 'value': e2pdf.helper.getString(properties[field])
4165 + };
4166 + break;
4167 + case 'css_priority':
4168 + obj = {
4169 + 'name': e2pdf.lang.get('CSS Priority'),
4170 + 'type': 'checkbox',
4171 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4172 + 'option': '1'
4173 + };
4174 + break;
4175 + case 'css_style':
4176 + var options = [];
4177 + var option = {
4178 + '': '--- ' + e2pdf.lang.get('CSS Style') + ' ---'
4179 + };
4180 + options.push(option);
4181 + e2pdf_params['css_styles'].forEach(function (css_style) {
4182 + var option = {};
4183 + option[css_style] = css_style;
4184 + options.push(option);
4185 + });
4186 + obj = {
4187 + 'name': e2pdf.lang.get('CSS Style'),
4188 + 'type': 'select',
4189 + 'value': e2pdf.helper.getString(properties[field], ''),
4190 + 'options': options
4191 + };
4192 + break;
4193 + case 'html_worker':
4194 + obj = {
4195 + 'name': 'HTML Worker',
4196 + 'type': 'select',
4197 + 'value': e2pdf.helper.getString(properties[field], ''),
4198 + 'options': [
4199 + {'': 'HTML Worker: v1'},
4200 + {'1': 'HTML Worker: v2'},
4201 + {'3': 'HTML Worker: v3 (BETA)'}
4202 + ]
4203 + };
4204 + break;
4205 + case 'wysiwyg_disable':
4206 + obj = {
4207 + 'name': e2pdf.lang.get('Disable WYSIWYG Editor'),
4208 + 'type': 'checkbox',
4209 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4210 + 'option': '1'
4211 + };
4212 + break;
4213 + case 'g_type':
4214 + obj = {
4215 + 'name': e2pdf.lang.get('Type'),
4216 + 'type': 'select',
4217 + 'value': e2pdf.helper.getString(properties[field], 'BarGraph'),
4218 + 'options':
4219 + [
4220 + {'BarGraph': 'BarGraph'},
4221 + {'Bar3DGraph': 'Bar3DGraph'},
4222 + {'BarAndLineGraph': 'BarAndLineGraph'},
4223 + {'BoxAndWhiskerGraph': 'BoxAndWhiskerGraph'},
4224 + {'BubbleGraph': 'BubbleGraph'},
4225 + {'CylinderGraph': 'CylinderGraph'},
4226 + {'CandlestickGraph': 'CandlestickGraph'},
4227 + {'DonutGraph': 'DonutGraph'},
4228 + {'Donut3DGraph': 'Donut3DGraph'},
4229 + {'ExplodedPieGraph': 'ExplodedPieGraph'},
4230 + {'ExplodedPie3DGraph': 'ExplodedPie3DGraph'},
4231 + {'ExplodedDonutGraph': 'ExplodedDonutGraph'},
4232 + {'ExplodedDonut3DGraph': 'ExplodedDonut3DGraph'},
4233 + {'ExplodedSemiDonutGraph': 'ExplodedSemiDonutGraph'},
4234 + {'ExplodedSemiDonut3DGraph': 'ExplodedSemiDonut3DGraph'},
4235 + {'FloatingBarGraph': 'FloatingBarGraph'},
4236 + {'GroupedBarGraph': 'GroupedBarGraph'},
4237 + {'GroupedBar3DGraph': 'GroupedBar3DGraph'},
4238 + {'GroupedCylinderGraph': 'GroupedCylinderGraph'},
4239 + {'Histogram': 'Histogram'},
4240 + {'HorizontalBarGraph': 'HorizontalBarGraph'},
4241 + {'HorizontalBar3DGraph': 'HorizontalBar3DGraph'},
4242 + {'HorizontalStackedBarGraph': 'HorizontalStackedBarGraph'},
4243 + {'HorizontalStackedBar3DGraph': 'HorizontalStackedBar3DGraph'},
4244 + {'HorizontalGroupedBarGraph': 'HorizontalGroupedBarGraph'},
4245 + {'HorizontalGroupedBar3DGraph': 'HorizontalGroupedBar3DGraph'},
4246 + {'HorizontalFloatingBarGraph': 'HorizontalFloatingBarGraph'},
4247 + {'LineGraph': 'LineGraph'},
4248 + {'MultiLineGraph': 'MultiLineGraph'},
4249 + {'MultiRadarGraph': 'MultiRadarGraph'},
4250 + {'MultiScatterGraph': 'MultiScatterGraph'},
4251 + {'MultiSteppedLineGraph': 'MultiSteppedLineGraph'},
4252 + {'ParetoChart': 'ParetoChart'},
4253 + {'PieGraph': 'PieGraph'},
4254 + {'Pie3DGraph': 'Pie3DGraph'},
4255 + {'PolarAreaGraph': 'PolarAreaGraph'},
4256 + {'PolarArea3DGraph': 'PolarArea3DGraph'},
4257 + {'PopulationPyramid': 'PopulationPyramid'},
4258 + {'RadarGraph': 'RadarGraph'},
4259 + {'ScatterGraph': 'ScatterGraph'},
4260 + {'SemiDonutGraph': 'SemiDonutGraph'},
4261 + {'SemiDonut3DGraph': 'SemiDonut3DGraph'},
4262 + {'SteppedLineGraph': 'SteppedLineGraph'},
4263 + {'StackedBarGraph': 'StackedBarGraph'},
4264 + {'StackedBar3DGraph': 'StackedBar3DGraph'},
4265 + {'StackedBarAndLineGraph': 'StackedBarAndLineGraph'},
4266 + {'StackedCylinderGraph': 'StackedCylinderGraph'},
4267 + {'StackedLineGraph': 'StackedLineGraph'},
4268 + {'StackedGroupedBarGraph': 'StackedGroupedBarGraph'},
4269 + {'StackedGroupedBar3DGraph': 'StackedGroupedBar3DGraph'},
4270 + {'StackedGroupedCylinderGraph': 'StackedGroupedCylinderGraph'}
4271 + ]
4272 + };
4273 + break;
4274 + case 'g_palette':
4275 + obj = {
4276 + 'name': e2pdf.lang.get('Palette'),
4277 + 'type': 'color',
4278 + 'value': e2pdf.helper.getString(properties[field])
4279 + };
4280 + break;
4281 + case 'g_stroke_colour':
4282 + obj = {
4283 + 'name': e2pdf.lang.get('Line / Stroke Color'),
4284 + 'type': 'color',
4285 + 'value': e2pdf.helper.getString(properties[field])
4286 + };
4287 + break;
4288 + case 'g_stroke_width':
4289 + obj = {
4290 + 'name': e2pdf.lang.get('Width'),
4291 + 'type': 'text',
4292 + 'value': e2pdf.helper.getInt(properties[field]),
4293 + 'atts': ['number']
4294 + };
4295 + break;
4296 + case 'g_graph_title':
4297 + obj = {
4298 + 'name': e2pdf.lang.get('Title'),
4299 + 'type': 'text',
4300 + 'value': e2pdf.helper.getString(properties[field])
4301 + };
4302 + break;
4303 + case 'g_graph_title_font_size':
4304 + obj = {
4305 + 'name': e2pdf.lang.get('Font Size'),
4306 + 'type': 'select',
4307 + 'value': e2pdf.helper.getString(properties[field]),
4308 + 'options': e2pdf.helper.font.sizes(field)
4309 + };
4310 + break;
4311 + case 'g_label_font_size':
4312 + obj = {
4313 + 'name': e2pdf.lang.get('Font Size'),
4314 + 'type': 'select',
4315 + 'value': e2pdf.helper.getString(properties[field]),
4316 + 'options': e2pdf.helper.font.sizes(field)
4317 + };
4318 + break;
4319 + case 'g_graph_title_space':
4320 + obj = {
4321 + 'name': e2pdf.lang.get('Space'),
4322 + 'type': 'text',
4323 + 'value': e2pdf.helper.getInt(properties[field]),
4324 + 'atts': ['number']
4325 + };
4326 + break;
4327 + case 'g_label_space':
4328 + obj = {
4329 + 'name': e2pdf.lang.get('Space'),
4330 + 'type': 'text',
4331 + 'value': e2pdf.helper.getInt(properties[field]),
4332 + 'atts': ['number']
4333 + };
4334 + break;
4335 + case 'g_graph_title_colour':
4336 + obj = {
4337 + 'name': e2pdf.lang.get('Color'),
4338 + 'type': 'color',
4339 + 'value': e2pdf.helper.getString(properties[field])
4340 + };
4341 + break;
4342 + case 'g_label_colour':
4343 + obj = {
4344 + 'name': e2pdf.lang.get('Color'),
4345 + 'type': 'color',
4346 + 'value': e2pdf.helper.getString(properties[field])
4347 + };
4348 + break;
4349 + case 'g_graph_title_position':
4350 + obj = {
4351 + 'name': e2pdf.lang.get('Position'),
4352 + 'type': 'select',
4353 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4354 + 'options':
4355 + [
4356 + {'top': e2pdf.lang.get('Top')},
4357 + {'left': e2pdf.lang.get('Left')},
4358 + {'right': e2pdf.lang.get('Right')},
4359 + {'bottom': e2pdf.lang.get('Bottom')}
4360 + ]
4361 + };
4362 + break;
4363 + case 'g_label_v':
4364 + obj = {
4365 + 'name': e2pdf.lang.get('Vertical Label'),
4366 + 'type': 'text',
4367 + 'value': e2pdf.helper.getString(properties[field])
4368 + };
4369 + break;
4370 + case 'g_label_h':
4371 + obj = {
4372 + 'name': e2pdf.lang.get('Horizontal Label'),
4373 + 'type': 'text',
4374 + 'value': e2pdf.helper.getString(properties[field])
4375 + };
4376 + break;
4377 + case 'g_data_label_type':
4378 + obj = {
4379 + 'name': e2pdf.lang.get('Type'),
4380 + 'type': 'select',
4381 + 'value': e2pdf.helper.getString(properties[field], 'plain'),
4382 + 'options':
4383 + [
4384 + {'plain': 'Plain'},
4385 + {'box': 'Box'},
4386 + {'bubble': 'Bubble'},
4387 + {'line': 'Line'},
4388 + {'circle': 'Circle'},
4389 + {'square': 'Square'},
4390 + {'linecircle': 'LineCircle'},
4391 + {'linebox': 'LineBox'},
4392 + {'linesquare': 'LineSquare'},
4393 + {'line2': 'Line2'}
4394 + ]
4395 + };
4396 + break;
4397 + case 'g_key_sep':
4398 + obj = {
4399 + 'name': 'Key Separator',
4400 + 'type': 'text',
4401 + 'value': properties.hasOwnProperty('g_key_sep') && properties['g_key_sep'] ? properties['g_key_sep'] : ' => '
4402 + };
4403 + break;
4404 + case 'g_array_sep':
4405 + obj = {
4406 + 'name': 'Array Separator',
4407 + 'type': 'text',
4408 + 'value': properties.hasOwnProperty('g_array_sep') && properties['g_array_sep'] ? properties['g_array_sep'] : ', '
4409 + };
4410 + break;
4411 + case 'g_sub_array_sep':
4412 + obj = {
4413 + 'name': 'Sub Array Separator',
4414 + 'type': 'text',
4415 + 'value': properties.hasOwnProperty('g_sub_array_sep') && properties['g_sub_array_sep'] ? properties['g_sub_array_sep'] : '|'
4416 + };
4417 + break;
4418 + case 'g_structure_key':
4419 + obj = {
4420 + 'name': 'Key',
4421 + 'type': 'text',
4422 + 'value': e2pdf.helper.getString(properties[field])
4423 + };
4424 + break;
4425 + case 'g_structure_value':
4426 + obj = {
4427 + 'name': 'Value',
4428 + 'type': 'text',
4429 + 'value': e2pdf.helper.getString(properties[field])
4430 + };
4431 + break;
4432 + case 'g_structure_colour':
4433 + obj = {
4434 + 'name': 'Color',
4435 + 'type': 'text',
4436 + 'value': e2pdf.helper.getString(properties[field])
4437 + };
4438 + break;
4439 + case 'g_structure_axis_text':
4440 + obj = {
4441 + 'name': 'Axis Text',
4442 + 'type': 'text',
4443 + 'value': e2pdf.helper.getString(properties[field])
4444 + };
4445 + break;
4446 + case 'g_structure_legend_text':
4447 + obj = {
4448 + 'name': 'Legend Text',
4449 + 'type': 'text',
4450 + 'value': e2pdf.helper.getString(properties[field])
4451 + };
4452 + break;
4453 + case 'g_structure_label':
4454 + obj = {
4455 + 'name': 'Label',
4456 + 'type': 'text',
4457 + 'value': e2pdf.helper.getString(properties[field])
4458 + };
4459 + break;
4460 + case 'g_structure_area':
4461 + obj = {
4462 + 'name': 'Area',
4463 + 'type': 'text',
4464 + 'value': e2pdf.helper.getString(properties[field])
4465 + };
4466 + break;
4467 + case 'g_structure_open':
4468 + obj = {
4469 + 'name': 'Open',
4470 + 'type': 'text',
4471 + 'value': e2pdf.helper.getString(properties[field])
4472 + };
4473 + break;
4474 + case 'g_structure_end':
4475 + obj = {
4476 + 'name': 'End',
4477 + 'type': 'text',
4478 + 'value': e2pdf.helper.getString(properties[field])
4479 + };
4480 + break;
4481 + case 'g_structure_outliers':
4482 + obj = {
4483 + 'name': 'Outliers',
4484 + 'type': 'text',
4485 + 'value': e2pdf.helper.getString(properties[field])
4486 + };
4487 + break;
4488 + case 'g_structure_top':
4489 + obj = {
4490 + 'name': 'Top',
4491 + 'type': 'text',
4492 + 'value': e2pdf.helper.getString(properties[field])
4493 + };
4494 + break;
4495 + case 'g_structure_bottom':
4496 + obj = {
4497 + 'name': 'Bottom',
4498 + 'type': 'text',
4499 + 'value': e2pdf.helper.getString(properties[field])
4500 + };
4501 + break;
4502 + case 'g_structure_wtop':
4503 + obj = {
4504 + 'name': 'Wtop',
4505 + 'type': 'text',
4506 + 'value': e2pdf.helper.getString(properties[field])
4507 + };
4508 + break;
4509 + case 'g_structure_wbottom':
4510 + obj = {
4511 + 'name': 'Wbottom',
4512 + 'type': 'text',
4513 + 'value': e2pdf.helper.getString(properties[field])
4514 + };
4515 + break;
4516 + case 'g_structure_high':
4517 + obj = {
4518 + 'name': 'High',
4519 + 'type': 'text',
4520 + 'value': e2pdf.helper.getString(properties[field])
4521 + };
4522 + break;
4523 + case 'g_structure_low':
4524 + obj = {
4525 + 'name': 'Low',
4526 + 'type': 'text',
4527 + 'value': e2pdf.helper.getString(properties[field])
4528 + };
4529 + break;
4530 + case 'g_structured_data':
4531 + obj = {
4532 + 'name': 'Structured Data',
4533 + 'type': 'checkbox',
4534 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4535 + 'option': '1'
4536 + };
4537 + break;
4538 + case 'g_axis_font_size':
4539 + obj = {
4540 + 'name': e2pdf.lang.get('Font Size'),
4541 + 'key': 'g_axis_font_size',
4542 + 'type': 'select',
4543 + 'value': e2pdf.helper.getString(properties[field]),
4544 + 'options': e2pdf.helper.font.sizes(field)
4545 + };
4546 + break;
4547 + case 'g_axis_font_size_h':
4548 + obj = {
4549 + 'name': e2pdf.lang.get('Font Size'),
4550 + 'key': 'g_axis_font_size_h',
4551 + 'type': 'select',
4552 + 'value': e2pdf.helper.getString(properties[field]),
4553 + 'options': e2pdf.helper.font.sizes(field)
4554 + };
4555 + break;
4556 + case 'g_axis_font_size_v':
4557 + obj = {
4558 + 'name': e2pdf.lang.get('Font Size'),
4559 + 'key': 'g_axis_font_size_v',
4560 + 'type': 'select',
4561 + 'value': e2pdf.helper.getString(properties[field]),
4562 + 'options': e2pdf.helper.font.sizes(field)
4563 + };
4564 + break;
4565 + case 'g_axis_overlap':
4566 + obj = {
4567 + 'name': e2pdf.lang.get('Axis Overlap'),
4568 + 'type': 'text',
4569 + 'value': e2pdf.helper.getInt(properties[field]),
4570 + 'atts': ['number']
4571 + };
4572 + break;
4573 + case 'g_axis_stroke_width_v':
4574 + obj = {
4575 + 'name': e2pdf.lang.get('Width'),
4576 + 'type': 'text',
4577 + 'value': e2pdf.helper.getInt(properties[field]),
4578 + 'atts': ['number']
4579 + };
4580 + break;
4581 + case 'g_axis_stroke_width_h':
4582 + obj = {
4583 + 'name': e2pdf.lang.get('Width'),
4584 + 'type': 'text',
4585 + 'value': e2pdf.helper.getInt(properties[field]),
4586 + 'atts': ['number']
4587 + };
4588 + break;
4589 + case 'g_minimum_grid_spacing':
4590 + obj = {
4591 + 'name': e2pdf.lang.get('Grid Spacing'),
4592 + 'type': 'text',
4593 + 'value': e2pdf.helper.getInt(properties[field]),
4594 + 'atts': ['number']
4595 + };
4596 + break;
4597 + case 'g_minimum_grid_spacing_v':
4598 + obj = {
4599 + 'name': e2pdf.lang.get('Grid Spacing (V)'),
4600 + 'type': 'text',
4601 + 'value': e2pdf.helper.getInt(properties[field]),
4602 + 'atts': ['number']
4603 + };
4604 + break;
4605 + case 'g_minimum_grid_spacing_h':
4606 + obj = {
4607 + 'name': e2pdf.lang.get('Grid Spacing (H)'),
4608 + 'type': 'text',
4609 + 'value': e2pdf.helper.getInt(properties[field]),
4610 + 'atts': ['number']
4611 + };
4612 + break;
4613 + case 'g_grid_division_v':
4614 + obj = {
4615 + 'name': e2pdf.lang.get('Grid Division (V)'),
4616 + 'type': 'text',
4617 + 'value': e2pdf.helper.getFloat(properties[field]),
4618 + 'atts': ['number']
4619 + };
4620 + break;
4621 + case 'g_grid_division_h':
4622 + obj = {
4623 + 'name': e2pdf.lang.get('Grid Division (H)'),
4624 + 'type': 'text',
4625 + 'value': e2pdf.helper.getFloat(properties[field]),
4626 + 'atts': ['number']
4627 + };
4628 + break;
4629 + case 'g_axis_colour':
4630 + obj = {
4631 + 'name': e2pdf.lang.get('Axis Color'),
4632 + 'type': 'color',
4633 + 'value': e2pdf.helper.getString(properties[field])
4634 + };
4635 + break;
4636 + case 'g_axis_colour_h':
4637 + obj = {
4638 + 'name': e2pdf.lang.get('Axis Color'),
4639 + 'type': 'color',
4640 + 'value': e2pdf.helper.getString(properties[field])
4641 + };
4642 + break;
4643 + case 'g_axis_colour_v':
4644 + obj = {
4645 + 'name': e2pdf.lang.get('Axis Color'),
4646 + 'type': 'color',
4647 + 'value': e2pdf.helper.getString(properties[field])
4648 + };
4649 + break;
4650 + case 'g_grid_colour':
4651 + obj = {
4652 + 'name': e2pdf.lang.get('Grid Color'),
4653 + 'key': 'g_grid_colour',
4654 + 'type': 'color',
4655 + 'value': e2pdf.helper.getString(properties[field])
4656 + };
4657 + break;
4658 + case 'g_bar_width':
4659 + obj = {
4660 + 'name': e2pdf.lang.get('Width'),
4661 + 'type': 'text',
4662 + 'value': e2pdf.helper.getInt(properties[field]),
4663 + 'atts': ['number']
4664 + };
4665 + break;
4666 + case 'g_bar_width_min':
4667 + obj = {
4668 + 'name': e2pdf.lang.get('Min Width'),
4669 + 'type': 'text',
4670 + 'value': e2pdf.helper.getInt(properties[field]),
4671 + 'atts': ['number']
4672 + };
4673 + break;
4674 + case 'g_bar_space':
4675 + obj = {
4676 + 'name': e2pdf.lang.get('Space'),
4677 + 'type': 'text',
4678 + 'value': e2pdf.helper.getInt(properties[field]),
4679 + 'atts': ['number', 'keep']
4680 + };
4681 + break;
4682 + case 'g_bar_label_colour':
4683 + obj = {
4684 + 'name': e2pdf.lang.get('Bar Label Color'),
4685 + 'type': 'color',
4686 + 'value': e2pdf.helper.getString(properties[field])
4687 + };
4688 + break;
4689 + case 'g_bar_label_font_size':
4690 + obj = {
4691 + 'name': e2pdf.lang.get('Font Size'),
4692 + 'type': 'select',
4693 + 'value': e2pdf.helper.getString(properties[field]),
4694 + 'options': e2pdf.helper.font.sizes(field)
4695 + };
4696 + break;
4697 + case 'g_bar_label_space':
4698 + obj = {
4699 + 'name': e2pdf.lang.get('Space'),
4700 + 'type': 'text',
4701 + 'value': e2pdf.helper.getInt(properties[field]),
4702 + 'atts': ['number']
4703 + };
4704 + break;
4705 + case 'g_bar_label_position_vertical':
4706 + obj = {
4707 + 'name': e2pdf.lang.get('Position (V)'),
4708 + 'type': 'select',
4709 + 'value': e2pdf.helper.getString(properties[field], 'top'),
4710 + 'options':
4711 + [
4712 + {'top': e2pdf.lang.get('Top')},
4713 + {'centre': e2pdf.lang.get('Middle')},
4714 + {'bottom': e2pdf.lang.get('Bottom')}
4715 + ]
4716 + };
4717 + break;
4718 + case 'g_bar_label_position_horizontal':
4719 + obj = {
4720 + 'name': e2pdf.lang.get('Position (H)'),
4721 + 'type': 'select',
4722 + 'value': e2pdf.helper.getString(properties[field], 'centre'),
4723 + 'options':
4724 + [
4725 + {'left': e2pdf.lang.get('Left')},
4726 + {'centre': e2pdf.lang.get('Center')},
4727 + {'right': e2pdf.lang.get('Right')}
4728 + ]
4729 + };
4730 + break;
4731 + case 'g_bar_label_position_join':
4732 + obj = {
4733 + 'name': e2pdf.lang.get('Position'),
4734 + 'type': 'select',
4735 + 'value': e2pdf.helper.getString(properties[field], 'outer'),
4736 + 'options':
4737 + [
4738 + {'inner': 'Inner'},
4739 + {'outer': 'Outer'}
4740 + ]
4741 + };
4742 + break;
4743 + case 'g_show_bar_labels':
4744 + obj = {
4745 + 'name': e2pdf.lang.get('Bar Labels'),
4746 + 'type': 'checkbox',
4747 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4748 + 'option': '1'
4749 + };
4750 + break;
4751 + case 'g_show_labels':
4752 + obj = {
4753 + 'name': e2pdf.lang.get('Labels'),
4754 + 'type': 'checkbox',
4755 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4756 + 'option': '1',
4757 + 'atts': ['keep'],
4758 + };
4759 + break;
4760 + case 'g_show_label_key':
4761 + obj = {
4762 + 'name': e2pdf.lang.get('Key Labels'),
4763 + 'type': 'checkbox',
4764 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4765 + 'option': '1',
4766 + 'atts': ['keep'],
4767 + };
4768 + break;
4769 + case 'g_show_label_amount':
4770 + obj = {
4771 + 'name': e2pdf.lang.get('Amount Labels'),
4772 + 'type': 'checkbox',
4773 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4774 + 'option': '1'
4775 + };
4776 + break;
4777 + case 'g_show_label_percent':
4778 + obj = {
4779 + 'name': e2pdf.lang.get('Percent Labels'),
4780 + 'type': 'checkbox',
4781 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4782 + 'option': '1'
4783 + };
4784 + break;
4785 + case 'g_marker_type':
4786 + obj = {
4787 + 'name': e2pdf.lang.get('Marker'),
4788 + 'type': 'select',
4789 + 'value': e2pdf.helper.getString(properties[field], 'circle'),
4790 + 'options':
4791 + [
4792 + {'circle': 'Circle'},
4793 + {'square': 'Square'},
4794 + {'triangle': 'Triangle'},
4795 + {'cross': 'Cross'},
4796 + {'x': 'X'},
4797 + {'pentagon': 'Pentagon'},
4798 + {'diamond': 'Diamond'},
4799 + {'hexagon': 'Hexagon'},
4800 + {'octagon': 'Octagon'},
4801 + {'asterisk': 'Asterisk'},
4802 + {'star': 'Star'},
4803 + {'threestar': 'Threestar'},
4804 + {'fourstar': 'Fourstar'},
4805 + {'eightstar': 'Eightstar'}
4806 + ]
4807 + };
4808 + break;
4809 + case 'g_marker_colour':
4810 + obj = {
4811 + 'name': e2pdf.lang.get('Color'),
4812 + 'type': 'color',
4813 + 'value': e2pdf.helper.getString(properties[field])
4814 + };
4815 + break;
4816 + case 'g_marker_size':
4817 + obj = {
4818 + 'name': e2pdf.lang.get('Size'),
4819 + 'type': 'text',
4820 + 'value': e2pdf.helper.getInt(properties[field]),
4821 + 'atts': ['number']
4822 + };
4823 + break;
4824 + case 'g_marker_dynamic_colour':
4825 + obj = {
4826 + 'name': e2pdf.lang.get('Dynamic Marker Color'),
4827 + 'type': 'checkbox',
4828 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4829 + 'option': '1'
4830 + };
4831 + break;
4832 + case 'g_grid_subdivision_colour':
4833 + obj = {
4834 + 'name': e2pdf.lang.get('Grid Subdivision Color'),
4835 + 'type': 'color',
4836 + 'value': e2pdf.helper.getString(properties[field])
4837 + };
4838 + break;
4839 + case 'g_show_subdivisions':
4840 + obj = {
4841 + 'name': e2pdf.lang.get('Sub Divisions'),
4842 + 'type': 'checkbox',
4843 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4844 + 'option': '1'
4845 + };
4846 + break;
4847 + case 'g_show_grid':
4848 + obj = {
4849 + 'name': e2pdf.lang.get('Grid'),
4850 + 'type': 'checkbox',
4851 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4852 + 'option': '1'
4853 + };
4854 + break;
4855 + case 'g_show_axis_v':
4856 + obj = {
4857 + 'name': e2pdf.lang.get('Axis (V)'),
4858 + 'type': 'checkbox',
4859 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4860 + 'option': '1'
4861 + };
4862 + break;
4863 + case 'g_show_axis_text_v':
4864 + obj = {
4865 + 'name': e2pdf.lang.get('Text'),
4866 + 'type': 'checkbox',
4867 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4868 + 'option': '1'
4869 + };
4870 + break;
4871 + case 'g_show_axis_h':
4872 + obj = {
4873 + 'name': e2pdf.lang.get('Axis (H)'),
4874 + 'type': 'checkbox',
4875 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4876 + 'option': '1'
4877 + };
4878 + break;
4879 + case 'g_show_axis_text_h':
4880 + obj = {
4881 + 'name': e2pdf.lang.get('Text'),
4882 + 'type': 'checkbox',
4883 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4884 + 'option': '1'
4885 + };
4886 + break;
4887 + case 'g_axis_min_h':
4888 + obj = {
4889 + 'name': e2pdf.lang.get('Min'),
4890 + 'type': 'text',
4891 + 'value': e2pdf.helper.getInt(properties[field]),
4892 + 'atts': ['number', 'number-negative']
4893 + };
4894 + break;
4895 + case 'g_axis_max_h':
4896 + obj = {
4897 + 'name': e2pdf.lang.get('Max'),
4898 + 'type': 'text',
4899 + 'value': e2pdf.helper.getInt(properties[field]),
4900 + 'atts': ['number', 'number-negative']
4901 + };
4902 + break;
4903 + case 'g_axis_min_max_h':
4904 + obj = {
4905 + 'name': e2pdf.lang.get('Enable'),
4906 + 'type': 'checkbox',
4907 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4908 + 'option': '1'
4909 + };
4910 + break;
4911 + case 'g_axis_min_v':
4912 + obj = {
4913 + 'name': e2pdf.lang.get('Min'),
4914 + 'type': 'text',
4915 + 'value': e2pdf.helper.getInt(properties[field]),
4916 + 'atts': ['number', 'number-negative']
4917 + };
4918 + break;
4919 + case 'g_axis_max_v':
4920 + obj = {
4921 + 'name': e2pdf.lang.get('Max'),
4922 + 'type': 'text',
4923 + 'value': e2pdf.helper.getInt(properties[field]),
4924 + 'atts': ['number', 'number-negative']
4925 + };
4926 + break;
4927 + case 'g_axis_min_max_v':
4928 + obj = {
4929 + 'name': e2pdf.lang.get('Enable'),
4930 + 'type': 'checkbox',
4931 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4932 + 'option': '1'
4933 + };
4934 + break;
4935 + case 'g_show_grid_subdivisions':
4936 + obj = {
4937 + 'name': e2pdf.lang.get('Sub Divisions'),
4938 + 'type': 'checkbox',
4939 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4940 + 'option': '1'
4941 + };
4942 + break;
4943 + case 'g_fill_under':
4944 + obj = {
4945 + 'name': e2pdf.lang.get('Fill Under'),
4946 + 'type': 'checkbox',
4947 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4948 + 'option': '1'
4949 + };
4950 + break;
4951 + case 'g_reverse':
4952 + obj = {
4953 + 'name': e2pdf.lang.get('Reverse'),
4954 + 'type': 'checkbox',
4955 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4956 + 'option': '1'
4957 + };
4958 + break;
4959 + case 'g_stroke_dynamic_colour':
4960 + obj = {
4961 + 'name': e2pdf.lang.get('Dynamic Line / Stroke Color'),
4962 + 'type': 'checkbox',
4963 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4964 + 'option': '1'
4965 + };
4966 + break;
4967 + case 'g_sort':
4968 + obj = {
4969 + 'name': e2pdf.lang.get('Sort'),
4970 + 'type': 'checkbox',
4971 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4972 + 'option': '1'
4973 + };
4974 + break;
4975 + case 'g_percentage':
4976 + obj = {
4977 + 'name': e2pdf.lang.get('Percentage'),
4978 + 'type': 'checkbox',
4979 + 'value': e2pdf.helper.getCheckbox(properties[field]),
4980 + 'option': '1'
4981 + };
4982 + break;
4983 + case 'g_legend_title':
4984 + obj = {
4985 + 'name': e2pdf.lang.get('Title'),
4986 + 'type': 'text',
4987 + 'value': e2pdf.helper.getString(properties[field])
4988 + };
4989 + break;
4990 + case 'g_legend_title_font_size':
4991 + obj = {
4992 + 'name': e2pdf.lang.get('Font Size'),
4993 + 'type': 'select',
4994 + 'value': e2pdf.helper.getString(properties[field]),
4995 + 'options': e2pdf.helper.font.sizes(field)
4996 + };
4997 + break;
4998 + case 'g_legend_font_size':
4999 + obj = {
5000 + 'name': e2pdf.lang.get('Font Size'),
5001 + 'type': 'select',
5002 + 'value': e2pdf.helper.getString(properties[field]),
5003 + 'options': e2pdf.helper.font.sizes(field)
5004 + };
5005 + break;
5006 + case 'g_legend_position_vertical':
5007 + obj = {
5008 + 'name': e2pdf.lang.get('Position (V)'),
5009 + 'key': 'g_legend_position_vertical',
5010 + 'type': 'select',
5011 + 'value': e2pdf.helper.getString(properties[field], 'top'),
5012 + 'options':
5013 + [
5014 + {'top': e2pdf.lang.get('Top')},
5015 + {'middle': e2pdf.lang.get('Middle')},
5016 + {'bottom': e2pdf.lang.get('Bottom')}
5017 + ]
5018 + };
5019 + break;
5020 + case 'g_legend_position_horizontal':
5021 + obj = {
5022 + 'name': e2pdf.lang.get('Position (H)'),
5023 + 'type': 'select',
5024 + 'value': e2pdf.helper.getString(properties[field], 'right'),
5025 + 'options':
5026 + [
5027 + {'left': e2pdf.lang.get('Left')},
5028 + {'center': e2pdf.lang.get('Center')},
5029 + {'right': e2pdf.lang.get('Right')}
5030 + ]
5031 + };
5032 + break;
5033 + case 'g_legend_position_join':
5034 + obj = {
5035 + 'name': e2pdf.lang.get('Position'),
5036 + 'type': 'select',
5037 + 'value': e2pdf.helper.getString(properties[field], 'inner'),
5038 + 'options':
5039 + [
5040 + {'inner': e2pdf.lang.get('Inner')},
5041 + {'outer': e2pdf.lang.get('Outer')}
5042 + ]
5043 + };
5044 + break;
5045 + case 'g_legend_position_vertical_margin':
5046 + obj = {
5047 + 'name': e2pdf.lang.get('Margin (V)'),
5048 + 'type': 'text',
5049 + 'value': e2pdf.helper.getFloat(properties[field]),
5050 + 'atts': ['number', 'number-negative']
5051 + };
5052 + break;
5053 + case 'g_legend_position_horizontal_margin':
5054 + obj = {
5055 + 'name': e2pdf.lang.get('Margin (H)'),
5056 + 'type': 'text',
5057 + 'value': e2pdf.helper.getFloat(properties[field]),
5058 + 'atts': ['number', 'number-negative']
5059 + };
5060 + break;
5061 + case 'g_legend_text_side':
5062 + obj = {
5063 + 'name': e2pdf.lang.get('Legend Text Side'),
5064 + 'type': 'select',
5065 + 'value': e2pdf.helper.getString(properties[field], 'left'),
5066 + 'options':
5067 + [
5068 + {'left': e2pdf.lang.get('Left')},
5069 + {'right': e2pdf.lang.get('Right')}
5070 + ]
5071 + };
5072 + break;
5073 + case 'g_legend_columns':
5074 + obj = {
5075 + 'name': e2pdf.lang.get('Columns'),
5076 + 'type': 'text',
5077 + 'value': e2pdf.helper.getInt(properties[field], 1),
5078 + 'atts': ['number']
5079 + };
5080 + break;
5081 + case 'g_legend_entry_width':
5082 + obj = {
5083 + 'name': e2pdf.lang.get('Width'),
5084 + 'type': 'text',
5085 + 'value': e2pdf.helper.getInt(properties[field]),
5086 + 'atts': ['number']
5087 + };
5088 + break;
5089 + case 'g_legend_entry_height':
5090 + obj = {
5091 + 'name': e2pdf.lang.get('Height'),
5092 + 'type': 'text',
5093 + 'value': e2pdf.helper.getInt(properties[field]),
5094 + 'atts': ['number', 'keep']
5095 + };
5096 + break;
5097 + case 'g_legend_padding_x':
5098 + obj = {
5099 + 'name': e2pdf.lang.get('Padding (X)'),
5100 + 'type': 'text',
5101 + 'value': e2pdf.helper.getInt(properties[field]),
5102 + 'atts': ['number']
5103 + };
5104 + break;
5105 + case 'g_legend_padding_y':
5106 + obj = {
5107 + 'name': e2pdf.lang.get('Padding (Y)'),
5108 + 'type': 'text',
5109 + 'value': e2pdf.helper.getInt(properties[field]),
5110 + 'atts': ['number']
5111 + };
5112 + break;
5113 + case 'g_legend_stroke_colour':
5114 + obj = {
5115 + 'name': e2pdf.lang.get('Stroke Color'),
5116 + 'type': 'color',
5117 + 'value': e2pdf.helper.getString(properties[field])
5118 + };
5119 + break;
5120 + case 'g_legend_stroke_width':
5121 + obj = {
5122 + 'name': e2pdf.lang.get('Stroke Width'),
5123 + 'type': 'text',
5124 + 'value': e2pdf.helper.getInt(properties[field]),
5125 + 'atts': ['number']
5126 + };
5127 + break;
5128 + case 'g_legend_back_colour':
5129 + obj = {
5130 + 'name': e2pdf.lang.get('Background'),
5131 + 'type': 'color',
5132 + 'value': e2pdf.helper.getString(properties[field])
5133 + };
5134 + break;
5135 + case 'g_legend_colour':
5136 + obj = {
5137 + 'name': e2pdf.lang.get('Color'),
5138 + 'type': 'color',
5139 + 'value': e2pdf.helper.getString(properties[field])
5140 + };
5141 + break;
5142 + case 'g_show_legend':
5143 + obj = {
5144 + 'name': e2pdf.lang.get('Legend'),
5145 + 'type': 'checkbox',
5146 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5147 + 'option': '1'
5148 + };
5149 + break;
5150 + case 'g_bubble_scale':
5151 + obj = {
5152 + 'name': e2pdf.lang.get('Bubble Scale'),
5153 + 'type': 'text',
5154 + 'value': e2pdf.helper.getInt(properties[field]) ? e2pdf.helper.getInt(properties[field]) : '1',
5155 + 'atts': ['number']
5156 + };
5157 + break;
5158 + case 'g_increment':
5159 + obj = {
5160 + 'name': e2pdf.lang.get('Increment'),
5161 + 'type': 'text',
5162 + 'value': e2pdf.helper.getInt(properties[field]),
5163 + 'atts': ['number']
5164 + };
5165 + break;
5166 + case 'g_stack_group':
5167 + obj = {
5168 + 'name': e2pdf.lang.get('Stack Group'),
5169 + 'type': 'text',
5170 + 'value': e2pdf.helper.getString(properties[field])
5171 + };
5172 + break;
5173 + case 'g_line_dataset':
5174 + obj = {
5175 + 'name': e2pdf.lang.get('Line Dataset'),
5176 + 'type': 'text',
5177 + 'value': e2pdf.helper.getString(properties[field])
5178 + };
5179 + break;
5180 + case 'g_project_angle':
5181 + obj = {
5182 + 'name': e2pdf.lang.get('Project Angle'),
5183 + 'type': 'text',
5184 + 'value': e2pdf.helper.getInt(properties[field]),
5185 + 'atts': ['number']
5186 + };
5187 + break;
5188 + case 'g_depth':
5189 + obj = {
5190 + 'name': e2pdf.lang.get('Depth'),
5191 + 'type': 'text',
5192 + 'value': e2pdf.helper.getInt(properties[field]),
5193 + 'atts': ['number']
5194 + };
5195 + break;
5196 + case 'g_aspect_ratio':
5197 + obj = {
5198 + 'name': e2pdf.lang.get('Aspect Ratio'),
5199 + 'type': 'text',
5200 + 'value': e2pdf.helper.getFloat(properties[field]),
5201 + 'atts': ['number']
5202 + };
5203 + break;
5204 + case 'g_line_curve':
5205 + obj = {
5206 + 'name': e2pdf.lang.get('Line Curve'),
5207 + 'type': 'text',
5208 + 'value': e2pdf.helper.getString(properties[field])
5209 + };
5210 + break;
5211 + case 'g_units_y':
5212 + obj = {
5213 + 'name': e2pdf.lang.get('Units'),
5214 + 'type': 'text',
5215 + 'value': e2pdf.helper.getString(properties[field])
5216 + };
5217 + break;
5218 + case 'g_units_x':
5219 + obj = {
5220 + 'name': e2pdf.lang.get('Units'),
5221 + 'type': 'text',
5222 + 'value': e2pdf.helper.getString(properties[field])
5223 + };
5224 + break;
5225 + case 'g_axis_text_position_v':
5226 + obj = {
5227 + 'name': e2pdf.lang.get('Position'),
5228 + 'type': 'select',
5229 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5230 + 'options':
5231 + [
5232 + {'outside': e2pdf.lang.get('Outer')},
5233 + {'inside': e2pdf.lang.get('Inner')}
5234 + ]
5235 + };
5236 + break;
5237 + case 'g_axis_text_position_h':
5238 + obj = {
5239 + 'name': e2pdf.lang.get('Position'),
5240 + 'type': 'select',
5241 + 'value': e2pdf.helper.getString(properties[field], 'outside'),
5242 + 'options':
5243 + [
5244 + {'outside': e2pdf.lang.get('Outer')},
5245 + {'inside': e2pdf.lang.get('Inner')}
5246 + ]
5247 + };
5248 + break;
5249 + case 'g_axis_text_align_v':
5250 + obj = {
5251 + 'name': e2pdf.lang.get('Align'),
5252 + 'type': 'select',
5253 + 'value': e2pdf.helper.getString(properties[field], ''),
5254 + 'options':
5255 + [
5256 + {'': e2pdf.lang.get('Auto')},
5257 + {'left': e2pdf.lang.get('Left')},
5258 + {'centre': e2pdf.lang.get('Center')},
5259 + {'right': e2pdf.lang.get('Right')}
5260 + ]
5261 + };
5262 + break;
5263 + case 'g_axis_text_align_h':
5264 + obj = {
5265 + 'name': e2pdf.lang.get('Align'),
5266 + 'type': 'select',
5267 + 'value': e2pdf.helper.getString(properties[field], ''),
5268 + 'options':
5269 + [
5270 + {'': e2pdf.lang.get('Auto')},
5271 + {'left': e2pdf.lang.get('Left')},
5272 + {'centre': e2pdf.lang.get('Center')},
5273 + {'right': e2pdf.lang.get('Right')}
5274 + ]
5275 + };
5276 + break;
5277 + case 'g_axis_text_space_v':
5278 + obj = {
5279 + 'name': e2pdf.lang.get('Space'),
5280 + 'type': 'text',
5281 + 'value': e2pdf.helper.getInt(properties[field], 2),
5282 + 'atts': ['number', 'number-negative', 'keep']
5283 + };
5284 + break;
5285 + case 'g_axis_text_space_h':
5286 + obj = {
5287 + 'name': e2pdf.lang.get('Space'),
5288 + 'type': 'text',
5289 + 'value': e2pdf.helper.getInt(properties[field], 2),
5290 + 'atts': ['number', 'number-negative', 'keep']
5291 + };
5292 + break;
5293 + case 'g_axis_text_offset_x_v':
5294 + obj = {
5295 + 'name': e2pdf.lang.get('Offset (X)'),
5296 + 'type': 'text',
5297 + 'value': e2pdf.helper.getInt(properties[field]),
5298 + 'atts': ['number', 'number-negative']
5299 + };
5300 + break;
5301 + case 'g_axis_text_offset_y_v':
5302 + obj = {
5303 + 'name': e2pdf.lang.get('Offset (Y)'),
5304 + 'type': 'text',
5305 + 'value': e2pdf.helper.getInt(properties[field]),
5306 + 'atts': ['number', 'number-negative']
5307 + };
5308 + break;
5309 + case 'g_axis_text_offset_x_h':
5310 + obj = {
5311 + 'name': e2pdf.lang.get('Offset (X)'),
5312 + 'type': 'text',
5313 + 'value': e2pdf.helper.getInt(properties[field]),
5314 + 'atts': ['number', 'number-negative']
5315 + };
5316 + break;
5317 + case 'g_axis_text_offset_y_h':
5318 + obj = {
5319 + 'name': e2pdf.lang.get('Offset (Y)'),
5320 + 'type': 'text',
5321 + 'value': e2pdf.helper.getInt(properties[field]),
5322 + 'atts': ['number', 'number-negative']
5323 + };
5324 + break;
5325 + case 'g_units_label':
5326 + obj = {
5327 + 'name': e2pdf.lang.get('Units Label'),
5328 + 'type': 'text',
5329 + 'value': e2pdf.helper.getString(properties[field])
5330 + };
5331 + break;
5332 + case 'g_reverse_data':
5333 + obj = {
5334 + 'name': 'Reverse Data',
5335 + 'type': 'checkbox',
5336 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5337 + 'option': '1'
5338 + };
5339 + break;
5340 + case 'g_multiline':
5341 + obj = {
5342 + 'name': 'Lines',
5343 + 'type': 'select',
5344 + 'value': e2pdf.helper.getString(properties[field]),
5345 + 'options':
5346 + [
5347 + {'0': 'Unsorted Data'},
5348 + {'2': 'Single Array Data'},
5349 + {'1': 'Multi Array Data'}
5350 + ]
5351 + };
5352 + break;
5353 + case 'g_legends':
5354 + obj = {
5355 + 'name': e2pdf.lang.get('Legends'),
5356 + 'type': 'textarea',
5357 + 'value': e2pdf.helper.getString(properties[field])
5358 + };
5359 + break;
5360 + case 'g_axis_text_callback_y':
5361 + obj = {
5362 + 'name': e2pdf.lang.get('Custom Labels (Y-Axis)'),
5363 + 'type': 'textarea',
5364 + 'value': e2pdf.helper.getString(properties[field])
5365 + };
5366 + break;
5367 + case 'g_axis_text_callback_x':
5368 + obj = {
5369 + 'name': e2pdf.lang.get('Custom Labels (X-Axis)'),
5370 + 'type': 'textarea',
5371 + 'value': e2pdf.helper.getString(properties[field])
5372 + };
5373 + break;
5374 + case 'g_colors':
5375 + obj = {
5376 + 'name': e2pdf.lang.get('Colors'),
5377 + 'type': 'textarea',
5378 + 'value': e2pdf.helper.getString(properties[field])
5379 + };
5380 + break;
5381 + case 'g_inner_radius':
5382 + obj = {
5383 + 'name': e2pdf.lang.get('Inner Radius'),
5384 + 'type': 'text',
5385 + 'value': e2pdf.helper.getFloat(properties[field]),
5386 + 'atts': ['number', 'keep']
5387 + };
5388 + break;
5389 + case 'g_start_angle':
5390 + obj = {
5391 + 'name': e2pdf.lang.get('Start Angle'),
5392 + 'type': 'text',
5393 + 'value': e2pdf.helper.getFloat(properties[field]),
5394 + 'atts': ['number']
5395 + };
5396 + break;
5397 + case 'g_grid_straight':
5398 + obj = {
5399 + 'name': e2pdf.lang.get('Straight'),
5400 + 'type': 'checkbox',
5401 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5402 + 'option': '1',
5403 + };
5404 + break;
5405 + case 'g_grid_dash':
5406 + obj = {
5407 + 'name': e2pdf.lang.get('Grid Dash'),
5408 + 'type': 'text',
5409 + 'value': e2pdf.helper.getFloat(properties[field]),
5410 + 'atts': ['number']
5411 + };
5412 + break;
5413 + case 'g_grid_dash_h':
5414 + obj = {
5415 + 'name': e2pdf.lang.get('Grid Dash (H)'),
5416 + 'type': 'text',
5417 + 'value': e2pdf.helper.getFloat(properties[field]),
5418 + 'atts': ['number']
5419 + };
5420 + break;
5421 + case 'g_grid_dash_v':
5422 + obj = {
5423 + 'name': e2pdf.lang.get('Grid Dash (V)'),
5424 + 'type': 'text',
5425 + 'value': e2pdf.helper.getFloat(properties[field]),
5426 + 'atts': ['number']
5427 + };
5428 + break;
5429 + case 'g_fill_opacity':
5430 + obj = {
5431 + 'name': e2pdf.lang.get('Fill Opacity'),
5432 + 'type': 'text',
5433 + 'value': e2pdf.helper.getFloat(properties[field]),
5434 + 'atts': ['number', 'keep']
5435 + };
5436 + break;
5437 + case 'g_axis_font_weight_h':
5438 + obj = {
5439 + 'name': e2pdf.lang.get('Bold'),
5440 + 'type': 'checkbox',
5441 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5442 + 'option': '1'
5443 + };
5444 + break;
5445 + case 'g_axis_font_weight_v':
5446 + obj = {
5447 + 'name': e2pdf.lang.get('Bold'),
5448 + 'type': 'checkbox',
5449 + 'value': e2pdf.helper.getCheckbox(properties[field]),
5450 + 'option': '1'
5451 + };
5452 + break;
2769 5453 }
2770 -
5454 + if (!obj.hasOwnProperty('key')) {
5455 + obj['key'] = field;
5456 + }
5457 + if (!obj.hasOwnProperty('atts')) {
5458 + obj['atts'] = [];
5459 + }
2771 5460 return obj;
2772 5461 },
2773 - //e2pdf.properties.getFields
5462 + // e2pdf.properties.getFields
2774 5463 getFields: function (el, actions) {
2775 - 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') {
2776 5468 var obj = {
2777 5469 'page_id': {
2778 - 'name': e2pdfLang['ID'],
5470 + 'name': '',
2779 5471 'fields': [
2780 5472 e2pdf.properties.getField('page_id', el),
5473 + e2pdf.properties.getField('element_type', el)
2781 5474 ],
2782 5475 'position': 'top',
2783 5476 'classes': [
2784 - 'e2pdf-w100 e2pdf-hide-label'
2785 - ],
5477 + 'e2pdf-w50 e2pdf-pr10',
5478 + 'e2pdf-w50 e2pdf-pl10'
5479 + ]
2786 5480 },
2787 5481 'size': {
2788 - 'name': e2pdfLang['Size'],
5482 + 'name': e2pdf.lang.get('Size'),
2789 5483 'fields': [
2790 5484 e2pdf.properties.getField('width', el),
2791 5485 e2pdf.properties.getField('height', el),
5486 + e2pdf.properties.getField('preset', el)
2792 5487 ],
2793 5488 'position': 'top',
2794 5489 'classes': [
2795 5490 'e2pdf-w50 e2pdf-pr10',
2796 - 'e2pdf-w50 e2pdf-pl10'
2797 - ],
2798 - },
2799 - 'preset': {
2800 - 'name': e2pdfLang['Size Preset'],
2801 - 'fields': [
2802 - e2pdf.properties.getField('preset', el),
2803 - ],
2804 - 'position': 'top',
2805 - 'classes': [
2806 - 'e2pdf-w100 e2pdf-hide-label'
5491 + 'e2pdf-w50 e2pdf-pl10',
5492 + 'e2pdf-w100'
2807 5493 ]
2808 5494 }
2809 5495 };
2810 5496 } else {
2811 -
2812 5497 var obj = {
2813 - 'element_id': {
2814 - 'name': '',
5498 + 'element': {
5499 + 'name': e2pdf.lang.get('Element'),
2815 5500 'fields': [
2816 5501 e2pdf.properties.getField('element_id', el),
2817 - e2pdf.properties.getField('element_type', el)
5502 + e2pdf.properties.getField('page_id', el),
5503 + e2pdf.properties.getField('element_type', el),
5504 + e2pdf.properties.getField('left', el),
5505 + e2pdf.properties.getField('top', el),
5506 + e2pdf.properties.getField('width', el),
5507 + e2pdf.properties.getField('height', el)
2818 5508 ],
2819 5509 'position': 'top',
2820 5510 'classes': [
2821 - 'e2pdf-w50 e2pdf-pr10',
5511 + 'e2pdf-w25',
5512 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
2822 5513 'e2pdf-w50 e2pdf-pl10',
2823 - ],
2824 - },
2825 - 'position': {
2826 - 'name': e2pdfLang['Position'],
2827 - 'fields': [
2828 - e2pdf.properties.getField('left', el),
2829 - e2pdf.properties.getField('top', el)
2830 - ],
2831 - 'position': 'right',
2832 - 'classes': [
2833 - 'e2pdf-w50 e2pdf-pr10',
2834 - 'e2pdf-w50 e2pdf-pl10'
2835 - ],
2836 - },
5514 + 'e2pdf-w25',
5515 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5516 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5517 + 'e2pdf-w25'
5518 + ]
5519 + }
2837 5520 };
5521 + if (el.data('data-type') === 'e2pdf-input') {
2838 5522
2839 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2840 - obj['size'] = {
2841 - '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'),
2842 5529 'fields': [
2843 - e2pdf.properties.getField('width', el),
2844 - e2pdf.properties.getField('height', el),
2845 - 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)
2846 5543 ],
2847 5544 'position': 'left',
2848 5545 'classes': [
2849 - 'e2pdf-w50 e2pdf-pr10',
5546 + 'e2pdf-w100',
5547 + 'e2pdf-w100',
5548 + 'e2pdf-w50',
2850 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',
2851 5574 'e2pdf-w100'
2852 - ],
5575 + ]
2853 5576 };
2854 - } else {
2855 - obj['size'] = {
2856 - 'name': e2pdfLang['Size'],
5577 + obj['value'] = {
5578 + 'name': e2pdf.lang.get('Value'),
2857 5579 'fields': [
2858 - e2pdf.properties.getField('width', el),
2859 - 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)
2860 5586 ],
2861 - 'position': 'left',
5587 + 'position': 'bottom',
2862 5588 'classes': [
2863 - 'e2pdf-w50 e2pdf-pr10',
2864 - 'e2pdf-w50 e2pdf-pl10'
2865 -
2866 - ],
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 + ]
2867 5596 };
2868 5597 }
2869 5598
2870 - if (el.data('data-type') === 'e2pdf-html'
2871 - || el.data('data-type') === 'e2pdf-textarea'
2872 - ) {
2873 - obj['font'] = {
2874 - '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'),
2875 5607 'fields': [
2876 5608 e2pdf.properties.getField('text_color', el),
2877 5609 e2pdf.properties.getField('text_font', el),
2878 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),
2879 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)
2880 5622 ],
2881 5623 'position': 'left',
2882 5624 'classes': [
2883 5625 'e2pdf-w100',
2884 5626 'e2pdf-w100',
2885 - 'e2pdf-w50 e2pdf-pr10',
2886 - '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)
2887 5648 ],
5649 + 'position': 'right',
5650 + 'classes': [
5651 + 'e2pdf-w100',
5652 + 'e2pdf-w70',
5653 + 'e2pdf-w30 e2pdf-pl10',
5654 + 'e2pdf-w100'
5655 + ]
2888 5656 };
5657 + obj['value'] = {
5658 + 'name': e2pdf.lang.get('Value'),
5659 + 'fields': [
5660 + e2pdf.properties.getField('value', el),
5661 + e2pdf.properties.getLink("+ " + e2pdf.lang.get('Preg Filters'), 'javascript:void(0);', 'e2pdf-collapse e2pdf-link', 'e2pdf-preg-filters'),
5662 + e2pdf.properties.getField('preg_pattern', el),
5663 + e2pdf.properties.getField('preg_replacement', el),
5664 + e2pdf.properties.getField('preg_match_all_pattern', el),
5665 + e2pdf.properties.getField('preg_match_all_output', el)
5666 + ],
5667 + 'position': 'bottom',
5668 + 'classes': [
5669 + 'e2pdf-w100 e2pdf-hide-label',
5670 + 'e2pdf-w100 e2pdf-align-right e2pdf-small e2pdf-mt6 e2pdf-pl10 e2pdf-pr10',
5671 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5672 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide',
5673 + 'e2pdf-w50 e2pdf-pr10 e2pdf-preg-filters e2pdf-hide',
5674 + 'e2pdf-w50 e2pdf-pl10 e2pdf-preg-filters e2pdf-hide'
5675 + ]
5676 + };
5677 + }
2889 5678
2890 - }
5679 + if (el.data('data-type') === 'e2pdf-checkbox') {
2891 5680
2892 - // Font
2893 - if (el.data('data-type') === 'e2pdf-input'
2894 - || el.data('data-type') === 'e2pdf-select'
2895 - || el.data('data-type') === 'e2pdf-signature'
2896 - ) {
2897 - obj['font'] = {
2898 - 'name': e2pdfLang['Font'],
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'),
2899 5687 'fields': [
2900 5688 e2pdf.properties.getField('text_color', el),
2901 - e2pdf.properties.getField('text_font', el),
2902 - 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)
2903 5694 ],
2904 5695 'position': 'left',
2905 5696 'classes': [
2906 5697 'e2pdf-w100',
2907 - 'e2pdf-w70 e2pdf-pr10',
2908 - '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)
2909 5712 ],
5713 + 'position': 'right',
5714 + 'classes': [
5715 + 'e2pdf-w100',
5716 + 'e2pdf-w70',
5717 + 'e2pdf-w30 e2pdf-pl10',
5718 + 'e2pdf-w100'
5719 + ]
2910 5720 };
2911 - }
2912 -
2913 - // Text align
2914 - if (el.data('data-type') === 'e2pdf-html'
2915 - || el.data('data-type') === 'e2pdf-input'
2916 - || el.data('data-type') === 'e2pdf-textarea'
2917 - ) {
2918 - obj['text_align'] = {
2919 - 'name': e2pdfLang['Text Align'],
5721 + obj['value'] = {
5722 + 'name': '',
2920 5723 'fields': [
2921 - 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)
2922 5731 ],
2923 - 'position': 'left',
5732 + 'position': 'bottom',
2924 5733 'classes': [
2925 - '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'
2926 5741 ]
2927 5742 };
2928 5743 }
2929 5744
2930 - // Settings
2931 - if (el.data('data-type') === 'e2pdf-html') {
2932 - obj['settings'] = {
2933 - 'name': e2pdfLang['Settings'],
5745 + if (el.data('data-type') === 'e2pdf-radio') {
5746 +
5747 + obj['field'] = {
5748 + 'name': e2pdf.lang.get('Field'),
2934 5749 'fields': [
5750 + e2pdf.properties.getField('text_color', el),
5751 + e2pdf.properties.getField('text_type', el),
5752 + e2pdf.properties.getField('rotation', el),
2935 5753 e2pdf.properties.getField('rtl', el),
2936 - e2pdf.properties.getField('dynamic_height', el),
5754 + e2pdf.properties.getField('required', el),
5755 + e2pdf.properties.getField('readonly', el)
2937 5756 ],
2938 5757 'position': 'left',
2939 5758 'classes': [
2940 5759 'e2pdf-w100',
2941 5760 'e2pdf-w100',
5761 + 'e2pdf-w70',
5762 + 'e2pdf-w30 e2pdf-pl10',
5763 + 'e2pdf-pr10',
5764 + 'e2pdf-pr10',
5765 + 'e2pdf-pr10'
2942 5766 ]
2943 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 + };
2944 5810 }
2945 5811
2946 - // Settings
2947 - if (el.data('data-type') === 'e2pdf-input'
2948 - || el.data('data-type') === 'e2pdf-textarea'
2949 - ) {
2950 - obj['settings'] = {
2951 - 'name': e2pdfLang['Settings'],
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'),
2952 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),
2953 5827 e2pdf.properties.getField('rtl', el),
5828 + e2pdf.properties.getField('multiline', el),
2954 5829 e2pdf.properties.getField('required', el),
2955 - e2pdf.properties.getField('readonly', el),
2956 - e2pdf.properties.getField('pass', el),
2957 - e2pdf.properties.getField('comb', el),
5830 + e2pdf.properties.getField('readonly', el)
2958 5831 ],
2959 5832 'position': 'left',
2960 5833 'classes': [
2961 5834 'e2pdf-w100',
2962 5835 'e2pdf-w100',
5836 + 'e2pdf-w50',
5837 + 'e2pdf-w50 e2pdf-pl10',
2963 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': [
2964 5856 'e2pdf-w100',
2965 - 'e2pdf-w100',
5857 + 'e2pdf-w70',
5858 + 'e2pdf-w30 e2pdf-pl10',
5859 + 'e2pdf-w100'
2966 5860 ]
2967 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 + };
2968 5884 }
2969 5885
2970 - // Settings Signature
2971 5886 if (el.data('data-type') === 'e2pdf-signature') {
2972 5887
2973 - obj['placeholder'] = {
2974 - 'name': e2pdfLang['Placeholder'],
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'),
2975 5894 'fields': [
5895 + e2pdf.properties.getField('text_color', el),
5896 + e2pdf.properties.getField('text_font', el),
5897 + e2pdf.properties.getField('text_font_size', el),
2976 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)
2977 5909 ],
2978 5910 'position': 'left',
2979 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': [
2980 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'
2981 5980 ]
2982 5981 };
5982 + }
2983 5983
2984 -
2985 - obj['settings'] = {
2986 - 'name': e2pdfLang['Settings'],
5984 + if (el.data('data-type') === 'e2pdf-html') {
5985 + obj['field'] = {
5986 + 'name': e2pdf.lang.get('Field'),
2987 5987 'fields': [
2988 - 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)
2989 6002 ],
2990 6003 'position': 'left',
2991 6004 'classes': [
2992 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'
2993 6019 ]
2994 6020 };
6021 + if (e2pdf.properties.getValue(el, 'dynamic_height', 'checkbox')) {
6022 + obj['field'].fields.push(e2pdf.properties.getField('dynamic_height', el));
6023 + obj['field'].classes.push('e2pdf-pr10');
6024 + }
2995 6025
2996 -
2997 - }
2998 -
2999 - // Settings
3000 - if (el.data('data-type') === 'e2pdf-checkbox'
3001 - || el.data('data-type') === 'e2pdf-radio'
3002 - ) {
3003 - obj['settings'] = {
3004 - 'name': e2pdfLang['Settings'],
6026 + obj['style'] = {
6027 + 'name': e2pdf.lang.get('Style'),
3005 6028 'fields': [
3006 - e2pdf.properties.getField('required', el),
3007 - 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)
3008 6040 ],
3009 - 'position': 'left',
6041 + 'position': 'right',
3010 6042 'classes': [
3011 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',
3012 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'
3013 6054 ]
3014 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 + };
3015 6086 }
3016 6087
3017 - // Settings
3018 - if (el.data('data-type') === 'e2pdf-select') {
3019 - obj['settings'] = {
3020 - 'name': e2pdfLang['Settings'],
6088 + if (el.data('data-type') === 'e2pdf-page-number') {
6089 + obj['field'] = {
6090 + 'name': e2pdf.lang.get('Field'),
3021 6091 'fields': [
3022 - e2pdf.properties.getField('rtl', el),
3023 - e2pdf.properties.getField('required', el),
3024 - e2pdf.properties.getField('readonly', el),
3025 - e2pdf.properties.getField('multiline', el),
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)
3026 6101 ],
3027 6102 'position': 'left',
3028 6103 'classes': [
3029 6104 'e2pdf-w100',
3030 6105 'e2pdf-w100',
6106 + 'e2pdf-w50',
6107 + 'e2pdf-w50 e2pdf-pl10',
3031 6108 'e2pdf-w100',
3032 - 'e2pdf-w100',
6109 + 'e2pdf-w50',
6110 + 'e2pdf-w50 e2pdf-pl10',
6111 + 'e2pdf-w70',
6112 + 'e2pdf-w30 e2pdf-pl10'
3033 6113 ]
3034 6114 };
3035 - }
3036 -
3037 - // Selector
3038 - if (el.data('data-type') === 'e2pdf-checkbox'
3039 - || el.data('data-type') === 'e2pdf-radio'
3040 - ) {
3041 - obj['selector'] = {
3042 - 'name': e2pdfLang['Selector'],
6115 + obj['page_number'] = {
6116 + 'name': e2pdf.lang.get('Page Number'),
3043 6117 'fields': [
3044 - e2pdf.properties.getField('text_color', el),
3045 - e2pdf.properties.getField('text_type', el),
6118 + e2pdf.properties.getField('page_number', el),
6119 + e2pdf.properties.getField('page_total', el),
3046 6120 ],
3047 6121 'position': 'left',
3048 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': [
3049 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',
3050 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'
3051 6153 ]
3052 6154 };
3053 - }
3054 -
3055 - // Background
3056 - if (el.data('data-type') === 'e2pdf-html'
3057 - || el.data('data-type') === 'e2pdf-input'
3058 - || el.data('data-type') === 'e2pdf-textarea'
3059 - || el.data('data-type') === 'e2pdf-image'
3060 - || el.data('data-type') === 'e2pdf-rectangle'
3061 - || el.data('data-type') === 'e2pdf-signature'
3062 - ) {
3063 - obj['background'] = {
3064 - 'name': e2pdfLang['Background'],
6155 + obj['value'] = {
6156 + 'name': '',
3065 6157 'fields': [
3066 - e2pdf.properties.getField('background', el)
6158 + e2pdf.properties.getField('css', el),
6159 + e2pdf.properties.getField('value', el),
6160 + e2pdf.properties.getField('html_worker', el)
3067 6161 ],
3068 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6162 + 'position': 'bottom',
3069 6163 'classes': [
3070 - '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'
3071 6167 ]
3072 6168 };
3073 6169 }
3074 6170
3075 - // Resize
3076 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3077 - obj['resize'] = {
3078 - 'name': e2pdfLang['Resize'],
6171 + if (el.data('data-type') === 'e2pdf-image') {
6172 +
6173 + obj['field'] = {
6174 + 'name': e2pdf.lang.get('Field'),
3079 6175 'fields': [
3080 - 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),
3081 6179 e2pdf.properties.getField('horizontal', el),
3082 6180 e2pdf.properties.getField('vertical', el),
6181 + e2pdf.properties.getField('rotation', el),
6182 + e2pdf.properties.getField('opacity', el),
6183 + e2pdf.properties.getField('quality', el),
3083 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)
3084 6189 ],
3085 6190 'position': 'left',
3086 6191 'classes': [
3087 6192 'e2pdf-w100',
3088 - 'e2pdf-w50 e2pdf-pr10',
6193 + 'e2pdf-w60 e2pdf-pr10',
6194 + 'e2pdf-w40',
6195 + 'e2pdf-w50',
3089 6196 'e2pdf-w50 e2pdf-pl10',
3090 - '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'
3091 6205 ]
3092 6206 };
3093 - }
3094 -
3095 - // Border
3096 - if (el.data('data-type') === 'e2pdf-input'
3097 - || el.data('data-type') === 'e2pdf-textarea'
3098 - || el.data('data-type') === 'e2pdf-checkbox'
3099 - || el.data('data-type') === 'e2pdf-radio'
3100 - || el.data('data-type') === 'e2pdf-select'
3101 - ) {
3102 - obj['border'] = {
3103 - 'name': e2pdfLang['Border'],
6207 + obj['pdf'] = {
6208 + 'name': 'Pdf',
3104 6209 'fields': [
3105 - e2pdf.properties.getField('border', el),
3106 - 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)
3107 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 + ],
3108 6241 'position': 'right',
3109 6242 'classes': [
3110 - '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',
3111 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)
3112 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 + ]
3113 6284 };
3114 6285 }
3115 6286
3116 - // Border
3117 - if (el.data('data-type') === 'e2pdf-html'
3118 - || el.data('data-type') === 'e2pdf-image'
3119 - || el.data('data-type') === 'e2pdf-signature'
3120 - ) {
3121 - obj['border'] = {
3122 - 'name': e2pdfLang['Border'],
6287 + if (el.data('data-type') === 'e2pdf-qrcode') {
6288 +
6289 + obj['qrcode'] = {
6290 + 'name': e2pdf.lang.get('QR Code'),
3123 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),
3124 6316 e2pdf.properties.getField('border_top', el),
3125 6317 e2pdf.properties.getField('border_left', el),
3126 6318 e2pdf.properties.getField('border_right', el),
3127 6319 e2pdf.properties.getField('border_bottom', el),
3128 - e2pdf.properties.getField('border_color', el)
6320 + e2pdf.properties.getField('z_index', el)
3129 6321 ],
3130 6322 'position': 'right',
3131 6323 'classes': [
3132 - 'e2pdf-w25 e2pdf-pr10',
3133 - 'e2pdf-w25 e2pdf-pr10',
3134 - 'e2pdf-w25 e2pdf-pr10',
3135 - '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',
3136 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)
3137 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 + ]
3138 6360 };
3139 6361 }
3140 6362
3141 - // Padding
3142 - if (el.data('data-type') === 'e2pdf-html'
3143 - || el.data('data-type') === 'e2pdf-image'
3144 - || el.data('data-type') === 'e2pdf-signature'
3145 - ) {
3146 - obj['padding'] = {
3147 - 'name': e2pdfLang['Padding'],
6363 + if (el.data('data-type') === 'e2pdf-barcode') {
6364 + obj['barcode'] = {
6365 + 'name': e2pdf.lang.get('Barcode'),
3148 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),
3149 6406 e2pdf.properties.getField('padding_top', el),
3150 6407 e2pdf.properties.getField('padding_left', el),
3151 6408 e2pdf.properties.getField('padding_right', el),
3152 - 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)
3153 6416 ],
3154 6417 'position': 'right',
3155 6418 'classes': [
3156 - 'e2pdf-w25 e2pdf-pr10',
3157 - 'e2pdf-w25 e2pdf-pr10',
3158 - 'e2pdf-w25 e2pdf-pr10',
3159 - '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'
3160 6434 ]
3161 6435 };
3162 - }
3163 -
3164 - // Z-index
3165 - obj['z_index'] = {
3166 - 'name': e2pdfLang['Z-index'],
3167 - 'fields': [
3168 - e2pdf.properties.getField('z_index', el)
3169 - ],
3170 - 'position': el.data('data-type') === 'e2pdf-link' ? 'left' : 'right',
3171 - 'classes': [
3172 - 'e2pdf-w100 e2pdf-hide-label',
3173 - ]
3174 - };
3175 -
3176 - // Parent
3177 - if (el.data('data-type') === 'e2pdf-html') {
3178 - obj['parent'] = {
3179 - 'name': e2pdfLang['Parent'],
6436 + obj['value'] = {
6437 + 'name': e2pdf.lang.get('Value'),
3180 6438 'fields': [
3181 - e2pdf.properties.getField('parent', el),
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)
3182 6445 ],
3183 6446 'position': 'bottom',
3184 6447 'classes': [
3185 6448 'e2pdf-w100 e2pdf-hide-label',
3186 - ],
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 + ]
3187 6455 };
3188 6456 }
3189 6457
3190 - if (el.data('data-type') === 'e2pdf-radio') {
3191 - obj['group'] = {
3192 - 'name': e2pdfLang['Group'],
6458 + if (el.data('data-type') === 'e2pdf-graph') {
6459 + obj['graph'] = {
6460 + 'name': e2pdf.lang.get('Graph'),
3193 6461 'fields': [
3194 - e2pdf.properties.getField('group', 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),
3195 6472 ],
6473 + 'position': 'left',
6474 + 'classes': [
6475 + 'e2pdf-w100',
6476 + 'e2pdf-w100',
6477 + 'e2pdf-w100',
6478 + 'e2pdf-w70 e2pdf-pr10',
6479 + 'e2pdf-w30',
6480 + 'e2pdf-pr10',
6481 + 'e2pdf-pr10',
6482 + 'e2pdf-pr10',
6483 + 'e2pdf-pr10',
6484 + 'e2pdf-pr10',
6485 + ]
6486 + };
6487 + obj['title'] = {
6488 + 'name': e2pdf.lang.get('Title'),
6489 + 'fields': [
6490 + e2pdf.properties.getField('g_graph_title_colour', el),
6491 + e2pdf.properties.getField('g_graph_title', el),
6492 + e2pdf.properties.getField('g_graph_title_font_size', el),
6493 + e2pdf.properties.getField('g_graph_title_position', el),
6494 + e2pdf.properties.getField('g_graph_title_space', el),
6495 + ],
6496 + 'position': 'left',
6497 + 'classes': [
6498 + 'e2pdf-w100',
6499 + 'e2pdf-w60 e2pdf-pr10',
6500 + 'e2pdf-w40',
6501 + 'e2pdf-w70 e2pdf-pr10',
6502 + 'e2pdf-w30',
6503 + ]
6504 + };
6505 + obj['labels'] = {
6506 + 'name': e2pdf.lang.get('Labels'),
6507 + 'fields': [
6508 + e2pdf.properties.getField('g_label_colour', el),
6509 + e2pdf.properties.getField('g_label_font_size', el),
6510 + e2pdf.properties.getField('g_label_space', el),
6511 + e2pdf.properties.getField('g_label_v', el),
6512 + e2pdf.properties.getField('g_label_h', el),
6513 + e2pdf.properties.getField('g_show_labels', el),
6514 + e2pdf.properties.getField('g_show_label_key', el),
6515 + e2pdf.properties.getField('g_show_label_amount', el),
6516 + e2pdf.properties.getField('g_show_label_percent', el),
6517 + ],
6518 + 'position': 'left',
6519 + 'classes': [
6520 + 'e2pdf-w100',
6521 + 'e2pdf-w70 e2pdf-pr10',
6522 + 'e2pdf-w30',
6523 + 'e2pdf-w50 e2pdf-pr10',
6524 + 'e2pdf-w50',
6525 + 'e2pdf-pr10',
6526 + 'e2pdf-pr10',
6527 + 'e2pdf-pr10',
6528 + 'e2pdf-pr10',
6529 + ]
6530 + };
6531 + obj['marker'] = {
6532 + 'name': e2pdf.lang.get('Markers'),
6533 + 'fields': [
6534 + e2pdf.properties.getField('g_marker_colour', el),
6535 + e2pdf.properties.getField('g_marker_size', el),
6536 + e2pdf.properties.getField('g_marker_dynamic_colour', el),
6537 + e2pdf.properties.getField('g_marker_type', el),
6538 + ],
6539 + 'position': 'left',
6540 + 'classes': [
6541 + 'e2pdf-w70 e2pdf-pr10',
6542 + 'e2pdf-w30',
6543 + 'e2pdf-w100',
6544 + 'e2pdf-w100'
6545 + ]
6546 + };
6547 + obj['legend'] = {
6548 + 'name': e2pdf.lang.get('Legend'),
6549 + 'fields': [
6550 + e2pdf.properties.getField('g_legend_back_colour', el),
6551 + e2pdf.properties.getField('g_legend_stroke_colour', el),
6552 + e2pdf.properties.getField('g_legend_stroke_width', el),
6553 + e2pdf.properties.getField('g_legend_entry_width', el),
6554 + e2pdf.properties.getField('g_legend_entry_height', el),
6555 + e2pdf.properties.getField('g_legend_padding_x', el),
6556 + e2pdf.properties.getField('g_legend_padding_y', el),
6557 + e2pdf.properties.getField('g_legend_colour', el),
6558 + e2pdf.properties.getField('g_legend_title', el),
6559 + e2pdf.properties.getField('g_legend_title_font_size', el),
6560 + e2pdf.properties.getField('g_legend_font_size', el),
6561 + e2pdf.properties.getField('g_legend_position_horizontal', el),
6562 + e2pdf.properties.getField('g_legend_position_vertical', el),
6563 + e2pdf.properties.getField('g_legend_position_join', el),
6564 + e2pdf.properties.getField('g_legend_position_horizontal_margin', el),
6565 + e2pdf.properties.getField('g_legend_position_vertical_margin', el),
6566 + e2pdf.properties.getField('g_legend_text_side', el),
6567 + e2pdf.properties.getField('g_legend_columns', el),
6568 + e2pdf.properties.getField('g_show_legend', el),
6569 + ],
6570 + 'position': 'left',
6571 + 'classes': [
6572 + 'e2pdf-w100',
6573 + 'e2pdf-w60 e2pdf-pr10',
6574 + 'e2pdf-w40',
6575 + 'e2pdf-w50',
6576 + 'e2pdf-w50 e2pdf-pl10',
6577 + 'e2pdf-w50',
6578 + 'e2pdf-w50 e2pdf-pl10',
6579 + 'e2pdf-w100',
6580 + 'e2pdf-w70 e2pdf-pr10',
6581 + 'e2pdf-w30',
6582 + 'e2pdf-w100',
6583 + 'e2pdf-w33 e2pdf-pr10',
6584 + 'e2pdf-w33',
6585 + 'e2pdf-w33 e2pdf-pl10',
6586 + 'e2pdf-w50 e2pdf-pr10',
6587 + 'e2pdf-w50',
6588 + 'e2pdf-w70 e2pdf-pr10',
6589 + 'e2pdf-w30',
6590 + 'e2pdf-pr10'
6591 + ]
6592 + };
6593 + obj['additional'] = {
6594 + 'name': 'Additional',
6595 + 'fields': [
6596 + e2pdf.properties.getField('g_bubble_scale', el),
6597 + e2pdf.properties.getField('g_increment', el),
6598 + e2pdf.properties.getField('g_stack_group', el),
6599 + e2pdf.properties.getField('g_line_dataset', el),
6600 + e2pdf.properties.getField('g_project_angle', el),
6601 + e2pdf.properties.getField('g_line_curve', el),
6602 + e2pdf.properties.getField('g_depth', el),
6603 + e2pdf.properties.getField('g_aspect_ratio', el),
6604 + e2pdf.properties.getField('g_inner_radius', el),
6605 + e2pdf.properties.getField('g_start_angle', el),
6606 + e2pdf.properties.getField('g_fill_opacity', el)
6607 + ],
6608 + 'position': 'left',
6609 + 'classes': [
6610 + 'e2pdf-w50 e2pdf-pr10',
6611 + 'e2pdf-w50',
6612 + 'e2pdf-w50 e2pdf-pr10',
6613 + 'e2pdf-w50',
6614 + 'e2pdf-w50 e2pdf-pr10',
6615 + 'e2pdf-w50',
6616 + 'e2pdf-w50 e2pdf-pr10',
6617 + 'e2pdf-w50',
6618 + 'e2pdf-w50 e2pdf-pr10',
6619 + 'e2pdf-w50',
6620 + 'e2pdf-w50 e2pdf-pr10',
6621 + ]
6622 + };
6623 + obj['grid'] = {
6624 + 'name': e2pdf.lang.get('Grid'),
6625 + 'fields': [
6626 + e2pdf.properties.getField('g_grid_colour', el),
6627 + e2pdf.properties.getField('g_grid_subdivision_colour', el),
6628 + e2pdf.properties.getField('g_minimum_grid_spacing', el),
6629 + e2pdf.properties.getField('g_minimum_grid_spacing_h', el),
6630 + e2pdf.properties.getField('g_minimum_grid_spacing_v', el),
6631 + e2pdf.properties.getField('g_grid_dash', el),
6632 + e2pdf.properties.getField('g_grid_dash_h', el),
6633 + e2pdf.properties.getField('g_grid_dash_v', el),
6634 + e2pdf.properties.getField('g_grid_division_h', el),
6635 + e2pdf.properties.getField('g_grid_division_v', el),
6636 + e2pdf.properties.getField('g_show_grid', el),
6637 + e2pdf.properties.getField('g_show_grid_subdivisions', el),
6638 + e2pdf.properties.getField('g_grid_straight', el)
6639 + ],
6640 + 'position': 'right',
6641 + 'classes': [
6642 + 'e2pdf-w100',
6643 + 'e2pdf-w100',
6644 + 'e2pdf-w100',
6645 + 'e2pdf-w50 e2pdf-pr10',
6646 + 'e2pdf-w50',
6647 + 'e2pdf-w100',
6648 + 'e2pdf-w50 e2pdf-pr10',
6649 + 'e2pdf-w50',
6650 + 'e2pdf-w50 e2pdf-pr10',
6651 + 'e2pdf-w50',
6652 + 'e2pdf-pr10',
6653 + 'e2pdf-pr10',
6654 + 'e2pdf-pr10'
6655 + ]
6656 + };
6657 + obj['axis'] = {
6658 + 'name': e2pdf.lang.get('Axis'),
6659 + 'fields': [
6660 + e2pdf.properties.getField('g_axis_colour', el),
6661 + e2pdf.properties.getField('g_axis_font_size', el),
6662 + e2pdf.properties.getField('g_axis_overlap', el),
6663 + e2pdf.properties.getField('g_show_subdivisions', el),
6664 + ],
6665 + 'position': 'right',
6666 + 'classes': [
6667 + 'e2pdf-w60 e2pdf-pr10',
6668 + 'e2pdf-w40',
6669 + 'e2pdf-w100',
6670 + 'e2pdf-w50 e2pdf-pr10',
6671 + ]
6672 + };
6673 + obj['axis_v'] = {
6674 + 'name': e2pdf.lang.get('Axis (V)'),
6675 + 'fields': [
6676 + e2pdf.properties.getField('g_axis_colour_v', el),
6677 + e2pdf.properties.getField('g_axis_font_size_v', el),
6678 + e2pdf.properties.getField('g_axis_font_weight_v', el),
6679 + e2pdf.properties.getField('g_axis_stroke_width_v', el),
6680 + e2pdf.properties.getField('g_show_axis_v', el),
6681 + e2pdf.properties.getField('g_show_axis_text_v', el),
6682 + e2pdf.properties.getField('g_axis_min_v', el),
6683 + e2pdf.properties.getField('g_axis_max_v', el),
6684 + e2pdf.properties.getField('g_axis_min_max_v', el),
6685 + e2pdf.properties.getField('g_axis_text_position_v', el),
6686 + e2pdf.properties.getField('g_axis_text_align_v', el),
6687 + e2pdf.properties.getField('g_axis_text_space_v', el),
6688 + e2pdf.properties.getField('g_axis_text_offset_x_v', el),
6689 + e2pdf.properties.getField('g_axis_text_offset_y_v', el),
6690 + e2pdf.properties.getField('g_units_x', el),
6691 + ],
6692 + 'position': 'right',
6693 + 'classes': [
6694 + 'e2pdf-w60 e2pdf-pr10',
6695 + 'e2pdf-w40',
6696 + 'e2pdf-w100',
6697 + 'e2pdf-w33 e2pdf-pr10',
6698 + 'e2pdf-w33 e2pdf-sublabel',
6699 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6700 + 'e2pdf-w33 e2pdf-pr10',
6701 + 'e2pdf-w33',
6702 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6703 + 'e2pdf-w33 e2pdf-pr10',
6704 + 'e2pdf-w33',
6705 + 'e2pdf-w33 e2pdf-pl10',
6706 + 'e2pdf-w33 e2pdf-pr10',
6707 + 'e2pdf-w33',
6708 + 'e2pdf-w33 e2pdf-pl10',
6709 + ]
6710 + };
6711 + obj['axis_h'] = {
6712 + 'name': e2pdf.lang.get('Axis (H)'),
6713 + 'fields': [
6714 + e2pdf.properties.getField('g_axis_colour_h', el),
6715 + e2pdf.properties.getField('g_axis_font_size_h', el),
6716 + e2pdf.properties.getField('g_axis_font_weight_h', el),
6717 + e2pdf.properties.getField('g_axis_stroke_width_h', el),
6718 + e2pdf.properties.getField('g_show_axis_h', el),
6719 + e2pdf.properties.getField('g_show_axis_text_h', el),
6720 + e2pdf.properties.getField('g_axis_min_h', el),
6721 + e2pdf.properties.getField('g_axis_max_h', el),
6722 + e2pdf.properties.getField('g_axis_min_max_h', el),
6723 + e2pdf.properties.getField('g_axis_text_position_h', el),
6724 + e2pdf.properties.getField('g_axis_text_align_h', el),
6725 + e2pdf.properties.getField('g_axis_text_space_h', el),
6726 + e2pdf.properties.getField('g_axis_text_offset_x_h', el),
6727 + e2pdf.properties.getField('g_axis_text_offset_y_h', el),
6728 + e2pdf.properties.getField('g_units_y', el),
6729 + ],
6730 + 'position': 'right',
6731 + 'classes': [
6732 + 'e2pdf-w60 e2pdf-pr10',
6733 + 'e2pdf-w40',
6734 + 'e2pdf-w100',
6735 + 'e2pdf-w33 e2pdf-pr10',
6736 + 'e2pdf-w33 e2pdf-sublabel',
6737 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6738 + 'e2pdf-w33 e2pdf-pr10',
6739 + 'e2pdf-w33',
6740 + 'e2pdf-w33 e2pdf-pl10 e2pdf-sublabel',
6741 + 'e2pdf-w33 e2pdf-pr10',
6742 + 'e2pdf-w33',
6743 + 'e2pdf-w33 e2pdf-pl10',
6744 + 'e2pdf-w33 e2pdf-pr10',
6745 + 'e2pdf-w33',
6746 + 'e2pdf-w33 e2pdf-pl10',
6747 + ]
6748 + };
6749 + obj['bar'] = {
6750 + 'name': 'Bar',
6751 + 'fields': [
6752 + e2pdf.properties.getField('g_bar_width', el),
6753 + e2pdf.properties.getField('g_bar_width_min', el),
6754 + e2pdf.properties.getField('g_bar_space', el),
6755 + ],
6756 + 'position': 'right',
6757 + 'classes': [
6758 + 'e2pdf-w33 e2pdf-pr10',
6759 + 'e2pdf-w33',
6760 + 'e2pdf-w33 e2pdf-pl10',
6761 + ]
6762 + };
6763 + obj['barlabel'] = {
6764 + 'name': 'Bar Label',
6765 + 'fields': [
6766 + e2pdf.properties.getField('g_bar_label_colour', el),
6767 + e2pdf.properties.getField('g_bar_label_font_size', el),
6768 + e2pdf.properties.getField('g_units_label', el),
6769 + e2pdf.properties.getField('g_data_label_type', el),
6770 + e2pdf.properties.getField('g_bar_label_space', el),
6771 + e2pdf.properties.getField('g_bar_label_position_horizontal', el),
6772 + e2pdf.properties.getField('g_bar_label_position_vertical', el),
6773 + e2pdf.properties.getField('g_bar_label_position_join', el),
6774 + e2pdf.properties.getField('g_show_bar_labels', el),
6775 + ],
6776 + 'position': 'right',
6777 + 'classes': [
6778 + 'e2pdf-w70 e2pdf-pr10',
6779 + 'e2pdf-w30',
6780 + 'e2pdf-w100',
6781 + 'e2pdf-w50 e2pdf-pr10',
6782 + 'e2pdf-w50',
6783 + 'e2pdf-w33 e2pdf-pr10',
6784 + 'e2pdf-w33',
6785 + 'e2pdf-w33 e2pdf-pl10',
6786 + 'e2pdf-pr10',
6787 + ]
6788 + };
6789 + obj['style'] = {
6790 + 'name': e2pdf.lang.get('Style'),
6791 + 'fields': [
6792 + e2pdf.properties.getField('background', el),
6793 + e2pdf.properties.getField('margin_top', el),
6794 + e2pdf.properties.getField('margin_left', el),
6795 + e2pdf.properties.getField('margin_right', el),
6796 + e2pdf.properties.getField('margin_bottom', el),
6797 + e2pdf.properties.getField('padding_top', el),
6798 + e2pdf.properties.getField('padding_left', el),
6799 + e2pdf.properties.getField('padding_right', el),
6800 + e2pdf.properties.getField('padding_bottom', el),
6801 + e2pdf.properties.getField('border_color', el),
6802 + e2pdf.properties.getField('border_top', el),
6803 + e2pdf.properties.getField('border_left', el),
6804 + e2pdf.properties.getField('border_right', el),
6805 + e2pdf.properties.getField('border_bottom', el),
6806 + e2pdf.properties.getField('z_index', el),
6807 + ],
6808 + 'position': 'right',
6809 + 'classes': [
6810 + 'e2pdf-w100',
6811 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6812 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6813 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6814 + 'e2pdf-w25 e2pdf-fnl',
6815 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6816 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6817 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6818 + 'e2pdf-w25 e2pdf-fnl',
6819 + 'e2pdf-w100',
6820 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6821 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6822 + 'e2pdf-w25 e2pdf-pr10 e2pdf-fnl',
6823 + 'e2pdf-w25 e2pdf-fnl',
6824 + 'e2pdf-w100',
6825 + ]
6826 + };
6827 + obj['structure'] = {
6828 + 'name': e2pdf.lang.get('Structure'),
6829 + 'fields': [
6830 + e2pdf.properties.getField('g_structure_key', el),
6831 + e2pdf.properties.getField('g_structure_value', el),
6832 + e2pdf.properties.getField('g_structure_colour', el),
6833 + e2pdf.properties.getField('g_structure_axis_text', el),
6834 + e2pdf.properties.getField('g_structure_legend_text', el),
6835 + e2pdf.properties.getField('g_structure_label', el),
6836 + e2pdf.properties.getField('g_structure_area', el),
6837 + e2pdf.properties.getField('g_structure_open', el),
6838 + e2pdf.properties.getField('g_structure_end', el),
6839 + e2pdf.properties.getField('g_structure_outliers', el),
6840 + e2pdf.properties.getField('g_structure_top', el),
6841 + e2pdf.properties.getField('g_structure_bottom', el),
6842 + e2pdf.properties.getField('g_structure_wtop', el),
6843 + e2pdf.properties.getField('g_structure_wbottom', el),
6844 + e2pdf.properties.getField('g_structure_high', el),
6845 + e2pdf.properties.getField('g_structure_low', el),
6846 + e2pdf.properties.getField('g_structured_data', el),
6847 + ],
3196 6848 'position': 'bottom',
3197 6849 'classes': [
3198 - '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',
3199 6867 ]
3200 6868 };
3201 - }
3202 -
3203 - if (el.data('data-type') === 'e2pdf-radio'
3204 - || el.data('data-type') === 'e2pdf-checkbox'
3205 - ) {
3206 - obj['option'] = {
3207 - 'name': e2pdfLang['Option'],
6869 + obj['value'] = {
6870 + 'name': '',
3208 6871 'fields': [
3209 - 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),
3210 6887 ],
3211 6888 'position': 'bottom',
3212 6889 'classes': [
3213 - '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',
3214 6905 ]
3215 6906 };
3216 6907 }
3217 6908
3218 - // Options
3219 - if (el.data('data-type') === 'e2pdf-select') {
3220 - obj['options'] = {
3221 - 'name': e2pdfLang['Options'],
6909 + if (el.data('data-type') === 'e2pdf-rectangle') {
6910 + obj['style'] = {
6911 + 'name': e2pdf.lang.get('Style'),
3222 6912 'fields': [
3223 - e2pdf.properties.getField('options', el),
6913 + e2pdf.properties.getField('background', el),
6914 + e2pdf.properties.getField('z_index', el),
3224 6915 ],
3225 6916 'position': 'bottom',
3226 6917 'classes': [
3227 - 'e2pdf-w100 e2pdf-hide-label',
6918 + 'e2pdf-w50 e2pdf-pr10',
6919 + 'e2pdf-w50 e2pdf-pl10',
3228 6920 ]
3229 6921 };
3230 6922 }
3231 6923
3232 - // Value
3233 - if (el.data('data-type') === 'e2pdf-html'
3234 - || el.data('data-type') === 'e2pdf-input'
3235 - || el.data('data-type') === 'e2pdf-textarea'
3236 - || el.data('data-type') === 'e2pdf-radio'
3237 - || el.data('data-type') === 'e2pdf-checkbox'
3238 - || el.data('data-type') === 'e2pdf-select'
3239 - || el.data('data-type') === 'e2pdf-image'
3240 - || el.data('data-type') === 'e2pdf-link'
3241 - || el.data('data-type') === 'e2pdf-signature'
3242 - ) {
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 + };
3243 6961 obj['value'] = {
3244 - 'name': e2pdfLang['Value'],
6962 + 'name': e2pdf.lang.get('Value'),
3245 6963 'fields': [
6964 + e2pdf.properties.getField('link_label', el),
6965 + e2pdf.properties.getField('link_type', el),
6966 + e2pdf.properties.getField('highlight', el),
3246 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)
3247 6973 ],
3248 6974 'position': 'bottom',
3249 6975 'classes': [
3250 - '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'
3251 6985 ]
3252 6986 };
3253 6987 }
3254 6988 }
3255 6989
3256 - if (actions) {
3257 - // actions
3258 - obj['actions'] = {
3259 - 'name': e2pdfLang['Actions'],
3260 - 'fields': e2pdf.actions.renderFields(el),
3261 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3262 - };
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 + }
3263 7020 }
3264 -
3265 7021 return obj;
3266 7022 },
3267 - //e2pdf.properties.renderFields
3268 - renderFields: function (el) {
3269 -
3270 - var actions = true;
7023 + // e2pdf.properties.renderFields
7024 + renderFields: function (el, actions = true) {
3271 7025 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3272 7026 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3273 7027 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3274 7028 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3275 7029 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3276 -
3277 - if (el.data('data-type') == 'e2pdf-page') {
7030 + if (el.data('data-type') == 'e2pdf-tpl') {
7031 + fields_top = '';
3278 7032 fields_left = '';
3279 7033 fields_right = '';
3280 - fields_bottom = '';
7034 + } else if (el.data('data-type') == 'e2pdf-page') {
7035 + fields_left = '';
7036 + fields_right = '';
3281 7037 }
3282 7038
3283 7039 var groups = e2pdf.properties.getFields(el, actions);
3284 7040 if (groups) {
3285 7041 for (var group_key in groups) {
3286 -
3287 7042 if (group_key === 'actions') {
3288 -
3289 7043 var group = groups[group_key];
3290 7044 var block = jQuery('<div>');
3291 7045 if (group.name) {
3292 7046 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3292,9 +7046,8 @@
3292 7046 block.append(jQuery('<label>').html(group.name + ':'));
3293 7047 }
3294 7048 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3295 7049 grid.append(group.fields);
3296 -
3297 7050 block.append(grid);
3298 7051 if (group.position === 'top') {
3299 7052 fields_top.append(block);
3300 7053 } else if (group.position === 'left') {
@@ -3303,11 +7056,9 @@
3303 7056 fields_right.append(block);
3304 7057 } else {
3305 7058 fields_bottom.append(block);
3306 7059 }
3307 -
3308 7060 } else {
3309 -
3310 7061 var group = groups[group_key];
3311 7062 var block = jQuery('<div>');
3312 7063 if (group.name) {
3313 7064 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3321,34 +7072,42 @@
3321 7072 if (group.classes[field_key]) {
3322 7073 classes = group.classes[field_key];
3323 7074 }
3324 7075 }
3325 -
3326 7076 var field = '';
3327 7077 var label = '';
3328 7078 var wrap = '';
7079 + var hidden = '';
3329 7080 if (group_field.type === 'text') {
3330 7081 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3331 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
7082 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3332 7083 } else if (group_field.type === 'hidden') {
3333 7084 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3334 7085 } else if (group_field.type === 'textarea') {
3335 7086 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3336 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
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);
3337 7092 } else if (group_field.type === 'checkbox') {
3338 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3339 - label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
7093 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7094 + label = group_field.name;
3340 7095 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3341 7096 if (group_field.value == group_field.option) {
3342 - field.attr('checked', 'checked');
7097 + field.prop('checked', true);
3343 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 + }
3344 7106 } else if (group_field.type === 'color') {
3345 7107 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3346 7108 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3347 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3348 - if (group_field.key === 'border_color') {
3349 - field.attr('data-default', '#000000');
3350 - }
7109 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3351 7110 } else if (group_field.type === 'select') {
3352 7111 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3353 7112 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3354 7113 for (var option_key in group_field.options) {
@@ -3354,13 +7113,13 @@
3354 7113 for (var option_key in group_field.options) {
3355 7114 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3356 7115 }
3357 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);
3358 7119 }
3359 -
3360 7120 for (var att_key in group_field.atts) {
3361 7121 var att = group_field.atts[att_key];
3362 -
3363 7122 switch (att) {
3364 7123 case 'readonly':
3365 7124 field.attr('readonly', 'readonly');
3366 7125 break;
@@ -3369,10 +7128,12 @@
3369 7128 break;
3370 7129 case 'number':
3371 7130 field.addClass('e2pdf-numbers');
3372 7131 break;
7132 + case 'number-negative':
7133 + field.addClass('e2pdf-number-negative');
7134 + break;
3373 7135 case 'autocomplete':
3374 -
3375 7136 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3376 7137 field.addClass('e2pdf-autocomplete-cl');
3377 7138 field.autocomplete({
3378 7139 source: group_field.source,
@@ -3378,31 +7139,40 @@
3378 7139 source: group_field.source,
3379 7140 minLength: 0,
3380 7141 appendTo: wrap,
3381 7142 open: function () {
3382 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7143 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3383 7144 },
3384 7145 classes: {
3385 7146 "ui-autocomplete": "e2pdf-autocomplete"
3386 - },
7147 + }
3387 7148 });
3388 7149 break;
3389 -
3390 - case 'scale':
3391 - field.addClass('e2pdf-scale-field');
7150 + case 'collapse':
7151 + field.attr('data-collapse', group_field.collapse);
3392 7152 break;
3393 7153 }
3394 7154 }
3395 -
3396 7155 if (!wrap) {
3397 7156 wrap = field;
3398 7157 } else {
3399 7158 wrap.prepend(field);
3400 7159 }
3401 -
3402 - 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 + }
3403 7174 }
3404 -
3405 7175 block.append(grid);
3406 7176 if (group.position === 'top') {
3407 7177 fields_top.append(block);
3408 7178 } else if (group.position === 'left') {
@@ -3414,82 +7184,94 @@
3414 7184 }
3415 7185 }
3416 7186 }
3417 7187 }
3418 -
3419 7188 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3420 7189 return fields;
3421 7190 },
3422 - //e2pdf.properties.apply
3423 - 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 + }
3424 7219 el.data('data-properties', JSON.stringify(data));
3425 7220 },
3426 - //e2pdf.properties.set
7221 + // e2pdf.properties.set
3427 7222 set: function (el, key, value) {
3428 7223 var properties = e2pdf.properties.get(el);
3429 7224 properties[key] = value;
3430 7225 e2pdf.properties.apply(el, properties);
3431 7226 },
3432 - //e2pdf.properties.getValue
3433 - getValue: function (el, key) {
7227 + // e2pdf.properties.getValue
7228 + getValue: function (el, key, type = '') {
3434 7229 var properties = e2pdf.properties.get(el);
3435 - 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 + }
3436 7251 },
3437 - //e2pdf.properties.get
3438 - get: function (el, submit) {
3439 -
7252 + // e2pdf.properties.get
7253 + get: function (el) {
3440 7254 var properties = [];
3441 -
3442 7255 if (typeof el.data('data-properties') !== 'undefined') {
3443 7256 properties = JSON.parse(el.data('data-properties'));
3444 -
3445 - if (el.data('data-type') !== 'e2pdf-page') {
3446 - if (!("width" in properties)) {
3447 - properties['width'] = parseFloat(el.css('width'));
3448 - } else {
3449 - properties['width'] = parseFloat(properties['width']);
3450 - }
3451 -
3452 -
3453 - if (!("height" in properties)) {
3454 - properties['height'] = parseFloat(el.css('height'));
3455 - } else {
3456 - properties['height'] = parseFloat(properties['height']);
3457 - }
3458 -
3459 - if (!("top" in properties)) {
3460 - properties['top'] = parseFloat(el.css('top'));
3461 - } else {
3462 - properties['top'] = parseFloat(properties['top']);
3463 - }
3464 -
3465 - if (!("left" in properties)) {
3466 - properties['left'] = parseFloat(el.css('left'));
3467 - } else {
3468 - properties['left'] = parseFloat(properties['left']);
3469 - }
3470 -
3471 - if (submit) {
3472 - delete properties['width'];
3473 - delete properties['height'];
3474 - delete properties['value'];
3475 - delete properties['top'];
3476 - delete properties['left'];
3477 - }
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'));
3478 7262 }
3479 7263 }
3480 -
3481 7264 return properties;
3482 7265 },
3483 - //e2pdf.properties.render
7266 + // e2pdf.properties.render
3484 7267 render: function (el) {
3485 7268 var properties = e2pdf.properties.get(el);
3486 7269 var children = e2pdf.element.children(el);
3487 - if (properties.hasOwnProperty("options")) {
3488 - var property = "options";
7270 + if (properties.hasOwnProperty('options')) {
3489 7271 if (el.data('data-type') === 'e2pdf-select') {
3490 7272 children.find('option').remove();
3491 - var options = properties[property].split("\n");
7273 + var options = properties['options'].split("\n");
3492 7274 if (typeof options !== 'undefined' && options.length > 0) {
3493 7275 for (var key in options) {
3494 7276 children.append(
3495 7277 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3496,285 +7278,200 @@
3496 7278 );
3497 7279 }
3498 7280 }
3499 7281 }
3500 -
3501 7282 }
3502 -
3503 - // value render
3504 - if (properties.hasOwnProperty("value")) {
3505 - var property = "value";
3506 - if (el.data('data-type') === 'e2pdf-html') {
3507 - children.html(properties[property]);
3508 - } else if (el.data('data-type') === 'e2pdf-input') {
3509 - children.val(properties[property]);
3510 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3511 - children.val(properties[property]);
3512 - } else if (el.data('data-type') === 'e2pdf-select') {
3513 - children.val(properties[property]);
3514 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3515 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3516 - children.attr('checked', 'checked');
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']));
3517 7296 } else {
3518 - 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'])));
3519 7299 }
3520 - } 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':
3521 7340 e2pdf.helper.image.load(el);
3522 - }
7341 + break;
3523 7342 }
3524 7343
3525 - if (properties.hasOwnProperty("group")) {
3526 - var property = "group";
3527 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3528 - var radio = jQuery(this).parent();
3529 - var group = e2pdf.properties.getValue(radio, 'group');
3530 - if (group === properties[property]) {
3531 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3532 - e2pdf.properties.set(radio, 'required', properties['required']);
3533 - e2pdf.properties.set(radio, 'value', properties['value']);
3534 - var option = e2pdf.properties.getValue(radio, 'option');
3535 - if (properties['value'] === option) {
3536 - jQuery(this).attr('checked', 'checked');
3537 - } else {
3538 - jQuery(this).attr('checked', false);
3539 - }
3540 - }
3541 - });
3542 - }
3543 -
3544 - // multiline
3545 7344 if (el.data('data-type') === 'e2pdf-select') {
3546 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3547 - var property = "multiline";
3548 - children.attr('multiple', true);
3549 - } else {
3550 - children.attr('multiple', false);
3551 - }
7345 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3552 7346 }
3553 7347
3554 - // z_index render
3555 - if (properties.hasOwnProperty("z_index")) {
3556 - var property = "z_index";
3557 - 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']));
3558 7350 }
3559 7351
3560 - // rtl
3561 - if (el.data('data-type') === 'e2pdf-select'
3562 - || el.data('data-type') === 'e2pdf-input'
3563 - || el.data('data-type') === 'e2pdf-textarea'
3564 - || el.data('data-type') === 'e2pdf-html') {
3565 - if (properties.hasOwnProperty("rtl")) {
3566 - children.attr('dir', 'rtl');
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');
3567 7360 } else {
3568 7361 children.attr('dir', false);
3569 7362 }
3570 -
3571 7363 }
3572 7364
3573 - // background render
3574 - if (properties.hasOwnProperty("background")) {
3575 - var property = "background";
3576 - if (el.data('data-type') === 'e2pdf-radio'
3577 - || el.data('data-type') === 'e2pdf-checkbox'
3578 - ) {
3579 - children.css('background', properties[property]);
3580 - } else {
3581 - el.css('background', properties[property]);
3582 - }
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']));
3583 7369 }
3584 7370
3585 - if (properties.hasOwnProperty("border_top")) {
3586 - var property = "border_top";
3587 - // border_top render
3588 - if (properties[property] != '0') {
3589 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3590 - } else {
3591 - el.css('border-top', '');
3592 - }
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'));
3593 7383 }
3594 7384
3595 - if (properties.hasOwnProperty("border_left")) {
3596 - var property = "border_left";
3597 - // border_left render
3598 - if (properties[property] != '0') {
3599 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
3600 - } else {
3601 - el.css('border-left', '');
3602 - }
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']));
3603 7398 }
3604 7399
3605 -
3606 - if (properties.hasOwnProperty("border_right")) {
3607 - var property = "border_right";
3608 - // border_right render
3609 - if (properties[property] != '0') {
3610 - el.css('border-right', properties[property] + 'px solid ' + properties['border_color']);
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', '');
3611 7405 } else {
3612 - el.css('border-right', '');
3613 - }
3614 - }
3615 -
3616 - if (properties.hasOwnProperty("border_bottom")) {
3617 - var property = "border_bottom";
3618 - // border_bottom render
3619 - if (properties[property] != '0') {
3620 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
3621 - } else {
3622 - el.css('border-bottom', '');
3623 - }
3624 - }
3625 -
3626 - if (properties.hasOwnProperty("padding_top")) {
3627 - var property = "padding_top";
3628 - el.css('padding-top', properties[property] + 'px');
3629 - }
3630 -
3631 - if (properties.hasOwnProperty("padding_left")) {
3632 - var property = "padding_left";
3633 - el.css('padding-left', properties[property] + 'px');
3634 - }
3635 -
3636 - if (properties.hasOwnProperty("padding_right")) {
3637 - var property = "padding_right";
3638 - el.css('padding-right', properties[property] + 'px');
3639 - }
3640 -
3641 - if (properties.hasOwnProperty("padding_bottom")) {
3642 - var property = "padding_bottom";
3643 - el.css('padding-bottom', properties[property] + 'px');
3644 - }
3645 -
3646 - if (properties.hasOwnProperty("border")) {
3647 - var property = "border";
3648 - if (el.data('data-type') === 'e2pdf-input'
3649 - || el.data('data-type') === 'e2pdf-textarea'
3650 - || el.data('data-type') === 'e2pdf-select'
3651 - || el.data('data-type') === 'e2pdf-radio'
3652 - || el.data('data-type') === 'e2pdf-checkbox'
3653 - ) {
3654 - if (properties[property] != '0') {
3655 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
3656 - } else {
3657 - children.css('border', '');
3658 - }
3659 - }
3660 - }
3661 -
3662 - if (properties.hasOwnProperty("text_color")) {
3663 - var property = "text_color";
3664 - if (el.data('data-type') === 'e2pdf-html') {
3665 - el.css('color', properties[property]);
3666 - } else if (el.data('data-type') === 'e2pdf-input'
3667 - || el.data('data-type') === 'e2pdf-textarea'
3668 - || el.data('data-type') === 'e2pdf-select'
3669 - || el.data('data-type') === 'e2pdf-radio'
3670 - || el.data('data-type') === 'e2pdf-checkbox'
3671 - ) {
3672 - children.css('color', properties[property]);
3673 - }
3674 - }
3675 -
3676 - if (properties.hasOwnProperty("text_font")) {
3677 - var property = "text_font";
3678 - if (properties[property] && properties[property] !== "") {
3679 - var path = jQuery('#e2pdf-wysiwyg-font').find("[value='" + properties[property] + "']").attr('path');
3680 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
7406 + var tmp = jQuery('<div>', {'name': font, 'path': path});
3681 7407 e2pdf.font.load(tmp);
3682 - el.css('font-family', properties[property]);
3683 - } else {
3684 - el.css('font-family', '');
7408 + el.css('font-family', CSS.escape(font));
3685 7409 }
7410 + } else {
7411 + el.css('font-family', '');
3686 7412 }
3687 7413
3688 - if (properties.hasOwnProperty("text_font_size")) {
3689 - var property = "text_font_size";
3690 - if (properties[property] !== '') {
3691 - el.css('font-size', properties[property] + "px");
3692 - } else {
3693 - el.css('font-size', '');
3694 - }
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' : '');
3695 7421 }
3696 7422
3697 - if (properties.hasOwnProperty("text_line_height")) {
3698 - var property = "text_line_height";
3699 - //backward compatiability with input
3700 - if (properties[property] !== '' && properties[property] !== '0') {
3701 - if (el.data('data-type') === 'e2pdf-textarea') {
3702 - children.css('line-height', properties[property] + "px");
3703 - } else {
3704 - el.css('line-height', properties[property] + "px");
3705 - }
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');
3706 7430 } else {
3707 - if (el.data('data-type') === 'e2pdf-textarea') {
3708 - children.css('line-height', '');
3709 - } else {
3710 - el.css('line-height', '');
3711 - }
7431 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3712 7432 }
3713 - }
3714 7433
3715 - if (properties.hasOwnProperty("top")) {
3716 - var property = "top";
3717 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3718 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3719 - var top = page_height - parseFloat(el.css('height'));
3720 - el.css('top', top + "px");
3721 - } else if (properties[property] >= 0) {
3722 - el.css('top', properties[property] + "px");
3723 - }
3724 - }
3725 -
3726 - if (properties.hasOwnProperty("left")) {
3727 - var property = "left";
3728 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3729 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3730 - var left = page_width - parseFloat(el.css('width'));
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'));
3731 7437 el.css('left', left + "px");
3732 - } else if (properties[property] >= 0) {
3733 - el.css('left', properties[property] + "px");
7438 + } else {
7439 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3734 7440 }
3735 - }
3736 7441
3737 - if (properties.hasOwnProperty("text_align")) {
3738 - var property = "text_align";
3739 - children.css('text-align', properties[property]);
3740 - }
3741 -
3742 - // width render
3743 - if (properties.hasOwnProperty("width")) {
3744 - var property = "width";
3745 - var width = parseFloat(properties[property]);
3746 - var left = parseFloat(el.css('left'));
3747 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
7442 + var width = e2pdf.helper.getFloat(properties['width']);
7443 + var left = e2pdf.helper.getFloat(el.css('left'));
3748 7444 if (width > 0) {
3749 - if (width > page_width - left) {
3750 - el.css('width', page_width - left);
3751 - e2pdf.properties.set(el, 'width', page_width - left);
7445 + if (width > page_w - left) {
7446 + el.css('width', page_w - left);
7447 + e2pdf.properties.set(el, 'width', page_w - left);
3752 7448 } else {
3753 - el.css('width', properties[property]);
7449 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
3754 7450 }
3755 7451 }
3756 - }
3757 7452
3758 - // height render
3759 - if (properties.hasOwnProperty("height")) {
3760 - var property = "height";
3761 - // height render
3762 - var height = parseFloat(properties[property]);
3763 - var top = parseFloat(el.css('top'));
3764 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
7453 + var height = e2pdf.helper.getFloat(properties['height']);
7454 + var top = e2pdf.helper.getFloat(el.css('top'));
3765 7455 if (height > 0) {
3766 - if (height > page_height - top) {
3767 - el.css('height', page_height - top);
3768 - e2pdf.properties.set(el, 'width', page_height - top);
7456 + if (height > page_h - top) {
7457 + el.css('height', page_h - top);
7458 + e2pdf.properties.set(el, 'height', page_h - top);
3769 7459 } else {
3770 - el.css('height', properties[property]);
7460 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
3771 7461 }
3772 7462 }
3773 7463 }
7464 +
7465 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7466 + el.addClass('e2pdf-locked');
7467 + } else {
7468 + el.removeClass('e2pdf-locked');
7469 + }
3774 7470 }
7471 +
3775 7472 },
3776 - //e2pdf.welcomeScreen
7473 + // e2pdf.welcomeScreen
3777 7474 welcomeScreen: function () {
3778 7475 if (jQuery('.e2pdf-page').length === 0) {
3779 7476 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3780 7477 e2pdf.dialog.create(el);
@@ -3779,200 +7476,273 @@
3779 7476 var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
3780 7477 e2pdf.dialog.create(el);
3781 7478 }
3782 7479 },
3783 - //e2pdf.createPdf
7480 + // e2pdf.createPdf
3784 7481 createPdf: function (el) {
3785 -
3786 7482 var item = false;
7483 + var item1 = false;
7484 + var item2 = false;
3787 7485 var action = el.attr('data-action');
3788 7486 var data = e2pdf.form.serializeObject(el.closest('form'));
3789 - for (var key in data) {
3790 - e2pdf.pdf.settings.change(key, data[key]);
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 + }
3791 7499
3792 - if (key === 'font') {
3793 - jQuery('#e2pdf-font').val(data[key]);
3794 - }
7500 + if (key === 'font') {
7501 + jQuery('#e2pdf-font').val(data[key]);
7502 + }
3795 7503
3796 - if (key === 'font_size') {
3797 - jQuery('#e2pdf-font-size').val(data[key]);
7504 + if (key === 'font_size') {
7505 + jQuery('#e2pdf-font-size').val(data[key]);
7506 + }
7507 +
7508 + if (key === 'line_height') {
7509 + jQuery('#e2pdf-line-height').val(data[key]);
7510 + }
7511 +
7512 + if (key === 'title') {
7513 + jQuery('#e2pdf-title').val(data[key]);
7514 + }
7515 +
7516 + if (key === 'text_align') {
7517 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
7518 + }
7519 +
7520 + if (key === 'rtl') {
7521 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7522 + }
3798 7523 }
3799 7524
3800 - if (key === 'line_height') {
3801 - jQuery('#e2pdf-line-height').val(data[key]);
7525 + if (!data['rtl']) {
7526 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3802 7527 }
3803 -
3804 7528 }
3805 7529
3806 7530 if (action === 'apply') {
3807 7531 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3808 7532 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3809 - var option = el.closest('form').find('#e2pdf-item option:selected');
7533 + var option = el.closest('form').find('.e2pdf-item option:selected');
3810 7534 if (option && typeof option.data('data-item') !== 'undefined') {
3811 7535 item = option.data('data-item');
3812 7536 }
3813 - e2pdf.pages.changeTplSize(width, height);
3814 - jQuery('.ui-dialog-content').dialog('close');
7537 +
7538 + if (item && item.id == '-1') {
7539 + if (!confirm(e2pdf.lang.get('All Field Values will be overwritten! Continue?'))) {
7540 + return false;
7541 + }
7542 + el.attr('form-id', 'e2pdf-build-form');
7543 + el.attr('action', 'e2pdf_save_form');
7544 + e2pdf.static.unsaved = false;
7545 + e2pdf.request.submitForm(el);
7546 + return;
7547 + } else {
7548 + if (item && item.id == '-2') {
7549 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7550 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7551 + item1 = option1.data('data-item');
7552 + if (item1.id == '-1') {
7553 + item1 = false;
7554 + }
7555 + }
7556 +
7557 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7558 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7559 + item2 = option2.data('data-item');
7560 + if (item2.id == '-1') {
7561 + item2 = false;
7562 + }
7563 + }
7564 + }
7565 +
7566 + e2pdf.pages.changeTplSize(width, height);
7567 + jQuery('.ui-dialog-content').dialog('close');
7568 + }
3815 7569 } else if (action === 'empty') {
3816 7570 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3817 7571 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3818 - var option = el.closest('form').find('#e2pdf-item option:selected');
7572 + var option = el.closest('form').find('.e2pdf-item option:selected');
3819 7573 if (option && typeof option.data('data-item') !== 'undefined') {
3820 7574 item = option.data('data-item');
7575 + if (item.id == '-1') {
7576 + item = false;
7577 + }
3821 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 + }
3822 7596 e2pdf.pages.changeTplSize(width, height);
3823 7597 e2pdf.pages.createPage();
3824 7598 jQuery('.ui-dialog-content').dialog('close');
3825 7599 } else if (action === 'auto') {
3826 -
3827 - var extension = el.closest('form').find('#e2pdf-extension').val();
3828 - var option = el.closest('form').find('#e2pdf-item option:selected');
7600 + var extension = el.closest('form').find('.e2pdf-extension').val();
7601 + var option = el.closest('form').find('.e2pdf-item option:selected');
3829 7602 if (option && typeof option.data('data-item') !== 'undefined') {
3830 7603 item = option.data('data-item');
7604 + if (item.id == '-1') {
7605 + item = false;
7606 + }
3831 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 + }
3832 7624 var data = {};
3833 7625 data['extension'] = extension;
3834 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();
3835 7631 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3836 7632 } else if (action === 'upload') {
3837 7633 if (e2pdf.pdf.settings.get('ID')) {
3838 - 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?'))) {
3839 7635 return false;
3840 7636 }
3841 7637 }
3842 - jQuery('#e2pdf-upload-pdf').click();
7638 + jQuery('.e2pdf-upload-pdf').click();
3843 7639 }
3844 -
3845 7640 if (action === 'apply' || action === 'empty' || action === 'auto') {
3846 -
3847 7641 var link = jQuery('<a>', {
3848 7642 'href': 'javascript:void(0);',
3849 - 'class': 'e2pdf-link e2pdf-modal',
7643 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
3850 7644 'data-modal': 'tpl-options'
3851 - }).html(e2pdfLang['None']);
3852 -
7645 + }).html(e2pdf.lang.get('Not linked'));
3853 7646 if (item && item.id) {
3854 - link = jQuery('<a>', {
3855 - 'target': '_blank',
3856 - 'href': item.url,
3857 - 'class': 'e2pdf-link',
3858 - }).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 + }
3859 7677 }
3860 -
3861 - $('#e2pdf-post-item').html(link);
7678 + jQuery('#e2pdf-post-item').html(link);
3862 7679 }
3863 7680
7681 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3864 7682 e2pdf.font.load(jQuery('#e2pdf-font'));
3865 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3866 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3867 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3868 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
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'));
3869 7687 e2pdf.event.fire('after.createPdf');
3870 7688 },
3871 - //e2pdf.pages
7689 + // e2pdf.pages
3872 7690 pages: {
3873 - //e2pdf.pages.rebuildPages
3874 - rebuildPages: function () {
3875 - jQuery('.e2pdf-page').each(function (index) {
3876 -
3877 - if (!e2pdf.pdf.settings.get('pdf')) {
3878 - if (index + 1 === 1) {
3879 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3880 - } else {
3881 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3882 - }
3883 -
3884 - if (index + 1 === jQuery('.e2pdf-page').length) {
3885 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3886 - } else {
3887 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3888 - }
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();
3889 7698 }
3890 -
3891 - jQuery(this).attr('data-page_id', index + 1);
3892 7699 });
3893 - e2pdf.welcomeScreen();
3894 - },
3895 - //e2pdf.pages.createPage
3896 - createPage: function (page, properties, actions) {
3897 - e2pdf.pages.rebuildPages();
3898 - var newpage = true;
3899 - if (page) {
3900 - var newpage = false;
3901 - }
7700 + if (page.hasClass('ui-droppable')) {
7701 + try {
7702 + page.droppable('destroy');
7703 + page.removeData('ui-droppable');
7704 + } catch (e) {
3902 7705
3903 - if (!properties) {
3904 - var properties = {};
7706 + }
3905 7707 }
3906 -
3907 - if (!actions) {
3908 - var actions = {};
3909 - }
3910 -
3911 - if (newpage) {
3912 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
3913 - var page = jQuery('<div>', {
3914 - 'class': 'e2pdf-page ui-droppable',
3915 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
3916 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
3917 - 'data-width': jQuery('.e2pdf-tpl').attr('data-width'),
3918 - 'data-height': jQuery('.e2pdf-tpl').attr('data-height'),
3919 - }).attr('data-page_id', page_id).append(
3920 - jQuery('<div>', {'class': 'page-options-icons'}).append(
3921 - jQuery('<a>', {
3922 - 'href': 'javascript:void(0);',
3923 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
3924 - }).append(
3925 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
3926 - ),
3927 - jQuery('<a>', {
3928 - 'href': 'javascript:void(0);',
3929 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
3930 - }).append(
3931 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
3932 - ),
3933 - jQuery('<a>', {
3934 - 'href': 'javascript:void(0);',
3935 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
3936 - 'data-modal': 'page-options'
3937 - }).append(
3938 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
3939 - ),
3940 - jQuery('<a>', {
3941 - 'href': 'javascript:void(0);',
3942 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
3943 - }).append(
3944 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
3945 - ),
3946 - ),
3947 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
3948 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
3949 - );
3950 - }
3951 -
3952 - page.data('data-type', 'e2pdf-page');
3953 -
3954 - e2pdf.properties.apply(page, properties);
3955 - e2pdf.actions.apply(page, actions);
3956 -
3957 7708 page.droppable({
3958 7709 over: function (ev, ui) {
3959 7710 e2pdf.static.drag.page = jQuery(this);
3960 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 + }
3961 7724
3962 7725 if (ui.draggable.hasClass('e2pdf-clone')) {
3963 - jQuery(this).find(".e2pdf-element").each(function () {
7726 + jQuery(this).find('.e2pdf-element').each(function () {
3964 7727 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
3965 7728 });
3966 7729 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
3967 7730 } else {
3968 - 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);
3969 7732 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
3970 7733 }
3971 7734 },
3972 - out: function (ev) {
7735 + out: function (ev, ui) {
3973 7736 e2pdf.static.drag.page = null;
3974 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 +
3975 7745 },
3976 7746 deactivate: function (ev) {
3977 7747 e2pdf.static.drag.page = null;
3978 7748 e2pdf.static.guide.guides = [];
@@ -3981,13 +7751,12 @@
3981 7751 if (ui.draggable.hasClass('e2pdf-clone')) {
3982 7752 var type = jQuery(ui.draggable).attr('data-type');
3983 7753 var page = jQuery(this).closest('.e2pdf-page');
3984 7754 var pos = {
3985 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
3986 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
3987 - right: Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.zoom),
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))
3988 7758 };
3989 -
3990 7759 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
3991 7760 return false;
3992 7761 }
3993 7762
@@ -3995,23 +7764,25 @@
3995 7764 properties['width'] = jQuery(ui.helper).css('width');
3996 7765 properties['height'] = jQuery(ui.helper).css('height');
3997 7766 properties['top'] = pos.top;
3998 7767 properties['left'] = pos.left;
3999 - properties['value'] = jQuery(ui.draggable).attr('data-value');
4000 - //changed
4001 7768 var el = e2pdf.element.create(type, page, properties, false, true);
4002 7769 jQuery(this).append(el);
4003 7770 e2pdf.properties.render(el);
7771 + var history = [];
7772 + history.push(el.clone(true));
7773 + e2pdf.history.set('element_create', history);
4004 7774 }
4005 7775 e2pdf.static.drag.page = null;
4006 7776 }
4007 7777 });
4008 - page.contextmenu(function (e) {
4009 - if (jQuery(e.target).hasClass('e2pdf-page')) {
4010 - e2pdf.contextMenu(e, page);
4011 - e.preventDefault();
7778 + if (page.hasClass('ui-selectable')) {
7779 + try {
7780 + page.selectable('destroy');
7781 + page.removeData('selectable');
7782 + } catch (e) {
4012 7783 }
4013 - });
7784 + }
4014 7785 page.selectable(
4015 7786 {
4016 7787 filter: '.e2pdf-element',
4017 7788 cancel: 'a,.e2pdf-element',
@@ -4016,21 +7787,114 @@
4016 7787 filter: '.e2pdf-element',
4017 7788 cancel: 'a,.e2pdf-element',
4018 7789 distance: 10,
4019 7790 selecting: function (event, ui) {
4020 - 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 + }
4021 7794 },
4022 7795 unselecting: function (event, ui) {
4023 7796 jQuery(ui.unselecting).removeClass('e2pdf-selected');
4024 7797 },
4025 7798 selected: function (event, ui) {
4026 - 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 + }
4027 7802 },
4028 7803 unselected: function (event, ui) {
4029 7804 e2pdf.element.unselect(jQuery(ui.unselected));
4030 7805 }
4031 - });
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 + }
4032 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 + }
4033 7897 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
4034 7898 e2pdf.pages.rebuildPages();
4035 7899 e2pdf.event.fire('after.pages.createPage.newpage');
4036 7900 return true;
@@ -4037,11 +7901,10 @@
4037 7901 } else {
4038 7902 return false;
4039 7903 }
4040 7904 },
4041 - //e2pdf.pages.movePage
7905 + // e2pdf.pages.movePage
4042 7906 movePage: function (el, direction) {
4043 -
4044 7907 if (e2pdf.pdf.settings.get('pdf')) {
4045 7908 return false;
4046 7909 }
4047 7910 if (direction === 'up') {
@@ -4048,26 +7911,22 @@
4048 7911 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
4049 7912 } else if (direction === 'down') {
4050 7913 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
4051 7914 }
4052 -
4053 7915 e2pdf.event.fire('after.pages.movePage');
4054 7916 e2pdf.pages.rebuildPages();
4055 7917 },
4056 - //e2pdf.pages.deletePage
7918 + // e2pdf.pages.deletePage
4057 7919 deletePage: function (el) {
4058 7920 el.closest('.e2pdf-page').remove();
4059 7921 e2pdf.event.fire('after.pages.deletePage');
4060 7922 e2pdf.pages.rebuildPages();
4061 7923 },
4062 - //e2pdf.pages.changeTplSize
7924 + // e2pdf.pages.changeTplSize
4063 7925 changeTplSize: function (width, height) {
4064 7926 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
4065 7927 },
4066 7928 changePageSize: function (el, width, height) {
4067 -
4068 - var set_width = true;
4069 - var set_height = true;
4070 7929 var prev_width = parseFloat(el.css('width'));
4071 7930 var prev_height = parseFloat(el.css('height'));
4072 7931 var width_diff = width / prev_width;
4073 7932 var height_diff = height / prev_height;
@@ -4073,27 +7932,15 @@
4073 7932 var height_diff = height / prev_height;
4074 7933 el.find(".e2pdf-element").each(function () {
4075 7934 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
4076 7935 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
4077 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
4078 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
4079 - if (scale === e2pdf.static.const.WIDTH) {
4080 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
4081 - set_height = false;
4082 - } else if (scale === e2pdf.static.const.HEIGHT) {
4083 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
4084 - set_width = false;
4085 - }
4086 - }
4087 -
4088 - if (set_width) {
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'))) {
4089 7937 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
4090 - }
4091 -
4092 - 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);
4093 7941 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
4094 7942 }
4095 -
4096 7943 });
4097 7944 el.css('width', width);
4098 7945 el.css('height', height);
4099 7946 el.attr('data-width', width);
@@ -4099,27 +7946,28 @@
4099 7946 el.attr('data-width', width);
4100 7947 el.attr('data-height', height);
4101 7948 }
4102 7949 },
4103 - //e2pdf.contextMenu
7950 + // e2pdf.contextMenu
4104 7951 contextMenu: function (e, el) {
4105 7952 e2pdf.delete('.e2pdf-context');
7953 + jQuery('.e2pdf-page').css('z-index', '');
4106 7954 var menu = jQuery('<div>', {'class': 'e2pdf-context'});
4107 7955 if (el.hasClass('e2pdf-page')) {
4108 7956 var parent = el;
4109 - 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(
4110 7959 jQuery('<li>').append(
4111 - 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'))
4112 7961 ),
4113 7962 jQuery('<li>').append(
4114 - 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'))
4115 7967 )
4116 - ));
4117 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4118 - menu.find('a').attr('disabled', false);
4119 - }
7968 + );
4120 7969 } else {
4121 -
4122 7970 if (!el.hasClass('e2pdf-selected')) {
4123 7971 e2pdf.element.unselect();
4124 7972 e2pdf.element.select(el);
4125 7973 }
@@ -4124,645 +7972,1069 @@
4124 7972 e2pdf.element.select(el);
4125 7973 }
4126 7974
4127 7975 var parent = el.closest('.e2pdf-page');
4128 - menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}).append(
7976 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7977 + if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7978 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7979 + menu.find('ul.e2pdf-context-menu').append(
7980 + jQuery('<li>').append(
7981 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7982 + ));
7983 + } else {
7984 + menu.find('ul.e2pdf-context-menu').append(
7985 + jQuery('<li>').append(
7986 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7987 + ));
7988 + }
7989 + }
7990 +
7991 + if (Object.keys(e2pdf.element.selected).length == 1 && (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-link' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig', 'checkbox')))) {
7992 + menu.find('ul.e2pdf-context-menu').append(
7993 + jQuery('<li>').append(
7994 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7995 + ));
7996 + }
7997 +
7998 + menu.find('ul.e2pdf-context-menu').append(
7999 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8000 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8001 + ,
8002 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
4129 8003 jQuery('<li>').append(
4130 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdfLang['Show'] : e2pdfLang['Hide'])
8004 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
4131 8005 ),
4132 8006 jQuery('<li>').append(
4133 - 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'))
4134 8008 ),
4135 8009 jQuery('<li>').append(
4136 - 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'))
4137 8011 ),
4138 8012 jQuery('<li>').append(
4139 - 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 + )
4140 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 + ))
4141 8027 ));
4142 - if (Object.keys(e2pdf.element.selected).length == 1) {
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 + }
4143 8066
4144 - menu.find('ul').append(
4145 - jQuery('<li>').append(
4146 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4147 - ));
4148 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4149 - menu.find('ul').prepend(
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(
4150 8070 jQuery('<li>').append(
4151 - 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'))
4152 8072 ));
4153 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 + }
4154 8082
4155 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4156 - menu.find('ul').prepend(jQuery('<li>').append(
4157 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdfLang['Map Field'])
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'))
4158 8089 ));
4159 8090 }
4160 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 + }
4161 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 + }
4162 8125 }
4163 -
4164 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4165 - var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
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 + }
4166 8138 menu.css({top: pos_y + "px", left: pos_x + "px"});
4167 - menu.appendTo(parent);
8139 + menu.show();
4168 8140 },
4169 - //e2pdf.delete
8141 + // e2pdf.delete
4170 8142 delete: function (el) {
4171 8143 jQuery(el).remove();
4172 8144 },
4173 - //e2pdf.element
8145 + // e2pdf.element
4174 8146 element: {
4175 - //e2pdf.element.buffered
4176 - buffered: [],
4177 - //e2pdf.element.selected
8147 + // e2pdf.element.selected
4178 8148 selected: [],
4179 - //e2pdf.element.init
8149 + // e2pdf.element.init
4180 8150 init: function (el) {
4181 -
4182 8151 if (el.data('data-type') === 'e2pdf-html') {
4183 - 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 + }
4184 8157 } else if (el.data('data-type') === 'e2pdf-input') {
4185 8158 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4186 8159 } else if (el.data('data-type') === 'e2pdf-textarea') {
4187 8160 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4188 8161 }
4189 -
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'));
4190 8165 },
4191 - //e2pdf.element.create
4192 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4193 -
4194 - var size = parseFloat(jQuery('#e2pdf-line-height').val()) + 4;
4195 -
4196 - var aspect = false;
8166 + // e2pdf.element.initEvents
8167 + initEvents: function (element, page) {
8168 + var min_width = 2;
4197 8169 var min_height = 2;
4198 - var min_width = 2;
4199 - if (!properties) {
4200 - properties = {};
8170 + if (element.data('data-type') == 'e2pdf-rectangle') {
8171 + min_height = 1;
8172 + min_width = 1;
4201 8173 }
4202 -
4203 - if (!actions) {
4204 - actions = {};
8174 + if (!page) {
8175 + page = element.closest('.e2pdf-page');
4205 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) {
4206 8187
4207 - if (!properties['value']) {
4208 - properties['value'] = '';
4209 - }
4210 -
4211 - // Switch element types
4212 - if (type === 'e2pdf-html') {
4213 -
4214 - if (!properties['width']) {
4215 - properties['width'] = '200';
4216 - } else if (properties['width'] === 'auto') {
4217 - properties['width'] = size;
4218 8188 }
4219 -
4220 - if (!properties['height']) {
4221 - properties['height'] = size;
4222 -
4223 - } else if (properties['height'] === 'auto') {
4224 - delete properties['height'];
4225 - }
4226 -
4227 - var element =
4228 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4229 - jQuery('<div>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4230 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4231 - );
4232 - } else if (type === 'e2pdf-input') {
4233 -
4234 - if (!properties['width'] || properties['width'] === 'auto') {
4235 - properties['width'] = '200';
4236 - }
4237 -
4238 - if (!properties['height'] || properties['height'] === 'auto') {
4239 - properties['height'] = size;
4240 - }
4241 -
4242 - var element =
4243 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4244 - jQuery('<input>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4245 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4246 - );
4247 - } else if (type === 'e2pdf-textarea') {
4248 -
4249 - if (!properties['width'] || properties['width'] === 'auto') {
4250 - properties['width'] = '200';
4251 - }
4252 -
4253 - if (!properties['height'] || properties['height'] === 'auto') {
4254 - properties['height'] = '100';
4255 - }
4256 -
4257 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4258 - jQuery('<textarea>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4259 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4260 - );
4261 - } else if (type === 'e2pdf-checkbox') {
4262 -
4263 - if (!properties['width'] || properties['width'] === 'auto') {
4264 - properties['width'] = size;
4265 - }
4266 -
4267 - if (!properties['height'] || properties['height'] === 'auto') {
4268 - properties['height'] = size;
4269 - }
4270 -
4271 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4272 - jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4273 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4274 - );
4275 - } else if (type === 'e2pdf-radio') {
4276 -
4277 - if (!properties['width'] || properties['width'] === 'auto') {
4278 - properties['width'] = size;
4279 - }
4280 -
4281 - if (!properties['height'] || properties['height'] === 'auto') {
4282 - properties['height'] = size;
4283 - }
4284 -
4285 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4286 - jQuery('<input>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4287 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4288 - );
4289 - var aspect = false;
4290 - } else if (type === 'e2pdf-select') {
4291 -
4292 - if (!properties['width'] || properties['width'] === 'auto') {
4293 - properties['width'] = '200';
4294 - }
4295 -
4296 - if (!properties['height'] || properties['height'] === 'auto') {
4297 - properties['height'] = size;
4298 - }
4299 -
4300 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4301 - jQuery('<select>', {'class': 'e2pdf-select'}).append(
4302 - ),
4303 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4304 - );
4305 - } else if (type === 'e2pdf-image') {
4306 -
4307 - var element = jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4308 - jQuery('<img>', {'class': 'e2pdf-image'}),
4309 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4310 - );
4311 - } else if (type === 'e2pdf-rectangle') {
4312 -
4313 - if (!properties['width'] || properties['width'] === 'auto') {
4314 - properties['width'] = '200';
4315 - }
4316 -
4317 - if (!properties['height'] || properties['height'] === 'auto') {
4318 - properties['height'] = '5';
4319 - }
4320 -
4321 - var min_height = 1;
4322 - var min_width = 1;
4323 - var element =
4324 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4325 - jQuery('<div>', {'class': 'content e2pdf-rectangle'}),
4326 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4327 - );
4328 - } else if (type === 'e2pdf-link') {
4329 -
4330 - if (!properties['width'] || properties['width'] === 'auto') {
4331 - properties['width'] = '200';
4332 - }
4333 -
4334 - if (!properties['height'] || properties['height'] === 'auto') {
4335 - properties['height'] = size;
4336 - }
4337 -
4338 - var element =
4339 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4340 - jQuery('<div>', {'class': 'content e2pdf-link'}),
4341 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4342 - );
4343 - } else if (type === 'e2pdf-signature') {
4344 -
4345 - if (!properties['width'] || properties['width'] === 'auto') {
4346 - properties['width'] = '200';
4347 - }
4348 -
4349 - if (!properties['height'] || properties['height'] === 'auto') {
4350 - properties['height'] = size;
4351 - }
4352 -
4353 - if (!properties['dimension']) {
4354 - if (default_properties) {
4355 - properties['dimension'] = '1';
4356 - }
4357 - }
4358 -
4359 - var element =
4360 - jQuery('<div>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4361 - jQuery('<div>', {'class': 'content e2pdf-signature'}),
4362 - jQuery('<i>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4363 - );
4364 8189 }
4365 -
4366 - // If element exists
4367 - if (typeof element !== "undefined") {
4368 - element.contextmenu(function (e) {
4369 - e2pdf.contextMenu(e, element);
4370 - e.preventDefault();
4371 - });
4372 - if (!element_id) {
4373 - var last_id = 0;
4374 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4375 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4376 - if (num_id > last_id) {
4377 - last_id = num_id;
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'});
4378 8200 }
4379 - });
4380 - element_id = parseInt(last_id + 1);
4381 - }
4382 - element.addClass('e2pdf-element');
4383 - element.attr('data-element_id', element_id);
4384 - if (type === 'e2pdf-select') {
4385 - if (!properties['options']) {
4386 - if (default_properties) {
4387 - properties['options'] = '';
8201 + if (selected.hasClass('e2pdf-height-auto')) {
8202 + selected.css({'height': 'auto'});
4388 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'))));
4389 8206 }
4390 - }
4391 -
4392 - if (!properties['z_index']) {
4393 - properties['z_index'] = '0';
4394 - }
4395 -
4396 - if (type === 'e2pdf-input'
4397 - || type === 'e2pdf-textarea'
4398 - || type === 'e2pdf-select'
4399 - || type === 'e2pdf-radio'
4400 - || type === 'e2pdf-checkbox'
4401 - ) {
4402 - if (!properties['border']) {
4403 - if (default_properties) {
4404 - properties['border'] = '1';
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);
4405 8230 }
4406 8231 }
4407 - }
4408 -
4409 - if (type === 'e2pdf-image'
4410 - || type === 'e2pdf-signature') {
4411 - if (!properties['scale']) {
4412 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4413 - }
4414 - if (!properties['horizontal']) {
4415 - properties['horizontal'] = 'left';
4416 - }
4417 - if (!properties['vertical']) {
4418 - properties['vertical'] = 'bottom';
4419 - }
4420 - }
4421 -
4422 - if (type === 'e2pdf-html'
4423 - || type === 'e2pdf-image'
4424 - || type === 'e2pdf-signature'
4425 - ) {
4426 -
4427 - if (!properties['border_top']) {
4428 - properties['border_top'] = '0';
4429 - }
4430 -
4431 - if (!properties['border_left']) {
4432 - properties['border_left'] = '0';
4433 - }
4434 -
4435 - if (!properties['border_right']) {
4436 - properties['border_right'] = '0';
4437 - }
4438 -
4439 - if (!properties['border_bottom']) {
4440 - properties['border_bottom'] = '0';
4441 - }
4442 -
4443 - if (!properties['padding_top']) {
4444 - properties['padding_top'] = '0';
4445 - }
4446 -
4447 - if (!properties['padding_left']) {
4448 - properties['padding_left'] = '0';
4449 - }
4450 -
4451 - if (!properties['padding_right']) {
4452 - properties['padding_right'] = '0';
4453 - }
4454 -
4455 - if (!properties['padding_bottom']) {
4456 - properties['padding_bottom'] = '0';
4457 - }
4458 - }
4459 -
4460 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4461 - if (!properties['length']) {
4462 - properties['length'] = '0';
4463 - }
4464 - }
4465 -
4466 - if (type !== 'e2pdf-rectangle') {
4467 - if (!properties['border_color']) {
4468 - properties['border_color'] = '';
4469 - if (default_properties) {
4470 - properties['border_color'] = '#000000';
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 + }
4471 8263 }
8264 + } else {
8265 + jQuery('.e2pdf-guide-h').hide();
4472 8266 }
4473 - }
4474 -
4475 - if (type !== 'e2pdf-image') {
4476 -
4477 - if (!properties['text_color']) {
4478 - properties['text_color'] = '';
4479 - }
4480 -
4481 - if (!properties['text_font']) {
4482 - properties['text_font'] = '';
4483 - }
4484 -
4485 - if (!properties['text_font_size']) {
4486 - properties['text_font_size'] = '';
4487 - }
4488 -
4489 - if (!properties['text_line_height']) {
4490 - properties['text_line_height'] = '';
4491 - }
4492 - }
4493 -
4494 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4495 - if (!properties['option']) {
4496 - if (default_properties) {
4497 - properties['option'] = "option" + element_id;
8267 + if (guides.left.dist <= e2pdf.static.guide.distance) {
8268 + jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
8269 + var snap_left = guides.left.guide.left - guides.left.offset;
8270 + if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
8271 + ui.position.left = snap_left;
8272 + var guide_diff_left = ui.position.left - e2pdf.properties.getValue(jQuery(this), 'left', 'float');
8273 + for (var key in e2pdf.element.selected) {
8274 + var selected = e2pdf.element.selected[key];
8275 + if (!selected.is(jQuery(this))) {
8276 + selected.finish().animate({
8277 + left: e2pdf.properties.getValue(selected, 'left', 'float') + guide_diff_left
8278 + }, 0);
8279 + }
8280 + }
4498 8281 }
8282 + } else {
8283 + jQuery('.e2pdf-guide-v').hide();
4499 8284 }
4500 -
4501 - if (!properties['text_type']) {
4502 - if (default_properties) {
4503 - if (type === 'e2pdf-radio') {
4504 - properties['text_type'] = 'circle';
4505 - } else if (type === 'e2pdf-checkbox') {
4506 - properties['text_type'] = 'check';
4507 - }
4508 - }
8285 + },
8286 + start: function (ev, ui) {
8287 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8288 + return false;
4509 8289 }
4510 - }
4511 -
4512 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4513 - if (!properties['text_align']) {
4514 - if (default_properties) {
4515 - properties['text_align'] = 'left';
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"});
4516 8301 }
4517 - }
4518 - }
4519 -
4520 - if (type === 'e2pdf-radio') {
4521 - if (!properties['group']) {
4522 - if (default_properties) {
4523 - properties['group'] = "group";
8302 + if (selected.hasClass('e2pdf-height-auto')) {
8303 + selected.css({"height": "auto"});
4524 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);
4525 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);
4526 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) {
4527 8330
4528 - element.data('data-type', type);
4529 - if (properties['width']) {
4530 - element.css({"width": properties['width']});
4531 - }
4532 -
4533 - if (properties['height']) {
4534 - element.css({"height": properties['height']});
4535 - }
4536 -
4537 - if (type === 'e2pdf-rectangle') {
4538 - if (!properties['background']) {
4539 - if (default_properties) {
4540 - properties['background'] = '#000000';
4541 - }
4542 8331 }
4543 8332 }
4544 -
4545 - if (properties['top'] && properties['left']) {
4546 - element.css({"top": properties['top'], "left": properties['left']});
4547 - }
4548 -
4549 - element.css({"position": "absolute"});
4550 - e2pdf.properties.apply(element, properties);
4551 - e2pdf.actions.apply(element, actions);
4552 - // If element draggable
4553 - element.draggable({
4554 - cancel: '.no-drag',
4555 - handle: ".e2pdf-drag",
4556 - containment: jQuery(page),
4557 - stop: function (ev, ui) {
4558 -
4559 - var page = jQuery(this).closest('.e2pdf-page');
4560 - for (var key in e2pdf.element.selected) {
4561 - var selected = e2pdf.element.selected[key];
4562 - if (selected.hasClass('e2pdf-width-auto')) {
4563 - selected.css({'width': 'auto'});
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);
4564 8363 }
4565 - if (selected.hasClass('e2pdf-height-auto')) {
4566 - 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;
4567 8367 }
4568 -
4569 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.pxToFloat(selected.css('top'))));
4570 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.pxToFloat(selected.css('left'))));
4571 - }
4572 -
4573 - jQuery('.page-options-icons').css('z-index', '');
4574 - e2pdf.event.fire('after.element.moved');
4575 - e2pdf.element.unselect();
4576 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
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));
4577 8390 },
4578 - drag: function (ev, ui) {
4579 -
4580 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4581 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4582 -
4583 - left = Math.min(left, e2pdf.static.drag.max_left);
4584 - top = Math.min(top, e2pdf.static.drag.max_top);
4585 -
4586 - ui.position = {
4587 - left: Math.max(e2pdf.static.drag.min_left, left),
4588 - top: Math.max(e2pdf.static.drag.min_top, top)
4589 - };
4590 -
4591 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4592 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4593 - for (var key in e2pdf.element.selected) {
4594 - var selected = e2pdf.element.selected[key];
4595 - if (!selected.is(jQuery(this))) {
4596 - selected.finish().animate({
4597 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4598 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4599 - }, 0);
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();
4600 8397 }
4601 8398 }
4602 -
4603 - 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();
4604 8435 var w = parseFloat(jQuery(this).css('width'));
4605 8436 var h = parseFloat(jQuery(this).css('height'));
4606 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4607 -
4608 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4609 - jQuery.each(el_guides, function (i, elemGuide) {
4610 - if (guide.type == elemGuide.type) {
4611 - var prop = guide.type == "h" ? "top" : "left";
4612 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4613 - if (d < guides[prop].dist) {
4614 - guides[prop].dist = d;
4615 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4616 - guides[prop].guide = guide;
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;
4617 8451 }
4618 8452 }
4619 8453 });
4620 - });
4621 -
4622 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4623 -
4624 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4625 -
4626 - var snap_top = guides.top.guide.top - guides.top.offset;
4627 -
4628 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4629 - ui.position.top = snap_top;
4630 -
4631 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4632 -
4633 - for (var key in e2pdf.element.selected) {
4634 - var selected = e2pdf.element.selected[key];
4635 - if (!selected.is(jQuery(this))) {
4636 - selected.finish().animate({
4637 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4638 - }, 0);
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;
4639 8465 }
4640 8466 }
4641 8467 }
4642 - } else {
4643 - jQuery(".e2pdf-guide-h").hide();
4644 8468 }
4645 -
4646 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4647 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4648 -
4649 - var snap_left = guides.left.guide.left - guides.left.offset;
4650 -
4651 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4652 - ui.position.left = snap_left;
4653 -
4654 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4655 -
4656 - for (var key in e2pdf.element.selected) {
4657 - var selected = e2pdf.element.selected[key];
4658 - if (!selected.is(jQuery(this))) {
4659 - selected.finish().animate({
4660 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4661 - }, 0);
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;
4662 8483 }
4663 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 + }
4664 8499 }
4665 - } else {
4666 - jQuery(".e2pdf-guide-v").hide();
4667 8500 }
4668 -
4669 8501 },
4670 - start: function (ev, ui) {
4671 -
4672 - e2pdf.element.select(jQuery(this));
4673 -
4674 - e2pdf.static.drag.min_left = 0;
4675 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4676 - e2pdf.static.drag.min_top = 0;
4677 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4678 -
4679 - for (var key in e2pdf.element.selected) {
4680 - var selected = e2pdf.element.selected[key];
4681 -
4682 - if (selected.hasClass('e2pdf-width-auto')) {
4683 - selected.css({"width": "auto"});
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();
4684 8509 }
4685 -
4686 - if (selected.hasClass('e2pdf-height-auto')) {
4687 - 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);
4688 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 + }
4689 8627
4690 - var padding_top = e2pdf.helper.pxToFloat(selected.css('padding-top'));
4691 - var padding_left = e2pdf.helper.pxToFloat(selected.css('padding-left'));
4692 - var padding_right = e2pdf.helper.pxToFloat(selected.css('padding-right'));
4693 - var padding_bottom = e2pdf.helper.pxToFloat(selected.css('padding-bottom'));
4694 - var border_top = e2pdf.helper.pxToFloat(selected.css('border-top-width'));
4695 - var border_left = e2pdf.helper.pxToFloat(selected.css('border-left-width'));
4696 - var border_right = e2pdf.helper.pxToFloat(selected.css('border-right-width'));
4697 - var border_bottom = e2pdf.helper.pxToFloat(selected.css('border-bottom-width'));
4698 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4699 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4700 - e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - parseFloat(e2pdf.properties.getValue(selected, 'left'))), e2pdf.static.drag.max_left);
4701 - e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - parseFloat(e2pdf.properties.getValue(selected, 'top'))), e2pdf.static.drag.max_top);
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';
4702 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 + }
4703 8778
4704 - e2pdf.zoom.click.x = ev.clientX;
4705 - e2pdf.zoom.click.y = ev.clientY;
4706 - jQuery('.page-options-icons').css('z-index', -1);
8779 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8780 + properties['height'] = size;
8781 + }
4707 8782 }
4708 - });
4709 - // If element resizable
4710 - if (element.hasClass('e2pdf-resizable')) {
4711 - element.resizable({
4712 - aspectRatio: aspect,
4713 - minHeight: min_height,
4714 - minWidth: min_width,
4715 - start: function (ev, ui) {
4716 - var left = parseFloat(jQuery(this).css('left'));
4717 - var top = parseFloat(jQuery(this).css('top'));
4718 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4719 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4720 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4721 - jQuery(this).resizable("option", "maxHeight", page_height - top);
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 + }
4722 9009
4723 - var padding_top = e2pdf.helper.pxToFloat(jQuery(this).css('padding-top'));
4724 - var padding_left = e2pdf.helper.pxToFloat(jQuery(this).css('padding-left'));
4725 - var padding_right = e2pdf.helper.pxToFloat(jQuery(this).css('padding-right'));
4726 - var padding_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('padding-bottom'));
4727 - var border_top = e2pdf.helper.pxToFloat(jQuery(this).css('border-top-width'));
4728 - var border_left = e2pdf.helper.pxToFloat(jQuery(this).css('border-left-width'));
4729 - var border_right = e2pdf.helper.pxToFloat(jQuery(this).css('border-right-width'));
4730 - var border_bottom = e2pdf.helper.pxToFloat(jQuery(this).css('border-bottom-width'));
4731 -
4732 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4733 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4734 -
4735 - e2pdf.zoom.click.x = ev.clientX;
4736 - e2pdf.zoom.click.y = ev.clientY;
4737 - },
4738 - resize: function (ev, ui) {
4739 - },
4740 - stop: function (event, ui) {
4741 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4742 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
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;
4743 9017 }
4744 9018 });
4745 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4746 - element.resizable({
4747 - handles: 'e, w, se',
4748 - minHeight: min_height,
4749 - minWidth: min_width,
4750 - resize: function (e, ui) {
4751 - jQuery(this).css('height', 'auto');
4752 - },
4753 - start: function (e, ui) {
4754 - var left = parseFloat(jQuery(this).css('left'));
4755 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4756 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4757 - },
4758 - stop: function (event, ui) {
4759 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4760 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4761 - }
4762 - }
4763 - );
9019 + element_id = parseInt(last_id + 1);
4764 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);
4765 9037 if (!onload) {
4766 9038 e2pdf.event.fire('after.element.create');
4767 9039 }
4768 9040 return element;
@@ -4769,42 +9041,14 @@
4769 9041 } else {
4770 9042 return false;
4771 9043 }
4772 9044 },
4773 - //e2pdf.element.children
9045 + // e2pdf.element.children
4774 9046 children: function (el) {
4775 -
4776 - var children = false;
4777 -
4778 - if (el.data('data-type') === 'e2pdf-html') {
4779 - children = el.find('.e2pdf-html');
4780 - } else if (el.data('data-type') === 'e2pdf-input') {
4781 - children = el.find('.e2pdf-input');
4782 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4783 - children = el.find('.e2pdf-textarea');
4784 - } else if (el.data('data-type') === 'e2pdf-select') {
4785 - children = el.find('.e2pdf-select');
4786 - } else if (el.data('data-type') === 'e2pdf-radio') {
4787 - children = el.find('.e2pdf-radio');
4788 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4789 - children = el.find('.e2pdf-checkbox');
4790 - } else if (el.data('data-type') === 'e2pdf-image') {
4791 - children = el.find('.e2pdf-image');
4792 - }
9047 + var children = el.find('.' + el.data('data-type'));
4793 9048 return children;
4794 9049 },
4795 - //e2pdf.element.copy
4796 - copy: function (el) {
4797 - e2pdf.element.init(el);
4798 - e2pdf.element.buffer(el.clone(true));
4799 - },
4800 - //e2pdf.element.cut
4801 - cut: function (el) {
4802 - e2pdf.element.init(el);
4803 - e2pdf.element.buffer(el.clone(true));
4804 - e2pdf.element.delete(el);
4805 - },
4806 - //e2pdf.element.select
9050 + // e2pdf.element.select
4807 9051 select: function (el) {
4808 9052 var selected = false;
4809 9053 for (var key in e2pdf.element.selected) {
4810 9054 if (e2pdf.element.selected[key].is(el)) {
@@ -4815,9 +9059,9 @@
4815 9059 el.addClass('e2pdf-selected');
4816 9060 e2pdf.element.selected.push(el);
4817 9061 }
4818 9062 },
4819 - //e2pdf.element.unselect
9063 + // e2pdf.element.unselect
4820 9064 unselect: function (el) {
4821 9065 if (!el) {
4822 9066 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4823 9067 e2pdf.element.selected = [];
@@ -4829,150 +9073,457 @@
4829 9073 }
4830 9074 }
4831 9075 }
4832 9076 },
4833 - //e2pdf.element.buffer
4834 - buffer: function (el) {
4835 - var buffered = false;
4836 - for (var key in e2pdf.element.buffered) {
4837 - if (e2pdf.element.buffered[key].is(el)) {
4838 - buffered = true;
4839 - }
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');
4840 9088 }
4841 - if (!buffered) {
4842 - e2pdf.element.buffered.push(el);
4843 - }
4844 9089 },
4845 - //e2pdf.element.unbuffer
4846 - unbuffer: function (el) {
4847 - if (!el) {
4848 - e2pdf.element.buffered = [];
4849 - } else {
4850 - for (var key in e2pdf.element.buffered) {
4851 - if (e2pdf.element.buffered[key].is(el)) {
4852 - delete e2pdf.element.buffered[key];
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);
4853 9109 }
9110 + } else {
9111 + el_inner.focus();
4854 9112 }
9113 + } else {
9114 + el_inner.focus();
4855 9115 }
9116 + el.addClass('e2pdf-focused');
4856 9117 },
4857 - //e2pdf.element.hide
9118 + // e2pdf.element.hide
4858 9119 hide: function (el) {
4859 9120 el.addClass('e2pdf-hide');
4860 9121 },
4861 - //e2pdf.element.show
9122 + // e2pdf.element.show
4862 9123 show: function (el) {
4863 9124 el.removeClass('e2pdf-hide');
4864 9125 },
4865 - //e2pdf.element.paste
4866 - paste: function (keep_position) {
4867 - e2pdf.element.unselect();
4868 - var min_top = 99999999;
4869 - var min_left = 9999999;
4870 - var left_correction = 0;
4871 - var top_correction = 0;
4872 - if (!keep_position) {
4873 - for (var key in e2pdf.element.buffered) {
4874 - var buffered = e2pdf.element.buffered[key];
4875 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4876 - min_left = Math.min(e2pdf.properties.getValue(buffered, 'left'), min_left);
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();
4877 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 () {
4878 9255
4879 - for (var key in e2pdf.element.buffered) {
4880 - 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();
4881 9404 var context = jQuery('.e2pdf-context');
4882 - var properties = e2pdf.properties.get(buffered);
4883 - var width = parseFloat(properties['width']);
4884 - var height = parseFloat(properties['height']);
4885 9405 var page = context.closest('.e2pdf-page');
4886 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4887 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4888 - if ((left + width) > parseFloat(page.css('width'))) {
4889 - var correction = left - (parseFloat(page.css('width')) - width);
4890 - left_correction = Math.max(correction, left_correction);
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 + }
4891 9434 }
4892 9435
4893 - if ((top + height) > parseFloat(page.css('height'))) {
4894 - var correction = top - (parseFloat(page.css('height')) - height);
4895 - top_correction = Math.max(correction, top_correction);
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));
4896 9455 }
4897 - }
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;
4898 9470 }
4899 -
4900 - for (var key in e2pdf.element.buffered) {
4901 - var buffered = e2pdf.element.buffered[key];
4902 - var context = jQuery('.e2pdf-context');
4903 - var properties = e2pdf.properties.get(buffered);
4904 - var actions = e2pdf.actions.get(buffered);
4905 - var width = parseFloat(properties['width']);
4906 - var height = parseFloat(properties['height']);
4907 - var page = context.closest('.e2pdf-page');
4908 - var type = buffered.data('data-type');
4909 - if (!keep_position) {
4910 -
4911 - var top = parseFloat(e2pdf.helper.pxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4912 - var left = parseFloat(e2pdf.helper.pxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4913 - properties['top'] = top;
4914 - properties['left'] = left;
4915 - }
4916 - //changed
4917 - var el = e2pdf.element.create(type, page, properties, actions);
4918 - page.append(el);
4919 - e2pdf.properties.render(el);
4920 - e2pdf.element.select(el);
4921 - }
4922 -
4923 - e2pdf.event.fire('after.element.paste');
4924 - },
4925 - //e2pdf.element.delete
4926 - delete: function (el) {
4927 - el.remove();
4928 - e2pdf.event.fire('after.element.delete');
4929 9471 }
4930 9472 },
4931 - //e2pdf.wysiwyg
9473 + // e2pdf.wysiwyg
4932 9474 wysiwyg: {
4933 - //e2pdf.wysiwyg.apply
9475 + // e2pdf.wysiwyg.apply
4934 9476 apply: function (el) {
9477 + var history = [];
9478 + history.push(el);
9479 + e2pdf.history.set('wysiwyg', history);
9480 + var html = '';
4935 9481 var command = el.attr('data-command');
9482 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4936 9483 if (command === 'H1') {
4937 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4938 9484 if (node.is("h1") && document.getSelection().toString() === node.text()) {
4939 9485 e2pdf.wysiwyg.clear('h1');
4940 9486 } else {
4941 - var html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9487 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4942 9488 document.execCommand('insertHTML', false, html);
4943 9489 }
4944 9490 } else if (command === 'H2') {
4945 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4946 9491 if (node.is("h2") && document.getSelection().toString() === node.text()) {
4947 9492 e2pdf.wysiwyg.clear('h2');
4948 9493 } else {
4949 - var html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9494 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4950 9495 document.execCommand('insertHTML', false, html);
4951 9496 }
4952 9497 } else if (command === 'createlink') {
4953 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9498 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
4954 9499 document.execCommand(command, false, url);
4955 9500 } else if (command === 'font-size') {
4956 9501 var font_size = el.find('option:selected').html();
4957 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4958 9502 if (node.is("span") && document.getSelection().toString() === node.text()) {
4959 - var html = node.css('font-size', font_size).prop('outerHTML');
9503 + html = node.css('font-size', font_size + "px").prop('outerHTML');
4960 9504 } else {
4961 - 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');
4962 9506 }
4963 9507 document.execCommand('insertHTML', false, html);
4964 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('');
4965 9518 } else if (command === 'font') {
4966 9519 e2pdf.font.load(el);
4967 - var font = el.find('option:selected').html();
4968 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9520 + var font = CSS.escape(el.find('option:selected').html());
4969 9521 if (node.is("span") && document.getSelection().toString() === node.text()) {
4970 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9522 + html = node.css('font-family', font).prop('outerHTML');
4971 9523 } else {
4972 - 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');
4973 9525 }
4974 -
4975 9526 document.execCommand('insertHTML', false, html);
4976 9527 el.val('');
4977 9528 } else if (command === 'color') {
4978 9529 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -4981,14 +9532,14 @@
4981 9532 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
4982 9533 } else if (command === 'clear') {
4983 9534 document.execCommand("removeformat", false, "");
4984 9535 e2pdf.wysiwyg.clear();
4985 - } else {
9536 + } else if (command) {
4986 9537 document.execCommand(command, false, null);
4987 9538 }
4988 -
4989 9539 e2pdf.event.fire('after.wysiwyg.apply');
4990 9540 },
9541 + // e2pdf.wysiwyg.clear
4991 9542 clear: function (tags) {
4992 9543 if (!tags) {
4993 9544 var tags = "h1,h2";
4994 9545 }
@@ -4999,9 +9550,11 @@
4999 9550 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
5000 9551 }
5001 9552 });
5002 9553 },
9554 + // e2pdf.wysiwyg.helper
5003 9555 helper: {
9556 + // e2pdf.wysiwyg.helper.getSelectedNodes
5004 9557 getSelectedNodes: function () {
5005 9558 var nodes = [];
5006 9559 if (window.getSelection) {
5007 9560 var sel = window.getSelection();
@@ -5010,8 +9563,9 @@
5010 9563 }
5011 9564 }
5012 9565 return nodes;
5013 9566 },
9567 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
5014 9568 replaceWithOwnChildren: function (el) {
5015 9569 var parent = el.parentNode;
5016 9570 while (el.hasChildNodes()) {
5017 9571 parent.insertBefore(el.firstChild, el);
@@ -5017,8 +9571,9 @@
5017 9571 parent.insertBefore(el.firstChild, el);
5018 9572 }
5019 9573 parent.removeChild(el);
5020 9574 },
9575 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
5021 9576 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
5022 9577 var node = range.startContainer;
5023 9578 var endNode = range.endContainer;
5024 9579 var rangeNodes = [];
@@ -5044,8 +9599,9 @@
5044 9599 }
5045 9600
5046 9601 return rangeNodes;
5047 9602 },
9603 + // e2pdf.wysiwyg.helper.getSelectedNode
5048 9604 getSelectedNode: function () {
5049 9605 var node, selection;
5050 9606 if (window.getSelection) {
5051 9607 selection = getSelection();
@@ -5051,9 +9607,9 @@
5051 9607 selection = getSelection();
5052 9608 node = selection.anchorNode;
5053 9609 }
5054 9610 if (!node && document.selection) {
5055 - selection = document.selection
9611 + selection = document.selection;
5056 9612 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
5057 9613 node = range.commonAncestorContainer ? range.commonAncestorContainer :
5058 9614 range.parentElement ? range.parentElement() : range.item(0);
5059 9615 }
@@ -5060,10 +9616,10 @@
5060 9616 if (node) {
5061 9617 return (node.nodeName === "#text" ? node.parentNode : node);
5062 9618 }
5063 9619 },
9620 + // e2pdf.wysiwyg.helper.nextNode
5064 9621 nextNode: function (node) {
5065 -
5066 9622 if (node.hasChildNodes()) {
5067 9623 return node.firstChild;
5068 9624 } else {
5069 9625 while (node && !node.nextSibling) {
@@ -5073,13 +9629,13 @@
5073 9629 return null;
5074 9630 }
5075 9631 return node.nextSibling;
5076 9632 }
5077 -
5078 9633 },
9634 + // e2pdf.wysiwyg.helper.getSelectionHtml
5079 9635 getSelectionHtml: function () {
5080 9636 var html = "";
5081 - if (typeof window.getSelection != "undefined") {
9637 + if (typeof window.getSelection != 'undefined') {
5082 9638 var sel = window.getSelection();
5083 9639 if (sel.rangeCount) {
5084 9640 var container = document.createElement("div");
5085 9641 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -5086,9 +9642,9 @@
5086 9642 container.appendChild(sel.getRangeAt(i).cloneContents());
5087 9643 }
5088 9644 html = container.innerHTML;
5089 9645 }
5090 - } else if (typeof document.selection != "undefined") {
9646 + } else if (typeof document.selection != 'undefined') {
5091 9647 if (document.selection.type === "Text") {
5092 9648 html = document.selection.createRange().htmlText;
5093 9649 }
5094 9650 }
@@ -5093,8 +9649,9 @@
5093 9649 }
5094 9650 }
5095 9651 return html;
5096 9652 },
9653 + // e2pdf.wysiwyg.helper.saveSelection
5097 9654 saveSelection: function () {
5098 9655 if (window.getSelection) {
5099 9656 sel = window.getSelection();
5100 9657 if (sel.getRangeAt && sel.rangeCount) {
@@ -5104,8 +9661,9 @@
5104 9661 return document.selection.createRange();
5105 9662 }
5106 9663 return null;
5107 9664 },
9665 + // e2pdf.wysiwyg.helper.restoreSelection
5108 9666 restoreSelection: function (range) {
5109 9667 if (range) {
5110 9668 if (window.getSelection) {
5111 9669 sel = window.getSelection();
@@ -5114,48 +9672,99 @@
5114 9672 } else if (document.selection && range.select) {
5115 9673 range.select();
5116 9674 }
5117 9675 }
9676 + },
9677 + // e2pdf.wysiwyg.helper.dropSelection
9678 + dropSelection: function () {
9679 + if (window.getSelection) {
9680 + sel = window.getSelection();
9681 + sel.removeAllRanges();
9682 + }
5118 9683 }
5119 9684 }
5120 9685 },
5121 - //e2pdf.visual
9686 + // e2pdf.visual
5122 9687 visual: {
5123 - //e2pdf.visual.mapper
9688 + // e2pdf.visual.mapper
5124 9689 mapper: {
9690 + cursorPosStart: null,
9691 + cursorPosEnd: null,
9692 + cursorRange: null,
5125 9693 selected: null,
5126 - //e2pdf.visual.mapper.init
9694 + // e2pdf.visual.mapper.init
5127 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 +
5128 9719 e2pdf.visual.mapper.selected = el;
5129 9720 var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5130 9721 e2pdf.dialog.create(modal);
5131 9722 },
5132 - //e2pdf.visual.mapper.markup
9723 + // e2pdf.visual.mapper.markup
5133 9724 markup: function () {
5134 9725 e2pdf.dialog.rebuild();
5135 9726 },
5136 - //e2pdf.visual.mapper.rebuild
9727 + // e2pdf.visual.mapper.rebuild
5137 9728 rebuild: function () {
5138 - if (jQuery('#e2pdf-vm-content').length > 0) {
5139 - var vc_content = jQuery('#e2pdf-vm-content');
5140 -
9729 + if (jQuery('.e2pdf-vm-content').length > 0) {
9730 + var vc_content = jQuery('.e2pdf-vm-content');
5141 9731 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5142 9732 jQuery('.e2pdf-vm-wrapper').remove();
5143 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 + }
5144 9749
5145 9750 var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
5146 - vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], button[type="upload"], textarea, select').each(function () {
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 () {
5147 9752 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5148 9753 });
5149 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 + }
5150 9758 }
5151 9759 },
5152 - //e2pdf.visual.mapper.clear
9760 + // e2pdf.visual.mapper.clear
5153 9761 clear: function () {
5154 9762 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5155 9763 jQuery('.e2pdf-vm-wrapper').remove();
5156 9764 }
5157 9765 },
9766 + // e2pdf.visual.mapper.load
5158 9767 load: function (el) {
5159 9768 var loaded = false;
5160 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5161 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5160,10 +9769,10 @@
5160 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5161 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5162 9771 var width = el.css('width');
5163 9772 var height = el.css('height');
5164 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5165 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
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;
5166 9775 loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5167 9776 'width': width, 'height': height, 'top': top, 'left': left
5168 9777 });
5169 9778 var name = el.attr('name');
@@ -5168,9 +9777,9 @@
5168 9777 });
5169 9778 var name = el.attr('name');
5170 9779 var type = el.attr('type');
5171 9780 var value = el.attr('value');
5172 - if (el.is("select")) {
9781 + if (el.is('select')) {
5173 9782 type = 'select';
5174 9783 value = '';
5175 9784 el.find('option').each(function () {
5176 9785 value += jQuery(this).attr('value');
@@ -5186,137 +9795,311 @@
5186 9795 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5187 9796 }
5188 9797 return loaded;
5189 9798 },
9799 + // e2pdf.visual.mapper.apply
5190 9800 apply: function (el) {
5191 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);
5192 9805 var name = el.data('name');
9806 + var group = el.data('name');
5193 9807 var value = el.data('value');
5194 - var type = el.data('type');
5195 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5196 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5197 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5198 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5199 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5200 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5201 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5202 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5203 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5204 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5205 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5206 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
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);
5207 9824 } else {
5208 - 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 + }
5209 9829 }
5210 -
5211 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5212 - 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 + }
5213 9859 }
5214 - e2pdf.dialog.close();
9860 + if (e2pdf.static.vm.close) {
9861 + e2pdf.dialog.close();
9862 + }
5215 9863 }
5216 9864 }
5217 9865 },
5218 9866 zoom: {
5219 - zoom: 1,
9867 + scale: 1,
5220 9868 click: {
5221 9869 x: 0,
5222 9870 y: 0
5223 9871 },
5224 9872 apply: function (el) {
5225 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5226 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5227 - });
5228 - if (el.val() !== '100') {
5229 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5230 - }
5231 -
5232 - e2pdf.zoom.zoom = el.val() / 100;
5233 - jQuery('#e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('#e2pdf-tpl').width()) / 2);
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);
5234 9881 }
5235 9882 }
5236 9883 };
5237 -
5238 -
5239 -
5240 9884 jQuery(window).resize(function () {
5241 9885 e2pdf.visual.mapper.clear();
5242 - if (this.e2pdfResizeTO)
9886 + if (e2pdf.static.observer !== null) {
9887 + e2pdf.static.observer.disconnect();
9888 + e2pdf.static.observer = null;
9889 + }
9890 + if (this.e2pdfResizeTO) {
5243 9891 clearTimeout(this.e2pdfResizeTO);
9892 + }
5244 9893 this.e2pdfResizeTO = setTimeout(function () {
5245 9894 jQuery(this).trigger('e2pdfResizeEnd');
5246 9895 }, 500);
5247 9896 });
5248 -
9897 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9898 + jQuery(this).parent().addClass('e2pdf-hide');
9899 + jQuery(this).trigger('e2pdfResizeEnd');
9900 +});
5249 9901 jQuery(window).bind('e2pdfResizeEnd', function () {
5250 9902 e2pdf.dialog.rebuild();
5251 9903 });
9904 +jQuery(document).on('change', 'input.e2pdf-collapse[type="checkbox"]', function (e) {
9905 + var collapse = jQuery(this).attr('data-collapse');
9906 + if (collapse) {
9907 + if (jQuery(this).is(':checked')) {
9908 + jQuery('.' + collapse).removeClass('e2pdf-hide');
9909 + } else {
9910 + jQuery('.' + collapse).addClass('e2pdf-hide');
9911 + }
9912 + }
9913 +});
9914 +jQuery(document).on('change', '.e2pdf-import-overwrite', function (e) {
5252 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 +});
5253 9964 jQuery(document).ready(function () {
5254 -
5255 - 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) {
5256 9970 e.stopPropagation();
5257 9971 e.preventDefault();
5258 9972 e.stopImmediatePropagation();
5259 9973 return false;
5260 9974 });
5261 -
5262 - 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) {
5263 10001 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5264 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
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 + }
5265 10010 e2pdf.actions.add(element, actions);
5266 - jQuery(this).trigger('e2pdfResizeEnd');
5267 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 + }
5268 10022
5269 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5270 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5271 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5272 10023 e2pdf.actions.conditions.add(element, action_conditions);
5273 - jQuery(this).trigger('e2pdfResizeEnd');
5274 10024 });
5275 -
5276 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5277 - 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?'))) {
5278 10027 return false;
5279 10028 }
5280 10029 var action = jQuery(this).closest('.e2pdf-action');
5281 10030 e2pdf.actions.delete(action);
5282 10031 });
5283 -
5284 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10032 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5285 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');
5286 10038 if (action.find('.e2pdf-condition').length === 1) {
5287 - alert(e2pdfLang["Last condition can't be removed"]);
10039 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5288 10040 return false;
5289 10041 }
5290 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10042 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5291 10043 return false;
5292 10044 }
5293 10045 var condition = jQuery(this).closest('.e2pdf-condition');
5294 10046 e2pdf.actions.conditions.delete(condition);
5295 10047 });
5296 -
5297 - 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) {
5298 10065 e2pdf.zoom.apply(jQuery(this));
5299 10066 });
5300 -
5301 - jQuery('#e2pdf-extension').live('change', function () {
10067 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5302 10068 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5303 10069 });
5304 -
5305 - jQuery('.e2pdf-action-action select, .e2pdf-action-property select').live('change', function () {
10070 + jQuery(document).on('change', '.e2pdf-item', function (e) {
10071 + if (jQuery(this).val() == '-1') {
10072 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', 'disabled');
10073 + jQuery(this).closest('form').find('#e2pdf-item-options').removeClass('e2pdf-hide');
10074 + jQuery(this).closest('form').find('.e2pdf-item-merged').addClass('e2pdf-hide');
10075 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10076 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10077 + } else if (jQuery(this).val() == '-2') {
10078 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10079 + jQuery(this).closest('form').find('#e2pdf-item-options').addClass('e2pdf-hide');
10080 + jQuery(this).closest('form').find('.e2pdf-item-merged').removeClass('e2pdf-hide');
10081 + jQuery('#e2pdf-merged-item-dataset-title').removeClass('e2pdf-hide');
10082 + jQuery('#e2pdf-item-dataset-title').addClass('e2pdf-hide');
10083 + } else {
10084 + jQuery(this).closest('form').find('.e2pdf-w-apply, .e2pdf-w-empty, .e2pdf-w-auto').attr('disabled', false);
10085 + jQuery(this).closest('form').find('#e2pdf-item-options, .e2pdf-item-merged').addClass('e2pdf-hide');
10086 + jQuery('#e2pdf-merged-item-dataset-title').addClass('e2pdf-hide');
10087 + jQuery('#e2pdf-item-dataset-title').removeClass('e2pdf-hide');
10088 + }
10089 + });
10090 + jQuery(document).on('change', '.e2pdf-action-action select, .e2pdf-action-property select, .e2pdf-action-format select', function (e) {
5306 10091 var action = jQuery(this).closest('.e2pdf-action');
5307 - e2pdf.actions.change(action);
10092 + e2pdf.actions.change(action, jQuery(this));
5308 10093 });
5309 -
5310 - jQuery('.e2pdf-tabs a').live('click', function () {
5311 - 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();
5312 10096 var tab = jQuery(this);
5313 10097 tab.closest('ul').find('li').removeClass('active');
5314 10098 tab.parent('li').addClass('active');
5315 10099 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5316 10100 });
5317 -
5318 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10101 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5319 10102 var parent = jQuery(this).closest('.e2pdf-closed');
5320 10103 if (parent.hasClass('e2pdf-opened')) {
5321 10104 parent.removeClass('e2pdf-opened');
5322 10105 } else {
@@ -5325,197 +10108,358 @@
5325 10108 });
5326 10109 parent.addClass('e2pdf-opened');
5327 10110 }
5328 10111 });
5329 -
5330 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10112 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5331 10113 e.preventDefault();
5332 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 + }
5333 10125 e2pdf.request.submitForm(el);
5334 10126 });
5335 -
5336 - jQuery('.e2pdf-submit-local').live('click', function () {
10127 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5337 10128 var el = jQuery(this);
5338 - e2pdf.request.submitLocal(el);
10129 + if (el.hasClass('e2pdf-noclose')) {
10130 + e2pdf.request.submitLocal(el, true);
10131 + } else {
10132 + e2pdf.request.submitLocal(el);
10133 + }
5339 10134 });
5340 -
5341 - jQuery('.e2pdf-delete').live('click', function () {
5342 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
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?');
5343 10137 if (!confirm(message)) {
5344 10138 e2pdf.delete('.e2pdf-context');
5345 10139 return false;
5346 10140 }
10141 + var history = [];
5347 10142 for (var key in e2pdf.element.selected) {
5348 10143 var selected = e2pdf.element.selected[key];
10144 + e2pdf.element.init(selected);
10145 + history.push(selected.clone(true));
5349 10146 e2pdf.element.delete(selected);
5350 10147 }
5351 -
10148 + e2pdf.history.set('element_delete', history);
5352 10149 e2pdf.element.unselect();
5353 10150 });
5354 -
5355 - jQuery('.e2pdf-copy').live('click', function () {
5356 - e2pdf.element.unbuffer();
5357 -
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 + }
5358 10156 for (var key in e2pdf.element.selected) {
5359 10157 var selected = e2pdf.element.selected[key];
5360 - e2pdf.element.copy(selected);
10158 + e2pdf.copy(type, selected);
5361 10159 }
5362 10160 });
5363 -
5364 - 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 = [];
5365 10177 for (var key in e2pdf.element.selected) {
5366 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];
5367 10237 e2pdf.element.hide(selected);
5368 10238 }
5369 10239 });
5370 -
5371 - jQuery('.e2pdf-unhidden').live('click', function () {
10240 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5372 10241 for (var key in e2pdf.element.selected) {
5373 10242 var selected = e2pdf.element.selected[key];
5374 10243 e2pdf.element.show(selected);
5375 10244 }
5376 10245 });
5377 -
5378 - jQuery('.e2pdf-cut').live('click', function () {
5379 - e2pdf.element.unbuffer();
10246 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5380 10247 for (var key in e2pdf.element.selected) {
5381 10248 var selected = e2pdf.element.selected[key];
5382 - e2pdf.element.cut(selected);
10249 + e2pdf.properties.set(selected, 'locked', '1');
10250 + selected.addClass('e2pdf-locked');
5383 10251 }
5384 10252 });
5385 -
5386 - jQuery('.e2pdf-paste').live('click', function () {
5387 - 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 + }
5388 10259 });
5389 -
5390 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5391 - e2pdf.element.paste(true);
10260 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10261 + return false;
5392 10262 });
5393 -
5394 - jQuery('.e2pdf-checkbox').live('click', function () {
10263 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5395 10264 return false;
5396 10265 });
5397 -
5398 - jQuery('.e2pdf-radio').live('click', function () {
5399 - 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 + }
5400 10274 });
5401 -
5402 - jQuery('.e2pdf-hide-controls').live('click', function () {
5403 -
10275 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5404 10276 if (jQuery(this).hasClass('e2pdf-inactive')) {
5405 - jQuery('html').removeClass('e2pdf-hide-markup');
10277 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5406 10278 jQuery(this).removeClass('e2pdf-inactive');
5407 10279 } else {
5408 - jQuery('html').addClass('e2pdf-hide-markup');
10280 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5409 10281 jQuery(this).addClass('e2pdf-inactive');
5410 10282 }
5411 10283 });
5412 -
5413 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10284 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5414 10285 if (jQuery(this).hasClass('e2pdf-inactive')) {
5415 - jQuery('html').addClass('e2pdf-show-all-elements');
5416 10286 jQuery(this).removeClass('e2pdf-inactive');
5417 10287 } else {
5418 - jQuery('html').removeClass('e2pdf-show-all-elements');
5419 10288 jQuery(this).addClass('e2pdf-inactive');
5420 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 + });
5421 10300 });
5422 -
5423 - jQuery('.e2pdf-add-page').live('click', function () {
10301 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5424 10302 if (e2pdf.pdf.settings.get('pdf')) {
5425 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5426 - } else if (e2pdfParams['license_type'] == 'FREE') {
5427 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
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'));
5428 10306 } else {
5429 10307 e2pdf.pages.createPage();
5430 10308 }
5431 10309 });
5432 -
5433 - 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 + }
5434 10321 e2pdf.createPdf(jQuery(this));
5435 10322 });
5436 -
5437 - jQuery('.e2pdf-up-page').live('click', function () {
10323 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5438 10324 e2pdf.pages.movePage(jQuery(this), 'up');
5439 10325 });
5440 -
5441 - jQuery('.e2pdf-down-page').live('click', function () {
10326 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5442 10327 e2pdf.pages.movePage(jQuery(this), 'down');
5443 10328 });
5444 -
5445 - jQuery('.e2pdf-delete-page').live('click', function () {
10329 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5446 10330 if (e2pdf.pdf.settings.get('pdf')) {
5447 - 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?'))) {
5448 10332 return false;
5449 10333 }
5450 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10334 + var history = [];
10335 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5451 10336 var el = jQuery(this);
10337 + history.push(el.closest('.e2pdf-page').clone(true));
5452 10338 e2pdf.pages.deletePage(el);
5453 10339 });
10340 + history.reverse();
10341 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5454 10342 } else {
5455 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10343 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5456 10344 return false;
5457 10345 }
5458 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);
5459 10350 e2pdf.pages.deletePage(el);
5460 10351 }
5461 10352 });
5462 -
5463 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5464 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10353 + jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10354 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5465 10355 return false;
5466 10356 }
5467 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10357 + var history = [];
10358 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5468 10359 var el = jQuery(this);
10360 + history.push(el.closest('.e2pdf-page').clone(true));
5469 10361 e2pdf.pages.deletePage(el);
5470 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 + }
5471 10369 });
5472 -
5473 - jQuery('.e2pdf-delete-font').live('click', function () {
5474 - 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?'))) {
5475 10372 return false;
5476 10373 }
5477 10374 var el = jQuery(jQuery(this));
5478 10375 e2pdf.font.delete(el);
5479 10376 });
5480 -
5481 - jQuery('.e2pdf-modal').live('click', function () {
10377 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5482 10378 e2pdf.dialog.create(jQuery(this));
5483 10379 });
5484 -
5485 - jQuery('body').live('click', function (e) {
10380 + jQuery(document).on('click', 'body', function (e) {
5486 10381 e2pdf.delete('.e2pdf-context');
5487 10382 });
5488 -
5489 - jQuery('#e2pdf-font').live('change', function () {
5490 - e2pdf.font.load(jQuery(this));
5491 - 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));
5492 10385 });
5493 -
5494 - jQuery('#e2pdf-export-template').live('change', function () {
5495 - 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 + }
5496 10396 });
5497 -
5498 - jQuery('#e2pdf-export-dataset').live('change', function () {
10397 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5499 10398 var data = {};
5500 - data['template'] = jQuery('#e2pdf-export-template').val();
5501 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5502 - e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
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);
5503 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 + }
5504 10416
5505 - jQuery('#e2pdf-font-size').live('change', function () {
5506 - 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 + }
5507 10426 });
5508 -
5509 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5510 - if (jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
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 ||
5511 10454 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5512 10455 (e.shiftKey === true && e.keyCode === 187) ||
5513 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10456 + (e.keyCode >= 35 && e.keyCode <= 40)
10457 + ) {
5514 10458
5515 - 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')) {
5516 10460 e.preventDefault();
5517 - } 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')) {
5518 10462 e.preventDefault();
5519 10463 } else {
5520 10464 return;
5521 10465 }
@@ -5523,10 +10467,19 @@
5523 10467 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5524 10468 e.preventDefault();
5525 10469 }
5526 10470 });
5527 -
5528 - 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) {
5529 10482 var value = jQuery(this).val().trim();
5530 10483 var prefix = '';
5531 10484 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5532 10485 prefix = '+';
@@ -5536,18 +10489,22 @@
5536 10489 value = 0;
5537 10490 }
5538 10491 jQuery(this).val(prefix + value);
5539 10492 });
5540 -
5541 - jQuery('#e2pdf-font-color').live('change', function () {
5542 - 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'));
5543 10495 });
5544 -
5545 - jQuery('#e2pdf-line-height').live('change', function () {
5546 - 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 + }
5547 10502 });
5548 -
5549 - 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) {
5550 10507 e.preventDefault();
5551 10508 for (var key in e2pdf.element.selected) {
5552 10509 var selected = e2pdf.element.selected[key];
5553 10510 e2pdf.mediaUploader.init(selected);
@@ -5552,25 +10509,43 @@
5552 10509 var selected = e2pdf.element.selected[key];
5553 10510 e2pdf.mediaUploader.init(selected);
5554 10511 }
5555 10512 });
5556 -
5557 - jQuery('.e2pdf-visual').live('click', function (e) {
10513 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5558 10514 for (var key in e2pdf.element.selected) {
5559 10515 var selected = e2pdf.element.selected[key];
5560 10516 e2pdf.visual.mapper.init(selected);
5561 10517 }
5562 10518 });
5563 -
5564 - 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 + }
5565 10538 e2pdf.wysiwyg.apply(jQuery(this));
5566 10539 });
5567 -
5568 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5569 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10540 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5570 10541 e.preventDefault();
5571 10542 e.stopPropagation();
5572 10543 e.stopImmediatePropagation();
10544 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10545 + return;
10546 + }
10547 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5573 10548 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5574 10549 if (!color_panel.hasClass('wp-picker-active')) {
5575 10550 color_panel.find('.wp-color-result').click();
5576 10551 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5581,87 +10556,210 @@
5581 10556 color_panel.append(close);
5582 10557 }
5583 10558 }
5584 10559 });
5585 -
5586 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5587 - 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 + }
5588 10618 });
5589 -
5590 - jQuery('#e2pdf-wysiwyg-fontsize').live('change', function () {
10619 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5591 10620 e2pdf.wysiwyg.apply(jQuery(this));
5592 10621 });
5593 -
5594 - jQuery('#e2pdf-wysiwyg-font').live('change', function () {
5595 - 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'));
5596 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 + }
5597 10630
5598 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5599 - e2pdf.request.upload('e2pdf_upload', jQuery('#e2pdf-w-upload'));
10631 + var message = "";
10632 + if (e2pdf.static.unsaved) {
10633 + message += e2pdf.lang.get('WARNING: Template has changes after last save! Changes will be lost! Continue?') + "\r\n";
10634 + }
10635 + message += e2pdf.lang.get('Saved Template will be overwritten! Continue?');
10636 + jQuery(this).attr('disabled', 'disabled');
10637 + jQuery(this).closest('form').append(
10638 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-confirmation e2pdf-center e2pdf-mb20'}).append(
10639 + jQuery('<div>', {'class': 'e2pdf-w100 e2pdf-mb5'}).text(message),
10640 + jQuery('<div>', {'class': 'e2pdf-w100'}).append(
10641 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pr5'}).append(
10642 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-confirm e2pdf-link button'}).html(e2pdf.lang.get('Confirm'))
10643 + ),
10644 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-pl5'}).append(
10645 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-confirmation-cancel e2pdf-link button'}).html(e2pdf.lang.get('Cancel'))
10646 + )
10647 + )
10648 + )
10649 + );
5600 10650 });
5601 -
5602 - jQuery('#e2pdf-w-reupload').live('click', function () {
5603 - var message = "";
10651 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
5604 10652 if (e2pdf.static.unsaved) {
5605 - message += e2pdfLang['WARNING: Template has changes after last save! Changes will be lost!'] + "\r\n";
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 + }
5606 10658 }
5607 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5608 - if (!confirm(message)) {
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?'))) {
5609 10671 return false;
5610 10672 }
5611 - jQuery('#e2pdf-reupload-pdf').click();
10673 + jQuery('html').addClass('e2pdf-loading');
10674 + var data = {};
10675 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
5612 10676 });
5613 -
5614 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5615 - e2pdf.request.upload('e2pdf_reupload', jQuery('#e2pdf-w-reupload'));
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);
5616 10684 });
5617 -
5618 - jQuery('.e2pdf-scale-field').live('change', function () {
5619 - var value = jQuery(this).val();
5620 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5621 - fields.find('input[name="height"]').attr('readonly', false);
5622 - fields.find('input[name="width"]').attr('readonly', false);
5623 - var image = new Image();
5624 - image.src = fields.find('*[name="value"]').val();
5625 - image.onload = function ()
5626 - {
5627 - if (value === e2pdf.static.const.WIDTH) {
5628 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5629 - } else if (value === e2pdf.static.const.HEIGHT) {
5630 - fields.find('input[name="width"]').attr('readonly', 'readonly');
5631 - }
5632 - };
10685 + jQuery(document).on('click', '.e2pdf-confirmation-confirm', function (e) {
10686 + jQuery(this).closest('.e2pdf-confirmation').remove();
10687 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10688 + jQuery('.e2pdf-reupload-pdf').click();
5633 10689 });
5634 -
5635 - jQuery('.e2pdf-el-properties input[name="group"]').live('click', function () {
10690 + jQuery(document).on('click', '.e2pdf-confirmation-cancel', function (e) {
10691 + jQuery(this).closest('.e2pdf-confirmation').remove();
10692 + jQuery('.e2pdf-w-reupload').attr('disabled', false);
10693 + });
10694 + jQuery(document).on('change', '.e2pdf-reupload-pdf', function (e) {
10695 + e2pdf.request.upload('e2pdf_reupload', jQuery('.e2pdf-w-reupload'));
10696 + });
10697 + jQuery(document).on('click', '.e2pdf-el-properties input[name="group"]', function (e) {
5636 10698 jQuery(this).autocomplete("search", "");
5637 10699 });
5638 -
5639 - jQuery('.e2pdf-settings-style-change').live('change', function () {
10700 + jQuery(document).on('click', '.e2pdf-el-properties input[name="wysiwyg_disable"]', function (e) {
10701 + if (!jQuery(this).is(':checked')) {
10702 + if (!confirm(e2pdf.lang.get('Enabling WYSIWYG can affect "HTML" Source'))) {
10703 + return false;
10704 + }
10705 + }
10706 + });
10707 + jQuery(document).on('change', '.e2pdf-settings-style-change', function (e) {
5640 10708 e2pdf.event.fire('after.settings.style.change');
5641 10709 });
5642 -
5643 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10710 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5644 10711 e2pdf.event.fire('after.settings.template.change');
5645 10712 });
5646 -
5647 - 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) {
5648 10742 if (jQuery(this).val() !== '') {
5649 10743 var form = jQuery(this).closest('form');
5650 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10744 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5651 10745 form.find('input[name="width"]').val(size.width);
5652 10746 form.find('input[name="height"]').val(size.height);
5653 10747 }
5654 10748 });
5655 -
5656 - jQuery('.e2pdf-vm-element').live('click', function () {
10749 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5657 10750 e2pdf.visual.mapper.apply(jQuery(this));
5658 10751 });
5659 -
5660 - jQuery('.e2pdf-drag').live('click', function (e) {
10752 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10753 + e2pdf.element.unselect();
10754 + e2pdf.element.unfocus();
5661 10755 var el = jQuery(this).closest('.e2pdf-element');
5662 -
5663 - 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) {
5664 10762 if (el.hasClass('e2pdf-selected')) {
5665 10763 e2pdf.element.unselect(el);
5666 10764 } else {
5667 10765 e2pdf.element.select(el);
@@ -5683,23 +10781,21 @@
5683 10781 }
5684 10782 }
5685 10783 }
5686 10784 });
5687 -
5688 - jQuery('.e2pdf-activate-template').live('click', function () {
10785 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5689 10786 var data = {};
5690 10787 data['id'] = jQuery(this).attr('data-id');
5691 10788 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5692 10789 });
5693 -
5694 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10790 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5695 10791 var data = {};
5696 10792 data['id'] = jQuery(this).attr('data-id');
5697 10793 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5698 10794 });
5699 -
5700 - jQuery('.e2pdf-delete-item').live('click', function () {
5701 - 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?'))) {
5702 10798 return false;
5703 10799 }
5704 10800 var data = {};
5705 10801 data['template'] = jQuery(this).attr('template');
@@ -5705,11 +10801,11 @@
5705 10801 data['template'] = jQuery(this).attr('template');
5706 10802 data['dataset'] = jQuery(this).attr('dataset');
5707 10803 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5708 10804 });
5709 -
5710 - jQuery('.e2pdf-delete-items').live('click', function () {
5711 - 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?'))) {
5712 10808 return false;
5713 10809 }
5714 10810 var data = {};
5715 10811 data['template'] = jQuery(this).attr('template');
@@ -5714,17 +10810,103 @@
5714 10810 var data = {};
5715 10811 data['template'] = jQuery(this).attr('template');
5716 10812 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5717 10813 });
5718 -
5719 - 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) {
5720 10839 jQuery(this).select();
5721 10840 });
5722 -
5723 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10841 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5724 10842 jQuery(this).autocomplete("search", '');
5725 10843 });
5726 -
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 + });
5727 10909 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5728 10910 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5729 10911 }
5730 10912
@@ -5747,8 +10929,16 @@
5747 10929 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5748 10930 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5749 10931 }
5750 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 +
5751 10941 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5752 10942 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5753 10943 }
5754 10944
@@ -5755,23 +10945,25 @@
5755 10945 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
5756 10946 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
5757 10947 }
5758 10948
10949 + if (jQuery('.e2pdf-form-builder > input[name="activated"]').length > 0) {
10950 + e2pdf.pdf.settings.set('activated', jQuery('.e2pdf-form-builder > input[name="activated"]').val());
10951 + }
10952 +
10953 + if (jQuery('.e2pdf-form-builder > input[name="hooks"]').length > 0) {
10954 + e2pdf.pdf.settings.set('hooks', jQuery('.e2pdf-form-builder > input[name="hooks"]').val());
10955 + }
10956 +
5759 10957 jQuery('#e2pdf-zoom').trigger('change');
5760 -
5761 10958 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5762 - if (e2pdf.url.get('template_id')) {
10959 + if (e2pdf.url.get('id')) {
10960 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5763 10961 e2pdf.static.autoloadExport = true;
5764 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5765 - jQuery('#e2pdf-export-template').val('0').change();
5766 - } else {
5767 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5768 - }
5769 10962 }
5770 10963 }
5771 10964
5772 10965 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5773 -
5774 10966 jQuery('.e2pdf-color-picker-load').each(function () {
5775 10967 jQuery(this).wpColorPicker(
5776 10968 {
5777 10969 defaultColor: function () {
@@ -5787,9 +10979,8 @@
5787 10979 }
5788 10980 }
5789 10981 ).removeClass('e2pdf-color-picker-load');
5790 10982 });
5791 -
5792 10983 jQuery(window).bind("beforeunload", function (e) {
5793 10984 if (e2pdf.static.unsaved) {
5794 10985 var confirmationMessage = "\o/";
5795 10986 (e || window.event).returnValue = confirmationMessage;
@@ -5795,17 +10986,9 @@
5795 10986 (e || window.event).returnValue = confirmationMessage;
5796 10987 return confirmationMessage;
5797 10988 }
5798 10989 });
5799 -
5800 - jQuery(document).bind("mousedown", function (e) {
5801 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5802 - e2pdf.delete('.e2pdf-fade');
5803 - e2pdf.delete('.e2pdf-properties-window');
5804 - }
5805 - });
5806 -
5807 - if (jQuery('#e2pdf_build_form').length > 0) {
10990 + if (jQuery('#e2pdf-build-form').length > 0) {
5808 10991 postboxes.add_postbox_toggles(pagenow);
5809 10992 }
5810 10993
5811 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
@@ -5810,16 +10993,14 @@
5810 10993
5811 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5812 10995 && typeof (jQuery.ui.droppable) != 'undefined'
5813 10996 && jQuery('.e2pdf-tpl').length > 0) {
5814 -
5815 - // jQuery UI scale bug fix
10997 +// jQuery UI scale bug fix
5816 10998 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5817 10999 var i, j,
5818 11000 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5819 11001 type = event ? event.type : null,
5820 11002 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5821 -
5822 11003 droppablesLoop: for (i = 0; i < m.length; i++) {
5823 11004 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5824 11005 continue;
5825 11006 }
@@ -5836,51 +11017,49 @@
5836 11017 if (type === "mousedown") {
5837 11018 m[ i ]._activate.call(m[ i ], event);
5838 11019 }
5839 11020 m[ i ].offset = m[ i ].element.offset();
5840 - m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
11021 + m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
5841 11022 }
5842 - }
5843 -
5844 - 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 () {
5845 11032 var element = jQuery(this);
5846 11033 var type = element.attr('data-type');
5847 11034 var page = element.closest('.e2pdf-page');
5848 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5849 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5850 -
11035 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11036 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5851 11037 properties['width'] = element.attr('data-width');
5852 11038 properties['height'] = element.attr('data-height');
5853 11039 properties['top'] = element.attr('data-top');
5854 11040 properties['left'] = element.attr('data-left');
5855 - if (type == 'e2pdf-html') {
5856 - properties['value'] = element.find('.e2pdf-data-value').html();
5857 - } else {
5858 - properties['value'] = element.find('.e2pdf-data-value').text();
5859 - }
5860 - //changed
11041 + properties['value'] = element.find('.e2pdf-data-value').val();
11042 + properties['name'] = element.find('.e2pdf-data-name').val();
5861 11043 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5862 11044 jQuery(this).replaceWith(el);
5863 11045 e2pdf.properties.render(el);
5864 11046 });
5865 -
5866 - jQuery(".e2pdf-load-page").each(function () {
11047 + jQuery('.e2pdf-load-page').each(function () {
5867 11048 var page = jQuery(this);
5868 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
5869 - var properties = JSON.parse(page.find('.e2pdf-data-properties').text());
11049 + var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11050 + var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
5870 11051 page.find('.e2pdf-data-properties').remove();
5871 11052 page.find('.e2pdf-data-actions').remove();
5872 11053 page.removeClass('e2pdf-load-page');
5873 - e2pdf.pages.createPage(page, properties, actions);
5874 -
11054 + e2pdf.pages.createPage(page, properties, actions, true);
5875 11055 });
5876 -
5877 - jQuery(".e2pdf-be").draggable({
11056 + jQuery('.e2pdf-be').draggable({
11057 + cursorAt: {left: 0, top: 0},
5878 11058 helper: function () {
5879 11059 var element = jQuery(this).clone();
5880 11060 var type = element.attr('data-type');
5881 - var page = element.closest('.e2pdf-page')
5882 - //changed
11061 + var page = element.closest('.e2pdf-page');
5883 11062 var el = e2pdf.element.create(type, page, false, false, true);
5884 11063 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
5885 11064 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
5886 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -5886,35 +11065,40 @@
5886 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
5887 11066 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
5888 11067 e2pdf.properties.render(el);
5889 11068 el.css('z-index', 1);
5890 - if (e2pdf.zoom.zoom != 1) {
5891 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
5892 - el.css('transform-origin', '0 0');
11069 + if (e2pdf.zoom.scale != 1) {
11070 + el.css({
11071 + 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11072 + 'transform-origin': '0 0'
11073 + });
5893 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 + });
5894 11084 return el;
5895 11085 },
5896 11086 start: function (ev, ui) {
5897 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
5898 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
5899 11087 e2pdf.element.unselect();
5900 11088 },
5901 11089 stop: function (ev, ui) {
5902 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
5903 -
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();
5904 11093 },
5905 11094 drag: function (ev, ui) {
5906 -
5907 11095 if (e2pdf.static.drag.page !== null) {
5908 -
5909 11096 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
5910 -
5911 11097 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
5912 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
5913 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
5914 -
11098 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11099 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
5915 11100 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
5916 -
5917 11101 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
5918 11102 jQuery.each(el_guides, function (i, elemGuide) {
5919 11103 if (guide.type == elemGuide.type) {
5920 11104 var prop = guide.type == "h" ? "top" : "left";
@@ -5926,23 +11110,21 @@
5926 11110 }
5927 11111 }
5928 11112 });
5929 11113 });
5930 -
5931 11114 if (guides.top.dist <= e2pdf.static.guide.distance) {
5932 - e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().top / e2pdf.zoom.zoom - 1).show();
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();
5933 11116 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
5934 11117 ui.position.top = snap_top;
5935 11118 } else {
5936 - jQuery(".e2pdf-guide-h").hide();
11119 + jQuery('.e2pdf-guide-h').hide();
5937 11120 }
5938 -
5939 11121 if (guides.left.dist <= e2pdf.static.guide.distance) {
5940 - e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().left / e2pdf.zoom.zoom - 1).show();
5941 - var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left + 5;
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;
5942 11124 ui.position.left = snap_left;
5943 11125 } else {
5944 - jQuery(".e2pdf-guide-v").hide();
11126 + jQuery('.e2pdf-guide-v').hide();
5945 11127 }
5946 11128 }
5947 11129 }
5948 11130 });
@@ -5948,141 +11130,155 @@
5948 11130 });
5949 11131 e2pdf.welcomeScreen();
5950 11132 }
5951 11133 e2pdf.font.load(jQuery('#e2pdf-font'));
5952 -
5953 11134 jQuery('.e2pdf-load-font').each(function () {
5954 11135 e2pdf.font.load(jQuery(this));
5955 11136 jQuery(this).remove();
5956 11137 });
5957 -
5958 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
5959 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
5960 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
5961 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
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'));
5962 11142 }
5963 11143
5964 11144 jQuery(document).keydown(function (e) {
5965 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
5966 - e.preventDefault();
5967 - switch (e.which) {
5968 - case 37:
5969 - //left
5970 - var diff = 1;
5971 -
5972 - for (var key in e2pdf.element.selected) {
5973 - var selected = e2pdf.element.selected[key];
5974 - if (parseFloat(selected.css('left')) > 0) {
5975 - if (parseFloat(selected.css('left')) - 1 < 0) {
5976 - diff = Math.min(diff, selected.css('left'));
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);
5977 11163 }
5978 - } else {
5979 - diff = Math.min(diff, 0);
5980 11164 }
5981 - }
5982 11165
5983 - for (var key in e2pdf.element.selected) {
5984 - var selected = e2pdf.element.selected[key];
5985 - selected.finish().animate({
5986 - left: "-=" + diff
5987 - }, 0);
5988 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
5989 - }
5990 - break;
5991 - case 38:
5992 - //top
5993 - var diff = 1;
5994 -
5995 - for (var key in e2pdf.element.selected) {
5996 - var selected = e2pdf.element.selected[key];
5997 - if (parseFloat(selected.css('top')) > 0) {
5998 - if (parseFloat(selected.css('top')) - 1 < 0) {
5999 - diff = Math.min(diff, selected.css('top'));
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);
6000 11185 }
6001 - } else {
6002 - diff = Math.min(diff, 0);
6003 11186 }
6004 - }
6005 11187
6006 - for (var key in e2pdf.element.selected) {
6007 - var selected = e2pdf.element.selected[key];
6008 - selected.finish().animate({
6009 - top: "-=" + diff
6010 - }, 0);
6011 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6012 - }
6013 - break;
6014 - case 39:
6015 - //right
6016 - var diff = 1;
6017 -
6018 - for (var key in e2pdf.element.selected) {
6019 - var selected = e2pdf.element.selected[key];
6020 - if (parseFloat(selected.css('right')) > 0) {
6021 - if (parseFloat(selected.css('right')) - 1 < 0) {
6022 - diff = Math.min(diff, selected.css('right'));
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);
6023 11207 }
6024 - } else {
6025 - diff = Math.min(diff, 0);
6026 11208 }
6027 - }
6028 11209
6029 - for (var key in e2pdf.element.selected) {
6030 - var selected = e2pdf.element.selected[key];
6031 - selected.finish().animate({
6032 - left: "+=" + diff
6033 - }, 0);
6034 - e2pdf.properties.set(selected, 'left', e2pdf.helper.pxToFloat(selected.css('left')));
6035 - }
6036 - break;
6037 - case 40:
6038 - //down
6039 - var diff = 1;
6040 -
6041 - for (var key in e2pdf.element.selected) {
6042 - var selected = e2pdf.element.selected[key];
6043 - if (parseFloat(selected.css('bottom')) > 0) {
6044 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
6045 - diff = Math.min(diff, selected.css('bottom'));
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);
6046 11229 }
6047 - } else {
6048 - diff = Math.min(diff, 0);
6049 11230 }
6050 - }
6051 11231
6052 - for (var key in e2pdf.element.selected) {
6053 - var selected = e2pdf.element.selected[key];
6054 - selected.finish().animate({
6055 - top: "+=" + diff
6056 - }, 0);
6057 - e2pdf.properties.set(selected, 'top', e2pdf.helper.pxToFloat(selected.css('top')));
6058 - }
6059 - break;
6060 - case 46:
6061 - //delete
6062 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
6063 - if (!confirm(message)) {
6064 - e2pdf.delete('.e2pdf-context');
6065 - return false;
6066 - }
6067 -
6068 - for (var key in e2pdf.element.selected) {
6069 - var selected = e2pdf.element.selected[key];
6070 - e2pdf.element.delete(selected);
6071 - }
6072 -
6073 - e2pdf.element.unselect();
6074 - break;
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 + }
6075 11258 }
6076 11259 }
6077 11260 });
6078 -
6079 - 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) {
6080 11271 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
6081 11272 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
6082 - jQuery(e.target).closest('.e2pdf-element').length == 0
6083 - ) {
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) {
6084 11279 e2pdf.element.unselect();
11280 + e2pdf.element.unfocus();
6085 11281 }
6086 11282 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
6087 11283 jQuery('.e2pdf-closed').each(function () {
6088 11284 jQuery(this).removeClass('e2pdf-opened');
@@ -6087,9 +11283,20 @@
6087 11283 jQuery('.e2pdf-closed').each(function () {
6088 11284 jQuery(this).removeClass('e2pdf-opened');
6089 11285 });
6090 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 + }
6091 11295 });
6092 -
6093 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11296 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
6094 11297 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11298 + if (jQuery('.e2pdf-bulks-list').length > 0)
11299 + {
11300 + e2pdf.bulk.progress();
11301 + }
6095 11302 });