Esempio n. 1
0
        public static MvcHtmlString FieldSetFor(this HtmlHelper helper, Type type, object defaults = null, string legendText = null, object wrapperAttrs = null)
        {
            InputFormBuilder builder = new InputFormBuilder();
            TagBuilder       tag     = builder.FieldsetFor(type, defaults, legendText);

            tag.AttrsIf(wrapperAttrs != null, wrapperAttrs);
            return(tag.ToMvcHtml());
        }
Esempio n. 2
0
        public static MvcHtmlString FieldsetFor(this HtmlHelper helper, dynamic obj, string legendText = null, object wrapperAttrs = null, bool setValues = false)
        {
            InputFormBuilder builder = new InputFormBuilder();
            TagBuilder       tag     = builder.FieldsetForDynamic(obj, legendText, setValues);

            tag.AttrsIf(wrapperAttrs != null, wrapperAttrs);
            return(tag.ToMvcHtml());
        }
        public static void CreateObjectInputShouldRenderHidden()
        {
            InputFormBuilder builder       = new InputFormBuilder();
            TagBuilder       tag           = builder.FieldsetFor((Type)typeof(HiddenTestObject), null).Id("test");
            FileInfo         compareToFile = new FileInfo(string.Format(".\\{0}.txt", MethodBase.GetCurrentMethod().Name));

            Compare(tag, compareToFile);
        }
Esempio n. 4
0
        public static MvcHtmlString InputsFor(this HtmlHelper helper, Type type, object defaults = null, object wrapperAttrs = null)
        {
            InputFormBuilder builder = new InputFormBuilder();
            TagBuilder       tag     = new TagBuilder("span");

            builder.AppendInputsFor(type, defaults, tag);
            tag.AttrsIf(wrapperAttrs != null, wrapperAttrs);
            return(tag.ToMvcHtml());
        }
Esempio n. 5
0
        private static TagBuilder GetParamsBuilder(Type type, string methodName, string wrapperTagName, Dictionary <string, object> defaults, object htmlAttributes, out int paramCount)
        {
            InputFormBuilder builder = new InputFormBuilder(type);

            builder.AddLabels = true;
            TagBuilder form = builder.MethodForm(wrapperTagName, methodName, defaults, out paramCount)
                              .AttrsIf(htmlAttributes != null, htmlAttributes);

            return(form);
        }
Esempio n. 6
0
        private static InputFormBuilder CreateBuilder(Type type, string labelClass)
        {
            InputFormBuilder builder = new InputFormBuilder();

            if (!string.IsNullOrWhiteSpace(labelClass))
            {
                builder.LabelCssClass = labelClass;
            }
            return(builder);
        }
Esempio n. 7
0
        public static MvcHtmlString InputFor(this HtmlHelper helper,
                                             Type type,
                                             object buttonAttributes  = null,
                                             object wrapperAttributes = null,
                                             object defaultValues     = null,
                                             string name       = null,
                                             string labelClass = null)
        {
            InputFormBuilder builder = CreateBuilder(type, labelClass);

            return(builder.FieldsetFor(type, defaultValues, name)
                   .AttrsIf(wrapperAttributes != null, wrapperAttributes)
                   .ChildIf(buttonAttributes != null, new TagBuilder("span").Button(buttonAttributes))
                   .ToHtml());
        }
        private bool SendMethodForm(IHttpContext context, string appName)
        {
            bool     result          = false;
            IRequest request         = context.Request;
            string   path            = request.Url.AbsolutePath;
            string   prefix          = MethodFormPrefixFormat._Format(ResponderSignificantName.ToLowerInvariant());
            string   partsICareAbout = path.TruncateFront(prefix.Length);

            string[] segments = partsICareAbout.DelimitSplit("/", "\\");

            if (segments.Length == 2)
            {
                Incubator         providers;
                List <ProxyAlias> aliases;
                GetServiceProxies(appName, out providers, out aliases);
                string className  = segments[0];
                string methodName = segments[1];
                Type   type       = providers[className];
                if (type == null)
                {
                    ProxyAlias alias = aliases.FirstOrDefault(a => a.Alias.Equals(className));
                    if (alias != null)
                    {
                        type = providers[alias.ClassName];
                    }
                }

                if (type != null)
                {
                    InputFormBuilder            builder    = new InputFormBuilder(type);
                    QueryStringParameter[]      parameters = request.Url.Query.DelimitSplit("?", "&").ToQueryStringParameters();
                    Dictionary <string, object> defaults   = new Dictionary <string, object>();
                    foreach (QueryStringParameter param in parameters)
                    {
                        defaults.Add(param.Name, param.Value);
                    }
                    TagBuilder  form        = builder.MethodForm(methodName, defaults);
                    LayoutModel layoutModel = GetLayoutModel(appName);
                    layoutModel.PageContent = form.ToMvcHtml().ToString();
                    ContentResponder.CommonTemplateRenderer.RenderLayout(layoutModel, context.Response.OutputStream);
                    result = true;
                }
            }

            return(result);
        }
        public static void CreateObjectInputShouldRenderDropDown()
        {
            Dictionary <string, string> v = new Dictionary <string, string>();

            v.Add("one", "one");
            v.Add("two", "two");
            v.Add("three", "three");
            v.Add("four", "four");
            DropDown.SetOptions("test", v);

            InputFormBuilder builder = new InputFormBuilder();

            TagBuilder tag           = builder.FieldsetFor(typeof(DropDownObject), null).Id("test");
            FileInfo   compareToFile = new FileInfo(string.Format(".\\{0}.txt", MethodBase.GetCurrentMethod().Name));

            Compare(tag, compareToFile);
        }
Esempio n. 10
0
        public override void ExecuteResult(ControllerContext context)
        {
            StringBuilder output = new StringBuilder();

            if (string.IsNullOrEmpty(ClassName))
            {
                Tag message = new Tag("div", new { Class = "error" }).Text("ClassName not specified");
                output = new StringBuilder(message.ToHtmlString());
            }
            else
            {
                Incubator incubator = ServiceProxySystem.Incubator;
                Type      type;
                incubator.Get(ClassName, out type);
                if (type == null)
                {
                    Tag message = new Tag("div", new { Class = "error" }).Text("The specified className ({0}) was not registered in the ServiceProxySystem"._Format(ClassName));
                    output = new StringBuilder(message.ToHtmlString());
                }
                else
                {
                    InputFormBuilder formBuilder = new InputFormBuilder(type);
                    formBuilder.Layout = Layout;
                    Dictionary <string, object> defaults = new Dictionary <string, object>();
                    if (Defaults != null)
                    {
                        defaults = Defaults.PropertiesToDictionary();
                    }

                    TagBuilder tag = formBuilder.MethodForm(MethodName, defaults);
                    output = new StringBuilder(tag.ToMvcHtml().ToString());
                }
            }

            HttpResponseBase response = context.HttpContext.Response;

            response.Write(output.ToString());
        }
Esempio n. 11
0
        public string InputFor(Type type, object defaults = null, string name = null)
        {
            InputFormBuilder builder = new InputFormBuilder();

            return(builder.FieldsetFor(type, defaults, name).ToString());
        }
Esempio n. 12
0
        public static TagBuilder InputFor(this HtmlHelper helper, Type type, object defaultValues = null, string name = null, string labelClass = null)
        {
            InputFormBuilder builder = CreateBuilder(type, labelClass);

            return(builder.FieldsetFor(type, defaultValues, name));
        }