@ciebit/calendario
Version:
Representa um calendário visual
54 lines (53 loc) • 2.26 kB
JavaScript
///<reference path="../../js/datatempo/data.ts"/>
var Ciebit;
(function (Ciebit) {
var Calendario;
(function (Calendario_1) {
var Controlador = (function () {
function Controlador(Layout, Calendario) {
this.Layout = Layout;
this.Calendario = Calendario;
}
Controlador.prototype.atualizar = function () {
var data = this.Calendario.obterData();
var dataTempo = new DataTempo(data);
this.Layout.definirAno(data.getFullYear());
this.Layout.definirMes(dataTempo.obterMesAbr());
this.Layout.definirDias(this.indicesDias(data));
return this;
};
//Retorna um array com os numeros que serão inseridos no calendário
Controlador.prototype.indicesDias = function (data) {
var indice = new Date(data.getFullYear(), data.getMonth(), 1).getDay();
var ultimo_dia_mes_anterior = new Date(data.getFullYear(), data.getMonth(), 0).getDate();
var ultimo_dia_mes_atual = new Date(data.getFullYear(), data.getMonth() + 1, 0).getDate();
var array = [];
console.log(ultimo_dia_mes_atual);
var x, y, z;
x = y = z = 0;
if (indice > 0) {
x = (ultimo_dia_mes_anterior + 1) - indice;
}
for (var i = 0; i < 42; i++) {
if (x <= ultimo_dia_mes_anterior) {
array.push(x);
x++;
}
else if (x > ultimo_dia_mes_anterior) {
if (y >= ultimo_dia_mes_atual) {
z++;
array.push(z);
}
else {
y++;
array.push(y);
}
}
}
return array;
};
return Controlador;
}());
Calendario_1.Controlador = Controlador;
})(Calendario = Ciebit.Calendario || (Ciebit.Calendario = {}));
})(Ciebit || (Ciebit = {}));