javascripts/core.js
/*
* This file gets loaded along with the rest of Ext library at the initial load
* At this time the following constants have been set by Rails:
*
* * Netzke.RelativeUrlRoot - set to ActionController::Base.config.relative_url_root
* * Netzke.RelativeExtUrl - URL to ext files
* * Netzke.ControllerUrl - NetzkeController URL
*/
Ext.ns('Ext.netzke'); // namespace for extensions that depend on Ext JS
Ext.ns('Netzke.page'); // namespace for all component instances on the page
Ext.ns('Netzke.classes'); // namespace for component classes
Netzke.warning = function(msg){
if (typeof console != 'undefined') {
console.info("Netzke: " + msg);
}
};
Netzke.deprecationWarning = Netzke.warning;
Netzke.exception = function(msg) {
throw("Netzke: " + msg);
};
// Check Ext JS version: both major and minor versions must be the same
(function(){
var requiredVersionMajor = 6,
requiredVersionMinor = 5,
extVersion = Ext.getVersion('extjs'),
currentVersionMajor = extVersion.getMajor(),
currentVersionMinor = extVersion.getMinor(),
requiredString = "" + requiredVersionMajor + "." + requiredVersionMinor + ".x";
if (requiredVersionMajor != currentVersionMajor || requiredVersionMinor != currentVersionMinor) {
Netzke.warning("Ext JS " + requiredString + " required (you have " + extVersion.toString() + ").");
}
})();
// Netzke global event emitter
Ext.define('Netzke.GlobalEvents', {
extend: 'Ext.mixin.Observable',
singleton: true
});
// xtypes of cached Netzke classes
Netzke.cache = [];
// Because of Netzke's double-underscore notation, Ext.TabPanel should have a different id-delimiter (yes, this must be in netzke-core)
Ext.TabPanel.prototype.idDelimiter = "___";
// Enable quick tips
Ext.QuickTips.init();
// Used in testing
if( Netzke._pendingRequests == undefined ){
Netzke._pendingRequests=0;
Ext.Ajax.on('beforerequest', function(conn, opt) { Netzke._pendingRequests += 1; });
Ext.Ajax.on('requestcomplete', function(conn, opt) { Netzke._pendingRequests -= 1; });
Ext.Ajax.on('requestexception', function(conn, opt) { Netzke._pendingRequests -= 1; });
Netzke.ajaxIsLoading = function() { return Netzke._pendingRequests > 0; };
}