I have two components inside a dialog and tabview
First is an autocomplete:
Code: Select all
<p:outputLabel for="nLineaA" value="No. Línea de Acción:" />
<p:autoComplete id="nLineaA" value="#{proyectos.proyecto.lineaAccionPmp}"
completeMethod="#{lineaAccionPmpControl.completeLineaAccionPmpXEstrategia}"
converter="#{lineaAccionPmpConverter}" var="la" itemLabel="#{la.numero}" itemValue="#{la}"
forceSelection="true" emptyMessage="Sin Registros" required="true" inputStyle="width:100%;"
style="width:100%;" requiredMessage="Debe seleccionar No. Línea de Acción" maxResults="15"
placeholder="Elegir...">
<p:ajax process="@this" event="itemSelect" update="@form" />
<f:attribute name="numero" value="#{proyectos.proyecto.lineaAccionPmp.estrategiaPmp.numero}" />
</p:autoComplete>
Code: Select all
<p:outputLabel for="lineA" value="Línea de Acción:" />
<h:panelGrid columns="1">
<p:selectOneMenu id="lineA" required="true" style="width:100%;" converter="#{lineaAccionPmpConverter}"
value="#{proyectos.proyecto.lineaAccionPmp}" autoWidth="false"
requiredMessage="Debe seleccionar Línea de Acción">
<p:ajax process="@this" update="@form" />
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{lineaAccionPmpControl.listaLineaAccionPmpXEstrategia(proyectos.proyecto.lineaAccionPmp.estrategiaPmp.numero)}"
var="la" itemLabel="#{la.numero}.- #{la.descripcion}" itemValue="#{la}" />
</p:selectOneMenu>
<p:outputLabel id="lineAT" rendered="#{proyectos.editar}"
value="#{proyectos.proyecto.lineaAccionPmp.numero}.- #{proyectos.proyecto.lineaAccionPmp.descripcion}" />
</h:panelGrid>
Code: Select all
public List<LineaAccionPmp> completeLineaAccionPmpXEstrategia(String query) {
FacesContext context = FacesContext.getCurrentInstance();
String numero = (String) UIComponent.getCurrentComponent(context).getAttributes().get("numero");
List<LineaAccionPmp> lineasAccion = sipatServicio.obtenerLineaAccionPmpXEstrategia(numero);
List<LineaAccionPmp> filtrados = new ArrayList<LineaAccionPmp>();
for (int i = 0; i < lineasAccion.size(); i++) {
LineaAccionPmp l = lineasAccion.get(i);
if (l.getNumero().toUpperCase().contains(query.toUpperCase())) {
filtrados.add(l);
}
}
return filtrados;
}
View:
Code: Select all
<p:dialog header="Nuevo Proyecto" widgetVar="dlgNuevoProyecto" modal="true" dynamic="true" showEffect="scale"
hideEffect="clip" id="dlgNuevoProyecto" appendTo="@(body)" styleClass="autoWidthDialog">
<f:facet name="header">
<h:outputText value="Nuevo Proyecto" rendered="#{!proyectos.editar}" />
<h:outputText value="Editar Proyecto" rendered="#{proyectos.editar}" />
<a href="#{request.contextPath}/resources/manual/ayuda.pdf" target="_blank"> <p:graphicImage
value="#{resource['images/ayuda.png']}" width="28" height="28" title="Ayuda" />
</a>
</f:facet>
<table style="width: 100%;">
<tr>
<th><p:graphicImage value="#{resource['images/conalep_hrz.png']}" width="220" height="67" /></th>
<th class="thRight"><br /> <br />
<p align="right">#{sesionUsuario.usuario.titulo} #{sesionUsuario.usuario.nombre}
#{sesionUsuario.usuario.apellido1} #{sesionUsuario.usuario.apellido2}</p></th>
</tr>
</table>
<p:tabView id="tabNP" widgetVar="tabNP" dynamic="true">
<p:tab id="datosGenerales" title="Datos Generales" disabled="true">
<h:form id="formDG">
<p:panel header="Datos Generales">
<p:messages autoUpdate="true" showDetail="true" showSummary="true" style="font-size:15px;" />
<p:panelGrid columns="2" style="width:100%;">
<p:outputLabel value="No. de Proyecto:" />
<p:inputText value="#{proyectos.proyecto.id.numero}" readonly="true" style="width:100%;" disabled="true" />
<p:outputLabel for="financiamiento" value="Financiamiento: *" />
<p:selectOneRadio required="true" requiredMessage="Debe seleccionar Financiamiento" id="financiamiento"
value="#{proyectos.proyecto.financiamiento}">
<f:selectItem itemLabel="Si" itemValue="#{true}" />
<f:selectItem itemLabel="No" itemValue="#{false}" />
</p:selectOneRadio>
<p:outputLabel value="Nombre del Proyecto:" />
<p:inputText value="#{proyectos.proyecto.nombre}" required="true"
requiredMessage="Debe ingresar Nombre del Proyecto" style="width:100%;" size="250" />
<p:outputLabel for="objGeneral" value="Objetivo General:" />
<p:inputText id="objGeneral" value="#{proyectos.proyecto.objetivo}" required="true"
requiredMessage="Debe ingresar Objetivo General" style="width:100%;" size="250" />
<p:outputLabel for="justificacion" value="Justificación:" />
<p:inputText id="justificacion" value="#{proyectos.proyecto.justificacion}" required="true"
requiredMessage="Debe ingresar Justificación" style="width:100%;" size="250" />
<p:outputLabel for="entregable" value="Entregable:" />
<p:inputText id="entregable" value="#{proyectos.proyecto.entregable}" required="true"
requiredMessage="Debe ingresar Entregable" style="width:100%;" size="250" />
<p:outputLabel for="impactoAcad" value="Impacto Academico:" />
<p:inputText id="impactoAcad" value="#{proyectos.proyecto.impactoAcad}" required="true"
requiredMessage="Debe ingresar Impacto Academico" style="width:100%;" size="250" />
<p:outputLabel for="colaboracion" value="En Colaboración con:" />
<p:autoComplete id="colaboracion" value="#{proyectos.ec}" var="c" itemLabel="#{c.nombre}"
itemValue="#{c}" forceSelection="true" completeMethod="#{coordinacionControl.completeCoordinacion}"
converter="#{coordinacionConverter}" emptyMessage="Sin Registros" inputStyle="width:100%;"
style="width:100%;" maxResults="15" placeholder="Elegir...">
<p:ajax event="itemSelect" listener="#{proyectos.agregarEC()}" update="tblEC, colaboracion" />
</p:autoComplete>
<p:outputLabel for="tblEC" value="" />
<p:dataList id="tblEC" value="#{proyectos.listaCoordinaciones}" var="ec" type="ordered"
emptyMessage="Sin registros">
<p:commandButton actionListener="#{proyectos.eliminarEC(ec)}" update="tblEC" icon="ui-icon-trash"
process="@this" /> - #{ec.nombre}
</p:dataList>
</p:panelGrid>
<f:facet name="footer">
<p:commandButton value="Cerrar" actionListener="#{proyectos.cancelar}" process="@this"
icon="ui-icon-close" oncomplete="PF('dlgNuevoProyecto').hide();">
<p:confirm header="Confirmación"
message="¿Deseas cerrar la ventana?, se perderan todos los datos que no hayan sido guardados?"
icon="ui-icon-alert" />
</p:commandButton>
<p:commandButton value="Siguiente" actionListener="#{proyectos.guardarDG}" update="@form msg"
icon="ui-icon-disk" iconPos="right" oncomplete="if (!args.validationFailed){PF('tabNP').select(1);}">
</p:commandButton>
</f:facet>
</p:panel>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</h:form>
</p:tab>
<p:tab id="alineacion" title="Alineación" disabled="true">
<h:form id="formA">
<p:panel header="Alineación">
<p:messages autoUpdate="true" showDetail="true" showSummary="true" style="font-size:15px;" />
<p:panelGrid columns="2" style="width:100%;">
<f:facet name="header">Referencias</f:facet>
<p:outputLabel for="nomP" value="Nombre del Proyecto:" style="font-size:12px;" />
<p:inputText id="nomP" value="#{proyectos.proyecto.nombre}" readonly="true" style="width:100%;" />
<p:outputLabel for="colabor" value="En Colaboración con:" style="font-size:12px;" />
<p:dataList id="colabor" value="#{proyectos.listaCoordinaciones}" var="lc" emptyMessage="Sin Registros">
#{lc.nombre}
</p:dataList>
</p:panelGrid>
<br />
<p:panelGrid columns="2" style="width:100%;">
<p:outputLabel for="objetivo" value="Objetivo:" />
<p:selectOneMenu id="objetivo" value="#{proyectos.proyecto.lineaAccionPmp.estrategiaPmp.objetivoPmp}"
converter="#{objetivoPmpConverter}" required="true" requiredMessage="Debe seleccionar Objetivo"
style="width:100%;">
<p:ajax process="@this" listener="#{proyectos.limpiaLineaAccion}" update="@form" />
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{objetivoPmpControl.listaObjetivoPmp()}" var="o"
itemLabel="#{o.numero}.- #{o.descripcion}" itemValue="#{o}" />
</p:selectOneMenu>
<p:outputLabel for="estrategia" value="Estrategia:" />
<p:selectOneMenu id="estrategia" value="#{proyectos.proyecto.lineaAccionPmp.estrategiaPmp}"
converter="#{estrategiaPmpConverter}" required="true" requiredMessage="Debe seleccionar Estrategia"
style="width:100%;">
<p:ajax process="@this" listener="#{proyectos.limpiaLineaAccion}" update="@form" />
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItems
value="#{estrategiaPmpControl.listaEstrategiaPmpXObjetivoPmp(proyectos.proyecto.lineaAccionPmp.estrategiaPmp.objetivoPmp.numero)}"
var="e" itemLabel="#{e.numero}.- #{e.descripcion}" itemValue="#{e}" />
</p:selectOneMenu>
<p:outputLabel for="nLineaA" value="No. Línea de Acción:" />
<p:autoComplete id="nLineaA" value="#{proyectos.proyecto.lineaAccionPmp}"
completeMethod="#{lineaAccionPmpControl.completeLineaAccionPmpXEstrategia}"
converter="#{lineaAccionPmpConverter}" var="la" itemLabel="#{la.numero}" itemValue="#{la}"
forceSelection="true" emptyMessage="Sin Registros" required="true" inputStyle="width:100%;"
style="width:100%;" requiredMessage="Debe seleccionar No. Línea de Acción" maxResults="15"
placeholder="Elegir...">
<p:ajax process="@this" event="itemSelect" update="@form" />
<f:attribute name="numero" value="#{proyectos.proyecto.lineaAccionPmp.estrategiaPmp.numero}" />
</p:autoComplete>
<p:outputLabel for="lineA" value="Línea de Acción:" />
<h:panelGrid columns="1">
<p:selectOneMenu id="lineA" required="true" style="width:100%;" converter="#{lineaAccionPmpConverter}"
value="#{proyectos.proyecto.lineaAccionPmp}" autoWidth="false"
requiredMessage="Debe seleccionar Línea de Acción">
<p:ajax process="@this" update="@form" />
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItems
value="#{lineaAccionPmpControl.listaLineaAccionPmpXEstrategia(proyectos.proyecto.lineaAccionPmp.estrategiaPmp.numero)}"
var="la" itemLabel="#{la.numero}.- #{la.descripcion}" itemValue="#{la}" />
</p:selectOneMenu>
<p:outputLabel id="lineAT" rendered="#{proyectos.editar}"
value="#{proyectos.proyecto.lineaAccionPmp.numero}.- #{proyectos.proyecto.lineaAccionPmp.descripcion}" />
</h:panelGrid>
<p:outputLabel for="tipoA" value="Tipo de Asignación:" />
<p:selectOneRadio id="tipoA"
value="#{lineaAccionPmpControl.tipoAsignacion(proyectos.proyecto.lineaAccionPmp.numero, proyectos.proyecto.coordinacion.unidadAdm.clave)}"
disabled="true">
<f:selectItem itemLabel="Directa" itemValue="D" />
<f:selectItem itemLabel="Compartida" itemValue="C" />
<f:selectItem itemLabel="Indirecta" itemValue="I" />
</p:selectOneRadio>
</p:panelGrid>
<f:facet name="footer">
<p:commandButton value="Regresar" process="@this" oncomplete="PF('tabNP').select(0);"
icon="ui-icon-arrowrefresh-1-w" />
<p:commandButton value="Cerrar" actionListener="#{proyectos.cancelar}" process="@this"
icon="ui-icon-close" oncomplete="PF('dlgNuevoProyecto').hide();">
<p:confirm header="Confirmación"
message="¿Deseas cerrar la ventana?, se perderan todos los datos que no hayan sido guardados?"
icon="ui-icon-alert" />
</p:commandButton>
<p:commandButton value="Guardar" icon="ui-icon-disk" actionListener="#{proyectos.guardarA()}"
update="@form :tabNP:formM msg :principal:tblProyectos"
oncomplete="if (!args.validationFailed){PF('tabNP').select(2);}" />
</f:facet>
</p:panel>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</h:form>
</p:tab>
<p:tab id="metas" title="Metas" disabled="true">
<h:form id="formM">
<p:defaultCommand target="dummy" />
<p:commandButton id="dummy" process="@none" global="false" style="display:none;" />
<p:panel header="Metas">
<p:messages autoUpdate="true" closable="true" showDetail="true" showSummary="true" style="font-size:15px;" />
<p:panelGrid columns="2" style="width:100%;">
<f:facet name="header">Referencias</f:facet>
<p:outputLabel for="nomProy" value="Nombre del Proyecto:" style="font-size:12px;" />
<p:inputText id="nomProy" value="#{proyectos.proyecto.nombre}" readonly="true" style="width:100%;" />
<p:outputLabel for="colabor" value="En Colaboración con:" style="font-size:12px;" />
<p:dataList id="colabor" value="#{proyectos.listaCoordinaciones}" var="lc" emptyMessage="Sin Registros">
#{lc.nombre}
</p:dataList>
<p:outputLabel for="nLineaAc" value="No. de Línea de Acción:" style="font-size:12px;" />
<p:inputText id="nLineaAc" value="#{proyectos.proyecto.lineaAccionPmp.numero}" readonly="true"
style="width:100%;" />
<p:outputLabel for="lineaAc" value="Nombre de Línea de Acción:" style="font-size:12px;" />
<p:inputText id="lineaAc" value="#{proyectos.proyecto.lineaAccionPmp.descripcion}" readonly="true"
style="width:100%;" />
</p:panelGrid>
<br />
<h:panelGrid columns="2">
<p:commandButton oncomplete="PF('dlgIndicadores').show();" value="Catálogo Indicadores" process="@this"
icon="ui-icon-note" />
<p:commandButton oncomplete="PF('dlgUnidadesMedida').show();" value="Catálogo Unidades de Medida"
process="@this" icon="ui-icon-note" />
</h:panelGrid>
<br />
<h:panelGrid columns="2">
<f:facet name="header">Captura:</f:facet>
<p:dataTable id="tblMetas" widgetVar="tblMetas" value="#{proyectos.listaMetas}" var="m"
rowIndexVar="indice" emptyMessage="Sin Registros" editable="true"
rowStyleClass="#{metaControl.metaInfo(m) == 1 ? 'rowVerde' : null}">
<f:facet name="header">
<p:commandButton value="Agregar Meta" actionListener="#{proyectos.agregarMeta()}" update="tblMetas"
icon="ui-icon-plus" process="@this tblMetas"
oncomplete="jQuery('#tabNP\\:formM\\:tblMetas .ui-datatable-data > tr').last().find('span.ui-icon-pencil').click();" />
</f:facet>
<p:ajax event="rowEdit" listener="#{proyectos.metaRow}" update="tblMetas :principal:tblProyectos"
onstart="return confirm('Guardar')" />
<p:ajax event="rowEditCancel" listener="#{proyectos.metaCancel}" update="tblMetas" />
<p:column headerText="No. de meta" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{indice + 1}" />
</f:facet>
<f:facet name="input">
<h:outputText value="#{indice + 1}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Nombre de la meta" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{m.nombre}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{m.nombre}" required="true" requiredMessage="Debe ingresar Nombre de la meta" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Indicador" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{m.indicador.descripcion}" />
</f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{m.indicador}" converter="#{indicadorConverter}" required="true"
requiredMessage="Debe seleccionar Indicador">
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{indicadorControl.listaIndicadores()}" var="i" itemLabel="#{i.descripcion}"
itemValue="#{i}" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Periodicidad" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="Trimestral" rendered="#{m.periodicidad eq 'T'}" />
<h:outputText value="Semestral" rendered="#{m.periodicidad eq 'S'}" />
<h:outputText value="Anual" rendered="#{m.periodicidad eq 'A'}" />
</f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{m.periodicidad}" required="true"
requiredMessage="Debe seleccionar Periodicidad">
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItem itemLabel="Trimestral" itemValue="T" />
<f:selectItem itemLabel="Semestral" itemValue="S" />
<f:selectItem itemLabel="Anual" itemValue="A" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Unidad de Medida" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{m.unidadMedida.descripcion}" />
</f:facet>
<f:facet name="input">
<p:autoComplete value="#{m.unidadMedida}" var="um" itemLabel="#{um.descripcion}" itemValue="#{um}"
forceSelection="true" completeMethod="#{unidadMedidaControl.completeUnidadMedida}"
converter="#{unidadMedidaConverter}" emptyMessage="Sin Registros" inputStyle="width:100%;"
style="width:100%;" maxResults="15" required="true"
requiredMessage="Debe seleccionar Unidad de Medida" placeholder="Elegir...">
</p:autoComplete>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Tipo de Programación" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="Valor Absoluto" rendered="#{m.tipoProg == 'A'}" />
<h:outputText value="Porcentual" rendered="#{m.tipoProg == 'P'}" />
</f:facet>
<f:facet name="input">
<p:selectOneMenu value="#{m.tipoProg}" required="true"
requiredMessage="Debe elegir Tipo Programación">
<p:ajax update="panelt1 panelt2 panelt3 panelt4 paneltO1 paneltO2 paneltO3 paneltO4 totalM totalMP" />
<f:selectItem itemLabel="Elegir..." itemValue="#{null}" noSelectionOption="true" />
<f:selectItem itemLabel="Valor Absoluto" itemValue="A" />
<f:selectItem itemLabel="Porcentual" itemValue="P" />
</p:selectOneMenu>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Prog. 1er trimestre" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:panelGroup id="paneltO1">
<h:outputText value="#{m.trimestre1}" rendered="#{m.tipoProg == 'A'}">
<f:convertNumber />
</h:outputText>
<h:outputText value="#{m.trimestre1} %" rendered="#{m.tipoProg == 'P'}" />
</h:panelGroup>
</f:facet>
<f:facet name="input">
<h:panelGroup id="panelt1">
<p:inputNumber id="t1P" value="#{m.trimestre1}" minValue="0" maxValue="100"
rendered="#{m.tipoProg == 'P'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
<p:inputNumber id="t1A" value="#{m.trimestre1}" rendered="#{m.tipoProg == 'A'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
</h:panelGroup>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Prog. 2do trimestre" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:panelGroup id="paneltO2">
<h:outputText value="#{m.trimestre2}" rendered="#{m.tipoProg == 'A'}">
<f:convertNumber />
</h:outputText>
<h:outputText value="#{m.trimestre2} %" rendered="#{m.tipoProg == 'P'}" />
</h:panelGroup>
</f:facet>
<f:facet name="input">
<h:panelGroup id="panelt2">
<p:inputNumber value="#{m.trimestre2}" minValue="0" maxValue="100" rendered="#{m.tipoProg == 'P'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
<p:inputNumber value="#{m.trimestre2}" rendered="#{m.tipoProg == 'A'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
</h:panelGroup>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Prog. 3er trimestre" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:panelGroup id="paneltO3">
<h:outputText value="#{m.trimestre3}" rendered="#{m.tipoProg == 'A'}">
<f:convertNumber />
</h:outputText>
<h:outputText value="#{m.trimestre3} %" rendered="#{m.tipoProg == 'P'}" />
</h:panelGroup>
</f:facet>
<f:facet name="input">
<h:panelGroup id="panelt3">
<p:inputNumber value="#{m.trimestre3}" minValue="0" maxValue="100" rendered="#{m.tipoProg == 'P'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
<p:inputNumber value="#{m.trimestre3}" rendered="#{m.tipoProg == 'A'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
</h:panelGroup>
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Prog. 4to trimestre" style="text-align:center;">
<p:cellEditor>
<f:facet name="output">
<h:panelGroup id="paneltO4">
<h:outputText value="#{m.trimestre4}" rendered="#{m.tipoProg == 'A'}">
<f:convertNumber />
</h:outputText>
<h:outputText value="#{m.trimestre4} %" rendered="#{m.tipoProg == 'P'}" />
</h:panelGroup>
</f:facet>
<f:facet name="input">
<h:panelGroup id="panelt4">
<p:inputNumber value="#{m.trimestre4}" minValue="0" maxValue="100" rendered="#{m.tipoProg == 'P'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
<p:inputNumber value="#{m.trimestre4}" rendered="#{m.tipoProg == 'A'}">
<p:ajax global="false" update="totalM totalMT totalMP totalMPT" />
</p:inputNumber>
</h:panelGroup>
</f:facet>
</p:cellEditor>
</p:column>
<p:column id="totalME" headerText="Total" style="text-align:center;">
<p:cellEditor id="cellEditTotal">
<f:facet name="output">
<h:outputText id="totalM" value="#{m.trimestre1 + m.trimestre2 + m.trimestre3 + m.trimestre4}"
rendered="#{m.tipoProg == 'A'}">
<f:convertNumber />
</h:outputText>
<h:outputText id="totalMP" value="#{m.trimestre1 + m.trimestre2 + m.trimestre3 + m.trimestre4} %"
rendered="#{m.tipoProg == 'P'}" />
</f:facet>
<f:facet name="input">
<h:outputText id="totalMT" value="#{m.trimestre1 + m.trimestre2 + m.trimestre3 + m.trimestre4}"
rendered="#{m.tipoProg == 'A'}">
<f:convertNumber />
</h:outputText>
<h:outputText id="totalMPT" value="#{m.trimestre1 + m.trimestre2 + m.trimestre3 + m.trimestre4} %"
rendered="#{m.tipoProg == 'P'}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Operaciones" style="text-align:center;">
<p:menuButton value="Menú">
<p:menuitem icon="ui-icon-wrench" actionListener="#{proyectos.cargaAcciones(m)}"
oncomplete="PF('dlgAcciones').show();" update=":formAcciones" title="Acciones" value="Acciones"
rendered="#{m.id != 0}" />
<p:menuitem icon="ui-icon-trash" actionListener="#{proyectos.eliminarMeta(m)}"
update=":principal:tblProyectos tblMetas" title="Eliminar" value="Eliminar">
<p:confirm header="Confirmación"
message="¿Desea eliminar la meta?, se eliminaran las acciones y partidas asociadas a esta meta"
icon="ui-icon-alert" />
</p:menuitem>
</p:menuButton>
</p:column>
<p:column style="width:32px">
<p:rowEditor editTitle="Edición" saveTitle="Guardar" cancelTitle="Cancelar" />
</p:column>
</p:dataTable>
</h:panelGrid>
<f:facet name="footer">
<p:commandButton value="Regresar" oncomplete="PF('tabNP').select(1);" icon="ui-icon-arrowrefresh-1-w" />
<p:commandButton value="Cerrar" process="@this" icon="ui-icon-close"
actionListener="#{proyectos.cancelar}" oncomplete="PF('dlgNuevoProyecto').hide();">
<p:confirm header="Confirmación"
message="¿Deseas cerrar la ventana?, se perderan todos los datos que no hayan sido guardados?"
icon="ui-icon-alert" />
</p:commandButton>
</f:facet>
</p:panel>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</h:form>
</p:tab>
</p:tabView>
</p:dialog>