Commit ef160243 authored by Johannes Bill's avatar Johannes Bill

refactor

parent 186b2c17
......@@ -11,9 +11,8 @@ var _epochEnd = new Date(_epochStart.getTime() + 130 * 24 * 3600000);
//var _epochEnd = new Date(2015, 0, 0);
var epochSpan = [_epochStart, _epochEnd];
function setEpocheSpan(startDate, endDate) {
epochSpan[0] = startDate;
epochSpan[1] = endDate;
function setEpocheSpan(_epocheSpan) {
epochSpan = _epocheSpan;
}
function calculateOpeningHours(json) {
......@@ -24,7 +23,7 @@ function calculateOpeningHours(json) {
var jsonExcl = json[excludeString];
if (!jsonIncl) {
throw 'no openinghours model found';
throw new Error('no openinghours model found');
}
var resultIncl = [];
......@@ -78,7 +77,7 @@ function getDaySpan(data) {
case 10:
return [1, 6];
default:
throw ("Invalid day option: " + dayoption);
throw new Error("Invalid day option: " + dayoption);
}
}
......@@ -105,7 +104,7 @@ function parseDate(date, addOneDay) {
function getHolidays(data) {
var option = data["option"]["0"];
if (option != "holiday") {
throw 'not holiday: ' + option;
throw new Error('not holiday: ' + option);
}
var timeSpan = getTimeSpan(data);
......@@ -157,7 +156,7 @@ function getOpeningHours(data, option) {
case "":
return [];
default:
throw "option not supported: " + option;
throw new Error("option not supported: " + option);
return [];
}
}
......@@ -198,7 +197,7 @@ function getOpeningHoursRepeatable(data) {
case 28:
return tmUtils.standardFromTillDay(daySpan, timeSpan, dateSpan, epochSpan, repeatOption);
default:
throw "invalid repeatoption";
throw new Error("invalid repeatoption");
}
}
}
......
......@@ -16,7 +16,7 @@ function createWeekView(data, now) {
var content = '<div class="weekview-container"><table class="weekview-table">';
content += '<tbody>';
for(var i = 0; i < noOfDays; i++) {
for (var i = 0; i < noOfDays; i++) {
var day = oHours[i];
content += '<tr class="weekview-tr">';
content += '<td class="weekview-td-first">' + formatDate(day.date) + '</td>';
......@@ -45,7 +45,7 @@ function createMonthView(data, now, monthOffset) {
startDate.setDate(2 - startDate.getDay());
var endDate = new Date(now.getFullYear(), currentMonth + 1, 1);
if(endDate.getDay() != 1)
if (endDate.getDay() != 1)
endDate.setDate(9 - endDate.getDay());
var oHours = transformData(data, startDate, endDate);
......@@ -54,7 +54,7 @@ function createMonthView(data, now, monthOffset) {
content += '<div class="monthview-month">' + moment(monthDate).format("MMMM") + '</div>';
content += '<table class="monthview-table"><thead class="monthview-thead"><tr>';
for(var i = 0; i < 7; i++) {
for (var i = 0; i < 7; i++) {
content += '<th class="monthview-th">' + moment(oHours[i].date).format("dd") + '</th>';
}
content += '</tr></thead>';
......@@ -62,13 +62,13 @@ function createMonthView(data, now, monthOffset) {
for (var i = 0; i < oHours.length; i++) {
var day = oHours[i];
if(i % 7 == 0)
if (i % 7 == 0)
content += '<tr class="monthview-tr">';
if(day.date.getMonth() == currentMonth) {
if (day.date.getMonth() == currentMonth) {
var cls;
var tooltip;
if(day.oHours.length == 0) {
if (day.oHours.length == 0) {
tooltip = "";
cls = " monthview-empty";
}
......@@ -80,16 +80,16 @@ function createMonthView(data, now, monthOffset) {
tooltip.push(formatTime(e[0]) + " - " + formatTime(e[1]));
}
tooltip = tooltip.join("<br>");
tooltip = ' data-uk-tooltip title="' + tooltip +'"';
tooltip = ' data-uk-tooltip title="' + tooltip + '"';
}
content += '<td class="monthview-td' + cls +'"'+ tooltip+'>' + moment(day.date).format("D") + '</td>';
content += '<td class="monthview-td' + cls + '"' + tooltip + '>' + moment(day.date).format("D") + '</td>';
}
else {
content += '<td class="monthview-td monthview-exclude"></td>';
}
if(i % 7 == 6)
if (i % 7 == 6)
content += '</tr>';
}
......@@ -99,13 +99,21 @@ function createMonthView(data, now, monthOffset) {
function create3MonthView(data, now) {
var content = '<div class="monthview-container">';
for(var i = 0; i < 3; i++) {
for (var i = 0; i < 3; i++) {
content += createMonthView(data, now, i);
}
content += '</div>';
return content;
}
function getView(data, now) {
var content = '<div class="view-container">';
content += createWeekView(data, now);
content += create3MonthView(data, now);
content += '</div>';
return content;
}
function getMaxNoOfItemsPerDay(oHours) {
var max = 0;
for (var i = 0; i < oHours.length; i++) {
......@@ -157,15 +165,13 @@ function compareDate(date1, date2) {
return diff;
}
var fs = require('fs');
var data = dateArray.getData(require('./../testData/testHof.json'));
console.log(data);
var view = create3MonthView(data, new Date(), 0);
view += createWeekView(data, new Date());
console.log();
function getPropperEpocheSpan(now) {
var epocheStart = new Date(now.getFullYear(), now.getMonth(), 1 - 4);
var epocheEnd = new Date(now.getFullYear(), now.getMonth() + 3, 1);
console.log(epocheStart);
console.log(epocheEnd);
return [epocheStart, epocheEnd];
}
fs.writeFile(process.env["HOME"] + '/Desktop/bla.html', view, function(err) {
if(err) console.log(err);
else console.log("file saved");
});
\ No newline at end of file
module.exports.getView = getView;
module.exports.getPropperEpocheSpan = getPropperEpocheSpan;
\ No newline at end of file
......@@ -43,7 +43,9 @@ function Holidays(year) {
};
var easterSundays = {
2014: new Date(2014, 3, 20)
2014: new Date(2014, 3, 20),
2015: new Date(2015, 3, 5),
2016: new Date(2016, 2, 27)
};
function getEasterSunday() {
......@@ -52,7 +54,7 @@ function Holidays(year) {
function getFixedHolidays(fixedHolidays, object) {
var result = object || {};
for(var key in fixedHolidays) {
for (var key in fixedHolidays) {
var dateString = fixedHolidays[key];
var date = parseInt(dateString.slice(0, 2));
var month = parseInt(dateString.slice(2, 4));
......@@ -64,7 +66,7 @@ function Holidays(year) {
function getVariableHolidaysMap(offsets, object) {
var result = object || {};
var easterDate = getEasterSunday();
for(var key in offsets) {
for (var key in offsets) {
var offset = offsets[key];
result[key] = new Date(year, easterDate.getMonth(), easterDate.getDate() + offset);
}
......@@ -74,15 +76,15 @@ function Holidays(year) {
var holidays = getFixedHolidays(fixedHolidays);
holidays = getVariableHolidaysMap(variableOffsets, holidays);
this.getHoliday = function(id) {
if(id == 0) {
this.getHoliday = function (id) {
if (id == 0) {
var result = [];
for(var key in holidays) {
for (var key in holidays) {
result.push(holidays[key]);
}
return result;
}
if(id in holidays)
if (id in holidays)
return [holidays[id]];
console.error("invalid holiday id " + id);
return null;
......
var mysql = require('mysql');
var dateArray = require('../lib/dateArray');
var dateView = require('../lib/dateView');
var fs = require('fs');
var tmUtils = require('../lib/timeUtils');
......@@ -9,8 +11,8 @@ var excludeString = "bb74c170-b06f-4d2b-ab88-2f6bf9ce8068";
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'bla',
user: 'read',
password: 'read',
database: 'regiostart'
});
......@@ -29,9 +31,9 @@ connection.query('SELECT name, elements FROM cms_zoo_item WHERE type = "company"
}
catch(err)
{
console.log(err, name);
console.log(err.message, name);
var result = [];
fs.writeFileSync(process.env["HOME"] + '/Desktop/invalid/' + name + '.json', json);
fs.writeFileSync(process.env["HOME"] + '/Desktop/oHours/invalid' + name + '.json', json);
}
if(result.length > 0) {
......
var dateView = require('../lib/dateView');
var dateArray = require('../lib/dateArray');
var fs = require('fs');
var now = new Date(2014, 4, 1);
dateArray.setEpocheSpan(dateView.getPropperEpocheSpan(now));
var data = dateArray.getData(require('./../testData/testHof.json'));
console.log(data);
var view = dateView.getView(data, now, 0);
fs.writeFile(process.env["HOME"] + '/Desktop/bla.html', view, function (err) {
if (err) console.log(err);
else console.log("file saved");
});
\ No newline at end of file
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