Вход Регистрация
Файл: templates/backend/default/assets/plugins/jquery-ricksaw-chart/js/Rickshaw.Compat.ClassList.js
Строк: 151
<?php
Rickshaw
.namespace('Rickshaw.Compat.ClassList');

Rickshaw.Compat.ClassList = function() {

    
/* adapted from http://purl.eligrey.com/github/classList.js/blob/master/classList.js */

    
if (typeof document !== "undefined" && !("classList" in document.createElement("a"))) {

    (function (
view) {

    
"use strict";

    var
          
classListProp "classList"
        
protoProp "prototype"
        
elemCtrProto = (view.HTMLElement || view.Element)[protoProp]
        , 
objCtr Object
        
strTrim String[protoProp].trim || function () {
            return 
this.replace(/^s+|s+$/g"");
        }
        , 
arrIndexOf = Array[protoProp].indexOf || function (item) {
            var
                  
0
                
len this.length
            
;
            for (; 
leni++) {
                if (
i in this && this[i] === item) {
                    return 
i;
                }
            }
            return -
1;
        }
        
// Vendors: please allow content code to instantiate DOMExceptions
        
DOMEx = function (typemessage) {
            
this.name type;
            
this.code DOMException[type];
            
this.message message;
        }
        , 
checkTokenAndGetIndex = function (classListtoken) {
            if (
token === "") {
                throw new 
DOMEx(
                      
"SYNTAX_ERR"
                    
"An invalid or illegal string was specified"
                
);
            }
            if (/
s/.test(token)) {
                throw new 
DOMEx(
                      
"INVALID_CHARACTER_ERR"
                    
"String contains an invalid character"
                
);
            }
            return 
arrIndexOf.call(classListtoken);
        }
        , 
ClassList = function (elem) {
            var
                  
trimmedClasses strTrim.call(elem.className)
                , 
classes trimmedClasses trimmedClasses.split(/s+/) : []
                , 
0
                
len classes.length
            
;
            for (; 
leni++) {
                
this.push(classes[i]);
            }
            
this._updateClassName = function () {
                
elem.className this.toString();
            };
        }
        , 
classListProto ClassList[protoProp] = []
        , 
classListGetter = function () {
            return new 
ClassList(this);
        }
    ;
    
// Most DOMException implementations don't allow calling DOMException's toString()
    // on non-DOMExceptions. Error's toString() is sufficient here.
    
DOMEx[protoProp] = Error[protoProp];
    
classListProto.item = function (i) {
        return 
this[i] || null;
    };
    
classListProto.contains = function (token) {
        
token += "";
        return 
checkTokenAndGetIndex(thistoken) !== -1;
    };
    
classListProto.add = function (token) {
        
token += "";
        if (
checkTokenAndGetIndex(thistoken) === -1) {
            
this.push(token);
            
this._updateClassName();
        }
    };
    
classListProto.remove = function (token) {
        
token += "";
        var 
index checkTokenAndGetIndex(thistoken);
        if (
index !== -1) {
            
this.splice(index1);
            
this._updateClassName();
        }
    };
    
classListProto.toggle = function (token) {
        
token += "";
        if (
checkTokenAndGetIndex(thistoken) === -1) {
            
this.add(token);
        } else {
            
this.remove(token);
        }
    };
    
classListProto.toString = function () {
        return 
this.join(" ");
    };

    if (
objCtr.defineProperty) {
        var 
classListPropDesc = {
              
getclassListGetter
            
enumerabletrue
            
configurabletrue
        
};
        try {
            
objCtr.defineProperty(elemCtrProtoclassListPropclassListPropDesc);
        } catch (
ex) { // IE 8 doesn't support enumerable:true
            
if (ex.number === -0x7FF5EC54) {
                
classListPropDesc.enumerable false;
                
objCtr.defineProperty(elemCtrProtoclassListPropclassListPropDesc);
            }
        }
    } else if (
objCtr[protoProp].__defineGetter__) {
        
elemCtrProto.__defineGetter__(classListPropclassListGetter);
    }

    }(
window));

    }
};

if ( (
typeof RICKSHAW_NO_COMPAT !== "undefined" && !RICKSHAW_NO_COMPAT) || typeof RICKSHAW_NO_COMPAT === "undefined") {
    new 
Rickshaw.Compat.ClassList();
}
?>
Онлайн: 0
Реклама