Commit 815c30ec authored by Johannes Bill's avatar Johannes Bill

added maybe openinghours to views

parent 487df38f
var moment = require('moment');
var maybeString = "nach Absprache geöffnet";
var andMaybeString = "und nach Absprache geöffnet";
//var maybeString = "nag";
//var andMaybeString = "unag";
moment.lang("de");
var twoHours = 1000 * 3600 * 2;
......@@ -36,6 +41,8 @@ function createWeekView(dataObj, now) {
var endDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() + noOfDays - offset);
var oHours = transformData(dataObj, startDate, endDate);
var tableWidth = getMaxNoOfItemsPerDay(oHours);
var hasMaybe = hoursMaybe(oHours);
var className = 'weekview';
var content = '<div class="weekview-container"><table class="weekview-table weekview-' + (tableWidth + 2) + 'col">';
content += '<tbody>';
......@@ -76,6 +83,39 @@ function createWeekView(dataObj, now) {
for (var j = day.oHours.length; j < tableWidth; j++) {
content += '<td class="weekview-td weekview-empty' + cls + '"></td>';
}
if (hasMaybe) {
var dayHasMaybe = day.oHoursMaybe.length > 0;
var dayHasSure = day.oHours.length > 0;
var displString = '';
var tooltip = [];
for (var j = 0; j < day.oHoursMaybe.length; j++) {
var e = day.oHoursMaybe[j];
tooltip.push(formatTime(e[0]) + " - " + formatTime(e[1]));
}
tooltip = tooltip.join("<br>");
tooltip = ' data-uk-tooltip title="' + tooltip + '"';
if (dayHasMaybe) {
if (dayHasSure) {
displString = andMaybeString;
}
else {
displString = maybeString;
}
content += ('<td class="' + className + '-td '
+ className + '-maybe' + cls + '" '+ tooltip + '>' + displString + '</td>');
}
else {
content += ('<td class="' + className + '-td ' + className + '-empty' + cls + '"></td>');
}
}
content += '</tr>';
}
......@@ -108,6 +148,7 @@ function createWeekViewVerticalRaw(dataObj, now, className, offset, addDayOfWeek
var maxItems = getMaxNoOfItemsPerDay(oHours);
var matrix = [];
var rowInfo = [];
for (var i = 0; i < noOfDays; i++) {
var column = [];
......@@ -157,29 +198,44 @@ function createWeekViewVerticalRaw(dataObj, now, className, offset, addDayOfWeek
}
if (hasMaybe) {
var displString = '';
var tooltip = [];
for (var j = 0; j < day.oHoursMaybe.length; j++) {
var e = day.oHoursMaybe[j];
tooltip.push(formatTime(e[0]) + " - " + formatTime(e[1]));
}
tooltip = tooltip.join("<br>");
tooltip = ' data-uk-tooltip title="' + tooltip + '"';
if (dayHasMaybe) {
if (dayHasSure) {
displString = "unag";
displString = andMaybeString;
}
else {
displString = "nag";
displString = maybeString;
}
if(!rowInfo[column.length]) rowInfo[column.length] = className + "-tr-maybe";
column.push('<td class="' + className + '-td '
+ className + '-maybe' + cls + '">' + displString + '</td>');
+ className + '-maybe' + cls + '" '+ tooltip + '>' + displString + '</td>');
}
else {
column.push('<td class="' + className + '-td ' + className + '-empty' + cls + '"></td>');
}
}
}
return matrix;
return {matrix: matrix, rowInfo: rowInfo};
}
function createTwoWeekViewVertical(dataObj, now) {
var className = 'two-weekview-v';
var matrix = createWeekViewVerticalRaw(dataObj, now, className, 3, true);
var matrix2 = createWeekViewVerticalRaw(dataObj, new Date(now.getFullYear(), now.getMonth(), now.getDate() + 7), className, 3, false);
var data = createWeekViewVerticalRaw(dataObj, now, className, 3, true);
var data2 = createWeekViewVerticalRaw(dataObj, new Date(now.getFullYear(), now.getMonth(), now.getDate() + 7), className, 3, false);
var matrix = data.matrix;
var matrix2 = data2.matrix;
var rowInfo = data.rowInfo.concat(data2.rowInfo);
for (var i = 0; i < matrix.length; i++) {
matrix[i] = matrix[i].concat(matrix2[i]);
......@@ -192,7 +248,9 @@ function createTwoWeekViewVertical(dataObj, now) {
var iLim = matrix.length;
for (var j = 0; j < jLim; j++) {
content += '<tr class="' + className + '-tr">';
var trClass = className + '-tr';
if(rowInfo[j]) trClass += " " + rowInfo[j];
content += '<tr class="' + trClass + '">';
for (var i = 0; i < iLim; i++) {
content += matrix[i][j];
}
......@@ -206,7 +264,9 @@ function createTwoWeekViewVertical(dataObj, now) {
function createWeekViewVertical(dataObj, now) {
var className = 'weekview-v';
var matrix = createWeekViewVerticalRaw(dataObj, now, className, null, true);
var data = createWeekViewVerticalRaw(dataObj, now, className, null, true);
var matrix = data.matrix;
var rowInfo = data.rowInfo;
var content = '<div class="' + className + '-container"><table class="' + className + '-table">';
content += '<tbody>';
......@@ -215,7 +275,9 @@ function createWeekViewVertical(dataObj, now) {
var iLim = matrix.length;
for (var j = 0; j < jLim; j++) {
content += '<tr class="' + className + '-tr">';
var trClass = className + "-tr";
if(rowInfo[j]) trClass += " " + rowInfo[j];
content += '<tr class="' + trClass + '">';
for (var i = 0; i < iLim; i++) {
content += matrix[i][j];
}
......
......@@ -18,8 +18,8 @@ module.exports.getData = function (now, cb) {
// console.log(epocheSpan);
// dateArray.setEpocheSpan(epocheSpan);
connection.query('SELECT name, elements FROM cms_zoo_item WHERE type in ("pos", "company") ORDER BY id LIMIT 100', function (err, rows) {
// connection.query('SELECT name, elements FROM cms_zoo_item WHERE id in (2650)', function (err, rows) {
// connection.query('SELECT name, elements FROM cms_zoo_item WHERE type in ("pos", "company") ORDER BY id', function (err, rows) {
connection.query('SELECT name, elements FROM cms_zoo_item WHERE id in (864)', function (err, rows) {
console.error(err);
console.log(rows.length);
var result = [];
......@@ -31,10 +31,11 @@ module.exports.getData = function (now, cb) {
var name = rows[i].name;
var idx = i;
dateArray(epocheSpan).getData(obj, plz, function (err, dataObj) {
console.log(dataObj);
if (err) {
console.log(name, err);
}
else if (dataObj && dataObj.intervals.length > 0) {
else if (dataObj && (dataObj.intervals.length > 0 || dataObj.maybeIntervals.length > 0)) {
cnt++;
var view = dateView.getView(dataObj, now);
var asString = dateView.asString(dataObj, now);
......
.weekview-table {
width: 100%
}
td {
overflow: hidden;
white-space: nowrap;
}
.weekview-maybe, .weekview-v-maybe, .two-weekview-v-maybe, .monthview-maybe {
background-color: #99baca;
}
.monthview-container {
text-align: center
}
.monthview-month {
font-family: 'rk_bold';
}
.monthview-maindiv {
width: 30%;
display: inline-block;
text-align: left;
margin-top: 15px
}
.monthview-table {
border-spacing: 2px;
border-collapse: separate;
}
.monthview-table
td {
padding: 0px 5px;
}
.monthview-today {
color: #fff;
background: rgb(160, 130, 70);
font-family: 'rk_bold';
}
.monthview-today.monthview-filled {
background: rgb(70, 120, 0)
}
.monthview-filled {
background: rgb(90, 140, 0);
color: #fff;
text-align: center;
cursor: pointer;
margin: 2px
}
.monthview-holiday {
background: rgba(160, 0, 0, 0.4);
color: #fff;
text-align: center;
margin: 2px
}
.monthview-holiday.monthview-filled {
background: rgb(90, 140, 0)
}
.weekview-table {
width: 100%;
margin-left: -15px
}
.weekview-container {
margin-top: 10px
}
.weekview-table tr td.weekview-today {
background: rgba(255, 255, 255, 0.6)
}
.weekview-table
tr {
border-top: 1px solid rgba(100, 80, 60, 0.5)
}
.weekview-table tr:last-child {
border-bottom: 1px solid rgba(100, 80, 60, 0.5)
}
.weekview-table td.weekview-td:first-child {
font-family: 'rk_bold';
width: 33%;
padding-left: 15px
}
.weekview-3col td.weekview-filled, .weekview-table td.weekview-empty {
width: 33%
}
.weekview-4col td.weekview-td:first-child {
width: 25%
}
.weekview-4col td.weekview-filled, .weekview-table td.weekview-empty {
width: 25%
}
.weekview-5col td.weekview-td:first-child {
width: 20%
}
.weekview-5col td.weekview-filled, .weekview-table td.weekview-empty {
width: 20%
}
.weekview-6col td.weekview-td:first-child {
width: 25%
}
.weekview-6col td.weekview-filled, .weekview-table td.weekview-empty {
width: 15%
}
.weekview-v-container {
margin: 20px 35px 0px 0px
}
.weekview-v-table tr:first-child {
border-top: 1px solid rgba(100, 80, 60, 0.5)
}
.weekview-v-table tr:last-child {
border-bottom: 1px solid rgba(100, 80, 60, 0.5)
}
.weekview-v-sunday, .weekview-sunday {
color: rgba(160, 0, 0, 0.8)
}
.weekview-v-table {
width: 100%;
text-align: center
}
.weekview-v-table td.weekview-v-td-first {
font-family: 'rk_bold'
}
.weekview-v-table td.weekview-v-today {
background: rgba(255, 255, 255, 0.6);
color: rgb(90, 140, 0)
}
.weekview-v-table
td {
width: 14%
}
.weekview-v-table td:first-child {
width: 16%
}
.two-weekview-v-container {
margin: 20px 35px 0px 0px
}
.two-weekview-v-table tr:first-child {
border-top: 1px solid rgba(100, 80, 60, 0.5)
}
.two-weekview-v-table tr:last-child {
border-bottom: 1px solid rgba(100, 80, 60, 0.5)
}
.two-weekview-v-sunday, .two-weekview-sunday {
color: rgba(160, 0, 0, 0.8)
}
.two-weekview-v-table .two-weekview-v-td-date2 {
padding-top: 15px
}
.two-weekview-v-table {
width: 100%;
text-align: center
}
.two-weekview-v-table td.two-weekview-v-td-first {
font-family: 'rk_bold'
}
.two-weekview-v-table td.two-weekview-v-today {
background: rgba(255, 255, 255, 0.6);
color: rgb(90, 140, 0)
}
.two-weekview-v-table
td {
width: 14%
}
.two-weekview-v-table td:first-child {
width: 16%
}
......@@ -21,7 +21,6 @@ router.get('/', function(req, res) {
now = new Date();
}
console.log('bla');
var time0 = process.hrtime();
db.getData(now, function(result) {
res.render('index', { body: result });
......
......@@ -3,32 +3,9 @@
<head>
<title>Views</title>
<link rel="stylesheet" href="uikit.min.css"/>
<link rel="stylesheet" href="test.css"/>
<script src="jquery.min.js"></script>
<script src="uikit.min.js"></script>
<style>
body {
padding: 30px;
}
.monthview-filled {
background-color: lightgreen;
}
.monthview-empty {
background-color: lightcoral;
}
.monthview-today {
background-color: #5e70f0;
}
.monthview-holiday {
background-color: #ecf037;
}
.name {
font-size: 20px;
}
.two-weekview-v-today {
background-color: #99baca;
}
</style>
</head>
<body>
<%- body %>
......
......@@ -28,7 +28,7 @@ dateArray = dateArray(dateSpan);
var extractionDate = moment().format('YYYYMMDD');
//var ids = [2650, 2422, 3];
var ids = [2422, 1627, 2650];
var ids = [2422, 1627, 2650, 864];
connection.query('SELECT id, name, elements, type FROM cms_zoo_item WHERE id in ('+ ids.join(', ')+')', function (err, rows) {
for (var i = 0; i < rows.length; i++) {
var id = rows[i].id;
......
{"ed9cdd4c-ae8b-4ecb-bca7-e12a5153bc02":{"0":{"value":""}},"bcd6e375-792a-492f-a04b-3e0d8f75b3f0":{"0":{"opening_day":"Samstag","opening_from":"9:00","opening_to":"18:00"}},"2b41366d-7901-45e5-8d07-feaf42c4db46":{"0":{"option":{"0":"default"},"dayoption":{"0":"6"},"repeatoption":{"0":""},"holidayoption":{"0":""},"opening_day_from":"","opening_day_to":"","opening_from":"09:00","opening_to":"18:00"}},"8298b63a-ed54-468f-8398-2eac1a140213":{"0":{"option":{"0":""},"dayoption":{"0":""},"repeatoption":{"0":""},"holidayoption":{"0":""},"opening_day_from":"","opening_day_to":"","opening_from":"","opening_to":""}},"a77f06fc-1561-453c-a429-8dd05cdc29f5":{"0":{"value":""}},"1a85a7a6-2aba-4480-925b-6b97d311ee6c":{"0":{"value":""}},"ffcc1c50-8dbd-4115-b463-b43bdcd44a57":{"file":"images/regionalkaufapp/verkaufsstellen/Regensburg_Bismarckplatz/IMG_1551.jpg","title":"","link":"","target":"0","rel":"","lightbox_image":"","spotlight_effect":"","caption":"","width":1632,"height":1224},"4339a108-f907-4661-9aab-d6f3f00e736e":{"0":{"value":"Bismarckplatz 1"}},"ea0666d7-51e3-4e52-8617-25e3ad61f8b8":{"0":{"value":"93047"}},"90a18889-884b-4d53-a302-4e6e4595efa0":{"0":{"value":"Regensburg"}},"446a8163-60dd-4bf6-bfd1-901fba5959b8":{"location":"49.018698, 12.089623"},"ac062126-a624-4a6a-a4d8-4b397af0f01d":{"0":{"value":"12.089623, 49.018698"}},"81c5f642-2f7f-491f-b1c2-ce32ec688125":{"country":{"0":"DE"}},"b870164b-fe78-45b0-b840-8ebceb9b9cb6":{"0":{"value":""}},"8a91aab2-7862-4a04-bd28-07f1ff4acce5":{"0":{"value":""}},"3f15b5e4-0dea-4114-a870-1106b85248de":{"0":{"value":"","text":"","subject":"","body":""}},"0b3d983e-b2fa-4728-afa0-a0b640fa34dc":{"0":{"value":"","text":"","target":"0","custom_title":"","rel":""}},"7056f1d2-5253-40b6-8efd-d289b10a8c69":{"item":{"0":"194"}},"cf6dd846-5774-47aa-8ca7-c1623c06e130":{"votes":0,"value":0},"bf523c69-0f6f-4e00-83ed-66d3c846e7a8":{},"e7dada2d-c919-43f4-b30c-d7b3eda19d94":{"file":"","hits":"0","download_limit":"","size":0}}
\ No newline at end of file
{"f86608fb-16aa-4c70-9d57-0b5cac1a9618":{},"4ae7b6cb-07e8-4184-a00b-9db001f55bd3":{"0":{"value":""}},"f64563c6-c102-4836-a5f7-8f9246fcceef":{"option":{"0":"direktvermarkter-mit-geschaeft","1":"basis"},"select":"1"},"f62d066f-bf0d-42e2-a7ae-6f926fbb49d7":{"0":{"value":""}},"915f382b-51fc-48ba-93e0-152040f8f0e4":{"0":{"value":""}},"1b99ac64-7879-4802-80d9-0de99613efc9":{"option":{"0":"basis"},"check":"1"},"8cf3f417-4d1c-4795-87de-42124dcb2c20":{"option":{"0":"basis"},"select":"1"},"f118eeff-e254-4155-8e23-8149cb8b5eea":{"0":{"value":"Manfred Bayer, mobil 01715547124"}},"dbc68015-df76-42ed-a033-503b87e35685":{"check":"1"},"0b13b5c0-bec6-445c-bdf2-e201ba0d43e4":{"file":"","title":"","link":"","target":"0","rel":"","lightbox_image":"","spotlight_effect":"","caption":""},"17709bb7-acf7-4ef5-8b26-4ed4fe63f8c9":{"0":{"value":""}},"3d305054-e356-4c09-8f4c-7795433a4589":{"file":"","title":"","link":"","target":"0","rel":"","lightbox_image":"","spotlight_effect":"","caption":""},"e8c1fdc9-50e0-4a9b-994a-f48f738dac64":{},"ed9cdd4c-ae8b-4ecb-bca7-e12a5153bc02":{"0":{"value":"ab Hof Verkauf"}},"514ccde0-0a79-4594-8b72-b906ee4cede9":{"0":{"opening_day":"","opening_from":"","opening_to":""}},"810a6deb-46f2-4fa8-b779-bb5c2a6b5577":{"0":{"option":{"0":""},"dayoption":{"0":""},"repeatoption":{"0":""},"holidayoption":{"0":""},"opening_day_from":"","opening_day_to":"","opening_from":"","opening_to":""}},"bb74c170-b06f-4d2b-ab88-2f6bf9ce8068":{"0":{"option":{"0":""},"dayoption":{"0":""},"repeatoption":{"0":""},"holidayoption":{"0":""},"opening_day_from":"","opening_day_to":"","opening_from":"","opening_to":""}},"7ac7d682-2862-443b-83bd-8a3cf837ad8e":{"option":{"0":"1"}},"6b3b589d-8060-4193-92b9-ce430d96cfdd":{"0":{"value":"Der Hof-Verkauf ist täglich geöffnet."}},"e85aacb0-bd79-4091-a271-85de0cebf66d":{"0":{"option":{"0":"default"},"dayoption":{"0":"9"},"repeatoption":{"0":""},"holidayoption":{"0":""},"opening_day_from":"","opening_day_to":"","opening_from":"09:00","opening_to":"18:00"}},"65359d5a-faca-46b8-8644-767d382d8b9b":{"option":{"0":"hinweis"},"check":"1"},"533ea2dd-e37d-4add-aa73-ad8419040c22":{"0":{"value":"Der Hof-Verkauf ist täglich geöffnet."}},"6d9ab971-f969-499b-bb6b-9b87b601a961":{"check":"1"},"f67464f3-4475-46a9-a262-11c8a777865d":{"0":{"value":"Einkaufen auf dem Bauernhof"},"1":{"value":"GLOBALG.A.P."},"2":{"value":"Geprüfte Qualität Bayern"}},"1d0a9c64-78d4-4767-8617-c8a3a66fc770":{"0":{"value":""}},"05192b86-fc84-43cb-81d3-ab804086a873":{"0":{"value":""}},"d230a60f-0016-4180-b83a-13e4fd938328":{"0":{"value":"http://www.einkaufen-auf-dem-bauernhof.com/?redid=260783&bundesland=2&landkreis=137&ort="}},"c70daef6-ffee-40ef-ba29-3d0065a5aaf5":{},"a77f06fc-1561-453c-a429-8dd05cdc29f5":{"0":{"value":"<p>Wir setzen schon seit Generationen auf regionale Vermarktung, denn der persönliche Kontakt zum Kunden ist uns besonders wichtig.</p>\r\n<p>Auf unserem Hof verkaufen wir erntefrische Frühkartoffeln, Kartoffeln verschiedener Sorten, Reifegruppen und Kochtypen, stabile Lagerkartoffeln sowie Speisezwiebeln.</p>\r\n<p>Gerne beliefern wir unsere Kunden auch durch unseren Heimservice. Zudem finden Sie unsere Produkte in den Regionaltheken der REWE-Märkte in Regensburg, Tegernheim und Wörth an der Donau.</p>"}},"1a85a7a6-2aba-4480-925b-6b97d311ee6c":{"0":{"value":"<p>Wir setzen schon seit Generationen auf regionale Vermarktung, denn der persönliche Kontakt zum Kunden ist uns besonders wichtig.</p>\r\n<p>Auf unserem Hof verkaufen wir erntefrische Frühkartoffeln, Kartoffeln verschiedener Sorten, Reifegruppen und Kochtypen, stabile Lagerkartoffeln sowie Speisezwiebeln.</p>\r\n<p>Gerne beliefern wir unsere Kunden auch durch unseren Heimservice. Zudem finden Sie unsere Produkte in den Regionaltheken der REWE-Märkte in Regensburg, Tegernheim und Wörth an der Donau.</p>"}},"efd91873-dce0-48fd-b40e-5bc0e9599f3e":{},"9ca9fc28-03f8-472d-b49f-8e2513cc8740":{"file":"images/regionalkaufapp/unternehmen/Bayer-Huber/logo/bayer-huber-logo.png","title":"","link":"","target":"0","rel":"","lightbox_image":"","spotlight_effect":"","caption":"","width":140,"height":150},"ffcc1c50-8dbd-4115-b463-b43bdcd44a57":{"file":"images/regionalkaufapp/unternehmen/Bayer-Huber/01_hauptbild.jpg","title":"","link":"","target":"0","rel":"","lightbox_image":"","spotlight_effect":"","caption":"","width":740,"height":400},"e8f08959-19ff-4cfa-ba37-bc42414eeb45":{"value":"/Bayer-Huber","title":"Kartoffeln Bayer Huber"},"051452fe-692b-4ce2-8567-7dc4d0343fee":{"url":"","width":"640","height":"360","autoplay":"0"},"b68108e0-e49b-420d-97ec-d7c88af2b01a":{"file":"","hits":"0","download_limit":"","size":0},"92fda174-119b-4ee7-b14c-98c7f65224de":{},"4339a108-f907-4661-9aab-d6f3f00e736e":{"0":{"value":"Zehentstraße 5"}},"ea0666d7-51e3-4e52-8617-25e3ad61f8b8":{"0":{"value":"93102"}},"90a18889-884b-4d53-a302-4e6e4595efa0":{"0":{"value":"Pfatter"}},"160bd40a-3e0e-48de-b6cd-56cdcc9db892":{"location":"48.96678000000001, 12.388329999999996"},"9ff517f0-d029-4e85-a411-fdb2bbae3b8c":{"location":"48.96678000000001, 12.388329999999996"},"33bfd53b-1f42-4628-bb3d-461cacecdd84":{"0":{"value":"12.388329999999996, 48.96678000000001"}},"7516ee89-8702-4675-806b-58fe5bc56305":{},"d21169d6-0daa-47d5-8b0f-8e073b54c64f":{"0":{"value":""}},"b870164b-fe78-45b0-b840-8ebceb9b9cb6":{"0":{"value":"09481 90095"}},"272860a4-9ba0-4303-b2d3-77abb8d6fd42":{"0":{"value":""}},"5dcfa5ab-3769-4c5e-8cd2-1ac91643be70":{"0":{"value":""}},"8a91aab2-7862-4a04-bd28-07f1ff4acce5":{"0":{"value":"09481 90094"}},"3f15b5e4-0dea-4114-a870-1106b85248de":{"0":{"value":"michaela.huber@t-online.de","text":"","subject":"","body":""}},"0b3d983e-b2fa-4728-afa0-a0b640fa34dc":{"0":{"value":"","text":"","target":"0","custom_title":"","rel":""}},"b7628b63-d551-4b14-ac70-27cf0c6e95fc":{"0":{"value":"myreg.io/rkbm"}},"2081965c-c781-4ae1-99c3-54b959145cfe":{"value":"1"},"8eeeb531-0dc3-415a-8f4a-c7f88d1ac627":{"value":"1"},"9bd1d374-6a54-4054-be1e-87839eb24fb6":{},"7056f1d2-5253-40b6-8efd-d289b10a8c69":{"item":{"0":"865"}},"6eaab8b7-b4f5-4d3c-8193-db3542aec0a5":{},"9eeb4b7d-f289-4137-91ea-5275bb3376a7":{},"e15bb8ef-00ce-4700-a1c7-5682ebc73b95":{},"cf6dd846-5774-47aa-8ca7-c1623c06e130":{"votes":"3","value":"5.0000"},"cffd7b0a-317a-4cf9-852e-65fd31526a53":{"votes":"1"},"_itemid":{}}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{"error":"Error: no openinghours model found"}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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