i

Please enable JavaScript to view this site.

Navegación: Manual del Usuario > Portal de Usuarios > Calendarios Gráficos

Desarrollo de Reglas para Calendarios Graficos

Para desarrollar una regla de negocios que recupere los eventos de un calendario se deben respetar las siguientes condiciones:

 

Parámetros de entrada

 pDesde (java.util.Date)

 pHasta  (java.util.Date)

 pUsuario (java.lang.String)

 pDsFilter (java.lang.String)

 pDsUsersFilter (java.lang.String)

 

Parámetros de salida

 pResult (org.json.JSONArray)

 

Los parámetros pDesde y pHasta definen el rango de fechas a mostrar en pantalla, por lo que deben obtenerse los eventos que ocurran en dicho rango.

El pUsuario define para qué usuario se solicitan los eventos.

El parámetro pDsFilter define los filtros que se deben aplicar. Deben retornarse sólo los eventos que cumplen con el filtro aplicado por el usuario.

El parámetro pDsUsersFilter está compuesto por los usuarios seleccionados en el seleccionador de usuarios subordinados.

La salida es un arreglo de objetos JSON (JSONObject).

 

Una regla de ejemplo es la Deyel_diasNoLaborales:

 

CAGRAF~1_img12

 

Código de Ejecución:

 

pResult = new JSONArray();

SimpleDateFormat xSimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

 

BTFeriado xBTFeriado = new BTFeriado(getPoolIdentifier());

ArrayList todos = new ArrayList(xBTFeriado.getData().values());

Iterator vIterator = todos.iterator();

 

while (vIterator.hasNext()){

   BOFeriado elemento = (BOFeriado)vIterator.next();

   Date fecha = BTTime.getDate(elemento.getDtFeriado());

  if (fecha.after(pDesde)&&fecha.before(pHasta)){

       JSONObject jsonObject = new JSONObject();

       jsonObject.put("title", elemento.getDsFeriado());

       jsonObject.put("start", xSimpleDateFormat.format(fecha));

       pResult.put(jsonObject);

  }

}

 

El resultado final deben ser eventos definidos en formato JSON con la estructura definida para eventos:

 

id

String/Integer. Optional

Uniquely identifies the given event. Different instances of repeating events should all have the same id.

title

String. Required.

The text on an event's element

allDay

true or false. Optional.

Whether an event occurs at a specific time-of-day. This property affects whether an event's time is shown. Also, in the agenda views, determines if it is displayed in the "all-day" section.

If this value is not explicitly specified, allDayDefault will be used if it is defined.

If all else fails, FullCalendar will try to guess. If either the start or end value has a "T" as part of the ISO8601 date string, allDay will become false. Otherwise, it will be true.

Don't include quotes around your true/false. This value is a boolean, not a string!

start

The date/time an event begins. Required.

Moment-ish input, like an ISO8601 string. Throughout the API this will become a real Moment object.

end

The exclusive date/time an event ends. Optional.

Moment-ish input, like an ISO8601 string. Throughout the API this will become a real Moment object.

It is the moment immediately after the event has ended. For example, if the last full day of an event isThursday, the exclusive end of the event will be 00:00:00 on Friday!

url

String. Optional.

A URL that will be visited when this event is clicked by the user. For more information on controlling this behavior, see the eventClick callback.

className

String/Array. Optional.

A CSS class (or array of classes) that will be attached to this event's element.

editable

true or false. Optional.

Overrides the master editable option for this single event.

startEditable

true or false. Optional.

Overrides the master eventStartEditable option for this single event.

durationEditable

true or false. Optional.

Overrides the master eventDurationEditable option for this single event.

rendering

Allows alternate rendering of the event, like background events.

Can be empty, "background", or "inverse-background"

overlap

true or false. Optional.

Overrides the master eventOverlap option for this single event.

If false, prevents this event from being dragged/resized over other events. Also prevents other events from being dragged/resized over this event.

constraint

an event ID, "businessHours", object. Optional.

Overrides the master eventConstraint option for this single event.

source

Event Source Object. Automatically populated.

A reference to the event source that this event came from.

color

Sets an event's background and border color just like the calendar-wide eventColor option.

backgroundColor

Sets an event's background color just like the calendar-wide eventBackgroundColor option.

borderColor

Sets an event's border color just like the calendar-wide eventBorderColor option.

textColor

Sets an event's text color just like the calendar-wide eventTextColor option.

 

Para más información: http://fullcalendar.io/docs/event_data/Event_Object/

 

Existen atributos particulares para los eventos, como ser:

 

Description:        Contiene texto, si es seteado el evento presentará un tool tip con ese texto.

formUrl:        Url a ser abierta en un iframe al hacer clic sobre el evento, por defecto SIEMPRE se le concatenará como parámetro “&nuSecHidden=”+El valor del nuSecHidden actual.

 

Ejemplo:

 

CAGRAF~1_img13

 

Reglas de Filtrado

 

Para definir filtros sobre un calendario, se debe generar una regla que retorne código html y javascript que genere la estructura que se le presentará al usuario. Internamente el código javascript retornado por la regla debe setear el campo “ID_CALENDARIO” _FILTER_INPUT. Cada vez que el calendario refresca los eventos busca al campo “ID_CALENDARIO” _FILTER_INPUT y en caso de encontrarlo lo envía como el parámetro “pDsFilter”.

 

Envianos tu comentario
Compartir en Twitter Compartir en Linkedin Enviar por Email Imprimir