示例#1
0
        public                                     BookmarkInfo[] Load()
        {
            var section  = settingsService.GetOrCreateSection(SETTINGS_GUID);
            var settings = new List <BookmarkInfo>();

            foreach (var bmSect in section.SectionsWithName("Bookmark"))
            {
                var isEnabled = bmSect.Attribute <bool?>("IsEnabled");
                if (isEnabled == null)
                {
                    continue;
                }
                var location = bookmarkLocationSerializerService.Deserialize(bmSect.TryGetSection("BML"));
                if (location == null)
                {
                    continue;
                }
                var bmSettings = new BookmarkSettings {
                    IsEnabled = isEnabled.Value,
                    Name      = bmSect.Attribute <string>("Name") ?? string.Empty,
                    Labels    = new ReadOnlyCollection <string>(LoadLabels(bmSect)),
                };
                settings.Add(new BookmarkInfo(location, bmSettings));
            }
            return(settings.ToArray());
        }
示例#2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="module">Module</param>
 /// <param name="token">Token of a method within the module</param>
 /// <param name="offset">IL offset of the bookmark within the method body</param>
 /// <param name="settings">Bookmark settings</param>
 public DotNetMethodBodyBookmarkInfo(ModuleId module, uint token, uint offset, BookmarkSettings settings)
 {
     Module   = module;
     Token    = token;
     Offset   = offset;
     Settings = settings;
 }
示例#3
0
 protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     settings        = new BookmarkSettings();
     settings        = settings.Load();
     btn_Save.Click += new EventHandler(btn_Save_Click);
 }
示例#4
0
        void btn_Save_Click(object sender, EventArgs e)
        {
            //settings.Maximum = int.Parse(rtg_maximum.Value.ToString());
            //settings.Minimum = int.Parse(rtg_minimum.Value.ToString());
            settings = settings.Save();// (SPContext.Current.Site);

            var eventArgsJavaScript = String.Format("{{Message:'{0}',controlIDs:window.frameElement.dialogArgs}}", "The Properties have been updated.");

            ((EnhancedLayoutsPage)Page).EndOperation(ModalDialogResult.OK, eventArgsJavaScript);
            Context.Response.Flush();
            Context.Response.End();
        }
示例#5
0
 /// <summary>
 /// Creates a bookmark. If there's already a bookmark at the location, null is returned.
 /// </summary>
 /// <param name="module">Module</param>
 /// <param name="token">Token of a definition (type, method, field, property, event)</param>
 /// <param name="settings">Bookmark settings</param>
 /// <returns></returns>
 public Bookmark Create(ModuleId module, uint token, BookmarkSettings settings) =>
 Create(new[] { new DotNetTokenBookmarkInfo(module, token, settings) }).FirstOrDefault();
示例#6
0
 /// <summary>
 /// Creates a bookmark. If there's already a bookmark at the location, null is returned.
 /// </summary>
 /// <param name="module">Module</param>
 /// <param name="token">Token of a method within the module</param>
 /// <param name="offset">IL offset of the bookmark within the method body</param>
 /// <param name="settings">Bookmark settings</param>
 /// <returns></returns>
 public Bookmark Create(ModuleId module, uint token, uint offset, BookmarkSettings settings) =>
 Create(new[] { new DotNetMethodBodyBookmarkInfo(module, token, offset, settings) }).FirstOrDefault();
示例#7
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="module">Module</param>
 /// <param name="token">Token of a definition (type, method, field, property, event)</param>
 /// <param name="settings">Bookmark settings</param>
 public DotNetTokenBookmarkInfo(ModuleId module, uint token, BookmarkSettings settings)
 {
     Module   = module;
     Token    = token;
     Settings = settings;
 }
示例#8
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="location">Bookmark location</param>
 /// <param name="settings">Bookmark settings</param>
 public BookmarkInfo(BookmarkLocation location, BookmarkSettings settings)
 {
     Location = location ?? throw new ArgumentNullException(nameof(location));
     Settings = settings;
 }
