Esempio n. 1
0
        /// <summary>
        /// Handles the OnNodeDrop event of the rtvTreeMenu control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="Telerik.Web.UI.RadTreeNodeDragDropEventArgs"/> instance containing the event data.</param>
        protected void rtvTreeMenu_OnNodeDrop(object sender, RadTreeNodeDragDropEventArgs e)
        {
            if (e.DestDragNode.TreeView.ID == "rtvTreeMenu")
            {
                RadTreeNode             sourceNode   = e.SourceDragNode;
                RadTreeNode             destNode     = e.DestDragNode;
                RadTreeViewDropPosition dropPosition = e.DropPosition;
                if (destNode != null)
                {
                    if (sourceNode.TreeView.SelectedNodes.Count <= 1)
                    {
                        PerformDragAndDrop(dropPosition, sourceNode, destNode);
                    }
                    else if (sourceNode.TreeView.SelectedNodes.Count > 1)
                    {
                        foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes)
                        {
                            PerformDragAndDrop(dropPosition, node, destNode);
                        }
                    }
                    destNode.Expanded = true;
                    sourceNode.TreeView.UncheckAllNodes();
                }

                SaveMenu();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Performs the drag and drop.
        /// </summary>
        /// <param name="dropPosition">The drop position.</param>
        /// <param name="sourceNode">The source node.</param>
        /// <param name="destNode">The dest node.</param>
        private static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:
                // child
                if (!sourceNode.IsAncestorOf(destNode) && ((destNode.Level == 1 && sourceNode.Level == 2) || (destNode.Level == 0 && sourceNode.Level == 1)))
                {
                    sourceNode.Owner.Nodes.Remove(sourceNode);
                    destNode.Nodes.Add(sourceNode);
                }
                break;

            case RadTreeViewDropPosition.Above:
                // sibling - above
                if ((destNode.Level == 1 && sourceNode.Level == 1) || (destNode.Level == 2 && sourceNode.Level == 2))
                {
                    sourceNode.Owner.Nodes.Remove(sourceNode);
                    destNode.InsertBefore(sourceNode);
                }
                break;

            case RadTreeViewDropPosition.Below:
                // sibling - below
                if ((destNode.Level == 1 && sourceNode.Level == 1) || (destNode.Level == 2 && sourceNode.Level == 2))
                {
                    sourceNode.Owner.Nodes.Remove(sourceNode);
                    destNode.InsertAfter(sourceNode);
                }
                break;
            }
        }
Esempio n. 3
0
    private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
    {
        if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
        {
            return;
        }
        sourceNode.Owner.Nodes.Remove(sourceNode);

        switch (dropPosition)
        {
        case RadTreeViewDropPosition.Over:
            // child
            if (!sourceNode.IsAncestorOf(destNode))
            {
                destNode.Nodes.Add(sourceNode);
            }
            break;

        case RadTreeViewDropPosition.Above:
            // sibling - above
            destNode.InsertBefore(sourceNode);
            break;

        case RadTreeViewDropPosition.Below:
            // sibling - below
            destNode.InsertAfter(sourceNode);
            break;
        }
        BOLResources ResourcesBOl = new BOLResources();

        ResourcesBOl.Code       = Convert.ToInt32(sourceNode.Value);
        ResourcesBOl.MasterCode = Convert.ToInt32(destNode.Value);
        ResourcesBOl.Name       = sourceNode.Text;
        ResourcesBOl.SaveChanges(false);
    }
