⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.js

📁 OBPM是一个开源
💻 JS
字号:
/*
*??????????????????????????????????????????????????????????????????????
*??                                                                  ??
*??                eWebEditor - eWebSoft????????????????????????     ??
*??                                                                  ??
*??  ????????: eWebSoft.com                                          ??
*??                                                                  ??
*??  ????????: eWeb????????                                          ??
*??            email:webmaster@webasp.net                            ??
*??            QQ:589808                                             ??
*??                                                                  ??
*??  ????????: [????????]http://www.eWebSoft.com/Product/eWebEditor/ ??
*??            [????????]http://bbs.eWebSoft.com/                    ??
*??                                                                  ??
*??  ????????: http://www.fiyu.net/   ????????                       ??
*??           ??????????????????????????????                         ??
*??                                                                  ??
*??                                                                  ??
*??????????????????????????????????????????????????????????????????????
*/


// ????????
var sMenuHr="<tr><td align=center valign=middle height=2><TABLE border=0 cellpadding=0 cellspacing=0 width=128 height=2><tr><td height=1 class=HrShadow><\/td><\/tr><tr><td height=1 class=HrHighLight><\/td><\/tr><\/TABLE><\/td><\/tr>";
var sMenu1="<TABLE border=0 cellpadding=0 cellspacing=0 class=Menu width=150><tr><td width=18 valign=bottom align=center style='background:url(sysimage/contextmenu.gif);background-position:bottom;'><\/td><td width=132 class=RightBg><TABLE border=0 cellpadding=0 cellspacing=0>";
var sMenu2="<\/TABLE><\/td><\/tr><\/TABLE>";

// ????????
function getMenuRow(s_Disabled, s_Event, s_Image, s_Html) {
	var s_MenuRow = "";
	s_MenuRow = "<tr><td align=center valign=middle><TABLE border=0 cellpadding=0 cellspacing=0 width=148><tr "+s_Disabled+"><td valign=middle height=20 class=MouseOut onMouseOver=this.className='MouseOver'; onMouseOut=this.className='MouseOut';";
	if (s_Disabled==""){
		s_MenuRow += " onclick=\"parent."+s_Event+";parent.oPopupMenu.hide();\"";
	}
	s_MenuRow += ">"
	if (s_Image !=""){
		s_MenuRow += "&nbsp;<img border=0 src='buttonimage/"+config.StyleDir+"/"+s_Image+"' width=20 height=20 align=absmiddle "+s_Disabled+">&nbsp;";
	}else{
		s_MenuRow += "&nbsp;";
	}
	s_MenuRow += s_Html+"<\/td><\/tr><\/TABLE><\/td><\/tr>";
	return s_MenuRow;

}

// ????????format??????
function getFormatMenuRow(menu, html, image){
	var s_Disabled = "";
	if (!eWebEditor.document.queryCommandEnabled(menu)){
		s_Disabled = "disabled";
	}
	var s_Event = "format('"+menu+"')";
	var s_Image = menu+".gif";
	if (image){
		s_Image = image;
	}
	return getMenuRow(s_Disabled, s_Event, s_Image, html)
}

// ??????????????????
function getInputFieldMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isInputFieldSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "InputFieldProp()", "tableprop.gif", "??????????...")
	return s_Menu;
}

// ??????????????????
function getSelectFieldMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isSelectFieldSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "SelectFieldProp()", "tableprop.gif", "??????????...")
	return s_Menu;
}

// ??????????????????
function getTextareaFieldMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isTextareaFieldSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "TextareaFieldProp()", "tableprop.gif", "??????????????...")
	return s_Menu;
}

// ??????????????
function getRadioFieldMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isRadioFieldSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "RadioFieldProp()", "tableprop.gif", "??????????...")
	return s_Menu;
}

// ??????????????
function getCheckboxFieldMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isCheckboxFieldSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "CheckboxFieldProp()", "tableprop.gif", "??????????...")
	return s_Menu;
}

// ??????????????????
function getImageUploadMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isImageUploadSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "ImageUploadProp()", "tableprop.gif", "??????????????...")
	return s_Menu;
}
// ??????????????????
function getAttachmentUploadMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isAttachmentUploadSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "AttachmentUploadProp()", "tableprop.gif", "??????????????...")
	return s_Menu;
}

