public override void Render(ref XmlTree tree)
        {
            // Create tree node to allow sending a newsletter

            var sendNewsletter = XmlTreeNode.Create(this);

            sendNewsletter.Text = "Send Newsletter";

            sendNewsletter.Icon = "docPic.gif";

            sendNewsletter.Action = "javascript:openSendNewsletter()";

            // Add the node to the tree

            tree.Add(sendNewsletter);


            // Create tree node to allow viewing previously sent newsletters
            var previousNewsletters = XmlTreeNode.Create(this);

            previousNewsletters.Text = "Previous Newsletters";

            previousNewsletters.Icon = "docPic.gif";

            previousNewsletters.Action = "javascript:openPreviousNewsletters()";

            // Add the node to the tree
            tree.Add(previousNewsletters);

        }
        public override void Populate(ref XmlTree tree, int keyId)
        {
            var reader =
                            Application.SqlHelper.ExecuteReader(
                                @"
                            SELECT Res.RaceResultId, D.Name
                            FROM Result Res INNER JOIN DriverContract DC ON Res.DriverContractId = DC.DriverContractId
                            INNER JOIN Driver D ON DC.DriverId = D.DriverId
                            WHERE Res.ResultType=1 AND Res.RaceId = @raceId
                            ORDER BY [Time]",
                                Application.SqlHelper.CreateParameter("@raceId", keyId));

            while (reader.Read())
            {

                var qNode = XmlTreeNode.Create(_baseTree);
                qNode.NodeID = reader.GetInt("RaceResultId").ToString();
                qNode.Text = reader.GetString("Name");
                qNode.Icon = "medal_silver_3.png";
                qNode.NodeType = "qualiResults";
                qNode.Action = "javascript:openQualificationResult(" + reader.GetInt("RaceResultId") + ")";
                qNode.Menu.Clear();
                qNode.Menu.Add(ActionDelete.Instance);

                tree.Add(qNode);

            }
        }
        public override void Render(ref XmlTree tree)
        {
            
            Dictionary.DictionaryItem[] tmp;
            if (this.id == this.StartNodeID)
                tmp = Dictionary.getTopMostItems;
            else
                tmp = new Dictionary.DictionaryItem(this.id).Children;

            foreach (Dictionary.DictionaryItem di in tmp)
            {
                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = di.id.ToString(); //dictionary_ + id.. 
                xNode.Text = di.key;
                xNode.Action = string.Format("javascript:openDictionaryItem({0});", di.id);
                xNode.Icon = "settingDataType.gif";
                xNode.OpenIcon = "settingDataType.gif";
                xNode.NodeType = "DictionaryItem"; //this shouldn't be like this, it should be this.TreeAlias but the ui.config file points to this name.
                xNode.Source = this.GetTreeServiceUrl(di.id);
				xNode.HasChildren = di.hasChildren;

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
                
            }
        }
        public override void Render(ref XmlTree tree)
        {
            foreach(string role in Roles.GetAllRoles()) {
//            MemberGroup[] MemberGroups = MemberGroup.GetAll;
            
//            for (int i = 0; i < MemberGroups.Length; i++)
//            {
                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = role;
                xNode.Text = role;
                xNode.Action = "javascript:openMemberGroup('" + HttpContext.Current.Server.UrlEncode(role.Replace("'", "\\'")) + "');";
                xNode.Icon = "icon-users";
                if (!Member.IsUsingUmbracoRoles())
                {
                    xNode.Menu = null;
                }

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                }
                OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
            }
        }
        public override void Render(ref XmlTree tree)
        {
            var docTypes = Service.GetContentTypeChildren(base.m_id);

            foreach (var docType in docTypes)
            {
                var hasChildren = Service.HasChildren(docType.Id);

                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = docType.Id.ToString(CultureInfo.InvariantCulture);
                xNode.Text = TranslateTreeNames.GetTranslatedName(docType.Name);
                xNode.Action = "javascript:openNodeType(" + docType.Id + ");";
                xNode.Icon = "icon-item-arrangement";
                xNode.OpenIcon = "icon-item-arrangement";
                xNode.Source = GetTreeServiceUrl(docType.Id);
                xNode.HasChildren = hasChildren;
                if (hasChildren)
                {
                    xNode.Icon = "icon-item-arrangement";
                    xNode.OpenIcon = "icon-item-arrangement";
                }

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
            }
        }
        public override void Render(ref XmlTree tree)
        {
            foreach (Task t in Task.GetTasks(currentUser(), false)) {

                if (t.Type.Alias == "toTranslate") {
                    XmlTreeNode xNode = XmlTreeNode.Create(this);
                    xNode.Menu.Clear();

                    xNode.NodeID = t.Id.ToString();
                    xNode.Text = t.Node.Text;
                    xNode.Action = "javascript:openTranslationTask(" + t.Id.ToString() + ")";
                    xNode.Icon = ".sprTreeSettingLanguage";
                    xNode.OpenIcon = ".sprTreeSettingLanguage";

                    OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                    if (xNode != null)
                    {
                        tree.Add(xNode);
                        OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                    }

                }

            }
        }
