private static string RenderSelectorDeFechaHora(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl) { var atributos = descriptorControl.atributos; var a = new AtributosHtml( idHtmlContenedor: descriptorControl.IdHtmlContenedor, idHtml: descriptorControl.IdHtml, propiedad: descriptorControl.propiedad, tipoDeControl: atributos.TipoDeControl, visible: atributos.EsVisible(tabla.ModoDeTrabajo) && atributos.Obligatorio, editable: atributos.EsEditable(tabla.ModoDeTrabajo), obligatorio: atributos.Obligatorio, ayuda: atributos.Ayuda, valorPorDefecto: atributos.ValorPorDefecto); a.AnchoMaximo = atributos.AnchoMaximo; a.NumeroDeFilas = atributos.NumeroDeFilas; return(EditorDeFecha.RenderSelectorDeFechaHora(a)); //Dictionary<string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); //valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorFechaHora); //valores["Css"] = Css.Render(enumCssControlesDto.SelectorDeFecha); //valores["CssHora"] = Css.Render(enumCssControlesDto.SelectorDeHora); //valores["Placeholder"] = atributos.Ayuda; //valores["ValorPorDefecto"] = atributos.ValorPorDefecto; //var htmSelectorDeFechaHora = PlantillasHtml.Render(PlantillasHtml.selectorDeFechaHoraDto, valores); //return htmSelectorDeFechaHora; }
private static string RenderListaDinamica(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl, double ancho) { var atributos = descriptorControl.atributos; var valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); //throw new Exception($"no se ha definido el atributo {nameof(atributos.MostrarExpresion)} para la lista dinámica de la propiedad {descriptorControl.propiedad}"); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorListaDinamica); valores["Css"] = Css.Render(enumCssControlesDto.ListaDinamica); valores["ClaseElemento"] = atributos.SeleccionarDe.Name; valores["MostrarExpresion"] = atributos.MostrarExpresion.IsNullOrEmpty() ? ElementoDto.ValorDelAtributo(atributos.SeleccionarDe, nameof(IUDtoAttribute.MostrarExpresion)) : atributos.MostrarExpresion; valores["BuscarPor"] = atributos.BuscarPor; valores["Longitud"] = 3; valores["Cantidad"] = 10; valores["CriterioDeFiltro"] = atributos.CriterioDeBusqueda; valores["OnInput"] = $"Crud.{GestorDeEventos.EventosDeListaDinamica}('{TipoAccionDeListaDinamica.cargar}',this)"; valores["OnChange"] = $"Crud.{GestorDeEventos.EventosDeListaDinamica}('{TipoAccionDeListaDinamica.perderFoco}',this)"; valores["Placeholder"] = $"Seleccionar ({atributos.CriterioDeBusqueda}) ..."; valores["GuardarEn"] = atributos.GuardarEn; valores["RestringidoPor"] = atributos.RestringidoPor.ToLower(); valores["ContenidoEn"] = tabla.IdHtmlContenedor; var a = PlantillasHtml.Render(PlantillasHtml.listaDinamicaDto, valores); return(a); }
private static string RenderEtiquetaDelDto(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl, short i, short j, double ancho) { if (descriptorControl.atributos.TipoDeControl == enumTipoControl.Check) { return(""); } return(ControlHtml.RenderEtiqueta($"{tabla.IdHtml}_{i}_{j}_lbl", descriptorControl.atributos.Etiqueta)); }
private static string RenderSelectorImagen(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl, double ancho) { var atributos = descriptorControl.atributos; var htmlContenedor = RenderContenedorDto(descriptorControl, ancho, Css.Render(enumCssControlesDto.ContenedorArchivo)); var idHtmlBarra = $"barra-{descriptorControl.IdHtml}"; var idHtmlImg = $"img-{descriptorControl.IdHtml}"; var idHtmlCanva = $"canvas-{descriptorControl.IdHtml}"; var idHtmlInfoArchivo = $"nombre-{descriptorControl.IdHtml}"; var htmlArchivo = @$ " <form class=¨{Css.Render(enumCssControlesDto.FormDeArchivo)}¨ method=¨post¨ enctype=¨multipart/form-data¨>
// private static string RenderDescriptorControlDto(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl, double ancho) { var atributos = descriptorControl.atributos; var htmdDescriptorControl = ""; switch (atributos.TipoDeControl) { case enumTipoControl.Editor: htmdDescriptorControl = RenderEditor(tabla, descriptorControl); break; case enumTipoControl.RestrictorDeEdicion: htmdDescriptorControl = RenderRestrictor(tabla, descriptorControl, ancho); break; case enumTipoControl.ListaDeElemento: htmdDescriptorControl = RenderListaDeElemento(tabla, descriptorControl, ancho); break; case enumTipoControl.ListaDinamica: htmdDescriptorControl = RenderListaDinamica(tabla, descriptorControl, ancho); break; case enumTipoControl.Archivo: htmdDescriptorControl = RenderSelectorImagen(tabla, descriptorControl, ancho); break; case enumTipoControl.UrlDeArchivo: htmdDescriptorControl = RenderSelectorImagen(tabla, descriptorControl, ancho); break; case enumTipoControl.Check: htmdDescriptorControl = RenderCheck(tabla, descriptorControl); break; case enumTipoControl.SelectorDeFecha: htmdDescriptorControl = RenderSelectorDeFecha(tabla, descriptorControl); break; case enumTipoControl.SelectorDeFechaHora: htmdDescriptorControl = RenderSelectorDeFechaHora(tabla, descriptorControl); break; case enumTipoControl.AreaDeTexto: htmdDescriptorControl = RenderAreaDeTexto(tabla, descriptorControl); break; default: GestorDeErrores.Emitir($"No se ha implementado como renderizar una propiedad del tipo {atributos.TipoDeControl}"); break; } return(htmdDescriptorControl); }
private static string RenderSelectorDeFecha(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl) { var atributos = descriptorControl.atributos; Dictionary <string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorFecha); valores["Css"] = Css.Render(enumCssControlesDto.SelectorDeFecha); valores["Placeholder"] = atributos.Ayuda; valores["ValorPorDefecto"] = atributos.ValorPorDefecto; var htmSelectorDeFecha = PlantillasHtml.Render(PlantillasHtml.selectorDeFechaDto, valores); return(htmSelectorDeFecha); }
private static string RenderCheck(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl) { var atributos = descriptorControl.atributos; Dictionary <string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorCheck); valores["Css"] = Css.Render(enumCssControlesDto.Check); valores["Checked"] = atributos.ValorPorDefecto.ToString().ToLower(); valores["Etiqueta"] = atributos.Etiqueta; valores["Accion"] = ""; var htmlCheck = PlantillasHtml.Render(PlantillasHtml.checkDto, valores); return(htmlCheck); }
private static string RenderEditor(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl) { var atributos = descriptorControl.atributos; Dictionary <string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorEditor); valores["Css"] = Css.Render(enumCssControlesDto.Editor); valores["Placeholder"] = atributos.Ayuda; valores["ValorPorDefecto"] = atributos.ValorPorDefecto; valores["LongitudMaxima"] = atributos.LongitudMaxima > 0 ? $"{Environment.NewLine}maxlength=¨{atributos.LongitudMaxima}¨" : ""; var htmlEditor = PlantillasHtml.Render(PlantillasHtml.editorDto, valores); return(htmlEditor); }
private static string RenderAreaDeTexto(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl) { var atributos = descriptorControl.atributos; Dictionary <string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorAreaDeTexto); valores["Css"] = Css.Render(enumCssControlesDto.AreaDeTexto); valores["Placeholder"] = atributos.Ayuda; valores["ValorPorDefecto"] = atributos.ValorPorDefecto; string alto = $"calc({(double)(1.5 * atributos.NumeroDeFilas)}em + .75rem + 2px);".Replace(",", "."); valores["Estilos"] = $"{valores["Estilos"]}{$" height: {alto}"}"; var htmlArea = PlantillasHtml.Render(PlantillasHtml.AreaDeTextoDto, valores); return(htmlArea); }
private static string RenderListaDeElemento(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl, double ancho) { var atributos = descriptorControl.atributos; Dictionary <string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorListaDeElementos); valores["Css"] = Css.Render(enumCssControlesDto.ListaDeElementos); valores["ClaseElemento"] = atributos.SeleccionarDe.Name; valores["MostrarExpresion"] = atributos.MostrarExpresion.IsNullOrEmpty() ? ElementoDto.ValorDelAtributo(atributos.SeleccionarDe, nameof(IUDtoAttribute.MostrarExpresion)) : atributos.MostrarExpresion; valores["GuardarEn"] = atributos.GuardarEn; var htmlSelect = PlantillasHtml.Render(PlantillasHtml.listaDeElementosDto, valores); return(htmlSelect); }
public void AnadirControl(short pos, PropertyInfo descriptor) { if (!Controles.ContainsKey(pos)) { Controles[pos] = new DescriptorDeControlDeLaTabla { Descriptor = descriptor, Fila = Fila, NumeroColumna = NumeroColumna }; if (PosicionMaxima < pos) { PosicionMaxima = pos; } NumeroDeControles = (short)(NumeroDeControles + 1); _conColSpan = Controles[pos].atributos.ConSpanEnColumnas; } else { AnadirControl((short)(pos + 1), descriptor); } }
private static string RenderRestrictor(DescriptorDeTabla tabla, DescriptorDeControlDeLaTabla descriptorControl, double ancho) { var atributos = descriptorControl.atributos; if (atributos.MostrarExpresion.IsNullOrEmpty()) { throw new Exception($"no se ha definido el atributo {nameof(atributos.MostrarExpresion)} para el restrictor de la propiedad {descriptorControl.propiedad}"); } Dictionary <string, object> valores = ValoresDeAtributosComunes(tabla, descriptorControl, atributos); valores["CssContenedor"] = Css.Render(enumCssControlesDto.ContenedorEditor); valores["Css"] = Css.Render(enumCssControlesDto.EditorRestrictor); valores["MostrarExpresion"] = atributos.MostrarExpresion.ToLower(); valores["Placeholder"] = atributos.Ayuda; valores["ValorPorDefecto"] = atributos.ValorPorDefecto; valores["Readonly"] = "editable=¨N¨ readonly"; var htmlEditor = PlantillasHtml.Render(PlantillasHtml.restrictorDto, valores); return(htmlEditor); }