فهرست منبع

retab amber.js

Nicolas Petton 12 سال پیش
والد
کامیت
ceac2bf5d4
1فایلهای تغییر یافته به همراه183 افزوده شده و 183 حذف شده
  1. 183 183
      js/amber.js

+ 183 - 183
js/amber.js

@@ -1,193 +1,193 @@
 /* Amber package loading
-   usage example:
-   amber.load({
-     files: ['MyCategory1.js', 'MyCategory2.js'],
-     ready: function() {smalltalk.Browser._open()}
-   })
+	usage example:
+	amber.load({
+		files: ['MyCategory1.js', 'MyCategory2.js'],
+		ready: function() {smalltalk.Browser._open()}
+	})
 */
 
 
 amber = (function() {
-    var that = {};
-
-    var scripts = document.getElementsByTagName("script");
-    var src     = scripts[ scripts.length - 1 ].src;
-    var home    = src.split("/").slice(0, -2).join("/") + "/";
-    var nocache = '?' + (new Date()).getTime();
-
-    var debug;
-    var deploy;
-
-    var localStorageSource = [];
-    var localPackages;
-    var spec;
-
-    that.load = function(obj) {
-	spec = obj || {};
-
-	// In deployment mode, only the compressed version of Kernel
-	// and Canvas are loaded
-	deploy = spec.deploy || false;
-	debug = spec.debug || false;
-
-	// Specify a version string to avoid wrong browser caching
-	if (spec.version) {
-	    nocache = '?' + spec.version;
-	}
-	
-	loadDependencies();
-	loadJS('boot.js');
-	
-	populateLocalPackages();
-
-	if (deploy) {
-	    loadPackages([
-		'Kernel.deploy',
-		'Canvas.deploy'
-	    ]);
-	} else {
-	    loadIDEDependencies();
-	    loadCSS('amber.css');
-	    
-	    loadPackages([
-		'Kernel',
-		'Canvas',
-		'Compiler',
-		'parser',
-		'IDE',
-		'SUnit',
-		'Examples',
-		'Benchfib',
-		'Kernel-Tests'
-	    ]);
-	}
-
-	var additionalFiles = spec.packages || spec.files;
-	    if (additionalFiles) {
-		loadPackages(additionalFiles, spec.prefix);
-	    }
-
-	    // Always load all local packages
-	    for (name in localPackages) {
-		log('Local package:  ' + name);
-		localStorageSource.push(localPackages[name]);
-	    }
-
-	    // Be sure to setup & initialize smalltalk classes
-	    loadJS('init.js');
-	    initializeSmalltalk();
-    };
-
-    function loadPackages(names, prefix){
-	var name, url;
-	var prefix = prefix || 'js';
-	
-	for (var i=0; i < names.length; i++) {
-	    name = names[i].split(/\.js$/)[0];
-	    
-	    // Only load package from the server if it isn't stored in
-	    // localStorage
-	    if (!(name in localPackages)) {
-		log('Server package: ' + name);
-		loadJS(name + '.js', prefix);
-	    }
-	}
-    };
-
-    function loadJS(name, prefix) {
-	var prefix = prefix || 'js';
-	var name = name;
-	
-	if (!deploy) {
-	    name = name + nocache;
-	}
-
-	var url = home + prefix + '/' + name;
-	var scriptString = '<script src="' + url + '" type="text/javascript"></script>';
-	document.write(scriptString);
-    };
-
-    function loadCSS(name, prefix) {
-	var prefix = prefix || 'css';
-	var name = name;
-	if (!deploy) {
-	    name = name + nocache;
-	}
-
-	var url = home + prefix + '/' + name;
-
-	var link = document.createElement("link");
-	link.setAttribute("rel", "stylesheet");
-	link.setAttribute("type", "text/css");
-	link.setAttribute("href", url);
-	document.getElementsByTagName("head")[0].appendChild(link);
-    };
-
-    function loadDependencies() {
-	loadJS('lib/jQuery/jquery-1.6.4.min.js');
-	loadJS('lib/jQuery/jquery-ui-1.8.9.custom.min.js');
-    };
-    
-    function loadIDEDependencies() {
-	loadJS('lib/jQuery/jquery.textarea.js');
-	loadJS('lib/CodeMirror/lib/codemirror.js');
-	loadCSS('lib/CodeMirror/lib/codemirror.css', 'js');
-	loadJS('lib/CodeMirror/mode/smalltalk/smalltalk.js');
-	loadCSS('lib/CodeMirror/theme/amber.css', 'js');
-    };
-
-    // This will be called after JS files have been loaded
-    function initializeSmalltalk() {
-	
-	window.smalltalkReady = function() {
-	    
-	    for (var i=0; i < localStorageSource.length; i++) {
-		eval(localStorageSource[i]);
-	    }
-	    
-	    if (deploy) {
-		smalltalk.setDeploymentMode();
-	    }
-	    
-	    if (spec.ready) {
-		spec.ready();
-	    }
-	}
-    };
-
-    function populateLocalPackages(){
-	var localStorageRE = /^smalltalk\.packages\.(.*)$/;
-	localPackages = {};
-
-	var match, key;
-	
-	for(var i=0; i < localStorage.length; i++) {
-	    key = localStorage.key(i);
-	    
-	    if (match = key.match(localStorageRE)) {
-		localPackages[match[1]] = localStorage[key];
-	    }
-	}
-
-	return localPackages;
-    };
-
-    function clearLocalPackages() {
-	for (var name in localPackages) {
-	    log('Removing ' + name + ' from local storage');
-	    localStorage.removeItem('smalltalk.packages.' + name);
-	}
-    };
-
-    function log(string) {
-	if (debug) {
-	    console.log(string);
+	var that = {};
+
+	var scripts = document.getElementsByTagName("script");
+	var src     = scripts[ scripts.length - 1 ].src;
+	var home    = src.split("/").slice(0, -2).join("/") + "/";
+	var nocache = '?' + (new Date()).getTime();
+
+	var debug;
+	var deploy;
+
+	var localStorageSource = [];
+	var localPackages;
+	var spec;
+
+	that.load = function(obj) {
+		spec = obj || {};
+
+		// In deployment mode, only the compressed version of Kernel
+		// and Canvas are loaded
+		deploy = spec.deploy || false;
+		debug = spec.debug || false;
+
+		// Specify a version string to avoid wrong browser caching
+		if (spec.version) {
+			nocache = '?' + spec.version;
+		}
+
+		loadDependencies();
+		loadJS('boot.js');
+
+		populateLocalPackages();
+
+		if (deploy) {
+			loadPackages([
+					'Kernel.deploy',
+					'Canvas.deploy'
+					]);
+		} else {
+			loadIDEDependencies();
+			loadCSS('amber.css');
+
+			loadPackages([
+				'Kernel',
+				'Canvas',
+				'Compiler',
+				'parser',
+				'IDE',
+				'SUnit',
+				'Examples',
+				'Benchfib',
+				'Kernel-Tests'
+			]);
+		}
+
+		var additionalFiles = spec.packages || spec.files;
+		if (additionalFiles) {
+			loadPackages(additionalFiles, spec.prefix);
+		}
+
+		// Always load all local packages
+		for (name in localPackages) {
+			log('Local package:  ' + name);
+			localStorageSource.push(localPackages[name]);
+		}
+
+		// Be sure to setup & initialize smalltalk classes
+		loadJS('init.js');
+		initializeSmalltalk();
+	};
+
+	function loadPackages(names, prefix){
+		var name, url;
+		var prefix = prefix || 'js';
+
+		for (var i=0; i < names.length; i++) {
+			name = names[i].split(/\.js$/)[0];
+
+			// Only load package from the server if it isn't stored in
+			// localStorage
+			if (!(name in localPackages)) {
+				log('Server package: ' + name);
+				loadJS(name + '.js', prefix);
+			}
+		}
+	};
+
+	function loadJS(name, prefix) {
+		var prefix = prefix || 'js';
+		var name = name;
+
+		if (!deploy) {
+			name = name + nocache;
+		}
+
+		var url = home + prefix + '/' + name;
+		var scriptString = '<script src="' + url + '" type="text/javascript"></script>';
+		document.write(scriptString);
+	};
+
+	function loadCSS(name, prefix) {
+		var prefix = prefix || 'css';
+		var name = name;
+		if (!deploy) {
+			name = name + nocache;
+		}
+
+		var url = home + prefix + '/' + name;
+
+		var link = document.createElement("link");
+		link.setAttribute("rel", "stylesheet");
+		link.setAttribute("type", "text/css");
+		link.setAttribute("href", url);
+		document.getElementsByTagName("head")[0].appendChild(link);
+	};
+
+	function loadDependencies() {
+		loadJS('lib/jQuery/jquery-1.6.4.min.js');
+		loadJS('lib/jQuery/jquery-ui-1.8.9.custom.min.js');
+	};
+
+	function loadIDEDependencies() {
+		loadJS('lib/jQuery/jquery.textarea.js');
+		loadJS('lib/CodeMirror/lib/codemirror.js');
+		loadCSS('lib/CodeMirror/lib/codemirror.css', 'js');
+		loadJS('lib/CodeMirror/mode/smalltalk/smalltalk.js');
+		loadCSS('lib/CodeMirror/theme/amber.css', 'js');
+	};
+
+	// This will be called after JS files have been loaded
+	function initializeSmalltalk() {
+
+		window.smalltalkReady = function() {
+
+			for (var i=0; i < localStorageSource.length; i++) {
+				eval(localStorageSource[i]);
+			}
+
+			if (deploy) {
+				smalltalk.setDeploymentMode();
+			}
+
+			if (spec.ready) {
+				spec.ready();
+			}
+		}
+	};
+
+	function populateLocalPackages(){
+		var localStorageRE = /^smalltalk\.packages\.(.*)$/;
+		localPackages = {};
+
+		var match, key;
+
+		for(var i=0; i < localStorage.length; i++) {
+			key = localStorage.key(i);
+
+			if (match = key.match(localStorageRE)) {
+				localPackages[match[1]] = localStorage[key];
+			}
+		}
+
+		return localPackages;
+	};
+
+	function clearLocalPackages() {
+		for (var name in localPackages) {
+			log('Removing ' + name + ' from local storage');
+			localStorage.removeItem('smalltalk.packages.' + name);
+		}
+	};
+
+	function log(string) {
+		if (debug) {
+			console.log(string);
+		}
 	}
-    }
 
-    return that;
+	return that;
 })();
 
 window.loadAmber = function(spec) {
-    amber.load(spec);
-}
+	amber.load(spec);
+}