Adding some new events around tree rendering to make manipulation easier
[TFS Changeset #65921]
This commit is contained in:
@@ -1239,6 +1239,7 @@
|
||||
</Compile>
|
||||
<Compile Include="umbraco\Trees\MediaRecycleBin.cs" />
|
||||
<Compile Include="umbraco\Trees\NodeActionsEventArgs.cs" />
|
||||
<Compile Include="umbraco\Trees\TreeEventArgs.cs" />
|
||||
<Compile Include="umbraco\Trees\TreeRequestParams.cs" />
|
||||
<Compile Include="umbraco\webservices\MacroContainerService.asmx.cs">
|
||||
<DependentUpon>MacroContainerService.asmx</DependentUpon>
|
||||
|
||||
@@ -159,6 +159,9 @@ function openContent(id) {
|
||||
//get documents to render
|
||||
Document[] docs = Document.GetChildrenForTree(m_id);
|
||||
|
||||
var args = new TreeEventArgs(Tree);
|
||||
OnBeforeTreeRender(docs, args);
|
||||
|
||||
foreach (Document dd in docs)
|
||||
{
|
||||
List<IAction> allowedUserOptions = GetUserActionsForNode(dd);
|
||||
@@ -175,9 +178,10 @@ function openContent(id) {
|
||||
Tree.Add(node);
|
||||
OnAfterNodeRender(ref Tree, ref node, EventArgs.Empty);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//args = new TreeEventArgs(Tree);
|
||||
OnAfterTreeRender(docs, args);
|
||||
}
|
||||
|
||||
#region Tree Attribute Setter Methods
|
||||
|
||||
@@ -1,36 +1,17 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Xml;
|
||||
using System.Configuration;
|
||||
using umbraco.BasePages;
|
||||
using umbraco.BusinessLogic;
|
||||
using umbraco.cms.businesslogic;
|
||||
using umbraco.cms.businesslogic.cache;
|
||||
using umbraco.cms.businesslogic.contentitem;
|
||||
using umbraco.cms.businesslogic.datatype;
|
||||
using umbraco.cms.businesslogic.language;
|
||||
using umbraco.cms.businesslogic.media;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using umbraco.cms.businesslogic.property;
|
||||
using umbraco.cms.businesslogic.web;
|
||||
using umbraco.interfaces;
|
||||
using umbraco.DataLayer;
|
||||
using umbraco.BusinessLogic.Actions;
|
||||
using umbraco.BusinessLogic.Utils;
|
||||
using umbraco.cms.presentation.Trees;
|
||||
using umbraco.IO;
|
||||
using umbraco.cms.businesslogic.media;
|
||||
using umbraco.cms.businesslogic.property;
|
||||
using umbraco.interfaces;
|
||||
|
||||
namespace umbraco.cms.presentation.Trees
|
||||
{
|
||||
public abstract class BaseMediaTree : BaseTree
|
||||
{
|
||||
|
||||
|
||||
public BaseMediaTree(string application)
|
||||
: base(application)
|
||||
{
|
||||
@@ -74,7 +55,10 @@ function openMedia(id) {
|
||||
public override void Render(ref XmlTree tree)
|
||||
{
|
||||
Media[] docs = new Media(m_id).Children;
|
||||
|
||||
|
||||
var args = new TreeEventArgs(tree);
|
||||
OnBeforeTreeRender(docs, args);
|
||||
|
||||
foreach (Media dd in docs)
|
||||
{
|
||||
XmlTreeNode xNode = XmlTreeNode.Create(this);
|
||||
@@ -131,8 +115,8 @@ function openMedia(id) {
|
||||
tree.Add(xNode);
|
||||
OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
|
||||
}
|
||||
|
||||
}
|
||||
OnAfterTreeRender(docs, args);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,27 +1,11 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.ComponentModel;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Xml;
|
||||
using System.Configuration;
|
||||
using umbraco.BasePages;
|
||||
using umbraco.BusinessLogic;
|
||||
using umbraco.cms.businesslogic;
|
||||
using umbraco.cms.businesslogic.cache;
|
||||
using umbraco.cms.businesslogic.contentitem;
|
||||
using umbraco.cms.businesslogic.datatype;
|
||||
using umbraco.cms.businesslogic.language;
|
||||
using umbraco.cms.businesslogic.media;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using umbraco.cms.businesslogic.property;
|
||||
using umbraco.cms.businesslogic.web;
|
||||
using umbraco.interfaces;
|
||||
using umbraco.DataLayer;
|
||||
using umbraco.BusinessLogic.Utils;
|
||||
using umbraco.BusinessLogic.Actions;
|
||||
using umbraco.interfaces;
|
||||
|
||||
namespace umbraco.cms.presentation.Trees
|
||||
{
|
||||
@@ -490,7 +474,9 @@ namespace umbraco.cms.presentation.Trees
|
||||
public delegate void AfterNodeRenderEventHandler(ref XmlTree sender, ref XmlTreeNode node, EventArgs e);
|
||||
public static event BeforeNodeRenderEventHandler BeforeNodeRender;
|
||||
public static event AfterNodeRenderEventHandler AfterNodeRender;
|
||||
|
||||
|
||||
public static event EventHandler<TreeEventArgs> BeforeTreeRender;
|
||||
public static event EventHandler<TreeEventArgs> AfterTreeRender;
|
||||
|
||||
/// <summary>
|
||||
/// Raises the <see cref="E:BeforeNodeRender"/> event.
|
||||
@@ -502,7 +488,6 @@ namespace umbraco.cms.presentation.Trees
|
||||
BeforeNodeRender(ref sender, ref node, e);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Raises the <see cref="E:AfterNodeRender"/> event.
|
||||
/// </summary>
|
||||
@@ -513,6 +498,18 @@ namespace umbraco.cms.presentation.Trees
|
||||
AfterNodeRender(ref sender, ref node, e);
|
||||
}
|
||||
|
||||
protected virtual void OnBeforeTreeRender(object sender, TreeEventArgs e)
|
||||
{
|
||||
if (BeforeTreeRender != null)
|
||||
BeforeTreeRender(sender, e);
|
||||
}
|
||||
|
||||
protected virtual void OnAfterTreeRender(object sender, TreeEventArgs e)
|
||||
{
|
||||
if (AfterTreeRender != null)
|
||||
AfterTreeRender(sender, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Event that is raised once actions are assigned to nodes
|
||||
/// </summary>
|
||||
|
||||
@@ -52,6 +52,10 @@ namespace umbraco.cms.presentation.Trees
|
||||
|
||||
DirectoryInfo dirInfo = new DirectoryInfo(path);
|
||||
DirectoryInfo[] dirInfos = dirInfo.GetDirectories();
|
||||
|
||||
var args = new TreeEventArgs(tree);
|
||||
OnBeforeTreeRender(dirInfo, args);
|
||||
|
||||
foreach (DirectoryInfo dir in dirInfos)
|
||||
{
|
||||
if ((dir.Attributes & FileAttributes.Hidden) == 0)
|
||||
@@ -103,9 +107,7 @@ namespace umbraco.cms.presentation.Trees
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
OnAfterTreeRender(dirInfo, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
26
umbraco/presentation/umbraco/Trees/TreeEventArgs.cs
Normal file
26
umbraco/presentation/umbraco/Trees/TreeEventArgs.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using umbraco.cms.businesslogic.web;
|
||||
|
||||
namespace umbraco.cms.presentation.Trees
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class TreeEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the tree.
|
||||
/// </summary>
|
||||
/// <value>The tree.</value>
|
||||
public XmlTree Tree { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="TreeEventArgs"/> class.
|
||||
/// </summary>
|
||||
/// <param name="tree">The tree which the event is for.</param>
|
||||
public TreeEventArgs(XmlTree tree)
|
||||
{
|
||||
this.Tree = tree;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user