Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodrigomarden

Alteração da cor no background dependendo do evento na agenda primefaces (schedule)

Recommended Posts

Gostaria de que os eventos listados na minha agenda fossem diferenciados por cores, (vermelho para aguardando e azul para aprovado), eu já consegui criar o botão para aprovar dentro de cada evento comunicando com o banco de dados.

Segue o código:

 

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Agenda</title>
    </h:head>
    <h:body>
        <h:form id="form">
            <script language="javascript">
                PrimeFaces.locales['pt'] = {
                    closeText: 'Fechar',
                    prevText: 'Anterior',
                    nextText: 'Próximo',
                    currentText: 'Começo',
                    monthNames: ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
                    monthNamesShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],
                    dayNames: ['Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'],
                    dayNamesShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', '---', 'Sáb'],
                    dayNamesMin: ['D', 'S', 'T', 'Q', 'Q', 'S', 'S'],
                    weekHeader: 'Semana',
                    firstDay: 1,
                    isRTL: false,
                    showMonthAfterYear: false,
                    yearSuffix: '',
                    timeOnlyTitle: 'Só Horas',
                    timeText: 'Tempo',
                    hourText: 'Hora',
                    minuteText: 'Minuto',
                    secondText: 'Segundo',
                    currentText: 'Data Atual',
                            ampm: false,
                    month: 'Mês',
                    week: 'Semana',
                    day: 'Dia',
                    allDayText: 'Todo Dia'
                };
            </script>

            <p:growl id="messages" showDetail="true" />

            <h:panelGrid columns="3">
                <p:commandButton value="Cadastrar Responsável" action="#{agendaController.cadastrarResponsavel()}" ajax="false"/>
                <p:commandButton value="Cadastrar Regional" action="#{agendaController.cadastrarRegional()}" ajax="false"/>
                <p:commandButton value="Cadastrar Resp / Reg" action="#{agendaController.juntarResponsavelRegional()}" ajax="false"/>
                <p:commandButton value="Relatórios" action="#{agendaController.gerarRelatorios()}" ajax="false"/>
                <p:commandButton value="Fechar" action="#{agendaController.redirect()}" ajax="false"/>
            </h:panelGrid>

            <p:schedule id="agenda" value="#{agendaController['eventModel']}"  widgetVar="agenda" locale="pt">
                <p:ajax event="dateSelect" listener="#{agendaController.onDateSelect}" update="detalhes"  oncomplete="eventDialog.show()" />
                <p:ajax event="eventSelect" listener="#{agendaController.onEventSelect}" update="editPanel" oncomplete="editDialog.show()" />
                <p:ajax event="eventMove" listener="#{agendaController.onEventMove}" update="messages" />
                <p:ajax event="eventResize" listener="#{agendaController.onEventResize}" update="messages" />
            </p:schedule>

            <p:dialog id="editDialog" widgetVar="editDialog" header="Agendamento" showEffect="clip" hideEffect="clip">
                <p:panelGrid id="editPanel" columns="2">
                    <h:outputText value="Responsável:"/>
                    <h:outputText id="responsavel_nome_out" value="#{agendaController.agenda.origem.regionalHasResponsavel.responsavel.nome}"/>

                    <h:outputText value="Regional:"/>
                    <h:outputText id="origem_out" value="#{agendaController.agenda.origem.regionalHasResponsavel.regional.nome}"/>

                    <h:outputText value="Qtde. caixa:"/>
                    <h:outputText id="qtde_caixa_out" value="#{agendaController.agenda.origem.qtdeCaixa}"/>

                    <h:outputText value="Qtde. equipamento:"/>
                    <h:outputText id="qtde_equip_out" value="#{agendaController.agenda.origem.qtdeEquipamento}"/>

                </p:panelGrid>
                <p:commandButton id="deleteButton" actionListener="#{agendaController.deleteEvent}" value="Deletar" update="messages" oncomplete="editDialog.hide();agenda.update();" onclick="editDialog.hide();"/>
                <p:commandButton id="aprovacaoButton" actionListener="#{agendaController.aprovacaoEvent}" value="Aprovar" update="messages" oncomplete="editDialog.hide();agenda.update();" onclick="editDialog.hide();"/>
            </p:dialog>

            <p:dialog id="eventDialog" widgetVar="eventDialog" header="Agendamento" showEffect="clip" hideEffect="clip">
                <p:panelGrid id="detalhes" columns="2">


                    <p:outputLabel for="responsavel_nome" value="Responsável:"/>
                    <p:selectOneMenu id="responsavel_nome" value="#{agendaController.responsavel}"
                                     converter="responsavelConverter">
                        <p:ajax event="change" listener="#{agendaController.updateRegionalPorResponsavel()}" update="origem, messages"/>
                        <f:selectItems value="#{agendaController.responsaveis}"/>
                    </p:selectOneMenu>

                    <p:outputLabel for="origem" value="Regional:"/>
                    <p:selectOneMenu id="origem" value="#{agendaController.hasResponsavel}"
                                     converter="hasResponsavelConverter">
                        <f:selectItems value="#{agendaController.regionalByResponsavel}"/>
                    </p:selectOneMenu>

                    <p:outputLabel for="qtde_caixa" value="Qtde. caixa:"/>
                    <p:inputText id="qtde_caixa" value="#{agendaController.agenda.origem.qtdeCaixa}" required="true" requiredMessage="A quantidade de caixas é obrigatória." size="5"/>

                    <p:outputLabel for="qtde_equip" value="Qtde. equipamento:"/>
                    <p:inputText id="qtde_equip" value="#{agendaController.agenda.origem.qtdeEquipamento}" required="true" requiredMessage="A quantidade de equipamentos é obrigatória." size="5"/>

                </p:panelGrid>

                <h:panelGrid columns="3">

                    <p:commandButton type="reset" value="Resetar campos" />
                    <p:commandButton id="saveButton" value="Salvar" actionListener="#{agendaController.addEvent}" update="messages"
                                     oncomplete="agenda.update();eventDialog.hide();" onclick="eventDialog.hide();"/>

                </h:panelGrid>

            </p:dialog>

            <p:blockUI block="form" trigger="saveButton">
                LOADING<br />
                <p:graphicImage value="/images/ajax-loader.gif"/>
            </p:blockUI>
            <p:blockUI block="form" trigger="saveButton">
                LOADING<br />
                <p:graphicImage value="/images/ajax-loader.gif"/>
            </p:blockUI>

            <p:blockUI block="form" trigger="deleteButton">
                LOADING<br />
                <p:graphicImage value="/images/ajax-loader.gif"/>
            </p:blockUI>

        </h:form>
    </h:body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, está em xhtml.

