[Openfirst-cvscommit] base/includes/functions/wysiwyg/modules behavior_css.js,NONE,1.1.2.2 behavior_
Brought to you by:
xtimg
Update of /cvsroot/openfirst/base/includes/functions/wysiwyg/modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15280/includes/functions/wysiwyg/modules Added Files: Tag: REL1_1_BRANCH behavior_css.js behavior_menu_invisible.js behavior_remove_phptags.js behavior_remove_xmltags.js button_about.js button_hr.gif button_hr.js button_html.htm button_html.js button_image.js button_imagemap.js button_log.js button_table_properties.html button_table_properties.js button_table_properties_gecko.html grid_small.js listbox_paragraph.js listbox_styleclass.js listbox_template.js listbox_template_example.html Log Message: directory restructuring --- NEW FILE: button_hr.js --- //init function MODUL__HrInsertGetApiInfoArray(_image) {/*{{{*/ var apiInfoArray = new Array(); apiInfoArray['typ'] = 'button'; apiInfoArray['image'] = _image; apiInfoArray['title'] = 'Insert Line'; apiInfoArray['onclick'] = MODUL__HRinsertOnClick; apiInfoArray['exec'] = MODUL__HRinsertExec; // Set the position of the button apiInfoArray['grid'] = DECMD_HYPERLINK; //See js/dhtmled.js for valid values //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_onclick'] = MODUL__HRinsertOnClick_GECKO; return apiInfoArray; }/*}}}*/ //M$ function MODUL__HRinsertExec(_this,elementObject) {/*{{{*/ var sel; var range; var DOMobj = document[_this.objectId].DOM; if (DOMobj) { sel = DOMobj.selection; //window.status=sel.type.toLowerCase(); if (sel && sel.type && (sel.type.toLowerCase() == "text" || sel.type.toLowerCase() == "none")) { elementObject.className = 'sglButton'; elementObject.children.tags("IMG")[0].className = 'sglIcon'; elementObject.children.tags("IMG")[0].style.filter = ''; } else { elementObject.className = 'sglButton'; elementObject.children.tags("IMG")[0].className = 'sglIcon'; elementObject.children.tags("IMG")[0].style.filter = 'alpha(opacity=25)'; } } }/*}}}*/ function MODUL__HRinsertOnClick(_this) {/*{{{*/ if (!document[_this.getObjectId()] || document[_this.getObjectId()].Busy) return false; try{ var selection = document[_this.objectId].DOM.selection.createRange(); selection.pasteHTML('<hr>'); document[_this.objectId].focus(); } catch(e){;} return true; }/*}}}*/ //GECKO function MODUL__HRinsertOnClick_GECKO(api_info) {/*{{{*/ document.getElementById(api_info['ObjectId']).contentWindow.document.execCommand('inserthorizontalrule', false, null) }/*}}}*/ --- NEW FILE: grid_small.js --- function MODUL__dhtmlEditorSetGridSmall(editor) {/*{{{*/ editor.setMenuGrid(DECMD_SETFONTNAME); editor.setMenuGrid(DECMD_SETFONTSIZE); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_BOLD); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_SETFORECOLOR); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_JUSTIFYLEFT); editor.setMenuGrid(DECMD_JUSTIFYCENTER); editor.setMenuGrid(DECMD_JUSTIFYRIGHT); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_HYPERLINK); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_UNDO); editor.setMenuGrid(DECMD_REDO); return; editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_INSERTTABLE); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_INSERTROW); editor.setMenuGrid(DECMD_DELETEROWS); editor.setMenuGrid('|'); editor.setMenuGrid(DECMD_INSERTCOL); editor.setMenuGrid(DECMD_DELETECOLS); }/*}}}*/ --- NEW FILE: listbox_styleclass.js --- //init function MODUL__listBoxStyleClassGetApiInfoArray(config) {/*{{{*/ var preStyles = config['preStyles']; var cssDetection= true; var apiInfoArray = new Array(); apiInfoArray['typ'] = 'listbox'; apiInfoArray['box'] = new Array(); apiInfoArray['box'][0] = new Array(); apiInfoArray['box'][0]['name'] = 'Choose Style Format'; apiInfoArray['box'][0]['value'] = '_*_'; if (preStyles && preStyles.length) for (var i=0;i<preStyles.length;i++) { apiInfoArray['box'][i+1] = new Array(); apiInfoArray['box'][i+1]['name'] = preStyles[i]['name']; apiInfoArray['box'][i+1]['value'] = preStyles[i]['value']; } apiInfoArray['title'] = 'Styles'; apiInfoArray['onclick'] = MODUL__listBoxStyleClassOnClick; //apiInfoArray['onprepare'] = ____toggleEditModeOnPrepare; //apiInfoArray['onDocumentComplete'] = MODUL__listBoxStyleClassINIT; apiInfoArray['grid'] = DECMD_SETFONTSIZE; apiInfoArray['exec'] = MODUL__listBoxStyleClassExec; //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; apiInfoArray['QueryStatusItem'] = DECMD_GETBLOCKFMT; //GECKO apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_onclick'] = MODUL__listBoxStyleClassOnClick_GECKO; apiInfoArray['GECKO_onDocumentComplete'] = MODUL__listBoxStyleClassOnDocumentComplete_GECKO; return apiInfoArray; }/*}}}*/ //M$ function MODUL__listBoxStyleClassINIT(_this,elementObject) {/*{{{*/ var preStyles; if (!_this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY) { _this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY=new Array(); } for(var i=0; i<elementObject.length;i++) { _this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY[elementObject[i].value]=true; } }/*}}}*/ function MODUL__listBoxStyleClassExec(_this,elementObject) {/*{{{*/ if (!_this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY) MODUL__listBoxStyleClassINIT(_this,elementObject); //window.status=elementObject.length++; var sel; var range; var DOMobj = document[_this.objectId].DOM; var elementObjectSelected = ''; var cssDetection = false; if (DOMobj) { sel = DOMobj.selection; if (sel && sel.type) { //window.status=sel.createRange().parentElement().className; if ( true)//"text" == sel.type.toLowerCase() ) { range = sel.createRange(); var pElement = range.parentElement(); if (pElement && pElement.className) { elementObjectSelected = pElement.className; /* if (!_this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY) { _this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY=new Array(); } */ if (!_this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY[pElement.className]) { _this.MODUL__listBoxStyleClass_OPTION_TABLE_ARRAY[pElement.className]=true; var L = elementObject.length; if (cssDetection) { elementObject.length++; elementObject.options[L].text=pElement.className; elementObject.options[L].value=pElement.className; } } } } } } //elementObject.value = document[_this.objectId].ExecCommand(DECMD_GETBLOCKFMT, OLECMDEXECOPT_DODEFAULT); //window.status=document[_this.objectId].ExecCommand(DECMD_GETBLOCKFMT, OLECMDEXECOPT_DODEFAULT); if (!elementObjectSelected) {elementObject.selectedIndex=0;return true;} elementObject.value = elementObjectSelected;//select listBox return true; }/*}}}*/ function MODUL__listBoxStyleClassOnClick(_this,elementObject) {/*{{{*/ if (!document[_this.getObjectId()] || document[_this.getObjectId()].Busy) return false; var _className; var selection; var range; var DOMobj; var pElement; if (!document[_this.objectId] || !document[_this.objectId].DOM || !elementObject || !elementObject.value) return false; if (elementObject.value == '_*_') return true; DOMobj = document[_this.objectId].DOM; _className = elementObject.value; selection = DOMobj.selection; if (!selection) return false; range = selection.createRange() if (!range) return false; pElement = range.parentElement(); if (!pElement || !pElement.getAttribute) return false; if (_className.length) { pElement.className = _className; } else { pElement.className = ''; } //elementObject.selectedIndex = 0;//Not needed document[_this.objectId].Refresh(); return true; }/*}}}*/ //GECKO //a dirty solution... anytime should be better... function MODUL__listBoxStyleClassOnClick_GECKO(api_info) {/*{{{*/ var v = api_info['select_element_obj'].value; api_info['select_element_obj'].selectedIndex=0; if (v == '_*_') return true;//magic var ObjectId; var Obj; var win; var doc; var body; var sel; var range; ObjectId = api_info['ObjectId']; Obj = dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(ObjectId); win = document.getElementById(ObjectId).contentWindow; doc = win.document; body = doc.body; sel = win.getSelection() range = sel.getRangeAt(0); var breakpoint=1; var node4class=false; if (!sel) return; if (!sel.focusNode) return; var invalidClassContainer=new Array(); invalidClassContainer['HTML'] = true; invalidClassContainer['HEAD'] = true; invalidClassContainer['TITLE'] = true; invalidClassContainer['STYLE'] = true; invalidClassContainer['BODY'] = true; if (!sel.focusNode.nodeName || invalidClassContainer[sel.focusNode.nodeName.toUpperCase()]) return; if (sel.focusNode.nodeType==3)//TextElement... { node4class=sel.focusNode.parentNode; //Searching for a nonTextElement (Container for the class attribute) while(1)//arghhhhhhhhhhhhhhhhhhhhhGHHHGGggg... { if (!node4class)//??? { node4class=false; break; } if (node4class.nodeType==3) { node4class = node4class.parentNode; continue; } if (invalidClassContainer[node4class.nodeName.toUpperCase()]) { node4class=false; break; } //more checks ???... break; } } if (!node4class || !node4class.setAttribute) { return; } //now we should have a correct container for our class attrib. node4class.setAttribute('class',v); return; if (!api_info['select_element_obj'].disabled) { api_info['select_element_obj'].selectedIndex=0; api_info['select_element_obj'].disabled=true; alert("Currently this is not supported for your Browser"); } }/*}}}*/ function MODUL__listBoxStyleClassOnDocumentComplete_GECKO(api_info) {/*{{{*/ }/*}}}*/ --- NEW FILE: button_table_properties.html --- <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> <!-- document.writeln('<title>'+window.dialogArguments['title']+'</title>'); //--> </SCRIPT> <STYLE TYPE="text/css"> BODY {margin-left:10; font-family:Verdana; font-size:12; background:menu} BUTTON {width:5em} TABLE,TD,INPUT {font-family:Verdana; font-size:10px} P {text-align:center} </STYLE> <SCRIPT LANGUAGE=JavaScript> function _return() { var arg = window.dialogArguments; var ret = new Array(); ret['attributes'] = new Array(); for ( var i=0;i<arg['attributes'].length;i++ ) { ret['attributes'][i] = new Array(); ret['attributes'][i]['name'] = arg['attributes'][i]; ret['attributes'][i]['value'] = document.getElementById(arg['attributes'][i]).value; } for ( var i=0;i<arg['attributes_advanced'].length;i++ ) { var l=ret['attributes'].length; ret['attributes'][l] = new Array(); ret['attributes'][l]['name'] = arg['attributes_advanced'][i]; ret['attributes'][l]['value'] = document.getElementById(arg['attributes_advanced'][i]).value; } window.returnValue = ret; window.close(); } </SCRIPT> <SCRIPT LANGUAGE=JavaScript FOR=document EVENT=onkeydown> if (event.keyCode == 27) self.close(); if (event.keyCode == 114) { dialogWidth = parseInt(dialogWidth)+20+'px'; dialogHeight = parseInt(dialogHeight)+20+'px'; } if (event.keyCode == 115 && parseInt(dialogWidth)>20 && parseInt(dialogHeight)>20) { dialogWidth = parseInt(dialogWidth)-20+'px'; dialogHeight = parseInt(dialogHeight)-20+'px'; } </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> <!-- var attributes = window.dialogArguments['attributes']; var attributes_advanced = window.dialogArguments['attributes_advanced']; var pElement = window.dialogArguments['pElement']; var thisAttribute; document.writeln('<TABLE CELLSPACING=3>'); for ( var i=0;i<attributes.length;i++ ) { var thisAttribute = attributes[i]; document.writeln('<TR>'); document.writeln('<TD>'); document.writeln(thisAttribute); document.writeln('</TD>'); document.writeln('<TD>'); document.writeln('<INPUT value="'+pElement.getAttribute(thisAttribute)+'" ID="'+thisAttribute+'"></TD>'); document.writeln('</TD>'); document.writeln('</TR>'); } for ( var i=0;i<attributes_advanced.length;i++ ) { var thisAttribute = attributes_advanced[i]; document.writeln('<TR>'); document.writeln('<TD>'); document.writeln(thisAttribute); document.writeln('</TD>'); document.writeln('<TD>'); document.writeln('<INPUT value="'+pElement.getAttribute(thisAttribute)+'" ID="'+thisAttribute+'"></TD>'); document.writeln('</TD>'); document.writeln('</TR>'); } document.writeln('</TABLE>'); //--> </SCRIPT> <P> <BUTTON TYPE=SUBMIT onclick="_return()">OK</BUTTON> <BUTTON ONCLICK="window.close();">Cancel</BUTTON> </BODY> </HTML> --- NEW FILE: behavior_remove_phptags.js --- //init function MODUL__behaviorRemovePHPTagsGetApiInfoArray() {/*{{{*/ var apiInfoArray = new Array(); apiInfoArray['typ'] = 'behavior'; apiInfoArray['onDocumentComplete'] = MODUL__behaviorRemovePHPTagsOnDocumentComplete; apiInfoArray['onprepare'] = MODUL__behaviorRemovePHPTagsOnPrepare; apiInfoArray['onGetHtmlSource'] = MODUL__behaviorRemovePHPTagsOnPrepare; //Gecko apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_onprepare'] = MODUL__behaviorRemovePHPTagsOnPrepare_GECKO; apiInfoArray['GECKO_onGetHtmlSource'] = MODUL__behaviorRemovePHPTagsOnPrepare_GECKO; return apiInfoArray; }/*}}}*/ //M$ function MODUL__behaviorRemovePHPTagsOnDocumentComplete(_this) {/*{{{*/ //MODUL__behaviorRemovePHPTagsOnPrepare(_this) return true; }/*}}}*/ function MODUL__behaviorRemovePHPTagsOnPrepare(_this) {/*{{{*/ try { var gt='>';//avoid php ending var content=false; eval("content = document[_this.getObjectId()].DOM.body.innerHTML.replace(/<\\?/g,'<?');"); eval("content = document[_this.getObjectId()].DOM.body.innerHTML.replace(/\\?>/g,'>?');"); if (content) document[_this.getObjectId()].DOM.body.innerHTML = content ; } catch(e){return false;}; return true; }/*}}}*/ //GECKO function MODUL__behaviorRemovePHPTagsOnPrepare_GECKO(api_info) {/*{{{*/ try { var gt='>';//avoid php ending var content=false; eval("content = document.getElementById(api_info['ObjectId']).contentWindow.document.body.innerHTML.replace(/<\\?/g,'<?');"); eval("content = document.getElementById(api_info['ObjectId']).contentWindow.document.body.innerHTML.replace(/\\?>/g,'>?');"); if (content) document[_this.getObjectId()].DOM.body.innerHTML = content ; } catch(e){return false;}; return true; }/*}}}*/ --- NEW FILE: button_html.js --- //Init Function function MODUL__toggleEditModeGetApiInfoArray(_image) {/*{{{*/ var apiInfoArray = new Array(); apiInfoArray['typ'] = 'button'; apiInfoArray['image'] = _image; apiInfoArray['title'] = 'HTML'; apiInfoArray['onclick'] = MODUL__toggleEditMode; apiInfoArray['onprepare'] = MODUL__toggleEditModeOnPrepare; apiInfoArray['onGetHtmlSource'] = MODUL__toggleEditModeOnPrepare; apiInfoArray['onDocumentComplete'] = MODUL__toggleEditModeOnDocumentComplete; //apiInfoArray['grid'] = DECMD_HYPERLINK;//Set the Position here- See js/dhtmled.js for valid values //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; //enable ContextMenu entry(s) apiInfoArray['ContextMenu'] = new Array(); var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].menuString = MENU_SEPARATOR__; apiInfoArray['ContextMenu'][_L].grid = DECMD_PASTE; var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].queryStatus = ''; apiInfoArray['ContextMenu'][_L].queryStatusFunction = MODUL__toggleEditModeContextQueryStatusFunction; apiInfoArray['ContextMenu'][_L].menuString = apiInfoArray['title']; apiInfoArray['ContextMenu'][_L].ContextMenuActionFunction = MODUL__toggleEditModeContextMenuAction; apiInfoArray['ContextMenu'][_L].queryStatusCmdId = ''; apiInfoArray['ContextMenu'][_L].grid = DECMD_PASTE; var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].menuString = MENU_SEPARATOR__; apiInfoArray['ContextMenu'][_L].grid = DECMD_PASTE; //Gecko Wilco Support //apiInfoArray['typ'] = 'button'; //apiInfoArray['title'] = 'HTML'; apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_image'] = _image; apiInfoArray['GECKO_onclick'] = MODUL__toggleEditMode_GECKO; apiInfoArray['GECKO_onprepare'] = MODUL__toggleEditMode_onprepare_GECKO; apiInfoArray['GECKO_onGetHtmlSource'] = MODUL__toggleEditMode_onprepare_GECKO; apiInfoArray['GECKO_exec'] = MODUL__toggleEditMode_EXEC_GECKO; return apiInfoArray; }/*}}}*/ //MSDHTML Functions function MODUL__toggleEditModeOnDocumentComplete(_this) {/*{{{*/ //____toggleEditMode(_this); return true; }/*}}}*/ function MODUL__toggleEditModeOnPrepare(_this) {/*{{{*/ var _display = document[_this.getObjectId()].style.display; if (_display.toLowerCase() == 'none' && _this.outPutMode != 'makeonly' ) { //refresh by switching ;-) MODUL__toggleEditMode(_this); MODUL__toggleEditMode(_this); } return true; }/*}}}*/ function MODUL__toggleEditMode(_this,__mode) {/*{{{*/ if (!document[_this.getObjectId()] || document[_this.getObjectId()].Busy) return false; if (__mode == -9 ||!document.getElementById(_this.getElementId()) || _this.outPutMode == 'makeonly' )//|| mode_==2)//|| _this.outPutMode == 'replaceTextarea') { //alert('Not Supportet'); var w = _this.width; var h = _this.height; if (true || w<600 || w>1300) w=700; if (true || h<400 || h>800) h=500; var arg = new Array(); arg[0] = _this; arg[1] = window; var arr = showModalDialog( document.dhtmlEditors_home+'modules/button_html.htm', arg, "font-family:Verdana; font-size:12; dialogWidth:"+w+"px; dialogHeight:"+h+"px" ); return true; } var _display = document[_this.getObjectId()].style.display; var i ; if (_display == '' || _display.toLowerCase() == 'block') { document[_this.getObjectId()].Refresh(); document.getElementById(_this.getElementId()).value = document[_this.getObjectId()].DOM.body.innerHTML; _this.disableAllButtons(); //except me for (i=0; i<_this.QueryStatusToolbarButtons.length; i++) { if (_this.QueryStatusToolbarButtons[i].element && _this.QueryStatusToolbarButtons[i].element.className && _this.QueryStatusToolbarButtons[i].element.children && _this.QueryStatusToolbarButtons[i].element.children.tags && _this.QueryStatusToolbarButtons[i].element.children.tags("IMG") && _this.QueryStatusToolbarButtons[i].element.children.tags("IMG")[0] && _this.QueryStatusToolbarButtons[i].element.children.tags("IMG")[0].className && _this.QueryStatusToolbarButtons[i].element.children.tags("IMG")[0].title == 'HTML' ) { _this.QueryStatusToolbarButtons[i].element.className = 'sglButton'; _this.QueryStatusToolbarButtons[i].element.children.tags("IMG")[0].className = 'sglIcon'; _this.QueryStatusToolbarButtons[i].element.children.tags("IMG")[0].style.filter = ''; } } if (!document.getElementById(_this.getElementId()).style.backgroundColorSaved) { document.getElementById(_this.getElementId()).style.widthSaved = document.getElementById(_this.getElementId()).style.width; document.getElementById(_this.getElementId()).style.heightSaved = document.getElementById(_this.getElementId()).style.height; document.getElementById(_this.getElementId()).wrapSaved = document.getElementById(_this.getElementId()).wrap; document.getElementById(_this.getElementId()).style.backgroundColorSaved = document.getElementById(_this.getElementId()).style.backgroundColor; } document.getElementById(_this.getElementId()).style.width = _this.width;//+'px'; document.getElementById(_this.getElementId()).style.height = _this.height;//+'px'; document.getElementById(_this.getElementId()).wrap = 'off'; document.getElementById(_this.getElementId()).style.backgroundColor = "#d3d3d3"; document.getElementById(_this.getObjectId()).style.display = 'none'; document.getElementById(_this.getElementId()).style.display = 'block'; //document.getElementById(_this.getElementId()).focus(); //document.getElementById(_this.getElementId()).focus(); } else { document.getElementById(_this.getElementId()).style.display = 'none'; document[_this.getObjectId()].style.display = 'block'; document[_this.getObjectId()].DOM.body.innerHTML = document.getElementById(_this.getElementId()).value; document[_this.getObjectId()].Refresh(); //restore the settings of textarea document.getElementById(_this.getElementId()).style.width = document.getElementById(_this.getElementId()).style.widthSaved; document.getElementById(_this.getElementId()).style.height = document.getElementById(_this.getElementId()).style.heightSaved; document.getElementById(_this.getElementId()).wrap = document.getElementById(_this.getElementId()).wrapSaved; document.getElementById(_this.getElementId()).style.backgroundColor = document.getElementById(_this.getElementId()).style.backgroundColorSaved; _this.enableAllButtons(); } }/*}}}*/ function MODUL__toggleEditModeContextMenuAction(_this) {/*{{{*/ MODUL__toggleEditMode(_this,-9); }/*}}}*/ function MODUL__toggleEditModeContextQueryStatusFunction(xPos,yPos,contextMenuCollectionItem,_this) {/*{{{*/ return OLE_TRISTATE_UNCHECKED; }/*}}}*/ //Gecko Plugin Functions function MODUL__toggleEditMode_onprepare_GECKO(api_info) {/*{{{*/ var myEditObjId = api_info['ObjectId']; if (dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).API_tmp_MODUL__toggleEditMode_GECKO) { document.getElementById(myEditObjId).contentWindow.document.body.innerHTML=document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').value; } }/*}}}*/ function MODUL__toggleEditMode_GECKO(api_info) {/*{{{*/ dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).API_tmp_MODUL__toggleEditMode_GECKO= !dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).API_tmp_MODUL__toggleEditMode_GECKO; var ws=4; var hs=0; //alert(dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).API_tmp_MODUL__toggleEditMode_GECKO) var myEditObjId = api_info['ObjectId']; if (dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).API_tmp_MODUL__toggleEditMode_GECKO) { if(!document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt')) { var txtArea = document.getElementById(myEditObjId).contentWindow.document.createElement("textarea"); txtArea.setAttribute("id", myEditObjId+"modultoggleeditmodegeckoplugintxt"); var w = parseInt(document.getElementById(myEditObjId).style.width); var h = parseInt(document.getElementById(myEditObjId).style.height); w+=ws; h+=hs; txtArea.setAttribute("style",'display:none; width:'+w+'px; height:'+h+'px;'); document.getElementById(myEditObjId+'iframecontainer').appendChild(txtArea); } MODUL__toggleEditMode_ButtonsGECKO(api_info,0); document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').value=document.getElementById(myEditObjId).contentWindow.document.body.innerHTML; document.getElementById(myEditObjId).style.visibility="hidden"; document.getElementById(myEditObjId).style.width="0px"; document.getElementById(myEditObjId).style.height="0px"; document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').style.display="block"; document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').focus(); return; } else { //alert(1); MODUL__toggleEditMode_ButtonsGECKO(api_info,1); document.getElementById(myEditObjId).contentWindow.document.body.innerHTML=document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').value; document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').style.display="none"; document.getElementById(myEditObjId).style.width=parseInt(document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').style.width)-ws; document.getElementById(myEditObjId).style.height=parseInt(document.getElementById(myEditObjId+'modultoggleeditmodegeckoplugintxt').style.height)-hs; document.getElementById(myEditObjId).style.visibility="visible"; document.getElementById(myEditObjId).contentWindow.focus(); return; } }/*}}}*/ function MODUL__toggleEditMode_ButtonsGECKO(api_info,_do) {/*{{{*/ var _this = new Array('disable','enable'); eval("dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).onthefly_"+_this[_do]+"AllButtons()"); document.getElementById(api_info['ObjectId']+'APIB'+api_info['id']).style.visibility='visible'; }/*}}}*/ function MODUL__toggleEditMode_EXEC_GECKO(api_info) {/*{{{*/ return dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).API_tmp_MODUL__toggleEditMode_GECKO; return true; }/*}}}*/ --- NEW FILE: behavior_remove_xmltags.js --- //init function MODUL__behaviorRemoveXmlTagsGetApiInfoArray() {/*{{{*/ var apiInfoArray = new Array(); apiInfoArray['typ'] = 'behavior'; apiInfoArray['onDocumentComplete'] = MODUL__behaviorRemoveXmlTagsOnDocumentComplete; apiInfoArray['onprepare'] = MODUL__behaviorRemoveXmlTagsOnPrepare; apiInfoArray['onGetHtmlSource'] = MODUL__behaviorRemoveXmlTagsOnPrepare; //Gecko apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_onprepare'] = MODUL__behaviorRemoveXmlTagsOnPrepare_GECKO; apiInfoArray['GECKO_onGetHtmlSource'] = MODUL__behaviorRemoveXmlTagsOnPrepare_GECKO; return apiInfoArray; }/*}}}*/ //M$ function MODUL__behaviorRemoveXmlTagsOnDocumentComplete(_this) {/*{{{*/ //MODUL__behaviorRemoveXmlTagsOnPrepare(_this) return true; }/*}}}*/ function MODUL__behaviorRemoveXmlTagsOnPrepare(_this) {/*{{{*/ try { var gt='>';//avoid php ending var content=false; eval("content = document[_this.getObjectId()].DOM.body.innerHTML.replace(/<\\?xml[\\w\\W]{0,}?"+gt+"/ig,'');"); if (content) document[_this.getObjectId()].DOM.body.innerHTML = content ; } catch(e){return false;}; return true; }/*}}}*/ //GECKO function MODUL__behaviorRemoveXmlTagsOnPrepare_GECKO(api_info) {/*{{{*/ try { var gt='>';//avoid php ending var content=false; eval("content = document.getElementById(api_info['ObjectId']).contentWindow.document.body.innerHTML.replace(/<\\?xml[\\w\\W]{0,}?"+gt+"/ig,'');"); if (content) document[_this.getObjectId()].DOM.body.innerHTML = content ; } catch(e){return false;}; return true; }/*}}}*/ --- NEW FILE: button_image.js --- function MODUL__ImageAddEdit_EXEC(_this,elementObject) { var s = document[_this.objectId].QueryStatus(DECMD_IMAGE); if (s == DECMDF_DISABLED || s == DECMDF_NOTSUPPORTED) { if (!elementObject.children.tags("IMG")[0].style.filter.length) { elementObject.className = 'sglButton'; elementObject.children.tags("IMG")[0].className = 'sglIcon'; elementObject.children.tags("IMG")[0].style.filter = 'alpha(opacity=25)'; } } else if (s == DECMDF_ENABLED || s == DECMDF_NINCHED) { if (elementObject.className!='sglButtonMouseOverUp' || elementObject.children.tags("IMG")[0].style.filter.length) { elementObject.className = 'sglButton'; elementObject.children.tags("IMG")[0].className = 'sglIcon'; elementObject.children.tags("IMG")[0].style.filter = ''; } } else { // DECMDF_LATCHED if (elementObject.className!='sglButtonDown' || elementObject.children.tags("IMG")[0].style.filter.length) { elementObject.className = 'sglButtonDown'; elementObject.children.tags("IMG")[0].className = 'sglIconDown'; elementObject.children.tags("IMG")[0].style.filter = ''; } } } function MODUL__ImageAddEdit_queryStatusFunction(xPos,yPos,contextMenuCollectionItem,_this) { if (document[_this.objectId].Busy) return -1; var state = document[_this.objectId].QueryStatus(DECMD_INSERTROW); if (state==DECMDF_DISABLED) { //lets look of we are inside a table if ( !(document[_this.getObjectId()] && document[_this.getObjectId()].DOM && document[_this.getObjectId()].DOM.selection && document[_this.getObjectId()].DOM.selection.createRange) ) return -1; var selection = selection = document[_this.getObjectId()].DOM.selection.createRange(); if (!selection || !selection.parentElement || !selection.parentElement()) return -1;; if (MODUL__ImageAddEdit___small_helperlein__find_parent('table',selection.parentElement())) { //We are inside a table but QueryStatus returns DECMDF_DISABLED (that can be possible) //We show a OLE_TRISTATE_GRAY entry in the menu context in this case return OLE_TRISTATE_GRAY;; } return -1;//else we show nothink, cause we are not in a table } if (state == DECMDF_DISABLED || state == DECMDF_NOTSUPPORTED) { return OLE_TRISTATE_GRAY; } else if (state == DECMDF_ENABLED || state == DECMDF_NINCHED) { //lets look if action possible bacause DECMD_DELETECOLS is too raw if (contextMenuCollectionItem.menuString == 'Cell Properties' || contextMenuCollectionItem.menuString == 'Row Properties') { if ( !(document[_this.getObjectId()] && document[_this.getObjectId()].DOM && document[_this.getObjectId()].DOM.selection && document[_this.getObjectId()].DOM.selection.createRange) ) return -1; var selection = selection = document[_this.getObjectId()].DOM.selection.createRange(); if (!selection || !selection.parentElement || !selection.parentElement()) return -1;; var _tagName; if(contextMenuCollectionItem.menuString == 'Cell Properties') _tagName='td'; else _tagName='tr'; if (!MODUL__ImageAddEdit___small_helperlein__find_parent(_tagName,selection.parentElement())) { //We are inside a table but QueryStatus returns DECMDF_DISABLED (that can be possible) //We show a OLE_TRISTATE_GRAY entry in the menu context in this case return OLE_TRISTATE_GRAY;; } } return OLE_TRISTATE_UNCHECKED; } else { // DECMDF_LATCHED return OLE_TRISTATE_CHECKED; } //should never arrived :-) return -1; return OLE_TRISTATE_UNCHECKED;// = 0 return OLE_TRISTATE_CHECKED;// = 1 return OLE_TRISTATE_GRAY ;//= 2 } function MODUL__ImageAddEdit_ContextMenuAction(_this,contextMenuCollection) { //Busy ?! if ( !(document[_this.getObjectId()] && document[_this.getObjectId()].DOM && document[_this.getObjectId()].DOM.selection && document[_this.getObjectId()].DOM.selection.createRange) ) return false; var selection = selection = document[_this.getObjectId()].DOM.selection.createRange(); if (!selection || !selection.parentElement || !selection.parentElement()) return false; var pElement=false; if (contextMenuCollection['menuString'] == 'Row Properties')//users choice pElement = MODUL__ImageAddEdit___small_helperlein__find_parent('tr',selection.parentElement()); if (contextMenuCollection['menuString'] == 'Cell Properties')//users choice pElement = MODUL__ImageAddEdit___small_helperlein__find_parent('td',selection.parentElement()); if (contextMenuCollection['menuString'] == 'Table Properties')//users choice pElement = MODUL__ImageAddEdit___small_helperlein__find_parent('table',selection.parentElement()); if (!pElement) return false; var tagName = pElement.tagName; tagName = tagName.toLowerCase(); //alert(tagName); if(true) { if (true) { var ret var arg = new Array(); arg['attributes'] = new Array(); arg['attributes'][arg['attributes'].length] = 'bgColor'; arg['attributes'][arg['attributes'].length] = 'borderColor'; if (tagName =='table') arg['attributes'][arg['attributes'].length] = 'border'; if (tagName =='table') arg['attributes'][arg['attributes'].length] = 'cellSpacing'; if (tagName =='table') arg['attributes'][arg['attributes'].length] = 'cellPadding'; if (tagName !='tr') arg['attributes'][arg['attributes'].length] = 'width'; if (tagName !='tr') arg['attributes'][arg['attributes'].length] = 'height'; arg['attributes'][arg['attributes'].length] = 'align'; if (tagName !='table') arg['attributes'][arg['attributes'].length] = 'valign'; arg['attributes_advanced'] = new Array(); if (tagName !='tr') arg['attributes_advanced'][arg['attributes_advanced'].length] = 'backGround'; if (tagName !='tr') arg['attributes_advanced'][arg['attributes_advanced'].length] = 'borderColordark'; if (tagName !='tr') arg['attributes_advanced'][arg['attributes_advanced'].length] = 'borderColorlight'; if (false) arg['attributes_advanced'][arg['attributes_advanced'].length] = 'class'; if (false) arg['attributes_advanced'][arg['attributes_advanced'].length] = 'colspan'; if (false) arg['attributes_advanced'][arg['attributes_advanced'].length] = 'rowspan'; if (false) arg['attributes_advanced'][arg['attributes_advanced'].length] = 'style'; arg['attributes'][arg['attributes'].length] = 'title'; arg['attributes_advanced'][arg['attributes_advanced'].length] = 'dir'; arg['attributes_advanced'][arg['attributes_advanced'].length] = 'lang'; arg['attributes_advanced'][arg['attributes_advanced'].length] = 'id'; arg['pElement'] = pElement; arg['_this'] = _this; arg['_window'] = window; arg['title'] = contextMenuCollection['menuString']; var w = 350; var h = 500; var ret = showModalDialog( document.dhtmlEditors_home+'modules/button_table_properties.html', arg, "font-family:Verdana; dialogWidth:"+w+"px; dialogHeight:"+h+"px" ); if (ret && ret['attributes']) { for(var i=0;i<ret['attributes'].length;i++) { var name = ret['attributes'][i]['name']; var value = ret['attributes'][i]['value']; if (value.length<1) { try{ pElement.removeAttribute(name); }catch(_E){ alert(name+ ' '+value);}; } else { try{ pElement.setAttribute(name,value); }catch(_E){ alert(name+ ' '+value);}; } } } // document[_this.getObjectId()].style.display='none'; // document[_this.getObjectId()].style.display='block'; document[_this.getObjectId()].Refresh(); return true; } } return false; alert(contextMenuCollection['menuString']); } function MODUL__ImageAddEdit___small_helperlein__find_parent(_tagName,_element) { var escapE=0; while(_element && ++escapE<333*6) { if (_tagName.toLowerCase() != 'table' && _element.tagName.toLowerCase() == 'table') return false; if (_element.tagName && _element.tagName.toLowerCase() == _tagName.toLowerCase()) return _element; _element=_element.parentElement; } return false; //alert(_element.tagName); } function MODUL__ImageAddEdit_GetApiInfoArray(_image) { var apiInfoArray = new Array(); apiInfoArray['typ'] = 'button'; apiInfoArray['image'] = _image; apiInfoArray['title'] = 'Image';//if you change this title Change it below too!!! apiInfoArray['onclick'] = MODUL__ImageAddEdit_ONCLICK; apiInfoArray['exec'] = MODUL__ImageAddEdit_EXEC; // Set the position of the button apiInfoArray['grid'] = DECMD_INSERTTABLE; //See js/dhtmled.js for valid values //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; //enable ContextMenu entry(s) apiInfoArray['ContextMenu'] = new Array(); var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].queryStatus = ''; apiInfoArray['ContextMenu'][_L].queryStatusFunction = MODUL__ImageAddEdit_queryStatusFunction; apiInfoArray['ContextMenu'][_L].menuString = apiInfoArray['title']; apiInfoArray['ContextMenu'][_L].ContextMenuActionFunction = MODUL__ImageAddEdit_ContextMenuAction; apiInfoArray['ContextMenu'][_L].queryStatusCmdId = ''; apiInfoArray['ContextMenu'][_L].grid = DECMD_INSERTTABLE; var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].queryStatus = ''; apiInfoArray['ContextMenu'][_L].queryStatusFunction = MODUL__ImageAddEdit_queryStatusFunction; apiInfoArray['ContextMenu'][_L].menuString = "Cell Properties"; apiInfoArray['ContextMenu'][_L].ContextMenuActionFunction = MODUL__ImageAddEdit_ContextMenuAction; apiInfoArray['ContextMenu'][_L].queryStatusCmdId = ''; apiInfoArray['ContextMenu'][_L].grid = DECMD_INSERTTABLE; var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].queryStatus = ''; apiInfoArray['ContextMenu'][_L].queryStatusFunction = MODUL__ImageAddEdit_queryStatusFunction; apiInfoArray['ContextMenu'][_L].menuString = "Row Properties"; apiInfoArray['ContextMenu'][_L].ContextMenuActionFunction = MODUL__ImageAddEdit_ContextMenuAction; apiInfoArray['ContextMenu'][_L].queryStatusCmdId = ''; apiInfoArray['ContextMenu'][_L].grid = DECMD_INSERTTABLE; var _L = apiInfoArray['ContextMenu'].length; apiInfoArray['ContextMenu'][_L] = new Array(); apiInfoArray['ContextMenu'][_L].menuString = MENU_SEPARATOR__; apiInfoArray['ContextMenu'][_L].grid = DECMD_INSERTTABLE; return apiInfoArray; } function MODUL__ImageAddEdit_ONCLICK(_this) { if ( !(document[_this.getObjectId()] && document[_this.getObjectId()].DOM && document[_this.getObjectId()].DOM.selection && document[_this.getObjectId()].DOM.selection.createRange) ) return -1; var selection = document[_this.getObjectId()].DOM.selection; if (selection && selection.type && selection.type.toLowerCase() == 'control') { S } } --- NEW FILE: button_about.js --- (This appears to be a binary file; contents omitted.) --- NEW FILE: listbox_paragraph.js --- //This Plugin works only on german Windows Operating System if using IE //init function MODUL__listBoxParagraphGetApiInfoArray() {/*{{{*/ var apiInfoArray = new Array(); apiInfoArray['typ'] = 'listbox'; apiInfoArray['box'] = new Array(); apiInfoArray['box'][0] = new Array(); apiInfoArray['box'][0]['name'] = 'Normal'; apiInfoArray['box'][0]['value'] = 'Normal'; for(var u=0;u<6;u++) { apiInfoArray['box'][u+1] = new Array(); apiInfoArray['box'][u+1]['name'] = 'Überschrift '+(u+1); apiInfoArray['box'][u+1]['value'] = 'Überschrift '+(u+1); } apiInfoArray['box'][6] = new Array(); apiInfoArray['box'][6]['name'] = 'Formatiert'; apiInfoArray['box'][6]['value'] = 'Formatiert'; apiInfoArray['box'][7] = new Array(); apiInfoArray['box'][7]['name'] = 'Adresse'; apiInfoArray['box'][7]['value'] = 'Adresse'; apiInfoArray['title'] = 'Heading'; apiInfoArray['onclick'] = MODUL__listBoxParagraphHeadingOnClick; //apiInfoArray['onprepare'] = ____toggleEditModeOnPrepare; //apiInfoArray['onDocumentComplete'] = ____toggleEditModeOnDocumentComplete; apiInfoArray['grid'] = DECMD_SETFONTSIZE; apiInfoArray['exec'] = MODUL__listBoxParagraphHeadingExec; //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; apiInfoArray['QueryStatusItem'] = DECMD_GETBLOCKFMT; //Gecko Wilco Support apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_onclick'] = MODUL__listBoxParagraphHeadingOnClick_GECKO; apiInfoArray['GECKO_onDocumentComplete']= MODUL__listBoxParagraphHeadingOnDocumentComplete_GECKO; return apiInfoArray; }/*}}}*/ //M$ function MODUL__listBoxParagraphHeadingExec(_this,elementObject) {/*{{{*/ elementObject.value = document[_this.objectId].ExecCommand(DECMD_GETBLOCKFMT, OLECMDEXECOPT_DODEFAULT); //window.status=document[_this.objectId].ExecCommand(DECMD_GETBLOCKFMT, OLECMDEXECOPT_DODEFAULT); return true; }/*}}}*/ function MODUL__listBoxParagraphHeadingOnClick(_this,elementObject) {/*{{{*/ if (!document[_this.getObjectId()] || document[_this.getObjectId()].Busy) return false; document[_this.getObjectId()].ExecCommand(DECMD_SETBLOCKFMT, OLECMDEXECOPT_DODEFAULT, elementObject.value); document[_this.getObjectId()].focus(); //alert(_this); return true; }/*}}}*/ //Gecko function MODUL__listBoxParagraphHeadingOnDocumentComplete_GECKO(api_info) {/*{{{*/ var i; api_info['select_element_obj'].length = 0; //reset listbox, hehe :-) api_info['select_element_obj'][api_info['select_element_obj'].length] = new Option('Normal','<p>',true,false); api_info['select_element_obj'][api_info['select_element_obj'].length] = new Option('Paragraph','<p>',false,false); for(i=1;i<7;i++) { api_info['select_element_obj'][api_info['select_element_obj'].length] = new Option('Heading '+i,'<h'+i+'>',false,false); } api_info['select_element_obj'][api_info['select_element_obj'].length] = new Option('Address','<address>',false,false); api_info['select_element_obj'][api_info['select_element_obj'].length] = new Option('Formatted','<pre>',false,false); return true; }/*}}}*/ function MODUL__listBoxParagraphHeadingOnClick_GECKO(api_info) {/*{{{*/ /* api_info['ObjectId'] api_info['id'] api_info['select_element_obj'] api_info['idx'] */ if (!api_info['select_element_obj'].length) return; var cursel = api_info['select_element_obj'].selectedIndex; /* First one is always a label */ if (cursel != 0) { var selected = api_info['select_element_obj'].options[cursel].value; document.getElementById(api_info['ObjectId']).contentWindow.document.execCommand('formatblock', false, selected); document.getElementById(api_info['ObjectId']).selectedIndex = 0; } document.getElementById(api_info['ObjectId']).contentWindow.focus(); return true; }/*}}}*/ --- NEW FILE: button_html.htm --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Edit HTML Source - Resize the window with F1-F4</title> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> var editorObject = false; var _opener = false; function ________init() { editorObject = window.dialogArguments[0]; _opener = window.dialogArguments[1]; document.getElementById('tsource').style.width="100%";//parseInt(dialogWidth); document.getElementById('tsource').style.height="90%";//parseInt(dialogHeight); document.getElementById('tsource').style.backgroundColor ="#d3d3d3"; document.getElementById('tsource').value = _opener.document[editorObject.getObjectId()].DOM.body.innerHTML document.getElementById('tsource').focus(); } function ________put() { if (editorObject.setHtmlSource(document.getElementById('tsource').value) == true) { self.close(); } } </SCRIPT> <SCRIPT LANGUAGE=JavaScript FOR=document EVENT=onkeydown> if (event.keyCode == 27) self.close(); if (event.keyCode == 112) document.getElementById('tsource').style.fontSize = parseInt(document.getElementById('tsource').style.fontSize)+2+'px'; if (event.keyCode == 113 && parseInt(document.getElementById('tsource').style.fontSize)>0) document.getElementById('tsource').style.fontSize = parseInt(document.getElementById('tsource').style.fontSize)-2+'px'; if (event.keyCode == 114) { dialogWidth = parseInt(dialogWidth)+20+'px'; dialogHeight = parseInt(dialogHeight)+20+'px'; } if (event.keyCode == 115 && parseInt(dialogWidth)>20 && parseInt(dialogHeight)>20) { dialogWidth = parseInt(dialogWidth)-20+'px'; dialogHeight = parseInt(dialogHeight)-20+'px'; } </SCRIPT> </head> <body onload="________init()" bgcolor="#d3d3d3" id="bo"> <textarea style="font-size:12px;" wrap="off" id="tsource"></textarea><br><div align="center"><input type="button" value="OK" onclick="________put()"> <input onclick="self.close()" type="button" value="Cancel"></div> </body> </html> --- NEW FILE: button_imagemap.js --- function MODUL_DECMD_IMAGEMAP_onclick(_this) { //DECMD_IMAGEMAP_RANGE = ''; //DECMD_IMAGEMAP_RANGE_ITEM = ''; var oSel ,sType, range_; oSel = document[_this.objectId].DOM.selection; range_ = oSel.createRange() if (range_.length <= 0 || !range_.item || range_.item(range_.length-1).tagName.toLowerCase() != 'img') { alert('Please click on an Image for using the Salomon Image Map Editor'); return; } args=new Array(); args['opener'] = window; args['dhtmlobj'] = document[_this.objectId]; d_ = new Date(); var arr = showModalDialog( document.dhtmlEditors_home+"modules/imagemap/index.php?fkproxy="+d_.getMilliseconds(),args,"dialogWidth:750px; dialogHeight:550px; center: Yes; help: No; resizable: Yes; status: Yes;" ); } function MODUL_DECMD_IMAGEMAP_getApiInfoArray(_image) { var apiInfoArray = new Array(); apiInfoArray['typ'] = 'button'; apiInfoArray['image'] = _image; apiInfoArray['title'] = 'Image Map'; apiInfoArray['onclick'] = MODUL_DECMD_IMAGEMAP_onclick; //apiInfoArray['exec'] = MODUL__HRinsertExec; // Set the position of the button apiInfoArray['grid'] = DECMD_SETBACKCOLOR; //See js/dhtmled.js for valid values //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; return apiInfoArray; } --- NEW FILE: button_table_properties_gecko.html --- <HTML> <HEAD> <title>Set Table Preferences :: Gecko's Midas DhtmlEditor</title> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> <!-- //document.writeln('<title>'+window.dialogArguments['title']+'</title>'); //--> </SCRIPT> <STYLE TYPE="text/css"> BODY {margin-left:10; font-family:Verdana; font-size:12; background:menu} BUTTON {width:5em} TABLE,TD,INPUT {font-family:Verdana; font-size:10px} P {text-align:center} </STYLE> <SCRIPT LANGUAGE=JavaScript> function _return(info,close_) { var t; var i; for(t in info) { for(i=0;i<info[t]['att'].length;i++) { var v=document.formd['info['+t+'][att]['+i+']'].value; if(!v.toString().length) { info[t]['node'].removeAttribute(info[t]['att'][i]); continue; } info[t]['node'].setAttribute(info[t]['att'][i],v); } } //opener.MODUL__TableProperties_ONCLICK_GECKO__GUIdid(info); if (close_) window.close(); } </SCRIPT> <SCRIPT LANGUAGE=JavaScript FOR=document EVENT=onkeydown> /* if (event.keyCode == 27) self.close(); if (event.keyCode == 114) { dialogWidth = parseInt(dialogWidth)+20+'px'; dialogHeight = parseInt(dialogHeight)+20+'px'; } if (event.keyCode == 115 && parseInt(dialogWidth)>20 && parseInt(dialogHeight)>20) { dialogWidth = parseInt(dialogWidth)-20+'px'; dialogHeight = parseInt(dialogHeight)-20+'px'; } */ </SCRIPT> </HEAD> <BODY> <table><tr><td align="center"> <form name=formd> <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> <!-- var t; var i; var info = opener.document.MODUL__TableProperties_ONCLICK_GECKO__GUIINFO; document.writeln('<TABLE CELLSPACING=0 cellpadding=3 border=1>'); document.writeln('<TR valign="top">'); for(t in info) { document.writeln('<TD><b>'+info[t]['desc']+'</b><br>'); document.writeln('<TABLE CELLSPACING=1 border=0>'); for(i=0;i<info[t]['att'].length;i++) { document.writeln('<TR valign="top">'); document.writeln('<TD>'); document.writeln(info[t]['att'][i]); document.writeln('</TD>'); document.writeln('<TD>'); var v=info[t]['node'].getAttribute(info[t]['att'][i]); if(v==null) v=''; document.writeln('<input name="info['+t+'][att]['+i+']" type="text" value="'+v.toString()+'" size=10>'); document.writeln('</TD>'); document.writeln('</TR>'); } document.writeln('</TABLE>'); document.writeln('</TD>'); } document.writeln('</TR>'); document.writeln('</TABLE>'); //--> </SCRIPT> <input TYPE=button value="OK" onclick="_return(info,1)"> <input TYPE=button value="Set" onclick="_return(info)"> <input type=button value="Cancel" ONCLICK="window.close();"> </form> </td></tr></table> </BODY> </HTML> --- NEW FILE: listbox_template.js --- //init function MODUL__listBoxTemplateGetApiInfoArray(config) {/*{{{*/ var i; var templates = config['templates']; var apiInfoArray = new Array(); apiInfoArray['typ'] = 'listbox'; apiInfoArray['div'] = new Array(); apiInfoArray['div']['box'] = new Array(); apiInfoArray['box'] = new Array(); apiInfoArray['box'][0] = new Array(); apiInfoArray['div']['box'][0] = new Array(); apiInfoArray['box'][0]['name'] = 'Choose a Template'; apiInfoArray['box'][0]['value'] = 'Choose a Template';//Not used yed apiInfoArray['div']['box'][0]['insert_mode'] = ''; apiInfoArray['div']['box'][0]['template_url'] = ''; apiInfoArray['div']['box'][0]['template_content']= ''; apiInfoArray['div']['box'][0]['url_content_cache']= false; for(i=0;templates && i<templates.length; i++) { apiInfoArray['box'][i+1] = new Array(); apiInfoArray['box'][i+1]['name'] = templates[i]['name']; apiInfoArray['box'][i+1]['value'] = templates[i]['value']; apiInfoArray['div']['box'][i+1] = new Array(); apiInfoArray['div']['box'][i+1]['insert_mode'] = templates[i]['insert_mode']; apiInfoArray['div']['box'][i+1]['template_url'] = templates[i]['template_url']; apiInfoArray['div']['box'][i+1]['template_content'] = templates[i]['template_content']; apiInfoArray['div']['box'][i+1]['url_content_cache'] = templates[i]['url_content_cache']; //defaults if (!apiInfoArray['div']['box'][i+1]['insert_mode']) apiInfoArray['div']['box'][i+1]['insert_mode'] = 'replace'; if (!apiInfoArray['div']['box'][i+1]['template_url']) apiInfoArray['div']['box'][i+1]['template_url'] = ''; if (!apiInfoArray['div']['box'][i+1]['template_content']) apiInfoArray['div']['box'][i+1]['template_content'] = ''; if (apiInfoArray['div']['box'][i+1]['url_content_cache'] != true ) apiInfoArray['div']['box'][i+1]['url_content_cache']= false; } apiInfoArray['title'] = 'Templates'; apiInfoArray['grid'] = DECMD_SETFONTSIZE; apiInfoArray['onclick'] = MODUL__listBoxTemplateOnClick; //apiInfoArray['onprepare'] = ____toggleEditModeOnPrepare; //apiInfoArray['onDocumentComplete'] = MODUL__listBoxStyleClassINIT; //apiInfoArray['exec'] = MODUL__listBoxStyleClassExec; //apiInfoArray['gridSeperatorBefore'] = true; //apiInfoArray['gridSeperatorAfter'] = true; apiInfoArray['QueryStatusItem'] = DECMD_GETBLOCKFMT; //Gecko apiInfoArray['GECKO_COMPATIBLE'] = true; apiInfoArray['GECKO_onclick'] = MODUL__listBoxTemplateOnClick_GECKO; return apiInfoArray; }/*}}}*/ //M$ function MODUL__listBoxTemplateOnClick(_this,elementObject,apiInfoArray) {/*{{{*/ if (!elementObject) return false; if (!document[_this.getObjectId()] || document[_this.getObjectId()].Busy) return false; if ( !(apiInfoArray && apiInfoArray['box'] && apiInfoArray['div'] && apiInfoArray['div']['box']) ) {return false;} var insert_mode = ''; var template_url = ''; var template_content = ''; var content2Insert = ''; var arg = new Array(); var ret = new Array(); var selectedIndex = elementObject.selectedIndex;// /\ //\\ //check minimum settings ///\\\ if ( //\\//\\ !apiInfoArray['div']['box'][selectedIndex] || (// \||/ !apiInfoArray['div']['box'][selectedIndex]['template_url'] && !apiInfoArray['div']['box'][selectedIndex]['template_content'] && !apiInfoArray['div']['box'][selectedIndex]['insert_mode']// /||\ )// || || !(// || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'replace' || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'buttom' || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'cursor' || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'top'// || ) //\\ ) return false; // \\ //____\\ // |||| // || /* imaging live */ insert_mode = apiInfoArray['div']['box'][selectedIndex]['insert_mode']; template_url = apiInfoArray['div']['box'][selectedIndex]['template_url']; template_content = apiInfoArray['div']['box'][selectedIndex]['template_content']; if (template_url) { var isCached=false; //enable caching ? if (apiInfoArray['div']['box'][selectedIndex]['url_content_cache'] == true) { //memory allocated ? if (!document.MODUL__listBoxTemplate_CACHED_URL_CONTENT) document.MODUL__listBoxTemplate_CACHED_URL_CONTENT=new Array(); //Cached ? if (document.MODUL__listBoxTemplate_CACHED_URL_CONTENT[template_url]) { ret = document.MODUL__listBoxTemplate_CACHED_URL_CONTENT[template_url]; isCached = true; } } if (!isCached) { arg['_this'] = _this; arg['_onload'] = MODUL__listBoxTemplateDialogOnLoadEvent; ret = showModalDialog(template_url,arg,"dialogWidth:"+180+"px; dialogHeight:"+10+"px"); if (!ret) return false; //Should be Cached ? if (apiInfoArray['div']['box'][selectedIndex]['url_content_cache']) document.MODUL__listBoxTemplate_CACHED_URL_CONTENT[template_url]=ret; } content2Insert = ret['content2Insert']; if (!content2Insert) content2Insert = ''; } if (template_content) { content2Insert += template_content; } // ok - all the content is in content2Insert, now cecking out the insert Mode //busy ? if (insert_mode == 'replace') { _this.setHtmlSource(content2Insert); } if (insert_mode == 'buttom') { document[_this.getObjectId()].DOM.body.innerHTML += content2Insert; } if (insert_mode == 'top') { document[_this.getObjectId()].DOM.body.innerHTML = content2Insert+document[_this.getObjectId()].DOM.body.innerHTML; } if (insert_mode == 'cursor') { try { var selection; selection = document[_this.getObjectId()].DOM.selection.createRange(); selection.pasteHTML(content2Insert); } catch(e) {;} } document[_this.getObjectId()].Refresh(); elementObject.selectedIndex=0; return true; }/*}}}*/ function MODUL__listBoxTemplateDialogOnLoadEvent(DialogWindow) {/*{{{*/ var ret = new Array(); ret['status'] = true; ret['error_num'] = 0; ret['error_val'] = ''; ret['content2Insert'] = DialogWindow.document['body'].innerHTML; DialogWindow.returnValue = ret; DialogWindow.close(); }/*}}}*/ //Gecko function MODUL__listBoxTemplateOnClick_GECKO(api_info) {/*{{{*/ /* api_info['ObjectId'] api_info['id'] api_info['select_element_obj'] api_info['idx'] */ var div = dhtmlEditorGecko.GET_MY_OBJECT_INSTANCE_FROM_OBJECT_ID(api_info['ObjectId']).ApiModulListBoxes[api_info['idx']].div; var selectedIndex = api_info['select_element_obj'].selectedIndex; var insert_mode = ''; var template_url = ''; var template_content = ''; var content2Insert = ''; var arg = new Array(); var ret = new Array(); var apiInfoArray = new Array(); apiInfoArray['div'] = div;//Mapping // /\ //\\ //check minimum settings ///\\\ if ( //\\//\\ !apiInfoArray['div']['box'][selectedIndex] || (// \||/ !apiInfoArray['div']['box'][selectedIndex]['template_url'] && !apiInfoArray['div']['box'][selectedIndex]['template_content'] && !apiInfoArray['div']['box'][selectedIndex]['insert_mode']// /||\ )// || || !(// || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'replace' || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'buttom' || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'cursor' || apiInfoArray['div']['box'][selectedIndex]['insert_mode'] == 'top'// || ) //\\ ... [truncated message content] |