Exemple #7
0
        public override void Render(ref XmlTree tree)
        {
            Hashtable ht = Cache.ReturnCacheItemsOrdred();

            foreach (string key in ht.Keys)
            {
                //each child will need to load a CacheItem instead of a Cache tree so
                //we'll create a loadCacheItem object in order to get it's serivce url and alias properties
                loadCacheItem loadCacheItemTree = new loadCacheItem(this.app);
				int itemCount = ((ArrayList)ht[key]).Count;
                XmlTreeNode xNode = XmlTreeNode.Create(loadCacheItemTree);
                xNode.NodeID = key;
				xNode.Text = key + " (" + itemCount + ")";
				xNode.Action = string.Empty;
                xNode.Source = loadCacheItemTree.GetTreeServiceUrl(key);
                xNode.Icon = "developerCacheTypes.gif";
                xNode.OpenIcon = "developerCacheTypes.gif";
				xNode.HasChildren = itemCount > 0;

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
                
            }
        }
        public override void Render(ref XmlTree tree)
        {
            var mediaTypes = Service.GetMediaTypeChildren(base.m_id);

            foreach (var mediaType in mediaTypes)
            {
                var hasChildren = Service.MediaTypeHasChildren(mediaType.Id);

                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = mediaType.Id.ToString(CultureInfo.InvariantCulture);
                xNode.Text = mediaType.Name;
                xNode.Action = string.Format("javascript:openMediaType({0});", mediaType.Id);
                xNode.Icon = "settingDataType.gif";
                xNode.OpenIcon = "settingDataType.gif";
                xNode.Source = GetTreeServiceUrl(mediaType.Id);
                xNode.HasChildren = hasChildren;
                if (hasChildren)
                {
                    xNode.Icon = "settingMasterDataType.gif";
                    xNode.OpenIcon = "settingMasterDataType.gif";
                }

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
                
            }
        }
        /// <summary>
        /// Renders the specified tree.
        /// </summary>
        /// <param name="tree">The application tree.</param>
        public override void Render(ref XmlTree tree)
        {
            // render the folders/files
            //base.Render(ref tree);

            // the NodeKey is empty for the root, but contains the folder name for sub-folders.
            if (string.IsNullOrEmpty(this.NodeKey))
            {
                // - add configuration node
                XmlTreeNode confNode = XmlTreeNode.Create(this);
                confNode.NodeID = "ConfigurationFile";
                confNode.Action = "javascript:openuImageResizerConfig();";
                confNode.Text = "Configuration";
                confNode.Icon = "../../plugins/uImageResizer/ConfigFileIcon.gif";
                confNode.OpenIcon = confNode.Icon;
                tree.Add(confNode);

                //// - add docs node
                //XmlTreeNode docsNode = XmlTreeNode.Create(this);
                //docsNode.NodeID = "GettingStarted";
                //docsNode.Action = "javascript:openuImageResizerGettingStarted();";
                //docsNode.Text = "Getting Started";
                //docsNode.Icon = "../../plugins/uImageResizer/DocumentationIcon.gif";
                //docsNode.OpenIcon = docsNode.Icon;
                //tree.Add(docsNode);

                // - add support node
                XmlTreeNode supportNode = XmlTreeNode.Create(this);
                supportNode.NodeID = "Support";
                supportNode.Action = "javascript:openuImageResizerSupport();";
                supportNode.Text = "Support and Service";
                supportNode.Icon = "../../plugins/uImageResizer/SupportIcon.gif";
                supportNode.OpenIcon = supportNode.Icon;
                tree.Add(supportNode);

                // - add licenses node
                XmlTreeNode licenseNode = XmlTreeNode.Create(this);
                licenseNode.NodeID = "Licenses";
                licenseNode.Action = "javascript:openuImageResizerLicensing();";
                licenseNode.Text = "Info on licensing";
                licenseNode.Icon = "../../plugins/uImageResizer/LicensesIcon.gif";
                licenseNode.OpenIcon = licenseNode.Icon;
                tree.Add(licenseNode);

            }
        }
Exemple #10
0
        public override void Render(ref XmlTree tree)
        {
            XmlTreeNode xNode;

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Log";
            xNode.Icon = "doc.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuToolTab('/umbraco/plugins/uTools/log.aspx')";
            tree.Add(xNode);

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Data Types";
            xNode.Icon = "developerDatatype.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuTool('datatype.aspx')";
            tree.Add(xNode);

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Document Types";
            xNode.Icon = "settingDatatype.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuTool('doctype.aspx')";
            tree.Add(xNode);

            //xNode = XmlTreeNode.Create(this);
            //xNode.Text = "Content";
            //xNode.Icon = "docPic.gif";
            //xNode.NodeType = "uTool";
            //xNode.Action = "javascript:openuTool('content.aspx')";
            //tree.Add(xNode);

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Templates";
            xNode.Icon = "settingTemplate.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuTool('template.aspx')";
            tree.Add(xNode);

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Macros";
            xNode.Icon = "developerMacro.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuTool('macro.aspx')";
            tree.Add(xNode);

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Content Cache Viewer";
            xNode.Icon = "settingXML.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuTool('cache.aspx')";
            tree.Add(xNode);

            xNode = XmlTreeNode.Create(this);
            xNode.Text = "Media Cache Viewer";
            xNode.Icon = "mediaPhoto.gif";
            xNode.NodeType = "uTool";
            xNode.Action = "javascript:openuTool('mediacache.aspx')";
            tree.Add(xNode);
        }