Esempio n. 4
0
        private void MoveNode(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            if (sourceNode == destNode || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            sourceNode.Owner.Nodes.Remove(sourceNode);

            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:
                    // child
                    if (!sourceNode.IsAncestorOf(destNode))
                    {
                        destNode.Nodes.Add(sourceNode);
                        destNode.Expanded = true;
                    }
                    break;

                case RadTreeViewDropPosition.Above:
                    // sibling - above                    
                    destNode.InsertBefore(sourceNode);
                    break;

                case RadTreeViewDropPosition.Below:
                    // sibling - below
                    destNode.InsertAfter(sourceNode);
                    break;
            }

            sourceNode.Selected = false;
        }
        protected void radSiteMap_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e)
        {
            RadTreeNode             sourceNode   = e.SourceDragNode;
            RadTreeNode             destNode     = e.DestDragNode;
            RadTreeViewDropPosition dropPosition = e.DropPosition;

            if (destNode != null) //drag&drop is performed between trees
            {
                if (sourceNode.TreeView.SelectedNodes.Count <= 1)
                {
                    PerformDragAndDrop(dropPosition, sourceNode, destNode);
                }
                else if (sourceNode.TreeView.SelectedNodes.Count > 1)
                {
                    if (dropPosition == RadTreeViewDropPosition.Below) //Needed to preserve the order of the dragged items
                    {
                        for (int i = sourceNode.TreeView.SelectedNodes.Count - 1; i >= 0; i--)
                        {
                            PerformDragAndDrop(dropPosition, sourceNode.TreeView.SelectedNodes[i], destNode);
                        }
                    }
                    else
                    {
                        foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes)
                        {
                            PerformDragAndDrop(dropPosition, node, destNode);
                        }
                    }
                }

                destNode.Expanded = true;
                sourceNode.TreeView.UnselectAllNodes();
            }
        }
        private static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            if (destNode.ParentNode == null)
            {
                return;
            }

            sourceNode.Owner.Nodes.Remove(sourceNode);

            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:
                // child
                if (!sourceNode.IsAncestorOf(destNode))
                {
                    destNode.Nodes.Add(sourceNode);
                }
                break;

            case RadTreeViewDropPosition.Above:
                // sibling - above
                destNode.InsertBefore(sourceNode);
                break;

            case RadTreeViewDropPosition.Below:
                // sibling - below
                destNode.InsertAfter(sourceNode);
                break;
            }
        }
Esempio n. 7
0
        protected void RadTreeView_WebSite_NodeDrop(object sender, Telerik.Web.UI.RadTreeNodeDragDropEventArgs e)
        {
            RadTreeNode             sourceNode   = e.SourceDragNode;
            RadTreeNode             destNode     = e.DestDragNode;
            RadTreeViewDropPosition dropPosition = e.DropPosition;

            if (destNode != null) //drag&drop is performed between trees
            {
                if (sourceNode.TreeView.SelectedNodes.Count <= 1)
                {
                    PerformDragAndDrop(dropPosition, sourceNode, destNode);
                }
                else if (sourceNode.TreeView.SelectedNodes.Count > 1)
                {
                    foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes)
                    {
                        PerformDragAndDrop(dropPosition, node, destNode);
                    }
                }

                destNode.Expanded = true;
                //sourceNode.TreeView.ClearSelectedNodes();
                sourceNode.TreeView.UnselectAllNodes();
            }
        }
Esempio n. 8
0
        private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode,
                                        RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            // Check if destNote is Root when drop above and below it.
            if (dropPosition == RadTreeViewDropPosition.Above || dropPosition == RadTreeViewDropPosition.Below)
            {
                if (destNode.ParentNode == null)
                {
                    return;
                }
            }

            RadTreeNode srcNode = sourceNode.ParentNode;

            sourceNode.Owner.Nodes.Remove(sourceNode);

            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:
                // child
                if (!sourceNode.IsAncestorOf(destNode))
                {
                    destNode.Nodes.Add(sourceNode);

                    // Update Database structure
                    Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.Value);
                    Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode);
                }
                break;

            case RadTreeViewDropPosition.Above:

                // sibling - above
                destNode.InsertBefore(sourceNode);

                // Update Database structure
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.ParentNode.Value);
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode.ParentNode);

                break;

            case RadTreeViewDropPosition.Below:

                // sibling - below
                destNode.InsertAfter(sourceNode);

                // Update Database structure
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(sourceNode.Value, destNode.ParentNode.Value);
                Nexus.Core.Pages.SiteMenu.sEdit_Menu_Nodes(srcNode, destNode.ParentNode);

                break;
            }
        }
Esempio n. 9
0
    protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e)
    {
        RadTreeNode             sourceNode   = e.SourceDragNode;
        RadTreeNode             destNode     = e.DestDragNode;
        RadTreeViewDropPosition dropPosition = e.DropPosition;

        if (destNode != null) //drag&drop is performed between trees
        {
            PerformDragAndDrop(dropPosition, sourceNode, destNode);
        }
    }
