// 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)); }
public void CloseNode(string id) { // отрабатываем событие в дереве по сворачиванию узла // handle event of closing tree node TreeViewPathProvider.Instance().DelNode(id); SavePaths(); }
public static TreeViewPathProvider Instance() { if (tvpp == null) { tvpp = new TreeViewPathProvider(); } return(tvpp); }
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(); }
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(); }
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); }
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"); }
public void CloseNode(string id) { // handle event of closing tree node TreeViewPathProvider.Instance().DelNode(id); SavePaths(); }
private void SavePaths() { HttpContext.Session.SetString(TreeViewOpenNodes, TreeViewPathProvider.Instance().OpenNodesString); }
private void SavePaths() { // сохраняем строку с открытыми узлами дерева в сессии HttpContext.Session.SetString("ONK", TreeViewPathProvider.Instance().OpenNodesString); }
// Выдача дерева по запросу из клиента (jstree) // Generation tree by client (browser jstree) query public JsonResult GetNodesJsTree(string id) { GetPaths(); return(Json(repo.GetDataTree(id, TreeViewPathProvider.Instance().openedNodes))); }