Exemple #11
0
        /// 
        /// Override the render method to create the newsletter tree
        /// 
        /// 
        public override void Render(ref XmlTree Tree)
        {
            Tree.treeCollection.Clear();

            var nodeWorkout = XmlTreeNode.Create(this);
            nodeWorkout.NodeID = "Workout" + Guid.NewGuid();
            nodeWorkout.Text = "Workout";
            nodeWorkout.Icon = "b_user.png";
            nodeWorkout.Action = string.Format("javascript:openRepository({0});", 1355);
            Tree.Add(nodeWorkout);

            var nodeExercise = XmlTreeNode.Create(this);
            nodeExercise.NodeID = "Exercise" + Guid.NewGuid();
            nodeExercise.Text = "Exercise";
            nodeExercise.Icon = "b_user.png";
            nodeExercise.Action = string.Format("javascript:openRepository({0});", 1355);
            Tree.Add(nodeExercise);
        }
Exemple #12
0
 public override void Render(ref XmlTree tree)
 {
     for (var i = 0; i < 10; i++)
     {
         var node = XmlTreeNode.Create(this);
         node.Text = "Node " + i;
         tree.Add(node);
     }
 }
        public override void Render(ref XmlTree tree)
        {
            if (this.NodeKey == string.Empty)
            {

                var seasons = _repository.GetAll().OrderBy(s => s.Year);
                foreach (var season in seasons) {
                    var node = XmlTreeNode.Create(this);
                    node.NodeID = season.Id.ToString();
                    node.Text = season.Name;
                    node.Icon = "calendar.png";
                    node.Action = "javascript:openSeasonTemplates(" + season.Id + ")";
                    node.NodeType = "season";

                    TreeService treeService = new TreeService(-1, TreeAlias, ShowContextMenu, IsDialog, DialogMode, app, string.Format("Season-{0}", season.Id));
                    node.Source = season.Races.Count() > 0 ? treeService.GetServiceUrl() : "";

                    node.Menu.Clear();
                    node.Menu.AddRange(new List<IAction> { ActionNew.Instance, ActionDelete.Instance, ContextMenuSeperator.Instance, ActionRefresh.Instance });

                    tree.Add(node);
                }

            } else {

                string keyType = this.NodeKey.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries)[0];
                int keyId = int.Parse(this.NodeKey.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries)[1]);

                switch (keyType) {
                    case "Season":

                        var season = _repository.GetById(keyId);

                        if (season != null) {

                            foreach (var race in season.Races)
                            {
                                var node = XmlTreeNode.Create(this);
                                node.NodeID = race.Id.ToString();
                                node.Text = race.Circuit.Name;
                                node.Icon = "map_go.png";
                                node.NodeType = "seasonRace";
                                node.Action = "javascript:openSeasonRace(" + race.Id + "," + season.Id + ")";

                                node.Menu.Clear();
                                if (race.GetQualificationResults().Count() == 0 && race.GetRaceResults().Count() == 0)
                                    node.Menu.Add(ActionDelete.Instance);

                                tree.Add(node);
                            }
                        }

                        break;
                }
            }
        }
Exemple #14
0
        /// 
        /// Override the render method to create the newsletter tree
        /// 
        /// 
        public override void Render(ref XmlTree Tree)
        {
            Tree.treeCollection.Clear();

            var node = XmlTreeNode.Create(this);
            node.NodeID = "Topic" + Guid.NewGuid();
            node.Text = "Topic";
            node.Icon = "b_user.png";
            node.Action = string.Format("javascript:openTopic({0});", 1355);
            var data = GetTreeServiceUrl(node.NodeID);
            Tree.Add(node);
        }
Exemple #15
0
 public override void Render(ref XmlTree tree)
 {
     var circuits = _repository.GetAll();
     foreach(var circuit in circuits) {
         XmlTreeNode xNode = XmlTreeNode.Create(this);
         xNode.NodeID = circuit.Id.ToString();
         xNode.Text = circuit.Name + " - " + circuit.Country;
         xNode.Icon = "map.png";
         xNode.Action = "javascript:openCircuits(" + circuit.Id + ")";
         tree.Add(xNode);
     }
 }
 public override void Render(ref XmlTree tree)
 {
     var reader = Application.SqlHelper.ExecuteReader("select * from khaaaantest_Contests");
     while (reader.Read())
     {
         var node = XmlTreeNode.Create(this);
         node.NodeID = reader.GetInt("Id").ToString(CultureInfo.InvariantCulture);
         node.Text = reader.GetString("Name");
         node.Icon = "contest.png";
         node.Action = "javascript:openContest(" + reader.GetInt("Id").ToString(CultureInfo.InvariantCulture) + ")";
         tree.Add(node);
     }
 }
