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 +8414 -3026 1.00.13 → 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,481 +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');
1146 + switch (form_id) {
1147 + case 'e2pdf-page-options':
1148 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1149 + var action_error = false;
1150 + for (var action in data['actions']) {
1151 + for (var condition in data['actions'][action]['conditions']) {
1152 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1153 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1154 + action_element.addClass('e2pdf-action-error');
1155 + action_error = true;
1156 + }
1157 + }
702 1158 }
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');
1159 + if (action_error) {
1160 + setTimeout(function () {
1161 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1162 + }, 0);
1163 + return;
1164 + }
1165 + var width = data['width'];
1166 + var height = data['height'];
1167 + var page = jQuery('.e2pdf-page[data-page_id="' + data['page_id'] + '"]');
1168 + e2pdf.actions.apply(page, data['actions']);
1169 + e2pdf.pages.changePageSize(page, width, height);
1170 + e2pdf.properties.apply(page, data);
1171 + e2pdf.event.fire('after.request.submitLocal', false, page);
1172 + break;
1173 + case 'e2pdf-tpl-actions':
1174 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1175 + var action_error = false;
1176 + for (var action in data['actions']) {
1177 + for (var condition in data['actions'][action]['conditions']) {
1178 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1179 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1180 + action_element.addClass('e2pdf-action-error');
1181 + action_error = true;
1182 + }
750 1183 }
751 1184 }
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});
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;
761 1190 }
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();
1191 + e2pdf.actions.apply(jQuery('.e2pdf-tpl'), data['actions']);
1192 + break;
1193 + case 'e2pdf-tpl-properties':
1194 + e2pdf.properties.apply(jQuery('.e2pdf-tpl'), data);
1195 + e2pdf.helper.cssGlobal(e2pdf.helper.getString(data['css']));
1196 + break;
1197 + case 'e2pdf-tpl-hooks':
1198 + var hooks = data['hooks'];
1199 + if (hooks) {
1200 + e2pdf.pdf.settings.change('hooks', hooks.join(','));
1201 + } else {
1202 + e2pdf.pdf.settings.change('hooks', '');
1203 + }
1204 + break;
1205 + default:
1206 + var element = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1207 + jQuery('.e2pdf-action').removeClass('e2pdf-action-error');
1208 + var action_error = false;
1209 + for (var action in data['actions']) {
1210 + for (var condition in data['actions'][action]['conditions']) {
1211 + if (data['actions'][action]['conditions'][condition]['if'].trim() === '' && data['actions'][action]['conditions'][condition]['value'].trim() == '') {
1212 + let action_element = jQuery(".e2pdf-action[data-action_id='" + action + "']").first();
1213 + action_element.addClass('e2pdf-action-error');
1214 + action_error = true;
768 1215 }
769 1216 }
770 - e2pdf.static.autoloadExport = false;
771 - } else {
772 - e2pdf.url.change('e2pdf', 'template_id=' + template_id);
773 1217 }
774 -
775 - dataset_field.change();
776 - } else {
777 - e2pdf.url.change('e2pdf');
778 - }
1218 + if (action_error) {
1219 + setTimeout(function () {
1220 + alert(e2pdf.lang.get('Error: Empty "if" and "value" detected in action condition'));
1221 + }, 0);
1222 + return;
1223 + }
1224 + var history = [];
1225 + history.push(element.clone(true));
1226 + e2pdf.history.set('element_change', history);
1227 + e2pdf.actions.apply(element, data['actions']);
1228 + delete data['actions'];
1229 + e2pdf.properties.apply(element, data);
1230 + e2pdf.properties.render(element);
1231 + e2pdf.event.fire('after.request.submitLocal', false, el);
1232 + break;
779 1233 }
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);
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"]'));
827 1251 }
828 - if (typeof result.page.top !== 'undefined') {
829 - start_top = parseFloat(result.page.top);
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);
830 1264 }
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 properties = {};
844 - if (element.properties) {
845 - for (var property in element.properties) {
846 - properties[property] = element.properties[property];
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);
847 1276 }
848 1277 }
849 -
850 - properties['margin_left'] = parseFloat(element.left);
851 - properties['margin_right'] = parseFloat(element.right);
852 - if (typeof element.block !== 'undefined') {
853 - block = element.block;
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 + }
854 1290 }
855 -
856 - if (typeof element.float !== 'undefined') {
857 - float = element.float;
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 + }
858 1300 }
859 -
860 - if (last_block) {
861 - last_block_properties = e2pdf.properties.get(last_block);
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]);
862 1315 }
863 -
864 - if (typeof element.width !== 'undefined') {
865 - if (element.width.search("%") > 0) {
866 - properties['width'] = Math.floor((width * (parseFloat(element.width.replace('%', '')) / 100)) - parseFloat(element.left) - parseFloat(element.right));
1316 + var images = el.find('img');
1317 + var counter = 0;
1318 + counter = images.length;
1319 + images.each(function () {
1320 + var img = new Image();
1321 + img.onload = function () {
1322 + counter--;
1323 + if (counter === 0) {
1324 + e2pdf.visual.mapper.rebuild();
1325 + }
1326 + };
1327 + img.onerror = function () {
1328 + counter--;
1329 + if (counter === 0) {
1330 + e2pdf.visual.mapper.rebuild();
1331 + }
1332 + };
1333 + img.src = jQuery(this).attr('src');
1334 + });
1335 + break;
1336 + case 'e2pdf_templates':
1337 + var template_id = result['id'];
1338 + if (template_id) {
1339 + jQuery('.e2pdf-template-shortcode').val('[e2pdf-download id="' + template_id + '"]');
1340 + for (var key in result['datasets']) {
1341 + var options = [];
1342 + var dataset_field = jQuery('.e2pdf-export-dataset[name="' + key + '"]');
1343 + dataset_field.closest('.e2pdf-export-item').show();
1344 + for (var subkey in result['datasets'][key]) {
1345 + var option = {
1346 + key: result['datasets'][key][subkey]['key'].toString(),
1347 + value: result['datasets'][key][subkey]['value'].toString()
1348 + };
1349 + options.push(option);
1350 + if (e2pdf.url.get('action') == 'bulk') {
1351 + dataset_field.append(jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(jQuery('<label>').html(option.value).prepend(jQuery('<input>', {'name': key + '[]', 'type': 'checkbox', 'value': option.key}))));
1352 + } else {
1353 + dataset_field.append(jQuery('<option>', {'value': option.key}).html(option.value));
1354 + }
1355 + }
1356 + dataset_field.data('options', options);
1357 + if (e2pdf.url.get('action') == 'bulk') {
1358 + dataset_field.find('input[type="checkbox"][value=""]').prop('checked', true).trigger('change');
1359 + if (Object.keys(result['datasets'][key]).length > 1) {
1360 + dataset_field.attr('disabled', false);
1361 + jQuery('.e2pdf-export-form-submit').attr('disabled', false);
1362 + } else {
1363 + dataset_field.attr('disabled', 'disabled');
1364 + jQuery('.e2pdf-export-form-submit').attr('disabled', 'disabled');
1365 + }
1366 + } else {
1367 + dataset_field.val('');
1368 + e2pdf.select2.update(dataset_field);
1369 + e2pdf.select2.enable(dataset_field);
1370 + }
867 1371 }
868 - }
869 -
870 - if (block) {
871 - if (typeof properties.width === 'undefined') {
872 - properties['width'] = width - parseFloat(element.left) - parseFloat(element.right);
1372 + if (result['actions']) {
1373 + var ul = jQuery('<ul>', {'class': 'e2pdf-inline-links'});
1374 + for (var key in result['actions']) {
1375 + ul.append(jQuery('<li>').html(result['actions'][key]));
1376 + }
1377 + jQuery('.e2pdf-export-template-actions').append(ul);
873 1378 }
874 - if (float && last_block) {
875 - var start_left = last_block_properties.left + last_block_properties.width + last_block_properties.margin_right;
876 - if (width - start_left >= properties.width + parseFloat(element.left) + parseFloat(element.right)) {
877 - if (page.find(last_block).length === 0) {
878 - page = last_block.closest('.e2pdf-page');
1379 + jQuery('.e2pdf-export-option').each(function () {
1380 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide');
1381 + var key = jQuery(this).attr('name').replace('options[', '').replace(']', '');
1382 + if (result['options'].hasOwnProperty(key)) {
1383 + jQuery(this).closest('.e2pdf-grid').removeClass('e2pdf-hide');
1384 + if (result['options'][key]) {
1385 + jQuery(this).val(result['options'][key]);
1386 + } else {
1387 + if (e2pdf.url.get('action') == 'bulk' && key == 'name') {
1388 + jQuery(this).val('[e2pdf-dataset]');
1389 + } else {
1390 + if (key == 'args') {
1391 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').first().find('input').val('');
1392 + jQuery(this).closest('.e2pdf-grid').find('.e2pdf-argument').not(':first').remove();
1393 + }
1394 + jQuery(this).val('');
1395 + }
879 1396 }
880 - properties['left'] = start_left + parseFloat(element.left);
881 1397 } else {
882 - float = false;
883 - properties['left'] = parseFloat(element.left);
1398 + jQuery(this).val('');
884 1399 }
1400 + if (jQuery(this).attr('name') == 'options[name]') {
1401 + if (e2pdf.url.get('action') == 'bulk') {
1402 + jQuery(this).closest('.e2pdf-grid').addClass('e2pdf-hide')
1403 + }
1404 + }
1405 + });
1406 + if (e2pdf.static.autoloadExport) {
1407 + var datasets = [
1408 + 'dataset',
1409 + 'dataset2'
1410 + ];
1411 + for (var key in datasets) {
1412 + if (e2pdf.url.get(datasets[key])) {
1413 + jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]').val(e2pdf.url.get(datasets[key]));
1414 + }
1415 + }
1416 + for (var key in datasets) {
1417 + if (e2pdf.url.get(datasets[key])) {
1418 + e2pdf.select2.val(jQuery('.e2pdf-export-dataset[name="' + datasets[key] + '"]'), e2pdf.url.get(datasets[key]));
1419 + }
1420 + }
1421 + e2pdf.static.autoloadExport = false;
885 1422 } else {
886 - float = false;
887 - properties['left'] = parseFloat(element.left);
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);
888 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();
889 1435 } else {
890 - if (last_block) {
891 - properties['left'] = last_block_properties.left + parseFloat(element.left);
892 - if (typeof properties.width === 'undefined') {
893 - properties['width'] = last_block_properties.width - parseFloat(element.left) - parseFloat(element.right);
894 - }
1436 + if (e2pdf.url.get('action') == 'bulk') {
1437 + e2pdf.url.change('e2pdf', 'action=bulk');
895 1438 } else {
896 - properties['left'] = parseFloat(element.left);
897 - if (typeof properties.width === 'undefined') {
898 - properties['width'] = width - parseFloat(element.left) - parseFloat(element.right);
899 - }
1439 + e2pdf.url.change('e2pdf');
900 1440 }
901 1441 }
902 -
903 - page.find('.e2pdf-element').each(function () {
904 - if (!block && last_block) {
905 - if (page.find(last_block).length === 0) {
906 - if (typeof result.page.top === 'undefined') {
907 - start_top = 0;
908 - } else {
909 - 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]));
910 1463 }
911 - } else {
912 - start_top = last_block_properties.top + parseFloat(last_block.css('height').replace('px', ''));
1464 + actions.empty().append(ul);
913 1465 }
914 -
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}))));
915 1488 } else {
916 - 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));
917 1490 }
918 - });
919 - if (i === 1) {
920 - properties['top'] = start_top;
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 + }
921 1506 } else {
922 - if (float && block) {
923 - if (last_block) {
924 - properties['top'] = last_block_properties.top;
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 + }
1563 +
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;
925 1570 } else {
926 - 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);
927 1578 }
928 1579 } else {
929 - if (page.find(last_block).length === 0 && !block) {
930 - 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;
931 1589 } else {
932 - 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);
933 1595 }
934 1596 }
935 - }
936 - //changed
937 - var el = e2pdf.element.create(type, page, properties, false, true);
938 - e2pdf.properties.render(el);
939 - e2pdf.properties.set(el, 'height', parseFloat(el.css('height').replace('px', '')));
940 - page.append(el);
941 - if (properties['top'] + parseFloat(el.css('height').replace('px', '')) + bottom > height) {
942 1597
943 - 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 + }
944 1604
945 - if (e2pdfParams['license_type'] == 'FREE') {
946 - alert(e2pdfLang['Only 1 page allowed with "FREE" license type']);
947 - 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 + }
948 1638 }
949 1639
950 - e2pdf.pages.createPage();
951 - page = jQuery('.e2pdf-page').last();
952 - } else {
953 - page = page.next('.e2pdf-page');
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 + }
954 1661 }
955 1662
956 - if (typeof result.page.top === 'undefined') {
957 - 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 + };
958 1680 } else {
959 - start_top = parseFloat(result.page.top);
1681 + auto.block['bottom'] = e2pdf.properties.getValue(obj, 'top') + e2pdf.properties.getValue(obj, 'height');
960 1682 }
961 -
962 - e2pdf.element.delete(el);
963 - if (!block) {
964 - correction = parseFloat(element.top);
1683 + if (element.hidden) {
1684 + hidden_elements.push(obj);
965 1685 }
966 -
967 - properties['top'] = start_top + parseFloat(element.top) - correction;
968 - //properties['top'] = start_top;
969 - if (properties.height > height - start_top - bottom) {
970 - 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();
971 1697 }
972 - //changed
973 - var el = e2pdf.element.create(type, page, properties, false, true);
974 - e2pdf.properties.render(el);
975 - 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'}));
976 1704 }
977 -
978 - if (block) {
979 - correction = 0;
980 - 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 + }
981 1717 }
982 - i++;
983 - }
1718 + break;
1719 + default:
1720 + break;
984 1721 }
985 1722 }
986 1723 },
987 - //e2pdf.dialog
1724 + // e2pdf.dialog
988 1725 dialog: {
989 - //e2pdf.dialog.create
1726 + top: null,
1727 + left: null,
1728 + center: true,
1729 + // e2pdf.dialog.create
990 1730 create: function (el) {
991 1731 e2pdf.dialog.close();
992 1732 var modal = el.attr('data-modal');
993 1733 var title = el.attr('data-modal-title');
@@ -994,21 +1734,21 @@
994 1734 var noclose = false;
995 1735 var width = '600';
996 1736 var height = '600';
997 1737 if (modal === 'license-key') {
998 - width = '300';
1738 + width = '400';
999 1739 var content = jQuery('<div>', {'class': 'e2pdf-rel'}).append(
1000 - jQuery('<form>', {'id': 'license_key'}).append(
1740 + jQuery('<form>', {'id': 'license_key', 'class': 'e2pdf-license-key e2pdf-rel'}).append(
1001 1741 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1002 1742 jQuery('<span>', {'class': 'spinner'})
1003 1743 ),
1004 1744 jQuery('<ul>').append(
1005 1745 jQuery('<li>').append(
1006 - jQuery('<label>').html(e2pdfLang['License Key'] + ':'),
1007 - 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'})
1008 1748 ),
1009 1749 jQuery('<li>', {'class': 'e2pdf-center'}).append(
1010 - 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']})
1011 1751 )
1012 1752 )
1013 1753 )
1014 1754 );
@@ -1013,23 +1753,21 @@
1013 1753 )
1014 1754 );
1015 1755 } else if (modal === 'properties') {
1016 1756 for (var key in e2pdf.element.selected) {
1017 - var title = e2pdfLang['Properties'];
1757 + var title = e2pdf.lang.get('Properties');
1018 1758 var selected = e2pdf.element.selected[key];
1019 - var properties = e2pdf.properties.get(selected);
1020 1759 var fields = e2pdf.properties.renderFields(selected);
1021 1760 var content = jQuery('<div>').append(
1022 1761 jQuery('<form>', {'id': 'e2pdf-properties'}).append(
1023 1762 jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1024 1763 fields
1025 - ),
1026 1764 )
1765 + )
1027 1766 );
1028 1767 }
1029 1768 } else if (modal === 'page-options') {
1030 -
1031 - var title = e2pdfLang['Page Options'];
1769 + var title = e2pdf.lang.get('Page Options');
1032 1770 var page = el.closest('.e2pdf-page');
1033 1771 var readonly_size = false;
1034 1772 if (e2pdf.pdf.settings.get('pdf')) {
1035 1773 readonly_size = true;
@@ -1039,50 +1777,66 @@
1039 1777 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1040 1778 jQuery('<span>', {'class': 'spinner'})
1041 1779 ),
1042 1780 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1043 - jQuery('<h3>').html(e2pdfLang['Page Options'])
1781 + jQuery('<h3>').html(e2pdf.lang.get('Page Options'))
1044 1782 )),
1045 1783 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1046 1784 jQuery('<span>', {'class': 'spinner'})
1047 1785 ));
1048 -
1049 -
1050 1786 var fields = e2pdf.properties.renderFields(page);
1051 -
1052 1787 content.find('form').append(jQuery('<div>', {'class': 'e2pdf-el-properties e2pdf-popup-inner'}).append(
1053 1788 fields
1054 1789 ));
1055 -
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 + );
1056 1812 } else if (modal === 'tpl-options') {
1057 - var noclose = false;
1058 1813 width = '500';
1059 - var title = e2pdfLang['PDF Options'];
1814 + var title = e2pdf.lang.get('Options');
1060 1815 var readonly_size = false;
1061 1816 if (e2pdf.pdf.settings.get('pdf')) {
1062 1817 readonly_size = true;
1063 1818 }
1064 -
1065 1819 var sizes = jQuery('<select>', {'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100', 'disabled': readonly_size ? 'disabled' : false}).append(
1066 1820 jQuery('<option>',
1067 1821 {
1068 - 'value': '',
1069 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
1822 + 'value': ''
1823 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1070 1824 );
1071 - for (var size in e2pdfTemplateSizes) {
1825 + for (var size in e2pdf_params['template_sizes']) {
1072 1826 var option = jQuery('<option>',
1073 1827 {
1074 - 'value': size,
1075 - }).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'] + ')');
1076 1830 sizes.append(option);
1077 1831 }
1078 1832
1079 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1080 - 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']) {
1081 1835 var option = jQuery('<option>',
1082 1836 {
1083 - 'value': extension,
1084 - }).html(e2pdfTemplateExtensions[extension]);
1837 + 'value': extension
1838 + }).html(e2pdf_params['extensions'][extension]);
1085 1839 if (e2pdf.pdf.settings.get('extension') === extension) {
1086 1840 option.attr('selected', 'selected');
1087 1841 }
1088 1842 extensions.append(option);
@@ -1087,14 +1841,14 @@
1087 1841 }
1088 1842 extensions.append(option);
1089 1843 }
1090 1844
1091 - 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(
1092 1846 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1093 1847 jQuery('<span>', {'class': 'spinner'})
1094 1848 ),
1095 1849 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1096 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
1850 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1097 1851 )),
1098 1852 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1099 1853 jQuery('<span>', {'class': 'spinner'})
1100 1854 ));
@@ -1099,49 +1853,119 @@
1099 1853 jQuery('<span>', {'class': 'spinner'})
1100 1854 ));
1101 1855 var default_width = '595';
1102 1856 if (e2pdf.pdf.settings.get('width')) {
1103 - var default_width = e2pdf.pdf.settings.get('width');
1857 + default_width = e2pdf.pdf.settings.get('width');
1104 1858 }
1105 1859
1106 1860 var default_height = '842';
1107 1861 if (e2pdf.pdf.settings.get('height')) {
1108 - var default_height = e2pdf.pdf.settings.get('height');
1862 + default_height = e2pdf.pdf.settings.get('height');
1109 1863 }
1110 1864
1111 1865 content.find('form').append(
1112 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1113 1866 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1114 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1115 - 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') + ':')
1116 1869 ),
1117 1870 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1118 1871 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1119 - 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})
1120 1873 ),
1121 1874 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1122 - 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})
1123 1876 )
1124 1877 )
1125 1878 );
1126 1879 content.find('form').append(
1127 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
1880 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1128 1881 sizes);
1129 1882 content.find('form').append(
1130 - 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') + ':'),
1131 1917 extensions,
1132 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1133 - 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'})
1134 1920 );
1135 1921 content.find('form').append(
1136 - 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 + )
1137 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 + );
1138 1962 if (e2pdf.pdf.settings.get('pdf')) {
1139 1963 content.find('form').append(
1140 - jQuery('<ul>').append(
1964 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1141 1965 jQuery('<li>'),
1142 1966 jQuery('<li>').append(
1143 - 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'))
1144 1968 ),
1145 1969 jQuery('<li>')
1146 1970 )
1147 1971 );
@@ -1146,46 +1970,76 @@
1146 1970 )
1147 1971 );
1148 1972 } else {
1149 1973 content.find('form').append(
1150 - jQuery('<ul>').append(
1974 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1151 1975 jQuery('<li>').append(
1152 - 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'))
1153 1977 ),
1154 1978 jQuery('<li>'),
1155 1979 jQuery('<li>').append(
1156 - 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'))
1157 1981 )
1158 1982 )
1159 1983 );
1160 1984 }
1161 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 + );
1162 2016 } else if (modal === 'welcome-screen') {
1163 2017 var noclose = true;
1164 2018 width = '500';
1165 - var title = e2pdfLang['Create PDF'];
2019 + var title = e2pdf.lang.get('Create PDF');
1166 2020 var sizes = jQuery('<select>', {'id': 'e2pdf-preset', 'name': 'preset', 'class': 'e2pdf-preset e2pdf-w100'}).append(
1167 2021 jQuery('<option>',
1168 2022 {
1169 - 'value': '',
1170 - }).html(e2pdfLang['--- Select ---']).attr('selected', 'selected')
2023 + 'value': ''
2024 + }).html(e2pdf.lang.get('--- Select ---')).attr('selected', 'selected')
1171 2025 );
1172 - for (var size in e2pdfTemplateSizes) {
2026 + for (var size in e2pdf_params['template_sizes']) {
1173 2027 var option = jQuery('<option>',
1174 2028 {
1175 2029 'value': size,
1176 - 'data-width': e2pdfTemplateSizes[size]['width'],
1177 - 'data-height': e2pdfTemplateSizes[size]['height']
1178 - }).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'] + ')');
1179 2033 sizes.append(option);
1180 2034 }
1181 2035
1182 - var extensions = jQuery('<select>', {'name': 'extension', 'id': 'e2pdf-extension', 'class': 'e2pdf-extension e2pdf-w100'});
1183 - 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']) {
1184 2038 var option = jQuery('<option>',
1185 2039 {
1186 - 'value': extension,
1187 - }).html(e2pdfTemplateExtensions[extension]);
2040 + 'value': extension
2041 + }).html(e2pdf_params['extensions'][extension]);
1188 2042 if (e2pdf.pdf.settings.get('extension') === extension) {
1189 2043 option.attr('selected', 'selected');
1190 2044 }
1191 2045 extensions.append(option);
@@ -1190,14 +2044,14 @@
1190 2044 }
1191 2045 extensions.append(option);
1192 2046 }
1193 2047
1194 - 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(
1195 2049 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1196 2050 jQuery('<span>', {'class': 'spinner'})
1197 2051 ),
1198 2052 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1199 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2053 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1200 2054 )),
1201 2055 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1202 2056 jQuery('<span>', {'class': 'spinner'})
1203 2057 ));
@@ -1211,38 +2065,117 @@
1211 2065 var default_height = e2pdf.pdf.settings.get('height');
1212 2066 }
1213 2067
1214 2068 content.find('form').append(
1215 - jQuery('<label>').html(e2pdfLang['Page Size'] + ':'),
1216 2069 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1217 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10'}).html(e2pdfLang['Width'] + ':'),
1218 - 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') + ':'),
1219 2071 ),
1220 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(
1221 2084 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr10'}).append(
1222 - 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})
1223 2086 ),
1224 2087 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl10'}).append(
1225 - 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})
1226 2089 )
1227 2090 )
1228 2091 );
1229 2092 content.find('form').append(
1230 - jQuery('<label>').html(e2pdfLang['Size Preset'] + ':'),
2093 + jQuery('<label>').html(e2pdf.lang.get('Size') + ':'),
1231 2094 sizes);
1232 2095 content.find('form').append(
1233 - 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') + ':'),
1234 2130 extensions,
1235 - jQuery('<label>').html(e2pdfLang['Item'] + ':'),
1236 - 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'})
1237 2133 );
1238 2134 content.find('form').append(
1239 - 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 + )
1240 2155 );
1241 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(
1242 2176 jQuery('<input>', {'type': 'hidden', 'name': 'pdf', 'value': ''})
1243 2177 );
1244 -
1245 2178 if (e2pdf.pdf.settings.get('ID')) {
1246 2179 content.find('form').append(
1247 2180 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
1248 2181 );
@@ -1248,48 +2181,49 @@
1248 2181 );
1249 2182 }
1250 2183
1251 2184 content.find('form').append(
1252 - jQuery('<ul>').append(
2185 + jQuery('<ul>', {'class': 'e2pdf-mb0 e2pdf-mt15'}).append(
1253 2186 jQuery('<li>').append(
1254 - 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'))
1255 2188 ),
1256 2189 jQuery('<li>').append(
1257 - 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']))
1258 2191 ),
1259 2192 jQuery('<li>').append(
1260 - 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'))
1261 2194 )
1262 2195 )
1263 2196 );
1264 2197 } else if (modal === 'visual-mapper') {
1265 -
1266 - var title = e2pdfLang['Visual Mapper'];
1267 - 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(
1268 2200 jQuery('<form>', {'class': 'e2pdf-rel'}).append(
1269 2201 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1270 2202 jQuery('<span>', {'class': 'spinner'})
1271 2203 )).append(
1272 - jQuery('<div>', {'id': 'e2pdf-vm-inner', 'class': 'e2pdf-popup-inner'}).append(
1273 - 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'})
1274 2207 )
2208 + )
1275 2209 ));
1276 2210 } else if (modal === 'pdf-reupload') {
1277 -
1278 - var title = e2pdfLang['PDF Upload'];
2211 + var title = e2pdf.lang.get('PDF Upload');
1279 2212 width = '500';
1280 - 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(
1281 2215 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1282 2216 jQuery('<span>', {'class': 'spinner'})
1283 2217 ),
1284 2218 jQuery('<div>', {'class': 'e2pdf-center'}).append(
1285 - jQuery('<h3>').html(e2pdfLang['PDF Options'])
2219 + jQuery('<h3>').html(e2pdf.lang.get('Options'))
1286 2220 )),
1287 2221 jQuery('<div>', {'class': 'e2pdf-form-loader'}).append(
1288 2222 jQuery('<span>', {'class': 'spinner'})
1289 2223 ));
1290 2224 content.find('form').append(
1291 - 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'})
1292 2226 );
1293 2227 if (e2pdf.pdf.settings.get('ID')) {
1294 2228 content.find('form').append(
1295 2229 jQuery('<input>', {'id': 'template_id', 'type': 'hidden', 'name': 'template_id', 'value': e2pdf.pdf.settings.get('ID')})
@@ -1298,27 +2232,32 @@
1298 2232
1299 2233 var pages = jQuery('<div>', {'class': 'e2pdf-reupload-pages'});
1300 2234 pages.append(
1301 2235 jQuery('<div>', {'class': 'e2pdf-grid e2pdf-reupload-pages-header'}).append(
1302 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pr10 e2pdf-center'}).append(
1303 - 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'))
1304 2238 ),
1305 - jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1306 - 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'))
1307 2241 ),
1308 2242 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1309 - jQuery('<label>').text(e2pdfLang['Render New Fields'])
2243 + jQuery('<label>').text(e2pdf.lang.get('Render Fields from Upload PDF'))
1310 2244 ),
1311 2245 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1312 - jQuery('<label>').text(e2pdfLang['Flush Elements'])
2246 + jQuery('<label>').text(e2pdf.lang.get('Delete created E2Pdf Fields'))
1313 2247 )));
1314 2248 jQuery('.e2pdf-page').each(function () {
1315 2249 var page_id = jQuery(this).attr('data-page_id');
1316 2250 pages.append(
1317 2251 jQuery('<div>', {'class': 'e2pdf-grid'}).append(
1318 - 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 + ),
1319 2258 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-pr10 e2pdf-center'}).append(
1320 - 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})
1321 2260 ),
1322 2261 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w25 e2pdf-pl10 e2pdf-center'}).append(
1323 2262 jQuery('<input>', {'name': 'new[]', 'type': 'checkbox', 'value': page_id})
1324 2263 ),
@@ -1333,9 +2272,9 @@
1333 2272 jQuery('<ul>').append(
1334 2273 jQuery('<li>').append(
1335 2274 ),
1336 2275 jQuery('<li>').append(
1337 - 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'))
1338 2277 ),
1339 2278 jQuery('<li>').append(
1340 2279 )
1341 2280 )
@@ -1344,58 +2283,134 @@
1344 2283 var content = jQuery('<div>');
1345 2284 }
1346 2285
1347 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 + }
1348 2295 content.dialog({
1349 2296 title: title,
1350 - dialogClass: 'e2pdf-dialog',
2297 + dialogClass: dialog_class,
1351 2298 modal: true,
1352 2299 width: width,
1353 - maxHeight: Math.min(height, jQuery(window).height() - 80),
1354 - resizable: false,
1355 - minHeight: 0,
1356 - my: "center",
1357 - 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,
1358 2307 open: function (event, ui) {
2308 + jQuery('html').css('overflow', 'hidden');
2309 + jQuery('.e2pdf-dialog').css('min-height', '150');
1359 2310 if (noclose) {
1360 - 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 + });
1361 2315 } else {
1362 2316 jQuery('.ui-widget-overlay').bind('click', function ()
1363 2317 {
2318 + if (!confirm(e2pdf.lang.get('Changes will not be saved! Continue?'))) {
2319 + return;
2320 + }
1364 2321 content.dialog('close');
1365 2322 });
1366 2323 }
1367 2324
1368 - var dialog_height = jQuery('.e2pdf-dialog').height();
1369 -
1370 -
1371 2325 if (modal === 'properties') {
1372 2326 jQuery(".ui-dialog-titlebar").after(
1373 2327 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1374 - 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')})
1375 2330 )
1376 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 + );
1377 2371 } else if (modal === 'page-options') {
1378 2372 jQuery(".ui-dialog-titlebar").after(
1379 2373 jQuery('<div>', {'class': 'e2pdf-dialog-over e2pdf-align-right'}).append(
1380 - 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')})
1381 2375 )
1382 2376 );
1383 2377 }
1384 -
1385 - jQuery('.e2pdf-dialog').find(".ui-dialog-content").dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1386 -
1387 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1388 - 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)});
1389 2379 },
1390 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 + },
1391 2404 close: function (event, ui)
1392 2405 {
2406 + jQuery('html').css('overflow', 'auto');
1393 2407 if (jQuery(this).find('.wp-color-result.wp-picker-open').length > 0) {
1394 2408 jQuery(this).find('.wp-color-result.wp-picker-open').each(function () {
1395 2409 jQuery(this).click();
1396 2410 });
1397 2411 }
2412 + e2pdf.visual.mapper.selected = null;
1398 2413 jQuery(this).remove();
1399 2414 }
1400 2415 });
1401 2416 }
@@ -1400,56 +2415,58 @@
1400 2415 });
1401 2416 }
1402 2417
1403 2418 if (modal === 'welcome-screen' || modal === 'tpl-options') {
1404 - e2pdf.request.submitRequest('e2pdf_extension', jQuery('#e2pdf-create-pdf-form select[name="extension"]'));
1405 - } else if (modal === 'properties') {
1406 - jQuery('.e2pdf-scale-field').each(function () {
1407 - jQuery(this).trigger('change');
1408 - });
2419 + jQuery('.e2pdf-extension').trigger('change');
1409 2420 } else if (modal === 'visual-mapper') {
1410 -
1411 2421 var data = {};
1412 2422 data['extension'] = e2pdf.pdf.settings.get('extension');
1413 2423 data['item'] = e2pdf.pdf.settings.get('item');
1414 - 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);
1415 2427 }
2428 +
2429 + if (modal !== 'visual-mapper') {
2430 + e2pdf.dialog.rebuild();
2431 + }
2432 +
1416 2433 e2pdf.event.fire('after.dialog.create');
1417 2434 },
1418 - //e2pdf.dialog.close
2435 + // e2pdf.dialog.close
1419 2436 close: function () {
1420 2437 if (jQuery('.e2pdf-dialog').length > 0) {
1421 2438 jQuery('.ui-dialog-content').dialog('close');
1422 2439 }
1423 2440 },
1424 - //e2pdf.dialog.rebuild
2441 + // e2pdf.dialog.rebuild
2442 +
1425 2443 rebuild: function () {
1426 - if (jQuery('.e2pdf-dialog').length > 0) {
1427 - var dialog = jQuery('.e2pdf-dialog').find(".ui-dialog-content");
1428 - var width = dialog.data("ui-dialog").options.width;
1429 - var height = 600;
1430 - dialog.dialog('option', 'maxHeight', Math.min(height, jQuery(window).height() - 80));
1431 - var dialog_height = jQuery('.e2pdf-dialog').height();
1432 -
1433 - var dialog_width = Math.min(width, jQuery(window).width() - 80);
1434 - jQuery('.e2pdf-dialog').css({'position': 'fixed', 'top': (jQuery(window).height() - dialog_height) / 2, 'left': ((jQuery(window).width() - dialog_width) / 2), 'max-width': dialog_width});
1435 -
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 + }
1436 2451 e2pdf.visual.mapper.rebuild();
1437 2452 }
1438 2453 }
1439 2454 },
1440 - //e2pdf.mediaUploader
2455 + // e2pdf.mediaUploader
1441 2456 mediaUploader: {
1442 - //e2pdf.mediaUploader.init
2457 + // e2pdf.mediaUploader.init
1443 2458 init: function (el) {
1444 -
1445 2459 var mediaUploader;
1446 2460 mediaUploader = wp.media.frames.file_frame = wp.media({
1447 - title: e2pdfLang['Choose Image'],
2461 + title: e2pdf.lang.get('Media Library'),
1448 2462 button: {
1449 - text: e2pdfLang['Choose Image']
2463 + text: e2pdf.lang.get('Select')
1450 2464 }, multiple: false});
1451 2465 mediaUploader.on('select', function () {
2466 + var history = [];
2467 + history.push(el.clone(true));
2468 + e2pdf.history.set('element_change', history);
1452 2469 var attachment = mediaUploader.state().get('selection').first().toJSON();
1453 2470 e2pdf.properties.set(el, 'value', attachment.url);
1454 2471 e2pdf.properties.render(el);
1455 2472 e2pdf.event.fire('after.mediaUploader.select');
@@ -1456,15 +2473,13 @@
1456 2473 });
1457 2474 mediaUploader.open();
1458 2475 }
1459 2476 },
1460 - //e2pdf.actions
2477 + // e2pdf.actions
1461 2478 actions: {
1462 - //e2pdf.actions.add
1463 - add: function (el, target) {
1464 -
2479 + // e2pdf.actions.add
2480 + add: function (el, target, action) {
1465 2481 var last_id = -1;
1466 -
1467 2482 target.find('.e2pdf-action').each(function () {
1468 2483 var num_id = parseInt(jQuery(this).attr("data-action_id"));
1469 2484 if (num_id > last_id) {
1470 2485 last_id = num_id;
@@ -1470,47 +2485,66 @@
1470 2485 last_id = num_id;
1471 2486 }
1472 2487 });
1473 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 + }
1474 2494
1475 -
1476 - target.append(e2pdf.actions.renderField(el, action_id));
1477 2495 },
1478 - //e2pdf.actions.change
1479 - change: function (action) {
2496 + // e2pdf.actions.change
2497 + change: function (action, trigger) {
1480 2498 var action_id = action.attr("data-action_id");
1481 -
1482 2499 var form = action.closest('form');
1483 2500 var data = e2pdf.form.serializeObject(form);
1484 -
1485 -
1486 2501 var el = false;
1487 -
1488 2502 if (form.attr('id') === 'e2pdf-page-options') {
1489 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');
1490 2506 } else {
1491 2507 el = jQuery(".e2pdf-element[data-element_id='" + data.element_id + "']").first();
1492 2508 }
1493 2509
1494 - 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 + }
1495 2514
1496 2515 action.replaceWith(e2pdf.actions.renderField(el, action_id, data['actions'][action_id]));
1497 -
1498 2516 e2pdf.event.fire('after.actions.change');
1499 2517 },
1500 - //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 +
1501 2537 delete: function (action) {
1502 2538 action.remove();
1503 2539 },
1504 - //e2pdf.actions.conditions
2540 + // e2pdf.actions.conditions
1505 2541 conditions: {
1506 - //e2pdf.actions.conditions.add
2542 + // e2pdf.actions.conditions.add
1507 2543 add: function (el, target) {
1508 2544 var action = target.closest('.e2pdf-action');
1509 -
1510 2545 var action_id = action.attr('data-action_id');
1511 2546 var last_id = -1;
1512 -
1513 2547 target.find('.e2pdf-condition').each(function () {
1514 2548 var num_id = parseInt(jQuery(this).attr("data-condition_id"));
1515 2549 if (num_id > last_id) {
1516 2550 last_id = num_id;
@@ -1516,14 +2550,13 @@
1516 2550 last_id = num_id;
1517 2551 }
1518 2552 });
1519 2553 var condition_id = parseInt(last_id + 1);
1520 -
1521 2554 action.find('.e2pdf-conditions').append(
1522 2555 e2pdf.actions.conditions.renderField(el, action_id, condition_id)
1523 2556 );
1524 2557 },
1525 - //e2pdf.actions.conditions.getFields
2558 + // e2pdf.actions.conditions.getFields
1526 2559 getFields: function (el, action_id, condition_id, condition) {
1527 2560 var obj = {
1528 2561 'condition': {
1529 2562 'fields': [
@@ -1528,42 +2561,37 @@
1528 2561 'condition': {
1529 2562 'fields': [
1530 2563 e2pdf.actions.conditions.getField('if', el, action_id, condition_id, condition),
1531 2564 e2pdf.actions.conditions.getField('condition', el, action_id, condition_id, condition),
1532 - e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition),
2565 + e2pdf.actions.conditions.getField('value', el, action_id, condition_id, condition)
1533 2566 ],
1534 2567 'classes': [
1535 - 'e2pdf-ib e2pdf-w25 e2pdf-pr5',
2568 + 'e2pdf-ib e2pdf-w30 e2pdf-pr5',
1536 2569 'e2pdf-ib e2pdf-w25 e2pdf-pl5 e2pdf-pr5',
1537 - 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5',
1538 - ],
1539 - },
1540 -
2570 + 'e2pdf-ib e2pdf-w35 e2pdf-pl5 e2pdf-pr5'
2571 + ]
2572 + }
1541 2573 };
1542 2574 return obj;
1543 2575 },
1544 - //e2pdf.actions.conditions.getField
2576 + // e2pdf.actions.conditions.getField
1545 2577 getField: function (field, el, action_id, condition_id, condition) {
1546 2578 var obj = false;
1547 -
1548 2579 switch (field) {
1549 -
1550 2580 case 'if':
1551 2581 var value = condition ? condition.if : '';
1552 2582 obj = {
1553 - 'name': e2pdfLang['If'],
2583 + 'name': e2pdf.lang.get('If'),
1554 2584 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][if]',
1555 - 'type': 'text',
2585 + 'type': 'textarea',
1556 2586 'value': value,
1557 2587 'atts': []
1558 2588 };
1559 2589 break;
1560 -
1561 2590 case 'condition':
1562 2591 var value = condition ? condition.condition : '=';
1563 -
1564 2592 obj = {
1565 - 'name': e2pdfLang['Condition'],
2593 + 'name': e2pdf.lang.get('Condition'),
1566 2594 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][condition]',
1567 2595 'type': 'select',
1568 2596 'value': value,
1569 2597 'options': [
@@ -1572,44 +2600,45 @@
1572 2600 {'>': '>'},
1573 2601 {'>=': '>='},
1574 2602 {'<': '<'},
1575 2603 {'<=': '<='},
1576 - {'like': 'LIKE'},
1577 - {'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')}
1578 2612 ],
1579 2613 'atts': []
1580 2614 };
1581 2615 break;
1582 -
1583 -
1584 2616 case 'value':
1585 2617 var value = condition ? condition.value : '';
1586 2618 obj = {
1587 - 'name': e2pdfLang['Value'],
2619 + 'name': e2pdf.lang.get('Value'),
1588 2620 'key': 'actions[' + action_id + '][conditions][' + condition_id + '][value]',
1589 - 'type': 'text',
2621 + 'type': 'textarea',
1590 2622 'value': value,
1591 2623 'atts': []
1592 2624 };
1593 2625 break;
1594 2626 }
1595 -
1596 2627 return obj;
1597 2628 },
1598 - //e2pdf.actions.conditions.delete
2629 + // e2pdf.actions.conditions.delete
1599 2630 delete: function (condition) {
1600 2631 condition.remove();
1601 2632 },
1602 - //e2pdf.actions.conditions.renderField
2633 + // e2pdf.actions.conditions.renderField
1603 2634 renderField: function (el, action_id, condition_id, condition) {
1604 2635 var groups = e2pdf.actions.conditions.getFields(el, action_id, condition_id, condition);
1605 -
1606 2636 if (groups) {
1607 2637 for (var group_key in groups) {
1608 2638
1609 2639 var group = groups[group_key];
1610 2640 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1611 -
1612 2641 for (var field_key in group.fields) {
1613 2642 var group_field = group.fields[field_key];
1614 2643 var classes = '';
1615 2644 if (group.classes) {
@@ -1620,12 +2649,11 @@
1620 2649
1621 2650 var field = '';
1622 2651 var label = '';
1623 2652 var wrap = '';
1624 -
1625 2653 if (group_field.type === 'text') {
1626 2654 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1627 - 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});
1628 2656 } else if (group_field.type === 'hidden') {
1629 2657 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1630 2658 } else if (group_field.type === 'textarea') {
1631 2659 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
@@ -1633,14 +2661,14 @@
1633 2661 } else if (group_field.type === 'checkbox') {
1634 2662 label = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pr10 e2pdf-label'}).html(group_field.name + ":");
1635 2663 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10', 'name': group_field.key, 'value': group_field.option});
1636 2664 if (group_field.value == group_field.option) {
1637 - field.attr('checked', 'checked');
2665 + field.prop('checked', true);
1638 2666 }
1639 2667 } else if (group_field.type === 'color') {
1640 2668 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1641 2669 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1642 - 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});
1643 2671 } else if (group_field.type === 'select') {
1644 2672 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1645 2673 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1646 2674 for (var option_key in group_field.options) {
@@ -1659,9 +2687,9 @@
1659 2687 }
1660 2688 }
1661 2689 }
1662 2690
1663 - 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(
1664 2692 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-add'}).append(
1665 2693 jQuery('<i>', {'class': 'dashicons dashicons-plus'})
1666 2694 ),
1667 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
@@ -1666,25 +2694,26 @@
1666 2694 ),
1667 2695 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-condition-delete'}).append(
1668 2696 jQuery('<i>', {'class': 'dashicons dashicons-minus'})
1669 2697 )));
1670 -
1671 - 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 + ),
1672 2702 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1673 2703 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1674 2704 ),
1675 2705 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
1676 - grid,
2706 + grid
1677 2707 )
1678 2708 );
1679 2709 return new_condition;
1680 2710 }
1681 2711 },
1682 -
1683 - //e2pdf.actions.get
2712 + // e2pdf.actions.get
1684 2713 get: function (el) {
1685 2714 var actions = [];
1686 - if (typeof el.data('data-properties') !== 'undefined') {
2715 + if (typeof el.data('data-actions') !== 'undefined') {
1687 2716 actions = JSON.parse(el.data('data-actions'));
1688 2717 actions = Object.values(actions).sort(function (a, b) {
1689 2718 if (parseInt(a.order) === parseInt(b.order)) {
1690 2719 return 0;
@@ -1693,9 +2722,9 @@
1693 2722 });
1694 2723 }
1695 2724 return actions;
1696 2725 },
1697 - //e2pdf.actions.apply
2726 + // e2pdf.actions.apply
1698 2727 apply: function (el, data) {
1699 2728 if (!data) {
1700 2729 data = [];
1701 2730 }
@@ -1700,18 +2729,16 @@
1700 2729 data = [];
1701 2730 }
1702 2731 el.data('data-actions', JSON.stringify(data));
1703 2732 },
1704 - //e2pdf.actions.getField
2733 + // e2pdf.actions.getField
1705 2734 getField: function (field, el, action_id, action) {
1706 -
1707 2735 var obj = false;
1708 -
1709 2736 switch (field) {
1710 2737 case 'order':
1711 2738 var value = action ? action.order : '0';
1712 2739 obj = {
1713 - 'name': e2pdfLang['Order'],
2740 + 'name': e2pdf.lang.get('Sort'),
1714 2741 'key': 'actions[' + action_id + '][order]',
1715 2742 'type': 'text',
1716 2743 'value': value,
1717 2744 'atts': ['number']
@@ -1716,74 +2743,228 @@
1716 2743 'value': value,
1717 2744 'atts': ['number']
1718 2745 };
1719 2746 break;
1720 -
1721 -
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;
1722 2787 case 'action':
1723 - 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 + }
1724 2832 obj = {
1725 - 'name': e2pdfLang['Action'],
2833 + 'name': e2pdf.lang.get('Action'),
1726 2834 'key': 'actions[' + action_id + '][action]',
1727 2835 'type': 'select',
1728 2836 'value': value,
1729 - 'options': [
1730 - {'hide': e2pdfLang['Hide']},
1731 - {'show': e2pdfLang['Show']},
1732 - {'change': e2pdfLang['Change']},
1733 - ],
2837 + 'options': options,
1734 2838 'atts': []
1735 2839 };
1736 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 + }
1737 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;
1738 2904 case 'property':
1739 - var value = action ? action.property : '';
1740 -
1741 - if (action && action.action === 'change') {
1742 - var options = [];
1743 - var option = {
1744 - '': e2pdfLang['--- Select ---']
1745 - };
1746 - options.push(option);
1747 -
1748 - var groups = e2pdf.properties.getFields(el);
1749 -
1750 - var disabled_groups = ['element_id', 'page_id', 'preset'];
1751 -
1752 - for (var group_key in groups) {
1753 - var group = groups[group_key];
1754 -
1755 - if (jQuery.inArray(group_key, disabled_groups) === -1) {
1756 - for (var field_key in group.fields) {
1757 - var group_field = group.fields[field_key];
1758 - var option = {};
1759 -
1760 - if (group.classes && group.classes[field_key] && group.classes[field_key].includes("e2pdf-hide-label")) {
1761 - option[group_field.key] = group.name;
1762 - } else {
1763 - option[group_field.key] = group.name + ' ' + group_field.name;
1764 - }
1765 -
1766 - options.push(option);
1767 - }
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';
1768 2912 }
2913 + } else {
2914 + var value = action && action.property ? action.property : 'enable';
1769 2915 }
1770 -
2916 + var options = [
2917 + {'enable': e2pdf.lang.get('Enable')},
2918 + {'disable': e2pdf.lang.get('Disable')},
2919 + ];
1771 2920 obj = {
1772 - 'name': e2pdfLang['Property'],
2921 + 'name': e2pdf.lang.get('State'),
1773 2922 'key': 'actions[' + action_id + '][property]',
1774 - 'type': 'select',
2923 + 'type': action && action.action === 'redirect_access_by_url' ? 'hidden' : 'select',
1775 2924 'value': value,
1776 2925 'options': options,
1777 2926 'atts': []
1778 2927 };
1779 -
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 + }
1780 2963 }
1781 2964 break;
1782 -
1783 2965 case 'change':
1784 2966 var value = action ? action.change : '';
1785 -
1786 2967 if (
1787 2968 action
1788 2969 && typeof action.action !== 'undefined'
1789 2970 && action.action === 'change'
@@ -1791,13 +2972,20 @@
1791 2972 && action.property !== ''
1792 2973 ) {
1793 2974
1794 2975 var property = e2pdf.properties.getField(action.property, el);
1795 -
1796 2976 if (property) {
1797 - 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 + }
1798 2984 property.key = 'actions[' + action_id + '][change]';
1799 -
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 + }
1800 2988 if (jQuery.inArray('readonly', property.atts) === -1) {
1801 2989 if (property.type === 'select') {
1802 2990 for (var key in property.options) {
1803 2991 if (Object.keys(property.options[key])[0] == value) {
@@ -1814,25 +3002,22 @@
1814 3002 } else {
1815 3003 property.value = value;
1816 3004 }
1817 3005 }
1818 -
1819 3006 obj = property;
1820 3007 }
1821 3008 }
1822 -
1823 3009 break;
1824 -
1825 3010 case 'apply':
1826 3011 var value = action ? action.apply : 'any';
1827 3012 obj = {
1828 - 'name': e2pdfLang['Apply If'],
3013 + 'name': e2pdf.lang.get('Apply If'),
1829 3014 'key': 'actions[' + action_id + '][apply]',
1830 3015 'type': 'select',
1831 3016 'value': value,
1832 3017 'options': [
1833 - {'any': e2pdfLang['Any']},
1834 - {'all': e2pdfLang['All']},
3018 + {'any': e2pdf.lang.get('Any')},
3019 + {'all': e2pdf.lang.get('All')}
1835 3020 ],
1836 3021 'atts': []
1837 3022 };
1838 3023 break;
@@ -1838,9 +3023,9 @@
1838 3023 break;
1839 3024 }
1840 3025 return obj;
1841 3026 },
1842 - //e2pdf.actions.getFields
3027 + // e2pdf.actions.getFields
1843 3028 getFields: function (el, action_id, action) {
1844 3029 var obj = {
1845 3030 'action': {
1846 3031 'fields': [
@@ -1846,27 +3031,68 @@
1846 3031 'fields': [
1847 3032 e2pdf.actions.getField('order', el, action_id, action),
1848 3033 e2pdf.actions.getField('action', el, action_id, action),
1849 3034 e2pdf.actions.getField('property', el, action_id, action),
1850 - e2pdf.actions.getField('change', el, action_id, action),
1851 - e2pdf.actions.getField('apply', el, action_id, action),
3035 + e2pdf.actions.getField('apply', el, action_id, action)
1852 3036 ],
1853 3037 'classes': [
1854 3038 'e2pdf-w10 e2pdf-pr5 e2pdf-action-order',
1855 - 'e2pdf-w25 e2pdf-pr5 e2pdf-action-action',
1856 - 'e2pdf-w30 e2pdf-pl5 e2pdf-pr5 e2pdf-action-property',
1857 - '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',
1858 3041 'e2pdf-w15 e2pdf-pl5'
1859 - ],
1860 - },
3042 + ]
3043 + }
1861 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 +
1862 3084 return obj;
1863 3085 },
1864 - //e2pdf.actions.renderField
3086 + // e2pdf.actions.renderField
1865 3087 renderField: function (el, action_id, action) {
1866 -
1867 3088 var conditions = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-conditions'});
1868 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 + }
1869 3095 for (var condition in action.conditions) {
1870 3096 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, condition, action.conditions[condition]));
1871 3097 }
1872 3098 } else {
@@ -1873,16 +3099,13 @@
1873 3099 conditions.append(e2pdf.actions.conditions.renderField(el, action_id, 1));
1874 3100 }
1875 3101
1876 3102 var groups = e2pdf.actions.getFields(el, action_id, action);
1877 -
1878 3103 if (groups) {
1879 -
1880 3104 for (var group_key in groups) {
1881 3105
1882 3106 var group = groups[group_key];
1883 3107 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
1884 -
1885 3108 for (var field_key in group.fields) {
1886 3109 var group_field = group.fields[field_key];
1887 3110 var classes = '';
1888 3111 if (group.classes) {
@@ -1893,27 +3116,27 @@
1893 3116
1894 3117 var field = '';
1895 3118 var label = '';
1896 3119 var wrap = '';
1897 -
3120 + var placeholder = group_field.placeholder ? group_field.placeholder : '';
1898 3121 if (group_field.type === 'text') {
1899 3122 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1900 - 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});
1901 3124 } else if (group_field.type === 'hidden') {
1902 3125 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
1903 3126 } else if (group_field.type === 'textarea') {
1904 3127 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1905 - 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);
1906 3129 } else if (group_field.type === 'checkbox') {
1907 - 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);
1908 3131 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
1909 3132 if (group_field.value == group_field.option) {
1910 - field.attr('checked', 'checked');
3133 + field.prop('checked', true);
1911 3134 }
1912 3135 } else if (group_field.type === 'color') {
1913 3136 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
1914 3137 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1915 - 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});
1916 3139 } else if (group_field.type === 'select') {
1917 3140 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
1918 3141 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
1919 3142 for (var option_key in group_field.options) {
@@ -1923,9 +3146,8 @@
1923 3146 }
1924 3147
1925 3148 for (var att_key in group_field.atts) {
1926 3149 var att = group_field.atts[att_key];
1927 -
1928 3150 switch (att) {
1929 3151 case 'readonly':
1930 3152 field.attr('readonly', 'readonly');
1931 3153 break;
@@ -1932,9 +3154,8 @@
1932 3154 case 'number':
1933 3155 field.addClass('e2pdf-numbers e2pdf-number-negative e2pdf-number-positive');
1934 3156 break;
1935 3157 case 'autocomplete':
1936 -
1937 3158 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
1938 3159 field.addClass('e2pdf-autocomplete-cl');
1939 3160 field.autocomplete({
1940 3161 source: group_field.source,
@@ -1940,19 +3161,15 @@
1940 3161 source: group_field.source,
1941 3162 minLength: 0,
1942 3163 appendTo: wrap,
1943 3164 open: function () {
1944 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3165 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
1945 3166 },
1946 3167 classes: {
1947 3168 "ui-autocomplete": "e2pdf-autocomplete"
1948 - },
3169 + }
1949 3170 });
1950 3171 break;
1951 -
1952 - case 'scale':
1953 - field.addClass('e2pdf-scale-field');
1954 - break;
1955 3172 }
1956 3173 }
1957 3174
1958 3175 if (!wrap) {
@@ -1966,8 +3183,11 @@
1966 3183 }
1967 3184 }
1968 3185
1969 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 + ),
1970 3190 jQuery('<a>', {'href': 'javascript:void(0);', 'class': 'e2pdf-link e2pdf-action-delete'}).append(
1971 3191 jQuery('<i>', {'class': 'dashicons dashicons-no'})
1972 3192 ),
1973 3193 jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100'}).append(
@@ -1974,547 +3194,653 @@
1974 3194 grid
1975 3195 ),
1976 3196 conditions
1977 3197 );
1978 -
1979 3198 return new_action;
1980 3199 },
1981 - //e2pdf.actions.renderFields
3200 + // e2pdf.actions.renderFields
1982 3201 renderFields: function (el) {
1983 3202
1984 3203 var add_action = jQuery('<div>', {'class': 'e2pdf-action-add-wrapper'}).append(
1985 - 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'))
1986 3205 );
1987 -
1988 3206 var block = jQuery('<div>', {'class': 'e2pdf-actions-wrapper e2pdf-mt5 e2pdf-w100'});
1989 3207 var action_wrapper = jQuery('<div>', {'class': 'e2pdf-actions'});
1990 -
1991 3208 var actions = e2pdf.actions.get(el);
1992 -
1993 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 + }
1994 3216 action_wrapper.append(e2pdf.actions.renderField(el, action, actions[action]));
1995 3217 }
1996 3218
1997 3219 block.append(action_wrapper, add_action);
1998 -
1999 3220 return block;
2000 3221 }
2001 3222 },
2002 - //e2pdf.properties
3223 + // e2pdf.properties
2003 3224 properties: {
2004 - //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
2005 3242 getField: function (field, el) {
2006 3243
2007 3244 var obj = false;
2008 3245 var properties = e2pdf.properties.get(el);
2009 3246 var children = e2pdf.element.children(el);
2010 -
2011 3247 switch (field) {
2012 - case 'element_id':
2013 - var value = el.attr('data-element_id');
3248 + case 'page_id':
2014 3249 obj = {
2015 - 'name': e2pdfLang['ID'],
2016 - 'key': 'element_id',
3250 + 'name': e2pdf.lang.get('Page ID'),
2017 3251 'type': 'text',
2018 - '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')),
2019 3253 'atts': [
2020 - 'readonly'
3254 + 'readonly',
3255 + 'number'
2021 3256 ]
2022 3257 };
3258 + if (el.data('data-type') !== 'e2pdf-page') {
3259 + obj.atts.push('editable');
3260 + }
2023 3261 break;
2024 -
2025 - case 'page_id':
2026 - var value = el.attr('data-page_id');
3262 + case 'element_id':
2027 3263 obj = {
2028 - 'name': e2pdfLang['ID'],
2029 - 'key': 'page_id',
3264 + 'name': 'ID',
2030 3265 'type': 'text',
2031 - 'value': value ? value : 0,
2032 - 'atts': [
2033 - 'readonly'
2034 - ]
3266 + 'value': e2pdf.helper.getInt(el.attr('data-element_id')),
3267 + 'atts': ['readonly']
2035 3268 };
2036 3269 break;
2037 -
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;
2038 3278 case 'width':
2039 -
2040 - var value = e2pdf.helper.convertPxToFloat(el.css('width'));
2041 -
2042 3279 obj = {
2043 - 'name': e2pdfLang['Width'],
2044 - 'key': 'width',
3280 + 'name': e2pdf.lang.get('Width'),
2045 3281 'type': 'text',
2046 - 'value': value,
2047 - 'atts': [
2048 - 'number'
2049 - ]
3282 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-width')) : e2pdf.helper.getFloat(el.css('width')),
3283 + 'atts': ['number']
2050 3284 };
2051 -
2052 - if (el.data('data-type') == 'e2pdf-page') {
2053 - if (e2pdf.pdf.settings.get('pdf')) {
2054 - obj.atts.push('readonly')
2055 - }
3285 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3286 + obj.atts.push('readonly');
2056 3287 }
2057 -
2058 3288 break;
2059 3289 case 'height':
2060 - var value = e2pdf.helper.convertPxToFloat(el.css('height'));
2061 3290 obj = {
2062 - 'name': e2pdfLang['Height'],
2063 - 'key': 'height',
3291 + 'name': e2pdf.lang.get('Height'),
2064 3292 'type': 'text',
2065 - 'value': value,
2066 - 'atts': [
2067 - 'number'
2068 - ]
3293 + 'value': el.data('data-type') == 'e2pdf-page' ? e2pdf.helper.getFloat(el.attr('data-height')) : e2pdf.helper.getFloat(el.css('height')),
3294 + 'atts': ['number']
2069 3295 };
2070 -
2071 - if (el.data('data-type') == 'e2pdf-page') {
2072 - if (e2pdf.pdf.settings.get('pdf')) {
2073 - obj.atts.push('readonly')
2074 - }
3296 + if (el.data('data-type') == 'e2pdf-page' && e2pdf.pdf.settings.get('pdf')) {
3297 + obj.atts.push('readonly');
2075 3298 }
2076 -
2077 3299 break;
2078 3300 case 'top':
2079 - var value = parseFloat(el.css('top'));
2080 3301 obj = {
2081 - 'name': e2pdfLang['Top'],
2082 - 'key': 'top',
3302 + 'name': e2pdf.lang.get('Position Top'),
2083 3303 'type': 'text',
2084 - 'value': value,
2085 - 'atts': [
2086 - 'number'
2087 - ]
3304 + 'value': e2pdf.helper.getFloat(el.css('top')),
3305 + 'atts': ['number', 'keep']
2088 3306 };
2089 3307 break;
2090 3308 case 'left':
2091 - var value = parseFloat(el.css('left'));
2092 3309 obj = {
2093 - 'name': e2pdfLang['Left'],
2094 - 'key': 'left',
3310 + 'name': e2pdf.lang.get('Position Left'),
2095 3311 'type': 'text',
2096 - 'value': value,
2097 - 'atts': [
2098 - 'number'
2099 - ]
3312 + 'value': e2pdf.helper.getFloat(el.css('left')),
3313 + 'atts': ['number', 'keep']
2100 3314 };
2101 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;
2102 3331 case 'dynamic_height':
2103 - var value = properties['dynamic_height'] && properties['dynamic_height'] == '1' ? '1' : '0';
2104 3332 obj = {
2105 - 'name': e2pdfLang['Dynamic Height'],
2106 - 'key': 'dynamic_height',
3333 + 'name': e2pdf.lang.get('Dynamic Height'),
2107 3334 'type': 'checkbox',
2108 - 'value': value,
2109 - 'option': 1,
2110 - 'atts': []
3335 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3336 + 'option': '1'
2111 3337 };
2112 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;
2113 3379 case 'text_color':
2114 - var value = properties['text_color'];
2115 3380 obj = {
2116 - 'name': e2pdfLang['Color'],
2117 - 'key': 'text_color',
3381 + 'name': e2pdf.lang.get('Font Color'),
2118 3382 'type': 'color',
2119 - 'value': value,
2120 - 'atts': []
3383 + 'value': e2pdf.helper.getString(properties[field])
2121 3384 };
2122 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;
2123 3393 case 'text_type':
2124 - var value = properties['text_type'];
2125 3394 obj = {
2126 - 'name': e2pdfLang['Type'],
2127 - 'key': 'text_type',
3395 + 'name': e2pdf.lang.get('Type'),
2128 3396 'type': 'select',
2129 - 'value': value,
3397 + 'value': e2pdf.helper.getString(properties[field], 'check'),
2130 3398 'options': [
2131 - {'check': e2pdfLang['Check']},
2132 - {'circle': e2pdfLang['Circle']},
2133 - {'cross': e2pdfLang['Cross']},
2134 - {'diamond': e2pdfLang['Diamond']},
2135 - {'square': e2pdfLang['Square']},
2136 - {'star': e2pdfLang['Star']},
2137 - ],
2138 - 'atts': []
3399 + {'check': 'Check'},
3400 + {'circle': 'Circle'},
3401 + {'cross': 'Cross'},
3402 + {'diamond': 'Diamond'},
3403 + {'square': 'Square'},
3404 + {'star': 'Star'}
3405 + ]
2139 3406 };
2140 3407 break;
2141 3408 case 'text_font':
2142 - var options = [];
2143 - jQuery('#e2pdf_wysiwyg_font').find('option').each(function () {
2144 - var option = {};
2145 - option[jQuery(this).attr('value')] = jQuery(this).html();
2146 - options.push(option);
2147 - });
2148 - var value = '';
2149 - if (properties['text_font']) {
2150 - 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]);
2151 3421 }
2152 3422 obj = {
2153 - 'name': e2pdfLang['Font'],
2154 - 'key': 'text_font',
2155 - 'type': 'select',
3423 + 'name': e2pdf.lang.get('Auto Font Size'),
3424 + 'type': 'checkbox',
2156 3425 'value': value,
2157 - 'options': options,
2158 - 'atts': []
3426 + 'option': '1'
2159 3427 };
2160 3428 break;
2161 3429 case 'text_font_size':
2162 - var options = [];
2163 - jQuery('#e2pdf_wysiwyg_fontsize').find('option').each(function () {
2164 - var option = {};
2165 - option[jQuery(this).attr('value')] = jQuery(this).html();
2166 - options.push(option);
2167 - if (jQuery(this).attr('value') === '' && el.data('data-type') != 'e2pdf-html' && el.data('data-type') != 'e2pdf-signature') {
2168 - option = {};
2169 - option['-1'] = e2pdfLang['Auto'];
2170 - options.push(option);
2171 - }
2172 - });
2173 - var value = '';
2174 - if (properties['text_font_size']) {
2175 - value = properties['text_font_size'];
2176 - }
2177 3430 obj = {
2178 - 'name': e2pdfLang['Size'],
2179 - 'key': 'text_font_size',
3431 + 'name': e2pdf.lang.get('Font Size'),
2180 3432 'type': 'select',
2181 - 'value': value,
2182 - 'options': options,
2183 - 'atts': []
3433 + 'value': e2pdf.helper.getString(properties[field]),
3434 + 'options': e2pdf.helper.font.sizes(field, properties)
2184 3435 };
2185 3436 break;
2186 3437 case 'text_line_height':
2187 -
2188 - var options = [];
2189 -
2190 - var value = '';
2191 - if (properties['text_line_height']) {
2192 - value = properties['text_line_height'];
2193 - }
2194 -
2195 - var option = {};
2196 - option[''] = '-';
2197 - options.push(option);
2198 -
2199 - jQuery('#e2pdf-line-height').find('option').each(function () {
2200 - var option = {};
2201 - option[jQuery(this).attr('value')] = jQuery(this).html();
2202 - options.push(option);
2203 - });
2204 -
2205 3438 obj = {
2206 - 'name': e2pdfLang['Line Height'],
2207 - 'key': 'text_line_height',
3439 + 'name': e2pdf.lang.get('Line Height'),
2208 3440 'type': 'select',
2209 - 'value': value,
2210 - 'options': options,
2211 - 'atts': []
3441 + 'value': e2pdf.helper.getString(properties[field]),
3442 + 'options': e2pdf.helper.font.lines(field)
2212 3443 };
2213 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;
2214 3453 case 'z_index':
2215 - var value = properties['z_index'];
2216 3454 obj = {
2217 - 'name': e2pdfLang['Z-index'],
2218 - 'key': 'z_index',
3455 + 'name': 'Z-index',
2219 3456 'type': 'text',
2220 - 'value': value,
2221 - 'atts': ['number']
3457 + 'value': e2pdf.helper.getInt(properties[field]),
3458 + 'atts': ['number', 'number-negative']
2222 3459 };
2223 3460 break;
2224 3461 case 'background':
2225 - var value = properties['background'];
2226 3462 obj = {
2227 - 'name': e2pdfLang['Background'],
3463 + 'name': e2pdf.lang.get('Background'),
2228 3464 'key': 'background',
2229 3465 'type': 'color',
2230 - 'value': value,
2231 - 'atts': []
3466 + 'value': e2pdf.helper.getString(properties[field])
2232 3467 };
2233 3468 break;
2234 3469 case 'border':
2235 - var value = properties['border'];
2236 3470 obj = {
2237 - 'name': e2pdfLang['Border'],
2238 - 'key': 'border',
3471 + 'name': e2pdf.lang.get('Border'),
2239 3472 'type': 'text',
2240 - 'value': value,
3473 + 'value': e2pdf.helper.getInt(properties[field]),
2241 3474 'atts': ['number']
2242 3475 };
2243 3476 break;
2244 3477 case 'border_top':
2245 - var value = properties['border_top'];
2246 3478 obj = {
2247 - 'name': e2pdfLang['Top'],
2248 - 'key': 'border_top',
3479 + 'name': e2pdf.lang.get('Border Top'),
2249 3480 'type': 'text',
2250 - 'value': value,
3481 + 'value': e2pdf.helper.getInt(properties[field]),
2251 3482 'atts': ['number']
2252 3483 };
2253 3484 break;
2254 3485 case 'border_left':
2255 - var value = properties['border_left'];
2256 3486 obj = {
2257 - 'name': e2pdfLang['Left'],
2258 - 'key': 'border_left',
3487 + 'name': e2pdf.lang.get('Border Left'),
2259 3488 'type': 'text',
2260 - 'value': value,
3489 + 'value': e2pdf.helper.getInt(properties[field]),
2261 3490 'atts': ['number']
2262 3491 };
2263 3492 break;
2264 3493 case 'border_right':
2265 - var value = properties['border_right'];
2266 3494 obj = {
2267 - 'name': e2pdfLang['Right'],
2268 - 'key': 'border_right',
3495 + 'name': e2pdf.lang.get('Border Right'),
2269 3496 'type': 'text',
2270 - 'value': value,
3497 + 'value': e2pdf.helper.getInt(properties[field]),
2271 3498 'atts': ['number']
2272 3499 };
2273 3500 break;
2274 3501 case 'border_bottom':
2275 - var value = properties['border_bottom'];
2276 3502 obj = {
2277 - 'name': e2pdfLang['Bottom'],
2278 - 'key': 'border_bottom',
3503 + 'name': e2pdf.lang.get('Border Bottom'),
2279 3504 'type': 'text',
2280 - 'value': value,
3505 + 'value': e2pdf.helper.getInt(properties[field]),
2281 3506 'atts': ['number']
2282 3507 };
2283 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;
2284 3517 case 'border_color':
2285 - var value = properties['border_color'];
2286 3518 obj = {
2287 - 'name': e2pdfLang['Color'],
2288 - 'key': 'border_color',
3519 + 'name': e2pdf.lang.get('Border Color'),
2289 3520 'type': 'color',
2290 - 'value': value,
3521 + 'value': e2pdf.helper.getString(properties[field], '#000000'),
2291 3522 };
2292 3523 break;
2293 3524 case 'padding_top':
2294 - var value = properties['padding_top'];
2295 3525 obj = {
2296 - 'name': e2pdfLang['Top'],
2297 - 'key': 'padding_top',
3526 + 'name': e2pdf.lang.get('Padding Top'),
2298 3527 'type': 'text',
2299 - 'value': value,
3528 + 'value': e2pdf.helper.getInt(properties[field]),
2300 3529 'atts': ['number']
2301 3530 };
2302 3531 break;
2303 3532 case 'padding_left':
2304 - var value = properties['padding_left'];
2305 3533 obj = {
2306 - 'name': e2pdfLang['Left'],
2307 - 'key': 'padding_left',
3534 + 'name': e2pdf.lang.get('Padding Left'),
2308 3535 'type': 'text',
2309 - 'value': value,
3536 + 'value': e2pdf.helper.getInt(properties[field]),
2310 3537 'atts': ['number']
2311 3538 };
2312 3539 break;
2313 3540 case 'padding_right':
2314 - var value = properties['padding_right'];
2315 3541 obj = {
2316 - 'name': e2pdfLang['Right'],
2317 - 'key': 'padding_right',
3542 + 'name': e2pdf.lang.get('Padding Right'),
2318 3543 'type': 'text',
2319 - 'value': value,
3544 + 'value': e2pdf.helper.getInt(properties[field]),
2320 3545 'atts': ['number']
2321 3546 };
2322 3547 break;
2323 3548 case 'padding_bottom':
2324 - var value = properties['padding_bottom'];
2325 3549 obj = {
2326 - 'name': e2pdfLang['Bottom'],
2327 - 'key': 'padding_bottom',
3550 + 'name': e2pdf.lang.get('Padding Bottom'),
2328 3551 'type': 'text',
2329 - 'value': value,
3552 + 'value': e2pdf.helper.getInt(properties[field]),
2330 3553 'atts': ['number']
2331 3554 };
2332 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;
2333 3600 case 'length':
2334 - var value = properties['length'];
2335 3601 obj = {
2336 - 'name': e2pdfLang['Length'],
2337 - 'key': 'length',
3602 + 'name': e2pdf.lang.get('Length'),
2338 3603 'type': 'text',
2339 - 'value': value,
3604 + 'value': e2pdf.helper.getInt(properties[field]),
2340 3605 'atts': ['number']
2341 3606 };
2342 3607 break;
2343 3608 case 'comb':
2344 - var value = properties['comb'] && properties['comb'] == '1' ? '1' : '0';
2345 3609 obj = {
2346 - 'name': e2pdfLang['Comb'],
2347 - 'key': 'comb',
3610 + 'name': e2pdf.lang.get('Comb'),
2348 3611 'type': 'checkbox',
2349 - 'option': 1,
2350 - 'value': value,
2351 - 'atts': []
3612 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3613 + 'option': '1'
2352 3614 };
2353 3615 break;
2354 3616 case 'rtl':
2355 - var value = properties['rtl'] && properties['rtl'] == '1' ? '1' : '0';
2356 3617 obj = {
2357 - 'name': e2pdfLang['RTL'],
2358 - 'key': 'rtl',
2359 - 'type': 'checkbox',
2360 - 'option': 1,
2361 - 'value': value,
2362 - '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 + ]
2363 3627 };
2364 3628 break;
2365 3629 case 'required':
2366 - var value = properties['required'] && properties['required'] == '1' ? '1' : '0';
2367 3630 obj = {
2368 - 'name': e2pdfLang['Required'],
2369 - 'key': 'required',
3631 + 'name': e2pdf.lang.get('Required'),
2370 3632 'type': 'checkbox',
2371 - 'option': 1,
2372 - 'value': value,
2373 - 'atts': []
3633 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3634 + 'option': '1'
2374 3635 };
2375 3636 break;
2376 3637 case 'readonly':
2377 - var value = properties['readonly'] && properties['readonly'] == '1' ? '1' : '0';
2378 3638 obj = {
2379 - 'name': e2pdfLang['Readonly'],
2380 - 'key': 'readonly',
3639 + 'name': e2pdf.lang.get('Read-Only'),
2381 3640 'type': 'checkbox',
2382 - 'option': 1,
2383 - 'value': value,
2384 - 'atts': []
3641 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3642 + 'option': '1'
2385 3643 };
2386 3644 break;
2387 3645 case 'pass':
2388 - var value = properties['pass'] && properties['pass'] == '1' ? '1' : '0';
2389 3646 obj = {
2390 - 'name': e2pdfLang['Password'],
2391 - 'key': 'pass',
3647 + 'name': e2pdf.lang.get('Password'),
2392 3648 'type': 'checkbox',
2393 - 'option': 1,
2394 - 'value': value,
2395 - 'atts': []
3649 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3650 + 'option': '1'
2396 3651 };
2397 3652 break;
2398 3653 case 'multiline':
2399 - var value = properties['multiline'] && properties['multiline'] == '1' ? '1' : '0';
2400 3654 obj = {
2401 - 'name': e2pdfLang['Multiline'],
2402 - 'key': 'multiline',
3655 + 'name': e2pdf.lang.get('Multiline'),
2403 3656 'type': 'checkbox',
2404 - 'option': 1,
2405 - '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',
2406 3675 'atts': []
2407 3676 };
3677 + if (el.data('data-type') === 'e2pdf-image') {
3678 + obj.atts.push('keep');
3679 + }
2408 3680 break;
2409 - case 'dimension':
2410 - var value = properties['dimension'] && properties['dimension'] == '1' ? '1' : '0';
3681 + case 'keep_lower_size':
2411 3682 obj = {
2412 - 'name': e2pdfLang['Keep dimension'],
2413 - 'key': 'dimension',
3683 + 'name': e2pdf.lang.get('Keep Lower Size'),
2414 3684 'type': 'checkbox',
2415 - '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',
2416 3713 'value': value,
2417 - '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 + ]
2418 3723 };
2419 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;
2420 3770 case 'esig':
2421 - var value = properties['esig'] && properties['esig'] == '1' ? '1' : '0';
2422 3771 obj = {
2423 - 'name': e2pdfLang['E-signature'],
2424 - 'key': 'esig',
3772 + 'name': e2pdf.lang.get('E-Signature'),
2425 3773 'type': 'checkbox',
2426 - 'option': 1,
2427 - 'value': value,
2428 - 'atts': []
3774 + 'value': e2pdf.helper.getCheckbox(properties[field]),
3775 + 'option': '1'
2429 3776 };
2430 3777 break;
2431 3778 case 'esig_contact':
2432 - var value = properties['esig_contact'];
2433 3779 obj = {
2434 - 'name': e2pdfLang['Contact'],
2435 - 'key': 'esig_contact',
3780 + 'name': e2pdf.lang.get('Contact'),
2436 3781 'type': 'text',
2437 - 'value': value,
2438 - 'atts': []
3782 + 'value': e2pdf.helper.getString(properties[field])
2439 3783 };
2440 3784 break;
2441 3785 case 'esig_location':
2442 - var value = properties['esig_location'];
2443 3786 obj = {
2444 - 'name': e2pdfLang['Location'],
2445 - 'key': 'esig_location',
3787 + 'name': e2pdf.lang.get('Location'),
2446 3788 'type': 'text',
2447 - 'value': value,
2448 - 'atts': []
3789 + 'value': e2pdf.helper.getString(properties[field])
2449 3790 };
2450 3791 break;
2451 3792 case 'esig_reason':
2452 - var value = properties['esig_reason'];
2453 3793 obj = {
2454 - 'name': e2pdfLang['Reason'],
2455 - 'key': 'esig_reason',
3794 + 'name': e2pdf.lang.get('Reason'),
2456 3795 'type': 'text',
2457 - 'value': value,
2458 - 'atts': []
3796 + 'value': e2pdf.helper.getString(properties[field])
2459 3797 };
2460 3798 break;
2461 3799 case 'placeholder':
2462 - var value = properties['placeholder'];
2463 3800 obj = {
2464 - 'name': e2pdfLang['Placeholder'],
2465 - 'key': 'placeholder',
3801 + 'name': e2pdf.lang.get('Placeholder'),
2466 3802 'type': 'text',
2467 - 'value': value,
2468 - 'atts': []
3803 + 'value': e2pdf.helper.getString(properties[field])
2469 3804 };
2470 3805 break;
2471 3806 case 'horizontal':
2472 - var value = properties['horizontal'];
2473 3807 obj = {
2474 - 'name': e2pdfLang['Horizontal align'],
2475 - 'key': 'horizontal',
3808 + 'name': e2pdf.lang.get('Horizontal Align'),
2476 3809 'type': 'select',
2477 - 'value': value,
3810 + 'value': e2pdf.helper.getString(properties[field], 'left'),
2478 3811 'options':
2479 3812 [
2480 - {'left': e2pdfLang['Left']},
2481 - {'center': e2pdfLang['Center']},
2482 - {'right': e2pdfLang['Right']},
3813 + {'left': e2pdf.lang.get('Left')},
3814 + {'center': e2pdf.lang.get('Center')},
3815 + {'right': e2pdf.lang.get('Right')}
2483 3816 ]
2484 - ,
2485 - 'atts': []
2486 3817 };
2487 3818 break;
2488 3819 case 'vertical':
2489 - var value = properties['vertical'];
2490 3820 obj = {
2491 - 'name': e2pdfLang['Vertical align'],
2492 - 'key': 'vertical',
3821 + 'name': e2pdf.lang.get('Vertical Align'),
2493 3822 'type': 'select',
2494 - 'value': value,
3823 + 'value': e2pdf.helper.getString(properties[field], 'top'),
2495 3824 'options':
2496 3825 [
2497 - {'top': e2pdfLang['Top']},
2498 - {'middle': e2pdfLang['Middle']},
2499 - {'bottom': e2pdfLang['Bottom']},
3826 + {'top': e2pdf.lang.get('Top')},
3827 + {'middle': e2pdf.lang.get('Middle')},
3828 + {'bottom': e2pdf.lang.get('Bottom')}
2500 3829 ]
2501 - ,
2502 - 'atts': []
2503 3830 };
2504 3831 break;
2505 3832 case 'scale':
2506 - var value = properties['scale'];
2507 3833 obj = {
2508 - 'name': e2pdfLang['Scale'],
2509 - 'key': 'scale',
3834 + 'name': e2pdf.lang.get('Scale'),
2510 3835 'type': 'select',
2511 - 'value': value,
3836 + 'value': e2pdf.helper.getString(properties[field], '0'),
2512 3837 'options':
2513 3838 [
2514 - {'0': e2pdfLang['Width&Height']},
2515 - {'1': e2pdfLang['Width']},
2516 - {'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')}
2517 3843 ]
2518 3844 ,
2519 3845 'atts': ['scale']
2520 3846 };
@@ -2519,56 +3845,162 @@
2519 3845 'atts': ['scale']
2520 3846 };
2521 3847 break;
2522 3848 case 'text_align':
2523 - var value = properties['text_align'];
2524 3849 obj = {
2525 - 'name': e2pdfLang['Text Align'],
2526 - 'key': 'text_align',
3850 + 'name': e2pdf.lang.get('Text Align'),
2527 3851 'type': 'select',
2528 - 'value': value,
3852 + 'value': e2pdf.helper.getString(properties[field]),
2529 3853 'options':
2530 3854 [
2531 - {'left': e2pdfLang['Left']},
2532 - {'center': e2pdfLang['Center']},
2533 - {'right': e2pdfLang['Right']},
3855 + {'': '-'},
3856 + {'left': e2pdf.lang.get('Left')},
3857 + {'center': e2pdf.lang.get('Center')},
3858 + {'right': e2pdf.lang.get('Right')}
2534 3859 ]
2535 - ,
2536 - 'atts': []
2537 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 + }
2538 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;
2539 3975 case 'parent':
2540 - var value = properties['parent'];
2541 - var source = [
3976 + var options = [
3977 + {'': e2pdf.lang.get('--- Select ---')}
2542 3978 ];
2543 3979 if (el.data('data-type') === 'e2pdf-html') {
2544 - jQuery('#e2pdf-tpl').find('.e2pdf-html').each(function () {
3980 + jQuery('.e2pdf-tpl').find('.e2pdf-html').each(function () {
2545 3981 if (!jQuery(this).is(children)) {
2546 3982 var parent = jQuery(this).parent().attr('data-element_id');
2547 - if (source.indexOf(parent) === -1) {
2548 - source.push(parent);
2549 - }
3983 + options.push({[parent]: parent});
2550 3984 }
2551 3985 });
2552 3986 }
2553 -
3987 + options.sort(function (a, b) {
3988 + return Number(Object.keys(a)[0]) - Number(Object.keys(b)[0]);
3989 + });
2554 3990 obj = {
2555 - 'name': e2pdfLang['Parent'],
2556 - 'key': 'parent',
2557 - 'type': 'text',
2558 - 'value': value,
2559 - 'source': source,
2560 - 'atts': ['autocomplete']
3991 + 'name': e2pdf.lang.get('Parent'),
3992 + 'type': 'select',
3993 + 'value': e2pdf.helper.getString(properties[field]),
3994 + 'options': options
2561 3995 };
2562 3996 break;
2563 3997 case 'group':
2564 - var value = properties['group'];
2565 - var source = [
2566 - ];
2567 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3998 + var source = [];
3999 + jQuery('.e2pdf-tpl').find('.e2pdf-radio').each(function () {
2568 4000 if (!jQuery(this).is(children)) {
2569 4001 var radio = jQuery(this).parent();
2570 - var group = e2pdf.properties.getValue(radio, 'group');
4002 + var group = e2pdf.properties.getValue(radio, 'group', 'string');
2571 4003 if (source.indexOf(group) === -1) {
2572 4004 source.push(group);
2573 4005 }
2574 4006 }
@@ -2573,607 +4005,3042 @@
2573 4005 }
2574 4006 }
2575 4007 });
2576 4008 obj = {
2577 - 'name': e2pdfLang['Group'],
2578 - 'key': 'group',
4009 + 'name': e2pdf.lang.get('Group'),
2579 4010 'type': 'text',
2580 - 'value': value,
4011 + 'value': e2pdf.helper.getString(properties[field]),
2581 4012 'source': source,
2582 4013 'atts': ['autocomplete']
2583 4014 };
2584 4015 break;
2585 4016 case 'option':
2586 - var value = properties['option'];
2587 4017 obj = {
2588 - 'name': e2pdfLang['Option'],
2589 - 'key': 'option',
4018 + 'name': e2pdf.lang.get('Option'),
2590 4019 'type': 'textarea',
2591 - 'value': value,
2592 - 'atts': []
4020 + 'value': e2pdf.helper.getString(properties[field])
2593 4021 };
2594 4022 break;
2595 -
2596 4023 case 'options':
2597 - var value = properties['options'];
2598 4024 obj = {
2599 - 'name': e2pdfLang['Options'],
2600 - 'key': 'options',
4025 + 'name': e2pdf.lang.get('Options'),
2601 4026 'type': 'textarea',
2602 - 'value': value,
2603 - 'atts': []
4027 + 'value': e2pdf.helper.getString(properties[field])
2604 4028 };
2605 4029 break;
2606 -
2607 -
2608 4030 case 'value':
2609 - value = '';
2610 4031 if (el.data('data-type') === 'e2pdf-html') {
2611 - value = children.html();
4032 + if (children.is('textarea')) {
4033 + var value = children.val();
4034 + } else {
4035 + var value = children.html();
4036 + }
2612 4037 } else if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2613 - value = children.val();
4038 + var value = children.val();
2614 4039 } else {
2615 - value = properties['value'];
4040 + var value = properties.hasOwnProperty('value') ? properties['value'] : '';
2616 4041 }
2617 -
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 + }
2618 4048 obj = {
2619 - 'name': e2pdfLang['Value'],
2620 - 'key': 'value',
4049 + 'name': name,
2621 4050 'type': 'textarea',
2622 - 'value': value,
2623 - 'atts': []
4051 + 'value': value
2624 4052 };
2625 4053 break;
2626 -
4054 + case 'css':
4055 + obj = {
4056 + 'name': 'CSS',
4057 + 'type': 'textarea',
4058 + 'value': e2pdf.helper.getString(properties[field])
4059 + };
4060 + break;
2627 4061 case 'preset':
2628 -
2629 - var value = '';
2630 -
2631 4062 var options = [];
2632 4063 var option = {
2633 - '': e2pdfLang['--- Select ---']
4064 + '': e2pdf.lang.get('--- Select ---')
2634 4065 };
2635 4066 options.push(option);
2636 -
2637 - for (var size in e2pdfTemplateSizes) {
4067 + for (var size in e2pdf_params['template_sizes']) {
2638 4068 var option = {};
2639 - 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'] + ')';
2640 4070 options.push(option);
2641 4071 }
2642 -
2643 4072 obj = {
2644 - 'name': e2pdfLang['Size Preset'],
2645 - 'key': 'preset',
4073 + 'name': e2pdf.lang.get('Size'),
2646 4074 'type': 'select',
2647 - 'value': value,
4075 + 'value': '',
2648 4076 'options': options,
2649 - 'atts': [],
4077 + 'atts': [
4078 + 'uneditable'
4079 + ]
2650 4080 };
2651 -
2652 -
2653 4081 if (e2pdf.pdf.settings.get('pdf')) {
2654 4082 obj.atts.push('disabled');
2655 4083 }
2656 -
2657 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;
2658 5453 }
2659 -
5454 + if (!obj.hasOwnProperty('key')) {
5455 + obj['key'] = field;
5456 + }
5457 + if (!obj.hasOwnProperty('atts')) {
5458 + obj['atts'] = [];
5459 + }
2660 5460 return obj;
2661 5461 },
2662 - //e2pdf.properties.getFields
5462 + // e2pdf.properties.getFields
2663 5463 getFields: function (el, actions) {
2664 - 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') {
2665 5468 var obj = {
2666 5469 'page_id': {
2667 - 'name': e2pdfLang['ID'],
5470 + 'name': '',
2668 5471 'fields': [
2669 5472 e2pdf.properties.getField('page_id', el),
5473 + e2pdf.properties.getField('element_type', el)
2670 5474 ],
2671 5475 'position': 'top',
2672 5476 'classes': [
2673 - 'e2pdf-w100 e2pdf-hide-label'
2674 - ],
5477 + 'e2pdf-w50 e2pdf-pr10',
5478 + 'e2pdf-w50 e2pdf-pl10'
5479 + ]
2675 5480 },
2676 5481 'size': {
2677 - 'name': e2pdfLang['Size'],
5482 + 'name': e2pdf.lang.get('Size'),
2678 5483 'fields': [
2679 5484 e2pdf.properties.getField('width', el),
2680 5485 e2pdf.properties.getField('height', el),
5486 + e2pdf.properties.getField('preset', el)
2681 5487 ],
2682 5488 'position': 'top',
2683 5489 'classes': [
2684 5490 'e2pdf-w50 e2pdf-pr10',
2685 - 'e2pdf-w50 e2pdf-pl10'
2686 - ],
2687 - },
2688 - 'preset': {
2689 - 'name': e2pdfLang['Size Preset'],
2690 - 'fields': [
2691 - e2pdf.properties.getField('preset', el),
2692 - ],
2693 - 'position': 'top',
2694 - 'classes': [
2695 - 'e2pdf-w100 e2pdf-hide-label'
5491 + 'e2pdf-w50 e2pdf-pl10',
5492 + 'e2pdf-w100'
2696 5493 ]
2697 5494 }
2698 5495 };
2699 5496 } else {
2700 -
2701 5497 var obj = {
2702 - 'element_id': {
2703 - 'name': e2pdfLang['ID'],
5498 + 'element': {
5499 + 'name': e2pdf.lang.get('Element'),
2704 5500 'fields': [
2705 - 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)
2706 5508 ],
2707 5509 'position': 'top',
2708 5510 'classes': [
2709 - 'e2pdf-w100 e2pdf-hide-label',
2710 - ],
2711 - },
2712 - 'position': {
2713 - 'name': e2pdfLang['Position'],
2714 - 'fields': [
2715 - e2pdf.properties.getField('left', el),
2716 - e2pdf.properties.getField('top', el)
2717 - ],
2718 - 'position': 'right',
2719 - 'classes': [
2720 - 'e2pdf-w50 e2pdf-pr10',
2721 - 'e2pdf-w50 e2pdf-pl10'
2722 - ],
2723 - },
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 + }
2724 5520 };
5521 + if (el.data('data-type') === 'e2pdf-input') {
2725 5522
2726 - if (el.data('data-type') === 'e2pdf-input' || el.data('data-type') === 'e2pdf-textarea') {
2727 - obj['size'] = {
2728 - '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'),
2729 5529 'fields': [
2730 - e2pdf.properties.getField('width', el),
2731 - e2pdf.properties.getField('height', el),
2732 - 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)
2733 5543 ],
2734 5544 'position': 'left',
2735 5545 'classes': [
2736 - 'e2pdf-w50 e2pdf-pr10',
5546 + 'e2pdf-w100',
5547 + 'e2pdf-w100',
5548 + 'e2pdf-w50',
2737 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',
2738 5574 'e2pdf-w100'
2739 - ],
5575 + ]
2740 5576 };
2741 - } else {
2742 - obj['size'] = {
2743 - 'name': e2pdfLang['Size'],
5577 + obj['value'] = {
5578 + 'name': e2pdf.lang.get('Value'),
2744 5579 'fields': [
2745 - e2pdf.properties.getField('width', el),
2746 - 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)
2747 5586 ],
2748 - 'position': 'left',
5587 + 'position': 'bottom',
2749 5588 'classes': [
2750 - 'e2pdf-w50 e2pdf-pr10',
2751 - 'e2pdf-w50 e2pdf-pl10'
2752 -
2753 - ],
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 + ]
2754 5596 };
2755 5597 }
2756 5598
2757 - if (el.data('data-type') === 'e2pdf-html'
2758 - || el.data('data-type') === 'e2pdf-textarea'
2759 - ) {
2760 - obj['font'] = {
2761 - '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'),
2762 5607 'fields': [
2763 5608 e2pdf.properties.getField('text_color', el),
2764 5609 e2pdf.properties.getField('text_font', el),
2765 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),
2766 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)
2767 5622 ],
2768 5623 'position': 'left',
2769 5624 'classes': [
2770 5625 'e2pdf-w100',
2771 5626 'e2pdf-w100',
2772 - 'e2pdf-w50 e2pdf-pr10',
2773 - '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)
2774 5648 ],
5649 + 'position': 'right',
5650 + 'classes': [
5651 + 'e2pdf-w100',
5652 + 'e2pdf-w70',
5653 + 'e2pdf-w30 e2pdf-pl10',
5654 + 'e2pdf-w100'
5655 + ]
2775 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 + }
2776 5678
2777 - }
5679 + if (el.data('data-type') === 'e2pdf-checkbox') {
2778 5680
2779 - // Font
2780 - if (el.data('data-type') === 'e2pdf-input'
2781 - || el.data('data-type') === 'e2pdf-select'
2782 - || el.data('data-type') === 'e2pdf-signature'
2783 - ) {
2784 - obj['font'] = {
2785 - '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'),
2786 5687 'fields': [
2787 5688 e2pdf.properties.getField('text_color', el),
2788 - e2pdf.properties.getField('text_font', el),
2789 - 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)
2790 5694 ],
2791 5695 'position': 'left',
2792 5696 'classes': [
2793 5697 'e2pdf-w100',
2794 - 'e2pdf-w70 e2pdf-pr10',
2795 - '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)
2796 5712 ],
5713 + 'position': 'right',
5714 + 'classes': [
5715 + 'e2pdf-w100',
5716 + 'e2pdf-w70',
5717 + 'e2pdf-w30 e2pdf-pl10',
5718 + 'e2pdf-w100'
5719 + ]
2797 5720 };
2798 - }
2799 -
2800 - // Text align
2801 - if (el.data('data-type') === 'e2pdf-html'
2802 - || el.data('data-type') === 'e2pdf-input'
2803 - || el.data('data-type') === 'e2pdf-textarea'
2804 - ) {
2805 - obj['text_align'] = {
2806 - 'name': e2pdfLang['Text Align'],
5721 + obj['value'] = {
5722 + 'name': '',
2807 5723 'fields': [
2808 - 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)
2809 5731 ],
2810 - 'position': 'left',
5732 + 'position': 'bottom',
2811 5733 'classes': [
2812 - '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'
2813 5741 ]
2814 5742 };
2815 5743 }
2816 5744
2817 - // Settings
2818 - if (el.data('data-type') === 'e2pdf-html') {
2819 - obj['settings'] = {
2820 - 'name': e2pdfLang['Settings'],
5745 + if (el.data('data-type') === 'e2pdf-radio') {
5746 +
5747 + obj['field'] = {
5748 + 'name': e2pdf.lang.get('Field'),
2821 5749 'fields': [
5750 + e2pdf.properties.getField('text_color', el),
5751 + e2pdf.properties.getField('text_type', el),
5752 + e2pdf.properties.getField('rotation', el),
2822 5753 e2pdf.properties.getField('rtl', el),
2823 - e2pdf.properties.getField('dynamic_height', el),
5754 + e2pdf.properties.getField('required', el),
5755 + e2pdf.properties.getField('readonly', el)
2824 5756 ],
2825 5757 'position': 'left',
2826 5758 'classes': [
2827 5759 'e2pdf-w100',
2828 5760 'e2pdf-w100',
5761 + 'e2pdf-w70',
5762 + 'e2pdf-w30 e2pdf-pl10',
5763 + 'e2pdf-pr10',
5764 + 'e2pdf-pr10',
5765 + 'e2pdf-pr10'
2829 5766 ]
2830 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 + };
2831 5810 }
2832 5811
2833 - // Settings
2834 - if (el.data('data-type') === 'e2pdf-input'
2835 - || el.data('data-type') === 'e2pdf-textarea'
2836 - ) {
2837 - obj['settings'] = {
2838 - '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'),
2839 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),
2840 5827 e2pdf.properties.getField('rtl', el),
5828 + e2pdf.properties.getField('multiline', el),
2841 5829 e2pdf.properties.getField('required', el),
2842 - e2pdf.properties.getField('readonly', el),
2843 - e2pdf.properties.getField('pass', el),
2844 - e2pdf.properties.getField('comb', el),
5830 + e2pdf.properties.getField('readonly', el)
2845 5831 ],
2846 5832 'position': 'left',
2847 5833 'classes': [
2848 5834 'e2pdf-w100',
2849 5835 'e2pdf-w100',
5836 + 'e2pdf-w50',
5837 + 'e2pdf-w50 e2pdf-pl10',
2850 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': [
2851 5856 'e2pdf-w100',
2852 - 'e2pdf-w100',
5857 + 'e2pdf-w70',
5858 + 'e2pdf-w30 e2pdf-pl10',
5859 + 'e2pdf-w100'
2853 5860 ]
2854 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 + };
2855 5884 }
2856 5885
2857 - // Settings Signature
2858 5886 if (el.data('data-type') === 'e2pdf-signature') {
2859 5887
2860 - obj['placeholder'] = {
2861 - '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'),
2862 5894 'fields': [
5895 + e2pdf.properties.getField('text_color', el),
5896 + e2pdf.properties.getField('text_font', el),
5897 + e2pdf.properties.getField('text_font_size', el),
2863 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)
2864 5909 ],
2865 5910 'position': 'left',
2866 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': [
2867 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'
2868 5980 ]
2869 5981 };
5982 + }
2870 5983
2871 -
2872 - obj['settings'] = {
2873 - 'name': e2pdfLang['Settings'],
5984 + if (el.data('data-type') === 'e2pdf-html') {
5985 + obj['field'] = {
5986 + 'name': e2pdf.lang.get('Field'),
2874 5987 'fields': [
2875 - 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)
2876 6002 ],
2877 6003 'position': 'left',
2878 6004 'classes': [
2879 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'
2880 6019 ]
2881 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 + }
2882 6025
2883 -
2884 - }
2885 -
2886 - // Settings
2887 - if (el.data('data-type') === 'e2pdf-checkbox'
2888 - || el.data('data-type') === 'e2pdf-radio'
2889 - ) {
2890 - obj['settings'] = {
2891 - 'name': e2pdfLang['Settings'],
6026 + obj['style'] = {
6027 + 'name': e2pdf.lang.get('Style'),
2892 6028 'fields': [
2893 - e2pdf.properties.getField('required', el),
2894 - 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)
2895 6040 ],
2896 - 'position': 'left',
6041 + 'position': 'right',
2897 6042 'classes': [
2898 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',
2899 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'
2900 6054 ]
2901 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 + };
2902 6086 }
2903 6087
2904 - // Settings
2905 - if (el.data('data-type') === 'e2pdf-select') {
2906 - obj['settings'] = {
2907 - 'name': e2pdfLang['Settings'],
6088 + if (el.data('data-type') === 'e2pdf-page-number') {
6089 + obj['field'] = {
6090 + 'name': e2pdf.lang.get('Field'),
2908 6091 'fields': [
2909 - e2pdf.properties.getField('rtl', el),
2910 - e2pdf.properties.getField('required', el),
2911 - e2pdf.properties.getField('readonly', el),
2912 - 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)
2913 6101 ],
2914 6102 'position': 'left',
2915 6103 'classes': [
2916 6104 'e2pdf-w100',
2917 6105 'e2pdf-w100',
6106 + 'e2pdf-w50',
6107 + 'e2pdf-w50 e2pdf-pl10',
2918 6108 'e2pdf-w100',
2919 - 'e2pdf-w100',
6109 + 'e2pdf-w50',
6110 + 'e2pdf-w50 e2pdf-pl10',
6111 + 'e2pdf-w70',
6112 + 'e2pdf-w30 e2pdf-pl10'
2920 6113 ]
2921 6114 };
2922 - }
2923 -
2924 - // Selector
2925 - if (el.data('data-type') === 'e2pdf-checkbox'
2926 - || el.data('data-type') === 'e2pdf-radio'
2927 - ) {
2928 - obj['selector'] = {
2929 - 'name': e2pdfLang['Selector'],
6115 + obj['page_number'] = {
6116 + 'name': e2pdf.lang.get('Page Number'),
2930 6117 'fields': [
2931 - e2pdf.properties.getField('text_color', el),
2932 - e2pdf.properties.getField('text_type', el),
6118 + e2pdf.properties.getField('page_number', el),
6119 + e2pdf.properties.getField('page_total', el),
2933 6120 ],
2934 6121 'position': 'left',
2935 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': [
2936 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',
2937 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'
2938 6153 ]
2939 6154 };
2940 - }
2941 -
2942 - // Background
2943 - if (el.data('data-type') === 'e2pdf-html'
2944 - || el.data('data-type') === 'e2pdf-input'
2945 - || el.data('data-type') === 'e2pdf-textarea'
2946 - || el.data('data-type') === 'e2pdf-image'
2947 - || el.data('data-type') === 'e2pdf-rectangle'
2948 - || el.data('data-type') === 'e2pdf-signature'
2949 - ) {
2950 - obj['background'] = {
2951 - 'name': e2pdfLang['Background'],
6155 + obj['value'] = {
6156 + 'name': '',
2952 6157 'fields': [
2953 - e2pdf.properties.getField('background', el)
6158 + e2pdf.properties.getField('css', el),
6159 + e2pdf.properties.getField('value', el),
6160 + e2pdf.properties.getField('html_worker', el)
2954 6161 ],
2955 - 'position': el.data('data-type') === 'e2pdf-rectangle' || el.data('data-type') === 'e2pdf-image' ? 'left' : 'right',
6162 + 'position': 'bottom',
2956 6163 'classes': [
2957 - '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'
2958 6167 ]
2959 6168 };
2960 6169 }
2961 6170
2962 - // Resize
2963 - if (el.data('data-type') === 'e2pdf-image' || el.data('data-type') === 'e2pdf-signature') {
2964 - obj['resize'] = {
2965 - 'name': e2pdfLang['Resize'],
6171 + if (el.data('data-type') === 'e2pdf-image') {
6172 +
6173 + obj['field'] = {
6174 + 'name': e2pdf.lang.get('Field'),
2966 6175 'fields': [
2967 - 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),
2968 6179 e2pdf.properties.getField('horizontal', el),
2969 6180 e2pdf.properties.getField('vertical', el),
6181 + e2pdf.properties.getField('rotation', el),
6182 + e2pdf.properties.getField('opacity', el),
6183 + e2pdf.properties.getField('quality', el),
2970 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)
2971 6189 ],
2972 6190 'position': 'left',
2973 6191 'classes': [
2974 6192 'e2pdf-w100',
2975 - 'e2pdf-w50 e2pdf-pr10',
6193 + 'e2pdf-w60 e2pdf-pr10',
6194 + 'e2pdf-w40',
6195 + 'e2pdf-w50',
2976 6196 'e2pdf-w50 e2pdf-pl10',
2977 - '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'
2978 6205 ]
2979 6206 };
2980 - }
2981 -
2982 - // Border
2983 - if (el.data('data-type') === 'e2pdf-input'
2984 - || el.data('data-type') === 'e2pdf-textarea'
2985 - || el.data('data-type') === 'e2pdf-checkbox'
2986 - || el.data('data-type') === 'e2pdf-radio'
2987 - || el.data('data-type') === 'e2pdf-select'
2988 - ) {
2989 - obj['border'] = {
2990 - 'name': e2pdfLang['Border'],
6207 + obj['pdf'] = {
6208 + 'name': 'Pdf',
2991 6209 'fields': [
2992 - e2pdf.properties.getField('border', el),
2993 - 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)
2994 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 + ],
2995 6241 'position': 'right',
2996 6242 'classes': [
2997 - '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',
2998 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)
2999 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 + ]
3000 6284 };
3001 6285 }
3002 6286
3003 - // Border
3004 - if (el.data('data-type') === 'e2pdf-html'
3005 - || el.data('data-type') === 'e2pdf-image'
3006 - || el.data('data-type') === 'e2pdf-signature'
3007 - ) {
3008 - obj['border'] = {
3009 - 'name': e2pdfLang['Border'],
6287 + if (el.data('data-type') === 'e2pdf-qrcode') {
6288 +
6289 + obj['qrcode'] = {
6290 + 'name': e2pdf.lang.get('QR Code'),
3010 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),
3011 6316 e2pdf.properties.getField('border_top', el),
3012 6317 e2pdf.properties.getField('border_left', el),
3013 6318 e2pdf.properties.getField('border_right', el),
3014 6319 e2pdf.properties.getField('border_bottom', el),
3015 - e2pdf.properties.getField('border_color', el)
6320 + e2pdf.properties.getField('z_index', el)
3016 6321 ],
3017 6322 'position': 'right',
3018 6323 'classes': [
3019 - 'e2pdf-w25 e2pdf-pr10',
3020 - 'e2pdf-w25 e2pdf-pr10',
3021 - 'e2pdf-w25 e2pdf-pr10',
3022 - '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',
3023 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)
3024 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 + ]
3025 6360 };
3026 6361 }
3027 6362
3028 - // Padding
3029 - if (el.data('data-type') === 'e2pdf-html'
3030 - || el.data('data-type') === 'e2pdf-image'
3031 - || el.data('data-type') === 'e2pdf-signature'
3032 - ) {
3033 - obj['padding'] = {
3034 - 'name': e2pdfLang['Padding'],
6363 + if (el.data('data-type') === 'e2pdf-barcode') {
6364 + obj['barcode'] = {
6365 + 'name': e2pdf.lang.get('Barcode'),
3035 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),
3036 6406 e2pdf.properties.getField('padding_top', el),
3037 6407 e2pdf.properties.getField('padding_left', el),
3038 6408 e2pdf.properties.getField('padding_right', el),
3039 - 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)
3040 6416 ],
3041 6417 'position': 'right',
3042 6418 'classes': [
3043 - 'e2pdf-w25 e2pdf-pr10',
3044 - 'e2pdf-w25 e2pdf-pr10',
3045 - 'e2pdf-w25 e2pdf-pr10',
3046 - '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'
3047 6434 ]
3048 6435 };
3049 - }
3050 -
3051 - // Z-index
3052 - obj['z_index'] = {
3053 - 'name': e2pdfLang['Z-index'],
3054 - 'fields': [
3055 - e2pdf.properties.getField('z_index', el)
3056 - ],
3057 - 'position': el.data('data-type') === 'e2pdf-link' ? 'left' : 'right',
3058 - 'classes': [
3059 - 'e2pdf-w100 e2pdf-hide-label',
3060 - ]
3061 - };
3062 -
3063 - // Parent
3064 - if (el.data('data-type') === 'e2pdf-html') {
3065 - obj['parent'] = {
3066 - 'name': e2pdfLang['Parent'],
6436 + obj['value'] = {
6437 + 'name': e2pdf.lang.get('Value'),
3067 6438 'fields': [
3068 - 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)
3069 6445 ],
3070 6446 'position': 'bottom',
3071 6447 'classes': [
3072 6448 'e2pdf-w100 e2pdf-hide-label',
3073 - ],
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 + ]
3074 6455 };
3075 6456 }
3076 6457
3077 - if (el.data('data-type') === 'e2pdf-radio') {
3078 - obj['group'] = {
3079 - 'name': e2pdfLang['Group'],
6458 + if (el.data('data-type') === 'e2pdf-graph') {
6459 + obj['graph'] = {
6460 + 'name': e2pdf.lang.get('Graph'),
3080 6461 'fields': [
3081 - 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),
3082 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 + ],
3083 6848 'position': 'bottom',
3084 6849 'classes': [
3085 - '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',
3086 6867 ]
3087 6868 };
3088 - }
3089 -
3090 - if (el.data('data-type') === 'e2pdf-radio'
3091 - || el.data('data-type') === 'e2pdf-checkbox'
3092 - ) {
3093 - obj['option'] = {
3094 - 'name': e2pdfLang['Option'],
6869 + obj['value'] = {
6870 + 'name': '',
3095 6871 'fields': [
3096 - 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),
3097 6887 ],
3098 6888 'position': 'bottom',
3099 6889 'classes': [
3100 - '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',
3101 6905 ]
3102 6906 };
3103 6907 }
3104 6908
3105 - // Options
3106 - if (el.data('data-type') === 'e2pdf-select') {
3107 - obj['options'] = {
3108 - 'name': e2pdfLang['Options'],
6909 + if (el.data('data-type') === 'e2pdf-rectangle') {
6910 + obj['style'] = {
6911 + 'name': e2pdf.lang.get('Style'),
3109 6912 'fields': [
3110 - e2pdf.properties.getField('options', el),
6913 + e2pdf.properties.getField('background', el),
6914 + e2pdf.properties.getField('z_index', el),
3111 6915 ],
3112 6916 'position': 'bottom',
3113 6917 'classes': [
3114 - 'e2pdf-w100 e2pdf-hide-label',
6918 + 'e2pdf-w50 e2pdf-pr10',
6919 + 'e2pdf-w50 e2pdf-pl10',
3115 6920 ]
3116 6921 };
3117 6922 }
3118 6923
3119 - // Value
3120 - if (el.data('data-type') === 'e2pdf-html'
3121 - || el.data('data-type') === 'e2pdf-input'
3122 - || el.data('data-type') === 'e2pdf-textarea'
3123 - || el.data('data-type') === 'e2pdf-radio'
3124 - || el.data('data-type') === 'e2pdf-checkbox'
3125 - || el.data('data-type') === 'e2pdf-select'
3126 - || el.data('data-type') === 'e2pdf-image'
3127 - || el.data('data-type') === 'e2pdf-link'
3128 - || el.data('data-type') === 'e2pdf-signature'
3129 - ) {
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 + };
3130 6961 obj['value'] = {
3131 - 'name': e2pdfLang['Value'],
6962 + 'name': e2pdf.lang.get('Value'),
3132 6963 'fields': [
6964 + e2pdf.properties.getField('link_label', el),
6965 + e2pdf.properties.getField('link_type', el),
6966 + e2pdf.properties.getField('highlight', el),
3133 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)
3134 6973 ],
3135 6974 'position': 'bottom',
3136 6975 'classes': [
3137 - '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'
3138 6985 ]
3139 6986 };
3140 6987 }
3141 6988 }
3142 6989
3143 - if (actions) {
3144 - // actions
3145 - obj['actions'] = {
3146 - 'name': e2pdfLang['Actions'],
3147 - 'fields': e2pdf.actions.renderFields(el),
3148 - 'position': el.data('data-type') === 'e2pdf-page' ? 'top' : 'bottom',
3149 - };
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 + }
3150 7020 }
3151 -
3152 7021 return obj;
3153 7022 },
3154 - //e2pdf.properties.renderFields
3155 - renderFields: function (el) {
3156 -
3157 - var actions = true;
7023 + // e2pdf.properties.renderFields
7024 + renderFields: function (el, actions = true) {
3158 7025 var fields = jQuery('<div>', {'class': ' e2pdf-grid'}).append();
3159 7026 var fields_top = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-top'});
3160 7027 var fields_left = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pr5 e2pdf-left'});
3161 7028 var fields_right = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-pl5 e2pdf-right'});
3162 7029 var fields_bottom = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w100 e2pdf-bottom'});
3163 -
3164 - if (el.data('data-type') == 'e2pdf-page') {
7030 + if (el.data('data-type') == 'e2pdf-tpl') {
7031 + fields_top = '';
3165 7032 fields_left = '';
3166 7033 fields_right = '';
3167 - fields_bottom = '';
7034 + } else if (el.data('data-type') == 'e2pdf-page') {
7035 + fields_left = '';
7036 + fields_right = '';
3168 7037 }
3169 7038
3170 7039 var groups = e2pdf.properties.getFields(el, actions);
3171 7040 if (groups) {
3172 7041 for (var group_key in groups) {
3173 -
3174 7042 if (group_key === 'actions') {
3175 -
3176 7043 var group = groups[group_key];
3177 7044 var block = jQuery('<div>');
3178 7045 if (group.name) {
3179 7046 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3179,9 +7046,8 @@
3179 7046 block.append(jQuery('<label>').html(group.name + ':'));
3180 7047 }
3181 7048 var grid = jQuery('<div>', {'class': 'e2pdf-grid'});
3182 7049 grid.append(group.fields);
3183 -
3184 7050 block.append(grid);
3185 7051 if (group.position === 'top') {
3186 7052 fields_top.append(block);
3187 7053 } else if (group.position === 'left') {
@@ -3190,11 +7056,9 @@
3190 7056 fields_right.append(block);
3191 7057 } else {
3192 7058 fields_bottom.append(block);
3193 7059 }
3194 -
3195 7060 } else {
3196 -
3197 7061 var group = groups[group_key];
3198 7062 var block = jQuery('<div>');
3199 7063 if (group.name) {
3200 7064 block.append(jQuery('<label>').html(group.name + ':'));
@@ -3208,31 +7072,42 @@
3208 7072 if (group.classes[field_key]) {
3209 7073 classes = group.classes[field_key];
3210 7074 }
3211 7075 }
3212 -
3213 7076 var field = '';
3214 7077 var label = '';
3215 7078 var wrap = '';
7079 + var hidden = '';
3216 7080 if (group_field.type === 'text') {
3217 7081 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3218 - 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});
3219 7083 } else if (group_field.type === 'hidden') {
3220 7084 field = jQuery('<input>', {'type': 'hidden', 'name': group_field.key, 'value': group_field.value});
3221 7085 } else if (group_field.type === 'textarea') {
3222 7086 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3223 - 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);
3224 7092 } else if (group_field.type === 'checkbox') {
3225 - wrap = jQuery('<div>', {'class': 'e2pdf-ib e2pdf-w50 e2pdf-small e2pdf-pl10'});
3226 - 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;
3227 7095 field = jQuery('<input>', {'type': 'checkbox', 'class': 'e2pdf-ib', 'name': group_field.key, 'value': group_field.option});
3228 7096 if (group_field.value == group_field.option) {
3229 - field.attr('checked', 'checked');
7097 + field.prop('checked', true);
3230 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 + }
3231 7106 } else if (group_field.type === 'color') {
3232 7107 wrap = jQuery('<div>', {'class': 'e2pdf-colorpicker-wr'});
3233 7108 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3234 - 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});
3235 7110 } else if (group_field.type === 'select') {
3236 7111 label = jQuery('<div>', {'class': 'e2pdf-small e2pdf-label'}).html(group_field.name + ":");
3237 7112 field = jQuery('<select>', {'class': 'e2pdf-w100', 'name': group_field.key});
3238 7113 for (var option_key in group_field.options) {
@@ -3238,13 +7113,13 @@
3238 7113 for (var option_key in group_field.options) {
3239 7114 field.append(jQuery('<option>', {'value': Object.keys(group_field.options[option_key])[0]}).html(Object.values(group_field.options[option_key])[0]));
3240 7115 }
3241 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);
3242 7119 }
3243 -
3244 7120 for (var att_key in group_field.atts) {
3245 7121 var att = group_field.atts[att_key];
3246 -
3247 7122 switch (att) {
3248 7123 case 'readonly':
3249 7124 field.attr('readonly', 'readonly');
3250 7125 break;
@@ -3253,10 +7128,12 @@
3253 7128 break;
3254 7129 case 'number':
3255 7130 field.addClass('e2pdf-numbers');
3256 7131 break;
7132 + case 'number-negative':
7133 + field.addClass('e2pdf-number-negative');
7134 + break;
3257 7135 case 'autocomplete':
3258 -
3259 7136 wrap = jQuery('<div>', {'class': 'e2pdf-rel e2pdf-w100'});
3260 7137 field.addClass('e2pdf-autocomplete-cl');
3261 7138 field.autocomplete({
3262 7139 source: group_field.source,
@@ -3262,32 +7139,40 @@
3262 7139 source: group_field.source,
3263 7140 minLength: 0,
3264 7141 appendTo: wrap,
3265 7142 open: function () {
3266 - $(this).autocomplete("widget").addClass("e2pdf-autocomplete");
7143 + jQuery(this).autocomplete("widget").addClass("e2pdf-autocomplete");
3267 7144 },
3268 7145 classes: {
3269 7146 "ui-autocomplete": "e2pdf-autocomplete"
3270 - },
7147 + }
3271 7148 });
3272 7149 break;
3273 -
3274 - case 'scale':
3275 - field.addClass('e2pdf-scale-field');
7150 + case 'collapse':
7151 + field.attr('data-collapse', group_field.collapse);
3276 7152 break;
3277 7153 }
3278 7154 }
3279 -
3280 -
3281 7155 if (!wrap) {
3282 7156 wrap = field;
3283 7157 } else {
3284 7158 wrap.prepend(field);
3285 7159 }
3286 -
3287 - 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 + }
3288 7174 }
3289 -
3290 7175 block.append(grid);
3291 7176 if (group.position === 'top') {
3292 7177 fields_top.append(block);
3293 7178 } else if (group.position === 'left') {
@@ -3299,72 +7184,94 @@
3299 7184 }
3300 7185 }
3301 7186 }
3302 7187 }
3303 -
3304 7188 fields.append(fields_top, fields_left, fields_right, fields_bottom);
3305 7189 return fields;
3306 7190 },
3307 - //e2pdf.properties.apply
3308 - 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 + }
3309 7219 el.data('data-properties', JSON.stringify(data));
3310 7220 },
3311 - //e2pdf.properties.set
7221 + // e2pdf.properties.set
3312 7222 set: function (el, key, value) {
3313 7223 var properties = e2pdf.properties.get(el);
3314 7224 properties[key] = value;
3315 7225 e2pdf.properties.apply(el, properties);
3316 7226 },
3317 - //e2pdf.properties.getValue
3318 - getValue: function (el, key) {
7227 + // e2pdf.properties.getValue
7228 + getValue: function (el, key, type = '') {
3319 7229 var properties = e2pdf.properties.get(el);
3320 - 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 + }
3321 7251 },
3322 - //e2pdf.properties.get
3323 - get: function (el, submit) {
3324 -
7252 + // e2pdf.properties.get
7253 + get: function (el) {
3325 7254 var properties = [];
3326 -
3327 7255 if (typeof el.data('data-properties') !== 'undefined') {
3328 7256 properties = JSON.parse(el.data('data-properties'));
3329 -
3330 - if (el.data('data-type') !== 'e2pdf-page') {
3331 - if (!("width" in properties)) {
3332 - properties['width'] = parseFloat(el.css('width'));
3333 - }
3334 - if (!("height" in properties)) {
3335 - properties['height'] = parseFloat(el.css('height'));
3336 - }
3337 -
3338 - if (!("top" in properties)) {
3339 - properties['top'] = parseFloat(el.css('top'));
3340 - }
3341 -
3342 - if (!("left" in properties)) {
3343 - properties['left'] = parseFloat(el.css('left'));
3344 - }
3345 -
3346 - if (submit) {
3347 - delete properties['width'];
3348 - delete properties['height'];
3349 - delete properties['value'];
3350 - delete properties['top'];
3351 - delete properties['left'];
3352 - }
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'));
3353 7262 }
3354 7263 }
3355 -
3356 7264 return properties;
3357 7265 },
3358 - //e2pdf.properties.render
7266 + // e2pdf.properties.render
3359 7267 render: function (el) {
3360 7268 var properties = e2pdf.properties.get(el);
3361 7269 var children = e2pdf.element.children(el);
3362 - if (properties.hasOwnProperty("options")) {
3363 - var property = "options";
7270 + if (properties.hasOwnProperty('options')) {
3364 7271 if (el.data('data-type') === 'e2pdf-select') {
3365 7272 children.find('option').remove();
3366 - var options = properties[property].split("\n");
7273 + var options = properties['options'].split("\n");
3367 7274 if (typeof options !== 'undefined' && options.length > 0) {
3368 7275 for (var key in options) {
3369 7276 children.append(
3370 7277 jQuery('<option>', {'value': options[key].trim()}).html(options[key].trim())
@@ -3371,437 +7278,471 @@
3371 7278 );
3372 7279 }
3373 7280 }
3374 7281 }
3375 -
3376 7282 }
3377 -
3378 - // value render
3379 - if (properties.hasOwnProperty("value")) {
3380 - var property = "value";
3381 - if (el.data('data-type') === 'e2pdf-html') {
3382 - children.html(properties[property]);
3383 - } else if (el.data('data-type') === 'e2pdf-input') {
3384 - children.val(properties[property]);
3385 - } else if (el.data('data-type') === 'e2pdf-textarea') {
3386 - children.val(properties[property]);
3387 - } else if (el.data('data-type') === 'e2pdf-select') {
3388 - children.val(properties[property]);
3389 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
3390 - if (properties[property] == e2pdf.properties.getValue(el, 'option')) {
3391 - 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']));
3392 7296 } else {
3393 - 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'])));
3394 7299 }
3395 - } 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':
3396 7340 e2pdf.helper.image.load(el);
3397 - }
7341 + break;
3398 7342 }
3399 7343
3400 - if (properties.hasOwnProperty("group")) {
3401 - var property = "group";
3402 - jQuery('#e2pdf-tpl').find('.e2pdf-radio').each(function () {
3403 - var radio = jQuery(this).parent();
3404 - var group = e2pdf.properties.getValue(radio, 'group');
3405 - if (group === properties[property]) {
3406 - e2pdf.properties.set(radio, 'readonly', properties['readonly']);
3407 - e2pdf.properties.set(radio, 'required', properties['required']);
3408 - e2pdf.properties.set(radio, 'value', properties['value']);
3409 - var option = e2pdf.properties.getValue(radio, 'option');
3410 - if (properties['value'] === option) {
3411 - jQuery(this).attr('checked', 'checked');
3412 - } else {
3413 - jQuery(this).attr('checked', false);
3414 - }
3415 - }
3416 - });
3417 - }
3418 -
3419 - // multiline
3420 7344 if (el.data('data-type') === 'e2pdf-select') {
3421 - if (properties.hasOwnProperty("multiline") && properties["multiline"] == '1') {
3422 - var property = "multiline";
3423 - children.attr('multiple', true);
3424 - } else {
3425 - children.attr('multiple', false);
3426 - }
7345 + children.attr('multiple', e2pdf.helper.getCheckbox(properties['multiline']) == '1' ? true : false);
3427 7346 }
3428 7347
3429 - // z_index render
3430 - if (properties.hasOwnProperty("z_index")) {
3431 - var property = "z_index";
3432 - 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']));
3433 7350 }
3434 7351
3435 - // rtl
3436 - if (el.data('data-type') === 'e2pdf-select'
3437 - || el.data('data-type') === 'e2pdf-input'
3438 - || el.data('data-type') === 'e2pdf-textarea'
3439 - || el.data('data-type') === 'e2pdf-html') {
3440 - if (properties.hasOwnProperty("rtl")) {
3441 - 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');
3442 7360 } else {
3443 7361 children.attr('dir', false);
3444 7362 }
7363 + }
3445 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']));
3446 7369 }
3447 7370
3448 - // background render
3449 - if (properties.hasOwnProperty("background")) {
3450 - var property = "background";
3451 - if (el.data('data-type') === 'e2pdf-radio'
3452 - || el.data('data-type') === 'e2pdf-checkbox'
3453 - ) {
3454 - children.css('background', properties[property]);
3455 - } else {
3456 - el.css('background', properties[property]);
3457 - }
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'));
3458 7383 }
3459 7384
3460 - if (properties.hasOwnProperty("border_top")) {
3461 - var property = "border_top";
3462 - // border_top render
3463 - if (properties[property] !== '0') {
3464 - el.css('border-top', properties[property] + 'px solid ' + properties['border_color']);
3465 - } else {
3466 - el.css('border-top', '');
3467 - }
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']));
3468 7398 }
3469 7399
3470 - if (properties.hasOwnProperty("border_left")) {
3471 - var property = "border_left";
3472 - // border_left render
3473 - if (properties[property] !== '0') {
3474 - 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', '');
3475 7405 } else {
3476 - 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));
3477 7409 }
7410 + } else {
7411 + el.css('font-family', '');
3478 7412 }
3479 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 + }
3480 7422
3481 - if (properties.hasOwnProperty("border_right")) {
3482 - var property = "border_right";
3483 - // border_right render
3484 - if (properties[property] !== '0') {
3485 - 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');
3486 7430 } else {
3487 - el.css('border-right', '');
7431 + el.css('top', e2pdf.helper.getFloat(properties['top'], 0, 'px'));
3488 7432 }
3489 - }
3490 7433
3491 - if (properties.hasOwnProperty("border_bottom")) {
3492 - var property = "border_bottom";
3493 - // border_bottom render
3494 - if (properties[property] !== '0') {
3495 - 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");
3496 7438 } else {
3497 - el.css('border-bottom', '');
7439 + el.css('left', e2pdf.helper.getFloat(properties['left'], 0, 'px'));
3498 7440 }
3499 - }
3500 7441
3501 - if (properties.hasOwnProperty("padding_top")) {
3502 - var property = "padding_top";
3503 - el.css('padding-top', properties[property] + 'px');
3504 - }
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 + }
3505 7452
3506 - if (properties.hasOwnProperty("padding_left")) {
3507 - var property = "padding_left";
3508 - 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 + }
3509 7463 }
3510 7464
3511 - if (properties.hasOwnProperty("padding_right")) {
3512 - var property = "padding_right";
3513 - 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');
3514 7469 }
7470 + }
3515 7471
3516 - if (properties.hasOwnProperty("padding_bottom")) {
3517 - var property = "padding_bottom";
3518 - el.css('padding-bottom', properties[property] + 'px');
3519 - }
3520 -
3521 - if (properties.hasOwnProperty("border")) {
3522 - var property = "border";
3523 - if (el.data('data-type') === 'e2pdf-input'
3524 - || el.data('data-type') === 'e2pdf-textarea'
3525 - || el.data('data-type') === 'e2pdf-select'
3526 - || el.data('data-type') === 'e2pdf-radio'
3527 - || el.data('data-type') === 'e2pdf-checkbox'
3528 - ) {
3529 - if (properties[property] !== '0') {
3530 - 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]);
3531 7495 } else {
3532 - children.css('border', '');
7496 + e2pdf.pdf.settings.change(key, data[key]);
3533 7497 }
3534 7498 }
3535 - }
3536 7499
3537 - if (properties.hasOwnProperty("text_color")) {
3538 - var property = "text_color";
3539 - if (el.data('data-type') === 'e2pdf-html') {
3540 - el.css('color', properties[property]);
3541 - } else if (el.data('data-type') === 'e2pdf-input'
3542 - || el.data('data-type') === 'e2pdf-textarea'
3543 - || el.data('data-type') === 'e2pdf-select'
3544 - || el.data('data-type') === 'e2pdf-radio'
3545 - || el.data('data-type') === 'e2pdf-checkbox'
3546 - ) {
3547 - children.css('color', properties[property]);
7500 + if (key === 'font') {
7501 + jQuery('#e2pdf-font').val(data[key]);
3548 7502 }
3549 - }
3550 7503
3551 - if (properties.hasOwnProperty("text_font")) {
3552 - var property = "text_font";
3553 - if (properties[property] && properties[property] !== "") {
3554 - var path = jQuery('#e2pdf_wysiwyg_font').find("[value='" + properties[property] + "']").attr('path');
3555 - var tmp = jQuery('<div>', {'name': properties[property], 'path': path});
3556 - e2pdf.font.load(tmp);
3557 - el.css('font-family', properties[property]);
3558 - } else {
3559 - el.css('font-family', '');
7504 + if (key === 'font_size') {
7505 + jQuery('#e2pdf-font-size').val(data[key]);
3560 7506 }
3561 - }
3562 7507
3563 - if (properties.hasOwnProperty("text_font_size")) {
3564 - var property = "text_font_size";
3565 - if (properties[property] !== '') {
3566 - el.css('font-size', properties[property] + "px");
3567 - } else {
3568 - el.css('font-size', '');
7508 + if (key === 'line_height') {
7509 + jQuery('#e2pdf-line-height').val(data[key]);
3569 7510 }
3570 - }
3571 7511
3572 - if (properties.hasOwnProperty("text_line_height")) {
3573 - var property = "text_line_height";
3574 - //backward compatiability with input
3575 - if (properties[property] !== '' && properties[property] !== '0') {
3576 - if (el.data('data-type') === 'e2pdf-textarea') {
3577 - children.css('line-height', properties[property] + "px");
3578 - } else {
3579 - el.css('line-height', properties[property] + "px");
3580 - }
3581 - } else {
3582 - if (el.data('data-type') === 'e2pdf-textarea') {
3583 - children.css('line-height', '');
3584 - } else {
3585 - el.css('line-height', '');
3586 - }
7512 + if (key === 'title') {
7513 + jQuery('#e2pdf-title').val(data[key]);
3587 7514 }
3588 - }
3589 7515
3590 - if (properties.hasOwnProperty("top")) {
3591 - var property = "top";
3592 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3593 - if ((parseFloat(properties[property]) + parseFloat(el.css('height'))) > page_height) {
3594 - var top = page_height - parseFloat(el.css('height'));
3595 - el.css('top', top + "px");
3596 - } else if (properties[property] >= 0) {
3597 - el.css('top', properties[property] + "px");
7516 + if (key === 'text_align') {
7517 + jQuery('#e2pdf-text-align').val(data[key]).trigger('change');
3598 7518 }
7519 +
7520 + if (key === 'rtl') {
7521 + jQuery('#e2pdf-rtl').prop('checked', true).trigger('change');
7522 + }
3599 7523 }
3600 7524
3601 - if (properties.hasOwnProperty("left")) {
3602 - var property = "left";
3603 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3604 - if ((parseFloat(properties[property]) + parseFloat(el.css('width'))) > page_width) {
3605 - var left = page_width - parseFloat(el.css('width'));
3606 - el.css('left', left + "px");
3607 - } else if (properties[property] >= 0) {
3608 - el.css('left', properties[property] + "px");
3609 - }
7525 + if (!data['rtl']) {
7526 + jQuery('#e2pdf-rtl').prop('checked', false).trigger('change');
3610 7527 }
7528 + }
3611 7529
3612 - if (properties.hasOwnProperty("text_align")) {
3613 - var property = "text_align";
3614 - 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');
3615 7536 }
3616 7537
3617 - // width render
3618 - if (properties.hasOwnProperty("width")) {
3619 - var property = "width";
3620 - var width = parseFloat(properties[property]);
3621 - var left = parseFloat(el.css('left'));
3622 - var page_width = parseFloat(el.closest('.e2pdf-page').css('width'));
3623 - if (width > 0) {
3624 - if (width > page_width - left) {
3625 - el.css('width', page_width - left);
3626 - e2pdf.properties.set(el, 'width', page_width - left);
3627 - } else {
3628 - 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 + }
3629 7555 }
3630 - }
3631 - }
3632 7556
3633 - // height render
3634 - if (properties.hasOwnProperty("height")) {
3635 - var property = "height";
3636 - // height render
3637 - var height = parseFloat(properties[property]);
3638 - var top = parseFloat(el.css('top'));
3639 - var page_height = parseFloat(el.closest('.e2pdf-page').css('height'));
3640 - if (height > 0) {
3641 - if (height > page_height - top) {
3642 - el.css('height', page_height - top);
3643 - e2pdf.properties.set(el, 'width', page_height - top);
3644 - } else {
3645 - 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 + }
3646 7563 }
3647 7564 }
7565 +
7566 + e2pdf.pages.changeTplSize(width, height);
7567 + jQuery('.ui-dialog-content').dialog('close');
3648 7568 }
3649 - }
3650 - },
3651 - //e2pdf.welcomeScreen
3652 - welcomeScreen: function () {
3653 - if (jQuery('.e2pdf-page').length === 0) {
3654 - var el = jQuery('<div/>', {'data-modal': 'welcome-screen'});
3655 - e2pdf.dialog.create(el);
3656 - }
3657 - },
3658 - //e2pdf.createPdf
3659 - createPdf: function (el) {
3660 -
3661 - var action = el.attr('data-action');
3662 - var data = e2pdf.form.serializeObject(el.closest('form'));
3663 - for (var key in data) {
3664 - e2pdf.pdf.settings.change(key, data[key]);
3665 - }
3666 -
3667 - if (action === 'apply') {
3668 - var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3669 - var height = parseFloat(el.closest('form').find('input[name="height"]').val());
3670 - e2pdf.pages.changeTplSize(width, height);
3671 - jQuery('.ui-dialog-content').dialog('close');
3672 7569 } else if (action === 'empty') {
3673 7570 var width = parseFloat(el.closest('form').find('input[name="width"]').val());
3674 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 + }
3675 7596 e2pdf.pages.changeTplSize(width, height);
3676 7597 e2pdf.pages.createPage();
3677 7598 jQuery('.ui-dialog-content').dialog('close');
3678 7599 } else if (action === 'auto') {
3679 -
3680 - var extension = el.closest('form').find('#e2pdf-extension').val();
3681 - 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 + }
3682 7624 var data = {};
3683 7625 data['extension'] = extension;
3684 - 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();
3685 7631 e2pdf.request.submitRequest('e2pdf_auto', el, data);
3686 7632 } else if (action === 'upload') {
3687 7633 if (e2pdf.pdf.settings.get('ID')) {
3688 - 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?'))) {
3689 7635 return false;
3690 7636 }
3691 7637 }
3692 - jQuery('#e2pdf-upload-pdf').click();
7638 + jQuery('.e2pdf-upload-pdf').click();
3693 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 + }
3694 7680
7681 + jQuery('.e2pdf-tpl').data('data-type', 'e2pdf-tpl');
3695 7682 e2pdf.font.load(jQuery('#e2pdf-font'));
3696 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
3697 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
3698 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
3699 - 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'));
3700 7687 e2pdf.event.fire('after.createPdf');
3701 7688 },
3702 - //e2pdf.pages
7689 + // e2pdf.pages
3703 7690 pages: {
3704 - //e2pdf.pages.rebuildPages
3705 - rebuildPages: function () {
3706 - jQuery('.e2pdf-page').each(function (index) {
3707 -
3708 - if (!e2pdf.pdf.settings.get('pdf')) {
3709 - if (index + 1 === 1) {
3710 - jQuery(this).find('.e2pdf-up-page').attr('disabled', 'disabled');
3711 - } else {
3712 - jQuery(this).find('.e2pdf-up-page').attr('disabled', false);
3713 - }
3714 -
3715 - if (index + 1 === jQuery('.e2pdf-page').length) {
3716 - jQuery(this).find('.e2pdf-down-page').attr('disabled', 'disabled');
3717 - } else {
3718 - jQuery(this).find('.e2pdf-down-page').attr('disabled', false);
3719 - }
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();
3720 7698 }
3721 -
3722 - jQuery(this).attr('data-page_id', index + 1);
3723 7699 });
3724 - e2pdf.welcomeScreen();
3725 - },
3726 - //e2pdf.pages.createPage
3727 - createPage: function (page, properties, actions) {
3728 - e2pdf.pages.rebuildPages();
3729 - var newpage = true;
3730 - if (page) {
3731 - var newpage = false;
3732 - }
7700 + if (page.hasClass('ui-droppable')) {
7701 + try {
7702 + page.droppable('destroy');
7703 + page.removeData('ui-droppable');
7704 + } catch (e) {
3733 7705
3734 - if (!properties) {
3735 - var properties = {};
7706 + }
3736 7707 }
3737 -
3738 - if (!actions) {
3739 - var actions = {};
3740 - }
3741 -
3742 - if (newpage) {
3743 - var page_id = parseInt(jQuery('.e2pdf-page').length) + 1;
3744 - var page = jQuery('<div/>', {
3745 - 'class': 'e2pdf-page ui-droppable',
3746 - 'width': jQuery('.e2pdf-tpl').attr('data-width'),
3747 - 'height': jQuery('.e2pdf-tpl').attr('data-height'),
3748 - }).attr('data-page_id', page_id).append(
3749 - jQuery('<div>', {'class': 'page-options-icons'}).append(
3750 - jQuery('<a>', {
3751 - 'href': 'javascript:void(0);',
3752 - 'class': 'page-options-icon e2pdf-up-page e2pdf-link'
3753 - }).append(
3754 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-up-alt2'})
3755 - ),
3756 - jQuery('<a>', {
3757 - 'href': 'javascript:void(0);',
3758 - 'class': 'page-options-icon e2pdf-down-page e2pdf-link'
3759 - }).append(
3760 - jQuery('<i>', {'class': 'dashicons dashicons-arrow-down-alt2'})
3761 - ),
3762 - jQuery('<a>', {
3763 - 'href': 'javascript:void(0);',
3764 - 'class': 'page-options-icon e2pdf-page-options e2pdf-modal e2pdf-link',
3765 - 'data-modal': 'page-options'
3766 - }).append(
3767 - jQuery('<i>', {'class': 'dashicons dashicons-admin-generic'})
3768 - ),
3769 - jQuery('<a>', {
3770 - 'href': 'javascript:void(0);',
3771 - 'class': 'page-options-icon e2pdf-delete-page e2pdf-link'
3772 - }).append(
3773 - jQuery('<i>', {'class': 'dashicons dashicons-no'})
3774 - ),
3775 - ),
3776 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-h'}),
3777 - jQuery('<div>', {'class': 'e2pdf-guide e2pdf-guide-v'}),
3778 - );
3779 - }
3780 -
3781 - page.data('data-type', 'e2pdf-page');
3782 -
3783 - e2pdf.properties.apply(page, properties);
3784 - e2pdf.actions.apply(page, actions);
3785 -
3786 7708 page.droppable({
3787 7709 over: function (ev, ui) {
3788 7710 e2pdf.static.drag.page = jQuery(this);
3789 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 + }
3790 7724
3791 7725 if (ui.draggable.hasClass('e2pdf-clone')) {
3792 - jQuery(this).find(".e2pdf-element").each(function () {
7726 + jQuery(this).find('.e2pdf-element').each(function () {
3793 7727 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(jQuery(this), null, null, null, true));
3794 7728 });
3795 7729 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, true));
3796 7730 } else {
3797 - 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);
3798 7732 e2pdf.static.guide.guides = jQuery.merge(e2pdf.static.guide.guides, e2pdf.guide.calc(e2pdf.static.drag.page, null, null, null, false));
3799 7733 }
3800 7734 },
3801 - out: function (ev) {
7735 + out: function (ev, ui) {
3802 7736 e2pdf.static.drag.page = null;
3803 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 +
3804 7745 },
3805 7746 deactivate: function (ev) {
3806 7747 e2pdf.static.drag.page = null;
3807 7748 e2pdf.static.guide.guides = [];
@@ -3810,13 +7751,12 @@
3810 7751 if (ui.draggable.hasClass('e2pdf-clone')) {
3811 7752 var type = jQuery(ui.draggable).attr('data-type');
3812 7753 var page = jQuery(this).closest('.e2pdf-page');
3813 7754 var pos = {
3814 - top: Math.max(0, (jQuery(ui.helper).offset().top - jQuery(this).offset().top) / e2pdf.zoom.zoom - 1),
3815 - left: Math.max(0, (jQuery(ui.helper).offset().left - jQuery(this).offset().left) / e2pdf.zoom.zoom - 1),
3816 - 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))
3817 7758 };
3818 -
3819 7759 if (pos.left < 0 || pos.right > 0 || pos.top < 0) {
3820 7760 return false;
3821 7761 }
3822 7762
@@ -3824,23 +7764,25 @@
3824 7764 properties['width'] = jQuery(ui.helper).css('width');
3825 7765 properties['height'] = jQuery(ui.helper).css('height');
3826 7766 properties['top'] = pos.top;
3827 7767 properties['left'] = pos.left;
3828 - properties['value'] = jQuery(ui.draggable).attr('data-value');
3829 - //changed
3830 7768 var el = e2pdf.element.create(type, page, properties, false, true);
3831 7769 jQuery(this).append(el);
3832 7770 e2pdf.properties.render(el);
7771 + var history = [];
7772 + history.push(el.clone(true));
7773 + e2pdf.history.set('element_create', history);
3833 7774 }
3834 7775 e2pdf.static.drag.page = null;
3835 7776 }
3836 7777 });
3837 - page.contextmenu(function (e) {
3838 - if (jQuery(e.target).hasClass('e2pdf-page')) {
3839 - e2pdf.contextMenu(e, page);
3840 - e.preventDefault();
7778 + if (page.hasClass('ui-selectable')) {
7779 + try {
7780 + page.selectable('destroy');
7781 + page.removeData('selectable');
7782 + } catch (e) {
3841 7783 }
3842 - });
7784 + }
3843 7785 page.selectable(
3844 7786 {
3845 7787 filter: '.e2pdf-element',
3846 7788 cancel: 'a,.e2pdf-element',
@@ -3845,21 +7787,114 @@
3845 7787 filter: '.e2pdf-element',
3846 7788 cancel: 'a,.e2pdf-element',
3847 7789 distance: 10,
3848 7790 selecting: function (event, ui) {
3849 - 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 + }
3850 7794 },
3851 7795 unselecting: function (event, ui) {
3852 7796 jQuery(ui.unselecting).removeClass('e2pdf-selected');
3853 7797 },
3854 7798 selected: function (event, ui) {
3855 - 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 + }
3856 7802 },
3857 7803 unselected: function (event, ui) {
3858 7804 e2pdf.element.unselect(jQuery(ui.unselected));
3859 7805 }
3860 - });
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 + }
3861 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 + }
3862 7897 jQuery('.e2pdf-tpl .e2pdf-tpl-inner').append(page);
3863 7898 e2pdf.pages.rebuildPages();
3864 7899 e2pdf.event.fire('after.pages.createPage.newpage');
3865 7900 return true;
@@ -3866,11 +7901,10 @@
3866 7901 } else {
3867 7902 return false;
3868 7903 }
3869 7904 },
3870 - //e2pdf.pages.movePage
7905 + // e2pdf.pages.movePage
3871 7906 movePage: function (el, direction) {
3872 -
3873 7907 if (e2pdf.pdf.settings.get('pdf')) {
3874 7908 return false;
3875 7909 }
3876 7910 if (direction === 'up') {
@@ -3877,26 +7911,22 @@
3877 7911 el.closest('.e2pdf-page').insertBefore(el.closest('.e2pdf-page').prev('.e2pdf-page'));
3878 7912 } else if (direction === 'down') {
3879 7913 el.closest('.e2pdf-page').insertAfter(el.closest('.e2pdf-page').next('.e2pdf-page'));
3880 7914 }
3881 -
3882 7915 e2pdf.event.fire('after.pages.movePage');
3883 7916 e2pdf.pages.rebuildPages();
3884 7917 },
3885 - //e2pdf.pages.deletePage
7918 + // e2pdf.pages.deletePage
3886 7919 deletePage: function (el) {
3887 7920 el.closest('.e2pdf-page').remove();
3888 7921 e2pdf.event.fire('after.pages.deletePage');
3889 7922 e2pdf.pages.rebuildPages();
3890 7923 },
3891 - //e2pdf.pages.changeTplSize
7924 + // e2pdf.pages.changeTplSize
3892 7925 changeTplSize: function (width, height) {
3893 7926 jQuery('.e2pdf-tpl').attr('data-width', width).attr('data-height', height);
3894 7927 },
3895 7928 changePageSize: function (el, width, height) {
3896 -
3897 - var set_width = true;
3898 - var set_height = true;
3899 7929 var prev_width = parseFloat(el.css('width'));
3900 7930 var prev_height = parseFloat(el.css('height'));
3901 7931 var width_diff = width / prev_width;
3902 7932 var height_diff = height / prev_height;
@@ -3902,51 +7932,42 @@
3902 7932 var height_diff = height / prev_height;
3903 7933 el.find(".e2pdf-element").each(function () {
3904 7934 jQuery(this).css('left', parseFloat(jQuery(this).css('left')) * width_diff);
3905 7935 jQuery(this).css('top', parseFloat(jQuery(this).css('top')) * height_diff);
3906 - if (jQuery(this).data('data-type') === 'e2pdf-image') {
3907 - var scale = e2pdf.properties.getValue(jQuery(this), 'scale');
3908 - if (scale === e2pdf.static.const.WIDTH) {
3909 - jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * width_diff);
3910 - set_height = false;
3911 - } else if (scale === e2pdf.static.const.HEIGHT) {
3912 - jQuery(this).css('width', parseFloat(jQuery(this).css('height')) * height_diff);
3913 - set_width = false;
3914 - }
3915 - }
3916 -
3917 - 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'))) {
3918 7937 jQuery(this).css('width', parseFloat(jQuery(this).css('width')) * width_diff);
3919 - }
3920 -
3921 - 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);
3922 7941 jQuery(this).css('height', parseFloat(jQuery(this).css('height')) * height_diff);
3923 7942 }
3924 -
3925 7943 });
3926 7944 el.css('width', width);
3927 7945 el.css('height', height);
7946 + el.attr('data-width', width);
7947 + el.attr('data-height', height);
3928 7948 }
3929 7949 },
3930 - //e2pdf.contextMenu
7950 + // e2pdf.contextMenu
3931 7951 contextMenu: function (e, el) {
3932 7952 e2pdf.delete('.e2pdf-context');
3933 - var menu = jQuery('<div/>', {'class': 'e2pdf-context'});
7953 + jQuery('.e2pdf-page').css('z-index', '');
7954 + var menu = jQuery('<div>', {'class': 'e2pdf-context'});
3934 7955 if (el.hasClass('e2pdf-page')) {
3935 7956 var parent = el;
3936 - menu.append(jQuery('<ul/>', {'class': 'e2pdf-context-menu'}).append(
3937 - jQuery('<li/>').append(
3938 - 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'))
3939 7961 ),
3940 - jQuery('<li/>').append(
3941 - 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'))
3942 7967 )
3943 - ));
3944 - if (Object.keys(e2pdf.element.buffered).length > 0) {
3945 - menu.find('a').attr('disabled', false);
3946 - }
7968 + );
3947 7969 } else {
3948 -
3949 7970 if (!el.hasClass('e2pdf-selected')) {
3950 7971 e2pdf.element.unselect();
3951 7972 e2pdf.element.select(el);
3952 7973 }
@@ -3951,642 +7972,1069 @@
3951 7972 e2pdf.element.select(el);
3952 7973 }
3953 7974
3954 7975 var parent = el.closest('.e2pdf-page');
3955 - menu.append(jQuery('<ul/>', {'class': 'e2pdf-context-menu'}).append(
3956 - jQuery('<li/>').append(
3957 - 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'))
3958 8005 ),
3959 - jQuery('<li/>').append(
3960 - 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'))
3961 8008 ),
3962 - jQuery('<li/>').append(
3963 - 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'))
3964 8011 ),
3965 - jQuery('<li/>').append(
3966 - 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 + )
3967 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 + ))
3968 8027 ));
3969 - 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 + }
3970 8066
3971 - menu.find('ul').append(
3972 - jQuery('<li/>').append(
3973 - jQuery('<a/>', {'href': 'javascript:void(0);', 'class': 'e2pdf-properties e2pdf-modal', 'data-modal': 'properties'}).html(e2pdfLang['Properties'])
3974 - ));
3975 - if (el.data('data-type') === 'e2pdf-image' || (el.data('data-type') === 'e2pdf-signature' && !e2pdf.properties.getValue(el, 'esig'))) {
3976 - menu.find('ul').prepend(
3977 - jQuery('<li/>').append(
3978 - 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'))
3979 8072 ));
3980 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 + }
3981 8082
3982 - if (el.data('data-type') !== 'e2pdf-rectangle') {
3983 - menu.find('ul').prepend(jQuery('<li/>').append(
3984 - 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'))
3985 8089 ));
3986 8090 }
3987 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 + }
3988 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 + }
3989 8125 }
3990 -
3991 - var pos_x = (e.pageX - parent.offset().left) / e2pdf.zoom.zoom;
3992 - 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 + }
3993 8138 menu.css({top: pos_y + "px", left: pos_x + "px"});
3994 - menu.appendTo(parent);
8139 + menu.show();
3995 8140 },
3996 - //e2pdf.delete
8141 + // e2pdf.delete
3997 8142 delete: function (el) {
3998 8143 jQuery(el).remove();
3999 8144 },
4000 - //e2pdf.element
8145 + // e2pdf.element
4001 8146 element: {
4002 - //e2pdf.element.buffered
4003 - buffered: [],
4004 - //e2pdf.element.selected
8147 + // e2pdf.element.selected
4005 8148 selected: [],
4006 - //e2pdf.element.init
8149 + // e2pdf.element.init
4007 8150 init: function (el) {
4008 -
4009 8151 if (el.data('data-type') === 'e2pdf-html') {
4010 - 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 + }
4011 8157 } else if (el.data('data-type') === 'e2pdf-input') {
4012 8158 e2pdf.properties.set(el, 'value', el.find('.e2pdf-input').val());
4013 8159 } else if (el.data('data-type') === 'e2pdf-textarea') {
4014 8160 e2pdf.properties.set(el, 'value', el.find('.e2pdf-textarea').val());
4015 8161 }
4016 -
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'));
4017 8165 },
4018 - //e2pdf.element.create
4019 - create: function (type, page, properties, actions, default_properties, onload, element_id) {
4020 -
4021 - var aspect = false;
4022 - var min_height = 10;
4023 - if (!properties) {
4024 - 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;
4025 8173 }
4026 -
4027 - if (!actions) {
4028 - var actions = {};
8174 + if (!page) {
8175 + page = element.closest('.e2pdf-page');
4029 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) {
4030 8187
4031 - if (!properties['value']) {
4032 - properties['value'] = '';
4033 - }
4034 -
4035 - // Switch element types
4036 - if (type === 'e2pdf-html') {
4037 -
4038 - if (!properties['width']) {
4039 - properties['width'] = '200';
4040 8188 }
4041 -
4042 - if (!properties['height']) {
4043 - properties['height'] = '22';
4044 - }
4045 -
4046 -
4047 - var element =
4048 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4049 - jQuery('<div/>', {'contenteditable': true, 'class': 'content e2pdf-html'}).html(properties['value']),
4050 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4051 - );
4052 - } else if (type === 'e2pdf-input') {
4053 -
4054 - if (!properties['width']) {
4055 - properties['width'] = '200';
4056 - }
4057 -
4058 - if (!properties['height']) {
4059 - properties['height'] = '22';
4060 - }
4061 -
4062 - var element =
4063 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4064 - jQuery('<input/>', {'type': 'text', 'class': 'e2pdf-input'}).val(properties['value']),
4065 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4066 - );
4067 - } else if (type === 'e2pdf-textarea') {
4068 -
4069 - if (!properties['width']) {
4070 - properties['width'] = '200';
4071 - }
4072 -
4073 - if (!properties['height']) {
4074 - properties['height'] = '100';
4075 - }
4076 -
4077 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4078 - jQuery('<textarea/>', {'type': 'text', 'class': 'e2pdf-textarea'}).html(properties['value']),
4079 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4080 - );
4081 - } else if (type === 'e2pdf-checkbox') {
4082 -
4083 - if (!properties['width']) {
4084 - properties['width'] = '16';
4085 - }
4086 -
4087 - if (!properties['height']) {
4088 - properties['height'] = '16';
4089 - }
4090 -
4091 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4092 - jQuery('<input/>', {'type': 'checkbox', 'class': 'e2pdf-checkbox'}),
4093 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4094 - );
4095 - } else if (type === 'e2pdf-radio') {
4096 -
4097 - if (!properties['width']) {
4098 - properties['width'] = '16';
4099 - }
4100 -
4101 - if (!properties['height']) {
4102 - properties['height'] = '16';
4103 - }
4104 -
4105 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4106 - jQuery('<input/>', {'type': 'radio', 'class': 'e2pdf-radio'}),
4107 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4108 - );
4109 - var aspect = false;
4110 - } else if (type === 'e2pdf-select') {
4111 -
4112 - if (!properties['width']) {
4113 - properties['width'] = '200';
4114 - }
4115 -
4116 - if (!properties['height']) {
4117 - properties['height'] = '22';
4118 - }
4119 -
4120 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4121 - jQuery('<select/>', {'class': 'e2pdf-select'}).append(
4122 - ),
4123 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4124 - );
4125 - } else if (type === 'e2pdf-image') {
4126 -
4127 - var element = jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-loader e2pdf-resizable', 'width': '100px', height: '100px'}).append(
4128 - jQuery('<img/>', {'class': 'e2pdf-image'}),
4129 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4130 - );
4131 - } else if (type === 'e2pdf-rectangle') {
4132 -
4133 - if (!properties['width']) {
4134 - properties['width'] = '200';
4135 - }
4136 -
4137 - if (!properties['height']) {
4138 - properties['height'] = '5';
4139 - }
4140 -
4141 - var min_height = 1;
4142 - var element =
4143 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4144 - jQuery('<div/>', {'class': 'content e2pdf-rectangle'}),
4145 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4146 - );
4147 - } else if (type === 'e2pdf-link') {
4148 -
4149 - if (!properties['width']) {
4150 - properties['width'] = '200';
4151 - }
4152 -
4153 - if (!properties['height']) {
4154 - properties['height'] = '22';
4155 - }
4156 -
4157 - var min_height = 1;
4158 - var element =
4159 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4160 - jQuery('<div/>', {'class': 'content e2pdf-link'}),
4161 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4162 - );
4163 - } else if (type === 'e2pdf-signature') {
4164 -
4165 - if (!properties['width']) {
4166 - properties['width'] = '200';
4167 - }
4168 -
4169 - if (!properties['height']) {
4170 - properties['height'] = '22';
4171 - }
4172 -
4173 - if (!properties['dimension']) {
4174 - if (default_properties) {
4175 - properties['dimension'] = '1';
4176 - }
4177 - }
4178 -
4179 - var min_height = 1;
4180 - var element =
4181 - jQuery('<div/>', {'class': 'e2pdf-el-wrapper e2pdf-resizable'}).append(
4182 - jQuery('<div/>', {'class': 'content e2pdf-signature'}),
4183 - jQuery('<i/>', {'class': 'e2pdf-drag dashicons dashicons-move'})
4184 - );
4185 8189 }
4186 -
4187 - // If element exists
4188 - if (typeof element !== "undefined") {
4189 - element.contextmenu(function (e) {
4190 - e2pdf.contextMenu(e, element);
4191 - e.preventDefault();
4192 - });
4193 - if (!element_id) {
4194 - var last_id = 0;
4195 - jQuery('#e2pdf-tpl .e2pdf-element').each(function () {
4196 - var num_id = parseInt(jQuery(this).attr("data-element_id"));
4197 - if (num_id > last_id) {
4198 - 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'});
4199 8200 }
4200 - });
4201 - element_id = parseInt(last_id + 1);
4202 - }
4203 - element.addClass('e2pdf-element');
4204 - element.attr('data-element_id', element_id);
4205 - if (type === 'e2pdf-select') {
4206 - if (!properties['options']) {
4207 - if (default_properties) {
4208 - properties['options'] = '';
8201 + if (selected.hasClass('e2pdf-height-auto')) {
8202 + selected.css({'height': 'auto'});
4209 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'))));
4210 8206 }
4211 - }
4212 -
4213 - if (!properties['z_index']) {
4214 - properties['z_index'] = 0;
4215 - }
4216 -
4217 - if (type === 'e2pdf-input'
4218 - || type === 'e2pdf-textarea'
4219 - || type === 'e2pdf-select'
4220 - || type === 'e2pdf-radio'
4221 - || type === 'e2pdf-checkbox'
4222 - ) {
4223 - if (!properties['border']) {
4224 - if (default_properties) {
4225 - 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);
4226 8230 }
4227 8231 }
4228 - }
4229 -
4230 - if (type === 'e2pdf-image'
4231 - || type === 'e2pdf-signature') {
4232 - if (!properties['scale']) {
4233 - properties['scale'] = e2pdf.static.const.WIDTH_HEIGHT;
4234 - }
4235 - if (!properties['horizontal']) {
4236 - properties['horizontal'] = 'left';
4237 - }
4238 - if (!properties['vertical']) {
4239 - properties['vertical'] = 'bottom';
4240 - }
4241 - }
4242 -
4243 - if (type === 'e2pdf-html'
4244 - || type === 'e2pdf-image'
4245 - || type === 'e2pdf-signature'
4246 - ) {
4247 -
4248 - if (!properties['border_top']) {
4249 - properties['border_top'] = 0;
4250 - }
4251 -
4252 - if (!properties['border_left']) {
4253 - properties['border_left'] = 0;
4254 - }
4255 -
4256 - if (!properties['border_right']) {
4257 - properties['border_right'] = 0;
4258 - }
4259 -
4260 - if (!properties['border_bottom']) {
4261 - properties['border_bottom'] = 0;
4262 - }
4263 -
4264 - if (!properties['padding_top']) {
4265 - properties['padding_top'] = 0;
4266 - }
4267 -
4268 - if (!properties['padding_left']) {
4269 - properties['padding_left'] = 0;
4270 - }
4271 -
4272 - if (!properties['padding_right']) {
4273 - properties['padding_right'] = 0;
4274 - }
4275 -
4276 - if (!properties['padding_bottom']) {
4277 - properties['padding_bottom'] = 0;
4278 - }
4279 - }
4280 -
4281 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea') {
4282 - if (!properties['length']) {
4283 - properties['length'] = 0;
4284 - }
4285 - }
4286 -
4287 - if (type !== 'e2pdf-rectangle') {
4288 - if (!properties['border_color']) {
4289 - properties['border_color'] = '';
4290 - if (default_properties && (type === 'e2pdf-input'
4291 - || type === 'e2pdf-textarea'
4292 - || type === 'e2pdf-select'
4293 - || type === 'e2pdf-radio'
4294 - || type === 'e2pdf-checkbox'
4295 - )
4296 - ) {
4297 - 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 + }
4298 8263 }
8264 + } else {
8265 + jQuery('.e2pdf-guide-h').hide();
4299 8266 }
4300 - }
4301 -
4302 - if (type !== 'e2pdf-image') {
4303 -
4304 - if (!properties['text_color']) {
4305 - properties['text_color'] = '';
4306 - }
4307 -
4308 - if (!properties['text_font']) {
4309 - properties['text_font'] = '';
4310 - }
4311 -
4312 - if (!properties['text_font_size']) {
4313 - properties['text_font_size'] = '';
4314 - }
4315 -
4316 - if (!properties['text_line_height']) {
4317 - properties['text_line_height'] = '';
4318 - }
4319 - }
4320 -
4321 - if (type === 'e2pdf-radio' || type === 'e2pdf-checkbox') {
4322 - if (!properties['option']) {
4323 - if (default_properties) {
4324 - 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 + }
4325 8281 }
8282 + } else {
8283 + jQuery('.e2pdf-guide-v').hide();
4326 8284 }
4327 -
4328 - if (!properties['text_type']) {
4329 - if (default_properties) {
4330 - if (type === 'e2pdf-radio') {
4331 - properties['text_type'] = 'circle';
4332 - } else if (type === 'e2pdf-checkbox') {
4333 - properties['text_type'] = 'check';
4334 - }
4335 - }
8285 + },
8286 + start: function (ev, ui) {
8287 + if (ev.originalEvent && ev.originalEvent.detail >= 2) {
8288 + return false;
4336 8289 }
4337 - }
4338 -
4339 - if (type === 'e2pdf-input' || type === 'e2pdf-textarea' || type === 'e2pdf-html') {
4340 - if (!properties['text_align']) {
4341 - if (default_properties) {
4342 - 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"});
4343 8301 }
4344 - }
4345 - }
4346 -
4347 - if (type === 'e2pdf-radio') {
4348 - if (!properties['group']) {
4349 - if (default_properties) {
4350 - properties['group'] = "group";
8302 + if (selected.hasClass('e2pdf-height-auto')) {
8303 + selected.css({"height": "auto"});
4351 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);
4352 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);
4353 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) {
4354 8330
4355 - element.data('data-type', type);
4356 - if (properties['width']) {
4357 - element.css({"width": properties['width']});
4358 - }
4359 -
4360 - if (properties['height']) {
4361 - element.css({"height": properties['height']});
4362 - }
4363 -
4364 - if (type === 'e2pdf-rectangle') {
4365 - if (!properties['background']) {
4366 - if (default_properties) {
4367 - properties['background'] = '#000000';
4368 - }
4369 8331 }
4370 8332 }
4371 -
4372 - if (properties['top'] && properties['left']) {
4373 - element.css({"top": properties['top'], "left": properties['left']});
4374 - }
4375 -
4376 - element.css({"position": "absolute"});
4377 - e2pdf.properties.apply(element, properties);
4378 - e2pdf.actions.apply(element, actions);
4379 - // If element draggable
4380 - element.draggable({
4381 - cancel: '.no-drag',
4382 - handle: ".e2pdf-drag",
4383 - containment: jQuery(page),
4384 - stop: function (ev, ui) {
4385 -
4386 - var page = jQuery(this).closest('.e2pdf-page');
4387 - for (var key in e2pdf.element.selected) {
4388 - var selected = e2pdf.element.selected[key];
4389 - if (selected.hasClass('e2pdf-width-auto')) {
4390 - 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);
4391 8363 }
4392 - if (selected.hasClass('e2pdf-height-auto')) {
4393 - 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;
4394 8367 }
4395 -
4396 - e2pdf.properties.set(selected, 'top', Math.max(0, e2pdf.helper.convertPxToFloat(selected.css('top'))));
4397 - e2pdf.properties.set(selected, 'left', Math.max(0, e2pdf.helper.convertPxToFloat(selected.css('left'))));
4398 - }
4399 -
4400 - jQuery('.page-options-icons').css('z-index', '');
4401 - e2pdf.event.fire('after.element.moved');
4402 - e2pdf.element.unselect();
4403 - 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));
4404 8390 },
4405 - drag: function (ev, ui) {
4406 -
4407 - var left = (ev.clientX - e2pdf.zoom.click.x + ui.originalPosition.left) / e2pdf.zoom.zoom;
4408 - var top = (ev.clientY - e2pdf.zoom.click.y + ui.originalPosition.top) / e2pdf.zoom.zoom;
4409 -
4410 - left = Math.min(left, e2pdf.static.drag.max_left);
4411 - top = Math.min(top, e2pdf.static.drag.max_top);
4412 -
4413 - ui.position = {
4414 - left: Math.max(e2pdf.static.drag.min_left, left),
4415 - top: Math.max(e2pdf.static.drag.min_top, top)
4416 - };
4417 -
4418 - var diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4419 - var diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4420 - for (var key in e2pdf.element.selected) {
4421 - var selected = e2pdf.element.selected[key];
4422 - if (!selected.is(jQuery(this))) {
4423 - selected.finish().animate({
4424 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + diff_left,
4425 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + diff_top,
4426 - }, 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();
4427 8397 }
4428 8398 }
4429 -
4430 - 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();
4431 8435 var w = parseFloat(jQuery(this).css('width'));
4432 8436 var h = parseFloat(jQuery(this).css('height'));
4433 - var el_guides = e2pdf.guide.calc(null, ui.position, w, h);
4434 -
4435 - jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
4436 - jQuery.each(el_guides, function (i, elemGuide) {
4437 - if (guide.type == elemGuide.type) {
4438 - var prop = guide.type == "h" ? "top" : "left";
4439 - var d = Math.abs(elemGuide[prop] - guide[prop]);
4440 - if (d < guides[prop].dist) {
4441 - guides[prop].dist = d;
4442 - guides[prop].offset = elemGuide[prop] - ui.position[prop];
4443 - 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;
4444 8451 }
4445 8452 }
4446 8453 });
4447 - });
4448 -
4449 - if (guides.top.dist <= e2pdf.static.guide.distance) {
4450 -
4451 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-h").css("top", guides.top.guide.top).show();
4452 -
4453 - var snap_top = guides.top.guide.top - guides.top.offset;
4454 -
4455 - if (e2pdf.static.drag.max_top >= snap_top && snap_top >= e2pdf.static.drag.min_top) {
4456 - ui.position.top = snap_top;
4457 -
4458 - var guide_diff_top = ui.position.top - parseFloat(e2pdf.properties.getValue(jQuery(this), 'top'));
4459 -
4460 - for (var key in e2pdf.element.selected) {
4461 - var selected = e2pdf.element.selected[key];
4462 - if (!selected.is(jQuery(this))) {
4463 - selected.finish().animate({
4464 - top: parseFloat(e2pdf.properties.getValue(selected, 'top')) + guide_diff_top,
4465 - }, 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;
4466 8465 }
4467 8466 }
4468 8467 }
4469 - } else {
4470 - jQuery(".e2pdf-guide-h").hide();
4471 8468 }
4472 -
4473 - if (guides.left.dist <= e2pdf.static.guide.distance) {
4474 - jQuery(this).closest('.e2pdf-page').find(".e2pdf-guide-v").css("left", guides.left.guide.left).show();
4475 -
4476 - var snap_left = guides.left.guide.left - guides.left.offset;
4477 -
4478 - if (e2pdf.static.drag.max_left >= snap_left && snap_left >= e2pdf.static.drag.min_left) {
4479 - ui.position.left = snap_left;
4480 -
4481 - var guide_diff_left = ui.position.left - parseFloat(e2pdf.properties.getValue(jQuery(this), 'left'));
4482 -
4483 - for (var key in e2pdf.element.selected) {
4484 - var selected = e2pdf.element.selected[key];
4485 - if (!selected.is(jQuery(this))) {
4486 - selected.finish().animate({
4487 - left: parseFloat(e2pdf.properties.getValue(selected, 'left')) + guide_diff_left,
4488 - }, 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;
4489 8483 }
4490 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 + }
4491 8499 }
4492 - } else {
4493 - jQuery(".e2pdf-guide-v").hide();
4494 8500 }
4495 -
4496 8501 },
4497 - start: function (ev, ui) {
4498 -
4499 - e2pdf.element.select(jQuery(this));
4500 -
4501 - e2pdf.static.drag.min_left = 0;
4502 - e2pdf.static.drag.max_left = jQuery(this).closest('.e2pdf-page').width();
4503 - e2pdf.static.drag.min_top = 0;
4504 - e2pdf.static.drag.max_top = jQuery(this).closest('.e2pdf-page').height();
4505 -
4506 - for (var key in e2pdf.element.selected) {
4507 - var selected = e2pdf.element.selected[key];
4508 -
4509 - if (selected.hasClass('e2pdf-width-auto')) {
4510 - 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();
4511 8509 }
4512 -
4513 - if (selected.hasClass('e2pdf-height-auto')) {
4514 - 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);
4515 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 + }
4516 8627
4517 - var padding_top = e2pdf.helper.convertPxToFloat(selected.css('padding-top'));
4518 - var padding_left = e2pdf.helper.convertPxToFloat(selected.css('padding-left'));
4519 - var padding_right = e2pdf.helper.convertPxToFloat(selected.css('padding-right'));
4520 - var padding_bottom = e2pdf.helper.convertPxToFloat(selected.css('padding-bottom'));
4521 - var border_top = e2pdf.helper.convertPxToFloat(selected.css('border-top-width'));
4522 - var border_left = e2pdf.helper.convertPxToFloat(selected.css('border-left-width'));
4523 - var border_right = e2pdf.helper.convertPxToFloat(selected.css('border-right-width'));
4524 - var border_bottom = e2pdf.helper.convertPxToFloat(selected.css('border-bottom-width'));
4525 - e2pdf.static.drag.min_left = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'left')) - e2pdf.properties.getValue(selected, 'left'), e2pdf.static.drag.min_left);
4526 - e2pdf.static.drag.min_top = Math.max(parseFloat(e2pdf.properties.getValue(jQuery(this), 'top')) - e2pdf.properties.getValue(selected, 'top'), e2pdf.static.drag.min_top);
4527 - 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);
4528 - 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';
4529 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 + }
4530 8778
4531 - e2pdf.zoom.click.x = ev.clientX;
4532 - e2pdf.zoom.click.y = ev.clientY;
4533 - jQuery('.page-options-icons').css('z-index', -1);
8779 + if (!properties.hasOwnProperty('height') || properties['height'] === 'auto') {
8780 + properties['height'] = size;
8781 + }
4534 8782 }
4535 - });
4536 - // If element resizable
4537 - if (element.hasClass('e2pdf-resizable')) {
4538 - element.resizable({
4539 - aspectRatio: aspect,
4540 - minHeight: min_height,
4541 - start: function (ev, ui) {
4542 - var left = parseFloat(jQuery(this).css('left'));
4543 - var top = parseFloat(jQuery(this).css('top'));
4544 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4545 - var page_height = parseFloat(jQuery(this).closest('.e2pdf-page').css('height'));
4546 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4547 - 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 + }
4548 9009
4549 - var padding_top = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-top'));
4550 - var padding_left = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-left'));
4551 - var padding_right = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-right'));
4552 - var padding_bottom = e2pdf.helper.convertPxToFloat(jQuery(this).css('padding-bottom'));
4553 - var border_top = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-top-width'));
4554 - var border_left = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-left-width'));
4555 - var border_right = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-right-width'));
4556 - var border_bottom = e2pdf.helper.convertPxToFloat(jQuery(this).css('border-bottom-width'));
4557 -
4558 - ui.originalSize.width = ui.originalSize.width + padding_left + padding_right + border_left + border_right;
4559 - ui.originalSize.height = ui.originalSize.height + padding_top + padding_bottom + border_top + border_bottom;
4560 -
4561 - e2pdf.zoom.click.x = ev.clientX;
4562 - e2pdf.zoom.click.y = ev.clientY;
4563 - },
4564 - resize: function (ev, ui) {
4565 - },
4566 - stop: function (event, ui) {
4567 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4568 - 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;
4569 9017 }
4570 9018 });
4571 - } else if (element.hasClass('e2pdf-resizable-horizontal')) {
4572 - element.resizable({
4573 - handles: 'e, w, se',
4574 - resize: function (e, ui) {
4575 - jQuery(this).css('height', 'auto');
4576 - },
4577 - start: function (e, ui) {
4578 - var left = parseFloat(jQuery(this).css('left'));
4579 - var page_width = parseFloat(jQuery(this).closest('.e2pdf-page').css('width'));
4580 - jQuery(this).resizable("option", "maxWidth", page_width - left);
4581 - },
4582 - stop: function (event, ui) {
4583 - e2pdf.properties.set(jQuery(this), 'width', ui.size.width);
4584 - e2pdf.properties.set(jQuery(this), 'height', ui.size.height);
4585 - }
4586 - }
4587 - );
9019 + element_id = parseInt(last_id + 1);
4588 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);
4589 9037 if (!onload) {
4590 9038 e2pdf.event.fire('after.element.create');
4591 9039 }
4592 9040 return element;
@@ -4593,42 +9041,14 @@
4593 9041 } else {
4594 9042 return false;
4595 9043 }
4596 9044 },
4597 - //e2pdf.element.children
9045 + // e2pdf.element.children
4598 9046 children: function (el) {
4599 -
4600 - var children = false;
4601 -
4602 - if (el.data('data-type') === 'e2pdf-html') {
4603 - children = el.find('.e2pdf-html');
4604 - } else if (el.data('data-type') === 'e2pdf-input') {
4605 - children = el.find('.e2pdf-input');
4606 - } else if (el.data('data-type') === 'e2pdf-textarea') {
4607 - children = el.find('.e2pdf-textarea');
4608 - } else if (el.data('data-type') === 'e2pdf-select') {
4609 - children = el.find('.e2pdf-select');
4610 - } else if (el.data('data-type') === 'e2pdf-radio') {
4611 - children = el.find('.e2pdf-radio');
4612 - } else if (el.data('data-type') === 'e2pdf-checkbox') {
4613 - children = el.find('.e2pdf-checkbox');
4614 - } else if (el.data('data-type') === 'e2pdf-image') {
4615 - children = el.find('.e2pdf-image');
4616 - }
9047 + var children = el.find('.' + el.data('data-type'));
4617 9048 return children;
4618 9049 },
4619 - //e2pdf.element.copy
4620 - copy: function (el) {
4621 - e2pdf.element.init(el);
4622 - e2pdf.element.buffer(el.clone(true));
4623 - },
4624 - //e2pdf.element.cut
4625 - cut: function (el) {
4626 - e2pdf.element.init(el);
4627 - e2pdf.element.buffer(el.clone(true));
4628 - e2pdf.element.delete(el);
4629 - },
4630 - //e2pdf.element.select
9050 + // e2pdf.element.select
4631 9051 select: function (el) {
4632 9052 var selected = false;
4633 9053 for (var key in e2pdf.element.selected) {
4634 9054 if (e2pdf.element.selected[key].is(el)) {
@@ -4639,9 +9059,9 @@
4639 9059 el.addClass('e2pdf-selected');
4640 9060 e2pdf.element.selected.push(el);
4641 9061 }
4642 9062 },
4643 - //e2pdf.element.unselect
9063 + // e2pdf.element.unselect
4644 9064 unselect: function (el) {
4645 9065 if (!el) {
4646 9066 jQuery('.e2pdf-selected').removeClass('e2pdf-selected');
4647 9067 e2pdf.element.selected = [];
@@ -4653,150 +9073,457 @@
4653 9073 }
4654 9074 }
4655 9075 }
4656 9076 },
4657 - //e2pdf.element.buffer
4658 - buffer: function (el) {
4659 - var buffered = false;
4660 - for (var key in e2pdf.element.buffered) {
4661 - if (e2pdf.element.buffered[key].is(el)) {
4662 - buffered = true;
4663 - }
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');
4664 9088 }
4665 - if (!buffered) {
4666 - e2pdf.element.buffered.push(el);
4667 - }
4668 9089 },
4669 - //e2pdf.element.unbuffer
4670 - unbuffer: function (el) {
4671 - if (!el) {
4672 - e2pdf.element.buffered = [];
4673 - } else {
4674 - for (var key in e2pdf.element.buffered) {
4675 - if (e2pdf.element.buffered[key].is(el)) {
4676 - 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);
4677 9109 }
9110 + } else {
9111 + el_inner.focus();
4678 9112 }
9113 + } else {
9114 + el_inner.focus();
4679 9115 }
9116 + el.addClass('e2pdf-focused');
4680 9117 },
4681 - //e2pdf.element.hide
9118 + // e2pdf.element.hide
4682 9119 hide: function (el) {
4683 9120 el.addClass('e2pdf-hide');
4684 9121 },
4685 - //e2pdf.element.show
9122 + // e2pdf.element.show
4686 9123 show: function (el) {
4687 9124 el.removeClass('e2pdf-hide');
4688 9125 },
4689 - //e2pdf.element.paste
4690 - paste: function (keep_position) {
4691 - e2pdf.element.unselect();
4692 - var min_top = 99999999;
4693 - var min_left = 9999999;
4694 - var left_correction = 0;
4695 - var top_correction = 0;
4696 - if (!keep_position) {
4697 - for (var key in e2pdf.element.buffered) {
4698 - var buffered = e2pdf.element.buffered[key];
4699 - min_top = Math.min(e2pdf.properties.getValue(buffered, 'top'), min_top);
4700 - 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();
4701 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 () {
4702 9255
4703 - for (var key in e2pdf.element.buffered) {
4704 - 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();
4705 9404 var context = jQuery('.e2pdf-context');
4706 - var properties = e2pdf.properties.get(buffered);
4707 - var width = parseFloat(properties['width']);
4708 - var height = parseFloat(properties['height']);
4709 9405 var page = context.closest('.e2pdf-page');
4710 - var top = parseFloat(e2pdf.helper.convertPxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)));
4711 - var left = parseFloat(e2pdf.helper.convertPxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left));
4712 - if ((left + width) > parseFloat(page.css('width'))) {
4713 - var correction = left - (parseFloat(page.css('width')) - width);
4714 - 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 + }
4715 9434 }
4716 9435
4717 - if ((top + height) > parseFloat(page.css('height'))) {
4718 - var correction = top - (parseFloat(page.css('height')) - height);
4719 - 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));
4720 9455 }
4721 - }
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;
4722 9470 }
4723 -
4724 - for (var key in e2pdf.element.buffered) {
4725 - var buffered = e2pdf.element.buffered[key];
4726 - var context = jQuery('.e2pdf-context');
4727 - var properties = e2pdf.properties.get(buffered);
4728 - var actions = e2pdf.actions.get(buffered);
4729 - var width = parseFloat(properties['width']);
4730 - var height = parseFloat(properties['height']);
4731 - var page = context.closest('.e2pdf-page');
4732 - var type = buffered.data('data-type');
4733 - if (!keep_position) {
4734 -
4735 - var top = parseFloat(e2pdf.helper.convertPxToFloat(context.css('top')) + (parseFloat(properties['top'] - min_top)) - top_correction);
4736 - var left = parseFloat(e2pdf.helper.convertPxToFloat(context.css('left')) + (parseFloat(properties['left']) - min_left) - left_correction);
4737 - properties['top'] = top;
4738 - properties['left'] = left;
4739 - }
4740 - //changed
4741 - var el = e2pdf.element.create(type, page, properties, actions);
4742 - page.append(el);
4743 - e2pdf.properties.render(el);
4744 - e2pdf.element.select(el);
4745 - }
4746 -
4747 - e2pdf.event.fire('after.element.paste');
4748 - },
4749 - //e2pdf.element.delete
4750 - delete: function (el) {
4751 - el.remove();
4752 - e2pdf.event.fire('after.element.delete');
4753 9471 }
4754 9472 },
4755 - //e2pdf.wysiwyg
9473 + // e2pdf.wysiwyg
4756 9474 wysiwyg: {
4757 - //e2pdf.wysiwyg.apply
9475 + // e2pdf.wysiwyg.apply
4758 9476 apply: function (el) {
9477 + var history = [];
9478 + history.push(el);
9479 + e2pdf.history.set('wysiwyg', history);
9480 + var html = '';
4759 9481 var command = el.attr('data-command');
9482 + var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4760 9483 if (command === 'H1') {
4761 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4762 9484 if (node.is("h1") && document.getSelection().toString() === node.text()) {
4763 9485 e2pdf.wysiwyg.clear('h1');
4764 9486 } else {
4765 - var html = jQuery('<h1/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9487 + html = jQuery('<h1>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4766 9488 document.execCommand('insertHTML', false, html);
4767 9489 }
4768 9490 } else if (command === 'H2') {
4769 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4770 9491 if (node.is("h2") && document.getSelection().toString() === node.text()) {
4771 9492 e2pdf.wysiwyg.clear('h2');
4772 9493 } else {
4773 - var html = jQuery('<h2/>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
9494 + html = jQuery('<h2>').html(e2pdf.wysiwyg.helper.getSelectionHtml()).prop('outerHTML');
4774 9495 document.execCommand('insertHTML', false, html);
4775 9496 }
4776 9497 } else if (command === 'createlink') {
4777 - url = prompt(e2pdfLang['Enter link here'] + ': ', 'http:\/\/');
9498 + url = prompt(e2pdf.lang.get('Enter link here') + ': ', 'http:\/\/');
4778 9499 document.execCommand(command, false, url);
4779 9500 } else if (command === 'font-size') {
4780 9501 var font_size = el.find('option:selected').html();
4781 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
4782 9502 if (node.is("span") && document.getSelection().toString() === node.text()) {
4783 - var html = node.css('font-size', font_size).prop('outerHTML');
9503 + html = node.css('font-size', font_size + "px").prop('outerHTML');
4784 9504 } else {
4785 - 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');
4786 9506 }
4787 9507 document.execCommand('insertHTML', false, html);
4788 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('');
4789 9518 } else if (command === 'font') {
4790 9519 e2pdf.font.load(el);
4791 - var font = el.find('option:selected').html();
4792 - var node = jQuery(e2pdf.wysiwyg.helper.getSelectedNode());
9520 + var font = CSS.escape(el.find('option:selected').html());
4793 9521 if (node.is("span") && document.getSelection().toString() === node.text()) {
4794 - var html = node.css('font-family', '"' + font + '"').prop('outerHTML');
9522 + html = node.css('font-family', font).prop('outerHTML');
4795 9523 } else {
4796 - 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');
4797 9525 }
4798 -
4799 9526 document.execCommand('insertHTML', false, html);
4800 9527 el.val('');
4801 9528 } else if (command === 'color') {
4802 9529 e2pdf.wysiwyg.helper.restoreSelection(e2pdf.static.selectionRange);
@@ -4805,14 +9532,14 @@
4805 9532 e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
4806 9533 } else if (command === 'clear') {
4807 9534 document.execCommand("removeformat", false, "");
4808 9535 e2pdf.wysiwyg.clear();
4809 - } else {
9536 + } else if (command) {
4810 9537 document.execCommand(command, false, null);
4811 9538 }
4812 -
4813 9539 e2pdf.event.fire('after.wysiwyg.apply');
4814 9540 },
9541 + // e2pdf.wysiwyg.clear
4815 9542 clear: function (tags) {
4816 9543 if (!tags) {
4817 9544 var tags = "h1,h2";
4818 9545 }
@@ -4823,9 +9550,11 @@
4823 9550 e2pdf.wysiwyg.helper.replaceWithOwnChildren(node);
4824 9551 }
4825 9552 });
4826 9553 },
9554 + // e2pdf.wysiwyg.helper
4827 9555 helper: {
9556 + // e2pdf.wysiwyg.helper.getSelectedNodes
4828 9557 getSelectedNodes: function () {
4829 9558 var nodes = [];
4830 9559 if (window.getSelection) {
4831 9560 var sel = window.getSelection();
@@ -4834,8 +9563,9 @@
4834 9563 }
4835 9564 }
4836 9565 return nodes;
4837 9566 },
9567 + // e2pdf.wysiwyg.helper.replaceWithOwnChildren
4838 9568 replaceWithOwnChildren: function (el) {
4839 9569 var parent = el.parentNode;
4840 9570 while (el.hasChildNodes()) {
4841 9571 parent.insertBefore(el.firstChild, el);
@@ -4841,8 +9571,9 @@
4841 9571 parent.insertBefore(el.firstChild, el);
4842 9572 }
4843 9573 parent.removeChild(el);
4844 9574 },
9575 + // e2pdf.wysiwyg.helper.getRangeSelectedNodes
4845 9576 getRangeSelectedNodes: function (range, includePartiallySelectedContainers) {
4846 9577 var node = range.startContainer;
4847 9578 var endNode = range.endContainer;
4848 9579 var rangeNodes = [];
@@ -4868,8 +9599,9 @@
4868 9599 }
4869 9600
4870 9601 return rangeNodes;
4871 9602 },
9603 + // e2pdf.wysiwyg.helper.getSelectedNode
4872 9604 getSelectedNode: function () {
4873 9605 var node, selection;
4874 9606 if (window.getSelection) {
4875 9607 selection = getSelection();
@@ -4875,9 +9607,9 @@
4875 9607 selection = getSelection();
4876 9608 node = selection.anchorNode;
4877 9609 }
4878 9610 if (!node && document.selection) {
4879 - selection = document.selection
9611 + selection = document.selection;
4880 9612 var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();
4881 9613 node = range.commonAncestorContainer ? range.commonAncestorContainer :
4882 9614 range.parentElement ? range.parentElement() : range.item(0);
4883 9615 }
@@ -4884,10 +9616,10 @@
4884 9616 if (node) {
4885 9617 return (node.nodeName === "#text" ? node.parentNode : node);
4886 9618 }
4887 9619 },
9620 + // e2pdf.wysiwyg.helper.nextNode
4888 9621 nextNode: function (node) {
4889 -
4890 9622 if (node.hasChildNodes()) {
4891 9623 return node.firstChild;
4892 9624 } else {
4893 9625 while (node && !node.nextSibling) {
@@ -4897,13 +9629,13 @@
4897 9629 return null;
4898 9630 }
4899 9631 return node.nextSibling;
4900 9632 }
4901 -
4902 9633 },
9634 + // e2pdf.wysiwyg.helper.getSelectionHtml
4903 9635 getSelectionHtml: function () {
4904 9636 var html = "";
4905 - if (typeof window.getSelection != "undefined") {
9637 + if (typeof window.getSelection != 'undefined') {
4906 9638 var sel = window.getSelection();
4907 9639 if (sel.rangeCount) {
4908 9640 var container = document.createElement("div");
4909 9641 for (var i = 0, len = sel.rangeCount; i < len; ++i) {
@@ -4910,9 +9642,9 @@
4910 9642 container.appendChild(sel.getRangeAt(i).cloneContents());
4911 9643 }
4912 9644 html = container.innerHTML;
4913 9645 }
4914 - } else if (typeof document.selection != "undefined") {
9646 + } else if (typeof document.selection != 'undefined') {
4915 9647 if (document.selection.type === "Text") {
4916 9648 html = document.selection.createRange().htmlText;
4917 9649 }
4918 9650 }
@@ -4917,8 +9649,9 @@
4917 9649 }
4918 9650 }
4919 9651 return html;
4920 9652 },
9653 + // e2pdf.wysiwyg.helper.saveSelection
4921 9654 saveSelection: function () {
4922 9655 if (window.getSelection) {
4923 9656 sel = window.getSelection();
4924 9657 if (sel.getRangeAt && sel.rangeCount) {
@@ -4928,8 +9661,9 @@
4928 9661 return document.selection.createRange();
4929 9662 }
4930 9663 return null;
4931 9664 },
9665 + // e2pdf.wysiwyg.helper.restoreSelection
4932 9666 restoreSelection: function (range) {
4933 9667 if (range) {
4934 9668 if (window.getSelection) {
4935 9669 sel = window.getSelection();
@@ -4938,43 +9672,99 @@
4938 9672 } else if (document.selection && range.select) {
4939 9673 range.select();
4940 9674 }
4941 9675 }
9676 + },
9677 + // e2pdf.wysiwyg.helper.dropSelection
9678 + dropSelection: function () {
9679 + if (window.getSelection) {
9680 + sel = window.getSelection();
9681 + sel.removeAllRanges();
9682 + }
4942 9683 }
4943 9684 }
4944 9685 },
4945 - //e2pdf.visual
9686 + // e2pdf.visual
4946 9687 visual: {
4947 - //e2pdf.visual.mapper
9688 + // e2pdf.visual.mapper
4948 9689 mapper: {
9690 + cursorPosStart: null,
9691 + cursorPosEnd: null,
9692 + cursorRange: null,
4949 9693 selected: null,
4950 - //e2pdf.visual.mapper.init
9694 + // e2pdf.visual.mapper.init
4951 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 +
4952 9719 e2pdf.visual.mapper.selected = el;
4953 - var modal = jQuery('<div/>', {'data-modal': 'visual-mapper'});
9720 + var modal = jQuery('<div>', {'data-modal': 'visual-mapper'});
4954 9721 e2pdf.dialog.create(modal);
4955 9722 },
4956 - //e2pdf.visual.mapper.markup
9723 + // e2pdf.visual.mapper.markup
4957 9724 markup: function () {
4958 9725 e2pdf.dialog.rebuild();
4959 9726 },
4960 - //e2pdf.visual.mapper.rebuild
9727 + // e2pdf.visual.mapper.rebuild
4961 9728 rebuild: function () {
4962 - if (jQuery('#e2pdf-vm-content').length > 0) {
4963 - var vc_content = jQuery('#e2pdf-vm-content');
4964 - var vc_wrapper = jQuery('<div/>', {'class': 'e2pdf-vm-wrapper'});
4965 - 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"], 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 () {
4966 9752 vc_wrapper.append(e2pdf.visual.mapper.load(jQuery(this)));
4967 9753 });
4968 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 + }
4969 9758 }
4970 9759 },
4971 - //e2pdf.visual.mapper.clear
9760 + // e2pdf.visual.mapper.clear
4972 9761 clear: function () {
4973 9762 if (jQuery('.e2pdf-vm-wrapper').length > 0) {
4974 9763 jQuery('.e2pdf-vm-wrapper').remove();
4975 9764 }
4976 9765 },
9766 + // e2pdf.visual.mapper.load
4977 9767 load: function (el) {
4978 9768 var loaded = false;
4979 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
4980 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
@@ -4979,17 +9769,17 @@
4979 9769 jQuery('.e2pdf-vm-field').removeClass('e2pdf-hide');
4980 9770 if (el.is(":visible") && !el.hasClass('e2pdf-no-vm')) {
4981 9771 var width = el.css('width');
4982 9772 var height = el.css('height');
4983 - var top = el.offset().top - el.closest('#e2pdf-vm-content').offset().top;
4984 - var left = el.offset().left - el.closest('#e2pdf-vm-content').offset().left;
4985 - 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({
4986 9776 'width': width, 'height': height, 'top': top, 'left': left
4987 9777 });
4988 9778 var name = el.attr('name');
4989 9779 var type = el.attr('type');
4990 9780 var value = el.attr('value');
4991 - if (el.is("select")) {
9781 + if (el.is('select')) {
4992 9782 type = 'select';
4993 9783 value = '';
4994 9784 el.find('option').each(function () {
4995 9785 value += jQuery(this).attr('value');
@@ -5005,137 +9795,311 @@
5005 9795 jQuery('.e2pdf-vm-field').addClass('e2pdf-hide');
5006 9796 }
5007 9797 return loaded;
5008 9798 },
9799 + // e2pdf.visual.mapper.apply
5009 9800 apply: function (el) {
5010 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);
5011 9805 var name = el.data('name');
9806 + var group = el.data('name');
5012 9807 var value = el.data('value');
5013 - var type = el.data('type');
5014 - if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-checkbox') {
5015 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5016 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5017 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-radio') {
5018 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'group', name);
5019 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5020 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'option', value);
5021 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-select') {
5022 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'value', name);
5023 - e2pdf.properties.set(e2pdf.visual.mapper.selected, 'options', value);
5024 - } else if (e2pdf.visual.mapper.selected.data('data-type') === 'e2pdf-image') {
5025 - 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);
5026 9824 } else {
5027 - 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 + }
5028 9829 }
5029 -
5030 - e2pdf.properties.render(e2pdf.visual.mapper.selected);
5031 - 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 + }
5032 9859 }
5033 - e2pdf.dialog.close();
9860 + if (e2pdf.static.vm.close) {
9861 + e2pdf.dialog.close();
9862 + }
5034 9863 }
5035 9864 }
5036 9865 },
5037 9866 zoom: {
5038 - zoom: 1,
9867 + scale: 1,
5039 9868 click: {
5040 9869 x: 0,
5041 9870 y: 0
5042 9871 },
5043 9872 apply: function (el) {
5044 - jQuery('#e2pdf-tpl').removeClass(function (index, className) {
5045 - return (className.match(/(^|\s)e2pdf-z\S+/g) || []).join(' ');
5046 - });
5047 - if (el.val() !== '100') {
5048 - jQuery('#e2pdf-tpl').addClass("e2pdf-z" + el.val());
5049 - }
5050 -
5051 - e2pdf.zoom.zoom = el.val() / 100;
5052 - 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);
5053 9881 }
5054 9882 }
5055 9883 };
5056 -
5057 -
5058 -
5059 9884 jQuery(window).resize(function () {
5060 9885 e2pdf.visual.mapper.clear();
5061 - if (this.e2pdfResizeTO)
9886 + if (e2pdf.static.observer !== null) {
9887 + e2pdf.static.observer.disconnect();
9888 + e2pdf.static.observer = null;
9889 + }
9890 + if (this.e2pdfResizeTO) {
5062 9891 clearTimeout(this.e2pdfResizeTO);
9892 + }
5063 9893 this.e2pdfResizeTO = setTimeout(function () {
5064 9894 jQuery(this).trigger('e2pdfResizeEnd');
5065 9895 }, 500);
5066 9896 });
5067 -
9897 +jQuery(document).on('click', '.notice-dismiss', function (e) {
9898 + jQuery(this).parent().addClass('e2pdf-hide');
9899 + jQuery(this).trigger('e2pdfResizeEnd');
9900 +});
5068 9901 jQuery(window).bind('e2pdfResizeEnd', function () {
5069 9902 e2pdf.dialog.rebuild();
5070 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) {
5071 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 +});
5072 9964 jQuery(document).ready(function () {
5073 -
5074 - 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) {
5075 9970 e.stopPropagation();
5076 9971 e.preventDefault();
5077 9972 e.stopImmediatePropagation();
5078 9973 return false;
5079 9974 });
5080 -
5081 - 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) {
5082 10001 var actions = jQuery(this).closest('.e2pdf-actions-wrapper').find('.e2pdf-actions');
5083 - 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 + }
5084 10010 e2pdf.actions.add(element, actions);
5085 - jQuery(this).trigger('e2pdfResizeEnd');
5086 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 + }
5087 10022
5088 - jQuery('.e2pdf-action-condition-add').live('click', function (e) {
5089 - var action_conditions = jQuery(this).closest('.e2pdf-action');
5090 - var element = jQuery(".e2pdf-element[data-element_id='" + jQuery(this).closest('form').find('input[name="element_id"]').val() + "']").first();
5091 10023 e2pdf.actions.conditions.add(element, action_conditions);
5092 - jQuery(this).trigger('e2pdfResizeEnd');
5093 10024 });
5094 -
5095 - jQuery('.e2pdf-action-delete').live('click', function (e) {
5096 - 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?'))) {
5097 10027 return false;
5098 10028 }
5099 10029 var action = jQuery(this).closest('.e2pdf-action');
5100 10030 e2pdf.actions.delete(action);
5101 10031 });
5102 -
5103 - jQuery('.e2pdf-action-condition-delete').live('click', function (e) {
10032 + jQuery(document).on('click', '.e2pdf-action-duplicate', function (e) {
5104 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');
5105 10038 if (action.find('.e2pdf-condition').length === 1) {
5106 - alert(e2pdfLang["Last condition can't be removed"]);
10039 + alert(e2pdf.lang.get('Last condition can\'t be removed'));
5107 10040 return false;
5108 10041 }
5109 - if (!confirm(e2pdfLang['Condition will be removed! Are you sure want to continue?'])) {
10042 + if (!confirm(e2pdf.lang.get('Condition will be removed! Continue?'))) {
5110 10043 return false;
5111 10044 }
5112 10045 var condition = jQuery(this).closest('.e2pdf-condition');
5113 10046 e2pdf.actions.conditions.delete(condition);
5114 10047 });
5115 -
5116 - 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) {
5117 10065 e2pdf.zoom.apply(jQuery(this));
5118 10066 });
5119 -
5120 - jQuery('#e2pdf-extension').live('change', function () {
10067 + jQuery(document).on('change', '.e2pdf-extension', function (e) {
5121 10068 e2pdf.request.submitRequest('e2pdf_extension', jQuery(this));
5122 10069 });
5123 -
5124 - 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) {
5125 10091 var action = jQuery(this).closest('.e2pdf-action');
5126 - e2pdf.actions.change(action);
10092 + e2pdf.actions.change(action, jQuery(this));
5127 10093 });
5128 -
5129 - jQuery('.e2pdf-tabs a').live('click', function () {
5130 - 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();
5131 10096 var tab = jQuery(this);
5132 10097 tab.closest('ul').find('li').removeClass('active');
5133 10098 tab.parent('li').addClass('active');
5134 10099 jQuery(document.getElementById(tab.attr('data-tab'))).show();
5135 10100 });
5136 -
5137 - jQuery('.e2pdf-hidden-dropdown').live('click', function () {
10101 + jQuery(document).on('click', '.e2pdf-hidden-dropdown', function (e) {
5138 10102 var parent = jQuery(this).closest('.e2pdf-closed');
5139 10103 if (parent.hasClass('e2pdf-opened')) {
5140 10104 parent.removeClass('e2pdf-opened');
5141 10105 } else {
@@ -5144,197 +10108,358 @@
5144 10108 });
5145 10109 parent.addClass('e2pdf-opened');
5146 10110 }
5147 10111 });
5148 -
5149 - jQuery('.e2pdf-submit-form').live('click', function (e) {
10112 + jQuery(document).on('click', '.e2pdf-submit-form', function (e) {
5150 10113 e.preventDefault();
5151 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 + }
5152 10125 e2pdf.request.submitForm(el);
5153 10126 });
5154 -
5155 - jQuery('.e2pdf-submit-local').live('click', function () {
10127 + jQuery(document).on('click', '.e2pdf-submit-local', function (e) {
5156 10128 var el = jQuery(this);
5157 - e2pdf.request.submitLocal(el);
10129 + if (el.hasClass('e2pdf-noclose')) {
10130 + e2pdf.request.submitLocal(el, true);
10131 + } else {
10132 + e2pdf.request.submitLocal(el);
10133 + }
5158 10134 });
5159 -
5160 - jQuery('.e2pdf-delete').live('click', function () {
5161 - 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?');
5162 10137 if (!confirm(message)) {
5163 10138 e2pdf.delete('.e2pdf-context');
5164 10139 return false;
5165 10140 }
10141 + var history = [];
5166 10142 for (var key in e2pdf.element.selected) {
5167 10143 var selected = e2pdf.element.selected[key];
10144 + e2pdf.element.init(selected);
10145 + history.push(selected.clone(true));
5168 10146 e2pdf.element.delete(selected);
5169 10147 }
5170 -
10148 + e2pdf.history.set('element_delete', history);
5171 10149 e2pdf.element.unselect();
5172 10150 });
5173 -
5174 - jQuery('.e2pdf-copy').live('click', function () {
5175 - e2pdf.element.unbuffer();
5176 -
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 + }
5177 10156 for (var key in e2pdf.element.selected) {
5178 10157 var selected = e2pdf.element.selected[key];
5179 - e2pdf.element.copy(selected);
10158 + e2pdf.copy(type, selected);
5180 10159 }
5181 10160 });
5182 -
5183 - 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 = [];
5184 10177 for (var key in e2pdf.element.selected) {
5185 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];
5186 10237 e2pdf.element.hide(selected);
5187 10238 }
5188 10239 });
5189 -
5190 - jQuery('.e2pdf-unhidden').live('click', function () {
10240 + jQuery(document).on('click', '.e2pdf-unhidden', function (e) {
5191 10241 for (var key in e2pdf.element.selected) {
5192 10242 var selected = e2pdf.element.selected[key];
5193 10243 e2pdf.element.show(selected);
5194 10244 }
5195 10245 });
5196 -
5197 - jQuery('.e2pdf-cut').live('click', function () {
5198 - e2pdf.element.unbuffer();
10246 + jQuery(document).on('click', '.e2pdf-lock', function (e) {
5199 10247 for (var key in e2pdf.element.selected) {
5200 10248 var selected = e2pdf.element.selected[key];
5201 - e2pdf.element.cut(selected);
10249 + e2pdf.properties.set(selected, 'locked', '1');
10250 + selected.addClass('e2pdf-locked');
5202 10251 }
5203 10252 });
5204 -
5205 - jQuery('.e2pdf-paste').live('click', function () {
5206 - 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 + }
5207 10259 });
5208 -
5209 - jQuery('.e2pdf-pasteinplace').live('click', function () {
5210 - e2pdf.element.paste(true);
10260 + jQuery(document).on('click', '.e2pdf-checkbox', function (e) {
10261 + return false;
5211 10262 });
5212 -
5213 - jQuery('.e2pdf-checkbox').live('click', function () {
10263 + jQuery(document).on('click', '.e2pdf-radio', function (e) {
5214 10264 return false;
5215 10265 });
5216 -
5217 - jQuery('.e2pdf-radio').live('click', function () {
5218 - 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 + }
5219 10274 });
5220 -
5221 - jQuery('.e2pdf-hide-controls').live('click', function () {
5222 -
10275 + jQuery(document).on('click', '.e2pdf-locked-elements', function (e) {
5223 10276 if (jQuery(this).hasClass('e2pdf-inactive')) {
5224 - jQuery('html').removeClass('e2pdf-hide-markup');
10277 + jQuery('html').addClass('e2pdf-unlock-all-elements');
5225 10278 jQuery(this).removeClass('e2pdf-inactive');
5226 10279 } else {
5227 - jQuery('html').addClass('e2pdf-hide-markup');
10280 + jQuery('html').removeClass('e2pdf-unlock-all-elements');
5228 10281 jQuery(this).addClass('e2pdf-inactive');
5229 10282 }
5230 10283 });
5231 -
5232 - jQuery('.e2pdf-hidden-elements').live('click', function () {
10284 + jQuery(document).on('click', '.e2pdf-wysiwyg-source', function (e) {
5233 10285 if (jQuery(this).hasClass('e2pdf-inactive')) {
5234 - jQuery('html').addClass('e2pdf-show-all-elements');
5235 10286 jQuery(this).removeClass('e2pdf-inactive');
5236 10287 } else {
5237 - jQuery('html').removeClass('e2pdf-show-all-elements');
5238 10288 jQuery(this).addClass('e2pdf-inactive');
5239 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 + });
5240 10300 });
5241 -
5242 - jQuery('.e2pdf-add-page').live('click', function () {
10301 + jQuery(document).on('click', '.e2pdf-add-page', function (e) {
5243 10302 if (e2pdf.pdf.settings.get('pdf')) {
5244 - alert(e2pdfLang['Adding new pages not available in "Uploaded PDF"']);
5245 - } else if (e2pdfParams['license_type'] == 'FREE') {
5246 - 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'));
5247 10306 } else {
5248 10307 e2pdf.pages.createPage();
5249 10308 }
5250 10309 });
5251 -
5252 - 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 + }
5253 10321 e2pdf.createPdf(jQuery(this));
5254 10322 });
5255 -
5256 - jQuery('.e2pdf-up-page').live('click', function () {
10323 + jQuery(document).on('click', '.e2pdf-up-page', function (e) {
5257 10324 e2pdf.pages.movePage(jQuery(this), 'up');
5258 10325 });
5259 -
5260 - jQuery('.e2pdf-down-page').live('click', function () {
10326 + jQuery(document).on('click', '.e2pdf-down-page', function (e) {
5261 10327 e2pdf.pages.movePage(jQuery(this), 'down');
5262 10328 });
5263 -
5264 - jQuery('.e2pdf-delete-page').live('click', function () {
10329 + jQuery(document).on('click', '.e2pdf-delete-page', function (e) {
5265 10330 if (e2pdf.pdf.settings.get('pdf')) {
5266 - 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?'))) {
5267 10332 return false;
5268 10333 }
5269 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10334 + var history = [];
10335 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5270 10336 var el = jQuery(this);
10337 + history.push(el.closest('.e2pdf-page').clone(true));
5271 10338 e2pdf.pages.deletePage(el);
5272 10339 });
10340 + history.reverse();
10341 + e2pdf.history.set('page_delete', history, e2pdf.pdf.settings.get('pdf'));
5273 10342 } else {
5274 - if (!confirm(e2pdfLang['Are you sure want to remove page?'])) {
10343 + if (!confirm(e2pdf.lang.get('Page will be removed! Continue?'))) {
5275 10344 return false;
5276 10345 }
5277 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);
5278 10350 e2pdf.pages.deletePage(el);
5279 10351 }
5280 10352 });
5281 -
5282 - jQuery('.e2pdf-delete-all-pages').live('click', function () {
5283 - 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?'))) {
5284 10355 return false;
5285 10356 }
5286 - jQuery('#e2pdf-tpl .e2pdf-page').each(function () {
10357 + var history = [];
10358 + jQuery('.e2pdf-tpl .e2pdf-page').each(function () {
5287 10359 var el = jQuery(this);
10360 + history.push(el.closest('.e2pdf-page').clone(true));
5288 10361 e2pdf.pages.deletePage(el);
5289 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 + }
5290 10369 });
5291 -
5292 - jQuery('.e2pdf-delete-font').live('click', function () {
5293 - 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?'))) {
5294 10372 return false;
5295 10373 }
5296 10374 var el = jQuery(jQuery(this));
5297 10375 e2pdf.font.delete(el);
5298 10376 });
5299 -
5300 - jQuery('.e2pdf-modal').live('click', function () {
10377 + jQuery(document).on('click', '.e2pdf-modal', function (e) {
5301 10378 e2pdf.dialog.create(jQuery(this));
5302 10379 });
5303 -
5304 - jQuery('body').live('click', function (e) {
10380 + jQuery(document).on('click', 'body', function (e) {
5305 10381 e2pdf.delete('.e2pdf-context');
5306 10382 });
5307 -
5308 - jQuery('#e2pdf-font').live('change', function () {
5309 - e2pdf.font.load(jQuery(this));
5310 - 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));
5311 10385 });
5312 -
5313 - jQuery('#e2pdf-export-template').live('change', function () {
5314 - 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 + }
5315 10396 });
5316 -
5317 - jQuery('#e2pdf-export-dataset').live('change', function () {
10397 + jQuery(document).on('click', '.e2pdf-datasets-refresh', function (e) {
5318 10398 var data = {};
5319 - data['template'] = jQuery('#e2pdf-export-template').val();
5320 - data['dataset'] = jQuery('#e2pdf-export-dataset').val();
5321 - 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);
5322 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 + }
5323 10416
5324 - jQuery('#e2pdf-font-size').live('change', function () {
5325 - 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 + }
5326 10426 });
5327 -
5328 - jQuery('.e2pdf-numbers').live('keydown', function (e) {
5329 - 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 ||
5330 10454 ((e.keyCode === 65 || e.keyCode === 86 || e.keyCode === 67) && (e.ctrlKey === true || e.metaKey === true)) ||
5331 10455 (e.shiftKey === true && e.keyCode === 187) ||
5332 - (e.keyCode >= 35 && e.keyCode <= 40)) {
10456 + (e.keyCode >= 35 && e.keyCode <= 40)
10457 + ) {
5333 10458
5334 - 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')) {
5335 10460 e.preventDefault();
5336 - } 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')) {
5337 10462 e.preventDefault();
5338 10463 } else {
5339 10464 return;
5340 10465 }
@@ -5342,10 +10467,19 @@
5342 10467 if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
5343 10468 e.preventDefault();
5344 10469 }
5345 10470 });
5346 -
5347 - 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) {
5348 10482 var value = jQuery(this).val().trim();
5349 10483 var prefix = '';
5350 10484 if (jQuery(this).hasClass('e2pdf-number-positive') && value.startsWith('+')) {
5351 10485 prefix = '+';
@@ -5355,18 +10489,22 @@
5355 10489 value = 0;
5356 10490 }
5357 10491 jQuery(this).val(prefix + value);
5358 10492 });
5359 -
5360 - jQuery('#e2pdf-font-color').live('change', function () {
5361 - 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'));
5362 10495 });
5363 -
5364 - jQuery('#e2pdf-line-height').live('change', function () {
5365 - 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 + }
5366 10502 });
5367 -
5368 - 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) {
5369 10507 e.preventDefault();
5370 10508 for (var key in e2pdf.element.selected) {
5371 10509 var selected = e2pdf.element.selected[key];
5372 10510 e2pdf.mediaUploader.init(selected);
@@ -5371,25 +10509,43 @@
5371 10509 var selected = e2pdf.element.selected[key];
5372 10510 e2pdf.mediaUploader.init(selected);
5373 10511 }
5374 10512 });
5375 -
5376 - jQuery('.e2pdf-visual').live('click', function (e) {
10513 + jQuery(document).on('click', '.e2pdf-visual', function (e) {
5377 10514 for (var key in e2pdf.element.selected) {
5378 10515 var selected = e2pdf.element.selected[key];
5379 10516 e2pdf.visual.mapper.init(selected);
5380 10517 }
5381 10518 });
5382 -
5383 - 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 + }
5384 10538 e2pdf.wysiwyg.apply(jQuery(this));
5385 10539 });
5386 -
5387 - jQuery('.e2pdf-apply-wysiwyg-color').live('click', function (e) {
5388 - e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
10540 + jQuery(document).on('click', '.e2pdf-apply-wysiwyg-color', function (e) {
5389 10541 e.preventDefault();
5390 10542 e.stopPropagation();
5391 10543 e.stopImmediatePropagation();
10544 + if (jQuery(this).hasClass('e2pdf-inactive')) {
10545 + return;
10546 + }
10547 + e2pdf.static.selectionRange = e2pdf.wysiwyg.helper.saveSelection();
5392 10548 var color_panel = jQuery(this).parent().find('.wp-picker-container');
5393 10549 if (!color_panel.hasClass('wp-picker-active')) {
5394 10550 color_panel.find('.wp-color-result').click();
5395 10551 if (color_panel.find('.wp-color-close').length === 0) {
@@ -5400,87 +10556,210 @@
5400 10556 color_panel.append(close);
5401 10557 }
5402 10558 }
5403 10559 });
5404 -
5405 - jQuery('#e2pdf-wysiwyg-font-color').live('change', function (e) {
5406 - 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 + }
5407 10618 });
5408 -
5409 - jQuery('#e2pdf_wysiwyg_fontsize').live('change', function () {
10619 + jQuery(document).on('change', '.e2pdf-apply-wysiwyg-change', function (e) {
5410 10620 e2pdf.wysiwyg.apply(jQuery(this));
5411 10621 });
5412 -
5413 - jQuery('#e2pdf_wysiwyg_font').live('change', function () {
5414 - 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'));
5415 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 + }
5416 10630
5417 - jQuery('#e2pdf-upload-pdf').live('change', function () {
5418 - 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 + );
5419 10650 });
5420 -
5421 - jQuery('#e2pdf-w-reupload').live('click', function () {
5422 - var message = "";
10651 + jQuery(document).on('change', '#e2pdf-revision', function (e) {
5423 10652 if (e2pdf.static.unsaved) {
5424 - 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 + }
5425 10658 }
5426 - message += e2pdfLang['Saved Template will be overwritten! Are you sure want to continue?'];
5427 - 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?'))) {
5428 10671 return false;
5429 10672 }
5430 - jQuery('#e2pdf-reupload-pdf').click();
10673 + jQuery('html').addClass('e2pdf-loading');
10674 + var data = {};
10675 + e2pdf.request.submitRequest('e2pdf_license_key', jQuery(this), data);
5431 10676 });
5432 -
5433 - jQuery('#e2pdf-reupload-pdf').live('change', function () {
5434 - 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);
5435 10684 });
5436 -
5437 - jQuery('.e2pdf-scale-field').live('change', function () {
5438 - var value = jQuery(this).val();
5439 - var fields = jQuery(this).closest('.e2pdf-el-properties');
5440 - fields.find('input[name="height"]').attr('readonly', false);
5441 - fields.find('input[name="width"]').attr('readonly', false);
5442 - var image = new Image();
5443 - image.src = fields.find('*[name="value"]').val();
5444 - image.onload = function ()
5445 - {
5446 - if (value === e2pdf.static.const.WIDTH) {
5447 - fields.find('input[name="height"]').attr('readonly', 'readonly');
5448 - } else if (value === e2pdf.static.const.HEIGHT) {
5449 - fields.find('input[name="width"]').attr('readonly', 'readonly');
5450 - }
5451 - };
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();
5452 10689 });
5453 -
5454 - 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) {
5455 10698 jQuery(this).autocomplete("search", "");
5456 10699 });
5457 -
5458 - 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) {
5459 10708 e2pdf.event.fire('after.settings.style.change');
5460 10709 });
5461 -
5462 - jQuery('.e2pdf-settings-template-change').live('change, keyup', function () {
10710 + jQuery(document).on('change keyup', '.e2pdf-settings-template-change', function (e) {
5463 10711 e2pdf.event.fire('after.settings.template.change');
5464 10712 });
5465 -
5466 - 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) {
5467 10742 if (jQuery(this).val() !== '') {
5468 10743 var form = jQuery(this).closest('form');
5469 - var size = e2pdfTemplateSizes[jQuery(this).val()];
10744 + var size = e2pdf_params['template_sizes'][jQuery(this).val()];
5470 10745 form.find('input[name="width"]').val(size.width);
5471 10746 form.find('input[name="height"]').val(size.height);
5472 10747 }
5473 10748 });
5474 -
5475 - jQuery('.e2pdf-vm-element').live('click', function () {
10749 + jQuery(document).on('click', '.e2pdf-vm-element', function (e) {
5476 10750 e2pdf.visual.mapper.apply(jQuery(this));
5477 10751 });
5478 -
5479 - jQuery('.e2pdf-drag').live('click', function (e) {
10752 + jQuery(document).on('dblclick', '.e2pdf-drag', function (e) {
10753 + e2pdf.element.unselect();
10754 + e2pdf.element.unfocus();
5480 10755 var el = jQuery(this).closest('.e2pdf-element');
5481 -
5482 - 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) {
5483 10762 if (el.hasClass('e2pdf-selected')) {
5484 10763 e2pdf.element.unselect(el);
5485 10764 } else {
5486 10765 e2pdf.element.select(el);
@@ -5502,23 +10781,21 @@
5502 10781 }
5503 10782 }
5504 10783 }
5505 10784 });
5506 -
5507 - jQuery('.e2pdf-activate-template').live('click', function () {
10785 + jQuery(document).on('click', '.e2pdf-activate-template', function (e) {
5508 10786 var data = {};
5509 10787 data['id'] = jQuery(this).attr('data-id');
5510 10788 e2pdf.request.submitRequest('e2pdf_activate_template', jQuery(this), data);
5511 10789 });
5512 -
5513 - jQuery('.e2pdf-deactivate-template').live('click', function () {
10790 + jQuery(document).on('click', '.e2pdf-deactivate-template', function (e) {
5514 10791 var data = {};
5515 10792 data['id'] = jQuery(this).attr('data-id');
5516 10793 e2pdf.request.submitRequest('e2pdf_deactivate_template', jQuery(this), data);
5517 10794 });
5518 -
5519 - jQuery('.e2pdf-delete-item').live('click', function () {
5520 - 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?'))) {
5521 10798 return false;
5522 10799 }
5523 10800 var data = {};
5524 10801 data['template'] = jQuery(this).attr('template');
@@ -5524,11 +10801,11 @@
5524 10801 data['template'] = jQuery(this).attr('template');
5525 10802 data['dataset'] = jQuery(this).attr('dataset');
5526 10803 e2pdf.request.submitRequest('e2pdf_delete_item', jQuery(this), data);
5527 10804 });
5528 -
5529 - jQuery('.e2pdf-delete-items').live('click', function () {
5530 - 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?'))) {
5531 10808 return false;
5532 10809 }
5533 10810 var data = {};
5534 10811 data['template'] = jQuery(this).attr('template');
@@ -5533,17 +10810,103 @@
5533 10810 var data = {};
5534 10811 data['template'] = jQuery(this).attr('template');
5535 10812 e2pdf.request.submitRequest('e2pdf_delete_items', jQuery(this), data);
5536 10813 });
5537 -
5538 - 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) {
5539 10839 jQuery(this).select();
5540 10840 });
5541 -
5542 - jQuery('.e2pdf-autocomplete-cl').live('click focus', function (e) {
10841 + jQuery(document).on('click focus', '.e2pdf-autocomplete-cl', function (e) {
5543 10842 jQuery(this).autocomplete("search", '');
5544 10843 });
5545 -
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 + });
5546 10909 if (jQuery('.e2pdf-form-builder > input[name="sub_action"]').length > 0) {
5547 10910 e2pdf.pdf.settings.set('sub_action', jQuery('.e2pdf-form-builder > input[name="sub_action"]').val());
5548 10911 }
5549 10912
@@ -5566,8 +10929,16 @@
5566 10929 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5567 10930 e2pdf.pdf.settings.set('item', jQuery('.e2pdf-form-builder > input[name="item"]').val());
5568 10931 }
5569 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 +
5570 10941 if (jQuery('.e2pdf-form-builder > input[name="item"]').length > 0) {
5571 10942 e2pdf.pdf.settings.set('pdf', jQuery('.e2pdf-form-builder > input[name="pdf"]').val());
5572 10943 }
5573 10944
@@ -5574,23 +10945,25 @@
5574 10945 if (jQuery('.e2pdf-form-builder > input[name="format"]').length > 0) {
5575 10946 e2pdf.pdf.settings.set('format', jQuery('.e2pdf-form-builder > input[name="format"]').val());
5576 10947 }
5577 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 +
5578 10957 jQuery('#e2pdf-zoom').trigger('change');
5579 -
5580 10958 if (jQuery('body').hasClass('toplevel_page_e2pdf')) {
5581 - if (e2pdf.url.get('template_id')) {
10959 + if (e2pdf.url.get('id')) {
10960 + e2pdf.select2.val(jQuery('.e2pdf-export-template'), e2pdf.url.get('id'));
5582 10961 e2pdf.static.autoloadExport = true;
5583 - if (jQuery("#e2pdf-export-template option[value=" + e2pdf.url.get('template_id') + "]").length == 0) {
5584 - jQuery('#e2pdf-export-template').val('0').change();
5585 - } else {
5586 - jQuery('#e2pdf-export-template').val(e2pdf.url.get('template_id')).change();
5587 - }
5588 10962 }
5589 10963 }
5590 10964
5591 10965 if (jQuery('body').hasClass('e2pdf_page_e2pdf-templates')) {
5592 -
5593 10966 jQuery('.e2pdf-color-picker-load').each(function () {
5594 10967 jQuery(this).wpColorPicker(
5595 10968 {
5596 10969 defaultColor: function () {
@@ -5606,9 +10979,8 @@
5606 10979 }
5607 10980 }
5608 10981 ).removeClass('e2pdf-color-picker-load');
5609 10982 });
5610 -
5611 10983 jQuery(window).bind("beforeunload", function (e) {
5612 10984 if (e2pdf.static.unsaved) {
5613 10985 var confirmationMessage = "\o/";
5614 10986 (e || window.event).returnValue = confirmationMessage;
@@ -5614,17 +10986,9 @@
5614 10986 (e || window.event).returnValue = confirmationMessage;
5615 10987 return confirmationMessage;
5616 10988 }
5617 10989 });
5618 -
5619 - jQuery(document).bind("mousedown", function (e) {
5620 - if (jQuery(e.target).hasClass("e2pdf-fade")) {
5621 - e2pdf.delete('.e2pdf-fade');
5622 - e2pdf.delete('.e2pdf-properties-window');
5623 - }
5624 - });
5625 -
5626 - if (jQuery('#e2pdf_build_form').length > 0) {
10990 + if (jQuery('#e2pdf-build-form').length > 0) {
5627 10991 postboxes.add_postbox_toggles(pagenow);
5628 10992 }
5629 10993
5630 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
@@ -5629,16 +10993,14 @@
5629 10993
5630 10994 if (typeof (jQuery.ui) != 'undefined' && typeof (jQuery.ui.draggable) != 'undefined'
5631 10995 && typeof (jQuery.ui.droppable) != 'undefined'
5632 10996 && jQuery('.e2pdf-tpl').length > 0) {
5633 -
5634 - // jQuery UI scale bug fix
10997 +// jQuery UI scale bug fix
5635 10998 jQuery.ui.ddmanager.prepareOffsets = function (t, event) {
5636 10999 var i, j,
5637 11000 m = jQuery.ui.ddmanager.droppables[ t.options.scope ] || [],
5638 11001 type = event ? event.type : null,
5639 11002 list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
5640 -
5641 11003 droppablesLoop: for (i = 0; i < m.length; i++) {
5642 11004 if (m[ i ].options.disabled || (t && !m[ i ].accept.call(m[ i ].element[ 0 ], (t.currentItem || t.element)))) {
5643 11005 continue;
5644 11006 }
@@ -5655,51 +11017,49 @@
5655 11017 if (type === "mousedown") {
5656 11018 m[ i ]._activate.call(m[ i ], event);
5657 11019 }
5658 11020 m[ i ].offset = m[ i ].element.offset();
5659 - 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});
5660 11022 }
5661 - }
5662 -
5663 - 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 () {
5664 11032 var element = jQuery(this);
5665 11033 var type = element.attr('data-type');
5666 11034 var page = element.closest('.e2pdf-page');
5667 - var properties = JSON.parse(element.find('.e2pdf-data-properties').text());
5668 - var actions = JSON.parse(element.find('.e2pdf-data-actions').text());
5669 -
11035 + var properties = JSON.parse(element.find('.e2pdf-data-properties').val());
11036 + var actions = JSON.parse(element.find('.e2pdf-data-actions').val());
5670 11037 properties['width'] = element.attr('data-width');
5671 11038 properties['height'] = element.attr('data-height');
5672 11039 properties['top'] = element.attr('data-top');
5673 11040 properties['left'] = element.attr('data-left');
5674 - if (type == 'e2pdf-html') {
5675 - properties['value'] = element.find('.e2pdf-data-value').html();
5676 - } else {
5677 - properties['value'] = element.find('.e2pdf-data-value').text();
5678 - }
5679 - //changed
11041 + properties['value'] = element.find('.e2pdf-data-value').val();
11042 + properties['name'] = element.find('.e2pdf-data-name').val();
5680 11043 var el = e2pdf.element.create(type, page, properties, actions, false, true, element.attr('data-element_id'));
5681 11044 jQuery(this).replaceWith(el);
5682 11045 e2pdf.properties.render(el);
5683 11046 });
5684 -
5685 - jQuery(".e2pdf-load-page").each(function () {
11047 + jQuery('.e2pdf-load-page').each(function () {
5686 11048 var page = jQuery(this);
5687 - var actions = JSON.parse(page.find('.e2pdf-data-actions').text());
5688 - 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());
5689 11051 page.find('.e2pdf-data-properties').remove();
5690 11052 page.find('.e2pdf-data-actions').remove();
5691 11053 page.removeClass('e2pdf-load-page');
5692 - e2pdf.pages.createPage(page, properties, actions);
5693 -
11054 + e2pdf.pages.createPage(page, properties, actions, true);
5694 11055 });
5695 -
5696 - jQuery(".e2pdf-be").draggable({
11056 + jQuery('.e2pdf-be').draggable({
11057 + cursorAt: {left: 0, top: 0},
5697 11058 helper: function () {
5698 11059 var element = jQuery(this).clone();
5699 11060 var type = element.attr('data-type');
5700 - var page = element.closest('.e2pdf-page')
5701 - //changed
11061 + var page = element.closest('.e2pdf-page');
5702 11062 var el = e2pdf.element.create(type, page, false, false, true);
5703 11063 e2pdf.font.apply(el, jQuery('#e2pdf-font'));
5704 11064 e2pdf.font.size(el, jQuery('#e2pdf-font-size'));
5705 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
@@ -5705,35 +11065,40 @@
5705 11065 e2pdf.font.line(el, jQuery('#e2pdf-line-height'));
5706 11066 e2pdf.font.fontcolor(el, jQuery('#e2pdf-font-color'));
5707 11067 e2pdf.properties.render(el);
5708 11068 el.css('z-index', 1);
5709 - if (e2pdf.zoom.zoom != 1) {
5710 - el.css('transform', 'scale(' + e2pdf.zoom.zoom + ')');
5711 - 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 + });
5712 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 + });
5713 11084 return el;
5714 11085 },
5715 11086 start: function (ev, ui) {
5716 - e2pdf.static.guide.x = ev.originalEvent.pageX - jQuery(this).offset().left;
5717 - e2pdf.static.guide.y = ev.originalEvent.pageY - jQuery(this).offset().top;
5718 11087 e2pdf.element.unselect();
5719 11088 },
5720 11089 stop: function (ev, ui) {
5721 - jQuery(".e2pdf-guide-v, .e2pdf-guide-h").hide();
5722 -
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();
5723 11093 },
5724 11094 drag: function (ev, ui) {
5725 -
5726 11095 if (e2pdf.static.drag.page !== null) {
5727 -
5728 11096 var pos = {left: ev.originalEvent.pageX - e2pdf.static.guide.x, top: ev.originalEvent.pageY - e2pdf.static.guide.y};
5729 -
5730 11097 var guides = {top: {dist: e2pdf.static.guide.distance + 1}, left: {dist: e2pdf.static.guide.distance + 1}};
5731 - var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.zoom;
5732 - var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.zoom;
5733 -
11098 + var w = parseFloat(jQuery(ui.helper).css('width')) * e2pdf.zoom.scale;
11099 + var h = parseFloat(jQuery(ui.helper).css('height')) * e2pdf.zoom.scale;
5734 11100 var el_guides = e2pdf.guide.calc(null, pos, w, h, true);
5735 -
5736 11101 jQuery.each(e2pdf.static.guide.guides, function (i, guide) {
5737 11102 jQuery.each(el_guides, function (i, elemGuide) {
5738 11103 if (guide.type == elemGuide.type) {
5739 11104 var prop = guide.type == "h" ? "top" : "left";
@@ -5745,23 +11110,21 @@
5745 11110 }
5746 11111 }
5747 11112 });
5748 11113 });
5749 -
5750 11114 if (guides.top.dist <= e2pdf.static.guide.distance) {
5751 - 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();
5752 11116 var snap_top = guides.top.guide.top - guides.top.offset - jQuery(this).offset().top;
5753 11117 ui.position.top = snap_top;
5754 11118 } else {
5755 - jQuery(".e2pdf-guide-h").hide();
11119 + jQuery('.e2pdf-guide-h').hide();
5756 11120 }
5757 -
5758 11121 if (guides.left.dist <= e2pdf.static.guide.distance) {
5759 - 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();
5760 - 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;
5761 11124 ui.position.left = snap_left;
5762 11125 } else {
5763 - jQuery(".e2pdf-guide-v").hide();
11126 + jQuery('.e2pdf-guide-v').hide();
5764 11127 }
5765 11128 }
5766 11129 }
5767 11130 });
@@ -5767,141 +11130,155 @@
5767 11130 });
5768 11131 e2pdf.welcomeScreen();
5769 11132 }
5770 11133 e2pdf.font.load(jQuery('#e2pdf-font'));
5771 -
5772 11134 jQuery('.e2pdf-load-font').each(function () {
5773 11135 e2pdf.font.load(jQuery(this));
5774 11136 jQuery(this).remove();
5775 11137 });
5776 -
5777 - e2pdf.font.apply(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font'));
5778 - e2pdf.font.size(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-font-size'));
5779 - e2pdf.font.line(jQuery('#e2pdf-tpl'), jQuery('#e2pdf-line-height'));
5780 - 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'));
5781 11142 }
5782 11143
5783 11144 jQuery(document).keydown(function (e) {
5784 - if (Object.keys(e2pdf.element.selected).length > 0 && jQuery.inArray(e.which, [37, 38, 39, 40, 46]) !== -1) {
5785 - e.preventDefault();
5786 - switch (e.which) {
5787 - case 37:
5788 - //left
5789 - var diff = 1;
5790 -
5791 - for (var key in e2pdf.element.selected) {
5792 - var selected = e2pdf.element.selected[key];
5793 - if (parseFloat(selected.css('left')) > 0) {
5794 - if (parseFloat(selected.css('left')) - 1 < 0) {
5795 - 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);
5796 11163 }
5797 - } else {
5798 - diff = Math.min(diff, 0);
5799 11164 }
5800 - }
5801 11165
5802 - for (var key in e2pdf.element.selected) {
5803 - var selected = e2pdf.element.selected[key];
5804 - selected.finish().animate({
5805 - left: "-=" + diff
5806 - }, 0);
5807 - e2pdf.properties.set(selected, 'left', parseFloat(selected.css('left').replace('px', '')));
5808 - }
5809 - break;
5810 - case 38:
5811 - //top
5812 - var diff = 1;
5813 -
5814 - for (var key in e2pdf.element.selected) {
5815 - var selected = e2pdf.element.selected[key];
5816 - if (parseFloat(selected.css('top')) > 0) {
5817 - if (parseFloat(selected.css('top')) - 1 < 0) {
5818 - 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);
5819 11185 }
5820 - } else {
5821 - diff = Math.min(diff, 0);
5822 11186 }
5823 - }
5824 11187
5825 - for (var key in e2pdf.element.selected) {
5826 - var selected = e2pdf.element.selected[key];
5827 - selected.finish().animate({
5828 - top: "-=" + diff
5829 - }, 0);
5830 - e2pdf.properties.set(selected, 'top', parseFloat(selected.css('top').replace('px', '')));
5831 - }
5832 - break;
5833 - case 39:
5834 - //right
5835 - var diff = 1;
5836 -
5837 - for (var key in e2pdf.element.selected) {
5838 - var selected = e2pdf.element.selected[key];
5839 - if (parseFloat(selected.css('right')) > 0) {
5840 - if (parseFloat(selected.css('right')) - 1 < 0) {
5841 - 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);
5842 11207 }
5843 - } else {
5844 - diff = Math.min(diff, 0);
5845 11208 }
5846 - }
5847 11209
5848 - for (var key in e2pdf.element.selected) {
5849 - var selected = e2pdf.element.selected[key];
5850 - selected.finish().animate({
5851 - left: "+=" + diff
5852 - }, 0);
5853 - e2pdf.properties.set(selected, 'left', parseFloat(selected.css('left').replace('px', '')));
5854 - }
5855 - break;
5856 - case 40:
5857 - //down
5858 - var diff = 1;
5859 -
5860 - for (var key in e2pdf.element.selected) {
5861 - var selected = e2pdf.element.selected[key];
5862 - if (parseFloat(selected.css('bottom')) > 0) {
5863 - if (parseFloat(selected.css('bottom')) - 1 < 0) {
5864 - 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);
5865 11229 }
5866 - } else {
5867 - diff = Math.min(diff, 0);
5868 11230 }
5869 - }
5870 11231
5871 - for (var key in e2pdf.element.selected) {
5872 - var selected = e2pdf.element.selected[key];
5873 - selected.finish().animate({
5874 - top: "+=" + diff
5875 - }, 0);
5876 - e2pdf.properties.set(selected, 'top', parseFloat(selected.css('top').replace('px', '')));
5877 - }
5878 - break;
5879 - case 46:
5880 - //delete
5881 - 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?'];
5882 - if (!confirm(message)) {
5883 - e2pdf.delete('.e2pdf-context');
5884 - return false;
5885 - }
5886 -
5887 - for (var key in e2pdf.element.selected) {
5888 - var selected = e2pdf.element.selected[key];
5889 - e2pdf.element.delete(selected);
5890 - }
5891 -
5892 - e2pdf.element.unselect();
5893 - 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 + }
5894 11258 }
5895 11259 }
5896 11260 });
5897 -
5898 - 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) {
5899 11271 if (!jQuery(e.target).hasClass('e2pdf-drag') &&
5900 11272 jQuery(e.target).closest('.e2pdf-context-menu').length == 0 &&
5901 - jQuery(e.target).closest('.e2pdf-element').length == 0
5902 - ) {
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) {
5903 11279 e2pdf.element.unselect();
11280 + e2pdf.element.unfocus();
5904 11281 }
5905 11282 if (jQuery(e.target).closest('.e2pdf-closed').length == 0) {
5906 11283 jQuery('.e2pdf-closed').each(function () {
5907 11284 jQuery(this).removeClass('e2pdf-opened');
@@ -5906,9 +11283,20 @@
5906 11283 jQuery('.e2pdf-closed').each(function () {
5907 11284 jQuery(this).removeClass('e2pdf-opened');
5908 11285 });
5909 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 + }
5910 11295 });
5911 -
5912 - jQuery('.e2pdf-onload .disabled').removeClass('disabled');
11296 + jQuery('.e2pdf-onload .disabled, .e2pdf-onload [disabled="disabled"], .e2pdf-onload[disabled="disabled"]').removeClass('disabled').attr('disabled', false);
5913 11297 jQuery('.e2pdf-onload').removeClass('e2pdf-onload');
11298 + if (jQuery('.e2pdf-bulks-list').length > 0)
11299 + {
11300 + e2pdf.bulk.progress();
11301 + }
5914 11302 });