Вход Регистрация
Файл: framework/admin/thirdparty/history-js/scripts/uncompressed/history.adapter.mootools.js
Строк: 116
<?php
/**
 * History.js MooTools Adapter
 * @author Benjamin Arthur Lupton <contact@balupton.com>
 * @copyright 2010-2011 Benjamin Arthur Lupton <contact@balupton.com>
 * @license New BSD License <http://creativecommons.org/licenses/BSD/>
 */

// Closure
(function(window,undefined){
    
"use strict";

    
// Localise Globals
    
var
        
History window.History window.History||{},
        
MooTools window.MooTools,
        
Element window.Element;

    
// Check Existence
    
if ( typeof History.Adapter !== 'undefined' ) {
        throw new 
Error('History.js Adapter has already been loaded...');
    }

    
// Make MooTools aware of History.js Events
    
Object.append(Element.NativeEvents,{
        
'popstate':2,
        
'hashchange':2
    
});

    
// Add the Adapter
    
History.Adapter = {
        
/**
         * History.Adapter.bind(el,event,callback)
         * @param {Element|string} el
         * @param {string} event - custom and standard events
         * @param {function} callback
         * @return {void}
         */
        
bind: function(el,event,callback){
            var 
El typeof el === 'string' document.id(el) : el;
            
El.addEvent(event,callback);
        },

        
/**
         * History.Adapter.trigger(el,event)
         * @param {Element|string} el
         * @param {string} event - custom and standard events
         * @param {Object=} extra - a object of extra event data (optional)
         * @return void
         */
        
trigger: function(el,event,extra){
            var 
El typeof el === 'string' document.id(el) : el;
            
El.fireEvent(event,extra);
        },

        
/**
         * History.Adapter.extractEventData(key,event,extra)
         * @param {string} key - key for the event data to extract
         * @param {string} event - custom and standard events
         * @return {mixed}
         */
        
extractEventData: function(key,event){
            
// MooTools Native then MooTools Custom
            
var result = (event && event.event && event.event[key]) || (event && event[key]) || undefined;

            
// Return
            
return result;
        },

        
/**
         * History.Adapter.onDomLoad(callback)
         * @param {function} callback
         * @return {void}
         */
        
onDomLoad: function(callback) {
            
window.addEvent('domready',callback);
        }
    };

    
// Try and Initialise History
    
if ( typeof History.init !== 'undefined' ) {
        
History.init();
    }

})(
window);
?>
Онлайн: 0
Реклама