示例#1
0
        private void BuildContextMenu()
        {
            ctxTreeCategory = new TreePanel
              {
                  ID = "ctxTreeCategory",
                  Height = 300,
                  Width = 200,
                  Shadow = false,
                  UseArrows = true,
                  AutoScroll = true,
                  Animate = true,
                  RootVisible = false,
                  Cls = "tasks-tree",
                  Root =
                  {
                      new Node{NodeID="root", EmptyChildren = true}
                  },

                  Store = {
                    new TreeStore
                    {
                        ModelName = "CategoryTree"
                    }
                  },

                  SelectionModel =
                  {
                      new TreeSelectionModel()
                  }
              };

            this.ctxMenu = new Menu
            {
                Items =
                   {
                       new MenuItem
                       {
                           ID = "mnuTaskGrid_OpenTask",
                           Text = "Open"
                       },
                       new MenuItem
                       {
                           Text = "Move To...",
                           Icon = Net.Icon.ArrowRight,
                           Menu =
                           {
                               new Menu
                               {
                                   Items =
                                   {
                                       new Panel
                                        {
                                            Width = 200,
                                            BodyStyle = "color: #3764a0;",
                                            BodyPadding = 5,
                                            Html = "You can drag and drop tasks from<br/>the grid to the west tree also"
                                        },
                                       new MenuSeparator(),
                                       this.ctxTreeCategory
                                   }
                               }
                           }
                       },
                       new MenuSeparator(),
                       new MenuItem
                       {
                           ID = "mnuTaskGrid_MarkTask",
                           Text = "Mark Complete",
                           IconCls = "icon-mark-complete"
                       },
                       new MenuItem
                       {
                           ID = "mnuTaskGrid_DeleteTask",
                           Text = "Delete",
                           IconCls = "icon-category-delete"
                       }
                   }
            };

            this.Controls.Add(this.ctxMenu);
            this.LazyItems.Add(this.ctxMenu);
            this.ctxMenu.LazyMode = LazyMode.Instance;
        }
示例#2
0
 private TreeNode CreateMainItem(NavMenu menu, Accordion accordion)
 {
     var treePanel = new TreePanel();
     treePanel.ID = "tp" + menu.Id;
     treePanel.AutoScroll = true;
     treePanel.Collapsed = false;
     treePanel.CollapseFirst = true;
     treePanel.HideParent = false;
     treePanel.RootVisible = false;
     treePanel.Title = menu.Name;
     treePanel.Icon = Icon.ApplicationHome;
     treePanel.Listeners.Click.Handler = "e.stopEvent();loadPage(#{MainTabs},node)";
     var rootNode = new TreeNode(menu.Id, menu.Name, Icon.FolderHome);
     rootNode.Expanded = true;
     treePanel.Root.Add(rootNode);
     accordion.Items.Add(treePanel);
     return rootNode;
 }
示例#3
0
        private void BuildContextMenu()
        {
            ctxTreeCategory = new TreePanel
            {
                ID          = "ctxTreeCategory",
                Height      = 300,
                Width       = 200,
                Shadow      = ShadowMode.None,
                UseArrows   = true,
                AutoScroll  = true,
                Animate     = true,
                RootVisible = false,
                Cls         = "tasks-tree",
                Root        =
                {
                    new TreeNode("root")
                },
                SelectionModel =
                {
                    new DefaultSelectionModel()
                }
            };

            this.ctxMenu = new Menu
            {
                Items =
                {
                    new MenuItem
                    {
                        ID   = "mnuTaskGrid_OpenTask",
                        Text = "Open"
                    },
                    new MenuItem
                    {
                        Text = "Move To...",
                        Icon = Net.Icon.ArrowRight,
                        Menu =
                        {
                            new Menu
                            {
                                Items =
                                {
                                    new ComponentMenuItem
                                    {
                                        Shift     = false,
                                        Component =
                                        {
                                            new Panel
                                            {
                                                Width     = 200,
                                                BodyStyle = "color: #3764a0;",
                                                Padding   = 5,
                                                Html      = "You can drag and drop tasks from<br/>the grid to the west tree also"
                                            }
                                        }
                                    },
                                    new MenuSeparator(),
                                    new ComponentMenuItem
                                    {
                                        Shift     = false,
                                        Component =
                                        {
                                            this.ctxTreeCategory
                                        }
                                    }
                                }
                            }
                        }
                    },
                    new MenuSeparator(),
                    new MenuItem
                    {
                        ID      = "mnuTaskGrid_MarkTask",
                        Text    = "Mark Complete",
                        IconCls = "icon-mark-complete"
                    },
                    new MenuItem
                    {
                        ID      = "mnuTaskGrid_DeleteTask",
                        Text    = "Delete",
                        IconCls = "icon-category-delete"
                    }
                }
            };

            this.Controls.Add(this.ctxMenu);
            this.LazyItems.Add(this.ctxMenu);
            this.ctxMenu.LazyMode = LazyMode.Instance;
        }
 private void CreateTreesPanel()
 {
     treesPanel = AddUIComponent <TreePanel>();
     treesPanel.Build(PanelType.Trees, new Layout(new Vector2(400.0f, 0.0f), true, LayoutDirection.Vertical, LayoutStart.TopLeft, 5, "GenericPanel"));
     currentPanel = treesPanel;
 }
