Example #1
0
        public BsPanelHtmlBuilder SetPropertiesFromModel(PropertyInfo propertyInfo)
        {
            BsPanelAttribute panelAttr = null;

            if (ReflectionHelpers.TryGetAttribute(propertyInfo, out panelAttr))
            {
                DisplayAttribute displayAttr = null;

                ReflectionHelpers.TryGetAttribute(propertyInfo, out displayAttr);

                if (panelAttr != null)
                {
                    this.Id(panelAttr.Id);
                    this.Expandable(panelAttr.Expandable);
                    this.Editable(panelAttr.Editable);
                }

                if (displayAttr != null)
                {
                    this.Name(displayAttr.GetName());
                }
            }

            return(this);
        }
Example #2
0
        public BsPanelHtmlBuilder AddPanel(BsPanelAttribute panelAttr, DisplayAttribute displayAttr)
        {
            var newPanel = new BsPanelHtmlBuilder(this.viewContext);

            if (panelAttr != null)
            {
                newPanel.Id(panelAttr.Id);
                newPanel.Expandable(panelAttr.Expandable);
                newPanel.Editable(panelAttr.Editable);
            }

            if (displayAttr != null)
            {
                newPanel.Name(displayAttr.GetName());
            }

            this.Panels.Add(newPanel);

            return(newPanel);
        }
Example #3
0
        public BsPanelsHtmlBuilder(TModel model, ViewContext viewContext)
            : base(viewContext)
        {
            this.viewContext = viewContext;
            this.renderer    = new BsPanelsBaseRenderer <TModel>(this);

            this.panelsConfig = new BsPanelsConfigurator <TModel>(viewContext);
            var type = typeof(TModel);

            foreach (var prop in type.GetProperties())
            {
                BsPanelAttribute attr = null;

                if (ReflectionHelpers.TryGetAttribute(prop, out attr))
                {
                    DisplayAttribute displayAttr = null;
                    ReflectionHelpers.TryGetAttribute(prop, out displayAttr);

                    panelsConfig.AddPanel(attr, displayAttr);
                }
            }
        }