// ??HTML????????????
function getHTMLEditorFieldMenuRow(){
	var s_Menu = "";
	var s_Disabled = "disabled";
	if (isHTMLEditorFieldSelected()) s_Disabled="";
	s_Menu += getMenuRow(s_Disabled, "HTMLEditorFieldProp()", "tableprop.gif", "HTML??????????...")
	return s_Menu;
}
// ????????????????
//function getCalctextFieldMenuRow(){
//	var s_Menu = "";
//	var s_Disabled = "disabled";
//	if (isCalctextFieldSelected()) s_Disabled="";
//	s_Menu += getMenuRow(s_Disabled, "CalctextFieldProp()", "tableprop.gif", "????????????...")
//	return s_Menu;
//}


// ????????????
function getTableMenuRow(what){
	var s_Menu = "";
	var s_Disabled = "disabled";
	switch(what){
	case "TableInsert":
		if (!isTableSelected()) s_Disabled="";
		s_Menu += getMenuRow(s_Disabled, "TableInsert()", "tableinsert.gif","Insert table")
		break;
	case "TableProp":
		if (isTableSelected()||isCursorInTableCell()) s_Disabled="";
		s_Menu += getMenuRow(s_Disabled, "TableProp()", "tableprop.gif","Table property")
		break;
	case "TableCell":
		if (isCursorInTableCell()) s_Disabled="";
		s_Menu += getMenuRow(s_Disabled, "TableCellProp()", "tablecellprop.gif","Cell property")
		s_Menu += getMenuRow(s_Disabled, "TableCellSplit()", "tablecellsplit.gif","Split Cell")
		s_Menu += sMenuHr;
		s_Menu += getMenuRow(s_Disabled, "TableRowProp()", "tablerowprop.gif","Row property")
		s_Menu += getMenuRow(s_Disabled, "TableRowInsertAbove()", "tablerowinsertabove.gif","Insert row(above)");
		s_Menu += getMenuRow(s_Disabled, "TableRowInsertBelow()", "tablerowinsertbelow.gif","Insert row(below)");
		s_Menu += getMenuRow(s_Disabled, "TableRowMerge()", "tablerowmerge.gif","Merge rows");
		s_Menu += getMenuRow(s_Disabled, "TableRowSplit(2)", "tablerowsplit.gif","Split rows");
		s_Menu += getMenuRow(s_Disabled, "TableRowDelete()", "tablerowdelete.gif","Delete rows");
		s_Menu += sMenuHr;
		s_Menu += getMenuRow(s_Disabled, "TableColInsertLeft()", "tablecolinsertleft.gif","Insert col(left)");
		s_Menu += getMenuRow(s_Disabled, "TableColInsertRight()", "tablecolinsertright.gif","Insert col(right)");
		s_Menu += getMenuRow(s_Disabled, "TableColMerge()", "tablecolmerge.gif","Merge cols");
		s_Menu += getMenuRow(s_Disabled, "TableColSplit(2)", "tablecolsplit.gif","Split cols");
		s_Menu += getMenuRow(s_Disabled, "TableColDelete()", "tablecoldelete.gif","Delete cols");
		break;
	}
	return s_Menu;
}

