Вход Регистрация
Файл: style/js/umd/util.js
Строк: 231
<?php
(function (global, factory) {
  if (
typeof define === 'function' && define.amd) {
    
define(['exports''module'], factory);
  } else if (
typeof exports !== 'undefined' && typeof module !== 'undefined') {
    
factory(exportsmodule);
  } else {
    var 
mod = {
      
exports: {}
    };
    
factory(mod.exportsmod);
    global.
util mod.exports;
  }
})(
this, function (exportsmodule) {
  
/**
   * --------------------------------------------------------------------------
   * Bootstrap (v4.0.0): util.js
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
   * --------------------------------------------------------------------------
   */

  
'use strict';

  var 
Util = (function ($) {

    
/**
     * ------------------------------------------------------------------------
     * Private TransitionEnd Helpers
     * ------------------------------------------------------------------------
     */

    
var transition false;

    var 
TransitionEndEvent = {
      
WebkitTransition'webkitTransitionEnd',
      
MozTransition'transitionend',
      
OTransition'oTransitionEnd otransitionend',
      
transition'transitionend'
    
};

    
// shoutout AngusCroll (https://goo.gl/pxwQGp)
    
function toType(obj) {
      return ({}).
toString.call(obj).match(/s([a-zA-Z]+)/)[1].toLowerCase();
    }

    function 
isElement(obj) {
      return (
obj[0] || obj).nodeType;
    }

    function 
getSpecialTransitionEndEvent() {
      return {
        
bindTypetransition.end,
        
delegateTypetransition.end,
        
handle: function handle(event) {
          if ($(
event.target).is(this)) {
            return 
event.handleObj.handler.apply(thisarguments);
          }
        }
      };
    }

    function 
transitionEndTest() {
      if (
window.QUnit) {
        return 
false;
      }

      var 
el document.createElement('bootstrap');

      for (var 
_name in TransitionEndEvent) {
        if (
el.style[_name] !== undefined) {
          return { 
endTransitionEndEvent[_name] };
        }
      }

      return 
false;
    }

    function 
transitionEndEmulator(duration) {
      var 
_this this;

      var 
called false;

      $(
this).one(Util.TRANSITION_END, function () {
        
called true;
      });

      
setTimeout(function () {
        if (!
called) {
          
Util.triggerTransitionEnd(_this);
        }
      }, 
duration);

      return 
this;
    }

    function 
setTransitionEndSupport() {
      
transition transitionEndTest();

      $.fn.
emulateTransitionEnd transitionEndEmulator;

      if (
Util.supportsTransitionEnd()) {
        $.
event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
      }
    }

    
/**
     * --------------------------------------------------------------------------
     * Public Util Api
     * --------------------------------------------------------------------------
     */

    
var Util = {

      
TRANSITION_END'bsTransitionEnd',

      
getUID: function getUID(prefix) {
        do {
          
prefix += ~ ~(Math.random() * 1000000);
        } while (
document.getElementById(prefix));
        return 
prefix;
      },

      
getSelectorFromElement: function getSelectorFromElement(element) {
        var 
selector element.getAttribute('data-target');

        if (!
selector) {
          
selector element.getAttribute('href') || '';
          
selector = /^#[a-z]/i.test(selector) ? selector : null;
        
}

        return 
selector;
      },

      
reflow: function reflow(element) {
        new Function(
'bs''return bs')(element.offsetHeight);
      },

      
triggerTransitionEnd: function triggerTransitionEnd(element) {
        $(
element).trigger(transition.end);
      },

      
supportsTransitionEnd: function supportsTransitionEnd() {
        return 
Boolean(transition);
      },

      
typeCheckConfig: function typeCheckConfig(componentNameconfigconfigTypes) {
        for (var 
property in configTypes) {
          if (
configTypes.hasOwnProperty(property)) {
            var 
expectedTypes configTypes[property];
            var 
value config[property];
            var 
valueType undefined;

            if (
value && isElement(value)) {
              
valueType 'element';
            } else {
              
valueType toType(value);
            }

            if (!new 
RegExp(expectedTypes).test(valueType)) {
              throw new 
Error(componentName.toUpperCase() + ': ' + ('Option "' property '" provided type "' valueType '" ') + ('but expected type "' expectedTypes '".'));
            }
          }
        }
      }
    };

    
setTransitionEndSupport();

    return 
Util;
  })(
jQuery);

  
module.exports Util;
});
?>
Онлайн: 2
Реклама