Exemple #17
0
        public override void Render(ref XmlTree tree)
        {
            var drivers = _driverRepository.GetAll();

            foreach(var driver in drivers) {
                var dNode = XmlTreeNode.Create(this);
                dNode.NodeID = driver.Id.ToString();
                dNode.Text = driver.Name;
                dNode.Icon = "user.png";
                dNode.Action = "javascript:openDrivers(" + driver.Id + ")";
                tree.Add(dNode);
            }
        }
Exemple #18
0
        public override void Render(ref XmlTree tree)
        {
            var teams = _repository.GetAll();

            foreach (var team in teams) {
                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = team.Id.ToString();
                xNode.Text = team.Name;
                xNode.Icon = "group.png";
                xNode.Action = "javascript:openTeams(" + team.Id + ")";
                tree.Add(xNode);
            }
        }
        public override void Render(ref XmlTree tree)
        {

            if (UseOptimizedRendering == false)
            {
                //We cannot run optimized mode since there are subscribers to events/methods that require document instances
                // so we'll render the original way by looking up the docs.

                var docs = new Media(m_id).Children;

                var args = new TreeEventArgs(tree);
                OnBeforeTreeRender(docs, args);

                foreach (var dd in docs)
                {
                    var e = dd;
                    var xNode = PerformNodeRender(e.Id, e.Text, e.HasChildren, e.ContentType.IconUrl, e.ContentType.Alias, () => GetLinkValue(e, e.Id.ToString(CultureInfo.InvariantCulture)));


                    OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                    if (xNode != null)
                    {
                        tree.Add(xNode);
                        OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                    }
                }

                OnAfterTreeRender(docs, args);
            }
            else
            {
                //We ARE running in optmized mode, this means we will NOT be raising the BeforeTreeRender or AfterTreeRender 
                // events  - we've already detected that there are not subscribers or implementations
                // to call so that is fine.

                var entities = Services.EntityService.GetChildren(m_id, UmbracoObjectTypes.Media).ToArray();
                
                foreach (UmbracoEntity entity in entities)
                {
                    var e = entity;
                    var xNode = PerformNodeRender(e.Id, entity.Name, e.HasChildren, e.ContentTypeIcon, e.ContentTypeAlias, () => GetLinkValue(e));
                    
                    OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                    if (xNode != null)
                    {
                        tree.Add(xNode);
                        OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                    }
                }
            }            
        }
