示例#1
0
    public bool RemoveNode(EditorNode _Node)
    {
        if (Nodes == null)
        {
            return(false);
        }

        int  NodeID   = _Node.ID;
        bool bSuccess = Nodes.Remove(_Node);

        if (bSuccess)
        {
            // remove all associated links
            for (int Index = Links.Count - 1; Index >= 0; --Index)
            {
                EditorLink Link = Links[Index];
                if (Link.NodeID_From == NodeID || Link.NodeID_To == NodeID)
                {
                    Links.RemoveAt(Index);
                }
            }

            _Node.OnNodeChanged -= NotifyGraphChange;
            NotifyGraphChange();
            return(true);
        }
        else
        {
            return(false);
        }
    }
示例#2
0
    public void LinkPins(EditorPinIdentifier LHSPin, EditorPinIdentifier RHSPin)
    {
        if (Links == null)
        {
            Links = new List <EditorLink>();
        }

        EditorLink NewLink = new EditorLink(LHSPin, RHSPin);

        Links.Add(NewLink);
        NotifyGraphChange();
    }
示例#3
0
        public async Task <ActionResult> Editor(EditorModule em, EditorLink newModel)
        {
            if (em.Links == null)
            {
                em.Links = new List <EditorLink>();
            }
            if (newModel != null && !string.IsNullOrEmpty(newModel.Title))
            {
                newModel.CreationDate = DateTime.Now;
                em.Links.Add(newModel);
            }
            em.CreationDate = DateTime.Now;
            await MongoHelper.Save(em);

            return(Content("<html><head><script>alert('提交成功!');window.location.href='/?editMode=true'</script></head></html>"));
        }
示例#4
0
        private void AddPortalLinks()
        {
            var portalLinks = new EditorLink(Localization.GetString("PortalLinks", Localization.GlobalResourceFile), string.Empty);
            _editor.Links.Add(portalLinks);

            //Add links to custom link menu
            var tc = new TabController();
            List<TabInfo> tabs = TabController.GetPortalTabs(PortalSettings.PortalId, Null.NullInteger, false, "", true, false, true, true, false);
            foreach (TabInfo objTab in tabs)
            {
                //check permissions and visibility of current tab
                if (objTab.Level == 0)
                {
                    if (objTab.HasChildren)
                    {
                        //is a root tab, and has children
                        EditorLink tempVar = AddLink(objTab, ref portalLinks);
                        AddChildLinks(objTab.TabID, ref tempVar);
                    }
                    else
                    {
                        AddLink(objTab, ref portalLinks);
                    }
                }
            }
        }
示例#5
0
 private void AddChildLinks(int TabId, ref EditorLink links)
 {
     var tc = new TabController();
     List<TabInfo> tabs = TabController.GetPortalTabs(PortalSettings.PortalId, Null.NullInteger, false, "", true, false, true, true, false);
     foreach (TabInfo objTab in tabs)
     {
         if (objTab.ParentId == TabId)
         {
             //these are viewable children (current user's rights)
             if (objTab.HasChildren)
             {
                 //has more children
                 EditorLink tempVar = AddLink(objTab, ref links);
                 AddChildLinks(objTab.TabID, ref tempVar);
             }
             else
             {
                 AddLink(objTab, ref links);
             }
         }
     }
 }
示例#6
0
 private EditorLink AddLink(TabInfo objTab, ref EditorLink parent)
 {
     string linkUrl = string.Empty;
     if (! objTab.DisableLink)
     {
         if (_linksUseTabNames)
         {
             string linkFormat = "http://{0}/Default.aspx?TabName={1}";
             linkUrl = string.Format(linkFormat, PortalSettings.PortalAlias.HTTPAlias, HttpUtility.UrlEncode(objTab.TabName));
         }
         else
         {
             linkUrl = objTab.FullUrl;
         }
         if (_linksUseRelativeUrls && (linkUrl.StartsWith("http://") || linkUrl.StartsWith("https://")))
         {
             int linkIndex = linkUrl.IndexOf("/", 8);
             if (linkIndex > 0)
             {
                 linkUrl = linkUrl.Substring(linkIndex);
             }
         }
     }
     var newLink = new EditorLink(objTab.LocalizedTabName.Replace("\\", "\\\\"), linkUrl);
     parent.ChildLinks.Add(newLink);
     return newLink;
 }
示例#7
0
        public void AddEditorPageLinks(EditorLinkCollection links)
        {
            EditorLink articlesLink = new EditorLink("Articles", null);

            List<BlogArticle> articles = BlogArticles;

            if (articles != null)
            {
                foreach (BlogArticle article in articles)
                {
                    String href = LinkUtils.ResolveClientUrl(LinkUtils.GetArticleUrl(article.IndexName));

                    articlesLink.ChildLinks.Add(new EditorLink(article.Title, href));
                }
            }

            links.Add(articlesLink);
        }
示例#8
0
        private EditorLink AddLink(TabInfo objTab, ref EditorLink parent)
        {
            string linkUrl = string.Empty;
            if (! objTab.DisableLink)
            {
	            switch (_linksType.ToUpperInvariant())
	            {
					case "USETABNAME":
						var nameLinkFormat = "http://{0}/Default.aspx?TabName={1}";
						linkUrl = string.Format(nameLinkFormat, PortalSettings.PortalAlias.HTTPAlias, HttpUtility.UrlEncode(objTab.TabName));
						break;
					case "USETABID":
						var idLinkFormat = "http://{0}/Default.aspx?TabId={1}";
						linkUrl = string.Format(idLinkFormat, PortalSettings.PortalAlias.HTTPAlias, objTab.TabID);
						break;
					default:
						linkUrl = objTab.FullUrl;
						break;
	            }
                if (_linksUseRelativeUrls && (linkUrl.StartsWith("http://") || linkUrl.StartsWith("https://")))
                {
                    int linkIndex = linkUrl.IndexOf("/", 8);
                    if (linkIndex > 0)
                    {
                        linkUrl = linkUrl.Substring(linkIndex);
                    }
                }
            }
            var newLink = new EditorLink(objTab.LocalizedTabName.Replace("\\", "\\\\"), linkUrl);
            parent.ChildLinks.Add(newLink);
            return newLink;
        }
示例#9
0
        public void AddEditorPageLinks(EditorLinkCollection links)
        {
            EditorLink pageLink = new EditorLink("Pages", null);

            foreach (PageGroupInfo group in Groups)
            {
                EditorLink groupLink = new EditorLink(group.Name, null);

                foreach (PageSectionInfo section in group.Sections)
                {
                    EditorLink sectionLink = new EditorLink(section.Name, null);

                    foreach (PageInfo page in section.Pages)
                    {
                        String href = LinkUtils.ResolveClientUrl(LinkUtils.GetPageUrl(page.FullName));

                        sectionLink.ChildLinks.Add(new EditorLink(page.Name, href));
                    }

                    if (sectionLink.ChildLinks.Count > 0)
                        groupLink.ChildLinks.Add(sectionLink);
                }

                if (groupLink.ChildLinks.Count > 0)
                    pageLink.ChildLinks.Add(groupLink);
            }

            links.Add(pageLink);
        }