Beispiel #1
0
 public void ShouldNotThrowOnGetFieldTypeItem()
 {
     using (new Db("core"))
     {
         FieldTypeManager.GetFieldTypeItem("text");
     }
 }
        public Item GetFieldType(Field itemField)
        {
            Assert.ArgumentNotNull(itemField, "itemField");
            Item fieldTypeItem = FieldTypeManager.GetFieldTypeItem(StringUtil.GetString(new string[] { itemField.Type, "text" }));

            if (fieldTypeItem == null)
            {
                fieldTypeItem = FieldTypeManager.GetDefaultFieldTypeItem();
            }
            return(fieldTypeItem);
        }
Beispiel #3
0
        public virtual Item GetFieldTypeItem(Item field)
        {
            string fieldType = field["Type"];

            if (string.IsNullOrEmpty(fieldType))
            {
                fieldType = "text";
            }

            return(FieldTypeManager.GetFieldTypeItem(fieldType) ?? FieldTypeManager.GetDefaultFieldTypeItem());
        }
Beispiel #4
0
        private object RenderMenuButtons(string controlId, Field field, bool readOnly)
        {
            var menuControls = new StringBuilder();

            var fieldTypeItem = FieldTypeManager.GetFieldTypeItem(field.Type);
            var menu          = fieldTypeItem.Children["Menu"];

            if (menu != null)
            {
                menuControls.Append("<div class=\"scContentButtons\">");

                bool seperatorFlag = false;

                foreach (Item menuItem in menu.Children)
                {
                    var callbackEvent = Sitecore.Context.ClientPage.GetClientEvent(menuItem["Message"]).Replace("$Target", controlId);

                    if (seperatorFlag)
                    {
                        menuControls.Append("&#183;");
                    }

                    seperatorFlag = true;

                    if (readOnly)
                    {
                        menuControls.AppendFormat("<span class=\"scContentButtonDisabled\">{0}</span>", menuItem["Display Name"]);
                    }
                    else
                    {
                        menuControls.AppendFormat("<a href=\"#\" class=\"scContentButton\" onclick=\"{0}\">{1}</a>", callbackEvent, menuItem["Display Name"]);
                    }
                }

                menuControls.Append("</div>");
            }

            return(menuControls.ToString());
        }
 public Item GetFieldType(Field itemField)
 {
     Assert.ArgumentNotNull(itemField, "itemField");
     return(FieldTypeManager.GetFieldTypeItem(StringUtil.GetString(itemField.Type, "text")) ??
            FieldTypeManager.GetDefaultFieldTypeItem());
 }
        /// <summary>Gets the field contextual tab.</summary>
        /// <param name="parameters">The parameters.</param>
        /// <returns>The field contextual tab.</returns>
        private string GetFieldContextualTab(string parameters)
        {
            Assert.ArgumentNotNull(parameters, "parameters");
            var num = parameters.IndexOf("&fld=", StringComparison.InvariantCulture);
            var uri = ItemUri.Parse(StringUtil.Left(parameters, num));

            if (uri == null)
            {
                return(string.Empty);
            }
            var obj = Database.GetItem(uri);

            if (obj == null)
            {
                return(string.Empty);
            }
            var urlParameters = WebUtil.ParseUrlParameters(StringUtil.Mid(parameters, num));
            var index         = StringUtil.GetString(urlParameters["fld"]);
            var str           = StringUtil.GetString(urlParameters["ctl"]);
            var field         = obj.Fields[index];

            if (field == null)
            {
                return(string.Empty);
            }
            var templateField = field.GetTemplateField();

            if (templateField == null)
            {
                return(string.Empty);
            }
            var fieldType     = StringUtil.GetString(templateField.TypeKey, "text");
            var fieldTypeItem = FieldTypeManager.GetFieldTypeItem(fieldType);

            if (fieldTypeItem == null)
            {
                return(string.Empty);
            }
            //Database database = Context.Database;
            var database = Sitecore.Context.Database;

            if (database == null)
            {
                return(string.Empty);
            }
            Item child;

            if (fieldType == "rich text")
            {
                var queryString = WebUtil.GetQueryString("mo", "Editor");
                var path        =
                    StringUtil.GetString(templateField.Source,
                                         queryString == "IDE"
                            ? "/sitecore/system/Settings/Html Editor Profiles/Rich Text IDE"
                            : Settings.HtmlEditor.DefaultProfile) + "/Ribbon";
                child = database.GetItem(path);
            }
            else
            {
                child = fieldTypeItem.Children["Ribbon"];
            }
            if (child == null)
            {
                return(string.Empty);
            }
            var ribbon1 = new Ribbon();

            ribbon1.ID = "Ribbon";
            var ribbon2        = ribbon1;
            var commandContext = new CommandContext(obj);

            ribbon2.CommandContext = commandContext;
            commandContext.Parameters["FieldID"]   = index;
            commandContext.Parameters["ControlID"] = str;
            string navigator;
            string strips;

            ribbon2.Render(child, true, out navigator, out strips);
            Response.Write("{ \"navigator\": " + StringUtil.EscapeJavascriptString(navigator) + ", \"strips\": " +
                           StringUtil.EscapeJavascriptString(strips) + " }");
            return(string.Empty);
        }