Exemple #20
0
        public override void Render(ref XmlTree tree)
        {
            XmlTreeNode xNode = XmlTreeNode.Create(this);
            xNode.Text = "Error";
            xNode.Menu = null;

            OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
            if (xNode != null)
            {
                tree.Add(xNode);
                OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
            }
            
        }
        public override void Populate(ref XmlTree tree, int keyId)
        {
            Season season = _seasonRepository.GetById(keyId);

            if (season != null)
            {

                XmlTreeNode entries = XmlTreeNode.Create(_baseTree);
                entries.NodeID = season.Id.ToString();
                entries.Icon = "folder.gif";
                entries.Text = "Entrants";
                entries.NodeType = "seasonEntry";

                var treeService = GetTreeService(keyId, string.Format("Entries-{0}", season.Id));
                entries.Source = season.Entrants.Count() > 0 ? treeService.GetServiceUrl() : "";

                entries.Menu.Clear();
                entries.Menu.AddRange(new List<IAction> { ActionNew.Instance, ContextMenuSeperator.Instance, ActionRefresh.Instance });

                tree.Add(entries);

                XmlTreeNode races = XmlTreeNode.Create(_baseTree);
                races.NodeID = season.Id.ToString();
                races.Icon = "folder.gif";
                races.Text = "Races";
                races.NodeType = "seasonRaceFolder";

                treeService = GetTreeService(keyId, string.Format("Races-{0}", season.Id));
                races.Source = season.Races.Count() > 0 ? treeService.GetServiceUrl() : "";

                races.Menu.Clear();
                races.Menu.AddRange(new List<IAction> { ActionRefresh.Instance });

                tree.Add(races);

            }
        }
 public override void Render(ref XmlTree tree)
 {
     Repository repository = new Repository();
     List<Entity> entities = repository.GetAll();
     foreach (Entity entity in entities)
     {
         XmlTreeNode xNode = XmlTreeNode.Create(this);
         xNode.NodeID = entity.Id.ToString();
         xNode.Text = entity.Name;
         xNode.Action = "javascript:openUpacSyndication(" + entity.Id + ");";
         xNode.Icon = "feed.png";
         xNode.OpenIcon = "feed.png";
         tree.Add(xNode);
     }
 }
		/// <summary>
		/// This is called if the tree has been expanded, and it's used to render and child nodes for this tree
		/// </summary>
		/// <param name="tree">current tree</param>
		public override void Render(ref XmlTree tree)
		{
			XmlTreeNode node;

			foreach (RelationType relationType in RelationType.GetAll().OrderBy(relationType => relationType.Name))
			{
				node = XmlTreeNode.Create(this);
				node.NodeID = relationType.Id.ToString();
				node.Text = relationType.Name;
				node.Icon = "icon-trafic";
				node.Action = string.Concat("javascript:openRelationType('", node.NodeID, "');");

				tree.Add(node);
			}
		}
        public Dictionary<string, string> GetInitAppTreeData(string app, string treeType, bool showContextMenu, bool isDialog, TreeDialogModes dialogMode, string functionToCall, string nodeKey)
        {
            AuthorizeRequest(app, true);

            var treeCtl = new TreeControl()
            {
                ShowContextMenu = showContextMenu,
                IsDialog = isDialog,
                DialogMode = dialogMode,
                App = app,
                TreeType = string.IsNullOrEmpty(treeType) ? "" : treeType, //don't set the tree type unless explicitly set
                NodeKey = string.IsNullOrEmpty(nodeKey) ? "" : nodeKey,
                StartNodeID = -1, //TODO: set this based on parameters!
                FunctionToCall = string.IsNullOrEmpty(functionToCall) ? "" : functionToCall
            };

            var returnVal = new Dictionary<string, string>();

            if (string.IsNullOrEmpty(treeType))
            {
                //if there's not tree type specified, then render out the tree as per normal with the normal 
                //way of doing things
                returnVal.Add("json", treeCtl.GetJSONInitNode());
            }
            else
            {
                var tree = LegacyTreeDataConverter.GetLegacyTreeForLegacyServices(Services.ApplicationTreeService, treeType);
                
                tree.ShowContextMenu = showContextMenu;
                tree.IsDialog = isDialog;
                tree.DialogMode = dialogMode;
                tree.NodeKey = string.IsNullOrEmpty(nodeKey) ? "" : nodeKey;
                tree.FunctionToCall = string.IsNullOrEmpty(functionToCall) ? "" : functionToCall;
                //this would be nice to set, but no parameters :( 
                //tree.StartNodeID =    

                //now render it's start node
                var xTree = new XmlTree();
                xTree.Add(tree.RootNode);

                returnVal.Add("json", xTree.ToString());    
            }

            returnVal.Add("app", app);
            returnVal.Add("js", treeCtl.JSCurrApp);

            return returnVal;
        }
		public Dictionary<string, string> GetInitAppTreeData(string app, string treeType, bool showContextMenu, bool isDialog, TreeDialogModes dialogMode, string functionToCall, string nodeKey)
		{
			Authorize();

			TreeControl treeCtl = new TreeControl()
			{
                ShowContextMenu = showContextMenu,
                IsDialog = isDialog,
                DialogMode = dialogMode,
                App = app,
                TreeType = string.IsNullOrEmpty(treeType) ? "" : treeType, //don't set the tree type unless explicitly set
                NodeKey = string.IsNullOrEmpty(nodeKey) ? "" : nodeKey,
                StartNodeID = -1, //TODO: set this based on parameters!
                FunctionToCall = string.IsNullOrEmpty(functionToCall) ? "" : functionToCall
			};

			Dictionary<string, string> returnVal = new Dictionary<string, string>();

            if (string.IsNullOrEmpty(treeType))
            {
                //if there's not tree type specified, then render out the tree as per normal with the normal 
                //way of doing things
                returnVal.Add("json", treeCtl.GetJSONInitNode());
            }
            else
            {
               
                //get the tree that we need to render
                var tree = TreeDefinitionCollection.Instance.FindTree(treeType).CreateInstance();
                tree.ShowContextMenu = showContextMenu;
                tree.IsDialog = isDialog;
                tree.DialogMode = dialogMode;
                tree.NodeKey = string.IsNullOrEmpty(nodeKey) ? "" : nodeKey;
                tree.FunctionToCall = string.IsNullOrEmpty(functionToCall) ? "" : functionToCall;
                //this would be nice to set, but no parameters :( 
                //tree.StartNodeID =

                //now render it's start node
                XmlTree xTree = new XmlTree();
                xTree.Add(tree.RootNode);
                returnVal.Add("json", xTree.ToString());
            }

            returnVal.Add("app", app);
			returnVal.Add("js", treeCtl.JSCurrApp);

			return returnVal;
		}	
		/// <summary>
		/// Renders the specified tree.
		/// </summary>
		/// <param name="tree">The application tree.</param>
		public override void Render(ref XmlTree tree)
		{
			base.Render(ref tree);

			// the NodeKey is empty for the root, but contains the folder name for sub-folders.
			if (string.IsNullOrEmpty(this.NodeKey))
			{
				// Add the Web.Config node
				var xNode = XmlTreeNode.Create(this);
				xNode.NodeID = "WebConfig";
				xNode.Action = "javascript:openConfigEditor('web.config');";
				xNode.Text = "Web.config";
			    if (CompatibilityHelper.IsVersion7OrNewer)
			    {
                    xNode.Icon = "icon-document"; 
			    }
			    else
			    {
			        xNode.Icon = "../../developer/Config/config.gif";
			    }
			    xNode.OpenIcon = xNode.Icon;
				tree.Add(xNode);

                // Add extra config files specified in ExtraConfigFiles setting.
                var items = ConfigurationManager.AppSettings["ExtraConfigFiles"].Split(',').Select(s => new { Title = s.Split(':').First(), Filename = s.Split(':', '=').Last() });

                foreach (var item in items)
                {
                    var cNode = XmlTreeNode.Create(this);
                    cNode.NodeID = item.Title;
                    cNode.Action = "javascript:openConfigEditor('" + item.Filename + "');";
                    cNode.Text = item.Title;
                    if (CompatibilityHelper.IsVersion7OrNewer)
                    {
                        cNode.Icon = "icon-document";
                    }
                    else
                    {
                        cNode.Icon = "../../developer/Config/config.gif";
                    }
                    cNode.OpenIcon = cNode.Icon;
                    tree.Add(cNode);
                }
            }
        }
 private void CreateNode(ref XmlTree tree, string name, string action)
 {
     var node = XmlTreeNode.Create(this);
     node.NodeID = 1.ToString();
     node.NodeType = "ContentConveyor";
     node.Text = name;
     node.Action = "javascript:openDashboard('" + action + "');";
     node.Icon = "icon-box";
     node.OpenIcon = "icon-box";
     node.HasChildren = false;
     node.Menu = new List<IAction>();
     OnBeforeNodeRender(ref tree, ref node, EventArgs.Empty);
     if (node != null)
     {
         tree.Add(node);
         OnAfterNodeRender(ref tree, ref node, EventArgs.Empty);
     }
 }
 private void CreateNode(ref XmlTree tree, string name, string action)
 {
     var node = XmlTreeNode.Create(this);
     node.NodeID = 1.ToString();
     node.NodeType = "ContentConveyor";
     node.Text = name;
     node.Action = "javascript:openDashboard('" + action + "');";
     node.Icon = "../../../App_Plugins/BackOffice/ContentConveyor/Images/Icons/importDocumenttype.png";
     node.OpenIcon = "../../../App_Plugins/BackOffice/ContentConveyor/Images/Icons/importDocumenttype.png";
     node.HasChildren = false;
     node.Menu = new List<IAction>();
     OnBeforeNodeRender(ref tree, ref node, EventArgs.Empty);
     if (node != null)
     {
         tree.Add(node);
         OnAfterNodeRender(ref tree, ref node, EventArgs.Empty);
     }
 }
        public override void Render(ref XmlTree tree)
        {
            if (User.GetCurrent().IsAdmin())
            {
                //create users tree
                XmlTreeNode xNode;

                foreach (User thisUser in User.getAll())
                {
                    xNode = XmlTreeNode.Create(this);
                    xNode.Text = thisUser.Name;
                    xNode.Icon = "user.gif";
                    xNode.NodeID = thisUser.Id.ToString();
                    xNode.Action = "javascript:openWidgetBuilderPermissions(" + thisUser.Id.ToString() + ")";
                    tree.Add(xNode);
                }
            }
        }
