Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #29603

Can someone tell if this is javascript or else (jquery)?

Newsgroups comp.lang.javascript
Date 2016-02-14 14:49 -0800
Message-ID <89e24913-7873-405c-9b54-9c35331c4d15@googlegroups.com> (permalink)
Subject Can someone tell if this is javascript or else (jquery)?
From bpascal123 <bpascal123@gmail.com>

Show all headers | View raw


new (function() {
	var jqsdElements = { };

	this.changeActiveState = function(obj, mode, enabled) {
		switch (mode) {
			case 'hide':
				if (enabled) {
					obj.show();
				} else {
					obj.hide();
				}
				break;
			case 'disable':
			default:
				if (enabled) {
					obj.attr('disabled', false);
				} else {
					obj.attr('disabled', 'disabled');
				}
				break;
		}
	};

	this.disableChildren = function(node_id) {
		if (node_id in jqsdElements) {
			for (var dependent in jqsdElements[node_id]) {
				var el = $('#' + dependent);
				var mode = el.attr('jqsd:hide_mode');
				el.find(':nth-child(1)').prop('selected',true);
				this.changeActiveState(el, mode, false);
				this.disableChildren(dependent);
			}
		}
	};

	this.onChange = function(id, val) {
		for (var dependent in jqsdElements[id]) {
			var dObj = $('#' + dependent);
			var keys = ['_ALL_'];

			if (val in jqsdElements[id][dependent]['options']) {
				keys[keys.length] = val;
			}

			dObj.find('option').remove();

			var totalOps = 0;
			var opsToAdd = { };

			for (var i=0;i<keys.length;i++) {
				var key = keys[i];
				for (var optOrder in jqsdElements[id][dependent]['options'][key]) {
					var opt = jqsdElements[id][dependent]['options'][key][optOrder];
					opsToAdd[optOrder] = opt;
					totalOps++;
				}
			}

			if (Object.keys) {
				var reOrder = opsToAdd, keys = Object.keys(opsToAdd), i, len = keys.length;
				keys.sort();

				for (i = 0; i < len; i++) {
					k = keys[i];
					dObj.append(opsToAdd[k]);
				}
			} else {
				for (var orderKey in opsToAdd) {
					dObj.append(opsToAdd[orderKey]);
				}
			}

			dObj.find(':nth-child(1)').prop('selected',true);

			this.disableChildren(dependent);

			if (totalOps > 0) {
				if (totalOps == 1) {
					if (dObj.find(':nth-child(1)').val() != '') {
						this.changeActiveState(dObj, jqsdElements[id][dependent].hidemode, true);
					}
				} else {
					this.changeActiveState(dObj, jqsdElements[id][dependent].hidemode, true);
				}
			}
		}
	};

	this.init = function() {
		var p = this;
		$('select[jqsd\\:depends_on]').each(function() {
			var selId = $(this).attr('id');

			if (!selId) {
				alert('JQSD Error - One or more selects are missing id values');
				return;
			}

			var hideMode = ($(this).attr('jqsd:hide_mode')) ? $(this).attr('jqsd:hide_mode') : 'disable';
			var depends_on = $(this).attr('jqsd:depends_on');

			p.changeActiveState($(this), hideMode, false);

			if ($('#' + depends_on).length == 0) {
				alert('JQSD Error - One or more selects are missing id values');
				return;
			}

			var options = {
				'_ALL_': { }
			};

			var optOrder = 0;
			$(this).find('option').each(function() {
				var rel = $(this).attr('rel');
				if (!rel) {
					options['_ALL_'][optOrder] = $(this);
				} else {
					var opts = rel.split(',');
					for (var i=0;i<opts.length;i++) {
						if (!options[opts[i]]) {
							options[opts[i]] = [ ];
						}

						options[opts[i]][optOrder] = $(this);
					}
				}

				optOrder++;
			});

			if (!jqsdElements[depends_on]) {
				jqsdElements[depends_on] = { };
			}

			jqsdElements[depends_on][selId] = {
				options: options,
				hidemode: hideMode
			};

			p.onChange(depends_on, $('#' + depends_on).val());
		});

		$('select').on('change', $.proxy(function(evt) {
			var id = $(evt.target).attr('id');
	
			if (!(id in jqsdElements)) {
				return;
			}
	
			var val = $(evt.target).val();

			this.onChange(id, val);
		}, this));
	}

	this.preInit = function() {
		$(document).ready($.proxy(this.init, this));
	}

})().preInit();

