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