// ????????
var oPopupMenu = window.createPopup();
function showContextMenu(event){
	//alert(isInputFieldSelected());
	
	if (!bEditMode) return false;

	var width = 150;
	var height = 0;
	var lefter = event.clientX;
	var topper = event.clientY;

	var oPopDocument = oPopupMenu.document;
	var oPopBody = oPopupMenu.document.body;

	var sMenu="";

	sMenu += getFormatMenuRow("cut","Cut");
	sMenu += getFormatMenuRow("copy","Copy");
	sMenu += getFormatMenuRow("paste","Paste");
	sMenu += getFormatMenuRow("delete","Delete");
	sMenu += getFormatMenuRow("selectall","SelectAll");
	sMenu += sMenuHr;
	height += 102;

	if (isCursorInTableCell()){
		sMenu += getTableMenuRow("TableProp");
		sMenu += getTableMenuRow("TableCell");
		sMenu += sMenuHr;
		height += 286;
	}

	if (isControlSelected("TABLE")){
		sMenu += getTableMenuRow("TableProp");
		sMenu += sMenuHr;
		height += 22;
	}

	if (isControlSelected("IMG")){
	  
    	if (isImageUploadSelected()) {//IMAGEUPLOAD
		    sMenu += getImageUploadMenuRow();
			sMenu += sMenuHr;
			height += 20;
		}
		if (isAttachmentUploadSelected()) {//ATTACHMENTUPLOAD
		sMenu += getAttachmentUploadMenuRow();
			sMenu += sMenuHr;
			height += 20;
		}
		if (isHTMLEditorFieldSelected()) {//HTMLEDITORFIELD
			sMenu += getHTMLEditorFieldMenuRow();
			sMenu += sMenuHr;
			height += 20;
		}
		else {//IMAGE
		  	sMenu += getMenuRow("", "ShowDialog('dialog/img.htm', 380, 315, true)", "img.gif","Image property");
			sMenu += sMenuHr;
			sMenu += getMenuRow("", "zIndex('forward')", "forward.gif", "Move up layer");
			sMenu += getMenuRow("", "zIndex('backward')", "backward.gif", "Move down layer");
			sMenu += sMenuHr;
			height += 64;
	}
	}
	if (isControlSelected("INPUT")){
		//alert("selected input.");
		sMenu += getInputFieldMenuRow();
		sMenu += sMenuHr;
		height += 20;
	}

	if (isControlSelected("SELECT")){
		//alert("selected select.");
		sMenu += getSelectFieldMenuRow();
		sMenu += sMenuHr;
		height += 20;
	}

	if (isControlSelected("TEXTAREA")){
		//alert("selected select.");
		sMenu += getTextareaFieldMenuRow();
		sMenu += sMenuHr;
		height += 20;
	}
	
	if (isControlSelected("INPUT")){
		//alert("selected select.");
		sMenu += getRadioFieldMenuRow();
		sMenu += sMenuHr;
		height += 20;
	}

	if (isControlSelected("INPUT")){
		//alert("selected select.");
		sMenu += getCheckboxFieldMenuRow();
		sMenu += sMenuHr;
		height += 20;
	}

//	if (isCalctextFieldSelected()){
//		//alert("selected select.");
//		sMenu += getCalctextFieldMenuRow();
//		sMenu += sMenuHr;
//		height += 20;
//	}

	sMenu += getMenuRow("", "findReplace()", "findreplace.gif","Find/Replace");
	height += 20;

	sMenu = sMenu1 + sMenu + sMenu2;

	oPopDocument.open();
	oPopDocument.write(config.StyleMenuHeader+sMenu);
	oPopDocument.close();

	height+=2;
	if(lefter+width > document.body.clientWidth) lefter=lefter-width;
	//if(topper+height > document.body.clientHeight) topper=topper-height;

	oPopupMenu.show(lefter, topper, width, height, eWebEditor.document.body);
	return false;

}

// ??????????
function showToolMenu(menu){
	if (!bEditMode) return false;
	var sMenu = ""
	var width = 150;
	var height = 0;

	var lefter = event.clientX;
	var leftoff = event.offsetX
	var topper = event.clientY;
	var topoff = event.offsetY;

	var oPopDocument = oPopupMenu.document;
	var oPopBody = oPopupMenu.document.body;

	switch(menu){
	case "paste":

		break;
	case "table":		// ????????
		sMenu += getTableMenuRow("TableInsert");
		sMenu += getTableMenuRow("TableProp");
		sMenu += sMenuHr;
		sMenu += getTableMenuRow("TableCell");
		height = 306;
		break;
	case "form":		// ????????
		sMenu += getFormatMenuRow("InsertInputText", "??????????", "formtext.gif");
		sMenu += getFormatMenuRow("InsertTextArea", "??????????", "formtextarea.gif");
		sMenu += getFormatMenuRow("InsertInputRadio", "??????????", "formradio.gif");
		sMenu += getFormatMenuRow("InsertInputCheckbox", "??????????", "formcheckbox.gif");
		sMenu += getFormatMenuRow("InsertSelectDropdown", "??????????", "formdropdown.gif");
		sMenu += getFormatMenuRow("InsertButton", "????????", "formbutton.gif");
		height = 120;
		break;
	case "zoom":		// ????????
		for (var i=0; i<aZoomSize.length; i++){
			if (aZoomSize[i]==nCurrZoomSize){
				sMenu += getMenuRow("", "doZoom("+aZoomSize[i]+")", "checked.gif", aZoomSize[i]+"%")
			}else{
				sMenu += getMenuRow("", "doZoom("+aZoomSize[i]+")", "space.gif", aZoomSize[i]+"%")
			}
			height += 20;
		}
		break;
	}

	sMenu = sMenu1 + sMenu + sMenu2;

	oPopDocument.open();
	oPopDocument.write(config.StyleMenuHeader+sMenu);
	oPopDocument.close();

	height+=2;
	if(lefter+width > document.body.clientWidth) lefter=lefter-width;
	//if(topper+height > document.body.clientHeight) topper=topper-height;

	oPopupMenu.show(lefter - leftoff - 2, topper - topoff + 22, width, height, document.body);

	return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -