public void Add(IList <Site> sites) { foreach (var site in sites) { var st = new JsTreeNode() { id = site.Id.ToString(), a_attr = new JsTreeNodeAAttributes() { href = site.SiteUrl }, text = site.SiteName, icon = site.SiteUrl + "/favicon.ico" }; foreach (var channel in site.Channels.ToList()) { var text = channel.Title + (channel.Items == null ? "" : "(" + channel.Items.Count + ")"); var ch = new JsTreeNode() { id = channel.Id.ToString() + "c", a_attr = new JsTreeNodeAAttributes() { href = channel.Id.ToString() }, text = text, icon = "" }; st.children.Add(ch); } JsTreeNodesList.Add(st); } }
public List <JsTreeNode> GetTreeModel(IEnumerable <ITmNode> treeModelList) { rawNodeList = treeModelList; var jsTreeNodeList = new List <JsTreeNode>(); var rootNode = rawNodeList.FirstOrDefault(r => r.ParentId == null); var children = rawNodeList.Where(c => c.ParentId == rootNode.Id).ToList(); var jsRootNode = new JsTreeNode { id = rootNode.Id.ToString(), text = rootNode.Name, icon = "", a_attr = { href = "#" }, additionalData = rootNode.AdditionalData }; jsRootNode.state.opened = true; GenereateTreeModel(jsRootNode, children); jsTreeNodeList.Add(jsRootNode); return(jsTreeNodeList); }
public async Task <List <JsTreeNode> > GetUserOrgazinationForUserAsync(User user, Guid userId) { var UserOrgId = (await _context.Users.FindAsync(userId))?.OrganizationId; var organizations = new List <Organization>(); if (user.IsAdmin()) { organizations = await _context.Organizations.ToListAsync(); } else { organizations = await _context.Organizations.Where(x => x.ParentId == user.OrganizationId).SelectMany(x => x.Children).ToListAsync(); } var organizationnodes = new List <JsTreeNode>(); organizations.ForEach(or => { if (or.ParentId == null) { JsTreeNode parentNode = new JsTreeNode(); parentNode.id = or.Id.ToString(); parentNode.text = or.OrganizationName; if (UserOrgId.HasValue && or.Id == UserOrgId.Value) { parentNode.state.selected = true; } parentNode = FillChild(organizations, parentNode, or.Id, UserOrgId); organizationnodes.Add(parentNode); } }); return(organizationnodes); }
public void SeedPrivilegesTree_SeedsBranchesWithoutId() { JsTreeNode rootNode = service.GetView(role.Id).PrivilegesTree.Nodes.Single(); IEnumerable <JsTreeNode> branches = GetAllBranchNodes(rootNode); Assert.IsFalse(branches.Any(branch => branch.Id != null)); }
public void SeedPrivilegesTree_SeedsLeafsWithId() { JsTreeNode rootNode = service.GetView(role.Id).PrivilegesTree.Nodes.Single(); IEnumerable <JsTreeNode> leafs = GetAllLeafNodes(rootNode); Assert.IsFalse(leafs.Any(leaf => leaf.Id == null)); }
public ActionResult GetChildren(string id) { List <MenuViewModel> items = dbLMenu.GetMenuNode(id); List <JsTreeNode> JsTrees = new List <JsTreeNode>(); foreach (var node in items) { JsTreeNode jNode = new JsTreeNode(); jNode.id = node.MenuId; jNode.text = node.MenuName; if (node.ChildCnt > 0) { jNode.children = true; } else { jNode.children = false; jNode.icons = "file"; } jNode.state = "closed"; jNode.attr = new JsTreeAttribute { id = node.MenuId, selected = false }; JsTrees.Add(jNode); } return(Json(JsTrees, JsonRequestBehavior.AllowGet)); }
public List <JsTreeNode> GetTreeListCategories() { List <JsTreeNode> nodesList = new List <JsTreeNode>(); try { List <Treeview> TreeViewList = _dynamicUIRepository.GetTreeListForCategories(); if (TreeViewList != null) { foreach (var i in TreeViewList) { if (i.level.ToString() == "0") { JsTreeNode rootNode = new JsTreeNode(); rootNode.id = i.ID.ToString(); rootNode.text = i.Name.ToString(); rootNode.icon = "fa fa fa-list"; rootNode.children = new List <JsTreeNode>(); LookForChildNode(TreeViewList, rootNode, i); nodesList.Add(rootNode); } } } } catch (Exception ex) { throw ex; } return(nodesList); }
public virtual void SeedPermissions(RoleView view) { JsTreeNode root = new JsTreeNode(Titles.All); view.Permissions.Nodes.Add(root); foreach (IGrouping <String, Permission> area in GetAllPermissions().GroupBy(permission => permission.Area)) { JsTreeNode areaNode = new JsTreeNode(area.Key); foreach (IGrouping <String, Permission> controller in area.GroupBy(permission => permission.Controller)) { JsTreeNode controllerNode = new JsTreeNode(controller.Key); foreach (Permission permission in controller) { controllerNode.Nodes.Add(new JsTreeNode(permission.Id, permission.Action)); } if (areaNode.Title == null) { root.Nodes.Add(controllerNode); } else { areaNode.Nodes.Add(controllerNode); } } if (areaNode.Title != null) { root.Nodes.Add(areaNode); } } }
public string getTreeHtml(JsTreeNode nodeObj) { StringBuilder str = new StringBuilder(); if (nodeObj != null && nodeObj.children != null) { str.Append("<ul id=\"red\" class=\"filetree\">"); foreach (var o in nodeObj.children) { if (o.children == null) { str.AppendFormat("<li><a class=\"file\" data-filetype=\"{2}\" data-path=\"{0}\" href=\"javascript:void(0)\">{1}</a></li>", o.attributes.FilePath, o.text, o.attributes.FileType); } else { str.AppendFormat("<li><span class=\"folder\">{0}</span><ul>", o.text); str.Append(generateHtml(o)); str.Append("</ul></li>"); } } str.Append("</ul>"); } return(str.ToString()); }
public async Task <List <JsTreeNode> > GetEquipmentByUserAsync(User user) { var equipments = new List <Equipment>(); if (user.IsAdmin()) { equipments = await _context.Equipments.ToListAsync(); } else { equipments = await _context.EquipmentUserSubscriptions.Where(c => c.UserId == user.Id).Select(c => c.Equipment).ToListAsync(); } var param = equipments.Select(c => c.Id).ToList(); var equipmentnodes = new List <JsTreeNode>(); equipments.ForEach(or => { if (or.ParentId == null || (or.ParentId.HasValue && !(param.Contains(or.ParentId.Value)))) { JsTreeNode parentNode = new JsTreeNode(); parentNode.id = or.Id.ToString(); parentNode.text = or.EquipmentName; parentNode = FillChild(or.Children.ToList(), parentNode, or.Id); equipmentnodes.Add(parentNode); } }); return(equipmentnodes); }
public async Task <List <JsTreeNode> > GetUserEquipmentForUserAsync(User user, Guid userId) { var userEquipmentIds = (await _context.Users.Include(c => c.EquipmentUserSubscriptions).FirstOrDefaultAsync(c => c.Id == userId))?.EquipmentUserSubscriptions.Select(c => c.EquipmentId).ToList(); var equipments = new List <Equipment>(); equipments = await _context.Equipments.ToListAsync(); var equipmentUsers = equipments.Where(x => userEquipmentIds.Contains(x.Id)).ToList(); var equipmentnodes = new List <JsTreeNode>(); equipments.ForEach(eq => { if (eq.ParentId == null) { JsTreeNode parentNode = new JsTreeNode(); parentNode.id = eq.Id.ToString(); parentNode.text = eq.EquipmentName; if (equipmentUsers.Contains(eq)) { parentNode.state.selected = true; } parentNode = FillChild(equipments, parentNode, eq.Id, equipmentUsers); equipmentnodes.Add(parentNode); } }); return(equipmentnodes); }
public virtual void SeedPrivilegesTree(RoleView view) { JsTreeNode rootNode = new JsTreeNode(Titles.All); view.PrivilegesTree.Nodes.Add(rootNode); IEnumerable <Privilege> privileges = GetAllPrivileges(); foreach (IGrouping <String, Privilege> area in privileges.GroupBy(privilege => privilege.Area)) { JsTreeNode areaNode = new JsTreeNode(area.Key); foreach (IGrouping <String, Privilege> controller in area.GroupBy(privilege => privilege.Controller).OrderBy(privilege => privilege.Key)) { JsTreeNode controllerNode = new JsTreeNode(controller.Key); foreach (IGrouping <String, Privilege> action in controller.GroupBy(privilege => privilege.Action).OrderBy(privilege => privilege.Key)) { controllerNode.Nodes.Add(new JsTreeNode(action.First().Id, action.Key)); } if (areaNode.Title == null) { rootNode.Nodes.Add(controllerNode); } else { areaNode.Nodes.Add(controllerNode); } } if (areaNode.Title != null) { rootNode.Nodes.Add(areaNode); } } }
public async Task <List <JsTreeNode> > GetOrganizationByUserAsync(User user) { var organizations = new List <Organization>(); if (user.IsAdmin()) { organizations = await _context.Organizations.ToListAsync(); } else { organizations = await _context.Organizations.Where(x => x.ParentId == user.OrganizationId).SelectMany(x => x.Children).ToListAsync(); } var organizationnodes = new List <JsTreeNode>(); organizations.ForEach(or => { if (or.ParentId == null) { JsTreeNode parentNode = new JsTreeNode(); parentNode.id = or.Id.ToString(); parentNode.text = or.OrganizationName; parentNode = FillChild(organizations, parentNode, or.Id, null); organizationnodes.Add(parentNode); } }); return(organizationnodes); }
//GetCategoriesMapTree private void GetCategoriesMapTreeChild(StringBuilder sb, JsTreeNode js, Event evnt, bool demo, CategoryChildLink objCategoryChildLink = null, CategoryChild objCategoryChild = null) { if (evnt.IsClickable || demo || evnt.IsAccessable) { objCategoryChildLink.ChildLinkUrl = js.data.attributes.href; objCategoryChildLink.ChildLinkName = js.data.title.ToUpper(); objCategoryChild.ChildLinkUrl = js.data.attributes.href; objCategoryChild.ChildLinkName = js.data.title.ToUpper(); //sb.AppendFormat("<li ischild='{2}' ><a style='{4}' href='{0}'>{1}</a> {3}", js.data.attributes.href, (js.data.attributes.rel != "main") ? js.data.title : js.data.title.ToUpper(), js.data.attributes.rel != "main", (!String.IsNullOrEmpty(js.data.icon)) ? "(" + js.data.icon + ")" : String.Empty, (js.data.attributes.rel != "main") ? " font-weight:normal;color:#0072B0;" : "font-weight:bold;color:gray"); sb.AppendFormat("<li ischild='{2}' ><a style='{4}' href='{0}'>{1}</a> {3}", js.data.attributes.href, (js.data.attributes.rel != "main") ? js.data.title : js.data.title.ToUpper(), js.data.attributes.rel != "main", (!String.IsNullOrEmpty(js.data.icon)) ? "(" + js.data.icon + ")" : String.Empty, (js.data.attributes.rel != "main") ? " color:gray" : "font-weight:bold;color:gray"); } else { objCategoryChildLink.ChildLinkUrl = js.data.attributes.rel; objCategoryChildLink.ChildLinkName = js.data.title.ToUpper(); objCategoryChild.ChildLinkUrl = js.data.attributes.rel; objCategoryChild.ChildLinkName = js.data.title.ToUpper(); // sb.AppendFormat("<li ischild='{1}' ><span style='{3}'>{0}</span> {2}", (js.data.attributes.rel != "main") ? js.data.title : js.data.title.ToUpper(), js.data.attributes.rel != "main", (!String.IsNullOrEmpty(js.data.icon)) ? "(" + js.data.icon + ")" : String.Empty, (js.data.attributes.rel != "main") ? " font-weight:normal;color:#0072B0;" : "font-weight:bold;color:gray"); sb.AppendFormat("<li ischild='{1}' ><span style='{3}'>{0}</span> {2}", (js.data.attributes.rel != "main") ? js.data.title : js.data.title.ToUpper(), js.data.attributes.rel != "main", (!String.IsNullOrEmpty(js.data.icon)) ? "(" + js.data.icon + ")" : String.Empty, (js.data.attributes.rel != "main") ? " color:gray" : "font-weight:bold;color:gray"); } if (js.children != null && js.children.Count() > 0) { sb.Append("<ul>"); foreach (JsTreeNode j in js.children) { GetCategoriesMapTreeChild(sb, j, evnt, demo); } sb.Append("</ul>"); } sb.AppendFormat("</li>"); }
private void GetTreeEx(SqlWhereList where, JsTreeNode root) { List <Channel> list = channelBLL.GetAll(where); JsTreeNode node = null; root.children = new List <JsTreeNode>(); foreach (Channel item in list) { node = new JsTreeNode(); node.id = item.ChannelId; node.text = item.ChannelName; node.attributes = new JsTreeNodeCustAttr(node.id); SqlWhereList wherelist = new SqlWhereList(); wherelist.Add("ParentID", node.id); if (item.TypeId == 1) { wherelist.Add("TypeId", 1); } else if (item.TypeId == 2) { wherelist.Add("TypeId", 2); } GetTreeEx(wherelist, node); root.children.Add(node); } }
void GenereateTreeModel(JsTreeNode rootNode, List <ITmNode> children) { if (children.Count == 0) { return; } foreach (var node in children) { var jsNode = new JsTreeNode { id = node.Id.ToString(), text = node.Name, icon = "", a_attr = { href = "#" }, additionalData = node.AdditionalData }; jsNode.state.opened = false; rootNode.children.Add(jsNode); GenereateTreeModel(jsNode, rawNodeList.Where(c => c.ParentId == node.Id).ToList()); } }
public void PopulateTree(DataRow dataRow, JsTreeNode jsTNode, DataTable tableNodes) { jsTNode.children = new List <JsTreeNode>(); foreach (DataRow dr in tableNodes.Rows) { if (dr != null) { if (Convert.ToInt32(dr["Parent_id"]) == Convert.ToInt32(dataRow["bsi_item_id"])) { JsTreeNode cnode = new JsTreeNode(); cnode.attributes = new Attributes(); cnode.attributes.id = Convert.ToString(dr["bsi_item_id"]); cnode.attributes.rel = "folder" + Convert.ToString(dr["bsi_item_id"]); cnode.data = new Data(); cnode.data.title = Convert.ToString(dr["bsi_title"]); cnode.attributes.mdata = "{ draggable : true, max_children : 100, max_depth : 100 }"; jsTNode.children.Add(cnode); PopulateTree(dr, cnode, tableNodes); } } } }
public void JsTreeNode_SetsTitle() { JsTreeNode actual = new JsTreeNode("Title"); Assert.Equal("Title", actual.Title); Assert.Empty(actual.Nodes); Assert.Null(actual.Id); }
public void JsTreeNode_SetsIdAndTitle() { JsTreeNode actual = new JsTreeNode(1, "Title"); Assert.Equal("Title", actual.Title); Assert.Equal(1, actual.Id); Assert.Empty(actual.Nodes); }
public IList <JsTreeNode> Insert(IList <Site> sites) { var newSites = new JsTreeNode[JsTreeNodesList.Count]; JsTreeNodesList.CopyTo(newSites, JsTreeNodesList.Count); Add(sites); IEnumerable <JsTreeNode> jsTreeNodes = JsTreeNodesList.Except(newSites); return(jsTreeNodes.ToList()); }
public string getMenuTree(string rootPathconfig) { System.IO.DirectoryInfo topDir = System.IO.Directory.GetParent(HttpContext.Current.Request.MapPath("/")); string rootPath = topDir.Parent.FullName + rootPathconfig;// ConfigurationManager.AppSettings["rootPath"]; JsTreeNode root = new JsTreeNode(); RecursiveDirectory(rootPath, root); return(getTreeHtml(root)); // return root.children.ToJson(); }
public object GetChannelNodes(int TypeId) { JsTreeNode root = new JsTreeNode(); SqlWhereList where = new SqlWhereList(); where.Add("ParentID", "0"); where.Add("TypeId", TypeId); GetTreeEx(where, root); return(new JsonResult(root.children)); }
private void SetupNode(JsTreeNode node, INameableObject artefact, string defaultString, string format, string TwoLetterISOLanguageName) { string result = TextTypeHelper.GetText(artefact.Names, TwoLetterISOLanguageName); string title = string.Format(format, result.Length == 0 ? TextTypeHelper.GetText(artefact.Descriptions, TwoLetterISOLanguageName) : result); if (string.IsNullOrEmpty(title)) { title = defaultString; } node.text = title; }
public object GetWebSiteFileNodes() { // 显示整个解决方案下的所有文件。 string rootPath = this.WebRuntime.GetWebSitePath() + "..\\..\\"; JsTreeNode rootNode = new JsTreeNode(); RecursiveDirectory(rootPath, rootNode); return(new JsonResult(rootNode.children)); }
private void SeedPermissions(roleModel viewModel) { var root = new JsTreeNode(); var allList = GetAllPermissions(); var tree = new JsTree { SelectedIds = viewModel.Permissions.SelectedIds, Nodes = ToTree(allList.ToList()) }; viewModel.Permissions = tree; }
/// <summary> /// Create a CategoryScheme Node /// </summary> /// <param name="categoryScheme"> /// The SDMX Model category scheme object /// </param> /// <returns> /// The CategoryScheme Node /// </returns> private JsTreeNode CreateCategorySchemeNode(ICategorySchemeObject categoryScheme, string TwoLetterISO) { var categorySchemeNode = new JsTreeNode(); // categorySchemeNode.data.attributes["rel"] = MakeKey(categoryScheme); categorySchemeNode.SetId(Utils.MakeKey(categoryScheme).Replace('.', '_')); // categorySchemeNode.data.icon = "folder"; categorySchemeNode.SetRel("category-scheme"); categorySchemeNode.type = "category-scheme"; categorySchemeNode.AddClass("category-scheme"); SetupNode(categorySchemeNode, categoryScheme, TwoLetterISO); return(categorySchemeNode); }
private JsTree CreatePrivilegesTree(Role role) { JsTree expectedTree = new JsTree(); expectedTree.Nodes.Add(new JsTreeNode()); JsTreeNode rootNode = expectedTree.Nodes[0]; rootNode.Name = Titles.All; expectedTree.SelectedIds = role.RolePrivileges.Select(rolePrivilege => rolePrivilege.PrivilegeId).ToList(); IEnumerable <Privilege> allPrivileges = role .RolePrivileges .Select(rolePriv => rolePriv.Privilege) .Select(privilege => new Privilege { Id = privilege.Id, Area = ResourceProvider.GetPrivilegeAreaTitle(privilege.Area), Controller = ResourceProvider.GetPrivilegeControllerTitle(privilege.Area, privilege.Controller), Action = ResourceProvider.GetPrivilegeActionTitle(privilege.Area, privilege.Controller, privilege.Action) }); foreach (IGrouping <String, Privilege> areaPrivilege in allPrivileges.GroupBy(privilege => privilege.Area).OrderBy(privilege => privilege.Key ?? privilege.FirstOrDefault().Controller)) { JsTreeNode areaNode = new JsTreeNode(areaPrivilege.Key); foreach (IGrouping <String, Privilege> controllerPrivilege in areaPrivilege.GroupBy(privilege => privilege.Controller).OrderBy(privilege => privilege.Key)) { JsTreeNode controllerNode = new JsTreeNode(controllerPrivilege.Key); foreach (IGrouping <String, Privilege> actionPrivilege in controllerPrivilege.GroupBy(privilege => privilege.Action).OrderBy(privilege => privilege.Key)) { controllerNode.Nodes.Add(new JsTreeNode(actionPrivilege.First().Id, actionPrivilege.Key)); } if (areaNode.Name == null) { rootNode.Nodes.Add(controllerNode); } else { areaNode.Nodes.Add(controllerNode); } } if (areaNode.Name != null) { rootNode.Nodes.Add(areaNode); } } return(expectedTree); }
private JsTree CreatePermissions() { JsTreeNode root = new JsTreeNode(Titles.All); JsTree expectedTree = new JsTree(); expectedTree.Nodes.Add(root); expectedTree.SelectedIds = role.Permissions.Select(rolePermission => rolePermission.PermissionId).ToList(); IEnumerable <Permission> permissions = role .Permissions .Select(rolePermission => rolePermission.Permission) .Select(permission => new Permission { Id = permission.Id, Area = ResourceProvider.GetPermissionAreaTitle(permission.Area), Controller = ResourceProvider.GetPermissionControllerTitle(permission.Area, permission.Controller), Action = ResourceProvider.GetPermissionActionTitle(permission.Area, permission.Controller, permission.Action) }); foreach (IGrouping <String, Permission> area in permissions.GroupBy(permission => permission.Area).OrderBy(permission => permission.Key ?? permission.FirstOrDefault().Controller)) { JsTreeNode areaNode = new JsTreeNode(area.Key); foreach (IGrouping <String, Permission> controller in area.GroupBy(permission => permission.Controller).OrderBy(permission => permission.Key)) { JsTreeNode controllerNode = new JsTreeNode(controller.Key); foreach (Permission permission in controller.OrderBy(permission => permission.Action)) { controllerNode.Nodes.Add(new JsTreeNode(permission.Id, permission.Action)); } if (areaNode.Title == null) { root.Nodes.Add(controllerNode); } else { areaNode.Nodes.Add(controllerNode); } } if (areaNode.Title != null) { root.Nodes.Add(areaNode); } } return(expectedTree); }
private IEnumerable <JsTreeNode> GetAllBranchNodes(JsTreeNode root) { List <JsTreeNode> branches = root.Nodes.Where(node => node.Nodes.Count > 0).ToList(); foreach (JsTreeNode branch in branches.ToList()) { branches.AddRange(GetAllBranchNodes(branch)); } if (root.Nodes.Count > 0) { branches.Add(root); } return(branches); }
public void Add(IList <Group> feedEntity) { foreach (var group in feedEntity) { var gp = new JsTreeNode() { id = group.Id.ToString(), a_attr = new JsTreeNodeAAttributes() { href = group.Id.ToString() }, text = group.GroupName, icon = "" }; foreach (var site in group.Sites) { var st = new JsTreeNode() { id = site.Id.ToString() + group.Id.ToString(), a_attr = new JsTreeNodeAAttributes() { href = site.SiteUrl }, text = site.SiteName, icon = "" }; ; foreach (var channel in site.Channels.ToList()) { var ch = new JsTreeNode() { id = channel.Id.ToString() + site.Id.ToString() + group.Id.ToString(), a_attr = new JsTreeNodeAAttributes() { href = channel.Link }, text = channel.Title, icon = "" }; st.children.Add(ch); } gp.children.Add(st); } JsTreeNodesList.Add(gp); } }
/// <summary> /// Create a CategoryScheme Node /// </summary> /// <param name="categoryScheme"> /// The SDMX Model category scheme object /// </param> /// <returns> /// The CategoryScheme Node /// </returns> private static JsTreeNode CreateCategorySchemeNode(ICategorySchemeObject categoryScheme) { var categorySchemeNode = new JsTreeNode(); // categorySchemeNode.data.attributes["rel"] = MakeKey(categoryScheme); categorySchemeNode.SetId(Utils.MakeKey(categoryScheme).Replace('.', '_')); // categorySchemeNode.data.icon = "folder"; categorySchemeNode.SetRel("category-scheme"); SetupNode(categorySchemeNode, categoryScheme); return categorySchemeNode; }
/// <summary> /// Build the <see cref="_idNodeMap"/> /// </summary> private void BuildIdNodeMap() { this._idNodeMap.Clear(); this._rootNodes.Clear(); this._prevCulture = Thread.CurrentThread.CurrentUICulture; var needParent = new Queue<ICode>(); foreach (ICode code in this._codeList.Items) { var node = new JsTreeNode(); node.SetId(string.Format(CultureInfo.InvariantCulture, "{0}{1}", IDPrefix, code.Id)); SetupNode(node, code); this._idNodeMap.Add(code, node); node.SetLeaf(true); if (!string.IsNullOrEmpty(code.ParentCode)) { needParent.Enqueue(code); } else { this._rootNodes.Add(node); } } while (needParent.Count > 0) { ICode code = needParent.Dequeue(); JsTreeNode child; if (this._idNodeMap.TryGetValue(code, out child)) { var parentCode = (ICode)this._codeList.GetCodeById(code.ParentCode); JsTreeNode parent; if (this._idNodeMap.TryGetValue(parentCode, out parent)) { parent.state = JSTreeConstants.OpenState; parent.SetLeaf(false); parent.children.Add(child); } } } }
/// <summary> /// Create a Category Node /// </summary> /// <param name="category"> /// The SDMX Model category object /// </param> /// <param name="categoryCount"> /// The caregory counter. This methods updates it /// </param> /// <returns> /// The Category Node /// </returns> private static JsTreeNode CreateCategoryNode(ICategoryObject category, ref int categoryCount) { var categoryNode = new JsTreeNode(); // categoryNode.data.attributes["rel"] = category.Id; // categoryNode.SetId(category.Id); categoryNode.SetId( string.Format( CultureInfo.InvariantCulture, CategoryIdFormat, categoryCount.ToString("x", CultureInfo.InvariantCulture))); categoryCount++; SetupNode(categoryNode, category); categoryNode.SetRel("category"); return categoryNode; }
/// <summary> /// Setup a <see cref="JsTreeNode"/> from a <c>IdentifiableArtefactBean</c> /// </summary> /// <param name="node"> /// The <see cref="JsTreeNode"/> /// </param> /// <param name="artefact"> /// The <c>IdentifiableArtefactBean</c> /// </param> /// <param name="defaultString"> /// The text to use in case there is no name or description /// </param> /// <param name="format"> /// The format that will be used with <see cref="System.String.Format(string,object)"/> and artefact name or description /// </param> protected static void SetupNode( JsTreeNode node, INameableObject artefact, string defaultString, string format) { string lang = Thread.CurrentThread.CurrentUICulture.TwoLetterISOLanguageName; /*string result = TextTypeHelper.GetText(artefact.Names, lang); string title = string.Format(CultureInfo.CurrentCulture, format, result.Length == 0 ? TextTypeHelper.GetText(artefact.Descriptions, lang) : result); * */ string result; string title=""; if (string.IsNullOrEmpty(title)) { title = defaultString; } ////Data data = new Data { title = title }; ////node.data.Add(data); node.data = title; }
/// <summary> /// Setup a <see cref="JsTreeNode"/> from a <c>CodeBean</c> /// </summary> /// <param name="node"> /// The <see cref="JsTreeNode"/> /// </param> /// <param name="artefact"> /// The <c>CodeBean</c> /// </param> protected static void SetupNode(JsTreeNode node, ICode artefact) { string entitle = "[" + artefact.Id + "]"; string format = string.Format(CultureInfo.InvariantCulture, ArtefactFormat, entitle); SetupNode(node, artefact, entitle, format); }
/// <summary> /// Setup a <see cref="JsTreeNode"/> from a <c>DataflowBean</c> /// </summary> /// <param name="node"> /// The <see cref="JsTreeNode"/> /// </param> /// <param name="artefact"> /// The <c>DataflowBean</c> /// </param> protected static void SetupNode(JsTreeNode node, IDataflowObject artefact) { string entitle = artefact.Id; string format = string.Format(CultureInfo.InvariantCulture, ArtefactFormat, entitle); SetupNode(node, artefact, entitle, format); }
/// <summary> /// Setup a <see cref="JsTreeNode"/> from a <c>IdentifiableArtefactBean</c> /// </summary> /// <param name="node"> /// The <see cref="JsTreeNode"/> /// </param> /// <param name="artefact"> /// The <c>IdentifiableArtefactBean</c> /// </param> protected static void SetupNode(JsTreeNode node, INameableObject artefact) { string entitle = artefact.Id; SetupNode(node, artefact, entitle, DefaultFormat1); }
/// <summary> /// Build a JQuery plugin JSTree JSON_DATA json string. It uses the <see cref="_dataflows"/> and <see cref="_categories"/> /// </summary> /// <returns> /// A list of nodes /// </returns> private List<JsTreeNode> BuildJSTree() { this._prevCulture = Thread.CurrentThread.CurrentUICulture; var categorisedDataflowIndex = new Dictionary<string, IDataflowObject>(); var uncategorisedDataflow = new List<IDataflowObject>(); var nodeList = new List<JsTreeNode>(); foreach (IDataflowObject d in this._dataflows) { if (GetCategorisations(d, _categorisations).Count == 0) { uncategorisedDataflow.Add(d); } else { string key = Utils.MakeKey(d); categorisedDataflowIndex.Add(key, d); } } nodeList.AddRange(CreateCategorisedNodes(this._categories, categorisedDataflowIndex)); var uncategorisedNode = new JsTreeNode(); //////var data = new Data(); uncategorisedNode.SetRel("category-scheme"); uncategorisedNode.SetId("uncategorised"); ////data.title = Messages.text_dataflows_uncategorized; ////uncategorisedNode.data.Add(data); uncategorisedNode.data = Messages.text_dataflows_uncategorized; foreach (IDataflowObject dataflow in uncategorisedDataflow) { uncategorisedNode.children.Add(CreateDataflowNode(dataflow)); } if (uncategorisedNode.children.Count > 0) { nodeList.Add(uncategorisedNode); } return nodeList; }
/// <summary> /// Create a Dataflow Node /// </summary> /// <param name="dataflow"> /// The SDMX Model Dataflow object /// </param> /// <returns> /// The Dataflow Node /// </returns> private JsTreeNode CreateDataflowNode(IDataflowObject dataflow) { var dataflowNode = new JsTreeNode(); // dataflowNode.data.attributes.rel = MakeKey(dataflow); dataflowNode.SetId(Utils.MakeKey(dataflow).Replace('.', '_').Replace('+', '-')); SetupNode(dataflowNode, dataflow); IDataStructureObject dsd = NsiClientHelper.GetDsdFromDataflow(dataflow, _dataStructure); if (dsd != null && NsiClientHelper.DataflowDsdIsCrossSectional(dsd)) { dataflowNode.SetRel("xs-dataflow"); } else { dataflowNode.SetRel("dataflow"); } dataflowNode.AddClass("dataflow-item"); dataflowNode.SetLeaf(true); // dataflowNode.state = "closed"; dataflowNode.metadata = new JSTreeMetadata { DataflowID = dataflow.Id, DataflowVersion = dataflow.Version, DataflowAgency = dataflow.AgencyId }; // dataflowNode.metadata.dataflow_name = dataflow.PrimaryName; return dataflowNode; }