Exemple #30
0
        public override void Render(ref XmlTree tree)
        {
            foreach (MediaType dt in MediaType.GetAll)
            {
                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = dt.Id.ToString();
                xNode.Text = dt.Text;
                xNode.Action = string.Format("javascript:openMediaType({0});", dt.Id);
                xNode.Icon = "settingDataType.gif";
                xNode.OpenIcon = "settingDataType.gif";

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
                
            }
        }
Exemple #31
0
        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);
                xNode.NodeID = dd.Id.ToString();
                xNode.Text   = dd.Text;

                // Check for dialog behaviour
                if (!this.IsDialog)
                {
                    if (!this.ShowContextMenu)
                    {
                        xNode.Menu = null;
                    }
                    xNode.Action = "javascript:openMedia(" + dd.Id + ");";
                }
                else
                {
                    if (this.ShowContextMenu)
                    {
                        xNode.Menu = new List <IAction>(new IAction[] { ActionRefresh.Instance });
                    }
                    else
                    {
                        xNode.Menu = null;
                    }
                    if (this.DialogMode == TreeDialogModes.fulllink)
                    {
                        string nodeLink = GetLinkValue(dd, dd.Id.ToString());
                        if (!String.IsNullOrEmpty(nodeLink))
                        {
                            xNode.Action = "javascript:openMedia('" + nodeLink + "');";
                        }
                        else
                        {
                            if (dd.ContentType.Alias.ToLower() == "folder")
                            {
                                xNode.Action = "javascript:jQuery('.umbTree #" + dd.Id.ToString() + "').click();";
                            }
                            else
                            {
                                xNode.Action = null;
                                xNode.Style.DimNode();
                            }
                        }
                    }
                    else
                    {
                        xNode.Action = "javascript:openMedia('" + dd.Id.ToString() + "');";
                    }
                }

                xNode.HasChildren = dd.HasChildren;
                if (this.IsDialog)
                {
                    xNode.Source = GetTreeDialogUrl(dd.Id);
                }
                else
                {
                    xNode.Source = GetTreeServiceUrl(dd.Id);
                }

                if (dd.ContentType != null)
                {
                    xNode.Icon     = dd.ContentType.IconUrl;
                    xNode.OpenIcon = dd.ContentType.IconUrl;
                }

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
            }
            OnAfterTreeRender(docs, args);
        }
        public override void Render(ref XmlTree tree)
        {
            string orgPath = "";
            string path    = "";

            if (!string.IsNullOrEmpty(this.NodeKey))
            {
                orgPath  = this.NodeKey;
                path     = IOHelper.MapPath(FilePath + orgPath);
                orgPath += "/";
            }
            else
            {
                path = IOHelper.MapPath(FilePath);
            }

            DirectoryInfo dirInfo = new DirectoryInfo(path);


            DirectoryInfo[] dirInfos = dirInfo.Exists ? dirInfo.GetDirectories() : new DirectoryInfo[] { };

            var args = new TreeEventArgs(tree);

            OnBeforeTreeRender(dirInfo, args);

            foreach (DirectoryInfo dir in dirInfos)
            {
                if ((dir.Attributes & FileAttributes.Hidden) == 0)
                {
                    XmlTreeNode xDirNode = XmlTreeNode.Create(this);
                    xDirNode.NodeID = orgPath + dir.Name;
                    xDirNode.Menu.Clear();
                    xDirNode.Text        = dir.Name;
                    xDirNode.Action      = string.Empty;
                    xDirNode.Source      = GetTreeServiceUrl(orgPath + dir.Name);
                    xDirNode.Icon        = FolderIcon;
                    xDirNode.OpenIcon    = FolderIconOpen;
                    xDirNode.HasChildren = dir.GetFiles().Length > 0 || dir.GetDirectories().Length > 0;

                    OnRenderFolderNode(ref xDirNode);
                    OnBeforeNodeRender(ref tree, ref xDirNode, EventArgs.Empty);
                    if (xDirNode != null)
                    {
                        tree.Add(xDirNode);
                        OnAfterNodeRender(ref tree, ref xDirNode, EventArgs.Empty);
                    }
                }
            }

            //this is a hack to enable file system tree to support multiple file extension look-up
            //so the pattern both support *.* *.xml and xml,js,vb for lookups
            string[] allowedExtensions          = new string[0];
            bool     filterByMultipleExtensions = FileSearchPattern.Contains(",");

            FileInfo[] fileInfo;

            if (filterByMultipleExtensions)
            {
                fileInfo          = dirInfo.Exists ? dirInfo.GetFiles() : new FileInfo[] {};
                allowedExtensions = FileSearchPattern.ToLower().Split(',');
            }
            else
            {
                fileInfo = dirInfo.Exists ? dirInfo.GetFiles(FileSearchPattern) : new FileInfo[] { };
            }

            foreach (FileInfo file in fileInfo)
            {
                if ((file.Attributes & FileAttributes.Hidden) == 0)
                {
                    if (filterByMultipleExtensions && Array.IndexOf <string>(allowedExtensions, file.Extension.ToLower().Trim('.')) < 0)
                    {
                        continue;
                    }

                    XmlTreeNode xFileNode = XmlTreeNode.Create(this);
                    xFileNode.NodeID = orgPath + file.Name;
                    xFileNode.Text   = file.Name;
                    if (!((orgPath == "")))
                    {
                        xFileNode.Action = "javascript:openFile('" + orgPath + file.Name + "');";
                    }
                    else
                    {
                        xFileNode.Action = "javascript:openFile('" + file.Name + "');";
                    }
                    xFileNode.Icon     = "doc.gif";
                    xFileNode.OpenIcon = "doc.gif";

                    OnRenderFileNode(ref xFileNode);
                    OnBeforeNodeRender(ref tree, ref xFileNode, EventArgs.Empty);
                    if (xFileNode != null)
                    {
                        tree.Add(xFileNode);
                        OnAfterNodeRender(ref tree, ref xFileNode, EventArgs.Empty);
                    }
                }
            }
            OnAfterTreeRender(dirInfo, args);
        }