Não entendi direito a segunda pergunta, uso o mysql com hibernate, mas a interface para manipular o banco de dados é o HeidiSQL.

Eu sei fazer a parte do CSS, mas precisava fazer uma condição com um valor obtido do banco de dados para testar qual cor iria ser utilizada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por juniormatrix
      Olá
       
      Achei esse script aqui no fórum mesmo:
       
      $.validator.addMethod( "customEmail", function (value, element) { return this.optional(element) || /^[\w-\.]+@fulano\.com\.br$/i.test(value); }, "Por favor, insira um e-mail válido com o domínio @fulano.com.br" ); $("#formulario").validate({ ignore: ".ignore", rules: { empresa: { required: true }, nome: { required: true }, contato: { required: true }, celular: { required: true }, email: { required: true, email: true, customEmail: true }, }, }); Testei e funcionou perfeitamente, mas gostaria que liberasse mais e-mails válidos, ao invés de apenas um.

      Tem como fazer? 
       
      Se alguém puder ajudar, fico muito grato.
    • Por Alessandro Bodão
      Salve galerinha, passando pra mostrar pra vocês o novo projeto de marca que a Jatobá Estúdio desenvolveu, espero que gostem.   https://www.behance.net/gallery/166555627/Fernanda-Pinheiro-Nutricionista-Esportiva
    • Por Alessandro Bodão
      Boa noite irmandade!
       
      Ando reparando de alguns anos pra cá, uma forte tendência em que sites bem dinâmicos e interativos transitam de uma página pra outra sem que a outra página se quer passe por um processo de carregamento, você clica, simplesmente acontece algumas transições nos elementos da página, e de repente, você está em outra página, outro url. De forma suave, nada é carregado, apenas algo acontece e você já está em outra página.
       
      Gostaria de saber como isso é feito pra aplicar em um site que estou desenvolvendo, se é algum framework, alguma ferramenta além do JavaScript...
       
      Trouxe um belo exemplo: https://www.traffic.productions/
       
      Se você chegou até aqui, agradeço desde já!
    • Por rogerblower
      Boas pessoal, estou precisando de um calendário para agenda com crud para agendamento, mas teria que ser free.
      Obrogado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.