Colores en <p:schedule>

Colores en <p:schedule>

Agregar el en .xhtml

Definimos los colores que deseamos usar.

       <style type="text/css">

            .schedule-orange, .schedule-orange .fc-event-skin, .schedule-orange a{
                background-color: orange; 
                color: black;
                border-color: darkorange;
            }
            .schedule-yellow, .schedule-yellow .fc-event-skin, .schedule-yellow a{
                background-color: goldenrod; 
                color: black;
                border-color: darkgoldenrod;
            }
            .schedule-blue, .schedule-bluee .fc-event-skin, .schedule-blue a{
                background-color: blue; 
                color: black;
                border-color: darkblue;
            }

            .schedule-gray, .schedule-gray .fc-event-skin, .schedule-gray a{
                background-color: #d4d0c8; 
                color: black;
                border-color: darkgray;
            }

            .schedule-magenta, .schedule-magenta .fc-event-skin, .schedule-magenta a{
                background-color: magenta; 
                color: black;
                border-color: darkmagenta;
            }
            .schedule-green, .schedule-green .fc-event-skin, .schedule-green a{
                background-color: green; 
                color: black;
                border-color: darkgreen;
            }
            .schedule-red, .schedule-red .fc-event-skin, .schedule-red a{
                background-color: red; 
                color: black;
                border-color: darkred;
            }
        </style>

        <script type="text/javascript">
            PrimeFaces.locales['es'] = {
                closeText: 'Cerrar',
                prevText: 'Anterior',
                nextText: 'Siguiente',
                monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
                monthNamesShort: ['Ene', 'Feb', 'Marz', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
                dayNames: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],
                dayNamesShort: ['Dom', 'Lun', 'Mart', 'Mie', 'Jue', 'Vie', 'Sab'],
                dayNamesMin: ['S', 'M', 'D', 'M ', 'D', 'F ', 'S'],
                weekHeader: 'Semana',
                FirstDay: 1,
                isRTL: false,
                showMonthAfterYear: false,
                yearSuffix: '',
                timeOnlyTitle: 'Solo el tiempo',
                timeText: 'Tiempo',
                hourText: 'Hora',
                minuteText: 'Minuto',
                secondText: 'Segundo',
                currentText: 'Hoy',
                ampm: false,
                month: 'Mes',
                week: 'Semana',
                day: 'Dia',
                agenda:'Agenda',
                allDayText: 'Dia entero'
            };
        </script>

El componente <p:schedule>, en el ejemplo colocamos para mostrar un dialogo.

<p:schedule id="schedule"       
      rightHeaderTemplate="month,agendaWeek,agendaDay,basicDay"
      value="#{calendarioSolicitudViajesController.eventModel}" widgetVar="myschedule" timeZone="GMT-5" 
      locale="es">

     <p:ajax  event="eventSelect"  listener="#{calendarioSolicitudViajesController.onEventSelect}" 
      update="eventDetails" oncomplete="PF('eventDialog').show();" />

</p:schedule>

En el Controller

Debemos agregar el tema que esta en el DefaultScheduleEvent(titulo, fechahorainicio, fechahorafin, tema)

eventModel.addEvent(
new DefaultScheduleEvent("# " + a.getIdsolicitud() + " Mision:" + a.getMision() + " Responsable: " + a.getUsuario().get(1).getNombre() + " " + a.getEstatus().getIdestatus()
+ car,
a.getFechahorapartida(), a.getFechahoraregreso(),tema)
private ScheduleModel eventModel;



         public void cargarSchedule(Boolean start) {
        try {
            Document doc;
            Document docViajes = new Document("activo", "si");
            if (start) {
                doc = new Document("tipovehiculo.idtipovehiculo", tipovehiculo.getIdtipovehiculo()).append("estatus.idestatus", estatus.getIdestatus()).append("activo", "si");

            } else {
                doc = new Document("activo", "si");
            }
            List<Viajes> list = viajesRepository.findBy(docViajes, new Document("fecha", 1));

            solicitudList = solicitudRepository.findBy(doc, new Document("fecha", 1));
            eventModel = new DefaultScheduleModel();
            if (!solicitudList.isEmpty()) {
                solicitudList.forEach((a) -> {
                  private ScheduleModel eventModel;  String car = "{ ";
                    for (Tipovehiculo t : a.getTipovehiculo()) {
                        car += t.getIdtipovehiculo() + " ";
                    }
                    car += " }";
                    String tema="schedule-blue";
                    switch(a.getEstatus().getIdestatus()){
                        case "SOLICITADO":
                            tema="schedule-blue";
                            break;
                        case "APROBADO":
                            tema="schedule-green";
                            break;
                        case "RECHAZADO":
                           tema="schedule-red";
                            break;
                        case "CANCELADO":
                         tema="schedule-red";
                            break;
                    }


                    eventModel.addEvent(

                            new DefaultScheduleEvent("# " + a.getIdsolicitud() +  " Mision:" + a.getMision() + " Responsable: " + a.getUsuario().get(1).getNombre() + " " + a.getEstatus().getIdestatus()
                                    + car,
                                    a.getFechahorapartida(), a.getFechahoraregreso(),tema)
                    );
                });
            }
            //Viajes

            if(!list.isEmpty()){
                list.forEach((v)->{
                    String car = "";
                    car = v.getVehiculo().stream().map((t) -> t.getMarca()+ " "+t.getModelo()+ " "+t.getPlaca()).reduce(car, String::concat);
                    String chofer="{";
                    chofer = v.getConductor().stream().map((c) -> c.getNombre() + "").reduce(chofer, String::concat);
                    chofer += " }";
                    eventModel.addEvent(
                    new DefaultScheduleEvent("#"+v.getIdviaje() + " "+car + " "+chofer,
                    v.getFechahorainicioreserva(),v.getFechahorafinreserva(),"schedule-orange")
                    );
                }
                );
            }

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(), nameOfMethod(), e.getLocalizedMessage());
        }
    }

Last updated