PluginProbe
E2Pdf – Export Pdf Tool for WordPress / 1.32.55
E2Pdf – Export Pdf Tool for WordPress v1.32.55
1.32.55 1.32.56 1.32.53 1.32.51 1.32.49 1.32.48 1.32.43 1.32.40 1.32.34 1.32.32 1.32.31 1.32.26 1.32.22 1.32.23 1.32.18 1.32.17 1.32.15 trunk 1.00.00 1.00.13 1.01.01 1.02.02 1.03.07 1.04.07 1.05.03 All 76 releases
← All changes | js/e2pdf.backend.js +8406 -3077 1.01.01 → 1.32.55 View file →
@@ -1,8 +1,8 @@
1 1 var e2pdf = {
2 -//e2pdf.helper
2 +// e2pdf.helper
3 3 helper: {
4 -//e2pdf.helper.color
4 +// e2pdf.helper.color
5 5 color: {
6 6 close: function (el) {
7 7 var color_panel = jQuery(el).parent();
8 8 color_panel.find('.wp-color-result').click();
@@ -7,77 +7,503 @@
7 7 var color_panel = jQuery(el).parent();
8 8 color_panel.find('.wp-color-result').click();
9 9 }
10 10 },
11 - //e2pdf.helper.image
11 + // e2pdf.helper.font
12 + font: {
13 + fonts: function (field = '') {
14 + var options = [];
15 + jQuery('.e2pdf-wysiwyg-font').find('option').each(function () {
16 + var option = {};
17 + option[jQuery(this).attr('value')] = jQuery(this).html();
18 + options.push(option);
19 + });
20 + return options;
21 + },
22 + sizes: function (field = '', properties = []) {
23 + var options = [];
24 + jQuery('.e2pdf-wysiwyg-fontsize').find('option').each(function () {
25 + var option = {};
26 + option[jQuery(this).attr('value')] = jQuery(this).html();
27 + options.push(option);
28 + if (jQuery(this).attr('value') === '' && properties.hasOwnProperty('text_font_size') && properties['text_font_size'] == '-1') {
29 + option = {};
30 + option['-1'] = e2pdf.lang.get('Auto');
31 + options.push(option);
32 + }
33 + });
34 + return options;
35 + },
36 + lines: function (field = '') {
37 + var options = [];
38 + var option = {};
39 + option[''] = '-';
40 + options.push(option);
41 + jQuery('#e2pdf-line-height').find('option').each(function () {
42 + var option = {};
43 + option[jQuery(this).attr('value')] = jQuery(this).html();
44 + options.push(option);
45 + });
46 + return options;
47 + }
48 + },
49 + // e2pdf.helper.image
12 50 image: {
13 - //e2pdf.helper.image.load
51 + // e2pdf.helper.image.load
14 52 load: function (el) {
15 53 el.addClass('e2pdf-loader');
54 + var properties = e2pdf.properties.get(el);
55 + var value = e2pdf.helper.getString(properties['value']);
16 56 var image = new Image();
17 - image.src = e2pdf.properties.getValue(el, 'value');
57 + switch (el.data('data-type')) {
58 + case 'e2pdf-qrcode':
59 + value = e2pdf.url.pluginsUrl() + '/img/qrcode.svg';
60 + break;
61 + case 'e2pdf-barcode':
62 + value = e2pdf.url.pluginsUrl() + '/img/barcode.svg';
63 + break;
64 + case 'e2pdf-graph':
65 + value = e2pdf.url.pluginsUrl() + '/img/graph.svg';
66 + break;
67 + case 'e2pdf-signature':
68 + if (typeof value === 'string' && (value.trim().startsWith("https://") || !value.trim().startsWith("http://"))) {
69 + } else {
70 + value = e2pdf.url.pluginsUrl() + '/img/signature.svg';
71 + }
72 + break;
73 + case 'e2pdf-image':
74 + if (typeof value === 'string' && (value.trim().startsWith("https://") || value.trim().startsWith("http://"))) {
75 + } else {
76 + value = e2pdf.url.pluginsUrl() + '/img/upload.svg';
77 + }
78 + break;
79 + }
80 +
18 81 var children = e2pdf.element.children(el);
82 + children.attr('src', 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
19 83 image.onload = function ()
20 84 {
21 85 el.removeClass('e2pdf-loader');
22 - el.find('.e2pdf-image').attr('src', e2pdf.properties.getValue(el, 'value'));
23 - if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH) {
24 - var o_width = this.width;
25 - var o_height = this.height;
26 - var dimension = parseFloat(children.css('width')) / o_width;
27 - var height = o_height * dimension;
28 - var add_height = parseFloat(el.css('height')) - parseFloat(children.css('height'));
29 - el.css('height', height + add_height);
30 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
31 - } else if (el.data('data-type') === 'e2pdf-image' && e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT) {
32 - var o_width = this.width;
33 - var o_height = this.height;
34 - var dimension = parseFloat(children.css('height')) / o_height;
35 - var width = o_width * dimension;
36 - var add_width = parseFloat(el.css('width')) - parseFloat(children.css('width'));
37 - el.css('width', width + add_width);
38 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
39 - } else {
40 - el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
86 + switch (el.data('data-type')) {
87 + case 'e2pdf-qrcode':
88 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
89 + el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
90 + e2pdf.helper.image.aspectRatio(el, this, properties);
91 + break;
92 + case 'e2pdf-barcode':
93 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
94 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
95 + break;
96 + case 'e2pdf-graph':
97 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
98 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
99 + break;
100 + case 'e2pdf-image':
101 + case 'e2pdf-signature':
102 + el.removeClass('e2pdf-aspect-ratio e2pdf-align-left e2pdf-align-center e2pdf-align-bottom e2pdf-valign-left e2pdf-valign-middle e2pdf-valign-bottom');
103 + if (value === e2pdf.url.pluginsUrl() + '/img/upload.svg') {
104 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
105 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
106 + } else if (value === e2pdf.url.pluginsUrl() + '/img/signature.svg') {
107 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
108 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
109 + } else {
110 + children.attr('src', value);
111 + if (e2pdf.helper.getCheckbox(properties['dimension']) == '1') {
112 + el.addClass('e2pdf-aspect-ratio');
113 + switch (e2pdf.helper.getString(properties['horizontal'])) {
114 + case 'center':
115 + el.addClass('e2pdf-align-center');
116 + break;
117 + case 'right':
118 + el.addClass('e2pdf-align-right');
119 + break;
120 + default:
121 + el.addClass('e2pdf-align-left');
122 + break;
123 + }
124 + switch (e2pdf.helper.getString(properties['vertical'])) {
125 + case 'top':
126 + el.addClass('e2pdf-valign-top');
127 + break;
128 + case 'middle':
129 + el.addClass('e2pdf-valign-middle');
130 + break;
131 + default:
132 + el.addClass('e2pdf-valign-bottom');
133 + break;
134 + }
135 + if (e2pdf.helper.getCheckbox(properties['block_dimension']) == '1') {
136 + e2pdf.helper.image.aspectRatio(el, this, properties);
137 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = true;
138 + } else {
139 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
140 + }
141 +
142 + } else {
143 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
144 + }
145 + children.removeClass('e2pdf-image-blank');
146 + }
147 + break;
41 148 }
42 -
43 - children.removeClass('e2pdf-image-blank');
44 149 };
45 150 image.onerror = function ()
46 151 {
47 152 el.removeClass('e2pdf-loader');
48 - children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.png').addClass('e2pdf-image-blank');
49 - if (el.data('data-type') === 'e2pdf-image' && (e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.WIDTH || e2pdf.properties.getValue(el, 'scale') === e2pdf.static.const.HEIGHT)) {
50 - el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
51 - } else {
52 - el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
153 + switch (el.data('data-type')) {
154 + case 'e2pdf-qrcode':
155 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/qrcode.svg').addClass('e2pdf-image-blank');
156 + el.resizable("option", "aspectRatio", true).data('uiResizable')._aspectRatio = true;
157 + break;
158 + case 'e2pdf-barcode':
159 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/barcode.svg').addClass('e2pdf-image-blank');
160 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
161 + break;
162 + case 'e2pdf-graph':
163 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/graph.svg').addClass('e2pdf-image-blank');
164 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
165 + break;
166 + case 'e2pdf-signature':
167 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/signature.svg').addClass('e2pdf-image-blank');
168 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
169 + break;
170 + case 'e2pdf-image':
171 + children.attr('src', e2pdf.url.pluginsUrl() + '/img/upload.svg').addClass('e2pdf-image-blank');
172 + el.resizable("option", "aspectRatio", false).data('uiResizable')._aspectRatio = false;
173 + break;
53 174 }
54 175 };
176 + image.src = value;
177 + },
178 + // e2pdf.helper.image.aspectRatio
179 + aspectRatio: function (el, img, properties) {
180 +
181 + var padding_top = e2pdf.helper.getFloat(el.css('padding-top'));
182 + var padding_left = e2pdf.helper.getFloat(el.css('padding-left'));
183 + var padding_right = e2pdf.helper.getFloat(el.css('padding-right'));
184 + var padding_bottom = e2pdf.helper.getFloat(el.css('padding-bottom'));
185 + var border_top = e2pdf.helper.getFloat(el.css('border-top-width'));
186 + var border_left = e2pdf.helper.getFloat(el.css('border-left-width'));
187 + var border_right = e2pdf.helper.getFloat(el.css('border-right-width'));
188 + var border_bottom = e2pdf.helper.getFloat(el.css('border-bottom-width'));
189 + var maxWidth = el.width();
190 + var maxHeight = el.height();
191 + var ratio = 0;
192 + var width = img.naturalWidth * 100000;
193 + var height = img.naturalHeight * 100000;
194 + if (width > maxWidth) {
195 + ratio = maxWidth / width;
196 + height = height * ratio;
197 + width = width * ratio;
198 + }
199 + if (height > maxHeight) {
200 + ratio = maxHeight / height;
201 + width = width * ratio;
202 + height = height * ratio;
203 + }
204 + switch (e2pdf.helper.getString(properties['vertical'])) {
205 + case 'middle':
206 + if (el.height() > height) {
207 + var top = Math.max(0, (((e2pdf.helper.getFloat(el.css('top'))) + (el.height()) / 2)) - (height / 2));
208 + e2pdf.properties.set(el, 'top', top);
209 + el.css('top', top);
210 + }
211 + break;
212 + case 'bottom':
213 + if (el.height() > height) {
214 + var top = Math.max(0, e2pdf.helper.getFloat(el.css('top')) + (el.height() - height));
215 + e2pdf.properties.set(el, 'top', top);
216 + el.css('top', top);
217 + }
218 + break;
219 + }
220 + switch (e2pdf.helper.getString(properties['horizontal'])) {
221 + case 'center':
222 + if (el.width() > width) {
223 + var left = Math.max(0, (((e2pdf.helper.getFloat(el.css('left'))) + (el.width()) / 2)) - (width / 2));
224 + e2pdf.properties.set(el, 'left', left);
225 + el.css('left', left);
226 + }
227 + break;
228 + case 'right':
229 + if (el.width() > width) {
230 + var left = Math.max(0, e2pdf.helper.getFloat(el.css('left')) + (el.width() - width));
231 + e2pdf.properties.set(el, 'left', left);
232 + el.css('left', left);
233 + }
234 + break;
235 + }
236 + e2pdf.properties.set(el, 'width', width + border_left + border_right + padding_left + padding_right);
237 + e2pdf.properties.set(el, 'height', height + border_top + border_bottom + padding_top + padding_bottom);
238 + el.width(width);
239 + el.height(height);
55 240 }
56 241 },
57 - //e2pdf.helper.convert
58 - convertPxToFloat: function (value) {
59 - return parseFloat(value.replace('px', ''));
242 + getFloat: function (value, def = 0, units = '') {
243 + const val = parseFloat(value);
244 + if (units) {
245 + return isNaN(val) ? def : val + units;
246 + } else {
247 + return isNaN(val) ? def : val;
248 + }
60 249 },
61 - //e2pdf.helper.ajaxurl
62 - ajaxurl: function (action) {
250 + getInt: function (value, def = 0, units = '') {
251 + const val = parseInt(value);
252 + if (units) {
253 + return isNaN(val) ? def : val + units;
254 + } else {
255 + return isNaN(val) ? def : val;
256 + }
63 257
258 + },
259 + getString: function (value, def = '', units = '') {
260 + const val = value;
261 + if (units) {
262 + return typeof val === 'undefined' ? def : val + units;
263 + } else {
264 + return typeof val === 'undefined' ? def : val;
265 + }
266 + },
267 + getCheckbox: function (value, def = '', units = '') {
268 + const val = value;
269 + if (units) {
270 + return typeof val === 'undefined' || val != '1' ? def : val + units;
271 + } else {
272 + return typeof val === 'undefined' || val != '1' ? def : val;
273 + }
274 + },
275 + // e2pdf.helper.toHtml
276 + toHtml: function (value) {
277 + var div = document.createElement('div');
278 + div.innerHTML = value;
279 + return (div.innerHTML);
280 + },
281 + stripHTML: function (html, ...args) {
282 + return html.replace(/<(\/?)(\w+)[^>]*\/?>/g, (_, endMark, tag) => {
283 + return args.includes(tag) ? '<' + endMark + tag + '>' : '';
284 + }).replace(/<!--.*?-->/g, '').replace(/<!--\[if(.|\n)*?<!\[endif\]-->/g, '').replace(/\s*style=(["'])(.*?)\1/gmi, '').replace(/([ \t]*\n){3,}/g, "\n\n");
285 + },
286 + // e2pdf.helper.sizeToFloat
287 + sizeToFloat: function (value, width) {
288 + if (typeof value === 'string' && value.search("%") > 0) {
289 + return parseFloat(width) * (parseFloat(value.replace('%', '')) / 100);
290 + } else {
291 + return parseFloat(value);
292 + }
293 + },
294 + // e2pdf.helper.ajaxurl
295 + ajaxurl: function (action, _wpnonce) {
64 296 if (action) {
65 - var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
297 + var url = ajaxurl + '?action=' + action + '&e2pdf_check=true&_wpnonce=' + _wpnonce;
66 298 } else {
67 - var url = ajaxurl + '?e2pdf_check=true&_nonce=' + e2pdfParams['nonce'];
299 + var url = ajaxurl + '?e2pdf_check=true&_wpnonce=' + _wpnonce;
68 300 }
69 -
70 301 return url;
302 + },
303 + // e2pdf.helper.css
304 + css: function (element_id, css) {
305 + if (typeof css === 'string') {
306 + css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
307 + return '#poststuff .e2pdf-element[data-element_id="' + element_id + '"] .e2pdf-html ' + match;
308 + });
309 + var style = jQuery('#e2pdf-html-css-' + element_id);
310 + if (style.length !== 0) {
311 + style.remove();
312 + }
313 + if (css.trim()) {
314 + var el = document.createElement('style');
315 + el.id = 'e2pdf-html-css-' + element_id;
316 + el.type = 'text/css';
317 + el.appendChild(document.createTextNode(css.trim()));
318 + document.head.appendChild(el);
319 + }
320 + }
321 + },
322 + // e2pdf.helper.cssGlobal
323 + cssGlobal: function (css) {
324 + if (typeof css === 'string') {
325 + css = css.replace(/([^{}]+?{[^}]+?})/g, function (match) {
326 + return '#poststuff .e2pdf-element .e2pdf-html ' + match;
327 + });
328 + var style = jQuery('#e2pdf-html-css');
329 + if (style.length !== 0) {
330 + style.remove();
331 + }
332 + if (css.trim()) {
333 + var el = document.createElement('style');
334 + el.id = 'e2pdf-html-css';
335 + el.type = 'text/css';
336 + el.appendChild(document.createTextNode(css.trim()));
337 + document.head.appendChild(el);
338 + }
339 + }
340 + },
341 + // e2pdf.helper.sanitizeHTML
342 + sanitizeHTML: function (html) {
343 + if (typeof html === 'string') {
344 + if (window.DOMPurify) {
345 + try {
346 + return window.DOMPurify.sanitize(html, {
347 + ADD_ATTR: [
348 + "after", "align", "ascender", "background", "before", "block-height", "block-width",
349 + "border", "border-bottom", "border-bottom-color", "border-bottom-width", "border-left",
350 + "border-left-color", "border-left-width", "border-right", "border-right-color",
351 + "border-right-width", "border-top", "border-top-color", "border-top-width", "border-width",
352 + "bordercolor", "cellpadding", "char-fill", "char-fill-color", "char-fill-size", "chunkbgcolor",
353 + "class", "color", "colspan", "complex-encoding", "descender", "direction", "display",
354 + "dir", "disable-border-top", "encoding", "extraparaspace", "face", "float", "font-family",
355 + "font-size", "font-style", "font-weight", "header-rows", "height", "href", "html-height",
356 + "html-worker", "html-width", "hyphenation", "keep-together", "letter-spacing", "leading",
357 + "line-fill", "line-fill-color", "line-fill-size", "list-style-image", "list-style-image-height",
358 + "list-style-image-size", "list-style-image-width", "list-style-type", "list-style-type-color",
359 + "list-style-type-size", "margin-bottom", "margin-left", "margin-right", "margin-top",
360 + "max-height", "max-width", "nowrap", "padding-bottom", "padding-left", "padding-right",
361 + "padding-top", "page-break-after", "page-break-before", "rotate", "rtl", "size", "split",
362 + "split-border", "split-late", "split-padding", "split-rows", "style", "text-align",
363 + "text-decoration", "text-indent", "text-transform", "valign", "width"
364 + ]
365 + });
366 + } catch (err) {
367 + }
368 + }
369 + }
370 + return html;
71 371 }
72 372 },
73 - //e2pdf.url
373 + // e2pdf.select2
374 + select2: {
375 + // e2pdf.select2.init
376 + init: function (el) {
377 + el.val('');
378 + var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
379 + var placeholder = e2pdf.lang.get('--- Select ---');
380 + if (val) {
381 + placeholder = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
382 + }
383 + el.attr('placeholder', placeholder);
384 + var select2 = document.createElement('div');
385 + select2.className = 'e2pdf-select2-dropdown';
386 + var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
387 + if (wrapper) {
388 + var select = wrapper.querySelector('select');
389 + if (select) {
390 + Array.from(select.children).forEach(function (option) {
391 + var optionDiv = document.createElement('div');
392 + optionDiv.setAttribute('value', option.value);
393 + optionDiv.innerHTML = option.textContent;
394 + select2.appendChild(optionDiv);
395 + });
396 + }
397 + el.get(0).insertAdjacentElement('afterend', select2);
398 + }
399 + },
400 + // e2pdf.select2.filter
401 + filter: function (el) {
402 + var search = el.val();
403 + var wrapper = el.closest('.e2pdf-select2-wrapper').get(0);
404 + if (wrapper) {
405 + var dropdownItems = wrapper.querySelectorAll('.e2pdf-select2-dropdown > div');
406 + dropdownItems.forEach(function (item) {
407 + if (!search) {
408 + item.style.display = "block";
409 + } else {
410 + var textContent = item.textContent.toLowerCase();
411 + var valueAttr = item.getAttribute('value') ? item.getAttribute('value').toLowerCase() : '';
412 + if (textContent.includes(search.toLowerCase()) || valueAttr.includes(search.toLowerCase()) || valueAttr === '') {
413 + item.style.display = "block";
414 + } else {
415 + item.style.display = "none";
416 + }
417 + }
418 + });
419 + }
420 + },
421 + // e2pdf.select2.update
422 + update: function (el) {
423 + var val = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').val();
424 + var text = '';
425 + if (val) {
426 + text = el.closest('.e2pdf-select2-wrapper').find('select').find('option:selected').text();
427 + } else {
428 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('placeholder', e2pdf.lang.get('--- Select ---'));
429 + }
430 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().val(text);
431 + },
432 + // e2pdf.select2.click
433 + click: function (el) {
434 + el.closest('.e2pdf-select2-wrapper').find('select').first().val(el.attr('value')).trigger('change');
435 + e2pdf.select2.close(el);
436 + },
437 + // e2pdf.select2.val
438 + val: function (el, value) {
439 + el.closest('.e2pdf-select2-wrapper').find('select').first().val(value).trigger('change');
440 + e2pdf.select2.update(el);
441 + },
442 + // e2pdf.select2.disable
443 + disable: function (el) {
444 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', 'disabled');
445 + },
446 + // e2pdf.select2.enable
447 + enable: function (el) {
448 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2').first().attr('disabled', false);
449 + },
450 + // e2pdf.select2.close
451 + close: function (el) {
452 + e2pdf.select2.update(el);
453 + el.closest('.e2pdf-select2-wrapper').find('.e2pdf-select2-dropdown').remove();
454 + }
455 + },
456 + // e2pdf.hooks
457 + hooks: {
458 + // e2pdf.hooks.get
459 + get: function () {
460 + var 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
74 501 url: {
75 - //e2pdf.url.change
502 + // e2pdf.url.change
76 503 change: function (page, path) {
77 504 if (window.history && window.history.pushState) {
78 505 var url = window.location.pathname;
79 -
80 506 if (page) {
81 507 url += '?page=' + page;
82 508 }
83 509
@@ -86,12 +512,11 @@
86 512 }
87 513 history.pushState({urlPath: url}, "", url);
88 514 }
89 515 },
90 - //e2pdf.url.build
91 - build: function (page, path, nonce) {
516 + // e2pdf.url.build
517 + build: function (page, path, _wpnonce) {
92 518 var url = window.location.pathname;
93 -
94 519 if (page) {
95 520 url += '?page=' + page;
96 521 }
97 522 if (path) {
@@ -96,25 +521,26 @@
96 521 }
97 522 if (path) {
98 523 url += '&' + path;
99 524 }
100 -
101 - if (nonce) {
102 - url += '&e2pdf_check=true&_nonce=' + e2pdfParams['nonce']
525 + if (_wpnonce) {
526 + url += '&_wpnonce=' + _wpnonce;
103 527 }
104 -
105 528 return url;
106 529 },
107 - //e2pdf.url.get
530 + // e2pdf.url.get
108 531 get: function (name, url) {
109 - if (!url)
532 + if (!url) {
110 533 url = window.location.href;
534 + }
535 + if (!name) {
536 + return url;
537 + }
111 538 name = name.replace(/[\[\]]/g, "\\$&");
112 539 var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
113 540 if (!results) {
114 541 return null;
115 542 }
116 -
117 543 if (!results[2]) {
118 544 return '';
119 545 }
120 546 return decodeURIComponent(results[2].replace(/\+/g, " "));
@@ -119,38 +545,22 @@
119 545 }
120 546 return decodeURIComponent(results[2].replace(/\+/g, " "));
121 547 },
122 548 pluginsUrl: function () {
123 - return e2pdfParams['plugins_url'];
549 + return e2pdf_params['plugins_url'];
124 550 },
125 551 uploadUrl: function () {
126 - return e2pdfParams['upload_url'];
552 + return e2pdf_params['upload_url'];
127 553 }
128 554 },
129 - //e2pdf.shortcode
130 - shortcode: {
131 - //e2pdf.shortcode.get
132 - get: function (template_id, dataset_id) {
133 -
134 - if (template_id && dataset_id) {
135 - var shortcode = '[e2pdf-download id="' + template_id + '" dataset="' + dataset_id + '"]';
136 - } else if (template_id) {
137 - var shortcode = '[e2pdf-download id="' + template_id + '"]';
138 - } else {
139 - var shortcode = false;
140 - }
141 - return shortcode;
142 - }
143 - },
144 - //e2pdf.guide
555 + // e2pdf.guide
145 556 guide: {
146 - //e2pdf.guide.calc
557 + // e2pdf.guide.calc
147 558 calc: function (el, pos, w, h, g) {
148 -
149 559 if (el != null) {
150 560 if (g) {
151 - w = parseFloat(jQuery(el).css('width')) * e2pdf.zoom.zoom;
152 - 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;
153 563 pos = jQuery(el).offset();
154 564 if (jQuery(el).hasClass('e2pdf-page')) {
155 565 pos = {
156 566 left: pos.left + 1,
@@ -157,12 +567,10 @@
157 567 top: pos.top + 1
158 568 };
159 569 }
160 570 } else {
161 -
162 571 w = parseFloat(jQuery(el).css('width'));
163 572 h = parseFloat(jQuery(el).css('height'));
164 -
165 573 if (jQuery(el).hasClass('e2pdf-page')) {
166 574 pos = {
167 575 left: 0,
168 576 top: 0
@@ -168,10 +576,10 @@
168 576 top: 0
169 577 };
170 578 } else {
171 579 pos = {
172 - left: parseFloat(e2pdf.properties.getValue(jQuery(el), 'left')),
173 - 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')
174 582 };
175 583 }
176 584 }
177 585 }
@@ -185,14 +593,29 @@
185 593 {type: "v", left: pos.left + w / 2, top: pos.top}
186 594 ];
187 595 }
188 596 },
189 - //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
190 613 pdf: {
191 - //e2pdf.pdf.settings
614 + // e2pdf.pdf.settings
192 615 settings: {
193 616 options: [],
194 - //e2pdf.pdf.settings.change
617 + // e2pdf.pdf.settings.change
195 618 change: function (key, value) {
196 619 e2pdf.pdf.settings.options[key] = value;
197 620 if (jQuery('.e2pdf-form-builder > input[name="' + key + '"]').length > 0) {
198 621 jQuery('.e2pdf-form-builder > input[name="' + key + '"]').val(value);
@@ -200,22 +623,31 @@
200 623 var input = jQuery('<input>',
201 624 {
202 625 'type': 'hidden',
203 626 'name': key,
204 - 'value': value,
627 + 'value': value
205 628 });
206 629 jQuery('.e2pdf-form-builder').append(input);
207 630 }
208 631
209 - if (key == 'extension') {
210 - 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);
211 637 }
212 638 },
213 - //e2pdf.pdf.settings.set
639 + // e2pdf.pdf.settings.set
214 640 set: function (key, value) {
215 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 + }
216 648 },
217 - //e2pdf.pdf.settings.get
649 + // e2pdf.pdf.settings.get
218 650 get: function (key) {
219 651 if (typeof e2pdf.pdf.settings.options[key] === 'undefined') {
220 652 return null;
221 653 } else {
@@ -223,63 +655,69 @@
223 655 }
224 656 }
225 657 }
226 658 },
227 - //e2pdf.static
659 + // e2pdf.static
228 660 static: {
229 - //e2pdf.static.unsaved
661 + // e2pdf.static.unsaved
230 662 unsaved: false,
231 - //e2pdf.static.mediaUploader
663 + // e2pdf.static.mediaUploader
232 664 mediaUploader: false,
233 - //e2pdf.static.autoloadExport
665 + // e2pdf.static.autoloadExport
234 666 autoloadExport: false,
235 - //e2pdf.static.selectionRange
667 + // e2pdf.static.selectionRange
236 668 selectionRange: null,
237 - //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
238 681 guide: {
239 - //e2pdf.static.guide.guides
682 + // e2pdf.static.guide.guides
240 683 guides: [],
241 - //e2pdf.static.guide.distance
684 + // e2pdf.static.guide.distance
242 685 distance: 5,
243 686 x: 0,
244 687 y: 0
245 688 },
246 - //e2pdf.static.drag
689 + // e2pdf.static.drag
247 690 drag: {
248 - //e2pdf.static.drag.min_top
691 + // e2pdf.static.drag.min_top
249 692 min_top: 0,
250 - //e2pdf.static.drag.max_top
693 + // e2pdf.static.drag.max_top
251 694 max_top: 0,
252 - //e2pdf.static.drag.min_left
695 + // e2pdf.static.drag.min_left
253 696 min_left: 0,
254 - //e2pdf.static.drag.max_left
697 + // e2pdf.static.drag.max_left
255 698 max_left: 0,
256 - //e2pdf.static.drag.page
257 - page: null,
258 - },
259 - //e2pdf.static.const
260 - const: {
261 - 'WIDTH_HEIGHT': '0',
262 - 'WIDTH': '1',
263 - 'HEIGHT': '2'
699 + // e2pdf.static.drag.page
700 + page: null
264 701 }
265 702 },
266 - //e2pdf.event
703 + // e2pdf.event
267 704 event: {
268 - //e2pdf.event.fire
705 + // e2pdf.event.fire
269 706 fire: function (event, action, el) {
270 - if (event === 'after.pages.deletePage'
271 - || event === 'after.createPdf'
272 - || event === 'after.pages.createPage.newpage'
273 - || event === 'after.element.create'
274 - || event === 'after.element.delete'
275 - || event === 'after.settings.style.change'
276 - || event === 'after.settings.template.change'
277 - || event === 'after.wysiwyg.apply'
278 - || event === 'after.request.submitLocal'
279 - || event === 'after.mediaUploader.select'
280 - || event === 'after.element.moved'
281 - || event === 'after.pages.movePage'
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'
282 720 ) {
283 721 e2pdf.static.unsaved = true;
284 722 }
285 723
@@ -291,11 +729,10 @@
291 729 jQuery('.e2pdf-color-picker-load').each(function () {
292 730 jQuery(this).wpColorPicker(
293 731 {
294 732 defaultColor: function () {
295 - var el = jQuery(event.target).parent().find('.e2pdf-color-picker');
296 - if (el.attr('data-default')) {
297 - return el.attr('data-default');
733 + if (jQuery(this).attr('data-default')) {
734 + return jQuery(this).attr('data-default');
298 735 } else {
299 736 return;
300 737 }
301 738 },
@@ -306,75 +743,98 @@
306 743 ).removeClass('e2pdf-color-picker-load');
307 744 });
308 745 }
309 746
310 - if (event === 'after.dialog.create') {
311 - e2pdf.element.unselect();
312 - }
313 -
314 - if (event === 'after.pages.deletePage'
315 - || event === 'after.pages.createPage.newpage') {
747 + if (event === 'after.pages.deletePage' || event === 'after.pages.createPage.newpage') {
316 748 jQuery('#e2pdf-zoom').trigger('change');
317 749 }
318 750
319 751 if (event === 'before.request.submitRequest') {
320 752 el.attr('disabled', 'disabled');
321 -
322 - if (action === 'e2pdf_auto') {
323 - 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;
324 784 }
325 - if (action === 'e2pdf_extension') {
326 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', 'disabled');
327 - }
328 -
329 - if (action === 'e2pdf_templates') {
330 - el.closest('form').find('#e2pdf-export-form-submit, #e2pdf-export-dataset').attr('disabled', 'disabled');
331 - el.closest('form').find('#e2pdf-template-link, #e2pdf-item-link, #e2pdf-delete-item, #e2pdf-delete-items').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
332 - }
333 -
334 - if (action === 'e2pdf_dataset') {
335 - el.closest('form').find('#e2pdf-export-form-submit').attr('disabled', 'disabled');
336 - el.closest('form').find('#e2pdf-item-link, #e2pdf-delete-item').attr('href', 'javascript:void(0);').attr('disabled', 'disabled');
337 - }
338 785 }
339 786
340 787 if (event === 'after.request.submitRequest.error' || event === 'after.request.submitRequest.success') {
341 - el.attr('disabled', false);
342 - if (action === 'e2pdf_auto') {
343 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
788 + if (action !== 'e2pdf_deactivate_all_templates' && action !== 'e2pdf_license_key') {
789 + el.attr('disabled', false);
344 790 }
345 - if (action === 'e2pdf_extension') {
346 - el.closest('form').find('#e2pdf-item').find('option').remove();
347 - el.closest('form').find('.e2pdf-create-pdf, #e2pdf-item').attr('disabled', false);
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;
348 810 }
349 - if (action === 'e2pdf_get_styles') {
350 - jQuery('link[id^="e2pdf-dynamic-style-"]').remove();
351 - }
352 811 }
353 812
354 813 if (event === 'before.request.upload') {
355 - 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');
356 815 }
357 816
358 817 if (event === 'after.request.upload.error' || event === 'after.request.upload.success') {
359 - el.closest('form').find('.e2pdf-submit, #e2pdf-extension, #e2pdf-item').attr('disabled', false);
360 - el.closest('form').find('#e2pdf-upload-pdf').replaceWith(
361 - jQuery('<input>', {'id': 'e2pdf-upload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-upload-pdf e2pdf-hide'})
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'})
362 823 );
363 - el.closest('form').find('#e2pdf-reupload-pdf').replaceWith(
364 - jQuery('<input>', {'id': 'e2pdf-reupload-pdf', 'type': 'file', 'name': 'pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
824 + el.closest('form').find('.e2pdf-reupload-pdf').replaceWith(
825 + jQuery('<input>', {'type': 'file', 'name': 'pdf', 'accept': '.pdf', 'class': 'e2pdf-reupload-pdf e2pdf-hide'})
365 826 );
366 827 }
367 828 }
368 829 },
369 - //e2pdf.form
830 + // e2pdf.form
370 831 form: {
371 - //e2pdf.form.serializeObject
832 + // e2pdf.form.serializeObject
372 833 serializeObject: function (form) {
373 834
374 835 var o = {};
375 836 var a = form.serializeArray();
376 -
377 837 jQuery.each(a, function () {
378 838 if (this.name.endsWith('[]')) {
379 839
380 840 var name = this.name;
@@ -387,9 +847,8 @@
387 847
388 848 var name = this.name;
389 849 var path = name.split(/[\[\]]+/);
390 850 var curItem = o;
391 -
392 851 for (var j = 0; j < path.length - 2; j++)
393 852 {
394 853 if (!(path[j] in curItem))
395 854 {
@@ -398,9 +857,8 @@
398 857 curItem = curItem[path[j]];
399 858 }
400 859
401 860 curItem[path[j]] = this.value || '';
402 -
403 861 } else {
404 862 o[this.name] = this.value || '';
405 863 }
406 864 });
@@ -405,9 +863,9 @@
405 863 }
406 864 });
407 865 return o;
408 866 },
409 - //e2pdf.form.serializeElements
867 + // e2pdf.form.serializeElements
410 868 serializeElements: function () {
411 869 var o = {};
412 870 jQuery('.e2pdf-element').each(
413 871 function (index) {
@@ -412,103 +870,123 @@
412 870 jQuery('.e2pdf-element').each(
413 871 function (index) {
414 872 var el = {};
415 873 el.type = jQuery(this).data('data-type');
416 - el.properties = e2pdf.properties.get(jQuery(this), true);
874 + el.properties = e2pdf.properties.get(jQuery(this));
417 875 el.actions = e2pdf.actions.get(jQuery(this));
418 876 el.top = jQuery(this).css('top');
419 877 el.left = jQuery(this).css('left');
420 878 el.width = jQuery(this).css('width');
421 879 el.height = jQuery(this).css('height');
422 - if (jQuery(this).data('data-type') == 'e2pdf-html') {
423 - el.value = jQuery(this).find('.e2pdf-html').html();
424 - } else if (jQuery(this).data('data-type') == 'e2pdf-input') {
425 - el.value = jQuery(this).find('.e2pdf-input').val();
426 - } else if (jQuery(this).data('data-type') == 'e2pdf-textarea') {
427 - el.value = jQuery(this).find('.e2pdf-textarea').val();
428 - } else if (jQuery(this).data('data-type') == 'e2pdf-checkbox') {
429 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
430 - } else if (jQuery(this).data('data-type') == 'e2pdf-radio') {
431 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
432 - } else if (jQuery(this).data('data-type') == 'e2pdf-select') {
433 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
434 - } else if (jQuery(this).data('data-type') == 'e2pdf-image') {
435 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
436 - } else if (jQuery(this).data('data-type') == 'e2pdf-link') {
437 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
438 - } else if (jQuery(this).data('data-type') == 'e2pdf-signature') {
439 - el.value = e2pdf.properties.getValue(jQuery(this), 'value');
440 - } else {
441 - el.value = jQuery(this).html();
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;
442 912 }
913 + el.name = e2pdf.helper.getString(el.properties['name']);
443 914 el.page_id = jQuery(this).closest('.e2pdf-page').attr('data-page_id');
444 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'];
445 925 o[index] = el;
446 926 });
447 927 return o;
448 928 }
449 929 },
450 - //e2pdf.font
930 + // e2pdf.font
451 931 font: {
452 - //e2pdf.font.load
932 + // e2pdf.font.load
453 933 load: function (el) {
934 + var name, value;
454 935 if (el.is('select')) {
455 - var name = el.val();
456 - var value = el.find('option:selected').attr('path');
936 + name = el.val();
937 + value = el.find('option:selected').attr('path');
457 938 } else if (el.is('div')) {
458 - var name = el.attr('name');
459 - var value = el.attr('path');
939 + name = el.attr('name');
940 + value = el.attr('path');
460 941 }
461 -
462 - if (jQuery("head").find('style[name="' + name + '"]').length === 0) {
463 - jQuery("head").append("<style name='" + name + "' type='text/css'>@font-face {font-family: " + name + "; src: url('" + e2pdf.url.uploadUrl() + "/fonts/" + value + "')}</style>");
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 + );
464 949 }
465 950 },
466 - //e2pdf.font.apply
951 + // e2pdf.font.apply
467 952 apply: function (el, font) {
468 - var font_name = font.find('option:selected').html();
469 - if (font_name) {
470 - el.css('font-family', font_name);
471 - } else {
472 - el.css('font-family', '');
473 - }
953 + let font_name = font.find('option:selected').html();
954 + el.css('font-family', font_name ? CSS.escape(font_name) : '');
474 955 },
475 - //e2pdf.font.size
956 + // e2pdf.font.size
476 957 size: function (el, size) {
477 - var font_size = size.find('option:selected').html();
478 - el.css({'font-size': font_size});
958 + var font_size = size.val();
959 + el.css({'font-size': font_size + "px"});
479 960 },
480 - //e2pdf.font.line
961 + // e2pdf.font.line
481 962 line: function (el, height) {
482 - var line_height = height.find('option:selected').html();
483 - el.css({'line-height': line_height});
963 + var line_height = height.val();
964 + el.css({'line-height': line_height + "px"});
484 965 },
485 - //e2pdf.font.color
966 + // e2pdf.font.color
486 967 fontcolor: function (el, color) {
487 968 var font_color = color.val();
488 969 el.css({'color': font_color});
489 970 },
490 - //e2pdf.font.delete
971 + // e2pdf.font.delete
491 972 delete: function (el) {
492 973 var font = el.attr('data-font');
493 974 e2pdf.request.submitRequest('e2pdf_delete_font', el, font);
494 975 }
495 976 },
496 - //e2pdf.request
977 + // e2pdf.request
497 978 request: {
498 - //e2pdf.request.upload
979 + // e2pdf.request.upload
499 980 upload: function (action, el) {
500 -
501 981 if (el.attr('disabled')) {
502 982 return;
503 983 }
504 -
505 984 var data = new FormData(el.closest('form')[0]);
506 985 e2pdf.event.fire('before.request.upload', action, el);
507 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
508 - loader.css('visibility', 'visible').fadeIn();
986 + jQuery('html').addClass('e2pdf-loading');
509 987 jQuery.ajax({
510 - url: e2pdf.helper.ajaxurl(action),
988 + url: e2pdf.helper.ajaxurl(action, e2pdf_params['nonce']['e2pdf_templates']),
511 989 type: 'POST',
512 990 data: data,
513 991 cache: false,
514 992 contentType: false,
@@ -513,540 +991,743 @@
513 991 cache: false,
514 992 contentType: false,
515 993 processData: false,
516 994 success: function (response) {
517 - loader.css('visibility', 'hidden').fadeOut();
518 - e2pdf.event.fire('after.request.upload.success', action, el);
519 995 if (response.redirect !== undefined) {
520 - // recheck if redirect fires in other cases when not upload pdf
996 + e2pdf.event.fire('after.request.upload.success', action, el);
521 997 e2pdf.static.unsaved = false;
522 998 location.href = response.redirect;
523 999 } else if (response.error !== undefined) {
1000 + jQuery('html').removeClass('e2pdf-loading');
1001 + e2pdf.event.fire('after.request.upload.error', action, el);
524 1002 alert(response.error);
525 - } else if (response.content) {
526 - e2pdf.request.callBack(action, response.content);
1003 + } else {
1004 + jQuery('html').removeClass('e2pdf-loading');
1005 + e2pdf.event.fire('after.request.upload.error', action, el);
527 1006 }
528 1007 },
529 1008 error: function (response) {
530 - loader.css('visibility', 'hidden').fadeOut();
531 - 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);
532 1011 }
533 1012 });
534 1013 },
535 - //e2pdf.request.submitForm
1014 + // e2pdf.request.submitForm
536 1015 submitForm: function (el) {
537 1016 if (el.attr('disabled')) {
538 1017 return;
539 1018 }
540 1019 el.attr('disabled', 'disabled');
541 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
542 - loader.css('visibility', 'visible').fadeIn();
1020 + jQuery('html').addClass('e2pdf-loading');
543 1021 e2pdf.event.fire('before.request.submitForm');
544 1022 var form_id = el.attr('form-id');
545 1023 var form = jQuery(document.getElementById(form_id));
546 1024 var data = e2pdf.form.serializeObject(form);
547 - if (form_id === 'e2pdf_build_form') {
548 - var elements = e2pdf.form.serializeElements();
549 - data.pages = {};
550 - jQuery('.e2pdf-page').each(function () {
551 - var page_id = jQuery(this).attr('data-page_id');
552 - data.pages[page_id] = {};
553 - var properties = {};
554 - var page_elements = [];
555 - properties['width'] = jQuery(this).css('width').replace('px', '');
556 - properties['height'] = jQuery(this).css('height').replace('px', '');
557 - data.pages[page_id]['properties'] = properties;
558 - data.pages[page_id]['actions'] = e2pdf.actions.get(jQuery(this));
559 - data.pages[page_id]['elements'] = page_elements;
560 - });
561 - for (var key in elements) {
562 - data.pages[elements[key].page_id]['elements'].push(elements[key]);
563 - }
564 - data = JSON.stringify(data);
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;
565 1063 }
566 -
567 - if (form_id === 'e2pdf-email') {
568 -
569 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').removeClass('e2pdf-hidden-loader');
570 - data = {};
571 - data['email'] = form.find('input[name="email"]').val();
572 - if (form.find('input[name="email_code"]').length > 0) {
573 - data['email_code'] = form.find('input[name="email_code"]').val();
574 - }
575 - }
576 -
577 - var action = el.attr('action');
578 - el.parent().find('.spinner').css('visibility', 'visible').fadeIn();
1064 + jQuery('html').addClass('e2pdf-loading');
579 1065 if (el.attr('target') === '_blank') {
580 1066 var post_form = jQuery('<form>', {'target': '_blank', 'method': 'POST', 'action': el.attr('href')}).append(
581 - jQuery('<textarea>', {'name': 'preview', 'value': data})
1067 + jQuery('<textarea>', {'name': 'preview'}).val(data)
582 1068 ).hide();
583 1069 jQuery('body').append(post_form);
584 1070 post_form.submit();
585 1071 post_form.remove();
586 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
587 - loader.css('visibility', 'hidden').fadeOut();
1072 + jQuery('html').removeClass('e2pdf-loading');
588 1073 el.attr('disabled', false);
589 1074 return false;
590 1075 }
591 -
592 1076 jQuery.ajax({
593 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1077 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
594 1078 data: {action: action, data: data},
595 1079 success: function (response) {
596 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
597 - loader.css('visibility', 'hidden').fadeOut();
598 - el.attr('disabled', false);
599 1080 if (response.redirect !== undefined) {
600 1081 location.href = response.redirect;
601 - } else if (response.error !== undefined) {
602 - alert(response.error);
603 - } else if (response.content) {
604 - e2pdf.request.callBack(action, response.content, el);
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 + }
605 1093 }
606 1094 },
607 1095 error: function (response) {
608 - el.parent().find('.spinner').css('visibility', 'hidden').fadeOut();
609 - loader.css('visibility', 'hidden').fadeOut();
1096 + jQuery('html').removeClass('e2pdf-loading');
610 1097 el.attr('disabled', false);
611 1098 }
612 1099 });
613 1100 },
614 - //e2pdf.request.submitRequest
1101 + // e2pdf.request.submitRequest
615 1102 submitRequest: function (action, el, value) {
616 -
617 1103 if (el.attr('disabled')) {
618 1104 return;
619 1105 }
620 -
621 - var loader = el.closest('form').find('.e2pdf-form-loader .spinner');
1106 + if (action !== 'e2pdf_bulk_progress') {
1107 + jQuery('html').addClass('e2pdf-loading');
1108 + }
622 1109 if (!value) {
623 1110 var value = el.val();
624 1111 }
625 - 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 +
626 1117 e2pdf.event.fire('before.request.submitRequest', action, el);
627 1118 jQuery.ajax({
628 - type: 'POST', url: e2pdf.helper.ajaxurl(),
1119 + type: 'POST', url: e2pdf.helper.ajaxurl(false, _wpnonce),
629 1120 data: {action: action, data: value},
630 1121 success: function (response) {
631 - loader.css('visibility', 'hidden').fadeOut();
632 1122 e2pdf.event.fire('after.request.submitRequest.success', action, el);
633 1123 if (response.redirect !== undefined) {
634 1124 location.href = response.redirect;
635 1125 } else if (response.error !== undefined) {
1126 + jQuery('html').removeClass('e2pdf-loading');
636 1127 alert(response.error);
637 1128 } else if (response.content) {
638 1129 e2pdf.request.callBack(action, response.content, el);
1130 + jQuery('html').removeClass('e2pdf-loading');
1131 + } else {
1132 + jQuery('html').removeClass('e2pdf-loading');
639 1133 }
640 1134 },
641 1135 error: function (response) {
642 - loader.css('visibility', 'hidden').fadeOut();
1136 + jQuery('html').removeClass('e2pdf-loading');
643 1137 e2pdf.event.fire('after.request.submitRequest.error', action, el);
644 1138 }
645 1139 });
646 1140 },
647 - //e2pdf.request.submitLocal
648 - submitLocal: function (el) {
1141 + // e2pdf.request.submitLocal
1142 + submitLocal: function (el, noclose = false) {
649 1143 var form_id = el.attr('form-id');
650 -
651 1144 var form = jQuery(document.getElementById(form_id));
652 1145 var data = e2pdf.form.serializeObject(form);
653 -
654 - if (form_id === 'e2pdf-page-options') {
655 - var width = data['width'];
656 - var height = data['height'];
657 - var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
658 - e2pdf.actions.apply(page, data['actions']);
659 - e2pdf.pages.changePageSize(page, width, height);
660 - e2pdf.event.fire('after.request.submitLocal', false, page);
661 - } else {
662 - var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
663 -
664 - e2pdf.actions.apply(element, data['actions']);
665 - delete data['actions'];
666 -
667 - e2pdf.properties.apply(element, data);
668 - e2pdf.properties.render(element);
669 - e2pdf.dialog.close();
670 - e2pdf.event.fire('after.request.submitLocal', false, el);
671 - }
672 -
673 - e2pdf.dialog.close();
674 -
675 -
676 - },
677 - //e2pdf.request.callBack
678 - callBack: function (action, result, el) {
679 -
680 - if (action === 'e2pdf_email') {
681 -
682 - if (result === 'subscribed') {
683 - jQuery('.e2pdf-email-lock').remove();
684 - } else {
685 - jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
686 - var form_id = el.attr('form-id');
687 - var form = jQuery(document.getElementById(form_id));
688 - form.find('label').html(e2pdfLang['Confirmation code'] + ":");
689 - form.find('input[name="email"]').attr('type', 'hidden');
690 - jQuery('<input/>', {'type': 'text', 'name': 'email_code', 'placeholder': e2pdfLang['Code']}).insertAfter(form.find('input[name="email"]'));
691 - }
692 - }
693 -
694 - if (action === 'e2pdf_extension') {
695 - for (var key in result) {
696 - var option = jQuery('<option>',
697 - {
698 - 'value': result[key]['key']
699 - }).html(result[key]['value']);
700 - if (e2pdf.pdf.settings.get('item') === result[key]['key']) {
701 - option.attr('selected', 'selected');
702 - }
703 -
704 - jQuery('#e2pdf-item').append(option);
705 - }
706 - }
707 -
708 - if (action === 'e2pdf_get_styles') {
709 - for (var key in result) {
710 - jQuery('<link>', {'id': 'e2pdf-dynamic-style-' + key + '-css', 'type': 'text/css', 'rel': 'stylesheet', 'href': result[key]}).appendTo('head');
711 - }
712 - }
713 - if (action === 'e2pdf_visual_mapper') {
714 - el.html(result);
715 - e2pdf.visual.mapper.markup();
716 - }
717 - if (action === 'e2pdf_templates') {
718 -
719 - var dataset_field = jQuery('#e2pdf-export-dataset');
720 - dataset_field.attr('disabled', 'disabled').find('option').remove();
721 - for (var key in result['datasets']) {
722 - var option = jQuery('<option>',
723 - {
724 - 'value': result['datasets'][key]['key']
725 - }).html(result['datasets'][key]['value']);
726 - dataset_field.append(option);
727 - }
728 -
729 - dataset_field.val('');
730 - if (Object.keys(result['datasets']).length > 1) {
731 - dataset_field.attr('disabled', false);
732 - }
733 -
734 - var options = jQuery('#e2pdf-export-form .e2pdf-options');
735 - options.hide();
736 - options.find('input[type="text"]').val('').attr('disabled', 'disabled');
737 - options.find('select').val('0').attr('disabled', 'disabled');
738 - options.find('input[type="checkbox"]').attr('checked', false).attr('disabled', 'disabled');
739 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
740 - jQuery('#e2pdf-dataset-shortcode').val('');
741 - jQuery('#e2pdf-template-shortcode').val('');
742 - if (Object.keys(result['options']).length > 0) {
743 - for (var key in result['options']) {
744 - var field = options.find('[name="options[' + key + ']"]');
745 - if (field.attr('type') === 'text' || field.is("select")) {
746 - field.val(result['options'][key]);
747 - } else if (field.attr('type') === 'hidden' && result['options'][key] === "1") {
748 - var checkbox = options.find('input[type="checkbox"][name="options[' + key + ']"]');
749 - checkbox.attr('checked', 'checked');
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 + }
750 1157 }
751 1158 }
752 -
753 - var template_id = jQuery('#e2pdf-export-template').val();
754 - options.find('input[type="text"]').attr('disabled', false);
755 - options.find('input[type="checkbox"]').attr('disabled', false);
756 - options.find('select').attr('disabled', false);
757 - jQuery('#e2pdf-template-link').attr('href', result['url']).attr('disabled', false);
758 - jQuery('#e2pdf-template-shortcode').val(e2pdf.shortcode.get(template_id, false));
759 - if (result['delete_items']) {
760 - jQuery('#e2pdf-delete-items').attr({'template': template_id, 'disabled': false});
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;
761 1164 }
762 -
763 - options.slideDown();
764 - if (e2pdf.static.autoloadExport) {
765 - if (e2pdf.url.get('dataset_id')) {
766 - if (dataset_field.find('option[value="' + e2pdf.url.get('dataset_id') + '"]').length > 0) {
767 - dataset_field.val(e2pdf.url.get('dataset_id')).change();
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;
768 1182 }
769 1183 }
770 - e2pdf.static.autoloadExport = false;
771 - } else {
772 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
773 1184 }
774 -
775 - dataset_field.change();
776 - } else {
777 - e2pdf.url.change('e2pdf');
778 - }
779 - }
780 - if (action === 'e2pdf_dataset') {
781 - var template_id = jQuery('#e2pdf-export-template').val();
782 - var dataset_id = jQuery('#e2pdf-export-dataset').val();
783 - jQuery('#e2pdf-dataset-shortcode-wr').hide();
784 - jQuery('#e2pdf-dataset-shortcode').val('');
785 - if (dataset_id && dataset_id != "0") {
786 - jQuery('#e2pdf-dataset-shortcode').val(e2pdf.shortcode.get(template_id, dataset_id));
787 - jQuery('#e2pdf-dataset-shortcode-wr').show();
788 - }
789 -
790 - if (result['export']) {
791 - var export_url = e2pdf.url.build('e2pdf', 'action=export&template_id=' + template_id + '&dataset_id=' + dataset_id);
792 - jQuery('#e2pdf-export-form').attr('action', export_url);
793 - jQuery('#e2pdf-export-form-submit').attr('disabled', false);
794 - e2pdf.url.change('e2pdf', 'template_id=' + template_id + '&dataset_id=' + dataset_id);
795 - } else {
796 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
797 - }
798 -
799 - if (result['view'] && result['dataset']) {
800 - jQuery('#e2pdf-item-link').attr('href', result['dataset']['url']).attr('disabled', false);
801 - }
802 -
803 - if (result['delete_item'] && result['dataset']) {
804 - jQuery('#e2pdf-delete-item').attr({'template': template_id, 'dataset': dataset_id, 'disabled': false});
805 - }
806 -
807 - }
808 - if (action === 'e2pdf_activate_template' || action === 'e2pdf_deactivate_template') {
809 - if (action === 'e2pdf_activate_template') {
810 - el.removeClass('e2pdf-activate-template e2pdf-color-red').addClass('e2pdf-deactivate-template e2pdf-color-green').text(e2pdfLang['Activated']);
811 - } else {
812 - el.removeClass('e2pdf-deactivate-template e2pdf-color-green').addClass('e2pdf-activate-template e2pdf-color-red').text(e2pdfLang['Not Activated']);
813 - }
814 - }
815 - if (action === 'e2pdf_auto' || action === 'e2pdf_upload') {
816 - var elements = result.elements;
817 - var width = e2pdf.pdf.settings.get('width');
818 - var height = e2pdf.pdf.settings.get('height');
819 - e2pdf.pages.changeTplSize(width, height);
820 - e2pdf.pages.createPage();
821 - jQuery('.ui-dialog-content').dialog('close');
822 - var bottom = 0;
823 - var start_top = 0;
824 - if (typeof result.page !== 'undefined') {
825 - if (typeof result.page.bottom !== 'undefined') {
826 - bottom = parseFloat(result.page.bottom);
1185 + if (action_error) {
1186 + setTimeout(function () {
1187 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1188 + }, 0);
1189 + return;
827 1190 }
828 - if (typeof result.page.top !== 'undefined') {
829 - start_top = parseFloat(result.page.top);
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', '');
830 1203 }
831 - }
832 -
833 - var correction = 0;
834 - var last_block = false;
835 - var i = 1;
836 - var page = jQuery('.e2pdf-page').last();
837 - for (var key in elements) {
838 - var element = elements[key];
839 - var type = element.type;
840 - var block = false;
841 - var float = false;
842 - var last_block_properties = false;
843 - var margin_left = 0;
844 - var margin_right = 0;
845 - var add_width = 0;
846 - var properties = {};
847 -
848 - if (element.properties) {
849 - for (var property in element.properties) {
850 - properties[property] = element.properties[property];
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 + }
851 1216 }
852 1217 }
853 - if (typeof element.margin_left !== 'undefined') {
854 - margin_left = parseFloat(element.margin_left);
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;
855 1223 }
856 - if (typeof element.margin_right !== 'undefined') {
857 - margin_right = parseFloat(element.margin_right);
1224 + var history = [];
1225 + history.push(element.clone(true));
1226 + e2pdf.history.set('element_change', history);
1227 + e2pdf.actions.apply(element, data['actions']);
1228 + delete data['actions'];
1229 + e2pdf.properties.apply(element, data);
1230 + e2pdf.properties.render(element);
1231 + e2pdf.event.fire('after.request.submitLocal', false, el);
1232 + break;
1233 + }
1234 + if (!noclose) {
1235 + e2pdf.dialog.close();
1236 + }
1237 + },
1238 + // e2pdf.request.callBack
1239 + callBack: function (action, result, el) {
1240 + switch (action) {
1241 + case 'e2pdf_email':
1242 + if (result === 'subscribed') {
1243 + jQuery('.e2pdf-email-lock').remove();
1244 + } else {
1245 + jQuery('.e2pdf-email-lock .e2pdf-form-loader').addClass('e2pdf-hidden-loader');
1246 + var form_id = el.attr('form-id');
1247 + var form = jQuery(document.getElementById(form_id));
1248 + form.find('label').html(e2pdf.lang.get('Confirmation Code') + ":");
1249 + form.find('input[name="email"]').attr('type', 'hidden');
1250 + jQuery('<input>', {'type': 'text', 'name': 'email_code', 'class': 'e2pdf-w100 e2pdf-enter', 'placeholder': e2pdf.lang.get('Code')}).insertAfter(form.find('input[name="email"]'));
858 1251 }
859 - if (typeof element.add_width !== 'undefined') {
860 - add_width = parseFloat(element.add_width);
1252 + break;
1253 + case 'e2pdf_extension':
1254 + for (var key in result) {
1255 + var option = jQuery('<option>',
1256 + {
1257 + 'value': result[key]['id']
1258 + }).html(result[key]['name']);
1259 + if (e2pdf.pdf.settings.get('item') === result[key]['id']) {
1260 + option.attr('selected', 'selected');
1261 + }
1262 + option.data('data-item', result[key]);
1263 + jQuery('.e2pdf-item').append(option);
861 1264 }
862 -
863 - properties['margin_left'] = parseFloat(element.left);
864 - properties['margin_right'] = parseFloat(element.right);
865 -
866 - if (typeof element.block !== 'undefined') {
867 - block = element.block;
1265 + for (var key in result) {
1266 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1267 + var option = jQuery('<option>',
1268 + {
1269 + 'value': result[key]['id']
1270 + }).html(result[key]['name']);
1271 + if (e2pdf.pdf.settings.get('item1') === result[key]['id']) {
1272 + option.attr('selected', 'selected');
1273 + }
1274 + option.data('data-item', result[key]);
1275 + jQuery('.e2pdf-item1').append(option);
1276 + }
868 1277 }
869 -
870 - if (typeof element.float !== 'undefined') {
871 - float = element.float;
1278 + for (var key in result) {
1279 + if (result[key]['id'] != '-1' && result[key]['id'] != '-2') {
1280 + var option = jQuery('<option>',
1281 + {
1282 + 'value': result[key]['id']
1283 + }).html(result[key]['name']);
1284 + if (e2pdf.pdf.settings.get('item2') === result[key]['id']) {
1285 + option.attr('selected', 'selected');
1286 + }
1287 + option.data('data-item', result[key]);
1288 + jQuery('.e2pdf-item2').append(option);
1289 + }
872 1290 }
873 -
874 - if (last_block) {
875 - last_block_properties = e2pdf.properties.get(last_block);
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 + }
876 1300 }
877 -
878 - if (block) {
879 - if (typeof properties.width === 'undefined') {
880 - if (typeof element.width !== 'undefined') {
881 - if (typeof element.width === 'string' && element.width.search("%") > 0) {
882 - properties['width'] = Math.floor((width * (parseFloat(element.width.replace('%', '')) / 100)) - parseFloat(element.left) - parseFloat(element.right));
1301 + break;
1302 + case 'e2pdf_visual_mapper':
1303 + el.html(result);
1304 + var height = el.outerHeight();
1305 + e2pdf.visual.mapper.markup();
1306 + if (window.ResizeObserver) {
1307 + e2pdf.static.observer = new ResizeObserver((mutationsList, observer) => {
1308 + for (var mutation of mutationsList) {
1309 + if (el.outerHeight() != height) {
1310 + e2pdf.visual.mapper.rebuild();
1311 + }
1312 + }
1313 + });
1314 + e2pdf.static.observer.observe(el[0]);
1315 + }
1316 + var images = el.find('img');
1317 + var counter = 0;
1318 + counter = images.length;
1319 + images.each(function () {
1320 + var img = new Image();
1321 + img.onload = function () {
1322 + counter--;
1323 + if (counter === 0) {
1324 + e2pdf.visual.mapper.rebuild();
1325 + }
1326 + };
1327 + img.onerror = function () {
1328 + counter--;
1329 + if (counter === 0) {
1330 + e2pdf.visual.mapper.rebuild();
1331 + }
1332 + };
1333 + img.src = jQuery(this).attr('src');
1334 + });
1335 + break;
1336 + case 'e2pdf_templates':
1337 + var template_id = result['id'];
1338 + if (template_id) {
1339 + jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1340 + for (var key in result['datasets']) {
1341 + var options = [];
1342 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1343 + dataset_field.closest('.e2pdf-export-item').show();
1344 + for (var subkey in result['datasets'][key]) {
1345 + var option = {
1346 + key: result['datasets'][key][subkey]['key'].toString(),
1347 + value: result['datasets'][key][subkey]['value'].toString()
1348 + };
1349 + options.push(option);
1350 + if (e2pdf.url.get('action') == 'bulk') {
1351 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
883 1352 } else {
884 - properties['width'] = parseFloat(element.width);
1353 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
885 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 + }
886 1366 } else {
887 - properties['width'] = width - parseFloat(element.left) - parseFloat(element.right);
1367 + dataset_field.val('');
1368 + e2pdf.select2.update(dataset_field);
1369 + e2pdf.select2.enable(dataset_field);
888 1370 }
889 1371 }
890 - if (float && last_block) {
891 - var start_left = last_block_properties.left + last_block_properties.width + last_block_properties.margin_right;
892 - if (width - start_left >= properties.width + parseFloat(element.left) + parseFloat(element.right)) {
893 - if (page.find(last_block).length === 0) {
894 - page = last_block.closest('.e2pdf-page');
895 - }
896 - properties['left'] = start_left + parseFloat(element.left);
897 - } else {
898 - float = false;
899 - properties['left'] = parseFloat(element.left);
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]));
900 1376 }
901 - } else {
902 - float = false;
903 - properties['left'] = parseFloat(element.left);
1377 + jQuery('.e2pdf-export-template-actions').append(ul);
904 1378 }
905 - } else {
906 - if (last_block) {
907 - if (typeof properties.left === 'undefined') {
908 - if (typeof element.left !== 'undefined') {
909 - if (typeof element.left === 'string' && element.left.search("%") > 0) {
910 - if (element.left.startsWith("-")) {
911 - properties['left'] = last_block_properties.left - Math.floor((last_block_properties.width * (parseFloat(element.left.replace('%', '').replace('-', '')) / 100))) + margin_left;
912 - } else {
913 - properties['left'] = last_block_properties.left + Math.floor((last_block_properties.width * (parseFloat(element.left.replace('%', '')) / 100))) + margin_left;
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();
914 1393 }
915 -
916 - } else {
917 - properties['left'] = last_block_properties.left + parseFloat(element.left);
1394 + jQuery(this).val('');
918 1395 }
919 - } else {
920 - properties['left'] = last_block_properties.left;
921 1396 }
1397 + } else {
1398 + jQuery(this).val('');
922 1399 }
923 - if (typeof properties.width === 'undefined') {
924 - if (typeof element.width !== 'undefined') {
925 - if (typeof element.width === 'string' && element.width.search("%") > 0) {
926 - properties['width'] = Math.floor((last_block_properties.width * (parseFloat(element.width.replace('%', '')) / 100))) + add_width;
927 - } else {
928 - properties['width'] = parseFloat(element.width);
929 - }
930 - } else {
931 - properties['width'] = last_block_properties.width - parseFloat(element.left) - parseFloat(element.right);
1400 + if (jQuery(this).attr('name') == 'options[name]') {
1401 + if (e2pdf.url.get('action') == 'bulk') {
1402 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
932 1403 }
933 1404 }
934 - } else {
935 - if (typeof properties.left === 'undefined') {
936 - if (typeof element.left !== 'undefined') {
937 - if (typeof element.left === 'string' && element.left.search("%") > 0) {
938 - properties['left'] = Math.floor((width * (parseFloat(element.left.replace('%', '').replace('-', '')) / 100))) + margin_left;
939 - if (element.left.startsWith("-")) {
940 - properties['left'] = 0 - properties['left'];
941 - }
942 - } else {
943 - properties['left'] = parseFloat(element.left);
944 - }
945 - } else {
946 - properties['left'] = 0;
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]));
947 1414 }
948 1415 }
949 - if (typeof properties.width === 'undefined') {
950 - if (typeof element.width !== 'undefined') {
951 - if (typeof element.width === 'string' && element.width.search("%") > 0) {
952 - properties['width'] = Math.floor((width * (parseFloat(element.width.replace('%', '')) / 100)) - parseFloat(element.left) - parseFloat(element.right));
953 - } else {
954 - properties['width'] = parseFloat(element.width);
955 - }
956 - } else {
957 - properties['width'] = width - parseFloat(element.left) - parseFloat(element.right);
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]));
958 1419 }
959 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);
960 1429 }
1430 +
1431 + if (e2pdf.url.get('action') == 'bulk') {
1432 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=bulk&id=' + template_id));
1433 + }
1434 + jQuery('.e2pdf-export-options').slideDown();
1435 + } else {
1436 + if (e2pdf.url.get('action') == 'bulk') {
1437 + e2pdf.url.change('e2pdf', 'action=bulk');
1438 + } else {
1439 + e2pdf.url.change('e2pdf');
1440 + }
961 1441 }
962 -
963 - page.find('.e2pdf-element').each(function () {
964 - if (!block && last_block) {
965 - if (page.find(last_block).length === 0) {
966 - if (typeof result.page.top === 'undefined') {
967 - start_top = 0;
968 - } else {
969 - start_top = parseFloat(result.page.top);
1442 + break;
1443 + case 'e2pdf_dataset':
1444 + var template_id = result['id'];
1445 + var url = 'id=' + template_id;
1446 + var shortcode = '[e2pdf-download id="' + template_id + '"';
1447 + if (result['datasets']) {
1448 + for (var key in result['datasets']) {
1449 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1450 + var actions = dataset_field.closest('.e2pdf-export-item').find('.e2pdf-export-dataset-actions');
1451 + e2pdf.select2.enable(dataset_field);
1452 + if (result['datasets'][key]['id'] == '') {
1453 + dataset_field.val('');
1454 + e2pdf.select2.update(dataset_field);
1455 + } else {
1456 + url += '&' + key + '=' + result['datasets'][key]['id'];
1457 + shortcode += ' ' + key + '="' + result['datasets'][key]['id'] + '"';
1458 + }
1459 + if (result['datasets'][key]['actions']) {
1460 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1461 + for (var dkey in result['datasets'][key]['actions']) {
1462 + ul.append(jQuery('<li>').html(result['datasets'][key]['actions'][dkey]));
970 1463 }
971 - } else {
972 - start_top = last_block_properties.top + parseFloat(last_block.css('height').replace('px', ''));
1464 + actions.empty().append(ul);
973 1465 }
974 -
1466 + }
1467 + jQuery('.e2pdf-export-form').attr('action', e2pdf.url.build('e2pdf', 'action=export&' + url));
1468 + }
1469 + shortcode += "]";
1470 + if (result['export']) {
1471 + jQuery('.e2pdf-dataset-shortcode').val(shortcode);
1472 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1473 + jQuery('.e2pdf-dataset-shortcode-wr').show();
1474 + }
1475 + e2pdf.url.change('e2pdf', url);
1476 + break;
1477 + case 'e2pdf_datasets_refresh':
1478 + var options = [];
1479 + var dataset_field = el.closest('.e2pdf-select2-wrapper').find('select').first();
1480 + for (var key in result['datasets']) {
1481 + var option = {
1482 + key: result['datasets'][key]['key'].toString(),
1483 + value: result['datasets'][key]['value'].toString()
1484 + };
1485 + options.push(option);
1486 + if (e2pdf.url.get('action') == 'bulk') {
1487 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
975 1488 } else {
976 - start_top = Math.max(start_top, parseFloat(jQuery(this).css('top').replace('px', '')) + parseFloat(jQuery(this).css('height').replace('px', '')));
1489 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
977 1490 }
978 - });
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 + }
979 1563
980 - if (i === 1) {
981 - properties['top'] = start_top;
982 - } else {
983 - if (float && block) {
984 - if (last_block) {
985 - properties['top'] = last_block_properties.top;
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;
986 1570 } else {
987 - properties['top'] = start_top + parseFloat(element.top);
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);
988 1578 }
989 1579 } else {
990 - if (page.find(last_block).length === 0 && !block) {
991 - properties['top'] = start_top + parseFloat(element.top) - correction;
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;
992 1589 } else {
993 - properties['top'] = start_top + parseFloat(element.top);
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);
994 1595 }
995 1596 }
996 - }
997 - //changed
998 - var el = e2pdf.element.create(type, page, properties, false, true);
999 - e2pdf.properties.render(el);
1000 - e2pdf.properties.set(el, 'height', parseFloat(el.css('height').replace('px', '')));
1001 - page.append(el);
1002 - if (properties['top'] + parseFloat(el.css('height').replace('px', '')) + bottom > height) {
1003 1597
1004 - if (page.is(':last-child')) {
1598 + var obj = e2pdf.element.create(type, page, properties, false, true);
1599 + e2pdf.properties.render(obj);
1600 + page.append(obj);
1601 + if (typeof element.actions !== 'undefined' && Object.keys(element.actions).length !== 0) {
1602 + e2pdf.actions.apply(obj, element.actions);
1603 + }
1005 1604
1006 - if (e2pdfParams['license_type'] == 'FREE') {
1007 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
1008 - return;
1605 + if (element.properties.height === 'auto') {
1606 + e2pdf.properties.set(obj, 'height', obj.height());
1607 + e2pdf.properties.render(obj);
1608 + } else if (element.properties.height === 'max') {
1609 + e2pdf.properties.set(obj, 'height', height - auto.page.bottom - e2pdf.properties.getValue(obj, 'top'));
1610 + e2pdf.properties.render(obj);
1611 + }
1612 +
1613 + if (!element.block
1614 + && element.float
1615 + && auto.block.width > 0
1616 + && e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') > auto.block.left + auto.block.width) {
1617 + e2pdf.properties.set(obj, 'left', auto.block.left);
1618 + e2pdf.properties.set(obj, 'top', auto.element.bottom + 1);
1619 + e2pdf.properties.render(obj);
1620 + }
1621 +
1622 + if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1623 + if (page.is(':last-child')) {
1624 + if (e2pdf_params['license_type'] == 'FREE') {
1625 + obj.remove();
1626 + alert(e2pdf.lang.get('Only single-page PDFs are allowed with the "FREE" license type'));
1627 + return;
1628 + }
1629 +
1630 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1631 + e2pdf.pages.createPage();
1632 + page = jQuery('.e2pdf-page').last();
1633 + }
1634 + } else {
1635 + if (page.find('.e2pdf-element').not(obj).length > 0) {
1636 + page = page.next('.e2pdf-page');
1637 + }
1009 1638 }
1010 - e2pdf.pages.createPage();
1011 - page = jQuery('.e2pdf-page').last();
1012 - } else {
1013 - page = page.next('.e2pdf-page');
1639 +
1640 + e2pdf.element.delete(obj);
1641 + if (element.properties.height === 'auto') {
1642 + properties['height'] = element.properties.height;
1643 + }
1644 +
1645 + auto.block['bottom'] = auto.page.top;
1646 + properties['top'] = auto.block.bottom;
1647 + obj = e2pdf.element.create(type, page, properties, false, true);
1648 + e2pdf.properties.render(obj);
1649 + page.append(obj);
1650 + if (element.properties.height === 'auto') {
1651 + e2pdf.properties.set(obj, 'height', obj.height());
1652 + e2pdf.properties.render(obj);
1653 + }
1654 +
1655 + if (e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height') + auto.page.bottom > height) {
1656 + e2pdf.properties.set(obj, 'height', height - e2pdf.properties.getValue(obj, 'top') - auto.page.bottom);
1657 + e2pdf.properties.render(obj);
1658 + e2pdf.properties.set(obj, 'top', properties['top']);
1659 + e2pdf.properties.render(obj);
1660 + }
1014 1661 }
1015 1662
1016 - if (typeof result.page.top === 'undefined') {
1017 - start_top = 0;
1663 + auto.element = {
1664 + 'top': e2pdf.properties.getValue(obj, 'top'),
1665 + 'left': e2pdf.properties.getValue(obj, 'left'),
1666 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + e2pdf.helper.sizeToFloat(properties.right, auto.block.width),
1667 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1668 + 'width': e2pdf.properties.getValue(obj, 'width'),
1669 + 'properties': element.properties
1670 + };
1671 + if (element.block) {
1672 + auto.block = {
1673 + 'top': e2pdf.properties.getValue(obj, 'top'),
1674 + 'left': e2pdf.properties.getValue(obj, 'left'),
1675 + 'right': e2pdf.properties.getValue(obj, 'left') + e2pdf.properties.getValue(obj, 'width') + parseFloat(properties.right),
1676 + 'bottom': e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height'),
1677 + 'width': e2pdf.properties.getValue(obj, 'width'),
1678 + 'page': page.attr('data-page_id')
1679 + };
1018 1680 } else {
1019 - start_top = parseFloat(result.page.top);
1681 + auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
1020 1682 }
1021 -
1022 - e2pdf.element.delete(el);
1023 - if (!block) {
1024 - correction = parseFloat(element.top);
1683 + if (element.hidden) {
1684 + hidden_elements.push(obj);
1025 1685 }
1026 -
1027 - properties['top'] = start_top + parseFloat(element.top) - correction;
1028 - if (properties.height > height - start_top - bottom) {
1029 - properties['height'] = height - start_top - bottom;
1686 + i++;
1687 + }
1688 + hidden_elements.forEach(function (element) {
1689 + e2pdf.element.delete(element);
1690 + });
1691 + break;
1692 + case 'e2pdf_bulk_action':
1693 + if (result.action == 'delete') {
1694 + el.closest('.e2pdf-bulk').remove();
1695 + if (jQuery('.e2pdf-bulks-list .e2pdf-bulk').length == 0) {
1696 + jQuery('.e2pdf-bulks-list').remove();
1030 1697 }
1031 - //changed
1032 - var el = e2pdf.element.create(type, page, properties, false, true);
1033 - e2pdf.properties.render(el);
1034 - page.append(el);
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'}));
1035 1704 }
1036 -
1037 - if (block) {
1038 - correction = 0;
1039 - last_block = el;
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 + }
1040 1717 }
1041 - i++;
1042 - }
1718 + break;
1719 + default:
1720 + break;
1043 1721 }
1044 1722 }
1045 1723 },
1046 - //e2pdf.dialog
1724 + // e2pdf.dialog
1047 1725 dialog: {
1048 - //e2pdf.dialog.create
1726 + top: null,
1727 + left: null,
1728 + center: true,
1729 + // e2pdf.dialog.create
1049 1730 create: function (el) {
1050 1731 e2pdf.dialog.close();
1051 1732 var modal = el.attr('data-modal');
1052 1733 var title = el.attr('data-modal-title');
@@ -1053,21 +1734,21 @@
1053 1734 var noclose = false;
1054 1735 var width = '600';
1055 1736 var height = '600';
1056 1737 if (modal === 'license-key') {
1057 - width = '300';
1738 + width = '400';
1058 1739 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1059 - jQuery('<form>', {'id': 'license_key'}).append(
1740 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1060 1741 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1061 1742 jQuery('<span>', {'class': 'spinner'})
1062 1743 ),
1063 1744 jQuery('<ul>').append(
1064 1745 jQuery('<li>').append(
1065 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1066 - 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'})
1067 1748 ),
1068 1749 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1069 - jQuery('<input>', {'form-id': "license_key", 'action': 'e2pdf_license_key', 'type': 'button', 'class': 'e2pdf-submit-form button-primary button-small', 'value': e2pdfLang['Submit']})
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']})
1070 1751 )
1071 1752 )
1072 1753 )
1073 1754 );
@@ -1072,23 +1753,21 @@
1072 1753 )
1073 1754 );
1074 1755 } else if (modal === 'properties') {
1075 1756 for (var key in e2pdf.element.selected) {
1076 - var title = e2pdfLang['Properties'];
1757 + var title = e2pdf.lang.get('Properties');
1077 1758 var selected = e2pdf.element.selected[key];
1078 - var properties = e2pdf.properties.get(selected);
1079 1759 var fields = e2pdf.properties.renderFields(selected);
1080 1760 var content = jQuery('<div>').append(
1081 1761 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1082 1762 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1083 1763 fields
1084 - ),
1085 1764 )
1765 + )
1086 1766 );
1087 1767 }
1088 1768 } else if (modal === 'page-options') {
1089 -
1090 - var title = e2pdfLang['Page Options'];
1769 + var title = e2pdf.lang.get('Page Options');
1091 1770 var page = el.closest('.e2pdf-page');
1092 1771 var readonly_size = false;
1093 1772 if (e2pdf.pdf.settings.get('pdf')) {
1094 1773 readonly_size = true;
@@ -1098,50 +1777,66 @@
1098 1777 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1099 1778 jQuery('<span>', {'class': 'spinner'})
1100 1779 ),
1101 1780 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1102 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1781 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1103 1782 )),
1104 1783 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1105 1784 jQuery('<span>', {'class': 'spinner'})
1106 1785 ));
1107 -
1108 -
1109 1786 var fields = e2pdf.properties.renderFields(page);
1110 -
1111 1787 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1112 1788 fields
1113 1789 ));
1114 -
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 + );
1115 1812 } else if (modal === 'tpl-options') {
1116 - var noclose = false;
1117 1813 width = '500';
1118 - var title = e2pdfLang['PDF Options'];
1814 + var title = e2pdf.lang.get('Options');
1119 1815 var readonly_size = false;
1120 1816 if (e2pdf.pdf.settings.get('pdf')) {
1121 1817 readonly_size = true;
1122 1818 }
1123 -
1124 1819 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1125 1820 jQuery('<option>',
1126 1821 {
1127 - 'value': '',
1128 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1822 + 'value': ''
1823 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1129 1824 );
1130 - for (var size in e2pdfTemplateSizes) {
1825 + for (var size in e2pdf_params['template_sizes']) {
1131 1826 var option = jQuery('<option>',
1132 1827 {
1133 - 'value': size,
1134 - }).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'] + ')');
1135 1830 sizes.append(option);
1136 1831 }
1137 1832
1138 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1139 - 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']) {
1140 1835 var option = jQuery('<option>',
1141 1836 {
1142 - 'value': extension,
1143 - }).html(e2pdfTemplateExtensions[extension]);
1837 + 'value': extension
1838 + }).html(e2pdf_params['extensions'][extension]);
1144 1839 if (e2pdf.pdf.settings.get('extension') === extension) {
1145 1840 option.attr('selected', 'selected');
1146 1841 }
1147 1842 extensions.append(option);
@@ -1146,14 +1841,14 @@
1146 1841 }
1147 1842 extensions.append(option);
1148 1843 }
1149 1844
1150 - 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(
1151 1846 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1152 1847 jQuery('<span>', {'class': 'spinner'})
1153 1848 ),
1154 1849 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1155 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1850 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1156 1851 )),
1157 1852 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1158 1853 jQuery('<span>', {'class': 'spinner'})
1159 1854 ));
@@ -1158,49 +1853,119 @@
1158 1853 jQuery('<span>', {'class': 'spinner'})
1159 1854 ));
1160 1855 var default_width = '595';
1161 1856 if (e2pdf.pdf.settings.get('width')) {
1162 - var default_width = e2pdf.pdf.settings.get('width');
1857 + default_width = e2pdf.pdf.settings.get('width');
1163 1858 }
1164 1859
1165 1860 var default_height = '842';
1166 1861 if (e2pdf.pdf.settings.get('height')) {
1167 - var default_height = e2pdf.pdf.settings.get('height');
1862 + default_height = e2pdf.pdf.settings.get('height');
1168 1863 }
1169 1864
1170 1865 content.find('form').append(
1171 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1172 1866 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1173 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1174 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
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') + ':')
1175 1869 ),
1176 1870 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1177 1871 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1178 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1872 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'readonly': readonly_size ? 'readonly' : false, 'value': default_width})
1179 1873 ),
1180 1874 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1181 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1875 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'readonly': readonly_size ? 'readonly' : false, 'value': default_height})
1182 1876 )
1183 1877 )
1184 1878 );
1185 1879 content.find('form').append(
1186 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1880 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1187 1881 sizes);
1188 1882 content.find('form').append(
1189 - jQuery('<label>').html(e2pdfLang['Extension'] + ':'),
1883 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1884 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
1885 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
1886 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':')
1887 + ),
1888 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1889 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
1890 + jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
1891 + ),
1892 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
1893 + jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
1894 + ),
1895 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
1896 + jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
1897 + )
1898 + )
1899 + );
1900 + content.find('form').append(
1901 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
1902 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
1903 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
1904 + ),
1905 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1906 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
1907 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
1908 + ),
1909 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
1910 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
1911 + e2pdf.lang.get('RTL')
1912 + )
1913 + )
1914 + );
1915 + content.find('form').append(
1916 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1190 1917 extensions,
1191 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1192 - 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'})
1193 1920 );
1194 1921 content.find('form').append(
1195 - 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 + )
1196 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 + );
1197 1962 if (e2pdf.pdf.settings.get('pdf')) {
1198 1963 content.find('form').append(
1199 - jQuery('<ul>').append(
1964 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1200 1965 jQuery('<li>'),
1201 1966 jQuery('<li>').append(
1202 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
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'))
1203 1968 ),
1204 1969 jQuery('<li>')
1205 1970 )
1206 1971 );
@@ -1205,46 +1970,76 @@
1205 1970 )
1206 1971 );
1207 1972 } else {
1208 1973 content.find('form').append(
1209 - jQuery('<ul>').append(
1974 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1210 1975 jQuery('<li>').append(
1211 - jQuery('<a>', {'href': 'javascript:void(0);', 'data-action': 'apply', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Apply'])
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'))
1212 1977 ),
1213 1978 jQuery('<li>'),
1214 1979 jQuery('<li>').append(
1215 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
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'))
1216 1981 )
1217 1982 )
1218 1983 );
1219 1984 }
1220 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 + );
1221 2016 } else if (modal === 'welcome-screen') {
1222 2017 var noclose = true;
1223 2018 width = '500';
1224 - var title = e2pdfLang['Create PDF'];
2019 + var title = e2pdf.lang.get('Create PDF');
1225 2020 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1226 2021 jQuery('<option>',
1227 2022 {
1228 - 'value': '',
1229 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2023 + 'value': ''
2024 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1230 2025 );
1231 - for (var size in e2pdfTemplateSizes) {
2026 + for (var size in e2pdf_params['template_sizes']) {
1232 2027 var option = jQuery('<option>',
1233 2028 {
1234 2029 'value': size,
1235 - 'data-width': e2pdfTemplateSizes[size]['width'],
1236 - 'data-height': e2pdfTemplateSizes[size]['height']
1237 - }).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'] + ')');
1238 2033 sizes.append(option);
1239 2034 }
1240 2035
1241 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1242 - 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']) {
1243 2038 var option = jQuery('<option>',
1244 2039 {
1245 - 'value': extension,
1246 - }).html(e2pdfTemplateExtensions[extension]);
2040 + 'value': extension
2041 + }).html(e2pdf_params['extensions'][extension]);
1247 2042 if (e2pdf.pdf.settings.get('extension') === extension) {
1248 2043 option.attr('selected', 'selected');
1249 2044 }
1250 2045 extensions.append(option);
@@ -1249,14 +2044,14 @@
1249 2044 }
1250 2045 extensions.append(option);
1251 2046 }
1252 2047
1253 - 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(
1254 2049 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1255 2050 jQuery('<span>', {'class': 'spinner'})
1256 2051 ),
1257 2052 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1258 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2053 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1259 2054 )),
1260 2055 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1261 2056 jQuery('<span>', {'class': 'spinner'})
1262 2057 ));
@@ -1270,38 +2065,117 @@
1270 2065 var default_height = e2pdf.pdf.settings.get('height');
1271 2066 }
1272 2067
1273 2068 content.find('form').append(
1274 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1275 2069 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1276 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1277 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'}).html(e2pdfLang['Height'] + ':')
2070 + jQuery('<label>', {'class': 'e2pdf-ib e2pdf-w100'}).html(e2pdf.lang.get('Title') + ':'),
1278 2071 ),
1279 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(
1280 2084 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1281 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
2085 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-width', 'type': 'text', 'name': 'width', 'value': default_width})
1282 2086 ),
1283 2087 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1284 - jQuery('<input>', {'class': 'e2pdf-numbers', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
2088 + jQuery('<input>', {'class': 'e2pdf-numbers e2pdf-w100', 'id': 'e2pdf-height', 'type': 'text', 'name': 'height', 'value': default_height})
1285 2089 )
1286 2090 )
1287 2091 );
1288 2092 content.find('form').append(
1289 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2093 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1290 2094 sizes);
1291 2095 content.find('form').append(
1292 - jQuery('<label>').html(e2pdfLang['Extension'] + ':'),
2096 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2097 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Font') + ':'),
2098 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10 e2pdf-pr10'}).html(e2pdf.lang.get('Size') + ':'),
2099 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-small e2pdf-pl10'}).html(e2pdf.lang.get('Line Height') + ':'),
2100 + ),
2101 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2102 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w60 e2pdf-pr10'}).append(
2103 + jQuery('#e2pdf-font').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font').val())
2104 + ),
2105 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10 e2pdf-pr10'}).append(
2106 + jQuery('#e2pdf-font-size').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-font-size').val())
2107 + ),
2108 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pl10'}).append(
2109 + jQuery('#e2pdf-line-height').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-line-height').val())
2110 + )
2111 + )
2112 + );
2113 + content.find('form').append(
2114 + jQuery('<div>', {'class': 'e2pdf-grid e2pdf-mt5'}).append(
2115 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pr10'}).html(e2pdf.lang.get('Text Align') + ':'),
2116 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-small e2pdf-pl10'}).html('')
2117 + ),
2118 + jQuery('<div>', {'class': 'e2pdf-grid'}).append(
2119 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10'}).append(
2120 + jQuery('#e2pdf-text-align').clone().removeAttr('id').attr('class', 'e2pdf-w100').val(jQuery('#e2pdf-text-align').val())
2121 + ),
2122 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w30 e2pdf-pr10 e2pdf-mt5'}).append(
2123 + jQuery('#e2pdf-rtl').clone().removeAttr('id').val(jQuery('#e2pdf-rtl').val()),
2124 + e2pdf.lang.get('RTL')
2125 + )
2126 + )
2127 + );
2128 + content.find('form').append(
2129 + jQuery('<label>', {'class': 'e2pdf-mt5'}).html(e2pdf.lang.get('Extension') + ':'),
1293 2130 extensions,
1294 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1295 - 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'})
1296 2133 );
1297 2134 content.find('form').append(
1298 - 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 + )
1299 2155 );
1300 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(
1301 2176 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1302 2177 );
1303 -
1304 2178 if (e2pdf.pdf.settings.get('ID')) {
1305 2179 content.find('form').append(
1306 2180 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1307 2181 );
@@ -1307,48 +2181,49 @@
1307 2181 );
1308 2182 }
1309 2183
1310 2184 content.find('form').append(
1311 - jQuery('<ul>').append(
2185 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1312 2186 jQuery('<li>').append(
1313 - jQuery('<a>', {'id': 'e2pdf-w-empty', 'href': 'javascript:void(0);', 'data-action': 'empty', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Empty PDF'])
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'))
1314 2188 ),
1315 2189 jQuery('<li>').append(
1316 - jQuery('<a>', {'id': 'e2pdf-w-upload', 'href': 'javascript:void(0);', 'data-action': 'upload', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Upload PDF'])
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']))
1317 2191 ),
1318 2192 jQuery('<li>').append(
1319 - jQuery('<a>', {'id': 'e2pdf-w-auto', 'href': 'javascript:void(0);', 'data-action': 'auto', 'class': 'e2pdf-create-pdf e2pdf-submit button-primary button-large e2pdf-link'}).html(e2pdfLang['Auto PDF'])
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'))
1320 2194 )
1321 2195 )
1322 2196 );
1323 2197 } else if (modal === 'visual-mapper') {
1324 -
1325 - var title = e2pdfLang['Visual Mapper'];
1326 - 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(
1327 2200 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1328 2201 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1329 2202 jQuery('<span>', {'class': 'spinner'})
1330 2203 )).append(
1331 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1332 - jQuery('<div>', {'id': 'e2pdf-vm-content', 'class': 'e2pdf-vm-content e2pdf-rel'})
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'})
1333 2207 )
2208 + )
1334 2209 ));
1335 2210 } else if (modal === 'pdf-reupload') {
1336 -
1337 - var title = e2pdfLang['PDF Upload'];
2211 + var title = e2pdf.lang.get('PDF Upload');
1338 2212 width = '500';
1339 - 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(
1340 2215 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1341 2216 jQuery('<span>', {'class': 'spinner'})
1342 2217 ),
1343 2218 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1344 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2219 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1345 2220 )),
1346 2221 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1347 2222 jQuery('<span>', {'class': 'spinner'})
1348 2223 ));
1349 2224 content.find('form').append(
1350 - 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'})
1351 2226 );
1352 2227 if (e2pdf.pdf.settings.get('ID')) {
1353 2228 content.find('form').append(
1354 2229 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
@@ -1357,27 +2232,32 @@
1357 2232
1358 2233 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1359 2234 pages.append(
1360 2235 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1361 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1362 - jQuery('<label>').text(e2pdfLang['Page ID'])
2236 + jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w20 e2pdf-pr10 e2pdf-center'}).append(
2237 + jQuery('<label>').text(e2pdf.lang.get('Page ID'))
1363 2238 ),
1364 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1365 - 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'))
1366 2241 ),
1367 2242 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1368 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2243 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1369 2244 ),
1370 2245 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1371 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2246 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1372 2247 )));
1373 2248 jQuery('.e2pdf-page').each(function () {
1374 2249 var page_id = jQuery(this).attr('data-page_id');
1375 2250 pages.append(
1376 2251 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1377 - 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 + ),
1378 2258 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1379 - jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center', 'value': page_id})
2259 + jQuery('<input>', {'name': 'positions[' + page_id + ']', 'type': 'text', 'class': 'e2pdf-numbers e2pdf-center e2pdf-w100', 'value': page_id})
1380 2260 ),
1381 2261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1382 2262 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
1383 2263 ),
@@ -1392,9 +2272,9 @@
1392 2272 jQuery('<ul>').append(
1393 2273 jQuery('<li>').append(
1394 2274 ),
1395 2275 jQuery('<li>').append(
1396 - jQuery('<a>', {'id': 'e2pdf-w-reupload', 'href': 'javascript:void(0);', 'class': 'e2pdf-w-reupload e2pdf-submit button-primary button-large'}).html(e2pdfLang['Upload PDF'])
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'))
1397 2277 ),
1398 2278 jQuery('<li>').append(
1399 2279 )
1400 2280 )
@@ -1403,58 +2283,134 @@
1403 2283 var content = jQuery('<div>');
1404 2284 }
1405 2285
1406 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 + }
1407 2295 content.dialog({
1408 2296 title: title,
1409 - dialogClass: 'e2pdf-dialog',
2297 + dialogClass: dialog_class,
1410 2298 modal: true,
1411 2299 width: width,
1412 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1413 - resizable: false,
1414 - minHeight: 0,
1415 - my: "center",
1416 - 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,
1417 2307 open: function (event, ui) {
2308 + jQuery('html').css('overflow', 'hidden');
2309 + jQuery('.e2pdf-dialog').css('min-height', '150');
1418 2310 if (noclose) {
1419 - 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 + });
1420 2315 } else {
1421 2316 jQuery('.ui-widget-overlay').bind('click', function ()
1422 2317 {
2318 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2319 + return;
2320 + }
1423 2321 content.dialog('close');
1424 2322 });
1425 2323 }
1426 2324
1427 - var dialog_height = jQuery('.e2pdf-dialog').height();
1428 -
1429 -
1430 2325 if (modal === 'properties') {
1431 2326 jQuery(".ui-dialog-titlebar").after(
1432 2327 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1433 - jQuery('<input>', {'form-id': "e2pdf-properties", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
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')})
1434 2330 )
1435 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 + );
1436 2371 } else if (modal === 'page-options') {
1437 2372 jQuery(".ui-dialog-titlebar").after(
1438 2373 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1439 - jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdfLang['Save']})
2374 + jQuery('<input>', {'form-id': "e2pdf-page-options", 'type': 'button', 'class': 'e2pdf-submit-local button-primary button-small', 'value': e2pdf.lang.get('Save')})
1440 2375 )
1441 2376 );
1442 2377 }
1443 -
1444 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1445 -
1446 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1447 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
2378 + jQuery('.e2pdf-dialog').find('.ui-dialog-content').css({'max-height': Math.min(height, jQuery(window).height() - 200)});
1448 2379 },
1449 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 + },
1450 2404 close: function (event, ui)
1451 2405 {
2406 + jQuery('html').css('overflow', 'auto');
1452 2407 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1453 2408 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1454 2409 jQuery(this).click();
1455 2410 });
1456 2411 }
2412 + e2pdf.visual.mapper.selected = null;
1457 2413 jQuery(this).remove();
1458 2414 }
1459 2415 });
1460 2416 }
@@ -1459,56 +2415,58 @@
1459 2415 });
1460 2416 }
1461 2417
1462 2418 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1463 - e2pdf.request.submitRequest('e2pdf_extension', jQuery('#e2pdf-create-pdf-form select[name="extension"]'));
1464 - } else if (modal === 'properties') {
1465 - jQuery('.e2pdf-scale-field').each(function () {
1466 - jQuery(this).trigger('change');
1467 - });
2419 + jQuery('.e2pdf-extension').trigger('change');
1468 2420 } else if (modal === 'visual-mapper') {
1469 -
1470 2421 var data = {};
1471 2422 data['extension'] = e2pdf.pdf.settings.get('extension');
1472 2423 data['item'] = e2pdf.pdf.settings.get('item');
1473 - 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);
1474 2427 }
2428 +
2429 + if (modal !== 'visual-mapper') {
2430 + e2pdf.dialog.rebuild();
2431 + }
2432 +
1475 2433 e2pdf.event.fire('after.dialog.create');
1476 2434 },
1477 - //e2pdf.dialog.close
2435 + // e2pdf.dialog.close
1478 2436 close: function () {
1479 2437 if (jQuery('.e2pdf-dialog').length > 0) {
1480 2438 jQuery('.ui-dialog-content').dialog('close');
1481 2439 }
1482 2440 },
1483 - //e2pdf.dialog.rebuild
2441 + // e2pdf.dialog.rebuild
2442 +
1484 2443 rebuild: function () {
1485 - if (jQuery('.e2pdf-dialog').length > 0) {
1486 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1487 - var width = dialog.data("ui-dialog").options.width;
1488 - var height = 600;
1489 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1490 - var dialog_height = jQuery('.e2pdf-dialog').height();
1491 -
1492 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1493 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1494 -
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 + }
1495 2451 e2pdf.visual.mapper.rebuild();
1496 2452 }
1497 2453 }
1498 2454 },
1499 - //e2pdf.mediaUploader
2455 + // e2pdf.mediaUploader
1500 2456 mediaUploader: {
1501 - //e2pdf.mediaUploader.init
2457 + // e2pdf.mediaUploader.init
1502 2458 init: function (el) {
1503 -
1504 2459 var mediaUploader;
1505 2460 mediaUploader = wp.media.frames.file_frame = wp.media({
1506 - title: e2pdfLang['Choose Image'],
2461 + title: e2pdf.lang.get('Media Library'),
1507 2462 button: {
1508 - text: e2pdfLang['Choose Image']
2463 + text: e2pdf.lang.get('Select')
1509 2464 }, multiple: false});
1510 2465 mediaUploader.on('select', function () {
2466 + var history = [];
2467 + history.push(el.clone(true));
2468 + e2pdf.history.set('element_change', history);
1511 2469 var attachment = mediaUploader.state().get('selection').first().toJSON();
1512 2470 e2pdf.properties.set(el, 'value', attachment.url);
1513 2471 e2pdf.properties.render(el);
1514 2472 e2pdf.event.fire('after.mediaUploader.select');
@@ -1515,15 +2473,13 @@
1515 2473 });
1516 2474 mediaUploader.open();
1517 2475 }
1518 2476 },
1519 - //e2pdf.actions
2477 + // e2pdf.actions
1520 2478 actions: {
1521 - //e2pdf.actions.add
1522 - add: function (el, target) {
1523 -
2479 + // e2pdf.actions.add
2480 + add: function (el, target, action) {
1524 2481 var last_id = -1;
1525 -
1526 2482 target.find('.e2pdf-action').each(function () {
1527 2483 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1528 2484 if (num_id > last_id) {
1529 2485 last_id = num_id;
@@ -1529,47 +2485,66 @@
1529 2485 last_id = num_id;
1530 2486 }
1531 2487 });
1532 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 + }
1533 2494
1534 -
1535 - target.append(e2pdf.actions.renderField(el, action_id));
1536 2495 },
1537 - //e2pdf.actions.change
1538 - change: function (action) {
2496 + // e2pdf.actions.change
2497 + change: function (action, trigger) {
1539 2498 var action_id = action.attr("data-action_id");
1540 -
1541 2499 var form = action.closest('form');
1542 2500 var data = e2pdf.form.serializeObject(form);
1543 -
1544 -
1545 2501 var el = false;
1546 -
1547 2502 if (form.attr('id') === 'e2pdf-page-options') {
1548 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');
1549 2506 } else {
1550 2507 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1551 2508 }
1552 2509
1553 - 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 + }
1554 2514
1555 2515 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1556 -
1557 2516 e2pdf.event.fire('after.actions.change');
1558 2517 },
1559 - //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 +
1560 2537 delete: function (action) {
1561 2538 action.remove();
1562 2539 },
1563 - //e2pdf.actions.conditions
2540 + // e2pdf.actions.conditions
1564 2541 conditions: {
1565 - //e2pdf.actions.conditions.add
2542 + // e2pdf.actions.conditions.add
1566 2543 add: function (el, target) {
1567 2544 var action = target.closest('.e2pdf-action');
1568 -
1569 2545 var action_id = action.attr('data-action_id');
1570 2546 var last_id = -1;
1571 -
1572 2547 target.find('.e2pdf-condition').each(function () {
1573 2548 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1574 2549 if (num_id > last_id) {
1575 2550 last_id = num_id;
@@ -1575,14 +2550,13 @@
1575 2550 last_id = num_id;
1576 2551 }
1577 2552 });
1578 2553 var condition_id = parseInt(last_id + 1);
1579 -
1580 2554 action.find('.e2pdf-conditions').append(
1581 2555 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1582 2556 );
1583 2557 },
1584 - //e2pdf.actions.conditions.getFields
2558 + // e2pdf.actions.conditions.getFields
1585 2559 getFields: function (el, action_id, condition_id, condition) {
1586 2560 var obj = {
1587 2561 'condition': {
1588 2562 'fields': [
@@ -1587,42 +2561,37 @@
1587 2561 'condition': {
1588 2562 'fields': [
1589 2563 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1590 2564 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1591 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2565 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1592 2566 ],
1593 2567 'classes': [
1594 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2568 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1595 2569 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1596 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1597 - ],
1598 - },
1599 -
2570 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2571 + ]
2572 + }
1600 2573 };
1601 2574 return obj;
1602 2575 },
1603 - //e2pdf.actions.conditions.getField
2576 + // e2pdf.actions.conditions.getField
1604 2577 getField: function (field, el, action_id, condition_id, condition) {
1605 2578 var obj = false;
1606 -
1607 2579 switch (field) {
1608 -
1609 2580 case 'if':
1610 2581 var value = condition ? condition.if : '';
1611 2582 obj = {
1612 - 'name': e2pdfLang['If'],
2583 + 'name': e2pdf.lang.get('If'),
1613 2584 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1614 - 'type': 'text',
2585 + 'type': 'textarea',
1615 2586 'value': value,
1616 2587 'atts': []
1617 2588 };
1618 2589 break;
1619 -
1620 2590 case 'condition':
1621 2591 var value = condition ? condition.condition : '=';
1622 -
1623 2592 obj = {
1624 - 'name': e2pdfLang['Condition'],
2593 + 'name': e2pdf.lang.get('Condition'),
1625 2594 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1626 2595 'type': 'select',
1627 2596 'value': value,
1628 2597 'options': [
@@ -1631,44 +2600,45 @@
1631 2600 {'>': '>'},
1632 2601 {'>=': '>='},
1633 2602 {'<': '<'},
1634 2603 {'<=': '<='},
1635 - {'like': 'LIKE'},
1636 - {'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')}
1637 2612 ],
1638 2613 'atts': []
1639 2614 };
1640 2615 break;
1641 -
1642 -
1643 2616 case 'value':
1644 2617 var value = condition ? condition.value : '';
1645 2618 obj = {
1646 - 'name': e2pdfLang['Value'],
2619 + 'name': e2pdf.lang.get('Value'),
1647 2620 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1648 - 'type': 'text',
2621 + 'type': 'textarea',
1649 2622 'value': value,
1650 2623 'atts': []
1651 2624 };
1652 2625 break;
1653 2626 }
1654 -
1655 2627 return obj;
1656 2628 },
1657 - //e2pdf.actions.conditions.delete
2629 + // e2pdf.actions.conditions.delete
1658 2630 delete: function (condition) {
1659 2631 condition.remove();
1660 2632 },
1661 - //e2pdf.actions.conditions.renderField
2633 + // e2pdf.actions.conditions.renderField
1662 2634 renderField: function (el, action_id, condition_id, condition) {
1663 2635 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1664 -
1665 2636 if (groups) {
1666 2637 for (var group_key in groups) {
1667 2638
1668 2639 var group = groups[group_key];
1669 2640 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1670 -
1671 2641 for (var field_key in group.fields) {
1672 2642 var group_field = group.fields[field_key];
1673 2643 var classes = '';
1674 2644 if (group.classes) {
@@ -1679,12 +2649,11 @@
1679 2649
1680 2650 var field = '';
1681 2651 var label = '';
1682 2652 var wrap = '';
1683 -
1684 2653 if (group_field.type === 'text') {
1685 2654 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1686 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
2655 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1687 2656 } else if (group_field.type === 'hidden') {
1688 2657 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1689 2658 } else if (group_field.type === 'textarea') {
1690 2659 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
@@ -1692,14 +2661,14 @@
1692 2661 } else if (group_field.type === 'checkbox') {
1693 2662 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1694 2663 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1695 2664 if (group_field.value == group_field.option) {
1696 - field.attr('checked', 'checked');
2665 + field.prop('checked', true);
1697 2666 }
1698 2667 } else if (group_field.type === 'color') {
1699 2668 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1700 2669 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1701 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
2670 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1702 2671 } else if (group_field.type === 'select') {
1703 2672 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1704 2673 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1705 2674 for (var option_key in group_field.options) {
@@ -1718,9 +2687,9 @@
1718 2687 }
1719 2688 }
1720 2689 }
1721 2690
1722 - 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(
1723 2692 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1724 2693 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1725 2694 ),
1726 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1725,25 +2694,26 @@
1725 2694 ),
1726 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1727 2696 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1728 2697 )));
1729 -
1730 - 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 + ),
1731 2702 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1732 2703 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1733 2704 ),
1734 2705 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1735 - grid,
2706 + grid
1736 2707 )
1737 2708 );
1738 2709 return new_condition;
1739 2710 }
1740 2711 },
1741 -
1742 - //e2pdf.actions.get
2712 + // e2pdf.actions.get
1743 2713 get: function (el) {
1744 2714 var actions = [];
1745 - if (typeof el.data('data-properties') !== 'undefined') {
2715 + if (typeof el.data('data-actions') !== 'undefined') {
1746 2716 actions = JSON.parse(el.data('data-actions'));
1747 2717 actions = Object.values(actions).sort(function (a, b) {
1748 2718 if (parseInt(a.order) === parseInt(b.order)) {
1749 2719 return 0;
@@ -1752,9 +2722,9 @@
1752 2722 });
1753 2723 }
1754 2724 return actions;
1755 2725 },
1756 - //e2pdf.actions.apply
2726 + // e2pdf.actions.apply
1757 2727 apply: function (el, data) {
1758 2728 if (!data) {
1759 2729 data = [];
1760 2730 }
@@ -1759,18 +2729,16 @@
1759 2729 data = [];
1760 2730 }
1761 2731 el.data('data-actions', JSON.stringify(data));
1762 2732 },
1763 - //e2pdf.actions.getField
2733 + // e2pdf.actions.getField
1764 2734 getField: function (field, el, action_id, action) {
1765 -
1766 2735 var obj = false;
1767 -
1768 2736 switch (field) {
1769 2737 case 'order':
1770 2738 var value = action ? action.order : '0';
1771 2739 obj = {
1772 - 'name': e2pdfLang['Order'],
2740 + 'name': e2pdf.lang.get('Sort'),
1773 2741 'key': 'actions[' + action_id + '][order]',
1774 2742 'type': 'text',
1775 2743 'value': value,
1776 2744 'atts': ['number']
@@ -1775,74 +2743,228 @@
1775 2743 'value': value,
1776 2744 'atts': ['number']
1777 2745 };
1778 2746 break;
1779 -
1780 -
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;
1781 2787 case 'action':
1782 - 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 + }
1783 2832 obj = {
1784 - 'name': e2pdfLang['Action'],
2833 + 'name': e2pdf.lang.get('Action'),
1785 2834 'key': 'actions[' + action_id + '][action]',
1786 2835 'type': 'select',
1787 2836 'value': value,
1788 - 'options': [
1789 - {'hide': e2pdfLang['Hide']},
1790 - {'show': e2pdfLang['Show']},
1791 - {'change': e2pdfLang['Change']},
1792 - ],
2837 + 'options': options,
1793 2838 'atts': []
1794 2839 };
1795 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 + }
1796 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;
1797 2904 case 'property':
1798 - var value = action ? action.property : '';
1799 -
1800 - if (action && action.action === 'change') {
1801 - var options = [];
1802 - var option = {
1803 - '': e2pdfLang['--- Select ---']
1804 - };
1805 - options.push(option);
1806 -
1807 - var groups = e2pdf.properties.getFields(el);
1808 -
1809 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1810 -
1811 - for (var group_key in groups) {
1812 - var group = groups[group_key];
1813 -
1814 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1815 - for (var field_key in group.fields) {
1816 - var group_field = group.fields[field_key];
1817 - var option = {};
1818 -
1819 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1820 - option[group_field.key] = group.name;
1821 - } else {
1822 - option[group_field.key] = group.name + ' ' + group_field.name;
1823 - }
1824 -
1825 - options.push(option);
1826 - }
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';
1827 2912 }
2913 + } else {
2914 + var value = action && action.property ? action.property : 'enable';
1828 2915 }
1829 -
2916 + var options = [
2917 + {'enable': e2pdf.lang.get('Enable')},
2918 + {'disable': e2pdf.lang.get('Disable')},
2919 + ];
1830 2920 obj = {
1831 - 'name': e2pdfLang['Property'],
2921 + 'name': e2pdf.lang.get('State'),
1832 2922 'key': 'actions[' + action_id + '][property]',
1833 - 'type': 'select',
2923 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1834 2924 'value': value,
1835 2925 'options': options,
1836 2926 'atts': []
1837 2927 };
1838 -
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 + }
1839 2963 }
1840 2964 break;
1841 -
1842 2965 case 'change':
1843 2966 var value = action ? action.change : '';
1844 -
1845 2967 if (
1846 2968 action
1847 2969 && typeof action.action !== 'undefined'
1848 2970 && action.action === 'change'
@@ -1850,13 +2972,20 @@
1850 2972 && action.property !== ''
1851 2973 ) {
1852 2974
1853 2975 var property = e2pdf.properties.getField(action.property, el);
1854 -
1855 2976 if (property) {
1856 - 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 + }
1857 2984 property.key = 'actions[' + action_id + '][change]';
1858 -
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 + }
1859 2988 if (jQuery.inArray('readonly', property.atts) === -1) {
1860 2989 if (property.type === 'select') {
1861 2990 for (var key in property.options) {
1862 2991 if (Object.keys(property.options[key])[0] == value) {
@@ -1873,25 +3002,22 @@
1873 3002 } else {
1874 3003 property.value = value;
1875 3004 }
1876 3005 }
1877 -
1878 3006 obj = property;
1879 3007 }
1880 3008 }
1881 -
1882 3009 break;
1883 -
1884 3010 case 'apply':
1885 3011 var value = action ? action.apply : 'any';
1886 3012 obj = {
1887 - 'name': e2pdfLang['Apply If'],
3013 + 'name': e2pdf.lang.get('Apply If'),
1888 3014 'key': 'actions[' + action_id + '][apply]',
1889 3015 'type': 'select',
1890 3016 'value': value,
1891 3017 'options': [
1892 - {'any': e2pdfLang['Any']},
1893 - {'all': e2pdfLang['All']},
3018 + {'any': e2pdf.lang.get('Any')},
3019 + {'all': e2pdf.lang.get('All')}
1894 3020 ],
1895 3021 'atts': []
1896 3022 };
1897 3023 break;
@@ -1897,9 +3023,9 @@
1897 3023 break;
1898 3024 }
1899 3025 return obj;
1900 3026 },
1901 - //e2pdf.actions.getFields
3027 + // e2pdf.actions.getFields
1902 3028 getFields: function (el, action_id, action) {
1903 3029 var obj = {
1904 3030 'action': {
1905 3031 'fields': [
@@ -1905,27 +3031,68 @@
1905 3031 'fields': [
1906 3032 e2pdf.actions.getField('order', el, action_id, action),
1907 3033 e2pdf.actions.getField('action', el, action_id, action),
1908 3034 e2pdf.actions.getField('property', el, action_id, action),
1909 - e2pdf.actions.getField('change', el, action_id, action),
1910 - e2pdf.actions.getField('apply', el, action_id, action),
3035 + e2pdf.actions.getField('apply', el, action_id, action)
1911 3036 ],
1912 3037 'classes': [
1913 3038 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1914 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1915 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1916 - 'e2pdf-w20 e2pdf-pl5 e2pdf-pr5 e2pdf-action-change',
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',
1917 3041 'e2pdf-w15 e2pdf-pl5'
1918 - ],
1919 - },
3042 + ]
3043 + }
1920 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 +
1921 3084 return obj;
1922 3085 },
1923 - //e2pdf.actions.renderField
3086 + // e2pdf.actions.renderField
1924 3087 renderField: function (el, action_id, action) {
1925 -
1926 3088 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
1927 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 + }
1928 3095 for (var condition in action.conditions) {
1929 3096 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
1930 3097 }
1931 3098 } else {
@@ -1932,16 +3099,13 @@
1932 3099 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
1933 3100 }
1934 3101
1935 3102 var groups = e2pdf.actions.getFields(el, action_id, action);
1936 -
1937 3103 if (groups) {
1938 -
1939 3104 for (var group_key in groups) {
1940 3105
1941 3106 var group = groups[group_key];
1942 3107 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1943 -
1944 3108 for (var field_key in group.fields) {
1945 3109 var group_field = group.fields[field_key];
1946 3110 var classes = '';
1947 3111 if (group.classes) {
@@ -1952,27 +3116,27 @@
1952 3116
1953 3117 var field = '';
1954 3118 var label = '';
1955 3119 var wrap = '';
1956 -
3120 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
1957 3121 if (group_field.type === 'text') {
1958 3122 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1959 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
3123 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
1960 3124 } else if (group_field.type === 'hidden') {
1961 3125 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1962 3126 } else if (group_field.type === 'textarea') {
1963 3127 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1964 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
3128 + field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5', 'placeholder': placeholder}).val(group_field.value);
1965 3129 } else if (group_field.type === 'checkbox') {
1966 - 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);
1967 3131 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
1968 3132 if (group_field.value == group_field.option) {
1969 - field.attr('checked', 'checked');
3133 + field.prop('checked', true);
1970 3134 }
1971 3135 } else if (group_field.type === 'color') {
1972 3136 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1973 3137 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1974 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3138 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
1975 3139 } else if (group_field.type === 'select') {
1976 3140 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1977 3141 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1978 3142 for (var option_key in group_field.options) {
@@ -1982,9 +3146,8 @@
1982 3146 }
1983 3147
1984 3148 for (var att_key in group_field.atts) {
1985 3149 var att = group_field.atts[att_key];
1986 -
1987 3150 switch (att) {
1988 3151 case 'readonly':
1989 3152 field.attr('readonly', 'readonly');
1990 3153 break;
@@ -1991,9 +3154,8 @@
1991 3154 case 'number':
1992 3155 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
1993 3156 break;
1994 3157 case 'autocomplete':
1995 -
1996 3158 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
1997 3159 field.addClass('e2pdf-autocomplete-cl');
1998 3160 field.autocomplete({
1999 3161 source: group_field.source,
@@ -1999,19 +3161,15 @@
1999 3161 source: group_field.source,
2000 3162 minLength: 0,
2001 3163 appendTo: wrap,
2002 3164 open: function () {
2003 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3165 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
2004 3166 },
2005 3167 classes: {
2006 3168 "ui-autocomplete": "e2pdf-autocomplete"
2007 - },
3169 + }
2008 3170 });
2009 3171 break;
2010 -
2011 - case 'scale':
2012 - field.addClass('e2pdf-scale-field');
2013 - break;
2014 3172 }
2015 3173 }
2016 3174
2017 3175 if (!wrap) {
@@ -2025,8 +3183,11 @@
2025 3183 }
2026 3184 }
2027 3185
2028 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 + ),
2029 3190 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
2030 3191 jQuery('<i>', {'class': 'dashicons dashicons-no'})
2031 3192 ),
2032 3193 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -2033,547 +3194,653 @@
2033 3194 grid
2034 3195 ),
2035 3196 conditions
2036 3197 );
2037 -
2038 3198 return new_action;
2039 3199 },
2040 - //e2pdf.actions.renderFields
3200 + // e2pdf.actions.renderFields
2041 3201 renderFields: function (el) {
2042 3202
2043 3203 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
2044 - jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html("Add Action")
3204 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'button-primary button-small e2pdf-action-add'}).html(e2pdf.lang.get('Add Action'))
2045 3205 );
2046 -
2047 3206 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
2048 3207 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
2049 -
2050 3208 var actions = e2pdf.actions.get(el);
2051 -
2052 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 + }
2053 3216 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
2054 3217 }
2055 3218
2056 3219 block.append(action_wrapper, add_action);
2057 -
2058 3220 return block;
2059 3221 }
2060 3222 },
2061 - //e2pdf.properties
3223 + // e2pdf.properties
2062 3224 properties: {
2063 - //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
2064 3242 getField: function (field, el) {
2065 3243
2066 3244 var obj = false;
2067 3245 var properties = e2pdf.properties.get(el);
2068 3246 var children = e2pdf.element.children(el);
2069 -
2070 3247 switch (field) {
2071 - case 'element_id':
2072 - var value = el.attr('data-element_id');
3248 + case 'page_id':
2073 3249 obj = {
2074 - 'name': e2pdfLang['ID'],
2075 - 'key': 'element_id',
3250 + 'name': e2pdf.lang.get('Page ID'),
2076 3251 'type': 'text',
2077 - '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')),
2078 3253 'atts': [
2079 - 'readonly'
3254 + 'readonly',
3255 + 'number'
2080 3256 ]
2081 3257 };
3258 + if (el.data('data-type') !== 'e2pdf-page') {
3259 + obj.atts.push('editable');
3260 + }
2082 3261 break;
2083 -
2084 - case 'page_id':
2085 - var value = el.attr('data-page_id');
3262 + case 'element_id':
2086 3263 obj = {
2087 - 'name': e2pdfLang['ID'],
2088 - 'key': 'page_id',
3264 + 'name': 'ID',
2089 3265 'type': 'text',
2090 - 'value': value ? value : 0,
2091 - 'atts': [
2092 - 'readonly'
2093 - ]
3266 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3267 + 'atts': ['readonly']
2094 3268 };
2095 3269 break;
2096 -
3270 + case 'element_type':
3271 + obj = {
3272 + 'name': e2pdf.lang.get('Type'),
3273 + 'type': 'text',
3274 + 'value': el.data('data-type'),
3275 + 'atts': ['readonly']
3276 + };
3277 + break;
2097 3278 case 'width':
2098 -
2099 - var value = e2pdf.helper.convertPxToFloat(el.css('width'));
2100 -
2101 3279 obj = {
2102 - 'name': e2pdfLang['Width'],
2103 - 'key': 'width',
3280 + 'name': e2pdf.lang.get('Width'),
2104 3281 'type': 'text',
2105 - 'value': value,
2106 - 'atts': [
2107 - 'number'
2108 - ]
3282 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3283 + 'atts': ['number']
2109 3284 };
2110 -
2111 - if (el.data('data-type') == 'e2pdf-page') {
2112 - if (e2pdf.pdf.settings.get('pdf')) {
2113 - obj.atts.push('readonly')
2114 - }
3285 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3286 + obj.atts.push('readonly');
2115 3287 }
2116 -
2117 3288 break;
2118 3289 case 'height':
2119 - var value = e2pdf.helper.convertPxToFloat(el.css('height'));
2120 3290 obj = {
2121 - 'name': e2pdfLang['Height'],
2122 - 'key': 'height',
3291 + 'name': e2pdf.lang.get('Height'),
2123 3292 'type': 'text',
2124 - 'value': value,
2125 - 'atts': [
2126 - 'number'
2127 - ]
3293 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3294 + 'atts': ['number']
2128 3295 };
2129 -
2130 - if (el.data('data-type') == 'e2pdf-page') {
2131 - if (e2pdf.pdf.settings.get('pdf')) {
2132 - obj.atts.push('readonly')
2133 - }
3296 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3297 + obj.atts.push('readonly');
2134 3298 }
2135 -
2136 3299 break;
2137 3300 case 'top':
2138 - var value = parseFloat(el.css('top'));
2139 3301 obj = {
2140 - 'name': e2pdfLang['Top'],
2141 - 'key': 'top',
3302 + 'name': e2pdf.lang.get('Position Top'),
2142 3303 'type': 'text',
2143 - 'value': value,
2144 - 'atts': [
2145 - 'number'
2146 - ]
3304 + 'value': e2pdf.helper.getFloat(el.css('top')),
3305 + 'atts': ['number', 'keep']
2147 3306 };
2148 3307 break;
2149 3308 case 'left':
2150 - var value = parseFloat(el.css('left'));
2151 3309 obj = {
2152 - 'name': e2pdfLang['Left'],
2153 - 'key': 'left',
3310 + 'name': e2pdf.lang.get('Position Left'),
2154 3311 'type': 'text',
2155 - 'value': value,
2156 - 'atts': [
2157 - 'number'
2158 - ]
3312 + 'value': e2pdf.helper.getFloat(el.css('left')),
3313 + 'atts': ['number', 'keep']
2159 3314 };
2160 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;
2161 3331 case 'dynamic_height':
2162 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2163 3332 obj = {
2164 - 'name': e2pdfLang['Dynamic Height'],
2165 - 'key': 'dynamic_height',
3333 + 'name': e2pdf.lang.get('Dynamic Height'),
2166 3334 'type': 'checkbox',
2167 - 'value': value,
2168 - 'option': 1,
2169 - 'atts': []
3335 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3336 + 'option': '1'
2170 3337 };
2171 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;
2172 3379 case 'text_color':
2173 - var value = properties['text_color'];
2174 3380 obj = {
2175 - 'name': e2pdfLang['Color'],
2176 - 'key': 'text_color',
3381 + 'name': e2pdf.lang.get('Font Color'),
2177 3382 'type': 'color',
2178 - 'value': value,
2179 - 'atts': []
3383 + 'value': e2pdf.helper.getString(properties[field])
2180 3384 };
2181 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;
2182 3393 case 'text_type':
2183 - var value = properties['text_type'];
2184 3394 obj = {
2185 - 'name': e2pdfLang['Type'],
2186 - 'key': 'text_type',
3395 + 'name': e2pdf.lang.get('Type'),
2187 3396 'type': 'select',
2188 - 'value': value,
3397 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2189 3398 'options': [
2190 - {'check': e2pdfLang['Check']},
2191 - {'circle': e2pdfLang['Circle']},
2192 - {'cross': e2pdfLang['Cross']},
2193 - {'diamond': e2pdfLang['Diamond']},
2194 - {'square': e2pdfLang['Square']},
2195 - {'star': e2pdfLang['Star']},
2196 - ],
2197 - 'atts': []
3399 + {'check': 'Check'},
3400 + {'circle': 'Circle'},
3401 + {'cross': 'Cross'},
3402 + {'diamond': 'Diamond'},
3403 + {'square': 'Square'},
3404 + {'star': 'Star'}
3405 + ]
2198 3406 };
2199 3407 break;
2200 3408 case 'text_font':
2201 - var options = [];
2202 - jQuery('#e2pdf_wysiwyg_font').find('option').each(function () {
2203 - var option = {};
2204 - option[jQuery(this).attr('value')] = jQuery(this).html();
2205 - options.push(option);
2206 - });
2207 - var value = '';
2208 - if (properties['text_font']) {
2209 - value = properties['text_font'];
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]);
2210 3421 }
2211 3422 obj = {
2212 - 'name': e2pdfLang['Font'],
2213 - 'key': 'text_font',
2214 - 'type': 'select',
3423 + 'name': e2pdf.lang.get('Auto Font Size'),
3424 + 'type': 'checkbox',
2215 3425 'value': value,
2216 - 'options': options,
2217 - 'atts': []
3426 + 'option': '1'
2218 3427 };
2219 3428 break;
2220 3429 case 'text_font_size':
2221 - var options = [];
2222 - jQuery('#e2pdf_wysiwyg_fontsize').find('option').each(function () {
2223 - var option = {};
2224 - option[jQuery(this).attr('value')] = jQuery(this).html();
2225 - options.push(option);
2226 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2227 - option = {};
2228 - option['-1'] = e2pdfLang['Auto'];
2229 - options.push(option);
2230 - }
2231 - });
2232 - var value = '';
2233 - if (properties['text_font_size']) {
2234 - value = properties['text_font_size'];
2235 - }
2236 3430 obj = {
2237 - 'name': e2pdfLang['Size'],
2238 - 'key': 'text_font_size',
3431 + 'name': e2pdf.lang.get('Font Size'),
2239 3432 'type': 'select',
2240 - 'value': value,
2241 - 'options': options,
2242 - 'atts': []
3433 + 'value': e2pdf.helper.getString(properties[field]),
3434 + 'options': e2pdf.helper.font.sizes(field, properties)
2243 3435 };
2244 3436 break;
2245 3437 case 'text_line_height':
2246 -
2247 - var options = [];
2248 -
2249 - var value = '';
2250 - if (properties['text_line_height']) {
2251 - value = properties['text_line_height'];
2252 - }
2253 -
2254 - var option = {};
2255 - option[''] = '-';
2256 - options.push(option);
2257 -
2258 - jQuery('#e2pdf-line-height').find('option').each(function () {
2259 - var option = {};
2260 - option[jQuery(this).attr('value')] = jQuery(this).html();
2261 - options.push(option);
2262 - });
2263 -
2264 3438 obj = {
2265 - 'name': e2pdfLang['Line Height'],
2266 - 'key': 'text_line_height',
3439 + 'name': e2pdf.lang.get('Line Height'),
2267 3440 'type': 'select',
2268 - 'value': value,
2269 - 'options': options,
2270 - 'atts': []
3441 + 'value': e2pdf.helper.getString(properties[field]),
3442 + 'options': e2pdf.helper.font.lines(field)
2271 3443 };
2272 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;
2273 3453 case 'z_index':
2274 - var value = properties['z_index'];
2275 3454 obj = {
2276 - 'name': e2pdfLang['Z-index'],
2277 - 'key': 'z_index',
3455 + 'name': 'Z-index',
2278 3456 'type': 'text',
2279 - 'value': value,
2280 - 'atts': ['number']
3457 + 'value': e2pdf.helper.getInt(properties[field]),
3458 + 'atts': ['number', 'number-negative']
2281 3459 };
2282 3460 break;
2283 3461 case 'background':
2284 - var value = properties['background'];
2285 3462 obj = {
2286 - 'name': e2pdfLang['Background'],
3463 + 'name': e2pdf.lang.get('Background'),
2287 3464 'key': 'background',
2288 3465 'type': 'color',
2289 - 'value': value,
2290 - 'atts': []
3466 + 'value': e2pdf.helper.getString(properties[field])
2291 3467 };
2292 3468 break;
2293 3469 case 'border':
2294 - var value = properties['border'];
2295 3470 obj = {
2296 - 'name': e2pdfLang['Border'],
2297 - 'key': 'border',
3471 + 'name': e2pdf.lang.get('Border'),
2298 3472 'type': 'text',
2299 - 'value': value,
3473 + 'value': e2pdf.helper.getInt(properties[field]),
2300 3474 'atts': ['number']
2301 3475 };
2302 3476 break;
2303 3477 case 'border_top':
2304 - var value = properties['border_top'];
2305 3478 obj = {
2306 - 'name': e2pdfLang['Top'],
2307 - 'key': 'border_top',
3479 + 'name': e2pdf.lang.get('Border Top'),
2308 3480 'type': 'text',
2309 - 'value': value,
3481 + 'value': e2pdf.helper.getInt(properties[field]),
2310 3482 'atts': ['number']
2311 3483 };
2312 3484 break;
2313 3485 case 'border_left':
2314 - var value = properties['border_left'];
2315 3486 obj = {
2316 - 'name': e2pdfLang['Left'],
2317 - 'key': 'border_left',
3487 + 'name': e2pdf.lang.get('Border Left'),
2318 3488 'type': 'text',
2319 - 'value': value,
3489 + 'value': e2pdf.helper.getInt(properties[field]),
2320 3490 'atts': ['number']
2321 3491 };
2322 3492 break;
2323 3493 case 'border_right':
2324 - var value = properties['border_right'];
2325 3494 obj = {
2326 - 'name': e2pdfLang['Right'],
2327 - 'key': 'border_right',
3495 + 'name': e2pdf.lang.get('Border Right'),
2328 3496 'type': 'text',
2329 - 'value': value,
3497 + 'value': e2pdf.helper.getInt(properties[field]),
2330 3498 'atts': ['number']
2331 3499 };
2332 3500 break;
2333 3501 case 'border_bottom':
2334 - var value = properties['border_bottom'];
2335 3502 obj = {
2336 - 'name': e2pdfLang['Bottom'],
2337 - 'key': 'border_bottom',
3503 + 'name': e2pdf.lang.get('Border Bottom'),
2338 3504 'type': 'text',
2339 - 'value': value,
3505 + 'value': e2pdf.helper.getInt(properties[field]),
2340 3506 'atts': ['number']
2341 3507 };
2342 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;
2343 3517 case 'border_color':
2344 - var value = properties['border_color'];
2345 3518 obj = {
2346 - 'name': e2pdfLang['Color'],
2347 - 'key': 'border_color',
3519 + 'name': e2pdf.lang.get('Border Color'),
2348 3520 'type': 'color',
2349 - 'value': value,
3521 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2350 3522 };
2351 3523 break;
2352 3524 case 'padding_top':
2353 - var value = properties['padding_top'];
2354 3525 obj = {
2355 - 'name': e2pdfLang['Top'],
2356 - 'key': 'padding_top',
3526 + 'name': e2pdf.lang.get('Padding Top'),
2357 3527 'type': 'text',
2358 - 'value': value,
3528 + 'value': e2pdf.helper.getInt(properties[field]),
2359 3529 'atts': ['number']
2360 3530 };
2361 3531 break;
2362 3532 case 'padding_left':
2363 - var value = properties['padding_left'];
2364 3533 obj = {
2365 - 'name': e2pdfLang['Left'],
2366 - 'key': 'padding_left',
3534 + 'name': e2pdf.lang.get('Padding Left'),
2367 3535 'type': 'text',
2368 - 'value': value,
3536 + 'value': e2pdf.helper.getInt(properties[field]),
2369 3537 'atts': ['number']
2370 3538 };
2371 3539 break;
2372 3540 case 'padding_right':
2373 - var value = properties['padding_right'];
2374 3541 obj = {
2375 - 'name': e2pdfLang['Right'],
2376 - 'key': 'padding_right',
3542 + 'name': e2pdf.lang.get('Padding Right'),
2377 3543 'type': 'text',
2378 - 'value': value,
3544 + 'value': e2pdf.helper.getInt(properties[field]),
2379 3545 'atts': ['number']
2380 3546 };
2381 3547 break;
2382 3548 case 'padding_bottom':
2383 - var value = properties['padding_bottom'];
2384 3549 obj = {
2385 - 'name': e2pdfLang['Bottom'],
2386 - 'key': 'padding_bottom',
3550 + 'name': e2pdf.lang.get('Padding Bottom'),
2387 3551 'type': 'text',
2388 - 'value': value,
3552 + 'value': e2pdf.helper.getInt(properties[field]),
2389 3553 'atts': ['number']
2390 3554 };
2391 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;
2392 3600 case 'length':
2393 - var value = properties['length'];
2394 3601 obj = {
2395 - 'name': e2pdfLang['Length'],
2396 - 'key': 'length',
3602 + 'name': e2pdf.lang.get('Length'),
2397 3603 'type': 'text',
2398 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2399 3605 'atts': ['number']
2400 3606 };
2401 3607 break;
2402 3608 case 'comb':
2403 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2404 3609 obj = {
2405 - 'name': e2pdfLang['Comb'],
2406 - 'key': 'comb',
3610 + 'name': e2pdf.lang.get('Comb'),
2407 3611 'type': 'checkbox',
2408 - 'option': 1,
2409 - 'value': value,
2410 - 'atts': []
3612 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3613 + 'option': '1'
2411 3614 };
2412 3615 break;
2413 3616 case 'rtl':
2414 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2415 3617 obj = {
2416 - 'name': e2pdfLang['RTL'],
2417 - 'key': 'rtl',
2418 - 'type': 'checkbox',
2419 - 'option': 1,
2420 - 'value': value,
2421 - '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 + ]
2422 3627 };
2423 3628 break;
2424 3629 case 'required':
2425 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2426 3630 obj = {
2427 - 'name': e2pdfLang['Required'],
2428 - 'key': 'required',
3631 + 'name': e2pdf.lang.get('Required'),
2429 3632 'type': 'checkbox',
2430 - 'option': 1,
2431 - 'value': value,
2432 - 'atts': []
3633 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3634 + 'option': '1'
2433 3635 };
2434 3636 break;
2435 3637 case 'readonly':
2436 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2437 3638 obj = {
2438 - 'name': e2pdfLang['Readonly'],
2439 - 'key': 'readonly',
3639 + 'name': e2pdf.lang.get('Read-Only'),
2440 3640 'type': 'checkbox',
2441 - 'option': 1,
2442 - 'value': value,
2443 - 'atts': []
3641 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3642 + 'option': '1'
2444 3643 };
2445 3644 break;
2446 3645 case 'pass':
2447 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2448 3646 obj = {
2449 - 'name': e2pdfLang['Password'],
2450 - 'key': 'pass',
3647 + 'name': e2pdf.lang.get('Password'),
2451 3648 'type': 'checkbox',
2452 - 'option': 1,
2453 - 'value': value,
2454 - 'atts': []
3649 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3650 + 'option': '1'
2455 3651 };
2456 3652 break;
2457 3653 case 'multiline':
2458 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2459 3654 obj = {
2460 - 'name': e2pdfLang['Multiline'],
2461 - 'key': 'multiline',
3655 + 'name': e2pdf.lang.get('Multiline'),
2462 3656 'type': 'checkbox',
2463 - 'option': 1,
2464 - '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',
2465 3675 'atts': []
2466 3676 };
3677 + if (el.data('data-type') === 'e2pdf-image') {
3678 + obj.atts.push('keep');
3679 + }
2467 3680 break;
2468 - case 'dimension':
2469 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3681 + case 'keep_lower_size':
2470 3682 obj = {
2471 - 'name': e2pdfLang['Keep dimension'],
2472 - 'key': 'dimension',
3683 + 'name': e2pdf.lang.get('Keep Lower Size'),
2473 3684 'type': 'checkbox',
2474 - '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',
2475 3713 'value': value,
2476 - '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 + ]
2477 3723 };
2478 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;
2479 3770 case 'esig':
2480 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2481 3771 obj = {
2482 - 'name': e2pdfLang['E-signature'],
2483 - 'key': 'esig',
3772 + 'name': e2pdf.lang.get('E-Signature'),
2484 3773 'type': 'checkbox',
2485 - 'option': 1,
2486 - 'value': value,
2487 - 'atts': []
3774 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3775 + 'option': '1'
2488 3776 };
2489 3777 break;
2490 3778 case 'esig_contact':
2491 - var value = properties['esig_contact'];
2492 3779 obj = {
2493 - 'name': e2pdfLang['Contact'],
2494 - 'key': 'esig_contact',
3780 + 'name': e2pdf.lang.get('Contact'),
2495 3781 'type': 'text',
2496 - 'value': value,
2497 - 'atts': []
3782 + 'value': e2pdf.helper.getString(properties[field])
2498 3783 };
2499 3784 break;
2500 3785 case 'esig_location':
2501 - var value = properties['esig_location'];
2502 3786 obj = {
2503 - 'name': e2pdfLang['Location'],
2504 - 'key': 'esig_location',
3787 + 'name': e2pdf.lang.get('Location'),
2505 3788 'type': 'text',
2506 - 'value': value,
2507 - 'atts': []
3789 + 'value': e2pdf.helper.getString(properties[field])
2508 3790 };
2509 3791 break;
2510 3792 case 'esig_reason':
2511 - var value = properties['esig_reason'];
2512 3793 obj = {
2513 - 'name': e2pdfLang['Reason'],
2514 - 'key': 'esig_reason',
3794 + 'name': e2pdf.lang.get('Reason'),
2515 3795 'type': 'text',
2516 - 'value': value,
2517 - 'atts': []
3796 + 'value': e2pdf.helper.getString(properties[field])
2518 3797 };
2519 3798 break;
2520 3799 case 'placeholder':
2521 - var value = properties['placeholder'];
2522 3800 obj = {
2523 - 'name': e2pdfLang['Placeholder'],
2524 - 'key': 'placeholder',
3801 + 'name': e2pdf.lang.get('Placeholder'),
2525 3802 'type': 'text',
2526 - 'value': value,
2527 - 'atts': []
3803 + 'value': e2pdf.helper.getString(properties[field])
2528 3804 };
2529 3805 break;
2530 3806 case 'horizontal':
2531 - var value = properties['horizontal'];
2532 3807 obj = {
2533 - 'name': e2pdfLang['Horizontal align'],
2534 - 'key': 'horizontal',
3808 + 'name': e2pdf.lang.get('Horizontal Align'),
2535 3809 'type': 'select',
2536 - 'value': value,
3810 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2537 3811 'options':
2538 3812 [
2539 - {'left': e2pdfLang['Left']},
2540 - {'center': e2pdfLang['Center']},
2541 - {'right': e2pdfLang['Right']},
3813 + {'left': e2pdf.lang.get('Left')},
3814 + {'center': e2pdf.lang.get('Center')},
3815 + {'right': e2pdf.lang.get('Right')}
2542 3816 ]
2543 - ,
2544 - 'atts': []
2545 3817 };
2546 3818 break;
2547 3819 case 'vertical':
2548 - var value = properties['vertical'];
2549 3820 obj = {
2550 - 'name': e2pdfLang['Vertical align'],
2551 - 'key': 'vertical',
3821 + 'name': e2pdf.lang.get('Vertical Align'),
2552 3822 'type': 'select',
2553 - 'value': value,
3823 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2554 3824 'options':
2555 3825 [
2556 - {'top': e2pdfLang['Top']},
2557 - {'middle': e2pdfLang['Middle']},
2558 - {'bottom': e2pdfLang['Bottom']},
3826 + {'top': e2pdf.lang.get('Top')},
3827 + {'middle': e2pdf.lang.get('Middle')},
3828 + {'bottom': e2pdf.lang.get('Bottom')}
2559 3829 ]
2560 - ,
2561 - 'atts': []
2562 3830 };
2563 3831 break;
2564 3832 case 'scale':
2565 - var value = properties['scale'];
2566 3833 obj = {
2567 - 'name': e2pdfLang['Scale'],
2568 - 'key': 'scale',
3834 + 'name': e2pdf.lang.get('Scale'),
2569 3835 'type': 'select',
2570 - 'value': value,
3836 + 'value': e2pdf.helper.getString(properties[field], '0'),
2571 3837 'options':
2572 3838 [
2573 - {'0': e2pdfLang['Width&Height']},
2574 - {'1': e2pdfLang['Width']},
2575 - {'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')}
2576 3843 ]
2577 3844 ,
2578 3845 'atts': ['scale']
2579 3846 };
@@ -2578,56 +3845,162 @@
2578 3845 'atts': ['scale']
2579 3846 };
2580 3847 break;
2581 3848 case 'text_align':
2582 - var value = properties['text_align'];
2583 3849 obj = {
2584 - 'name': e2pdfLang['Text Align'],
2585 - 'key': 'text_align',
3850 + 'name': e2pdf.lang.get('Text Align'),
2586 3851 'type': 'select',
2587 - 'value': value,
3852 + 'value': e2pdf.helper.getString(properties[field]),
2588 3853 'options':
2589 3854 [
2590 - {'left': e2pdfLang['Left']},
2591 - {'center': e2pdfLang['Center']},
2592 - {'right': e2pdfLang['Right']},
3855 + {'': '-'},
3856 + {'left': e2pdf.lang.get('Left')},
3857 + {'center': e2pdf.lang.get('Center')},
3858 + {'right': e2pdf.lang.get('Right')}
2593 3859 ]
2594 - ,
2595 - 'atts': []
2596 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 + }
2597 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;
2598 3975 case 'parent':
2599 - var value = properties['parent'];
2600 - var source = [
3976 + var options = [
3977 + {'': e2pdf.lang.get('--- Select ---')}
2601 3978 ];
2602 3979 if (el.data('data-type') === 'e2pdf-html') {
2603 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
3980 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2604 3981 if (!jQuery(this).is(children)) {
2605 3982 var parent = jQuery(this).parent().attr('data-element_id');
2606 - if (source.indexOf(parent) === -1) {
2607 - source.push(parent);
2608 - }
3983 + options.push({[parent]: parent});
2609 3984 }
2610 3985 });
2611 3986 }
2612 -
3987 + options.sort(function (a, b) {
3988 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
3989 + });
2613 3990 obj = {
2614 - 'name': e2pdfLang['Parent'],
2615 - 'key': 'parent',
2616 - 'type': 'text',
2617 - 'value': value,
2618 - 'source': source,
2619 - 'atts': ['autocomplete']
3991 + 'name': e2pdf.lang.get('Parent'),
3992 + 'type': 'select',
3993 + 'value': e2pdf.helper.getString(properties[field]),
3994 + 'options': options
2620 3995 };
2621 3996 break;
2622 3997 case 'group':
2623 - var value = properties['group'];
2624 - var source = [
2625 - ];
2626 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3998 + var source = [];
3999 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2627 4000 if (!jQuery(this).is(children)) {
2628 4001 var radio = jQuery(this).parent();
2629 - var group = e2pdf.properties.getValue(radio, 'group');
4002 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2630 4003 if (source.indexOf(group) === -1) {
2631 4004 source.push(group);
2632 4005 }
2633 4006 }
@@ -2632,607 +4005,3042 @@
2632 4005 }
2633 4006 }
2634 4007 });
2635 4008 obj = {
2636 - 'name': e2pdfLang['Group'],
2637 - 'key': 'group',
4009 + 'name': e2pdf.lang.get('Group'),
2638 4010 'type': 'text',
2639 - 'value': value,
4011 + 'value': e2pdf.helper.getString(properties[field]),
2640 4012 'source': source,
2641 4013 'atts': ['autocomplete']
2642 4014 };
2643 4015 break;
2644 4016 case 'option':
2645 - var value = properties['option'];
2646 4017 obj = {
2647 - 'name': e2pdfLang['Option'],
2648 - 'key': 'option',
4018 + 'name': e2pdf.lang.get('Option'),
2649 4019 'type': 'textarea',
2650 - 'value': value,
2651 - 'atts': []
4020 + 'value': e2pdf.helper.getString(properties[field])
2652 4021 };
2653 4022 break;
2654 -
2655 4023 case 'options':
2656 - var value = properties['options'];
2657 4024 obj = {
2658 - 'name': e2pdfLang['Options'],
2659 - 'key': 'options',
4025 + 'name': e2pdf.lang.get('Options'),
2660 4026 'type': 'textarea',
2661 - 'value': value,
2662 - 'atts': []
4027 + 'value': e2pdf.helper.getString(properties[field])
2663 4028 };
2664 4029 break;
2665 -
2666 -
2667 4030 case 'value':
2668 - value = '';
2669 4031 if (el.data('data-type') === 'e2pdf-html') {
2670 - value = children.html();
4032 + if (children.is('textarea')) {
4033 + var value = children.val();
4034 + } else {
4035 + var value = children.html();
4036 + }
2671 4037 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2672 - value = children.val();
4038 + var value = children.val();
2673 4039 } else {
2674 - value = properties['value'];
4040 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2675 4041 }
2676 -
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 + }
2677 4048 obj = {
2678 - 'name': e2pdfLang['Value'],
2679 - 'key': 'value',
4049 + 'name': name,
2680 4050 'type': 'textarea',
2681 - 'value': value,
2682 - 'atts': []
4051 + 'value': value
2683 4052 };
2684 4053 break;
2685 -
4054 + case 'css':
4055 + obj = {
4056 + 'name': 'CSS',
4057 + 'type': 'textarea',
4058 + 'value': e2pdf.helper.getString(properties[field])
4059 + };
4060 + break;
2686 4061 case 'preset':
2687 -
2688 - var value = '';
2689 -
2690 4062 var options = [];
2691 4063 var option = {
2692 - '': e2pdfLang['--- Select ---']
4064 + '': e2pdf.lang.get('--- Select ---')
2693 4065 };
2694 4066 options.push(option);
2695 -
2696 - for (var size in e2pdfTemplateSizes) {
4067 + for (var size in e2pdf_params['template_sizes']) {
2697 4068 var option = {};
2698 - 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'] + ')';
2699 4070 options.push(option);
2700 4071 }
2701 -
2702 4072 obj = {
2703 - 'name': e2pdfLang['Size Preset'],
2704 - 'key': 'preset',
4073 + 'name': e2pdf.lang.get('Size'),
2705 4074 'type': 'select',
2706 - 'value': value,
4075 + 'value': '',
2707 4076 'options': options,
2708 - 'atts': [],
4077 + 'atts': [
4078 + 'uneditable'
4079 + ]
2709 4080 };
2710 -
2711 -
2712 4081 if (e2pdf.pdf.settings.get('pdf')) {
2713 4082 obj.atts.push('disabled');
2714 4083 }
2715 -
2716 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;
2717 5453 }
2718 -
5454 + if (!obj.hasOwnProperty('key')) {
5455 + obj['key'] = field;
5456 + }
5457 + if (!obj.hasOwnProperty('atts')) {
5458 + obj['atts'] = [];
5459 + }
2719 5460 return obj;
2720 5461 },
2721 - //e2pdf.properties.getFields
5462 + // e2pdf.properties.getFields
2722 5463 getFields: function (el, actions) {
2723 - 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') {
2724 5468 var obj = {
2725 5469 'page_id': {
2726 - 'name': e2pdfLang['ID'],
5470 + 'name': '',
2727 5471 'fields': [
2728 5472 e2pdf.properties.getField('page_id', el),
5473 + e2pdf.properties.getField('element_type', el)
2729 5474 ],
2730 5475 'position': 'top',
2731 5476 'classes': [
2732 - 'e2pdf-w100 e2pdf-hide-label'
2733 - ],
5477 + 'e2pdf-w50 e2pdf-pr10',
5478 + 'e2pdf-w50 e2pdf-pl10'
5479 + ]
2734 5480 },
2735 5481 'size': {
2736 - 'name': e2pdfLang['Size'],
5482 + 'name': e2pdf.lang.get('Size'),
2737 5483 'fields': [
2738 5484 e2pdf.properties.getField('width', el),
2739 5485 e2pdf.properties.getField('height', el),
5486 + e2pdf.properties.getField('preset', el)
2740 5487 ],
2741 5488 'position': 'top',
2742 5489 'classes': [
2743 5490 'e2pdf-w50 e2pdf-pr10',
2744 - 'e2pdf-w50 e2pdf-pl10'
2745 - ],
2746 - },
2747 - 'preset': {
2748 - 'name': e2pdfLang['Size Preset'],
2749 - 'fields': [
2750 - e2pdf.properties.getField('preset', el),
2751 - ],
2752 - 'position': 'top',
2753 - 'classes': [
2754 - 'e2pdf-w100 e2pdf-hide-label'
5491 + 'e2pdf-w50 e2pdf-pl10',
5492 + 'e2pdf-w100'
2755 5493 ]
2756 5494 }
2757 5495 };
2758 5496 } else {
2759 -
2760 5497 var obj = {
2761 - 'element_id': {
2762 - 'name': e2pdfLang['ID'],
5498 + 'element': {
5499 + 'name': e2pdf.lang.get('Element'),
2763 5500 'fields': [
2764 - e2pdf.properties.getField('element_id', el)
5501 + e2pdf.properties.getField('element_id', el),
5502 + e2pdf.properties.getField('page_id', el),
5503 + e2pdf.properties.getField('element_type', el),
5504 + e2pdf.properties.getField('left', el),
5505 + e2pdf.properties.getField('top', el),
5506 + e2pdf.properties.getField('width', el),
5507 + e2pdf.properties.getField('height', el)
2765 5508 ],
2766 5509 'position': 'top',
2767 5510 'classes': [
2768 - 'e2pdf-w100 e2pdf-hide-label',
2769 - ],
2770 - },
2771 - 'position': {
2772 - 'name': e2pdfLang['Position'],
2773 - 'fields': [
2774 - e2pdf.properties.getField('left', el),
2775 - e2pdf.properties.getField('top', el)
2776 - ],
2777 - 'position': 'right',
2778 - 'classes': [
2779 - 'e2pdf-w50 e2pdf-pr10',
2780 - 'e2pdf-w50 e2pdf-pl10'
2781 - ],
2782 - },
5511 + 'e2pdf-w25',
5512 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5513 + 'e2pdf-w50 e2pdf-pl10',
5514 + 'e2pdf-w25',
5515 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5516 + 'e2pdf-w25 e2pdf-pl10 e2pdf-pr10',
5517 + 'e2pdf-w25'
5518 + ]
5519 + }
2783 5520 };
5521 + if (el.data('data-type') === 'e2pdf-input') {
2784 5522
2785 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2786 - obj['size'] = {
2787 - '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'),
2788 5529 'fields': [
2789 - e2pdf.properties.getField('width', el),
2790 - e2pdf.properties.getField('height', el),
2791 - 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)
2792 5543 ],
2793 5544 'position': 'left',
2794 5545 'classes': [
2795 - 'e2pdf-w50 e2pdf-pr10',
5546 + 'e2pdf-w100',
5547 + 'e2pdf-w100',
5548 + 'e2pdf-w50',
2796 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',
2797 5574 'e2pdf-w100'
2798 - ],
5575 + ]
2799 5576 };
2800 - } else {
2801 - obj['size'] = {
2802 - 'name': e2pdfLang['Size'],
5577 + obj['value'] = {
5578 + 'name': e2pdf.lang.get('Value'),
2803 5579 'fields': [
2804 - e2pdf.properties.getField('width', el),
2805 - 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)
2806 5586 ],
2807 - 'position': 'left',
5587 + 'position': 'bottom',
2808 5588 'classes': [
2809 - 'e2pdf-w50 e2pdf-pr10',
2810 - 'e2pdf-w50 e2pdf-pl10'
2811 -
2812 - ],
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 + ]
2813 5596 };
2814 5597 }
2815 5598
2816 - if (el.data('data-type') === 'e2pdf-html'
2817 - || el.data('data-type') === 'e2pdf-textarea'
2818 - ) {
2819 - obj['font'] = {
2820 - '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'),
2821 5607 'fields': [
2822 5608 e2pdf.properties.getField('text_color', el),
2823 5609 e2pdf.properties.getField('text_font', el),
2824 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),
2825 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)
2826 5622 ],
2827 5623 'position': 'left',
2828 5624 'classes': [
2829 5625 'e2pdf-w100',
2830 5626 'e2pdf-w100',
2831 - 'e2pdf-w50 e2pdf-pr10',
2832 - '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)
2833 5648 ],
5649 + 'position': 'right',
5650 + 'classes': [
5651 + 'e2pdf-w100',
5652 + 'e2pdf-w70',
5653 + 'e2pdf-w30 e2pdf-pl10',
5654 + 'e2pdf-w100'
5655 + ]
2834 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 + }
2835 5678
2836 - }
5679 + if (el.data('data-type') === 'e2pdf-checkbox') {
2837 5680
2838 - // Font
2839 - if (el.data('data-type') === 'e2pdf-input'
2840 - || el.data('data-type') === 'e2pdf-select'
2841 - || el.data('data-type') === 'e2pdf-signature'
2842 - ) {
2843 - obj['font'] = {
2844 - 'name': e2pdfLang['Font'],
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'),
2845 5687 'fields': [
2846 5688 e2pdf.properties.getField('text_color', el),
2847 - e2pdf.properties.getField('text_font', el),
2848 - 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)
2849 5694 ],
2850 5695 'position': 'left',
2851 5696 'classes': [
2852 5697 'e2pdf-w100',
2853 - 'e2pdf-w70 e2pdf-pr10',
2854 - '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)
2855 5712 ],
5713 + 'position': 'right',
5714 + 'classes': [
5715 + 'e2pdf-w100',
5716 + 'e2pdf-w70',
5717 + 'e2pdf-w30 e2pdf-pl10',
5718 + 'e2pdf-w100'
5719 + ]
2856 5720 };
2857 - }
2858 -
2859 - // Text align
2860 - if (el.data('data-type') === 'e2pdf-html'
2861 - || el.data('data-type') === 'e2pdf-input'
2862 - || el.data('data-type') === 'e2pdf-textarea'
2863 - ) {
2864 - obj['text_align'] = {
2865 - 'name': e2pdfLang['Text Align'],
5721 + obj['value'] = {
5722 + 'name': '',
2866 5723 'fields': [
2867 - 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)
2868 5731 ],
2869 - 'position': 'left',
5732 + 'position': 'bottom',
2870 5733 'classes': [
2871 - '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'
2872 5741 ]
2873 5742 };
2874 5743 }
2875 5744
2876 - // Settings
2877 - if (el.data('data-type') === 'e2pdf-html') {
2878 - obj['settings'] = {
2879 - 'name': e2pdfLang['Settings'],
5745 + if (el.data('data-type') === 'e2pdf-radio') {
5746 +
5747 + obj['field'] = {
5748 + 'name': e2pdf.lang.get('Field'),
2880 5749 'fields': [
5750 + e2pdf.properties.getField('text_color', el),
5751 + e2pdf.properties.getField('text_type', el),
5752 + e2pdf.properties.getField('rotation', el),
2881 5753 e2pdf.properties.getField('rtl', el),
2882 - e2pdf.properties.getField('dynamic_height', el),
5754 + e2pdf.properties.getField('required', el),
5755 + e2pdf.properties.getField('readonly', el)
2883 5756 ],
2884 5757 'position': 'left',
2885 5758 'classes': [
2886 5759 'e2pdf-w100',
2887 5760 'e2pdf-w100',
5761 + 'e2pdf-w70',
5762 + 'e2pdf-w30 e2pdf-pl10',
5763 + 'e2pdf-pr10',
5764 + 'e2pdf-pr10',
5765 + 'e2pdf-pr10'
2888 5766 ]
2889 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 + };
2890 5810 }
2891 5811
2892 - // Settings
2893 - if (el.data('data-type') === 'e2pdf-input'
2894 - || el.data('data-type') === 'e2pdf-textarea'
2895 - ) {
2896 - obj['settings'] = {
2897 - 'name': e2pdfLang['Settings'],
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'),
2898 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),
2899 5827 e2pdf.properties.getField('rtl', el),
5828 + e2pdf.properties.getField('multiline', el),
2900 5829 e2pdf.properties.getField('required', el),
2901 - e2pdf.properties.getField('readonly', el),
2902 - e2pdf.properties.getField('pass', el),
2903 - e2pdf.properties.getField('comb', el),
5830 + e2pdf.properties.getField('readonly', el)
2904 5831 ],
2905 5832 'position': 'left',
2906 5833 'classes': [
2907 5834 'e2pdf-w100',
2908 5835 'e2pdf-w100',
5836 + 'e2pdf-w50',
5837 + 'e2pdf-w50 e2pdf-pl10',
2909 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': [
2910 5856 'e2pdf-w100',
2911 - 'e2pdf-w100',
5857 + 'e2pdf-w70',
5858 + 'e2pdf-w30 e2pdf-pl10',
5859 + 'e2pdf-w100'
2912 5860 ]
2913 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 + };
2914 5884 }
2915 5885
2916 - // Settings Signature
2917 5886 if (el.data('data-type') === 'e2pdf-signature') {
2918 5887
2919 - obj['placeholder'] = {
2920 - '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'),
2921 5894 'fields': [
5895 + e2pdf.properties.getField('text_color', el),
5896 + e2pdf.properties.getField('text_font', el),
5897 + e2pdf.properties.getField('text_font_size', el),
2922 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)
2923 5909 ],
2924 5910 'position': 'left',
2925 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': [
2926 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'
2927 5980 ]
2928 5981 };
5982 + }
2929 5983
2930 -
2931 - obj['settings'] = {
2932 - 'name': e2pdfLang['Settings'],
5984 + if (el.data('data-type') === 'e2pdf-html') {
5985 + obj['field'] = {
5986 + 'name': e2pdf.lang.get('Field'),
2933 5987 'fields': [
2934 - 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)
2935 6002 ],
2936 6003 'position': 'left',
2937 6004 'classes': [
2938 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'
2939 6019 ]
2940 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 + }
2941 6025
2942 -
2943 - }
2944 -
2945 - // Settings
2946 - if (el.data('data-type') === 'e2pdf-checkbox'
2947 - || el.data('data-type') === 'e2pdf-radio'
2948 - ) {
2949 - obj['settings'] = {
2950 - 'name': e2pdfLang['Settings'],
6026 + obj['style'] = {
6027 + 'name': e2pdf.lang.get('Style'),
2951 6028 'fields': [
2952 - e2pdf.properties.getField('required', el),
2953 - 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)
2954 6040 ],
2955 - 'position': 'left',
6041 + 'position': 'right',
2956 6042 'classes': [
2957 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',
2958 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'
2959 6054 ]
2960 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 + };
2961 6086 }
2962 6087
2963 - // Settings
2964 - if (el.data('data-type') === 'e2pdf-select') {
2965 - obj['settings'] = {
2966 - 'name': e2pdfLang['Settings'],
6088 + if (el.data('data-type') === 'e2pdf-page-number') {
6089 + obj['field'] = {
6090 + 'name': e2pdf.lang.get('Field'),
2967 6091 'fields': [
2968 - e2pdf.properties.getField('rtl', el),
2969 - e2pdf.properties.getField('required', el),
2970 - e2pdf.properties.getField('readonly', el),
2971 - e2pdf.properties.getField('multiline', el),
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)
2972 6101 ],
2973 6102 'position': 'left',
2974 6103 'classes': [
2975 6104 'e2pdf-w100',
2976 6105 'e2pdf-w100',
6106 + 'e2pdf-w50',
6107 + 'e2pdf-w50 e2pdf-pl10',
2977 6108 'e2pdf-w100',
2978 - 'e2pdf-w100',
6109 + 'e2pdf-w50',
6110 + 'e2pdf-w50 e2pdf-pl10',
6111 + 'e2pdf-w70',
6112 + 'e2pdf-w30 e2pdf-pl10'
2979 6113 ]
2980 6114 };
2981 - }
2982 -
2983 - // Selector
2984 - if (el.data('data-type') === 'e2pdf-checkbox'
2985 - || el.data('data-type') === 'e2pdf-radio'
2986 - ) {
2987 - obj['selector'] = {
2988 - 'name': e2pdfLang['Selector'],
6115 + obj['page_number'] = {
6116 + 'name': e2pdf.lang.get('Page Number'),
2989 6117 'fields': [
2990 - e2pdf.properties.getField('text_color', el),
2991 - e2pdf.properties.getField('text_type', el),
6118 + e2pdf.properties.getField('page_number', el),
6119 + e2pdf.properties.getField('page_total', el),
2992 6120 ],
2993 6121 'position': 'left',
2994 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': [
2995 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',
2996 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'
2997 6153 ]
2998 6154 };
2999 - }
3000 -
3001 - // Background
3002 - if (el.data('data-type') === 'e2pdf-html'
3003 - || el.data('data-type') === 'e2pdf-input'
3004 - || el.data('data-type') === 'e2pdf-textarea'
3005 - || el.data('data-type') === 'e2pdf-image'
3006 - || el.data('data-type') === 'e2pdf-rectangle'
3007 - || el.data('data-type') === 'e2pdf-signature'
3008 - ) {
3009 - obj['background'] = {
3010 - 'name': e2pdfLang['Background'],
6155 + obj['value'] = {
6156 + 'name': '',
3011 6157 'fields': [
3012 - e2pdf.properties.getField('background', el)
6158 + e2pdf.properties.getField('css', el),
6159 + e2pdf.properties.getField('value', el),
6160 + e2pdf.properties.getField('html_worker', el)
3013 6161 ],
3014 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6162 + 'position': 'bottom',
3015 6163 'classes': [
3016 - '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'
3017 6167 ]
3018 6168 };
3019 6169 }
3020 6170
3021 - // Resize
3022 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
3023 - obj['resize'] = {
3024 - 'name': e2pdfLang['Resize'],
6171 + if (el.data('data-type') === 'e2pdf-image') {
6172 +
6173 + obj['field'] = {
6174 + 'name': e2pdf.lang.get('Field'),
3025 6175 'fields': [
3026 - 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),
3027 6179 e2pdf.properties.getField('horizontal', el),
3028 6180 e2pdf.properties.getField('vertical', el),
6181 + e2pdf.properties.getField('rotation', el),
6182 + e2pdf.properties.getField('opacity', el),
6183 + e2pdf.properties.getField('quality', el),
3029 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)
3030 6189 ],
3031 6190 'position': 'left',
3032 6191 'classes': [
3033 6192 'e2pdf-w100',
3034 - 'e2pdf-w50 e2pdf-pr10',
6193 + 'e2pdf-w60 e2pdf-pr10',
6194 + 'e2pdf-w40',
6195 + 'e2pdf-w50',
3035 6196 'e2pdf-w50 e2pdf-pl10',
3036 - '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'
3037 6205 ]
3038 6206 };
3039 - }
3040 -
3041 - // Border
3042 - if (el.data('data-type') === 'e2pdf-input'
3043 - || el.data('data-type') === 'e2pdf-textarea'
3044 - || el.data('data-type') === 'e2pdf-checkbox'
3045 - || el.data('data-type') === 'e2pdf-radio'
3046 - || el.data('data-type') === 'e2pdf-select'
3047 - ) {
3048 - obj['border'] = {
3049 - 'name': e2pdfLang['Border'],
6207 + obj['pdf'] = {
6208 + 'name': 'Pdf',
3050 6209 'fields': [
3051 - e2pdf.properties.getField('border', el),
3052 - 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)
3053 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 + ],
3054 6241 'position': 'right',
3055 6242 'classes': [
3056 - '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',
3057 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)
3058 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 + ]
3059 6284 };
3060 6285 }
3061 6286
3062 - // Border
3063 - if (el.data('data-type') === 'e2pdf-html'
3064 - || el.data('data-type') === 'e2pdf-image'
3065 - || el.data('data-type') === 'e2pdf-signature'
3066 - ) {
3067 - obj['border'] = {
3068 - 'name': e2pdfLang['Border'],
6287 + if (el.data('data-type') === 'e2pdf-qrcode') {
6288 +
6289 + obj['qrcode'] = {
6290 + 'name': e2pdf.lang.get('QR Code'),
3069 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),
3070 6316 e2pdf.properties.getField('border_top', el),
3071 6317 e2pdf.properties.getField('border_left', el),
3072 6318 e2pdf.properties.getField('border_right', el),
3073 6319 e2pdf.properties.getField('border_bottom', el),
3074 - e2pdf.properties.getField('border_color', el)
6320 + e2pdf.properties.getField('z_index', el)
3075 6321 ],
3076 6322 'position': 'right',
3077 6323 'classes': [
3078 - 'e2pdf-w25 e2pdf-pr10',
3079 - 'e2pdf-w25 e2pdf-pr10',
3080 - 'e2pdf-w25 e2pdf-pr10',
3081 - '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',
3082 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)
3083 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 + ]
3084 6360 };
3085 6361 }
3086 6362
3087 - // Padding
3088 - if (el.data('data-type') === 'e2pdf-html'
3089 - || el.data('data-type') === 'e2pdf-image'
3090 - || el.data('data-type') === 'e2pdf-signature'
3091 - ) {
3092 - obj['padding'] = {
3093 - 'name': e2pdfLang['Padding'],
6363 + if (el.data('data-type') === 'e2pdf-barcode') {
6364 + obj['barcode'] = {
6365 + 'name': e2pdf.lang.get('Barcode'),
3094 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),
3095 6406 e2pdf.properties.getField('padding_top', el),
3096 6407 e2pdf.properties.getField('padding_left', el),
3097 6408 e2pdf.properties.getField('padding_right', el),
3098 - 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)
3099 6416 ],
3100 6417 'position': 'right',
3101 6418 'classes': [
3102 - 'e2pdf-w25 e2pdf-pr10',
3103 - 'e2pdf-w25 e2pdf-pr10',
3104 - 'e2pdf-w25 e2pdf-pr10',
3105 - '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'
3106 6434 ]
3107 6435 };
3108 - }
3109 -
3110 - // Z-index
3111 - obj['z_index'] = {
3112 - 'name': e2pdfLang['Z-index'],
3113 - 'fields': [
3114 - e2pdf.properties.getField('z_index', el)
3115 - ],
3116 - 'position': el.data('data-type') === 'e2pdf-link' ? 'left' : 'right',
3117 - 'classes': [
3118 - 'e2pdf-w100 e2pdf-hide-label',
3119 - ]
3120 - };
3121 -
3122 - // Parent
3123 - if (el.data('data-type') === 'e2pdf-html') {
3124 - obj['parent'] = {
3125 - 'name': e2pdfLang['Parent'],
6436 + obj['value'] = {
6437 + 'name': e2pdf.lang.get('Value'),
3126 6438 'fields': [
3127 - 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)
3128 6445 ],
3129 6446 'position': 'bottom',
3130 6447 'classes': [
3131 6448 'e2pdf-w100 e2pdf-hide-label',
3132 - ],
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 + ]
3133 6455 };
3134 6456 }
3135 6457
3136 - if (el.data('data-type') === 'e2pdf-radio') {
3137 - obj['group'] = {
3138 - 'name': e2pdfLang['Group'],
6458 + if (el.data('data-type') === 'e2pdf-graph') {
6459 + obj['graph'] = {
6460 + 'name': e2pdf.lang.get('Graph'),
3139 6461 'fields': [
3140 - 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),
3141 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 + ],
3142 6848 'position': 'bottom',
3143 6849 'classes': [
3144 - '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',
3145 6867 ]
3146 6868 };
3147 - }
3148 -
3149 - if (el.data('data-type') === 'e2pdf-radio'
3150 - || el.data('data-type') === 'e2pdf-checkbox'
3151 - ) {
3152 - obj['option'] = {
3153 - 'name': e2pdfLang['Option'],
6869 + obj['value'] = {
6870 + 'name': '',
3154 6871 'fields': [
3155 - 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),
3156 6887 ],
3157 6888 'position': 'bottom',
3158 6889 'classes': [
3159 - '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',
3160 6905 ]
3161 6906 };
3162 6907 }
3163 6908
3164 - // Options
3165 - if (el.data('data-type') === 'e2pdf-select') {
3166 - obj['options'] = {
3167 - 'name': e2pdfLang['Options'],
6909 + if (el.data('data-type') === 'e2pdf-rectangle') {
6910 + obj['style'] = {
6911 + 'name': e2pdf.lang.get('Style'),
3168 6912 'fields': [
3169 - e2pdf.properties.getField('options', el),
6913 + e2pdf.properties.getField('background', el),
6914 + e2pdf.properties.getField('z_index', el),
3170 6915 ],
3171 6916 'position': 'bottom',
3172 6917 'classes': [
3173 - 'e2pdf-w100 e2pdf-hide-label',
6918 + 'e2pdf-w50 e2pdf-pr10',
6919 + 'e2pdf-w50 e2pdf-pl10',
3174 6920 ]
3175 6921 };
3176 6922 }
3177 6923
3178 - // Value
3179 - if (el.data('data-type') === 'e2pdf-html'
3180 - || el.data('data-type') === 'e2pdf-input'
3181 - || el.data('data-type') === 'e2pdf-textarea'
3182 - || el.data('data-type') === 'e2pdf-radio'
3183 - || el.data('data-type') === 'e2pdf-checkbox'
3184 - || el.data('data-type') === 'e2pdf-select'
3185 - || el.data('data-type') === 'e2pdf-image'
3186 - || el.data('data-type') === 'e2pdf-link'
3187 - || el.data('data-type') === 'e2pdf-signature'
3188 - ) {
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 + };
3189 6961 obj['value'] = {
3190 - 'name': e2pdfLang['Value'],
6962 + 'name': e2pdf.lang.get('Value'),
3191 6963 'fields': [
6964 + e2pdf.properties.getField('link_label', el),
6965 + e2pdf.properties.getField('link_type', el),
6966 + e2pdf.properties.getField('highlight', el),
3192 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)
3193 6973 ],
3194 6974 'position': 'bottom',
3195 6975 'classes': [
3196 - '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'
3197 6985 ]
3198 6986 };
3199 6987 }
3200 6988 }
3201 6989
3202 - if (actions) {
3203 - // actions
3204 - obj['actions'] = {
3205 - 'name': e2pdfLang['Actions'],
3206 - 'fields': e2pdf.actions.renderFields(el),
3207 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3208 - };
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 + }
3209 7020 }
3210 -
3211 7021 return obj;
3212 7022 },
3213 - //e2pdf.properties.renderFields
3214 - renderFields: function (el) {
3215 -
3216 - var actions = true;
7023 + // e2pdf.properties.renderFields
7024 + renderFields: function (el, actions = true) {
3217 7025 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3218 7026 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3219 7027 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3220 7028 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3221 7029 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3222 -
3223 - if (el.data('data-type') == 'e2pdf-page') {
7030 + if (el.data('data-type') == 'e2pdf-tpl') {
7031 + fields_top = '';
3224 7032 fields_left = '';
3225 7033 fields_right = '';
3226 - fields_bottom = '';
7034 + } else if (el.data('data-type') == 'e2pdf-page') {
7035 + fields_left = '';
7036 + fields_right = '';
3227 7037 }
3228 7038
3229 7039 var groups = e2pdf.properties.getFields(el, actions);
3230 7040 if (groups) {
3231 7041 for (var group_key in groups) {
3232 -
3233 7042 if (group_key === 'actions') {
3234 -
3235 7043 var group = groups[group_key];
3236 7044 var block = jQuery('<div>');
3237 7045 if (group.name) {
3238 7046 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3238,9 +7046,8 @@
3238 7046 block.append(jQuery('<label>').html(group.name + ':'));
3239 7047 }
3240 7048 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3241 7049 grid.append(group.fields);
3242 -
3243 7050 block.append(grid);
3244 7051 if (group.position === 'top') {
3245 7052 fields_top.append(block);
3246 7053 } else if (group.position === 'left') {
@@ -3249,11 +7056,9 @@
3249 7056 fields_right.append(block);
3250 7057 } else {
3251 7058 fields_bottom.append(block);
3252 7059 }
3253 -
3254 7060 } else {
3255 -
3256 7061 var group = groups[group_key];
3257 7062 var block = jQuery('<div>');
3258 7063 if (group.name) {
3259 7064 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3267,31 +7072,42 @@
3267 7072 if (group.classes[field_key]) {
3268 7073 classes = group.classes[field_key];
3269 7074 }
3270 7075 }
3271 -
3272 7076 var field = '';
3273 7077 var label = '';
3274 7078 var wrap = '';
7079 + var hidden = '';
3275 7080 if (group_field.type === 'text') {
3276 7081 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3277 - field = jQuery('<input>', {'type': 'text', 'name': group_field.key, 'value': group_field.value});
7082 + field = jQuery('<input>', {'type': 'text', 'class': 'e2pdf-w100', 'name': group_field.key, 'value': group_field.value});
3278 7083 } else if (group_field.type === 'hidden') {
3279 7084 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3280 7085 } else if (group_field.type === 'textarea') {
3281 7086 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3282 - field = jQuery('<textarea>', {'name': group_field.key, 'class': 'e2pdf-w100', 'rows': '5'}).val(group_field.value);
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);
3283 7092 } else if (group_field.type === 'checkbox') {
3284 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3285 - label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
7093 + wrap = jQuery('<label>', {'class': 'e2pdf-label e2pdf-small e2pdf-wauto'});
7094 + label = group_field.name;
3286 7095 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3287 7096 if (group_field.value == group_field.option) {
3288 - field.attr('checked', 'checked');
7097 + field.prop('checked', true);
3289 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 + }
3290 7106 } else if (group_field.type === 'color') {
3291 7107 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3292 7108 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3293 - field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
7109 + field = jQuery('<input>', {'class': 'e2pdf-color-picker e2pdf-color-picker-load e2pdf-w100', 'type': 'text', 'name': group_field.key, 'value': group_field.value});
3294 7110 } else if (group_field.type === 'select') {
3295 7111 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3296 7112 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3297 7113 for (var option_key in group_field.options) {
@@ -3297,13 +7113,13 @@
3297 7113 for (var option_key in group_field.options) {
3298 7114 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3299 7115 }
3300 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);
3301 7119 }
3302 -
3303 7120 for (var att_key in group_field.atts) {
3304 7121 var att = group_field.atts[att_key];
3305 -
3306 7122 switch (att) {
3307 7123 case 'readonly':
3308 7124 field.attr('readonly', 'readonly');
3309 7125 break;
@@ -3312,10 +7128,12 @@
3312 7128 break;
3313 7129 case 'number':
3314 7130 field.addClass('e2pdf-numbers');
3315 7131 break;
7132 + case 'number-negative':
7133 + field.addClass('e2pdf-number-negative');
7134 + break;
3316 7135 case 'autocomplete':
3317 -
3318 7136 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3319 7137 field.addClass('e2pdf-autocomplete-cl');
3320 7138 field.autocomplete({
3321 7139 source: group_field.source,
@@ -3321,32 +7139,40 @@
3321 7139 source: group_field.source,
3322 7140 minLength: 0,
3323 7141 appendTo: wrap,
3324 7142 open: function () {
3325 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7143 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3326 7144 },
3327 7145 classes: {
3328 7146 "ui-autocomplete": "e2pdf-autocomplete"
3329 - },
7147 + }
3330 7148 });
3331 7149 break;
3332 -
3333 - case 'scale':
3334 - field.addClass('e2pdf-scale-field');
7150 + case 'collapse':
7151 + field.attr('data-collapse', group_field.collapse);
3335 7152 break;
3336 7153 }
3337 7154 }
3338 -
3339 -
3340 7155 if (!wrap) {
3341 7156 wrap = field;
3342 7157 } else {
3343 7158 wrap.prepend(field);
3344 7159 }
3345 -
3346 - 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 + }
3347 7174 }
3348 -
3349 7175 block.append(grid);
3350 7176 if (group.position === 'top') {
3351 7177 fields_top.append(block);
3352 7178 } else if (group.position === 'left') {
@@ -3358,72 +7184,94 @@
3358 7184 }
3359 7185 }
3360 7186 }
3361 7187 }
3362 -
3363 7188 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3364 7189 return fields;
3365 7190 },
3366 - //e2pdf.properties.apply
3367 - 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 + }
3368 7219 el.data('data-properties', JSON.stringify(data));
3369 7220 },
3370 - //e2pdf.properties.set
7221 + // e2pdf.properties.set
3371 7222 set: function (el, key, value) {
3372 7223 var properties = e2pdf.properties.get(el);
3373 7224 properties[key] = value;
3374 7225 e2pdf.properties.apply(el, properties);
3375 7226 },
3376 - //e2pdf.properties.getValue
3377 - getValue: function (el, key) {
7227 + // e2pdf.properties.getValue
7228 + getValue: function (el, key, type = '') {
3378 7229 var properties = e2pdf.properties.get(el);
3379 - 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 + }
3380 7251 },
3381 - //e2pdf.properties.get
3382 - get: function (el, submit) {
3383 -
7252 + // e2pdf.properties.get
7253 + get: function (el) {
3384 7254 var properties = [];
3385 -
3386 7255 if (typeof el.data('data-properties') !== 'undefined') {
3387 7256 properties = JSON.parse(el.data('data-properties'));
3388 -
3389 - if (el.data('data-type') !== 'e2pdf-page') {
3390 - if (!("width" in properties)) {
3391 - properties['width'] = parseFloat(el.css('width'));
3392 - }
3393 - if (!("height" in properties)) {
3394 - properties['height'] = parseFloat(el.css('height'));
3395 - }
3396 -
3397 - if (!("top" in properties)) {
3398 - properties['top'] = parseFloat(el.css('top'));
3399 - }
3400 -
3401 - if (!("left" in properties)) {
3402 - properties['left'] = parseFloat(el.css('left'));
3403 - }
3404 -
3405 - if (submit) {
3406 - delete properties['width'];
3407 - delete properties['height'];
3408 - delete properties['value'];
3409 - delete properties['top'];
3410 - delete properties['left'];
3411 - }
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'));
3412 7262 }
3413 7263 }
3414 -
3415 7264 return properties;
3416 7265 },
3417 - //e2pdf.properties.render
7266 + // e2pdf.properties.render
3418 7267 render: function (el) {
3419 7268 var properties = e2pdf.properties.get(el);
3420 7269 var children = e2pdf.element.children(el);
3421 - if (properties.hasOwnProperty("options")) {
3422 - var property = "options";
7270 + if (properties.hasOwnProperty('options')) {
3423 7271 if (el.data('data-type') === 'e2pdf-select') {
3424 7272 children.find('option').remove();
3425 - var options = properties[property].split("\n");
7273 + var options = properties['options'].split("\n");
3426 7274 if (typeof options !== 'undefined' && options.length > 0) {
3427 7275 for (var key in options) {
3428 7276 children.append(
3429 7277 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3430,437 +7278,471 @@
3430 7278 );
3431 7279 }
3432 7280 }
3433 7281 }
3434 -
3435 7282 }
3436 -
3437 - // value render
3438 - if (properties.hasOwnProperty("value")) {
3439 - var property = "value";
3440 - if (el.data('data-type') === 'e2pdf-html') {
3441 - children.html(properties[property]);
3442 - } else if (el.data('data-type') === 'e2pdf-input') {
3443 - children.val(properties[property]);
3444 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3445 - children.val(properties[property]);
3446 - } else if (el.data('data-type') === 'e2pdf-select') {
3447 - children.val(properties[property]);
3448 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3449 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3450 - children.attr('checked', 'checked');
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']));
3451 7296 } else {
3452 - 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'])));
3453 7299 }
3454 - } 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':
3455 7340 e2pdf.helper.image.load(el);
3456 - }
7341 + break;
3457 7342 }
3458 7343
3459 - if (properties.hasOwnProperty("group")) {
3460 - var property = "group";
3461 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3462 - var radio = jQuery(this).parent();
3463 - var group = e2pdf.properties.getValue(radio, 'group');
3464 - if (group === properties[property]) {
3465 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3466 - e2pdf.properties.set(radio, 'required', properties['required']);
3467 - e2pdf.properties.set(radio, 'value', properties['value']);
3468 - var option = e2pdf.properties.getValue(radio, 'option');
3469 - if (properties['value'] === option) {
3470 - jQuery(this).attr('checked', 'checked');
3471 - } else {
3472 - jQuery(this).attr('checked', false);
3473 - }
3474 - }
3475 - });
3476 - }
3477 -
3478 - // multiline
3479 7344 if (el.data('data-type') === 'e2pdf-select') {
3480 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3481 - var property = "multiline";
3482 - children.attr('multiple', true);
3483 - } else {
3484 - children.attr('multiple', false);
3485 - }
7345 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3486 7346 }
3487 7347
3488 - // z_index render
3489 - if (properties.hasOwnProperty("z_index")) {
3490 - var property = "z_index";
3491 - 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']));
3492 7350 }
3493 7351
3494 - // rtl
3495 - if (el.data('data-type') === 'e2pdf-select'
3496 - || el.data('data-type') === 'e2pdf-input'
3497 - || el.data('data-type') === 'e2pdf-textarea'
3498 - || el.data('data-type') === 'e2pdf-html') {
3499 - if (properties.hasOwnProperty("rtl")) {
3500 - children.attr('dir', 'rtl');
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');
3501 7360 } else {
3502 7361 children.attr('dir', false);
3503 7362 }
7363 + }
3504 7364
7365 + if (el.data('data-type') === 'e2pdf-radio' || el.data('data-type') === 'e2pdf-checkbox') {
7366 + children.css('background', e2pdf.helper.getString(properties['background']));
7367 + } else {
7368 + el.css('background', e2pdf.helper.getString(properties['background']));
3505 7369 }
3506 7370
3507 - // background render
3508 - if (properties.hasOwnProperty("background")) {
3509 - var property = "background";
3510 - if (el.data('data-type') === 'e2pdf-radio'
3511 - || el.data('data-type') === 'e2pdf-checkbox'
3512 - ) {
3513 - children.css('background', properties[property]);
3514 - } else {
3515 - el.css('background', properties[property]);
3516 - }
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'));
3517 7383 }
3518 7384
3519 - if (properties.hasOwnProperty("border_top")) {
3520 - var property = "border_top";
3521 - // border_top render
3522 - if (properties[property] !== '0') {
3523 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3524 - } else {
3525 - el.css('border-top', '');
3526 - }
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']));
3527 7398 }
3528 7399
3529 - if (properties.hasOwnProperty("border_left")) {
3530 - var property = "border_left";
3531 - // border_left render
3532 - if (properties[property] !== '0') {
3533 - el.css('border-left', properties[property] + 'px solid ' + properties['border_color']);
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', '');
3534 7405 } else {
3535 - el.css('border-left', '');
7406 + var tmp = jQuery('<div>', {'name': font, 'path': path});
7407 + e2pdf.font.load(tmp);
7408 + el.css('font-family', CSS.escape(font));
3536 7409 }
7410 + } else {
7411 + el.css('font-family', '');
3537 7412 }
3538 7413
7414 + el.css('font-size', e2pdf.helper.getString(properties['text_font_size'], '', 'px'));
7415 + el.css('letter-spacing', e2pdf.helper.getString(properties['text_letter_spacing']), '', 'px');
7416 + children.css('text-align', e2pdf.helper.getString(properties['text_align']) ? e2pdf.helper.getString(properties['text_align']) : jQuery('#e2pdf-text-align').val());
7417 + if (el.data('data-type') === 'e2pdf-textarea') {
7418 + children.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
7419 + } else {
7420 + el.css('line-height', e2pdf.helper.getString(properties['text_line_height']) && e2pdf.helper.getString(properties['text_line_height']) != '0' ? e2pdf.helper.getString(properties['text_line_height']) + 'px' : '');
7421 + }
3539 7422
3540 - if (properties.hasOwnProperty("border_right")) {
3541 - var property = "border_right";
3542 - // border_right render
3543 - if (properties[property] !== '0') {
3544 - el.css('border-right', properties[property] + 'px solid ' + properties['border_color']);
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');
3545 7430 } else {
3546 - el.css('border-right', '');
7431 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3547 7432 }
3548 - }
3549 7433
3550 - if (properties.hasOwnProperty("border_bottom")) {
3551 - var property = "border_bottom";
3552 - // border_bottom render
3553 - if (properties[property] !== '0') {
3554 - el.css('border-bottom', properties[property] + 'px solid ' + properties['border_color']);
7434 + var width = e2pdf.helper.getFloat(properties['left']) + e2pdf.helper.getFloat(el.css('width'));
7435 + if (width > page_w) {
7436 + var left = page_w - e2pdf.helper.getFloat(el.css('width'));
7437 + el.css('left', left + "px");
3555 7438 } else {
3556 - el.css('border-bottom', '');
7439 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3557 7440 }
3558 - }
3559 7441
3560 - if (properties.hasOwnProperty("padding_top")) {
3561 - var property = "padding_top";
3562 - el.css('padding-top', properties[property] + 'px');
3563 - }
7442 + var width = e2pdf.helper.getFloat(properties['width']);
7443 + var left = e2pdf.helper.getFloat(el.css('left'));
7444 + if (width > 0) {
7445 + if (width > page_w - left) {
7446 + el.css('width', page_w - left);
7447 + e2pdf.properties.set(el, 'width', page_w - left);
7448 + } else {
7449 + el.css('width', e2pdf.helper.getFloat(properties['width'], 0, 'px'));
7450 + }
7451 + }
3564 7452
3565 - if (properties.hasOwnProperty("padding_left")) {
3566 - var property = "padding_left";
3567 - el.css('padding-left', properties[property] + 'px');
7453 + var height = e2pdf.helper.getFloat(properties['height']);
7454 + var top = e2pdf.helper.getFloat(el.css('top'));
7455 + if (height > 0) {
7456 + if (height > page_h - top) {
7457 + el.css('height', page_h - top);
7458 + e2pdf.properties.set(el, 'height', page_h - top);
7459 + } else {
7460 + el.css('height', e2pdf.helper.getFloat(properties['height'], 0, 'px'));
7461 + }
7462 + }
3568 7463 }
3569 7464
3570 - if (properties.hasOwnProperty("padding_right")) {
3571 - var property = "padding_right";
3572 - el.css('padding-right', properties[property] + 'px');
7465 + if (e2pdf.helper.getCheckbox(properties['locked']) == '1') {
7466 + el.addClass('e2pdf-locked');
7467 + } else {
7468 + el.removeClass('e2pdf-locked');
3573 7469 }
7470 + }
3574 7471
3575 - if (properties.hasOwnProperty("padding_bottom")) {
3576 - var property = "padding_bottom";
3577 - el.css('padding-bottom', properties[property] + 'px');
3578 - }
3579 -
3580 - if (properties.hasOwnProperty("border")) {
3581 - var property = "border";
3582 - if (el.data('data-type') === 'e2pdf-input'
3583 - || el.data('data-type') === 'e2pdf-textarea'
3584 - || el.data('data-type') === 'e2pdf-select'
3585 - || el.data('data-type') === 'e2pdf-radio'
3586 - || el.data('data-type') === 'e2pdf-checkbox'
3587 - ) {
3588 - if (properties[property] !== '0') {
3589 - children.css('border', properties[property] + 'px solid ' + properties['border_color']);
7472 + },
7473 + // e2pdf.welcomeScreen
7474 + welcomeScreen: function () {
7475 + if (jQuery('.e2pdf-page').length === 0) {
7476 + var el = jQuery('<div>', {'data-modal': 'welcome-screen'});
7477 + e2pdf.dialog.create(el);
7478 + }
7479 + },
7480 + // e2pdf.createPdf
7481 + createPdf: function (el) {
7482 + var item = false;
7483 + var item1 = false;
7484 + var item2 = false;
7485 + var action = el.attr('data-action');
7486 + var data = e2pdf.form.serializeObject(el.closest('form'));
7487 + if (action !== 'upload') {
7488 + var disabled_settings = [
7489 + 'title', 'preset', 'font', 'font_size', 'line_height'
7490 + ];
7491 + for (var key in data) {
7492 + if (jQuery.inArray(key, disabled_settings) === -1) {
7493 + if (key == 'activated') {
7494 + e2pdf.pdf.settings.change(key, data[key]);
3590 7495 } else {
3591 - children.css('border', '');
7496 + e2pdf.pdf.settings.change(key, data[key]);
3592 7497 }
3593 7498 }
3594 - }
3595 7499
3596 - if (properties.hasOwnProperty("text_color")) {
3597 - var property = "text_color";
3598 - if (el.data('data-type') === 'e2pdf-html') {
3599 - el.css('color', properties[property]);
3600 - } else if (el.data('data-type') === 'e2pdf-input'
3601 - || el.data('data-type') === 'e2pdf-textarea'
3602 - || el.data('data-type') === 'e2pdf-select'
3603 - || el.data('data-type') === 'e2pdf-radio'
3604 - || el.data('data-type') === 'e2pdf-checkbox'
3605 - ) {
3606 - children.css('color', properties[property]);
7500 + if (key === 'font') {
7501 + jQuery('#e2pdf-font').val(data[key]);
3607 7502 }
3608 - }
3609 7503
3610 - if (properties.hasOwnProperty("text_font")) {
3611 - var property = "text_font";
3612 - if (properties[property] && properties[property] !== "") {
3613 - var path = jQuery('#e2pdf_wysiwyg_font').find("[value='" + properties[property] + "']").attr('path');
3614 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
3615 - e2pdf.font.load(tmp);
3616 - el.css('font-family', properties[property]);
3617 - } else {
3618 - el.css('font-family', '');
7504 + if (key === 'font_size') {
7505 + jQuery('#e2pdf-font-size').val(data[key]);
3619 7506 }
3620 - }
3621 7507
3622 - if (properties.hasOwnProperty("text_font_size")) {
3623 - var property = "text_font_size";
3624 - if (properties[property] !== '') {
3625 - el.css('font-size', properties[property] + "px");
3626 - } else {
3627 - el.css('font-size', '');
7508 + if (key === 'line_height') {
7509 + jQuery('#e2pdf-line-height').val(data[key]);
3628 7510 }
3629 - }
3630 7511
3631 - if (properties.hasOwnProperty("text_line_height")) {
3632 - var property = "text_line_height";
3633 - //backward compatiability with input
3634 - if (properties[property] !== '' && properties[property] !== '0') {
3635 - if (el.data('data-type') === 'e2pdf-textarea') {
3636 - children.css('line-height', properties[property] + "px");
3637 - } else {
3638 - el.css('line-height', properties[property] + "px");
3639 - }
3640 - } else {
3641 - if (el.data('data-type') === 'e2pdf-textarea') {
3642 - children.css('line-height', '');
3643 - } else {
3644 - el.css('line-height', '');
3645 - }
7512 + if (key === 'title') {
7513 + jQuery('#e2pdf-title').val(data[key]);
3646 7514 }
3647 - }
3648 7515
3649 - if (properties.hasOwnProperty("top")) {
3650 - var property = "top";
3651 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3652 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3653 - var top = page_height - parseFloat(el.css('height'));
3654 - el.css('top', top + "px");
3655 - } else if (properties[property] >= 0) {
3656 - el.css('top', properties[property] + "px");
7516 + if (key === 'text_align') {
7517 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
3657 7518 }
7519 +
7520 + if (key === 'rtl') {
7521 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7522 + }
3658 7523 }
3659 7524
3660 - if (properties.hasOwnProperty("left")) {
3661 - var property = "left";
3662 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3663 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3664 - var left = page_width - parseFloat(el.css('width'));
3665 - el.css('left', left + "px");
3666 - } else if (properties[property] >= 0) {
3667 - el.css('left', properties[property] + "px");
3668 - }
7525 + if (!data['rtl']) {
7526 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3669 7527 }
7528 + }
3670 7529
3671 - if (properties.hasOwnProperty("text_align")) {
3672 - var property = "text_align";
3673 - children.css('text-align', properties[property]);
7530 + if (action === 'apply') {
7531 + var width = parseFloat(el.closest('form').find('input[name="width"]').val());
7532 + var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7533 + var option = el.closest('form').find('.e2pdf-item option:selected');
7534 + if (option && typeof option.data('data-item') !== 'undefined') {
7535 + item = option.data('data-item');
3674 7536 }
3675 7537
3676 - // width render
3677 - if (properties.hasOwnProperty("width")) {
3678 - var property = "width";
3679 - var width = parseFloat(properties[property]);
3680 - var left = parseFloat(el.css('left'));
3681 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3682 - if (width > 0) {
3683 - if (width > page_width - left) {
3684 - el.css('width', page_width - left);
3685 - e2pdf.properties.set(el, 'width', page_width - left);
3686 - } else {
3687 - el.css('width', properties[property]);
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 + }
3688 7555 }
3689 - }
3690 - }
3691 7556
3692 - // height render
3693 - if (properties.hasOwnProperty("height")) {
3694 - var property = "height";
3695 - // height render
3696 - var height = parseFloat(properties[property]);
3697 - var top = parseFloat(el.css('top'));
3698 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3699 - if (height > 0) {
3700 - if (height > page_height - top) {
3701 - el.css('height', page_height - top);
3702 - e2pdf.properties.set(el, 'width', page_height - top);
3703 - } else {
3704 - el.css('height', properties[property]);
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 + }
3705 7563 }
3706 7564 }
7565 +
7566 + e2pdf.pages.changeTplSize(width, height);
7567 + jQuery('.ui-dialog-content').dialog('close');
3707 7568 }
3708 - }
3709 - },
3710 - //e2pdf.welcomeScreen
3711 - welcomeScreen: function () {
3712 - if (jQuery('.e2pdf-page').length === 0) {
3713 - var el = jQuery('<div/>', {'data-modal': 'welcome-screen'});
3714 - e2pdf.dialog.create(el);
3715 - }
3716 - },
3717 - //e2pdf.createPdf
3718 - createPdf: function (el) {
3719 -
3720 - var action = el.attr('data-action');
3721 - var data = e2pdf.form.serializeObject(el.closest('form'));
3722 - for (var key in data) {
3723 - e2pdf.pdf.settings.change(key, data[key]);
3724 - }
3725 -
3726 - if (action === 'apply') {
3727 - var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3728 - var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3729 - e2pdf.pages.changeTplSize(width, height);
3730 - jQuery('.ui-dialog-content').dialog('close');
3731 7569 } else if (action === 'empty') {
3732 7570 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3733 7571 var height = parseFloat(el.closest('form').find('input[name="height"]').val());
7572 + var option = el.closest('form').find('.e2pdf-item option:selected');
7573 + if (option && typeof option.data('data-item') !== 'undefined') {
7574 + item = option.data('data-item');
7575 + if (item.id == '-1') {
7576 + item = false;
7577 + }
7578 + }
7579 + if (item && item.id == '-2') {
7580 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7581 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7582 + item1 = option1.data('data-item');
7583 + if (item1.id == '-1') {
7584 + item1 = false;
7585 + }
7586 + }
7587 +
7588 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7589 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7590 + item2 = option2.data('data-item');
7591 + if (item2.id == '-1') {
7592 + item2 = false;
7593 + }
7594 + }
7595 + }
3734 7596 e2pdf.pages.changeTplSize(width, height);
3735 7597 e2pdf.pages.createPage();
3736 7598 jQuery('.ui-dialog-content').dialog('close');
3737 7599 } else if (action === 'auto') {
3738 -
3739 - var extension = el.closest('form').find('#e2pdf-extension').val();
3740 - var item = el.closest('form').find('#e2pdf-item').val();
7600 + var extension = el.closest('form').find('.e2pdf-extension').val();
7601 + var option = el.closest('form').find('.e2pdf-item option:selected');
7602 + if (option && typeof option.data('data-item') !== 'undefined') {
7603 + item = option.data('data-item');
7604 + if (item.id == '-1') {
7605 + item = false;
7606 + }
7607 + }
7608 + if (item && item.id == '-2') {
7609 + var option1 = el.closest('form').find('.e2pdf-item1 option:selected');
7610 + if (option1 && typeof option1.data('data-item') !== 'undefined') {
7611 + item1 = option1.data('data-item');
7612 + if (item1.id == '-1') {
7613 + item1 = false;
7614 + }
7615 + }
7616 + var option2 = el.closest('form').find('.e2pdf-item2 option:selected');
7617 + if (option2 && typeof option2.data('data-item') !== 'undefined') {
7618 + item2 = option2.data('data-item');
7619 + if (item2.id == '-1') {
7620 + item2 = false;
7621 + }
7622 + }
7623 + }
3741 7624 var data = {};
3742 7625 data['extension'] = extension;
3743 - data['item'] = item;
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();
3744 7631 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3745 7632 } else if (action === 'upload') {
3746 7633 if (e2pdf.pdf.settings.get('ID')) {
3747 - 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?'))) {
3748 7635 return false;
3749 7636 }
3750 7637 }
3751 - jQuery('#e2pdf-upload-pdf').click();
7638 + jQuery('.e2pdf-upload-pdf').click();
3752 7639 }
7640 + if (action === 'apply' || action === 'empty' || action === 'auto') {
7641 + var link = jQuery('<a>', {
7642 + 'href': 'javascript:void(0);',
7643 + 'class': 'e2pdf-link e2pdf-modal e2pdf-color-red',
7644 + 'data-modal': 'tpl-options'
7645 + }).html(e2pdf.lang.get('Not linked'));
7646 + if (item && item.id) {
7647 + if (item.id == '-2') {
7648 + if ((item1 && item1.id) || (item2 && item2.id)) {
7649 + var link = jQuery('<span>');
7650 + if (item1 && item1.id) {
7651 + link.append(jQuery('<a>', {
7652 + 'target': '_blank',
7653 + 'href': item1.url,
7654 + 'class': 'e2pdf-link'
7655 + }).html(item1.name));
7656 + }
7657 + if (item1 && item1.id && item2 && item2.id) {
7658 + link.append(' | ');
7659 + }
7660 + if (item2 && item2.id) {
7661 + link.append(jQuery('<a>', {
7662 + 'target': '_blank',
7663 + 'href': item2.url,
7664 + 'class': 'e2pdf-link'
7665 + }).html(item2.name));
7666 + }
7667 + link.removeClass('e2pdf-color-red');
7668 + }
7669 + } else {
7670 + link = jQuery('<a>', {
7671 + 'target': '_blank',
7672 + 'href': item.url,
7673 + 'class': 'e2pdf-link'
7674 + }).html(item.name);
7675 + link.removeClass('e2pdf-color-red');
7676 + }
7677 + }
7678 + jQuery('#e2pdf-post-item').html(link);
7679 + }
3753 7680
7681 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3754 7682 e2pdf.font.load(jQuery('#e2pdf-font'));
3755 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3756 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3757 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3758 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
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'));
3759 7687 e2pdf.event.fire('after.createPdf');
3760 7688 },
3761 - //e2pdf.pages
7689 + // e2pdf.pages
3762 7690 pages: {
3763 - //e2pdf.pages.rebuildPages
3764 - rebuildPages: function () {
3765 - jQuery('.e2pdf-page').each(function (index) {
3766 -
3767 - if (!e2pdf.pdf.settings.get('pdf')) {
3768 - if (index + 1 === 1) {
3769 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3770 - } else {
3771 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3772 - }
3773 -
3774 - if (index + 1 === jQuery('.e2pdf-page').length) {
3775 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3776 - } else {
3777 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3778 - }
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();
3779 7698 }
3780 -
3781 - jQuery(this).attr('data-page_id', index + 1);
3782 7699 });
3783 - e2pdf.welcomeScreen();
3784 - },
3785 - //e2pdf.pages.createPage
3786 - createPage: function (page, properties, actions) {
3787 - e2pdf.pages.rebuildPages();
3788 - var newpage = true;
3789 - if (page) {
3790 - var newpage = false;
3791 - }
7700 + if (page.hasClass('ui-droppable')) {
7701 + try {
7702 + page.droppable('destroy');
7703 + page.removeData('ui-droppable');
7704 + } catch (e) {
3792 7705
3793 - if (!properties) {
3794 - var properties = {};
7706 + }
3795 7707 }
3796 -
3797 - if (!actions) {
3798 - var actions = {};
3799 - }
3800 -
3801 - if (newpage) {
3802 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
3803 - var page = jQuery('<div/>', {
3804 - 'class': 'e2pdf-page ui-droppable',
3805 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
3806 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
3807 - }).attr('data-page_id', page_id).append(
3808 - jQuery('<div>', {'class': 'page-options-icons'}).append(
3809 - jQuery('<a>', {
3810 - 'href': 'javascript:void(0);',
3811 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
3812 - }).append(
3813 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
3814 - ),
3815 - jQuery('<a>', {
3816 - 'href': 'javascript:void(0);',
3817 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
3818 - }).append(
3819 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
3820 - ),
3821 - jQuery('<a>', {
3822 - 'href': 'javascript:void(0);',
3823 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
3824 - 'data-modal': 'page-options'
3825 - }).append(
3826 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
3827 - ),
3828 - jQuery('<a>', {
3829 - 'href': 'javascript:void(0);',
3830 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
3831 - }).append(
3832 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
3833 - ),
3834 - ),
3835 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
3836 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
3837 - );
3838 - }
3839 -
3840 - page.data('data-type', 'e2pdf-page');
3841 -
3842 - e2pdf.properties.apply(page, properties);
3843 - e2pdf.actions.apply(page, actions);
3844 -
3845 7708 page.droppable({
3846 7709 over: function (ev, ui) {
3847 7710 e2pdf.static.drag.page = jQuery(this);
3848 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 + }
3849 7724
3850 7725 if (ui.draggable.hasClass('e2pdf-clone')) {
3851 - jQuery(this).find(".e2pdf-element").each(function () {
7726 + jQuery(this).find('.e2pdf-element').each(function () {
3852 7727 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
3853 7728 });
3854 7729 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
3855 7730 } else {
3856 - 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);
3857 7732 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
3858 7733 }
3859 7734 },
3860 - out: function (ev) {
7735 + out: function (ev, ui) {
3861 7736 e2pdf.static.drag.page = null;
3862 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 +
3863 7745 },
3864 7746 deactivate: function (ev) {
3865 7747 e2pdf.static.drag.page = null;
3866 7748 e2pdf.static.guide.guides = [];
@@ -3869,13 +7751,12 @@
3869 7751 if (ui.draggable.hasClass('e2pdf-clone')) {
3870 7752 var type = jQuery(ui.draggable).attr('data-type');
3871 7753 var page = jQuery(this).closest('.e2pdf-page');
3872 7754 var pos = {
3873 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
3874 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
3875 - right: Math.min(0, ((parseFloat(jQuery(ui.helper).css('width')) + jQuery(ui.helper).offset().left - 2) - (jQuery(this).offset().left + parseFloat(jQuery(this).css('width')))) / e2pdf.zoom.zoom),
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))
3876 7758 };
3877 -
3878 7759 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
3879 7760 return false;
3880 7761 }
3881 7762
@@ -3883,23 +7764,25 @@
3883 7764 properties['width'] = jQuery(ui.helper).css('width');
3884 7765 properties['height'] = jQuery(ui.helper).css('height');
3885 7766 properties['top'] = pos.top;
3886 7767 properties['left'] = pos.left;
3887 - properties['value'] = jQuery(ui.draggable).attr('data-value');
3888 - //changed
3889 7768 var el = e2pdf.element.create(type, page, properties, false, true);
3890 7769 jQuery(this).append(el);
3891 7770 e2pdf.properties.render(el);
7771 + var history = [];
7772 + history.push(el.clone(true));
7773 + e2pdf.history.set('element_create', history);
3892 7774 }
3893 7775 e2pdf.static.drag.page = null;
3894 7776 }
3895 7777 });
3896 - page.contextmenu(function (e) {
3897 - if (jQuery(e.target).hasClass('e2pdf-page')) {
3898 - e2pdf.contextMenu(e, page);
3899 - e.preventDefault();
7778 + if (page.hasClass('ui-selectable')) {
7779 + try {
7780 + page.selectable('destroy');
7781 + page.removeData('selectable');
7782 + } catch (e) {
3900 7783 }
3901 - });
7784 + }
3902 7785 page.selectable(
3903 7786 {
3904 7787 filter: '.e2pdf-element',
3905 7788 cancel: 'a,.e2pdf-element',
@@ -3904,21 +7787,114 @@
3904 7787 filter: '.e2pdf-element',
3905 7788 cancel: 'a,.e2pdf-element',
3906 7789 distance: 10,
3907 7790 selecting: function (event, ui) {
3908 - 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 + }
3909 7794 },
3910 7795 unselecting: function (event, ui) {
3911 7796 jQuery(ui.unselecting).removeClass('e2pdf-selected');
3912 7797 },
3913 7798 selected: function (event, ui) {
3914 - 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 + }
3915 7802 },
3916 7803 unselected: function (event, ui) {
3917 7804 e2pdf.element.unselect(jQuery(ui.unselected));
3918 7805 }
3919 - });
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 + }
3920 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 + }
3921 7897 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
3922 7898 e2pdf.pages.rebuildPages();
3923 7899 e2pdf.event.fire('after.pages.createPage.newpage');
3924 7900 return true;
@@ -3925,11 +7901,10 @@
3925 7901 } else {
3926 7902 return false;
3927 7903 }
3928 7904 },
3929 - //e2pdf.pages.movePage
7905 + // e2pdf.pages.movePage
3930 7906 movePage: function (el, direction) {
3931 -
3932 7907 if (e2pdf.pdf.settings.get('pdf')) {
3933 7908 return false;
3934 7909 }
3935 7910 if (direction === 'up') {
@@ -3936,26 +7911,22 @@
3936 7911 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
3937 7912 } else if (direction === 'down') {
3938 7913 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
3939 7914 }
3940 -
3941 7915 e2pdf.event.fire('after.pages.movePage');
3942 7916 e2pdf.pages.rebuildPages();
3943 7917 },
3944 - //e2pdf.pages.deletePage
7918 + // e2pdf.pages.deletePage
3945 7919 deletePage: function (el) {
3946 7920 el.closest('.e2pdf-page').remove();
3947 7921 e2pdf.event.fire('after.pages.deletePage');
3948 7922 e2pdf.pages.rebuildPages();
3949 7923 },
3950 - //e2pdf.pages.changeTplSize
7924 + // e2pdf.pages.changeTplSize
3951 7925 changeTplSize: function (width, height) {
3952 7926 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
3953 7927 },
3954 7928 changePageSize: function (el, width, height) {
3955 -
3956 - var set_width = true;
3957 - var set_height = true;
3958 7929 var prev_width = parseFloat(el.css('width'));
3959 7930 var prev_height = parseFloat(el.css('height'));
3960 7931 var width_diff = width / prev_width;
3961 7932 var height_diff = height / prev_height;
@@ -3961,51 +7932,42 @@
3961 7932 var height_diff = height / prev_height;
3962 7933 el.find(".e2pdf-element").each(function () {
3963 7934 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
3964 7935 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
3965 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
3966 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
3967 - if (scale === e2pdf.static.const.WIDTH) {
3968 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
3969 - set_height = false;
3970 - } else if (scale === e2pdf.static.const.HEIGHT) {
3971 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
3972 - set_width = false;
3973 - }
3974 - }
3975 -
3976 - if (set_width) {
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'))) {
3977 7937 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
3978 - }
3979 -
3980 - 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);
3981 7941 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
3982 7942 }
3983 -
3984 7943 });
3985 7944 el.css('width', width);
3986 7945 el.css('height', height);
7946 + el.attr('data-width', width);
7947 + el.attr('data-height', height);
3987 7948 }
3988 7949 },
3989 - //e2pdf.contextMenu
7950 + // e2pdf.contextMenu
3990 7951 contextMenu: function (e, el) {
3991 7952 e2pdf.delete('.e2pdf-context');
3992 - var menu = jQuery('<div/>', {'class': 'e2pdf-context'});
7953 + jQuery('.e2pdf-page').css('z-index', '');
7954 + var menu = jQuery('<div>', {'class': 'e2pdf-context'});
3993 7955 if (el.hasClass('e2pdf-page')) {
3994 7956 var parent = el;
3995 - menu.append(jQuery('<ul/>', {'class': 'e2pdf-context-menu'}).append(
3996 - jQuery('<li/>').append(
3997 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste'])
7957 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7958 + menu.find('ul.e2pdf-context-menu').append(
7959 + jQuery('<li>').append(
7960 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste'))
3998 7961 ),
3999 - jQuery('<li/>').append(
4000 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-pasteinplace e2pdf-link', 'disabled': 'disabled'}).html(e2pdfLang['Paste in Place'])
7962 + jQuery('<li>').append(
7963 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-paste e2pdf-link', 'type': 'elements-in-place', 'disabled': e2pdf.storage.get('elements') !== null ? false : 'disabled'}).html(e2pdf.lang.get('Paste in Place'))
7964 + ),
7965 + jQuery('<li>').append(
7966 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-page-options e2pdf-modal', 'data-modal': 'page-options'}).html(e2pdf.lang.get('Properties'))
4001 7967 )
4002 - ));
4003 - if (Object.keys(e2pdf.element.buffered).length > 0) {
4004 - menu.find('a').attr('disabled', false);
4005 - }
7968 + );
4006 7969 } else {
4007 -
4008 7970 if (!el.hasClass('e2pdf-selected')) {
4009 7971 e2pdf.element.unselect();
4010 7972 e2pdf.element.select(el);
4011 7973 }
@@ -4010,642 +7972,1069 @@
4010 7972 e2pdf.element.select(el);
4011 7973 }
4012 7974
4013 7975 var parent = el.closest('.e2pdf-page');
4014 - menu.append(jQuery('<ul/>', {'class': 'e2pdf-context-menu'}).append(
4015 - jQuery('<li/>').append(
4016 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': el.hasClass('e2pdf-hide') ? 'e2pdf-unhidden' : 'e2pdf-hidden'}).html(el.hasClass('e2pdf-hide') ? e2pdfLang['Show'] : e2pdfLang['Hide'])
7976 + menu.append(jQuery('<ul>', {'class': 'e2pdf-context-menu'}));
7977 + if (Object.keys(e2pdf.element.selected).length == 1 && el.data('data-type') !== 'e2pdf-rectangle' && el.data('data-type') !== 'e2pdf-page-number') {
7978 + if (el.hasClass('e2pdf-focused') && (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea' || el.data('data-type') === 'e2pdf-html')) {
7979 + menu.find('ul.e2pdf-context-menu').append(
7980 + jQuery('<li>').append(
7981 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Insert Mapped'))
7982 + ));
7983 + } else {
7984 + menu.find('ul.e2pdf-context-menu').append(
7985 + jQuery('<li>').append(
7986 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdf.lang.get('Map Field'))
7987 + ));
7988 + }
7989 + }
7990 +
7991 + if (Object.keys(e2pdf.element.selected).length == 1 && (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-link' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig', 'checkbox')))) {
7992 + menu.find('ul.e2pdf-context-menu').append(
7993 + jQuery('<li>').append(
7994 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdf.lang.get('Media Library'))
7995 + ));
7996 + }
7997 +
7998 + menu.find('ul.e2pdf-context-menu').append(
7999 + jQuery('<li>', {'class': 'e2pdf-inner-context-menu'}).append(
8000 + jQuery('<a>', {'href': 'javascript:void(0);'}).append(jQuery('<span>').html(e2pdf.lang.get('Quick Props')), jQuery('<span>', {'class': 'e2pdf-inner-context-arrow'}))
8001 + ,
8002 + jQuery('<ul>', {'class': 'e2pdf-sub-context-menu e2pdf-quickprops-menu'}).append(
8003 + jQuery('<li>').append(
8004 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Read-Only'))
4017 8005 ),
4018 - jQuery('<li/>').append(
4019 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy'}).html(e2pdfLang['Copy'])
8006 + jQuery('<li>').append(
8007 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-readonly', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Read-Only'))
4020 8008 ),
4021 - jQuery('<li/>').append(
4022 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-cut'}).html(e2pdfLang['Cut'])
8009 + jQuery('<li>').append(
8010 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '1', 'type': 'style'}).html(e2pdf.lang.get('Border'))
4023 8011 ),
4024 - jQuery('<li/>').append(
4025 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-delete', }).html(e2pdfLang['Delete'])
8012 + jQuery('<li>').append(
8013 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-quick-border', 'data-value': '0', 'type': 'style'}).html(e2pdf.lang.get('No Border'))
8014 + )
8015 + )
4026 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 + ))
4027 8027 ));
4028 - 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 + }
4029 8066
4030 - menu.find('ul').append(
4031 - jQuery('<li/>').append(
4032 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
4033 - ));
4034 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
4035 - menu.find('ul').prepend(
4036 - jQuery('<li/>').append(
4037 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-upload'}).html(e2pdfLang['Choose Image'])
8067 + if (Object.keys(e2pdf.element.selected).length == 1 || e2pdf.storage.get('width') != null) {
8068 + if (Object.keys(e2pdf.element.selected).length == 1) {
8069 + menu.find('ul.e2pdf-copy-menu').append(
8070 + jQuery('<li>').append(
8071 + jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-copy', 'type': 'width'}).html(e2pdf.lang.get('Width'))
4038 8072 ));
4039 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 + }
4040 8082
4041 - if (el.data('data-type') !== 'e2pdf-rectangle') {
4042 - menu.find('ul').prepend(jQuery('<li/>').append(
4043 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-visual'}).html(e2pdfLang['Map Field'])
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'))
4044 8089 ));
4045 8090 }
4046 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 + }
4047 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 + }
4048 8125 }
4049 -
4050 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
4051 - var pos_y = (e.pageY - parent.offset().top) / e2pdf.zoom.zoom;
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 + }
4052 8138 menu.css({top: pos_y + "px", left: pos_x + "px"});
4053 - menu.appendTo(parent);
8139 + menu.show();
4054 8140 },
4055 - //e2pdf.delete
8141 + // e2pdf.delete
4056 8142 delete: function (el) {
4057 8143 jQuery(el).remove();
4058 8144 },
4059 - //e2pdf.element
8145 + // e2pdf.element
4060 8146 element: {
4061 - //e2pdf.element.buffered
4062 - buffered: [],
4063 - //e2pdf.element.selected
8147 + // e2pdf.element.selected
4064 8148 selected: [],
4065 - //e2pdf.element.init
8149 + // e2pdf.element.init
4066 8150 init: function (el) {
4067 -
4068 8151 if (el.data('data-type') === 'e2pdf-html') {
4069 - 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 + }
4070 8157 } else if (el.data('data-type') === 'e2pdf-input') {
4071 8158 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4072 8159 } else if (el.data('data-type') === 'e2pdf-textarea') {
4073 8160 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4074 8161 }
4075 -
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'));
4076 8165 },
4077 - //e2pdf.element.create
4078 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4079 -
4080 - var aspect = false;
4081 - var min_height = 10;
4082 - if (!properties) {
4083 - var properties = {};
8166 + // e2pdf.element.initEvents
8167 + initEvents: function (element, page) {
8168 + var min_width = 2;
8169 + var min_height = 2;
8170 + if (element.data('data-type') == 'e2pdf-rectangle') {
8171 + min_height = 1;
8172 + min_width = 1;
4084 8173 }
4085 -
4086 - if (!actions) {
4087 - var actions = {};
8174 + if (!page) {
8175 + page = element.closest('.e2pdf-page');
4088 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) {
4089 8187
4090 - if (!properties['value']) {
4091 - properties['value'] = '';
4092 - }
4093 -
4094 - // Switch element types
4095 - if (type === 'e2pdf-html') {
4096 -
4097 - if (!properties['width']) {
4098 - properties['width'] = '200';
4099 8188 }
4100 -
4101 - if (!properties['height']) {
4102 - properties['height'] = '22';
4103 - }
4104 -
4105 -
4106 - var element =
4107 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4108 - jQuery('<div/>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4109 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4110 - );
4111 - } else if (type === 'e2pdf-input') {
4112 -
4113 - if (!properties['width']) {
4114 - properties['width'] = '200';
4115 - }
4116 -
4117 - if (!properties['height']) {
4118 - properties['height'] = '22';
4119 - }
4120 -
4121 - var element =
4122 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4123 - jQuery('<input/>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4124 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4125 - );
4126 - } else if (type === 'e2pdf-textarea') {
4127 -
4128 - if (!properties['width']) {
4129 - properties['width'] = '200';
4130 - }
4131 -
4132 - if (!properties['height']) {
4133 - properties['height'] = '100';
4134 - }
4135 -
4136 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4137 - jQuery('<textarea/>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4138 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4139 - );
4140 - } else if (type === 'e2pdf-checkbox') {
4141 -
4142 - if (!properties['width']) {
4143 - properties['width'] = '16';
4144 - }
4145 -
4146 - if (!properties['height']) {
4147 - properties['height'] = '16';
4148 - }
4149 -
4150 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4151 - jQuery('<input/>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4152 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4153 - );
4154 - } else if (type === 'e2pdf-radio') {
4155 -
4156 - if (!properties['width']) {
4157 - properties['width'] = '16';
4158 - }
4159 -
4160 - if (!properties['height']) {
4161 - properties['height'] = '16';
4162 - }
4163 -
4164 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4165 - jQuery('<input/>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4166 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4167 - );
4168 - var aspect = false;
4169 - } else if (type === 'e2pdf-select') {
4170 -
4171 - if (!properties['width']) {
4172 - properties['width'] = '200';
4173 - }
4174 -
4175 - if (!properties['height']) {
4176 - properties['height'] = '22';
4177 - }
4178 -
4179 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4180 - jQuery('<select/>', {'class': 'e2pdf-select'}).append(
4181 - ),
4182 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4183 - );
4184 - } else if (type === 'e2pdf-image') {
4185 -
4186 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4187 - jQuery('<img/>', {'class': 'e2pdf-image'}),
4188 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4189 - );
4190 - } else if (type === 'e2pdf-rectangle') {
4191 -
4192 - if (!properties['width']) {
4193 - properties['width'] = '200';
4194 - }
4195 -
4196 - if (!properties['height']) {
4197 - properties['height'] = '5';
4198 - }
4199 -
4200 - var min_height = 1;
4201 - var element =
4202 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4203 - jQuery('<div/>', {'class': 'content e2pdf-rectangle'}),
4204 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4205 - );
4206 - } else if (type === 'e2pdf-link') {
4207 -
4208 - if (!properties['width']) {
4209 - properties['width'] = '200';
4210 - }
4211 -
4212 - if (!properties['height']) {
4213 - properties['height'] = '22';
4214 - }
4215 -
4216 - var min_height = 1;
4217 - var element =
4218 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4219 - jQuery('<div/>', {'class': 'content e2pdf-link'}),
4220 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4221 - );
4222 - } else if (type === 'e2pdf-signature') {
4223 -
4224 - if (!properties['width']) {
4225 - properties['width'] = '200';
4226 - }
4227 -
4228 - if (!properties['height']) {
4229 - properties['height'] = '22';
4230 - }
4231 -
4232 - if (!properties['dimension']) {
4233 - if (default_properties) {
4234 - properties['dimension'] = '1';
4235 - }
4236 - }
4237 -
4238 - var min_height = 1;
4239 - var element =
4240 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4241 - jQuery('<div/>', {'class': 'content e2pdf-signature'}),
4242 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4243 - );
4244 8189 }
4245 -
4246 - // If element exists
4247 - if (typeof element !== "undefined") {
4248 - element.contextmenu(function (e) {
4249 - e2pdf.contextMenu(e, element);
4250 - e.preventDefault();
4251 - });
4252 - if (!element_id) {
4253 - var last_id = 0;
4254 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4255 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4256 - if (num_id > last_id) {
4257 - last_id = num_id;
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'});
4258 8200 }
4259 - });
4260 - element_id = parseInt(last_id + 1);
4261 - }
4262 - element.addClass('e2pdf-element');
4263 - element.attr('data-element_id', element_id);
4264 - if (type === 'e2pdf-select') {
4265 - if (!properties['options']) {
4266 - if (default_properties) {
4267 - properties['options'] = '';
8201 + if (selected.hasClass('e2pdf-height-auto')) {
8202 + selected.css({'height': 'auto'});
4268 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'))));
4269 8206 }
4270 - }
4271 -
4272 - if (!properties['z_index']) {
4273 - properties['z_index'] = 0;
4274 - }
4275 -
4276 - if (type === 'e2pdf-input'
4277 - || type === 'e2pdf-textarea'
4278 - || type === 'e2pdf-select'
4279 - || type === 'e2pdf-radio'
4280 - || type === 'e2pdf-checkbox'
4281 - ) {
4282 - if (!properties['border']) {
4283 - if (default_properties) {
4284 - properties['border'] = 1;
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);
4285 8230 }
4286 8231 }
4287 - }
4288 -
4289 - if (type === 'e2pdf-image'
4290 - || type === 'e2pdf-signature') {
4291 - if (!properties['scale']) {
4292 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4293 - }
4294 - if (!properties['horizontal']) {
4295 - properties['horizontal'] = 'left';
4296 - }
4297 - if (!properties['vertical']) {
4298 - properties['vertical'] = 'bottom';
4299 - }
4300 - }
4301 -
4302 - if (type === 'e2pdf-html'
4303 - || type === 'e2pdf-image'
4304 - || type === 'e2pdf-signature'
4305 - ) {
4306 -
4307 - if (!properties['border_top']) {
4308 - properties['border_top'] = 0;
4309 - }
4310 -
4311 - if (!properties['border_left']) {
4312 - properties['border_left'] = 0;
4313 - }
4314 -
4315 - if (!properties['border_right']) {
4316 - properties['border_right'] = 0;
4317 - }
4318 -
4319 - if (!properties['border_bottom']) {
4320 - properties['border_bottom'] = 0;
4321 - }
4322 -
4323 - if (!properties['padding_top']) {
4324 - properties['padding_top'] = 0;
4325 - }
4326 -
4327 - if (!properties['padding_left']) {
4328 - properties['padding_left'] = 0;
4329 - }
4330 -
4331 - if (!properties['padding_right']) {
4332 - properties['padding_right'] = 0;
4333 - }
4334 -
4335 - if (!properties['padding_bottom']) {
4336 - properties['padding_bottom'] = 0;
4337 - }
4338 - }
4339 -
4340 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4341 - if (!properties['length']) {
4342 - properties['length'] = 0;
4343 - }
4344 - }
4345 -
4346 - if (type !== 'e2pdf-rectangle') {
4347 - if (!properties['border_color']) {
4348 - properties['border_color'] = '';
4349 - if (default_properties && (type === 'e2pdf-input'
4350 - || type === 'e2pdf-textarea'
4351 - || type === 'e2pdf-select'
4352 - || type === 'e2pdf-radio'
4353 - || type === 'e2pdf-checkbox'
4354 - )
4355 - ) {
4356 - properties['border_color'] = '#000000';
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 + }
4357 8263 }
8264 + } else {
8265 + jQuery('.e2pdf-guide-h').hide();
4358 8266 }
4359 - }
4360 -
4361 - if (type !== 'e2pdf-image') {
4362 -
4363 - if (!properties['text_color']) {
4364 - properties['text_color'] = '';
4365 - }
4366 -
4367 - if (!properties['text_font']) {
4368 - properties['text_font'] = '';
4369 - }
4370 -
4371 - if (!properties['text_font_size']) {
4372 - properties['text_font_size'] = '';
4373 - }
4374 -
4375 - if (!properties['text_line_height']) {
4376 - properties['text_line_height'] = '';
4377 - }
4378 - }
4379 -
4380 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4381 - if (!properties['option']) {
4382 - if (default_properties) {
4383 - properties['option'] = "option" + element_id;
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 + }
4384 8281 }
8282 + } else {
8283 + jQuery('.e2pdf-guide-v').hide();
4385 8284 }
4386 -
4387 - if (!properties['text_type']) {
4388 - if (default_properties) {
4389 - if (type === 'e2pdf-radio') {
4390 - properties['text_type'] = 'circle';
4391 - } else if (type === 'e2pdf-checkbox') {
4392 - properties['text_type'] = 'check';
4393 - }
4394 - }
8285 + },
8286 + start: function (ev, ui) {
8287 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8288 + return false;
4395 8289 }
4396 - }
4397 -
4398 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4399 - if (!properties['text_align']) {
4400 - if (default_properties) {
4401 - properties['text_align'] = 'left';
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"});
4402 8301 }
4403 - }
4404 - }
4405 -
4406 - if (type === 'e2pdf-radio') {
4407 - if (!properties['group']) {
4408 - if (default_properties) {
4409 - properties['group'] = "group";
8302 + if (selected.hasClass('e2pdf-height-auto')) {
8303 + selected.css({"height": "auto"});
4410 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);
4411 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);
4412 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) {
4413 8330
4414 - element.data('data-type', type);
4415 - if (properties['width']) {
4416 - element.css({"width": properties['width']});
4417 - }
4418 -
4419 - if (properties['height']) {
4420 - element.css({"height": properties['height']});
4421 - }
4422 -
4423 - if (type === 'e2pdf-rectangle') {
4424 - if (!properties['background']) {
4425 - if (default_properties) {
4426 - properties['background'] = '#000000';
4427 - }
4428 8331 }
4429 8332 }
4430 -
4431 - if (properties['top'] && properties['left']) {
4432 - element.css({"top": properties['top'], "left": properties['left']});
4433 - }
4434 -
4435 - element.css({"position": "absolute"});
4436 - e2pdf.properties.apply(element, properties);
4437 - e2pdf.actions.apply(element, actions);
4438 - // If element draggable
4439 - element.draggable({
4440 - cancel: '.no-drag',
4441 - handle: ".e2pdf-drag",
4442 - containment: jQuery(page),
4443 - stop: function (ev, ui) {
4444 -
4445 - var page = jQuery(this).closest('.e2pdf-page');
4446 - for (var key in e2pdf.element.selected) {
4447 - var selected = e2pdf.element.selected[key];
4448 - if (selected.hasClass('e2pdf-width-auto')) {
4449 - selected.css({'width': 'auto'});
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);
4450 8363 }
4451 - if (selected.hasClass('e2pdf-height-auto')) {
4452 - 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;
4453 8367 }
4454 -
4455 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.convertPxToFloat(selected.css('top'))));
4456 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.convertPxToFloat(selected.css('left'))));
4457 - }
4458 -
4459 - jQuery('.page-options-icons').css('z-index', '');
4460 - e2pdf.event.fire('after.element.moved');
4461 - e2pdf.element.unselect();
4462 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
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));
4463 8390 },
4464 - drag: function (ev, ui) {
4465 -
4466 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4467 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4468 -
4469 - left = Math.min(left, e2pdf.static.drag.max_left);
4470 - top = Math.min(top, e2pdf.static.drag.max_top);
4471 -
4472 - ui.position = {
4473 - left: Math.max(e2pdf.static.drag.min_left, left),
4474 - top: Math.max(e2pdf.static.drag.min_top, top)
4475 - };
4476 -
4477 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4478 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4479 - for (var key in e2pdf.element.selected) {
4480 - var selected = e2pdf.element.selected[key];
4481 - if (!selected.is(jQuery(this))) {
4482 - selected.finish().animate({
4483 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4484 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4485 - }, 0);
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();
4486 8397 }
4487 8398 }
4488 -
4489 - 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();
4490 8435 var w = parseFloat(jQuery(this).css('width'));
4491 8436 var h = parseFloat(jQuery(this).css('height'));
4492 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4493 -
4494 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4495 - jQuery.each(el_guides, function (i, elemGuide) {
4496 - if (guide.type == elemGuide.type) {
4497 - var prop = guide.type == "h" ? "top" : "left";
4498 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4499 - if (d < guides[prop].dist) {
4500 - guides[prop].dist = d;
4501 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4502 - guides[prop].guide = guide;
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;
4503 8451 }
4504 8452 }
4505 8453 });
4506 - });
4507 -
4508 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4509 -
4510 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4511 -
4512 - var snap_top = guides.top.guide.top - guides.top.offset;
4513 -
4514 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4515 - ui.position.top = snap_top;
4516 -
4517 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4518 -
4519 - for (var key in e2pdf.element.selected) {
4520 - var selected = e2pdf.element.selected[key];
4521 - if (!selected.is(jQuery(this))) {
4522 - selected.finish().animate({
4523 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4524 - }, 0);
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;
4525 8465 }
4526 8466 }
4527 8467 }
4528 - } else {
4529 - jQuery(".e2pdf-guide-h").hide();
4530 8468 }
4531 -
4532 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4533 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4534 -
4535 - var snap_left = guides.left.guide.left - guides.left.offset;
4536 -
4537 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4538 - ui.position.left = snap_left;
4539 -
4540 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4541 -
4542 - for (var key in e2pdf.element.selected) {
4543 - var selected = e2pdf.element.selected[key];
4544 - if (!selected.is(jQuery(this))) {
4545 - selected.finish().animate({
4546 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4547 - }, 0);
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;
4548 8483 }
4549 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 + }
4550 8499 }
4551 - } else {
4552 - jQuery(".e2pdf-guide-v").hide();
4553 8500 }
4554 -
4555 8501 },
4556 - start: function (ev, ui) {
4557 -
4558 - e2pdf.element.select(jQuery(this));
4559 -
4560 - e2pdf.static.drag.min_left = 0;
4561 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4562 - e2pdf.static.drag.min_top = 0;
4563 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4564 -
4565 - for (var key in e2pdf.element.selected) {
4566 - var selected = e2pdf.element.selected[key];
4567 -
4568 - if (selected.hasClass('e2pdf-width-auto')) {
4569 - selected.css({"width": "auto"});
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();
4570 8509 }
4571 -
4572 - if (selected.hasClass('e2pdf-height-auto')) {
4573 - 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);
4574 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 + }
4575 8627
4576 - var padding_top = e2pdf.helper.convertPxToFloat(selected.css('padding-top'));
4577 - var padding_left = e2pdf.helper.convertPxToFloat(selected.css('padding-left'));
4578 - var padding_right = e2pdf.helper.convertPxToFloat(selected.css('padding-right'));
4579 - var padding_bottom = e2pdf.helper.convertPxToFloat(selected.css('padding-bottom'));
4580 - var border_top = e2pdf.helper.convertPxToFloat(selected.css('border-top-width'));
4581 - var border_left = e2pdf.helper.convertPxToFloat(selected.css('border-left-width'));
4582 - var border_right = e2pdf.helper.convertPxToFloat(selected.css('border-right-width'));
4583 - var border_bottom = e2pdf.helper.convertPxToFloat(selected.css('border-bottom-width'));
4584 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4585 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4586 - e2pdf.static.drag.max_left = Math.min(selected.closest('.e2pdf-page').width() - selected.width() - padding_left - padding_right - border_left - border_right + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - parseFloat(e2pdf.properties.getValue(selected, 'left'))), e2pdf.static.drag.max_left);
4587 - e2pdf.static.drag.max_top = Math.min(selected.closest('.e2pdf-page').height() - selected.height() - padding_top - padding_bottom - border_top - border_bottom + (parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - parseFloat(e2pdf.properties.getValue(selected, 'top'))), e2pdf.static.drag.max_top);
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';
4588 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 + }
4589 8778
4590 - e2pdf.zoom.click.x = ev.clientX;
4591 - e2pdf.zoom.click.y = ev.clientY;
4592 - jQuery('.page-options-icons').css('z-index', -1);
8779 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8780 + properties['height'] = size;
8781 + }
4593 8782 }
4594 - });
4595 - // If element resizable
4596 - if (element.hasClass('e2pdf-resizable')) {
4597 - element.resizable({
4598 - aspectRatio: aspect,
4599 - minHeight: min_height,
4600 - start: function (ev, ui) {
4601 - var left = parseFloat(jQuery(this).css('left'));
4602 - var top = parseFloat(jQuery(this).css('top'));
4603 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4604 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4605 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4606 - jQuery(this).resizable("option", "maxHeight", page_height - top);
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 + }
4607 9009
4608 - var padding_top = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-top'));
4609 - var padding_left = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-left'));
4610 - var padding_right = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-right'));
4611 - var padding_bottom = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-bottom'));
4612 - var border_top = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-top-width'));
4613 - var border_left = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-left-width'));
4614 - var border_right = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-right-width'));
4615 - var border_bottom = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-bottom-width'));
4616 -
4617 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4618 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4619 -
4620 - e2pdf.zoom.click.x = ev.clientX;
4621 - e2pdf.zoom.click.y = ev.clientY;
4622 - },
4623 - resize: function (ev, ui) {
4624 - },
4625 - stop: function (event, ui) {
4626 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4627 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
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;
4628 9017 }
4629 9018 });
4630 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4631 - element.resizable({
4632 - handles: 'e, w, se',
4633 - resize: function (e, ui) {
4634 - jQuery(this).css('height', 'auto');
4635 - },
4636 - start: function (e, ui) {
4637 - var left = parseFloat(jQuery(this).css('left'));
4638 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4639 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4640 - },
4641 - stop: function (event, ui) {
4642 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4643 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4644 - }
4645 - }
4646 - );
9019 + element_id = parseInt(last_id + 1);
4647 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);
4648 9037 if (!onload) {
4649 9038 e2pdf.event.fire('after.element.create');
4650 9039 }
4651 9040 return element;
@@ -4652,42 +9041,14 @@
4652 9041 } else {
4653 9042 return false;
4654 9043 }
4655 9044 },
4656 - //e2pdf.element.children
9045 + // e2pdf.element.children
4657 9046 children: function (el) {
4658 -
4659 - var children = false;
4660 -
4661 - if (el.data('data-type') === 'e2pdf-html') {
4662 - children = el.find('.e2pdf-html');
4663 - } else if (el.data('data-type') === 'e2pdf-input') {
4664 - children = el.find('.e2pdf-input');
4665 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4666 - children = el.find('.e2pdf-textarea');
4667 - } else if (el.data('data-type') === 'e2pdf-select') {
4668 - children = el.find('.e2pdf-select');
4669 - } else if (el.data('data-type') === 'e2pdf-radio') {
4670 - children = el.find('.e2pdf-radio');
4671 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4672 - children = el.find('.e2pdf-checkbox');
4673 - } else if (el.data('data-type') === 'e2pdf-image') {
4674 - children = el.find('.e2pdf-image');
4675 - }
9047 + var children = el.find('.' + el.data('data-type'));
4676 9048 return children;
4677 9049 },
4678 - //e2pdf.element.copy
4679 - copy: function (el) {
4680 - e2pdf.element.init(el);
4681 - e2pdf.element.buffer(el.clone(true));
4682 - },
4683 - //e2pdf.element.cut
4684 - cut: function (el) {
4685 - e2pdf.element.init(el);
4686 - e2pdf.element.buffer(el.clone(true));
4687 - e2pdf.element.delete(el);
4688 - },
4689 - //e2pdf.element.select
9050 + // e2pdf.element.select
4690 9051 select: function (el) {
4691 9052 var selected = false;
4692 9053 for (var key in e2pdf.element.selected) {
4693 9054 if (e2pdf.element.selected[key].is(el)) {
@@ -4698,9 +9059,9 @@
4698 9059 el.addClass('e2pdf-selected');
4699 9060 e2pdf.element.selected.push(el);
4700 9061 }
4701 9062 },
4702 - //e2pdf.element.unselect
9063 + // e2pdf.element.unselect
4703 9064 unselect: function (el) {
4704 9065 if (!el) {
4705 9066 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4706 9067 e2pdf.element.selected = [];
@@ -4712,150 +9073,457 @@
4712 9073 }
4713 9074 }
4714 9075 }
4715 9076 },
4716 - //e2pdf.element.buffer
4717 - buffer: function (el) {
4718 - var buffered = false;
4719 - for (var key in e2pdf.element.buffered) {
4720 - if (e2pdf.element.buffered[key].is(el)) {
4721 - buffered = true;
4722 - }
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');
4723 9088 }
4724 - if (!buffered) {
4725 - e2pdf.element.buffered.push(el);
4726 - }
4727 9089 },
4728 - //e2pdf.element.unbuffer
4729 - unbuffer: function (el) {
4730 - if (!el) {
4731 - e2pdf.element.buffered = [];
4732 - } else {
4733 - for (var key in e2pdf.element.buffered) {
4734 - if (e2pdf.element.buffered[key].is(el)) {
4735 - delete e2pdf.element.buffered[key];
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);
4736 9109 }
9110 + } else {
9111 + el_inner.focus();
4737 9112 }
9113 + } else {
9114 + el_inner.focus();
4738 9115 }
9116 + el.addClass('e2pdf-focused');
4739 9117 },
4740 - //e2pdf.element.hide
9118 + // e2pdf.element.hide
4741 9119 hide: function (el) {
4742 9120 el.addClass('e2pdf-hide');
4743 9121 },
4744 - //e2pdf.element.show
9122 + // e2pdf.element.show
4745 9123 show: function (el) {
4746 9124 el.removeClass('e2pdf-hide');
4747 9125 },
4748 - //e2pdf.element.paste
4749 - paste: function (keep_position) {
4750 - e2pdf.element.unselect();
4751 - var min_top = 99999999;
4752 - var min_left = 9999999;
4753 - var left_correction = 0;
4754 - var top_correction = 0;
4755 - if (!keep_position) {
4756 - for (var key in e2pdf.element.buffered) {
4757 - var buffered = e2pdf.element.buffered[key];
4758 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4759 - min_left = Math.min(e2pdf.properties.getValue(buffered, 'left'), min_left);
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();
4760 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 () {
4761 9255
4762 - for (var key in e2pdf.element.buffered) {
4763 - 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();
4764 9404 var context = jQuery('.e2pdf-context');
4765 - var properties = e2pdf.properties.get(buffered);
4766 - var width = parseFloat(properties['width']);
4767 - var height = parseFloat(properties['height']);
4768 9405 var page = context.closest('.e2pdf-page');
4769 - var top = parseFloat(e2pdf.helper.convertPxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4770 - var left = parseFloat(e2pdf.helper.convertPxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4771 - if ((left + width) > parseFloat(page.css('width'))) {
4772 - var correction = left - (parseFloat(page.css('width')) - width);
4773 - left_correction = Math.max(correction, left_correction);
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 + }
4774 9434 }
4775 9435
4776 - if ((top + height) > parseFloat(page.css('height'))) {
4777 - var correction = top - (parseFloat(page.css('height')) - height);
4778 - top_correction = Math.max(correction, top_correction);
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));
4779 9455 }
4780 - }
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;
4781 9470 }
4782 -
4783 - for (var key in e2pdf.element.buffered) {
4784 - var buffered = e2pdf.element.buffered[key];
4785 - var context = jQuery('.e2pdf-context');
4786 - var properties = e2pdf.properties.get(buffered);
4787 - var actions = e2pdf.actions.get(buffered);
4788 - var width = parseFloat(properties['width']);
4789 - var height = parseFloat(properties['height']);
4790 - var page = context.closest('.e2pdf-page');
4791 - var type = buffered.data('data-type');
4792 - if (!keep_position) {
4793 -
4794 - var top = parseFloat(e2pdf.helper.convertPxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4795 - var left = parseFloat(e2pdf.helper.convertPxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4796 - properties['top'] = top;
4797 - properties['left'] = left;
4798 - }
4799 - //changed
4800 - var el = e2pdf.element.create(type, page, properties, actions);
4801 - page.append(el);
4802 - e2pdf.properties.render(el);
4803 - e2pdf.element.select(el);
4804 - }
4805 -
4806 - e2pdf.event.fire('after.element.paste');
4807 - },
4808 - //e2pdf.element.delete
4809 - delete: function (el) {
4810 - el.remove();
4811 - e2pdf.event.fire('after.element.delete');
4812 9471 }
4813 9472 },
4814 - //e2pdf.wysiwyg
9473 + // e2pdf.wysiwyg
4815 9474 wysiwyg: {
4816 - //e2pdf.wysiwyg.apply
9475 + // e2pdf.wysiwyg.apply
4817 9476 apply: function (el) {
9477 + var history = [];
9478 + history.push(el);
9479 + e2pdf.history.set('wysiwyg', history);
9480 + var html = '';
4818 9481 var command = el.attr('data-command');
9482 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4819 9483 if (command === 'H1') {
4820 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4821 9484 if (node.is("h1") && document.getSelection().toString() === node.text()) {
4822 9485 e2pdf.wysiwyg.clear('h1');
4823 9486 } else {
4824 - var html = jQuery('<h1/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9487 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4825 9488 document.execCommand('insertHTML', false, html);
4826 9489 }
4827 9490 } else if (command === 'H2') {
4828 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4829 9491 if (node.is("h2") && document.getSelection().toString() === node.text()) {
4830 9492 e2pdf.wysiwyg.clear('h2');
4831 9493 } else {
4832 - var html = jQuery('<h2/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9494 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4833 9495 document.execCommand('insertHTML', false, html);
4834 9496 }
4835 9497 } else if (command === 'createlink') {
4836 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9498 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
4837 9499 document.execCommand(command, false, url);
4838 9500 } else if (command === 'font-size') {
4839 9501 var font_size = el.find('option:selected').html();
4840 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4841 9502 if (node.is("span") && document.getSelection().toString() === node.text()) {
4842 - var html = node.css('font-size', font_size).prop('outerHTML');
9503 + html = node.css('font-size', font_size + "px").prop('outerHTML');
4843 9504 } else {
4844 - 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');
4845 9506 }
4846 9507 document.execCommand('insertHTML', false, html);
4847 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('');
4848 9518 } else if (command === 'font') {
4849 9519 e2pdf.font.load(el);
4850 - var font = el.find('option:selected').html();
4851 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9520 + var font = CSS.escape(el.find('option:selected').html());
4852 9521 if (node.is("span") && document.getSelection().toString() === node.text()) {
4853 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9522 + html = node.css('font-family', font).prop('outerHTML');
4854 9523 } else {
4855 - 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');
4856 9525 }
4857 -
4858 9526 document.execCommand('insertHTML', false, html);
4859 9527 el.val('');
4860 9528 } else if (command === 'color') {
4861 9529 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -4864,14 +9532,14 @@
4864 9532 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
4865 9533 } else if (command === 'clear') {
4866 9534 document.execCommand("removeformat", false, "");
4867 9535 e2pdf.wysiwyg.clear();
4868 - } else {
9536 + } else if (command) {
4869 9537 document.execCommand(command, false, null);
4870 9538 }
4871 -
4872 9539 e2pdf.event.fire('after.wysiwyg.apply');
4873 9540 },
9541 + // e2pdf.wysiwyg.clear
4874 9542 clear: function (tags) {
4875 9543 if (!tags) {
4876 9544 var tags = "h1,h2";
4877 9545 }
@@ -4882,9 +9550,11 @@
4882 9550 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
4883 9551 }
4884 9552 });
4885 9553 },
9554 + // e2pdf.wysiwyg.helper
4886 9555 helper: {
9556 + // e2pdf.wysiwyg.helper.getSelectedNodes
4887 9557 getSelectedNodes: function () {
4888 9558 var nodes = [];
4889 9559 if (window.getSelection) {
4890 9560 var sel = window.getSelection();
@@ -4893,8 +9563,9 @@
4893 9563 }
4894 9564 }
4895 9565 return nodes;
4896 9566 },
9567 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
4897 9568 replaceWithOwnChildren: function (el) {
4898 9569 var parent = el.parentNode;
4899 9570 while (el.hasChildNodes()) {
4900 9571 parent.insertBefore(el.firstChild, el);
@@ -4900,8 +9571,9 @@
4900 9571 parent.insertBefore(el.firstChild, el);
4901 9572 }
4902 9573 parent.removeChild(el);
4903 9574 },
9575 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
4904 9576 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
4905 9577 var node = range.startContainer;
4906 9578 var endNode = range.endContainer;
4907 9579 var rangeNodes = [];
@@ -4927,8 +9599,9 @@
4927 9599 }
4928 9600
4929 9601 return rangeNodes;
4930 9602 },
9603 + // e2pdf.wysiwyg.helper.getSelectedNode
4931 9604 getSelectedNode: function () {
4932 9605 var node, selection;
4933 9606 if (window.getSelection) {
4934 9607 selection = getSelection();
@@ -4934,9 +9607,9 @@
4934 9607 selection = getSelection();
4935 9608 node = selection.anchorNode;
4936 9609 }
4937 9610 if (!node && document.selection) {
4938 - selection = document.selection
9611 + selection = document.selection;
4939 9612 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
4940 9613 node = range.commonAncestorContainer ? range.commonAncestorContainer :
4941 9614 range.parentElement ? range.parentElement() : range.item(0);
4942 9615 }
@@ -4943,10 +9616,10 @@
4943 9616 if (node) {
4944 9617 return (node.nodeName === "#text" ? node.parentNode : node);
4945 9618 }
4946 9619 },
9620 + // e2pdf.wysiwyg.helper.nextNode
4947 9621 nextNode: function (node) {
4948 -
4949 9622 if (node.hasChildNodes()) {
4950 9623 return node.firstChild;
4951 9624 } else {
4952 9625 while (node && !node.nextSibling) {
@@ -4956,13 +9629,13 @@
4956 9629 return null;
4957 9630 }
4958 9631 return node.nextSibling;
4959 9632 }
4960 -
4961 9633 },
9634 + // e2pdf.wysiwyg.helper.getSelectionHtml
4962 9635 getSelectionHtml: function () {
4963 9636 var html = "";
4964 - if (typeof window.getSelection != "undefined") {
9637 + if (typeof window.getSelection != 'undefined') {
4965 9638 var sel = window.getSelection();
4966 9639 if (sel.rangeCount) {
4967 9640 var container = document.createElement("div");
4968 9641 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -4969,9 +9642,9 @@
4969 9642 container.appendChild(sel.getRangeAt(i).cloneContents());
4970 9643 }
4971 9644 html = container.innerHTML;
4972 9645 }
4973 - } else if (typeof document.selection != "undefined") {
9646 + } else if (typeof document.selection != 'undefined') {
4974 9647 if (document.selection.type === "Text") {
4975 9648 html = document.selection.createRange().htmlText;
4976 9649 }
4977 9650 }
@@ -4976,8 +9649,9 @@
4976 9649 }
4977 9650 }
4978 9651 return html;
4979 9652 },
9653 + // e2pdf.wysiwyg.helper.saveSelection
4980 9654 saveSelection: function () {
4981 9655 if (window.getSelection) {
4982 9656 sel = window.getSelection();
4983 9657 if (sel.getRangeAt && sel.rangeCount) {
@@ -4987,8 +9661,9 @@
4987 9661 return document.selection.createRange();
4988 9662 }
4989 9663 return null;
4990 9664 },
9665 + // e2pdf.wysiwyg.helper.restoreSelection
4991 9666 restoreSelection: function (range) {
4992 9667 if (range) {
4993 9668 if (window.getSelection) {
4994 9669 sel = window.getSelection();
@@ -4997,43 +9672,99 @@
4997 9672 } else if (document.selection && range.select) {
4998 9673 range.select();
4999 9674 }
5000 9675 }
9676 + },
9677 + // e2pdf.wysiwyg.helper.dropSelection
9678 + dropSelection: function () {
9679 + if (window.getSelection) {
9680 + sel = window.getSelection();
9681 + sel.removeAllRanges();
9682 + }
5001 9683 }
5002 9684 }
5003 9685 },
5004 - //e2pdf.visual
9686 + // e2pdf.visual
5005 9687 visual: {
5006 - //e2pdf.visual.mapper
9688 + // e2pdf.visual.mapper
5007 9689 mapper: {
9690 + cursorPosStart: null,
9691 + cursorPosEnd: null,
9692 + cursorRange: null,
5008 9693 selected: null,
5009 - //e2pdf.visual.mapper.init
9694 + // e2pdf.visual.mapper.init
5010 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 +
5011 9719 e2pdf.visual.mapper.selected = el;
5012 - var modal = jQuery('<div/>', {'data-modal': 'visual-mapper'});
9720 + var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
5013 9721 e2pdf.dialog.create(modal);
5014 9722 },
5015 - //e2pdf.visual.mapper.markup
9723 + // e2pdf.visual.mapper.markup
5016 9724 markup: function () {
5017 9725 e2pdf.dialog.rebuild();
5018 9726 },
5019 - //e2pdf.visual.mapper.rebuild
9727 + // e2pdf.visual.mapper.rebuild
5020 9728 rebuild: function () {
5021 - if (jQuery('#e2pdf-vm-content').length > 0) {
5022 - var vc_content = jQuery('#e2pdf-vm-content');
5023 - var vc_wrapper = jQuery('<div/>', {'class': 'e2pdf-vm-wrapper'});
5024 - vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], button[type="upload"], textarea, select').each(function () {
9729 + if (jQuery('.e2pdf-vm-content').length > 0) {
9730 + var vc_content = jQuery('.e2pdf-vm-content');
9731 + if (jQuery('.e2pdf-vm-wrapper').length > 0) {
9732 + jQuery('.e2pdf-vm-wrapper').remove();
9733 + }
9734 + vc_content.find('input[type="hidden"]').each(function () {
9735 + if (jQuery(this).attr('e2pdf-vm-hidden') != 'true') {
9736 + jQuery(this).attr('e2pdf-vm-hidden', 'true');
9737 + jQuery(this).attr('value', jQuery(this).attr('name'));
9738 + }
9739 + });
9740 + if (e2pdf.static.vm.hidden) {
9741 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9742 + jQuery(this).attr('type', 'text');
9743 + });
9744 + } else {
9745 + vc_content.find('input[e2pdf-vm-hidden="true"]').each(function () {
9746 + jQuery(this).attr('type', 'hidden');
9747 + });
9748 + }
9749 +
9750 + var vc_wrapper = jQuery('<div>', {'class': 'e2pdf-vm-wrapper'});
9751 + vc_content.find('input[type="text"], input[type="radio"], input[type="checkbox"], input[type="password"], input[type="url"], input[type="number"], input[type="tel"], input[type="phone"], input[type="credit_card_cvc"], input[type="email"], input[type="color_picker"], input[type="range"], input[type="file"], input[type="date"], input[type="datetime-local"], input[type="time"], button[type="upload"], textarea, select').each(function () {
5025 9752 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
5026 9753 });
5027 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 + }
5028 9758 }
5029 9759 },
5030 - //e2pdf.visual.mapper.clear
9760 + // e2pdf.visual.mapper.clear
5031 9761 clear: function () {
5032 9762 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
5033 9763 jQuery('.e2pdf-vm-wrapper').remove();
5034 9764 }
5035 9765 },
9766 + // e2pdf.visual.mapper.load
5036 9767 load: function (el) {
5037 9768 var loaded = false;
5038 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5039 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -5038,17 +9769,17 @@
5038 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
5039 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
5040 9771 var width = el.css('width');
5041 9772 var height = el.css('height');
5042 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
5043 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
5044 - loaded = jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
9773 + var top = el.offset().top - el.closest('.e2pdf-vm-content').offset().top;
9774 + var left = el.offset().left - el.closest('.e2pdf-vm-content').offset().left;
9775 + loaded = jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-vm-element'}).css({
5045 9776 'width': width, 'height': height, 'top': top, 'left': left
5046 9777 });
5047 9778 var name = el.attr('name');
5048 9779 var type = el.attr('type');
5049 9780 var value = el.attr('value');
5050 - if (el.is("select")) {
9781 + if (el.is('select')) {
5051 9782 type = 'select';
5052 9783 value = '';
5053 9784 el.find('option').each(function () {
5054 9785 value += jQuery(this).attr('value');
@@ -5064,137 +9795,311 @@
5064 9795 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5065 9796 }
5066 9797 return loaded;
5067 9798 },
9799 + // e2pdf.visual.mapper.apply
5068 9800 apply: function (el) {
5069 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);
5070 9805 var name = el.data('name');
9806 + var group = el.data('name');
5071 9807 var value = el.data('value');
5072 - var type = el.data('type');
5073 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5074 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5075 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5076 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5077 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5078 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5079 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5080 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5081 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5082 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5083 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5084 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
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);
5085 9824 } else {
5086 - 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 + }
5087 9829 }
5088 -
5089 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5090 - 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 + }
5091 9859 }
5092 - e2pdf.dialog.close();
9860 + if (e2pdf.static.vm.close) {
9861 + e2pdf.dialog.close();
9862 + }
5093 9863 }
5094 9864 }
5095 9865 },
5096 9866 zoom: {
5097 - zoom: 1,
9867 + scale: 1,
5098 9868 click: {
5099 9869 x: 0,
5100 9870 y: 0
5101 9871 },
5102 9872 apply: function (el) {
5103 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5104 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5105 - });
5106 - if (el.val() !== '100') {
5107 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5108 - }
5109 -
5110 - e2pdf.zoom.zoom = el.val() / 100;
5111 - jQuery('#e2pdf-tpl').scrollLeft(((jQuery('.e2pdf-tpl-inner').width() * e2pdf.zoom.zoom) - jQuery('#e2pdf-tpl').width()) / 2);
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);
5112 9881 }
5113 9882 }
5114 9883 };
5115 -
5116 -
5117 -
5118 9884 jQuery(window).resize(function () {
5119 9885 e2pdf.visual.mapper.clear();
5120 - if (this.e2pdfResizeTO)
9886 + if (e2pdf.static.observer !== null) {
9887 + e2pdf.static.observer.disconnect();
9888 + e2pdf.static.observer = null;
9889 + }
9890 + if (this.e2pdfResizeTO) {
5121 9891 clearTimeout(this.e2pdfResizeTO);
9892 + }
5122 9893 this.e2pdfResizeTO = setTimeout(function () {
5123 9894 jQuery(this).trigger('e2pdfResizeEnd');
5124 9895 }, 500);
5125 9896 });
5126 -
9897 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9898 + jQuery(this).parent().addClass('e2pdf-hide');
9899 + jQuery(this).trigger('e2pdfResizeEnd');
9900 +});
5127 9901 jQuery(window).bind('e2pdfResizeEnd', function () {
5128 9902 e2pdf.dialog.rebuild();
5129 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) {
5130 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 +});
5131 9964 jQuery(document).ready(function () {
5132 -
5133 - 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) {
5134 9970 e.stopPropagation();
5135 9971 e.preventDefault();
5136 9972 e.stopImmediatePropagation();
5137 9973 return false;
5138 9974 });
5139 -
5140 - 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) {
5141 10001 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5142 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
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 + }
5143 10010 e2pdf.actions.add(element, actions);
5144 - jQuery(this).trigger('e2pdfResizeEnd');
5145 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 + }
5146 10022
5147 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5148 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5149 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5150 10023 e2pdf.actions.conditions.add(element, action_conditions);
5151 - jQuery(this).trigger('e2pdfResizeEnd');
5152 10024 });
5153 -
5154 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5155 - 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?'))) {
5156 10027 return false;
5157 10028 }
5158 10029 var action = jQuery(this).closest('.e2pdf-action');
5159 10030 e2pdf.actions.delete(action);
5160 10031 });
5161 -
5162 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10032 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5163 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');
5164 10038 if (action.find('.e2pdf-condition').length === 1) {
5165 - alert(e2pdfLang["Last condition can't be removed"]);
10039 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5166 10040 return false;
5167 10041 }
5168 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10042 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5169 10043 return false;
5170 10044 }
5171 10045 var condition = jQuery(this).closest('.e2pdf-condition');
5172 10046 e2pdf.actions.conditions.delete(condition);
5173 10047 });
5174 -
5175 - 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) {
5176 10065 e2pdf.zoom.apply(jQuery(this));
5177 10066 });
5178 -
5179 - jQuery('#e2pdf-extension').live('change', function () {
10067 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5180 10068 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5181 10069 });
5182 -
5183 - 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) {
5184 10091 var action = jQuery(this).closest('.e2pdf-action');
5185 - e2pdf.actions.change(action);
10092 + e2pdf.actions.change(action, jQuery(this));
5186 10093 });
5187 -
5188 - jQuery('.e2pdf-tabs a').live('click', function () {
5189 - 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();
5190 10096 var tab = jQuery(this);
5191 10097 tab.closest('ul').find('li').removeClass('active');
5192 10098 tab.parent('li').addClass('active');
5193 10099 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5194 10100 });
5195 -
5196 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10101 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5197 10102 var parent = jQuery(this).closest('.e2pdf-closed');
5198 10103 if (parent.hasClass('e2pdf-opened')) {
5199 10104 parent.removeClass('e2pdf-opened');
5200 10105 } else {
@@ -5203,197 +10108,358 @@
5203 10108 });
5204 10109 parent.addClass('e2pdf-opened');
5205 10110 }
5206 10111 });
5207 -
5208 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10112 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5209 10113 e.preventDefault();
5210 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 + }
5211 10125 e2pdf.request.submitForm(el);
5212 10126 });
5213 -
5214 - jQuery('.e2pdf-submit-local').live('click', function () {
10127 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5215 10128 var el = jQuery(this);
5216 - e2pdf.request.submitLocal(el);
10129 + if (el.hasClass('e2pdf-noclose')) {
10130 + e2pdf.request.submitLocal(el, true);
10131 + } else {
10132 + e2pdf.request.submitLocal(el);
10133 + }
5217 10134 });
5218 -
5219 - jQuery('.e2pdf-delete').live('click', function () {
5220 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
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?');
5221 10137 if (!confirm(message)) {
5222 10138 e2pdf.delete('.e2pdf-context');
5223 10139 return false;
5224 10140 }
10141 + var history = [];
5225 10142 for (var key in e2pdf.element.selected) {
5226 10143 var selected = e2pdf.element.selected[key];
10144 + e2pdf.element.init(selected);
10145 + history.push(selected.clone(true));
5227 10146 e2pdf.element.delete(selected);
5228 10147 }
5229 -
10148 + e2pdf.history.set('element_delete', history);
5230 10149 e2pdf.element.unselect();
5231 10150 });
5232 -
5233 - jQuery('.e2pdf-copy').live('click', function () {
5234 - e2pdf.element.unbuffer();
5235 -
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 + }
5236 10156 for (var key in e2pdf.element.selected) {
5237 10157 var selected = e2pdf.element.selected[key];
5238 - e2pdf.element.copy(selected);
10158 + e2pdf.copy(type, selected);
5239 10159 }
5240 10160 });
5241 -
5242 - 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 = [];
5243 10177 for (var key in e2pdf.element.selected) {
5244 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];
5245 10237 e2pdf.element.hide(selected);
5246 10238 }
5247 10239 });
5248 -
5249 - jQuery('.e2pdf-unhidden').live('click', function () {
10240 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5250 10241 for (var key in e2pdf.element.selected) {
5251 10242 var selected = e2pdf.element.selected[key];
5252 10243 e2pdf.element.show(selected);
5253 10244 }
5254 10245 });
5255 -
5256 - jQuery('.e2pdf-cut').live('click', function () {
5257 - e2pdf.element.unbuffer();
10246 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5258 10247 for (var key in e2pdf.element.selected) {
5259 10248 var selected = e2pdf.element.selected[key];
5260 - e2pdf.element.cut(selected);
10249 + e2pdf.properties.set(selected, 'locked', '1');
10250 + selected.addClass('e2pdf-locked');
5261 10251 }
5262 10252 });
5263 -
5264 - jQuery('.e2pdf-paste').live('click', function () {
5265 - 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 + }
5266 10259 });
5267 -
5268 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5269 - e2pdf.element.paste(true);
10260 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10261 + return false;
5270 10262 });
5271 -
5272 - jQuery('.e2pdf-checkbox').live('click', function () {
10263 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5273 10264 return false;
5274 10265 });
5275 -
5276 - jQuery('.e2pdf-radio').live('click', function () {
5277 - 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 + }
5278 10274 });
5279 -
5280 - jQuery('.e2pdf-hide-controls').live('click', function () {
5281 -
10275 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5282 10276 if (jQuery(this).hasClass('e2pdf-inactive')) {
5283 - jQuery('html').removeClass('e2pdf-hide-markup');
10277 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5284 10278 jQuery(this).removeClass('e2pdf-inactive');
5285 10279 } else {
5286 - jQuery('html').addClass('e2pdf-hide-markup');
10280 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5287 10281 jQuery(this).addClass('e2pdf-inactive');
5288 10282 }
5289 10283 });
5290 -
5291 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10284 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5292 10285 if (jQuery(this).hasClass('e2pdf-inactive')) {
5293 - jQuery('html').addClass('e2pdf-show-all-elements');
5294 10286 jQuery(this).removeClass('e2pdf-inactive');
5295 10287 } else {
5296 - jQuery('html').removeClass('e2pdf-show-all-elements');
5297 10288 jQuery(this).addClass('e2pdf-inactive');
5298 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 + });
5299 10300 });
5300 -
5301 - jQuery('.e2pdf-add-page').live('click', function () {
10301 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5302 10302 if (e2pdf.pdf.settings.get('pdf')) {
5303 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5304 - } else if (e2pdfParams['license_type'] == 'FREE') {
5305 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
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'));
5306 10306 } else {
5307 10307 e2pdf.pages.createPage();
5308 10308 }
5309 10309 });
5310 -
5311 - 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 + }
5312 10321 e2pdf.createPdf(jQuery(this));
5313 10322 });
5314 -
5315 - jQuery('.e2pdf-up-page').live('click', function () {
10323 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5316 10324 e2pdf.pages.movePage(jQuery(this), 'up');
5317 10325 });
5318 -
5319 - jQuery('.e2pdf-down-page').live('click', function () {
10326 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5320 10327 e2pdf.pages.movePage(jQuery(this), 'down');
5321 10328 });
5322 -
5323 - jQuery('.e2pdf-delete-page').live('click', function () {
10329 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5324 10330 if (e2pdf.pdf.settings.get('pdf')) {
5325 - 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?'))) {
5326 10332 return false;
5327 10333 }
5328 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10334 + var history = [];
10335 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5329 10336 var el = jQuery(this);
10337 + history.push(el.closest('.e2pdf-page').clone(true));
5330 10338 e2pdf.pages.deletePage(el);
5331 10339 });
10340 + history.reverse();
10341 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5332 10342 } else {
5333 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10343 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5334 10344 return false;
5335 10345 }
5336 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);
5337 10350 e2pdf.pages.deletePage(el);
5338 10351 }
5339 10352 });
5340 -
5341 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5342 - if (!confirm(e2pdfLang['All pages will be removed! Are you sure want to continue?'])) {
10353 + jQuery(document).on('click', '.e2pdf-delete-all-pages', function (e) {
10354 + if (!confirm(e2pdf.lang.get('All pages will be removed! Continue?'))) {
5343 10355 return false;
5344 10356 }
5345 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10357 + var history = [];
10358 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5346 10359 var el = jQuery(this);
10360 + history.push(el.closest('.e2pdf-page').clone(true));
5347 10361 e2pdf.pages.deletePage(el);
5348 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 + }
5349 10369 });
5350 -
5351 - jQuery('.e2pdf-delete-font').live('click', function () {
5352 - 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?'))) {
5353 10372 return false;
5354 10373 }
5355 10374 var el = jQuery(jQuery(this));
5356 10375 e2pdf.font.delete(el);
5357 10376 });
5358 -
5359 - jQuery('.e2pdf-modal').live('click', function () {
10377 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5360 10378 e2pdf.dialog.create(jQuery(this));
5361 10379 });
5362 -
5363 - jQuery('body').live('click', function (e) {
10380 + jQuery(document).on('click', 'body', function (e) {
5364 10381 e2pdf.delete('.e2pdf-context');
5365 10382 });
5366 -
5367 - jQuery('#e2pdf-font').live('change', function () {
5368 - e2pdf.font.load(jQuery(this));
5369 - 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));
5370 10385 });
5371 -
5372 - jQuery('#e2pdf-export-template').live('change', function () {
5373 - 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 + }
5374 10396 });
5375 -
5376 - jQuery('#e2pdf-export-dataset').live('change', function () {
10397 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5377 10398 var data = {};
5378 - data['template'] = jQuery('#e2pdf-export-template').val();
5379 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5380 - e2pdf.request.submitRequest('e2pdf_dataset', jQuery(this), data);
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);
5381 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 + }
5382 10416
5383 - jQuery('#e2pdf-font-size').live('change', function () {
5384 - 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 + }
5385 10426 });
5386 -
5387 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5388 - if (jQuery.inArray(e.keyCode, [46, 8, 9, 27, 13, 107, 109, 110, 189, 190]) !== -1 ||
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 ||
5389 10454 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5390 10455 (e.shiftKey === true && e.keyCode === 187) ||
5391 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10456 + (e.keyCode >= 35 && e.keyCode <= 40)
10457 + ) {
5392 10458
5393 - 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')) {
5394 10460 e.preventDefault();
5395 - } 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')) {
5396 10462 e.preventDefault();
5397 10463 } else {
5398 10464 return;
5399 10465 }
@@ -5401,10 +10467,19 @@
5401 10467 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5402 10468 e.preventDefault();
5403 10469 }
5404 10470 });
5405 -
5406 - 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) {
5407 10482 var value = jQuery(this).val().trim();
5408 10483 var prefix = '';
5409 10484 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5410 10485 prefix = '+';
@@ -5414,18 +10489,22 @@
5414 10489 value = 0;
5415 10490 }
5416 10491 jQuery(this).val(prefix + value);
5417 10492 });
5418 -
5419 - jQuery('#e2pdf-font-color').live('change', function () {
5420 - 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'));
5421 10495 });
5422 -
5423 - jQuery('#e2pdf-line-height').live('change', function () {
5424 - 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 + }
5425 10502 });
5426 -
5427 - 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) {
5428 10507 e.preventDefault();
5429 10508 for (var key in e2pdf.element.selected) {
5430 10509 var selected = e2pdf.element.selected[key];
5431 10510 e2pdf.mediaUploader.init(selected);
@@ -5430,25 +10509,43 @@
5430 10509 var selected = e2pdf.element.selected[key];
5431 10510 e2pdf.mediaUploader.init(selected);
5432 10511 }
5433 10512 });
5434 -
5435 - jQuery('.e2pdf-visual').live('click', function (e) {
10513 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5436 10514 for (var key in e2pdf.element.selected) {
5437 10515 var selected = e2pdf.element.selected[key];
5438 10516 e2pdf.visual.mapper.init(selected);
5439 10517 }
5440 10518 });
5441 -
5442 - 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 + }
5443 10538 e2pdf.wysiwyg.apply(jQuery(this));
5444 10539 });
5445 -
5446 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5447 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10540 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5448 10541 e.preventDefault();
5449 10542 e.stopPropagation();
5450 10543 e.stopImmediatePropagation();
10544 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10545 + return;
10546 + }
10547 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5451 10548 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5452 10549 if (!color_panel.hasClass('wp-picker-active')) {
5453 10550 color_panel.find('.wp-color-result').click();
5454 10551 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5459,87 +10556,210 @@
5459 10556 color_panel.append(close);
5460 10557 }
5461 10558 }
5462 10559 });
5463 -
5464 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5465 - 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 + }
5466 10618 });
5467 -
5468 - jQuery('#e2pdf_wysiwyg_fontsize').live('change', function () {
10619 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5469 10620 e2pdf.wysiwyg.apply(jQuery(this));
5470 10621 });
5471 -
5472 - jQuery('#e2pdf_wysiwyg_font').live('change', function () {
5473 - 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'));
5474 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 + }
5475 10630
5476 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5477 - 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 + );
5478 10650 });
5479 -
5480 - jQuery('#e2pdf-w-reupload').live('click', function () {
5481 - var message = "";
10651 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
5482 10652 if (e2pdf.static.unsaved) {
5483 - 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 + }
5484 10658 }
5485 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5486 - 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?'))) {
5487 10671 return false;
5488 10672 }
5489 - jQuery('#e2pdf-reupload-pdf').click();
10673 + jQuery('html').addClass('e2pdf-loading');
10674 + var data = {};
10675 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
5490 10676 });
5491 -
5492 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5493 - 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);
5494 10684 });
5495 -
5496 - jQuery('.e2pdf-scale-field').live('change', function () {
5497 - var value = jQuery(this).val();
5498 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5499 - fields.find('input[name="height"]').attr('readonly', false);
5500 - fields.find('input[name="width"]').attr('readonly', false);
5501 - var image = new Image();
5502 - image.src = fields.find('*[name="value"]').val();
5503 - image.onload = function ()
5504 - {
5505 - if (value === e2pdf.static.const.WIDTH) {
5506 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5507 - } else if (value === e2pdf.static.const.HEIGHT) {
5508 - fields.find('input[name="width"]').attr('readonly', 'readonly');
5509 - }
5510 - };
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();
5511 10689 });
5512 -
5513 - 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) {
5514 10698 jQuery(this).autocomplete("search", "");
5515 10699 });
5516 -
5517 - 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) {
5518 10708 e2pdf.event.fire('after.settings.style.change');
5519 10709 });
5520 -
5521 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10710 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5522 10711 e2pdf.event.fire('after.settings.template.change');
5523 10712 });
5524 -
5525 - 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) {
5526 10742 if (jQuery(this).val() !== '') {
5527 10743 var form = jQuery(this).closest('form');
5528 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10744 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5529 10745 form.find('input[name="width"]').val(size.width);
5530 10746 form.find('input[name="height"]').val(size.height);
5531 10747 }
5532 10748 });
5533 -
5534 - jQuery('.e2pdf-vm-element').live('click', function () {
10749 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5535 10750 e2pdf.visual.mapper.apply(jQuery(this));
5536 10751 });
5537 -
5538 - jQuery('.e2pdf-drag').live('click', function (e) {
10752 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10753 + e2pdf.element.unselect();
10754 + e2pdf.element.unfocus();
5539 10755 var el = jQuery(this).closest('.e2pdf-element');
5540 -
5541 - 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) {
5542 10762 if (el.hasClass('e2pdf-selected')) {
5543 10763 e2pdf.element.unselect(el);
5544 10764 } else {
5545 10765 e2pdf.element.select(el);
@@ -5561,23 +10781,21 @@
5561 10781 }
5562 10782 }
5563 10783 }
5564 10784 });
5565 -
5566 - jQuery('.e2pdf-activate-template').live('click', function () {
10785 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5567 10786 var data = {};
5568 10787 data['id'] = jQuery(this).attr('data-id');
5569 10788 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5570 10789 });
5571 -
5572 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10790 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5573 10791 var data = {};
5574 10792 data['id'] = jQuery(this).attr('data-id');
5575 10793 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5576 10794 });
5577 -
5578 - jQuery('.e2pdf-delete-item').live('click', function () {
5579 - 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?'))) {
5580 10798 return false;
5581 10799 }
5582 10800 var data = {};
5583 10801 data['template'] = jQuery(this).attr('template');
@@ -5583,11 +10801,11 @@
5583 10801 data['template'] = jQuery(this).attr('template');
5584 10802 data['dataset'] = jQuery(this).attr('dataset');
5585 10803 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5586 10804 });
5587 -
5588 - jQuery('.e2pdf-delete-items').live('click', function () {
5589 - 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?'))) {
5590 10808 return false;
5591 10809 }
5592 10810 var data = {};
5593 10811 data['template'] = jQuery(this).attr('template');
@@ -5592,17 +10810,103 @@
5592 10810 var data = {};
5593 10811 data['template'] = jQuery(this).attr('template');
5594 10812 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5595 10813 });
5596 -
5597 - 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) {
5598 10839 jQuery(this).select();
5599 10840 });
5600 -
5601 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10841 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5602 10842 jQuery(this).autocomplete("search", '');
5603 10843 });
5604 -
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 + });
5605 10909 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5606 10910 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5607 10911 }
5608 10912
@@ -5625,8 +10929,16 @@
5625 10929 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5626 10930 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5627 10931 }
5628 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 +
5629 10941 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5630 10942 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5631 10943 }
5632 10944
@@ -5633,23 +10945,25 @@
5633 10945 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
5634 10946 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
5635 10947 }
5636 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 +
5637 10957 jQuery('#e2pdf-zoom').trigger('change');
5638 -
5639 10958 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5640 - if (e2pdf.url.get('template_id')) {
10959 + if (e2pdf.url.get('id')) {
10960 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5641 10961 e2pdf.static.autoloadExport = true;
5642 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5643 - jQuery('#e2pdf-export-template').val('0').change();
5644 - } else {
5645 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5646 - }
5647 10962 }
5648 10963 }
5649 10964
5650 10965 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5651 -
5652 10966 jQuery('.e2pdf-color-picker-load').each(function () {
5653 10967 jQuery(this).wpColorPicker(
5654 10968 {
5655 10969 defaultColor: function () {
@@ -5665,9 +10979,8 @@
5665 10979 }
5666 10980 }
5667 10981 ).removeClass('e2pdf-color-picker-load');
5668 10982 });
5669 -
5670 10983 jQuery(window).bind("beforeunload", function (e) {
5671 10984 if (e2pdf.static.unsaved) {
5672 10985 var confirmationMessage = "\o/";
5673 10986 (e || window.event).returnValue = confirmationMessage;
@@ -5673,17 +10986,9 @@
5673 10986 (e || window.event).returnValue = confirmationMessage;
5674 10987 return confirmationMessage;
5675 10988 }
5676 10989 });
5677 -
5678 - jQuery(document).bind("mousedown", function (e) {
5679 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5680 - e2pdf.delete('.e2pdf-fade');
5681 - e2pdf.delete('.e2pdf-properties-window');
5682 - }
5683 - });
5684 -
5685 - if (jQuery('#e2pdf_build_form').length > 0) {
10990 + if (jQuery('#e2pdf-build-form').length > 0) {
5686 10991 postboxes.add_postbox_toggles(pagenow);
5687 10992 }
5688 10993
5689 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
@@ -5688,16 +10993,14 @@
5688 10993
5689 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5690 10995 && typeof (jQuery.ui.droppable) != 'undefined'
5691 10996 && jQuery('.e2pdf-tpl').length > 0) {
5692 -
5693 - // jQuery UI scale bug fix
10997 +// jQuery UI scale bug fix
5694 10998 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5695 10999 var i, j,
5696 11000 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5697 11001 type = event ? event.type : null,
5698 11002 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5699 -
5700 11003 droppablesLoop: for (i = 0; i < m.length; i++) {
5701 11004 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5702 11005 continue;
5703 11006 }
@@ -5714,51 +11017,49 @@
5714 11017 if (type === "mousedown") {
5715 11018 m[ i ]._activate.call(m[ i ], event);
5716 11019 }
5717 11020 m[ i ].offset = m[ i ].element.offset();
5718 - m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.zoom, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.zoom});
11021 + m[ i ].proportions({width: m[ i ].element[ 0 ].offsetWidth * e2pdf.zoom.scale, height: m[ i ].element[ 0 ].offsetHeight * e2pdf.zoom.scale});
5719 11022 }
5720 - }
5721 -
5722 - 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 () {
5723 11032 var element = jQuery(this);
5724 11033 var type = element.attr('data-type');
5725 11034 var page = element.closest('.e2pdf-page');
5726 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5727 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5728 -
11035 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11036 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5729 11037 properties['width'] = element.attr('data-width');
5730 11038 properties['height'] = element.attr('data-height');
5731 11039 properties['top'] = element.attr('data-top');
5732 11040 properties['left'] = element.attr('data-left');
5733 - if (type == 'e2pdf-html') {
5734 - properties['value'] = element.find('.e2pdf-data-value').html();
5735 - } else {
5736 - properties['value'] = element.find('.e2pdf-data-value').text();
5737 - }
5738 - //changed
11041 + properties['value'] = element.find('.e2pdf-data-value').val();
11042 + properties['name'] = element.find('.e2pdf-data-name').val();
5739 11043 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5740 11044 jQuery(this).replaceWith(el);
5741 11045 e2pdf.properties.render(el);
5742 11046 });
5743 -
5744 - jQuery(".e2pdf-load-page").each(function () {
11047 + jQuery('.e2pdf-load-page').each(function () {
5745 11048 var page = jQuery(this);
5746 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
5747 - var properties = JSON.parse(page.find('.e2pdf-data-properties').text());
11049 + var actions = JSON.parse(page.find('.e2pdf-data-actions').val());
11050 + var properties = JSON.parse(page.find('.e2pdf-data-properties').val());
5748 11051 page.find('.e2pdf-data-properties').remove();
5749 11052 page.find('.e2pdf-data-actions').remove();
5750 11053 page.removeClass('e2pdf-load-page');
5751 - e2pdf.pages.createPage(page, properties, actions);
5752 -
11054 + e2pdf.pages.createPage(page, properties, actions, true);
5753 11055 });
5754 -
5755 - jQuery(".e2pdf-be").draggable({
11056 + jQuery('.e2pdf-be').draggable({
11057 + cursorAt: {left: 0, top: 0},
5756 11058 helper: function () {
5757 11059 var element = jQuery(this).clone();
5758 11060 var type = element.attr('data-type');
5759 - var page = element.closest('.e2pdf-page')
5760 - //changed
11061 + var page = element.closest('.e2pdf-page');
5761 11062 var el = e2pdf.element.create(type, page, false, false, true);
5762 11063 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
5763 11064 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
5764 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -5764,35 +11065,40 @@
5764 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
5765 11066 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
5766 11067 e2pdf.properties.render(el);
5767 11068 el.css('z-index', 1);
5768 - if (e2pdf.zoom.zoom != 1) {
5769 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
5770 - el.css('transform-origin', '0 0');
11069 + if (e2pdf.zoom.scale != 1) {
11070 + el.css({
11071 + 'transform': 'scale(' + e2pdf.zoom.scale + ')',
11072 + 'transform-origin': '0 0'
11073 + });
5771 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 + });
5772 11084 return el;
5773 11085 },
5774 11086 start: function (ev, ui) {
5775 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
5776 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
5777 11087 e2pdf.element.unselect();
5778 11088 },
5779 11089 stop: function (ev, ui) {
5780 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
5781 -
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();
5782 11093 },
5783 11094 drag: function (ev, ui) {
5784 -
5785 11095 if (e2pdf.static.drag.page !== null) {
5786 -
5787 11096 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
5788 -
5789 11097 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
5790 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
5791 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
5792 -
11098 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11099 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
5793 11100 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
5794 -
5795 11101 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
5796 11102 jQuery.each(el_guides, function (i, elemGuide) {
5797 11103 if (guide.type == elemGuide.type) {
5798 11104 var prop = guide.type == "h" ? "top" : "left";
@@ -5804,23 +11110,21 @@
5804 11110 }
5805 11111 }
5806 11112 });
5807 11113 });
5808 -
5809 11114 if (guides.top.dist <= e2pdf.static.guide.distance) {
5810 - e2pdf.static.drag.page.find('.e2pdf-guide-h').css("top", guides.top.guide.top / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().top / e2pdf.zoom.zoom - 1).show();
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();
5811 11116 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
5812 11117 ui.position.top = snap_top;
5813 11118 } else {
5814 - jQuery(".e2pdf-guide-h").hide();
11119 + jQuery('.e2pdf-guide-h').hide();
5815 11120 }
5816 -
5817 11121 if (guides.left.dist <= e2pdf.static.guide.distance) {
5818 - e2pdf.static.drag.page.find('.e2pdf-guide-v').css("left", guides.left.guide.left / e2pdf.zoom.zoom - e2pdf.static.drag.page.offset().left / e2pdf.zoom.zoom - 1).show();
5819 - var snap_left = guides.left.guide.left - guides.left.offset - jQuery(this).offset().left + 5;
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;
5820 11124 ui.position.left = snap_left;
5821 11125 } else {
5822 - jQuery(".e2pdf-guide-v").hide();
11126 + jQuery('.e2pdf-guide-v').hide();
5823 11127 }
5824 11128 }
5825 11129 }
5826 11130 });
@@ -5826,141 +11130,155 @@
5826 11130 });
5827 11131 e2pdf.welcomeScreen();
5828 11132 }
5829 11133 e2pdf.font.load(jQuery('#e2pdf-font'));
5830 -
5831 11134 jQuery('.e2pdf-load-font').each(function () {
5832 11135 e2pdf.font.load(jQuery(this));
5833 11136 jQuery(this).remove();
5834 11137 });
5835 -
5836 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
5837 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
5838 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
5839 - e2pdf.font.fontcolor(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-color'));
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'));
5840 11142 }
5841 11143
5842 11144 jQuery(document).keydown(function (e) {
5843 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
5844 - e.preventDefault();
5845 - switch (e.which) {
5846 - case 37:
5847 - //left
5848 - var diff = 1;
5849 -
5850 - for (var key in e2pdf.element.selected) {
5851 - var selected = e2pdf.element.selected[key];
5852 - if (parseFloat(selected.css('left')) > 0) {
5853 - if (parseFloat(selected.css('left')) - 1 < 0) {
5854 - diff = Math.min(diff, selected.css('left'));
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);
5855 11163 }
5856 - } else {
5857 - diff = Math.min(diff, 0);
5858 11164 }
5859 - }
5860 11165
5861 - for (var key in e2pdf.element.selected) {
5862 - var selected = e2pdf.element.selected[key];
5863 - selected.finish().animate({
5864 - left: "-=" + diff
5865 - }, 0);
5866 - e2pdf.properties.set(selected, 'left', parseFloat(selected.css('left').replace('px', '')));
5867 - }
5868 - break;
5869 - case 38:
5870 - //top
5871 - var diff = 1;
5872 -
5873 - for (var key in e2pdf.element.selected) {
5874 - var selected = e2pdf.element.selected[key];
5875 - if (parseFloat(selected.css('top')) > 0) {
5876 - if (parseFloat(selected.css('top')) - 1 < 0) {
5877 - diff = Math.min(diff, selected.css('top'));
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);
5878 11185 }
5879 - } else {
5880 - diff = Math.min(diff, 0);
5881 11186 }
5882 - }
5883 11187
5884 - for (var key in e2pdf.element.selected) {
5885 - var selected = e2pdf.element.selected[key];
5886 - selected.finish().animate({
5887 - top: "-=" + diff
5888 - }, 0);
5889 - e2pdf.properties.set(selected, 'top', parseFloat(selected.css('top').replace('px', '')));
5890 - }
5891 - break;
5892 - case 39:
5893 - //right
5894 - var diff = 1;
5895 -
5896 - for (var key in e2pdf.element.selected) {
5897 - var selected = e2pdf.element.selected[key];
5898 - if (parseFloat(selected.css('right')) > 0) {
5899 - if (parseFloat(selected.css('right')) - 1 < 0) {
5900 - diff = Math.min(diff, selected.css('right'));
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);
5901 11207 }
5902 - } else {
5903 - diff = Math.min(diff, 0);
5904 11208 }
5905 - }
5906 11209
5907 - for (var key in e2pdf.element.selected) {
5908 - var selected = e2pdf.element.selected[key];
5909 - selected.finish().animate({
5910 - left: "+=" + diff
5911 - }, 0);
5912 - e2pdf.properties.set(selected, 'left', parseFloat(selected.css('left').replace('px', '')));
5913 - }
5914 - break;
5915 - case 40:
5916 - //down
5917 - var diff = 1;
5918 -
5919 - for (var key in e2pdf.element.selected) {
5920 - var selected = e2pdf.element.selected[key];
5921 - if (parseFloat(selected.css('bottom')) > 0) {
5922 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
5923 - diff = Math.min(diff, selected.css('bottom'));
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);
5924 11229 }
5925 - } else {
5926 - diff = Math.min(diff, 0);
5927 11230 }
5928 - }
5929 11231
5930 - for (var key in e2pdf.element.selected) {
5931 - var selected = e2pdf.element.selected[key];
5932 - selected.finish().animate({
5933 - top: "+=" + diff
5934 - }, 0);
5935 - e2pdf.properties.set(selected, 'top', parseFloat(selected.css('top').replace('px', '')));
5936 - }
5937 - break;
5938 - case 46:
5939 - //delete
5940 - var message = Object.keys(e2pdf.element.selected).length > 1 ? e2pdfLang['Elements will be removed! Are you sure want to continue?'] : e2pdfLang['Element will be removed! Are you sure want to continue?'];
5941 - if (!confirm(message)) {
5942 - e2pdf.delete('.e2pdf-context');
5943 - return false;
5944 - }
5945 -
5946 - for (var key in e2pdf.element.selected) {
5947 - var selected = e2pdf.element.selected[key];
5948 - e2pdf.element.delete(selected);
5949 - }
5950 -
5951 - e2pdf.element.unselect();
5952 - break;
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 + }
5953 11258 }
5954 11259 }
5955 11260 });
5956 -
5957 - 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) {
5958 11271 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
5959 11272 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
5960 - jQuery(e.target).closest('.e2pdf-element').length == 0
5961 - ) {
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) {
5962 11279 e2pdf.element.unselect();
11280 + e2pdf.element.unfocus();
5963 11281 }
5964 11282 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
5965 11283 jQuery('.e2pdf-closed').each(function () {
5966 11284 jQuery(this).removeClass('e2pdf-opened');
@@ -5965,9 +11283,20 @@
5965 11283 jQuery('.e2pdf-closed').each(function () {
5966 11284 jQuery(this).removeClass('e2pdf-opened');
5967 11285 });
5968 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 + }
5969 11295 });
5970 -
5971 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11296 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
5972 11297 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11298 + if (jQuery('.e2pdf-bulks-list').length > 0)
11299 + {
11300 + e2pdf.bulk.progress();
11301 + }
5973 11302 });