Exemplo n.º 1
0
        // Generation tree by client (browser jstree) query
        public JsonResult GetNodesJsTree(string id)
        {
            GetPaths();

            var treeViewObject = JsonConvert.DeserializeObject(HttpContext.Session.GetString(TreeViewDataKey));
            var treeViewData   = (List <TreeViewData>)treeViewObject;

            (from d in treeViewData join o in TreeViewPathProvider.Instance().openedNodes on d.id equals o select d).ToList().ForEach(x => x.opened = true);

            var result = new List <TreeViewContainer>();

            result = (from d in treeViewData
                      where d.parent == id
                      select(new TreeViewContainer()
            {
                text = d.text,
                id = d.id,
                parent = null,
                state = new { d.opened },
                opened = d.opened,
                a_attr = new { href = "/" + d.id, }
            }).AddChildrens(treeViewData, 0)).ToList();

            return(Json(result));
        }
Exemplo n.º 2
0
 public void CloseNode(string id)
 {
     // отрабатываем событие в дереве по сворачиванию узла
     // handle event of closing tree node
     TreeViewPathProvider.Instance().DelNode(id);
     SavePaths();
 }
Exemplo n.º 3
0
 public static TreeViewPathProvider Instance()
 {
     if (tvpp == null)
     {
         tvpp = new TreeViewPathProvider();
     }
     return(tvpp);
 }
Exemplo n.º 4
0
        public void OpenNode(string id)
        {
            var treeViewData = JsonConvert.DeserializeObject <List <TreeViewData> >(HttpContext.Session.GetString(TreeViewDataKey));

            string parid = treeViewData.Where(d => d.id == id).Single().parent;

            TreeViewPathProvider.Instance().AddNode(parid, id);
            SavePaths();
        }
Exemplo n.º 5
0
        public void OpenNode(string id)
        {
            // отрабатываем событие в дереве по разворачиванию узла
            // handle event of opening tree node
            string parid = repo.Datas.Where(d => d.id == id).Single().parentId;

            TreeViewPathProvider.Instance().AddNode(parid, id);
            SavePaths();
        }
Exemplo n.º 6
0
 private void GetPaths()
 {
     // getting string with opened nodes fron Session
     if (!HttpContext.Session.Keys.Contains(TreeViewOpenNodes))
     {
         HttpContext.Session.SetString(TreeViewOpenNodes, "");
     }
     // save string in TreeViewPathProvider, and making string array with id`s of opened nodes
     TreeViewPathProvider.Instance().OpenNodesString = HttpContext.Session.GetString(TreeViewOpenNodes);
 }
Exemplo n.º 7
0
 private void GetPaths()
 {
     // получаем строку с открытыми узлами дерева из сессии
     // getting string with opened nodes fron Session
     if (!HttpContext.Session.Keys.Contains("ONK"))
     {
         HttpContext.Session.SetString("ONK", "");
     }
     // сохраняем строку в TreeViewPathProvider, одновременно генерируетс массив строк с id открытых узлов
     // save string inti TreeViewPathProvider, and making string array with id`s of opened nodes
     TreeViewPathProvider.Instance().OpenNodesString = HttpContext.Session.GetString("ONK");
 }
Exemplo n.º 8
0
 public void CloseNode(string id)
 {
     // handle event of closing tree node
     TreeViewPathProvider.Instance().DelNode(id);
     SavePaths();
 }
Exemplo n.º 9
0
 private void SavePaths()
 {
     HttpContext.Session.SetString(TreeViewOpenNodes, TreeViewPathProvider.Instance().OpenNodesString);
 }
Exemplo n.º 10
0
 private void SavePaths()
 {
     // сохраняем строку с открытыми узлами дерева в сессии
     HttpContext.Session.SetString("ONK", TreeViewPathProvider.Instance().OpenNodesString);
 }
Exemplo n.º 11
0
 // Выдача дерева по запросу из клиента (jstree)
 // Generation tree by client (browser jstree) query
 public JsonResult GetNodesJsTree(string id)
 {
     GetPaths();
     return(Json(repo.GetDataTree(id, TreeViewPathProvider.Instance().openedNodes)));
 }