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

📄 explorer.js

📁 找了很久才找到到源代码
💻 JS
📖 第 1 页 / 共 4 页
字号:
	} else if (state != 'wait') {
		// an error occurred
		alert('state:' + state + '\nmessage:' + msg);
		lockId = false;
	}
}

// closes a context menu
function closeContext() {

	var cmouter = win.files.getElementById("contextmenuouter");
	cmouter.style.visibility = "hidden";
	cmouter.style.display = "none";
	contextOpen = false;
	lockId = false;
}

// submits a selected multi action
function submitMultiAction(dialog) {

	var doc = win.files;
	doc.forms["formmulti"].action = dialog;
	win.files.forms["formmulti"].elements["resource"].value = "";
	doc.forms["formmulti"].submit();
}

// submits a selected single action
function submitSingleAction(dialog, targetFrame) {

	var doc = win.files;
	doc.forms["formmulti"].action = dialog;
	doc.forms["formmulti"].target = targetFrame;
	win.files.forms["formmulti"].elements["resourcelist"].value = "";
	doc.forms["formmulti"].submit();
}

// handle the mouse clicks
function handleOnClick(e) {

	e = checkEvent(e);
	cancelNextOpen = (selectedResources.length > 0);
	if (contextOpen) {
		// close eventually open context menu
		closeContext();
		if (active_mouse_id == last_id) {
			// clicked on same icon again, leave handler
			return false;
		}
	}
	// unselect resources;
	toggleSelectionStyle(false);
	selectedStyles = new Array();

	var btp = e.button;
	var keyHold = e.shiftKey || e.ctrlKey || e.altKey;
	if (keyHold) {
		// stop event bubbling
		e.cancelBubble = true;
		if (e.stopPropagation) {
			e.stopPropagation();
		}
	}
	if ((active_mouse_id < 0) || (active_from_text && !keyHold && (selectedResources.length <= 1) && (btp != 2))) {
		// no icon clicked, reset selected resources and leave handler
		last_id = -1;
		selectedResources = new Array();
		return true;
	}

	if (e.shiftKey) {
		// shift pressed, mark resources
		if (last_id >= 0) {
			// mark resources from last clicked to current one
			var incrementor = 1;
			if (last_id < active_mouse_id) {
				incrementor = -1;
			}
			var count = active_mouse_id;
			selectedResources = new Array();
			selectedResources[selectedResources.length] = count;
			while (count != last_id) {
				count += incrementor;
				selectedResources[selectedResources.length] = count;

			}
		} else {
			// first click, mark single resource
			selectedResources = new Array();
			selectedResources[selectedResources.length] = active_mouse_id;
		}
		last_id = active_mouse_id;
	} else if (e.ctrlKey || e.altKey) {
		// control or alt key pressed, add or remove resource from marked resources
		var found = false;
		for (i=0; i<selectedResources.length; i++) {
			if (selectedResources[i] == active_mouse_id) {
				// resource was previously selected, remove it from selection
				selectedResources[i] = -1;
				found = true;
				i = selectedResources.length;
			}
		}
		if (found) {
			// remove resource from selection array, rebuild array
			var tempResources = new Array();
			for (i=0; i<selectedResources.length; i++) {
				if (selectedResources[i] > -1) {
					tempResources[tempResources.length] = selectedResources[i];
				}
			}
			selectedResources = tempResources;
		} else {
			// not found, add resource to selection
			selectedResources[selectedResources.length] = active_mouse_id;
		}
	} else {
		// common click, mark currently clicked resource if not clicked before
		if (active_mouse_id != last_id) {
			var clickedMarked = false;
			for (i=0; i<selectedResources.length; i++) {
				if (selectedResources[i] == active_mouse_id) {
					clickedMarked = true;
				}
			}
			if (!clickedMarked || selectedResources.length <= 1) {
				// left mouse button clicked or only one resource selected, select the current resource
				selectedResources = new Array();
				selectedResources[selectedResources.length] = active_mouse_id;
			}
		}
		toggleSelectionStyle(true);
		cancelNextOpen = keyHold || (selectedResources.length > 0);
		return handleContext(e);
	}
	toggleSelectionStyle(true);
	cancelNextOpen = keyHold || (selectedResources.length > 0);

	return false;
}


// check if the event object is available and gets it if necessary
function checkEvent(event) {

	// fix for IE if window access is refused in some cases
	try {
		win.files.getElementById("contextmenu");
	} catch (exc) {
		updateWindowStore();
	}
	// check event
	if (!event) {
		event = win.fileswin.event;
	}
	return event;
}