Exemple #33
0
        /// <summary>
        /// Renders the specified tree item.
        /// </summary>
        /// <param name="Tree">The tree.</param>
        public override void Render(ref XmlTree Tree)
        {
            if (UseOptimizedRendering == false)
            {
                //We cannot run optimized mode since there are subscribers to events/methods that require document instances
                // so we'll render the original way by looking up the docs.

                //get documents to render
                var docs = Document.GetChildrenForTree(m_id);

                var args = new TreeEventArgs(Tree);
                OnBeforeTreeRender(docs, args);

                foreach (var dd in docs)
                {
                    var allowedUserOptions = GetUserActionsForNode(dd);
                    if (CanUserAccessNode(dd, allowedUserOptions))
                    {
                        var node = CreateNode(dd, allowedUserOptions);

                        OnRenderNode(ref node, dd);

                        OnBeforeNodeRender(ref Tree, ref node, EventArgs.Empty);
                        if (node != null)
                        {
                            Tree.Add(node);
                            OnAfterNodeRender(ref Tree, ref node, EventArgs.Empty);
                        }
                    }
                }
                OnAfterTreeRender(docs, args);
            }
            else
            {
                //We ARE running in optmized mode, this means we will NOT be raising the BeforeTreeRender or AfterTreeRender
                // events and NOT calling the OnRenderNode method - we've already detected that there are not subscribers or implementations
                // to call so that is fine.

                var entities = Services.EntityService.GetChildren(m_id, UmbracoObjectTypes.Document).ToArray();
                foreach (var entity in entities)
                {
                    var e = entity as UmbracoEntity;
                    var allowedUserOptions = GetUserActionsForNode(e);
                    if (CanUserAccessNode(e, allowedUserOptions))
                    {
                        var node = CreateNode(e, allowedUserOptions);

                        //in optimized mode the LoadMinimalDocument will ALWAYS be true, if it is not true then we will
                        // be rendering in non-optimized mode and this code will not get executed so we don't need to worry
                        // about performance here.
                        OnRenderNode(ref node, new Document(e, LoadMinimalDocument));

                        OnBeforeNodeRender(ref Tree, ref node, EventArgs.Empty);
                        if (node != null)
                        {
                            Tree.Add(node);
                            OnAfterNodeRender(ref Tree, ref node, EventArgs.Empty);
                        }
                    }
                }
            }
        }
Exemple #34
0
        //Updated Render method for improved performance, but currently not usable because of backwards compatibility
        //with the OnBeforeTreeRender/OnAfterTreeRender events, which sends an array for legacy Media items.
        public override void Render(ref XmlTree tree)
        {
            //_timer = DisposableTimer.Start(x => LogHelper.Debug<BaseMediaTree>("Media tree loaded" + " (took " + x + "ms)"));

            var entities = Services.EntityService.GetChildren(m_id, UmbracoObjectTypes.Media).ToArray();

            var args = new TreeEventArgs(tree);

            OnBeforeTreeRender(entities, args, false);

            foreach (UmbracoEntity entity in entities)
            {
                XmlTreeNode xNode = XmlTreeNode.Create(this);
                xNode.NodeID = entity.Id.ToString(CultureInfo.InvariantCulture);
                xNode.Text   = entity.Name;

                xNode.HasChildren = entity.HasChildren;
                xNode.Source      = this.IsDialog ? GetTreeDialogUrl(entity.Id) : GetTreeServiceUrl(entity.Id);

                xNode.Icon     = entity.ContentTypeIcon;
                xNode.OpenIcon = entity.ContentTypeIcon;

                if (IsDialog == false)
                {
                    if (this.ShowContextMenu == false)
                    {
                        xNode.Menu = null;
                    }
                    xNode.Action = "javascript:openMedia(" + entity.Id + ");";
                }
                else
                {
                    xNode.Menu = this.ShowContextMenu ? new List <IAction>(new IAction[] { ActionRefresh.Instance }) : null;
                    if (this.DialogMode == TreeDialogModes.fulllink)
                    {
                        string nodeLink = GetLinkValue(entity);
                        if (string.IsNullOrEmpty(nodeLink) == false)
                        {
                            xNode.Action = "javascript:openMedia('" + nodeLink + "');";
                        }
                        else
                        {
                            if (string.Equals(entity.ContentTypeAlias, Constants.Conventions.MediaTypes.Folder, StringComparison.OrdinalIgnoreCase))
                            {
                                //#U4-2254 - Inspiration to use void from here: http://stackoverflow.com/questions/4924383/jquery-object-object-error
                                xNode.Action = "javascript:void jQuery('.umbTree #" + entity.Id.ToString(CultureInfo.InvariantCulture) + "').click();";
                            }
                            else
                            {
                                xNode.Action = null;
                                xNode.Style.DimNode();
                            }
                        }
                    }
                    else
                    {
                        xNode.Action = "javascript:openMedia('" + entity.Id.ToString(CultureInfo.InvariantCulture) + "');";
                    }
                }

                OnBeforeNodeRender(ref tree, ref xNode, EventArgs.Empty);
                if (xNode != null)
                {
                    tree.Add(xNode);
                    OnAfterNodeRender(ref tree, ref xNode, EventArgs.Empty);
                }
            }

            //stop the timer and log the output
            //_timer.Dispose();

            OnAfterTreeRender(entities, args, false);
        }