Index: openacs-4/packages/acs-templating/www/resources/xinha-nightly/plugins/Stylist/Stylist.js =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/resources/xinha-nightly/plugins/Stylist/Stylist.js,v diff -u -r1.1 -r1.2 --- openacs-4/packages/acs-templating/www/resources/xinha-nightly/plugins/Stylist/Stylist.js 16 Jan 2009 09:05:49 -0000 1.1 +++ openacs-4/packages/acs-templating/www/resources/xinha-nightly/plugins/Stylist/Stylist.js 27 Mar 2009 08:20:44 -0000 1.2 @@ -1,2 +1,3 @@ -/* This compressed file is part of Xinha. For uncomressed sources, forum, and bug reports, go to xinha.org */ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +/* This file is part of version 0.96beta2 released Fri, 20 Mar 2009 11:01:14 +0100 */ Xinha.Config.prototype.css_style={};Xinha.Config.prototype.stylistLoadStylesheet=function(a,d){if(!d){d={}}var c=Xinha.ripStylesFromCSSFile(a);for(var b in c){if(d[b]){this.css_style[b]=d[b]}else{this.css_style[b]=c[b]}}this.pageStyleSheets[this.pageStyleSheets.length]=a};Xinha.Config.prototype.stylistLoadStyles=function(b,d){if(!d){d={}}var c=Xinha.ripStylesFromCSSString(b);for(var a in c){if(d[a]){this.css_style[a]=d[a]}else{this.css_style[a]=c[a]}}this.pageStyle+=b};Xinha.prototype._fillStylist=function(){if(!this.plugins.Stylist.instance.dialog){return false}var c=this.plugins.Stylist.instance.dialog.main;c.innerHTML="";var f=true;var a=this._getSelection();var i=this._activeElement(a);for(var l in this.config.css_style){var m=null;var k=l.trim();var d=true;var b=i;if(d&&/[^a-zA-Z0-9_.-]/.test(k)){d=false}if(k.indexOf(".")<0){d=false}if(d&&(k.indexOf(".")>0)){m=k.substring(0,k.indexOf(".")).toLowerCase();k=k.substring(k.indexOf("."),k.length);if(i!=null&&i.tagName.toLowerCase()==m){d=true;b=i}else{if(this._getFirstAncestor(this._getSelection(),[m])!=null){d=true;b=this._getFirstAncestor(this._getSelection(),[m])}else{if((m=="div"||m=="span"||m=="p"||(m.substr(0,1)=="h"&&m.length==2&&m!="hr"))){if(!this._selectionEmpty(this._getSelection())){d=true;b="new"}else{b=this._getFirstAncestor(a,["p","h1","h2","h3","h4","h5","h6","h7"]);if(b!=null){d=true}else{d=false}}}else{d=false}}}}if(d){k=k.substring(k.indexOf("."),k.length);k=k.replace("."," ");if(b==null){if(this._selectionEmpty(this._getSelection())){b=this._getFirstAncestor(this._getSelection(),null)}else{b="new";m="span"}}}var e=(this._ancestorsWithClasses(a,m,k).length>0?true:false);var g=this._ancestorsWithClasses(a,m,k);if(d){var j=document.createElement("a");j.onfocus=function(){this.blur()};j._stylist_className=k.trim();j._stylist_applied=e;j._stylist_appliedTo=g;j._stylist_applyTo=b;j._stylist_applyTag=m;j.innerHTML=this.config.css_style[l];j.href="javascript:void(0)";var h=this;j.onclick=function(){if(this._stylist_applied==true){h._stylistRemoveClasses(this._stylist_className,this._stylist_appliedTo)}else{h._stylistAddClasses(this._stylist_applyTo,this._stylist_applyTag,this._stylist_className)}return false};j.style.display="block";j.style.paddingLeft="3px";j.style.paddingTop="1px";j.style.paddingBottom="1px";j.style.textDecoration="none";if(e){j.style.background="Highlight";j.style.color="HighlightText"}c.appendChild(j)}}};Xinha.prototype._stylistAddClasses=function(c,a,b){if(c=="new"){this.insertHTML("<"+a+' class="'+b+'">'+this.getSelectedHTML()+"")}else{if(a!=null&&c.tagName.toLowerCase()!=a){var d=this.switchElementTag(c,a);if(typeof c._stylist_usedToBe!="undefined"){d._stylist_usedToBe=c._stylist_usedToBe;d._stylist_usedToBe[d._stylist_usedToBe.length]={tagName:c.tagName,className:c.getAttribute("class")}}else{d._stylist_usedToBe=[{tagName:c.tagName,className:c.getAttribute("class")}]}Xinha.addClasses(d,b)}else{Xinha._addClasses(c,b)}}this.focusEditor();this.updateToolbar()};Xinha.prototype._stylistRemoveClasses=function(b,c){for(var a=0;a0&&a._stylist_usedToBe[a._stylist_usedToBe.length-1].className!=null){var h=a._stylist_usedToBe[a._stylist_usedToBe.length-1];var k=Xinha.arrayFilter(h.className.trim().split(" "),function(i){if(i==null||i.trim()==""){return false}return true});if((g.length==0)||(Xinha.arrayContainsArray(g,k)&&Xinha.arrayContainsArray(k,g))){a=this.switchElementTag(a,h.tagName);g=k}else{a._stylist_usedToBe=[]}}if(g.length>0||a.tagName.toLowerCase()!="span"||(a.id&&a.id!="")){a.className=g.join(" ").trim()}else{var b=a.parentNode;var d;while(a.hasChildNodes()){if(a.firstChild.nodeType==1){this._stylistRemoveClassesFull(a.firstChild,c)}d=a.removeChild(a.firstChild);b.insertBefore(d,a)}b.removeChild(a)}}};Xinha.prototype.switchElementTag=function(d,b){var c=d.parentNode;var f=this._doc.createElement(b);if(Xinha.is_ie||d.hasAttribute("id")){f.setAttribute("id",d.getAttribute("id"))}if(Xinha.is_ie||d.hasAttribute("style")){f.setAttribute("style",d.getAttribute("style"))}var e=d.childNodes;for(var a=0;a0)?a.offsetHeight-h.panel.offsetHeight:0)+"px";c.rootElem.style.height=b.offsetHeight+"px";e.sizeEditor();break;case"hide":f.resize();break}});e.notifyOn("before_resize",function(){if(!c.attached){return}c.rootElem.style.height=b.offsetHeight+"px"});e.notifyOn("resize",function(){if(!c.attached){return}f.resize()})};Stylist.prototype.resize=function(){var e=this.editor;var b=this.dialog.rootElem;if(b.style.display=="none"){return}var d=b.parentNode;var a=d.offsetHeight;for(var c=0;c