/** EdAEHTMLAttributes.js * - this file applies to the Editor Advanced Edit dialog box. * - contains functions for creating the HTML Attributes list **/ // build attribute list in tree form from element attributes function BuildHTMLAttributeTable() { var nodeMap = element.attributes; var i; if(nodeMap.length > 0) { for(i = 0; i < nodeMap.length; i++) { if ( !CheckAttributeNameSimilarity( nodeMap[i].nodeName, JSEAttrs ) || IsEventHandler( nodeMap[i].nodeName ) || TrimString( nodeMap[i].nodeName.toLowerCase() ) == "style" ) { continue; // repeated or non-HTML attribute, ignore this one and go to next } var name = nodeMap[i].nodeName.toLowerCase(); var value = element.getAttribute ( nodeMap[i].nodeName ); if (name.indexOf("_moz") != 0) AddTreeItem ( name, value, "HTMLAList", HTMLAttrs ); } } } // add an attribute to the tree widget function onAddHTMLAttribute() { var which = document.getElementById('AddHTMLAttribute'); if(!which || which.getAttribute ( "disabled" ) ) return; var name = dialog.AddHTMLAttributeNameInput.value; var value = TrimString(dialog.AddHTMLAttributeValueInput.value); if(!name || !CheckAttributeNameSimilarity( name, CSSAttrs ) ) return; if ( AddTreeItem ( name, value, "HTMLAList", HTMLAttrs ) ) { dialog.AddHTMLAttributeNameInput.value = ""; dialog.AddHTMLAttributeValueInput.value = ""; } dialog.AddHTMLAttributeNameInput.focus(); doHTMLEnabling(); } // does enabling based on any user input. function doHTMLEnabling() { var name = TrimString(dialog.AddHTMLAttributeNameInput.value).toLowerCase(); if( !name || !CheckAttributeNameSimilarity(name,HTMLAttrs)) { dialog.AddHTMLAttribute.setAttribute("disabled","true"); } else { dialog.AddHTMLAttribute.removeAttribute("disabled"); } } // update the object with added and removed attributes function UpdateHTMLAttributes() { dump("===============[ Setting and Updating HTML ]===============\n"); var HTMLAList = document.getElementById("HTMLAList"); var name; var i; // remove removed attributes for( i = 0; i < HTMLRAttrs.length; i++ ) { name = HTMLRAttrs[i]; if(element.getAttribute(name)) element.removeAttribute(name); else continue; // doesn't exist, so don't bother removing it. } // Set added attributes for( i = 0; i < HTMLAList.childNodes.length; i++) { var item = HTMLAList.childNodes[i]; name = TrimString(item.firstChild.firstChild.getAttribute("value")); var value = TrimString(item.firstChild.lastChild.firstChild.value); // set the attribute element.setAttribute(name,value); } }