|
436 | 436 | ' <span aria-hidden="true">×</span>\n' +
|
437 | 437 | '</button>';
|
438 | 438 | },
|
439 |
| - getRotation: function(value) { |
| 439 | + getRotation: function (value) { |
440 | 440 | switch (value) {
|
441 | 441 | case 2:
|
442 | 442 | return 'rotateY(180deg)';
|
|
456 | 456 | return '';
|
457 | 457 | }
|
458 | 458 | },
|
459 |
| - setTransform: function(el, val) { |
| 459 | + setTransform: function (el, val) { |
460 | 460 | if (!el) {
|
461 | 461 | return;
|
462 | 462 | }
|
|
471 | 471 | return;
|
472 | 472 | }
|
473 | 473 | var ev = 'load.fileinputimageorient';
|
474 |
| - $img.off(ev).on(ev, function() { |
| 474 | + $img.off(ev).on(ev, function () { |
475 | 475 | var img = $img.get(0), zoomImg = $zoomImg && $zoomImg.length ? $zoomImg.get(0) : null,
|
476 | 476 | h = img.offsetHeight, w = img.offsetWidth, r = $h.getRotation(value);
|
477 | 477 | $img.data('orientation', value);
|
|
483 | 483 | $h.setTransform(zoomImg, r);
|
484 | 484 | return;
|
485 | 485 | }
|
486 |
| - var offsetAngle = Math.atan(w / h), t = img.style.webkitTransform || img.style.transform || '', |
487 |
| - origFactor = Math.sqrt(Math.pow(h, 2) + Math.pow(w, 2)), |
| 486 | + var offsetAngle = Math.atan(w / h), origFactor = Math.sqrt(Math.pow(h, 2) + Math.pow(w, 2)), |
488 | 487 | scale = !origFactor ? 1 : (h / Math.cos(Math.PI / 2 + offsetAngle)) / origFactor,
|
489 | 488 | s = ' scale(' + Math.abs(scale) + ')';
|
490 | 489 | $h.setTransform(img, r + s);
|
|
935 | 934 | self._initPreviewTemplates();
|
936 | 935 | },
|
937 | 936 | _initPreviewTemplates: function () {
|
938 |
| - var self = this, cfg = self.defaults, tags = self.previewMarkupTags, tagBef, tagAft = tags.tagAfter; |
939 |
| - $.each(cfg.previewContentTemplates, function (key, value) { |
| 937 | + var self = this, tags = self.previewMarkupTags, tagBef, tagAft = tags.tagAfter; |
| 938 | + $.each(self.previewContentTemplates, function (key, value) { |
940 | 939 | if ($h.isEmpty(self.previewTemplates[key])) {
|
941 | 940 | tagBef = tags.tagBefore2;
|
942 | 941 | if (key === 'generic' || key === 'image' || key === 'html' || key === 'text') {
|
943 | 942 | tagBef = tags.tagBefore1;
|
944 | 943 | }
|
945 |
| - if (self._isPdfRendered()) { |
| 944 | + if (self._isPdfRendered() && key === 'pdf') { |
946 | 945 | tagBef = tagBef.replace('kv-file-content', 'kv-file-content kv-pdf-rendered');
|
947 | 946 | }
|
948 | 947 | self.previewTemplates[key] = tagBef + value + tagAft;
|
|
1132 | 1131 | };
|
1133 | 1132 | self.previewCache.init();
|
1134 | 1133 | },
|
1135 |
| - _isPdfRendered: function() { |
1136 |
| - var self = this, useLib = self.usePdfRenderer, |
| 1134 | + _isPdfRendered: function () { |
| 1135 | + var self = this, useLib = self.usePdfRenderer, |
1137 | 1136 | flag = typeof useLib === "function" ? useLib() : !!useLib;
|
1138 | 1137 | return flag && self.pdfRendererUrl;
|
1139 | 1138 | },
|
|
1149 | 1148 | if (id) {
|
1150 | 1149 | msg = '"' + id + '": ' + msg;
|
1151 | 1150 | }
|
1152 |
| - msg = 'bootstrap-fileinput: ' + msg; |
| 1151 | + msg = 'bootstrap-fileinput: ' + msg; |
1153 | 1152 | if (typeof window.console.log !== "undefined") {
|
1154 | 1153 | window.console.log(msg);
|
1155 | 1154 | } else {
|
|
1401 | 1400 | },
|
1402 | 1401 | _listen: function () {
|
1403 | 1402 | var self = this, $el = self.$element, $form = self.$form, $cont = self.$container, fullScreenEvents;
|
1404 |
| - self._handler($el, 'click', function(e) { |
| 1403 | + self._handler($el, 'click', function (e) { |
1405 | 1404 | if ($el.hasClass('file-no-browse')) {
|
1406 | 1405 | if ($el.data('zoneClicked')) {
|
1407 | 1406 | $el.data('zoneClicked', false);
|
|
1819 | 1818 | });
|
1820 | 1819 | }
|
1821 | 1820 | $modal.data('previewId', pid);
|
1822 |
| - var $img = $body.find('img'); |
1823 | 1821 | self._handler($prev, 'click', function () {
|
1824 | 1822 | self._zoomSlideShow('prev', pid);
|
1825 | 1823 | });
|
|
1911 | 1909 | });
|
1912 | 1910 | });
|
1913 | 1911 | },
|
1914 |
| - _inputFileCount: function() { |
| 1912 | + _inputFileCount: function () { |
1915 | 1913 | return this.$element.get(0).files.length;
|
1916 | 1914 | },
|
1917 |
| - _refreshPreview: function() { |
| 1915 | + _refreshPreview: function () { |
1918 | 1916 | var self = this, files;
|
1919 | 1917 | if (!self._inputFileCount() || !self.showPreview || !self.isPreviewable) {
|
1920 | 1918 | return;
|
|
2962 | 2960 | }
|
2963 | 2961 | },
|
2964 | 2962 | _slugDefault: function (text) {
|
| 2963 | + // noinspection RegExpRedundantEscape |
2965 | 2964 | return $h.isEmpty(text) ? '' : String(text).replace(/[\[\]\/\{}:;#%=\(\)\*\+\?\\\^\$\|<>&"']/g, '_');
|
2966 | 2965 | },
|
2967 | 2966 | _updateFileDetails: function (numFiles) {
|
|
3078 | 3077 | return null;
|
3079 | 3078 | }
|
3080 | 3079 | /** @namespace file.webkitRelativePath */
|
| 3080 | + /** @namespace file.fileName */ |
3081 | 3081 | relativePath = String(file.webkitRelativePath || file.fileName || file.name || null);
|
3082 | 3082 | if (!relativePath) {
|
3083 | 3083 | return null;
|
|
3143 | 3143 | self._showUploadError(msg, params);
|
3144 | 3144 | self._setPreviewError($thumb, i, null);
|
3145 | 3145 | },
|
3146 |
| - _getExifObj: function(iData) { |
| 3146 | + _getExifObj: function (iData) { |
3147 | 3147 | var self = this, exifObj = null;
|
3148 | 3148 | try {
|
3149 | 3149 | exifObj = window.piexif ? window.piexif.load(iData) : null;
|
|
3155 | 3155 | }
|
3156 | 3156 | return exifObj;
|
3157 | 3157 | },
|
3158 |
| - _validateImageOrientation: function($img, file, previewId, caption, ftype, fsize, iData) { |
3159 |
| - var self = this, css, exifObj = self._getExifObj(iData), value = null; |
| 3158 | + _validateImageOrientation: function ($img, file, previewId, caption, ftype, fsize, iData) { |
| 3159 | + var self = this, exifObj = self._getExifObj(iData), value = null; |
3160 | 3160 | if ($img.length && self.autoOrientImage && exifObj) {
|
3161 |
| - value = exifObj["0th"][piexif.ImageIFD.Orientation]; |
| 3161 | + value = exifObj["0th"][piexif.ImageIFD.Orientation]; // jshint ignore:line |
3162 | 3162 | }
|
3163 | 3163 | if (!value) {
|
3164 | 3164 | self._validateImage(previewId, caption, ftype, fsize, iData, exifObj);
|
|
3318 | 3318 | $h.addCss($zone, 'clickable');
|
3319 | 3319 | $zone.attr('tabindex', -1);
|
3320 | 3320 | self._handler($zone, 'click', function (e) {
|
3321 |
| - var $tar = $(e.target), $el = self.$element; |
| 3321 | + var $tar = $(e.target); |
3322 | 3322 | if (!$(self.elErrorContainer + ':visible').length &&
|
3323 | 3323 | (!$tar.parents('.file-preview-thumbnails').length || $tar.parents('.file-default-preview').length)) {
|
3324 | 3324 | self.$element.data('zoneClicked', true).trigger('click');
|
|
3785 | 3785 | var node = ctr + i, previewId = previewInitId + "-" + node, file = files[i], fSizeKB, j, msg,
|
3786 | 3786 | fnText = settings.text, fnImage = settings.image, fnHtml = settings.html, typ, chk, typ1, typ2,
|
3787 | 3787 | caption = file && file.name ? self.slug(file.name) : '', fileSize = (file && file.size || 0) / 1000,
|
3788 |
| - fileExtExpr = '', previewData = file ? $h.objUrl.createObjectURL(file) : null, fileCount = 0, strTypes = '', |
| 3788 | + fileExtExpr = '', previewData = file ? $h.objUrl.createObjectURL(file) : null, fileCount = 0, |
| 3789 | + strTypes = '', |
3789 | 3790 | func, knownTypes = 0, isText, isHtml, isImage, txtFlag, processFileLoaded = function () {
|
3790 | 3791 | var msg = msgProgress.setTokens({
|
3791 | 3792 | 'index': i + 1,
|
|
4183 | 4184 | options = $.extend(true, {}, self.options, options);
|
4184 | 4185 | }
|
4185 | 4186 | self._init(options, true);
|
4186 |
| - self._listen(); |
| 4187 | + self._listen(); |
4187 | 4188 | return $el;
|
4188 | 4189 | },
|
4189 | 4190 | zoom: function (frameId) {
|
|
4310 | 4311 | borderless: 'btn btn-sm btn-kv btn-default btn-outline-secondary',
|
4311 | 4312 | close: 'btn btn-sm btn-kv btn-default btn-outline-secondary'
|
4312 | 4313 | },
|
| 4314 | + previewTemplates: {}, |
| 4315 | + previewContentTemplates: {}, |
4313 | 4316 | preferIconicPreview: false,
|
4314 | 4317 | preferIconicZoomPreview: false,
|
4315 | 4318 | allowedPreviewTypes: undefined,
|
|
4383 | 4386 | reversePreviewOrder: false
|
4384 | 4387 | };
|
4385 | 4388 |
|
| 4389 | + // noinspection HtmlUnknownAttribute |
4386 | 4390 | $.fn.fileinputLocales.en = {
|
4387 | 4391 | fileSingle: 'file',
|
4388 | 4392 | filePlural: 'files',
|
|
4456 | 4460 | borderless: 'Toggle borderless mode',
|
4457 | 4461 | close: 'Close detailed preview'
|
4458 | 4462 | },
|
4459 |
| - usePdfRenderer: function() { |
| 4463 | + usePdfRenderer: function () { |
4460 | 4464 | return !!navigator.userAgent.match(/(iPod|iPhone|iPad)/);
|
4461 | 4465 | },
|
4462 | 4466 | pdfRendererUrl: '',
|
|
0 commit comments