Skip to content

Instantly share code, notes, and snippets.

@santiago
Created January 17, 2009 21:31
Show Gist options
  • Save santiago/48456 to your computer and use it in GitHub Desktop.
Save santiago/48456 to your computer and use it in GitHub Desktop.
YAHOO.util.Event.addListener(window, "load", function() {
var eventFormatter = function ( el , oRecord , oColumn , oData) {
if (oData != null && oData != "") {
var cellEl = new YAHOO.util.Element(el);
cellEl.setStyle('color', '#123321');
cellEl.setStyle('background-color', '#DDDDDD');
el.innerHTML = oData;
// YAHOO.util.Dom.addClass(el, "cal-first-uh");
}
};
YAHOO.example.Basic = function() {
var myColumnDefs = [
{key:"hora", resizeable:true},
/* {key:"lunes", resizeable:true },
{key:"martes", resizeable:true },
{key:"miercoles", resizeable:true },
{key:"jueves", resizeable:true },
{key:"viernes", resizeable:true },
{key:"sabado", resizeable:true },
{key:"domingo", resizeable:true } */
{key:"lunes", resizeable:true, formatter:eventFormatter},
{key:"martes", resizeable:true, formatter:eventFormatter},
{key:"miercoles", resizeable:true, formatter:eventFormatter},
{key:"jueves", resizeable:true, formatter:eventFormatter},
{key:"viernes", resizeable:true, formatter:eventFormatter},
{key:"sabado", resizeable:true, formatter:eventFormatter},
{key:"domingo", resizeable:true, formatter:eventFormatter}
];
var eventos = new Array(288);
for (var i = 0; i < 288; ++i){
var hour = Math.floor(5*i / 60).toString();
while (hour.length < 2) hour = "0" + hour;
var min = (5*i % 60).toString();
while (min.length < 2) min = "0" + min;
eventos[i] = { hora : hour + ":" + min, lunes : "", martes : "", miercoles : "", jueves : "", viernes : "", sabado : "", domingo : "" };
}
var JSONData =
'[' +
' { "fila" : 84, "dia" : 0, "event" : { "id" : 1, "title" : "Despertar" } },' +
' { "fila" : 108, "dia" : 0, "event" : { "id" : 3, "title" : "Reunión" } },' +
' { "fila" : 120, "dia" : 0, "event" : { "id" : 2, "title" : "Odontología" } },' +
' { "fila" : 84, "dia" : 2, "event" : { "id" : 1, "title" : "Despertar" } },' +
' { "fila" : 108, "dia" : 2, "event" : { "id" : 3, "title" : "Reunión" } },' +
' { "fila" : 153, "dia" : 2, "event" : { "id" : 4, "title" : "Almuerzo" } },' +
' { "fila" : 84, "dia" : 4, "event" : { "id" : 1, "title" : "Despertar" } },' +
' { "fila" : 108, "dia" : 4, "event" : { "id" : 3, "title" : "Reunión" } },' +
' { "fila" : 149, "dia" : 4, "event" : { "id" : 4, "title" : "Almuerzo" } },' +
' { "fila" : 285, "dia" : 4, "event" : { "id" : 5, "title" : "Fiesta sorpresa" } },' +
' { "fila" : 0, "dia" : 5, "event" : { "id" : 6, "title" : "Cumpleaños" } },' +
' { "fila" : 287, "dia" : 6, "event" : { "id" : 7, "title" : "Se acabó la semana" } }' +
']';
try {
var parsedJSON = YAHOO.lang.JSON.parse(JSONData);
} catch (e) {
alert("Invalid product data");
}
for (var i = 0; i < parsedJSON.length; ++i){
var e = parsedJSON[i];
var row = e.fila;
switch (e.dia){
case 0:
eventos[row].lunes = e.event.title;
break;
case 1:
eventos[row].martes = e.event.title;
break;
case 2:
eventos[row].miercoles = e.event.title;
break;
case 3:
eventos[row].jueves = e.event.title;
break;
case 4:
eventos[row].viernes = e.event.title;
break;
case 5:
eventos[row].sabado = e.event.title;
break;
case 6:
eventos[row].domingo = e.event.title;
break;
default:
break;
}
}
//var myDataSource = new YAHOO.util.DataSource(YAHOO.example.Data.eventos);
var myDataSource = new YAHOO.util.DataSource(eventos);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
myDataSource.responseSchema = {
fields: ["hora", "lunes","martes","miercoles","jueves","viernes","sabado","domingo"]
};
var myDataTable = new YAHOO.widget.DataTable("basic",
myColumnDefs, myDataSource, {caption:"DataTable Caption"});
return {
oDS: myDataSource,
oDT: myDataTable
};
}();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment