Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
opening-hours
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
regionalkauf
opening-hours
Commits
1c0daf67
Commit
1c0daf67
authored
Jul 29, 2014
by
Johannes Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
little bit config refactoring, added weekview vertical
parent
8ead1f9e
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
189 additions
and
72 deletions
+189
-72
config.json
config.json
+8
-8
index.js
index.js
+25
-17
blndRelDbRequest.js
lib/blndRelDbRequest.js
+0
-2
dateArray.js
lib/dateArray.js
+17
-9
dateView.js
lib/dateView.js
+117
-25
holidays.js
lib/holidays.js
+1
-2
dataBaseQuery.js
serverTest/dataBaseQuery.js
+10
-7
index.js
serverTest/routes/index.js
+1
-0
index.ejs
serverTest/views/index.ejs
+6
-0
dateViewTest.js
test/dateViewTest.js
+1
-1
todo
todo
+3
-1
No files found.
config.json
View file @
1c0daf67
{
{
"restApiHost"
:
"127.0.0.1"
,
"restApiHost"
:
"127.0.0.1"
,
"restApiPort"
:
3001
,
"restApiPort"
:
3001
,
"mysqlConfig"
:
{
"mysqlConfig"
:
{
"host"
:
"127.0.0.1"
,
"host"
:
"127.0.0.1"
,
"user"
:
"root"
,
"user"
:
"root"
,
"password"
:
"ntgf42raUpaD
"
,
"password"
:
"bla
"
,
"database"
:
"holidays"
"database"
:
"holidays"
}
}
}
}
\ No newline at end of file
index.js
View file @
1c0daf67
var
dateArray
=
require
(
'./lib/dateArray'
);
module
.
exports
=
function
(
config
)
{
var
dateView
=
require
(
'./lib/dateView'
);
var
_config
=
require
(
'./config.json'
);
if
(
config
)
_config
[
"mysqlConfig"
]
=
config
;
function
getOHIndex
(
incl
,
excl
,
date
,
plz
,
cb
)
{
var
dateArray
=
require
(
'./lib/dateArray'
);
date
=
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
());
var
dateView
=
require
(
'./lib/dateView'
);
var
epochSpan
=
[
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
()
-
7
),
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
()
+
2
)];
dateArray
(
epochSpan
).
getData
([
incl
,
excl
],
plz
,
function
(
err
,
result
)
{
if
(
err
)
return
cb
(
err
);
var
fResult
=
result
.
filter
(
function
(
elem
)
{
return
elem
[
0
].
getTime
()
>=
date
.
getTime
();
});
cb
(
null
,
fResult
);
function
getOHIndex
(
incl
,
excl
,
date
,
plz
,
cb
)
{
})
date
=
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
());
}
var
epochSpan
=
[
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
()
-
7
),
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
()
+
2
)];
dateArray
(
epochSpan
).
getData
([
incl
,
excl
],
plz
,
function
(
err
,
result
)
{
if
(
err
)
return
cb
(
err
);
result
=
result
.
intervals
;
var
fResult
=
result
.
filter
(
function
(
elem
)
{
return
elem
[
0
].
getTime
()
>=
date
.
getTime
();
});
module
.
exports
.
getOHIndex
=
getOHIndex
;
cb
(
null
,
fResult
);
module
.
exports
.
dataArray
=
dateArray
;
})
module
.
exports
.
dateView
=
dateView
;
}
return
{
getOHIndex
:
getOHIndex
,
dateArray
:
dateArray
,
dateView
:
dateView
}
};
lib/blndRelDbRequest.js
View file @
1c0daf67
var
mysql
=
require
(
'mysql'
);
var
mysql
=
require
(
'mysql'
);
var
config
=
require
(
'../config.json'
);
var
config
=
require
(
'../config.json'
);
var
blndMapping
=
{
var
blndMapping
=
{
"Baden-Württemberg"
:
"BW"
,
"Baden-Württemberg"
:
"BW"
,
"Niedersachsen"
:
"NI"
,
"Niedersachsen"
:
"NI"
,
...
@@ -20,7 +19,6 @@ var blndMapping = {
...
@@ -20,7 +19,6 @@ var blndMapping = {
"Mecklenburg-Vorpommern"
:
"MV"
,
"Mecklenburg-Vorpommern"
:
"MV"
,
"Thüringen"
:
"TH"
"Thüringen"
:
"TH"
};
};
console
.
log
(
config
[
"mysqlConfig"
]);
var
connection
=
mysql
.
createConnection
(
config
[
"mysqlConfig"
]);
var
connection
=
mysql
.
createConnection
(
config
[
"mysqlConfig"
]);
module
.
exports
.
getBundesland
=
function
(
plz
,
cb
)
{
module
.
exports
.
getBundesland
=
function
(
plz
,
cb
)
{
...
...
lib/dateArray.js
View file @
1c0daf67
var
tmUtils
=
require
(
'./timeUtils'
);
var
tmUtils
=
require
(
'./timeUtils'
);
var
Holidays
=
require
(
'./holidays'
);
var
now
=
new
Date
();
var
now
=
new
Date
();
var
holidaysGetter
=
{};
var
holidaysGetter
=
{};
var
Holidays
=
require
(
'./holidays'
);
function
wrapper
(
_epochSpan
)
{
function
wrapper
(
_epochSpan
)
{
...
@@ -14,8 +14,8 @@ function wrapper(_epochSpan) {
...
@@ -14,8 +14,8 @@ function wrapper(_epochSpan) {
epochSpan
=
newEpochSpan
;
epochSpan
=
newEpochSpan
;
startYear
=
epochSpan
[
0
].
getFullYear
();
startYear
=
epochSpan
[
0
].
getFullYear
();
endYear
=
epochSpan
[
1
].
getFullYear
();
endYear
=
epochSpan
[
1
].
getFullYear
();
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
if
(
!
holidaysGetter
[
year
])
if
(
!
holidaysGetter
[
year
])
holidaysGetter
[
year
]
=
new
Holidays
(
year
);
holidaysGetter
[
year
]
=
new
Holidays
(
year
);
}
}
}
}
...
@@ -23,7 +23,7 @@ function wrapper(_epochSpan) {
...
@@ -23,7 +23,7 @@ function wrapper(_epochSpan) {
function
calculateOpeningHours
(
json
,
plz
,
cb
)
{
function
calculateOpeningHours
(
json
,
plz
,
cb
)
{
var
jsonIncl
;
var
jsonIncl
;
var
jsonExcl
;
var
jsonExcl
;
if
(
Array
.
isArray
(
json
))
{
if
(
Array
.
isArray
(
json
))
{
jsonIncl
=
json
[
0
];
jsonIncl
=
json
[
0
];
jsonExcl
=
json
[
1
];
jsonExcl
=
json
[
1
];
}
}
...
@@ -73,18 +73,21 @@ function wrapper(_epochSpan) {
...
@@ -73,18 +73,21 @@ function wrapper(_epochSpan) {
if
(
err
)
if
(
err
)
return
cb
(
err
);
return
cb
(
err
);
allHolidays
=
tmUtils
.
andOp
(
allHolidays
,
[
epochSpan
]);
var
allHolidayIntervals
=
allHolidays
.
intervals
;
allHolidayIntervals
=
tmUtils
.
andOp
(
allHolidayIntervals
,
[
epochSpan
]);
holidayIncl
=
tmUtils
.
andOp
(
holidayIncl
,
[
epochSpan
]);
holidayIncl
=
tmUtils
.
andOp
(
holidayIncl
,
[
epochSpan
]);
resultIncl
=
tmUtils
.
orOp
(
resultIncl
);
resultIncl
=
tmUtils
.
orOp
(
resultIncl
);
resultIncl
=
tmUtils
.
andNotOp
(
resultIncl
,
allHolidays
);
resultIncl
=
tmUtils
.
andNotOp
(
resultIncl
,
allHoliday
Interval
s
);
resultIncl
=
tmUtils
.
orOp
([
resultIncl
,
holidayIncl
]);
resultIncl
=
tmUtils
.
orOp
([
resultIncl
,
holidayIncl
]);
var
result
=
resultIncl
;
var
result
=
resultIncl
;
if
(
jsonExcl
)
if
(
jsonExcl
)
result
=
tmUtils
.
andNotOp
(
resultIncl
,
resultExcl
);
result
=
tmUtils
.
andNotOp
(
resultIncl
,
resultExcl
);
cb
(
null
,
result
);
cb
(
null
,
{
intervals
:
result
,
holidays
:
allHolidays
.
days
});
});
});
...
@@ -159,9 +162,10 @@ function wrapper(_epochSpan) {
...
@@ -159,9 +162,10 @@ function wrapper(_epochSpan) {
var
cnt
=
endYear
-
startYear
+
1
;
var
cnt
=
endYear
-
startYear
+
1
;
var
errRec
=
false
;
var
errRec
=
false
;
function
_cb
(
err
,
result
)
{
function
_cb
(
err
,
result
)
{
if
(
errRec
)
return
;
if
(
errRec
)
return
;
if
(
err
){
if
(
err
)
{
errRec
=
true
;
errRec
=
true
;
return
cb
(
err
);
return
cb
(
err
);
}
}
...
@@ -173,7 +177,10 @@ function wrapper(_epochSpan) {
...
@@ -173,7 +177,10 @@ function wrapper(_epochSpan) {
return
tmUtils
.
singleDay
(
date
);
return
tmUtils
.
singleDay
(
date
);
});
});
tmUtils
.
sort
(
intervals
);
tmUtils
.
sort
(
intervals
);
cb
(
null
,
intervals
);
cb
(
null
,
{
days
:
days
,
intervals
:
intervals
});
}
}
}
}
...
@@ -263,6 +270,7 @@ function wrapper(_epochSpan) {
...
@@ -263,6 +270,7 @@ function wrapper(_epochSpan) {
}
}
}
}
}
}
return
{
return
{
getData
:
calculateOpeningHours
,
getData
:
calculateOpeningHours
,
setEpocheSpan
:
setEpocheSpan
setEpocheSpan
:
setEpocheSpan
...
...
lib/dateView.js
View file @
1c0daf67
...
@@ -2,14 +2,16 @@ var moment = require('moment');
...
@@ -2,14 +2,16 @@ var moment = require('moment');
moment
.
lang
(
"de"
);
moment
.
lang
(
"de"
);
function
createWeekView
(
data
,
now
)
{
function
createWeekView
(
dataObj
,
now
)
{
var
data
=
dataObj
.
intervals
;
var
holidays
=
dataObj
.
holidays
;
var
noOfDays
=
7
;
var
noOfDays
=
7
;
var
offset
=
3
;
var
offset
=
3
;
var
startDate
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
now
.
getDate
()
-
offset
);
var
startDate
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
now
.
getDate
()
-
offset
);
var
endDate
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
now
.
getDate
()
+
noOfDays
-
offset
);
var
endDate
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
now
.
getDate
()
+
noOfDays
-
offset
);
var
oHours
=
transformData
(
data
,
startDate
,
endDate
);
var
oHours
=
transformData
(
data
,
startDate
,
endDate
);
var
maxNumber
=
getMaxNoOfItemsPerDay
(
oHours
);
var
maxNumber
=
getMaxNoOfItemsPerDay
(
oHours
);
var
tableWidth
=
2
*
maxNumber
;
var
tableWidth
=
maxNumber
;
var
content
=
'<div class="weekview-container"><table class="weekview-table">'
;
var
content
=
'<div class="weekview-container"><table class="weekview-table">'
;
content
+=
'<tbody>'
;
content
+=
'<tbody>'
;
...
@@ -17,15 +19,24 @@ function createWeekView(data, now) {
...
@@ -17,15 +19,24 @@ function createWeekView(data, now) {
for
(
var
i
=
0
;
i
<
noOfDays
;
i
++
)
{
for
(
var
i
=
0
;
i
<
noOfDays
;
i
++
)
{
var
day
=
oHours
[
i
];
var
day
=
oHours
[
i
];
content
+=
'<tr class="weekview-tr">'
;
content
+=
'<tr class="weekview-tr">'
;
content
+=
'<td class="weekview-td-first">'
+
formatDate
(
day
.
date
)
+
'</td>'
;
var
datString
=
formatDate
(
day
.
date
);
var
cls
=
''
;
if
(
dayInHolidays
(
day
.
date
,
holidays
))
{
cls
+=
" weekview-holiday"
;
}
if
(
compareDate
(
day
.
date
,
now
)
==
0
)
{
cls
+=
" weekview-today"
;
}
content
+=
'<td class="weekview-td-first'
+
cls
+
'">'
+
datString
[
0
]
+
'</td><td class="weekview-td-first'
+
cls
+
'">'
+
datString
[
1
]
+
'</td>'
;
for
(
var
j
=
0
;
j
<
day
.
oHours
.
length
;
j
++
)
{
for
(
var
j
=
0
;
j
<
day
.
oHours
.
length
;
j
++
)
{
var
oHour
=
day
.
oHours
[
j
];
var
oHour
=
day
.
oHours
[
j
];
content
+=
'<td class="weekview-td weekview-filled">'
+
formatTime
(
oHour
[
0
])
+
'</td>'
;
content
+=
'<td class="weekview-td weekview-filled'
+
cls
+
'">'
+
formatTime
(
oHour
[
0
])
+
"–"
+
formatTime
(
oHour
[
1
])
+
'</td>'
;
content
+=
'<td class="weekview-td weekview-filled">'
+
formatTime
(
oHour
[
1
])
+
'</td>'
;
}
}
for
(
var
j
=
2
*
day
.
oHours
.
length
;
j
<
tableWidth
;
j
++
)
{
for
(
var
j
=
day
.
oHours
.
length
;
j
<
tableWidth
;
j
++
)
{
content
+=
'<td class="weekview-td weekview-empty"></td>'
;
content
+=
'<td class="weekview-td weekview-empty
'
+
cls
+
'
"></td>'
;
}
}
content
+=
'</tr>'
;
content
+=
'</tr>'
;
}
}
...
@@ -35,7 +46,74 @@ function createWeekView(data, now) {
...
@@ -35,7 +46,74 @@ function createWeekView(data, now) {
return
content
;
return
content
;
}
}
function
createMonthView
(
data
,
now
,
monthOffset
)
{
function
createWeekViewVertical
(
dataObj
,
now
)
{
var
data
=
dataObj
.
intervals
;
var
holidays
=
dataObj
.
holidays
;
var
noOfDays
=
7
;
var
offset
=
3
;
var
startDate
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
now
.
getDate
()
-
offset
);
var
endDate
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
now
.
getDate
()
+
noOfDays
-
offset
);
var
oHours
=
transformData
(
data
,
startDate
,
endDate
);
var
maxNumber
=
getMaxNoOfItemsPerDay
(
oHours
);
var
tableWidth
=
maxNumber
;
var
content
=
'<div class="weekviewV-container"><table class="weekviewV-table">'
;
content
+=
'<tbody>'
;
var
columns
=
[];
for
(
var
i
=
0
;
i
<
noOfDays
;
i
++
)
{
var
column
=
[];
columns
.
push
(
column
);
var
day
=
oHours
[
i
];
var
cls
=
''
;
if
(
dayInHolidays
(
day
.
date
,
holidays
))
{
cls
+=
" weekview-holiday"
;
}
if
(
compareDate
(
day
.
date
,
now
)
==
0
)
{
cls
+=
" weekview-today"
;
}
var
datString
=
formatDate
(
day
.
date
);
column
.
push
(
'<td class="weekviewV-td-first'
+
cls
+
'">'
+
datString
[
0
]
+
'</td>'
);
column
.
push
(
'<td class="weekviewV-td-first'
+
cls
+
'">'
+
datString
[
1
]
+
'</td>'
);
for
(
var
j
=
0
;
j
<
day
.
oHours
.
length
;
j
++
)
{
var
oHour
=
day
.
oHours
[
j
];
column
.
push
(
'<td class="weekviewV-td weekviewV-filled'
+
cls
+
'">'
+
formatTime
(
oHour
[
0
])
+
"–"
+
formatTime
(
oHour
[
1
])
+
'</td>'
);
}
for
(
var
j
=
day
.
oHours
.
length
;
j
<
tableWidth
;
j
++
)
{
column
.
push
(
'<td class="weekviewV-td weekviewV-empty'
+
cls
+
'"></td>'
);
}
}
for
(
var
j
=
0
;
j
<
tableWidth
+
2
;
j
++
)
{
content
+=
'<tr class="weekviewV-tr">'
;
for
(
var
i
=
0
;
i
<
noOfDays
;
i
++
)
{
content
+=
columns
[
i
][
j
];
}
content
+=
'</tr>'
;
}
content
+=
'</tbody>'
;
content
+=
'</table></div>'
;
return
content
;
}
function
dayInHolidays
(
day
,
holidays
)
{
for
(
var
i
=
0
;
i
<
holidays
.
length
;
i
++
)
{
if
(
compareDate
(
day
,
holidays
[
i
])
==
0
)
{
return
true
;
}
}
return
false
;
}
function
createMonthView
(
dataObj
,
now
,
monthOffset
)
{
var
data
=
dataObj
.
intervals
;
var
holidays
=
dataObj
.
holidays
;
var
currentMonth
=
now
.
getMonth
()
+
monthOffset
;
var
currentMonth
=
now
.
getMonth
()
+
monthOffset
;
var
startDate
=
new
Date
(
now
.
getFullYear
(),
currentMonth
,
1
);
var
startDate
=
new
Date
(
now
.
getFullYear
(),
currentMonth
,
1
);
var
monthDate
=
new
Date
(
startDate
);
var
monthDate
=
new
Date
(
startDate
);
...
@@ -65,14 +143,21 @@ function createMonthView(data, now, monthOffset) {
...
@@ -65,14 +143,21 @@ function createMonthView(data, now, monthOffset) {
content
+=
'<tr class="monthview-tr">'
;
content
+=
'<tr class="monthview-tr">'
;
if
(
day
.
date
.
getMonth
()
==
currentMonth
)
{
if
(
day
.
date
.
getMonth
()
==
currentMonth
)
{
var
cls
;
var
cls
=
""
;
var
tooltip
;
var
tooltip
;
if
(
dayInHolidays
(
day
.
date
,
holidays
))
{
cls
+=
" monthview-holiday"
}
if
(
compareDate
(
day
.
date
,
now
)
==
0
)
{
cls
+=
" monthview-today"
;
}
if
(
day
.
oHours
.
length
==
0
)
{
if
(
day
.
oHours
.
length
==
0
)
{
tooltip
=
""
;
tooltip
=
""
;
cls
=
" monthview-empty"
;
cls
+
=
" monthview-empty"
;
}
}
else
{
else
{
cls
=
" monthview-filled"
;
cls
+
=
" monthview-filled"
;
tooltip
=
[];
tooltip
=
[];
for
(
var
j
=
0
;
j
<
day
.
oHours
.
length
;
j
++
)
{
for
(
var
j
=
0
;
j
<
day
.
oHours
.
length
;
j
++
)
{
var
e
=
day
.
oHours
[
j
];
var
e
=
day
.
oHours
[
j
];
...
@@ -96,19 +181,20 @@ function createMonthView(data, now, monthOffset) {
...
@@ -96,19 +181,20 @@ function createMonthView(data, now, monthOffset) {
return
content
;
return
content
;
}
}
function
create3MonthView
(
data
,
now
)
{
function
create3MonthView
(
data
Obj
,
now
)
{
var
content
=
'<div class="monthview-container">'
;
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
+=
createMonthView
(
data
Obj
,
now
,
i
);
}
}
content
+=
'</div>'
;
content
+=
'</div>'
;
return
content
;
return
content
;
}
}
function
getView
(
data
,
now
)
{
function
getView
(
data
Obj
,
now
)
{
var
content
=
'<div class="view-container">'
;
var
content
=
'<div class="view-container">'
;
content
+=
createWeekView
(
data
,
now
);
content
+=
createWeekView
(
dataObj
,
now
);
content
+=
create3MonthView
(
data
,
now
);
content
+=
createWeekViewVertical
(
dataObj
,
now
);
content
+=
create3MonthView
(
dataObj
,
now
);
content
+=
'</div>'
;
content
+=
'</div>'
;
return
content
;
return
content
;
}
}
...
@@ -123,14 +209,15 @@ function getMaxNoOfItemsPerDay(oHours) {
...
@@ -123,14 +209,15 @@ function getMaxNoOfItemsPerDay(oHours) {
}
}
function
formatDate
(
date
)
{
function
formatDate
(
date
)
{
return
moment
(
date
).
format
(
"dd ll"
);
var
mom
=
moment
(
date
);
return
[
mom
.
format
(
"dddd"
),
mom
.
format
(
"ll"
)
];
}
}
function
formatTime
(
date
)
{
function
formatTime
(
date
)
{
var
hours
=
date
.
getHours
().
toString
();
var
hours
=
date
.
getHours
().
toString
();
var
minutes
=
date
.
getMinutes
().
toString
();
var
minutes
=
date
.
getMinutes
().
toString
();
if
(
hours
.
length
<
2
)
hours
=
'0'
+
hours
;
if
(
hours
.
length
<
2
)
hours
=
'0'
+
hours
;
if
(
minutes
.
length
<
2
)
minutes
=
'0'
+
minutes
;
if
(
minutes
.
length
<
2
)
minutes
=
'0'
+
minutes
;
return
hours
+
':'
+
minutes
;
return
hours
+
':'
+
minutes
;
// return moment(date).format("HH:mm");
// return moment(date).format("HH:mm");
}
}
...
@@ -171,29 +258,33 @@ function compareDate(date1, date2) {
...
@@ -171,29 +258,33 @@ function compareDate(date1, date2) {
}
}
function
getPropperEpochSpan
(
now
)
{
function
getPropperEpochSpan
(
now
)
{
var
epochStart
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
-
10
);
var
epochStart
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
(),
-
10
);
var
epochEnd
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
()
+
3
,
1
);
var
epochEnd
=
new
Date
(
now
.
getFullYear
(),
now
.
getMonth
()
+
3
,
1
);
return
[
epochStart
,
epochEnd
];
return
[
epochStart
,
epochEnd
];
}
}
function
asString
(
data
,
now
)
{
function
asString
(
data
,
now
)
{
var
mNow
=
moment
(
now
);
data
=
data
.
intervals
;
if
(
data
.
length
==
0
)
{
return
[
"Jetzt geöffnet"
,
"nächter Öffnungstermin unbekannt"
];
}
// var mNow = moment(now);
var
open
=
false
;
var
open
=
false
;
var
nowT
=
now
.
getTime
();
var
nowT
=
now
.
getTime
();
var
idx
=
0
;
var
idx
=
0
;
while
(
nowT
>=
data
[
idx
][
0
].
getTime
()
&&
idx
<
data
.
length
)
{
while
(
nowT
>=
data
[
idx
][
0
].
getTime
()
&&
idx
<
data
.
length
)
{
if
(
data
[
idx
][
1
].
getTime
()
>=
nowT
)
if
(
data
[
idx
][
1
].
getTime
()
>=
nowT
)
open
=
true
;
open
=
true
;
idx
++
;
idx
++
;
}
}
if
(
open
)
{
if
(
open
)
{
idx
--
;
idx
--
;
return
[
"Jetzt geöffnet"
,
"geöffnet bis "
+
moment
(
data
[
idx
][
1
]).
format
(
"LT"
)];
return
[
"Jetzt geöffnet"
,
"geöffnet bis "
+
moment
(
data
[
idx
][
1
]).
format
(
"LT"
)];
}
}
else
{
else
{
var
retStr
=
"Jetzt nicht geöffnet"
;
var
retStr
=
"Jetzt nicht geöffnet"
;
if
(
idx
==
data
.
length
)
{
if
(
idx
==
data
.
length
)
{
return
[
retStr
,
"nächter Öffnungstermin unbekannt"
];
return
[
retStr
,
"nächter Öffnungstermin unbekannt"
];
}
}
else
{
else
{
...
@@ -205,6 +296,7 @@ function asString(data, now) {
...
@@ -205,6 +296,7 @@ function asString(data, now) {
module
.
exports
.
asString
=
asString
;
module
.
exports
.
asString
=
asString
;
module
.
exports
.
weekView
=
createWeekView
;
module
.
exports
.
weekView
=
createWeekView
;
module
.
exports
.
weekViewV
=
createWeekViewVertical
;
module
.
exports
.
monthView
=
create3MonthView
;
module
.
exports
.
monthView
=
create3MonthView
;
module
.
exports
.
getView
=
getView
;
module
.
exports
.
getView
=
getView
;
module
.
exports
.
getPropperEpochSpan
=
getPropperEpochSpan
;
module
.
exports
.
getPropperEpochSpan
=
getPropperEpochSpan
;
\ No newline at end of file
lib/holidays.js
View file @
1c0daf67
var
holidayMapping
=
require
(
'./holidayMapping.json'
);
var
holidayMapping
=
require
(
'./holidayMapping.json'
);
var
easterSunday
=
require
(
'./easterSunday'
);
var
easterSunday
=
require
(
'./easterSunday'
);
var
restRequest
=
require
(
'./blndRelDbRequest'
);
var
restRequest
=
require
(
'./blndRelDbRequest'
);
var
SimplQueue
=
require
(
'./simplQueue'
);
var
easterSundays
=
{};
var
easterSundays
=
{};
var
fixedHolidays
=
{
var
fixedHolidays
=
{
...
@@ -186,4 +185,4 @@ function Holidays(year) {
...
@@ -186,4 +185,4 @@ function Holidays(year) {
module
.
exports
=
Holidays
;
module
.
exports
=
Holidays
;
var
hds
=
new
Holidays
(
2014
);
//
var hds = new Holidays(2014);
serverTest/dataBaseQuery.js
View file @
1c0daf67
...
@@ -18,24 +18,27 @@ module.exports.getData = function (now, cb) {
...
@@ -18,24 +18,27 @@ module.exports.getData = function (now, cb) {
// console.log(epocheSpan);
// console.log(epocheSpan);
// dateArray.setEpocheSpan(epocheSpan);
// dateArray.setEpocheSpan(epocheSpan);
connection
.
query
(
'SELECT name, elements FROM cms_zoo_item WHERE type = "company" LIMIT 50'
,
function
(
err
,
rows
)
{
connection
.
query
(
'SELECT name, elements FROM cms_zoo_item WHERE type in ("pos", "company") LIMIT 100'
,
function
(
err
,
rows
)
{
console
.
log
(
rows
.
length
);
var
result
=
[];
var
result
=
[];
var
cnt
=
0
;
var
cnt
=
0
;
var
iters
=
rows
.
length
;
var
iters
=
rows
.
length
;
for
(
var
i
=
0
;
i
<
rows
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
rows
.
length
;
i
++
)
{
var
obj
=
JSON
.
parse
(
rows
[
i
].
elements
);
var
obj
=
JSON
.
parse
(
rows
[
i
].
elements
);
(
function
()
{
(
function
()
{
var
name
=
rows
[
i
].
name
;
var
name
=
rows
[
i
].
name
;
dateArray
(
epocheSpan
).
getData
(
obj
,
plz
,
function
(
err
,
data
)
{
dateArray
(
epocheSpan
).
getData
(
obj
,
plz
,
function
(
err
,
data
Obj
)
{
if
(
err
)
{
if
(
err
)
{
console
.
log
(
name
,
err
);
console
.
log
(
name
,
err
);
}
}
else
if
(
data
.
length
>
0
)
{
else
if
(
dataObj
)
{
var
data
=
dataObj
.
intervals
;
cnt
++
;
cnt
++
;
var
view
=
dateView
.
getView
(
data
,
now
);
var
view
=
dateView
.
getView
(
dataObj
,
now
);
result
.
push
(
'<div class="name">'
+
name
+
"</div> "
+
view
);
var
asString
=
dateView
.
asString
(
dataObj
,
now
);
result
.
push
(
'<div class="name">'
+
name
+
"</div> "
+
asString
+
view
);
}
}
if
(
--
iters
==
0
)
{
if
(
--
iters
==
0
)
{
console
.
log
(
"Count: %d"
,
cnt
);
console
.
log
(
"Count: %d"
,
cnt
);
...
...
serverTest/routes/index.js
View file @
1c0daf67
...
@@ -15,6 +15,7 @@ router.get('/', function(req, res) {
...
@@ -15,6 +15,7 @@ router.get('/', function(req, res) {
now
=
new
Date
();
now
=
new
Date
();
}
}
console
.
log
(
'bla'
);
var
time0
=
process
.
hrtime
();
var
time0
=
process
.
hrtime
();
db
.
getData
(
now
,
function
(
result
)
{
db
.
getData
(
now
,
function
(
result
)
{
res
.
render
(
'index'
,
{
body
:
result
});
res
.
render
(
'index'
,
{
body
:
result
});
...
...
serverTest/views/index.ejs
View file @
1c0daf67
...
@@ -15,6 +15,12 @@
...
@@ -15,6 +15,12 @@
.monthview-empty
{
.monthview-empty
{
background-color
:
lightcoral
;
background-color
:
lightcoral
;
}
}
.monthview-today
{
background-color
:
#5e70f0
;
}
.monthview-holiday
{
background-color
:
#ecf037
;
}
.name
{
.name
{
font-size
:
20px
;
font-size
:
20px
;
}
}
...
...
test/dateViewTest.js
View file @
1c0daf67
...
@@ -3,7 +3,7 @@ var dateArray = require('../lib/dateArray');
...
@@ -3,7 +3,7 @@ var dateArray = require('../lib/dateArray');
var
fs
=
require
(
'fs'
);
var
fs
=
require
(
'fs'
);
var
now
=
new
Date
(
2014
,
4
,
1
);
var
now
=
new
Date
(
2014
,
7
,
13
);
dateArray
(
dateView
.
getPropperEpochSpan
(
now
)).
getData
(
require
(
'../mochaTests/testData/testHof.json'
),
0
,
function
(
err
,
data
)
{
dateArray
(
dateView
.
getPropperEpochSpan
(
now
)).
getData
(
require
(
'../mochaTests/testData/testHof.json'
),
0
,
function
(
err
,
data
)
{
...
...
todo
View file @
1c0daf67
...
@@ -44,4 +44,6 @@ openingHoursView(json, now, regionalCode, lang)
...
@@ -44,4 +44,6 @@ openingHoursView(json, now, regionalCode, lang)
openNow auch nach absprache, nur mit json incl
openNow auch nach absprache, nur mit json incl
evtl ical export
evtl ical export
\ No newline at end of file
!!!!holiday klasse, falls feiertag, klasse fuer aktuellen tag
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment