📄 forumtreeviewcontrol.ascx
字号:
var rootNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById("RootNode");
if (rootNode != null)
{
rootNode.AddNode(newGroupNode);
window.<%=this.Tree.ClientObjectId%>.SelectedNode = newGroupNode;
window.<%=this.Tree.ClientObjectId%>.Render();
}
}
//## ADD SECTION ##
function AddSection(groupID, parentSectionID)
{
toggleButtons();
selectedNode = window.<%=this.Tree.ClientObjectId%>.SelectedNode;
// If a GroupID and SectionID were not passed, get them from the selected node
if (groupID == null)
{
if (selectedNode == null)
{
alert("<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_PleaseSelectAGroup") %>");
toggleButtons();
return;
}
else
{
groupID = getGroupID(selectedNode);
if (groupID == -1)
{
alert("<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_PleaseSelectAGroup") %>");
toggleButtons();
return;
}
}
}
if (parentSectionID == null)
{
if (selectedNode == null)
{
alert("<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_PleaseSelectAGroup") %>");
toggleButtons();
return;
}
else
parentSectionID = getSectionID(selectedNode);
}
newNodeSeq = newNodeSeq + 1; //ensure unique key names
newNodeGroupID = groupID;
AddSectionNode(groupID, parentSectionID, '0:'+newNodeSeq, '')
var newNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(groupID + ":0:"+newNodeSeq);
if (newNode == null)
{
alert("<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_PleaseSelectAGroup") %>");
toggleButtons();
return;
}
newNode.SetProperty('EditingEnabled', true);
newNode.SetProperty('DraggingEnabled', false);
newNode.SetProperty('DroppingEnabled', false);
window.<%=this.Tree.ClientObjectId%>.Render();
newNode.Edit();
}
function AddSectionCallBack(res)
{
cleanupNewNode();
if (res.value == '0')
{
alert("<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_PhotosAdmin_SectionEdit_Settings_AppKey_DuplicateNameException") %>");
window.frames["sectionEditFrame"].location.href = "<%= SiteUrls.Instance().BlankPage %>";
}
else if(res.value != '-1')
{
var retVals = res.value.split("^");
var groupID = retVals[0];
var parentSectionID = retVals[1];
var sectionID = retVals[2];
var sectionName = retVals[3];
AddSectionNode(groupID, parentSectionID, sectionID, sectionName)
window.frames["sectionEditFrame"].location.href = "IFrameHost.aspx?SectionID=" + sectionID + "&GroupID=" + groupID;
}
toggleButtons();
}
function cleanupNewNode()
{
window.<%=this.Tree.ClientObjectId%>.SelectedNode = null;
var newNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(newNodeGroupID + ":0:"+newNodeSeq);
if (newNode != null)
{
newNode.Remove();
newNode.SaveState();
}
window.<%=this.Tree.ClientObjectId%>.Render();
}
function AddSectionNode(groupID, parentSectionID, sectionID, name)
{
var rootNode;
if (parentSectionID > 0)
rootNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(groupID + ":" + parentSectionID);
else
rootNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(groupID + ":-1");
if(rootNode != null)
{
var newSectionNode = new ComponentArt_TreeViewNode();
newSectionNode.SetProperty('Text', name);
newSectionNode.SetProperty('ImageUrl', "notesdisabled.gif");
newSectionNode.SetProperty('Checked', null);
newSectionNode.SetProperty('EditingEnabled', false);
newSectionNode.SetProperty('DraggingEnabled', true);
newSectionNode.SetProperty('DroppingEnabled', true);
newSectionNode.SetProperty('ClientSideOnNodeSelect', "nodeSelect");
newSectionNode.SetProperty('Selectable', true);
newSectionNode.SetProperty('Value', groupID + ":" + sectionID);
newSectionNode.SetProperty('ID', groupID + ":" + sectionID);
rootNode.AddNode(newSectionNode);
window.<%=this.Tree.ClientObjectId%>.SelectedNode = newSectionNode;
window.<%=this.Tree.ClientObjectId%>.Render();
rootNode.Expand();
window.<%=this.Tree.ClientObjectId%>.Render();
}
else
{
window.location = window.location;
}
}
//## END ADD ##
//## DELETE ##
function DeleteSelected(groupID, sectionID)
{
var deletedNode = window.<%=this.Tree.ClientObjectId%>.SelectedNode;
// If a GroupID or SectionID was not passed, get it from the selected node
if (groupID == null || sectionID == null)
{
// Check if no node is selected
if (deletedNode == null)
return;
groupID = getGroupID(deletedNode);
sectionID = getSectionID(deletedNode);
}
if (sectionID == '-1' && groupID == '-1')
return;
// Clear the IFrame if we are deleting the current item
if (deletedNode != null)
{
if(getSectionID(deletedNode) == sectionID && getGroupID(deletedNode) == groupID)
window.frames["sectionEditFrame"].location.href = "IFrameHost.aspx?SectionID=0&GroupID=0";
}
if (sectionID != '-1')
DeleteSection(groupID, sectionID);
else
DeleteGroup(groupID);
}
//## DELETE GROUP ##
function DeleteGroup(groupID)
{
if (window.confirm("<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteGroupConfirmation") %>"))
{
window.frames["sectionEditFrame"].location.href = "<%= SiteUrls.Instance().ControlPanelLoading(CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteGroupWait")) %>";
ForumTreeViewControl.DeleteGroup('<%= this.ClientID %>', groupID, DeleteGroupCallBack);
}
}
function DeleteGroupCallBack(res)
{
window.frames["sectionEditFrame"].location.href = "<%= SiteUrls.Instance().BlankPage %>";
if (res == null)
window.location = window.location;
if (res.value == null)
{
alert('<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteGroupError") %>');
return;
}
if (res.value == 0)
{
alert('<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_GroupNotEmptyException") %>');
return;
}
var deletedNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(res.value + ":-1");
if (deletedNode != null)
{
deletedNode.Remove();
window.<%=this.Tree.ClientObjectId%>.Render();
}
return;
}
//## DELETE SECTION ##
function DeleteSection(groupID, sectionID)
{
if(window.confirm('<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteSectionConfirmation") %>'))
{
window.frames["sectionEditFrame"].location.href = "<%= SiteUrls.Instance().ControlPanelLoading(CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteSectionWait")) %>";
ForumTreeViewControl.DeleteSection('<%= this.ClientID %>', groupID, sectionID, DeleteSectionCallBack);
}
}
function DeleteSectionCallBack(res)
{
window.frames["sectionEditFrame"].location.href = "<%= SiteUrls.Instance().BlankPage %>";
if (res == null)
window.location = window.location;
if (res.value == null)
{
alert('<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteSectionError") %>');
return;
}
if (res.value == "0")
{
alert('<%= CommunityServer.ControlPanel.Components.ResourceManager.GetString("CP_Forums_TreeView_DeleteSectionError") %>');
return;
}
var retVals = res.value.split("^");
var groupID = retVals[0];
var sectionID = retVals[1];
var deletedNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(groupID + ":" + sectionID);
if (deletedNode != null)
{
deletedNode.Remove();
window.<%=this.Tree.ClientObjectId%>.Render();
}
return;
}
//## END DELETE ##
//## ENABLE SECTION TOGGLE ##
function ChangeSectionEnabled(groupID, sectionID )
{
ForumTreeViewControl.ChangeSectionEnabled('<%= this.ClientID %>', groupID, sectionID, ChangeSectionEnabledCallBack);
}
function ChangeSectionEnabledCallBack(res)
{
if (res == null)
window.location = window.location;
if(res.value == '-1') //not an admin
return;
var retVals = res.value.split("^");
var groupID = retVals[0];
var sectionID = retVals[1];
var changedNode = window.<%=this.Tree.ClientObjectId%>.FindNodeById(groupID + ":" + sectionID);
if (changedNode != null)
{
if(changedNode.Checked == 1) //used for enabled
{
changedNode.SetProperty('ImageUrl', "notesdisabled.gif");
changedNode.SetProperty('Checked', null);
}
else
{
changedNode.SetProperty('ImageUrl', "notes.gif");
changedNode.SetProperty('Checked', 1);
}
window.<%=this.Tree.ClientObjectId%>.Render();
//update the iframe
if(window.<%=this.Tree.ClientObjectId%>.SelectedNode != null && changedNode.ID == window.<%=this.Tree.ClientObjectId%>.SelectedNode.ID)
nodeSelect(changedNode);
}
return;
}
function toggleButtons()
{
toggleVisibility('<%=this.AddGroupButtonClientID %>');
toggleVisibility('<%=this.DeleteButtonClientID %>');
toggleVisibility('<%=this.AddSectionButtonClientID %>');
}
function toggleVisibility( targetId ){
if (document.getElementById){
target = document.getElementById( targetId );
if (target.style.display == "none"){
target.style.display = "";
} else {
target.style.display = "none";
}
}
}
//for splitter support
function resizeCategoryTree(DomElementId, NewPaneHeight, NewPaneWidth)
{
// Forces the treeview to adjust to the new size of its container
window.<%=this.Tree.ClientObjectId%>.Render();
if(DomElementId != null)
resizeDetails();
}
-->
</script>
<ca:treeview id="Tree" Width="100%" Height="100%" AutoScroll="true"
draganddropenabled="true" nodeeditingenabled="true"
keyboardenabled="true" cssclass="ForumFolderTree"
nodecssclass="ForumFolderTreeNode" selectednodecssclass="ForumFolderTreeNodeSelected"
hovernodecssclass="ForumFolderTreeNodeHover"
lineimagewidth="19" lineimageheight="20" allowtextselection="true"
defaultimagewidth="16" defaultimageheight="16"
ExpandCollapseImageWidth="17" ExpandCollapseImageHeight="15"
itemspacing="0" imagesbaseurl="~/ControlPanel/Images/CATreeView/small_icons/"
nodelabelpadding="0" parentnodeimageurl="folder.gif"
expandedparentnodeimageurl="folder_open.gif" showlines="true"
lineimagesfolderurl="~/ControlPanel/Images/CATreeView/small_icons/lines/"
enableviewstate="false" ClientSideOnNodeMove="nodeMove"
ClientSideOnNodeRename="nodeRename" ClientSideOnNodeMouseOut="checkNodeIndex"
ClientSideOnNodeMouseOver="checkNodeIndex" ClientSideOnNodeSelect="nodeSelect"
ExpandNodeOnSelect="true" CollapseNodeOnSelect="false" AutoPostBackOnSelect="false"
AutoPostBackOnNodeMove="false" dropsiblingenabled="true"
OnContextMenu="treeContextMenu" runat="server" FillContainer="True"
BorderColor="#CCCCCC" BorderWidth="0" BorderStyle="Solid" >
</ca:treeview>
<cs:contextmenu
filename="~/ControlPanel/Forums/GroupNodeContextMenu.config"
runat="server" id="GroupContextMenu"
onmenuopenscript="" onmenuclosescript="" />
<cs:contextmenu
filename="~/ControlPanel/Forums/SectionNodeContextMenu.config"
runat="server" id="SectionContextMenu"
onmenuopenscript="" onmenuclosescript="" />
<cs:contextmenu
filename="~/ControlPanel/Forums/SectionNodeDisabledContextMenu.config"
runat="server" id="SectionDisabledContextMenu"
onmenuopenscript="" onmenuclosescript="" />
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -