Beispiel #1
0
        public override void HandleMessage(Message message)
        {
            base.HandleMessage(message);
            if (message["id"] != ID)
            {
                return;
            }

            switch (message.Name)
            {
            case "linkfield:search":
                Sitecore.Context.ClientPage.Start(this, nameof(Search));
                return;

            case "linkfield:delete":
                UpdateValue(string.Empty);
                return;

            case "linkfield:open":
                if (Sitecore.Data.ID.TryParse(Value, out ID result))
                {
                    ContentEditorUtils.OpenItemInTab(result, ItemLanguage);
                }
                return;
            }
        }
        public override void HandleMessage(Message message)
        {
            base.HandleMessage(message);
            if (message["id"] != ID)
            {
                return;
            }

            switch (message.Name)
            {
            case "linkfield:search":
                Sitecore.Context.ClientPage.Start(this, nameof(Search));
                return;

            case "linkfield:delete":
                string   itemid   = message[SingleLinkSearchField.ItemIdParameter];
                string[] values   = Value.Split('|');
                string   newValue = string.Join("|", values.Where(x => x != itemid));
                UpdateValue(newValue);
                return;

            case "linkfield:open":
                if (Sitecore.Data.ID.TryParse(message[SingleLinkSearchField.ItemIdParameter], out ID result))
                {
                    ContentEditorUtils.OpenItemInTab(result, ItemLanguage);
                }
                return;
            }
        }
Beispiel #3
0
        private void Search(ClientPipelineArgs args)
        {
            if (args.IsPostBack)
            {
                if (args.HasResult && Value.Equals(args.Result) == false)
                {
                    string newValue = args.Result;
                    UpdateValue(newValue);
                }
            }
            else
            {
                NameValueCollection parameters = SourceStringUtils.GetSourceString(ItemID, ItemLanguage, Source);
                ContentEditorUtils.ShowSearchDialog(parameters);

                args.WaitForPostBack();
            }
        }