75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
/* 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.95 released Mon, 12 May 2008 17:33:15 +0200 */
|
|
/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/DefinitionList/definition-list.js */
|
|
function DefinitionList(_1){
|
|
this.editor=_1;
|
|
var _2=_1.config;
|
|
var bl=DefinitionList.btnList;
|
|
var _4=this;
|
|
var _5=["linebreak"];
|
|
for(var i=0;i<bl.length;++i){
|
|
var _7=bl[i];
|
|
if(!_7){
|
|
_5.push("separator");
|
|
}else{
|
|
var id=_7[0];
|
|
_2.registerButton(id,this._lc(_7[1]),_1.imgURL("ed_"+_7[0]+".gif","DefinitionList"),false,function(_9,id){
|
|
_4.buttonPress(_9,id);
|
|
});
|
|
_5.push(id);
|
|
}
|
|
}
|
|
_2.toolbar.push(_5);
|
|
}
|
|
DefinitionList._pluginInfo={name:"DefinitionList",version:"1.0",developer:"Udo Schmal",developer_url:"",c_owner:"Udo Schmal",license:"htmlArea"};
|
|
DefinitionList.btnList=[["dl","definition list"],["dt","definition term"],["dd","definition description"]];
|
|
DefinitionList.prototype._lc=function(_b){
|
|
return Xinha._lc(_b,"DefinitionList");
|
|
};
|
|
DefinitionList.prototype.onGenerate=function(){
|
|
this.editor.addEditorStylesheet(Xinha.getPluginDir("DefinitionList")+"/definition-list.css");
|
|
};
|
|
DefinitionList.prototype.buttonPress=function(_c,_d){
|
|
if(_d=="dl"){
|
|
var pe=_c.getParentElement();
|
|
while(pe.parentNode.tagName.toLowerCase()!="body"){
|
|
pe=pe.parentNode;
|
|
}
|
|
var dx=_c._doc.createElement(_d);
|
|
dx.innerHTML=" ";
|
|
if(pe.parentNode.lastChild==pe){
|
|
pe.parentNode.appendChild(dx);
|
|
}else{
|
|
pe.parentNode.insertBefore(dx,pe.nextSibling);
|
|
}
|
|
}else{
|
|
if((_d=="dt")||(_d=="dd")){
|
|
var pe=_c.getParentElement();
|
|
while(pe&&(pe.nodeType==1)&&(pe.tagName.toLowerCase()!="body")){
|
|
if(pe.tagName.toLowerCase()=="dl"){
|
|
var dx=_c._doc.createElement(_d);
|
|
dx.innerHTML=" ";
|
|
pe.appendChild(dx);
|
|
break;
|
|
}else{
|
|
if((pe.tagName.toLowerCase()=="dt")||(pe.tagName.toLowerCase()=="dd")){
|
|
var dx=_c._doc.createElement(_d);
|
|
dx.innerHTML=" ";
|
|
if(pe.parentNode.lastChild==pe){
|
|
pe.parentNode.appendChild(dx);
|
|
}else{
|
|
pe.parentNode.insertBefore(dx,pe.nextSibling);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
pe=pe.parentNode;
|
|
}
|
|
if(pe.tagName.toLowerCase()=="body"){
|
|
alert("You can insert a definition term or description only in a definition list!");
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|