public JsonResult GetTreeModule(string result, int pageId) { List<PageItem> pages = new PagesDB().GetPagesFlat(this.PortalSettings.PortalID); var page = pages.First(p => p.ID == pageId); JsTreeModel[] child = getChildrenTree(page); List<JsTreeModel> child2 = new List<JsTreeModel>(); var panelist = result.Split('+').ToList(); var panetopage = ModelServices.GetPageModules(pageId); var lowerpane = panelist.ConvertAll(d => d.ToLower()); var i = 0; foreach (var pane in panelist) { JsTreeModel[] childm = getModuleToPane(pane, pageId); JsTreeModel nodem = new JsTreeModel { data = pane, attr = new JsTreeAttribute {id = "pjson_pane_" + i, rel= "folder"}, children = childm }; child2.Add(nodem); i++; } // add other pane. foreach (var pane in panetopage) { if (!lowerpane.Contains(pane.Key)) { JsTreeModel[] childm = getModuleToPane(pane.Key, pageId); JsTreeModel nodem = new JsTreeModel { data = pane.Key + " [Not present in current layout]", attr = new JsTreeAttribute { id = "pjson_pane_" + i, rel = "folder2" }, children = childm }; child2.Add(nodem); i++; } panelist.Add(pane.Key); } var childlist = child.ToList(); foreach (var childmod in child2) { childlist.Add(childmod); } child = childlist.ToArray<JsTreeModel>(); return Json(child); }
public JsTreeModel[] getModuleToPane(string paneName, int pageId) { var pageModulesByPlaceHolder = ModelServices.GetModulesToPage(pageId); var result = new List<JsTreeModel>(); var modulelist = pageModulesByPlaceHolder.Where(m => m.PaneName.ToLower() == paneName.ToLower()); int i = 0; foreach (var module in modulelist) { JsTreeModel node = new JsTreeModel { data = module.ModuleTitle, attr = new JsTreeAttribute { id = "pjson_module_" + module.ModuleID, rel = "file" }, }; i++; result.Add(node); } return result.ToArray<JsTreeModel>(); }
public JsonResult GetTreeData() { List<PageItem> pages = new PagesDB().GetPagesFlat(this.PortalSettings.PortalID); List<JsTreeModel> lstTree = new List<JsTreeModel>(); foreach (PageItem page in pages) { if (page.NestLevel == 0) { //JsTreeModel[] child = getChildrenTree(page); JsTreeModel node = new JsTreeModel { data = page.Name, attr = new JsTreeAttribute { id = "pjson_" + page.ID.ToString()}, //children = child, state = "closed"}; lstTree.Add(node); } } int root = 0; JsTreeModel rootNode = new JsTreeModel { data = "Root", attr = new JsTreeAttribute { id = "pjson_" + root.ToString(), rel = "root"}, children = lstTree.ToArray<JsTreeModel>(), }; return Json(rootNode); }
public JsTreeModel[] getChildrenTree(PageItem page) { List<PageStripDetails> childPages = new PagesDB().GetPagesinPage(this.PortalSettings.PortalID, page.ID); int count = 0; List<JsTreeModel> lstTree = new List<JsTreeModel>(); foreach (PageStripDetails childPage in childPages) { PageItem aux = new PageItem (); aux.ID = childPage.PageID; aux.Name = childPage.PageName; //JsTreeModel[] childs = getChildrenTree(aux); JsTreeModel node = new JsTreeModel { data = aux.Name, attr = new JsTreeAttribute { id = "pjson_" + aux.ID.ToString()}, //children = childs, state = "closed" }; lstTree.Add(node); count++; } JsTreeModel[] tree = lstTree.ToArray<JsTreeModel>(); return tree; }