Back to comp.lang.javascript | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Can someone tell if this is javascript or else (jquery)? bpascal123 <bpascal123@gmail.com> - 2016-02-14 14:49 -0800
  Re: Can someone tell if this is javascript or else (jquery)? Stefan Weiss <krewecherl@gmail.com> - 2016-02-15 00:05 +0100
    Re: Can someone tell if this is javascript or else (jquery)? bpascal123 <bpascal123@gmail.com> - 2016-02-14 15:26 -0800
      Re: Can someone tell if this is javascript or else (jquery)? Stefan Weiss <krewecherl@gmail.com> - 2016-02-15 01:22 +0100
        Re: Can someone tell if this is javascript or else (jquery)? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-02-15 20:00 +0100
      Re: Can someone tell if this is javascript or else (jquery)? "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2016-02-15 05:41 -0800
  Re: Can someone tell if this is javascript or else (jquery)? bpascal123 <bpascal123@gmail.com> - 2016-02-15 16:59 -0800
    Re: Can someone tell if this is javascript or else (jquery)? Stefan Weiss <krewecherl@gmail.com> - 2016-02-16 04:20 +0100
      Re: Can someone tell if this is javascript or else (jquery)? "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2016-02-15 22:18 -0800
      Re: Can someone tell if this is javascript or else (jquery)? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-02-16 08:36 +0100
        Re: Can someone tell if this is javascript or else (jquery)? Stefan Weiss <krewecherl@gmail.com> - 2016-02-16 11:45 +0100
          Re: Can someone tell if this is javascript or else (jquery)? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-02-16 20:23 +0100
            Re: Can someone tell if this is javascript or else (jquery)? John Harris <niam@jghnorth.org.uk.invalid> - 2016-02-16 20:24 +0000
              Re: Can someone tell if this is javascript or else (jquery)? Andrew Poulos <ap_prog@hotmail.com> - 2016-02-17 07:31 +1100
                Re: Can someone tell if this is javascript or else (jquery)? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-02-17 15:57 +0100
                Re: Can someone tell if this is javascript or else (jquery)? Tim Streater <timstreater@greenbee.net> - 2016-02-17 15:09 +0000
                Re: Can someone tell if this is javascript or else (jquery)? John Harris <niam@jghnorth.org.uk.invalid> - 2016-02-17 16:09 +0000
                Re: Can someone tell if this is javascript or else (jquery)? John Harris <niam@jghnorth.org.uk.invalid> - 2016-02-17 15:45 +0000
                Re: Can someone tell if this is javascript or else (jquery)? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-02-18 00:09 +0100
                Re: Can someone tell if this is javascript or else (jquery)? Andrew Poulos <ap_prog@hotmail.com> - 2016-02-18 19:29 +1100
                Re: Can someone tell if this is javascript or else (jquery)? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-02-18 23:36 +0100
                Re: Can someone tell if this is javascript or else (jquery)? John Harris <niam@jghnorth.org.uk.invalid> - 2016-02-19 10:51 +0000
                Re: Can someone tell if this is javascript or else (jquery)? Scott Sauyet <scott.sauyet@gmail.com> - 2016-02-19 09:01 -0800
                Re: Can someone tell if this is javascript or else (jquery)? John Harris <niam@jghnorth.org.uk.invalid> - 2016-02-18 15:10 +0000
            Re: Can someone tell if this is javascript or else (jquery)? Stefan Weiss <krewecherl@gmail.com> - 2016-02-16 23:56 +0100
  Re: Can someone tell if this is javascript or else (jquery)? bpascal123 <bpascal123@gmail.com> - 2016-02-17 04:46 -0800

csiph-web