| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 | 
							- /*!
 
-  * bsCustomFileInput v1.3.4 (https://github.com/Johann-S/bs-custom-file-input)
 
-  * Copyright 2018 - 2020 Johann-S <johann.servoire@gmail.com>
 
-  * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
 
-  */
 
- (function (global, factory) {
 
-   typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
 
-   typeof define === 'function' && define.amd ? define(factory) :
 
-   (global = global || self, global.bsCustomFileInput = factory());
 
- }(this, (function () { 'use strict';
 
-   var Selector = {
 
-     CUSTOMFILE: '.custom-file input[type="file"]',
 
-     CUSTOMFILELABEL: '.custom-file-label',
 
-     FORM: 'form',
 
-     INPUT: 'input'
 
-   };
 
-   var textNodeType = 3;
 
-   var getDefaultText = function getDefaultText(input) {
 
-     var defaultText = '';
 
-     var label = input.parentNode.querySelector(Selector.CUSTOMFILELABEL);
 
-     if (label) {
 
-       defaultText = label.textContent;
 
-     }
 
-     return defaultText;
 
-   };
 
-   var findFirstChildNode = function findFirstChildNode(element) {
 
-     if (element.childNodes.length > 0) {
 
-       var childNodes = [].slice.call(element.childNodes);
 
-       for (var i = 0; i < childNodes.length; i++) {
 
-         var node = childNodes[i];
 
-         if (node.nodeType !== textNodeType) {
 
-           return node;
 
-         }
 
-       }
 
-     }
 
-     return element;
 
-   };
 
-   var restoreDefaultText = function restoreDefaultText(input) {
 
-     var defaultText = input.bsCustomFileInput.defaultText;
 
-     var label = input.parentNode.querySelector(Selector.CUSTOMFILELABEL);
 
-     if (label) {
 
-       var element = findFirstChildNode(label);
 
-       element.textContent = defaultText;
 
-     }
 
-   };
 
-   var fileApi = !!window.File;
 
-   var FAKE_PATH = 'fakepath';
 
-   var FAKE_PATH_SEPARATOR = '\\';
 
-   var getSelectedFiles = function getSelectedFiles(input) {
 
-     if (input.hasAttribute('multiple') && fileApi) {
 
-       return [].slice.call(input.files).map(function (file) {
 
-         return file.name;
 
-       }).join(', ');
 
-     }
 
-     if (input.value.indexOf(FAKE_PATH) !== -1) {
 
-       var splittedValue = input.value.split(FAKE_PATH_SEPARATOR);
 
-       return splittedValue[splittedValue.length - 1];
 
-     }
 
-     return input.value;
 
-   };
 
-   function handleInputChange() {
 
-     var label = this.parentNode.querySelector(Selector.CUSTOMFILELABEL);
 
-     if (label) {
 
-       var element = findFirstChildNode(label);
 
-       var inputValue = getSelectedFiles(this);
 
-       if (inputValue.length) {
 
-         element.textContent = inputValue;
 
-       } else {
 
-         restoreDefaultText(this);
 
-       }
 
-     }
 
-   }
 
-   function handleFormReset() {
 
-     var customFileList = [].slice.call(this.querySelectorAll(Selector.INPUT)).filter(function (input) {
 
-       return !!input.bsCustomFileInput;
 
-     });
 
-     for (var i = 0, len = customFileList.length; i < len; i++) {
 
-       restoreDefaultText(customFileList[i]);
 
-     }
 
-   }
 
-   var customProperty = 'bsCustomFileInput';
 
-   var Event = {
 
-     FORMRESET: 'reset',
 
-     INPUTCHANGE: 'change'
 
-   };
 
-   var bsCustomFileInput = {
 
-     init: function init(inputSelector, formSelector) {
 
-       if (inputSelector === void 0) {
 
-         inputSelector = Selector.CUSTOMFILE;
 
-       }
 
-       if (formSelector === void 0) {
 
-         formSelector = Selector.FORM;
 
-       }
 
-       var customFileInputList = [].slice.call(document.querySelectorAll(inputSelector));
 
-       var formList = [].slice.call(document.querySelectorAll(formSelector));
 
-       for (var i = 0, len = customFileInputList.length; i < len; i++) {
 
-         var input = customFileInputList[i];
 
-         Object.defineProperty(input, customProperty, {
 
-           value: {
 
-             defaultText: getDefaultText(input)
 
-           },
 
-           writable: true
 
-         });
 
-         handleInputChange.call(input);
 
-         input.addEventListener(Event.INPUTCHANGE, handleInputChange);
 
-       }
 
-       for (var _i = 0, _len = formList.length; _i < _len; _i++) {
 
-         formList[_i].addEventListener(Event.FORMRESET, handleFormReset);
 
-         Object.defineProperty(formList[_i], customProperty, {
 
-           value: true,
 
-           writable: true
 
-         });
 
-       }
 
-     },
 
-     destroy: function destroy() {
 
-       var formList = [].slice.call(document.querySelectorAll(Selector.FORM)).filter(function (form) {
 
-         return !!form.bsCustomFileInput;
 
-       });
 
-       var customFileInputList = [].slice.call(document.querySelectorAll(Selector.INPUT)).filter(function (input) {
 
-         return !!input.bsCustomFileInput;
 
-       });
 
-       for (var i = 0, len = customFileInputList.length; i < len; i++) {
 
-         var input = customFileInputList[i];
 
-         restoreDefaultText(input);
 
-         input[customProperty] = undefined;
 
-         input.removeEventListener(Event.INPUTCHANGE, handleInputChange);
 
-       }
 
-       for (var _i2 = 0, _len2 = formList.length; _i2 < _len2; _i2++) {
 
-         formList[_i2].removeEventListener(Event.FORMRESET, handleFormReset);
 
-         formList[_i2][customProperty] = undefined;
 
-       }
 
-     }
 
-   };
 
-   return bsCustomFileInput;
 
- })));
 
- //# sourceMappingURL=bs-custom-file-input.js.map
 
 
  |