// toggles the style of the selected resources
function toggleSelectionStyle(isSelected) {

	var doc = win.files;
	var styleName = "selected";
	if (! isSelected) {
		styleName = "unselected";
	}

	for (i=0; i<selectedResources.length; i++) {
		var last_id_style = "";
		var ah = doc.getElementById("a" + selectedResources[i]);
		var td = doc.getElementById("td3_" + selectedResources[i]);
		if (ah == null) {
			ah = td;
		}
		var rowStyle;
		if (ah != null) {
			last_id_style = ah.className;
			if (isSelected) {
				selectedStyles[selectedResources[i]] = last_id_style;
			}

			if (isSelected) {
				ah.className = styleName;
			} else {
				var cls = selectedStyles[selectedResources[i]];
				if (cls.charAt(cls.length - 1) == 'i') {
					cls = cls.substring(0, cls.length-1);
				}
				ah.className = cls;
			}

			rowStyle = styleName;
			if (last_id_style == "fd") {
				rowStyle += " fd";
				td.className = rowStyle;
			} else {
				td.className = ah.className;
			}
		}

		for (k=0; k<3; k++) {
			// change style of columns 0 to 2
			try {
				var elem = doc.getElementById("td" + k + "_" + selectedResources[i]);
				if (elem.className != "fd") {
					elem.className = rowStyle;
				}
			} catch (e) {}
		}
	}
}

function linkOver(obj, id) {

	var cls = obj.className;
	if (cls.charAt(cls.length - 1) != 'i') {
		cls = cls + 'i';
	}
	obj.className = cls;
	if (!lockId) {
		active_mouse_id = id;
		active_from_text = true;
	}
}

function linkOut(obj) {

	var cls = obj.className;
	if (cls.charAt(cls.length - 1) == 'i') {
		cls = cls.substring(0, cls.length-1);
	}
	obj.className = cls;
	if (!lockId) {
		active_mouse_id = -1;
		active_from_text = false;
	}
}


