Sha256: dffa1a1e0de4c2017e448856997d72bb29b921ea65ed9addce54484b28075628

Contents?: true

Size: 1.31 KB

Versions: 15

Compression:

Stored size: 1.31 KB

Contents

(function($) { 
	NinjsModule.prototype.elements = function(elements, force) {
		var self = this;

		unless(is_defined(force), function() {
			force = false;
		});

		if (is_string(elements)) {
			var key = elements;
			if (is_undefined(self.dom[key])) {
				throw new SyntaxError("NinjsModule.elements('" + key + "'): " + self.name + ".dom." + key + " is undefined");
			}

			if (is_string(self.dom[key])) {
				var selection = $(self.dom[key]);

				unless(selection.length === 0, function() {
					return self.dom[key] = selection;
				}, function() {
					return self.dom[key];
				});
			}
			else {
				if (self.dom[key].length === 0 || force) {

					var return_obj = undefined;

					if (is_string(force)) {
						var selector = self.dom[key].selector;
						self.dom[key] = $(force).find(selector);
						self.dom[key].selector = selector;

						return_obj = self.dom[key];
					}

					var selection = $(self.dom[key].selector);
				
					unless(selection.length === 0, function() {
						return_obj = selection;
					});

					return return_obj;
				}
				else {
					return self.dom[key];
				}
			}
		}
		else if (is_typeof(Object, elements)) {
			self.call_on_ready(function() {
				for(var key in elements) {
					if (elements.hasOwnProperty(key)) {
						self.dom[key] = elements[key];
					}
				}
			});
		}
	};
})(jQuery);

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
ninjs-0.16.8 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.7 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.6 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.5 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.4 repository/ninjs/extensions/jquery.elements.js
ninjs-framework-0.1.0 lib/ninjs-framework/extensions/jquery.elements.js
ninjs-0.16.3 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.2 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.1 repository/ninjs/extensions/jquery.elements.js
ninjs-0.16.0 repository/ninjs/extensions/jquery.elements.js
ninjs-0.14.1 repository/ninjs/extensions/jquery.elements.js
ninjs-0.14.0 repository/ninjs/extensions/jquery.elements.js
ninjs-0.13.8 repository/ninjs/extensions/jquery.elements.js
ninjs-0.13.6 repository/ninjs/extensions/jquery.elements.js
ninjs-0.13.5 repository/ninjs/extensions/jquery.elements.js