示例#9
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="bookmark">Bookmark</param>
 /// <param name="settings">New settings</param>
 public BookmarkAndSettings(Bookmark bookmark, BookmarkSettings settings)
 {
     Bookmark = bookmark ?? throw new ArgumentNullException(nameof(bookmark));
     Settings = settings;
 }
        protected override void CreateChildControls()
        {
            this.DisableInputFieldLabel = true;
            base.ControlMode            = SPContext.Current.FormContext.FormMode;
            base.CreateChildControls();

            BookmarkField = (HTML5BookmarkField)ItemFieldValue;

            if (BookmarkField == null)
            {
                BookmarkField = new HTML5BookmarkField();
            }

            if (base.ControlMode == SPControlMode.Edit || base.ControlMode == SPControlMode.New)
            {
            }
            else
            {
                if (!Page.ClientScript.IsClientScriptIncludeRegistered("JQuery"))
                {
                    Page.ClientScript.RegisterClientScriptInclude(typeof(HTML5BookmarkControl), "JQuery", "/_layouts/Hemrika/Content/jquery.min.js");
                }

                BookmarkSettings settings = new BookmarkSettings();
                settings.Load();

                if (!Page.ClientScript.IsClientScriptIncludeRegistered("BookMark"))
                {
                    Page.ClientScript.RegisterClientScriptInclude(typeof(HTML5BookmarkControl), "BookMark", "/_layouts/Hemrika/Content/jquery.bookmark.js");
                }

                if (!Page.ClientScript.IsClientScriptIncludeRegistered("BookMarkExt") && settings.UseExtended)
                {
                    Page.ClientScript.RegisterClientScriptInclude(typeof(HTML5BookmarkControl), "BookMarkExt", "/_layouts/Hemrika/Content/jquery.bookmark.ext.js");
                }

                CssRegistration.Register("/_layouts/Hemrika/Content/bookmark.css");

                input_Bookmark = (NumberInput)this.TemplateContainer.FindControl("BookmarkInput");

                if (input_Bookmark != null)
                {
                    input_Bookmark.TextChanged += new EventHandler(input_Bookmark_TextChanged);

                    input_Bookmark.Value = BookmarkField.Bookmarks;
                    input_Bookmark.Text  = BookmarkField.Bookmarks.ToString();


                    HtmlGenericControl Bookmark = new HtmlGenericControl("div");
                    Bookmark.Attributes.Add("class", "hasBookmark");
                    Bookmark.ID = "selectBookmark";
                    this.Controls.Add(Bookmark);

                    if (!Page.ClientScript.IsClientScriptBlockRegistered(Bookmark.ClientID))
                    {
                        StringBuilder script = new StringBuilder();
                        script.Append("$(function () {");
                        script.Append("$(\"" + Bookmark.ClientID + "\").bookmark({");
                        //script.Append("onSelect: customBookmark");

                        if (settings.UseCommon)
                        {
                            script.Append("Sites: $.bookmark.commonSites");
                        }
                        else
                        {
                            if (settings.Sites != null && settings.Sites.Count > 0)
                            {
                                script.Append("Sites:[");

                                foreach (string site in settings.Sites)
                                {
                                    script.Append("'" + site + "',");
                                }
                                script.Append("]");
                                script = script.Replace(",]", "]");
                            }
                        }

                        if (settings.AddEmail)
                        {
                            script.Append(",addEmail: true");

                            if (!string.IsNullOrEmpty(settings.EmailSubject))
                            {
                                script.Append(",emailSubject:'" + settings.EmailSubject + "'");
                            }

                            if (!string.IsNullOrEmpty(settings.EmailBody))
                            {
                                script.Append(",emailBody:'" + settings.EmailBody + "'");
                            }
                        }

                        if (settings.AddFavorite)
                        {
                            script.Append(",addFavorite: true");
                        }
                        if (settings.AddAnalytics)
                        {
                            script.Append(",addAnalytics : true");

                            if (!string.IsNullOrEmpty(settings.AnalyticsName))
                            {
                                script.Append(",analyticsName:'" + settings.AnalyticsName + "'");
                            }
                        }

                        script.Append("});");

                        //script = script.Replace("{}","{sites: $.bookmark.commonSites}");
                        script = script.Replace("{}", "");
                        script.Append("});");

                        Page.ClientScript.RegisterClientScriptBlock(typeof(HTML5BookmarkControl), Bookmark.ClientID, script.ToString(), true);
                    }
                }
            }
        }