Commit 7c248af7 authored by Johannes Bill's avatar Johannes Bill

added status (green, red, yellow) to dateview

parent 361987db
......@@ -26,13 +26,6 @@ function getOHIndex(info, today, cb) {
var fResult = {
sure: transform(resultSure),
maybe: transform(resultMaybe)
//sureToday: transform(resultSure.filter(function (elem) {
// return elem[0].getTime() >= today.getTime() && elem[1].getTime() <= tomorrow.getTime();
//})),
//maybeToday: transform(resultMaybe.filter(function (elem) {
// return elem[0].getTime() >= today.getTime() && elem[1].getTime() <= tomorrow.getTime();
//})),
//debugInfo: result.debugInfo
};
cb(null, fResult);
})
......@@ -42,20 +35,26 @@ function getOhView(info, now, cb) {
var epocheSpan = dateView.getPropperEpochSpan(now);
dateArray(epocheSpan).getData(info, function (err, dataObj) {
if (err) return cb(null, err);
var view = dateView.getView(dataObj, now);
var res = {
threeMonth: dateView.threeMonth(dataObj, now),
short: dateView.asString(dataObj, now)
};
cb(null, res);
})
}
function getShortString(info, now, cb) {
function getShort(info, now, cb) {
var epocheSpan = dateView.getPropperEpochSpan(now);
dateArray(epocheSpan).getData(info, function (err, dataObj) {
if (err) return cb(null, err);
var obj = dateView.asString(dataObj, now);
cb(null, obj);
})
}
module.exports = {
getOHIndex: getOHIndex,
dateArray: dateArray,
dateView: dateView
getOhView: getOhView,
getShort: getShort
};
......@@ -512,21 +512,24 @@ function getPropperEpochSpan(now) {
return [epochStart, epochEnd];
}
var tenMinutes = 10 * 60 * 1000;
function asString(dataObj, now) {
var data = dataObj.intervals;
var dataMaybe = dataObj.maybeIntervals;
if (data.length == 0) {
return {
isOpen: false,
asString: ["Jetzt nicht geöffnet", "nächster Öffnungstermin unbekannt"]
text: ["Jetzt nicht geöffnet", "nächster Öffnungstermin unbekannt"],
status: "red"
};
}
// var mNow = moment(now);
var open = false;
var nowT = now.getTime();
var idx = 0;
var first, second;
var firstText, secondText;
var status = "red";
while (idx < data.length && nowT >= data[idx][0].getTime()) {
if (data[idx][1].getTime() >= nowT)
......@@ -536,33 +539,41 @@ function asString(dataObj, now) {
if (open) {
idx--;
if (data[idx][1].getTime() - nowT <= twoHours)
first = "Jetzt noch geöffnet";
else first = "Jetzt geöffnet";
firstText = "Jetzt noch geöffnet";
else firstText = "Jetzt geöffnet";
if (data[idx][1].getTime() - nowT <= tenMinutes)
status = "yellow";
else status = "green";
second = "bis " + moment(data[idx][1]).format("LT");
secondText = "bis " + moment(data[idx][1]).format("LT");
}
else {
first = "Jetzt nicht geöffnet";
firstText = "Jetzt nicht geöffnet";
if (idx == data.length) {
second = "nächster Öffnungstermin unbekannt";
secondText = "nächster Öffnungstermin unbekannt";
status = "red";
}
else {
var nextM = moment(data[idx][0]);
if (data[idx][0].getTime() - nowT <= twoHours) {
second = "bald wieder geöffnet ab " + nextM.format("LT");
secondText = "bald wieder geöffnet ab " + nextM.format("LT");
}
//uebermorgen wieder geoeffnet ab blabla im element[2]
else if (compareDate(now, data[idx][0]) === 0) {
second = "wieder geöffnet ab " + nextM.format("LT")
secondText = "wieder geöffnet ab " + nextM.format("LT")
}
else {
second = "wieder geöffnet am " + nextM.format("dddd") + ", " + nextM.format("l") + " ab " + nextM.format("LT");
secondText = "wieder geöffnet am " + nextM.format("dddd") + ", " + nextM.format("l") + " ab " + nextM.format("LT");
}
if (data[idx][0].getTime() - nowT <= tenMinutes) {
status = "yellow";
}
}
}
return {
isOpen: open,
asString: [first, second]
text: [firstText, secondText],
status: status
}
}
......
......@@ -18,6 +18,7 @@ var data = Object.keys(ohoursMap).map(function (key) {
console.log(data.length);
var getData = module.exports.getData = function (now, cb) {
now = new Date("Tue Jun 02 2015 17:55:56 GMT+0200 (CEST)");
var epocheSpan = dateView.getPropperEpochSpan(now);
async.map(data, function (datum, cb) {
......@@ -29,8 +30,9 @@ var getData = module.exports.getData = function (now, cb) {
var view = dateView.getView(dataObj, now);
var asString = dateView.asString(dataObj, now);
asString = asString.asString.join(", ");
var res = ('<div class="name">' + datum.name + "</div> " + asString + view);
var text = asString.text.join(", ");
text = asString.status + " " + text;
var res = ('<div class="name">' + datum.name + "</div> " + text + view);
cb(null, res);
})
}, function (err, res) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment