Вход Регистрация
Файл: framework/thirdparty/jquery-entwine/src/jquery.entwine.properties.js
Строк: 142
<?php
(function($) {    

    var 
entwine_prepend '__entwine!';
    
    var 
getEntwineData = function(el, namespace, property) {
        return 
el.data(entwine_prepend + namespace + '!' property);
    };
    
    var 
setEntwineData = function(el, namespace, propertyvalue) {
        return 
el.data(entwine_prepend + namespace + '!' propertyvalue);
    };
    
    var 
getEntwineDataAsHash = function(el, namespace) {
        var 
hash = {};
        var 
id jQuery.data(el[0]);
        
        var 
matchstr entwine_prepend + namespace + '!';
        var 
matchlen matchstr.length;
        
        var 
cache jQuery.cache[id];
        for (var 
k in cache) {
            if (
k.substr(0,matchlen) == matchstrhash[k.substr(matchlen)] = cache[k];
        }
        
        return 
hash;
    };
    
    var 
setEntwineDataFromHash = function(el, namespace, hash) {
        for (var 
k in hashsetEntwineData(namespace, khash[k]);
    };

    var 
entwineData = function(el, namespace, args) {
        switch (
args.length) {
            case 
0:
                return 
getEntwineDataAsHash(el, namespace);
            case 
1:
                if (
typeof args[0] == 'string') return getEntwineData(el, namespace, args[0]);
                else                            return 
setEntwineDataFromHash(el, namespace, args[0]);
            default:
                return 
setEntwineData(el, namespace, args[0], args[1]);
        }
    };
 
    $.
extend($.fn, {
        
entwineData: function() {
            return 
entwineData(this'__base'arguments);
        }
    });
    
    $.
entwine.Namespace.addHandler({
        
order60,
        
        
bind: function(selectorkv) {
            if (
k.charAt(0) != k.charAt(0).toUpperCase()) $.entwine.warn('Entwine property '+k+' does not start with a capital letter', $.entwine.WARN_LEVEL_BESTPRACTISE);

            
// Create the getters and setters

            
var getterName 'get'+k;
            var 
setterName 'set'+k;

            
this.bind_proxy(selectorgetterName, function() { var this.entwineData(k); return === undefined r; });
            
this.bind_proxy(selectorsetterName, function(v){ return this.entwineData(kv); });
            
            
// Get the get and set proxies we just created
            
            
var getter this.injectee[getterName];
            var 
setter this.injectee[setterName];
            
            
// And bind in the jQuery-style accessor
            
            
this.bind_proxy(selectork, function(v){ return (arguments.length == setter getter).call(thisv) ; });

            return 
true;
        },
        
        
namespaceMethodOverrides: function(namespace){
            return {
                
entwineData: function() {
                    return 
entwineData(this, namespace.namearguments);
                }
            };
        }
    });
    
})(
jQuery);
?>
Онлайн: 1
Реклама