All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.org.richfaces.json-dom.js Maven / Gradle / Ivy

There is a newer version: 4.6.21.ayg
Show newest version
// AJAX-JSF AJAX-like library, for communicate with view Tree on server side.
// In case of XMLHttpRequest don't worked, use :
// JSHttpRequest v1.12. (C) Dmitry Koterov, 2005-01-27. 
// http://forum.dklab.ru/users/DmitryKoterov/
//
// Do not remove this comment if you want to use script!
// ?? ???????? ?????? ???????????, ???? ?? ?????? ???????????? ??????!
//
// Modified by Alexander J. Smirnov to use as JSF AJAX-like components. 

// DOM - like elements for JSRequest. JS serialiser encode
// XML sax events to creation of corresponding objects.  
JSNode =  function() {
};

// Base node  
JSNode.prototype = {
	tag : null,
	attrs : {},
	childs : [],
	value : "",
	_symbols : {
			'&':"&",
			'<':"<",
			'>':">",
			'"':""",
			'\'':"'",
			'\u00A0':" "
	},

	// Public functions
	getInnerHTML : function(context) {
		var children = [];
		for (var i = 0; i < this.childs.length; i++)
		{
			children.push(this.childs[i].getContent(context)); 
		}
		return children.join('');
	},
	// Escape XML symbols - < > & ' ...
	xmlEscape : function(value) {
		return RichFaces.jQuery("
").text(value).html(); } }; // Element node E = function(tagname,attributes,childnodes) { this.tag = tagname; if (attributes) this.attrs = attributes; if(childnodes) this.childs = childnodes; }; E.prototype = new JSNode(); E.prototype.getContent = function(context) { var html = "<"+this.tag; var inner = this.getInnerHTML(context); if (inner=='') this.isEmpty = true; else this.isEmpty=false; for(var i in this.attrs) { if (!this.attrs.hasOwnProperty(i)) { continue ; } var attrValue = this.attrs[i]; if (typeof attrValue == "function") attrValue = attrValue.call(this, context); if (attrValue) html += " "+(i=='className'?'class':i)+'="'+this.xmlEscape(attrValue)+'"'; } html+= ">"+inner+""; return html; }; // Escaped Text node ET = function(text) { this.value = text; }; //ET.prototype = new JSNode(); ET.prototype.getContent = function(context) { var value = this.value; if (typeof value=="function") value=value(context); if (value && value.getContent) { value = value.getContent(context); } if (value) return value; return ""; }; // Text node T = function(text) { this.value = text; }; T.prototype = new JSNode(); T.prototype.getContent = function(context) { var value = this.value; if (typeof value=="function") value=value(context); if (value) return this.xmlEscape(value); return ""; }; // Comment node C = function(text) { this.value = text; }; //C.prototype = new JSNode(); C.prototype.getContent = function(context) { return ""; }; // CDATA Section node. D = function(text) { this.value = text; }; //D.prototype = new JSNode(); D.prototype.getContent = function(context) { return ""; };




© 2015 - 2024 Weber Informatics LLC | Privacy Policy