Esempio n. 10
0
        protected void treeCategories_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e)
        {
            FAQsController          FAQsController = new FAQsController();
            RadTreeNode             sourceNode     = e.SourceDragNode;
            RadTreeNode             destNode       = e.DestDragNode;
            RadTreeViewDropPosition dropPosition   = e.DropPosition;

            if (destNode == null || sourceNode == destNode || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }

            int          sourceFaqCategoryId = Convert.ToInt32(sourceNode.Value);
            CategoryInfo sourceCategory      = FAQsController.GetCategory(sourceFaqCategoryId);

            int          destFaqCategoryId = Convert.ToInt32(destNode.Value);
            CategoryInfo destCategory      = FAQsController.GetCategory(destFaqCategoryId);

            switch (dropPosition)
            {
            case RadTreeViewDropPosition.Over:                     // child
                // Change Treeview
                sourceNode.Owner.Nodes.Remove(sourceNode);
                destNode.Nodes.Add(sourceNode);

                // Change the ParentId of Source in database
                sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryId;
                sourceCategory.ViewOrder           = 999;
                FAQsController.UpdateCategory(sourceCategory);
                break;

            case RadTreeViewDropPosition.Above:                     // sibling - above
                sourceNode.Owner.Nodes.Remove(sourceNode);
                destNode.InsertBefore(sourceNode);
                sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryParentId;
                sourceCategory.ViewOrder           = destCategory.ViewOrder - 1;
                FAQsController.UpdateCategory(sourceCategory);

                break;

            case RadTreeViewDropPosition.Below:                     // sibling - below
                sourceNode.Owner.Nodes.Remove(sourceNode);
                destNode.InsertAfter(sourceNode);
                sourceCategory.FaqCategoryParentId = destCategory.FaqCategoryParentId;
                sourceCategory.ViewOrder           = destCategory.ViewOrder + 1;
                FAQsController.UpdateCategory(sourceCategory);
                break;
            }
            FAQsController.ReorderCategory(sourceCategory.FaqCategoryParentId, ModuleId);
            panelAddEdit.Visible = false;
        }
Esempio n. 11
0
        protected void rtv1_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e)
        {
            RadTreeNode             sourceNode   = e.SourceDragNode;
            RadTreeNode             destNode     = e.DestDragNode;
            RadTreeViewDropPosition dropPosition = e.DropPosition;

            if (sourceNode.TreeView.SelectedNodes.Count <= 1)
            {
                PerformDragAndDrop(dropPosition, sourceNode, destNode);
            }
            else if (sourceNode.TreeView.SelectedNodes.Count > 1)
            {
                foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes)
                {
                    PerformDragAndDrop(dropPosition, node, destNode);
                }
            }
            ShowNodeEdit(e.SourceDragNode.Value, true);
            hidCurrentNodeValue.Value = e.SourceDragNode.Value;
        }
Esempio n. 12
0
        private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }
            sourceNode.Owner.Nodes.Remove(sourceNode);
            Guid currentNavId           = new Guid(hidCurrNavID.Value);
            CSBooster_DataContext csb   = new CSBooster_DataContext(Helper.GetSiemeConnectionString());
            var      navStructureRecord = csb.hisp_Navigation_GetNavigationStructureXML(currentNavId).SingleOrDefault();
            XElement xMoveNode          = null;
            XElement structDestNode     = null;
            XElement xmlStruct          = null;

            if (navStructureRecord != null)
            {
                xmlStruct = XElement.Parse(navStructureRecord.NST_XMLStruct);
                var nodeToRemove = (from theNodes in xmlStruct.Descendants("Node").Where(x => x.Attribute("Value").Value == sourceNode.Value)
                                    select theNodes).SingleOrDefault();
                structDestNode = (from theNodes in xmlStruct.Descendants("Node").Where(x => x.Attribute("Value").Value == destNode.Value)
                                  select theNodes).SingleOrDefault();
                if (nodeToRemove != null)
                {
                    xMoveNode = XElement.Parse(nodeToRemove.ToString());
                    nodeToRemove.Remove();
                }
            }
            if (xMoveNode != null)
            {
                switch (dropPosition)
                {
                case RadTreeViewDropPosition.Over:
                    // child
                    if (!sourceNode.IsAncestorOf(destNode))
                    {
                        destNode.Nodes.Add(sourceNode);
                        if (structDestNode != null)
                        {
                            structDestNode.Add(xMoveNode);
                        }
                        else
                        {
                            //droped to the root
                            xmlStruct.Add(xMoveNode);
                        }
                    }
                    break;

                case RadTreeViewDropPosition.Above:
                    // sibling - above
                    destNode.InsertBefore(sourceNode);
                    structDestNode.AddBeforeSelf(xMoveNode);
                    break;

                case RadTreeViewDropPosition.Below:
                    // sibling - below
                    destNode.InsertAfter(sourceNode);
                    structDestNode.AddAfterSelf(xMoveNode);
                    break;
                }
                sourceNode.ExpandParentNodes();
                csb.hisp_Navigation_SaveNavigationStructure(currentNavId, null, xmlStruct.ToString());
                lbtnG.Text     = language.GetString("TooltipNotSynchronized");
                lbtnG.CssClass = "icon navnotsynchro";
            }
        }
