web/data/cubicweb.js
changeset 5727 29afb9e715bb
parent 5705 30b94973bc67
child 5949 2a273c896a38
equal deleted inserted replaced
5726:c3b99606644d 5727:29afb9e715bb
    55                     rval.replace(/\'/g, '%27');
    55                     rval.replace(/\'/g, '%27');
    56         }
    56         }
    57     },
    57     },
    58 
    58 
    59     swapDOM: function (dest, src) {
    59     swapDOM: function (dest, src) {
    60         dest = getNode(dest);
    60         dest = cw.getNode(dest);
    61         var parent = dest.parentNode;
    61         var parent = dest.parentNode;
    62         if (src) {
    62         if (src) {
    63             src = getNode(src);
    63             src = cw.getNode(src);
    64             parent.replaceChild(src, dest);
    64             parent.replaceChild(src, dest);
    65         } else {
    65         } else {
    66             parent.removeChild(dest);
    66             parent.removeChild(dest);
    67         }
    67         }
    68         return src;
    68         return src;
   157      */
   157      */
   158     nodeWalkDepthFirst: function (node, visitor) {
   158     nodeWalkDepthFirst: function (node, visitor) {
   159         var children = visitor(node);
   159         var children = visitor(node);
   160         if (children) {
   160         if (children) {
   161             for (var i = 0; i < children.length; i++) {
   161             for (var i = 0; i < children.length; i++) {
   162                 nodeWalkDepthFirst(children[i], visitor);
   162                 cw.utils.nodeWalkDepthFirst(children[i], visitor);
   163             }
   163             }
   164         }
   164         }
   165     },
   165     },
   166 
   166 
   167     isArray: function (it) { // taken from dojo
   167     isArray: function (it) { // taken from dojo
   190         var names = [];
   190         var names = [];
   191         var values = [];
   191         var values = [];
   192         if (typeof(elem) == "undefined" || elem === null) {
   192         if (typeof(elem) == "undefined" || elem === null) {
   193             elem = document.body;
   193             elem = document.body;
   194         } else {
   194         } else {
   195             elem = getNode(elem);
   195             elem = cw.getNode(elem);
   196         }
   196         }
   197         cw.utils.nodeWalkDepthFirst(elem, function (elem) {
   197         cw.utils.nodeWalkDepthFirst(elem, function (elem) {
   198             var name = elem.name;
   198             var name = elem.name;
   199             if (name && name.length) {
   199             if (name && name.length) {
   200                 var tagName = elem.tagName.toUpperCase();
   200                 var tagName = elem.tagName.toUpperCase();
   248                     }
   248                     }
   249                 }
   249                 }
   250                 if (tagName === "FORM" || tagName === "P" || tagName === "SPAN" || tagName === "DIV") {
   250                 if (tagName === "FORM" || tagName === "P" || tagName === "SPAN" || tagName === "DIV") {
   251                     return elem.childNodes;
   251                     return elem.childNodes;
   252                 }
   252                 }
       
   253 		var value = elem.value;
       
   254 		if (tagName === "TEXTAREA") {
       
   255 		    if (typeof(FCKeditor) != 'undefined') {
       
   256 			var fck = FCKeditorAPI.GetInstance(elem.id);
       
   257 			if (fck) {
       
   258 			    value = fck.GetHTML();
       
   259 			}
       
   260 		    }
       
   261 		}
   253                 names.push(name);
   262                 names.push(name);
   254                 values.push(elem.value || '');
   263                 values.push(value || '');
   255                 return null;
   264                 return null;
   256             }
   265             }
   257             return elem.childNodes;
   266             return elem.childNodes;
   258         });
   267         });
   259         return [names, values];
   268         return [names, values];