Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DateChooser es un bonito componente que nos permite tener un calendario fcil de personalizar, y con el que podremos controlar la interactividad que tenga el usuario con el.
Con DataChooser podremos saber si el usuario est escogiendo un da en nuestro calendario, si cambia de mes, desactivar das en concreto o rangos de das enteros, entre
otras cosas.
Primero vamos a ver unas cuantas propiedades, como es costumbre, pon un componente DateChooser en tu librera, y veamos que podemos hacer con este componente.
Copia este cdigo:
//Atacheamos el componente
attachMovie("DateChooser", "mi_calendario", 1);
//Nombres de los dias y los meses que mostrar el calendario
mi_calendario.dayNames = ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"];
mi_calendario.monthNames = ["Enero", "Febrero", "Marzo", "Abril",
"Mayo", "Junio", "Julio", "Agosto",
"Septiembre", "Octubre", "Noviembre", "Diciembre"]
//Propiedades
Como podis ver, DateChooser, utiliza el objeto Date para almacenar la fecha, por eso nosotros aqu hemos creado un objeto Date nuevo para as partirlo en tres variables
(dia, mes, ano). As sabremos que da ha seleccionado el usuario.
Y para acabar, el otro evento que tiene el calendario. Hasta ahora, todos los componentes haban tenido un nico evento, pero veris ms adelante que los componentes
pueden tener dos, como en este caso, o ms incluso. El siguiente evento que tiene sirve para reconocer cuando cambiamos de mes:
//Listener para mostrar la fecha
alCambiar = new Object();
alCambiar.change = function(evento) {
//Cogemos la fecha y la partimos en tres variables para poder manejarla
fecha_date = new Date(evento.target.selectedDate);
dia = fecha_date.getDate();
mes = fecha_date.getMonth()+1;
ano = fecha_date.getFullYear();
trace("Has seleccionado el da "+dia+"/"+mes+"/"+ano);
};
alPasarMes = new Object();
alPasarMes.scroll = function(evento) {
trace("Has cambiado al mes de "+evento.target.monthNames[evento.target.displayedMonth]);
};
//Creamos los listeners
mi_calendario.addEventListener("change", alCambiar);
mi_calendario.addEventListener("scroll", alPasarMes);
Dejando nuestro cdigo como as, tenemos ya programados los dos listeners y listos para usar. El listener de scroll es muy til si por ejemplo, quisisemos hacer un calendario
con todas las fechas desactivadas para cada mes. Dentro de alPasarMes.scroll, podriamos tener una serie de if-else el cual nos identificase que mes hemos seleccionado, y
segn el mes seleccionado, que desactive unos meses u otros.
Veamos, como quedara el cdigo del listener scroll entonces:
//Listener para mostrar el mes
alPasarMes = new Object();
alPasarMes.scroll = function(evento) {
mestxt = evento.target.monthNames[evento.target.displayedMonth];
if (mestxt == "Junio") {
//Sant Joan
evento.target.disabledRanges = [{rangeStart:new Date(2004, 5, 24),