Esempio n. 13
0
 private new static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode,
                                        RadTreeNode destNode)
 {
     PerformDragAndDrop(dropPosition, sourceNode, destNode);
 }
Esempio n. 14
0
 protected new static void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode,
                                        RadTreeNode destNode)
 {
     new PageBase().PerformDragAndDrop(dropPosition, sourceNode, destNode);
 }
        protected void PerformUpdateIndex(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            var destNodeIndex = destNode.Next.Attributes["index"];
            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:
                    break;

                case RadTreeViewDropPosition.Above:

                    break;
                case RadTreeViewDropPosition.Below:
                    break;
            }

            var asdas = destNode.Attributes;
            var aasdasd = destNode.Attributes["index"];
            var ascxcg = sourceNode.Attributes["index"];
            var prenode = destNode.Prev;
            var indexPrev = prenode.Attributes["index"];

        }
 private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
 {
     switch (dropPosition)
     {
         case RadTreeViewDropPosition.Over:
             // child
             if (!sourceNode.IsAncestorOf(destNode))
             {
                 sourceNode.Owner.Nodes.Remove(sourceNode);
                 destNode.Nodes.Add(sourceNode);
             }
             break;
         case RadTreeViewDropPosition.Above:
             // sibling - above
             sourceNode.Owner.Nodes.Remove(sourceNode);
             destNode.InsertBefore(sourceNode);
             break;
         case RadTreeViewDropPosition.Below:
             // sibling - below
             sourceNode.Owner.Nodes.Remove(sourceNode);
             destNode.InsertAfter(sourceNode);
             break;
     }
 }
Esempio n. 17
0
        public void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode,
                                               RadTreeNode destNode)
        {
            if (sourceNode.Equals(destNode) || sourceNode.IsAncestorOf(destNode))
            {
                return;
            }
            //Do not remove relation here.
            //sourceNode.Owner.Nodes.Remove(sourceNode);

            var shareHolders = new ShareHolders();
            bool validation = false;
            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:

                    validation = shareHolders.AddSubsidiary(destNode.Text, sourceNode.Text);
                    // child
                    if (!sourceNode.IsAncestorOf(destNode) && validation == true)
                    {
                        destNode.Nodes.Add(sourceNode);
                    }

                    IsUpdated = validation;
                    break;

                case RadTreeViewDropPosition.Above:

                    validation = shareHolders.AddSubsidiary(destNode.ParentNode.Text, sourceNode.Text);
                    // sibling - above	
                    if (validation == true)
                    {
                        destNode.InsertBefore(sourceNode);
                    }
                    IsUpdated = validation;
                    break;

                case RadTreeViewDropPosition.Below:

                    validation = shareHolders.AddSubsidiary(destNode.Text, sourceNode.Text);
                    // sibling - below
                    if (validation == true)
                    {
                        destNode.InsertAfter(sourceNode);
                    }

                    IsUpdated = validation;
                    break;
            }
        }
