private static void SetSelectDataAttributes(ref FormUtilModel.SelectModel _comp, List <KeyValuePair <string, string> > _attr) { (_comp).data_attributes = _attr != null && _attr.Exists(m => m.Key == "data-type") ? _attr.Find(m => m.Key == "data-type").Value : null; (_comp)._for = _attr != null && _attr.Exists(m => m.Key == "for") ? _attr.Find(m => m.Key == "for").Value : null; (_comp).disabled = _attr != null && _attr.Exists(m => m.Key == "disabled") ? _attr.Find(m => m.Key == "disabled").Value : null; (_comp).data_target = _attr != null && _attr.Exists(m => m.Key == "data-target") ? _attr.Find(m => m.Key == "data-target").Value : null; }
public PartialViewResult GetSelectListFor(string _type, int?_channel) { FormUtilModel.SelectModel select = new FormUtilModel.SelectModel(); switch (_type) { case Classes.Default.Attributes.GROUP_ID: select = GetSelectComponent(null, _type, new ConfigController().GetGroupList((int)_channel)); break; case Classes.Default.Attributes.MARKET_NAME_ID: select = GetSelectComponent(null, _type, new ConfigController().GetMarketList((int)_channel, null)); break; } return(PartialView(select.view, select)); }
private static FormUtilModel.SelectInputModel GetSelectInputModel(string _label, bool is_required, string _id, object _value, List <KeyValuePair <string, string> > _attr) { List <SelectListItem> list = new List <SelectListItem>(); list.Add(new SelectListItem { Text = "", Value = "0" }); list.AddRange((List <SelectListItem>)_value); if (!((List <SelectListItem>)_value).Exists(m => m.Selected == true)) { ((List <SelectListItem>)_value).First().Selected = true; } FormUtilModel.InputModel input = GetInputComponent(null, is_required, _id, ((List <SelectListItem>)_value).Find(m => m.Selected == true).Text); input.type = FormUtilModel.InputTypes.TEXT; input.data_attributes = _id; if (_attr != null) { SetInputDataAttributes(ref input, _attr); } FormUtilModel.InputModel hidden = GetInputComponent(null, is_required, _id.Substring(0, _id.IndexOf('_', 0, _id.Length)), ((List <SelectListItem>)_value).Find(m => m.Selected == true).Value); hidden.type = FormUtilModel.InputTypes.HIDDEN; hidden._for = _id; if (list.Exists(m => m.Selected == true)) { list.Find(m => m.Selected == true).Selected = false; //Deseleccionamos el seleccionado por defecto. } list.Find(m => m.Value == "0").Selected = true; //Seleccionamos el 0 (en blanco) FormUtilModel.SelectModel select = GetSelectComponent(null, null, list); select._for = _id; return(new FormUtilModel.SelectInputModel() { label = _label, input = input, select = select, hidden = hidden }); }
/// <summary> /// Devuelve el elemento con los parámetros pasados(INPUT y SELECT) /// </summary> /// <param name="type">Tipo de componente</param> /// <returns></returns> private static Models.FormElement GetFormElement(string type, int _column, int _row, string _label, bool _isRequired, string _id, object _value, List <KeyValuePair <string, string> > _attr) { FormElement element = new Models.FormElement() { column = _column, row = _row, //partial_view = mimput.view }; switch (type) { case FormUtilModel.InputTypes.TEXT: FormUtilModel.InputModel input = GetInputComponent(_label, _isRequired, _id, _value); if (_attr != null) { SetInputDataAttributes(ref input, _attr); } input.type = type; element.model = input; element.partial_view = input.view; break; case FormUtilModel.InputTypes.SELECT: List <SelectListItem> _options = _value.GetType() == typeof(string) ? null : (List <SelectListItem>)_value; FormUtilModel.SelectModel select = GetSelectComponent(_label, _id, _options); if (_attr != null) { SetSelectDataAttributes(ref select, _attr); } element.model = select; element.partial_view = select.view; break; case FormUtilModel.InputTypes.HIDDEN: FormUtilModel.InputModel hidden = GetInputComponent(_label, _isRequired, _id, _value); if (_attr != null) { SetInputDataAttributes(ref hidden, _attr); } hidden.type = type; element.model = hidden; element.partial_view = hidden.view; break; case FormUtilModel.InputTypes.CHECKBOX: FormUtilModel.InputModel chekbox = GetInputComponent(_label, _isRequired, _id, _value); if (_attr != null) { SetInputDataAttributes(ref chekbox, _attr); } chekbox.type = type; element.model = chekbox; element.partial_view = chekbox.view; break; case FormUtilModel.InputTypes.SELECTINPUT: FormUtilModel.SelectInputModel selectinput = GetSelectInputModel(_label, _isRequired, _id, _value, _attr); element.model = selectinput; element.partial_view = selectinput.view; break; } return(element); }