vendor: 3,530 bytes, lines 1-86
1/*! 2 * bsCustomFileInput v1.3.2 (https://github.com/Johann-S/bs-custom-file-input) 3 * Copyright 2018 - 2019 Johann-S <[email protected]> 4 * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE) 5 */ 6! function(e, t) { 7 "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).bsCustomFileInput = t() 8}(this, function() { 9 "use strict"; 10 var d = { 11 CUSTOMFILE: '.custom-file input[type="file"]', 12 CUSTOMFILELABEL: ".custom-file-label", 13 FORM: "form", 14 INPUT: "input" 15 }, 16 r = function(e) { 17 if (0 < e.childNodes.length) 18 for (var t = [].slice.call(e.childNodes), n = 0; n < t.length; n++) { 19 var r = t[n]; 20 if (3 !== r.nodeType) return r 21 } 22 return e 23 }, 24 u = function(e) { 25 var t = e.bsCustomFileInput.defaultText, 26 n = e.parentNode.querySelector(d.CUSTOMFILELABEL); 27 n && (r(n).innerHTML = t) 28 }, 29 n = !!window.File, 30 l = function(e) { 31 if (e.hasAttribute("multiple") && n) return [].slice.call(e.files).map(function(e) { 32 return e.name 33 }).join(", "); 34 if (-1 === e.value.indexOf("fakepath")) return e.value; 35 var t = e.value.split("\\"); 36 return t[t.length - 1] 37 }; 38 39 function v() { 40 var e = this.parentNode.querySelector(d.CUSTOMFILELABEL); 41 if (e) { 42 var t = r(e), 43 n = l(this); 44 n.length ? t.innerHTML = n : u(this) 45 } 46 } 47 48 function p() { 49 for (var e = [].slice.call(this.querySelectorAll(d.INPUT)).filter(function(e) { 50 return !!e.bsCustomFileInput 51 }), t = 0, n = e.length; t < n; t++) u(e[t]) 52 } 53 var m = "bsCustomFileInput", 54 L = "reset", 55 h = "change"; 56 return { 57 init: function(e, t) { 58 void 0 === e && (e = d.CUSTOMFILE), void 0 === t && (t = d.FORM); 59 for (var n, r, l, i = [].slice.call(document.querySelectorAll(e)), o = [].slice.call(document.querySelectorAll(t)), u = 0, c = i.length; u < c; u++) { 60 var f = i[u]; 61 Object.defineProperty(f, m, { 62 value: { 63 defaultText: (n = f, r = void 0, void 0, r = "", l = n.parentNode.querySelector(d.CUSTOMFILELABEL), l && (r = l.innerHTML), r) 64 }, 65 writable: !0 66 }), v.call(f), f.addEventListener(h, v) 67 } 68 for (var a = 0, s = o.length; a < s; a++) o[a].addEventListener(L, p), Object.defineProperty(o[a], m, { 69 value: !0, 70 writable: !0 71 }) 72 }, 73 destroy: function() { 74 for (var e = [].slice.call(document.querySelectorAll(d.FORM)).filter(function(e) { 75 return !!e.bsCustomFileInput 76 }), t = [].slice.call(document.querySelectorAll(d.INPUT)).filter(function(e) { 77 return !!e.bsCustomFileInput 78 }), n = 0, r = t.length; n < r; n++) { 79 var l = t[n]; 80 u(l), l[m] = void 0, l.removeEventListener(h, v) 81 } 82 for (var i = 0, o = e.length; i < o; i++) e[i].removeEventListener(L, p), e[i][m] = void 0 83 } 84 } 85}); 86//# sourceMappingURL=bs-custom-file-input.min.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.