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
ef160243
Commit
ef160243
authored
Jul 03, 2014
by
Johannes Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor
parent
186b2c17
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
66 additions
and
40 deletions
+66
-40
dateArray.js
lib/dateArray.js
+7
-8
dateView.js
lib/dateView.js
+27
-21
holidays.js
lib/holidays.js
+9
-7
dataBaseTest.js
test/dataBaseTest.js
+6
-4
dateViewTest.js
test/dateViewTest.js
+17
-0
No files found.
lib/dateArray.js
View file @
ef160243
...
...
@@ -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"
)
;
}
}
}
...
...
lib/dateView
s
.js
→
lib/dateView.js
View file @
ef160243
...
...
@@ -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
lib/holidays.js
View file @
ef160243
...
...
@@ -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
;
...
...
test/dataBaseTest.js
View file @
ef160243
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
:
'r
oot
'
,
password
:
'
bla
'
,
user
:
'r
ead
'
,
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
)
{
...
...
test/dateViewTest.js
0 → 100644
View file @
ef160243
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
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