示例#5
0
        //private void LeftItemDblClick_Event(object sender, DirectEventArgs e)
        //{
        //    this.MoveNode(this._treePanelLeft, this._treePanelRight);
        //}

        //private void MoveNode(TreePanel source, TreePanel target)
        //{
        //    List<SubmittedNode> selectedNodes = source.SelectedNodes;
        //    if (selectedNodes != null)
        //    {
        //        if (NodesAdding != null)
        //        {
        //            var nodeIds = selectedNodes.Select(x => Convert.ToInt32(x.NodeID));
        //            var args = new NodesAddEventArgs();
        //            args.NodeIds.AddRange(nodeIds);
        //            NodesAdding(this, args);
        //            if (args.CancelAdd)
        //            {
        //                Ext.Net.X.Msg.Alert("提示", args.ErrorMessage).Show();
        //                return;
        //            }
        //        }
        //        foreach (SubmittedNode node in selectedNodes)
        //        {
        //            target.GetRootNode().InsertChild(0, node.ToProxyNode());
        //            source.GetNodeById(node.NodeID).Remove();
        //            if (target.ID.Contains("Right"))
        //            {
        //                //增加
        //                this._selectedIds.Add(ConvertHelper.ToInt32(node.NodeID));
        //            }
        //            else
        //            {
        //                this._selectedIds.Remove(ConvertHelper.ToInt32(node.NodeID));
        //            }
        //        }
        //    }
        //}

        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            var addNodes    = "function(){var nodes=App." + leftPanelId + ".getSelectionModel().getSelection();App." + rightPanelId + ".getRootNode().appendChild(nodes);App." + leftPanelId + ".getRootNode().removeChild(nodes);}";
            var removeNodes = "function(){var nodes=App." + rightPanelId + ".getSelectionModel().getSelection();App." + leftPanelId + ".getRootNode().appendChild(nodes);App." + rightPanelId + ".getRootNode().removeChild(nodes);}";

            this._selectedIds = (List <int>) this.Context.Cache["_selectedIds"];
            if (this._selectedIds == null)
            {
                this._selectedIds = new List <int>();
                this.Context.Cache["_selectedIds"] = this._selectedIds;
            }
            this.Layout = "hbox";
            HBoxLayoutConfig item = new HBoxLayoutConfig
            {
                Align          = HBoxAlign.Middle,
                DefaultMargins = "0"
            };

            this.LayoutConfig.Add(item);
            this._treePanelLeft    = new TreePanel();
            this._treePanelLeft.ID = leftPanelId;
            //_treePanelLeft.DirectEvents.ItemDblClick.Url = LeftItemDblClickUrl;
            //this._treePanelLeft.DirectEvents.ItemDblClick.Event += new ComponentDirectEvent.DirectEventHandler(this.LeftItemDblClick_Event);
            // this._treePanelLeft.SubmitUrl = LeftSubmitUrl;// += new TreePanel.SubmitEventHandler(this._treePanelLeft_Submit);
            //this._treePanelLeft.DirectEvents.Submit.EventMask.Set("正在添加");
            this._treePanelLeft.Title  = "可添加";
            _treePanelLeft.MultiSelect = EnableBatchAdd;
            this._treePanelLeft.Height = this.Height;
            double width = (this.Width.Value - 75.0) / 2.0;

            this._treePanelLeft.Width = new Unit(width);
            this._treeStoreLeft       = new TreeStore();
            //var ajaxProxy = new AjaxProxy();
            //ajaxProxy.ActionMethods.Read = HttpMethod.POST;
            //ajaxProxy.Reader.Add(new JsonReader());
            //ajaxProxy.Url = LeftReadUrl;
            this._treeStoreLeft.Proxy.Add(LeftReadProxy);// += new TreeStoreBase.ReadDataEventHandler(this._treeStoreLeft_ReadData);
            this._treeModelLeft = new Model();
            this.InitTreePanel(this._treePanelLeft, this._treeStoreLeft, this._treeModelLeft);
            Ext.Net.Panel component = new Ext.Net.Panel
            {
                Width       = 75,
                ButtonAlign = Alignment.Center,
                Layout      = "vbox"
            };
            if (!Ext.Net.X.IsAjaxRequest)
            {
                component.Border = false;
            }
            var buttons = new List <Ext.Net.Button>();

            if (EnableBatchAdd)
            {
                Ext.Net.Button button = new Ext.Net.Button
                {
                    Text      = "全部添加 >>",
                    TextAlign = ButtonTextAlign.Center
                };
                button.Listeners.Click.Handler = "function(){var nodes=Ext.Array.clone(App." + leftPanelId + ".getRootNode().childNodes);App." + leftPanelId + ".getRootNode().removeAll(false);App." + rightPanelId + ".getRootNode().appendChild(nodes);}";
                buttons.Add(button);
            }
            Ext.Net.Button btnAdd = new Ext.Net.Button
            {
                Text      = "添  加 > ",
                TextAlign = ButtonTextAlign.Center
            };
            buttons.Add(btnAdd);
            //btnAdd.DirectClickUrl = AddUrl;
            //btnAdd.DirectClick += new ComponentDirectEvent.DirectEventHandler(this.btnAddSelected_DirectClick);
            //btnAdd.DirectEvents.Click.EventMask.Set("正在添加");
            this._treePanelRight       = new TreePanel();
            this._treePanelRight.ID    = rightPanelId;
            this._treePanelRight.Title = "已添加";
            //_treePanelRight.SubmitUrl = RightSubmitUrl;
            //this._treePanelRight.DirectEvents.Submit.EventMask.Set("正在移除");
            //this._treePanelRight.Submit += new TreePanel.SubmitEventHandler(this._treePanelRight_Submit);
            _treePanelRight.MultiSelect = EnableBatchRemove;
            this._treePanelRight.Height = this.Height;
            _treePanelRight.Listeners.ItemDblClick.Fn = removeNodes;
            //this._treePanelRight.DirectEvents.ItemDblClick.Url = RightItemDblClick;//.Event += new ComponentDirectEvent.DirectEventHandler(this.RightItemDblClick_Event);
            this._treePanelRight.Width = new Unit(width);
            this._treeStoreRight       = new TreeStore();
            _treeStoreRight.Proxy.Add(RightReadProxy);
            //this._treeStoreRight.ReadData += new TreeStoreBase.ReadDataEventHandler(this._treeStoreRight_ReadData);
            this._treeModelRight = new Model();
            if (EnableBatchRemove)
            {
                Ext.Net.Button btnRemoveAll = new Ext.Net.Button
                {
                    Text      = "<< 全部移除",
                    TextAlign = ButtonTextAlign.Center
                };
                btnRemoveAll.Listeners.Click.Handler = "function(){var nodes=Ext.Array.clone(App." + rightPanelId + ".getRootNode().childNodes);App." + leftPanelId + ".getRootNode().removeAll(false);App." + leftPanelId + ".getRootNode().appendChild(nodes);}";
                buttons.Add(btnRemoveAll);
            }
            Ext.Net.Button btnRemove = new Ext.Net.Button
            {
                Text      = "< 移  除",
                TextAlign = ButtonTextAlign.Center
            };
            buttons.Add(btnRemove);
            btnAdd.Handler = addNodes;
            _treePanelLeft.Listeners.ItemDblClick.Fn = addNodes;
            btnRemove.Listeners.Click.Fn             = removeNodes;
            //btnRemove.DirectClickUrl = RemoveRightUrl;// += new ComponentDirectEvent.DirectEventHandler(this.btnRemoveSelected_DirectClick);
            //btnRemove.DirectEvents.Click.EventMask.Set("正在移除");
            component.Add(buttons.ToArray());
            this.Add(component);
            this.InitTreePanel(this._treePanelRight, this._treeStoreRight, this._treeModelRight);
        }