aboutsummaryrefslogtreecommitdiff
path: root/js/lib/elgglib.js
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-01-04 19:48:31 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-01-04 19:48:31 +0000
commit048969a77c32190e9590115b67a525d61f4752c6 (patch)
tree97a3e3d8d91db570a82bcb5a4815a6e45ad0170b /js/lib/elgglib.js
parent0ce5ae4b1dcbc4567bb1bd27228eface92ab2bde (diff)
downloadelgg-048969a77c32190e9590115b67a525d61f4752c6.tar.gz
elgg-048969a77c32190e9590115b67a525d61f4752c6.tar.bz2
Refs #2771: Removing CRLFs from javascript files.
git-svn-id: http://code.elgg.org/elgg/trunk@7826 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'js/lib/elgglib.js')
-rw-r--r--js/lib/elgglib.js638
1 files changed, 319 insertions, 319 deletions
diff --git a/js/lib/elgglib.js b/js/lib/elgglib.js
index bed2db39d..0a627dc70 100644
--- a/js/lib/elgglib.js
+++ b/js/lib/elgglib.js
@@ -1,320 +1,320 @@
-/**
- * @namespace Singleton object for holding the Elgg javascript library
- */
-var elgg = elgg || {};
-
-/**
- * Pointer to the global context
- *
- * @see elgg.require
- * @see elgg.provide
- */
-elgg.global = this;
-
-/**
- * Convenience reference to an empty function.
- *
- * Save memory by not generating multiple empty functions.
- */
-elgg.nullFunction = function() {};
-
-/**
- * This forces an inheriting class to implement the method or
- * it will throw an error.
- *
- * @example
- * AbstractClass.prototype.toBeImplemented = elgg.abstractMethod;
- */
-elgg.abstractMethod = function() {
- throw new Error("Oops... you forgot to implement an abstract method!");
-};
-
-/**
- * Merges two or more objects together and returns the result.
- */
-elgg.extend = jQuery.extend;
-
-/**
- * Check if the value is an array.
- *
- * No sense in reinventing the wheel!
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isArray = jQuery.isArray;
-
-/**
- * Check if the value is a function.
- *
- * No sense in reinventing the wheel!
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isFunction = jQuery.isFunction;
-
-/**
- * Check if the value is a "plain" object (i.e., created by {} or new Object())
- *
- * No sense in reinventing the wheel!
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isPlainObject = jQuery.isPlainObject;
-
-/**
- * Check if the value is a string
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isString = function(val) {
- return typeof val === 'string';
-};
-
-/**
- * Check if the value is a number
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isNumber = function(val) {
- return typeof val === 'number';
-};
-
-/**
- * Check if the value is an object
- *
- * @note This returns true for functions and arrays! If you want to return true only
- * for "plain" objects (created using {} or new Object()) use elgg.isPlainObject.
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isObject = function(val) {
- return typeof val === 'object';
-};
-
-/**
- * Check if the value is undefined
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isUndefined = function(val) {
- return val === undefined;
-};
-
-/**
- * Check if the value is null
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isNull = function(val) {
- return val === null;
-};
-
-/**
- * Check if the value is either null or undefined
- *
- * @param {*} val
- *
- * @return boolean
- */
-elgg.isNullOrUndefined = function(val) {
- return val == null;
-};
-
-/**
- * Throw an exception of the type doesn't match
- *
- * @todo Might be more appropriate for debug mode only?
- */
-elgg.assertTypeOf = function(type, val) {
- if (typeof val !== type) {
- throw new TypeError("Expecting param of " +
- arguments.caller + "to be a(n) " + type + "." +
- " Was actually a(n) " + typeof val + ".");
- }
-};
-
-/**
- * Throw an error if the required package isn't present
- *
- * @param {String} pkg The required package (e.g., 'elgg.package')
- */
-elgg.require = function(pkg) {
- elgg.assertTypeOf('string', pkg);
-
- var parts = pkg.split('.'),
- cur = elgg.global,
- part, i;
-
- for (i = 0; i < parts.length; i += 1) {
- part = parts[i];
- cur = cur[part];
- if (elgg.isUndefined(cur)) {
- throw new Error("Missing package: " + pkg);
- }
- }
-};
-
-/**
- * Generate the skeleton for a package.
- *
- * <pre>
- * elgg.provide('elgg.package.subpackage');
- * </pre>
- *
- * is equivalent to
- *
- * <pre>
- * elgg = elgg || {};
- * elgg.package = elgg.package || {};
- * elgg.package.subpackage = elgg.package.subpackage || {};
- * </pre>
- *
- * @example elgg.provide('elgg.config.translations')
- *
- * @param {string} pkg The package name.
- */
-elgg.provide = function(pkg, opt_context) {
- elgg.assertTypeOf('string', pkg);
-
- var parts = pkg.split('.'),
- context = opt_context || elgg.global,
- part, i;
-
-
- for (i = 0; i < parts.length; i += 1) {
- part = parts[i];
- context[part] = context[part] || {};
- context = context[part];
- }
-};
-
-/**
- * Inherit the prototype methods from one constructor into another.
- *
- * @example
- * <pre>
- * function ParentClass(a, b) { }
- *
- * ParentClass.prototype.foo = function(a) { alert(a); }
- *
- * function ChildClass(a, b, c) {
- * //equivalent of parent::__construct(a, b); in PHP
- * ParentClass.call(this, a, b);
- * }
- *
- * elgg.inherit(ChildClass, ParentClass);
- *
- * var child = new ChildClass('a', 'b', 'see');
- * child.foo('boo!'); // alert('boo!');
- * </pre>
- *
- * @param {Function} childCtor Child class.
- * @param {Function} parentCtor Parent class.
- */
-elgg.inherit = function(Child, Parent) {
- Child.prototype = new Parent();
- Child.prototype.constructor = Child;
-};
-
-/**
- * Prepend elgg.config.wwwroot to a url if the url doesn't already have it.
- *
- * @param {String} url The url to extend
- * @return {String} The extended url
- * @private
- */
-elgg.normalize_url = function(url) {
- url = url || '';
- elgg.assertTypeOf('string', url);
-
- // jslint complains if you use /regexp/ shorthand here... ?!?!
- if ((new RegExp("^(https?:)?//")).test(url)) {
- return url;
- }
-
- return elgg.config.wwwroot + url.ltrim('/');
-};
-
-/**
- * Displays system messages via javascript rather than php.
- *
- * @param {String} msgs The message we want to display
- * @param {Number} delay The amount of time to display the message in milliseconds. Defaults to 6 seconds.
- * @param {String} type The type of message (typically 'error' or 'message')
- * @private
- */
-elgg.system_messages = function(msgs, delay, type) {
- if (elgg.isUndefined(msgs)) {
- return;
- }
-
- var classes = ['elgg_system_message', 'radius8'],
- messages_html = [],
- appendMessage = function(msg) {
- messages_html.push('<div class="' + classes.join(' ') + '"><p>' + msg + '</p></div>');
- }, i;
-
- //validate delay. Must be a positive integer.
- delay = parseInt(delay || 6000, 10);
- if (isNaN(delay) || delay <= 0) {
- delay = 6000;
- }
-
- if (type === 'error') {
- classes.push('messages_error');
- }
-
- //Handle non-arrays
- if (!elgg.isArray(msgs)) {
- msgs = [msgs];
- }
-
- msgs.forEach(appendMessage);
-
- $(messages_html.join('')).appendTo('#elgg_system_messages')
- .animate({opacity: '1.0'}, delay).fadeOut('slow');
-};
-
-/**
- * Wrapper function for system_messages. Specifies "messages" as the type of message
- * @param {String} msg The message to display
- * @param {Number} delay How long to display the message (milliseconds)
- */
-elgg.system_message = function(msgs, delay) {
- elgg.system_messages(msgs, delay, "message");
-};
-
-/**
- * Wrapper function for system_messages. Specifies "errors" as the type of message
- * @param {String} error The error message to display
- * @param {Number} delay How long to dispaly the error message (milliseconds)
- */
-elgg.register_error = function(errors, delay) {
- elgg.system_messages(errors, delay, "error");
-};
-
-/**
- * Meant to mimic the php forward() function by simply redirecting the
- * user to another page.
- *
- * @param {String} url The url to forward to
- */
-elgg.forward = function(url) {
- location.href = elgg.normalize_url(url);
+/**
+ * @namespace Singleton object for holding the Elgg javascript library
+ */
+var elgg = elgg || {};
+
+/**
+ * Pointer to the global context
+ *
+ * @see elgg.require
+ * @see elgg.provide
+ */
+elgg.global = this;
+
+/**
+ * Convenience reference to an empty function.
+ *
+ * Save memory by not generating multiple empty functions.
+ */
+elgg.nullFunction = function() {};
+
+/**
+ * This forces an inheriting class to implement the method or
+ * it will throw an error.
+ *
+ * @example
+ * AbstractClass.prototype.toBeImplemented = elgg.abstractMethod;
+ */
+elgg.abstractMethod = function() {
+ throw new Error("Oops... you forgot to implement an abstract method!");
+};
+
+/**
+ * Merges two or more objects together and returns the result.
+ */
+elgg.extend = jQuery.extend;
+
+/**
+ * Check if the value is an array.
+ *
+ * No sense in reinventing the wheel!
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isArray = jQuery.isArray;
+
+/**
+ * Check if the value is a function.
+ *
+ * No sense in reinventing the wheel!
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isFunction = jQuery.isFunction;
+
+/**
+ * Check if the value is a "plain" object (i.e., created by {} or new Object())
+ *
+ * No sense in reinventing the wheel!
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isPlainObject = jQuery.isPlainObject;
+
+/**
+ * Check if the value is a string
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isString = function(val) {
+ return typeof val === 'string';
+};
+
+/**
+ * Check if the value is a number
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isNumber = function(val) {
+ return typeof val === 'number';
+};
+
+/**
+ * Check if the value is an object
+ *
+ * @note This returns true for functions and arrays! If you want to return true only
+ * for "plain" objects (created using {} or new Object()) use elgg.isPlainObject.
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isObject = function(val) {
+ return typeof val === 'object';
+};
+
+/**
+ * Check if the value is undefined
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isUndefined = function(val) {
+ return val === undefined;
+};
+
+/**
+ * Check if the value is null
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isNull = function(val) {
+ return val === null;
+};
+
+/**
+ * Check if the value is either null or undefined
+ *
+ * @param {*} val
+ *
+ * @return boolean
+ */
+elgg.isNullOrUndefined = function(val) {
+ return val == null;
+};
+
+/**
+ * Throw an exception of the type doesn't match
+ *
+ * @todo Might be more appropriate for debug mode only?
+ */
+elgg.assertTypeOf = function(type, val) {
+ if (typeof val !== type) {
+ throw new TypeError("Expecting param of " +
+ arguments.caller + "to be a(n) " + type + "." +
+ " Was actually a(n) " + typeof val + ".");
+ }
+};
+
+/**
+ * Throw an error if the required package isn't present
+ *
+ * @param {String} pkg The required package (e.g., 'elgg.package')
+ */
+elgg.require = function(pkg) {
+ elgg.assertTypeOf('string', pkg);
+
+ var parts = pkg.split('.'),
+ cur = elgg.global,
+ part, i;
+
+ for (i = 0; i < parts.length; i += 1) {
+ part = parts[i];
+ cur = cur[part];
+ if (elgg.isUndefined(cur)) {
+ throw new Error("Missing package: " + pkg);
+ }
+ }
+};
+
+/**
+ * Generate the skeleton for a package.
+ *
+ * <pre>
+ * elgg.provide('elgg.package.subpackage');
+ * </pre>
+ *
+ * is equivalent to
+ *
+ * <pre>
+ * elgg = elgg || {};
+ * elgg.package = elgg.package || {};
+ * elgg.package.subpackage = elgg.package.subpackage || {};
+ * </pre>
+ *
+ * @example elgg.provide('elgg.config.translations')
+ *
+ * @param {string} pkg The package name.
+ */
+elgg.provide = function(pkg, opt_context) {
+ elgg.assertTypeOf('string', pkg);
+
+ var parts = pkg.split('.'),
+ context = opt_context || elgg.global,
+ part, i;
+
+
+ for (i = 0; i < parts.length; i += 1) {
+ part = parts[i];
+ context[part] = context[part] || {};
+ context = context[part];
+ }
+};
+
+/**
+ * Inherit the prototype methods from one constructor into another.
+ *
+ * @example
+ * <pre>
+ * function ParentClass(a, b) { }
+ *
+ * ParentClass.prototype.foo = function(a) { alert(a); }
+ *
+ * function ChildClass(a, b, c) {
+ * //equivalent of parent::__construct(a, b); in PHP
+ * ParentClass.call(this, a, b);
+ * }
+ *
+ * elgg.inherit(ChildClass, ParentClass);
+ *
+ * var child = new ChildClass('a', 'b', 'see');
+ * child.foo('boo!'); // alert('boo!');
+ * </pre>
+ *
+ * @param {Function} childCtor Child class.
+ * @param {Function} parentCtor Parent class.
+ */
+elgg.inherit = function(Child, Parent) {
+ Child.prototype = new Parent();
+ Child.prototype.constructor = Child;
+};
+
+/**
+ * Prepend elgg.config.wwwroot to a url if the url doesn't already have it.
+ *
+ * @param {String} url The url to extend
+ * @return {String} The extended url
+ * @private
+ */
+elgg.normalize_url = function(url) {
+ url = url || '';
+ elgg.assertTypeOf('string', url);
+
+ // jslint complains if you use /regexp/ shorthand here... ?!?!
+ if ((new RegExp("^(https?:)?//")).test(url)) {
+ return url;
+ }
+
+ return elgg.config.wwwroot + url.ltrim('/');
+};
+
+/**
+ * Displays system messages via javascript rather than php.
+ *
+ * @param {String} msgs The message we want to display
+ * @param {Number} delay The amount of time to display the message in milliseconds. Defaults to 6 seconds.
+ * @param {String} type The type of message (typically 'error' or 'message')
+ * @private
+ */
+elgg.system_messages = function(msgs, delay, type) {
+ if (elgg.isUndefined(msgs)) {
+ return;
+ }
+
+ var classes = ['elgg_system_message', 'radius8'],
+ messages_html = [],
+ appendMessage = function(msg) {
+ messages_html.push('<div class="' + classes.join(' ') + '"><p>' + msg + '</p></div>');
+ }, i;
+
+ //validate delay. Must be a positive integer.
+ delay = parseInt(delay || 6000, 10);
+ if (isNaN(delay) || delay <= 0) {
+ delay = 6000;
+ }
+
+ if (type === 'error') {
+ classes.push('messages_error');
+ }
+
+ //Handle non-arrays
+ if (!elgg.isArray(msgs)) {
+ msgs = [msgs];
+ }
+
+ msgs.forEach(appendMessage);
+
+ $(messages_html.join('')).appendTo('#elgg_system_messages')
+ .animate({opacity: '1.0'}, delay).fadeOut('slow');
+};
+
+/**
+ * Wrapper function for system_messages. Specifies "messages" as the type of message
+ * @param {String} msg The message to display
+ * @param {Number} delay How long to display the message (milliseconds)
+ */
+elgg.system_message = function(msgs, delay) {
+ elgg.system_messages(msgs, delay, "message");
+};
+
+/**
+ * Wrapper function for system_messages. Specifies "errors" as the type of message
+ * @param {String} error The error message to display
+ * @param {Number} delay How long to dispaly the error message (milliseconds)
+ */
+elgg.register_error = function(errors, delay) {
+ elgg.system_messages(errors, delay, "error");
+};
+
+/**
+ * Meant to mimic the php forward() function by simply redirecting the
+ * user to another page.
+ *
+ * @param {String} url The url to forward to
+ */
+elgg.forward = function(url) {
+ location.href = elgg.normalize_url(url);
}; \ No newline at end of file