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) { ...@@ -26,13 +26,6 @@ function getOHIndex(info, today, cb) {
var fResult = { var fResult = {
sure: transform(resultSure), sure: transform(resultSure),
maybe: transform(resultMaybe) 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); cb(null, fResult);
}) })
...@@ -42,20 +35,26 @@ function getOhView(info, now, cb) { ...@@ -42,20 +35,26 @@ function getOhView(info, now, cb) {
var epocheSpan = dateView.getPropperEpochSpan(now); var epocheSpan = dateView.getPropperEpochSpan(now);
dateArray(epocheSpan).getData(info, function (err, dataObj) { dateArray(epocheSpan).getData(info, function (err, dataObj) {
if (err) return cb(null, err); if (err) return cb(null, err);
var res = {
var view = dateView.getView(dataObj, now); threeMonth: dateView.threeMonth(dataObj, now),
short: dateView.asString(dataObj, now)
};
cb(null, res); 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 = { module.exports = {
getOHIndex: getOHIndex, getOHIndex: getOHIndex,
dateArray: dateArray, getOhView: getOhView,
dateView: dateView getShort: getShort
}; };
...@@ -512,21 +512,24 @@ function getPropperEpochSpan(now) { ...@@ -512,21 +512,24 @@ function getPropperEpochSpan(now) {
return [epochStart, epochEnd]; return [epochStart, epochEnd];
} }
var tenMinutes = 10 * 60 * 1000;
function asString(dataObj, now) { function asString(dataObj, now) {
var data = dataObj.intervals; var data = dataObj.intervals;
var dataMaybe = dataObj.maybeIntervals;
if (data.length == 0) { if (data.length == 0) {
return { return {
isOpen: false, 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 mNow = moment(now);
var open = false; var open = false;
var nowT = now.getTime(); var nowT = now.getTime();
var idx = 0; var idx = 0;
var first, second; var firstText, secondText;
var status = "red";
while (idx < data.length && nowT >= data[idx][0].getTime()) { while (idx < data.length && nowT >= data[idx][0].getTime()) {
if (data[idx][1].getTime() >= nowT) if (data[idx][1].getTime() >= nowT)
...@@ -536,33 +539,41 @@ function asString(dataObj, now) { ...@@ -536,33 +539,41 @@ function asString(dataObj, now) {
if (open) { if (open) {
idx--; idx--;
if (data[idx][1].getTime() - nowT <= twoHours) if (data[idx][1].getTime() - nowT <= twoHours)
first = "Jetzt noch geöffnet"; firstText = "Jetzt noch geöffnet";
else first = "Jetzt 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 { else {
first = "Jetzt nicht geöffnet"; firstText = "Jetzt nicht geöffnet";
if (idx == data.length) { if (idx == data.length) {
second = "nächster Öffnungstermin unbekannt"; secondText = "nächster Öffnungstermin unbekannt";
status = "red";
} }
else { else {
var nextM = moment(data[idx][0]); var nextM = moment(data[idx][0]);
if (data[idx][0].getTime() - nowT <= twoHours) { 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] //uebermorgen wieder geoeffnet ab blabla im element[2]
else if (compareDate(now, data[idx][0]) === 0) { 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 { 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 { return {
isOpen: open, isOpen: open,
asString: [first, second] text: [firstText, secondText],
status: status
} }
} }
......
...@@ -18,6 +18,7 @@ var data = Object.keys(ohoursMap).map(function (key) { ...@@ -18,6 +18,7 @@ var data = Object.keys(ohoursMap).map(function (key) {
console.log(data.length); console.log(data.length);
var getData = module.exports.getData = function (now, cb) { 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); var epocheSpan = dateView.getPropperEpochSpan(now);
async.map(data, function (datum, cb) { async.map(data, function (datum, cb) {
...@@ -29,8 +30,9 @@ var getData = module.exports.getData = function (now, cb) { ...@@ -29,8 +30,9 @@ var getData = module.exports.getData = function (now, cb) {
var view = dateView.getView(dataObj, now); var view = dateView.getView(dataObj, now);
var asString = dateView.asString(dataObj, now); var asString = dateView.asString(dataObj, now);
asString = asString.asString.join(", "); var text = asString.text.join(", ");
var res = ('<div class="name">' + datum.name + "</div> " + asString + view); text = asString.status + " " + text;
var res = ('<div class="name">' + datum.name + "</div> " + text + view);
cb(null, res); cb(null, res);
}) })
}, function (err, 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