Esempio n. 18
0
        private void PerformDragAndDrop(RadTreeViewDropPosition dropPosition, RadTreeNode sourceNode, RadTreeNode destNode)
        {
            var tabController = new TabController();
            var sourceTab = tabController.GetTab(int.Parse(sourceNode.Value), PortalId, false);
            var targetTab = tabController.GetTab(int.Parse(destNode.Value), PortalId, false);

            switch (dropPosition)
            {
                case RadTreeViewDropPosition.Over:
                    if (!(sourceNode.IsAncestorOf(destNode)))
                    {
                        if (MoveTabToParent(sourceTab, targetTab))
                        {
                            sourceNode.Owner.Nodes.Remove(sourceNode);
                            destNode.Nodes.Add(sourceNode);
                        }
                    }
                    break;
                case RadTreeViewDropPosition.Above:
                    if (MoveTab(sourceTab, targetTab, Position.Above))
                    {
                        sourceNode.Owner.Nodes.Remove(sourceNode);
                        destNode.InsertBefore(sourceNode);
                    }
                    break;
                case RadTreeViewDropPosition.Below:
                    if (MoveTab(sourceTab, targetTab, Position.Below))
                    {
                        sourceNode.Owner.Nodes.Remove(sourceNode);
                        destNode.InsertAfter(sourceNode);
                    }
                    break;
            }
        }
Esempio n. 19
0
    protected void RadTreeView1_HandleDrop(object sender, RadTreeNodeDragDropEventArgs e)
    {
        RadTreeNode             sourceNode   = e.SourceDragNode;
        RadTreeNode             destNode     = e.DestDragNode;
        RadTreeViewDropPosition dropPosition = e.DropPosition;

        string result = "";

        if (destNode != null)//drag&drop is performed between trees
        {
            if (sourceNode.TreeView.SelectedNodes.Count <= 1)
            {
                result += "<b>" + sourceNode.Text + "</b>" + ";";
                PerformDragAndDrop(dropPosition, sourceNode, destNode);
            }
            else if (sourceNode.TreeView.SelectedNodes.Count > 1)
            {
                foreach (RadTreeNode node in sourceNode.TreeView.SelectedNodes)
                {
                    result += "<b>" + node.Text + "</b>" + ";";
                    PerformDragAndDrop(dropPosition, node, destNode);
                }
            }
            else//dropped node will be a sibling of the destination node
            {
                if (sourceNode.TreeView.SelectedNodes.Count <= 1)
                {
                    if (!sourceNode.IsAncestorOf(destNode))
                    {
                        result += "<b>" + sourceNode.Text + "</b>" + ";";
                        sourceNode.Owner.Nodes.Remove(sourceNode);
                        destNode.Nodes.Add(sourceNode);
                    }
                }
                else if (sourceNode.TreeView.SelectedNodes.Count > 1)
                {
                    foreach (RadTreeNode node in RadTreeView1.SelectedNodes)
                    {
                        if (!node.IsAncestorOf(destNode))
                        {
                            result += "<b>" + node.Text + "</b>" + ";";
                            node.Owner.Nodes.Remove(node);
                            destNode.Nodes.Add(node);
                        }
                    }
                }
            }


            if (e.SourceDragNode.Category == "Files")
            {
                if (!System.IO.File.Exists(e.SourceDragNode.Value))
                {
                    System.IO.File.Move(e.SourceDragNode.Value, e.DestDragNode.Value + "\\" + e.SourceDragNode.Text);
                }
                else
                {
                    string fname          = e.SourceDragNode.Text.Substring(0, e.SourceDragNode.Text.LastIndexOf("."));
                    string ext            = e.SourceDragNode.Text.Substring(fname.Length);
                    int    counter        = 1;
                    string targetFileName = Path.Combine(e.DestDragNode.Value, fname + counter.ToString() + ext);

                    while (System.IO.File.Exists(targetFileName))
                    {
                        counter++;
                        targetFileName = Path.Combine(e.DestDragNode.Value, fname + counter.ToString() + ext);
                    }

                    System.IO.File.Move(e.SourceDragNode.Value, targetFileName);
                }
            }
            else
            {
                if (!System.IO.Directory.Exists(e.DestDragNode.Value + "\\" + e.SourceDragNode.Text))
                {
                    if (System.IO.Directory.Exists(e.SourceDragNode.Value))
                    {
                        System.IO.Directory.Move(e.SourceDragNode.Value, e.DestDragNode.Value + "\\" + e.SourceDragNode.Text);
                    }
                }
            }

            destNode.Expanded = true;
            System.IO.FileSystemWatcher mywatcher = new FileSystemWatcher(e.DestDragNode.Value);
            mywatcher.WaitForChanged(WatcherChangeTypes.All, 2000);
            sourceNode.TreeView.ClearSelectedNodes();
            createtree(e.DestDragNode.Value);
            // UpdatePanel1.Update();
        }
    }