function printList(wo) {

        top.active_target = '';
        if ((win.fileswin.location.href.indexOf('list-explorer.jsp') >= 0) || (win.fileswin.location.href.indexOf('mode=galleryview') >= 0)) {
           top.active_target = '_parent';
        }

	var temp =
	"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"
	+ "<html><head>"
	+ "<meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset="
	+ top.frames.head.encoding
	+ "\">\n"
	+ "<script type=\"text/javascript\" language=\"JavaScript\">\n"
	+ "document.oncontextmenu = new Function('return false;');\n"
	+ "document.onmousedown = new Function('return false;');\n"
	+ "document.onmouseup = top.handleOnClick;\n"
	+ "</script>\n"
	+ "<style type='text/css'> @import url(" + vi.skinPath + "commons/explorer.css); </style>\n"
	+ "</head>\n";

	var returnplace = wo.location.href;
	if ((openfolderMethod != "openthisfolderflat") && (mode != "listview")) {
		var pos = returnplace.indexOf("/commons/");
		if (pos >= 0) {
			returnplace = returnplace.substring(0, pos + 1) + returnplace.substring(pos + 9);

			var pos2 = returnplace.indexOf("?");
			if (pos2 < 0) {
				pos2 = returnplace.length + 1;
			}
			var loc = returnplace.substring(0, pos2 - 1);
			loc = loc.substring(0, loc.lastIndexOf("/")) + "/views/explorer/explorer_files.jsp";
			returnplace = loc + returnplace.substring(pos2);
		}

	}
	returnplace = returnplace.replace(/\?/g, "%3F");
	returnplace = returnplace.replace(/\&/g, "%26");
	returnplace = returnplace.replace(/\=/g, "%3D");
	returnplace = returnplace.replace(/\//g, "%2F");

	wo.open();
	wo.writeln(temp);

	wo.write("<body unselectable=\"on\">");
	wo.writeln("<table cellpadding=\"1\" cellspacing=\"0\" border=\"0\"><tr>");

	wo.writeln("<td nowrap unselectable=\"on\" class=\"t\" width=\"16\">&nbsp;</td>");
	wo.writeln("<td nowrap unselectable=\"on\" class=\"t\" width=\"16\">&nbsp;</td>");
	wo.writeln("<td nowrap unselectable=\"on\" class=\"t\" width=\"16\">&nbsp;</td>");

	if (vi.check_name && ((mode != "listview") && (mode != "galleryview"))) wo.writeln("<td nowrap unselectable=\"on\" class=\"t100\">&nbsp;" + vr.descr[0] + "&nbsp;</td>");
	if (vi.check_name && ((mode == "listview") || (mode == "galleryview"))) wo.writeln("<td nowrap unselectable=\"on\" class=\"t100\">&nbsp;" + vr.descr[14] + "&nbsp;</td>");
	if (vi.check_title)					wo.writeln("<td nowrap unselectable=\"on\" class=\"t100\">&nbsp;" + vr.descr[1] + "&nbsp;</td>");
    if (vi.check_navtext)				wo.writeln("<td nowrap unselectable=\"on\" class=\"t100\">&nbsp;" + vr.descr[2] + "&nbsp;</td>");
	if (vi.check_type)					wo.writeln("<td nowrap unselectable=\"on\" class=\"t75\">&nbsp;"  + vr.descr[3] + "&nbsp;</td>");
	if (vi.check_size)					wo.writeln("<td nowrap unselectable=\"on\" class=\"t75\">&nbsp;"  + vr.descr[4] + "&nbsp;</td>");
	if (vi.check_permissions)			wo.writeln("<td nowrap unselectable=\"on\" class=\"t75\">&nbsp;"  + vr.descr[5] + "&nbsp;</td>");
	if (vi.check_dateLastModified)		wo.writeln("<td nowrap unselectable=\"on\" class=\"t125\">&nbsp;" + vr.descr[6] + "&nbsp;</td>");
	if (vi.check_userWhoLastModified)	wo.writeln("<td nowrap unselectable=\"on\" class=\"t125\">&nbsp;"  + vr.descr[7] + "&nbsp;</td>");
	if (vi.check_dateCreated)			wo.writeln("<td nowrap unselectable=\"on\" class=\"t125\">&nbsp;" + vr.descr[8] + "&nbsp;</td>");
	if (vi.check_userWhoCreated)		wo.writeln("<td nowrap unselectable=\"on\" class=\"t125\">&nbsp;"  + vr.descr[9] + "&nbsp;</td>");
	if (vi.check_dateReleased)			wo.writeln("<td nowrap unselectable=\"on\" class=\"t125\">&nbsp;" + vr.descr[10] + "&nbsp;</td>");
	if (vi.check_dateExpired)			wo.writeln("<td nowrap unselectable=\"on\" class=\"t125\">&nbsp;" + vr.descr[11] + "&nbsp;</td>");
	if (vi.check_state)					wo.writeln("<td nowrap unselectable=\"on\" class=\"t75\">&nbsp;"  + vr.descr[12] + "&nbsp;</td>");
	if (vi.check_lockedBy)				wo.writeln("<td nowrap unselectable=\"on\" class=\"t100\">&nbsp;"  + vr.descr[13] + "&nbsp;</td>");


	wo.writeln("</tr>");

	for (var i = 0; i < vi.liste.length; i++) {
		var vi_icon;
		var vi_text;
		var noaccess = false;

		if (typeof vi.resource[vi.liste[i].type] == 'undefined') {
			// type does not exist, the user has no access to this resource type
			noaccess = true;
			vi_icon = vi.resource[plainresid].icon;
			vi_text = vi.resource[plainresid].text;
		} else {
			vi_icon = vi.resource[vi.liste[i].type].icon;
			vi_text = vi.resource[vi.liste[i].type].text;
		}

		var ssclass = "class=\"";
		if (!vi.liste[i].isInsideCurrentProject || noaccess) {
			ssclass += "fp";
		} else {
			if (vi.liste[i].state == 0)
			ssclass += "nf";
			if (vi.liste[i].state == 1)
			ssclass += "fc";
			if (vi.liste[i].state == 2)
			ssclass += "fn";
			if (vi.liste[i].state == 3)
			ssclass += "fd";
		}
		ssclass += "\"";

		if ((vi.liste[i].layoutstyle) == 1) ssclass += " style=\"font-style:italic;\"";
		if ((vi.liste[i].layoutstyle) == 2) ssclass += " style=\"font-style:italic;\"";

		var vi_bg = "";
		if (vi.liste[i].linkType != 0) {
			vi_bg = " style=\"background-image:url(" + vi_icon + "); background-position: 1px 1px; background-repeat: no-repeat; \"";
			vi_icon = vi.skinPath + 'explorer/';
			if (vi.liste[i].linkType == 2) {
				vi_icon += 'link_labeled.gif';
			} else {
				vi_icon += 'link.gif';
			}
		}

		wo.writeln("<tr>");
		wo.write("<td unselectable=\"on\" id=\"td0_" + i + "\"" + vi_bg + ">");

		if (showKon && !noaccess) {
			wo.write("<a style=\"cursor:pointer;\"");
			wo.write(" onmouseover=\"top.setId(" + i + ")\" onmouseout=\"top.setId(-1)\">");
		}
		wo.write("<img id=\"ic" + i + "\" src='" + vi_icon + "' border=0 width=16 height=16>");
		if (showKon && !noaccess) {
			wo.write("</a>");
		}
		wo.writeln("</td>");

		wo.write("<td unselectable=\"on\" id=\"td1_" + i + "\">");
		// the resource is in the current project, so display the lock and project state

		if (vi.liste[i].lockedBy != "") {

⌨️ 快捷键说明

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