Fixed and closed #380: drop-down attachments and admin menus are now positioned (almost) correctly in IE7. Same workaround used for outgoing links drop-down menus.
This commit is contained in:
parent
4224a5785b
commit
38de4fbb10
3 changed files with 31 additions and 10 deletions
|
@ -16,5 +16,5 @@ using System.Reflection;
|
|||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("3.0.0.352")]
|
||||
[assembly: AssemblyFileVersion("3.0.0.352")]
|
||||
[assembly: AssemblyVersion("3.0.0.353")]
|
||||
[assembly: AssemblyFileVersion("3.0.0.353")]
|
||||
|
|
|
@ -42,13 +42,23 @@
|
|||
|
||||
var __attachmentsMenuJustShown = false;
|
||||
var __adminToolsMenuJustShown = false;
|
||||
var __ie7Mode = false;
|
||||
|
||||
function __ToggleAttachmentsMenu() {
|
||||
function __ToggleAttachmentsMenu(cx, cy) {
|
||||
var element = document.getElementById("PageAttachmentsDiv");
|
||||
if(element) {
|
||||
if(element.style["display"] == "none") {
|
||||
element.style["display"] = "";
|
||||
var pos = __AbsolutePosition(element);
|
||||
if(pos.left - cx > 0) {
|
||||
__ie7Mode = true;
|
||||
element.style["position"] = "absolute";
|
||||
element.style["top"] = cy + "px";
|
||||
element.style["left"] = (cx - pos.width) + "px";
|
||||
}
|
||||
else {
|
||||
__RepositionDiv(document.getElementById("PageAttachmentsLink"), element);
|
||||
}
|
||||
__attachmentsMenuJustShown = true;
|
||||
}
|
||||
}
|
||||
|
@ -58,17 +68,27 @@
|
|||
var element = document.getElementById("PageAttachmentsDiv");
|
||||
if(element && !__attachmentsMenuJustShown) {
|
||||
element.style["display"] = "none";
|
||||
if (__ie7Mode) element.style["left"] = "10000px";
|
||||
}
|
||||
__attachmentsMenuJustShown = false;
|
||||
return true; // Needed to enabled next clicks' action (file download)
|
||||
}
|
||||
|
||||
function __ToggleAdminToolsMenu() {
|
||||
function __ToggleAdminToolsMenu(cx, cy) {
|
||||
var element = document.getElementById("AdminToolsDiv");
|
||||
if(element) {
|
||||
if(element.style["display"] == "none") {
|
||||
element.style["display"] = "";
|
||||
var pos = __AbsolutePosition(element);
|
||||
if(pos.left - cx > 0) {
|
||||
__ie7Mode = true;
|
||||
element.style["position"] = "absolute";
|
||||
element.style["top"] = cy + "px";
|
||||
element.style["left"] = (cx - pos.width) + "px";
|
||||
}
|
||||
else {
|
||||
__RepositionDiv(document.getElementById("AdminToolsLink"), element);
|
||||
}
|
||||
__adminToolsMenuJustShown = true;
|
||||
}
|
||||
}
|
||||
|
@ -78,6 +98,7 @@
|
|||
var element = document.getElementById("AdminToolsDiv");
|
||||
if(element && !__adminToolsMenuJustShown) {
|
||||
element.style["display"] = "none";
|
||||
if(__ie7Mode) element.style["left"] = "10000px";
|
||||
}
|
||||
__adminToolsMenuJustShown = false;
|
||||
return true; // Needed to enable next clicks' action (admin tools)
|
||||
|
@ -233,11 +254,11 @@
|
|||
|
||||
<asp:Literal ID="lblDoubleClickHandler" runat="server" EnableViewState="False" meta:resourcekey="lblDoubleClickHandlerResource1" />
|
||||
|
||||
<div id="PageAttachmentsDiv">
|
||||
<div id="PageAttachmentsDiv" style="position: absolute; left: 10000px;">
|
||||
<st:AttachmentViewer ID="attachmentViewer" runat="server" />
|
||||
</div>
|
||||
|
||||
<div id="AdminToolsDiv">
|
||||
<div id="AdminToolsDiv" style="position: absolute; left: 10000px;">
|
||||
<asp:Literal ID="lblRollbackPage" runat="server" EnableViewState="False" meta:resourcekey="lblRollbackPageResource1" />
|
||||
<asp:Literal ID="lblAdministratePage" runat="server" EnableViewState="False" meta:resourcekey="lblAdministratePageResource1" />
|
||||
<asp:Literal ID="lblSetPagePermissions" runat="server" EnableViewState="False" meta:resourcekey="lblSetPagePermissionsResource1" />
|
||||
|
|
|
@ -154,7 +154,7 @@ namespace ScrewTurn.Wiki {
|
|||
int attachmentCount = GetAttachmentCount();
|
||||
lblAttachmentsLink.Visible = canDownloadAttachments && !discussMode && !viewCodeMode && attachmentCount > 0;
|
||||
if(lblAttachmentsLink.Visible) {
|
||||
lblAttachmentsLink.Text = string.Format(@"<a id=""PageAttachmentsLink"" title=""{0}"" href=""#"" onclick=""javascript:return __ToggleAttachmentsMenu();"">{1}</a>",
|
||||
lblAttachmentsLink.Text = string.Format(@"<a id=""PageAttachmentsLink"" title=""{0}"" href=""#"" onclick=""javascript:return __ToggleAttachmentsMenu(event.clientX, event.clientY);"">{1}</a>",
|
||||
Properties.Messages.Attachments, Properties.Messages.Attachments);
|
||||
}
|
||||
attachmentViewer.Visible = lblAttachmentsLink.Visible;
|
||||
|
@ -163,7 +163,7 @@ namespace ScrewTurn.Wiki {
|
|||
lblAdminToolsLink.Visible = Settings.EnablePageToolbar && !discussMode && !viewCodeMode &&
|
||||
((canRollback && bakCount > 0)|| canAdmin || canSetPerms);
|
||||
if(lblAdminToolsLink.Visible) {
|
||||
lblAdminToolsLink.Text = string.Format(@"<a id=""AdminToolsLink"" title=""{0}"" href=""#"" onclick=""javascript:return __ToggleAdminToolsMenu();"">{1}</a>",
|
||||
lblAdminToolsLink.Text = string.Format(@"<a id=""AdminToolsLink"" title=""{0}"" href=""#"" onclick=""javascript:return __ToggleAdminToolsMenu(event.clientX, event.clientY);"">{1}</a>",
|
||||
Properties.Messages.AdminTools, Properties.Messages.Admin);
|
||||
|
||||
if(canRollback && bakCount > 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue